changeset 100:eb146c5c05a8

maintenance -- DSLDI slides, VMS__Full_conf_paper_2.tex update, etc..
author Sean Halle <seanhalle@yahoo.com>
date Sat, 03 Aug 2013 19:24:22 -0700
parents 9b9a2497757d
children 79fc8f35635f 15f50e49ebb7
files 0__Papers/Holistic_Model/Perf_Tune/europar2013_submission_22.pdf 0__Papers/Holistic_Model/Perf_Tune__long_version_for_TACO/latex/Holistic_Perf_Tuning.pdf 0__Papers/Holistic_Model/Perf_Tune__long_version_for_TACO/latex/Holistic_Perf_Tuning__single_column_format.pdf 0__Papers/Ideas/VoteBucks/latex/continuous_voting.pdf 0__Papers/Ideas/VoteBucks/latex/continuous_voting.tex 0__Papers/PRT/PRT__formal_def/figures/PR__system_level_activity.svg 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual.pdf 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual.svg 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual_2nd.pdf 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual_2nd.svg 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_single.pdf 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_single.svg 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_sync_def.pdf 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_sync_def.svg 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_tie_point_ordering.pdf 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_tie_point_ordering.svg 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_tie_point_ordering_2.svg 0__Papers/PRT/PRT__formal_def/figures/PR__what_runtime_does.svg 0__Papers/PRT/PRT__formal_def/figures/Portability_stack_combined.pdf 0__Papers/PRT/PRT__formal_def/figures/Portability_stack_combined.svg 0__Papers/PRT/PRT__formal_def/figures/Proto-Runtime__modules.pdf 0__Papers/PRT/PRT__formal_def/figures/Proto-Runtime__modules.svg 0__Papers/PRT/PRT__formal_def/figures/Proto-Runtime__modules_lang_breakdown.pdf 0__Papers/PRT/PRT__formal_def/figures/Proto-Runtime__modules_lang_breakdown.svg 0__Papers/PRT/PRT__formal_def/figures/Proto-Runtime__modules_plus_plugin.svg 0__Papers/PRT/PRT__formal_def/figures/Proto-Runtime__modules_plus_plugin_plus_code.pdf 0__Papers/PRT/PRT__formal_def/figures/Proto-Runtime__modules_plus_plugin_plus_code.svg 0__Papers/PRT/PRT__formal_def/figures/Proto-Runtime__modules_plus_plugin_plus_code_back.svg 0__Papers/PRT/PRT__formal_def/figures/Proto-Runtime__modules_plus_plugin_plus_code_back_2.svg 0__Papers/PRT/PRT__formal_def/figures/Scheduling_states_2.eps 0__Papers/PRT/PRT__formal_def/figures/Scheduling_states_2.svg 0__Papers/PRT/PRT__formal_def/figures/Time_in_VMS_1.eps 0__Papers/PRT/PRT__formal_def/figures/Time_in_VMS_1.svg 0__Papers/PRT/PRT__formal_def/figures/Time_layers.eps 0__Papers/PRT/PRT__formal_def/figures/Time_layers.svg 0__Papers/PRT/PRT__formal_def/figures/VMS-core__internal_workings.eps 0__Papers/PRT/PRT__formal_def/figures/VMS-core__internal_workings.svg 0__Papers/PRT/PRT__formal_def/figures/VMS-core__plugins.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/cray1_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/not_used/cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/not_used/cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/not_used/vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/not_used/vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/vms_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps 0__Papers/PRT/PRT__formal_def/figures/plots_exec_vs_task_size/xoanon_pthread_vthread_40core_80_160_320_640thds__o30000__perfCtrs.eps 0__Papers/PRT/PRT__formal_def/helpers/07_F_26__The_Questions__blank.txt 0__Papers/PRT/PRT__formal_def/helpers/bib_for_papers.bib 0__Papers/PRT/PRT__formal_def/helpers/plain.bst 0__Papers/PRT/PRT__formal_def/helpers/url.sty 0__Papers/PRT/PRT__formal_def/helpers/usetex-v1-anon.cls 0__Papers/PRT/PRT__formal_def/helpers/usetex-v1.cls 0__Papers/PRT/PRT__formal_def/latex/.pdf 0__Papers/PRT/PRT__formal_def/latex/PRT__formal_short.tex 0__Papers/PRT/PRT__formal_def/latex/PRT__full_w_Farhad_derived_formal_def.tex 0__Papers/PRT/PRT__formal_def/latex/PRT__full_w_Henning_derived_formal_def.tex 0__Papers/PRT/PRT__formal_def/latex/Paper_Design_2.txt 0__Papers/PRT/PRT__formal_def/latex/bib_for_papers_jun_2012.bib 0__Papers/PRT/PRT__formal_def/latex/sigplanconf.cls 0__Papers/PRT/PRT__formal_def/latex/url.sty 0__Papers/PRT/PRT__formal_def/latex/usetex-v1-anon.cls 0__Papers/PRT/PRT__formal_def/latex/usetex-v1.cls 0__Papers/VMS/Pics_from_talks/13_Ap_12__Arbab_proto_runtime__whiteboard.jpg 0__Papers/VMS/Pics_from_talks/13_Ap_12__Arbab_whiteboard_timelines_tie_points.jpg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__system_level_activity.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_2nd.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_2nd.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_three_versions.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_w_hidden.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_w_hidden.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_single.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_single.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_sync_def.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_sync_def.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_tie_point_ordering.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_tie_point_ordering.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_tie_point_ordering_2.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__what_runtime_does.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_lang_breakdown.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_lang_breakdown.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_plus_plugin.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_plus_plugin_plus_code.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_plus_plugin_plus_code.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_plus_plugin_plus_code_back.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_plus_plugin_plus_code_back_2.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Scheduling_states_2.eps 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Scheduling_states_2.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Time_in_VMS_1.eps 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Time_in_VMS_1.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Time_layers.eps 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Time_layers.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/VMS-core__internal_workings.eps 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/VMS-core__internal_workings.svg 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/VMS-core__plugins.eps 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/VMS__Full_conf_paper_2.tex 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/VMS__Full_conf_paper_3.tex 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/VMS__Full_conf_paper_3_short.pdf 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/VMS__Full_conf_paper_3_short.tex 0__Papers/Vote_Bucks/MSW_A4_format.doc 1__Presentations/11__3__LCPC_11/VMS_presentation_for_LCPC_11.odp 1__Presentations/13__Jy_01__DSLDI/DSL_on_top_of_Thds.svg 1__Presentations/13__Jy_01__DSLDI/Level_of_lang_fig.svg 1__Presentations/13__Jy_01__DSLDI/PRT__modules.svg 1__Presentations/13__Jy_01__DSLDI/PR__timeline_dual.svg 1__Presentations/13__Jy_01__DSLDI/PR__timeline_single.svg 1__Presentations/13__Jy_01__DSLDI/ProtoRuntime_expl.odp 1__Presentations/13__Jy_01__DSLDI/ProtoRuntime_expl.pdf 1__Presentations/13__Jy_01__DSLDI/software_stack_PRT.svg 1__Presentations/13__My_07__ACG_on_protoruntime_for_CWI/ProtoRuntime_expl.odp 9__Owned_by_Others/armin/kronawitter-m.pdf CVs/13_Jy__ERCIM_CV/ERCIM_CV.pdf CVs/13_Jy__ERCIM_CV/ERCIM_CV.tex CVs/13_Jy__ERCIM_CV/bib_for_papers_apr_2012.bib CVs/13_Jy__ERCIM_CV/publication_list.pdf CVs/13_Jy__ERCIM_CV/publication_list.tex
diffstat 125 files changed, 77572 insertions(+), 45 deletions(-) [+]
line diff
     1.1 Binary file 0__Papers/Holistic_Model/Perf_Tune/europar2013_submission_22.pdf has changed
     2.1 Binary file 0__Papers/Holistic_Model/Perf_Tune__long_version_for_TACO/latex/Holistic_Perf_Tuning.pdf has changed
     3.1 Binary file 0__Papers/Holistic_Model/Perf_Tune__long_version_for_TACO/latex/Holistic_Perf_Tuning__single_column_format.pdf has changed
     4.1 Binary file 0__Papers/Ideas/VoteBucks/latex/continuous_voting.pdf has changed
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/0__Papers/Ideas/VoteBucks/latex/continuous_voting.tex	Sat Aug 03 19:24:22 2013 -0700
     5.3 @@ -0,0 +1,392 @@
     5.4 +%&latex
     5.5 +\documentclass{article}
     5.6 +
     5.7 +\begin{document}
     5.8 +
     5.9 +%+Title
    5.10 +\title{Toward a True Democracy: Continuous Voting}
    5.11 +\author{Sean Halle}
    5.12 +\date{}
    5.13 +\maketitle
    5.14 +%-Title
    5.15 +
    5.16 +%+Abstract
    5.17 +\begin{abstract}
    5.18 +  
    5.19 +  Democracy rests on the principle that representatives carry out the will of the people governed, yet the centuries old system of periodic voting provides only weak feedback from the people to the representative, allowing governments to move in directions at odds with the majority of the people for sustained periods of time. We propose a continuous feedback system that puts the onus on the representative to actively solicit input from the populace and continuously engage with them in order to remain in office. This encourages stronger feedback from the people governed, applying force to the representative to carry out their wishes. The system includes a mechanism for establishing timely topics and effectively weighting their relative importance to each voter. It then records whether a voter approves or disapproves of the representative's statements and voting on those topics. The system tracks the weighted average approval of the representative and places limits on the duration the average can remain negative before the representative is removed from office. This places the onus on the representative to reach out to the populace, to interact with them in a meaningful way, and convince them to actively update their ratings, all of which strengthen feedback from the people to drive the actions of the representative. 
    5.20 +    
    5.21 +\end{abstract}
    5.22 +%-Abstract
    5.23 +
    5.24 +%+Contents
    5.25 +%\tableofcontents
    5.26 +%-Contents
    5.27 +
    5.28 +
    5.29 +
    5.30 +
    5.31 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5.32 +%
    5.33 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5.34 +
    5.35 +\section{Motivation and Overview}
    5.36 +Democracy rests on the principle  that government should carry out the will of the people
    5.37 +governed. However,  in many democracies,  few believe
    5.38 +this principle is carried out in practice. Indeed, many voters feel that their voice goes unheard. The 
    5.39 +behaviors of representatives often disproportionately reflect the desires of a few who have disproportionate influence, due to a variety of factors. Thus, modern democracies fall short of their ideal, of
    5.40 +governance according to the will of the majority of the people.
    5.41 +
    5.42 +To mitigate this, we propose tightening  feedback from the governed, with a continuous voting system that will clearly communicate the will of the people and at the same time force the representative to comply with it. The system we propose has three aspects: first, it makes the actions of a representative readily available to the people; second, it clearly and quantitatively communicates the reactions of the people back to the
    5.43 +representative, letting them know definitively what the people want the representative to do; third it removes from office any representative
    5.44 +who fails to effectively accomplish the wishes of the constituency.
    5.45 +
    5.46 +Altogether, the aspects will give voters an easy way to learn what their representative is doing, then respond to that. The implementation should organize the wealth of possible topics, in such a way that the most relevant rise to the top. It should also inform about in-progress work and up-coming activities such as legislation being drafted that the representative is involved with, and up-coming votes on bills. 
    5.47 +
    5.48 + Based on this information, the voter needs a simple mechanism to rate the representative on each topic, which communicates their relative strength of feeling. One means provides a fixed total of `emotion' tokens, which the voter divides among the topics they care about, in proportion to their level of feeling.  For example, with 100 tokens, they may assign 50 to their strongest topic, 25 to the next, and 5 each to five more topics. They also state wether that is a positive feeling, meaning approval, or a negative one, meaning disapproval. For up-coming votes, they can  even pre-assign a change in tokens, based on the way the representative votes.  For example `+5 to topic X if they vote yes, -5 if no'.
    5.49 +
    5.50 +The system then adds up the tokens across all voters, creating a sum for each topic, and an overall sum. The representatives and the people can query the system about the sums, in order to learn the net desires of the constituents.  For example, they can  discover which topics have the most emotion assigned to them, and the net sum on those. A positive sum says the representative is perceived to be succeeding in doing what the constituents want on that topic. Queries can also be made to discover the highest net sum topics, both positive and negative, which gives clear indication of what the representative is doing well versus what they need to improve on.  
    5.51 +
    5.52 +With a clear directive, the representative knows what the people want. If their net sum is comfortably positive, they continue their current path. However, if the net sum is close to going negative or is already negative, they  must  engage  the  constituents, in order to improve the net sum. They may choose to try  to convince the constituents to change their minds on the topics, or else try to  convince them  that the representative has, indeed modified their behaviors, and to please update the ratings.
    5.53 +
    5.54 + The representative is allowed to have a negative sum for a maximum period of time, after which they lose the office. This gives them a chance to modify their behaviors, then show the people that their wishes have been heard and followed.  The period of time that the sum can remain negative depends upon the office.  For example, Governor or President may have a longer span than a member of the legislature, due to the intention that the office be a leader, which often involves making unpopular decisions that end up being in the best interest over the long term.
    5.55 + 
    5.56 + 
    5.57 +
    5.58 +
    5.59 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5.60 +%
    5.61 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5.62 +
    5.63 +\section{Visions of Results  from Use of the System}
    5.64 +
    5.65 +It is anticipated that non-profits and partisan sites will spring up that have dedicated people who watch
    5.66 +the system, read the pending bills, and write up summaries and recommendations for voters. The recommendations may include links that connect directly to the text of pending bills. For example, a recommendation written on a particular bill may 
    5.67 +include links to the token-assigning page for a particular representative, which lets voters easily tell their representative how they want the representative to vote on the bill.
    5.68 +
    5.69 +One anticipated effect will be to diffuse the power of narrow-interest groups and to reduce the influence of campaign
    5.70 +contributions. Political ads may still run when important legislation is being debated.  However, accurate and easy searching of the actual comments of a constituent's own representative, along with the efficiency of the internet at disseminating analyses, that are then tied by the system directly to
    5.71 +the token-assigning pages, will diminish the influence such ads have on the representatives. In addition, such ads aren't tied to a representative, but rather to an issue, so the representative gains nothing from the financer of the ad. Rather, the ad has to influence the people, who then direct the representative, which comes closer to the democratic ideal. Although narrow interests may help a particular candidate get elected, their influence will quickly diminish as the representative is forced to
    5.72 +listen to the will of the people or be removed.
    5.73 +
    5.74 +The mechanism we propose is web-centric, which may raise concerns about voter access, especially for poorer or less educated voters. However, the web
    5.75 +has reached most homes in the country, and essentially every library. We see establishing a voter center in
    5.76 +every library, which is government funded and has trained personnel who help anyone who is a registered
    5.77 +voter to participate in the system. Only modest funds would be required to ensure that every community, regardless of
    5.78 +economic status, has a library, with such a center.
    5.79 +
    5.80 +As an example, if adopted at the federal level, the proposed system will require changes in the process that congress follows. In particular, bills will
    5.81 +have to be written in electronic form with tags on each paragraph indicating which issues are touched
    5.82 +upon in that paragraph. The bills will have to be submitted electronically at the time they are introduced. 
    5.83 +
    5.84 +In addition, the congressional record or an equivalent would be put into electronic form, with
    5.85 +each of its paragraphs tagged with which issues it touches upon. The record would be linked
    5.86 +to the web site, allowing quick and easy searches for statements made by each representative, grouped by particular issue.
    5.87 +The proposed system would also change the rules for when elections are held and for terms in
    5.88 +office. Hence, federal adoption would require a constitutional amendment.
    5.89 +
    5.90 +
    5.91 +
    5.92 +
    5.93 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5.94 +%
    5.95 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    5.96 +
    5.97 +\section{Usage of the Web Site}
    5.98 +We anticipate that the voter will interact with the system via a web site, where they will research their representative'’s
    5.99 +behavior and then assign their emotion tokens in order to influence that behavior. The site will provide a number of views into the actions and
   5.100 +statements of a representative. It enables the voter to focus on only the issues they care about and only
   5.101 +on the related statements and actions made by their own representative about those issues. 
   5.102 +
   5.103 +The research views are linked to
   5.104 +token assigning views. That way, the voter may easily navigate back and forth between research and token assignment.
   5.105 +
   5.106 +We propose that a voter be given a number of screens organized into sets. With one set of screens they can research legislation that is pending, focusing on the parts that pertains to
   5.107 +issues the voter cares about. With another set they can view how their representative voted on past bills, as well as
   5.108 +see the text or video of the remarks the representative made during debate on the bill, but filtered so that only remarks relevant to issues of interest are shown. Another set of screens pertains to suggesting new issues not currently listed that are of interest to the voter. Finally, a set
   5.109 +of screens is provided for assigning approval versus disapproval to their representative, on each
   5.110 +issue, and allotting  emotion tokens among the issues, to show how strongly the voter feels about each.
   5.111 +
   5.112 +
   5.113 +
   5.114 +
   5.115 +\subsection{Researching Bills}
   5.116 +To research legislation of interest, voters have a number of screens available:
   5.117 +
   5.118 +\begin{itemize}
   5.119 +\item List of completed bills related to a particular issue: for each issue, the voter can get a screen that
   5.120 +shows all bills related to that issue and how each of their representatives voted on that bill. It also
   5.121 +shows what percentage of the paragraphs in the bill are tagged with that issue. A link next to
   5.122 +each bill goes to a screen that lists all sections of the bill that were tagged as discussing that issue.
   5.123 +The voter can then read what that bill said regarding that issue. Each representative is listed next
   5.124 +to the name of the bill. The representative’s name is a link to the transcript of what the representative said on the floor during debate of the bill, and to a digitized video of that representative
   5.125 +making those remarks on the floor.
   5.126 +
   5.127 +\item List of the sections of a given bill, either pending or already voted on, that relates to a given issue:
   5.128 +A voter can filter the text of a bill to only show the paragraphs tagged with an issue they are interested in. The voter can then read what that bill said regarding that issue.
   5.129 +
   5.130 +\item List of all bills that have been introduced but not yet voted on: This screen can be filtered to only
   5.131 +show bills related to a set of issues the voter cares about. The list will arrange itself according to
   5.132 +issue, then according to status – whether still being authored, or in committee, or on the floor. A
   5.133 +voter can click on any bill in the list to see the sections relating to each issue. A voter can also
   5.134 +filter pending bills according to what percentage of their text relates to a given list of issues important to that voter.
   5.135 +
   5.136 +\item Creating an e-mail notification filter: The voter can create a filter by choosing issues of importance
   5.137 +to them. When a bill is introduced that has more than a certain percentage of its paragraphs
   5.138 +tagged with one of the issues, then an e-mail notification is sent to the voter with a link to the bill.
   5.139 +
   5.140 +\item When viewing a bill, a link to that bill’'s entry on the token allocation page: When a voter views a
   5.141 +pending bill and decides they want to tell their representative how to vote on it, they click on the
   5.142 +link, which takes them directly to that bill’'s entry on the token allocation page.
   5.143 +\end{itemize}
   5.144 +
   5.145 +\subsection{Researching Representatives}
   5.146 +To discover where their representative stands on an issue, the voter has a number of screens available:
   5.147 +
   5.148 +\begin{itemize}
   5.149 +\item List of the voter'’s representatives: with the voter’s own total sum for each and a graph of the representative’s' overall total moving-average
   5.150 +
   5.151 +\item list of their representatives, with the voter’s own total for each representative and a filtered list of
   5.152 +bills, with links for each bill to how that rep voted on that bill, transcripts of remarks the rep made
   5.153 +on the floor, and video of the rep delivering those remarks.
   5.154 +\item for each issue, for each rep, a voter can get a screen that shows all bills that have at least some
   5.155 +portion of their text related to that issue (and shows the percentage of the text related to that
   5.156 +issue), and how that rep voted on each of those bills. A link next to each bill goes to a screen that
   5.157 +lists all sections of the bill that were tagged as discussing that issue. The voter can then read what
   5.158 +that bill said regarding that issue. The screen also has a link to a transcript of what the represen-
   5.159 +tative said on the floor during debate of the bill, and a link to a digitized video of that representa-
   5.160 +tive making their remarks on the floor.
   5.161 +\item A list of bills the representative has authored, co-authored, or endorsed.
   5.162 +\item A list of bills currently before the representative in committee.
   5.163 +\item A list of ammendments the representative has authored.
   5.164 +
   5.165 +
   5.166 +\item a list of all representatives in congress and the executive branch, with current total net votes for
   5.167 +each, and the current moving average net total for each. A voter can check-mark representatives
   5.168 +that they want included in a summary screen
   5.169 +
   5.170 +\item a summary screen that shows all check-marked reps, with graph of each’ moving average and links
   5.171 +to summary screens for each representative.
   5.172 +\item a screen for each state, with that state’s representatives, a graph of the net total emotion tokens for
   5.173 +each representative, and a line to where on the state map is their constituency
   5.174 +\item a summary screen for a given representative that shows a state map, where on the map their con-
   5.175 +stituency is, a statement from the rep of their position overall, and a list of the issues. The voter
   5.176 +can click on each issue to get a statement from the rep of where they stand on it.
   5.177 +\end{itemize}
   5.178 +
   5.179 +
   5.180 +\subsection{Suggesting New Issues}
   5.181 +The screens used to suggest new issues to add to the list:
   5.182 +
   5.183 +\begin{itemize}
   5.184 +\item List of suggestions that are pending inclusion in the official list: the first screen has suggestions
   5.185 +that are pending. The voter votes on which of these they want to see make the final list.
   5.186 +\item the second screen of the new issues process has a text box where the voter can type in, free-flow,
   5.187 +one issue. The voter is allowed to suggest three issues per week. New issues are posted once per
   5.188 +month to the first screen, and once per month to the official list that appears on the vote screens.
   5.189 +(The GAO is responsible for reading the suggestions and choosing what goes into the pending list)
   5.190 +\end{itemize}
   5.191 +
   5.192 +\subsection{Assigning Emotion Tokens}
   5.193 +These screens are used by voters to make their will known to their representatives:
   5.194 +
   5.195 +\begin{itemize}
   5.196 +\item List of issues, for a given representative: The screen shows all of the current issues with thumbs up,
   5.197 +don’t care, and thumbs down radio button next to each. There is also a box showing the emotion tokens assigned to that issue. At the top of the page is the weighted average of tokens assigned, and
   5.198 +how many emotion tokens remain available.
   5.199 +\item List of pending bills: Shows all pending bills with a place to enter how the voter wishes their representatives to vote on the bill and how strongly they feel, from 1 to 5. This screen allows clicking
   5.200 +on each bill, which takes the viewer to the research screens described above.
   5.201 +\end{itemize}
   5.202 +
   5.203 +
   5.204 +\subsection{Viewing Vote Status, for Use by Representatives and Voters Alike}
   5.205 +Both the representative and the voter can check to see how the representative is doing. These screens are
   5.206 +the representative'’s lifeline, telling them the will of the voters and whether they are in danger of losing
   5.207 +office:
   5.208 +\begin{itemize}
   5.209 +\item Will of the voters on pending bills: shows each pending bill and both the simple percentage of how
   5.210 +many voters chose yes vs no, plus the weighted percentage that shows how strongly each voter felt.
   5.211 +\item Moving average of a Representative: shows the weighted average for a given representative,
   5.212 +starting when they took office. It allows zooming, shows the grace period, and highlights how
   5.213 +much of the grace period is below 50\%. An alert may be set on this screen that will send an e-
   5.214 +mail message when the average drops below 50\%, and when more than a certain number of days in
   5.215 +the grace period have been below 50\%.
   5.216 +\end{itemize}
   5.217 +
   5.218 +
   5.219 +
   5.220 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   5.221 +%
   5.222 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   5.223 +\section{The Processes within the System}
   5.224 +
   5.225 +The system has five processes, one has already been described in detail: the process for researching a representative's behaviors and assigning tokens to affect those behaviors.
   5.226 +
   5.227 +The four remaining are:  a process for having new issues adopted and outdated issues removed;
   5.228 +a process for electing and removing representatives; a process for bills that governs how they are authored, debated, and tagged for search;    and a process for running the web site at the center of the system, such that it is available, verifiable, and secure.
   5.229 +
   5.230 +\subsection{Adopting New Issues and Removing Outdated Issues}
   5.231 +
   5.232 +The GAO, or a specially created non-partisan, politically insulated body, is in charge of the maintenance and logistics of the web-sites. This managing-body also sets the list of issues, updating it once per month. The web-sites provide a mechanism for voters to suggest new issues they would like to see added to the list. The managing-body receives new-issue suggestions, sorts them, and picks the most popular ones. They replace the issue that got the fewest emotion tokens assigned to it with the top suggestion. 
   5.233 +
   5.234 +In rare cases, more than one issue is removed, or more than one is added. The rules to determine when will be codified after experience with using such a system in smaller test settings.
   5.235 +
   5.236 +Only suggestions from voters can cause an issues to be listed. The wording of one of the suggestions
   5.237 +must be adopted verbatim. The rules to determine which one is adopted will be decided after more experience using such a system in test settings. 
   5.238 +
   5.239 +Representatives have no input into adoption of issues. The
   5.240 +rules will be chosen in such a way that the potential for partisan influence is minimized.
   5.241 +Suggestions go through a two-stage system. First suggestions are sorted, and the text of one of a
   5.242 +group is chosen to represent that group. That is then posted on the first of the two pages that voters use
   5.243 +to suggest new categories. On the first page, voters pick which of the pending suggestions they like.
   5.244 +Then if they still want, on the second page they can write and send their own suggestion.
   5.245 +
   5.246 +
   5.247 +
   5.248 +\subsection{Removing a Representative from Office and Electing a Replacement}
   5.249 +Each office has a maximum time-span that a representative can hold that office. The exact time-span will
   5.250 +be decided after more scrutiny. To illustrate possible time-spans, President may be 8 years, senate 20
   5.251 +years, house representative 10 years.
   5.252 +
   5.253 +A representative is removed from office if their net average vote stays negative for too long. A
   5.254 +moving average window is used to determine their net average vote on each day. The number of consecutive days that average has remained negative is counted. When the count reaches the limit for
   5.255 +that office, then the representative becomes lame duck and a vote is called to elect a replacement.
   5.256 +
   5.257 +The width of moving average window is chosen to be responsive to changes in the representative’s
   5.258 +actions and resulting voter satisfaction, but to eliminate the “peak-detect” effect. If the average votes on
   5.259 +a single day goes positive, that should not reset the counter. At the same time, the representative needs
   5.260 +to be encouraged to respond to the average, knowing that a change in their actions can indeed pull up the
   5.261 +average in time to keep them in office. 
   5.262 +
   5.263 +That suggests that the window should be shorter than the limit. As a suggestion, one-fifth of the limit might be a suitable window size. With this setting, one will know
   5.264 +after four-fifths of the limit whether it looks like the representative has a chance to remain in office.
   5.265 +
   5.266 +Replacement voting is done electronically, via the web pages, and by mail (postage is guaranteed when
   5.267 +mailed to a vote-place POBox, but must be sent in person, with a signature, at the post office). Votes to
   5.268 +replace a candidate begin the day the candidate becomes lame duck and continue for a fixed number of
   5.269 +days. 
   5.270 +
   5.271 +This allows time for campaigning, but eliminates manipulation of polling places, as the voting is
   5.272 +spread out. A public library shall be available in every community, with web access and assistance to any
   5.273 +person wishing to vote. This shall receive guaranteed funding, as stated in the constitutional amendment that establishes this system of voting.
   5.274 +
   5.275 +The number of days of voting will be decided after experience using the system in tests. As an
   5.276 +example, two months may be a reasonable time span. Ample time has already been given to prepare
   5.277 +campaigns, during the last fifth of the grace period.
   5.278 +
   5.279 +\subsection{How Bills Are Authored, Introduced, Linked, and Tagged}
   5.280 +Each representative has a listing of bills:
   5.281 +\begin{itemize}
   5.282 +\item that have been introduced
   5.283 +\item that are in a committee that representative sits on
   5.284 +\item that are currently on the floor for debate
   5.285 +\item that have been called for a vote
   5.286 +\end{itemize}
   5.287 +A representative can enter a statement on any bill, if they want, at any point after it is introduced.
   5.288 +The statement will then be visible to the other representatives and to the voters, via the web-pages.
   5.289 +
   5.290 +Each bill is tagged with statements each representative made on it during debate about the bill.
   5.291 +All remarks on a bill that a representative makes during debate are recorded verbatim. No alteration
   5.292 +of these remarks is allowed, for any reason (currently, the congressional record can be modified after the
   5.293 +fact). 
   5.294 +
   5.295 +Remarks are recorded in two ways. While they are being spoken on the floor, a stenographer
   5.296 +enters them, in real-time, into the web-site, and they are linked to the bill and made available in all the
   5.297 +various web-pages. In addition, audio and video of the representative delivering the remarks are recorded
   5.298 +into the web-sites and linked, in real-time, to the various web-pages. 
   5.299 +
   5.300 +Three stenographers enter transcripts, and the system automatically matches the streams from the three, choosing two that match. At
   5.301 +places in the text where all three differ, all three versions are included on the web-site (thus obviating the
   5.302 +need for revisions after-the-fact).
   5.303 +
   5.304 +All bills are introduced electronically. They are submitted to the system and thus made available in
   5.305 +tagged format for browsing before going into committee. This allows voter feedback to reach representatives who sit on the committee that is considering a given bill.
   5.306 +
   5.307 +Each paragraph of the text of a bill is tagged as addressing one or more of the issues current on the
   5.308 +day the bill is submitted.
   5.309 +An open-source tool is provided to all representatives with which they author, tag, view, and submit
   5.310 +legislation. 
   5.311 +
   5.312 +The distributed web-sites are the official record of the legislation, and the process of introducing an amendment is made via electronic submission to site. The site has a "holding pen" for submissions, which are verified by voice communication with the representative who submitted.
   5.313 +
   5.314 +The GAO verifies each tagging of each paragraph. This may take some time, so the tagging that the
   5.315 +author chooses is used until it is either verified or altered by the GAO. All tags must be verified before a
   5.316 +bill can be voted on. This may have the side effect of tending to reduce somewhat the size of the text of
   5.317 +bills.
   5.318 +
   5.319 +When a bill is altered during committee, the alterations are also tagged by the authors. When an
   5.320 +amendment is proposed during committee or during debate on the floor, each paragraph of the amendment is tagged by the author of the amendment. Each such amendment must be submitted electronically
   5.321 +before it is introduced in committee or on the floor.
   5.322 +
   5.323 +When debate is done and a vote called for, it is done electronically, by voting on the text that is in the
   5.324 +web-site.
   5.325 +
   5.326 +
   5.327 +
   5.328 +
   5.329 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   5.330 +%
   5.331 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   5.332 +\subsection{Operation of the Site}
   5.333 +
   5.334 +We propose to implement such a voting system via the web. It must be secure, have a human-verifiable backup to recover if compromised,  and be accessible to all segments of the population, specifically those without ready computer access, or training.
   5.335 +
   5.336 +\subsubsection{Security of the Site}
   5.337 +
   5.338 +An important issue is security, both for protecting privacy and preventing vote tampering. We propose a system of distributed copies of the site that uses a quorum to detect faulty copies. The system relies on humans and a paper trail to decide which copies are faulty and repair them from good copies.
   5.339 +
   5.340 +site that also has information on the actions of each representative, and a mechanism to suggest new issues to include in the list. It is a one-stop shop for political activity. The voter has a link to each of their representative’s remarks on the floor in both text form and in digital recordings of the remarks being delivered. The voter also has a link to each bill the  has authored or sponsored, indexed by issue. The voter can follow the activity of their representative in one window-pane, while updating their emotion token allocation in another.  This strong feedback will increase the responsiveness of representatives to what their electorate wants.  Campaign contributions will have much less influence because they can only help get the representative into office. After that there will be no mistaking what the people want, the representative must follow the will of the people or be removed.
   5.341 +
   5.342 +
   5.343 +\subsubsection{Ensuring Correctness and Security}
   5.344 +Voter identification can be done in several ways: finger-print reader, social-security “smart” card, password, or all three together. The site is a distributed set of redundant, secure, copies. The program code is the same for all of the copies and is open-source. A distributed quorum system is used to detect and eliminate corruptions of individual copies. Each copy is administered separately, with separate local passwords and people in charge.
   5.345 +
   5.346 +When a discrepancy between copies is detected, the people in charge are alerted and talk via phone to decide which of the copies is non-corrupted. They use the non-corrupted copies to correct the corrupted ones. The copies continually send check-messages to each other, in order to detect discrepancies. 
   5.347 +
   5.348 +As soon as a discrepancy is detected on any of the copies, all are alerted and go off-line. Only after voice communication and human decision of which copies are non-corrupt, and correction of the corrupt ones are the copies manually put back on-line. 
   5.349 +
   5.350 +The people in charge can collectively decide how to view the corruption and decide whether there is a security breach and how to deal with that. The copies are run by people that both parties nominate via senate and house committees. These committees have equal numbers of both democrat and republican members.
   5.351 +
   5.352 +Each copy keeps a paper-trail of each bit of information on bills and/or representatives that is added to the site. Each copy keeps a paper trail of total emotion tokens positive and negative for each representative for each day, but not how each individual allotted their emotion tokens (that would be too much paper). Individuals may print out their emotion token allocation. 
   5.353 +
   5.354 +The information-to-print is passed among the copies, each copy generating a code from the previous copy'’s code plus its own private key, then re-encoding the information with the new code. This way, only the original copy knows the contents of the information. The other copies don'’t know the original copy'’s key, so they don’'t know the voter’s' allocation, so they are unable to decide whether to “accidentally” give a wrong encoding so-as to disqualify the information.
   5.355 +
   5.356 +The information is passed in a fixed ring pattern. The originating copy encodes an identifier with its private key. Assuming no copies know the private key of any of the other copies, only the original copy knows where the information originated. If, say, one copy shares its private keys illegally, the most that can be discovered is that none of the copies sharing keys originated the information. 
   5.357 +
   5.358 +During later verification, if the rogue copies attempt to tamper, or “accidentally” mis-encode, then the quorum system will still retrieve the correct original information.
   5.359 +
   5.360 +When all the copies have finished, the final code is printed at the top of the page. When the page is fed back into a copy after a crash or disaster or discovery of hacking, the copy passes the information around again, to generate a new code from the information on the page. The new code must match the code printed on the page. 
   5.361 +
   5.362 +This prevents people from altering the information after the fact. Each day, each copy prints the previous day'’s private key into a locked, secure box. The box requires multiple keys; one person from each copy has a physical key. In the case of disaster or hacking, the secure box of each copy is opened, requiring the presence of one person from each of the copies, and the private keys are retrieved.
   5.363 +
   5.364 +For paper verification, an open-source program chooses the voters to be sampled, according to established statistical techniques. People from each copy verify that the choices satisfy randomness properties. Two thirds of the copies must agree that the statistics are random.
   5.365 +
   5.366 +To verify identity electronically, each registered voter is given a smart social-security card that contains a secure micro-controller that contains their private key. The memory of this controller is designed such that it cannot be read externally. 
   5.367 +
   5.368 +Established public-private key encryption schemes are used to ensure that votes can only be cast electronically while in physical possession of the card. The micro-controller inside the card performs the encryption process so that the key is never exposed. Once it is written into the micro-controller, the private key is deleted from the main memory of the computer that generated it, and is never saved on hard-disk. Only the paired public key is saved, linked to the social security number and last name of the voter.
   5.369 +
   5.370 +When a voter prints out their emotion token allocation, the code also includes encryption with their private key, performed by the micro-controller in their social-security smart-card. The code must first be decrypted with the voter’s public key, which is only known to the site-copies in the system. The resulting code is then compared to the code generated during the passing of the information among the copies. This is an additional safeguard against 3rd parties attempting to forge vote print outs, and against changing the information after the fact.
   5.371 +
   5.372 +
   5.373 +
   5.374 +
   5.375 +
   5.376 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   5.377 +%
   5.378 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   5.379 +
   5.380 +\section{Conclusion}
   5.381 +We have proposed a system of continuous voting that links the actions of representatives to voters’ feelings about those actions. It makes the will of the voters clear and forces the representatives to act according to that will. The system provides quick and easy access to a representative’'s record, as well as access to pending legislation, allowing voters to pro-actively discover up-coming bills of interest and let their representative know how to vote on them. 
   5.382 +
   5.383 +If the representative ignores the will of the voters for too long they are removed from office. However a grace period provides balance. It gives the representatives room to cut deals and the opportunity to defy the voters on issues they feel morally or intellectually compelled on.
   5.384 +
   5.385 +The net effect is to diffuse the power of narrow-interest groups and reduce the influence of campaign contributions. Political ads will still run when important legislation is on the floor, but transparency provided by the proposed site and the speed of the internet at disseminating analyses and linking directly to the voting site will diminish the influence of such ads. More importantly, such ads don’t benefit any candidate, so the representative is not beholden to the financer of the ad.
   5.386 +
   5.387 +%+Bibliography
   5.388 +%\begin{thebibliography}{99}
   5.389 +%\bibitem{Label1} ...
   5.390 +%\end{thebibliography}
   5.391 +%-Bibliography
   5.392 +
   5.393 +\end{document}
   5.394 +
   5.395 +
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/0__Papers/PRT/PRT__formal_def/figures/PR__system_level_activity.svg	Sat Aug 03 19:24:22 2013 -0700
     6.3 @@ -0,0 +1,2923 @@
     6.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
     6.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
     6.6 +
     6.7 +<svg
     6.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
     6.9 +   xmlns:cc="http://creativecommons.org/ns#"
    6.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    6.11 +   xmlns:svg="http://www.w3.org/2000/svg"
    6.12 +   xmlns="http://www.w3.org/2000/svg"
    6.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    6.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    6.15 +   width="744.09448819"
    6.16 +   height="1052.3622047"
    6.17 +   id="svg2"
    6.18 +   sodipodi:version="0.32"
    6.19 +   inkscape:version="0.48.2 r9819"
    6.20 +   sodipodi:docname="PR__system_level_activity.svg"
    6.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
    6.22 +   version="1.1">
    6.23 +  <defs
    6.24 +     id="defs4">
    6.25 +    <marker
    6.26 +       inkscape:stockid="Arrow2Mend"
    6.27 +       orient="auto"
    6.28 +       refY="0.0"
    6.29 +       refX="0.0"
    6.30 +       id="Arrow2Mend"
    6.31 +       style="overflow:visible;">
    6.32 +      <path
    6.33 +         id="path4008"
    6.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
    6.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 "
    6.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
    6.37 +    </marker>
    6.38 +    <inkscape:perspective
    6.39 +       sodipodi:type="inkscape:persp3d"
    6.40 +       inkscape:vp_x="0 : 526.18109 : 1"
    6.41 +       inkscape:vp_y="0 : 1000 : 0"
    6.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
    6.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
    6.44 +       id="perspective10" />
    6.45 +    <inkscape:perspective
    6.46 +       id="perspective12172"
    6.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
    6.48 +       inkscape:vp_z="1 : 0.5 : 1"
    6.49 +       inkscape:vp_y="0 : 1000 : 0"
    6.50 +       inkscape:vp_x="0 : 0.5 : 1"
    6.51 +       sodipodi:type="inkscape:persp3d" />
    6.52 +    <inkscape:perspective
    6.53 +       id="perspective12937"
    6.54 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
    6.55 +       inkscape:vp_z="1 : 0.5 : 1"
    6.56 +       inkscape:vp_y="0 : 1000 : 0"
    6.57 +       inkscape:vp_x="0 : 0.5 : 1"
    6.58 +       sodipodi:type="inkscape:persp3d" />
    6.59 +  </defs>
    6.60 +  <sodipodi:namedview
    6.61 +     id="base"
    6.62 +     pagecolor="#ffffff"
    6.63 +     bordercolor="#666666"
    6.64 +     borderopacity="1.0"
    6.65 +     gridtolerance="10000"
    6.66 +     guidetolerance="10"
    6.67 +     objecttolerance="10"
    6.68 +     inkscape:pageopacity="0.0"
    6.69 +     inkscape:pageshadow="2"
    6.70 +     inkscape:zoom="1.4897651"
    6.71 +     inkscape:cx="290.73583"
    6.72 +     inkscape:cy="795.84567"
    6.73 +     inkscape:document-units="px"
    6.74 +     inkscape:current-layer="layer1"
    6.75 +     showgrid="false"
    6.76 +     inkscape:window-width="1600"
    6.77 +     inkscape:window-height="848"
    6.78 +     inkscape:window-x="-8"
    6.79 +     inkscape:window-y="-8"
    6.80 +     inkscape:window-maximized="1" />
    6.81 +  <metadata
    6.82 +     id="metadata7">
    6.83 +    <rdf:RDF>
    6.84 +      <cc:Work
    6.85 +         rdf:about="">
    6.86 +        <dc:format>image/svg+xml</dc:format>
    6.87 +        <dc:type
    6.88 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
    6.89 +        <dc:title></dc:title>
    6.90 +      </cc:Work>
    6.91 +    </rdf:RDF>
    6.92 +  </metadata>
    6.93 +  <g
    6.94 +     inkscape:label="Layer 1"
    6.95 +     inkscape:groupmode="layer"
    6.96 +     id="layer1">
    6.97 +    <text
    6.98 +       sodipodi:linespacing="100%"
    6.99 +       id="text12979"
   6.100 +       y="515.76575"
   6.101 +       x="326.92542"
   6.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"
   6.103 +       xml:space="preserve"><tspan
   6.104 +         y="515.76575"
   6.105 +         x="326.92542"
   6.106 +         id="tspan12981"
   6.107 +         sodipodi:role="line"
   6.108 +         style="text-align:center;text-anchor:middle">Master</tspan><tspan
   6.109 +         y="524.20056"
   6.110 +         x="326.92542"
   6.111 +         sodipodi:role="line"
   6.112 +         id="tspan3291"
   6.113 +         style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan
   6.114 +         y="532.2005"
   6.115 +         x="326.92542"
   6.116 +         sodipodi:role="line"
   6.117 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.118 +         id="tspan8409">on core 1</tspan></text>
   6.119 +    <g
   6.120 +       id="g9336"
   6.121 +       transform="translate(44.002789,114)">
   6.122 +      <rect
   6.123 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
   6.124 +         id="rect3293"
   6.125 +         width="65.276405"
   6.126 +         height="37.165791"
   6.127 +         x="346.40247"
   6.128 +         y="389.58255" />
   6.129 +      <text
   6.130 +         sodipodi:linespacing="100%"
   6.131 +         id="text3295"
   6.132 +         y="400.15268"
   6.133 +         x="379.00162"
   6.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"
   6.135 +         xml:space="preserve"><tspan
   6.136 +           id="tspan3301"
   6.137 +           y="400.15268"
   6.138 +           x="379.00162"
   6.139 +           sodipodi:role="line"
   6.140 +           style="text-align:center;text-anchor:middle;fill:#008000">Seed VP</tspan><tspan
   6.141 +           y="408.58746"
   6.142 +           x="379.00162"
   6.143 +           sodipodi:role="line"
   6.144 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
   6.145 +           id="tspan9389">(created at</tspan><tspan
   6.146 +           y="416.58746"
   6.147 +           x="379.00162"
   6.148 +           sodipodi:role="line"
   6.149 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
   6.150 +           id="tspan9391">app startup,</tspan><tspan
   6.151 +           y="424.58746"
   6.152 +           x="379.00162"
   6.153 +           sodipodi:role="line"
   6.154 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
   6.155 +           id="tspan9744">on core 1)</tspan></text>
   6.156 +    </g>
   6.157 +    <text
   6.158 +       xml:space="preserve"
   6.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"
   6.160 +       x="517.16797"
   6.161 +       y="467.42465"
   6.162 +       id="text3318-1"
   6.163 +       sodipodi:linespacing="100%"><tspan
   6.164 +         style="text-align:center;text-anchor:middle;fill:#008000"
   6.165 +         sodipodi:role="line"
   6.166 +         x="517.16797"
   6.167 +         y="467.42465"
   6.168 +         id="tspan3322-5">Application Code</tspan></text>
   6.169 +    <text
   6.170 +       sodipodi:linespacing="100%"
   6.171 +       id="text3376"
   6.172 +       y="541.42468"
   6.173 +       x="517.16797"
   6.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"
   6.175 +       xml:space="preserve"><tspan
   6.176 +         id="tspan3378"
   6.177 +         y="541.42468"
   6.178 +         x="517.16797"
   6.179 +         sodipodi:role="line"
   6.180 +         style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text>
   6.181 +    <text
   6.182 +       xml:space="preserve"
   6.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"
   6.184 +       x="517.16797"
   6.185 +       y="761.42468"
   6.186 +       id="text3380"
   6.187 +       sodipodi:linespacing="100%"><tspan
   6.188 +         style="text-align:center;text-anchor:middle;fill:#008000"
   6.189 +         sodipodi:role="line"
   6.190 +         x="517.16797"
   6.191 +         y="761.42468"
   6.192 +         id="tspan3382">Work_Fn</tspan></text>
   6.193 +    <text
   6.194 +       sodipodi:linespacing="100%"
   6.195 +       id="text3388"
   6.196 +       y="467.42465"
   6.197 +       x="604.63812"
   6.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"
   6.199 +       xml:space="preserve"><tspan
   6.200 +         id="tspan3390"
   6.201 +         y="467.42465"
   6.202 +         x="606.14203"
   6.203 +         sodipodi:role="line"
   6.204 +         style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan
   6.205 +         y="477.42465"
   6.206 +         x="604.63812"
   6.207 +         sodipodi:role="line"
   6.208 +         style="text-align:center;text-anchor:middle;fill:#800000"
   6.209 +         id="tspan5106">Wrapper-Lib</tspan><tspan
   6.210 +         y="487.42465"
   6.211 +         x="604.63812"
   6.212 +         sodipodi:role="line"
   6.213 +         style="text-align:center;text-anchor:middle;fill:#800000"
   6.214 +         id="tspan3392">Code</tspan></text>
   6.215 +    <text
   6.216 +       xml:space="preserve"
   6.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"
   6.218 +       x="669.16797"
   6.219 +       y="467.42465"
   6.220 +       id="text3394"
   6.221 +       sodipodi:linespacing="100%"><tspan
   6.222 +         style="text-align:center;text-anchor:middle;fill:#000080"
   6.223 +         sodipodi:role="line"
   6.224 +         x="669.16797"
   6.225 +         y="467.42465"
   6.226 +         id="tspan3396">Proto-Runtime</tspan><tspan
   6.227 +         style="text-align:center;text-anchor:middle;fill:#000080"
   6.228 +         sodipodi:role="line"
   6.229 +         x="669.16797"
   6.230 +         y="477.42465"
   6.231 +         id="tspan4998">Primitive</tspan><tspan
   6.232 +         id="tspan3398"
   6.233 +         style="text-align:center;text-anchor:middle;fill:#000080"
   6.234 +         sodipodi:role="line"
   6.235 +         x="669.16797"
   6.236 +         y="487.42465">Code</tspan></text>
   6.237 +    <text
   6.238 +       xml:space="preserve"
   6.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"
   6.240 +       x="137.31689"
   6.241 +       y="573.42468"
   6.242 +       id="text3412"
   6.243 +       sodipodi:linespacing="100%"><tspan
   6.244 +         style="text-align:center;text-anchor:middle;fill:#800000"
   6.245 +         sodipodi:role="line"
   6.246 +         x="137.31689"
   6.247 +         y="573.42468"
   6.248 +         id="tspan3414">Lang Handler</tspan><tspan
   6.249 +         style="text-align:center;text-anchor:middle;fill:#800000"
   6.250 +         sodipodi:role="line"
   6.251 +         x="137.31689"
   6.252 +         y="583.42468"
   6.253 +         id="tspan3422">for create VP</tspan></text>
   6.254 +    <text
   6.255 +       xml:space="preserve"
   6.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"
   6.257 +       x="137.68066"
   6.258 +       y="621.42468"
   6.259 +       id="text3444"
   6.260 +       sodipodi:linespacing="100%"><tspan
   6.261 +         style="text-align:center;text-anchor:middle;fill:#800000"
   6.262 +         sodipodi:role="line"
   6.263 +         x="137.68066"
   6.264 +         y="621.42468"
   6.265 +         id="tspan3450">Assigner Fn</tspan></text>
   6.266 +    <text
   6.267 +       xml:space="preserve"
   6.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"
   6.269 +       x="327.16797"
   6.270 +       y="469.42465"
   6.271 +       id="text3456"
   6.272 +       sodipodi:linespacing="100%"><tspan
   6.273 +         style="text-align:center;text-anchor:middle"
   6.274 +         sodipodi:role="line"
   6.275 +         x="328.67188"
   6.276 +         y="469.42465"
   6.277 +         id="tspan3458">Instances of </tspan><tspan
   6.278 +         style="text-align:center;text-anchor:middle"
   6.279 +         sodipodi:role="line"
   6.280 +         x="327.16797"
   6.281 +         y="479.42465"
   6.282 +         id="tspan8405">runtime system</tspan><tspan
   6.283 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.284 +         sodipodi:role="line"
   6.285 +         x="327.16797"
   6.286 +         y="487.85944"
   6.287 +         id="tspan9383">(data structs</tspan><tspan
   6.288 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.289 +         sodipodi:role="line"
   6.290 +         x="327.16797"
   6.291 +         y="495.85944"
   6.292 +         id="tspan9385">on heap)</tspan><tspan
   6.293 +         id="tspan3460"
   6.294 +         style="text-align:center;text-anchor:middle"
   6.295 +         sodipodi:role="line"
   6.296 +         x="327.16797"
   6.297 +         y="503.85944" /></text>
   6.298 +    <text
   6.299 +       sodipodi:linespacing="100%"
   6.300 +       id="text3462"
   6.301 +       y="467.42465"
   6.302 +       x="423.16797"
   6.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"
   6.304 +       xml:space="preserve"><tspan
   6.305 +         id="tspan3464"
   6.306 +         y="467.42465"
   6.307 +         x="423.16797"
   6.308 +         sodipodi:role="line"
   6.309 +         style="text-align:center;text-anchor:middle">Instances of</tspan><tspan
   6.310 +         y="477.42465"
   6.311 +         x="423.16797"
   6.312 +         sodipodi:role="line"
   6.313 +         style="text-align:center;text-anchor:middle"
   6.314 +         id="tspan3468">Virtual Processors</tspan><tspan
   6.315 +         y="485.85944"
   6.316 +         x="423.16797"
   6.317 +         sodipodi:role="line"
   6.318 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.319 +         id="tspan3466">(data structs</tspan><tspan
   6.320 +         y="493.85944"
   6.321 +         x="423.16797"
   6.322 +         sodipodi:role="line"
   6.323 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.324 +         id="tspan9387">on heap)</tspan></text>
   6.325 +    <path
   6.326 +       inkscape:connector-curvature="0"
   6.327 +       id="path4796"
   6.328 +       d="m 457.32649,538.02605 c 38.42351,0 38.42351,0 38.42351,0"
   6.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)" />
   6.330 +    <text
   6.331 +       xml:space="preserve"
   6.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"
   6.333 +       x="604.78461"
   6.334 +       y="535.42468"
   6.335 +       id="text4988"
   6.336 +       sodipodi:linespacing="100%"><tspan
   6.337 +         style="text-align:center;text-anchor:middle;fill:#800000"
   6.338 +         sodipodi:role="line"
   6.339 +         x="604.78461"
   6.340 +         y="535.42468"
   6.341 +         id="tspan4990">create VP</tspan><tspan
   6.342 +         style="text-align:center;text-anchor:middle;fill:#800000"
   6.343 +         sodipodi:role="line"
   6.344 +         x="604.78461"
   6.345 +         y="545.42468"
   6.346 +         id="tspan5104">wrapper Fn</tspan></text>
   6.347 +    <text
   6.348 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
   6.349 +       xml:space="preserve"
   6.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"
   6.351 +       x="640.93384"
   6.352 +       y="566.94653"
   6.353 +       id="text5064"
   6.354 +       sodipodi:linespacing="100%"><tspan
   6.355 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.356 +         sodipodi:role="line"
   6.357 +         x="640.93384"
   6.358 +         y="566.94653"
   6.359 +         id="tspan5066">Call to dyn lib</tspan></text>
   6.360 +    <path
   6.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)"
   6.362 +       d="m 291.99816,538.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
   6.363 +       id="path5068"
   6.364 +       inkscape:connector-curvature="0" />
   6.365 +    <text
   6.366 +       sodipodi:linespacing="100%"
   6.367 +       id="text5070"
   6.368 +       y="574.53986"
   6.369 +       x="148.45142"
   6.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"
   6.371 +       xml:space="preserve"
   6.372 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
   6.373 +         id="tspan5072"
   6.374 +         y="574.53986"
   6.375 +         x="148.45142"
   6.376 +         sodipodi:role="line"
   6.377 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
   6.378 +    <text
   6.379 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
   6.380 +       xml:space="preserve"
   6.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"
   6.382 +       x="368.35757"
   6.383 +       y="617.21826"
   6.384 +       id="text5074"
   6.385 +       sodipodi:linespacing="100%"><tspan
   6.386 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.387 +         sodipodi:role="line"
   6.388 +         x="368.35757"
   6.389 +         y="617.21826"
   6.390 +         id="tspan5076">Top Level Fn</tspan></text>
   6.391 +    <text
   6.392 +       sodipodi:linespacing="100%"
   6.393 +       id="text5078"
   6.394 +       y="833.20477"
   6.395 +       x="326.47617"
   6.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"
   6.397 +       xml:space="preserve"
   6.398 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
   6.399 +         id="tspan5080"
   6.400 +         y="833.20477"
   6.401 +         x="326.47617"
   6.402 +         sodipodi:role="line"
   6.403 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
   6.404 +    <path
   6.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)"
   6.406 +       d="m 458.9835,758.02605 c 36.7665,0 36.7665,0 36.7665,0"
   6.407 +       id="path5082"
   6.408 +       inkscape:connector-curvature="0" />
   6.409 +    <path
   6.410 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
   6.411 +       d="m 514.02904,544.01894 c 0,5.6572 0,5.6572 0,5.6572"
   6.412 +       id="path5092"
   6.413 +       inkscape:connector-curvature="0"
   6.414 +       sodipodi:nodetypes="cc" />
   6.415 +    <path
   6.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)"
   6.417 +       d="m 514.24714,550.02605 c 85.56237,0 85.56237,0 85.56237,0"
   6.418 +       id="path5094"
   6.419 +       inkscape:connector-curvature="0" />
   6.420 +    <path
   6.421 +       inkscape:connector-curvature="0"
   6.422 +       id="path5096"
   6.423 +       d="m 602.77166,658.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
   6.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)" />
   6.425 +    <path
   6.426 +       sodipodi:nodetypes="cc"
   6.427 +       inkscape:connector-curvature="0"
   6.428 +       id="path5140"
   6.429 +       d="m 514.02904,658.31987 c 0,26.21842 0,26.21842 0,26.21842"
   6.430 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
   6.431 +    <path
   6.432 +       inkscape:connector-curvature="0"
   6.433 +       id="path5142"
   6.434 +       d="m 514.2471,684.02605 c 87.58783,0 87.58783,0 87.58783,0"
   6.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)" />
   6.436 +    <text
   6.437 +       sodipodi:linespacing="100%"
   6.438 +       id="text5157"
   6.439 +       y="670.71179"
   6.440 +       x="604.78461"
   6.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"
   6.442 +       xml:space="preserve"><tspan
   6.443 +         id="tspan5161"
   6.444 +         y="670.71179"
   6.445 +         x="604.78461"
   6.446 +         sodipodi:role="line"
   6.447 +         style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan
   6.448 +         y="680.71179"
   6.449 +         x="604.78461"
   6.450 +         sodipodi:role="line"
   6.451 +         style="text-align:center;text-anchor:middle;fill:#800000"
   6.452 +         id="tspan5207">wrapper Fn</tspan></text>
   6.453 +    <path
   6.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)"
   6.455 +       d="m 602.26584,690.02605 c 63.99676,0 63.99676,0 63.99676,0"
   6.456 +       id="path5165"
   6.457 +       inkscape:connector-curvature="0" />
   6.458 +    <path
   6.459 +       sodipodi:nodetypes="cc"
   6.460 +       inkscape:connector-curvature="0"
   6.461 +       id="path5179"
   6.462 +       d="m 514.02904,764.01895 c 0,5.6572 0,5.6572 0,5.6572"
   6.463 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
   6.464 +    <path
   6.465 +       sodipodi:nodetypes="cc"
   6.466 +       inkscape:connector-curvature="0"
   6.467 +       id="path5209"
   6.468 +       d="m 602.02904,682.31985 c 0,7.35629 0,7.35629 0,7.35629"
   6.469 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
   6.470 +    <text
   6.471 +       xml:space="preserve"
   6.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"
   6.473 +       x="497.16797"
   6.474 +       y="399.42468"
   6.475 +       id="text5211"
   6.476 +       sodipodi:linespacing="100%"><tspan
   6.477 +         style="text-align:center;text-anchor:middle"
   6.478 +         sodipodi:role="line"
   6.479 +         x="497.16797"
   6.480 +         y="399.42468"
   6.481 +         id="tspan5215" /></text>
   6.482 +    <path
   6.483 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
   6.484 +       d="m 602.02904,550.21843 c 0,19.4577 0,19.4577 0,19.4577"
   6.485 +       id="path5217"
   6.486 +       inkscape:connector-curvature="0"
   6.487 +       sodipodi:nodetypes="cc" />
   6.488 +    <path
   6.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)"
   6.490 +       d="m 602.24714,570.02605 c 64.71029,0 64.71029,0 64.71029,0"
   6.491 +       id="path5219"
   6.492 +       inkscape:connector-curvature="0" />
   6.493 +    <path
   6.494 +       inkscape:connector-curvature="0"
   6.495 +       id="path5221"
   6.496 +       d="m 666.85635,654.02605 c -65.78483,0 -65.78483,0 -65.78483,0"
   6.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)" />
   6.498 +    <path
   6.499 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
   6.500 +       d="m 668.02904,568.63925 c 0,13.68455 0,13.68455 0,13.68455"
   6.501 +       id="path5223"
   6.502 +       inkscape:connector-curvature="0"
   6.503 +       sodipodi:nodetypes="cc" />
   6.504 +    <path
   6.505 +       sodipodi:nodetypes="cc"
   6.506 +       inkscape:connector-curvature="0"
   6.507 +       id="path5229"
   6.508 +       d="m 602.02904,653.22687 c 0,5.5885 0,5.5885 0,5.5885"
   6.509 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
   6.510 +    <path
   6.511 +       sodipodi:nodetypes="cc"
   6.512 +       inkscape:connector-curvature="0"
   6.513 +       id="path5235"
   6.514 +       d="m 668.02904,640.63925 c 0,13.68455 0,13.68455 0,13.68455"
   6.515 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
   6.516 +    <text
   6.517 +       sodipodi:linespacing="100%"
   6.518 +       id="text5239"
   6.519 +       y="887.21881"
   6.520 +       x="75.689163"
   6.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"
   6.522 +       xml:space="preserve"
   6.523 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
   6.524 +         id="tspan5241"
   6.525 +         y="887.21881"
   6.526 +         x="75.689163"
   6.527 +         sodipodi:role="line"
   6.528 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
   6.529 +         y="895.21881"
   6.530 +         x="75.689163"
   6.531 +         sodipodi:role="line"
   6.532 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.533 +         id="tspan5243">and switch</tspan><tspan
   6.534 +         y="903.21881"
   6.535 +         x="75.689163"
   6.536 +         sodipodi:role="line"
   6.537 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.538 +         id="tspan5245">to runtime</tspan></text>
   6.539 +    <path
   6.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)"
   6.541 +       d="m 271.03421,642.02605 c 193.92439,0 193.92439,0 193.92439,0"
   6.542 +       id="path5247"
   6.543 +       inkscape:connector-curvature="0" />
   6.544 +    <text
   6.545 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
   6.546 +       xml:space="preserve"
   6.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"
   6.548 +       x="45.084938"
   6.549 +       y="918.83185"
   6.550 +       id="text5249"
   6.551 +       sodipodi:linespacing="100%"><tspan
   6.552 +         id="tspan5255"
   6.553 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.554 +         sodipodi:role="line"
   6.555 +         x="45.084938"
   6.556 +         y="918.83185">return</tspan><tspan
   6.557 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.558 +         sodipodi:role="line"
   6.559 +         x="45.084938"
   6.560 +         y="926.83185"
   6.561 +         id="tspan5261">from</tspan><tspan
   6.562 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.563 +         sodipodi:role="line"
   6.564 +         x="45.084938"
   6.565 +         y="934.83185"
   6.566 +         id="tspan5263">suspend</tspan></text>
   6.567 +    <text
   6.568 +       sodipodi:linespacing="100%"
   6.569 +       id="text5345"
   6.570 +       y="557.42468"
   6.571 +       x="667.38037"
   6.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"
   6.573 +       xml:space="preserve"><tspan
   6.574 +         id="tspan5349"
   6.575 +         y="557.42468"
   6.576 +         x="667.38037"
   6.577 +         sodipodi:role="line"
   6.578 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
   6.579 +         y="567.42468"
   6.580 +         x="667.38037"
   6.581 +         sodipodi:role="line"
   6.582 +         style="text-align:center;text-anchor:middle;fill:#000080"
   6.583 +         id="tspan5353">to send request</tspan></text>
   6.584 +    <text
   6.585 +       sodipodi:linespacing="100%"
   6.586 +       id="text5355"
   6.587 +       y="554.71265"
   6.588 +       x="556.00226"
   6.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"
   6.590 +       xml:space="preserve"
   6.591 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
   6.592 +         id="tspan5357"
   6.593 +         y="554.71265"
   6.594 +         x="556.00226"
   6.595 +         sodipodi:role="line"
   6.596 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
   6.597 +    <path
   6.598 +       sodipodi:nodetypes="cc"
   6.599 +       inkscape:connector-curvature="0"
   6.600 +       id="path5359"
   6.601 +       d="m 668.02904,689.28283 c 0,13.68455 0,13.68455 0,13.68455"
   6.602 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
   6.603 +    <text
   6.604 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
   6.605 +       xml:space="preserve"
   6.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"
   6.607 +       x="-4.9486814"
   6.608 +       y="973.39014"
   6.609 +       id="text5363"
   6.610 +       sodipodi:linespacing="100%"><tspan
   6.611 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.612 +         sodipodi:role="line"
   6.613 +         x="-4.9486814"
   6.614 +         y="973.39014"
   6.615 +         id="tspan5365">suspend</tspan><tspan
   6.616 +         id="tspan5367"
   6.617 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.618 +         sodipodi:role="line"
   6.619 +         x="-4.9486814"
   6.620 +         y="981.39014">and switch</tspan><tspan
   6.621 +         id="tspan5369"
   6.622 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.623 +         sodipodi:role="line"
   6.624 +         x="-4.9486814"
   6.625 +         y="989.39014">to runtime</tspan></text>
   6.626 +    <text
   6.627 +       sodipodi:linespacing="100%"
   6.628 +       id="text5371"
   6.629 +       y="755.42468"
   6.630 +       x="604.59662"
   6.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"
   6.632 +       xml:space="preserve"><tspan
   6.633 +         id="tspan5373"
   6.634 +         y="755.42468"
   6.635 +         x="604.59662"
   6.636 +         sodipodi:role="line"
   6.637 +         style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan
   6.638 +         id="tspan5375"
   6.639 +         y="765.42468"
   6.640 +         x="604.59662"
   6.641 +         sodipodi:role="line"
   6.642 +         style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text>
   6.643 +    <path
   6.644 +       inkscape:connector-curvature="0"
   6.645 +       id="path5379"
   6.646 +       d="m 514.24714,770.02605 c 85.56237,0 85.56237,0 85.56237,0"
   6.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)" />
   6.648 +    <path
   6.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)"
   6.650 +       d="m 602.77166,870.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
   6.651 +       id="path5381"
   6.652 +       inkscape:connector-curvature="0" />
   6.653 +    <text
   6.654 +       xml:space="preserve"
   6.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"
   6.656 +       x="604.78461"
   6.657 +       y="882.71179"
   6.658 +       id="text5387"
   6.659 +       sodipodi:linespacing="100%"><tspan
   6.660 +         style="text-align:center;text-anchor:middle;fill:#800000"
   6.661 +         sodipodi:role="line"
   6.662 +         x="604.78461"
   6.663 +         y="882.71179"
   6.664 +         id="tspan5389">end VP</tspan><tspan
   6.665 +         id="tspan5391"
   6.666 +         style="text-align:center;text-anchor:middle;fill:#800000"
   6.667 +         sodipodi:role="line"
   6.668 +         x="604.78461"
   6.669 +         y="892.71179">wrapper Fn</tspan></text>
   6.670 +    <path
   6.671 +       inkscape:connector-curvature="0"
   6.672 +       id="path5393"
   6.673 +       d="m 602.289,902.02605 c 65.24023,0 65.24023,0 65.24023,0"
   6.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)" />
   6.675 +    <path
   6.676 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
   6.677 +       d="m 602.02904,894.31985 c 0,7.35629 0,7.35629 0,7.35629"
   6.678 +       id="path5401"
   6.679 +       inkscape:connector-curvature="0"
   6.680 +       sodipodi:nodetypes="cc" />
   6.681 +    <path
   6.682 +       sodipodi:nodetypes="cc"
   6.683 +       inkscape:connector-curvature="0"
   6.684 +       id="path5403"
   6.685 +       d="m 602.02904,770.21843 c 0,19.4577 0,19.4577 0,19.4577"
   6.686 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
   6.687 +    <path
   6.688 +       inkscape:connector-curvature="0"
   6.689 +       id="path5405"
   6.690 +       d="m 602.6148,790.02605 c 64.1779,0 64.1779,0 64.1779,0"
   6.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)" />
   6.692 +    <path
   6.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)"
   6.694 +       d="m 668.13452,866.02605 c -67.06305,0 -67.06305,0 -67.06305,0"
   6.695 +       id="path5407"
   6.696 +       inkscape:connector-curvature="0" />
   6.697 +    <path
   6.698 +       sodipodi:nodetypes="cc"
   6.699 +       inkscape:connector-curvature="0"
   6.700 +       id="path5409"
   6.701 +       d="m 668.02904,788.63925 c 0,13.68455 0,13.68455 0,13.68455"
   6.702 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
   6.703 +    <path
   6.704 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
   6.705 +       d="m 602.02904,865.22687 c 0,5.5885 0,5.5885 0,5.5885"
   6.706 +       id="path5411"
   6.707 +       inkscape:connector-curvature="0"
   6.708 +       sodipodi:nodetypes="cc" />
   6.709 +    <path
   6.710 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
   6.711 +       d="m 668.02904,852.63925 c 0,13.68455 0,13.68455 0,13.68455"
   6.712 +       id="path5417"
   6.713 +       inkscape:connector-curvature="0"
   6.714 +       sodipodi:nodetypes="cc" />
   6.715 +    <text
   6.716 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
   6.717 +       xml:space="preserve"
   6.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"
   6.719 +       x="-74.503059"
   6.720 +       y="1045.2394"
   6.721 +       id="text5421"
   6.722 +       sodipodi:linespacing="100%"><tspan
   6.723 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.724 +         sodipodi:role="line"
   6.725 +         x="-74.503059"
   6.726 +         y="1045.2394"
   6.727 +         id="tspan5423">suspend</tspan><tspan
   6.728 +         id="tspan5425"
   6.729 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.730 +         sodipodi:role="line"
   6.731 +         x="-74.503059"
   6.732 +         y="1053.2394">and switch</tspan><tspan
   6.733 +         id="tspan5427"
   6.734 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.735 +         sodipodi:role="line"
   6.736 +         x="-74.503059"
   6.737 +         y="1061.2394">to runtime</tspan></text>
   6.738 +    <text
   6.739 +       sodipodi:linespacing="100%"
   6.740 +       id="text5431"
   6.741 +       y="1071.1506"
   6.742 +       x="-102.37076"
   6.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"
   6.744 +       xml:space="preserve"
   6.745 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
   6.746 +         y="1071.1506"
   6.747 +         x="-102.37076"
   6.748 +         sodipodi:role="line"
   6.749 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.750 +         id="tspan5433">return</tspan><tspan
   6.751 +         id="tspan5435"
   6.752 +         y="1079.1506"
   6.753 +         x="-102.37076"
   6.754 +         sodipodi:role="line"
   6.755 +         style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan
   6.756 +         id="tspan5437"
   6.757 +         y="1087.1506"
   6.758 +         x="-102.37076"
   6.759 +         sodipodi:role="line"
   6.760 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
   6.761 +    <text
   6.762 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
   6.763 +       xml:space="preserve"
   6.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"
   6.765 +       x="556.96783"
   6.766 +       y="774.71014"
   6.767 +       id="text5445"
   6.768 +       sodipodi:linespacing="100%"><tspan
   6.769 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.770 +         sodipodi:role="line"
   6.771 +         x="556.96783"
   6.772 +         y="774.71014"
   6.773 +         id="tspan5447">normal call</tspan></text>
   6.774 +    <path
   6.775 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
   6.776 +       d="m 668.02904,901.28283 c 0,13.68455 0,13.68455 0,13.68455"
   6.777 +       id="path5449"
   6.778 +       inkscape:connector-curvature="0"
   6.779 +       sodipodi:nodetypes="cc" />
   6.780 +    <text
   6.781 +       sodipodi:linespacing="100%"
   6.782 +       id="text5453"
   6.783 +       y="1128.538"
   6.784 +       x="-152.3584"
   6.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"
   6.786 +       xml:space="preserve"
   6.787 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
   6.788 +         id="tspan5455"
   6.789 +         y="1128.538"
   6.790 +         x="-152.3584"
   6.791 +         sodipodi:role="line"
   6.792 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
   6.793 +         y="1136.538"
   6.794 +         x="-152.3584"
   6.795 +         sodipodi:role="line"
   6.796 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.797 +         id="tspan5457">and switch</tspan><tspan
   6.798 +         y="1144.538"
   6.799 +         x="-152.3584"
   6.800 +         sodipodi:role="line"
   6.801 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.802 +         id="tspan5459">to runtime</tspan></text>
   6.803 +    <path
   6.804 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
   6.805 +       d="m 514.02904,870.31987 c 0,26.21842 0,26.21842 0,26.21842"
   6.806 +       id="path5461"
   6.807 +       inkscape:connector-curvature="0"
   6.808 +       sodipodi:nodetypes="cc" />
   6.809 +    <path
   6.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)"
   6.811 +       d="m 514.2471,896.02605 c 87.58783,0 87.58783,0 87.58783,0"
   6.812 +       id="path5463"
   6.813 +       inkscape:connector-curvature="0" />
   6.814 +    <text
   6.815 +       sodipodi:linespacing="100%"
   6.816 +       id="text5465"
   6.817 +       y="688.71033"
   6.818 +       x="556.59009"
   6.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"
   6.820 +       xml:space="preserve"
   6.821 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
   6.822 +         id="tspan5467"
   6.823 +         y="688.71033"
   6.824 +         x="556.59009"
   6.825 +         sodipodi:role="line"
   6.826 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
   6.827 +    <text
   6.828 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
   6.829 +       xml:space="preserve"
   6.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"
   6.831 +       x="557.52142"
   6.832 +       y="900.70972"
   6.833 +       id="text5469"
   6.834 +       sodipodi:linespacing="100%"><tspan
   6.835 +         style="font-size:8px;text-align:center;text-anchor:middle"
   6.836 +         sodipodi:role="line"
   6.837 +         x="557.52142"
   6.838 +         y="900.70972"
   6.839 +         id="tspan5471">normal call</tspan></text>
   6.840 +    <g
   6.841 +       transform="matrix(1,0,0,0.71130685,-16,282.52913)"
   6.842 +       id="g8395">
   6.843 +      <rect
   6.844 +         y="313.58255"
   6.845 +         x="310.40247"
   6.846 +         height="52.250008"
   6.847 +         width="65.276405"
   6.848 +         id="rect8397"
   6.849 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
   6.850 +    </g>
   6.851 +    <path
   6.852 +       sodipodi:nodetypes="cc"
   6.853 +       inkscape:connector-curvature="0"
   6.854 +       id="path9273"
   6.855 +       d="m 514.02904,658.31987 c 0,26.21842 0,26.21842 0,26.21842"
   6.856 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
   6.857 +    <path
   6.858 +       sodipodi:nodetypes="cc"
   6.859 +       inkscape:connector-curvature="0"
   6.860 +       id="path9275"
   6.861 +       d="m 476.02904,544.79398 c 0,35.61575 0,35.61575 0,35.61575"
   6.862 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
   6.863 +    <path
   6.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"
   6.865 +       d="m 468.24715,580.02605 c 13.34137,0 13.34137,0 13.34137,0"
   6.866 +       id="path9277"
   6.867 +       inkscape:connector-curvature="0" />
   6.868 +    <path
   6.869 +       inkscape:connector-curvature="0"
   6.870 +       id="path9279"
   6.871 +       d="m 481.57781,642.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
   6.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" />
   6.873 +    <path
   6.874 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
   6.875 +       d="m 476.02904,642.3113 c 0,57.40944 0,57.40944 0,57.40944"
   6.876 +       id="path9281"
   6.877 +       inkscape:connector-curvature="0"
   6.878 +       sodipodi:nodetypes="cc" />
   6.879 +    <path
   6.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"
   6.881 +       d="m 481.57781,701.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
   6.882 +       id="path9283"
   6.883 +       inkscape:connector-curvature="0" />
   6.884 +    <text
   6.885 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"
   6.886 +       xml:space="preserve"
   6.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"
   6.888 +       x="615.90454"
   6.889 +       y="-469.42978"
   6.890 +       id="text9285"
   6.891 +       sodipodi:linespacing="100%"><tspan
   6.892 +         style="text-align:center;text-anchor:middle;fill:#008000"
   6.893 +         sodipodi:role="line"
   6.894 +         x="615.90454"
   6.895 +         y="-469.42978"
   6.896 +         id="tspan9287">Timeline of SeedVP</tspan></text>
   6.897 +    <text
   6.898 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
   6.899 +       xml:space="preserve"
   6.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"
   6.901 +       x="486.10849"
   6.902 +       y="579.01941"
   6.903 +       id="text9289"
   6.904 +       sodipodi:linespacing="100%"><tspan
   6.905 +         style="font-size:8px;text-align:start;text-anchor:start"
   6.906 +         sodipodi:role="line"
   6.907 +         x="486.10849"
   6.908 +         y="579.01941"
   6.909 +         id="tspan9291">suspend</tspan></text>
   6.910 +    <text
   6.911 +       sodipodi:linespacing="100%"
   6.912 +       id="text9293"
   6.913 +       y="643.01886"
   6.914 +       x="486.38965"
   6.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"
   6.916 +       xml:space="preserve"
   6.917 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
   6.918 +         id="tspan9295"
   6.919 +         y="643.01886"
   6.920 +         x="486.38965"
   6.921 +         sodipodi:role="line"
   6.922 +         style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text>
   6.923 +    <text
   6.924 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
   6.925 +       xml:space="preserve"
   6.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"
   6.927 +       x="486.64105"
   6.928 +       y="700.22437"
   6.929 +       id="text9297"
   6.930 +       sodipodi:linespacing="100%"><tspan
   6.931 +         style="font-size:8px;text-align:start;text-anchor:start"
   6.932 +         sodipodi:role="line"
   6.933 +         x="486.64105"
   6.934 +         y="700.22437"
   6.935 +         id="tspan9299">end</tspan></text>
   6.936 +    <text
   6.937 +       sodipodi:linespacing="100%"
   6.938 +       id="text9301"
   6.939 +       y="467.42465"
   6.940 +       x="63.167969"
   6.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"
   6.942 +       xml:space="preserve"><tspan
   6.943 +         id="tspan9303"
   6.944 +         y="467.42465"
   6.945 +         x="63.167969"
   6.946 +         sodipodi:role="line"
   6.947 +         style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan
   6.948 +         id="tspan9305"
   6.949 +         y="477.42465"
   6.950 +         x="63.167969"
   6.951 +         sodipodi:role="line"
   6.952 +         style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan
   6.953 +         y="487.42465"
   6.954 +         x="63.167969"
   6.955 +         sodipodi:role="line"
   6.956 +         style="text-align:center;text-anchor:middle;fill:#000080"
   6.957 +         id="tspan9307">Code</tspan></text>
   6.958 +    <text
   6.959 +       xml:space="preserve"
   6.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"
   6.961 +       x="65.380371"
   6.962 +       y="585.42468"
   6.963 +       id="text9309"
   6.964 +       sodipodi:linespacing="100%"><tspan
   6.965 +         id="tspan9313"
   6.966 +         style="text-align:center;text-anchor:middle;fill:#000080"
   6.967 +         sodipodi:role="line"
   6.968 +         x="65.380371"
   6.969 +         y="585.42468">PR primitive Fn</tspan><tspan
   6.970 +         style="text-align:center;text-anchor:middle;fill:#000080"
   6.971 +         sodipodi:role="line"
   6.972 +         x="65.380371"
   6.973 +         y="595.42468"
   6.974 +         id="tspan9317">to create VP</tspan></text>
   6.975 +    <path
   6.976 +       inkscape:connector-curvature="0"
   6.977 +       id="path9321"
   6.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"
   6.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)"
   6.980 +       sodipodi:nodetypes="csc" />
   6.981 +    <g
   6.982 +       id="g9341"
   6.983 +       transform="translate(44.002789,336)">
   6.984 +      <rect
   6.985 +         y="389.58255"
   6.986 +         x="346.40247"
   6.987 +         height="37.165791"
   6.988 +         width="65.276405"
   6.989 +         id="rect9343"
   6.990 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
   6.991 +      <text
   6.992 +         xml:space="preserve"
   6.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"
   6.994 +         x="379.35806"
   6.995 +         y="400.72159"
   6.996 +         id="text9345"
   6.997 +         sodipodi:linespacing="100%"><tspan
   6.998 +           style="text-align:center;text-anchor:middle;fill:#008000"
   6.999 +           sodipodi:role="line"
  6.1000 +           x="379.35806"
  6.1001 +           y="400.72159"
  6.1002 +           id="tspan9347">VP 1</tspan><tspan
  6.1003 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  6.1004 +           sodipodi:role="line"
  6.1005 +           x="379.35806"
  6.1006 +           y="409.15637"
  6.1007 +           id="tspan9349">(created by</tspan><tspan
  6.1008 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  6.1009 +           sodipodi:role="line"
  6.1010 +           x="379.35806"
  6.1011 +           y="417.15637"
  6.1012 +           id="tspan9355">application,</tspan><tspan
  6.1013 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  6.1014 +           sodipodi:role="line"
  6.1015 +           x="379.35806"
  6.1016 +           y="425.15637"
  6.1017 +           id="tspan9746">on core 2)</tspan></text>
  6.1018 +    </g>
  6.1019 +    <g
  6.1020 +       transform="translate(44.002789,370)"
  6.1021 +       id="g9371" />
  6.1022 +    <text
  6.1023 +       xml:space="preserve"
  6.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"
  6.1025 +       x="202.41257"
  6.1026 +       y="541.42468"
  6.1027 +       id="text9512"
  6.1028 +       sodipodi:linespacing="100%"><tspan
  6.1029 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1030 +         sodipodi:role="line"
  6.1031 +         x="202.41257"
  6.1032 +         y="541.42468"
  6.1033 +         id="tspan9514">Master Fn</tspan></text>
  6.1034 +    <path
  6.1035 +       sodipodi:nodetypes="cc"
  6.1036 +       inkscape:connector-curvature="0"
  6.1037 +       id="path9522"
  6.1038 +       d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1039 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.1040 +    <path
  6.1041 +       inkscape:connector-curvature="0"
  6.1042 +       id="path9524"
  6.1043 +       d="m 205.05995,586.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
  6.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)" />
  6.1045 +    <path
  6.1046 +       sodipodi:nodetypes="cc"
  6.1047 +       inkscape:connector-curvature="0"
  6.1048 +       id="path9548"
  6.1049 +       d="m 137.27805,585.85824 c 0,11.43122 0,11.43122 0,11.43122"
  6.1050 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.1051 +    <path
  6.1052 +       inkscape:connector-curvature="0"
  6.1053 +       id="path9550"
  6.1054 +       d="m 137.57123,598.02605 c -69.22157,0 -69.22157,0 -69.22157,0"
  6.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)" />
  6.1056 +    <path
  6.1057 +       sodipodi:nodetypes="cc"
  6.1058 +       inkscape:connector-curvature="0"
  6.1059 +       id="path9554"
  6.1060 +       d="m 205.27805,636.63925 c 0,4.54718 0,4.54718 0,4.54718"
  6.1061 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.1062 +    <text
  6.1063 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  6.1064 +       xml:space="preserve"
  6.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"
  6.1066 +       x="-300.35513"
  6.1067 +       y="609.46997"
  6.1068 +       id="text9566"
  6.1069 +       sodipodi:linespacing="100%"><tspan
  6.1070 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1071 +         sodipodi:role="line"
  6.1072 +         x="-300.35513"
  6.1073 +         y="609.46997"
  6.1074 +         id="tspan9568">suspend</tspan><tspan
  6.1075 +         id="tspan9570"
  6.1076 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1077 +         sodipodi:role="line"
  6.1078 +         x="-300.35513"
  6.1079 +         y="617.46997">and switch</tspan><tspan
  6.1080 +         id="tspan9572"
  6.1081 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1082 +         sodipodi:role="line"
  6.1083 +         x="-300.35513"
  6.1084 +         y="625.46997">to app VP</tspan></text>
  6.1085 +    <path
  6.1086 +       sodipodi:nodetypes="cc"
  6.1087 +       inkscape:connector-curvature="0"
  6.1088 +       id="path9614"
  6.1089 +       d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1090 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.1091 +    <path
  6.1092 +       sodipodi:nodetypes="cc"
  6.1093 +       inkscape:connector-curvature="0"
  6.1094 +       id="path9616"
  6.1095 +       d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1096 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.1097 +    <path
  6.1098 +       inkscape:connector-curvature="0"
  6.1099 +       id="path9648"
  6.1100 +       d="m 468.24715,545.42364 c 13.34137,0 13.34137,0 13.34137,0"
  6.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" />
  6.1102 +    <text
  6.1103 +       sodipodi:linespacing="100%"
  6.1104 +       id="text9654"
  6.1105 +       y="547.021"
  6.1106 +       x="485.96786"
  6.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"
  6.1108 +       xml:space="preserve"
  6.1109 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  6.1110 +         id="tspan9656"
  6.1111 +         y="547.021"
  6.1112 +         x="485.96786"
  6.1113 +         sodipodi:role="line"
  6.1114 +         style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text>
  6.1115 +    <path
  6.1116 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
  6.1117 +       d="m 476.02904,764.79398 c 0,35.61575 0,35.61575 0,35.61575"
  6.1118 +       id="path9658"
  6.1119 +       inkscape:connector-curvature="0"
  6.1120 +       sodipodi:nodetypes="cc" />
  6.1121 +    <path
  6.1122 +       inkscape:connector-curvature="0"
  6.1123 +       id="path9660"
  6.1124 +       d="m 468.24715,800.02605 c 13.34137,0 13.34137,0 13.34137,0"
  6.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" />
  6.1126 +    <path
  6.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"
  6.1128 +       d="m 481.57781,854.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
  6.1129 +       id="path9662"
  6.1130 +       inkscape:connector-curvature="0" />
  6.1131 +    <text
  6.1132 +       sodipodi:linespacing="100%"
  6.1133 +       id="text9668"
  6.1134 +       y="-467.51968"
  6.1135 +       x="833.97864"
  6.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"
  6.1137 +       xml:space="preserve"
  6.1138 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan
  6.1139 +         y="-467.51968"
  6.1140 +         x="833.97864"
  6.1141 +         sodipodi:role="line"
  6.1142 +         style="text-align:center;text-anchor:middle;fill:#008000"
  6.1143 +         id="tspan9740">Timeline of VP 1</tspan></text>
  6.1144 +    <text
  6.1145 +       sodipodi:linespacing="100%"
  6.1146 +       id="text9672"
  6.1147 +       y="799.01776"
  6.1148 +       x="487.07419"
  6.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"
  6.1150 +       xml:space="preserve"
  6.1151 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  6.1152 +         id="tspan9674"
  6.1153 +         y="799.01776"
  6.1154 +         x="487.07419"
  6.1155 +         sodipodi:role="line"
  6.1156 +         style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text>
  6.1157 +    <text
  6.1158 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.1159 +       xml:space="preserve"
  6.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"
  6.1161 +       x="487.32007"
  6.1162 +       y="855.01727"
  6.1163 +       id="text9676"
  6.1164 +       sodipodi:linespacing="100%"><tspan
  6.1165 +         style="font-size:8px;text-align:start;text-anchor:start"
  6.1166 +         sodipodi:role="line"
  6.1167 +         x="487.32007"
  6.1168 +         y="855.01727"
  6.1169 +         id="tspan9678">resume</tspan></text>
  6.1170 +    <path
  6.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"
  6.1172 +       d="m 468.24715,765.42364 c 13.34137,0 13.34137,0 13.34137,0"
  6.1173 +       id="path9684"
  6.1174 +       inkscape:connector-curvature="0" />
  6.1175 +    <text
  6.1176 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.1177 +       xml:space="preserve"
  6.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"
  6.1179 +       x="486.93356"
  6.1180 +       y="767.01935"
  6.1181 +       id="text9686"
  6.1182 +       sodipodi:linespacing="100%"><tspan
  6.1183 +         style="font-size:8px;text-align:start;text-anchor:start"
  6.1184 +         sodipodi:role="line"
  6.1185 +         x="486.93356"
  6.1186 +         y="767.01935"
  6.1187 +         id="tspan9688">start</tspan></text>
  6.1188 +    <path
  6.1189 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
  6.1190 +       d="m 266.02904,579.4311 c 0,61.88904 0,61.88904 0,61.88904"
  6.1191 +       id="path9690"
  6.1192 +       inkscape:connector-curvature="0"
  6.1193 +       sodipodi:nodetypes="cc" />
  6.1194 +    <path
  6.1195 +       inkscape:connector-curvature="0"
  6.1196 +       id="path9692"
  6.1197 +       d="m 258.24715,580.02605 c 13.34137,0 13.34137,0 13.34137,0"
  6.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" />
  6.1199 +    <path
  6.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"
  6.1201 +       d="m 271.57781,642.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
  6.1202 +       id="path9694"
  6.1203 +       inkscape:connector-curvature="0" />
  6.1204 +    <text
  6.1205 +       sodipodi:linespacing="100%"
  6.1206 +       id="text9700"
  6.1207 +       y="-276.31772"
  6.1208 +       x="625.34003"
  6.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"
  6.1210 +       xml:space="preserve"
  6.1211 +       transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"><tspan
  6.1212 +         y="-276.31772"
  6.1213 +         x="625.34003"
  6.1214 +         sodipodi:role="line"
  6.1215 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1216 +         id="tspan9736">Timeline of Master on core 1</tspan></text>
  6.1217 +    <text
  6.1218 +       sodipodi:linespacing="100%"
  6.1219 +       id="text9704"
  6.1220 +       y="642.12531"
  6.1221 +       x="262.08206"
  6.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"
  6.1223 +       xml:space="preserve"
  6.1224 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  6.1225 +         id="tspan9706"
  6.1226 +         y="642.12531"
  6.1227 +         x="262.08206"
  6.1228 +         sodipodi:role="line"
  6.1229 +         style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text>
  6.1230 +    <text
  6.1231 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.1232 +       xml:space="preserve"
  6.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"
  6.1234 +       x="259.36166"
  6.1235 +       y="582.12573"
  6.1236 +       id="text9708"
  6.1237 +       sodipodi:linespacing="100%"><tspan
  6.1238 +         style="font-size:8px;text-align:end;text-anchor:end"
  6.1239 +         sodipodi:role="line"
  6.1240 +         x="259.36166"
  6.1241 +         y="582.12573"
  6.1242 +         id="tspan9710">resume</tspan></text>
  6.1243 +    <path
  6.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"
  6.1245 +       d="m 258.24715,545.42364 c 13.34137,0 13.34137,0 13.34137,0"
  6.1246 +       id="path9716"
  6.1247 +       inkscape:connector-curvature="0" />
  6.1248 +    <text
  6.1249 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.1250 +       xml:space="preserve"
  6.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"
  6.1252 +       x="258.41916"
  6.1253 +       y="548.09222"
  6.1254 +       id="text9718"
  6.1255 +       sodipodi:linespacing="100%"><tspan
  6.1256 +         style="font-size:8px;text-align:end;text-anchor:end"
  6.1257 +         sodipodi:role="line"
  6.1258 +         x="258.41916"
  6.1259 +         y="548.09222"
  6.1260 +         id="tspan9720">start</tspan></text>
  6.1261 +    <path
  6.1262 +       sodipodi:nodetypes="cc"
  6.1263 +       inkscape:connector-curvature="0"
  6.1264 +       id="path9722"
  6.1265 +       d="m 266.02904,699.43112 c 0,10.33165 0,10.33165 0,10.33165"
  6.1266 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
  6.1267 +    <path
  6.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"
  6.1269 +       d="m 258.24715,700.02605 c 13.34137,0 13.34137,0 13.34137,0"
  6.1270 +       id="path9724"
  6.1271 +       inkscape:connector-curvature="0" />
  6.1272 +    <text
  6.1273 +       sodipodi:linespacing="100%"
  6.1274 +       id="text9936"
  6.1275 +       y="786.9176"
  6.1276 +       x="644.57471"
  6.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"
  6.1278 +       xml:space="preserve"
  6.1279 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
  6.1280 +         id="tspan9938"
  6.1281 +         y="786.9176"
  6.1282 +         x="644.57471"
  6.1283 +         sodipodi:role="line"
  6.1284 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
  6.1285 +    <text
  6.1286 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  6.1287 +       xml:space="preserve"
  6.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"
  6.1289 +       x="646.42737"
  6.1290 +       y="898.90509"
  6.1291 +       id="text9940"
  6.1292 +       sodipodi:linespacing="100%"><tspan
  6.1293 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1294 +         sodipodi:role="line"
  6.1295 +         x="646.42737"
  6.1296 +         y="898.90509"
  6.1297 +         id="tspan9942">Call to dyn lib</tspan></text>
  6.1298 +    <text
  6.1299 +       sodipodi:linespacing="100%"
  6.1300 +       id="text9944"
  6.1301 +       y="686.93219"
  6.1302 +       x="642.91998"
  6.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"
  6.1304 +       xml:space="preserve"
  6.1305 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
  6.1306 +         id="tspan9946"
  6.1307 +         y="686.93219"
  6.1308 +         x="642.91998"
  6.1309 +         sodipodi:role="line"
  6.1310 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
  6.1311 +    <text
  6.1312 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  6.1313 +       xml:space="preserve"
  6.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"
  6.1315 +       x="115.47029"
  6.1316 +       y="603.64581"
  6.1317 +       id="text9948"
  6.1318 +       sodipodi:linespacing="100%"><tspan
  6.1319 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1320 +         sodipodi:role="line"
  6.1321 +         x="115.47029"
  6.1322 +         y="603.64581"
  6.1323 +         id="tspan9950">call to dyn lib</tspan></text>
  6.1324 +    <path
  6.1325 +       inkscape:connector-curvature="0"
  6.1326 +       id="path9952"
  6.1327 +       d="m 701.67453,642.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
  6.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" />
  6.1329 +    <path
  6.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"
  6.1331 +       d="m 701.67453,579.52981 c -669.895225,0 -669.895225,0 -669.895225,0"
  6.1332 +       id="path9954"
  6.1333 +       inkscape:connector-curvature="0" />
  6.1334 +    <text
  6.1335 +       xml:space="preserve"
  6.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"
  6.1337 +       x="326.92542"
  6.1338 +       y="739.76575"
  6.1339 +       id="text9956"
  6.1340 +       sodipodi:linespacing="100%"><tspan
  6.1341 +         style="text-align:center;text-anchor:middle"
  6.1342 +         sodipodi:role="line"
  6.1343 +         id="tspan9958"
  6.1344 +         x="326.92542"
  6.1345 +         y="739.76575">Master</tspan><tspan
  6.1346 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1347 +         id="tspan9960"
  6.1348 +         sodipodi:role="line"
  6.1349 +         x="326.92542"
  6.1350 +         y="748.2005">(runtime system)</tspan><tspan
  6.1351 +         id="tspan9962"
  6.1352 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1353 +         sodipodi:role="line"
  6.1354 +         x="326.92542"
  6.1355 +         y="756.2005">on core 2</tspan></text>
  6.1356 +    <path
  6.1357 +       inkscape:connector-curvature="0"
  6.1358 +       id="path9970"
  6.1359 +       d="m 291.99816,758.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
  6.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)" />
  6.1361 +    <g
  6.1362 +       id="g9972"
  6.1363 +       transform="matrix(1,0,0,0.71130685,-16,504.52913)">
  6.1364 +      <rect
  6.1365 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  6.1366 +         id="rect9974"
  6.1367 +         width="65.276405"
  6.1368 +         height="52.250008"
  6.1369 +         x="310.40247"
  6.1370 +         y="313.58255" />
  6.1371 +    </g>
  6.1372 +    <text
  6.1373 +       sodipodi:linespacing="100%"
  6.1374 +       id="text9982"
  6.1375 +       y="761.42468"
  6.1376 +       x="202.41257"
  6.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"
  6.1378 +       xml:space="preserve"><tspan
  6.1379 +         id="tspan9984"
  6.1380 +         y="761.42468"
  6.1381 +         x="202.41257"
  6.1382 +         sodipodi:role="line"
  6.1383 +         style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text>
  6.1384 +    <path
  6.1385 +       sodipodi:nodetypes="cc"
  6.1386 +       inkscape:connector-curvature="0"
  6.1387 +       id="path10010"
  6.1388 +       d="m 266.02904,799.43113 c 0,54.93536 0,54.93536 0,54.93536"
  6.1389 +       style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
  6.1390 +    <path
  6.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"
  6.1392 +       d="m 258.24715,800.02605 c 13.34137,0 13.34137,0 13.34137,0"
  6.1393 +       id="path10012"
  6.1394 +       inkscape:connector-curvature="0" />
  6.1395 +    <path
  6.1396 +       inkscape:connector-curvature="0"
  6.1397 +       id="path10014"
  6.1398 +       d="m 271.57781,854.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
  6.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" />
  6.1400 +    <text
  6.1401 +       transform="matrix(0.00962718,0.99995366,-0.99995366,0.00962718,0,0)"
  6.1402 +       xml:space="preserve"
  6.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"
  6.1404 +       x="837.37762"
  6.1405 +       y="-273.75269"
  6.1406 +       id="text10018"
  6.1407 +       sodipodi:linespacing="100%"><tspan
  6.1408 +         id="tspan10020"
  6.1409 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1410 +         sodipodi:role="line"
  6.1411 +         x="837.37762"
  6.1412 +         y="-273.75269">Timeline of Master on core 2</tspan></text>
  6.1413 +    <path
  6.1414 +       inkscape:connector-curvature="0"
  6.1415 +       id="path10030"
  6.1416 +       d="m 258.24715,765.42364 c 13.34137,0 13.34137,0 13.34137,0"
  6.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" />
  6.1418 +    <path
  6.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"
  6.1420 +       d="m 205.27805,543.45805 c 0,3.23577 0,3.23577 0,3.23577"
  6.1421 +       id="path10054"
  6.1422 +       inkscape:connector-curvature="0"
  6.1423 +       sodipodi:nodetypes="cc" />
  6.1424 +    <path
  6.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"
  6.1426 +       d="m 701.67453,854.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
  6.1427 +       id="path10056"
  6.1428 +       inkscape:connector-curvature="0" />
  6.1429 +    <path
  6.1430 +       inkscape:connector-curvature="0"
  6.1431 +       id="path10058"
  6.1432 +       d="m 701.67453,799.52981 c -669.895225,0 -669.895225,0 -669.895225,0"
  6.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" />
  6.1434 +    <text
  6.1435 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  6.1436 +       xml:space="preserve"
  6.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"
  6.1438 +       x="-248.43199"
  6.1439 +       y="551.17401"
  6.1440 +       id="text10062"
  6.1441 +       sodipodi:linespacing="100%"><tspan
  6.1442 +         id="tspan10068"
  6.1443 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1444 +         sodipodi:role="line"
  6.1445 +         x="-248.43199"
  6.1446 +         y="551.17401">return from</tspan><tspan
  6.1447 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1448 +         sodipodi:role="line"
  6.1449 +         x="-248.43199"
  6.1450 +         y="559.17401"
  6.1451 +         id="tspan10074">suspend</tspan></text>
  6.1452 +    <path
  6.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"
  6.1454 +       d="m 701.67453,700.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
  6.1455 +       id="path10076"
  6.1456 +       inkscape:connector-curvature="0" />
  6.1457 +    <text
  6.1458 +       xml:space="preserve"
  6.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"
  6.1460 +       x="667.38037"
  6.1461 +       y="677.42468"
  6.1462 +       id="text10082"
  6.1463 +       sodipodi:linespacing="100%"><tspan
  6.1464 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1465 +         sodipodi:role="line"
  6.1466 +         x="667.38037"
  6.1467 +         y="677.42468"
  6.1468 +         id="tspan10084">PR primitive Fn</tspan><tspan
  6.1469 +         id="tspan10086"
  6.1470 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1471 +         sodipodi:role="line"
  6.1472 +         x="667.38037"
  6.1473 +         y="687.42468">to send request</tspan></text>
  6.1474 +    <text
  6.1475 +       sodipodi:linespacing="100%"
  6.1476 +       id="text10088"
  6.1477 +       y="777.42468"
  6.1478 +       x="667.38037"
  6.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"
  6.1480 +       xml:space="preserve"><tspan
  6.1481 +         id="tspan10090"
  6.1482 +         y="777.42468"
  6.1483 +         x="667.38037"
  6.1484 +         sodipodi:role="line"
  6.1485 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
  6.1486 +         y="787.42468"
  6.1487 +         x="667.38037"
  6.1488 +         sodipodi:role="line"
  6.1489 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1490 +         id="tspan10092">to send request</tspan></text>
  6.1491 +    <text
  6.1492 +       xml:space="preserve"
  6.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"
  6.1494 +       x="667.38037"
  6.1495 +       y="889.42468"
  6.1496 +       id="text10094"
  6.1497 +       sodipodi:linespacing="100%"><tspan
  6.1498 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1499 +         sodipodi:role="line"
  6.1500 +         x="667.38037"
  6.1501 +         y="889.42468"
  6.1502 +         id="tspan10096">PR primitive Fn</tspan><tspan
  6.1503 +         id="tspan10098"
  6.1504 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1505 +         sodipodi:role="line"
  6.1506 +         x="667.38037"
  6.1507 +         y="899.42468">to send request</tspan></text>
  6.1508 +    <path
  6.1509 +       sodipodi:nodetypes="cc"
  6.1510 +       inkscape:connector-curvature="0"
  6.1511 +       id="path10100"
  6.1512 +       d="m 476.02904,854.3113 c 0,57.40944 0,57.40944 0,57.40944"
  6.1513 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
  6.1514 +    <path
  6.1515 +       inkscape:connector-curvature="0"
  6.1516 +       id="path10102"
  6.1517 +       d="m 481.57781,913.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
  6.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" />
  6.1519 +    <text
  6.1520 +       sodipodi:linespacing="100%"
  6.1521 +       id="text10104"
  6.1522 +       y="912.22235"
  6.1523 +       x="487.57166"
  6.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"
  6.1525 +       xml:space="preserve"
  6.1526 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  6.1527 +         id="tspan10106"
  6.1528 +         y="912.22235"
  6.1529 +         x="487.57166"
  6.1530 +         sodipodi:role="line"
  6.1531 +         style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text>
  6.1532 +    <path
  6.1533 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  6.1534 +       d="m 266.02904,911.43112 c 0,10.33165 0,10.33165 0,10.33165"
  6.1535 +       id="path10108"
  6.1536 +       inkscape:connector-curvature="0"
  6.1537 +       sodipodi:nodetypes="cc" />
  6.1538 +    <path
  6.1539 +       inkscape:connector-curvature="0"
  6.1540 +       id="path10110"
  6.1541 +       d="m 258.24715,912.02605 c 13.34137,0 13.34137,0 13.34137,0"
  6.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" />
  6.1543 +    <path
  6.1544 +       inkscape:connector-curvature="0"
  6.1545 +       id="path10116"
  6.1546 +       d="m 701.67453,912.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
  6.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" />
  6.1548 +    <text
  6.1549 +       sodipodi:linespacing="100%"
  6.1550 +       id="text10118"
  6.1551 +       y="702.12524"
  6.1552 +       x="259.88855"
  6.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"
  6.1554 +       xml:space="preserve"
  6.1555 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  6.1556 +         id="tspan10120"
  6.1557 +         y="702.12524"
  6.1558 +         x="259.88855"
  6.1559 +         sodipodi:role="line"
  6.1560 +         style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text>
  6.1561 +    <text
  6.1562 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.1563 +       xml:space="preserve"
  6.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"
  6.1565 +       x="260.32755"
  6.1566 +       y="802.12433"
  6.1567 +       id="text10122"
  6.1568 +       sodipodi:linespacing="100%"><tspan
  6.1569 +         style="font-size:8px;text-align:end;text-anchor:end"
  6.1570 +         sodipodi:role="line"
  6.1571 +         x="260.32755"
  6.1572 +         y="802.12433"
  6.1573 +         id="tspan10124">resume</tspan></text>
  6.1574 +    <text
  6.1575 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.1576 +       xml:space="preserve"
  6.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"
  6.1578 +       x="263.01257"
  6.1579 +       y="854.12366"
  6.1580 +       id="text10126"
  6.1581 +       sodipodi:linespacing="100%"><tspan
  6.1582 +         style="font-size:8px;text-align:end;text-anchor:end"
  6.1583 +         sodipodi:role="line"
  6.1584 +         x="263.01257"
  6.1585 +         y="854.12366"
  6.1586 +         id="tspan10128">suspend</tspan></text>
  6.1587 +    <text
  6.1588 +       sodipodi:linespacing="100%"
  6.1589 +       id="text10130"
  6.1590 +       y="768.09064"
  6.1591 +       x="259.38495"
  6.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"
  6.1593 +       xml:space="preserve"
  6.1594 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  6.1595 +         id="tspan10132"
  6.1596 +         y="768.09064"
  6.1597 +         x="259.38495"
  6.1598 +         sodipodi:role="line"
  6.1599 +         style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text>
  6.1600 +    <text
  6.1601 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.1602 +       xml:space="preserve"
  6.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"
  6.1604 +       x="260.81906"
  6.1605 +       y="914.12299"
  6.1606 +       id="text10134"
  6.1607 +       sodipodi:linespacing="100%"><tspan
  6.1608 +         style="font-size:8px;text-align:end;text-anchor:end"
  6.1609 +         sodipodi:role="line"
  6.1610 +         x="260.81906"
  6.1611 +         y="914.12299"
  6.1612 +         id="tspan10136">resume</tspan></text>
  6.1613 +    <text
  6.1614 +       xml:space="preserve"
  6.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"
  6.1616 +       x="136.99219"
  6.1617 +       y="467.42465"
  6.1618 +       id="text10146"
  6.1619 +       sodipodi:linespacing="100%"><tspan
  6.1620 +         style="text-align:center;text-anchor:middle;fill:#800000"
  6.1621 +         sodipodi:role="line"
  6.1622 +         x="138.49609"
  6.1623 +         y="467.42465"
  6.1624 +         id="tspan10148">Language </tspan><tspan
  6.1625 +         id="tspan10150"
  6.1626 +         style="text-align:center;text-anchor:middle;fill:#800000"
  6.1627 +         sodipodi:role="line"
  6.1628 +         x="136.99219"
  6.1629 +         y="477.42465">Plugin</tspan><tspan
  6.1630 +         id="tspan10152"
  6.1631 +         style="text-align:center;text-anchor:middle;fill:#800000"
  6.1632 +         sodipodi:role="line"
  6.1633 +         x="136.99219"
  6.1634 +         y="487.42465">Code</tspan></text>
  6.1635 +    <text
  6.1636 +       xml:space="preserve"
  6.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"
  6.1638 +       x="203.16797"
  6.1639 +       y="467.42465"
  6.1640 +       id="text10154"
  6.1641 +       sodipodi:linespacing="100%"><tspan
  6.1642 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1643 +         sodipodi:role="line"
  6.1644 +         x="203.16797"
  6.1645 +         y="467.42465"
  6.1646 +         id="tspan10156">Proto-Runtime</tspan><tspan
  6.1647 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1648 +         sodipodi:role="line"
  6.1649 +         x="203.16797"
  6.1650 +         y="477.42465"
  6.1651 +         id="tspan10158">Master</tspan><tspan
  6.1652 +         id="tspan10160"
  6.1653 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.1654 +         sodipodi:role="line"
  6.1655 +         x="203.16797"
  6.1656 +         y="487.42465">Code</tspan></text>
  6.1657 +    <path
  6.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)"
  6.1659 +       d="m 205.05995,586.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
  6.1660 +       id="path10162"
  6.1661 +       inkscape:connector-curvature="0" />
  6.1662 +    <path
  6.1663 +       inkscape:connector-curvature="0"
  6.1664 +       id="path10164"
  6.1665 +       d="m 137.04459,636.02605 c 67.19099,0 67.19099,0 67.19099,0"
  6.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)" />
  6.1667 +    <path
  6.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)"
  6.1669 +       d="m 67.525286,610.02605 c 69.221574,0 69.221574,0 69.221574,0"
  6.1670 +       id="path10166"
  6.1671 +       inkscape:connector-curvature="0" />
  6.1672 +    <path
  6.1673 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1674 +       d="m 67.27805,597.85824 c 0,13.94668 0,13.94668 0,13.94668"
  6.1675 +       id="path10168"
  6.1676 +       inkscape:connector-curvature="0"
  6.1677 +       sodipodi:nodetypes="cc" />
  6.1678 +    <path
  6.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)"
  6.1680 +       d="m 137.04459,612.02605 c 67.19099,0 67.19099,0 67.19099,0"
  6.1681 +       id="path10172"
  6.1682 +       inkscape:connector-curvature="0" />
  6.1683 +    <path
  6.1684 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1685 +       d="m 205.27805,612.63926 c 0,11.23237 0,11.23237 0,11.23237"
  6.1686 +       id="path10174"
  6.1687 +       inkscape:connector-curvature="0"
  6.1688 +       sodipodi:nodetypes="cc" />
  6.1689 +    <path
  6.1690 +       inkscape:connector-curvature="0"
  6.1691 +       id="path10176"
  6.1692 +       d="m 205.05995,624.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
  6.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)" />
  6.1694 +    <text
  6.1695 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  6.1696 +       xml:space="preserve"
  6.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"
  6.1698 +       x="191.85561"
  6.1699 +       y="626.38348"
  6.1700 +       id="text10178"
  6.1701 +       sodipodi:linespacing="100%"><tspan
  6.1702 +         style="font-size:7px;text-align:center;text-anchor:middle"
  6.1703 +         sodipodi:role="line"
  6.1704 +         x="191.85561"
  6.1705 +         y="626.38348"
  6.1706 +         id="tspan10180">call via Ptr to Dyn Lib Fn</tspan></text>
  6.1707 +    <path
  6.1708 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1709 +       d="m 137.27805,623.85824 c 0,11.43122 0,11.43122 0,11.43122"
  6.1710 +       id="path10182"
  6.1711 +       inkscape:connector-curvature="0"
  6.1712 +       sodipodi:nodetypes="cc" />
  6.1713 +    <text
  6.1714 +       sodipodi:linespacing="100%"
  6.1715 +       id="text10184"
  6.1716 +       y="588.38867"
  6.1717 +       x="191.22707"
  6.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"
  6.1719 +       xml:space="preserve"
  6.1720 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
  6.1721 +         id="tspan10186"
  6.1722 +         y="588.38867"
  6.1723 +         x="191.22707"
  6.1724 +         sodipodi:role="line"
  6.1725 +         style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text>
  6.1726 +    <text
  6.1727 +       sodipodi:linespacing="100%"
  6.1728 +       id="text10188"
  6.1729 +       y="791.42468"
  6.1730 +       x="137.31689"
  6.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"
  6.1732 +       xml:space="preserve"><tspan
  6.1733 +         id="tspan10190"
  6.1734 +         y="791.42468"
  6.1735 +         x="137.31689"
  6.1736 +         sodipodi:role="line"
  6.1737 +         style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan
  6.1738 +         id="tspan10192"
  6.1739 +         y="801.42468"
  6.1740 +         x="137.31689"
  6.1741 +         sodipodi:role="line"
  6.1742 +         style="text-align:center;text-anchor:middle;fill:#800000">for acq Mutex</tspan></text>
  6.1743 +    <path
  6.1744 +       sodipodi:nodetypes="cc"
  6.1745 +       inkscape:connector-curvature="0"
  6.1746 +       id="path10230"
  6.1747 +       d="m 205.27805,763.45805 c 0,3.23576 0,3.23576 0,3.23576"
  6.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" />
  6.1749 +    <path
  6.1750 +       inkscape:connector-curvature="0"
  6.1751 +       id="path4879"
  6.1752 +       d="m 465.78297,700.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
  6.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)" />
  6.1754 +    <path
  6.1755 +       inkscape:connector-curvature="0"
  6.1756 +       id="path5395"
  6.1757 +       d="m 466.19516,580.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
  6.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)" />
  6.1759 +    <path
  6.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)"
  6.1761 +       d="m 466.19516,800.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
  6.1762 +       id="path5397"
  6.1763 +       inkscape:connector-curvature="0" />
  6.1764 +    <path
  6.1765 +       inkscape:connector-curvature="0"
  6.1766 +       id="path5399"
  6.1767 +       d="m 466.19516,912.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
  6.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)" />
  6.1769 +    <path
  6.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)"
  6.1771 +       d="m 271.03421,854.02605 c 193.92439,0 193.92439,0 193.92439,0"
  6.1772 +       id="path5402"
  6.1773 +       inkscape:connector-curvature="0" />
  6.1774 +    <text
  6.1775 +       sodipodi:linespacing="100%"
  6.1776 +       id="text5410"
  6.1777 +       y="833.42468"
  6.1778 +       x="137.68066"
  6.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"
  6.1780 +       xml:space="preserve"><tspan
  6.1781 +         id="tspan5412"
  6.1782 +         y="833.42468"
  6.1783 +         x="137.68066"
  6.1784 +         sodipodi:role="line"
  6.1785 +         style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text>
  6.1786 +    <path
  6.1787 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1788 +       d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1789 +       id="path5420"
  6.1790 +       inkscape:connector-curvature="0"
  6.1791 +       sodipodi:nodetypes="cc" />
  6.1792 +    <path
  6.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)"
  6.1794 +       d="m 205.05995,806.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
  6.1795 +       id="path5422"
  6.1796 +       inkscape:connector-curvature="0" />
  6.1797 +    <path
  6.1798 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1799 +       d="m 137.27805,805.85824 c 0,11.43122 0,11.43122 0,11.43122"
  6.1800 +       id="path5424"
  6.1801 +       inkscape:connector-curvature="0"
  6.1802 +       sodipodi:nodetypes="cc" />
  6.1803 +    <path
  6.1804 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1805 +       d="m 205.27805,848.63925 c 0,4.54718 0,4.54718 0,4.54718"
  6.1806 +       id="path5428"
  6.1807 +       inkscape:connector-curvature="0"
  6.1808 +       sodipodi:nodetypes="cc" />
  6.1809 +    <text
  6.1810 +       sodipodi:linespacing="100%"
  6.1811 +       id="text5430"
  6.1812 +       y="761.78809"
  6.1813 +       x="-447.8111"
  6.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"
  6.1815 +       xml:space="preserve"
  6.1816 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  6.1817 +         id="tspan5432"
  6.1818 +         y="761.78809"
  6.1819 +         x="-447.8111"
  6.1820 +         sodipodi:role="line"
  6.1821 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  6.1822 +         y="769.78809"
  6.1823 +         x="-447.8111"
  6.1824 +         sodipodi:role="line"
  6.1825 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1826 +         id="tspan5434">and switch</tspan><tspan
  6.1827 +         y="777.78809"
  6.1828 +         x="-447.8111"
  6.1829 +         sodipodi:role="line"
  6.1830 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1831 +         id="tspan5436">to app VP</tspan></text>
  6.1832 +    <path
  6.1833 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1834 +       d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1835 +       id="path5438"
  6.1836 +       inkscape:connector-curvature="0"
  6.1837 +       sodipodi:nodetypes="cc" />
  6.1838 +    <path
  6.1839 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1840 +       d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1841 +       id="path5440"
  6.1842 +       inkscape:connector-curvature="0"
  6.1843 +       sodipodi:nodetypes="cc" />
  6.1844 +    <text
  6.1845 +       sodipodi:linespacing="100%"
  6.1846 +       id="text5446"
  6.1847 +       y="709.24017"
  6.1848 +       x="-401.45242"
  6.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"
  6.1850 +       xml:space="preserve"
  6.1851 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  6.1852 +         y="709.24017"
  6.1853 +         x="-401.45242"
  6.1854 +         sodipodi:role="line"
  6.1855 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1856 +         id="tspan5448">return from</tspan><tspan
  6.1857 +         id="tspan5450"
  6.1858 +         y="717.24017"
  6.1859 +         x="-401.45242"
  6.1860 +         sodipodi:role="line"
  6.1861 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
  6.1862 +    <path
  6.1863 +       inkscape:connector-curvature="0"
  6.1864 +       id="path5452"
  6.1865 +       d="m 205.05995,806.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
  6.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)" />
  6.1867 +    <path
  6.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)"
  6.1869 +       d="m 137.04459,848.02605 c 67.19099,0 67.19099,0 67.19099,0"
  6.1870 +       id="path5454"
  6.1871 +       inkscape:connector-curvature="0" />
  6.1872 +    <path
  6.1873 +       inkscape:connector-curvature="0"
  6.1874 +       id="path5460"
  6.1875 +       d="m 137.04459,820.02605 c 67.19099,0 67.19099,0 67.19099,0"
  6.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)" />
  6.1877 +    <path
  6.1878 +       sodipodi:nodetypes="cc"
  6.1879 +       inkscape:connector-curvature="0"
  6.1880 +       id="path5462"
  6.1881 +       d="m 205.27805,820.63927 c 0,14.88618 0,14.88618 0,14.88618"
  6.1882 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.1883 +    <path
  6.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)"
  6.1885 +       d="m 205.05995,836.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
  6.1886 +       id="path5464"
  6.1887 +       inkscape:connector-curvature="0" />
  6.1888 +    <text
  6.1889 +       sodipodi:linespacing="100%"
  6.1890 +       id="text5466"
  6.1891 +       y="838.35522"
  6.1892 +       x="195.36256"
  6.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"
  6.1894 +       xml:space="preserve"
  6.1895 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
  6.1896 +         id="tspan5468"
  6.1897 +         y="838.35522"
  6.1898 +         x="195.36256"
  6.1899 +         sodipodi:role="line"
  6.1900 +         style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text>
  6.1901 +    <path
  6.1902 +       sodipodi:nodetypes="cc"
  6.1903 +       inkscape:connector-curvature="0"
  6.1904 +       id="path5470"
  6.1905 +       d="m 137.27805,835.85824 c 0,11.43122 0,11.43122 0,11.43122"
  6.1906 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.1907 +    <text
  6.1908 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  6.1909 +       xml:space="preserve"
  6.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"
  6.1911 +       x="194.86635"
  6.1912 +       y="808.35907"
  6.1913 +       id="text5472"
  6.1914 +       sodipodi:linespacing="100%"><tspan
  6.1915 +         style="font-size:7px;text-align:center;text-anchor:middle"
  6.1916 +         sodipodi:role="line"
  6.1917 +         x="194.86635"
  6.1918 +         y="808.35907"
  6.1919 +         id="tspan5474">call via Ptr to Dyn Lib Fn</tspan></text>
  6.1920 +    <text
  6.1921 +       sodipodi:linespacing="100%"
  6.1922 +       id="text5476"
  6.1923 +       y="713.48187"
  6.1924 +       x="-172.78647"
  6.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"
  6.1926 +       xml:space="preserve"
  6.1927 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  6.1928 +         y="713.48187"
  6.1929 +         x="-172.78647"
  6.1930 +         sodipodi:role="line"
  6.1931 +         style="font-size:18px;text-align:center;text-anchor:middle"
  6.1932 +         id="tspan5482">core 1</tspan></text>
  6.1933 +    <text
  6.1934 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  6.1935 +       xml:space="preserve"
  6.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"
  6.1937 +       x="-321.0329"
  6.1938 +       y="865.03326"
  6.1939 +       id="text5488"
  6.1940 +       sodipodi:linespacing="100%"><tspan
  6.1941 +         id="tspan5490"
  6.1942 +         style="font-size:18px;text-align:center;text-anchor:middle"
  6.1943 +         sodipodi:role="line"
  6.1944 +         x="-321.0329"
  6.1945 +         y="865.03326">core 2</tspan></text>
  6.1946 +    <path
  6.1947 +       sodipodi:nodetypes="cc"
  6.1948 +       inkscape:connector-curvature="0"
  6.1949 +       id="path5492"
  6.1950 +       d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1951 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.1952 +    <path
  6.1953 +       sodipodi:nodetypes="cc"
  6.1954 +       inkscape:connector-curvature="0"
  6.1955 +       id="path5494"
  6.1956 +       d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1957 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.1958 +    <path
  6.1959 +       sodipodi:nodetypes="cc"
  6.1960 +       inkscape:connector-curvature="0"
  6.1961 +       id="path5496"
  6.1962 +       d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1963 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.1964 +    <text
  6.1965 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  6.1966 +       xml:space="preserve"
  6.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"
  6.1968 +       x="-480.74414"
  6.1969 +       y="791.14636"
  6.1970 +       id="text5498"
  6.1971 +       sodipodi:linespacing="100%"><tspan
  6.1972 +         id="tspan5500"
  6.1973 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1974 +         sodipodi:role="line"
  6.1975 +         x="-480.74414"
  6.1976 +         y="791.14636">return from</tspan><tspan
  6.1977 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.1978 +         sodipodi:role="line"
  6.1979 +         x="-480.74414"
  6.1980 +         y="799.14636"
  6.1981 +         id="tspan5502">suspend</tspan></text>
  6.1982 +    <path
  6.1983 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1984 +       d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1985 +       id="path5504"
  6.1986 +       inkscape:connector-curvature="0"
  6.1987 +       sodipodi:nodetypes="cc" />
  6.1988 +    <path
  6.1989 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1990 +       d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1991 +       id="path5506"
  6.1992 +       inkscape:connector-curvature="0"
  6.1993 +       sodipodi:nodetypes="cc" />
  6.1994 +    <path
  6.1995 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.1996 +       d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.1997 +       id="path5508"
  6.1998 +       inkscape:connector-curvature="0"
  6.1999 +       sodipodi:nodetypes="cc" />
  6.2000 +    <text
  6.2001 +       sodipodi:linespacing="100%"
  6.2002 +       id="text5510"
  6.2003 +       y="637.39264"
  6.2004 +       x="-331.89792"
  6.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"
  6.2006 +       xml:space="preserve"
  6.2007 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  6.2008 +         y="637.39264"
  6.2009 +         x="-331.89792"
  6.2010 +         sodipodi:role="line"
  6.2011 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2012 +         id="tspan5512">return from</tspan><tspan
  6.2013 +         id="tspan5514"
  6.2014 +         y="645.39264"
  6.2015 +         x="-331.89792"
  6.2016 +         sodipodi:role="line"
  6.2017 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
  6.2018 +    <path
  6.2019 +       inkscape:connector-curvature="0"
  6.2020 +       id="path5516"
  6.2021 +       d="m 271.03421,766.02605 c 193.92439,0 193.92439,0 193.92439,0"
  6.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)" />
  6.2023 +    <path
  6.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)"
  6.2025 +       d="m 271.03421,546.02605 c 193.92439,0 193.92439,0 193.92439,0"
  6.2026 +       id="path5518"
  6.2027 +       inkscape:connector-curvature="0" />
  6.2028 +    <text
  6.2029 +       xml:space="preserve"
  6.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"
  6.2031 +       x="326.92542"
  6.2032 +       y="155.76575"
  6.2033 +       id="text3329"
  6.2034 +       sodipodi:linespacing="100%"><tspan
  6.2035 +         style="text-align:center;text-anchor:middle"
  6.2036 +         sodipodi:role="line"
  6.2037 +         id="tspan3331"
  6.2038 +         x="326.92542"
  6.2039 +         y="155.76575">PR OS thread</tspan><tspan
  6.2040 +         id="tspan3335"
  6.2041 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2042 +         sodipodi:role="line"
  6.2043 +         x="326.92542"
  6.2044 +         y="164.20053">(core1)</tspan></text>
  6.2045 +    <g
  6.2046 +       transform="translate(44.002789,-346)"
  6.2047 +       id="g3337">
  6.2048 +      <rect
  6.2049 +         y="389.58255"
  6.2050 +         x="346.40247"
  6.2051 +         height="37.165791"
  6.2052 +         width="65.276405"
  6.2053 +         id="rect3339"
  6.2054 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  6.2055 +      <text
  6.2056 +         xml:space="preserve"
  6.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"
  6.2058 +         x="379.00162"
  6.2059 +         y="400.15268"
  6.2060 +         id="text3341"
  6.2061 +         sodipodi:linespacing="100%"><tspan
  6.2062 +           id="tspan3349"
  6.2063 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  6.2064 +           sodipodi:role="line"
  6.2065 +           x="379.00162"
  6.2066 +           y="400.15268"><tspan
  6.2067 +   id="tspan3641"
  6.2068 +   style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000">Main </tspan>OS thread</tspan></text>
  6.2069 +    </g>
  6.2070 +    <text
  6.2071 +       xml:space="preserve"
  6.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"
  6.2073 +       x="517.16797"
  6.2074 +       y="81.424683"
  6.2075 +       id="text3351"
  6.2076 +       sodipodi:linespacing="100%"><tspan
  6.2077 +         style="text-align:center;text-anchor:middle;fill:#008000"
  6.2078 +         sodipodi:role="line"
  6.2079 +         x="517.16797"
  6.2080 +         y="81.424683"
  6.2081 +         id="tspan3353">main</tspan></text>
  6.2082 +    <text
  6.2083 +       sodipodi:linespacing="100%"
  6.2084 +       id="text3355"
  6.2085 +       y="273.42468"
  6.2086 +       x="137.31689"
  6.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"
  6.2088 +       xml:space="preserve"><tspan
  6.2089 +         id="tspan3357"
  6.2090 +         y="273.42468"
  6.2091 +         x="137.31689"
  6.2092 +         sodipodi:role="line"
  6.2093 +         style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan
  6.2094 +         id="tspan3359"
  6.2095 +         y="283.42468"
  6.2096 +         x="137.31689"
  6.2097 +         sodipodi:role="line"
  6.2098 +         style="text-align:center;text-anchor:middle;fill:#800000">for create VP</tspan></text>
  6.2099 +    <text
  6.2100 +       sodipodi:linespacing="100%"
  6.2101 +       id="text3361"
  6.2102 +       y="321.42468"
  6.2103 +       x="137.68066"
  6.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"
  6.2105 +       xml:space="preserve"><tspan
  6.2106 +         id="tspan3363"
  6.2107 +         y="321.42468"
  6.2108 +         x="137.68066"
  6.2109 +         sodipodi:role="line"
  6.2110 +         style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text>
  6.2111 +    <path
  6.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)"
  6.2113 +       d="m 457.32649,78.02605 c 38.42351,0 38.42351,0 38.42351,0"
  6.2114 +       id="path3365"
  6.2115 +       inkscape:connector-curvature="0" />
  6.2116 +    <text
  6.2117 +       sodipodi:linespacing="100%"
  6.2118 +       id="text3367"
  6.2119 +       y="63.424683"
  6.2120 +       x="604.78461"
  6.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"
  6.2122 +       xml:space="preserve"><tspan
  6.2123 +         id="tspan3371"
  6.2124 +         y="63.424683"
  6.2125 +         x="604.78461"
  6.2126 +         sodipodi:role="line"
  6.2127 +         style="text-align:center;text-anchor:middle;fill:#800000">PR_start()</tspan></text>
  6.2128 +    <text
  6.2129 +       sodipodi:linespacing="100%"
  6.2130 +       id="text3373"
  6.2131 +       y="107.0096"
  6.2132 +       x="633.32379"
  6.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"
  6.2134 +       xml:space="preserve"
  6.2135 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
  6.2136 +         id="tspan3375"
  6.2137 +         y="107.0096"
  6.2138 +         x="633.32379"
  6.2139 +         sodipodi:role="line"
  6.2140 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
  6.2141 +    <path
  6.2142 +       inkscape:connector-curvature="0"
  6.2143 +       id="path3377"
  6.2144 +       d="m 291.99816,238.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
  6.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)" />
  6.2146 +    <text
  6.2147 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
  6.2148 +       xml:space="preserve"
  6.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"
  6.2150 +       x="208.23512"
  6.2151 +       y="280.55707"
  6.2152 +       id="text3379"
  6.2153 +       sodipodi:linespacing="100%"><tspan
  6.2154 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2155 +         sodipodi:role="line"
  6.2156 +         x="208.23512"
  6.2157 +         y="280.55707"
  6.2158 +         id="tspan3381">Top Level Fn</tspan></text>
  6.2159 +    <text
  6.2160 +       sodipodi:linespacing="100%"
  6.2161 +       id="text3383"
  6.2162 +       y="166.44456"
  6.2163 +       x="460.02557"
  6.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"
  6.2165 +       xml:space="preserve"
  6.2166 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  6.2167 +         id="tspan3385"
  6.2168 +         y="166.44456"
  6.2169 +         x="460.02557"
  6.2170 +         sodipodi:role="line"
  6.2171 +         style="font-size:8px;text-align:center;text-anchor:middle">birth Fn</tspan></text>
  6.2172 +    <path
  6.2173 +       sodipodi:nodetypes="cc"
  6.2174 +       inkscape:connector-curvature="0"
  6.2175 +       id="path3387"
  6.2176 +       d="m 514.02904,84.01894 c 0,5.6572 0,5.6572 0,5.6572"
  6.2177 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.2178 +    <path
  6.2179 +       inkscape:connector-curvature="0"
  6.2180 +       id="path3389"
  6.2181 +       d="m 514.24714,90.02605 c 85.56237,0 85.56237,0 85.56237,0"
  6.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)" />
  6.2183 +    <path
  6.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)"
  6.2185 +       d="m 602.77166,358.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
  6.2186 +       id="path3391"
  6.2187 +       inkscape:connector-curvature="0" />
  6.2188 +    <path
  6.2189 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2190 +       d="m 514.02904,358.31987 c 0,26.21842 0,26.21842 0,26.21842"
  6.2191 +       id="path3393"
  6.2192 +       inkscape:connector-curvature="0"
  6.2193 +       sodipodi:nodetypes="cc" />
  6.2194 +    <path
  6.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)"
  6.2196 +       d="m 514.2471,384.02605 c 87.58783,0 87.58783,0 87.58783,0"
  6.2197 +       id="path3395"
  6.2198 +       inkscape:connector-curvature="0" />
  6.2199 +    <text
  6.2200 +       xml:space="preserve"
  6.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"
  6.2202 +       x="604.78461"
  6.2203 +       y="370.71179"
  6.2204 +       id="text3397"
  6.2205 +       sodipodi:linespacing="100%"><tspan
  6.2206 +         style="text-align:center;text-anchor:middle;fill:#800000"
  6.2207 +         sodipodi:role="line"
  6.2208 +         x="604.78461"
  6.2209 +         y="370.71179"
  6.2210 +         id="tspan3399">end VP</tspan><tspan
  6.2211 +         id="tspan3401"
  6.2212 +         style="text-align:center;text-anchor:middle;fill:#800000"
  6.2213 +         sodipodi:role="line"
  6.2214 +         x="604.78461"
  6.2215 +         y="380.71179">wrapper Fn</tspan></text>
  6.2216 +    <path
  6.2217 +       inkscape:connector-curvature="0"
  6.2218 +       id="path3403"
  6.2219 +       d="m 602.26584,390.02605 c 63.99676,0 63.99676,0 63.99676,0"
  6.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)" />
  6.2221 +    <path
  6.2222 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2223 +       d="m 602.02904,382.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.2224 +       id="path3405"
  6.2225 +       inkscape:connector-curvature="0"
  6.2226 +       sodipodi:nodetypes="cc" />
  6.2227 +    <path
  6.2228 +       sodipodi:nodetypes="cc"
  6.2229 +       inkscape:connector-curvature="0"
  6.2230 +       id="path3407"
  6.2231 +       d="m 602.02904,90.21843 c 0,19.4577 0,19.4577 0,19.4577"
  6.2232 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.2233 +    <path
  6.2234 +       inkscape:connector-curvature="0"
  6.2235 +       id="path3409"
  6.2236 +       d="m 602.24714,110.02605 c 64.71029,0 64.71029,0 64.71029,0"
  6.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)" />
  6.2238 +    <path
  6.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)"
  6.2240 +       d="m 666.85635,354.02605 c -65.78483,0 -65.78483,0 -65.78483,0"
  6.2241 +       id="path3411"
  6.2242 +       inkscape:connector-curvature="0" />
  6.2243 +    <path
  6.2244 +       sodipodi:nodetypes="cc"
  6.2245 +       inkscape:connector-curvature="0"
  6.2246 +       id="path3413"
  6.2247 +       d="m 668.02904,108.63925 c 0,13.68455 0,13.68455 0,13.68455"
  6.2248 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.2249 +    <path
  6.2250 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2251 +       d="m 602.02904,353.22687 c 0,5.5885 0,5.5885 0,5.5885"
  6.2252 +       id="path3415"
  6.2253 +       inkscape:connector-curvature="0"
  6.2254 +       sodipodi:nodetypes="cc" />
  6.2255 +    <path
  6.2256 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2257 +       d="m 668.02904,340.63925 c 0,13.68455 0,13.68455 0,13.68455"
  6.2258 +       id="path3417"
  6.2259 +       inkscape:connector-curvature="0"
  6.2260 +       sodipodi:nodetypes="cc" />
  6.2261 +    <text
  6.2262 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  6.2263 +       xml:space="preserve"
  6.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"
  6.2265 +       x="395.64081"
  6.2266 +       y="556.71735"
  6.2267 +       id="text3419"
  6.2268 +       sodipodi:linespacing="100%"><tspan
  6.2269 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2270 +         sodipodi:role="line"
  6.2271 +         x="395.64081"
  6.2272 +         y="556.71735"
  6.2273 +         id="tspan3421">suspend</tspan><tspan
  6.2274 +         id="tspan3423"
  6.2275 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2276 +         sodipodi:role="line"
  6.2277 +         x="395.64081"
  6.2278 +         y="564.71735">and switch</tspan><tspan
  6.2279 +         id="tspan3425"
  6.2280 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2281 +         sodipodi:role="line"
  6.2282 +         x="395.64081"
  6.2283 +         y="572.71735">to runtime</tspan></text>
  6.2284 +    <path
  6.2285 +       inkscape:connector-curvature="0"
  6.2286 +       id="path3427"
  6.2287 +       d="m 271.03421,342.02605 c 193.92439,0 193.92439,0 193.92439,0"
  6.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)" />
  6.2289 +    <text
  6.2290 +       sodipodi:linespacing="100%"
  6.2291 +       id="text3429"
  6.2292 +       y="703.28741"
  6.2293 +       x="253.74896"
  6.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"
  6.2295 +       xml:space="preserve"
  6.2296 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  6.2297 +         y="703.28741"
  6.2298 +         x="253.74896"
  6.2299 +         sodipodi:role="line"
  6.2300 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2301 +         id="tspan3431">return</tspan><tspan
  6.2302 +         id="tspan3433"
  6.2303 +         y="711.28741"
  6.2304 +         x="253.74896"
  6.2305 +         sodipodi:role="line"
  6.2306 +         style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan
  6.2307 +         id="tspan3435"
  6.2308 +         y="719.28741"
  6.2309 +         x="253.74896"
  6.2310 +         sodipodi:role="line"
  6.2311 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
  6.2312 +    <text
  6.2313 +       xml:space="preserve"
  6.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"
  6.2315 +       x="601.38037"
  6.2316 +       y="83.424683"
  6.2317 +       id="text3437"
  6.2318 +       sodipodi:linespacing="100%"><tspan
  6.2319 +         id="tspan3441"
  6.2320 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.2321 +         sodipodi:role="line"
  6.2322 +         x="601.38037"
  6.2323 +         y="83.424683">PR__start()</tspan></text>
  6.2324 +    <text
  6.2325 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.2326 +       xml:space="preserve"
  6.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"
  6.2328 +       x="553.98218"
  6.2329 +       y="94.71698"
  6.2330 +       id="text3443"
  6.2331 +       sodipodi:linespacing="100%"><tspan
  6.2332 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2333 +         sodipodi:role="line"
  6.2334 +         x="553.98218"
  6.2335 +         y="94.71698"
  6.2336 +         id="tspan3445">normal call</tspan></text>
  6.2337 +    <path
  6.2338 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2339 +       d="m 668.02904,389.28283 c 0,13.68455 0,13.68455 0,13.68455"
  6.2340 +       id="path3447"
  6.2341 +       inkscape:connector-curvature="0"
  6.2342 +       sodipodi:nodetypes="cc" />
  6.2343 +    <text
  6.2344 +       sodipodi:linespacing="100%"
  6.2345 +       id="text3449"
  6.2346 +       y="757.8457"
  6.2347 +       x="203.71536"
  6.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"
  6.2349 +       xml:space="preserve"
  6.2350 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  6.2351 +         id="tspan3451"
  6.2352 +         y="757.8457"
  6.2353 +         x="203.71536"
  6.2354 +         sodipodi:role="line"
  6.2355 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  6.2356 +         y="765.8457"
  6.2357 +         x="203.71536"
  6.2358 +         sodipodi:role="line"
  6.2359 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2360 +         id="tspan3453">and switch</tspan><tspan
  6.2361 +         y="773.8457"
  6.2362 +         x="203.71536"
  6.2363 +         sodipodi:role="line"
  6.2364 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2365 +         id="tspan3455">to runtime</tspan></text>
  6.2366 +    <text
  6.2367 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.2368 +       xml:space="preserve"
  6.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"
  6.2370 +       x="555.27264"
  6.2371 +       y="388.71307"
  6.2372 +       id="text3457"
  6.2373 +       sodipodi:linespacing="100%"><tspan
  6.2374 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2375 +         sodipodi:role="line"
  6.2376 +         x="555.27264"
  6.2377 +         y="388.71307"
  6.2378 +         id="tspan3459">normal call</tspan></text>
  6.2379 +    <g
  6.2380 +       id="g3461"
  6.2381 +       transform="matrix(1,0,0,0.71130685,-16,-77.47087)">
  6.2382 +      <rect
  6.2383 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  6.2384 +         id="rect3463"
  6.2385 +         width="65.276405"
  6.2386 +         height="52.250008"
  6.2387 +         x="310.40247"
  6.2388 +         y="313.58255" />
  6.2389 +    </g>
  6.2390 +    <path
  6.2391 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2392 +       d="m 514.02904,358.31987 c 0,26.21842 0,26.21842 0,26.21842"
  6.2393 +       id="path3465"
  6.2394 +       inkscape:connector-curvature="0"
  6.2395 +       sodipodi:nodetypes="cc" />
  6.2396 +    <path
  6.2397 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
  6.2398 +       d="m 476.02904,84.79398 c 0,35.61575 0,35.61575 0,35.61575"
  6.2399 +       id="path3467"
  6.2400 +       inkscape:connector-curvature="0"
  6.2401 +       sodipodi:nodetypes="cc" />
  6.2402 +    <path
  6.2403 +       inkscape:connector-curvature="0"
  6.2404 +       id="path3469"
  6.2405 +       d="m 468.24715,120.02605 c 13.34137,0 13.34137,0 13.34137,0"
  6.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" />
  6.2407 +    <path
  6.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"
  6.2409 +       d="m 481.57781,342.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
  6.2410 +       id="path3471"
  6.2411 +       inkscape:connector-curvature="0" />
  6.2412 +    <path
  6.2413 +       sodipodi:nodetypes="cc"
  6.2414 +       inkscape:connector-curvature="0"
  6.2415 +       id="path3473"
  6.2416 +       d="m 476.02904,342.3113 c 0,57.40944 0,57.40944 0,57.40944"
  6.2417 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
  6.2418 +    <path
  6.2419 +       inkscape:connector-curvature="0"
  6.2420 +       id="path3475"
  6.2421 +       d="m 481.57781,401.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
  6.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" />
  6.2423 +    <text
  6.2424 +       sodipodi:linespacing="100%"
  6.2425 +       id="text3477"
  6.2426 +       y="-463.80295"
  6.2427 +       x="315.95734"
  6.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"
  6.2429 +       xml:space="preserve"
  6.2430 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan
  6.2431 +         id="tspan3479"
  6.2432 +         y="-463.80295"
  6.2433 +         x="315.95734"
  6.2434 +         sodipodi:role="line"
  6.2435 +         style="text-align:center;text-anchor:middle;fill:#008000">Timeline of SeedVP</tspan></text>
  6.2436 +    <text
  6.2437 +       sodipodi:linespacing="100%"
  6.2438 +       id="text3481"
  6.2439 +       y="119.02372"
  6.2440 +       x="484.08911"
  6.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"
  6.2442 +       xml:space="preserve"
  6.2443 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  6.2444 +         id="tspan3483"
  6.2445 +         y="119.02372"
  6.2446 +         x="484.08911"
  6.2447 +         sodipodi:role="line"
  6.2448 +         style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text>
  6.2449 +    <text
  6.2450 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.2451 +       xml:space="preserve"
  6.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"
  6.2453 +       x="485.07266"
  6.2454 +       y="343.02161"
  6.2455 +       id="text3485"
  6.2456 +       sodipodi:linespacing="100%"><tspan
  6.2457 +         style="font-size:8px;text-align:start;text-anchor:start"
  6.2458 +         sodipodi:role="line"
  6.2459 +         x="485.07266"
  6.2460 +         y="343.02161"
  6.2461 +         id="tspan3487">resume</tspan></text>
  6.2462 +    <text
  6.2463 +       sodipodi:linespacing="100%"
  6.2464 +       id="text3489"
  6.2465 +       y="400.22711"
  6.2466 +       x="485.32407"
  6.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"
  6.2468 +       xml:space="preserve"
  6.2469 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  6.2470 +         id="tspan3491"
  6.2471 +         y="400.22711"
  6.2472 +         x="485.32407"
  6.2473 +         sodipodi:role="line"
  6.2474 +         style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text>
  6.2475 +    <text
  6.2476 +       sodipodi:linespacing="100%"
  6.2477 +       id="text3493"
  6.2478 +       y="285.42468"
  6.2479 +       x="65.380371"
  6.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"
  6.2481 +       xml:space="preserve"><tspan
  6.2482 +         y="285.42468"
  6.2483 +         x="65.380371"
  6.2484 +         sodipodi:role="line"
  6.2485 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.2486 +         id="tspan3495">PR primitive Fn</tspan><tspan
  6.2487 +         id="tspan3497"
  6.2488 +         y="295.42468"
  6.2489 +         x="65.380371"
  6.2490 +         sodipodi:role="line"
  6.2491 +         style="text-align:center;text-anchor:middle;fill:#000080">to create VP</tspan></text>
  6.2492 +    <text
  6.2493 +       sodipodi:linespacing="100%"
  6.2494 +       id="text3499"
  6.2495 +       y="241.42468"
  6.2496 +       x="202.41257"
  6.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"
  6.2498 +       xml:space="preserve"><tspan
  6.2499 +         id="tspan3501"
  6.2500 +         y="241.42468"
  6.2501 +         x="202.41257"
  6.2502 +         sodipodi:role="line"
  6.2503 +         style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text>
  6.2504 +    <path
  6.2505 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2506 +       d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.2507 +       id="path3503"
  6.2508 +       inkscape:connector-curvature="0"
  6.2509 +       sodipodi:nodetypes="cc" />
  6.2510 +    <path
  6.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)"
  6.2512 +       d="m 205.05995,286.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
  6.2513 +       id="path3505"
  6.2514 +       inkscape:connector-curvature="0" />
  6.2515 +    <path
  6.2516 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2517 +       d="m 137.27805,285.85824 c 0,11.43122 0,11.43122 0,11.43122"
  6.2518 +       id="path3507"
  6.2519 +       inkscape:connector-curvature="0"
  6.2520 +       sodipodi:nodetypes="cc" />
  6.2521 +    <path
  6.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)"
  6.2523 +       d="m 137.57123,298.02605 c -69.22157,0 -69.22157,0 -69.22157,0"
  6.2524 +       id="path3509"
  6.2525 +       inkscape:connector-curvature="0" />
  6.2526 +    <path
  6.2527 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2528 +       d="m 205.27805,336.63925 c 0,4.54718 0,4.54718 0,4.54718"
  6.2529 +       id="path3511"
  6.2530 +       inkscape:connector-curvature="0"
  6.2531 +       sodipodi:nodetypes="cc" />
  6.2532 +    <text
  6.2533 +       sodipodi:linespacing="100%"
  6.2534 +       id="text3513"
  6.2535 +       y="393.92554"
  6.2536 +       x="-91.691048"
  6.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"
  6.2538 +       xml:space="preserve"
  6.2539 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  6.2540 +         id="tspan3515"
  6.2541 +         y="393.92554"
  6.2542 +         x="-91.691048"
  6.2543 +         sodipodi:role="line"
  6.2544 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  6.2545 +         y="401.92554"
  6.2546 +         x="-91.691048"
  6.2547 +         sodipodi:role="line"
  6.2548 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2549 +         id="tspan3517">and switch</tspan><tspan
  6.2550 +         y="409.92554"
  6.2551 +         x="-91.691048"
  6.2552 +         sodipodi:role="line"
  6.2553 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2554 +         id="tspan3519">to app VP</tspan></text>
  6.2555 +    <path
  6.2556 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2557 +       d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.2558 +       id="path3521"
  6.2559 +       inkscape:connector-curvature="0"
  6.2560 +       sodipodi:nodetypes="cc" />
  6.2561 +    <path
  6.2562 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  6.2563 +       d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.2564 +       id="path3523"
  6.2565 +       inkscape:connector-curvature="0"
  6.2566 +       sodipodi:nodetypes="cc" />
  6.2567 +    <path
  6.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"
  6.2569 +       d="m 468.24715,85.42364 c 13.34137,0 13.34137,0 13.34137,0"
  6.2570 +       id="path3525"
  6.2571 +       inkscape:connector-curvature="0" />
  6.2572 +    <text
  6.2573 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.2574 +       xml:space="preserve"
  6.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"
  6.2576 +       x="483.94849"
  6.2577 +       y="87.025322"
  6.2578 +       id="text3527"
  6.2579 +       sodipodi:linespacing="100%"><tspan
  6.2580 +         style="font-size:8px;text-align:start;text-anchor:start"
  6.2581 +         sodipodi:role="line"
  6.2582 +         x="483.94849"
  6.2583 +         y="87.025322"
  6.2584 +         id="tspan3529">start</tspan></text>
  6.2585 +    <path
  6.2586 +       sodipodi:nodetypes="cc"
  6.2587 +       inkscape:connector-curvature="0"
  6.2588 +       id="path3531"
  6.2589 +       d="m 266.02904,279.4311 c 0,61.88904 0,61.88904 0,61.88904"
  6.2590 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
  6.2591 +    <path
  6.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"
  6.2593 +       d="m 258.24715,280.02605 c 13.34137,0 13.34137,0 13.34137,0"
  6.2594 +       id="path3533"
  6.2595 +       inkscape:connector-curvature="0" />
  6.2596 +    <path
  6.2597 +       inkscape:connector-curvature="0"
  6.2598 +       id="path3535"
  6.2599 +       d="m 271.57781,342.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
  6.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" />
  6.2601 +    <text
  6.2602 +       transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"
  6.2603 +       xml:space="preserve"
  6.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"
  6.2605 +       x="325.34094"
  6.2606 +       y="-277.03549"
  6.2607 +       id="text3537"
  6.2608 +       sodipodi:linespacing="100%"><tspan
  6.2609 +         id="tspan3539"
  6.2610 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.2611 +         sodipodi:role="line"
  6.2612 +         x="325.34094"
  6.2613 +         y="-277.03549">Timeline of Master on core 1</tspan></text>
  6.2614 +    <text
  6.2615 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.2616 +       xml:space="preserve"
  6.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"
  6.2618 +       x="260.76508"
  6.2619 +       y="342.12805"
  6.2620 +       id="text3541"
  6.2621 +       sodipodi:linespacing="100%"><tspan
  6.2622 +         style="font-size:8px;text-align:end;text-anchor:end"
  6.2623 +         sodipodi:role="line"
  6.2624 +         x="260.76508"
  6.2625 +         y="342.12805"
  6.2626 +         id="tspan3543">suspend</tspan></text>
  6.2627 +    <text
  6.2628 +       sodipodi:linespacing="100%"
  6.2629 +       id="text3545"
  6.2630 +       y="282.12848"
  6.2631 +       x="258.04468"
  6.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"
  6.2633 +       xml:space="preserve"
  6.2634 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  6.2635 +         id="tspan3547"
  6.2636 +         y="282.12848"
  6.2637 +         x="258.04468"
  6.2638 +         sodipodi:role="line"
  6.2639 +         style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text>
  6.2640 +    <path
  6.2641 +       inkscape:connector-curvature="0"
  6.2642 +       id="path3549"
  6.2643 +       d="m 258.24715,245.42364 c 13.34137,0 13.34137,0 13.34137,0"
  6.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" />
  6.2645 +    <text
  6.2646 +       sodipodi:linespacing="100%"
  6.2647 +       id="text3551"
  6.2648 +       y="248.09499"
  6.2649 +       x="257.10217"
  6.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"
  6.2651 +       xml:space="preserve"
  6.2652 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  6.2653 +         id="tspan3553"
  6.2654 +         y="248.09499"
  6.2655 +         x="257.10217"
  6.2656 +         sodipodi:role="line"
  6.2657 +         style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text>
  6.2658 +    <path
  6.2659 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  6.2660 +       d="m 266.02904,399.43112 c 0,10.33165 0,10.33165 0,10.33165"
  6.2661 +       id="path3555"
  6.2662 +       inkscape:connector-curvature="0"
  6.2663 +       sodipodi:nodetypes="cc" />
  6.2664 +    <path
  6.2665 +       inkscape:connector-curvature="0"
  6.2666 +       id="path3557"
  6.2667 +       d="m 258.24715,400.02605 c 13.34137,0 13.34137,0 13.34137,0"
  6.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" />
  6.2669 +    <text
  6.2670 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  6.2671 +       xml:space="preserve"
  6.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"
  6.2673 +       x="637.95691"
  6.2674 +       y="386.97339"
  6.2675 +       id="text3559"
  6.2676 +       sodipodi:linespacing="100%"><tspan
  6.2677 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2678 +         sodipodi:role="line"
  6.2679 +         x="637.95691"
  6.2680 +         y="386.97339"
  6.2681 +         id="tspan3561">Call to dyn lib</tspan></text>
  6.2682 +    <text
  6.2683 +       sodipodi:linespacing="100%"
  6.2684 +       id="text3563"
  6.2685 +       y="303.68701"
  6.2686 +       x="110.50755"
  6.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"
  6.2688 +       xml:space="preserve"
  6.2689 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
  6.2690 +         id="tspan3565"
  6.2691 +         y="303.68701"
  6.2692 +         x="110.50755"
  6.2693 +         sodipodi:role="line"
  6.2694 +         style="font-size:8px;text-align:center;text-anchor:middle">call to dyn lib</tspan></text>
  6.2695 +    <path
  6.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"
  6.2697 +       d="m 701.67453,342.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
  6.2698 +       id="path3567"
  6.2699 +       inkscape:connector-curvature="0" />
  6.2700 +    <path
  6.2701 +       inkscape:connector-curvature="0"
  6.2702 +       id="path3569"
  6.2703 +       d="m 701.67453,279.52981 c -669.895225,0 -669.895225,0 -669.895225,0"
  6.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" />
  6.2705 +    <path
  6.2706 +       sodipodi:nodetypes="cc"
  6.2707 +       inkscape:connector-curvature="0"
  6.2708 +       id="path3571"
  6.2709 +       d="m 205.27805,243.45805 c 0,3.23577 0,3.23577 0,3.23577"
  6.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" />
  6.2711 +    <text
  6.2712 +       sodipodi:linespacing="100%"
  6.2713 +       id="text3573"
  6.2714 +       y="335.62958"
  6.2715 +       x="-39.767914"
  6.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"
  6.2717 +       xml:space="preserve"
  6.2718 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  6.2719 +         y="335.62958"
  6.2720 +         x="-39.767914"
  6.2721 +         sodipodi:role="line"
  6.2722 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2723 +         id="tspan3575">return from</tspan><tspan
  6.2724 +         id="tspan3577"
  6.2725 +         y="343.62958"
  6.2726 +         x="-39.767914"
  6.2727 +         sodipodi:role="line"
  6.2728 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
  6.2729 +    <path
  6.2730 +       inkscape:connector-curvature="0"
  6.2731 +       id="path3579"
  6.2732 +       d="m 701.67453,400.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
  6.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" />
  6.2734 +    <text
  6.2735 +       sodipodi:linespacing="100%"
  6.2736 +       id="text3581"
  6.2737 +       y="377.42468"
  6.2738 +       x="667.38037"
  6.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"
  6.2740 +       xml:space="preserve"><tspan
  6.2741 +         id="tspan3583"
  6.2742 +         y="377.42468"
  6.2743 +         x="667.38037"
  6.2744 +         sodipodi:role="line"
  6.2745 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
  6.2746 +         y="387.42468"
  6.2747 +         x="667.38037"
  6.2748 +         sodipodi:role="line"
  6.2749 +         style="text-align:center;text-anchor:middle;fill:#000080"
  6.2750 +         id="tspan3585">to send request</tspan></text>
  6.2751 +    <text
  6.2752 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  6.2753 +       xml:space="preserve"
  6.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"
  6.2755 +       x="258.57156"
  6.2756 +       y="402.12799"
  6.2757 +       id="text3587"
  6.2758 +       sodipodi:linespacing="100%"><tspan
  6.2759 +         style="font-size:8px;text-align:end;text-anchor:end"
  6.2760 +         sodipodi:role="line"
  6.2761 +         x="258.57156"
  6.2762 +         y="402.12799"
  6.2763 +         id="tspan3589">resume</tspan></text>
  6.2764 +    <path
  6.2765 +       inkscape:connector-curvature="0"
  6.2766 +       id="path3591"
  6.2767 +       d="m 205.05995,286.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
  6.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)" />
  6.2769 +    <path
  6.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)"
  6.2771 +       d="m 137.04459,336.02605 c 67.19099,0 67.19099,0 67.19099,0"
  6.2772 +       id="path3593"
  6.2773 +       inkscape:connector-curvature="0" />
  6.2774 +    <path
  6.2775 +       inkscape:connector-curvature="0"
  6.2776 +       id="path3595"
  6.2777 +       d="m 67.525286,310.02605 c 69.221574,0 69.221574,0 69.221574,0"
  6.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)" />
  6.2779 +    <path
  6.2780 +       sodipodi:nodetypes="cc"
  6.2781 +       inkscape:connector-curvature="0"
  6.2782 +       id="path3597"
  6.2783 +       d="m 67.27805,297.85824 c 0,13.94668 0,13.94668 0,13.94668"
  6.2784 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.2785 +    <path
  6.2786 +       inkscape:connector-curvature="0"
  6.2787 +       id="path3599"
  6.2788 +       d="m 137.04459,312.02605 c 67.19099,0 67.19099,0 67.19099,0"
  6.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)" />
  6.2790 +    <path
  6.2791 +       sodipodi:nodetypes="cc"
  6.2792 +       inkscape:connector-curvature="0"
  6.2793 +       id="path3601"
  6.2794 +       d="m 205.27805,312.63926 c 0,11.23237 0,11.23237 0,11.23237"
  6.2795 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.2796 +    <path
  6.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)"
  6.2798 +       d="m 205.05995,324.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
  6.2799 +       id="path3603"
  6.2800 +       inkscape:connector-curvature="0" />
  6.2801 +    <text
  6.2802 +       sodipodi:linespacing="100%"
  6.2803 +       id="text3605"
  6.2804 +       y="326.42468"
  6.2805 +       x="186.89299"
  6.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"
  6.2807 +       xml:space="preserve"
  6.2808 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
  6.2809 +         id="tspan3607"
  6.2810 +         y="326.42468"
  6.2811 +         x="186.89299"
  6.2812 +         sodipodi:role="line"
  6.2813 +         style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text>
  6.2814 +    <path
  6.2815 +       sodipodi:nodetypes="cc"
  6.2816 +       inkscape:connector-curvature="0"
  6.2817 +       id="path3609"
  6.2818 +       d="m 137.27805,323.85824 c 0,11.43122 0,11.43122 0,11.43122"
  6.2819 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.2820 +    <text
  6.2821 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  6.2822 +       xml:space="preserve"
  6.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"
  6.2824 +       x="186.26445"
  6.2825 +       y="288.42987"
  6.2826 +       id="text3611"
  6.2827 +       sodipodi:linespacing="100%"><tspan
  6.2828 +         style="font-size:7px;text-align:center;text-anchor:middle"
  6.2829 +         sodipodi:role="line"
  6.2830 +         x="186.26445"
  6.2831 +         y="288.42987"
  6.2832 +         id="tspan3613">call via Ptr to Dyn Lib Fn</tspan></text>
  6.2833 +    <path
  6.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)"
  6.2835 +       d="m 465.78297,400.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
  6.2836 +       id="path3615"
  6.2837 +       inkscape:connector-curvature="0" />
  6.2838 +    <path
  6.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)"
  6.2840 +       d="m 466.19516,280.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
  6.2841 +       id="path3617"
  6.2842 +       inkscape:connector-curvature="0" />
  6.2843 +    <text
  6.2844 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  6.2845 +       xml:space="preserve"
  6.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"
  6.2847 +       x="35.877613"
  6.2848 +       y="497.93744"
  6.2849 +       id="text3619"
  6.2850 +       sodipodi:linespacing="100%"><tspan
  6.2851 +         id="tspan3621"
  6.2852 +         style="font-size:18px;text-align:center;text-anchor:middle"
  6.2853 +         sodipodi:role="line"
  6.2854 +         x="35.877613"
  6.2855 +         y="497.93744">core 1</tspan></text>
  6.2856 +    <path
  6.2857 +       sodipodi:nodetypes="cc"
  6.2858 +       inkscape:connector-curvature="0"
  6.2859 +       id="path3623"
  6.2860 +       d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.2861 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.2862 +    <path
  6.2863 +       sodipodi:nodetypes="cc"
  6.2864 +       inkscape:connector-curvature="0"
  6.2865 +       id="path3625"
  6.2866 +       d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.2867 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.2868 +    <path
  6.2869 +       sodipodi:nodetypes="cc"
  6.2870 +       inkscape:connector-curvature="0"
  6.2871 +       id="path3627"
  6.2872 +       d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629"
  6.2873 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  6.2874 +    <text
  6.2875 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  6.2876 +       xml:space="preserve"
  6.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"
  6.2878 +       x="-123.23382"
  6.2879 +       y="421.84821"
  6.2880 +       id="text3629"
  6.2881 +       sodipodi:linespacing="100%"><tspan
  6.2882 +         id="tspan3631"
  6.2883 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2884 +         sodipodi:role="line"
  6.2885 +         x="-123.23382"
  6.2886 +         y="421.84821">return from</tspan><tspan
  6.2887 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2888 +         sodipodi:role="line"
  6.2889 +         x="-123.23382"
  6.2890 +         y="429.84821"
  6.2891 +         id="tspan3633">suspend</tspan></text>
  6.2892 +    <path
  6.2893 +       inkscape:connector-curvature="0"
  6.2894 +       id="path3635"
  6.2895 +       d="m 271.03421,246.02605 c 193.92439,0 193.92439,0 193.92439,0"
  6.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)" />
  6.2897 +    <text
  6.2898 +       sodipodi:linespacing="100%"
  6.2899 +       id="text4289"
  6.2900 +       y="155.76575"
  6.2901 +       x="426.92542"
  6.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"
  6.2903 +       xml:space="preserve"><tspan
  6.2904 +         y="155.76575"
  6.2905 +         x="426.92542"
  6.2906 +         id="tspan4291"
  6.2907 +         sodipodi:role="line"
  6.2908 +         style="text-align:center;text-anchor:middle">PR OS thread</tspan><tspan
  6.2909 +         y="164.20053"
  6.2910 +         x="426.92542"
  6.2911 +         sodipodi:role="line"
  6.2912 +         style="font-size:8px;text-align:center;text-anchor:middle"
  6.2913 +         id="tspan4295">(core 2)</tspan></text>
  6.2914 +    <g
  6.2915 +       transform="matrix(1,0,0,0.71130685,84,-77.47087)"
  6.2916 +       id="g4297">
  6.2917 +      <rect
  6.2918 +         y="313.58255"
  6.2919 +         x="310.40247"
  6.2920 +         height="52.250008"
  6.2921 +         width="65.276405"
  6.2922 +         id="rect4299"
  6.2923 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  6.2924 +    </g>
  6.2925 +  </g>
  6.2926 +</svg>
     7.1 Binary file 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual.pdf has changed
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual.svg	Sat Aug 03 19:24:22 2013 -0700
     8.3 @@ -0,0 +1,446 @@
     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="Arrow2Mend"
    8.27 +       orient="auto"
    8.28 +       refY="0.0"
    8.29 +       refX="0.0"
    8.30 +       id="Arrow2Mend"
    8.31 +       style="overflow:visible;">
    8.32 +      <path
    8.33 +         id="path4008"
    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.6) rotate(180) translate(0,0)" />
    8.37 +    </marker>
    8.38 +    <inkscape:perspective
    8.39 +       sodipodi:type="inkscape:persp3d"
    8.40 +       inkscape:vp_x="0 : 526.18109 : 1"
    8.41 +       inkscape:vp_y="0 : 1000 : 0"
    8.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
    8.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
    8.44 +       id="perspective10" />
    8.45 +    <inkscape:perspective
    8.46 +       id="perspective11923"
    8.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
    8.48 +       inkscape:vp_z="1 : 0.5 : 1"
    8.49 +       inkscape:vp_y="0 : 1000 : 0"
    8.50 +       inkscape:vp_x="0 : 0.5 : 1"
    8.51 +       sodipodi:type="inkscape:persp3d" />
    8.52 +  </defs>
    8.53 +  <sodipodi:namedview
    8.54 +     id="base"
    8.55 +     pagecolor="#ffffff"
    8.56 +     bordercolor="#666666"
    8.57 +     borderopacity="1.0"
    8.58 +     gridtolerance="10000"
    8.59 +     guidetolerance="10"
    8.60 +     objecttolerance="10"
    8.61 +     inkscape:pageopacity="0.0"
    8.62 +     inkscape:pageshadow="2"
    8.63 +     inkscape:zoom="1.3364318"
    8.64 +     inkscape:cx="331.64634"
    8.65 +     inkscape:cy="648.10677"
    8.66 +     inkscape:document-units="px"
    8.67 +     inkscape:current-layer="layer1"
    8.68 +     showgrid="false"
    8.69 +     inkscape:window-width="1317"
    8.70 +     inkscape:window-height="878"
    8.71 +     inkscape:window-x="7"
    8.72 +     inkscape:window-y="1"
    8.73 +     inkscape:window-maximized="0" />
    8.74 +  <metadata
    8.75 +     id="metadata7">
    8.76 +    <rdf:RDF>
    8.77 +      <cc:Work
    8.78 +         rdf:about="">
    8.79 +        <dc:format>image/svg+xml</dc:format>
    8.80 +        <dc:type
    8.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
    8.82 +        <dc:title />
    8.83 +      </cc:Work>
    8.84 +    </rdf:RDF>
    8.85 +  </metadata>
    8.86 +  <g
    8.87 +     inkscape:label="Layer 1"
    8.88 +     inkscape:groupmode="layer"
    8.89 +     id="layer1">
    8.90 +    <path
    8.91 +       id="path7353"
    8.92 +       d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0"
    8.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"
    8.94 +       inkscape:connector-curvature="0" />
    8.95 +    <g
    8.96 +       transform="translate(-32,-120)"
    8.97 +       id="g7355"
    8.98 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
    8.99 +      <path
   8.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"
   8.101 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
   8.102 +         id="path7357"
   8.103 +         inkscape:connector-curvature="0" />
   8.104 +      <text
   8.105 +         sodipodi:linespacing="100%"
   8.106 +         id="text7359"
   8.107 +         y="376.52615"
   8.108 +         x="298.7023"
   8.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"
   8.110 +         xml:space="preserve"><tspan
   8.111 +           y="376.52615"
   8.112 +           x="298.7023"
   8.113 +           id="tspan7361"
   8.114 +           sodipodi:role="line"
   8.115 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
   8.116 +           y="385.74353"
   8.117 +           x="298.7023"
   8.118 +           sodipodi:role="line"
   8.119 +           id="tspan7363"
   8.120 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text>
   8.121 +    </g>
   8.122 +    <g
   8.123 +       transform="translate(-60,-120)"
   8.124 +       id="g7365"
   8.125 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
   8.126 +      <path
   8.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"
   8.128 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
   8.129 +         id="path7367"
   8.130 +         inkscape:connector-curvature="0" />
   8.131 +      <text
   8.132 +         sodipodi:linespacing="100%"
   8.133 +         id="text7369"
   8.134 +         y="376.52615"
   8.135 +         x="378.7023"
   8.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"
   8.137 +         xml:space="preserve"><tspan
   8.138 +           y="376.52615"
   8.139 +           x="380.20621"
   8.140 +           id="tspan7371"
   8.141 +           sodipodi:role="line"
   8.142 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
   8.143 +             style="font-size:10px"
   8.144 +             id="tspan8087">Resume </tspan></tspan><tspan
   8.145 +           y="385.74353"
   8.146 +           x="378.7023"
   8.147 +           sodipodi:role="line"
   8.148 +           id="tspan7373"
   8.149 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text>
   8.150 +    </g>
   8.151 +    <text
   8.152 +       sodipodi:linespacing="100%"
   8.153 +       id="text7375"
   8.154 +       y="285.27441"
   8.155 +       x="352.7023"
   8.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"
   8.157 +       xml:space="preserve"><tspan
   8.158 +         y="285.27441"
   8.159 +         x="352.7023"
   8.160 +         sodipodi:role="line"
   8.161 +         id="tspan7379">Timeline B</tspan></text>
   8.162 +    <path
   8.163 +       inkscape:connector-curvature="0"
   8.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"
   8.165 +       d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0"
   8.166 +       id="path7387" />
   8.167 +    <path
   8.168 +       id="path8089"
   8.169 +       d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0"
   8.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)"
   8.171 +       inkscape:connector-curvature="0" />
   8.172 +    <text
   8.173 +       xml:space="preserve"
   8.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"
   8.175 +       x="352.7023"
   8.176 +       y="320.02267"
   8.177 +       id="text8091"
   8.178 +       sodipodi:linespacing="100%"><tspan
   8.179 +         id="tspan8093"
   8.180 +         sodipodi:role="line"
   8.181 +         x="352.7023"
   8.182 +         y="320.02267">Physical time</tspan></text>
   8.183 +    <path
   8.184 +       inkscape:connector-curvature="0"
   8.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"
   8.186 +       d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0"
   8.187 +       id="path8095" />
   8.188 +    <g
   8.189 +       id="g8097"
   8.190 +       transform="translate(-70,-180)"
   8.191 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
   8.192 +      <path
   8.193 +         inkscape:connector-curvature="0"
   8.194 +         id="path8099"
   8.195 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
   8.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" />
   8.197 +      <text
   8.198 +         xml:space="preserve"
   8.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"
   8.200 +         x="298.7023"
   8.201 +         y="376.52615"
   8.202 +         id="text8101"
   8.203 +         sodipodi:linespacing="100%"><tspan
   8.204 +           style="font-size:10px;text-align:center;text-anchor:middle"
   8.205 +           sodipodi:role="line"
   8.206 +           id="tspan8103"
   8.207 +           x="298.7023"
   8.208 +           y="376.52615">Suspend</tspan><tspan
   8.209 +           style="font-size:9px;text-align:center;text-anchor:middle"
   8.210 +           id="tspan8105"
   8.211 +           sodipodi:role="line"
   8.212 +           x="298.7023"
   8.213 +           y="385.74353">(Point 1.S)</tspan></text>
   8.214 +    </g>
   8.215 +    <g
   8.216 +       id="g8107"
   8.217 +       transform="translate(-60,-180)"
   8.218 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
   8.219 +      <path
   8.220 +         inkscape:connector-curvature="0"
   8.221 +         id="path8109"
   8.222 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
   8.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" />
   8.224 +      <text
   8.225 +         xml:space="preserve"
   8.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"
   8.227 +         x="378.7023"
   8.228 +         y="376.52615"
   8.229 +         id="text8111"
   8.230 +         sodipodi:linespacing="100%"><tspan
   8.231 +           style="font-size:9px;text-align:center;text-anchor:middle"
   8.232 +           sodipodi:role="line"
   8.233 +           id="tspan8113"
   8.234 +           x="380.20621"
   8.235 +           y="376.52615"><tspan
   8.236 +             id="tspan8115"
   8.237 +             style="font-size:10px">Resume </tspan></tspan><tspan
   8.238 +           style="font-size:9px;text-align:center;text-anchor:middle"
   8.239 +           id="tspan8117"
   8.240 +           sodipodi:role="line"
   8.241 +           x="378.7023"
   8.242 +           y="385.74353">(Point 1.R)</tspan></text>
   8.243 +    </g>
   8.244 +    <text
   8.245 +       xml:space="preserve"
   8.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"
   8.247 +       x="352.7023"
   8.248 +       y="225.27441"
   8.249 +       id="text8119"
   8.250 +       sodipodi:linespacing="100%"><tspan
   8.251 +         id="tspan8121"
   8.252 +         sodipodi:role="line"
   8.253 +         x="352.7023"
   8.254 +         y="225.27441">Timeline A</tspan></text>
   8.255 +    <path
   8.256 +       id="path8123"
   8.257 +       d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0"
   8.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"
   8.259 +       inkscape:connector-curvature="0" />
   8.260 +    <path
   8.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)"
   8.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"
   8.263 +       id="path8125"
   8.264 +       inkscape:connector-curvature="0"
   8.265 +       sodipodi:nodetypes="csc" />
   8.266 +    <path
   8.267 +       sodipodi:nodetypes="csc"
   8.268 +       inkscape:connector-curvature="0"
   8.269 +       id="path5550"
   8.270 +       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"
   8.271 +       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)" />
   8.272 +    <path
   8.273 +       inkscape:connector-curvature="0"
   8.274 +       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.275 +       d="m 196.98465,461.37498 c 69.82336,0 69.82336,0 69.82336,0"
   8.276 +       id="path5552" />
   8.277 +    <g
   8.278 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
   8.279 +       id="g5554"
   8.280 +       transform="translate(-32,60)">
   8.281 +      <path
   8.282 +         inkscape:connector-curvature="0"
   8.283 +         id="path5556"
   8.284 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
   8.285 +         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.286 +      <text
   8.287 +         xml:space="preserve"
   8.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   8.289 +         x="298.7023"
   8.290 +         y="376.52615"
   8.291 +         id="text5558"
   8.292 +         sodipodi:linespacing="100%"><tspan
   8.293 +           style="font-size:10px;text-align:center;text-anchor:middle"
   8.294 +           sodipodi:role="line"
   8.295 +           id="tspan5560"
   8.296 +           x="298.7023"
   8.297 +           y="376.52615">Suspend</tspan><tspan
   8.298 +           style="font-size:9px;text-align:center;text-anchor:middle"
   8.299 +           id="tspan5562"
   8.300 +           sodipodi:role="line"
   8.301 +           x="298.7023"
   8.302 +           y="385.74353">(Point 2.S)</tspan></text>
   8.303 +    </g>
   8.304 +    <g
   8.305 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
   8.306 +       id="g5564"
   8.307 +       transform="translate(-60,60)">
   8.308 +      <path
   8.309 +         inkscape:connector-curvature="0"
   8.310 +         id="path5566"
   8.311 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
   8.312 +         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.313 +      <text
   8.314 +         xml:space="preserve"
   8.315 +         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.316 +         x="378.7023"
   8.317 +         y="376.52615"
   8.318 +         id="text5568"
   8.319 +         sodipodi:linespacing="100%"><tspan
   8.320 +           style="font-size:9px;text-align:center;text-anchor:middle"
   8.321 +           sodipodi:role="line"
   8.322 +           id="tspan5570"
   8.323 +           x="380.20621"
   8.324 +           y="376.52615"><tspan
   8.325 +             id="tspan5572"
   8.326 +             style="font-size:10px">Resume </tspan></tspan><tspan
   8.327 +           style="font-size:9px;text-align:center;text-anchor:middle"
   8.328 +           id="tspan5574"
   8.329 +           sodipodi:role="line"
   8.330 +           x="378.7023"
   8.331 +           y="385.74353">(Point 2.R)</tspan></text>
   8.332 +    </g>
   8.333 +    <text
   8.334 +       xml:space="preserve"
   8.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:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
   8.336 +       x="352.7023"
   8.337 +       y="465.27441"
   8.338 +       id="text5576"
   8.339 +       sodipodi:linespacing="100%"><tspan
   8.340 +         id="tspan5578"
   8.341 +         sodipodi:role="line"
   8.342 +         x="352.7023"
   8.343 +         y="465.27441">Timeline B</tspan></text>
   8.344 +    <path
   8.345 +       id="path5580"
   8.346 +       d="m 320.08408,461.37498 c 27.45405,0 27.45405,0 27.45405,0"
   8.347 +       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.348 +       inkscape:connector-curvature="0" />
   8.349 +    <path
   8.350 +       inkscape:connector-curvature="0"
   8.351 +       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.352 +       d="m 195.41471,497.37498 c 151.68424,0 151.68424,0 151.68424,0"
   8.353 +       id="path5582" />
   8.354 +    <text
   8.355 +       sodipodi:linespacing="100%"
   8.356 +       id="text5584"
   8.357 +       y="500.02267"
   8.358 +       x="352.7023"
   8.359 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.360 +       xml:space="preserve"><tspan
   8.361 +         y="500.02267"
   8.362 +         x="352.7023"
   8.363 +         sodipodi:role="line"
   8.364 +         id="tspan5586">Physical time</tspan></text>
   8.365 +    <path
   8.366 +       id="path5588"
   8.367 +       d="m 195.92204,401.37498 c 33.06652,0 33.06652,0 33.06652,0"
   8.368 +       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.369 +       inkscape:connector-curvature="0" />
   8.370 +    <g
   8.371 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
   8.372 +       transform="translate(-70,0)"
   8.373 +       id="g5590">
   8.374 +      <path
   8.375 +         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.376 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
   8.377 +         id="path5592"
   8.378 +         inkscape:connector-curvature="0" />
   8.379 +      <text
   8.380 +         sodipodi:linespacing="100%"
   8.381 +         id="text5594"
   8.382 +         y="376.52615"
   8.383 +         x="298.7023"
   8.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"
   8.385 +         xml:space="preserve"><tspan
   8.386 +           y="376.52615"
   8.387 +           x="298.7023"
   8.388 +           id="tspan5596"
   8.389 +           sodipodi:role="line"
   8.390 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
   8.391 +           y="385.74353"
   8.392 +           x="298.7023"
   8.393 +           sodipodi:role="line"
   8.394 +           id="tspan5598"
   8.395 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text>
   8.396 +    </g>
   8.397 +    <g
   8.398 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
   8.399 +       transform="translate(-60,0)"
   8.400 +       id="g5600">
   8.401 +      <path
   8.402 +         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.403 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
   8.404 +         id="path5602"
   8.405 +         inkscape:connector-curvature="0" />
   8.406 +      <text
   8.407 +         sodipodi:linespacing="100%"
   8.408 +         id="text5604"
   8.409 +         y="376.52615"
   8.410 +         x="378.7023"
   8.411 +         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.412 +         xml:space="preserve"><tspan
   8.413 +           y="376.52615"
   8.414 +           x="380.20621"
   8.415 +           id="tspan5606"
   8.416 +           sodipodi:role="line"
   8.417 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
   8.418 +             style="font-size:10px"
   8.419 +             id="tspan5608">Resume </tspan></tspan><tspan
   8.420 +           y="385.74353"
   8.421 +           x="378.7023"
   8.422 +           sodipodi:role="line"
   8.423 +           id="tspan5610"
   8.424 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text>
   8.425 +    </g>
   8.426 +    <text
   8.427 +       sodipodi:linespacing="100%"
   8.428 +       id="text5612"
   8.429 +       y="405.27441"
   8.430 +       x="352.7023"
   8.431 +       style="font-size:10px;font-style: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.432 +       xml:space="preserve"><tspan
   8.433 +         y="405.27441"
   8.434 +         x="352.7023"
   8.435 +         sodipodi:role="line"
   8.436 +         id="tspan5614">Timeline A</tspan></text>
   8.437 +    <path
   8.438 +       inkscape:connector-curvature="0"
   8.439 +       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.440 +       d="m 320.08408,401.37498 c 27.45405,0 27.45405,0 27.45405,0"
   8.441 +       id="path5616" />
   8.442 +    <path
   8.443 +       sodipodi:nodetypes="csc"
   8.444 +       inkscape:connector-curvature="0"
   8.445 +       id="path5618"
   8.446 +       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"
   8.447 +       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.448 +  </g>
   8.449 +</svg>
     9.1 Binary file 0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual_2nd.pdf has changed
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/0__Papers/PRT/PRT__formal_def/figures/PR__timeline_dual_2nd.svg	Sat Aug 03 19:24:22 2013 -0700
    10.3 @@ -0,0 +1,545 @@
    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_2nd.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="Arrow2Mend"
   10.27 +       orient="auto"
   10.28 +       refY="0.0"
   10.29 +       refX="0.0"
   10.30 +       id="Arrow2Mend"
   10.31 +       style="overflow:visible;">
   10.32 +      <path
   10.33 +         id="path4008"
   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.6) rotate(180) translate(0,0)" />
   10.37 +    </marker>
   10.38 +    <inkscape:perspective
   10.39 +       sodipodi:type="inkscape:persp3d"
   10.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   10.41 +       inkscape:vp_y="0 : 1000 : 0"
   10.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   10.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   10.44 +       id="perspective10" />
   10.45 +    <inkscape:perspective
   10.46 +       id="perspective11923"
   10.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   10.48 +       inkscape:vp_z="1 : 0.5 : 1"
   10.49 +       inkscape:vp_y="0 : 1000 : 0"
   10.50 +       inkscape:vp_x="0 : 0.5 : 1"
   10.51 +       sodipodi:type="inkscape:persp3d" />
   10.52 +  </defs>
   10.53 +  <sodipodi:namedview
   10.54 +     id="base"
   10.55 +     pagecolor="#ffffff"
   10.56 +     bordercolor="#666666"
   10.57 +     borderopacity="1.0"
   10.58 +     gridtolerance="10000"
   10.59 +     guidetolerance="10"
   10.60 +     objecttolerance="10"
   10.61 +     inkscape:pageopacity="0.0"
   10.62 +     inkscape:pageshadow="2"
   10.63 +     inkscape:zoom="1.3364318"
   10.64 +     inkscape:cx="214.9176"
   10.65 +     inkscape:cy="608.45761"
   10.66 +     inkscape:document-units="px"
   10.67 +     inkscape:current-layer="layer1"
   10.68 +     showgrid="false"
   10.69 +     inkscape:window-width="1317"
   10.70 +     inkscape:window-height="878"
   10.71 +     inkscape:window-x="7"
   10.72 +     inkscape:window-y="1"
   10.73 +     inkscape:window-maximized="0" />
   10.74 +  <metadata
   10.75 +     id="metadata7">
   10.76 +    <rdf:RDF>
   10.77 +      <cc:Work
   10.78 +         rdf:about="">
   10.79 +        <dc:format>image/svg+xml</dc:format>
   10.80 +        <dc:type
   10.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   10.82 +        <dc:title></dc:title>
   10.83 +      </cc:Work>
   10.84 +    </rdf:RDF>
   10.85 +  </metadata>
   10.86 +  <g
   10.87 +     inkscape:label="Layer 1"
   10.88 +     inkscape:groupmode="layer"
   10.89 +     id="layer1">
   10.90 +    <path
   10.91 +       id="path7353"
   10.92 +       d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0"
   10.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"
   10.94 +       inkscape:connector-curvature="0" />
   10.95 +    <g
   10.96 +       transform="translate(-32,-120)"
   10.97 +       id="g7355"
   10.98 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
   10.99 +      <path
  10.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"
  10.101 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  10.102 +         id="path7357"
  10.103 +         inkscape:connector-curvature="0" />
  10.104 +      <text
  10.105 +         sodipodi:linespacing="100%"
  10.106 +         id="text7359"
  10.107 +         y="376.52615"
  10.108 +         x="298.7023"
  10.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"
  10.110 +         xml:space="preserve"><tspan
  10.111 +           y="376.52615"
  10.112 +           x="298.7023"
  10.113 +           id="tspan7361"
  10.114 +           sodipodi:role="line"
  10.115 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  10.116 +           y="385.74353"
  10.117 +           x="298.7023"
  10.118 +           sodipodi:role="line"
  10.119 +           id="tspan7363"
  10.120 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text>
  10.121 +    </g>
  10.122 +    <g
  10.123 +       transform="translate(-60,-120)"
  10.124 +       id="g7365"
  10.125 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
  10.126 +      <path
  10.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"
  10.128 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  10.129 +         id="path7367"
  10.130 +         inkscape:connector-curvature="0" />
  10.131 +      <text
  10.132 +         sodipodi:linespacing="100%"
  10.133 +         id="text7369"
  10.134 +         y="376.52615"
  10.135 +         x="378.7023"
  10.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"
  10.137 +         xml:space="preserve"><tspan
  10.138 +           y="376.52615"
  10.139 +           x="380.20621"
  10.140 +           id="tspan7371"
  10.141 +           sodipodi:role="line"
  10.142 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  10.143 +             style="font-size:10px"
  10.144 +             id="tspan8087">Resume </tspan></tspan><tspan
  10.145 +           y="385.74353"
  10.146 +           x="378.7023"
  10.147 +           sodipodi:role="line"
  10.148 +           id="tspan7373"
  10.149 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text>
  10.150 +    </g>
  10.151 +    <text
  10.152 +       sodipodi:linespacing="100%"
  10.153 +       id="text7375"
  10.154 +       y="285.27441"
  10.155 +       x="352.7023"
  10.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"
  10.157 +       xml:space="preserve"><tspan
  10.158 +         y="285.27441"
  10.159 +         x="352.7023"
  10.160 +         sodipodi:role="line"
  10.161 +         id="tspan7379">Timeline B</tspan></text>
  10.162 +    <path
  10.163 +       inkscape:connector-curvature="0"
  10.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"
  10.165 +       d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0"
  10.166 +       id="path7387" />
  10.167 +    <path
  10.168 +       id="path8089"
  10.169 +       d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0"
  10.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)"
  10.171 +       inkscape:connector-curvature="0" />
  10.172 +    <text
  10.173 +       xml:space="preserve"
  10.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"
  10.175 +       x="352.7023"
  10.176 +       y="320.02267"
  10.177 +       id="text8091"
  10.178 +       sodipodi:linespacing="100%"><tspan
  10.179 +         id="tspan8093"
  10.180 +         sodipodi:role="line"
  10.181 +         x="352.7023"
  10.182 +         y="320.02267">Physical time</tspan></text>
  10.183 +    <path
  10.184 +       inkscape:connector-curvature="0"
  10.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"
  10.186 +       d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0"
  10.187 +       id="path8095" />
  10.188 +    <g
  10.189 +       id="g8097"
  10.190 +       transform="translate(-70,-180)"
  10.191 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  10.192 +      <path
  10.193 +         inkscape:connector-curvature="0"
  10.194 +         id="path8099"
  10.195 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  10.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" />
  10.197 +      <text
  10.198 +         xml:space="preserve"
  10.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"
  10.200 +         x="298.7023"
  10.201 +         y="376.52615"
  10.202 +         id="text8101"
  10.203 +         sodipodi:linespacing="100%"><tspan
  10.204 +           style="font-size:10px;text-align:center;text-anchor:middle"
  10.205 +           sodipodi:role="line"
  10.206 +           id="tspan8103"
  10.207 +           x="298.7023"
  10.208 +           y="376.52615">Suspend</tspan><tspan
  10.209 +           style="font-size:9px;text-align:center;text-anchor:middle"
  10.210 +           id="tspan8105"
  10.211 +           sodipodi:role="line"
  10.212 +           x="298.7023"
  10.213 +           y="385.74353">(Point 1.S)</tspan></text>
  10.214 +    </g>
  10.215 +    <g
  10.216 +       id="g8107"
  10.217 +       transform="translate(-60,-180)"
  10.218 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
  10.219 +      <path
  10.220 +         inkscape:connector-curvature="0"
  10.221 +         id="path8109"
  10.222 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  10.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" />
  10.224 +      <text
  10.225 +         xml:space="preserve"
  10.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"
  10.227 +         x="378.7023"
  10.228 +         y="376.52615"
  10.229 +         id="text8111"
  10.230 +         sodipodi:linespacing="100%"><tspan
  10.231 +           style="font-size:9px;text-align:center;text-anchor:middle"
  10.232 +           sodipodi:role="line"
  10.233 +           id="tspan8113"
  10.234 +           x="380.20621"
  10.235 +           y="376.52615"><tspan
  10.236 +             id="tspan8115"
  10.237 +             style="font-size:10px">Resume </tspan></tspan><tspan
  10.238 +           style="font-size:9px;text-align:center;text-anchor:middle"
  10.239 +           id="tspan8117"
  10.240 +           sodipodi:role="line"
  10.241 +           x="378.7023"
  10.242 +           y="385.74353">(Point 1.R)</tspan></text>
  10.243 +    </g>
  10.244 +    <text
  10.245 +       xml:space="preserve"
  10.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"
  10.247 +       x="352.7023"
  10.248 +       y="225.27441"
  10.249 +       id="text8119"
  10.250 +       sodipodi:linespacing="100%"><tspan
  10.251 +         id="tspan8121"
  10.252 +         sodipodi:role="line"
  10.253 +         x="352.7023"
  10.254 +         y="225.27441">Timeline A</tspan></text>
  10.255 +    <path
  10.256 +       id="path8123"
  10.257 +       d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0"
  10.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"
  10.259 +       inkscape:connector-curvature="0" />
  10.260 +    <path
  10.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)"
  10.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"
  10.263 +       id="path8125"
  10.264 +       inkscape:connector-curvature="0"
  10.265 +       sodipodi:nodetypes="csc" />
  10.266 +    <path
  10.267 +       inkscape:connector-curvature="0"
  10.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"
  10.269 +       d="m 246.98465,423.37498 c 69.82336,0 69.82336,0 69.82336,0"
  10.270 +       id="path10381" />
  10.271 +    <g
  10.272 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  10.273 +       id="g10393"
  10.274 +       transform="translate(-60,22)">
  10.275 +      <path
  10.276 +         inkscape:connector-curvature="0"
  10.277 +         id="path10395"
  10.278 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  10.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" />
  10.280 +      <text
  10.281 +         xml:space="preserve"
  10.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"
  10.283 +         x="378.7023"
  10.284 +         y="390.52615"
  10.285 +         id="text10397"
  10.286 +         sodipodi:linespacing="100%"><tspan
  10.287 +           style="font-size:9px;text-align:center;text-anchor:middle"
  10.288 +           id="tspan10403"
  10.289 +           sodipodi:role="line"
  10.290 +           x="378.7023"
  10.291 +           y="390.52615">Tied Point</tspan></text>
  10.292 +    </g>
  10.293 +    <text
  10.294 +       xml:space="preserve"
  10.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"
  10.296 +       x="352.7023"
  10.297 +       y="427.27441"
  10.298 +       id="text10405"
  10.299 +       sodipodi:linespacing="100%"><tspan
  10.300 +         id="tspan10407"
  10.301 +         sodipodi:role="line"
  10.302 +         x="352.7023"
  10.303 +         y="427.27441">Timeline B</tspan></text>
  10.304 +    <path
  10.305 +       id="path10409"
  10.306 +       d="m 320.08408,423.37498 c 27.45405,0 27.45405,0 27.45405,0"
  10.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)"
  10.308 +       inkscape:connector-curvature="0" />
  10.309 +    <path
  10.310 +       id="path10411"
  10.311 +       d="m 283.92204,381.37498 c 33.06652,0 33.06652,0 33.06652,0"
  10.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"
  10.313 +       inkscape:connector-curvature="0" />
  10.314 +    <g
  10.315 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  10.316 +       transform="translate(-60,-20)"
  10.317 +       id="g10423">
  10.318 +      <path
  10.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"
  10.320 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  10.321 +         id="path10425"
  10.322 +         inkscape:connector-curvature="0" />
  10.323 +      <text
  10.324 +         sodipodi:linespacing="100%"
  10.325 +         id="text10427"
  10.326 +         y="388.52615"
  10.327 +         x="378.7023"
  10.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"
  10.329 +         xml:space="preserve"><tspan
  10.330 +           y="388.52615"
  10.331 +           x="378.7023"
  10.332 +           sodipodi:role="line"
  10.333 +           id="tspan10433"
  10.334 +           style="font-size:9px;text-align:center;text-anchor:middle">Tied Point</tspan></text>
  10.335 +    </g>
  10.336 +    <text
  10.337 +       sodipodi:linespacing="100%"
  10.338 +       id="text10435"
  10.339 +       y="385.27441"
  10.340 +       x="352.7023"
  10.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"
  10.342 +       xml:space="preserve"><tspan
  10.343 +         y="385.27441"
  10.344 +         x="352.7023"
  10.345 +         sodipodi:role="line"
  10.346 +         id="tspan10437">Timeline A</tspan></text>
  10.347 +    <path
  10.348 +       inkscape:connector-curvature="0"
  10.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)"
  10.350 +       d="m 320.08408,381.37498 c 27.45405,0 27.45405,0 27.45405,0"
  10.351 +       id="path10439" />
  10.352 +    <path
  10.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"
  10.354 +       d="m 318.92887,395.30966 c 0,24.40348 0,24.40348 0,24.40348"
  10.355 +       id="path10425-2"
  10.356 +       inkscape:connector-curvature="0" />
  10.357 +    <path
  10.358 +       inkscape:connector-curvature="0"
  10.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"
  10.360 +       d="m 196.98465,549.37498 c 69.82336,0 69.82336,0 69.82336,0"
  10.361 +       id="path10981" />
  10.362 +    <g
  10.363 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  10.364 +       id="g10983"
  10.365 +       transform="translate(-32,148)">
  10.366 +      <path
  10.367 +         inkscape:connector-curvature="0"
  10.368 +         id="path10985"
  10.369 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  10.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" />
  10.371 +    </g>
  10.372 +    <g
  10.373 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  10.374 +       id="g10993"
  10.375 +       transform="translate(-60,148)">
  10.376 +      <path
  10.377 +         inkscape:connector-curvature="0"
  10.378 +         id="path10995"
  10.379 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  10.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" />
  10.381 +    </g>
  10.382 +    <text
  10.383 +       xml:space="preserve"
  10.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"
  10.385 +       x="352.7023"
  10.386 +       y="553.27441"
  10.387 +       id="text11005"
  10.388 +       sodipodi:linespacing="100%"><tspan
  10.389 +         id="tspan11007"
  10.390 +         sodipodi:role="line"
  10.391 +         x="352.7023"
  10.392 +         y="553.27441">Timeline B</tspan></text>
  10.393 +    <path
  10.394 +       id="path11009"
  10.395 +       d="m 320.08408,549.37498 c 27.45405,0 27.45405,0 27.45405,0"
  10.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)"
  10.397 +       inkscape:connector-curvature="0" />
  10.398 +    <path
  10.399 +       id="path11011"
  10.400 +       d="m 195.92204,489.37498 c 33.06652,0 33.06652,0 33.06652,0"
  10.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"
  10.402 +       inkscape:connector-curvature="0" />
  10.403 +    <g
  10.404 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  10.405 +       transform="translate(-70,88)"
  10.406 +       id="g11013">
  10.407 +      <path
  10.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"
  10.409 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  10.410 +         id="path11015"
  10.411 +         inkscape:connector-curvature="0" />
  10.412 +      <text
  10.413 +         sodipodi:linespacing="100%"
  10.414 +         id="text11017"
  10.415 +         y="376.52615"
  10.416 +         x="298.7023"
  10.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"
  10.418 +         xml:space="preserve"><tspan
  10.419 +           y="376.52615"
  10.420 +           x="298.7023"
  10.421 +           id="tspan11019"
  10.422 +           sodipodi:role="line"
  10.423 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  10.424 +           y="385.74353"
  10.425 +           x="298.7023"
  10.426 +           sodipodi:role="line"
  10.427 +           id="tspan11021"
  10.428 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text>
  10.429 +    </g>
  10.430 +    <g
  10.431 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  10.432 +       transform="translate(-60,88)"
  10.433 +       id="g11023">
  10.434 +      <path
  10.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"
  10.436 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  10.437 +         id="path11025"
  10.438 +         inkscape:connector-curvature="0" />
  10.439 +      <text
  10.440 +         sodipodi:linespacing="100%"
  10.441 +         id="text11027"
  10.442 +         y="376.52615"
  10.443 +         x="378.7023"
  10.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"
  10.445 +         xml:space="preserve"><tspan
  10.446 +           y="376.52615"
  10.447 +           x="380.20621"
  10.448 +           id="tspan11029"
  10.449 +           sodipodi:role="line"
  10.450 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  10.451 +             style="font-size:10px"
  10.452 +             id="tspan11031">Resume </tspan></tspan><tspan
  10.453 +           y="385.74353"
  10.454 +           x="378.7023"
  10.455 +           sodipodi:role="line"
  10.456 +           id="tspan11033"
  10.457 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text>
  10.458 +    </g>
  10.459 +    <text
  10.460 +       sodipodi:linespacing="100%"
  10.461 +       id="text11035"
  10.462 +       y="493.27441"
  10.463 +       x="352.7023"
  10.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"
  10.465 +       xml:space="preserve"><tspan
  10.466 +         y="493.27441"
  10.467 +         x="352.7023"
  10.468 +         sodipodi:role="line"
  10.469 +         id="tspan11037">Timeline A</tspan></text>
  10.470 +    <path
  10.471 +       inkscape:connector-curvature="0"
  10.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)"
  10.473 +       d="m 320.08408,489.37498 c 27.45405,0 27.45405,0 27.45405,0"
  10.474 +       id="path11039" />
  10.475 +    <path
  10.476 +       sodipodi:nodetypes="cc"
  10.477 +       inkscape:connector-curvature="0"
  10.478 +       id="path11041"
  10.479 +       d="m 248.40878,545.16363 c 79.41657,-49.15176 5.94823,-3.26189 82.39224,-51.8417"
  10.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)" />
  10.481 +    <path
  10.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)"
  10.483 +       d="m 329.77257,501.82974 c -70.11936,42.79661 -5.25188,2.84014 -72.74667,45.13875"
  10.484 +       id="path11043"
  10.485 +       inkscape:connector-curvature="0"
  10.486 +       sodipodi:nodetypes="cc" />
  10.487 +    <text
  10.488 +       xml:space="preserve"
  10.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"
  10.490 +       x="-20.52177"
  10.491 +       y="592.72888"
  10.492 +       id="text11049"
  10.493 +       sodipodi:linespacing="100%"
  10.494 +       transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"><tspan
  10.495 +         id="tspan11051"
  10.496 +         sodipodi:role="line"
  10.497 +         x="-20.52177"
  10.498 +         y="592.72888">visible</tspan></text>
  10.499 +    <text
  10.500 +       transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"
  10.501 +       sodipodi:linespacing="100%"
  10.502 +       id="text11053"
  10.503 +       y="607.87146"
  10.504 +       x="-10.997777"
  10.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"
  10.506 +       xml:space="preserve"><tspan
  10.507 +         y="607.87146"
  10.508 +         x="-10.997777"
  10.509 +         sodipodi:role="line"
  10.510 +         id="tspan11055">NOT visible</tspan></text>
  10.511 +    <path
  10.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)"
  10.513 +       d="m 331.48246,541.42226 c -109.48644,-45.60627 -8.20044,-3.02659 -113.5888,-48.10218"
  10.514 +       id="path11057"
  10.515 +       inkscape:connector-curvature="0"
  10.516 +       sodipodi:nodetypes="cc" />
  10.517 +    <path
  10.518 +       sodipodi:nodetypes="cc"
  10.519 +       inkscape:connector-curvature="0"
  10.520 +       id="path11059"
  10.521 +       d="m 218.69167,501.82968 c 107.30304,43.503 8.03691,2.88702 111.32359,45.8838"
  10.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)" />
  10.523 +    <text
  10.524 +       transform="matrix(0.92037595,0.39103467,-0.39103467,0.92037595,0,0)"
  10.525 +       sodipodi:linespacing="100%"
  10.526 +       id="text11061"
  10.527 +       y="382.84756"
  10.528 +       x="402.31476"
  10.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"
  10.530 +       xml:space="preserve"><tspan
  10.531 +         y="382.84756"
  10.532 +         x="402.31476"
  10.533 +         sodipodi:role="line"
  10.534 +         id="tspan11063">visible</tspan></text>
  10.535 +    <text
  10.536 +       xml:space="preserve"
  10.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"
  10.538 +       x="408.54758"
  10.539 +       y="366.66327"
  10.540 +       id="text11065"
  10.541 +       sodipodi:linespacing="100%"
  10.542 +       transform="matrix(0.9201572,0.39154913,-0.39154913,0.9201572,0,0)"><tspan
  10.543 +         id="tspan11067"
  10.544 +         sodipodi:role="line"
  10.545 +         x="408.54758"
  10.546 +         y="366.66327">NOT visible</tspan></text>
  10.547 +  </g>
  10.548 +</svg>
    11.1 Binary file 0__Papers/PRT/PRT__formal_def/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__formal_def/figures/PR__timeline_single.svg	Sat Aug 03 19:24:22 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__formal_def/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__formal_def/figures/PR__timeline_sync_def.svg	Sat Aug 03 19:24:22 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__formal_def/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__formal_def/figures/PR__timeline_tie_point_ordering.svg	Sat Aug 03 19:24:22 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__formal_def/figures/PR__timeline_tie_point_ordering_2.svg	Sat Aug 03 19:24:22 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__formal_def/figures/PR__what_runtime_does.svg	Sat Aug 03 19:24:22 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__formal_def/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__formal_def/figures/Portability_stack_combined.svg	Sat Aug 03 19:24:22 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__formal_def/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__formal_def/figures/Proto-Runtime__modules.svg	Sat Aug 03 19:24:22 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__formal_def/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__formal_def/figures/Proto-Runtime__modules_lang_breakdown.svg	Sat Aug 03 19:24:22 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__formal_def/figures/Proto-Runtime__modules_plus_plugin.svg	Sat Aug 03 19:24:22 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__formal_def/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__formal_def/figures/Proto-Runtime__modules_plus_plugin_plus_code.svg	Sat Aug 03 19:24:22 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__formal_def/figures/Proto-Runtime__modules_plus_plugin_plus_code_back.svg	Sat Aug 03 19:24:22 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__formal_def/figures/Proto-Runtime__modules_plus_plugin_plus_code_back_2.svg	Sat Aug 03 19:24:22 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__formal_def/figures/Scheduling_states_2.eps	Sat Aug 03 19:24:22 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__formal_def/figures/Scheduling_states_2.svg	Sat Aug 03 19:24:22 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__formal_def/figures/Time_in_VMS_1.eps	Sat Aug 03 19:24:22 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(^=*,&#3B0M4qjA`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,&#6TmQSrVfU-^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__formal_def/figures/Time_in_VMS_1.svg	Sat Aug 03 19:24:22 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__formal_def/figures/Time_layers.eps	Sat Aug 03 19:24:22 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&#8(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__formal_def/figures/Time_layers.svg	Sat Aug 03 19:24:22 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__formal_def/figures/VMS-core__internal_workings.eps	Sat Aug 03 19:24:22 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&#45qOj\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&ko&#98Sc#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__formal_def/figures/VMS-core__internal_workings.svg	Sat Aug 03 19:24:22 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__formal_def/figures/VMS-core__plugins.eps	Sat Aug 03 19:24:22 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]\(j&#2dH7_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__formal_def/figures/plots_exec_vs_task_size/cray1_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/not_used/cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/not_used/cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/not_used/vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/not_used/vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/vms_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps	Sat Aug 03 19:24:22 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__formal_def/figures/plots_exec_vs_task_size/xoanon_pthread_vthread_40core_80_160_320_640thds__o30000__perfCtrs.eps	Sat Aug 03 19:24:22 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__formal_def/helpers/07_F_26__The_Questions__blank.txt	Sat Aug 03 19:24:22 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__formal_def/helpers/bib_for_papers.bib	Sat Aug 03 19:24:22 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__formal_def/helpers/plain.bst	Sat Aug 03 19:24:22 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__formal_def/helpers/url.sty	Sat Aug 03 19:24:22 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__formal_def/helpers/usetex-v1-anon.cls	Sat Aug 03 19:24:22 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__formal_def/helpers/usetex-v1.cls	Sat Aug 03 19:24:22 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__formal_def/latex/.pdf	Sat Aug 03 19:24:22 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__formal_def/latex/PRT__formal_short.tex	Sat Aug 03 19:24:22 2013 -0700
    59.3 @@ -0,0 +1,452 @@
    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 +
   59.41 +\begin{document}
   59.42 +
   59.43 +\bibliographystyle{plain}
   59.44 +%
   59.45 +
   59.46 +\conferenceinfo{WXYZ '05}{date, City.} 
   59.47 +\copyrightyear{2005} 
   59.48 +\copyrightdata{[to be supplied]} 
   59.49 +
   59.50 +\titlebanner{banner above paper title}        % These are ignored unless
   59.51 +\preprintfooter{short description of paper}   % 'preprint' option specified.
   59.52 +
   59.53 +
   59.54 +\title{A Proto-Runtime Approach to Domain Specific Languages}
   59.55 +
   59.56 +
   59.57 +\authorinfo{Sean Halle}
   59.58 +           {Open Source Research Institute, INRIA,
   59.59 +           and TU Berlin}
   59.60 +           {seanhalle@opensourceresearchinstitute.org}
   59.61 +\authorinfo{Merten Sach}
   59.62 +           {TU Berlin}
   59.63 +           {msach@mailbox.tu-berlin.de}
   59.64 +\authorinfo{Albert Cohen}
   59.65 +           {Ecole Normal Supereur, and INRIA}
   59.66 +           {albert.cohen@inria.fr}
   59.67 +
   59.68 +\maketitle
   59.69 +
   59.70 +
   59.71 +\begin{abstract}
   59.72 + 
   59.73 +?
   59.74 +replace lang-specific with interface, centralize services, minimize effort to create, give language control over hardware assignment..  side benefits: multi-lang, perf-tuning, debugging
   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 +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.
   59.80 +As a result, new parallel constructs are written using sequential reasoning, and languages can be mixed within
   59.81 +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.
   59.82 +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.
   59.83 +\end{abstract}
   59.84 +
   59.85 +
   59.86 +
   59.87 +
   59.88 +
   59.89 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   59.90 +\section{Background and Motivation}
   59.91 +\label{sec:intro}
   59.92 +
   59.93 +[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.94 +
   59.95 +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. 
   59.96 +
   59.97 +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. 
   59.98 +
   59.99 +Many believe that these can be overcome with the use of Domain-Specific Languages []. But 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.
  59.100 +
  59.101 +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.  
  59.102 +
  59.103 +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. 
  59.104 +
  59.105 +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.106 +
  59.107 +We claim the following benefits of the proto-runtime approach, each of which is  supported in the indicated section of  the paper:
  59.108 +
  59.109 +\begin{itemize}
  59.110 +
  59.111 +\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}).
  59.112 +
  59.113 +\item The proto-runtime approach modularizes the runtime (\S\ref{sec:Proposal}).
  59.114 +
  59.115 +%\item The modularization  is consistent with patterns that appear to be fundamental to parallel computation and runtimes (\S\ ). 
  59.116 +
  59.117 +\item The modularization  cleanly separates runtime internals from the language-specific logic (\S\ref{sec:Proposal} ). 
  59.118 +
  59.119 +\item The modularization gives the language control
  59.120 +over timing and placement of executing work (\S\ref{sec:Proposal}).
  59.121 +
  59.122 +\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.123 +
  59.124 +\begin{itemize}
  59.125 +
  59.126 +
  59.127 +\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\ ).
  59.128 +
  59.129 +\item Part of the time reduction is due to encapsulation of hardware aspects inside the hardware-oriented module (\S \ref{sec:intro}).
  59.130 +
  59.131 +\item Part of the time reduction is due to  reuse of the performance-tuning effort for runtime internals (\S\ ).  
  59.132 +
  59.133 +\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\ ). 
  59.134 +
  59.135 +
  59.136 +\end{itemize}
  59.137 +
  59.138 +\item
  59.139 +
  59.140 +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\ ).
  59.141 +
  59.142 +\begin{itemize}
  59.143 +
  59.144 +\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\ ).
  59.145 +
  59.146 +\end{itemize}
  59.147 +
  59.148 +\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\ ).
  59.149 +
  59.150 +\end{itemize}
  59.151 +
  59.152 +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{sec:DSLHypothesis}). We focus on the role that  runtime implementation effort plays in the adoption of eDSLs  \S, 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 ), and tie them to how a runtime is modularized (\S ), covering how each claimed benefit is provided. 
  59.153 +We then show overhead measurements (\S ) and implementation time measurements (\S ), which indicate that the proto-runtime approach is performance competitive while significantly reducing implementation and porting effort.
  59.154 +With that  understanding in hand, we then discuss  how the approach compares to related work (\S ), and finally, we highlight the main conclusions drawn from the research (\S ).
  59.155 +
  59.156 +
  59.157 +
  59.158 +
  59.159 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  59.160 +%
  59.161 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  59.162 +\section{Background: The eDSL Hypothesis}
  59.163 +
  59.164 +%[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
  59.165 +
  59.166 +%[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
  59.167 +
  59.168 +%[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
  59.169 +
  59.170 +%[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
  59.171 +
  59.172 +Domain Specific Languages have been around for a while [], and recently have been suggested as a good approach for parallel programming[][stanford PPL].
  59.173 +
  59.174 +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.
  59.175 +
  59.176 +
  59.177 +\subsection{Embedding a DSL into a base language}
  59.178 +
  59.179 +A style of domain language, which we feel has good applicability to parallel software development, 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 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.180 +
  59.181 +
  59.182 +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) library that becomes linked, at run time, to a runtime implementation that has been tuned to the hardware it is running on.
  59.183 +
  59.184 +   
  59.185 +\subsection{Low learning curve, high productivity, and portability}
  59.186 +DSLs are generally quick to learn because the domain experts are already familiar with the concepts expressed by the custom syntax, especially for  those who are \textit{not} expert programmers. Embedded style DSLs further reduce learning curve because they have relatively few constructs, and require no new development tools nor development procedures. Together, these should  meet the goal of  a low learning curve for switching to parallel software development.
  59.187 +
  59.188 +Productivity can be enhanced by a well designed syntax, which can simplify the application code, modularize it, and encapsulate  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.189 +
  59.190 +Perhaps the most important productivity enhancement comes from hiding parallelism aspects inside the custom DSL constructs. The language takes advantage of the domain patterns to present a familar 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.191 + 
  59.192 +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.
  59.193 +
  59.194 +\subsection{Low disruption and easy adoption}
  59.195 +
  59.196 +Using an eDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices.
  59.197 + Constructs from the eDSL can be mixed into existing sequential code, incrementally replacing the high computation sections, while continuing with the same development  practices.\subsection{ Few users means the effort of eDSLs must be low}
  59.198 +
  59.199 +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.
  59.200 +
  59.201 +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.  
  59.202 +
  59.203 +The effort to be reduced falls into three categories:
  59.204 +
  59.205 +\begin{enumerate}
  59.206 +\item effort to explore the design and create the eDSL syntax
  59.207 +\item effort to create the runtime that embodies the eDSL behavior
  59.208 +\item effort to performance tune the eDSL on particular hardware
  59.209 +\end{itemize}    
  59.210 +
  59.211 +
  59.212 +\subsection{Critical areas of effort in the big picture}
  59.213 +
  59.214 +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.
  59.215 +
  59.216 +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.217 +
  59.218 +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.
  59.219 +
  59.220 +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:
  59.221 +
  59.222 +\begin{itemize}
  59.223 +\item shared coherent memory multi-core single-chip machine
  59.224 +\item shared coherent memory multi-core multi-chip machine
  59.225 +\item independent address space coprocessor (GPU)
  59.226 +\item a network of nodes of the above categories
  59.227 +\item a machine with a hierarchy of sub-networks
  59.228 +\end{itemize}
  59.229 +
  59.230 +
  59.231 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  59.232 +%
  59.233 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  59.234 +\section{Our Proposal} \label{sec:Proposal}
  59.235 +
  59.236 +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
  59.237 +the top two modules, which plug in via the interface. The hardware specific module presents the same interface
  59.238 +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.  
  59.239 +
  59.240 +\begin{figure}[ht]
  59.241 +  \centering
  59.242 +  \includegraphics[width = 1.5in, height = 1.1in]{../figures/proto-runtime__modules.pdf}
  59.243 +  \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.244 +  \label{fig:PR_three_pieces}
  59.245 +\end{figure}
  59.246 +
  59.247 +
  59.248 +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.
  59.249 +
  59.250 +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.
  59.251 +
  59.252 +One additional benefit is giving control to the language, to choose when and where it wishes work to execute.
  59.253 +This feature simplifies implementation of languages
  59.254 +that have features related to scheduling behavior.
  59.255 +It also enables the language implementor to use sophisticated
  59.256 +methods for choosing placement of virtual processors
  59.257 +(threads) and tasks, which can significantly impact
  59.258 +application performance.  
  59.259 +
  59.260 +In this paper, we present work that applies to coherent
  59.261 +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.262 +heterogeneous collections of processors, which will appear in future papers.
  59.263 +
  59.264 +\subsection{Breakdown of the modules}
  59.265 +
  59.266 +The language is broken into two parts, as seen in Fig
  59.267 +X. One is a thin wrapper library that
  59.268 +invokes the runtime and the other is a set of modules that are part of the runtime.
  59.269 +
  59.270 +
  59.271 +
  59.272 +\begin{figure}[ht]
  59.273 +  \centering
  59.274 +  \includegraphics[width = 2.8in, height = 1.1in]{../figures/proto-runtime__modules_lang_breakdown.pdf}
  59.275 +  \caption{Shows how the code of the language implementation
  59.276 +  is broken into two pieces. The first is a thin wrapper
  59.277 +  that invokes the runtime, the other is a dynamic
  59.278 +  library that plugs into the runtime.}
  59.279 +  \label{fig:langBreakdown}
  59.280 +\end{figure}
  59.281 +  
  59.282 +The runtime itself consists of three modules connected via
  59.283 +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
  59.284 +this the \textit{proto-runtime}.
  59.285 +It's job is to enforce the interface that the language modules see.
  59.286 +
  59.287 +
  59.288 +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
  59.289 +constructs, the other module provides logic for choosing which work to execute on
  59.290 +which hardware resource.
  59.291 +
  59.292 +The plugin collects the two language modules into a dynamic library that is implemented, compiled, and distributed separately from any application executables. This is how a non-changing application executable is able to invoke plugin code that can change between machines.    The executable contains only symbols of plugin functions, and during the run those are linked to specific functions' implementations. 
  59.293 +
  59.294 +In order to provide such modularization, we rely upon something we call a tie-point as the primitive upon which synchronization constructs are built. The low-level nature of a tie-point places them below the level of  constructs such as a mutex. Instead, a mutex is implemented on top of tie-points. 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.295 +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.  
  59.296 +
  59.297 +
  59.298 +
  59.299 +
  59.300 +
  59.301 +\subsection{The origin of tie-points.}\label{subsec:TiePoints}
  59.302 +
  59.303 +
  59.304 +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 establishes a number of independent timelines. It then controls which timelines are actively progressing relative to the others.
  59.305 +
  59.306 +For example, take a thread library.  It provides a command to create a thread, and 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 causes the thread to block, which means the associated timeline suspends; it stops
  59.307 +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.308 +
  59.309 +To build up to tie-points, we look at the nature of points on
  59.310 +a single timeline, by reviewing mutex behavior in detail. We see the timeline shown in Fig X.  Thread 1, which is timeline 1, tries to acquire the mutex, M,
  59.311 +by executing the acquire command. Timeline 1 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.312 +
  59.313 +
  59.314 +\begin{figure}[ht]
  59.315 +  \centering
  59.316 +  \includegraphics[width = 2.8in, height = 0.8in]
  59.317 +  {../figures/PR__timeline_single.pdf}
  59.318 +  \caption{The timeline suspends at 1.S and resumes
  59.319 +  at 1.R. From the viewpoint of the timeline, the gap collapses into a single point.}
  59.320 +  \label{fig:langBreakdown}
  59.321 +\end{figure}
  59.322 +
  59.323 +
  59.324 +Now, a tie-point is seen as the linkage between such collapsed points on
  59.325 +two timelines. In Fig X, timeline A is still there, suspends still at 1.S and resumes at 1.R.  However, now there is a second timeline, timeline 2B.  It executes the release command at point 2.S, which suspends timeline B, performs the behavior of the release command
  59.326 +inside the gap, then resumes timeline B at 2.R. The behavior of the release
  59.327 +command causes the end of suspend in the first timeline.  That causality ties the two collapsed points in the two timelines together.
  59.328 +
  59.329 +
  59.330 +\begin{figure}[ht]
  59.331 +  \centering
  59.332 +  \includegraphics[width = 2.8in, height = 1.35in]
  59.333 +  {../figures/PR__timeline_dual.pdf}
  59.334 +  \caption{Two  timelines with a causal relationship.
  59.335 +Activity that takes place during the gap in timeline
  59.336 +B causes resume of timeline A. This ties point 2 on
  59.337 +timeline B to point 1 on timeline A.}
  59.338 +  \label{fig:langBreakdown}
  59.339 +\end{figure}
  59.340 +
  59.341 +
  59.342 +
  59.343 +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
  59.344 +guarantee makes both agree on the order of events,\textit{
  59.345 +relative to the mutual tied point}. Any operation that executes before the point in the second timeline, 2.S, is visible immediately after the point in the first timeline, 1.R.  In addition, nothing
  59.346 +in the first timeline happening after the tie-point is visible in the second
  59.347 +timeline before the tie-point. 
  59.348 +
  59.349 +Just that guarantee defines it as a half tie-point.  A full tie-point adds the dual guarantee from timeline
  59.350 +B to A. Namely, for a full tie-point, anything before the tie-point  in timeline A is  visible in timeline B after the tie-point,
  59.351 +and nothing in timeline B after the tie-point is visible in A before the tie-point.
  59.352 +
  59.353 +A tie-point is the primitive mechanism that the proto-runtime implements. It does not involve any notion of dependency nor constraint semantics.  All it 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.354 +
  59.355 +It is up to the language to supply the behavior that happens inside
  59.356 +the gaps. This behavior is what decides which timelines get tied together. It is that decision making, of which timelines to tie together, that implements the
  59.357 +semantics of a synchronization construct.
  59.358 +
  59.359 +A formal treatment of tie-points is beyond the scope of this paper. However, a formal framework has been substantially completed and
  59.360 +will be published in a future paper.  
  59.361 +
  59.362 +
  59.363 +
  59.364 +\subsection{Tie-points within a proto-runtime}
  59.365 +
  59.366 + In Fig X we didn't say what entity executes  the behavior that takes place in the gaps in the timelines.  This is what the proto-runtime does. It provides
  59.367 +primitives that suspend a timeline and then cause behavior supplied by the language
  59.368 +plugin to execute in the gap. This plugin behavior chooses which timelines remain suspended versus which resume  execution, or start execution. 
  59.369 +  
  59.370 +As such, the plugin behavior that runs in the proto-runtime when one timeline
  59.371 +suspends is what chooses another timeline to resume as a consequence. That
  59.372 +choice establishes causality between the suspensions of the two timelines,
  59.373 +and thus creates the tie between the two collapsed timeline points. The proto-runtime
  59.374 +code module provides the suspend and resume primitives, while the running proto-runtime instance
  59.375 +executes the plugin behavior.
  59.376 +
  59.377 +The running proto-runtime instance is also known as the Master, while the application timelines
  59.378 +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.379 +
  59.380 +\subsection{Formal definition of Tie-Point}
  59.381 +
  59.382 +
  59.383 +
  59.384 +\subsection{More about the proto-runtime}
  59.385 +
  59.386 +The proto-runtime provides the following primitives, for use by language
  59.387 +plugins:
  59.388 +\begin{itemize}
  59.389 +\item create a virtual processor (which has a suspendible timeline)
  59.390 +\item create a task (which has an atomic timeline that runs to completion)
  59.391 +\item automatically convert a task to a virtual processor, as needed
  59.392 +\item trigger choosing which virtual processor or task to begin execution on an offered
  59.393 +core
  59.394 +\item suspend a timeline, then invoke a   function to handle the suspension -- handler executes in the Master, with supplied parameters 
  59.395 +\item end a timeline
  59.396 +
  59.397 +\end{itemize}
  59.398 +
  59.399 +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.400 +and many languages have the semantics of short, atomic, units of work that
  59.401 +are not intended to suspend. Thus, tasks are treated differently inside the
  59.402 +proto-runtime, and incur less overhead to create and run.
  59.403 +
  59.404 +A special feature of the proto-runtime is that if a task happens to execute
  59.405 +a language command that causes suspension, then the proto-runtime automatically
  59.406 +converts that task to a virtual processor. This helps support the mixing of different
  59.407 +languages within the same program.
  59.408 +
  59.409 +The proto-runtime involves the language into the process of choosing which core a given task
  59.410 +or virtual processor executes on. The proto-runtime maintains control, but offers free cores to the plugin, which 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.411 +
  59.412 +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.413 +can be communicated from the wrapper library to the plugin. 
  59.414 +
  59.415 +
  59.416 +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 that 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.417 +
  59.418 + 
  59.419 + 
  59.420 +
  59.421 +
  59.422 +
  59.423 +\subsection{What happens at different times within the
  59.424 +big picture}
  59.425 +
  59.426 +To get a handle on the big picture,  we describe three different paths through time:
  59.427 +one for development of proto-runtime code, one for
  59.428 +development of language implementation, and one for
  59.429 +application development. 
  59.430 +
  59.431 +The proto-runtime code is developed separately from
  59.432 +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.433 +
  59.434 +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.435 +
  59.436 +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.437 +
  59.438 +The wrapper library, however, is not
  59.439 +installed on the machine where code runs. Rather, it
  59.440 +is only used during development of an application,
  59.441 +and remains independent of hardware.
  59.442 + 
  59.443 +The application, ideally, 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.444 +When an application is executed, the loader binds the
  59.445 +dynamic libraries, connecting them to the application.
  59.446 + In this way, a single,
  59.447 +unchanging, executable gains access to machine-specific implementations of language and proto-runtime.  
  59.448 +
  59.449 +However, the success of the compile-once approach has
  59.450 +limits in practice. Each machine's characteristics determine the size of unit of work that gives the best performance. When too small, overhead in the runtime system required to create the work, manage constraints, and perform assignment becomes larger than the work
  59.451 +itself. When units become too large, not enough units exist to keep all the cores busy. Thankfully, the range between is large 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 code. 
  59.452 +
  59.453 +\end{document}
  59.454 +
  59.455 +
    60.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    60.2 +++ b/0__Papers/PRT/PRT__formal_def/latex/PRT__full_w_Farhad_derived_formal_def.tex	Sat Aug 03 19:24:22 2013 -0700
    60.3 @@ -0,0 +1,2151 @@
    60.4 +%-----------------------------------------------------------------------------
    60.5 +%
    60.6 +%               Template for sigplanconf LaTeX Class
    60.7 +%
    60.8 +% Name:         sigplanconf-template.tex
    60.9 +%
   60.10 +% Purpose:      A template for sigplanconf.cls, which is a LaTeX 2e class
   60.11 +%               file for SIGPLAN conference proceedings.
   60.12 +%
   60.13 +% Guide:        Refer to "Author's Guide to the ACM SIGPLAN Class,"
   60.14 +%               sigplanconf-guide.pdf
   60.15 +%
   60.16 +% Author:       Paul C. Anagnostopoulos
   60.17 +%               Windfall Software
   60.18 +%               978 371-2316
   60.19 +%               paul@windfall.com
   60.20 +%
   60.21 +% Created:      15 February 2005
   60.22 +%
   60.23 +%-----------------------------------------------------------------------------
   60.24 +
   60.25 +
   60.26 +\documentclass[preprint]{sigplanconf}
   60.27 +
   60.28 +% The following \documentclass options may be useful:
   60.29 +%
   60.30 +% 10pt          To set in 10-point type instead of 9-point.
   60.31 +% 11pt          To set in 11-point type instead of 9-point.
   60.32 +% authoryear    To obtain author/year citation style instead of numeric.
   60.33 +\usepackage{amssymb,graphicx,calc,ifthen,subfig,dblfloatfix,fixltx2e}
   60.34 +
   60.35 +
   60.36 +% correct bad hyphenation here
   60.37 +\hyphenation{op-tical net-works semi-conduc-tor}
   60.38 +
   60.39 +\usepackage{wasysym}
   60.40 +\usepackage{amstext}
   60.41 +
   60.42 +\begin{document}
   60.43 +
   60.44 +\bibliographystyle{plain}
   60.45 +%
   60.46 +
   60.47 +\conferenceinfo{WXYZ '05}{date, City.} 
   60.48 +\copyrightyear{2005} 
   60.49 +\copyrightdata{[to be supplied]} 
   60.50 +
   60.51 +\titlebanner{banner above paper title}        % These are ignored unless
   60.52 +\preprintfooter{short description of paper}   % 'preprint' option specified.
   60.53 +
   60.54 +
   60.55 +\title{A Proto-Runtime Approach to Domain Specific Languages}
   60.56 +
   60.57 +
   60.58 +\authorinfo{Sean Halle}
   60.59 +           {Open Source Research Institute, INRIA,
   60.60 +           and TU Berlin}
   60.61 +           {seanhalle@opensourceresearchinstitute.org}
   60.62 +\authorinfo{Merten Sach}
   60.63 +           {TU Berlin}
   60.64 +           {msach@mailbox.tu-berlin.de}
   60.65 +\authorinfo{Albert Cohen}
   60.66 +           {Ecole Normal Supereur, and INRIA}
   60.67 +           {albert.cohen@inria.fr}
   60.68 +
   60.69 +\maketitle
   60.70 +
   60.71 +
   60.72 +\begin{abstract}
   60.73 + 
   60.74 +?
   60.75 +replace lang-specific with interface, centralize services, minimize effort to create, give language control over hardware assignment..  side benefits: multi-lang, perf-tuning, debugging
   60.76 +
   60.77 +?
   60.78 +
   60.79 +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.
   60.80 +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.
   60.81 +As a result, new parallel constructs are written using sequential reasoning, and multiple languages can be mixed within
   60.82 +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.
   60.83 +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.
   60.84 +\end{abstract}
   60.85 +
   60.86 +
   60.87 +
   60.88 +
   60.89 +
   60.90 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   60.91 +\section{Background and Motivation}
   60.92 +\label{sec:intro}
   60.93 +
   60.94 +[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.]
   60.95 +
   60.96 +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. 
   60.97 +
   60.98 +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. 
   60.99 +
  60.100 +Many believe that these can be overcome with the use of Domain-Specific Languages []. But 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.
  60.101 +
  60.102 +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.  
  60.103 +
  60.104 +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. 
  60.105 +
  60.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. 
  60.107 +
  60.108 +We claim the following benefits of the proto-runtime approach, each of which is  supported in the indicated section of  the paper:
  60.109 +
  60.110 +\begin{itemize}
  60.111 +
  60.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},
  60.113 +\S\ref{subsec:Example}).
  60.114 +
  60.115 +\item The proto-runtime approach modularizes the runtime (\S\ref{sec:Proposal}).
  60.116 +
  60.117 +%\item The modularization  is consistent with patterns that appear to be fundamental to parallel computation and runtimes (\S\ ). 
  60.118 +
  60.119 +\item The modularization  cleanly separates runtime internals from the language-specific logic (\S\ref{sec:Proposal},
  60.120 +\S\ref{subsec:Example}). 
  60.121 +
  60.122 +\item The modularization gives the language control
  60.123 +over timing and placement of executing work (\S\ref{sec:Proposal}).
  60.124 +
  60.125 +\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},
  60.126 +\S\ref{subsec:ImplTimeMeas}).
  60.127 +
  60.128 +\begin{itemize}
  60.129 +
  60.130 +
  60.131 +\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\ ).
  60.132 +
  60.133 +\item Part of the time reduction is due to encapsulation of hardware aspects inside the hardware-oriented module (\S \ref{sec:intro}).
  60.134 +
  60.135 +\item Part of the time reduction is due to  reuse of the performance-tuning effort for runtime internals (\S ).  
  60.136 +
  60.137 +\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}). 
  60.138 +
  60.139 +
  60.140 +\end{itemize}
  60.141 +
  60.142 +\item
  60.143 +
  60.144 +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\ ).
  60.145 +
  60.146 +\begin{itemize}
  60.147 +
  60.148 +\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}).
  60.149 +
  60.150 +\end{itemize}
  60.151 +
  60.152 +\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}).
  60.153 +
  60.154 +\end{itemize}
  60.155 +
  60.156 +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. 
  60.157 +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.
  60.158 +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}).
  60.159 +
  60.160 +
  60.161 +
  60.162 +
  60.163 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  60.164 +%
  60.165 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  60.166 +\section{Background: The eDSL Hypothesis}
  60.167 +
  60.168 +%[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
  60.169 +
  60.170 +%[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
  60.171 +
  60.172 +%[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
  60.173 +
  60.174 +%[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
  60.175 +
  60.176 +Domain Specific Languages have been around for a while [], and recently have been suggested as a good approach for parallel programming[][stanford PPL].
  60.177 +
  60.178 +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.
  60.179 +
  60.180 +
  60.181 +\subsection{Embedding a DSL into a base language}
  60.182 +
  60.183 +A style of domain language, which we feel has good applicability to parallel software development, 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 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.
  60.184 +
  60.185 +
  60.186 +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) library that becomes linked, at run time, to a runtime implementation that has been tuned to the hardware it is running on.
  60.187 +
  60.188 +   
  60.189 +\subsection{Low learning curve, high productivity, and portability}
  60.190 +DSLs are generally quick to learn because the domain experts are already familiar with the concepts expressed by the custom syntax, especially for  those who are \textit{not} expert programmers. Embedded style DSLs further reduce learning curve because they have relatively few constructs, and require no new development tools nor development procedures. Together, these should  meet the goal of  a low learning curve for switching to parallel software development.
  60.191 +
  60.192 +Productivity can be enhanced by a well designed syntax, which can simplify the application code, modularize it, and encapsulate  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.
  60.193 +
  60.194 +Perhaps the most important productivity enhancement comes from hiding parallelism aspects inside the custom DSL constructs. The language takes advantage of the domain patterns to present a familar 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.
  60.195 + 
  60.196 +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.
  60.197 +
  60.198 +\subsection{Low disruption and easy adoption} 
  60.199 +
  60.200 +Using an eDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices.
  60.201 + Constructs from the eDSL can be mixed into existing sequential code, incrementally replacing the high computation sections, while continuing with the same development  practices.
  60.202 + 
  60.203 + \subsection{ Few users means the effort of eDSLs must be low} \label{subsec:eDSLEffort}
  60.204 +
  60.205 +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.
  60.206 +
  60.207 +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.  
  60.208 +
  60.209 +The effort to be reduced falls into three categories:
  60.210 +
  60.211 +\begin{enumerate}
  60.212 +\item effort to explore  language design and create the eDSL syntax
  60.213 +\item effort to create the runtime that produces the eDSL behavior
  60.214 +\item effort to performance tune the eDSL on particular hardware
  60.215 +\end{itemize}    
  60.216 +
  60.217 +
  60.218 +\subsection{Critical areas of effort in the big picture}
  60.219 +
  60.220 +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.
  60.221 +
  60.222 +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. 
  60.223 +
  60.224 +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.
  60.225 +
  60.226 +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:
  60.227 +
  60.228 +\begin{itemize}
  60.229 +\item shared coherent memory multi-core single-chip machine
  60.230 +\item shared coherent memory multi-core multi-chip machine
  60.231 +\item independent address space coprocessor (GPU)
  60.232 +\item a network of nodes of the above categories
  60.233 +\item a machine with a hierarchy of sub-networks
  60.234 +\end{itemize}
  60.235 +
  60.236 +
  60.237 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  60.238 +%
  60.239 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  60.240 +\section{Our Proposal} \label{sec:Proposal}
  60.241 +
  60.242 +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
  60.243 +the top two modules, which plug in via the interface. The hardware specific module presents the same interface
  60.244 +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.  
  60.245 +
  60.246 +\begin{figure}[ht]
  60.247 +  \centering
  60.248 +  \includegraphics[width = 1.5in, height = 1.1in]{../figures/proto-runtime__modules.pdf}
  60.249 +  \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. }
  60.250 +  \label{fig:PR_three_pieces}
  60.251 +\end{figure}
  60.252 +
  60.253 +
  60.254 +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.
  60.255 +
  60.256 +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.
  60.257 +
  60.258 +One additional benefit is giving control to the language, to choose when and where it wishes work to execute.
  60.259 +This feature simplifies implementation of languages
  60.260 +that have features related to scheduling behavior.
  60.261 +It also enables the language implementor to use sophisticated
  60.262 +methods for choosing placement of virtual processors
  60.263 +(threads) and tasks, which can significantly impact
  60.264 +application performance.  
  60.265 +
  60.266 +In this paper, we present work that applies to coherent
  60.267 +shared memory machines, both single chip and multiple chip. Extensions beyond this are currently in progress, to address multiple-address-space machines and hierarchical
  60.268 +heterogeneous collections of processors, which will appear in future papers.
  60.269 +
  60.270 +\subsection{Breakdown of the modules} \label{subsec:Modules}
  60.271 +
  60.272 +The language is broken into two parts, as seen in Fig
  60.273 +X. One is a thin wrapper library that
  60.274 +invokes the runtime and the other is a set of modules that are part of the runtime.
  60.275 +
  60.276 +
  60.277 +
  60.278 +\begin{figure}[ht]
  60.279 +  \centering
  60.280 +  \includegraphics[width = 2.8in, height = 1.1in]{../figures/proto-runtime__modules_lang_breakdown.pdf}
  60.281 +  \caption{Shows how the code of the language implementation
  60.282 +  is broken into two pieces. The first is a thin wrapper
  60.283 +  that invokes the runtime, the other is a dynamic
  60.284 +  library that plugs into the runtime.}
  60.285 +  \label{fig:langBreakdown}
  60.286 +\end{figure}
  60.287 +  
  60.288 +The runtime itself consists of three modules connected via
  60.289 +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
  60.290 +this the \textit{proto-runtime}.
  60.291 +It's job is to enforce the interface that the language modules see.
  60.292 +
  60.293 +
  60.294 +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
  60.295 +constructs, the other module provides logic for choosing which work to execute on
  60.296 +which hardware resource.
  60.297 +
  60.298 +The plugin collects the two language modules into a dynamic library that is implemented, compiled, and distributed separately from any application executables. This is how a non-changing application executable is able to invoke plugin code that can change between machines.    The executable contains only symbols of plugin functions, and during the run those are linked to specific functions' implementations. 
  60.299 +
  60.300 +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
  60.301 +of the primitives in the tie-point model. The proto-runtime
  60.302 +then implements the primitives of the tie-point model.
  60.303 +
  60.304 + 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
  60.305 +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.
  60.306 +
  60.307 +We have reached a point in the paper, now, where the order of explanation can take one of two paths: either
  60.308 +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.   
  60.309 +
  60.310 +
  60.311 +
  60.312 +\section{The tie-point model.}\label{subsec:TiePoints}
  60.313 +
  60.314 +
  60.315 +\subsection{timelines}
  60.316 +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.
  60.317 +
  60.318 +For example, take a thread library, which we consider
  60.319 +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
  60.320 +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.
  60.321 +
  60.322 +To build up to tie-points, we look at the nature of points on
  60.323 +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,
  60.324 +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.
  60.325 +
  60.326 +
  60.327 +\begin{figure}[ht]
  60.328 +  \centering
  60.329 +  \includegraphics[width = 2.8in, height = 0.8in]
  60.330 +  {../figures/PR__timeline_single.pdf}
  60.331 +  \caption{The timeline suspends at 1.S and resumes
  60.332 +  at 1.R. From the viewpoint of the timeline, the gap collapses into a single point.}
  60.333 +  \label{fig:singleTimeline}
  60.334 +\end{figure}
  60.335 +
  60.336 +
  60.337 +Now, a tie-point is seen as the linkage between such collapsed points on
  60.338 +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
  60.339 +inside the gap, then resumes timeline B at 2.R. The behavior of the release
  60.340 +command causes the end of suspend in the first timeline.  That causality ties the two collapsed points in the two timelines together.
  60.341 +
  60.342 +
  60.343 +\begin{figure}[ht]
  60.344 +  \centering
  60.345 +  \includegraphics[width = 2.8in, height = 1.35in]
  60.346 +  {../figures/PR__timeline_dual.pdf}
  60.347 +  \caption{Two  timelines with a causal relationship.
  60.348 +Activity that takes place during the gap in timeline
  60.349 +B causes resume of timeline A. This ties point 2 on
  60.350 +timeline B to point 1 on timeline A.}
  60.351 +  \label{fig:dualTimeline}
  60.352 +\end{figure}
  60.353 +
  60.354 +
  60.355 +
  60.356 +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
  60.357 +guarantee makes both agree on the order of events,\textit{
  60.358 +relative to the mutual tied point}. 
  60.359 +The guarantees  are what defines a tie-point. 
  60.360 +
  60.361 +Fig \ref{fig:tie-pointGuarantees} shows the ordering guarantees in terms of visibility of operations between
  60.362 +the timelines.  If these visibility constraints are
  60.363 +satisfied, then the timelines share a tie-point. Note that the ordering
  60.364 + guarantees are equivalent to the constraints on visibility of operations. Operations that execute  in
  60.365 +the first timeline before the tie-point must be visible
  60.366 +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. 
  60.367 +
  60.368 +
  60.369 +
  60.370 +\begin{figure}[ht]
  60.371 +  \centering
  60.372 +  \includegraphics[width = 2.8in, height = 1.25in]
  60.373 +  {../figures/PR__timeline_tie_point_ordering.pdf}
  60.374 +  \caption{The
  60.375 +guarantees that a tie-point enforces. Shows which
  60.376 + operations performed on one timeline are visible to the other
  60.377 +timeline. These visibilities must be true for a tie-point.
  60.378 +Note that all events are divided into two groups, those
  60.379 +before the tied points versus those after the tied
  60.380 +points.  Both timelines see the same before group and
  60.381 +the same after group. }
  60.382 +  \label{fig:tie-pointGuarantees}
  60.383 +\end{figure}
  60.384 +
  60.385 +
  60.386 +\subsection{Formal definition of tie-point}
  60.387 +In a moment we will show how any and all synchronization constructs
  60.388 +can be defined in terms of tie-points. Before getting
  60.389 +there, we provide a formal definition of tie-point,
  60.390 +which we will then use in showing that all synchronization
  60.391 +constructs can be implemented in terms of tie-points.
  60.392 +
  60.393 +In our formalization, we treat a tie-point as something
  60.394 +that exists in the code, and causes what we call an \textit{ordering-point} to
  60.395 +arise in every run of the code.  We define ordering-point
  60.396 +formally, and use that to state the constraints that
  60.397 +a tie-point code-instance must enforce.
  60.398 +
  60.399 +
  60.400 +\subsubsection{Lifeline, Timeline, and Projection}
  60.401 +We define a formal entity that we call a lifeline,
  60.402 +where a timeline is a type of lifeline.
  60.403 +We define event-types and specific occurrences of event-types, and show how multiple lifelines can observe the same occurrence. A projection between
  60.404 +lifelines is defined as an event initiated upon one lifeline being observed on a different lifeline.  The projection is from initiator to observer.
  60.405 +
  60.406 +\begin{description}
  60.407 +\item[event:] 
  60.408 +\(E   \) represents an event, which is something that
  60.409 +can be initiated or observed. 
  60.410 +\item[occurrence:]
  60.411 +\(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
  60.412 +integer, for example: \(O_{7}\) 
  60.413 +
  60.414 +\item[clock:]
  60.415 +\(t:I\rightarrow\mathbb{R}^{+}\) maps each integer
  60.416 +onto a  real number, such that \(I_{1}<I_{2}\Rightarrow
  60.417 +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
  60.418 +sequence of the clock. 
  60.419 +\item[lifeline:]
  60.420 +\(l = <\alpha ,  t> \) 
  60.421 + is a lifeline, where \(\alpha\)
  60.422 +is a sequence over \(Dom(t)\) and each element of \(\alpha\) is either an initiation of an occurrence, or an observation
  60.423 +of one. A \textit{beat} of the lifeline is one tuple, denoted \(l(i)\), while the occurrence associated 
  60.424 +to the beat is denoted\(\) \(O(l(i))  \) or equivalently \(O(\alpha(i)). \) The real value
  60.425 +associated with the beat is denoted \(t(l(i))\).  For a given lifeline, not every element of \(t\) must have an associated
  60.426 +\(\alpha\), but every \(\alpha\) must have a unique associated
  60.427 +\(I\) from the clock \(t\).  Note that \(\forall i , t(l(i)) < t(l(i+1))\).  At most one beat from one
  60.428 +lifeline can initiate an occurrence.  However, multiple
  60.429 +beats
  60.430 +from a given lifeline can observe the same occurrence,
  60.431 +including one initiated earlier in the sequence of
  60.432 +the lifeline,
  60.433 +and multiple lifelines may observe the same occurrence,
  60.434 +each multiple times.  
  60.435 +
  60.436 +\item[projection:]
  60.437 +Given \(l_{1} = <\alpha ,  t_{1}> \), \(l_{2} = <\beta ,  t_{2}> \) then a projection from \(l_{1}\) to \(l_{2}\)
  60.438 + is denoted  \(l_{1}(i) \uparrow l_{2}(j) \), where  \(l_{1}(i) \uparrow l_{2}(j)
  60.439 +\equiv O(l_{1}(i)) = O(l_{2}(j))\).
  60.440 + This says that the occurrence initiated by the ith beat of the first lifeline is observed by the jth beat
  60.441 +of the second lifeline. 
  60.442 +
  60.443 +\item[ordering tuple:] \(OT_{}\) is a tuple consisting
  60.444 +of a set of two  beats from two different lifelines, which do
  60.445 +not participate in projections, plus a set of projections
  60.446 +that cross the two beats in the forward direction. 
  60.447 +Given \(OT =<[l_{1}(x) , l_{2}(y)], [projections]> \) then \(OT\) is an
  60.448 +ordering tuple  iff \( [projections] \neq0 \forall p(i,j) \in  projections \nexists p(i,j)
  60.449 +|i<x \wedge j>y\  \) 
  60.450 +\item[program run:] \(\mathcal{R} \) is a particular set of lifelines.
  60.451 +The program run begins with the creation of any lifeline, and
  60.452 +ends with the end of all lifelines.
  60.453 +
  60.454 +\item[equivalent positions in different  sequences:] a partial ordering is defined.
  60.455 +Given two positions within different sequences, if
  60.456 +one or both both can be
  60.457 +validly rearranged, by using the partial ordering to
  60.458 +define valid rearrangements,  so they occupy 
  60.459 + the same position in their rearranged sequences, then
  60.460 +they are equivalent positions.
  60.461 +
  60.462 +\item[equivalent occurrences:] two occurrences are
  60.463 +equivalent if their event instances cannot be distinguished, given the observation
  60.464 +measurements of interest. If the observation measurement
  60.465 +involves sequences, then the two events must lie at
  60.466 +equivalent positions within their respective sequences.
  60.467 +
  60.468 +\item[equivalent lifelines:] two lifelines whose beats
  60.469 +can be paired, such that every beat in one lifeline
  60.470 +has an equivalent beat in the other.  The beats do
  60.471 +not have to occur in the same order in both lifelines.
  60.472 +Beats associated to occurrences that are not of interest can be dropped.
  60.473 +
  60.474 +\item[equivalent program runs:] two runs such that
  60.475 +their lifelines can be paired one-to-one, with every lifeline in one paired to an equivalent
  60.476 +lifeline in the other. The projections between lifelines
  60.477 +in one run can be different from the projections in
  60.478 +the other run.
  60.479 +
  60.480 +\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. 
  60.481 +\end{description}
  60.482 +
  60.483 +
  60.484 +Some things to note: A particular occurrence
  60.485 +can be associated to at most one beat from a given
  60.486 +lifeline, but that same occurrence can also be associated
  60.487 +to beats from multiple other lifelines.  Also, an occurrence may
  60.488 +be initiated by a lifeline but never observed by any.
  60.489 +Every \(O\) has a set of projections associated with it.
  60.490 +
  60.491 +For example, the event could
  60.492 +be writing a value into a variable.  Two separate
  60.493 +write events are considered equivalent occurrences if
  60.494 +they both write the same particular value into whatever memory location
  60.495 +is associated to the same particular
  60.496 +variable, and happen within valid partial orderings
  60.497 +relative to the other occurrences.  This is normally
  60.498 +compared across re-creations of the "universe" that
  60.499 +provides the context for the orderings of events instances.
  60.500 +
  60.501 +=========
  60.502 +
  60.503 + Okay, talked it over with Sung -- what about making distinguished beats
  60.504 +-- as Sung poked around for, make the PR\ "suspend" be the
  60.505 +distinguished beat.  Then, as we worked out talking it
  60.506 +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.
  60.507 +
  60.508 +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
  60.509 +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!
  60.510 +
  60.511 +  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.
  60.512 +
  60.513 +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.
  60.514 +
  60.515 +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.
  60.516 +
  60.517 +From the projection "behavior" I can simply state "this
  60.518 +defines what all synchronization constructs do" --
  60.519 +the projection behavior is the whole purpose of a sync construct -- to ensure particular communication pattern when comm is via side-effect
  60.520 +
  60.521 +=======
  60.522 +
  60.523 +From first model, have the real-value constraints for  slide of suspend and resume relative to each other..
  60.524 +
  60.525 +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
  60.526 +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,
  60.527 +and backward crossing are allowed whose initiation
  60.528 +is on non-origin lifeline. 
  60.529 +  
  60.530 +But a tie-point is more than just the behavior it defines.
  60.531 + In order for a pair of special beats to form a tie-point,
  60.532 +they must be causally linked on their internal lifelines.  This means that a sequence of changes of the internal
  60.533 +state links the internal activity of one of the special beats to the internal activity of another special beat
  60.534 +that executes the resume that ends  the second special beat. All special beats that are resumed inside the
  60.535 +same internal activity will have the behavior of a
  60.536 +full tie-point. Half tie-points can have both halves
  60.537 +resumed in different internal activities.
  60.538 +   
  60.539 +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. 
  60.540 +
  60.541 +The internal activity on the hidden lifeline enforces some description. 
  60.542 +
  60.543 +For
  60.544 +example, send-receive descriptions are: send = if paired
  60.545 +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.
  60.546 +  
  60.547 +For acquire-release.. acquire: if lock-owner inside shared
  60.548 +context is empty then place self-name into lock-owner
  60.549 +and resume self else place self onto end of sequence
  60.550 +of special beats. release: remove self from lock-owner
  60.551 +and place the next in sequence of special beats into
  60.552 +lock-owner. If non-empty then resume the new lock-owner.
  60.553 +in every case, resume self. Note, acquire-release can
  60.554 +form either a half tie-point or a full tie-point. 
  60.555 +?
  60.556 +
  60.557 +====
  60.558 +
  60.559 +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
  60.560 +of a useful subset of what the intuition of tie-point associates to.  
  60.561 +
  60.562 +
  60.563 +   
  60.564 +
  60.565 +
  60.566 +\subsection{How a synchronization construct relates
  60.567 +to tie-points}
  60.568 +
  60.569 +To prepare for stating how the tie-point model can be used to
  60.570 +specify a synchronization construct, we first state
  60.571 +clearly what we mean by a ``synchronization construct''.
  60.572 +
  60.573 +The top of Fig \ref{fig:PRSyncConstrDef} shows two
  60.574 +independent timelines, both performing reads and writes
  60.575 +within a machine that has coherent shared memory. The
  60.576 +timelines have no relative ordering defined, so any
  60.577 +write on Timeline A can be received by any read of
  60.578 +the same address on
  60.579 +Timeline B, and vice versa.  This means that, in general,
  60.580 +the use of a variable that is read and written by both will result in non-deterministic behavior.
  60.581 +
  60.582 +
  60.583 +\begin{figure}[ht]
  60.584 +  \centering
  60.585 +  \includegraphics[width = 2.0in, height = 2.8in]
  60.586 +  {../figures/PR__timeline_sync_def.pdf}
  60.587 +  \caption{Depicts the meaning  we adopt for  `synchronization construct'.  One of them  controls communications between timelines
  60.588 +by controlling the slide of timelines relative to each
  60.589 +other. They imply certain visibility between writes  and reads on different timelines.}
  60.590 +  \label{fig:PRSyncConstrDef}
  60.591 +\end{figure}
  60.592 +  
  60.593 +
  60.594 +
  60.595 +To control the behavior of writes and reads to the
  60.596 +same addresses, a common point must be established, which
  60.597 +limits the ``sliding'' of the timelines relative to
  60.598 +each other. A synchronization construct is used for
  60.599 +this.
  60.600 +The net effect of such a construct is to establish
  60.601 +a common point that both timelines agree on.  This
  60.602 +point separates reads and writes before it from reads
  60.603 +and writes after it.
  60.604 +
  60.605 +For example, consider a simple lock used to protect a critical section.  The lock is acquired by one timeline
  60.606 +before entering the critical section. Any writes performed
  60.607 +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}.
  60.608 +
  60.609 +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},
  60.610 +any writes performed by that new
  60.611 +timeline after it acquires the lock must not be visible
  60.612 +to reads performed by the old timeline before it released
  60.613 +the lock. 
  60.614 +
  60.615 +With this intuition, we define a synchronization construct
  60.616 +as an operation preformed on a timeline, which has
  60.617 +the property that it creates
  60.618 +a tie-point together with an operation performed on a different
  60.619 +timeline.  Such operations that establish a tie-point
  60.620 +fit our definition of synchronization constructs.
  60.621 +
  60.622 +
  60.623 +\subsection{More on tie-points}
  60.624 +
  60.625 +Fig \ref{fig:dualTimeline} showed how a tie-point can be generated. The establishment was accomplished by
  60.626 +a combination of primitive mechanisms. These include: 1) suspend; 2) an `invisible' timeline that executes
  60.627 +behavior in the gaps; 3) resume
  60.628 +called from that invisible timeline; and 4) enforcement
  60.629 +of instruction completion relative to resume.  
  60.630 + 
  60.631 +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.
  60.632 +
  60.633 +
  60.634 +Notice that the primitives that establish a tie-point
  60.635 +do not involve any notion of  dependency or constraint
  60.636 +on order of execution.  It is the behavior code that runs on the invisible
  60.637 + timeline that embodies notions such as dependency
  60.638 + between units of work, mutual exclusion,
  60.639 + partial ordering of work, and so on.  However, the
  60.640 + primitives do provide the notion of causality,  the ordering implied by causality, and enforcing completion
  60.641 +of reads/writes.
  60.642 +
  60.643 +It is up to the language to supply the behavior that happens inside
  60.644 +the gaps, which executes on the invisible timeline. This behavior is what decides which timelines end up
  60.645 +sharing a tie point. It is that decision making, of which timelines to tie together, that implements the
  60.646 +semantics of a synchronization construct.
  60.647 +
  60.648 +A workshop paper also discusses tie points
  60.649 +[]. A formal treatment of tie-points is beyond the scope of this paper. However, a formal framework has been substantially completed and
  60.650 +will be published in a future paper.  
  60.651 +
  60.652 +
  60.653 +
  60.654 +\subsection{Tie-points within a proto-runtime}
  60.655 +
  60.656 + 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
  60.657 +proto-runtime executes the language plugin behavior.
  60.658 +It acts as the hidden timeline.
  60.659 +
  60.660 + The proto-runtime code module also supplies implementations
  60.661 +of the primitives that are used to establish a tie-point, including these:
  60.662 +
  60.663 + %It provides the primitive that suspends a timeline and then causes language plugin behavior to execute in the gap. 
  60.664 +  
  60.665 +%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.
  60.666 +
  60.667 +%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. 
  60.668 +
  60.669 +%\subsection{More about the proto-runtime}
  60.670 +
  60.671 +\begin{itemize}
  60.672 +\item create a virtual processor (which has a suspendible timeline)
  60.673 +\item create a task (which has an atomic timeline that runs to completion)
  60.674 +
  60.675 +\item suspend a timeline, then invoke a   function to handle the suspension -- handler is  supplied with
  60.676 +parameters from application 
  60.677 +\item resume a timeline, which makes it ready for execution
  60.678 +\item end a timeline
  60.679 +\item trigger choosing which virtual processor or task to begin execution on an offered
  60.680 +core
  60.681 +
  60.682 +\end{itemize}
  60.683 +
  60.684 +Virtual processors and tasks, both, have associated timelines. The reason for having both is a practical one, as tasks are simpler, with less overhead,
  60.685 +and many languages have the semantics of short, atomic, units of work that
  60.686 +are not intended to suspend. Thus, tasks are treated differently inside the
  60.687 +proto-runtime, and incur less overhead to create and run.
  60.688 +
  60.689 +A special feature of the proto-runtime is that if a task happens to execute
  60.690 +a language command that causes suspension, then the proto-runtime automatically
  60.691 +converts that task to a suspendible virtual processor. This helps support the mixing of different
  60.692 +languages within the same program.
  60.693 +
  60.694 +
  60.695 +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
  60.696 +can be communicated from the wrapper library to the plugin. 
  60.697 +
  60.698 +
  60.699 +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,
  60.700 +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. 
  60.701 +
  60.702 +The proto-runtime involves the language into the process of choosing which core a given task
  60.703 +or virtual processor executes on. The proto-runtime maintains control, but offers free cores to the Assigner
  60.704 +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.
  60.705 +
  60.706 +
  60.707 +
  60.708 +\subsection{Concrete Example}\label{subsec:Example}
  60.709 +
  60.710 +To make this concrete, consider the example of implementing
  60.711 +acquire mutex and release mutex. The semantics are:
  60.712 +
  60.713 +\begin{itemize}
  60.714 +\item Acquire Mutex: A thread  calls the construct,
  60.715 +and
  60.716 +provides the name of the mutex. If no thread owns the
  60.717 +mutex, the calling thread is given ownership and it
  60.718 +continues to make progress. However, if a different thread
  60.719 +already owns the mutex, the calling thread is put into a queue
  60.720 +of waiting threads, and stops making progress. 
  60.721 +\item Release Mutex: A thread calls the construct and
  60.722 +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
  60.723 +that called the release construct.. 
  60.724 +\end{itemize} 
  60.725 +
  60.726 +This calls for a data structure that has two fields:
  60.727 +one holds the thread that currently owns the mutex,
  60.728 +the other holds a queue of threads waiting to acquire
  60.729 +the mutex. The semantics of a construct involve multiple
  60.730 +reads
  60.731 +and writes of the data structure. Hence, the
  60.732 + structure must  be protected
  60.733 +from races between different threads. 
  60.734 +
  60.735 +The protection
  60.736 +is where the difficulty comes into the implementation,
  60.737 +and where performance issues come into the picture.
  60.738 +It could be accomplished with a single global lock
  60.739 +  that uses hardware primitives, or accomplished
  60.740 +with wait-free data structures that only rely upon the coherence
  60.741 +mechanism of the memory system, or even by message passing plus
  60.742 +quorum techniques.
  60.743 +
  60.744 +However, the implementation of the semantics  is independent
  60.745 +of the implementation of the protection. They are orthogonal,
  60.746 +and an interface can be placed between them. One side
  60.747 +of the interface implements checking and updating the fields of
  60.748 +the data structure, while the other side implements
  60.749 +protecting the first side from interference.
  60.750 + 
  60.751 +The side that provides protection requires fields,
  60.752 +for its use, to be placed into the data structure used
  60.753 +to represent a thread. To hide those details,
  60.754 +the protection side should also provide
  60.755 +primitives to create and destroy threads, as well as suspend
  60.756 +and resume them.
  60.757 +
  60.758 +This interface that separates the semantic side from
  60.759 +the protection
  60.760 +side is the proto-runtime interface. It is what enables
  60.761 +the modularization of runtime system implementations.
  60.762 +
  60.763 +The tie-point concept provides a model for thinking
  60.764 +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.
  60.765 + That provides a cross-hardware way of specifying synchronization
  60.766 +behavior using just sequential thinking. The proto-runtime primitives implement the elements of the tie-point model.    
  60.767 +
  60.768 + %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
  60.769 +%constructs. Either way,  developing the behavior proves
  60.770 +%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.
  60.771 +
  60.772 +
  60.773 +
  60.774 +
  60.775 +
  60.776 +\section{Concrete Details}
  60.777 +Now that we have seen the concepts of how to modularize
  60.778 +a runtime system, using the tie-point model, it is
  60.779 +time to make the concepts concrete by showing code
  60.780 +segments that implement each of the concepts, and code
  60.781 +segments that use the concepts.  We will start with
  60.782 +the big picture and work down.
  60.783 +
  60.784 +The first stop will be the development process, showing
  60.785 +how it is fractured into three separate and independent
  60.786 +development activities.  Next, we will show examples
  60.787 +of how application
  60.788 +code invokes constructs, and follow the path of calls
  60.789 +down to the point it switches over to the runtime system. Lastly,
  60.790 +we will look at the flow of control inside the runtime,
  60.791 +where we will focus on the interaction between plugin
  60.792 +code and proto-runtime code.  
  60.793 +
  60.794 +In this last portion, we will show how the
  60.795 +interface supplies the plugin with a consistent ``inside
  60.796 +the runtime" environment.  Along with that, we will
  60.797 +show how providing
  60.798 +a consistent environment
  60.799 + is an implementation of the "single hidden timeline" portion
  60.800 + of the tie-point model. We will also show how it is
  60.801 + the existence of a \textit{single} hidden timeline
  60.802 + that allows the semantic portion of the language constructs
  60.803 +to be written in a sequential style, without regard to concurrency issues.  
  60.804 +
  60.805 +
  60.806 +\subsection{Three independent development efforts}
  60.807 +
  60.808 +To get a handle on the big picture,  we describe the
  60.809 +three independent paths that development takes:
  60.810 +one for development of proto-runtime code, one for
  60.811 +development of language implementation, and one for
  60.812 +application development. Each of these produces a separate
  60.813 +installable artifact.
  60.814 +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.
  60.815 + 
  60.816 +The proto-runtime code is developed separately from
  60.817 +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.
  60.818 +
  60.819 +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. 
  60.820 +
  60.821 +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. 
  60.822 +
  60.823 +The wrapper library, however, is not
  60.824 +installed on the machine where code runs. Rather, it
  60.825 +is only used during development of an application,
  60.826 +and remains independent of hardware.
  60.827 + 
  60.828 +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.  
  60.829 +When an application is executed, the loader binds the
  60.830 +dynamic libraries, connecting them to the application.
  60.831 + In this way, a single,
  60.832 +unchanging, executable gains access to machine-specific implementations of language and proto-runtime.  
  60.833 +
  60.834 +However, the success of the compile-once approach has
  60.835 +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
  60.836 +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.
  60.837 +
  60.838 +\subsection{Walk through of activity during execution} 
  60.839 +
  60.840 +At this point, we present a picture of the flow of control on each
  60.841 +of two cores, as the core is switched between application
  60.842 +code and runtime code.  It is too early to understand
  60.843 +the details, but this figure can be referred back to
  60.844 +as each portion is discussed in the coming sub-sections.
  60.845 +Each portion of the figure is labelled with the sub-section that describes that portion of activity. 
  60.846 +
  60.847 +At the top is the main program, which starts the proto-runtime,
  60.848 +and creates a proto-runtime process.  Below that is
  60.849 +depicted the creation of proto-runtime virtual processors,
  60.850 +along with the animation of application code by those virtual
  60.851 +processors.
  60.852 +
  60.853 +?
  60.854 +
  60.855 +The application  passes information to a wrapper library
  60.856 +call,
  60.857 +such as the ID of the mutex to acquire. The library function packages the
  60.858 +information into a request data structure, then invokes a proto-runtime
  60.859 +primitive. That suspends the virtual processor (timeline) that is executing
  60.860 +that code.  The call to the primitive passes as arguments the request structure and a pointer
  60.861 +to the plugin function that will handle the request.
  60.862 +The handler runs inside the Master and chooses which
  60.863 +other timelines to resume as a consequence of the wrapper-library
  60.864 +call. Those timelines will then resume, returning from
  60.865 +whatever wrapper-library call caused them to suspend.  In this way, the request handle implements the behavior of a
  60.866 +synchronization construct.
  60.867 +
  60.868 +However, there is one last step between the request
  60.869 +handler marking a timeline as ready to resume 
  60.870 +and it becoming re-animated. That step is where the
  60.871 +assignment half of the language plugin comes into play.
  60.872 +The request handlers stack up work that is free to
  60.873 +be executed, but it is the assigner that chooses which
  60.874 +of those to place onto an offered core.
  60.875 +
  60.876 +
  60.877 +
  60.878 +
  60.879 +
  60.880 +\begin{figure*}[ht]
  60.881 +  \centering
  60.882 +  \includegraphics[width = 7.0in, height = 4.5in]
  60.883 +  {../figures/Proto-Runtime__modules_plus_plugin_plus_code.pdf}
  60.884 +  \caption{Illustration of the physical time sequence of the timelines of multiple virtual processors executing on multiple
  60.885 +cores. The timelines run top to bottom, while calls
  60.886 +between modules and returns run horizontally. The colors of Fn names indicate whether the
  60.887 +code is part of the application (green), the proto-runtime module (blue), or the language  (red). The top two timelines are animated
  60.888 +by core 1, while the bottom 2 are animated by core
  60.889 +2. The boxes
  60.890 +represent virtual processors, each with its associated
  60.891 +timeline next to it. The timelines have no relative
  60.892 +ordering, except at tie-points established by the Request
  60.893 +Handlers.   Gaps in the timelines are caused by suspension,
  60.894 +which is effected by primitives within the proto-runtime
  60.895 +code module.}
  60.896 +  \label{fig:langBreakdown}
  60.897 +\end{figure*}
  60.898 +
  60.899 +
  60.900 +
  60.901 +\subsection{Using language constructs}
  60.902 +In the simple form of an eDSL, the language constructs
  60.903 +take the form of function calls. The reader familiar
  60.904 +with posix threads will have used function calls to
  60.905 +perform mutex acquire commands and mutex release commands.
  60.906 +Here, we illustrate invoking language commands in the
  60.907 +same way.
  60.908 +
  60.909 +We use posix threads for our example because it is
  60.910 +a familiar language that the reader already knows well.
  60.911 +It allows us to illustrate the concepts new to proto-runtime without introducing potential confusion about what the language semantics are.
  60.912 +
  60.913 +\subsubsection{Main and startup}
  60.914 +Before using a proto-runtime based language, the proto-runtime
  60.915 +system must be started, and a proto-runtime process
  60.916 +must be created.  Fig X shows this. Notice that the
  60.917 +create process was given a pointer
  60.918 +to a function.  This function is the seed of the proto-runtime
  60.919 +based application code.  This seed must start all proto-runtime
  60.920 +based languages that will be used in the application,
  60.921 +and must create the virtual processors and tasks that
  60.922 +perform the work and may in turn create more VPs and/or tasks that perform work.
  60.923 +
  60.924 +==main, with PR\_\_start and PR\_\_create\_process == 
  60.925 +
  60.926 +\subsubsection{Seed birth function and thread birth
  60.927 +function}
  60.928 +Fig X shows our example seed function. It first starts
  60.929 +the language that will be used, which is Vthread. It
  60.930 +is an implementation of posix threads that is on top of proto-runtime.
  60.931 +Next, the seed uses Vthread commands to create two
  60.932 +threads, and then uses Vthread join to wait for both
  60.933 +threads to die.  Lastly it "dissipates", which is the
  60.934 +command that kills the virtual processor that is animating
  60.935 +the function.
  60.936 +
  60.937 +==seed\_birth\_Fn, with Vthread\_\_start(), Vthread\_\_create\_thread,
  60.938 +Vthread\_\_join, Vthread\_\_stop, and dissipate==
  60.939 +
  60.940 +Notice the signature
  60.941 +of the seed birth function. It returns void, and takes a pointer
  60.942 +to void plus a pointer to a SlaveVP struct. This is
  60.943 +the standard signature that must be used for all birth functions for
  60.944 +proto-runtime created virtual processors or tasks.  
  60.945 +
  60.946 +
  60.947 +Also, notice that the standard signature includes a
  60.948 +pointer to a SlaveVP struct. This is a proto-runtime
  60.949 +defined structure, which holds the meta-information
  60.950 +about a virtual processor. The birth function is handed
  60.951 +the structure of the virtual processor that is animating
  60.952 +it.
  60.953 +
  60.954 +An illuminating aside is that the birth function for
  60.955 +a posix thread doesn't need
  60.956 +to be handed the structure representing the animating thread.
  60.957 +That is because the operating system tracks which thread
  60.958 +is assigned to which core.  Posix thread constructs work by executing
  60.959 +an instruction that suspends the code executing on
  60.960 +the core and switches
  60.961 +the core over to animating the OS kernel code. The OS kernel
  60.962 +then looks up the data structure that is assigned to
  60.963 +the core.  
  60.964 +
  60.965 +That lookup is how the OS kernel gains the
  60.966 +pointer to the thread that was animating the application
  60.967 +code that called the posix construct.  But the implementation
  60.968 +of proto-runtime illustrated in this paper doesn't
  60.969 +have such a hardware based suspend instruction available,
  60.970 +and so proto-runtime-based application code must explicitly pass around the pointer to the data
  60.971 +structure of the virtual processor performing the animation. 
  60.972 +
  60.973 +Fig X shows the birth function of the threads created
  60.974 +by the seed birth function.  It uses the Vthread equivalent
  60.975 +of mutex acquire and release to protect access to
  60.976 +a critical section. Notice that the signature
  60.977 +is the same as the signature of the seed birth function.
  60.978 +Also notice that the SlaveVP structure is handed to
  60.979 +each invocation of a Vthread construct.  In the next
  60.980 +several sub sections we will track how this SlaveVP structure
  60.981 +is used.
  60.982 +
  60.983 +==thread birth function.. uses Vthread acquire and
  60.984 +release to protect a counter plus print of count value==
  60.985 +
  60.986 +
  60.987 +\subsection{Language Wrapper Library}
  60.988 +
  60.989 +Looking at the implementation of the Vthread calls
  60.990 +reveals code such as in Fig X.
  60.991 + 
  60.992 +==wrapper lib code for mutex acquire==
  60.993 +
  60.994 +There's nothing much to it.  It just creates a data
  60.995 +structure, fills it, then hands it to a proto-runtime
  60.996 +call.  This is a starnd form for wrapper library
  60.997 +calls. The data structure is used to carry information
  60.998 +into the proto-runtime (the proto-runtime that was
  60.999 +started by the PR\_\_start command).  The PR call is
 60.1000 +the equivalent of the hardware instruction that suspends
 60.1001 +application code and switches to the kernel.  For the
 60.1002 +implementation of PR illustrated in this paper, this
 60.1003 +call is implemented with assembly instructions.
 60.1004 +
 60.1005 +This wrapper library code is placed on the machine
 60.1006 +used during development of the application, and is
 60.1007 +compiled into the application executable.  However,
 60.1008 +the proto-runtime call is a link to a dynamic library,
 60.1009 +and is not part of the application executable.
 60.1010 +
 60.1011 +Notice that the PR\ primitive is given a pointer to
 60.1012 +a function.  This is called the handler function, and
 60.1013 +is part of the language plugin.  The proto-runtime
 60.1014 +will actually perform the call to the handler function, but in a carefully controlled
 60.1015 +way. It will provide the handler function with a carefully controlled environment
 60.1016 +to use while it handles this wrapper-library call.
 60.1017 +We will see in a moment how proto-runtime invokes the
 60.1018 +handler function, and what such a handler function
 60.1019 +looks like.
 60.1020 +
 60.1021 +First, here's the assembly that suspends the application code and
 60.1022 +switches to the proto-runtime code, as seen in Fig X
 60.1023 +
 60.1024 +==assembly of suspend and switch==
 60.1025 +
 60.1026 +All it does is save the program counter and stack pointer
 60.1027 +into the SlaveVP structure, then load in the program
 60.1028 +counter and stack pointer of the proto-runtime code,
 60.1029 +which was previously saved in different fields of that same SlaveVP structure.
 60.1030 +
 60.1031 +\subsubsection{proto-runtime code that is switched
 60.1032 +to}
 60.1033 +
 60.1034 +The PR assembly code switches the core to executing
 60.1035 +the (psuedo) code seen in Fig X.
 60.1036 +
 60.1037 +==animation master code, which calls plugin fns==
 60.1038 +
 60.1039 +All this does is invoke the handler function named
 60.1040 +in the wrapper library, and hands it an environmen.
 60.1041 +This is the hidden environment referred to in the tie-point
 60.1042 +model.  It must be accessed in an isolated, atomic,
 60.1043 +fashion.  The proto-runtime code seen here happens
 60.1044 +to use a global lock for each language's environment.
 60.1045 + However other implementations are possible.  In order
 60.1046 + to keep overhead low, it uses the Compare And Swap
 60.1047 + instruction to acquire the lock, and an exponential random
 60.1048 + backoff scheme when contention for the lock arises.
 60.1049 + 
 60.1050 + The handler function is the hidden behavior that executes
 60.1051 + on the hidden timeline that is mentioned in the tie-point
 60.1052 + model. The suspend primitive is what begins a special
 60.1053 + beat on the lifeline of the virtual processor that
 60.1054 + executed the wrapper library call. It is this handler
 60.1055 + code that then establishes the causal connections
 60.1056 + between such special beats, and so ties them together.
 60.1057 + The causal connection is via the changes make to the
 60.1058 + language environment.
 60.1059 + 
 60.1060 + So, in summary, the proto-runtime is the hidden timeline.
 60.1061 + The suspend primitive is what starts a special beat
 60.1062 + and starts the behavior on the hidden timeline. The
 60.1063 + lock is what isolates and sequentializes
 60.1064 + the behavior on the hidden timeline.  The language
 60.1065 + environment is the hidden state used to establish
 60.1066 + causal connection between special beats.
 60.1067 +
 60.1068 +
 60.1069 +
 60.1070 +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.
 60.1071 +
 60.1072 +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.
 60.1073 +
 60.1074 +
 60.1075 +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.
 60.1076 +
 60.1077 +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.
 60.1078 +
 60.1079 +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.  
 60.1080 +
 60.1081 +?
 60.1082 +
 60.1083 +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.
 60.1084 +
 60.1085 +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.   
 60.1086 +
 60.1087 +===================
 60.1088 +
 60.1089 +
 60.1090 +\subsection{not sure}
 60.1091 +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.
 60.1092 +
 60.1093 +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.
 60.1094 +
 60.1095 +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. 
 60.1096 +
 60.1097 +?
 60.1098 +
 60.1099 +The only thing you're allowed to do outside a language is create the environment in which you start a language.
 60.1100 +
 60.1101 +?
 60.1102 +
 60.1103 +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". 
 60.1104 +The request handler plus plugin together provide the two halves of what people normally call a scheduler.
 60.1105 +
 60.1106 +=================
 60.1107 +
 60.1108 +\subsection{more on tie-points}
 60.1109 +Any event visible before in one is visible in both after. The guarantee is between before in one and after in both. 
 60.1110 +
 60.1111 +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.
 60.1112 +
 60.1113 +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.
 60.1114 +
 60.1115 +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.
 60.1116 +
 60.1117 +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.  
 60.1118 +
 60.1119 +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.
 60.1120 +
 60.1121 +
 60.1122 +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.
 60.1123 +
 60.1124 +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.
 60.1125 +
 60.1126 +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. 
 60.1127 +
 60.1128 +===========
 60.1129 +
 60.1130 +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.   
 60.1131 +
 60.1132 +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.
 60.1133 +
 60.1134 +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.
 60.1135 +
 60.1136 +============
 60.1137 +    
 60.1138 +
 60.1139 +\subsection{More on eDSLs}
 60.1140 +%======================================
 60.1141 +
 60.1142 +%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.
 60.1143 +
 60.1144 +%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. 
 60.1145 +
 60.1146 +%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. 
 60.1147 +
 60.1148 +%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.
 60.1149 +
 60.1150 +
 60.1151 +% ==============
 60.1152 +
 60.1153 +%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. 
 60.1154 +
 60.1155 +%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. 
 60.1156 +
 60.1157 +%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. 
 60.1158 +
 60.1159 +%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.    
 60.1160 +
 60.1161 +
 60.1162 +
 60.1163 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 60.1164 +\subsection{Details}
 60.1165 +\label{subsec:Details}
 60.1166 +
 60.1167 +  what responsibilities are encapsulated in which modules, and what the interfaces between them look like. 
 60.1168 +
 60.1169 +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.   
 60.1170 +
 60.1171 +?
 60.1172 +
 60.1173 +
 60.1174 +
 60.1175 + overhead measurements 
 60.1176 +
 60.1177 +implementation time measurements
 60.1178 +
 60.1179 + discuss why equivalent user-level M to N thread packages haven't been pursued, leaving no viable user-level libraries to compare against.
 60.1180 +
 60.1181 + give numbers that indicate that the proto-runtime approach is also competitive with Cilk, and OMPSs, on large multi-core servers.
 60.1182 +
 60.1183 + 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
 60.1184 +least, the same effort would have to be expended on
 60.1185 +each and every language that we expended on performance
 60.1186 +tuning our proto-runtime.
 60.1187 +
 60.1188 +  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 
 60.1189 +
 60.1190 +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.
 60.1191 +
 60.1192 +Then, with the full understanding of the proto-runtime approach in hand, we discuss  how it compares to related work (\S ).
 60.1193 +
 60.1194 +Finally, we highlight the main conclusions drawn from the work (\S ).
 60.1195 +
 60.1196 +
 60.1197 +
 60.1198 +?
 60.1199 +
 60.1200 +
 60.1201 +
 60.1202 +
 60.1203 + The behavior module creates work and determines when work is free the execute, it  tracks  constraints on work imposed by language semantics, and constraints
 60.1204 +due to data dependencies.
 60.1205 +
 60.1206 + 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.  
 60.1207 +
 60.1208 +?
 60.1209 +
 60.1210 +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.
 60.1211 +
 60.1212 +
 60.1213 +
 60.1214 +   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.   
 60.1215 +
 60.1216 + implementing language logic, 
 60.1217 +
 60.1218 +show how the proto-runtime interface allows it to use sequential thinking. 
 60.1219 +
 60.1220 +give similar detail on the implementation of the assigner,
 60.1221 +we discuss how that has the potential to improve application performance by reducing communication between cores and reducing idle time of cores. 
 60.1222 +
 60.1223 +support  belief that the patterns we followed when modularizing are indeed fundamental and will remain valid for future languages and hardware. 
 60.1224 +
 60.1225 + discuss some of the centralized services provided by the current proto-runtime implementation, as well as planned future ones. 
 60.1226 +
 60.1227 +reusing language logic from one language implementation to another. 
 60.1228 +
 60.1229 +
 60.1230 +%%%%%%%%%%%%%%%%%%%%%%%%
 60.1231 +%%
 60.1232 +%%%%%%%%%%%%%%%%%%%%%%%%
 60.1233 +\section{Measurements}
 60.1234 +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}
 60.1235 +
 60.1236 +\subsection{Overhead Measurements} \label{subsec:OverheadMeas}
 60.1237 +For the following, we use a 4-core single socket 2.4Ghz laptop, and a 4 socket by 10 core each server.
 60.1238 +
 60.1239 +For runtime performance:
 60.1240 +
 60.1241 +-- Vthread vs pthread: laptop and server on exe vs task (and fibonacci?)
 60.1242 +
 60.1243 +-- VCilk vs Cilk: laptop and server on fibonacci (from Albert)
 60.1244 +
 60.1245 +-- VOMP vs OpenMP: laptop and server on exe vs task and fibonacci
 60.1246 +
 60.1247 +-- VSs vs OMPSs: laptop and server on fibonacci and jpeg
 60.1248 +
 60.1249 +\begin{tabular}{|c|c|c|c|c|c|c|}\hline
 60.1250 +a & 2 & a & a & a & a & a \\\hline
 60.1251 +a & 2 & a & a & a & a & a \\\hline
 60.1252 +a & a & a & a & a & a & a \\\hline
 60.1253 +a & a & a & a & a & a & a \\\hline
 60.1254 +\end{tabular}
 60.1255 +\caption{}
 60.1256 +\label{tab}
 60.1257 +
 60.1258 +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.
 60.1259 +
 60.1260 +
 60.1261 +\subsubsection{Vthread Versus Highly Tuned Posix Threads}
 60.1262 +
 60.1263 +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.  
 60.1264 +\subsubsection{VCilk Versus Cilk 5.4}
 60.1265 +In \S we give numbers that indicate that the proto-runtime approach is also competitive with Cilk
 60.1266 +\subsubsection{VSs Versus StarSs (OMPSs)}
 60.1267 +OMPSs
 60.1268 +\subsubsection{VOMP Versus OpenMP}
 60.1269 +VOMP
 60.1270 +
 60.1271 +
 60.1272 +%%%%%%%%%%%%%%%%%%%%%%%%
 60.1273 +%%
 60.1274 +%%%%%%%%%%%%%%%%%%%%%%%%
 60.1275 +\subsection{Development Time Measurements}\label{subsec:ImplTimeMeas}
 60.1276 +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.
 60.1277 +
 60.1278 +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.
 60.1279 + 
 60.1280 +
 60.1281 +\begin{centering}
 60.1282 +\begin{tabular}{|l|r|r|r|r|r|r|}
 60.1283 +  \cline{2-7}
 60.1284 +  \multicolumn{1}{r|}{} & SSR & Vthread & VCilk & HWSim & VOMP & VSs\\
 60.1285 +  \cline{2-7}
 60.1286 +  \noalign{\vskip2pt}
 60.1287 +  \hline
 60.1288 +  Design & 19 & 6 & 3 & 52 & 18& 6\\
 60.1289 +  Code & 13 & 3 & 3& 32 & 9& 12\\
 60.1290 +  Test & 7 & 2 & 2& 12 & 8& 5\\
 60.1291 +  L.O.C. & 470 & 290 & 310& 3000 & 690 & 780\\
 60.1292 +  \hline
 60.1293 +\end{tabular}
 60.1294 +\caption
 60.1295 +{Hours to design, code, and test each embedded language. L.O.C. is lines of (original) C code, excluding libraries and comments.
 60.1296 +}
 60.1297 +\end{centering}
 60.1298 +\label{tabPersonHoursLang}
 60.1299 +
 60.1300 +\subsubsection{Comparison of Design Approaches}
 60.1301 +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.
 60.1302 +
 60.1303 +
 60.1304 +%%%%%%%%%%%%%%%%%%%%%%%%
 60.1305 +%%
 60.1306 +%%%%%%%%%%%%%%%%%%%%%%%%
 60.1307 +\section{Related Work} \label{sec:Related}
 60.1308 +
 60.1309 +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.
 60.1310 +
 60.1311 +We first talk about each of these approaches, then summarize the conclusions in Table \ref{tab:CriteriaVsApproach}.
 60.1312 +
 60.1313 +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.
 60.1314 +
 60.1315 +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.  
 60.1316 +
 60.1317 +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.
 60.1318 +
 60.1319 +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.
 60.1320 +
 60.1321 +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. 
 60.1322 + 
 60.1323 +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. 
 60.1324 +
 60.1325 +\begin{center}
 60.1326 +\begin{tabular}{|c|c|c|c|c|}\hline
 60.1327 +Runtime Creation  & \textbf{impl.}& \textbf{porting} & \textbf{runtime} & \textbf{application} \\
 60.1328 +\textbf{} & \textbf{ease} & \textbf{ease} & \textbf{perf.} & \textbf{perf.}\\\hline
 60.1329 +\textbf{OS Threads} & ++ & ++ & + & + \\\hline
 60.1330 +\textbf{User Threads} & ++& ++ & ++ & + \\\hline
 60.1331 +\textbf{TBB} & ++ & ++ & ++ & + \\\hline
 60.1332 +\textbf{libGomp} & +++ & ++ & +++ & ++++ \\\hline
 60.1333 +\textbf{HW primitives} & + & + & +++++ & +++++ \\\hline
 60.1334 +\textbf{Proto-runtime} & +++++ & +++++ & ++++ & +++++\\\hline
 60.1335 +\end{tabular}
 60.1336 +\end{center}
 60.1337 +\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. }
 60.1338 +\label{tab:CriteriaVsApproach}
 60.1339 +
 60.1340 +
 60.1341 +
 60.1342 +
 60.1343 +%%%%%%%%%%%%%%%%%%%%%%%%
 60.1344 +%%
 60.1345 +%%%%%%%%%%%%%%%%%%%%%%%%
 60.1346 +\section{Conclusions and Future Work}
 60.1347 +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. 
 60.1348 +%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.
 60.1349 +
 60.1350 +
 60.1351 +%[[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]] 
 60.1352 +
 60.1353 +
 60.1354 +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.
 60.1355 +
 60.1356 +  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. 
 60.1357 +
 60.1358 +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.
 60.1359 +
 60.1360 +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. 
 60.1361 +
 60.1362 +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.
 60.1363 +
 60.1364 +Work on the proto-runtime approach is in its infancy, and much remains to be done, including:
 60.1365 +\begin{itemize} 
 60.1366 +\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.
 60.1367 +\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.
 60.1368 +\item Exploring work assignment implementations that take advantage of language and application knowledge to improve placement of work to gain higher application performance.
 60.1369 +\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.
 60.1370 +\end{itemize}
 60.1371 +
 60.1372 +
 60.1373 +=============================================
 60.1374 +==
 60.1375 +==
 60.1376 +==
 60.1377 +==
 60.1378 +==
 60.1379 +=============================================
 60.1380 +
 60.1381 +\section{The Problem}
 60.1382 +
 60.1383 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1384 +
 60.1385 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1386 +
 60.1387 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1388 +
 60.1389 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1390 +
 60.1391 +
 60.1392 +[[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]]
 60.1393 +
 60.1394 +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.
 60.1395 +
 60.1396 +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}).
 60.1397 + 
 60.1398 +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 []).
 60.1399 +
 60.1400 +The main implications for runtime systems, which were uncovered within the section, are summarized at the end (subsection []).
 60.1401 +
 60.1402 +\subsection{Classifying parallel languages by virtual processor based vs task based}
 60.1403 +\label{subsec:ClassifyingLangs}
 60.1404 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1405 +
 60.1406 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1407 +
 60.1408 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1409 +
 60.1410 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1411 +
 60.1412 +
 60.1413 +[[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]]
 60.1414 +
 60.1415 +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.
 60.1416 +
 60.1417 +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.  
 60.1418 +
 60.1419 +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.  
 60.1420 +
 60.1421 +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.
 60.1422 +
 60.1423 +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.
 60.1424 +
 60.1425 +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.  
 60.1426 +
 60.1427 +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.
 60.1428 +
 60.1429 +
 60.1430 +\subsection{Domain specific parallel languages}
 60.1431 +\label{subsec:DomSpecLangs}
 60.1432 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1433 +
 60.1434 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1435 +
 60.1436 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1437 +
 60.1438 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1439 +
 60.1440 +
 60.1441 +[[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]]
 60.1442 +
 60.1443 +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.
 60.1444 +
 60.1445 +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.
 60.1446 +
 60.1447 +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.
 60.1448 +
 60.1449 +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.
 60.1450 +
 60.1451 +\subsection{The embedded style of DSL}
 60.1452 +\label{subsec:EmbeddedDSLs}
 60.1453 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1454 +
 60.1455 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1456 +
 60.1457 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1458 +
 60.1459 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1460 +
 60.1461 +
 60.1462 +[[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]]
 60.1463 +
 60.1464 +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.
 60.1465 +
 60.1466 +
 60.1467 +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.
 60.1468 +
 60.1469 +
 60.1470 +\begin{figure}[h!tb]
 60.1471 +{\noindent
 60.1472 +{\footnotesize
 60.1473 +{\normalsize Creating a new virtual processor (VP):}
 60.1474 +\begin{verbatim}
 60.1475 +newVP = SSR__create_VP( &top_VP_fn, paramsPtr, animatingVP );
 60.1476 +\end{verbatim}
 60.1477 +
 60.1478 +{\noindent {\normalsize sending a message between VPs:}}
 60.1479 +\begin{verbatim}
 60.1480 +SSR__send_from_to( messagePtr, sendingVP, receivingVP );
 60.1481 +\end{verbatim}
 60.1482 +
 60.1483 +{\noindent {\normalsize receiving the message (executed in a different VP):}}
 60.1484 +\begin{verbatim}
 60.1485 +messagePtr = SSR__receive_from_to( sendingVP, receivingVP );
 60.1486 +\end{verbatim}
 60.1487 +}
 60.1488 +}
 60.1489 +
 60.1490 +\caption
 60.1491 +{Examples of invoking embedded-style  constructs.
 60.1492 +}
 60.1493 +\label{fig:EmbeddedEx}
 60.1494 +\end{figure}
 60.1495 +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.
 60.1496 +
 60.1497 +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.
 60.1498 +
 60.1499 +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. 
 60.1500 +
 60.1501 +\subsection{Application programmer's view of embedded-style DSLs}
 60.1502 +\label{subsec:AppProgViewOfDSL}
 60.1503 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1504 +
 60.1505 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1506 +
 60.1507 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1508 +
 60.1509 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1510 +
 60.1511 +
 60.1512 +[[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]]
 60.1513 +
 60.1514 +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. 
 60.1515 +
 60.1516 +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.
 60.1517 +
 60.1518 +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. 
 60.1519 +
 60.1520 +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.   
 60.1521 +
 60.1522 +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.  
 60.1523 +
 60.1524 +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.
 60.1525 +
 60.1526 +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).     
 60.1527 +
 60.1528 +\subsection{Implementation of Embedded-style DSLs}
 60.1529 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1530 +
 60.1531 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1532 +
 60.1533 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1534 +
 60.1535 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1536 +
 60.1537 +
 60.1538 +[[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]]
 60.1539 +
 60.1540 +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.
 60.1541 +
 60.1542 +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. 
 60.1543 +
 60.1544 +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.
 60.1545 +
 60.1546 +
 60.1547 + 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. 
 60.1548 +
 60.1549 +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.
 60.1550 +
 60.1551 +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.    
 60.1552 +
 60.1553 +The advantage of placing these into the language, instead of application code, is portability and productivity.
 60.1554 +
 60.1555 +
 60.1556 +\subsection{Implementation Details of Embedded-style DSLs}
 60.1557 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1558 +
 60.1559 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1560 +
 60.1561 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1562 +
 60.1563 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1564 +
 60.1565 +
 60.1566 +[[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]]
 60.1567 +
 60.1568 +?
 60.1569 +
 60.1570 +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.
 60.1571 +
 60.1572 +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. 
 60.1573 +
 60.1574 +The core is  used by the construct implementation differently for   VP based languages vs  for task based languages.
 60.1575 +
 60.1576 +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.  
 60.1577 +
 60.1578 +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.  
 60.1579 +
 60.1580 +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.
 60.1581 +
 60.1582 +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.
 60.1583 +
 60.1584 +
 60.1585 +One survey[] discusses DSLs for a variety of domains, and this list of DSLs was copied from their paper:
 60.1586 +\begin{itemize} 
 60.1587 +\item In Software Engineering: Financial products [12, 22, 24], behavior control and coordination [9, 10], software architectures [54], and databases [39].
 60.1588 +\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].
 60.1589 +\item Multi-Media: Web computing [14, 35, 4, 33], image manipulation [73], 3D animation [29], and drawing [44].
 60.1590 +\item Telecommunications: String and tree languages for model checking [48], communication protocols [6], telecommunication switches [50], and signature computing [11].
 60.1591 +\item Miscellaneous: Simulation [2, 13], mobile agents [36], robot control [61], solving partial differential equations [26], and digital hardware design [41].
 60.1592 +\end{itemize}
 60.1593 +
 60.1594 +\subsection{Summary of Section}
 60.1595 + [[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1596 +
 60.1597 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1598 +
 60.1599 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1600 +
 60.1601 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1602 +
 60.1603 +
 60.1604 +[[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]]
 60.1605 +
 60.1606 +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.
 60.1607 +
 60.1608 +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.  
 60.1609 +
 60.1610 +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. 
 60.1611 +
 60.1612 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 60.1613 +\section{Description}
 60.1614 +\label{sec:idea}
 60.1615 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1616 +
 60.1617 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1618 +
 60.1619 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1620 +
 60.1621 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1622 +
 60.1623 +
 60.1624 +[[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]]
 60.1625 +
 60.1626 +?
 60.1627 + 
 60.1628 +
 60.1629 +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.
 60.1630 +
 60.1631 +
 60.1632 +\begin{figure}[ht]
 60.1633 +  \centering
 60.1634 +  \includegraphics[width = 2in, height = 1.8in]{../figures/PR_three_pieces.pdf}
 60.1635 +  \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. }
 60.1636 +  \label{fig:PR_three_pieces}
 60.1637 +\end{figure}
 60.1638 +
 60.1639 +
 60.1640 +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.
 60.1641 +
 60.1642 +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.
 60.1643 +
 60.1644 +\subsection{Creating an eDSL}
 60.1645 +
 60.1646 +
 60.1647 +\begin{figure}[ht]
 60.1648 +  \centering
 60.1649 +  \includegraphics[width = 2in, height = 1.8in]{../figures/eDSL_two_pieces.pdf}
 60.1650 +  \caption{An embedded style DSL consists of two parts: a runtime and a wrapper library that invokes the runtime}
 60.1651 +  \label{fig:eDSL_two_pieces}
 60.1652 +\end{figure}
 60.1653 + 
 60.1654 +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.
 60.1655 +
 60.1656 +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.
 60.1657 +
 60.1658 +\subsection{The Proto-Runtime Modularization}
 60.1659 +
 60.1660 +\subsubsection{Dispatch pattern}
 60.1661 +-- standardizes runtime code
 60.1662 +-- makes familiar going from one lang to another
 60.1663 +-- makes reuse realistic, as demonstrated by VSs taking SSR constructs
 60.1664 +
 60.1665 +-- show the enums, and the switch table
 60.1666 +
 60.1667 +-- point out how the handler receives critical info -- the semEnv, req struct and calling slave
 60.1668 +
 60.1669 +\subsubsection{The Request Handler}
 60.1670 +-- cover what a request handler does.. connect it to the wrapper lib, and the info loaded into a request struct.
 60.1671 +
 60.1672 +-- give code of a request handler.. within on-going example of implementing pthreads, or possibly HWSim, or pick a new DSL 
 60.1673 +
 60.1674 +\subsection{Exporting a performance-oriented machine view }
 60.1675 +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. 
 60.1676 +
 60.1677 +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.
 60.1678 +
 60.1679 +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.
 60.1680 +
 60.1681 +This saves significant effort by allowing the same plugin to be reused for all the machines in the category.
 60.1682 + 
 60.1683 +\subsection{Services Provided by the Proto-runtime}
 60.1684 +
 60.1685 +-- 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.
 60.1686 +
 60.1687 +-- -- examples of iherited lang services inside current proto-runtime: debugging and perf-tuning..  verification, playback have been started (?)
 60.1688 +
 60.1689 +-- -- 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
 60.1690 +
 60.1691 +\subsection{eDSLs talking to each other}
 60.1692 +-- show how VSs is example of three different DSLs, and H264 code is three different languages interacting (pthreads, OpenMP, StarSs)
 60.1693 +
 60.1694 +-- 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.
 60.1695 +
 60.1696 +\subsection{The Proto-runtime Approach Within the Big Picture}
 60.1697 +
 60.1698 +-- Give background on industry-wide, how have langs times machines..  
 60.1699 +-- say that proto-runtime has synergistic advantages within this context. -- repeat that eDSLs talk to each other.
 60.1700 +-- give subsubsection on MetaBorg for rewriting eDSL syntax into base lang syntax.
 60.1701 +-- 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..
 60.1702 + 
 60.1703 +Preview idea that many players will contribute, and will get people that specialize in creating new eDSLs (such as one of authors)..
 60.1704 +-- For them, code-reuse is reality, as supported by VSs example, 
 60.1705 +-- and the uniformity of the pattern becomes familiar, also speeding up development, as also supported by VSs, HWSim, VOMP, and DKU examples.
 60.1706 +-- for those who only create a single eDSL, the pattern becomes a lowering of the learning curve, aiding adoption
 60.1707 +
 60.1708 +-- Restate and summarize the points below (covered above), showing how they combine to shrink the wide-spot where all the runtimes are. 
 60.1709 +
 60.1710 +-- The low-level part implemented on each machine, exports a view of the machine that shows performance-critical aspects
 60.1711 +
 60.1712 +-- Collect machines into groups, based on performance critical aspects of hardware.. provides reduction in effort because only one plugin for entire group. 
 60.1713 +
 60.1714 +-- 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.
 60.1715 +
 60.1716 +
 60.1717 +\section{(outline and notes)}
 60.1718 +
 60.1719 +-- What a plugin looks like: 
 60.1720 +
 60.1721 +-- -- 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
 60.1722 +
 60.1723 +-- -- 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.  
 60.1724 +
 60.1725 +-- -- --  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), 
 60.1726 +
 60.1727 +-- 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).
 60.1728 +
 60.1729 +
 60.1730 +-- Recipe for how to make the language plugin: time reduction is part due to simplifying the parallelism construct logic..  
 60.1731 +
 60.1732 +
 60.1733 +
 60.1734 +
 60.1735 +\subsection{The Cross-language Patterns Behind the Proto-runtime}
 60.1736 +
 60.1737 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1738 +
 60.1739 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1740 +
 60.1741 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1742 +
 60.1743 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1744 +
 60.1745 +
 60.1746 +[[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]]
 60.1747 +
 60.1748 +An application switches to the runtime, which does scheduling work then switches back to application code.
 60.1749 +
 60.1750 +
 60.1751 +\subsection{Some Definitions}
 60.1752 +
 60.1753 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1754 +
 60.1755 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1756 +
 60.1757 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1758 +
 60.1759 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1760 +
 60.1761 +
 60.1762 +[[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]]
 60.1763 +
 60.1764 +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.
 60.1765 +
 60.1766 +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.
 60.1767 +
 60.1768 +\subsection{Handling Memory Consistency Models}
 60.1769 +
 60.1770 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1771 +
 60.1772 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1773 +
 60.1774 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1775 +
 60.1776 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1777 +
 60.1778 +
 60.1779 +[[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]]
 60.1780 +
 60.1781 +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.
 60.1782 +
 60.1783 +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.  
 60.1784 +
 60.1785 +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.
 60.1786 +
 60.1787 +
 60.1788 +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.
 60.1789 +
 60.1790 +
 60.1791 +
 60.1792 +=======
 60.1793 +
 60.1794 +  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).
 60.1795 +   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.
 60.1796 +   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.
 60.1797 +
 60.1798 +=================
 60.1799 +
 60.1800 +\subsection{The patterns}
 60.1801 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1802 +
 60.1803 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1804 +
 60.1805 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1806 +
 60.1807 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1808 +
 60.1809 +
 60.1810 +[[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]]
 60.1811 +
 60.1812 +
 60.1813 +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.
 60.1814 +
 60.1815 +Benefits: lang impl doesn't have to touch low-level details, inherit centralized services, can reuse code from other languages to add features.
 60.1816 +
 60.1817 +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. 
 60.1818 +
 60.1819 +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.
 60.1820 +
 60.1821 +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.
 60.1822 +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. 
 60.1823 +
 60.1824 +
 60.1825 +\subsubsection{Views of synchronization constructs}
 60.1826 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1827 +
 60.1828 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1829 +
 60.1830 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1831 +
 60.1832 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1833 +
 60.1834 +
 60.1835 +[[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]]
 60.1836 +
 60.1837 +One view of sync constructs is that they are variable-length calls. The 
 60.1838 +basic hardware does this by stalling the pipeline.
 60.1839 +
 60.1840 +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.
 60.1841 +
 60.1842 +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.
 60.1843 +
 60.1844 +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.  
 60.1845 +
 60.1846 +\subsubsection{Universal Runtime Patterns}
 60.1847 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1848 +
 60.1849 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1850 +
 60.1851 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1852 +
 60.1853 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1854 +
 60.1855 +
 60.1856 +[[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]]
 60.1857 +
 60.1858 +Unified pattern within parallel languages: create multiple timelines, then control relative progress of them, and control location each chunk of progress takes place.
 60.1859 +
 60.1860 +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.
 60.1861 +The runtime tracks constraints (dependencies) among units, creates and destroys units, and assigns ready units to hardware.
 60.1862 +
 60.1863 +Units have a life-line, which is fundamental to parallel computation, as demonstrated in a paper by some of the authors [].
 60.1864 +
 60.1865 +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.
 60.1866 +
 60.1867 +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.
 60.1868 +
 60.1869 +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.
 60.1870 +
 60.1871 +\subsubsection{Putting synchronization constructs together with universal runtime patterns}
 60.1872 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1873 +
 60.1874 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1875 +
 60.1876 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1877 +
 60.1878 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1879 +
 60.1880 +
 60.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]]
 60.1882 +
 60.1883 +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. 
 60.1884 +
 60.1885 +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.
 60.1886 +
 60.1887 +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.   
 60.1888 +
 60.1889 +\begin{figure}[ht]
 60.1890 +  \centering
 60.1891 +  \includegraphics[width = 2in, height = 1.8in]{../figures/SCG_stylized_for_expl.pdf}
 60.1892 +  \caption{Something to help understanding}
 60.1893 +  \label{fig:SCG_expl}
 60.1894 +\end{figure}
 60.1895 +
 60.1896 +
 60.1897 +
 60.1898 +
 60.1899 +%%%%%%%%%%%%%%%%%%%%%
 60.1900 +\section{The Details}
 60.1901 +[[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]]
 60.1902 +[[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]]
 60.1903 +
 60.1904 +The interfaces between lang logic and proto-runtime.  
 60.1905 +
 60.1906 +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.
 60.1907 +
 60.1908 +Demonstrate Benefits: lang impl doesn't touch low-level details, inherits centralized services (debug support), reuses code from other languages to add features.
 60.1909 +
 60.1910 +\subsection{Reuse of Language Logic}
 60.1911 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 60.1912 +
 60.1913 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 60.1914 +
 60.1915 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 60.1916 +
 60.1917 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 60.1918 +
 60.1919 +
 60.1920 +[[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]]
 60.1921 +
 60.1922 +Demonstrate reuse of language logic:
 60.1923 +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.
 60.1924 + 
 60.1925 +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. 
 60.1926 +
 60.1927 +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.
 60.1928 +
 60.1929 +?
 60.1930 +
 60.1931 +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.
 60.1932 +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. 
 60.1933 +
 60.1934 +?
 60.1935 +
 60.1936 +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.
 60.1937 +
 60.1938 +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
 60.1939 +other application features.
 60.1940 +
 60.1941 +
 60.1942 +
 60.1943 +
 60.1944 +%%%%%%%%%%%%%%%%%%%%%
 60.1945 +\section{Measurements}
 60.1946 +
 60.1947 +\subsection{Implementation time}
 60.1948 +
 60.1949 +
 60.1950 +\subsection{Runtime and Application Performance}
 60.1951 +
 60.1952 +
 60.1953 +%%%%%%%%%%%%%%%%%%%%%
 60.1954 +\section{Related Work}
 60.1955 +
 60.1956 +
 60.1957 +%%%%%%%%%%%%%%%%%%%%%
 60.1958 +\section{Conclusion and Future Work}
 60.1959 +\label{sec:conclusion}
 60.1960 +
 60.1961 +
 60.1962 +
 60.1963 +\end{document} 
 60.1964 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 60.1965 +Here is an example of netlist creation:
 60.1966 +
 60.1967 +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.
 60.1968 +
 60.1969 + 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.
 60.1970 +
 60.1971 +First, here is the top-level function that creates and returns the netlist structure:
 60.1972 +
 60.1973 +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.  
 60.1974 +
 60.1975 +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. 
 60.1976 +
 60.1977 +
 60.1978 +\begin{small}\begin{verbatim}
 60.1979 +HWSimNetlist *
 60.1980 +createPingPongNetlist()
 60.1981 + { HWSimNetlist       *netlist;
 60.1982 +   HWSimElem         **elems;
 60.1983 +   HWSimActivityType **activityTypes;
 60.1984 +   HWSimCommPath     **commPaths;
 60.1985 +   int32               numElems, numActivityTypes, numCommPaths;
 60.1986 +\end{verbatim}\end{small}
 60.1987 +
 60.1988 +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.
 60.1989 +\begin{small}\begin{verbatim}
 60.1990 +   netlist = malloc( sizeof(HWSimNetlist) );
 60.1991 + 
 60.1992 +   numElems         = 2; 
 60.1993 +   elems            = malloc( numElems * sizeof(HWSimElem *) );
 60.1994 + 
 60.1995 +   numCommPaths     = 2;
 60.1996 +   commPaths        = malloc( numCommPaths * sizeof(HWSimCommPath *) );
 60.1997 + 
 60.1998 +   numActivityTypes = 1;
 60.1999 +   activityTypes    = malloc( numActivityTypes * sizeof(HWSimActivityType *) );
 60.2000 +   
 60.2001 +   netlist->numElems         = numElems;
 60.2002 +   netlist->elems            = elems;
 60.2003 +   netlist->numCommPaths     = numCommPaths;
 60.2004 +   netlist->commPaths        = commPaths;
 60.2005 +   netlist->numActivityTypes = numActivityTypes;
 60.2006 +   netlist->activityTypes    = activityTypes;
 60.2007 +\end{verbatim}\end{small}
 60.2008 +
 60.2009 +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.
 60.2010 +\begin{small}\begin{verbatim}
 60.2011 +      //have to create activity types before create elements
 60.2012 +      //PING_PONG_ACTIVITY is just a #define for readability
 60.2013 +   netlist->activityTypes[PING_PONG_ACTIVITY] = createPingPongActivityType();
 60.2014 +\end{verbatim}\end{small}
 60.2015 +
 60.2016 +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.
 60.2017 +\begin{small}\begin{verbatim}
 60.2018 +   elems[0] = createAPingPongElem( netlist ); //use activity types from netlist
 60.2019 +   elems[1] = createAPingPongElem( netlist ); 
 60.2020 +\end{verbatim}\end{small}
 60.2021 +
 60.2022 +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.
 60.2023 +
 60.2024 +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.
 60.2025 +\begin{small}\begin{verbatim}   
 60.2026 +      //make reset trigger an action on one of the elements
 60.2027 +   elems[1]->inPorts[-1].triggeredActivityType =
 60.2028 +              netlist->activityTypes[PING_PONG_ACTIVITY];
 60.2029 +\end{verbatim}\end{small}
 60.2030 +
 60.2031 +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. 
 60.2032 +
 60.2033 +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:
 60.2034 +\begin{small}\begin{verbatim}
 60.2035 +      //elem 0, out-port 0 to elem 1, in-port 0
 60.2036 +   commPaths[0]= malloc(sizeof(HWSimCommPath));
 60.2037 +   setCommPathValuesTo(commPaths[0],0,0,1,0);
 60.2038 +   commPaths[0]->hasFixedTiming  = TRUE;
 60.2039 +   commPaths[0]->fixedFlightTime = 10; //all time is stated in (integer) units
 60.2040 +
 60.2041 +      //elem 1, out-port 0 to elem 0, in-port 0
 60.2042 +   commPaths[1]= malloc(sizeof(HWSimCommPath));
 60.2043 +   setCommPathValuesTo(commPaths[1], 1,0,0,0);
 60.2044 +   commPaths[1]->hasFixedTiming  = TRUE;
 60.2045 +   commPaths[1]->fixedFlightTime = 10; //all time is stated in (integer) units
 60.2046 +\end{verbatim}\end{small}
 60.2047 +
 60.2048 +done building netlist, return it
 60.2049 +\begin{small}\begin{verbatim}
 60.2050 +   return netlist;
 60.2051 + }
 60.2052 +\end{verbatim}\end{small}
 60.2053 +
 60.2054 +The macro that sets the connections inside a comm path struct
 60.2055 +\begin{small}\begin{verbatim}
 60.2056 +#define setCommPathValuesTo( commPath, fromElIdx, outPort, toElIdx, inPort)\
 60.2057 +do{\
 60.2058 +   commPath->idxOfFromElem     = fromElIdx; \
 60.2059 +   commPath->idxOfFromOutPort  = outPort; \
 60.2060 +   commPath->idxOfToElem       = toElIdx; \
 60.2061 +   commPath->idxOfToInPort     = inPort; \
 60.2062 + }while(0); //macro magic for namespace
 60.2063 +\end{verbatim}\end{small}
 60.2064 +
 60.2065 +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.
 60.2066 +\begin{small}\begin{verbatim}
 60.2067 +HWSimElem *
 60.2068 +createAPingPongElem( HWSimNetlist *netlist )
 60.2069 + { HWSimElem *elem;
 60.2070 +   elem = malloc( sizeof(HWSimElem) );
 60.2071 +   elem->numInPorts  = 1;
 60.2072 +   elem->numOutPorts = 1;
 60.2073 +   elem->inPorts = HWSim_ext__make_inPortsArray( elem->numInPorts );
 60.2074 +   elem->inPorts[-1].triggeredActivityType = IDLE_SPAN; //reset port
 60.2075 +   elem->inPorts[0].triggeredActivityType  = netlist->activityTypes[PING_PONG_ACTIVITY];
 60.2076 +        return elem;
 60.2077 + }
 60.2078 +\end{verbatim}\end{small}
 60.2079 +
 60.2080 +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. 
 60.2081 +\begin{small}\begin{verbatim}
 60.2082 +HWSimActivityType *
 60.2083 +createPingPongActivityType( )
 60.2084 + { HWSimActivityType *pingPongActivityType;
 60.2085 +   pingPongActivityType = malloc( sizeof(HWSimActivityType) );
 60.2086 +   
 60.2087 +   pingPongActivityType->hasBehavior   = TRUE;
 60.2088 +   pingPongActivityType->hasTiming     = TRUE;
 60.2089 +   pingPongActivityType->timingIsFixed = TRUE;
 60.2090 +   pingPongActivityType->fixedTime     = 10;
 60.2091 +   pingPongActivityType->behaviorFn    = &pingPongElem_PingActivity_behavior;
 60.2092 +   return pingPongActivityType;
 60.2093 + }
 60.2094 +\end{verbatim} \end{small}
 60.2095 +
 60.2096 +
 60.2097 +=========
 60.2098 +
 60.2099 +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.
 60.2100 +
 60.2101 +Here is the behavior function from the ping-pong example:
 60.2102 +\begin{small}\begin{verbatim} 
 60.2103 +void
 60.2104 +pingPongElem_PingActivity_behavior( HWSimActivityInst *activityInst )
 60.2105 + {    //NO_MSG is #define'd to NULL, and PORT0 to 0
 60.2106 +   HWSim__send_comm_on_port_and_idle( NO_MSG, PORT0, activityInst );
 60.2107 + }
 60.2108 +\end{verbatim}\end{small}
 60.2109 +
 60.2110 +There are four ways a behavior can end:
 60.2111 +\begin{description}
 60.2112 +\item end, no continuation: 
 60.2113 +\begin{small}\begin{verbatim} HWSim__end_activity_then_idle( HWSimActivityInst *endingActivityInstance )\end{verbatim}\end{small}
 60.2114 +\item end, with continuation: 
 60.2115 +\begin{small}\begin{verbatim} HWSim__end_activity_then_cont( HWSimActivityInst *endingActivityInstance,
 60.2116 +                                HWSimActivityType *continuationActivityType)\end{verbatim}\end{small}
 60.2117 +\item end by sending a communication, with no continuation: 
 60.2118 +\begin{small}\begin{verbatim} HWSim__send_comm_on_port_then_idle( void *msg, int32 outPort, 
 60.2119 +                                HWSimActivityInst *endingActivityInstance)\end{verbatim}\end{small}
 60.2120 +\item end by sending a communication, with continuation: 
 60.2121 +\begin{small}\begin{verbatim} HWSim__send_comm_on_port_then_cont( void *msg, int32 outPort, 
 60.2122 +                                HWSimActivityInst *endingActivityInstance
 60.2123 +                                HWSimActivityType *continuationActivityType)\end{verbatim}\end{small}
 60.2124 +
 60.2125 +
 60.2126 +=============
 60.2127 +
 60.2128 +
 60.2129 +\subsection{Activity Timing Functions}
 60.2130 +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.
 60.2131 +
 60.2132 +Here's an example:
 60.2133 +\begin{small}\begin{verbatim} 
 60.2134 +HWSimTimeSpan
 60.2135 +sampleElem_sampleActivity_timing( HWSimActivityInst *activityInst )
 60.2136 + {
 60.2137 +   return doSomethingWithStateOfElem( sendingActivity->elem->elemState );
 60.2138 + }
 60.2139 +\end{verbatim}\end{small}
 60.2140 +
 60.2141 +\subsection{Calculating the time-in-flight of a communication path}
 60.2142 +
 60.2143 +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.
 60.2144 +
 60.2145 +\begin{small}\begin{verbatim}
 60.2146 +HWSimTimeSpan
 60.2147 +commPath_TimeSpanCalc( HWSimCommPath *commPath, HWSimActivityInst *sendingActivity )
 60.2148 + { return doSomethingWithStateOfPathAndElem( commPath, sendingActivity->elem->elemState );
 60.2149 + }
 60.2150 +\end{verbatim}\end{small}
 60.2151 +
 60.2152 +
 60.2153 +
 60.2154 +
    61.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    61.2 +++ b/0__Papers/PRT/PRT__formal_def/latex/PRT__full_w_Henning_derived_formal_def.tex	Sat Aug 03 19:24:22 2013 -0700
    61.3 @@ -0,0 +1,2440 @@
    61.4 +%-----------------------------------------------------------------------------
    61.5 +%
    61.6 +%               Template for sigplanconf LaTeX Class
    61.7 +%
    61.8 +% Name:         sigplanconf-template.tex
    61.9 +%
   61.10 +% Purpose:      A template for sigplanconf.cls, which is a LaTeX 2e class
   61.11 +%               file for SIGPLAN conference proceedings.
   61.12 +%
   61.13 +% Guide:        Refer to "Author's Guide to the ACM SIGPLAN Class,"
   61.14 +%               sigplanconf-guide.pdf
   61.15 +%
   61.16 +% Author:       Paul C. Anagnostopoulos
   61.17 +%               Windfall Software
   61.18 +%               978 371-2316
   61.19 +%               paul@windfall.com
   61.20 +%
   61.21 +% Created:      15 February 2005
   61.22 +%
   61.23 +%-----------------------------------------------------------------------------
   61.24 +
   61.25 +
   61.26 +\documentclass[preprint]{sigplanconf}
   61.27 +
   61.28 +% The following \documentclass options may be useful:
   61.29 +%
   61.30 +% 10pt          To set in 10-point type instead of 9-point.
   61.31 +% 11pt          To set in 11-point type instead of 9-point.
   61.32 +% authoryear    To obtain author/year citation style instead of numeric.
   61.33 +\usepackage{amssymb,graphicx,calc,ifthen,subfig,dblfloatfix,fixltx2e}
   61.34 +
   61.35 +
   61.36 +% correct bad hyphenation here
   61.37 +\hyphenation{op-tical net-works semi-conduc-tor}
   61.38 +
   61.39 +\usepackage{wasysym}
   61.40 +\usepackage{amstext}
   61.41 +
   61.42 +\begin{document}
   61.43 +
   61.44 +\bibliographystyle{plain}
   61.45 +%
   61.46 +
   61.47 +\conferenceinfo{WXYZ '05}{date, City.} 
   61.48 +\copyrightyear{2005} 
   61.49 +\copyrightdata{[to be supplied]} 
   61.50 +
   61.51 +\titlebanner{banner above paper title}        % These are ignored unless
   61.52 +\preprintfooter{short description of paper}   % 'preprint' option specified.
   61.53 +
   61.54 +
   61.55 +\title{A Proto-Runtime Approach to Domain Specific Languages}
   61.56 +
   61.57 +
   61.58 +\authorinfo{Sean Halle}
   61.59 +           {Open Source Research Institute, INRIA,
   61.60 +           and TU Berlin}
   61.61 +           {seanhalle@opensourceresearchinstitute.org}
   61.62 +\authorinfo{Merten Sach}
   61.63 +           {TU Berlin}
   61.64 +           {msach@mailbox.tu-berlin.de}
   61.65 +\authorinfo{Albert Cohen}
   61.66 +           {Ecole Normal Supereur, and INRIA}
   61.67 +           {albert.cohen@inria.fr}
   61.68 +
   61.69 +\maketitle
   61.70 +
   61.71 +
   61.72 +\begin{abstract}
   61.73 + 
   61.74 +?
   61.75 +replace lang-specific with interface, centralize services, minimize effort to create, give language control over hardware assignment..  side benefits: multi-lang, perf-tuning, debugging
   61.76 +
   61.77 +?
   61.78 +
   61.79 +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.
   61.80 +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.
   61.81 +As a result, new parallel constructs are written using sequential reasoning, and multiple languages can be mixed within
   61.82 +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.
   61.83 +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.
   61.84 +\end{abstract}
   61.85 +
   61.86 +
   61.87 +
   61.88 +
   61.89 +
   61.90 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   61.91 +\section{Background and Motivation}
   61.92 +\label{sec:intro}
   61.93 +
   61.94 +[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.]
   61.95 +
   61.96 +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. 
   61.97 +
   61.98 +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. 
   61.99 +
  61.100 +Many believe that these can be overcome with the use of embedded style Domain-Specific Languages (eDSLs) []. eDSL language
  61.101 +constructs match the mental model of the domain, while
  61.102 +they internally imply parallelism. For example, a simulation
  61.103 +eDSL called HWSim[] has only 10 constructs, which match
  61.104 +the actions taken during a simulation
  61.105 +of interacting objects.  They are mixed into sequential C code and take
  61.106 +only a couple of hours to learn.  Yet they encapsulate subtle
  61.107 +and complex dependencies that relate simulated time
  61.108 +to the physical time in the machine. They encapsulate the parallelism
  61.109 +present, while simultaneously making the implementation
  61.110 +simpler to think about than a purely sequential implementation.
  61.111 +
  61.112 +
  61.113 +
  61.114 + 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.
  61.115 +
  61.116 +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.  
  61.117 +
  61.118 +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. 
  61.119 +
  61.120 +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. 
  61.121 +
  61.122 +We claim the following benefits of the proto-runtime approach, each of which is  supported in the indicated section of  the paper:
  61.123 +
  61.124 +\begin{itemize}
  61.125 +
  61.126 +\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},
  61.127 +\S\ref{subsec:Example}).
  61.128 +
  61.129 +\item The proto-runtime approach modularizes the runtime (\S\ref{sec:Proposal}).
  61.130 +
  61.131 +%\item The modularization  is consistent with patterns that appear to be fundamental to parallel computation and runtimes (\S\ ). 
  61.132 +
  61.133 +\item The modularization  cleanly separates runtime internals from the language-specific logic (\S\ref{sec:Proposal},
  61.134 +\S\ref{subsec:Example}). 
  61.135 +
  61.136 +\item The modularization gives the language control
  61.137 +over timing and placement of executing work (\S\ref{sec:Proposal}).
  61.138 +
  61.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},
  61.140 +\S\ref{subsec:ImplTimeMeas}).
  61.141 +
  61.142 +\begin{itemize}
  61.143 +
  61.144 +
  61.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\ ).
  61.146 +
  61.147 +\item Part of the time reduction is due to encapsulation of hardware aspects inside the hardware-oriented module (\S \ref{sec:intro}).
  61.148 +
  61.149 +\item Part of the time reduction is due to  reuse of the performance-tuning effort for runtime internals (\S ).  
  61.150 +
  61.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}). 
  61.152 +
  61.153 +
  61.154 +\end{itemize}
  61.155 +
  61.156 +\item
  61.157 +
  61.158 +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\ ).
  61.159 +
  61.160 +\begin{itemize}
  61.161 +
  61.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}).
  61.163 +
  61.164 +\end{itemize}
  61.165 +
  61.166 +\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}).
  61.167 +
  61.168 +\end{itemize}
  61.169 +
  61.170 +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. 
  61.171 +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.
  61.172 +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}).
  61.173 +
  61.174 +
  61.175 +
  61.176 +
  61.177 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  61.178 +%
  61.179 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  61.180 +\section{Background: The eDSL Hypothesis}
  61.181 +
  61.182 +%[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
  61.183 +
  61.184 +%[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
  61.185 +
  61.186 +%[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
  61.187 +
  61.188 +%[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
  61.189 +
  61.190 +Domain Specific Languages have been around for a while [], and recently have been suggested as a good approach for parallel programming[][stanford PPL].
  61.191 +
  61.192 +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.
  61.193 + 
  61.194 +
  61.195 +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. 
  61.196 +
  61.197 +
  61.198 +
  61.199 +\subsection{Embedding a DSL into a base language}
  61.200 +
  61.201 +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.
  61.202 +
  61.203 +
  61.204 +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.
  61.205 +
  61.206 +As with HWSim, the number of such embedded
  61.207 +constructs tends to be low, easy to learn, and significantly
  61.208 +reduce the complexity of the code written. All while
  61.209 +implicitly specifying parallelism. 
  61.210 +
  61.211 +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.
  61.212 +\subsection{Low learning curve, high productivity, and portability}
  61.213 +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
  61.214 +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.
  61.215 +
  61.216 +Productivity has been shown to be enhanced by a well designed DSL, with studies commonly measuring
  61.217 +10x reduction in development time [].  Factors
  61.218 +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.
  61.219 +
  61.220 +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.
  61.221 + 
  61.222 +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.
  61.223 +
  61.224 +\subsection{Low disruption and easy adoption} 
  61.225 +
  61.226 +Using an eDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices.
  61.227 + Constructs from the eDSL can be mixed into existing sequential code, incrementally replacing the high computation sections, while continuing with the same development  practices.
  61.228 + 
  61.229 + \subsection{ Few users means the effort of eDSLs must be low} \label{subsec:eDSLEffort}
  61.230 +
  61.231 +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.
  61.232 +
  61.233 +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.  
  61.234 +
  61.235 +The effort to be reduced falls into three categories:
  61.236 +
  61.237 +\begin{enumerate}
  61.238 +\item effort to explore  language design and create the eDSL syntax
  61.239 +\item effort to create the runtime that produces the eDSL behavior
  61.240 +\item effort to performance tune the eDSL on particular hardware
  61.241 +\end{itemize}    
  61.242 +
  61.243 +
  61.244 +\subsection{Critical areas of effort in the big picture}
  61.245 +
  61.246 +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.
  61.247 +
  61.248 +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. 
  61.249 +
  61.250 +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.
  61.251 +
  61.252 +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:
  61.253 +
  61.254 +\begin{itemize}
  61.255 +\item shared coherent memory multi-core single-chip machine
  61.256 +\item shared coherent memory multi-core multi-chip machine
  61.257 +\item independent address space coprocessor (GPU)
  61.258 +\item a network of nodes of the above categories
  61.259 +\item a machine with a hierarchy of sub-networks
  61.260 +\end{itemize}
  61.261 +
  61.262 +
  61.263 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  61.264 +%
  61.265 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  61.266 +\section{Our Proposal} \label{sec:Proposal}
  61.267 +
  61.268 +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
  61.269 +the top two modules, which plug in via the interface. The hardware specific module presents the same interface
  61.270 +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.  
  61.271 +
  61.272 +\begin{figure}[ht]
  61.273 +  \centering
  61.274 +  \includegraphics[width = 1.5in, height = 1.1in]{../figures/proto-runtime__modules.pdf}
  61.275 +  \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. }
  61.276 +  \label{fig:PR_three_pieces}
  61.277 +\end{figure}
  61.278 +
  61.279 +
  61.280 +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.
  61.281 +
  61.282 +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.
  61.283 +
  61.284 +One additional benefit is giving control to the language, to choose when and where it wishes work to execute.
  61.285 +This feature simplifies implementation of languages
  61.286 +that have features related to scheduling behavior.
  61.287 +It also enables the language implementor to use sophisticated
  61.288 +methods for choosing placement of virtual processors
  61.289 +(threads) and tasks, which can significantly impact
  61.290 +application performance.  
  61.291 +
  61.292 +In this paper, we present work that applies to coherent
  61.293 +shared memory machines, both single chip and multiple chip. Extensions beyond this are currently in progress, to address multiple-address-space machines and hierarchical
  61.294 +heterogeneous collections of processors, which will appear in future papers.
  61.295 +
  61.296 +\subsection{Breakdown of the modules} \label{subsec:Modules}
  61.297 +
  61.298 +The language is broken into two parts, as seen in Fig
  61.299 +X. One is a thin wrapper library that
  61.300 +invokes the runtime and the other is a set of modules that are part of the runtime.
  61.301 +
  61.302 +
  61.303 +
  61.304 +\begin{figure}[ht]
  61.305 +  \centering
  61.306 +  \includegraphics[width = 2.8in, height = 1.1in]{../figures/proto-runtime__modules_lang_breakdown.pdf}
  61.307 +  \caption{Shows how the code of the language implementation
  61.308 +  is broken into two pieces. The first is a thin wrapper
  61.309 +  that invokes the runtime, the other is a dynamic
  61.310 +  library that plugs into the runtime.}
  61.311 +  \label{fig:langBreakdown}
  61.312 +\end{figure}
  61.313 +  
  61.314 +The runtime itself consists of three modules connected via
  61.315 +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
  61.316 +this the \textit{proto-runtime}.
  61.317 +It's job is to enforce the interface that the language modules see.
  61.318 +
  61.319 +
  61.320 +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
  61.321 +constructs, the other module provides logic for choosing which work to execute on
  61.322 +which hardware resource.
  61.323 +
  61.324 +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.
  61.325 +
  61.326 +
  61.327 +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
  61.328 +of the primitives in the tie-point model. In turn,
  61.329 +the proto-runtime
  61.330 + implements the primitives of the tie-point model.
  61.331 +
  61.332 + 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
  61.333 +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.
  61.334 +
  61.335 +We have reached a point in the paper, now, where the order of explanation can take one of two paths: either
  61.336 +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.   
  61.337 +
  61.338 +
  61.339 +
  61.340 +\section{The tie-point model.}\label{subsec:TiePoints}
  61.341 +
  61.342 +
  61.343 +\subsection{timelines}
  61.344 +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.
  61.345 +
  61.346 +For example, take a thread library, which we consider
  61.347 +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
  61.348 +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.
  61.349 +
  61.350 +To build up to tie-points, we look at the nature of points on
  61.351 +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,
  61.352 +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.
  61.353 +
  61.354 +
  61.355 +\begin{figure}[ht]
  61.356 +  \centering
  61.357 +  \includegraphics[width = 2.8in, height = 0.8in]
  61.358 +  {../figures/PR__timeline_single.pdf}
  61.359 +  \caption{The timeline suspends at 1.S and resumes
  61.360 +  at 1.R. From the viewpoint of the timeline, the gap collapses into a single point.}
  61.361 +  \label{fig:singleTimeline}
  61.362 +\end{figure}
  61.363 +
  61.364 +
  61.365 +Now, a tie-point is seen as the linkage between such collapsed points on
  61.366 +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
  61.367 +inside the gap, then resumes timeline B at 2.R. The behavior of the release
  61.368 +command causes the end of suspend in the first timeline.  That causality ties the two collapsed points in the two timelines together.
  61.369 +
  61.370 +
  61.371 +\begin{figure}[ht]
  61.372 +  \centering
  61.373 +  \includegraphics[width = 2.8in, height = 1.35in]
  61.374 +  {../figures/PR__timeline_dual.pdf}
  61.375 +  \caption{Two  timelines with a causal relationship.
  61.376 +Activity that takes place during the gap in timeline
  61.377 +B causes resume of timeline A. This ties point 2 on
  61.378 +timeline B to point 1 on timeline A.}
  61.379 +  \label{fig:dualTimeline}
  61.380 +\end{figure}
  61.381 +
  61.382 +
  61.383 +
  61.384 +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
  61.385 +guarantee makes both agree on the order of events,\textit{
  61.386 +relative to the mutual tied point}. 
  61.387 +The guarantees  are what defines a tie-point. 
  61.388 +
  61.389 +Fig \ref{fig:tie-pointGuarantees} shows the ordering guarantees in terms of visibility of operations between
  61.390 +the timelines.  If these visibility constraints are
  61.391 +satisfied, then the timelines share a tie-point. Note that the ordering
  61.392 + guarantees are equivalent to the constraints on visibility of operations. Operations that execute  in
  61.393 +the first timeline before the tie-point must be visible
  61.394 +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. 
  61.395 +
  61.396 +
  61.397 +
  61.398 +\begin{figure}[ht]
  61.399 +  \centering
  61.400 +  \includegraphics[width = 2.8in, height = 1.25in]
  61.401 +  {../figures/PR__timeline_tie_point_ordering.pdf}
  61.402 +  \caption{The
  61.403 +guarantees that a tie-point enforces. Shows which
  61.404 + operations performed on one timeline are visible to the other
  61.405 +timeline. These visibilities must be true for a tie-point.
  61.406 +Note that all events are divided into two groups, those
  61.407 +before the tied points versus those after the tied
  61.408 +points.  Both timelines see the same before group and
  61.409 +the same after group. }
  61.410 +  \label{fig:tie-pointGuarantees}
  61.411 +\end{figure}
  61.412 +
  61.413 +
  61.414 +\subsection{Formal definition of tie-point}
  61.415 +In a moment we will show how any and all synchronization constructs
  61.416 +can be defined in terms of tie-points. Before getting
  61.417 +there, we provide a formal definition of tie-point,
  61.418 +which we will then use to show that a tie point
  61.419 +can satisfy the conditions of any synchronization
  61.420 +construct.
  61.421 +
  61.422 +Our formalism defines timelines, communication between
  61.423 +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.
  61.424 +We conclude by showing a few classical definitions
  61.425 +of synchronization and show that those definitions
  61.426 +are upheld when a relation with the derived properties
  61.427 +exists among the timelines. Hence, those classical definitions can be satisfied via creation of a tie-point. 
  61.428 +
  61.429 +\subsubsection{}
  61.430 +
  61.431 +\begin{description}
  61.432 +\item[timeline:]
  61.433 +\(T = E \times\mathbb{N}, (E, <)\).  A timeline is an ordered
  61.434 +sequence of events. Given two events $e_\alpha, e_\beta \in E$ from a timeline, the events are ordered by the
  61.435 +subscripts, so: $e_\alpha < e_\beta$ iff $\alpha < \beta$,
  61.436 +and vice versa. 
  61.437 + Any and all memory locations in a system are part
  61.438 + of, or local to, exactly one timeline.  Only that
  61.439 +timeline can modify the locations (hence, side-effects require shared memory to have its own timeline that
  61.440 +is separate
  61.441 +from any timeline that code executes in).  
  61.442 +
  61.443 +\item[event:] 
  61.444 +\(E =\{c_{0,t},c_{1,t}, ..\} \cup \{s_{\alpha ,t}\} \cup \{r_{\beta , t}\}
  61.445 +\cup \{z_{\gamma ,t} \} \). There are four kinds of event
  61.446 +that can happen on a timeline, namely $c$, a step of computation,
  61.447 +which modifies the memory local to the timeline; $s$, a
  61.448 +send of a communication which pushes out contents from
  61.449 +the timeline's local memory; $r$, a receive of a communication
  61.450 +which modifies the timeline's local memory; and $z$,
  61.451 +a synchronization
  61.452 +construct which suspends then resumes the timeline in such a way
  61.453 +as to establish a relation between events on this timeline
  61.454 +versus events on a remote timeline. Suspend is denoted
  61.455 +$z\_s_{\gamma ,t}$ while resume is denoted $z\_r_{\gamma
  61.456 +,t}$ where $s$
  61.457 +and $r$ are literal while $\gamma$ denotes the position
  61.458 +on the timeline and $t$ is the timeline the suspend
  61.459 +happens on. 
  61.460 +\item[communication:]
  61.461 +\(C = \{s,r\}, s < r\).  A communication is a set of
  61.462 +one send event from one timeline plus one or more receive events
  61.463 +from different timelines, with the send
  61.464 +event ordered before the receive event(s), denoted $s_{n,t}\mapsto
  61.465 +r_{n,t}$ where $n$ distinguishes the communication
  61.466 +set and $t$ denotes the timeline the event is on.  A communication
  61.467 +orders events on one timeline relative to events on another.
  61.468 +However, the ordering is only between two points, in
  61.469 +particular for two sends from timeline 1 to timeline
  61.470 +2, if \(s_{1,1} < s_{2.1}\) on timeline 1, then on
  61.471 +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}$
  61.472 +followed by $s_{2,2} \mapsto r_{2,1}$ where $r_{1,2}
  61.473 +< s_{2,2}$
  61.474 +  implies that $s_{1,1} < r_{2,1}$ always.  
  61.475 +
  61.476 +\item[hidden timeline:] We define a special kind of  "hidden" timeline that is not
  61.477 +seen by application code. It has an additional
  61.478 +kind of event available, which ends a synchronization
  61.479 +event on a different timeline.
  61.480 + We denote this $fro_{\delta,h}$ where $fro$ is literal,
  61.481 + standing for ``force resume other (timeline)", $\delta$ is the position
  61.482 + on the timeline and $h$ is the (hidden) timeline the
  61.483 +event is on. Additionally, a suspend event on an application
  61.484 +visible timeline implies a send from that timeline
  61.485 +to a hidden timeline. Hence $z\_s_{\gamma,t} \Rightarrow
  61.486 +s_{\gamma,h}$  
  61.487 +
  61.488 +\item[tie-point:] Now, we define a tie-point as a set of two or more
  61.489 +synchronization points from different timelines which
  61.490 +are related by a particular pattern of communications.
  61.491 +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. 
  61.492 +
  61.493 +\end{description}
  61.494 +
  61.495 +We now show that from these definitions it follows:
  61.496 +[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.
  61.497 +
  61.498 +We take the event immediately preceding and the event
  61.499 +immediately following two synchronization events on
  61.500 +two timelines.  The synchronization events begin with
  61.501 +a suspend half-event and ends with a resume half-event.
  61.502 +The suspend half-event is accompanied by a send to
  61.503 +a hidden timeline.  That hidden timeline has a receive,
  61.504 +and later in its sequence it has a receive for the
  61.505 +synchronization event from the second timeline. The
  61.506 +hidden timeline then performs resume of both timelines.
  61.507 +
  61.508 +From that, we get the following relations:
  61.509 +
  61.510 +Which shows that the event following on timeline 1 comes after the event preceding on timeline 2 and vice versa.
  61.511 +
  61.512 +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.
  61.513 +
  61.514 +\subsubsection{What is different about tie-point?}
  61.515 +Many readers will be wondering "so, how is implementing
  61.516 +a synchronization construct this way any different
  61.517 +from how they're currently implemented?"  The answer
  61.518 +is that currently, synchronization constructs are
  61.519 +implemented on top of other synchronization constructs,
  61.520 +where we consider an atomic Compare and Swap instruction
  61.521 +to be a synchronization construct.  It is only in the
  61.522 +hardware that a synchronization construct is assembled
  61.523 +from pieces.  We further claim that the hardware implements
  61.524 +according to the pattern described in our formal definition.
  61.525 +
  61.526 +What we consider to be a tie-point is any point that
  61.527 +has this pattern, independent of the semantics added.
  61.528 +For example, for the Compare And Swap (CAS) instruction,
  61.529 +the comparison and swap are the semantics of what the
  61.530 +instruction does, while the atomicity, or exclusive
  61.531 +access is the part that provides the ordering relations.
  61.532 +So, the presence of the ordering relations is the tie-point
  61.533 +portion, while the comparison and swap are the plugged-in
  61.534 +semantics portion associated with the tie point.
  61.535 +
  61.536 +In that way, tie-point can be considered to simply
  61.537 +say ``has the ordering relation of a synchronization
  61.538 +construct". Tie-point is nothing new, when viewed that way.  However, a tie-point is not a given, but rather
  61.539 +has to be constructed.  To get a tie-point, one must
  61.540 +create a construction from which the givens for a synchronization
  61.541 +can be derived.  Further, tie points can be constructed
  61.542 +for things that most would not readily consider a synchronization
  61.543 +construct.  For example, any asynchronous communication
  61.544 +establishes a half tie-point, because ordering can
  61.545 +be derived.  This is useful, for example, in defining
  61.546 +memory consistency models.
  61.547 +
  61.548 +The key here is the elements of the model within which
  61.549 +tie-point is defined.  In particular, memory does not
  61.550 +exist outside a timeline, the points on a timeline
  61.551 +have no ordering relative to points on another timeline,
  61.552 +ordering between timelines is only established by a communication, and timelines can suspend themselves
  61.553 +(or be suspended by a different timeline),
  61.554 +and be resumed by a different timeline.
  61.555 +
  61.556 +Within this model, the characteristics of a synchronization
  61.557 +can be derived.  That is the key difference, as usually
  61.558 +one states as a \textit{given}  that a construct exists that has the synchronization properties.  Tie-point
  61.559 +is derived, versus synchronization is given.
  61.560 +
  61.561 +True, the two are equally powerful.  
  61.562 +
  61.563 +More low level, less junk on top, more efficiency and
  61.564 +more control -- w/sync like threads, it has its own
  61.565 +scheduler, have no control over where and when work
  61.566 +happens.  
  61.567 +
  61.568 +It is different because it only directly provides half
  61.569 +the behavior, the time half. in the sense that 
  61.570 +
  61.571 +The claim is that from a theory standpoint, tie-point
  61.572 +is not more powerful -- proto-runtime can implement
  61.573 +synchronization constructs, and sync constructs can
  61.574 +implement other sync constructs..  
  61.575 +
  61.576 +But, sync constructs CANNOT implement all of proto-runtime!  They can't do the communications nor the hidden timeline nor create VPs
  61.577 +nor scheduling..   also, proto-runtime can do distributed
  61.578 +memory things that sync constructs cannot.
  61.579 +
  61.580 +The sync constructs can be used together with shared
  61.581 +memory-based communication in order to make more complex
  61.582 +sync constructs..  but they can't be used in a distributed
  61.583 +memory system to make distributed memory things.
  61.584 +
  61.585 +Let's see..  the relation model said that something
  61.586 +with synchronization constraints can be created from
  61.587 +just communication plus hidden timeline..  as long
  61.588 +as get the convergence on that hidden timeline.
  61.589 +
  61.590 +What Henning was saying was that sync is defined as
  61.591 +the end-constraints.  So, the end-constraints IS what
  61.592 +a synchronization construct is.  It doesn't matter
  61.593 +how to implement one, it only matters the end constraints.
  61.594 +
  61.595 +So, what the relation thing showed was how to construct
  61.596 +a synchronization.  What need to show is that the relation
  61.597 +thing can also construct stuff that cannot be constructed
  61.598 +with a synchronization construct.
  61.599 +
  61.600 +I guess the question would be: if one starts with a
  61.601 +synchronization construct existing within a distributed
  61.602 +system..  well, then one can construct other sync constructs
  61.603 +from that one..
  61.604 +
  61.605 +For them, the question of "more primitive" is: can the more primitive
  61.606 +thing do stuff the "full" one cannot?  
  61.607 +
  61.608 +For me, the question of "more primitive"\ is: can one
  61.609 +of them be constructed from the other, which ONLY\
  61.610 +has simpler pieces?  Constructing one from itself says nothing..
  61.611 +but being able to construct one from something that
  61.612 +is NOT one, whose individual components all have less
  61.613 +than one..  that thing's pieces are all less powerful..
  61.614 +then it is a particular combination that brings the extra
  61.615 +time-related behavior of a sync construct into existence.
  61.616 +It is recognizing the particular pattern that brings
  61.617 +that extra into existence that is of value.
  61.618 +
  61.619 +It is that pattern that tells you how to get one from
  61.620 +simpler pieces.
  61.621 +
  61.622 +So, the story is: using only pieces that lack the "special"
  61.623 +synchronization construct property, construct something
  61.624 +that does have the synchronization property.  That,
  61.625 +is building something more powerful from pieces that
  61.626 +are less powerful.
  61.627 +
  61.628 +The other part of the story is: the proto-runtime cannot
  61.629 +be used by itself.  It requires addition before it
  61.630 +can be used.  That is, have to add the M->M, to arrive
  61.631 +at the TxM->M, then can use the TxM->M..  but can't
  61.632 +use just the Tx by itself -- that's non-sensical. 
  61.633 +So, provides a (M->M, f) that is used to get the TxM->M,
  61.634 +but can't use the f inside an application.. it doesn't
  61.635 +do anything other than add the Tx..  so it doesn't
  61.636 +accomplish any steps of computation, nor does it provide
  61.637 +Tx to any application code..  the (M->M, f) is outside
  61.638 +of any language -- that's what CREATES a language.
  61.639 +
  61.640 +*****Can't define (M->M, f) as part of its own language,
  61.641 +because it doesn't do anything.  No computation is
  61.642 +performed by it. ****  (so, what's the definition of
  61.643 +computation, then?)
  61.644 +
  61.645 +The other part of the story is the HWSim time behavior
  61.646 +-- those aren't sync constructs..  rather that is a
  61.647 +particular set of constraints on time..  constructed
  61.648 +out of primitives none of which have sych nor time
  61.649 +behavior by themselves beyond "comes after" of comm.
  61.650 +
  61.651 +Another part of the story is the singleton thing, constructed
  61.652 +directly..  Q: can that be built from sync constructs
  61.653 +in distributed system?  Does using sync constructs
  61.654 +do something that using primitives doesn't?  Does it
  61.655 +add something, fundamentally?  Well, it is in terms
  61.656 +of something that already has the property being constructed..
  61.657 +that's the issue..  in one case, taking something that
  61.658 +has the property and building something else that has
  61.659 +it..  in other case taking something that doesn't and
  61.660 +building something that does.
  61.661 +
  61.662 +So..  in the consistency model, just using the comes-after
  61.663 +property of communication to derive compound communication,
  61.664 +of particular write to particular read, via memory
  61.665 +locations.
  61.666 +
  61.667 +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
  61.668 +tie-point was tying a write on one to a read on the
  61.669 +other, and thereby establishing a half-ordering between
  61.670 +the two timelines.
  61.671 +
  61.672 +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.
  61.673 +
  61.674 +Right.. thinking about mutex acquire and release..
  61.675 +the release is asynch..  the sending timeline resumes before
  61.676 +the hidden timeline receives notice.. but that just
  61.677 +establishes a half tie-point, no?
  61.678 +
  61.679 +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.
  61.680 +
  61.681 +Right.. so one distinction is this: a half tie-point
  61.682 +cannot be created using sync constructs "directly".
  61.683 + A sync construct is a full tie-point.  
  61.684 +
  61.685 +
  61.686 +========================================================
  61.687 +
  61.688 +
  61.689 +\subsubsection{Lifeline, Timeline, and Projection}
  61.690 +We define a formal entity that we call a lifeline,
  61.691 +where a timeline is a type of lifeline.
  61.692 +We define event-types and specific occurrences of event-types, and show how multiple lifelines can observe the same occurrence. A projection between
  61.693 +lifelines is defined as an event initiated upon one lifeline being observed on a different lifeline.  The projection is from initiator to observer.
  61.694 +
  61.695 +\begin{description}
  61.696 +\item[event:] 
  61.697 +\(E   \) represents an event, which is something that
  61.698 +can be initiated or observed. 
  61.699 +\item[occurrence:]
  61.700 +\(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
  61.701 +integer, for example: \(O_{7}\) 
  61.702 +
  61.703 +\item[clock:]
  61.704 +\(t:I\rightarrow\mathbb{R}^{+}\) maps each integer
  61.705 +onto a  real number, such that \(I_{1}<I_{2}\Rightarrow
  61.706 +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
  61.707 +sequence of the clock. 
  61.708 +\item[lifeline:]
  61.709 +\(l = <\alpha ,  t> \) 
  61.710 + is a lifeline, where \(\alpha\)
  61.711 +is a sequence over \(Dom(t)\) and each element of \(\alpha\) is either an initiation of an occurrence, or an observation
  61.712 +of one. A \textit{beat} of the lifeline is one tuple, denoted \(l(i)\), while the occurrence associated 
  61.713 +to the beat is denoted\(\) \(O(l(i))  \) or equivalently \(O(\alpha(i)). \) The real value
  61.714 +associated with the beat is denoted \(t(l(i))\).  For a given lifeline, not every element of \(t\) must have an associated
  61.715 +\(\alpha\), but every \(\alpha\) must have a unique associated
  61.716 +\(I\) from the clock \(t\).  Note that \(\forall i , t(l(i)) < t(l(i+1))\).  At most one beat from one
  61.717 +lifeline can initiate an occurrence.  However, multiple
  61.718 +beats
  61.719 +from a given lifeline can observe the same occurrence,
  61.720 +including one initiated earlier in the sequence of
  61.721 +the lifeline,
  61.722 +and multiple lifelines may observe the same occurrence,
  61.723 +each multiple times.  
  61.724 +
  61.725 +\item[projection:]
  61.726 +Given \(l_{1} = <\alpha ,  t_{1}> \), \(l_{2} = <\beta ,  t_{2}> \) then a projection from \(l_{1}\) to \(l_{2}\)
  61.727 + is denoted  \(l_{1}(i) \uparrow l_{2}(j) \), where  \(l_{1}(i) \uparrow l_{2}(j)
  61.728 +\equiv O(l_{1}(i)) = O(l_{2}(j))\).
  61.729 + This says that the occurrence initiated by the ith beat of the first lifeline is observed by the jth beat
  61.730 +of the second lifeline. 
  61.731 +
  61.732 +\item[ordering tuple:] \(OT_{}\) is a tuple consisting
  61.733 +of a set of two  beats from two different lifelines, which do
  61.734 +not participate in projections, plus a set of projections
  61.735 +that cross the two beats in the forward direction. 
  61.736 +Given \(OT =<[l_{1}(x) , l_{2}(y)], [projections]> \) then \(OT\) is an
  61.737 +ordering tuple  iff \( [projections] \neq0 \forall p(i,j) \in  projections \nexists p(i,j)
  61.738 +|i<x \wedge j>y\  \) 
  61.739 +\item[program run:] \(\mathcal{R} \) is a particular set of lifelines.
  61.740 +The program run begins with the creation of any lifeline, and
  61.741 +ends with the end of all lifelines.
  61.742 +
  61.743 +\item[equivalent positions in different  sequences:] a partial ordering is defined.
  61.744 +Given two positions within different sequences, if
  61.745 +one or both both can be
  61.746 +validly rearranged, by using the partial ordering to
  61.747 +define valid rearrangements,  so they occupy 
  61.748 + the same position in their rearranged sequences, then
  61.749 +they are equivalent positions.
  61.750 +
  61.751 +\item[equivalent occurrences:] two occurrences are
  61.752 +equivalent if their event instances cannot be distinguished, given the observation
  61.753 +measurements of interest. If the observation measurement
  61.754 +involves sequences, then the two events must lie at
  61.755 +equivalent positions within their respective sequences.
  61.756 +
  61.757 +\item[equivalent lifelines:] two lifelines whose beats
  61.758 +can be paired, such that every beat in one lifeline
  61.759 +has an equivalent beat in the other.  The beats do
  61.760 +not have to occur in the same order in both lifelines.
  61.761 +Beats associated to occurrences that are not of interest can be dropped.
  61.762 +
  61.763 +\item[equivalent program runs:] two runs such that
  61.764 +their lifelines can be paired one-to-one, with every lifeline in one paired to an equivalent
  61.765 +lifeline in the other. The projections between lifelines
  61.766 +in one run can be different from the projections in
  61.767 +the other run.
  61.768 +
  61.769 +\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. 
  61.770 +\end{description}
  61.771 +
  61.772 +
  61.773 +Some things to note: A particular occurrence
  61.774 +can be associated to at most one beat from a given
  61.775 +lifeline, but that same occurrence can also be associated
  61.776 +to beats from multiple other lifelines.  Also, an occurrence may
  61.777 +be initiated by a lifeline but never observed by any.
  61.778 +Every \(O\) has a set of projections associated with it.
  61.779 +
  61.780 +For example, the event could
  61.781 +be writing a value into a variable.  Two separate
  61.782 +write events are considered equivalent occurrences if
  61.783 +they both write the same particular value into whatever memory location
  61.784 +is associated to the same particular
  61.785 +variable, and happen within valid partial orderings
  61.786 +relative to the other occurrences.  This is normally
  61.787 +compared across re-creations of the "universe" that
  61.788 +provides the context for the orderings of events instances.
  61.789 +
  61.790 +=========
  61.791 +
  61.792 + Okay, talked it over with Sung -- what about making distinguished beats
  61.793 +-- as Sung poked around for, make the PR\ "suspend" be the
  61.794 +distinguished beat.  Then, as we worked out talking it
  61.795 +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.
  61.796 +
  61.797 +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
  61.798 +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!
  61.799 +
  61.800 +  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.
  61.801 +
  61.802 +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.
  61.803 +
  61.804 +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.
  61.805 +
  61.806 +From the projection "behavior" I can simply state "this
  61.807 +defines what all synchronization constructs do" --
  61.808 +the projection behavior is the whole purpose of a sync construct -- to ensure particular communication pattern when comm is via side-effect
  61.809 +
  61.810 +=======
  61.811 +
  61.812 +From first model, have the real-value constraints for  slide of suspend and resume relative to each other..
  61.813 +
  61.814 +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
  61.815 +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,
  61.816 +and backward crossing are allowed whose initiation
  61.817 +is on non-origin lifeline. 
  61.818 +  
  61.819 +But a tie-point is more than just the behavior it defines.
  61.820 + In order for a pair of special beats to form a tie-point,
  61.821 +they must be causally linked on their internal lifelines.  This means that a sequence of changes of the internal
  61.822 +state links the internal activity of one of the special beats to the internal activity of another special beat
  61.823 +that executes the resume that ends  the second special beat. All special beats that are resumed inside the
  61.824 +same internal activity will have the behavior of a
  61.825 +full tie-point. Half tie-points can have both halves
  61.826 +resumed in different internal activities.
  61.827 +   
  61.828 +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. 
  61.829 +
  61.830 +The internal activity on the hidden lifeline enforces some description. 
  61.831 +
  61.832 +For
  61.833 +example, send-receive descriptions are: send = if paired
  61.834 +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.
  61.835 +  
  61.836 +For acquire-release.. acquire: if lock-owner inside shared
  61.837 +context is empty then place self-name into lock-owner
  61.838 +and resume self else place self onto end of sequence
  61.839 +of special beats. release: remove self from lock-owner
  61.840 +and place the next in sequence of special beats into
  61.841 +lock-owner. If non-empty then resume the new lock-owner.
  61.842 +in every case, resume self. Note, acquire-release can
  61.843 +form either a half tie-point or a full tie-point. 
  61.844 +?
  61.845 +
  61.846 +====
  61.847 +
  61.848 +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
  61.849 +of a useful subset of what the intuition of tie-point associates to.  
  61.850 +
  61.851 +
  61.852 +   
  61.853 +
  61.854 +
  61.855 +\subsection{How a synchronization construct relates
  61.856 +to tie-points}
  61.857 +
  61.858 +To prepare for stating how the tie-point model can be used to
  61.859 +specify a synchronization construct, we first state
  61.860 +clearly what we mean by a ``synchronization construct''.
  61.861 +
  61.862 +The top of Fig \ref{fig:PRSyncConstrDef} shows two
  61.863 +independent timelines, both performing reads and writes
  61.864 +within a machine that has coherent shared memory. The
  61.865 +timelines have no relative ordering defined, so any
  61.866 +write on Timeline A can be received by any read of
  61.867 +the same address on
  61.868 +Timeline B, and vice versa.  This means that, in general,
  61.869 +the use of a variable that is read and written by both will result in non-deterministic behavior.
  61.870 +
  61.871 +
  61.872 +\begin{figure}[ht]
  61.873 +  \centering
  61.874 +  \includegraphics[width = 2.0in, height = 2.8in]
  61.875 +  {../figures/PR__timeline_sync_def.pdf}
  61.876 +  \caption{Depicts the meaning  we adopt for  `synchronization construct'.  One of them  controls communications between timelines
  61.877 +by controlling the slide of timelines relative to each
  61.878 +other. They imply certain visibility between writes  and reads on different timelines.}
  61.879 +  \label{fig:PRSyncConstrDef}
  61.880 +\end{figure}
  61.881 +  
  61.882 +
  61.883 +
  61.884 +To control the behavior of writes and reads to the
  61.885 +same addresses, a common point must be established, which
  61.886 +limits the ``sliding'' of the timelines relative to
  61.887 +each other. A synchronization construct is used for
  61.888 +this.
  61.889 +The net effect of such a construct is to establish
  61.890 +a common point that both timelines agree on.  This
  61.891 +point separates reads and writes before it from reads
  61.892 +and writes after it.
  61.893 +
  61.894 +For example, consider a simple lock used to protect a critical section.  The lock is acquired by one timeline
  61.895 +before entering the critical section. Any writes performed
  61.896 +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}.
  61.897 +
  61.898 +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},
  61.899 +any writes performed by that new
  61.900 +timeline after it acquires the lock must not be visible
  61.901 +to reads performed by the old timeline before it released
  61.902 +the lock. 
  61.903 +
  61.904 +With this intuition, we define a synchronization construct
  61.905 +as an operation preformed on a timeline, which has
  61.906 +the property that it creates
  61.907 +a tie-point together with an operation performed on a different
  61.908 +timeline.  Such operations that establish a tie-point
  61.909 +fit our definition of synchronization constructs.
  61.910 +
  61.911 +
  61.912 +\subsection{More on tie-points}
  61.913 +
  61.914 +Fig \ref{fig:dualTimeline} showed how a tie-point can be generated. The establishment was accomplished by
  61.915 +a combination of primitive mechanisms. These include: 1) suspend; 2) an `invisible' timeline that executes
  61.916 +behavior in the gaps; 3) resume
  61.917 +called from that invisible timeline; and 4) enforcement
  61.918 +of instruction completion relative to resume.  
  61.919 + 
  61.920 +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.
  61.921 +
  61.922 +
  61.923 +Notice that the primitives that establish a tie-point
  61.924 +do not involve any notion of  dependency or constraint
  61.925 +on order of execution.  It is the behavior code that runs on the invisible
  61.926 + timeline that embodies notions such as dependency
  61.927 + between units of work, mutual exclusion,
  61.928 + partial ordering of work, and so on.  However, the
  61.929 + primitives do provide the notion of causality,  the ordering implied by causality, and enforcing completion
  61.930 +of reads/writes.
  61.931 +
  61.932 +It is up to the language to supply the behavior that happens inside
  61.933 +the gaps, which executes on the invisible timeline. This behavior is what decides which timelines end up
  61.934 +sharing a tie point. It is that decision making, of which timelines to tie together, that implements the
  61.935 +semantics of a synchronization construct.
  61.936 +
  61.937 +A workshop paper also discusses tie points
  61.938 +[]. A formal treatment of tie-points is beyond the scope of this paper. However, a formal framework has been substantially completed and
  61.939 +will be published in a future paper.  
  61.940 +
  61.941 +
  61.942 +
  61.943 +\subsection{Tie-points within a proto-runtime}
  61.944 +
  61.945 + 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
  61.946 +proto-runtime executes the language plugin behavior.
  61.947 +It acts as the hidden timeline.
  61.948 +
  61.949 + The proto-runtime code module also supplies implementations
  61.950 +of the primitives that are used to establish a tie-point, including these:
  61.951 +
  61.952 + %It provides the primitive that suspends a timeline and then causes language plugin behavior to execute in the gap. 
  61.953 +  
  61.954 +%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.
  61.955 +
  61.956 +%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. 
  61.957 +
  61.958 +%\subsection{More about the proto-runtime}
  61.959 +
  61.960 +\begin{itemize}
  61.961 +\item create a virtual processor (which has a suspendible timeline)
  61.962 +\item create a task (which has an atomic timeline that runs to completion)
  61.963 +
  61.964 +\item suspend a timeline, then invoke a   function to handle the suspension -- handler is  supplied with
  61.965 +parameters from application 
  61.966 +\item resume a timeline, which makes it ready for execution
  61.967 +\item end a timeline
  61.968 +\item trigger choosing which virtual processor or task to begin execution on an offered
  61.969 +core
  61.970 +
  61.971 +\end{itemize}
  61.972 +
  61.973 +Virtual processors and tasks, both, have associated timelines. The reason for having both is a practical one, as tasks are simpler, with less overhead,
  61.974 +and many languages have the semantics of short, atomic, units of work that
  61.975 +are not intended to suspend. Thus, tasks are treated differently inside the
  61.976 +proto-runtime, and incur less overhead to create and run.
  61.977 +
  61.978 +A special feature of the proto-runtime is that if a task happens to execute
  61.979 +a language command that causes suspension, then the proto-runtime automatically
  61.980 +converts that task to a suspendible virtual processor. This helps support the mixing of different
  61.981 +languages within the same program.
  61.982 +
  61.983 +
  61.984 +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
  61.985 +can be communicated from the wrapper library to the plugin. 
  61.986 +
  61.987 +
  61.988 +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,
  61.989 +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. 
  61.990 +
  61.991 +The proto-runtime involves the language into the process of choosing which core a given task
  61.992 +or virtual processor executes on. The proto-runtime maintains control, but offers free cores to the Assigner
  61.993 +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.
  61.994 +
  61.995 +
  61.996 +
  61.997 +\subsection{Concrete Example}\label{subsec:Example}
  61.998 +
  61.999 +To make this concrete, consider the example of implementing
 61.1000 +acquire mutex and release mutex. The semantics are:
 61.1001 +
 61.1002 +\begin{itemize}
 61.1003 +\item Acquire Mutex: A thread  calls the construct,
 61.1004 +and
 61.1005 +provides the name of the mutex. If no thread owns the
 61.1006 +mutex, the calling thread is given ownership and it
 61.1007 +continues to make progress. However, if a different thread
 61.1008 +already owns the mutex, the calling thread is put into a queue
 61.1009 +of waiting threads, and stops making progress. 
 61.1010 +\item Release Mutex: A thread calls the construct and
 61.1011 +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
 61.1012 +that called the release construct.. 
 61.1013 +\end{itemize} 
 61.1014 +
 61.1015 +This calls for a data structure that has two fields:
 61.1016 +one holds the thread that currently owns the mutex,
 61.1017 +the other holds a queue of threads waiting to acquire
 61.1018 +the mutex. The semantics of a construct involve multiple
 61.1019 +reads
 61.1020 +and writes of the data structure. Hence, the
 61.1021 + structure must  be protected
 61.1022 +from races between different threads. 
 61.1023 +
 61.1024 +The protection
 61.1025 +is where the difficulty comes into the implementation,
 61.1026 +and where performance issues come into the picture.
 61.1027 +It could be accomplished with a single global lock
 61.1028 +  that uses hardware primitives, or accomplished
 61.1029 +with wait-free data structures that only rely upon the coherence
 61.1030 +mechanism of the memory system, or even by message passing plus
 61.1031 +quorum techniques.
 61.1032 +
 61.1033 +However, the implementation of the semantics  is independent
 61.1034 +of the implementation of the protection. They are orthogonal,
 61.1035 +and an interface can be placed between them. One side
 61.1036 +of the interface implements checking and updating the fields of
 61.1037 +the data structure, while the other side implements
 61.1038 +protecting the first side from interference.
 61.1039 + 
 61.1040 +The side that provides protection requires fields,
 61.1041 +for its use, to be placed into the data structure used
 61.1042 +to represent a thread. To hide those details,
 61.1043 +the protection side should also provide
 61.1044 +primitives to create and destroy threads, as well as suspend
 61.1045 +and resume them.
 61.1046 +
 61.1047 +This interface that separates the semantic side from
 61.1048 +the protection
 61.1049 +side is the proto-runtime interface. It is what enables
 61.1050 +the modularization of runtime system implementations.
 61.1051 +
 61.1052 +The tie-point concept provides a model for thinking
 61.1053 +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.
 61.1054 + That provides a cross-hardware way of specifying synchronization
 61.1055 +behavior using just sequential thinking. The proto-runtime primitives implement the elements of the tie-point model.    
 61.1056 +
 61.1057 + %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
 61.1058 +%constructs. Either way,  developing the behavior proves
 61.1059 +%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.
 61.1060 +
 61.1061 +
 61.1062 +
 61.1063 +
 61.1064 +
 61.1065 +\section{Concrete Details}
 61.1066 +Now that we have seen the concepts of how to modularize
 61.1067 +a runtime system, using the tie-point model, it is
 61.1068 +time to make the concepts concrete by showing code
 61.1069 +segments that implement each of the concepts, and code
 61.1070 +segments that use the concepts.  We will start with
 61.1071 +the big picture and work down.
 61.1072 +
 61.1073 +The first stop will be the development process, showing
 61.1074 +how it is fractured into three separate and independent
 61.1075 +development activities.  Next, we will show examples
 61.1076 +of how application
 61.1077 +code invokes constructs, and follow the path of calls
 61.1078 +down to the point it switches over to the runtime system. Lastly,
 61.1079 +we will look at the flow of control inside the runtime,
 61.1080 +where we will focus on the interaction between plugin
 61.1081 +code and proto-runtime code.  
 61.1082 +
 61.1083 +In this last portion, we will show how the
 61.1084 +interface supplies the plugin with a consistent ``inside
 61.1085 +the runtime" environment.  Along with that, we will
 61.1086 +show how providing
 61.1087 +a consistent environment
 61.1088 + is an implementation of the "single hidden timeline" portion
 61.1089 + of the tie-point model. We will also show how it is
 61.1090 + the existence of a \textit{single} hidden timeline
 61.1091 + that allows the semantic portion of the language constructs
 61.1092 +to be written in a sequential style, without regard to concurrency issues.  
 61.1093 +
 61.1094 +
 61.1095 +\subsection{Three independent development efforts}
 61.1096 +
 61.1097 +To get a handle on the big picture,  we describe the
 61.1098 +three independent paths that development takes:
 61.1099 +one for development of proto-runtime code, one for
 61.1100 +development of language implementation, and one for
 61.1101 +application development. Each of these produces a separate
 61.1102 +installable artifact.
 61.1103 +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.
 61.1104 + 
 61.1105 +The proto-runtime code is developed separately from
 61.1106 +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.
 61.1107 +
 61.1108 +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. 
 61.1109 +
 61.1110 +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. 
 61.1111 +
 61.1112 +The wrapper library, however, is not
 61.1113 +installed on the machine where code runs. Rather, it
 61.1114 +is only used during development of an application,
 61.1115 +and remains independent of hardware.
 61.1116 + 
 61.1117 +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.  
 61.1118 +When an application is executed, the loader binds the
 61.1119 +dynamic libraries, connecting them to the application.
 61.1120 + In this way, a single,
 61.1121 +unchanging, executable gains access to machine-specific implementations of language and proto-runtime.  
 61.1122 +
 61.1123 +However, the success of the compile-once approach has
 61.1124 +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
 61.1125 +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.
 61.1126 +
 61.1127 +\subsection{Walk through of activity during execution} 
 61.1128 +
 61.1129 +At this point, we present a picture of the flow of control on each
 61.1130 +of two cores, as the core is switched between application
 61.1131 +code and runtime code.  It is too early to understand
 61.1132 +the details, but this figure can be referred back to
 61.1133 +as each portion is discussed in the coming sub-sections.
 61.1134 +Each portion of the figure is labelled with the sub-section that describes that portion of activity. 
 61.1135 +
 61.1136 +At the top is the main program, which starts the proto-runtime,
 61.1137 +and creates a proto-runtime process.  Below that is
 61.1138 +depicted the creation of proto-runtime virtual processors,
 61.1139 +along with the animation of application code by those virtual
 61.1140 +processors.
 61.1141 +
 61.1142 +?
 61.1143 +
 61.1144 +The application  passes information to a wrapper library
 61.1145 +call,
 61.1146 +such as the ID of the mutex to acquire. The library function packages the
 61.1147 +information into a request data structure, then invokes a proto-runtime
 61.1148 +primitive. That suspends the virtual processor (timeline) that is executing
 61.1149 +that code.  The call to the primitive passes as arguments the request structure and a pointer
 61.1150 +to the plugin function that will handle the request.
 61.1151 +The handler runs inside the Master and chooses which
 61.1152 +other timelines to resume as a consequence of the wrapper-library
 61.1153 +call. Those timelines will then resume, returning from
 61.1154 +whatever wrapper-library call caused them to suspend.  In this way, the request handle implements the behavior of a
 61.1155 +synchronization construct.
 61.1156 +
 61.1157 +However, there is one last step between the request
 61.1158 +handler marking a timeline as ready to resume 
 61.1159 +and it becoming re-animated. That step is where the
 61.1160 +assignment half of the language plugin comes into play.
 61.1161 +The request handlers stack up work that is free to
 61.1162 +be executed, but it is the assigner that chooses which
 61.1163 +of those to place onto an offered core.
 61.1164 +
 61.1165 +
 61.1166 +
 61.1167 +
 61.1168 +
 61.1169 +\begin{figure*}[ht]
 61.1170 +  \centering
 61.1171 +  \includegraphics[width = 7.0in, height = 4.5in]
 61.1172 +  {../figures/Proto-Runtime__modules_plus_plugin_plus_code.pdf}
 61.1173 +  \caption{Illustration of the physical time sequence of the timelines of multiple virtual processors executing on multiple
 61.1174 +cores. The timelines run top to bottom, while calls
 61.1175 +between modules and returns run horizontally. The colors of Fn names indicate whether the
 61.1176 +code is part of the application (green), the proto-runtime module (blue), or the language  (red). The top two timelines are animated
 61.1177 +by core 1, while the bottom 2 are animated by core
 61.1178 +2. The boxes
 61.1179 +represent virtual processors, each with its associated
 61.1180 +timeline next to it. The timelines have no relative
 61.1181 +ordering, except at tie-points established by the Request
 61.1182 +Handlers.   Gaps in the timelines are caused by suspension,
 61.1183 +which is effected by primitives within the proto-runtime
 61.1184 +code module.}
 61.1185 +  \label{fig:langBreakdown}
 61.1186 +\end{figure*}
 61.1187 +
 61.1188 +
 61.1189 +
 61.1190 +\subsection{Using language constructs}
 61.1191 +In the simple form of an eDSL, the language constructs
 61.1192 +take the form of function calls. The reader familiar
 61.1193 +with posix threads will have used function calls to
 61.1194 +perform mutex acquire commands and mutex release commands.
 61.1195 +Here, we illustrate invoking language commands in the
 61.1196 +same way.
 61.1197 +
 61.1198 +We use posix threads for our example because it is
 61.1199 +a familiar language that the reader already knows well.
 61.1200 +It allows us to illustrate the concepts new to proto-runtime without introducing potential confusion about what the language semantics are.
 61.1201 +
 61.1202 +\subsubsection{Main and startup}
 61.1203 +Before using a proto-runtime based language, the proto-runtime
 61.1204 +system must be started, and a proto-runtime process
 61.1205 +must be created.  Fig X shows this. Notice that the
 61.1206 +create process was given a pointer
 61.1207 +to a function.  This function is the seed of the proto-runtime
 61.1208 +based application code.  This seed must start all proto-runtime
 61.1209 +based languages that will be used in the application,
 61.1210 +and must create the virtual processors and tasks that
 61.1211 +perform the work and may in turn create more VPs and/or tasks that perform work.
 61.1212 +
 61.1213 +==main, with PR\_\_start and PR\_\_create\_process == 
 61.1214 +
 61.1215 +\subsubsection{Seed birth function and thread birth
 61.1216 +function}
 61.1217 +Fig X shows our example seed function. It first starts
 61.1218 +the language that will be used, which is Vthread. It
 61.1219 +is an implementation of posix threads that is on top of proto-runtime.
 61.1220 +Next, the seed uses Vthread commands to create two
 61.1221 +threads, and then uses Vthread join to wait for both
 61.1222 +threads to die.  Lastly it "dissipates", which is the
 61.1223 +command that kills the virtual processor that is animating
 61.1224 +the function.
 61.1225 +
 61.1226 +==seed\_birth\_Fn, with Vthread\_\_start(), Vthread\_\_create\_thread,
 61.1227 +Vthread\_\_join, Vthread\_\_stop, and dissipate==
 61.1228 +
 61.1229 +Notice the signature
 61.1230 +of the seed birth function. It returns void, and takes a pointer
 61.1231 +to void plus a pointer to a SlaveVP struct. This is
 61.1232 +the standard signature that must be used for all birth functions for
 61.1233 +proto-runtime created virtual processors or tasks.  
 61.1234 +
 61.1235 +
 61.1236 +Also, notice that the standard signature includes a
 61.1237 +pointer to a SlaveVP struct. This is a proto-runtime
 61.1238 +defined structure, which holds the meta-information
 61.1239 +about a virtual processor. The birth function is handed
 61.1240 +the structure of the virtual processor that is animating
 61.1241 +it.
 61.1242 +
 61.1243 +An illuminating aside is that the birth function for
 61.1244 +a posix thread doesn't need
 61.1245 +to be handed the structure representing the animating thread.
 61.1246 +That is because the operating system tracks which thread
 61.1247 +is assigned to which core.  Posix thread constructs work by executing
 61.1248 +an instruction that suspends the code executing on
 61.1249 +the core and switches
 61.1250 +the core over to animating the OS kernel code. The OS kernel
 61.1251 +then looks up the data structure that is assigned to
 61.1252 +the core.  
 61.1253 +
 61.1254 +That lookup is how the OS kernel gains the
 61.1255 +pointer to the thread that was animating the application
 61.1256 +code that called the posix construct.  But the implementation
 61.1257 +of proto-runtime illustrated in this paper doesn't
 61.1258 +have such a hardware based suspend instruction available,
 61.1259 +and so proto-runtime-based application code must explicitly pass around the pointer to the data
 61.1260 +structure of the virtual processor performing the animation. 
 61.1261 +
 61.1262 +Fig X shows the birth function of the threads created
 61.1263 +by the seed birth function.  It uses the Vthread equivalent
 61.1264 +of mutex acquire and release to protect access to
 61.1265 +a critical section. Notice that the signature
 61.1266 +is the same as the signature of the seed birth function.
 61.1267 +Also notice that the SlaveVP structure is handed to
 61.1268 +each invocation of a Vthread construct.  In the next
 61.1269 +several sub sections we will track how this SlaveVP structure
 61.1270 +is used.
 61.1271 +
 61.1272 +==thread birth function.. uses Vthread acquire and
 61.1273 +release to protect a counter plus print of count value==
 61.1274 +
 61.1275 +
 61.1276 +\subsection{Language Wrapper Library}
 61.1277 +
 61.1278 +Looking at the implementation of the Vthread calls
 61.1279 +reveals code such as in Fig X.
 61.1280 + 
 61.1281 +==wrapper lib code for mutex acquire==
 61.1282 +
 61.1283 +There's nothing much to it.  It just creates a data
 61.1284 +structure, fills it, then hands it to a proto-runtime
 61.1285 +call.  This is a starnd form for wrapper library
 61.1286 +calls. The data structure is used to carry information
 61.1287 +into the proto-runtime (the proto-runtime that was
 61.1288 +started by the PR\_\_start command).  The PR call is
 61.1289 +the equivalent of the hardware instruction that suspends
 61.1290 +application code and switches to the kernel.  For the
 61.1291 +implementation of PR illustrated in this paper, this
 61.1292 +call is implemented with assembly instructions.
 61.1293 +
 61.1294 +This wrapper library code is placed on the machine
 61.1295 +used during development of the application, and is
 61.1296 +compiled into the application executable.  However,
 61.1297 +the proto-runtime call is a link to a dynamic library,
 61.1298 +and is not part of the application executable.
 61.1299 +
 61.1300 +Notice that the PR\ primitive is given a pointer to
 61.1301 +a function.  This is called the handler function, and
 61.1302 +is part of the language plugin.  The proto-runtime
 61.1303 +will actually perform the call to the handler function, but in a carefully controlled
 61.1304 +way. It will provide the handler function with a carefully controlled environment
 61.1305 +to use while it handles this wrapper-library call.
 61.1306 +We will see in a moment how proto-runtime invokes the
 61.1307 +handler function, and what such a handler function
 61.1308 +looks like.
 61.1309 +
 61.1310 +First, here's the assembly that suspends the application code and
 61.1311 +switches to the proto-runtime code, as seen in Fig X
 61.1312 +
 61.1313 +==assembly of suspend and switch==
 61.1314 +
 61.1315 +All it does is save the program counter and stack pointer
 61.1316 +into the SlaveVP structure, then load in the program
 61.1317 +counter and stack pointer of the proto-runtime code,
 61.1318 +which was previously saved in different fields of that same SlaveVP structure.
 61.1319 +
 61.1320 +\subsubsection{proto-runtime code that is switched
 61.1321 +to}
 61.1322 +
 61.1323 +The PR assembly code switches the core to executing
 61.1324 +the (psuedo) code seen in Fig X.
 61.1325 +
 61.1326 +==animation master code, which calls plugin fns==
 61.1327 +
 61.1328 +All this does is invoke the handler function named
 61.1329 +in the wrapper library, and hands it an environmen.
 61.1330 +This is the hidden environment referred to in the tie-point
 61.1331 +model.  It must be accessed in an isolated, atomic,
 61.1332 +fashion.  The proto-runtime code seen here happens
 61.1333 +to use a global lock for each language's environment.
 61.1334 + However other implementations are possible.  In order
 61.1335 + to keep overhead low, it uses the Compare And Swap
 61.1336 + instruction to acquire the lock, and an exponential random
 61.1337 + backoff scheme when contention for the lock arises.
 61.1338 + 
 61.1339 + The handler function is the hidden behavior that executes
 61.1340 + on the hidden timeline that is mentioned in the tie-point
 61.1341 + model. The suspend primitive is what begins a special
 61.1342 + beat on the lifeline of the virtual processor that
 61.1343 + executed the wrapper library call. It is this handler
 61.1344 + code that then establishes the causal connections
 61.1345 + between such special beats, and so ties them together.
 61.1346 + The causal connection is via the changes make to the
 61.1347 + language environment.
 61.1348 + 
 61.1349 + So, in summary, the proto-runtime is the hidden timeline.
 61.1350 + The suspend primitive is what starts a special beat
 61.1351 + and starts the behavior on the hidden timeline. The
 61.1352 + lock is what isolates and sequentializes
 61.1353 + the behavior on the hidden timeline.  The language
 61.1354 + environment is the hidden state used to establish
 61.1355 + causal connection between special beats.
 61.1356 +
 61.1357 +
 61.1358 +
 61.1359 +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.
 61.1360 +
 61.1361 +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.
 61.1362 +
 61.1363 +
 61.1364 +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.
 61.1365 +
 61.1366 +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.
 61.1367 +
 61.1368 +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.  
 61.1369 +
 61.1370 +?
 61.1371 +
 61.1372 +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.
 61.1373 +
 61.1374 +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.   
 61.1375 +
 61.1376 +===================
 61.1377 +
 61.1378 +
 61.1379 +\subsection{not sure}
 61.1380 +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.
 61.1381 +
 61.1382 +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.
 61.1383 +
 61.1384 +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. 
 61.1385 +
 61.1386 +?
 61.1387 +
 61.1388 +The only thing you're allowed to do outside a language is create the environment in which you start a language.
 61.1389 +
 61.1390 +?
 61.1391 +
 61.1392 +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". 
 61.1393 +The request handler plus plugin together provide the two halves of what people normally call a scheduler.
 61.1394 +
 61.1395 +=================
 61.1396 +
 61.1397 +\subsection{more on tie-points}
 61.1398 +Any event visible before in one is visible in both after. The guarantee is between before in one and after in both. 
 61.1399 +
 61.1400 +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.
 61.1401 +
 61.1402 +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.
 61.1403 +
 61.1404 +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.
 61.1405 +
 61.1406 +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.  
 61.1407 +
 61.1408 +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.
 61.1409 +
 61.1410 +
 61.1411 +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.
 61.1412 +
 61.1413 +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.
 61.1414 +
 61.1415 +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. 
 61.1416 +
 61.1417 +===========
 61.1418 +
 61.1419 +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.   
 61.1420 +
 61.1421 +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.
 61.1422 +
 61.1423 +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.
 61.1424 +
 61.1425 +============
 61.1426 +    
 61.1427 +
 61.1428 +\subsection{More on eDSLs}
 61.1429 +%======================================
 61.1430 +
 61.1431 +%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.
 61.1432 +
 61.1433 +%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. 
 61.1434 +
 61.1435 +%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. 
 61.1436 +
 61.1437 +%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.
 61.1438 +
 61.1439 +
 61.1440 +% ==============
 61.1441 +
 61.1442 +%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. 
 61.1443 +
 61.1444 +%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. 
 61.1445 +
 61.1446 +%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. 
 61.1447 +
 61.1448 +%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.    
 61.1449 +
 61.1450 +
 61.1451 +
 61.1452 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 61.1453 +\subsection{Details}
 61.1454 +\label{subsec:Details}
 61.1455 +
 61.1456 +  what responsibilities are encapsulated in which modules, and what the interfaces between them look like. 
 61.1457 +
 61.1458 +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.   
 61.1459 +
 61.1460 +?
 61.1461 +
 61.1462 +
 61.1463 +
 61.1464 + overhead measurements 
 61.1465 +
 61.1466 +implementation time measurements
 61.1467 +
 61.1468 + discuss why equivalent user-level M to N thread packages haven't been pursued, leaving no viable user-level libraries to compare against.
 61.1469 +
 61.1470 + give numbers that indicate that the proto-runtime approach is also competitive with Cilk, and OMPSs, on large multi-core servers.
 61.1471 +
 61.1472 + 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
 61.1473 +least, the same effort would have to be expended on
 61.1474 +each and every language that we expended on performance
 61.1475 +tuning our proto-runtime.
 61.1476 +
 61.1477 +  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 
 61.1478 +
 61.1479 +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.
 61.1480 +
 61.1481 +Then, with the full understanding of the proto-runtime approach in hand, we discuss  how it compares to related work (\S ).
 61.1482 +
 61.1483 +Finally, we highlight the main conclusions drawn from the work (\S ).
 61.1484 +
 61.1485 +
 61.1486 +
 61.1487 +?
 61.1488 +
 61.1489 +
 61.1490 +
 61.1491 +
 61.1492 + The behavior module creates work and determines when work is free the execute, it  tracks  constraints on work imposed by language semantics, and constraints
 61.1493 +due to data dependencies.
 61.1494 +
 61.1495 + 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.  
 61.1496 +
 61.1497 +?
 61.1498 +
 61.1499 +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.
 61.1500 +
 61.1501 +
 61.1502 +
 61.1503 +   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.   
 61.1504 +
 61.1505 + implementing language logic, 
 61.1506 +
 61.1507 +show how the proto-runtime interface allows it to use sequential thinking. 
 61.1508 +
 61.1509 +give similar detail on the implementation of the assigner,
 61.1510 +we discuss how that has the potential to improve application performance by reducing communication between cores and reducing idle time of cores. 
 61.1511 +
 61.1512 +support  belief that the patterns we followed when modularizing are indeed fundamental and will remain valid for future languages and hardware. 
 61.1513 +
 61.1514 + discuss some of the centralized services provided by the current proto-runtime implementation, as well as planned future ones. 
 61.1515 +
 61.1516 +reusing language logic from one language implementation to another. 
 61.1517 +
 61.1518 +
 61.1519 +%%%%%%%%%%%%%%%%%%%%%%%%
 61.1520 +%%
 61.1521 +%%%%%%%%%%%%%%%%%%%%%%%%
 61.1522 +\section{Measurements}
 61.1523 +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}
 61.1524 +
 61.1525 +\subsection{Overhead Measurements} \label{subsec:OverheadMeas}
 61.1526 +For the following, we use a 4-core single socket 2.4Ghz laptop, and a 4 socket by 10 core each server.
 61.1527 +
 61.1528 +For runtime performance:
 61.1529 +
 61.1530 +-- Vthread vs pthread: laptop and server on exe vs task (and fibonacci?)
 61.1531 +
 61.1532 +-- VCilk vs Cilk: laptop and server on fibonacci (from Albert)
 61.1533 +
 61.1534 +-- VOMP vs OpenMP: laptop and server on exe vs task and fibonacci
 61.1535 +
 61.1536 +-- VSs vs OMPSs: laptop and server on fibonacci and jpeg
 61.1537 +
 61.1538 +\begin{tabular}{|c|c|c|c|c|c|c|}\hline
 61.1539 +a & 2 & a & a & a & a & a \\\hline
 61.1540 +a & 2 & a & a & a & a & a \\\hline
 61.1541 +a & a & a & a & a & a & a \\\hline
 61.1542 +a & a & a & a & a & a & a \\\hline
 61.1543 +\end{tabular}
 61.1544 +\caption{}
 61.1545 +\label{tab}
 61.1546 +
 61.1547 +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.
 61.1548 +
 61.1549 +
 61.1550 +\subsubsection{Vthread Versus Highly Tuned Posix Threads}
 61.1551 +
 61.1552 +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.  
 61.1553 +\subsubsection{VCilk Versus Cilk 5.4}
 61.1554 +In \S we give numbers that indicate that the proto-runtime approach is also competitive with Cilk
 61.1555 +\subsubsection{VSs Versus StarSs (OMPSs)}
 61.1556 +OMPSs
 61.1557 +\subsubsection{VOMP Versus OpenMP}
 61.1558 +VOMP
 61.1559 +
 61.1560 +
 61.1561 +%%%%%%%%%%%%%%%%%%%%%%%%
 61.1562 +%%
 61.1563 +%%%%%%%%%%%%%%%%%%%%%%%%
 61.1564 +\subsection{Development Time Measurements}\label{subsec:ImplTimeMeas}
 61.1565 +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.
 61.1566 +
 61.1567 +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.
 61.1568 + 
 61.1569 +
 61.1570 +\begin{centering}
 61.1571 +\begin{tabular}{|l|r|r|r|r|r|r|}
 61.1572 +  \cline{2-7}
 61.1573 +  \multicolumn{1}{r|}{} & SSR & Vthread & VCilk & HWSim & VOMP & VSs\\
 61.1574 +  \cline{2-7}
 61.1575 +  \noalign{\vskip2pt}
 61.1576 +  \hline
 61.1577 +  Design & 19 & 6 & 3 & 52 & 18& 6\\
 61.1578 +  Code & 13 & 3 & 3& 32 & 9& 12\\
 61.1579 +  Test & 7 & 2 & 2& 12 & 8& 5\\
 61.1580 +  L.O.C. & 470 & 290 & 310& 3000 & 690 & 780\\
 61.1581 +  \hline
 61.1582 +\end{tabular}
 61.1583 +\caption
 61.1584 +{Hours to design, code, and test each embedded language. L.O.C. is lines of (original) C code, excluding libraries and comments.
 61.1585 +}
 61.1586 +\end{centering}
 61.1587 +\label{tabPersonHoursLang}
 61.1588 +
 61.1589 +\subsubsection{Comparison of Design Approaches}
 61.1590 +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.
 61.1591 +
 61.1592 +
 61.1593 +%%%%%%%%%%%%%%%%%%%%%%%%
 61.1594 +%%
 61.1595 +%%%%%%%%%%%%%%%%%%%%%%%%
 61.1596 +\section{Related Work} \label{sec:Related}
 61.1597 +
 61.1598 +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.
 61.1599 +
 61.1600 +We first talk about each of these approaches, then summarize the conclusions in Table \ref{tab:CriteriaVsApproach}.
 61.1601 +
 61.1602 +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.
 61.1603 +
 61.1604 +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.  
 61.1605 +
 61.1606 +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.
 61.1607 +
 61.1608 +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.
 61.1609 +
 61.1610 +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. 
 61.1611 + 
 61.1612 +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. 
 61.1613 +
 61.1614 +\begin{center}
 61.1615 +\begin{tabular}{|c|c|c|c|c|}\hline
 61.1616 +Runtime Creation  & \textbf{impl.}& \textbf{porting} & \textbf{runtime} & \textbf{application} \\
 61.1617 +\textbf{} & \textbf{ease} & \textbf{ease} & \textbf{perf.} & \textbf{perf.}\\\hline
 61.1618 +\textbf{OS Threads} & ++ & ++ & + & + \\\hline
 61.1619 +\textbf{User Threads} & ++& ++ & ++ & + \\\hline
 61.1620 +\textbf{TBB} & ++ & ++ & ++ & + \\\hline
 61.1621 +\textbf{libGomp} & +++ & ++ & +++ & ++++ \\\hline
 61.1622 +\textbf{HW primitives} & + & + & +++++ & +++++ \\\hline
 61.1623 +\textbf{Proto-runtime} & +++++ & +++++ & ++++ & +++++\\\hline
 61.1624 +\end{tabular}
 61.1625 +\end{center}
 61.1626 +\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. }
 61.1627 +\label{tab:CriteriaVsApproach}
 61.1628 +
 61.1629 +
 61.1630 +
 61.1631 +
 61.1632 +%%%%%%%%%%%%%%%%%%%%%%%%
 61.1633 +%%
 61.1634 +%%%%%%%%%%%%%%%%%%%%%%%%
 61.1635 +\section{Conclusions and Future Work}
 61.1636 +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. 
 61.1637 +%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.
 61.1638 +
 61.1639 +
 61.1640 +%[[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]] 
 61.1641 +
 61.1642 +
 61.1643 +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.
 61.1644 +
 61.1645 +  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. 
 61.1646 +
 61.1647 +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.
 61.1648 +
 61.1649 +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. 
 61.1650 +
 61.1651 +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.
 61.1652 +
 61.1653 +Work on the proto-runtime approach is in its infancy, and much remains to be done, including:
 61.1654 +\begin{itemize} 
 61.1655 +\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.
 61.1656 +\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.
 61.1657 +\item Exploring work assignment implementations that take advantage of language and application knowledge to improve placement of work to gain higher application performance.
 61.1658 +\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.
 61.1659 +\end{itemize}
 61.1660 +
 61.1661 +
 61.1662 +=============================================
 61.1663 +==
 61.1664 +==
 61.1665 +==
 61.1666 +==
 61.1667 +==
 61.1668 +=============================================
 61.1669 +
 61.1670 +\section{The Problem}
 61.1671 +
 61.1672 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.1673 +
 61.1674 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.1675 +
 61.1676 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.1677 +
 61.1678 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.1679 +
 61.1680 +
 61.1681 +[[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]]
 61.1682 +
 61.1683 +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.
 61.1684 +
 61.1685 +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}).
 61.1686 + 
 61.1687 +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 []).
 61.1688 +
 61.1689 +The main implications for runtime systems, which were uncovered within the section, are summarized at the end (subsection []).
 61.1690 +
 61.1691 +\subsection{Classifying parallel languages by virtual processor based vs task based}
 61.1692 +\label{subsec:ClassifyingLangs}
 61.1693 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.1694 +
 61.1695 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.1696 +
 61.1697 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.1698 +
 61.1699 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.1700 +
 61.1701 +
 61.1702 +[[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]]
 61.1703 +
 61.1704 +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.
 61.1705 +
 61.1706 +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.  
 61.1707 +
 61.1708 +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.  
 61.1709 +
 61.1710 +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.
 61.1711 +
 61.1712 +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.
 61.1713 +
 61.1714 +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.  
 61.1715 +
 61.1716 +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.
 61.1717 +
 61.1718 +
 61.1719 +\subsection{Domain specific parallel languages}
 61.1720 +\label{subsec:DomSpecLangs}
 61.1721 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.1722 +
 61.1723 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.1724 +
 61.1725 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.1726 +
 61.1727 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.1728 +
 61.1729 +
 61.1730 +[[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]]
 61.1731 +
 61.1732 +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.
 61.1733 +
 61.1734 +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.
 61.1735 +
 61.1736 +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.
 61.1737 +
 61.1738 +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.
 61.1739 +
 61.1740 +\subsection{The embedded style of DSL}
 61.1741 +\label{subsec:EmbeddedDSLs}
 61.1742 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.1743 +
 61.1744 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.1745 +
 61.1746 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.1747 +
 61.1748 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.1749 +
 61.1750 +
 61.1751 +[[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]]
 61.1752 +
 61.1753 +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.
 61.1754 +
 61.1755 +
 61.1756 +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.
 61.1757 +
 61.1758 +
 61.1759 +\begin{figure}[h!tb]
 61.1760 +{\noindent
 61.1761 +{\footnotesize
 61.1762 +{\normalsize Creating a new virtual processor (VP):}
 61.1763 +\begin{verbatim}
 61.1764 +newVP = SSR__create_VP( &top_VP_fn, paramsPtr, animatingVP );
 61.1765 +\end{verbatim}
 61.1766 +
 61.1767 +{\noindent {\normalsize sending a message between VPs:}}
 61.1768 +\begin{verbatim}
 61.1769 +SSR__send_from_to( messagePtr, sendingVP, receivingVP );
 61.1770 +\end{verbatim}
 61.1771 +
 61.1772 +{\noindent {\normalsize receiving the message (executed in a different VP):}}
 61.1773 +\begin{verbatim}
 61.1774 +messagePtr = SSR__receive_from_to( sendingVP, receivingVP );
 61.1775 +\end{verbatim}
 61.1776 +}
 61.1777 +}
 61.1778 +
 61.1779 +\caption
 61.1780 +{Examples of invoking embedded-style  constructs.
 61.1781 +}
 61.1782 +\label{fig:EmbeddedEx}
 61.1783 +\end{figure}
 61.1784 +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.
 61.1785 +
 61.1786 +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.
 61.1787 +
 61.1788 +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. 
 61.1789 +
 61.1790 +\subsection{Application programmer's view of embedded-style DSLs}
 61.1791 +\label{subsec:AppProgViewOfDSL}
 61.1792 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.1793 +
 61.1794 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.1795 +
 61.1796 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.1797 +
 61.1798 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.1799 +
 61.1800 +
 61.1801 +[[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]]
 61.1802 +
 61.1803 +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. 
 61.1804 +
 61.1805 +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.
 61.1806 +
 61.1807 +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. 
 61.1808 +
 61.1809 +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.   
 61.1810 +
 61.1811 +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.  
 61.1812 +
 61.1813 +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.
 61.1814 +
 61.1815 +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).     
 61.1816 +
 61.1817 +\subsection{Implementation of Embedded-style DSLs}
 61.1818 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.1819 +
 61.1820 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.1821 +
 61.1822 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.1823 +
 61.1824 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.1825 +
 61.1826 +
 61.1827 +[[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]]
 61.1828 +
 61.1829 +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.
 61.1830 +
 61.1831 +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. 
 61.1832 +
 61.1833 +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.
 61.1834 +
 61.1835 +
 61.1836 + 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. 
 61.1837 +
 61.1838 +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.
 61.1839 +
 61.1840 +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.    
 61.1841 +
 61.1842 +The advantage of placing these into the language, instead of application code, is portability and productivity.
 61.1843 +
 61.1844 +
 61.1845 +\subsection{Implementation Details of Embedded-style DSLs}
 61.1846 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.1847 +
 61.1848 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.1849 +
 61.1850 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.1851 +
 61.1852 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.1853 +
 61.1854 +
 61.1855 +[[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]]
 61.1856 +
 61.1857 +?
 61.1858 +
 61.1859 +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.
 61.1860 +
 61.1861 +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. 
 61.1862 +
 61.1863 +The core is  used by the construct implementation differently for   VP based languages vs  for task based languages.
 61.1864 +
 61.1865 +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.  
 61.1866 +
 61.1867 +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.  
 61.1868 +
 61.1869 +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.
 61.1870 +
 61.1871 +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.
 61.1872 +
 61.1873 +
 61.1874 +One survey[] discusses DSLs for a variety of domains, and this list of DSLs was copied from their paper:
 61.1875 +\begin{itemize} 
 61.1876 +\item In Software Engineering: Financial products [12, 22, 24], behavior control and coordination [9, 10], software architectures [54], and databases [39].
 61.1877 +\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].
 61.1878 +\item Multi-Media: Web computing [14, 35, 4, 33], image manipulation [73], 3D animation [29], and drawing [44].
 61.1879 +\item Telecommunications: String and tree languages for model checking [48], communication protocols [6], telecommunication switches [50], and signature computing [11].
 61.1880 +\item Miscellaneous: Simulation [2, 13], mobile agents [36], robot control [61], solving partial differential equations [26], and digital hardware design [41].
 61.1881 +\end{itemize}
 61.1882 +
 61.1883 +\subsection{Summary of Section}
 61.1884 + [[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.1885 +
 61.1886 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.1887 +
 61.1888 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.1889 +
 61.1890 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.1891 +
 61.1892 +
 61.1893 +[[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]]
 61.1894 +
 61.1895 +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.
 61.1896 +
 61.1897 +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.  
 61.1898 +
 61.1899 +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. 
 61.1900 +
 61.1901 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 61.1902 +\section{Description}
 61.1903 +\label{sec:idea}
 61.1904 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.1905 +
 61.1906 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.1907 +
 61.1908 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.1909 +
 61.1910 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.1911 +
 61.1912 +
 61.1913 +[[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]]
 61.1914 +
 61.1915 +?
 61.1916 + 
 61.1917 +
 61.1918 +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.
 61.1919 +
 61.1920 +
 61.1921 +\begin{figure}[ht]
 61.1922 +  \centering
 61.1923 +  \includegraphics[width = 2in, height = 1.8in]{../figures/PR_three_pieces.pdf}
 61.1924 +  \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. }
 61.1925 +  \label{fig:PR_three_pieces}
 61.1926 +\end{figure}
 61.1927 +
 61.1928 +
 61.1929 +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.
 61.1930 +
 61.1931 +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.
 61.1932 +
 61.1933 +\subsection{Creating an eDSL}
 61.1934 +
 61.1935 +
 61.1936 +\begin{figure}[ht]
 61.1937 +  \centering
 61.1938 +  \includegraphics[width = 2in, height = 1.8in]{../figures/eDSL_two_pieces.pdf}
 61.1939 +  \caption{An embedded style DSL consists of two parts: a runtime and a wrapper library that invokes the runtime}
 61.1940 +  \label{fig:eDSL_two_pieces}
 61.1941 +\end{figure}
 61.1942 + 
 61.1943 +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.
 61.1944 +
 61.1945 +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.
 61.1946 +
 61.1947 +\subsection{The Proto-Runtime Modularization}
 61.1948 +
 61.1949 +\subsubsection{Dispatch pattern}
 61.1950 +-- standardizes runtime code
 61.1951 +-- makes familiar going from one lang to another
 61.1952 +-- makes reuse realistic, as demonstrated by VSs taking SSR constructs
 61.1953 +
 61.1954 +-- show the enums, and the switch table
 61.1955 +
 61.1956 +-- point out how the handler receives critical info -- the semEnv, req struct and calling slave
 61.1957 +
 61.1958 +\subsubsection{The Request Handler}
 61.1959 +-- cover what a request handler does.. connect it to the wrapper lib, and the info loaded into a request struct.
 61.1960 +
 61.1961 +-- give code of a request handler.. within on-going example of implementing pthreads, or possibly HWSim, or pick a new DSL 
 61.1962 +
 61.1963 +\subsection{Exporting a performance-oriented machine view }
 61.1964 +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. 
 61.1965 +
 61.1966 +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.
 61.1967 +
 61.1968 +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.
 61.1969 +
 61.1970 +This saves significant effort by allowing the same plugin to be reused for all the machines in the category.
 61.1971 + 
 61.1972 +\subsection{Services Provided by the Proto-runtime}
 61.1973 +
 61.1974 +-- 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.
 61.1975 +
 61.1976 +-- -- examples of iherited lang services inside current proto-runtime: debugging and perf-tuning..  verification, playback have been started (?)
 61.1977 +
 61.1978 +-- -- 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
 61.1979 +
 61.1980 +\subsection{eDSLs talking to each other}
 61.1981 +-- show how VSs is example of three different DSLs, and H264 code is three different languages interacting (pthreads, OpenMP, StarSs)
 61.1982 +
 61.1983 +-- 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.
 61.1984 +
 61.1985 +\subsection{The Proto-runtime Approach Within the Big Picture}
 61.1986 +
 61.1987 +-- Give background on industry-wide, how have langs times machines..  
 61.1988 +-- say that proto-runtime has synergistic advantages within this context. -- repeat that eDSLs talk to each other.
 61.1989 +-- give subsubsection on MetaBorg for rewriting eDSL syntax into base lang syntax.
 61.1990 +-- 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..
 61.1991 + 
 61.1992 +Preview idea that many players will contribute, and will get people that specialize in creating new eDSLs (such as one of authors)..
 61.1993 +-- For them, code-reuse is reality, as supported by VSs example, 
 61.1994 +-- and the uniformity of the pattern becomes familiar, also speeding up development, as also supported by VSs, HWSim, VOMP, and DKU examples.
 61.1995 +-- for those who only create a single eDSL, the pattern becomes a lowering of the learning curve, aiding adoption
 61.1996 +
 61.1997 +-- Restate and summarize the points below (covered above), showing how they combine to shrink the wide-spot where all the runtimes are. 
 61.1998 +
 61.1999 +-- The low-level part implemented on each machine, exports a view of the machine that shows performance-critical aspects
 61.2000 +
 61.2001 +-- Collect machines into groups, based on performance critical aspects of hardware.. provides reduction in effort because only one plugin for entire group. 
 61.2002 +
 61.2003 +-- 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.
 61.2004 +
 61.2005 +
 61.2006 +\section{(outline and notes)}
 61.2007 +
 61.2008 +-- What a plugin looks like: 
 61.2009 +
 61.2010 +-- -- 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
 61.2011 +
 61.2012 +-- -- 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.  
 61.2013 +
 61.2014 +-- -- --  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), 
 61.2015 +
 61.2016 +-- 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).
 61.2017 +
 61.2018 +
 61.2019 +-- Recipe for how to make the language plugin: time reduction is part due to simplifying the parallelism construct logic..  
 61.2020 +
 61.2021 +
 61.2022 +
 61.2023 +
 61.2024 +\subsection{The Cross-language Patterns Behind the Proto-runtime}
 61.2025 +
 61.2026 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.2027 +
 61.2028 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.2029 +
 61.2030 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.2031 +
 61.2032 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.2033 +
 61.2034 +
 61.2035 +[[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]]
 61.2036 +
 61.2037 +An application switches to the runtime, which does scheduling work then switches back to application code.
 61.2038 +
 61.2039 +
 61.2040 +\subsection{Some Definitions}
 61.2041 +
 61.2042 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.2043 +
 61.2044 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.2045 +
 61.2046 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.2047 +
 61.2048 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.2049 +
 61.2050 +
 61.2051 +[[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]]
 61.2052 +
 61.2053 +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.
 61.2054 +
 61.2055 +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.
 61.2056 +
 61.2057 +\subsection{Handling Memory Consistency Models}
 61.2058 +
 61.2059 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.2060 +
 61.2061 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.2062 +
 61.2063 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.2064 +
 61.2065 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.2066 +
 61.2067 +
 61.2068 +[[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]]
 61.2069 +
 61.2070 +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.
 61.2071 +
 61.2072 +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.  
 61.2073 +
 61.2074 +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.
 61.2075 +
 61.2076 +
 61.2077 +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.
 61.2078 +
 61.2079 +
 61.2080 +
 61.2081 +=======
 61.2082 +
 61.2083 +  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).
 61.2084 +   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.
 61.2085 +   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.
 61.2086 +
 61.2087 +=================
 61.2088 +
 61.2089 +\subsection{The patterns}
 61.2090 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.2091 +
 61.2092 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.2093 +
 61.2094 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.2095 +
 61.2096 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.2097 +
 61.2098 +
 61.2099 +[[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]]
 61.2100 +
 61.2101 +
 61.2102 +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.
 61.2103 +
 61.2104 +Benefits: lang impl doesn't have to touch low-level details, inherit centralized services, can reuse code from other languages to add features.
 61.2105 +
 61.2106 +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. 
 61.2107 +
 61.2108 +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.
 61.2109 +
 61.2110 +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.
 61.2111 +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. 
 61.2112 +
 61.2113 +
 61.2114 +\subsubsection{Views of synchronization constructs}
 61.2115 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.2116 +
 61.2117 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.2118 +
 61.2119 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.2120 +
 61.2121 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.2122 +
 61.2123 +
 61.2124 +[[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]]
 61.2125 +
 61.2126 +One view of sync constructs is that they are variable-length calls. The 
 61.2127 +basic hardware does this by stalling the pipeline.
 61.2128 +
 61.2129 +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.
 61.2130 +
 61.2131 +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.
 61.2132 +
 61.2133 +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.  
 61.2134 +
 61.2135 +\subsubsection{Universal Runtime Patterns}
 61.2136 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.2137 +
 61.2138 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.2139 +
 61.2140 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.2141 +
 61.2142 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.2143 +
 61.2144 +
 61.2145 +[[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]]
 61.2146 +
 61.2147 +Unified pattern within parallel languages: create multiple timelines, then control relative progress of them, and control location each chunk of progress takes place.
 61.2148 +
 61.2149 +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.
 61.2150 +The runtime tracks constraints (dependencies) among units, creates and destroys units, and assigns ready units to hardware.
 61.2151 +
 61.2152 +Units have a life-line, which is fundamental to parallel computation, as demonstrated in a paper by some of the authors [].
 61.2153 +
 61.2154 +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.
 61.2155 +
 61.2156 +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.
 61.2157 +
 61.2158 +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.
 61.2159 +
 61.2160 +\subsubsection{Putting synchronization constructs together with universal runtime patterns}
 61.2161 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.2162 +
 61.2163 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.2164 +
 61.2165 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.2166 +
 61.2167 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.2168 +
 61.2169 +
 61.2170 +[[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]]
 61.2171 +
 61.2172 +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. 
 61.2173 +
 61.2174 +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.
 61.2175 +
 61.2176 +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.   
 61.2177 +
 61.2178 +\begin{figure}[ht]
 61.2179 +  \centering
 61.2180 +  \includegraphics[width = 2in, height = 1.8in]{../figures/SCG_stylized_for_expl.pdf}
 61.2181 +  \caption{Something to help understanding}
 61.2182 +  \label{fig:SCG_expl}
 61.2183 +\end{figure}
 61.2184 +
 61.2185 +
 61.2186 +
 61.2187 +
 61.2188 +%%%%%%%%%%%%%%%%%%%%%
 61.2189 +\section{The Details}
 61.2190 +[[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]]
 61.2191 +[[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]]
 61.2192 +
 61.2193 +The interfaces between lang logic and proto-runtime.  
 61.2194 +
 61.2195 +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.
 61.2196 +
 61.2197 +Demonstrate Benefits: lang impl doesn't touch low-level details, inherits centralized services (debug support), reuses code from other languages to add features.
 61.2198 +
 61.2199 +\subsection{Reuse of Language Logic}
 61.2200 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 61.2201 +
 61.2202 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 61.2203 +
 61.2204 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 61.2205 +
 61.2206 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 61.2207 +
 61.2208 +
 61.2209 +[[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]]
 61.2210 +
 61.2211 +Demonstrate reuse of language logic:
 61.2212 +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.
 61.2213 + 
 61.2214 +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. 
 61.2215 +
 61.2216 +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.
 61.2217 +
 61.2218 +?
 61.2219 +
 61.2220 +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.
 61.2221 +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. 
 61.2222 +
 61.2223 +?
 61.2224 +
 61.2225 +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.
 61.2226 +
 61.2227 +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
 61.2228 +other application features.
 61.2229 +
 61.2230 +
 61.2231 +
 61.2232 +
 61.2233 +%%%%%%%%%%%%%%%%%%%%%
 61.2234 +\section{Measurements}
 61.2235 +
 61.2236 +\subsection{Implementation time}
 61.2237 +
 61.2238 +
 61.2239 +\subsection{Runtime and Application Performance}
 61.2240 +
 61.2241 +
 61.2242 +%%%%%%%%%%%%%%%%%%%%%
 61.2243 +\section{Related Work}
 61.2244 +
 61.2245 +
 61.2246 +%%%%%%%%%%%%%%%%%%%%%
 61.2247 +\section{Conclusion and Future Work}
 61.2248 +\label{sec:conclusion}
 61.2249 +
 61.2250 +
 61.2251 +
 61.2252 +\end{document} 
 61.2253 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 61.2254 +Here is an example of netlist creation:
 61.2255 +
 61.2256 +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.
 61.2257 +
 61.2258 + 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.
 61.2259 +
 61.2260 +First, here is the top-level function that creates and returns the netlist structure:
 61.2261 +
 61.2262 +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.  
 61.2263 +
 61.2264 +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. 
 61.2265 +
 61.2266 +
 61.2267 +\begin{small}\begin{verbatim}
 61.2268 +HWSimNetlist *
 61.2269 +createPingPongNetlist()
 61.2270 + { HWSimNetlist       *netlist;
 61.2271 +   HWSimElem         **elems;
 61.2272 +   HWSimActivityType **activityTypes;
 61.2273 +   HWSimCommPath     **commPaths;
 61.2274 +   int32               numElems, numActivityTypes, numCommPaths;
 61.2275 +\end{verbatim}\end{small}
 61.2276 +
 61.2277 +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.
 61.2278 +\begin{small}\begin{verbatim}
 61.2279 +   netlist = malloc( sizeof(HWSimNetlist) );
 61.2280 + 
 61.2281 +   numElems         = 2; 
 61.2282 +   elems            = malloc( numElems * sizeof(HWSimElem *) );
 61.2283 + 
 61.2284 +   numCommPaths     = 2;
 61.2285 +   commPaths        = malloc( numCommPaths * sizeof(HWSimCommPath *) );
 61.2286 + 
 61.2287 +   numActivityTypes = 1;
 61.2288 +   activityTypes    = malloc( numActivityTypes * sizeof(HWSimActivityType *) );
 61.2289 +   
 61.2290 +   netlist->numElems         = numElems;
 61.2291 +   netlist->elems            = elems;
 61.2292 +   netlist->numCommPaths     = numCommPaths;
 61.2293 +   netlist->commPaths        = commPaths;
 61.2294 +   netlist->numActivityTypes = numActivityTypes;
 61.2295 +   netlist->activityTypes    = activityTypes;
 61.2296 +\end{verbatim}\end{small}
 61.2297 +
 61.2298 +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.
 61.2299 +\begin{small}\begin{verbatim}
 61.2300 +      //have to create activity types before create elements
 61.2301 +      //PING_PONG_ACTIVITY is just a #define for readability
 61.2302 +   netlist->activityTypes[PING_PONG_ACTIVITY] = createPingPongActivityType();
 61.2303 +\end{verbatim}\end{small}
 61.2304 +
 61.2305 +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.
 61.2306 +\begin{small}\begin{verbatim}
 61.2307 +   elems[0] = createAPingPongElem( netlist ); //use activity types from netlist
 61.2308 +   elems[1] = createAPingPongElem( netlist ); 
 61.2309 +\end{verbatim}\end{small}
 61.2310 +
 61.2311 +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.
 61.2312 +
 61.2313 +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.
 61.2314 +\begin{small}\begin{verbatim}   
 61.2315 +      //make reset trigger an action on one of the elements
 61.2316 +   elems[1]->inPorts[-1].triggeredActivityType =
 61.2317 +              netlist->activityTypes[PING_PONG_ACTIVITY];
 61.2318 +\end{verbatim}\end{small}
 61.2319 +
 61.2320 +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. 
 61.2321 +
 61.2322 +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:
 61.2323 +\begin{small}\begin{verbatim}
 61.2324 +      //elem 0, out-port 0 to elem 1, in-port 0
 61.2325 +   commPaths[0]= malloc(sizeof(HWSimCommPath));
 61.2326 +   setCommPathValuesTo(commPaths[0],0,0,1,0);
 61.2327 +   commPaths[0]->hasFixedTiming  = TRUE;
 61.2328 +   commPaths[0]->fixedFlightTime = 10; //all time is stated in (integer) units
 61.2329 +
 61.2330 +      //elem 1, out-port 0 to elem 0, in-port 0
 61.2331 +   commPaths[1]= malloc(sizeof(HWSimCommPath));
 61.2332 +   setCommPathValuesTo(commPaths[1], 1,0,0,0);
 61.2333 +   commPaths[1]->hasFixedTiming  = TRUE;
 61.2334 +   commPaths[1]->fixedFlightTime = 10; //all time is stated in (integer) units
 61.2335 +\end{verbatim}\end{small}
 61.2336 +
 61.2337 +done building netlist, return it
 61.2338 +\begin{small}\begin{verbatim}
 61.2339 +   return netlist;
 61.2340 + }
 61.2341 +\end{verbatim}\end{small}
 61.2342 +
 61.2343 +The macro that sets the connections inside a comm path struct
 61.2344 +\begin{small}\begin{verbatim}
 61.2345 +#define setCommPathValuesTo( commPath, fromElIdx, outPort, toElIdx, inPort)\
 61.2346 +do{\
 61.2347 +   commPath->idxOfFromElem     = fromElIdx; \
 61.2348 +   commPath->idxOfFromOutPort  = outPort; \
 61.2349 +   commPath->idxOfToElem       = toElIdx; \
 61.2350 +   commPath->idxOfToInPort     = inPort; \
 61.2351 + }while(0); //macro magic for namespace
 61.2352 +\end{verbatim}\end{small}
 61.2353 +
 61.2354 +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.
 61.2355 +\begin{small}\begin{verbatim}
 61.2356 +HWSimElem *
 61.2357 +createAPingPongElem( HWSimNetlist *netlist )
 61.2358 + { HWSimElem *elem;
 61.2359 +   elem = malloc( sizeof(HWSimElem) );
 61.2360 +   elem->numInPorts  = 1;
 61.2361 +   elem->numOutPorts = 1;
 61.2362 +   elem->inPorts = HWSim_ext__make_inPortsArray( elem->numInPorts );
 61.2363 +   elem->inPorts[-1].triggeredActivityType = IDLE_SPAN; //reset port
 61.2364 +   elem->inPorts[0].triggeredActivityType  = netlist->activityTypes[PING_PONG_ACTIVITY];
 61.2365 +        return elem;
 61.2366 + }
 61.2367 +\end{verbatim}\end{small}
 61.2368 +
 61.2369 +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. 
 61.2370 +\begin{small}\begin{verbatim}
 61.2371 +HWSimActivityType *
 61.2372 +createPingPongActivityType( )
 61.2373 + { HWSimActivityType *pingPongActivityType;
 61.2374 +   pingPongActivityType = malloc( sizeof(HWSimActivityType) );
 61.2375 +   
 61.2376 +   pingPongActivityType->hasBehavior   = TRUE;
 61.2377 +   pingPongActivityType->hasTiming     = TRUE;
 61.2378 +   pingPongActivityType->timingIsFixed = TRUE;
 61.2379 +   pingPongActivityType->fixedTime     = 10;
 61.2380 +   pingPongActivityType->behaviorFn    = &pingPongElem_PingActivity_behavior;
 61.2381 +   return pingPongActivityType;
 61.2382 + }
 61.2383 +\end{verbatim} \end{small}
 61.2384 +
 61.2385 +
 61.2386 +=========
 61.2387 +
 61.2388 +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.
 61.2389 +
 61.2390 +Here is the behavior function from the ping-pong example:
 61.2391 +\begin{small}\begin{verbatim} 
 61.2392 +void
 61.2393 +pingPongElem_PingActivity_behavior( HWSimActivityInst *activityInst )
 61.2394 + {    //NO_MSG is #define'd to NULL, and PORT0 to 0
 61.2395 +   HWSim__send_comm_on_port_and_idle( NO_MSG, PORT0, activityInst );
 61.2396 + }
 61.2397 +\end{verbatim}\end{small}
 61.2398 +
 61.2399 +There are four ways a behavior can end:
 61.2400 +\begin{description}
 61.2401 +\item end, no continuation: 
 61.2402 +\begin{small}\begin{verbatim} HWSim__end_activity_then_idle( HWSimActivityInst *endingActivityInstance )\end{verbatim}\end{small}
 61.2403 +\item end, with continuation: 
 61.2404 +\begin{small}\begin{verbatim} HWSim__end_activity_then_cont( HWSimActivityInst *endingActivityInstance,
 61.2405 +                                HWSimActivityType *continuationActivityType)\end{verbatim}\end{small}
 61.2406 +\item end by sending a communication, with no continuation: 
 61.2407 +\begin{small}\begin{verbatim} HWSim__send_comm_on_port_then_idle( void *msg, int32 outPort, 
 61.2408 +                                HWSimActivityInst *endingActivityInstance)\end{verbatim}\end{small}
 61.2409 +\item end by sending a communication, with continuation: 
 61.2410 +\begin{small}\begin{verbatim} HWSim__send_comm_on_port_then_cont( void *msg, int32 outPort, 
 61.2411 +                                HWSimActivityInst *endingActivityInstance
 61.2412 +                                HWSimActivityType *continuationActivityType)\end{verbatim}\end{small}
 61.2413 +
 61.2414 +
 61.2415 +=============
 61.2416 +
 61.2417 +
 61.2418 +\subsection{Activity Timing Functions}
 61.2419 +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.
 61.2420 +
 61.2421 +Here's an example:
 61.2422 +\begin{small}\begin{verbatim} 
 61.2423 +HWSimTimeSpan
 61.2424 +sampleElem_sampleActivity_timing( HWSimActivityInst *activityInst )
 61.2425 + {
 61.2426 +   return doSomethingWithStateOfElem( sendingActivity->elem->elemState );
 61.2427 + }
 61.2428 +\end{verbatim}\end{small}
 61.2429 +
 61.2430 +\subsection{Calculating the time-in-flight of a communication path}
 61.2431 +
 61.2432 +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.
 61.2433 +
 61.2434 +\begin{small}\begin{verbatim}
 61.2435 +HWSimTimeSpan
 61.2436 +commPath_TimeSpanCalc( HWSimCommPath *commPath, HWSimActivityInst *sendingActivity )
 61.2437 + { return doSomethingWithStateOfPathAndElem( commPath, sendingActivity->elem->elemState );
 61.2438 + }
 61.2439 +\end{verbatim}\end{small}
 61.2440 +
 61.2441 +
 61.2442 +
 61.2443 +
    62.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    62.2 +++ b/0__Papers/PRT/PRT__formal_def/latex/Paper_Design_2.txt	Sat Aug 03 19:24:22 2013 -0700
    62.3 @@ -0,0 +1,32 @@
    62.4 +
    62.5 +======
    62.6 +
    62.7 +Details of VMS interface, details of its impl on multi-core, details of differences on different machines.
    62.8 +
    62.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.
   62.10 +
   62.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.
   62.12 +
   62.13 +
   62.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.
   62.15 +
   62.16 +Hence, VMS is invisible to the application, only language constructs are visible.  
   62.17 +
   62.18 +The wrapper-lib call is standard library code that is loaded along with the application executable.
   62.19 +
   62.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.
   62.21 +
   62.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.
   62.23 +
   62.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.
   62.25 +
   62.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.
   62.27 +
   62.28 +The greatest application performance impact due to the scheduler is communication it causes.
   62.29 +
   62.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.
   62.31 +   
   62.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.
   62.33 +
   62.34 + 
   62.35 +
    63.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    63.2 +++ b/0__Papers/PRT/PRT__formal_def/latex/bib_for_papers_jun_2012.bib	Sat Aug 03 19:24:22 2013 -0700
    63.3 @@ -0,0 +1,942 @@
    63.4 +
    63.5 +@inbook{PerfToolPoem,
    63.6 +title = {The Poems of John Godfrey Saxe, Complete edition},
    63.7 +chapter = {The Blind Men and the Elephant},
    63.8 +author = {John Godfrey Saxe},
    63.9 +publisher = {Boston: James R. Osgood and Company},
   63.10 +year = {1873},
   63.11 +pages = {77-78}
   63.12 +}
   63.13 +@article{PerfToolTau,
   63.14 +author = {Shende, Sameer S. and Malony, Allen D.},
   63.15 +title = {The Tau Parallel Performance System},
   63.16 +volume = {20},
   63.17 +number = {2},
   63.18 +pages = {287-311},
   63.19 +year = {Summer 2006},
   63.20 +journal = {International Journal of High Performance Computing Applications}
   63.21 +}
   63.22 +@ARTICLE{PerfToolParadyn,
   63.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.},
   63.24 +journal={Computer},
   63.25 +title={The Paradyn parallel performance measurement tool},
   63.26 +year={1995},
   63.27 +month={nov},
   63.28 +volume={28},
   63.29 +number={11},
   63.30 +pages={37 -46},
   63.31 +}
   63.32 +@ARTICLE{PerfToolParagraph,
   63.33 +author={Heath, M.T. and Etheridge, J.A.},
   63.34 +journal={Software, IEEE},
   63.35 +title={Visualizing the performance of parallel programs},
   63.36 +year={1991},
   63.37 +month={sept. },
   63.38 +volume={8},
   63.39 +number={5},
   63.40 +pages={29 -39},
   63.41 +}
   63.42 +@article{PerfToolStarSs,
   63.43 +  author    = {Steffen Brinkmann and
   63.44 +               Jos{\'e} Gracia and
   63.45 +               Christoph Niethammer and
   63.46 +               Rainer Keller},
   63.47 +  title     = {TEMANEJO - a debugger for task based parallel programming
   63.48 +               models},
   63.49 +  journal   = {CoRR},
   63.50 +  volume    = {abs/1112.4604},
   63.51 +  year      = {2011},
   63.52 +}
   63.53 +@techrep{SyncConstr_impl_w_distr_coherence_HW_Utah_96,
   63.54 +	author = {Carter, J. B. and Kuo, C.-C. and Kuramkote, R.},
   63.55 +	title = { A comparison of software and hardware synchronization mechanisms for distributed shared memory multiprocessors},
   63.56 +	institution = {University of Utah, Salt Lake City, UT},
   63.57 +	year = 1996,
   63.58 +	url = {http://www.cs.utah.edu/research/techreports/1996/pdf/UUCS-96-011.pdf},
   63.59 +	number = {UUCS-96-011}
   63.60 +}
   63.61 +@Article{SWCoherence_Hill_SW_for_shared_coherence_w_HW_support_93,
   63.62 +	author = {Hill, Mark D. and Larus, James R. and Reinhardt, Steven K. and Wood, David A.},
   63.63 +	title = {Cooperative shared memory: software and hardware for scalable multiprocessors},
   63.64 +	journal = {ACM Trans. Comput. Syst.},
   63.65 +	volume = 11,
   63.66 +	number = 4,
   63.67 +	year = 1993,
   63.68 +	pages = {300--318}
   63.69 +}
   63.70 +@InProceedings{SWCache_MIT_embedSW_manages_cache_w_HW_supp,
   63.71 +	author = {Chiou, Derek and Jain, Prabhat and Rudolph, Larry and Devadas, Srinivas},
   63.72 +	title = {Application-specific memory management for embedded systems using software-controlled caches},
   63.73 +	booktitle = {DAC},
   63.74 +	year = 2000,
   63.75 +	pages = {416--419}
   63.76 +}
   63.77 +@InProceedings{SWCache_instr_trig_HW_supp_04,
   63.78 +	author = {Janapsatya, Andhi and Parameswaran, Sri and Ignjatovic, A.},
   63.79 +	title = {Hardware/software managed scratchpad memory for embedded system},
   63.80 +	booktitle = {Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design},
   63.81 +	series = {ICCAD '04},
   63.82 +	year = 2004,
   63.83 +	pages = {370--377}
   63.84 +}
   63.85 +@InProceedings{SWCache_arch_supp_OS_policy_06,
   63.86 +	author = {Rafique, Nauman and Lim, Won-Taek and Thottethodi, Mithuna},
   63.87 +	title = {Architectural support for operating system-driven CMP cache management},
   63.88 +	booktitle = {Proceedings of the 15th international conference on Parallel architectures and compilation techniques},
   63.89 +	series = {PACT '06},
   63.90 +	year = 2006,
   63.91 +	pages = {2--12}
   63.92 +}
   63.93 +@InProceedings{SWCoherence_on_Distr_Mem_90,
   63.94 +	author = {Bennett, J.K. and Carter, J.B. and Zwaenepoel, W.},
   63.95 +	booktitle = {Computer Architecture, 1990. Proceedings., 17th Annual International Symposium on},
   63.96 +	title = {Adaptive software cache management for distributed shared memory architectures},
   63.97 +	year = 1990,
   63.98 +	pages = {125 -134}
   63.99 +}
  63.100 +@InProceedings{Charm_runtime_opt_10,
  63.101 +	author = {Mei, Chao and Zheng, Gengbin and Gioachin, Filippo and Kal{\'e}, Laxmikant V.},
  63.102 +	title = {Optimizing a parallel runtime system for multicore clusters: a case study},
  63.103 +	booktitle = {The 2010 TeraGrid Conference},
  63.104 +	year = 2010,
  63.105 +	pages = {12:1--12:8}
  63.106 +}
  63.107 +@InProceedings{TCC_Hammond_ISCA_04,
  63.108 +	author = {Hammond, Lance and al, et},
  63.109 +	title = {Transactional Memory Coherence and Consistency},
  63.110 +	series = {ISCA '04},
  63.111 +	pages = {102--},
  63.112 +	booktitle = {},
  63.113 +	year = {}
  63.114 +}
  63.115 +@Misc{WorkTableHome,
  63.116 +	author = {Halle, Sean},
  63.117 +	note = {http://musictwodotoh.com/worktable/content/refman.pdf},
  63.118 +	title = {The WorkTable Language Reference Manual},
  63.119 +	year = 2012
  63.120 +}
  63.121 +@Misc{HWSimHome,
  63.122 +	author = {Halle, Sean and Hausers, Stefan},
  63.123 +	note = {http://musictwodotoh.com/hwsim/content/refman.pdf},
  63.124 +	title = {The HWSim Language Reference Manual},
  63.125 +	year = 2012
  63.126 +}
  63.127 +@Article{Lamport78,
  63.128 +	author = {Lamport, Leslie},
  63.129 +	title = {Time, clocks, and the ordering of events in a distributed system},
  63.130 +	journal = {Commun. ACM},
  63.131 +	volume = 21,
  63.132 +	issue = 7,
  63.133 +	year = 1978,
  63.134 +	pages = {558--565}
  63.135 +}
  63.136 +@Article{Lamport87,
  63.137 +	author = {Lamport, Leslie},
  63.138 +	title = {A fast mutual exclusion algorithm},
  63.139 +	journal = {ACM Trans. Comput. Syst.},
  63.140 +	volume = 5,
  63.141 +	issue = 1,
  63.142 +	year = 1987,
  63.143 +	pages = {1--11}
  63.144 +}
  63.145 +@InProceedings{Dijkstra67,
  63.146 +	author = {Dijkstra, Edsger W.},
  63.147 +	title = {The structure of the "{THE}"-multiprogramming system},
  63.148 +	booktitle = {Proceedings of the first ACM symposium on Operating System Principles},
  63.149 +	series = {SOSP '67},
  63.150 +	year = 1967,
  63.151 +	pages = {10.1--10.6}
  63.152 +}
  63.153 +@Article{Conway63,
  63.154 +	author = {Conway, Melvin E.},
  63.155 +	title = {Design of a separable transition-diagram compiler},
  63.156 +	journal = {Commun. ACM},
  63.157 +	volume = 6,
  63.158 +	issue = 7,
  63.159 +	year = 1963,
  63.160 +	pages = {396--408}
  63.161 +}
  63.162 +@Book{ComponentModel00,
  63.163 +	author = {G Leavens and M Sitaraman (eds)},
  63.164 +	title = {Foundations of Component-Based Systems},
  63.165 +	publisher = {Cambridge University Press},
  63.166 +	year = 2000
  63.167 +}
  63.168 +@Misc{Hewitt10,
  63.169 +	author = {Carl Hewitt},
  63.170 +	title = {Actor Model of Computation},
  63.171 +	year = 2010,
  63.172 +	note = {http://arxiv.org/abs/1008.1459}
  63.173 +}
  63.174 +@Article{Actors97,
  63.175 +	author = {Agha,G. and Mason,I. and Smith,S. and Talcott,C.},
  63.176 +	title = {A foundation for actor computation},
  63.177 +	journal = {Journal of Functional Programming},
  63.178 +	volume = 7,
  63.179 +	number = 01,
  63.180 +	pages = {1-72},
  63.181 +	year = 1997
  63.182 +}
  63.183 +@Article{SchedActivations,
  63.184 +	author = {Anderson, Thomas E. and Bershad, Brian N. and Lazowska, Edward D. and Levy, Henry M.},
  63.185 +	title = {Scheduler activations: effective kernel support for the user-level management of parallelism},
  63.186 +	journal = {ACM Trans. Comput. Syst.},
  63.187 +	volume = 10,
  63.188 +	issue = 1,
  63.189 +	month = {February},
  63.190 +	year = 1992,
  63.191 +	pages = {53--79}
  63.192 +}
  63.193 +@InProceedings{BOMinManticore,
  63.194 +	author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam and Xiao, Yingqi},
  63.195 +	title = {Manticore: a heterogeneous parallel language},
  63.196 +	booktitle = {Proceedings of the 2007 workshop on Declarative aspects of multicore programming},
  63.197 +	series = {DAMP '07},
  63.198 +	year = 2007,
  63.199 +	pages = {37--44},
  63.200 +	numpages = 8
  63.201 +}
  63.202 +@TechReport{GainFromChaos_Halle_92,
  63.203 +	author = {Halle, K.S. and Chua, Leon O. and Anishchenko, V.S. and Safonova, M.A.},
  63.204 +	title = {Signal Amplification via Chaos: Experimental Evidence},
  63.205 +	institution = {EECS Department, University of California, Berkeley},
  63.206 +	year = 1992,
  63.207 +	url = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/2223.html},
  63.208 +	number = {UCB/ERL M92/130}
  63.209 +}
  63.210 +@InProceedings{HotPar10_w_BLIS,
  63.211 +	author = {Sean Halle and Albert Cohen},
  63.212 +	booktitle = {HOTPAR '10: USENIX Workshop on Hot Topics in Parallelism},
  63.213 +	month = {June},
  63.214 +	title = {Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware},
  63.215 +	year = 2010
  63.216 +}
  63.217 +@InProceedings{HotPar11_w_Stack,
  63.218 +	author = {Sean Halle and Albert Cohen},
  63.219 +	booktitle = {HOTPAR '11: USENIX Workshop on Hot Topics in Parallelism},
  63.220 +	month = {May},
  63.221 +	title = {},
  63.222 +	year = 2011
  63.223 +}
  63.224 +@Article{VMS_LCPC_11,
  63.225 +	author = {Sean Halle and Albert Cohen},
  63.226 +	title = {A Mutable Hardware Abstraction to Replace Threads},
  63.227 +	journal = {24th International Workshop on Languages and Compilers for Parallel Languages (LCPC11)},
  63.228 +	year = 2011
  63.229 +}
  63.230 +@Misc{StackTechRep_10,
  63.231 +	author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert},
  63.232 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf},
  63.233 +	title = {A Framework to Support Research on Portable High Performance Parallelism},
  63.234 +	year = 2010
  63.235 +}
  63.236 +@Misc{CTBigStepSemTechRep_06,
  63.237 +	author = {Halle, Sean},
  63.238 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-11.pdf},
  63.239 +	title = {The Big-Step Operational Semantics of CodeTime Circuits},
  63.240 +	year = 2006
  63.241 +}
  63.242 +@Misc{MentalFrameworkTechRep_06,
  63.243 +	author = {Halle, Sean},
  63.244 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-12.pdf},
  63.245 +	title = {A Mental Framework for use in Creating Hardware Independent Parallel Languages},
  63.246 +	year = 2006
  63.247 +}
  63.248 +@Misc{DKUTechRep_09,
  63.249 +	author = {Halle, Sean and Cohen, Albert},
  63.250 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-06.pdf},
  63.251 +	title = {DKU Pattern for Performance Portable Parallel Software},
  63.252 +	year = 2009
  63.253 +}
  63.254 +@Misc{EQNLangTechRep,
  63.255 +	author = {Halle, Sean},
  63.256 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-16.pdf},
  63.257 +	title = {An Extensible Parallel Language},
  63.258 +	year = 2009
  63.259 +}
  63.260 +@Misc{CTOSTechRep,
  63.261 +	author = {Halle, Sean},
  63.262 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-15.pdf},
  63.263 +	title = {A Hardware-Independent Parallel Operating System Abstraction LayerParallelism},
  63.264 +	year = 2009
  63.265 +}
  63.266 +@Misc{SideEffectsTechRep,
  63.267 +	author = {Halle, Sean and Cohen, Albert},
  63.268 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-14.pdf},
  63.269 +	title = {Parallel Language Extensions for Side Effects},
  63.270 +	year = 2009
  63.271 +}
  63.272 +@Misc{BaCTiLTechRep,
  63.273 +	author = {Halle, Sean},
  63.274 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-08.pdf},
  63.275 +	title = {BaCTiL: Base CodeTime Language},
  63.276 +	year = 2006
  63.277 +}
  63.278 +@Misc{CTPlatformTechRep,
  63.279 +	author = {Halle, Sean},
  63.280 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-09.pdf},
  63.281 +	title = {The Elements of the CodeTime Software Platform},
  63.282 +	year = 2006
  63.283 +}
  63.284 +@Misc{CTRTTechRep,
  63.285 +	author = {Halle, Sean},
  63.286 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-10.pdf},
  63.287 +	title = {A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform},
  63.288 +	year = 2006
  63.289 +}
  63.290 +@Misc{CIPTechRep,
  63.291 +	author = {Halle, Sean},
  63.292 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2005/ucsc-crl-05-05.pdf},
  63.293 +	title = {The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform},
  63.294 +	year = 2005
  63.295 +}
  63.296 +@Misc{Halle2008,
  63.297 +	author = {Sean Halle and Albert Cohen},
  63.298 +	note = {http://omp.musictwodotoh.com},
  63.299 +	title = {{DKU} infrastructure server}
  63.300 +}
  63.301 +@Misc{DKUSourceForge,
  63.302 +	author = {Sean Halle and Albert Cohen},
  63.303 +	month = {November},
  63.304 +	note = {http://dku.sourceforge.net},
  63.305 +	title = {{DKU} website},
  63.306 +	year = 2008
  63.307 +}
  63.308 +@Misc{BLISHome,
  63.309 +	author = {Sean Halle and Albert Cohen},
  63.310 +	month = {November},
  63.311 +	note = {http://blisplatform.sourceforge.net},
  63.312 +	title = {{BLIS} website},
  63.313 +	year = 2008
  63.314 +}
  63.315 +@Misc{VMSHome,
  63.316 +	author = {Sean Halle and Merten Sach and Ben Juurlink and Albert Cohen},
  63.317 +	note = {http://virtualizedmasterslave.org},
  63.318 +	title = {{VMS} Home Page},
  63.319 +	year = 2010
  63.320 +}
  63.321 +@Misc{PStackHome,
  63.322 +	author = {Sean Halle},
  63.323 +	note = {http://pstack.sourceforge.net},
  63.324 +	title = {{PStack} Home Page},
  63.325 +	year = 2012
  63.326 +}
  63.327 +@Misc{DeblockingCode,
  63.328 +	note = {http://dku.svn.sourceforge.net/viewvc/dku/branches/DKU\_C\_\_Deblocking\_\_orig/},
  63.329 +	title = {{DKU-ized Deblocking Filter} code}
  63.330 +}
  63.331 +@Misc{SampleBLISCode,
  63.332 +	note = {http://dku.sourceforge.net/SampleCode.htm},
  63.333 +	title = {{Sample BLIS Code}}
  63.334 +}
  63.335 +@Misc{OMPHome,
  63.336 +	note = {http://www.openmediaplatform.eu/},
  63.337 +	title = {{Open Media Platform} homepage}
  63.338 +}
  63.339 +@Misc{MapReduceHome,
  63.340 +	author = {Google Corp.},
  63.341 +	note = {http://labs.google.com/papers/mapreduce.html},
  63.342 +	title = {{MapReduce} Home page}
  63.343 +}
  63.344 +@Misc{TBBHome,
  63.345 +	author = {Intel Corp.},
  63.346 +	note = {http://www.threadingbuildingblocks.org},
  63.347 +	title = {{TBB} Home page}
  63.348 +}
  63.349 +@Misc{HPFWikipedia,
  63.350 +	author = {Wikipedia},
  63.351 +	note = {http://en.wikipedia.org/wiki/High_Performance_Fortran},
  63.352 +	title = {{HPF} wikipedia page}
  63.353 +}
  63.354 +@Misc{OpenMPHome,
  63.355 +	author = {{OpenMP} organization},
  63.356 +	note = {http://www.openmp.org},
  63.357 +	title = {{OpenMP} Home page}
  63.358 +}
  63.359 +@Misc{MPIHome,
  63.360 +	author = {open-mpi organization},
  63.361 +	note = {http://www.open-mpi.org},
  63.362 +	title = {{Open MPI} Home page}
  63.363 +}
  63.364 +@Misc{OpenCLHome,
  63.365 +	author = {Kronos Group},
  63.366 +	note = {http://www.khronos.org/opencl},
  63.367 +	title = {{OpenCL} Home page}
  63.368 +}
  63.369 +@Misc{CILKHome,
  63.370 +	author = {Cilk group at MIT},
  63.371 +	note = {http://supertech.csail.mit.edu/cilk/},
  63.372 +	title = {{CILK} homepage}
  63.373 +}
  63.374 +@InProceedings{Fri98,
  63.375 +	author = {M. Frigo and C. E. Leiserson and K. H. Randall},
  63.376 +	title = {The Implementation of the Cilk-5 Multithreaded Language},
  63.377 +	booktitle = {PLDI '98: Proceedings of the 1998 ACM SIGPLAN conference on Programming language design and implementation},
  63.378 +	pages = {212--223},
  63.379 +	year = 1998,
  63.380 +	address = {Montreal, Quebec},
  63.381 +	month = jun
  63.382 +}
  63.383 +@Misc{TitaniumHome,
  63.384 +	note = {http://titanium.cs.berkeley.edu},
  63.385 +	title = {{Titanium} homepage}
  63.386 +}
  63.387 +@InProceedings{CnCInHotPar,
  63.388 +	author = {Knobe, Kathleen},
  63.389 +	booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism},
  63.390 +	title = {Ease of Use with Concurrent Collections {(CnC)}},
  63.391 +	year = 2009
  63.392 +}
  63.393 +@Misc{CnCHome,
  63.394 +	author = {Intel Corp.},
  63.395 +	note = {http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/},
  63.396 +	title = {{CnC} homepage}
  63.397 +}
  63.398 +@Misc{SpiralHome,
  63.399 +	author = {Spiral Group at CMU},
  63.400 +	note = {http://www.spiral.net},
  63.401 +	title = {{Spiral} homepage}
  63.402 +}
  63.403 +@Misc{ScalaHome,
  63.404 +	author = {Scala organization},
  63.405 +	note = {http://www.scala-lang.org/},
  63.406 +	title = {{Scala} homepage}
  63.407 +}
  63.408 +@Misc{UPCHome,
  63.409 +	author = {UPC group at UC Berkeley},
  63.410 +	note = {http://upc.lbl.gov/},
  63.411 +	title = {{Unified Parallel C} homepage}
  63.412 +}
  63.413 +@Misc{SuifHome,
  63.414 +	note = {http://suif.stanford.edu},
  63.415 +	title = {{Suif} Parallelizing compiler homepage}
  63.416 +}
  63.417 +@Article{SEJITS,
  63.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},
  63.419 +	title = {SEJITS: Getting Productivity AND Performance With Selective Embedded JIT Specialization},
  63.420 +	journal = {First Workshop on Programmable Models for Emerging Architecture at the 18th International Conference on Parallel Architectures and Compilation Techniques },
  63.421 +	year = 2009
  63.422 +}
  63.423 +@InProceedings{Arnaldo3D,
  63.424 +	author = {Azevedo, Arnaldo and Meenderinck, Cor and Juurlink, Ben and Terechko, Andrei and Hoogerbrugge, Jan and Alvarez, Mauricio and Ramirez, Alex},
  63.425 +	title = {Parallel H.264 Decoding on an Embedded Multicore Processor},
  63.426 +	booktitle = {HiPEAC '09: Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers},
  63.427 +	year = 2009,
  63.428 +	pages = {404--418}
  63.429 +}
  63.430 +@Article{NarayananGPUSched,
  63.431 +	author = {Narayanan Sundaram and Anand Raghunathan and Srimat T. Chakradhar},
  63.432 +	title = {A framework for efficient and scalable execution of domain-specific templates on GPUs},
  63.433 +	journal = {International Parallel and Distributed Processing Symposium {(IPDPS)}},
  63.434 +	year = 2009,
  63.435 +	pages = {1-12}
  63.436 +}
  63.437 +@InProceedings{PolyForGPU,
  63.438 +	author = {Baskaran, Muthu Manikandan and Bondhugula, Uday and Krishnamoorthy, Sriram and Ramanujam, J. and Rountev, Atanas and Sadayappan, P.},
  63.439 +	title = {A compiler framework for optimization of affine loop nests for gpgpus},
  63.440 +	booktitle = {ICS '08: Proceedings of the 22nd annual international conference on Supercomputing},
  63.441 +	year = 2008,
  63.442 +	pages = {225--234}
  63.443 +}
  63.444 +@InProceedings{Loulou08,
  63.445 +	author = {Pouchet, Louis-No\"{e}l and Bastoul, C\'{e}dric and Cohen, Albert and Cavazos, John},
  63.446 +	title = {Iterative optimization in the polyhedral model: part ii, multidimensional time},
  63.447 +	booktitle = {ACM SIGPLAN conference on Programming language design and implementation {(PLDI)} },
  63.448 +	year = 2008,
  63.449 +	pages = {90--100}
  63.450 +}
  63.451 +@InProceedings{MergeInHotPar,
  63.452 +	author = {Michael D. Linderman and James Balfour and Teresa H. Meng and William J. Dally},
  63.453 +	booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism},
  63.454 +	month = {March},
  63.455 +	title = {Embracing Heterogeneity \- Parallel Programming for Changing Hardware},
  63.456 +	year = 2009
  63.457 +}
  63.458 +@InProceedings{GaloisRef,
  63.459 +	author = {Kulkarni, Milind and Pingali, Keshav and Walter, Bruce and Ramanarayanan, Ganesh and Bala, Kavita and Chew, L. Paul},
  63.460 +	title = {Optimistic parallelism requires abstractions},
  63.461 +	booktitle = {PLDI '07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation},
  63.462 +	year = 2007,
  63.463 +	pages = {211--222}
  63.464 +}
  63.465 +@Book{Allen2002,
  63.466 +	author = {Kennedy, Ken and Allen, John R.},
  63.467 +	title = {Optimizing compilers for modern architectures: a dependence-based approach},
  63.468 +	year = 2002,
  63.469 +	publisher = {Morgan Kaufmann Publishers Inc.}
  63.470 +}
  63.471 +@Misc{Stephens95,
  63.472 +	author = {R. Stephens},
  63.473 +	title = {A Survey Of Stream Processing},
  63.474 +	year = 1995
  63.475 +}
  63.476 +@InProceedings{Palatin06,
  63.477 +	author = {P Palatin and Y Lhuillier and O Temam},
  63.478 +	title = {CAPSULE: Hardware-assisted parallel execution of componentbased programs},
  63.479 +	booktitle = {In Proceedings of the 39th Annual International Symposium on Microarchitecture},
  63.480 +	year = 2006,
  63.481 +	pages = {247--258}
  63.482 +}
  63.483 +@InProceedings{Sequioa06,
  63.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},
  63.485 +	title = {Sequoia: programming the memory hierarchy},
  63.486 +	booktitle = {SC '06: Proceedings of the 2006 ACM/IEEE conference on Supercomputing},
  63.487 +	year = 2006,
  63.488 +	pages = 83
  63.489 +}
  63.490 +@Book{Cole89,
  63.491 +	author = {M Cole},
  63.492 +	title = {Algorithmic skeletons: Structured management of parallel computation},
  63.493 +	publisher = {Pitman},
  63.494 +	year = 1989
  63.495 +}
  63.496 +@InProceedings{Ginhac98,
  63.497 +	author = {Dominique Ginhac and Jocelyn Serot and Jean Pierre Derutin},
  63.498 +	title = {Fast prototyping of image processing applications using functional skeletons on a MIMD-DM architecture},
  63.499 +	booktitle = {In IAPR Workshop on Machine Vision and Applications},
  63.500 +	year = 1998,
  63.501 +	pages = {468--471}
  63.502 +}
  63.503 +@InProceedings{Serot08MetaParallel,
  63.504 +	author = {Serot, Jocelyn and Falcou, Joel},
  63.505 +	title = {Functional Meta-programming for Parallel Skeletons},
  63.506 +	booktitle = {ICCS '08: Proceedings of the 8th international conference on Computational Science, Part I},
  63.507 +	year = 2008,
  63.508 +	pages = {154--163}
  63.509 +}
  63.510 +@InProceedings{Darlington93,
  63.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},
  63.512 +	title = {Parallel programming using skeleton functions},
  63.513 +	booktitle = {},
  63.514 +	year = 1993,
  63.515 +	pages = {146--160},
  63.516 +	publisher = {Springer-Verlag}
  63.517 +}
  63.518 +@Article{Asanovic06BerkeleyView,
  63.519 +	title = {{The landscape of parallel computing research: A view from berkeley}},
  63.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},
  63.521 +	journal = {Electrical Engineering and Computer Sciences, University of California at Berkeley, Technical Report No. UCB/EECS-2006-183, December},
  63.522 +	volume = 18,
  63.523 +	number = {2006-183},
  63.524 +	pages = 19,
  63.525 +	year = 2006
  63.526 +}
  63.527 +@Misc{BerkeleyPattLang,
  63.528 +	note = {http://parlab.eecs.berkeley.edu/wiki/patterns},
  63.529 +	title = {{Berkeley Pattern Language}}
  63.530 +}
  63.531 +@Book{Mattson04Patterns,
  63.532 +	title = {{Patterns for parallel programming}},
  63.533 +	author = {Mattson, T. and Sanders, B. and Massingill, B.},
  63.534 +	year = 2004,
  63.535 +	publisher = {Addison-Wesley Professional}
  63.536 +}
  63.537 +@Article{Skillicorn98,
  63.538 +	title = {{Models and languages for parallel computation}},
  63.539 +	author = {Skillicorn, D.B. and Talia, D.},
  63.540 +	journal = {ACM Computing Surveys (CSUR)},
  63.541 +	volume = 30,
  63.542 +	number = 2,
  63.543 +	pages = {123--169},
  63.544 +	year = 1998
  63.545 +}
  63.546 +@Conference{Blelloch93NESL,
  63.547 +	title = {{Implementation of a portable nested data-parallel language}},
  63.548 +	author = {Blelloch, G.E. and Hardwick, J.C. and Chatterjee, S. and Sipelstein, J. and Zagha, M.},
  63.549 +	booktitle = {Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming},
  63.550 +	pages = {102--111},
  63.551 +	year = 1993,
  63.552 +	organization = {ACM New York, NY, USA}
  63.553 +}
  63.554 +@Article{McgrawSisal,
  63.555 +	title = {{SISAL: Streams and iteration in a single assignment language: Reference manual version 1.2}},
  63.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.},
  63.557 +	journal = {Manual M-146, Rev},
  63.558 +	volume = 1
  63.559 +}
  63.560 +@Article{Gelernter85Linda,
  63.561 +	title = {{Generative communication in Linda}},
  63.562 +	author = {Gelernter, D.},
  63.563 +	journal = {ACM Transactions on Programming Languages and Systems (TOPLAS)},
  63.564 +	volume = 7,
  63.565 +	number = 1,
  63.566 +	pages = {80--112},
  63.567 +	year = 1985
  63.568 +}
  63.569 +@Article{Lin94ZPL,
  63.570 +	title = {{ZPL: An array sublanguage}},
  63.571 +	author = {Lin, C. and Snyder, L.},
  63.572 +	journal = {Lecture Notes in Computer Science},
  63.573 +	volume = 768,
  63.574 +	pages = {96--114},
  63.575 +	year = 1994
  63.576 +}
  63.577 +@Article{baecker97,
  63.578 +	author = {Ron Baecker and Chris DiGiano and Aaron Marcus},
  63.579 +	title = {Software visualization for debugging},
  63.580 +	journal = {Communications of the ACM},
  63.581 +	volume = 40,
  63.582 +	number = 4,
  63.583 +	year = 1997,
  63.584 +	issn = {0001-0782},
  63.585 +	pages = {44--54},
  63.586 +	publisher = {ACM Press}
  63.587 +}
  63.588 +@Article{ball96,
  63.589 +	author = {T. A. Ball and S. G. Eick},
  63.590 +	title = {Software Visualization in the Large},
  63.591 +	journal = {IEEE Computer},
  63.592 +	volume = 29,
  63.593 +	number = 4,
  63.594 +	year = 1996,
  63.595 +	month = {apr},
  63.596 +	pages = {33--43}
  63.597 +}
  63.598 +@Book{berry89,
  63.599 +	title = {{The chemical abstract machine}},
  63.600 +	author = {Berry, G. and Boudol, G.},
  63.601 +	year = 1989,
  63.602 +	publisher = {ACM Press}
  63.603 +}
  63.604 +@Article{blumofe95,
  63.605 +	author = {Robert D. Blumofe and Christopher F. Joerg and Bradley C. Kuszmaul and Charles E. Leiserson and Keith H. Randall and Yuli Zhou},
  63.606 +	title = {Cilk: an efficient multithreaded runtime system},
  63.607 +	journal = {SIGPLAN Not.},
  63.608 +	volume = 30,
  63.609 +	number = 8,
  63.610 +	year = 1995,
  63.611 +	pages = {207--216}
  63.612 +}
  63.613 +@Article{burch90,
  63.614 +	title = {{Symbolic model checking: 10^{20} states and beyond}},
  63.615 +	author = {Burch, JR and Clarke, EM and McMillan, KL and Dill, DL and Hwang, LJ},
  63.616 +	journal = {Logic in Computer Science, 1990. LICS'90, Proceedings},
  63.617 +	pages = {428--439},
  63.618 +	year = 1990
  63.619 +}
  63.620 +@Article{chamberlain98,
  63.621 +	author = {B. Chamberlain and S. Choi and E. Lewis and C. Lin and L. Snyder and W. Weathersby},
  63.622 +	title = {ZPL's WYSIWYG Performance Model},
  63.623 +	journal = {hips},
  63.624 +	volume = 00,
  63.625 +	year = 1998,
  63.626 +	isbn = {0-8186-8412-7},
  63.627 +	pages = 50
  63.628 +}
  63.629 +@Article{church41,
  63.630 +	author = {A. Church},
  63.631 +	title = {The Calculi of Lambda-Conversion},
  63.632 +	journal = {Annals of Mathematics Studies},
  63.633 +	number = 6,
  63.634 +	year = 1941,
  63.635 +	publisher = {Princeton University}
  63.636 +}
  63.637 +@Misc{CodeTimeSite,
  63.638 +	author = {Sean Halle},
  63.639 +	key = {CodeTime},
  63.640 +	title = {Homepage for The CodeTime Parallel Software Platform},
  63.641 +	note = {{\ttfamily http://codetime.sourceforge.net}}
  63.642 +}
  63.643 +@Misc{CodeTimePlatform,
  63.644 +	author = {Sean Halle},
  63.645 +	key = {CodeTime},
  63.646 +	title = {The CodeTime Parallel Software Platform},
  63.647 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Platform.pdf}}
  63.648 +}
  63.649 +@Misc{CodeTimeVS,
  63.650 +	author = {Sean Halle},
  63.651 +	key = {CodeTime},
  63.652 +	title = {The Specification of the CodeTime Platform's Virtual Server},
  63.653 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Virtual\_Server.pdf}}
  63.654 +}
  63.655 +@Misc{CodeTimeOS,
  63.656 +	author = {Sean Halle},
  63.657 +	key = {CodeTime},
  63.658 +	title = {A Hardware Independent OS},
  63.659 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_OS.pdf}}
  63.660 +}
  63.661 +@Misc{CodeTimeSem,
  63.662 +	author = {Sean Halle},
  63.663 +	key = {CodeTime},
  63.664 +	title = {The Big-Step Operational Semantics of the CodeTime Computational Model},
  63.665 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Semantics.pdf}}
  63.666 +}
  63.667 +@Misc{CodeTimeTh,
  63.668 +	author = {Sean Halle},
  63.669 +	key = {CodeTime},
  63.670 +	title = {A Mental Framework for Use in Creating Hardware-Independent Parallel Languages},
  63.671 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTiime\_Theoretical\_Framework.pdf}}
  63.672 +}
  63.673 +@Misc{CodeTimeTh1,
  63.674 +	author = {Sean Halle},
  63.675 +	key = {CodeTime},
  63.676 +	title = {The CodeTime Parallel Software Platform},
  63.677 +	note = {{\ttfamily http://codetime.sourceforge.net}}
  63.678 +}
  63.679 +@Misc{CodeTimeTh2,
  63.680 +	author = {Sean Halle},
  63.681 +	key = {CodeTime},
  63.682 +	title = {The CodeTime Parallel Software Platform},
  63.683 +	note = {{\ttfamily http://codetime.sourceforge.net}}
  63.684 +}
  63.685 +@Misc{CodeTimeRT,
  63.686 +	author = {Sean Halle},
  63.687 +	key = {CodeTime},
  63.688 +	title = {The CodeTime Parallel Software Platform},
  63.689 +	note = {{\ttfamily http://codetime.sourceforge.net}}
  63.690 +}
  63.691 +@Misc{CodeTimeWebSite,
  63.692 +	author = {Sean Halle},
  63.693 +	key = {CodeTime},
  63.694 +	title = {The CodeTime Parallel Software Platform},
  63.695 +	note = {{\ttfamily http://codetime.sourceforge.net}}
  63.696 +}
  63.697 +@Misc{CodeTimeBaCTiL,
  63.698 +	author = {Sean Halle},
  63.699 +	key = {CodeTime},
  63.700 +	title = {The Base CodeTime Language},
  63.701 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_BaCTiL.pdf}}
  63.702 +}
  63.703 +@Misc{CodeTimeCert,
  63.704 +	author = {Sean Halle},
  63.705 +	key = {CodeTime},
  63.706 +	title = {The CodeTime Certification Strategy},
  63.707 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Certification.pdf}}
  63.708 +}
  63.709 +@InProceedings{ducournau94,
  63.710 +	author = {R. Ducournau and M. Habib and M. Huchard and M. L. Mugnier},
  63.711 +	title = {Proposal for a monotonic multiple inheritance linearization},
  63.712 +	booktitle = {OOPSLA '94: Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications},
  63.713 +	year = 1994,
  63.714 +	pages = {164--175},
  63.715 +	publisher = {ACM Press}
  63.716 +}
  63.717 +@Article{emerson91,
  63.718 +	title = {{Tree automata, mu-calculus and determinacy}},
  63.719 +	author = {Emerson, EA and Jutla, CS},
  63.720 +	journal = {Proceedings of the 32nd Symposium on Foundations of Computer Science},
  63.721 +	pages = {368--377},
  63.722 +	year = 1991
  63.723 +}
  63.724 +@Article{fortune78,
  63.725 +	title = {{Parallelism in random access machines}},
  63.726 +	author = {Fortune, S. and Wyllie, J.},
  63.727 +	journal = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing},
  63.728 +	pages = {114--118},
  63.729 +	year = 1978,
  63.730 +	publisher = {ACM Press New York, NY, USA}
  63.731 +}
  63.732 +@Book{goldberg83,
  63.733 +	title = {{Smalltalk-80: the language and its implementation}},
  63.734 +	author = {Goldberg, A. and Robson, D.},
  63.735 +	year = 1983,
  63.736 +	publisher = {Addison-Wesley}
  63.737 +}
  63.738 +@InProceedings{goldschlager78,
  63.739 +	author = {Leslie M. Goldschlager},
  63.740 +	title = {A unified approach to models of synchronous parallel machines},
  63.741 +	booktitle = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing},
  63.742 +	year = 1978,
  63.743 +	pages = {89--94},
  63.744 +	location = {San Diego, California, United States},
  63.745 +	doi = {http://doi.acm.org/10.1145/800133.804336},
  63.746 +	publisher = {ACM Press}
  63.747 +}
  63.748 +@Book{gosling96,
  63.749 +	author = {J. Gosling and B. Joy and G. Steele and G. Bracha},
  63.750 +	title = {The Java Language Specification},
  63.751 +	publisher = {Addison-Wesley},
  63.752 +	year = 1996
  63.753 +}
  63.754 +@Article{hasselbring00,
  63.755 +	author = {Wilhelm Hasselbring},
  63.756 +	title = {Programming languages and systems for prototyping concurrent applications},
  63.757 +	journal = {ACM Comput. Surv.},
  63.758 +	volume = 32,
  63.759 +	number = 1,
  63.760 +	year = 2000,
  63.761 +	issn = {0360-0300},
  63.762 +	pages = {43--79},
  63.763 +	doi = {http://doi.acm.org/10.1145/349194.349199},
  63.764 +	publisher = {ACM Press},
  63.765 +	address = {New York, NY, USA}
  63.766 +}
  63.767 +@Article{hoare78,
  63.768 +	author = {C. A. R. Hoare},
  63.769 +	title = {Communicating Sequential Processes},
  63.770 +	journal = {Communications of the ACM},
  63.771 +	year = 1978,
  63.772 +	volume = 21,
  63.773 +	number = 8,
  63.774 +	pages = {666-677}
  63.775 +}
  63.776 +@Article{huth,
  63.777 +	title = {{A Unifying Framework for Model Checking Labeled Kripke Structures, Modal Transition Systems, and Interval Transition Systems}},
  63.778 +	author = {Huth, M.},
  63.779 +	journal = {Proceedings of the 19th International Conference on the Foundations of Software Technology \& Theoretical Computer Science, Lecture Notes in Computer Science},
  63.780 +	pages = {369--380},
  63.781 +	publisher = {Springer-Verlag}
  63.782 +}
  63.783 +@Article{johnston04,
  63.784 +	author = {Wesley M. Johnston and J. R. Paul Hanna and Richard J. Millar},
  63.785 +	title = {Advances in dataflow programming languages},
  63.786 +	journal = {ACM Comput. Surv.},
  63.787 +	volume = 36,
  63.788 +	number = 1,
  63.789 +	year = 2004,
  63.790 +	issn = {0360-0300},
  63.791 +	pages = {1--34},
  63.792 +	doi = {http://doi.acm.org/10.1145/1013208.1013209},
  63.793 +	publisher = {ACM Press},
  63.794 +	address = {New York, NY, USA}
  63.795 +}
  63.796 +@Book{koelbel93,
  63.797 +	author = {C. H. Koelbel and D. Loveman and R. Schreiber and G. Steele Jr},
  63.798 +	title = {High Performance Fortran Handbook},
  63.799 +	year = 1993,
  63.800 +	publisher = {MIT Press}
  63.801 +}
  63.802 +@Article{kozen83,
  63.803 +	title = {{Results on the Propositional mu-Calculus}},
  63.804 +	author = {Kozen, D.},
  63.805 +	journal = {TCS},
  63.806 +	volume = 27,
  63.807 +	pages = {333--354},
  63.808 +	year = 1983
  63.809 +}
  63.810 +@Article{kripke63,
  63.811 +	title = {{Semantical analysis of modal logic}},
  63.812 +	author = {Kripke, S.},
  63.813 +	journal = {Zeitschrift fur Mathematische Logik und Grundlagen der Mathematik},
  63.814 +	volume = 9,
  63.815 +	pages = {67--96},
  63.816 +	year = 1963
  63.817 +}
  63.818 +@Book{mcGraw85,
  63.819 +	author = {J McGraw and S. Skedzielewski and S. Allan and R Odefoeft},
  63.820 +	title = {SISAL: Streams and Iteration in a Single-Assignment Language: Reference Manual Version 1.2},
  63.821 +	note = {Manual M-146 Rev. 1},
  63.822 +	publisher = {Lawrence Livermore National Laboratory},
  63.823 +	year = 1985
  63.824 +}
  63.825 +@Book{milner80,
  63.826 +	title = {{A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science}},
  63.827 +	author = {Milner, R.},
  63.828 +	year = 1980,
  63.829 +	publisher = {Springer-Verlag}
  63.830 +}
  63.831 +@Article{milner92,
  63.832 +	title = {{A calculus of mobile processes, parts I and II}},
  63.833 +	author = {Milner, R. and Parrow, J. and Walker, D.},
  63.834 +	journal = {Information and Computation},
  63.835 +	volume = 100,
  63.836 +	number = 1,
  63.837 +	pages = {1--40 and 41--77},
  63.838 +	year = 1992,
  63.839 +	publisher = {Academic Press}
  63.840 +}
  63.841 +@Book{milner99,
  63.842 +	author = {Robin Milner},
  63.843 +	title = {Communicating and Mobile Systems: The pi-Calculus},
  63.844 +	publisher = {Cambridge University Press},
  63.845 +	year = 1999
  63.846 +}
  63.847 +@Book{MPIForum94,
  63.848 +	author = {M. P. I. Forum},
  63.849 +	title = {MPI: A Message-Passing Interface Standard},
  63.850 +	year = 1994
  63.851 +}
  63.852 +@Article{petri62,
  63.853 +	title = {{Fundamentals of a theory of asynchronous information flow}},
  63.854 +	author = {Petri, C.A.},
  63.855 +	journal = {Proc. IFIP Congress},
  63.856 +	volume = 62,
  63.857 +	pages = {386--390},
  63.858 +	year = 1962
  63.859 +}
  63.860 +@Book{pierce02,
  63.861 +	title = {Types and Programming Languages},
  63.862 +	author = {Pierce, B. C.},
  63.863 +	year = 2002,
  63.864 +	publisher = {MIT Press}
  63.865 +}
  63.866 +@Article{price,
  63.867 +	author = {B. A. Price and R. M. Baecker and L. S. Small},
  63.868 +	title = {A Principled Taxonomy of Software Visualization},
  63.869 +	journal = {Journal of Visual Languages and Computing},
  63.870 +	volume = 4,
  63.871 +	number = 3,
  63.872 +	pages = {211--266}
  63.873 +}
  63.874 +@Misc{pythonWebSite,
  63.875 +	key = {Python},
  63.876 +	title = {The Python Software Foundation Mission Statement},
  63.877 +	note = {{\ttfamily http://www.python.org/psf/mission.html}}
  63.878 +}
  63.879 +@Unpublished{reed03,
  63.880 +	editor = {Daniel A. Reed},
  63.881 +	title = {Workshop on The Roadmap for the Revitalization of High-End Computing},
  63.882 +	day = {16--18},
  63.883 +	month = {jun},
  63.884 +	year = 2003,
  63.885 +	note = {Available at {\ttfamily http://www.cra.org/reports/supercomputing.web.pdf}}
  63.886 +}
  63.887 +@Article{reeves84,
  63.888 +	author = {A. P. Reeves},
  63.889 +	title = {Parallel Pascal -- An Extended Pascal for Parallel Computers},
  63.890 +	journal = {Journal of Parallel and Distributed Computing},
  63.891 +	volume = 1,
  63.892 +	number = {},
  63.893 +	year = 1984,
  63.894 +	month = {aug},
  63.895 +	pages = {64--80}
  63.896 +}
  63.897 +@Article{skillicorn98,
  63.898 +	author = {David B. Skillicorn and Domenico Talia},
  63.899 +	title = {Models and languages for parallel computation},
  63.900 +	journal = {ACM Comput. Surv.},
  63.901 +	volume = 30,
  63.902 +	number = 2,
  63.903 +	year = 1998,
  63.904 +	issn = {0360-0300},
  63.905 +	pages = {123--169},
  63.906 +	doi = {http://doi.acm.org/10.1145/280277.280278},
  63.907 +	publisher = {ACM Press},
  63.908 +	address = {New York, NY, USA}
  63.909 +}
  63.910 +@Article{stefik86,
  63.911 +	title = {Object Oriented Programming: Themes and Variations},
  63.912 +	author = {Stefik, M. and Bobrow, D. G.},
  63.913 +	journal = {The AI Magazine},
  63.914 +	volume = 6,
  63.915 +	number = 4,
  63.916 +	year = 1986
  63.917 +}
  63.918 +@Book{stirling92,
  63.919 +	title = {{Modal and Temporal Logics}},
  63.920 +	author = {Stirling, C.},
  63.921 +	year = 1992,
  63.922 +	publisher = {University of Edinburgh, Department of Computer Science}
  63.923 +}
  63.924 +@Misc{TitaniumWebSite,
  63.925 +	author = {Paul Hilfinger and et. al.},
  63.926 +	title = {The Titanium Project Home Page},
  63.927 +	note = {{\ttfamily http://www.cs.berkeley.edu/projects/titanium}}
  63.928 +}
  63.929 +@Misc{turing38,
  63.930 +	author = {A. Turing},
  63.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},
  63.932 +	year = 1938
  63.933 +}
  63.934 +@Book{vonNeumann45,
  63.935 +	title = {First Draft of a Report on the EDVAC},
  63.936 +	author = {J. von Neumann},
  63.937 +	year = 1945,
  63.938 +	publisher = {United States Army Ordnance Department}
  63.939 +}
  63.940 +@Book{winskel93,
  63.941 +	title = {{The Formal Semantics of Programming Languages}},
  63.942 +	author = {Winskel, G.},
  63.943 +	year = 1993,
  63.944 +	publisher = {MIT Press}
  63.945 +}
    64.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    64.2 +++ b/0__Papers/PRT/PRT__formal_def/latex/sigplanconf.cls	Sat Aug 03 19:24:22 2013 -0700
    64.3 @@ -0,0 +1,1273 @@
    64.4 +%-----------------------------------------------------------------------------
    64.5 +%
    64.6 +%               LaTeX Class/Style File
    64.7 +%
    64.8 +% Name:         sigplanconf.cls
    64.9 +%
   64.10 +% Purpose:      A LaTeX 2e class file for SIGPLAN conference proceedings.
   64.11 +%               This class file supercedes acm_proc_article-sp,
   64.12 +%               sig-alternate, and sigplan-proc.
   64.13 +%
   64.14 +% Author:       Paul C. Anagnostopoulos
   64.15 +%               Windfall Software
   64.16 +%               978 371-2316
   64.17 +%               paul [atsign] windfall.com
   64.18 +%
   64.19 +% Created:      12 September 2004
   64.20 +%
   64.21 +% Revisions:    See end of file.
   64.22 +%
   64.23 +% This work is licensed under the Creative Commons Attribution License.
   64.24 +% To view a copy of this license, visit
   64.25 +%   http://creativecommons.org/licenses/by/3.0/
   64.26 +% or send a letter to Creative Commons, 171 2nd Street, Suite 300,
   64.27 +% San Francisco, California, 94105, U.S.A.
   64.28 +%
   64.29 +%-----------------------------------------------------------------------------
   64.30 +
   64.31 +
   64.32 +\NeedsTeXFormat{LaTeX2e}[1995/12/01]
   64.33 +\ProvidesClass{sigplanconf}[2011/11/08 v2.5 ACM SIGPLAN Proceedings]
   64.34 +
   64.35 +% The following few pages contain LaTeX programming extensions adapted
   64.36 +% from the ZzTeX macro package.
   64.37 +
   64.38 +%                       Token Hackery
   64.39 +%                       ----- -------
   64.40 +
   64.41 +
   64.42 +\def \@expandaftertwice {\expandafter\expandafter\expandafter}
   64.43 +\def \@expandafterthrice {\expandafter\expandafter\expandafter\expandafter
   64.44 +                          \expandafter\expandafter\expandafter}
   64.45 +
   64.46 +% This macro discards the next token.
   64.47 +
   64.48 +\def \@discardtok #1{}%                                  token
   64.49 +
   64.50 +% This macro removes the `pt' following a dimension.
   64.51 +
   64.52 +{\catcode `\p = 12 \catcode `\t = 12
   64.53 +
   64.54 +\gdef \@remover #1pt{#1}
   64.55 +
   64.56 +} % \catcode
   64.57 +
   64.58 +% This macro extracts the contents of a macro and returns it as plain text.
   64.59 +% Usage: \expandafter\@defof \meaning\macro\@mark
   64.60 +
   64.61 +\def \@defof #1:->#2\@mark{#2}
   64.62 +
   64.63 +%                       Control Sequence Names
   64.64 +%                       ------- -------- -----
   64.65 +
   64.66 +
   64.67 +\def \@name #1{%                                        {\tokens}
   64.68 +  \csname \expandafter\@discardtok \string#1\endcsname}
   64.69 +
   64.70 +\def \@withname #1#2{%                                  {\command}{\tokens}
   64.71 +  \expandafter#1\csname \expandafter\@discardtok \string#2\endcsname}
   64.72 +
   64.73 +%                       Flags (Booleans)
   64.74 +%                       ----- ----------
   64.75 +
   64.76 +% The boolean literals \@true and \@false are appropriate for use with
   64.77 +% the \if command, which tests the codes of the next two characters.
   64.78 +
   64.79 +\def \@true {TT}
   64.80 +\def \@false {FL}
   64.81 +
   64.82 +\def \@setflag #1=#2{\edef #1{#2}}%              \flag = boolean
   64.83 +
   64.84 +%                       IF and Predicates
   64.85 +%                       -- --- ----------
   64.86 +
   64.87 +% A "predicate" is a macro that returns \@true or \@false as its value.
   64.88 +% Such values are suitable for use with the \if conditional.  For example:
   64.89 +%
   64.90 +%   \if \@oddp{\x} <then-clause> \else <else-clause> \fi
   64.91 +
   64.92 +% A predicate can be used with \@setflag as follows:
   64.93 +%
   64.94 +%   \@setflag \flag = {<predicate>}
   64.95 +
   64.96 +% Here are the predicates for TeX's repertoire of conditional
   64.97 +% commands.  These might be more appropriately interspersed with
   64.98 +% other definitions in this module, but what the heck.
   64.99 +% Some additional "obvious" predicates are defined.
  64.100 +
  64.101 +\def \@eqlp   #1#2{\ifnum #1 = #2\@true \else \@false \fi}
  64.102 +\def \@neqlp  #1#2{\ifnum #1 = #2\@false \else \@true \fi}
  64.103 +\def \@lssp   #1#2{\ifnum #1 < #2\@true \else \@false \fi}
  64.104 +\def \@gtrp   #1#2{\ifnum #1 > #2\@true \else \@false \fi}
  64.105 +\def \@zerop  #1{\ifnum #1 = 0\@true \else \@false \fi}
  64.106 +\def \@onep   #1{\ifnum #1 = 1\@true \else \@false \fi}
  64.107 +\def \@posp   #1{\ifnum #1 > 0\@true \else \@false \fi}
  64.108 +\def \@negp   #1{\ifnum #1 < 0\@true \else \@false \fi}
  64.109 +\def \@oddp   #1{\ifodd #1\@true \else \@false \fi}
  64.110 +\def \@evenp  #1{\ifodd #1\@false \else \@true \fi}
  64.111 +\def \@rangep #1#2#3{\if \@orp{\@lssp{#1}{#2}}{\@gtrp{#1}{#3}}\@false \else
  64.112 +                                                          \@true \fi}
  64.113 +\def \@tensp  #1{\@rangep{#1}{10}{19}}
  64.114 +
  64.115 +\def \@dimeqlp   #1#2{\ifdim #1 = #2\@true \else \@false \fi}
  64.116 +\def \@dimneqlp  #1#2{\ifdim #1 = #2\@false \else \@true \fi}
  64.117 +\def \@dimlssp   #1#2{\ifdim #1 < #2\@true \else \@false \fi}
  64.118 +\def \@dimgtrp   #1#2{\ifdim #1 > #2\@true \else \@false \fi}
  64.119 +\def \@dimzerop  #1{\ifdim #1 = 0pt\@true \else \@false \fi}
  64.120 +\def \@dimposp   #1{\ifdim #1 > 0pt\@true \else \@false \fi}
  64.121 +\def \@dimnegp   #1{\ifdim #1 < 0pt\@true \else \@false \fi}
  64.122 +
  64.123 +\def \@vmodep     {\ifvmode \@true \else \@false \fi}
  64.124 +\def \@hmodep     {\ifhmode \@true \else \@false \fi}
  64.125 +\def \@mathmodep  {\ifmmode \@true \else \@false \fi}
  64.126 +\def \@textmodep  {\ifmmode \@false \else \@true \fi}
  64.127 +\def \@innermodep {\ifinner \@true \else \@false \fi}
  64.128 +
  64.129 +\long\def \@codeeqlp #1#2{\if #1#2\@true \else \@false \fi}
  64.130 +
  64.131 +\long\def \@cateqlp #1#2{\ifcat #1#2\@true \else \@false \fi}
  64.132 +
  64.133 +\long\def \@tokeqlp  #1#2{\ifx #1#2\@true \else \@false \fi}
  64.134 +\long\def \@xtokeqlp #1#2{\expandafter\ifx #1#2\@true \else \@false \fi}
  64.135 +
  64.136 +\long\def \@definedp #1{%
  64.137 +  \expandafter\ifx \csname \expandafter\@discardtok \string#1\endcsname
  64.138 +                   \relax \@false \else \@true \fi}
  64.139 +
  64.140 +\long\def \@undefinedp #1{%
  64.141 +  \expandafter\ifx \csname \expandafter\@discardtok \string#1\endcsname
  64.142 +                   \relax \@true \else \@false \fi}
  64.143 +
  64.144 +\def \@emptydefp #1{\ifx #1\@empty \@true \else \@false \fi}%       {\name}
  64.145 +
  64.146 +\let \@emptylistp = \@emptydefp
  64.147 +
  64.148 +\long\def \@emptyargp #1{%                               {#n}
  64.149 +  \@empargp #1\@empargq\@mark}
  64.150 +\long\def \@empargp #1#2\@mark{%
  64.151 +  \ifx #1\@empargq \@true \else \@false \fi}
  64.152 +\def \@empargq {\@empargq}
  64.153 +
  64.154 +\def \@emptytoksp #1{%                                   {\tokenreg}
  64.155 +  \expandafter\@emptoksp \the#1\@mark}
  64.156 +
  64.157 +\long\def \@emptoksp #1\@mark{\@emptyargp{#1}}
  64.158 +
  64.159 +\def \@voidboxp #1{\ifvoid #1\@true \else \@false \fi}
  64.160 +\def \@hboxp #1{\ifhbox #1\@true \else \@false \fi}
  64.161 +\def \@vboxp #1{\ifvbox #1\@true \else \@false \fi}
  64.162 +
  64.163 +\def \@eofp #1{\ifeof #1\@true \else \@false \fi}
  64.164 +
  64.165 +
  64.166 +% Flags can also be used as predicates, as in:
  64.167 +%
  64.168 +%   \if \flaga <then-clause> \else <else-clause> \fi
  64.169 +
  64.170 +
  64.171 +% Now here we have predicates for the common logical operators.
  64.172 +
  64.173 +\def \@notp #1{\if #1\@false \else \@true \fi}
  64.174 +
  64.175 +\def \@andp #1#2{\if #1%
  64.176 +                  \if #2\@true \else \@false \fi
  64.177 +                \else
  64.178 +                  \@false
  64.179 +                \fi}
  64.180 +
  64.181 +\def \@orp #1#2{\if #1%
  64.182 +                 \@true
  64.183 +               \else
  64.184 +                 \if #2\@true \else \@false \fi
  64.185 +               \fi}
  64.186 +
  64.187 +\def \@xorp #1#2{\if #1%
  64.188 +                  \if #2\@false \else \@true \fi
  64.189 +                \else
  64.190 +                  \if #2\@true \else \@false \fi
  64.191 +                \fi}
  64.192 +
  64.193 +%                       Arithmetic
  64.194 +%                       ----------
  64.195 +
  64.196 +\def \@increment #1{\advance #1 by 1\relax}%             {\count}
  64.197 +
  64.198 +\def \@decrement #1{\advance #1 by -1\relax}%            {\count}
  64.199 +
  64.200 +%                       Options
  64.201 +%                       -------
  64.202 +
  64.203 +
  64.204 +\@setflag \@authoryear = \@false
  64.205 +\@setflag \@blockstyle = \@false
  64.206 +\@setflag \@copyrightwanted = \@true
  64.207 +\@setflag \@explicitsize = \@false
  64.208 +\@setflag \@mathtime = \@false
  64.209 +\@setflag \@natbib = \@true
  64.210 +\@setflag \@ninepoint = \@true
  64.211 +\newcount{\@numheaddepth} \@numheaddepth = 3
  64.212 +\@setflag \@onecolumn = \@false
  64.213 +\@setflag \@preprint = \@false
  64.214 +\@setflag \@reprint = \@false
  64.215 +\@setflag \@tenpoint = \@false
  64.216 +\@setflag \@times = \@false
  64.217 +
  64.218 +% Note that all the dangerous article class options are trapped.
  64.219 +
  64.220 +\DeclareOption{9pt}{\@setflag \@ninepoint = \@true
  64.221 +                    \@setflag \@explicitsize = \@true}
  64.222 +
  64.223 +\DeclareOption{10pt}{\PassOptionsToClass{10pt}{article}%
  64.224 +                     \@setflag \@ninepoint = \@false
  64.225 +                     \@setflag \@tenpoint = \@true
  64.226 +                     \@setflag \@explicitsize = \@true}
  64.227 +
  64.228 +\DeclareOption{11pt}{\PassOptionsToClass{11pt}{article}%
  64.229 +                     \@setflag \@ninepoint = \@false
  64.230 +                     \@setflag \@explicitsize = \@true}
  64.231 +
  64.232 +\DeclareOption{12pt}{\@unsupportedoption{12pt}}
  64.233 +
  64.234 +\DeclareOption{a4paper}{\@unsupportedoption{a4paper}}
  64.235 +
  64.236 +\DeclareOption{a5paper}{\@unsupportedoption{a5paper}}
  64.237 +
  64.238 +\DeclareOption{authoryear}{\@setflag \@authoryear = \@true}
  64.239 +
  64.240 +\DeclareOption{b5paper}{\@unsupportedoption{b5paper}}
  64.241 +
  64.242 +\DeclareOption{blockstyle}{\@setflag \@blockstyle = \@true}
  64.243 +
  64.244 +\DeclareOption{cm}{\@setflag \@times = \@false}
  64.245 +
  64.246 +\DeclareOption{computermodern}{\@setflag \@times = \@false}
  64.247 +
  64.248 +\DeclareOption{executivepaper}{\@unsupportedoption{executivepaper}}
  64.249 +
  64.250 +\DeclareOption{indentedstyle}{\@setflag \@blockstyle = \@false}
  64.251 +
  64.252 +\DeclareOption{landscape}{\@unsupportedoption{landscape}}
  64.253 +
  64.254 +\DeclareOption{legalpaper}{\@unsupportedoption{legalpaper}}
  64.255 +
  64.256 +\DeclareOption{letterpaper}{\@unsupportedoption{letterpaper}}
  64.257 +
  64.258 +\DeclareOption{mathtime}{\@setflag \@mathtime = \@true}
  64.259 +
  64.260 +\DeclareOption{natbib}{\@setflag \@natbib = \@true}
  64.261 +
  64.262 +\DeclareOption{nonatbib}{\@setflag \@natbib = \@false}
  64.263 +
  64.264 +\DeclareOption{nocopyrightspace}{\@setflag \@copyrightwanted = \@false}
  64.265 +
  64.266 +\DeclareOption{notitlepage}{\@unsupportedoption{notitlepage}}
  64.267 +
  64.268 +\DeclareOption{numberedpars}{\@numheaddepth = 4}
  64.269 +
  64.270 +\DeclareOption{numbers}{\@setflag \@authoryear = \@false}
  64.271 +
  64.272 +%%%\DeclareOption{onecolumn}{\@setflag \@onecolumn = \@true}
  64.273 +
  64.274 +\DeclareOption{preprint}{\@setflag \@preprint = \@true}
  64.275 +
  64.276 +\DeclareOption{reprint}{\@setflag \@reprint = \@true}
  64.277 +
  64.278 +\DeclareOption{times}{\@setflag \@times = \@true}
  64.279 +
  64.280 +\DeclareOption{titlepage}{\@unsupportedoption{titlepage}}
  64.281 +
  64.282 +\DeclareOption{twocolumn}{\@setflag \@onecolumn = \@false}
  64.283 +
  64.284 +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
  64.285 +
  64.286 +\ExecuteOptions{9pt,indentedstyle,times}
  64.287 +\@setflag \@explicitsize = \@false
  64.288 +\ProcessOptions
  64.289 +
  64.290 +\if \@onecolumn
  64.291 +  \if \@notp{\@explicitsize}%
  64.292 +    \@setflag \@ninepoint = \@false
  64.293 +    \PassOptionsToClass{11pt}{article}%
  64.294 +  \fi
  64.295 +  \PassOptionsToClass{twoside,onecolumn}{article}
  64.296 +\else
  64.297 +  \PassOptionsToClass{twoside,twocolumn}{article}
  64.298 +\fi
  64.299 +\LoadClass{article}
  64.300 +
  64.301 +\def \@unsupportedoption #1{%
  64.302 +  \ClassError{proc}{The standard '#1' option is not supported.}}
  64.303 +
  64.304 +% This can be used with the 'reprint' option to get the final folios.
  64.305 +
  64.306 +\def \setpagenumber #1{%
  64.307 +  \setcounter{page}{#1}}
  64.308 +
  64.309 +\AtEndDocument{\label{sigplanconf@finalpage}}
  64.310 +
  64.311 +%                       Utilities
  64.312 +%                       ---------
  64.313 +
  64.314 +
  64.315 +\newcommand{\setvspace}[2]{%
  64.316 +  #1 = #2
  64.317 +  \advance #1 by -1\parskip}
  64.318 +
  64.319 +%                       Document Parameters
  64.320 +%                       -------- ----------
  64.321 +
  64.322 +
  64.323 +% Page:
  64.324 +
  64.325 +\setlength{\hoffset}{-1in}
  64.326 +\setlength{\voffset}{-1in}
  64.327 +
  64.328 +\setlength{\topmargin}{1in}
  64.329 +\setlength{\headheight}{0pt}
  64.330 +\setlength{\headsep}{0pt}
  64.331 +
  64.332 +\if \@onecolumn
  64.333 +  \setlength{\evensidemargin}{.75in}
  64.334 +  \setlength{\oddsidemargin}{.75in}
  64.335 +\else
  64.336 +  \setlength{\evensidemargin}{.75in}
  64.337 +  \setlength{\oddsidemargin}{.75in}
  64.338 +\fi
  64.339 +
  64.340 +% Text area:
  64.341 +
  64.342 +\newdimen{\standardtextwidth}
  64.343 +\setlength{\standardtextwidth}{42pc}
  64.344 +
  64.345 +\if \@onecolumn
  64.346 +  \setlength{\textwidth}{40.5pc}
  64.347 +\else
  64.348 +  \setlength{\textwidth}{\standardtextwidth}
  64.349 +\fi
  64.350 +
  64.351 +\setlength{\topskip}{8pt}
  64.352 +\setlength{\columnsep}{2pc}
  64.353 +\setlength{\textheight}{54.5pc}
  64.354 +
  64.355 +% Running foot:
  64.356 +
  64.357 +\setlength{\footskip}{30pt}
  64.358 +
  64.359 +% Paragraphs:
  64.360 +
  64.361 +\if \@blockstyle
  64.362 +  \setlength{\parskip}{5pt plus .1pt minus .5pt}
  64.363 +  \setlength{\parindent}{0pt}
  64.364 +\else
  64.365 +  \setlength{\parskip}{0pt}
  64.366 +  \setlength{\parindent}{12pt}
  64.367 +\fi
  64.368 +
  64.369 +\setlength{\lineskip}{.5pt}
  64.370 +\setlength{\lineskiplimit}{\lineskip}
  64.371 +
  64.372 +\frenchspacing
  64.373 +\pretolerance = 400
  64.374 +\tolerance = \pretolerance
  64.375 +\setlength{\emergencystretch}{5pt}
  64.376 +\clubpenalty = 10000
  64.377 +\widowpenalty = 10000
  64.378 +\setlength{\hfuzz}{.5pt}
  64.379 +
  64.380 +% Standard vertical spaces:
  64.381 +
  64.382 +\newskip{\standardvspace}
  64.383 +\setvspace{\standardvspace}{5pt plus 1pt minus .5pt}
  64.384 +
  64.385 +% Margin paragraphs:
  64.386 +
  64.387 +\setlength{\marginparwidth}{36pt}
  64.388 +\setlength{\marginparsep}{2pt}
  64.389 +\setlength{\marginparpush}{8pt}
  64.390 +
  64.391 +
  64.392 +\setlength{\skip\footins}{8pt plus 3pt minus 1pt}
  64.393 +\setlength{\footnotesep}{9pt}
  64.394 +
  64.395 +\renewcommand{\footnoterule}{%
  64.396 +  \hrule width .5\columnwidth height .33pt depth 0pt}
  64.397 +
  64.398 +\renewcommand{\@makefntext}[1]{%
  64.399 +  \noindent \@makefnmark \hspace{1pt}#1}
  64.400 +
  64.401 +% Floats:
  64.402 +
  64.403 +\setcounter{topnumber}{4}
  64.404 +\setcounter{bottomnumber}{1}
  64.405 +\setcounter{totalnumber}{4}
  64.406 +
  64.407 +\renewcommand{\fps@figure}{tp}
  64.408 +\renewcommand{\fps@table}{tp}
  64.409 +\renewcommand{\topfraction}{0.90}
  64.410 +\renewcommand{\bottomfraction}{0.30}
  64.411 +\renewcommand{\textfraction}{0.10}
  64.412 +\renewcommand{\floatpagefraction}{0.75}
  64.413 +
  64.414 +\setcounter{dbltopnumber}{4}
  64.415 +
  64.416 +\renewcommand{\dbltopfraction}{\topfraction}
  64.417 +\renewcommand{\dblfloatpagefraction}{\floatpagefraction}
  64.418 +
  64.419 +\setlength{\floatsep}{18pt plus 4pt minus 2pt}
  64.420 +\setlength{\textfloatsep}{18pt plus 4pt minus 3pt}
  64.421 +\setlength{\intextsep}{10pt plus 4pt minus 3pt}
  64.422 +
  64.423 +\setlength{\dblfloatsep}{18pt plus 4pt minus 2pt}
  64.424 +\setlength{\dbltextfloatsep}{20pt plus 4pt minus 3pt}
  64.425 +
  64.426 +% Miscellaneous:
  64.427 +
  64.428 +\errorcontextlines = 5
  64.429 +
  64.430 +%                       Fonts
  64.431 +%                       -----
  64.432 +
  64.433 +
  64.434 +\if \@times
  64.435 +  \renewcommand{\rmdefault}{ptm}%
  64.436 +  \if \@mathtime
  64.437 +    \usepackage[mtbold,noTS1]{mathtime}%
  64.438 +  \else
  64.439 +%%%    \usepackage{mathptm}%
  64.440 +  \fi
  64.441 +\else
  64.442 +  \relax
  64.443 +\fi
  64.444 +
  64.445 +\if \@ninepoint
  64.446 +
  64.447 +\renewcommand{\normalsize}{%
  64.448 +  \@setfontsize{\normalsize}{9pt}{10pt}%
  64.449 +  \setlength{\abovedisplayskip}{5pt plus 1pt minus .5pt}%
  64.450 +  \setlength{\belowdisplayskip}{\abovedisplayskip}%
  64.451 +  \setlength{\abovedisplayshortskip}{3pt plus 1pt minus 2pt}%
  64.452 +  \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}}
  64.453 +
  64.454 +\renewcommand{\tiny}{\@setfontsize{\tiny}{5pt}{6pt}}
  64.455 +
  64.456 +\renewcommand{\scriptsize}{\@setfontsize{\scriptsize}{7pt}{8pt}}
  64.457 +
  64.458 +\renewcommand{\small}{%
  64.459 +  \@setfontsize{\small}{8pt}{9pt}%
  64.460 +  \setlength{\abovedisplayskip}{4pt plus 1pt minus 1pt}%
  64.461 +  \setlength{\belowdisplayskip}{\abovedisplayskip}%
  64.462 +  \setlength{\abovedisplayshortskip}{2pt plus 1pt}%
  64.463 +  \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}}
  64.464 +
  64.465 +\renewcommand{\footnotesize}{%
  64.466 +  \@setfontsize{\footnotesize}{8pt}{9pt}%
  64.467 +  \setlength{\abovedisplayskip}{4pt plus 1pt minus .5pt}%
  64.468 +  \setlength{\belowdisplayskip}{\abovedisplayskip}%
  64.469 +  \setlength{\abovedisplayshortskip}{2pt plus 1pt}%
  64.470 +  \setlength{\belowdisplayshortskip}{\abovedisplayshortskip}}
  64.471 +
  64.472 +\renewcommand{\large}{\@setfontsize{\large}{11pt}{13pt}}
  64.473 +
  64.474 +\renewcommand{\Large}{\@setfontsize{\Large}{14pt}{18pt}}
  64.475 +
  64.476 +\renewcommand{\LARGE}{\@setfontsize{\LARGE}{18pt}{20pt}}
  64.477 +
  64.478 +\renewcommand{\huge}{\@setfontsize{\huge}{20pt}{25pt}}
  64.479 +
  64.480 +\renewcommand{\Huge}{\@setfontsize{\Huge}{25pt}{30pt}}
  64.481 +
  64.482 +\else\if \@tenpoint
  64.483 +
  64.484 +\relax
  64.485 +
  64.486 +\else
  64.487 +
  64.488 +\relax
  64.489 +
  64.490 +\fi\fi
  64.491 +
  64.492 +%                       Abstract
  64.493 +%                       --------
  64.494 +
  64.495 +
  64.496 +\renewenvironment{abstract}{%
  64.497 +  \section*{Abstract}%
  64.498 +  \normalsize}{%
  64.499 +  }
  64.500 +
  64.501 +%                       Bibliography
  64.502 +%                       ------------
  64.503 +
  64.504 +
  64.505 +\renewenvironment{thebibliography}[1]
  64.506 +     {\section*{\refname
  64.507 +        \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}%
  64.508 +      \list{\@biblabel{\@arabic\c@enumiv}}%
  64.509 +           {\settowidth\labelwidth{\@biblabel{#1}}%
  64.510 +            \leftmargin\labelwidth
  64.511 +            \advance\leftmargin\labelsep
  64.512 +            \@openbib@code
  64.513 +            \usecounter{enumiv}%
  64.514 +            \let\p@enumiv\@empty
  64.515 +            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  64.516 +      \bibfont
  64.517 +      \clubpenalty4000
  64.518 +      \@clubpenalty \clubpenalty
  64.519 +      \widowpenalty4000%
  64.520 +      \sfcode`\.\@m}
  64.521 +     {\def\@noitemerr
  64.522 +       {\@latex@warning{Empty `thebibliography' environment}}%
  64.523 +      \endlist}
  64.524 +
  64.525 +\if \@natbib
  64.526 +
  64.527 +\if \@authoryear
  64.528 +  \typeout{Using natbib package with 'authoryear' citation style.}
  64.529 +  \usepackage[authoryear,square]{natbib}
  64.530 +  \bibpunct{[}{]}{;}{a}{}{,}    % Change citation separator to semicolon,
  64.531 +                                % eliminate comma between author and year.
  64.532 +  \let \cite = \citep
  64.533 +\else
  64.534 +  \typeout{Using natbib package with 'numbers' citation style.}
  64.535 +  \usepackage[numbers,sort&compress,square]{natbib}
  64.536 +\fi
  64.537 +\setlength{\bibsep}{3pt plus .5pt minus .25pt}
  64.538 +
  64.539 +\fi
  64.540 +
  64.541 +\def \bibfont {\small}
  64.542 +
  64.543 +%                       Categories
  64.544 +%                       ----------
  64.545 +
  64.546 +
  64.547 +\@setflag \@firstcategory = \@true
  64.548 +
  64.549 +\newcommand{\category}[3]{%
  64.550 +  \if \@firstcategory
  64.551 +    \paragraph*{Categories and Subject Descriptors}%
  64.552 +    \@setflag \@firstcategory = \@false
  64.553 +  \else
  64.554 +    \unskip ;\hspace{.75em}%
  64.555 +  \fi
  64.556 +  \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}}
  64.557 +
  64.558 +\def \@category #1#2#3[#4]{%
  64.559 +  {\let \and = \relax
  64.560 +   #1 [\textit{#2}]%
  64.561 +   \if \@emptyargp{#4}%
  64.562 +     \if \@notp{\@emptyargp{#3}}: #3\fi
  64.563 +   \else
  64.564 +     :\space
  64.565 +     \if \@notp{\@emptyargp{#3}}#3---\fi
  64.566 +     \textrm{#4}%
  64.567 +   \fi}}
  64.568 +
  64.569 +%                       Copyright Notice
  64.570 +%                       --------- ------
  64.571 +
  64.572 +
  64.573 +\def \ftype@copyrightbox {8}
  64.574 +\def \@toappear {}
  64.575 +\def \@permission {}
  64.576 +\def \@reprintprice {}
  64.577 +
  64.578 +\def \@copyrightspace {%
  64.579 +  \@float{copyrightbox}[b]%
  64.580 +  \vbox to 1in{%
  64.581 +    \vfill
  64.582 +    \parbox[b]{20pc}{%
  64.583 +      \scriptsize
  64.584 +      \if \@preprint
  64.585 +        [Copyright notice will appear here
  64.586 +         once 'preprint' option is removed.]\par
  64.587 +      \else
  64.588 +        \@toappear
  64.589 +      \fi
  64.590 +      \if \@reprint
  64.591 +        \noindent Reprinted from \@conferencename,
  64.592 +        \@proceedings,
  64.593 +        \@conferenceinfo,
  64.594 +        pp.~\number\thepage--\pageref{sigplanconf@finalpage}.\par
  64.595 +      \fi}}%
  64.596 +  \end@float}
  64.597 +
  64.598 +\long\def \toappear #1{%
  64.599 +  \def \@toappear {#1}}
  64.600 +
  64.601 +\toappear{%
  64.602 +  \noindent \@permission \par
  64.603 +  \vspace{2pt}
  64.604 +  \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par
  64.605 +  \noindent Copyright \copyright\ \@copyrightyear\ ACM \@copyrightdata
  64.606 +    \dots \@reprintprice\par}
  64.607 +
  64.608 +\newcommand{\permission}[1]{%
  64.609 +  \gdef \@permission {#1}}
  64.610 +
  64.611 +\permission{%
  64.612 +  Permission to make digital or hard copies of all or
  64.613 +  part of this work for personal or classroom use is granted without
  64.614 +  fee provided that copies are not made or distributed for profit or
  64.615 +  commercial advantage and that copies bear this notice and the full
  64.616 +  citation on the first page.  To copy otherwise, to republish, to
  64.617 +  post on servers or to redistribute to lists, requires prior specific
  64.618 +  permission and/or a fee.}
  64.619 +
  64.620 +% Here we have some alternate permission statements and copyright lines:
  64.621 +
  64.622 +\newcommand{\ACMCanadapermission}{%
  64.623 +  \permission{%
  64.624 +    Copyright \@copyrightyear\ Association for Computing Machinery.
  64.625 +    ACM acknowledges that
  64.626 +    this contribution was authored or co-authored by an affiliate of the
  64.627 +    National Research Council of Canada (NRC).
  64.628 +    As such, the Crown in Right of
  64.629 +    Canada retains an equal interest in the copyright, however granting
  64.630 +    nonexclusive, royalty-free right to publish or reproduce this article,
  64.631 +    or to allow others to do so, provided that clear attribution
  64.632 +    is also given to the authors and the NRC.}}
  64.633 +
  64.634 +\newcommand{\ACMUSpermission}{%
  64.635 +  \permission{%
  64.636 +    Copyright \@copyrightyear\ Association for
  64.637 +    Computing Machinery. ACM acknowledges that
  64.638 +    this contribution was authored or co-authored
  64.639 +    by a contractor or affiliate
  64.640 +    of the U.S. Government. As such, the Government retains a nonexclusive,
  64.641 +    royalty-free right to publish or reproduce this article,
  64.642 +    or to allow others to do so, for Government purposes only.}}
  64.643 +
  64.644 +\newcommand{\authorpermission}{%
  64.645 +  \permission{%
  64.646 +    Copyright is held by the author/owner(s).}
  64.647 +  \toappear{%
  64.648 +    \noindent \@permission \par
  64.649 +    \vspace{2pt}
  64.650 +    \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par
  64.651 +    ACM \@copyrightdata.}}
  64.652 +
  64.653 +\newcommand{\Sunpermission}{%
  64.654 +  \permission{%
  64.655 +    Copyright is held by Sun Microsystems, Inc.}%
  64.656 +  \toappear{%
  64.657 +    \noindent \@permission \par
  64.658 +    \vspace{2pt}
  64.659 +    \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par
  64.660 +    ACM \@copyrightdata.}}
  64.661 +
  64.662 +\newcommand{\USpublicpermission}{%
  64.663 +  \permission{%
  64.664 +    This paper is authored by an employee(s) of the United States
  64.665 +    Government and is in the public domain.}%
  64.666 +  \toappear{%
  64.667 +    \noindent \@permission \par
  64.668 +    \vspace{2pt}
  64.669 +    \noindent \textsl{\@conferencename}\quad \@conferenceinfo \par
  64.670 +    ACM \@copyrightdata.}}
  64.671 +
  64.672 +\newcommand{\reprintprice}[1]{%
  64.673 +  \gdef \@reprintprice {#1}}
  64.674 +
  64.675 +\reprintprice{\$10.00}
  64.676 +
  64.677 +\newcommand{\authorversion}[4]{%
  64.678 +  \permission{%
  64.679 +  Copyright \copyright\ ACM, #1. This is the author's version of the work.
  64.680 +  It is posted here by permission of ACM for your personal use.
  64.681 +  Not for redistribution. The definitive version was published in
  64.682 +  #2, #3, http://doi.acm.org/10.1145/#4.}}
  64.683 +
  64.684 +%                       Enunciations
  64.685 +%                       ------------
  64.686 +
  64.687 +
  64.688 +\def \@begintheorem #1#2{%                      {name}{number}
  64.689 +  \trivlist
  64.690 +  \item[\hskip \labelsep \textsc{#1 #2.}]%
  64.691 +  \itshape\selectfont
  64.692 +  \ignorespaces}
  64.693 +
  64.694 +\def \@opargbegintheorem #1#2#3{%               {name}{number}{title}
  64.695 +  \trivlist
  64.696 +  \item[%
  64.697 +    \hskip\labelsep \textsc{#1\ #2}%
  64.698 +    \if \@notp{\@emptyargp{#3}}\nut (#3).\fi]%
  64.699 +  \itshape\selectfont
  64.700 +  \ignorespaces}
  64.701 +
  64.702 +%                       Figures
  64.703 +%                       -------
  64.704 +
  64.705 +
  64.706 +\@setflag \@caprule = \@true
  64.707 +
  64.708 +\long\def \@makecaption #1#2{%
  64.709 +  \addvspace{4pt}
  64.710 +  \if \@caprule
  64.711 +    \hrule width \hsize height .33pt
  64.712 +    \vspace{4pt}
  64.713 +  \fi
  64.714 +  \setbox \@tempboxa = \hbox{\@setfigurenumber{#1.}\nut #2}%
  64.715 +  \if \@dimgtrp{\wd\@tempboxa}{\hsize}%
  64.716 +    \noindent \@setfigurenumber{#1.}\nut #2\par
  64.717 +  \else
  64.718 +    \centerline{\box\@tempboxa}%
  64.719 +  \fi}
  64.720 +
  64.721 +\newcommand{\nocaptionrule}{%
  64.722 +  \@setflag \@caprule = \@false}
  64.723 +
  64.724 +\def \@setfigurenumber #1{%
  64.725 +  {\rmfamily \bfseries \selectfont #1}}
  64.726 +
  64.727 +%                       Hierarchy
  64.728 +%                       ---------
  64.729 +
  64.730 +
  64.731 +\setcounter{secnumdepth}{\@numheaddepth}
  64.732 +
  64.733 +\newskip{\@sectionaboveskip}
  64.734 +\setvspace{\@sectionaboveskip}{10pt plus 3pt minus 2pt}
  64.735 +
  64.736 +\newskip{\@sectionbelowskip}
  64.737 +\if \@blockstyle
  64.738 +  \setlength{\@sectionbelowskip}{0.1pt}%
  64.739 +\else
  64.740 +  \setlength{\@sectionbelowskip}{4pt}%
  64.741 +\fi
  64.742 +
  64.743 +\renewcommand{\section}{%
  64.744 +  \@startsection
  64.745 +    {section}%
  64.746 +    {1}%
  64.747 +    {0pt}%
  64.748 +    {-\@sectionaboveskip}%
  64.749 +    {\@sectionbelowskip}%
  64.750 +    {\large \bfseries \raggedright}}
  64.751 +
  64.752 +\newskip{\@subsectionaboveskip}
  64.753 +\setvspace{\@subsectionaboveskip}{8pt plus 2pt minus 2pt}
  64.754 +
  64.755 +\newskip{\@subsectionbelowskip}
  64.756 +\if \@blockstyle
  64.757 +  \setlength{\@subsectionbelowskip}{0.1pt}%
  64.758 +\else
  64.759 +  \setlength{\@subsectionbelowskip}{4pt}%
  64.760 +\fi
  64.761 +
  64.762 +\renewcommand{\subsection}{%
  64.763 +  \@startsection%
  64.764 +    {subsection}%
  64.765 +    {2}%
  64.766 +    {0pt}%
  64.767 +    {-\@subsectionaboveskip}%
  64.768 +    {\@subsectionbelowskip}%
  64.769 +    {\normalsize \bfseries \raggedright}}
  64.770 +
  64.771 +\renewcommand{\subsubsection}{%
  64.772 +  \@startsection%
  64.773 +    {subsubsection}%
  64.774 +    {3}%
  64.775 +    {0pt}%
  64.776 +    {-\@subsectionaboveskip}
  64.777 +    {\@subsectionbelowskip}%
  64.778 +    {\normalsize \bfseries \raggedright}}
  64.779 +
  64.780 +\newskip{\@paragraphaboveskip}
  64.781 +\setvspace{\@paragraphaboveskip}{6pt plus 2pt minus 2pt}
  64.782 +
  64.783 +\renewcommand{\paragraph}{%
  64.784 +  \@startsection%
  64.785 +    {paragraph}%
  64.786 +    {4}%
  64.787 +    {0pt}%
  64.788 +    {\@paragraphaboveskip}
  64.789 +    {-1em}%
  64.790 +    {\normalsize \bfseries \if \@times \itshape \fi}}
  64.791 +
  64.792 +\renewcommand{\subparagraph}{%
  64.793 +  \@startsection%
  64.794 +    {subparagraph}%
  64.795 +    {4}%
  64.796 +    {0pt}%
  64.797 +    {\@paragraphaboveskip}
  64.798 +    {-1em}%
  64.799 +    {\normalsize \itshape}}
  64.800 +
  64.801 +% Standard headings:
  64.802 +
  64.803 +\newcommand{\acks}{\section*{Acknowledgments}}
  64.804 +
  64.805 +\newcommand{\keywords}{\paragraph*{Keywords}}
  64.806 +
  64.807 +\newcommand{\terms}{\paragraph*{General Terms}}
  64.808 +
  64.809 +%                       Identification
  64.810 +%                       --------------
  64.811 +
  64.812 +
  64.813 +\def \@conferencename {}
  64.814 +\def \@conferenceinfo {}
  64.815 +\def \@copyrightyear {}
  64.816 +\def \@copyrightdata {[to be supplied]}
  64.817 +\def \@proceedings {[Unknown Proceedings]}
  64.818 +
  64.819 +
  64.820 +\newcommand{\conferenceinfo}[2]{%
  64.821 +  \gdef \@conferencename {#1}%
  64.822 +  \gdef \@conferenceinfo {#2}}
  64.823 +
  64.824 +\newcommand{\copyrightyear}[1]{%
  64.825 +  \gdef \@copyrightyear {#1}}
  64.826 +
  64.827 +\let \CopyrightYear = \copyrightyear
  64.828 +
  64.829 +\newcommand{\copyrightdata}[1]{%
  64.830 +  \gdef \@copyrightdata {#1}}
  64.831 +
  64.832 +\let \crdata = \copyrightdata
  64.833 +
  64.834 +\newcommand{\proceedings}[1]{%
  64.835 +  \gdef \@proceedings {#1}}
  64.836 +
  64.837 +%                       Lists
  64.838 +%                       -----
  64.839 +
  64.840 +
  64.841 +\setlength{\leftmargini}{13pt}
  64.842 +\setlength\leftmarginii{13pt}
  64.843 +\setlength\leftmarginiii{13pt}
  64.844 +\setlength\leftmarginiv{13pt}
  64.845 +\setlength{\labelsep}{3.5pt}
  64.846 +
  64.847 +\setlength{\topsep}{\standardvspace}
  64.848 +\if \@blockstyle
  64.849 +  \setlength{\itemsep}{1pt}
  64.850 +  \setlength{\parsep}{3pt}
  64.851 +\else
  64.852 +  \setlength{\itemsep}{1pt}
  64.853 +  \setlength{\parsep}{3pt}
  64.854 +\fi
  64.855 +
  64.856 +\renewcommand{\labelitemi}{{\small \centeroncapheight{\textbullet}}}
  64.857 +\renewcommand{\labelitemii}{\centeroncapheight{\rule{2.5pt}{2.5pt}}}
  64.858 +\renewcommand{\labelitemiii}{$-$}
  64.859 +\renewcommand{\labelitemiv}{{\Large \textperiodcentered}}
  64.860 +
  64.861 +\renewcommand{\@listi}{%
  64.862 +  \leftmargin = \leftmargini
  64.863 +  \listparindent = 0pt}
  64.864 +%%%  \itemsep = 1pt
  64.865 +%%%  \parsep = 3pt}
  64.866 +%%%  \listparindent = \parindent}
  64.867 +
  64.868 +\let \@listI = \@listi
  64.869 +
  64.870 +\renewcommand{\@listii}{%
  64.871 +  \leftmargin = \leftmarginii
  64.872 +  \topsep = 1pt
  64.873 +  \labelwidth = \leftmarginii
  64.874 +  \advance \labelwidth by -\labelsep
  64.875 +  \listparindent = \parindent}
  64.876 +
  64.877 +\renewcommand{\@listiii}{%
  64.878 +  \leftmargin = \leftmarginiii
  64.879 +  \labelwidth = \leftmarginiii
  64.880 +  \advance \labelwidth by -\labelsep
  64.881 +  \listparindent = \parindent}
  64.882 +
  64.883 +\renewcommand{\@listiv}{%
  64.884 +  \leftmargin = \leftmarginiv
  64.885 +  \labelwidth = \leftmarginiv
  64.886 +  \advance \labelwidth by -\labelsep
  64.887 +  \listparindent = \parindent}
  64.888 +
  64.889 +%                       Mathematics
  64.890 +%                       -----------
  64.891 +
  64.892 +
  64.893 +\def \theequation {\arabic{equation}}
  64.894 +
  64.895 +%                       Miscellaneous
  64.896 +%                       -------------
  64.897 +
  64.898 +
  64.899 +\newcommand{\balancecolumns}{%
  64.900 +  \vfill\eject
  64.901 +  \global\@colht = \textheight
  64.902 +  \global\ht\@cclv = \textheight}
  64.903 +
  64.904 +\newcommand{\nut}{\hspace{.5em}}
  64.905 +
  64.906 +\newcommand{\softraggedright}{%
  64.907 +  \let \\ = \@centercr
  64.908 +  \leftskip = 0pt
  64.909 +  \rightskip = 0pt plus 10pt}
  64.910 +
  64.911 +%                       Program Code
  64.912 +%                       ------- ----
  64.913 +
  64.914 +
  64.915 +\newcommand{\mono}[1]{%
  64.916 +  {\@tempdima = \fontdimen2\font
  64.917 +   \texttt{\spaceskip = 1.1\@tempdima #1}}}
  64.918 +
  64.919 +%                       Running Heads and Feet
  64.920 +%                       ------- ----- --- ----
  64.921 +
  64.922 +
  64.923 +\def \@preprintfooter {}
  64.924 +
  64.925 +\newcommand{\preprintfooter}[1]{%
  64.926 +  \gdef \@preprintfooter {#1}}
  64.927 +
  64.928 +\if \@preprint
  64.929 +
  64.930 +\def \ps@plain {%
  64.931 +  \let \@mkboth = \@gobbletwo
  64.932 +  \let \@evenhead = \@empty
  64.933 +  \def \@evenfoot {\scriptsize
  64.934 +                   \rlap{\textit{\@preprintfooter}}\hfil
  64.935 +                   \thepage \hfil
  64.936 +                   \llap{\textit{\@formatyear}}}%
  64.937 +  \let \@oddhead = \@empty
  64.938 +  \let \@oddfoot = \@evenfoot}
  64.939 +
  64.940 +\else\if \@reprint
  64.941 +
  64.942 +\def \ps@plain {%
  64.943 +  \let \@mkboth = \@gobbletwo
  64.944 +  \let \@evenhead = \@empty
  64.945 +  \def \@evenfoot {\scriptsize \hfil \thepage \hfil}%
  64.946 +  \let \@oddhead = \@empty
  64.947 +  \let \@oddfoot = \@evenfoot}
  64.948 +
  64.949 +\else
  64.950 +
  64.951 +\let \ps@plain = \ps@empty
  64.952 +\let \ps@headings = \ps@empty
  64.953 +\let \ps@myheadings = \ps@empty
  64.954 +
  64.955 +\fi\fi
  64.956 +
  64.957 +\def \@formatyear {%
  64.958 +  \number\year/\number\month/\number\day}
  64.959 +
  64.960 +%                       Special Characters
  64.961 +%                       ------- ----------
  64.962 +
  64.963 +
  64.964 +\DeclareRobustCommand{\euro}{%
  64.965 +  \protect{\rlap{=}}{\sf \kern .1em C}}
  64.966 +
  64.967 +%                       Title Page
  64.968 +%                       ----- ----
  64.969 +
  64.970 +
  64.971 +\@setflag \@addauthorsdone = \@false
  64.972 +
  64.973 +\def \@titletext {\@latex@error{No title was provided}{}}
  64.974 +\def \@subtitletext {}
  64.975 +
  64.976 +\newcount{\@authorcount}
  64.977 +
  64.978 +\newcount{\@titlenotecount}
  64.979 +\newtoks{\@titlenotetext}
  64.980 +
  64.981 +\def \@titlebanner {}
  64.982 +
  64.983 +\renewcommand{\title}[1]{%
  64.984 +  \gdef \@titletext {#1}}
  64.985 +
  64.986 +\newcommand{\subtitle}[1]{%
  64.987 +  \gdef \@subtitletext {#1}}
  64.988 +
  64.989 +\newcommand{\authorinfo}[3]{%           {names}{affiliation}{email/URL}
  64.990 +  \global\@increment \@authorcount
  64.991 +  \@withname\gdef {\@authorname\romannumeral\@authorcount}{#1}%
  64.992 +  \@withname\gdef {\@authoraffil\romannumeral\@authorcount}{#2}%
  64.993 +  \@withname\gdef {\@authoremail\romannumeral\@authorcount}{#3}}
  64.994 +
  64.995 +\renewcommand{\author}[1]{%
  64.996 +  \@latex@error{The \string\author\space command is obsolete;
  64.997 +                use \string\authorinfo}{}}
  64.998 +
  64.999 +\newcommand{\titlebanner}[1]{%
 64.1000 +  \gdef \@titlebanner {#1}}
 64.1001 +
 64.1002 +\renewcommand{\maketitle}{%
 64.1003 +  \pagestyle{plain}%
 64.1004 +  \if \@onecolumn
 64.1005 +    {\hsize = \standardtextwidth
 64.1006 +     \@maketitle}%
 64.1007 +  \else
 64.1008 +    \twocolumn[\@maketitle]%
 64.1009 +  \fi
 64.1010 +  \@placetitlenotes
 64.1011 +  \if \@copyrightwanted \@copyrightspace \fi}
 64.1012 +
 64.1013 +\def \@maketitle {%
 64.1014 +  \begin{center}
 64.1015 +  \@settitlebanner
 64.1016 +  \let \thanks = \titlenote
 64.1017 +  {\leftskip = 0pt plus 0.25\linewidth
 64.1018 +   \rightskip = 0pt plus 0.25 \linewidth
 64.1019 +   \parfillskip = 0pt
 64.1020 +   \spaceskip = .7em
 64.1021 +   \noindent \LARGE \bfseries \@titletext \par}
 64.1022 +  \vskip 6pt
 64.1023 +  \noindent \Large \@subtitletext \par
 64.1024 +  \vskip 12pt
 64.1025 +  \ifcase \@authorcount
 64.1026 +    \@latex@error{No authors were specified for this paper}{}\or
 64.1027 +    \@titleauthors{i}{}{}\or
 64.1028 +    \@titleauthors{i}{ii}{}\or
 64.1029 +    \@titleauthors{i}{ii}{iii}\or
 64.1030 +    \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{}{}\or
 64.1031 +    \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{}\or
 64.1032 +    \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}\or
 64.1033 +    \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}%
 64.1034 +                  \@titleauthors{vii}{}{}\or
 64.1035 +    \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}%
 64.1036 +                  \@titleauthors{vii}{viii}{}\or
 64.1037 +    \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}%
 64.1038 +                  \@titleauthors{vii}{viii}{ix}\or
 64.1039 +    \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}%
 64.1040 +                  \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{}{}\or
 64.1041 +    \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}%
 64.1042 +                  \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{xi}{}\or
 64.1043 +    \@titleauthors{i}{ii}{iii}\@titleauthors{iv}{v}{vi}%
 64.1044 +                  \@titleauthors{vii}{viii}{ix}\@titleauthors{x}{xi}{xii}%
 64.1045 +  \else
 64.1046 +    \@latex@error{Cannot handle more than 12 authors}{}%
 64.1047 +  \fi
 64.1048 +  \vspace{1.75pc}
 64.1049 +  \end{center}}
 64.1050 +
 64.1051 +\def \@settitlebanner {%
 64.1052 +  \if \@andp{\@preprint}{\@notp{\@emptydefp{\@titlebanner}}}%
 64.1053 +    \vbox to 0pt{%
 64.1054 +      \vskip -32pt
 64.1055 +      \noindent \textbf{\@titlebanner}\par
 64.1056 +      \vss}%
 64.1057 +    \nointerlineskip
 64.1058 +  \fi}
 64.1059 +
 64.1060 +\def \@titleauthors #1#2#3{%
 64.1061 +  \if \@andp{\@emptyargp{#2}}{\@emptyargp{#3}}%
 64.1062 +    \noindent \@setauthor{40pc}{#1}{\@false}\par
 64.1063 +  \else\if \@emptyargp{#3}%
 64.1064 +    \noindent \@setauthor{17pc}{#1}{\@false}\hspace{3pc}%
 64.1065 +              \@setauthor{17pc}{#2}{\@false}\par
 64.1066 +  \else
 64.1067 +    \noindent \@setauthor{12.5pc}{#1}{\@false}\hspace{2pc}%
 64.1068 +              \@setauthor{12.5pc}{#2}{\@false}\hspace{2pc}%
 64.1069 +              \@setauthor{12.5pc}{#3}{\@true}\par
 64.1070 +    \relax
 64.1071 +  \fi\fi
 64.1072 +  \vspace{20pt}}
 64.1073 +
 64.1074 +\def \@setauthor #1#2#3{%                       {width}{text}{unused}
 64.1075 +  \vtop{%
 64.1076 +    \def \and {%
 64.1077 +      \hspace{16pt}}
 64.1078 +    \hsize = #1
 64.1079 +    \normalfont
 64.1080 +    \centering
 64.1081 +    \large \@name{\@authorname#2}\par
 64.1082 +    \vspace{5pt}
 64.1083 +    \normalsize \@name{\@authoraffil#2}\par
 64.1084 +    \vspace{2pt}
 64.1085 +    \textsf{\@name{\@authoremail#2}}\par}}
 64.1086 +
 64.1087 +\def \@maybetitlenote #1{%
 64.1088 +  \if \@andp{#1}{\@gtrp{\@authorcount}{3}}%
 64.1089 +    \titlenote{See page~\pageref{@addauthors} for additional authors.}%
 64.1090 +  \fi}
 64.1091 +
 64.1092 +\newtoks{\@fnmark}
 64.1093 +
 64.1094 +\newcommand{\titlenote}[1]{%
 64.1095 +  \global\@increment \@titlenotecount
 64.1096 +  \ifcase \@titlenotecount \relax \or
 64.1097 +    \@fnmark = {\ast}\or
 64.1098 +    \@fnmark = {\dagger}\or
 64.1099 +    \@fnmark = {\ddagger}\or
 64.1100 +    \@fnmark = {\S}\or
 64.1101 +    \@fnmark = {\P}\or
 64.1102 +    \@fnmark = {\ast\ast}%
 64.1103 +  \fi
 64.1104 +  \,$^{\the\@fnmark}$%
 64.1105 +  \edef \reserved@a {\noexpand\@appendtotext{%
 64.1106 +                       \noexpand\@titlefootnote{\the\@fnmark}}}%
 64.1107 +  \reserved@a{#1}}
 64.1108 +
 64.1109 +\def \@appendtotext #1#2{%
 64.1110 +  \global\@titlenotetext = \expandafter{\the\@titlenotetext #1{#2}}}
 64.1111 +
 64.1112 +\newcount{\@authori}
 64.1113 +
 64.1114 +\iffalse
 64.1115 +\def \additionalauthors {%
 64.1116 +  \if \@gtrp{\@authorcount}{3}%
 64.1117 +    \section{Additional Authors}%
 64.1118 +    \label{@addauthors}%
 64.1119 +    \noindent
 64.1120 +    \@authori = 4
 64.1121 +    {\let \\ = ,%
 64.1122 +     \loop 
 64.1123 +       \textbf{\@name{\@authorname\romannumeral\@authori}},
 64.1124 +       \@name{\@authoraffil\romannumeral\@authori},
 64.1125 +       email: \@name{\@authoremail\romannumeral\@authori}.%
 64.1126 +       \@increment \@authori
 64.1127 +     \if \@notp{\@gtrp{\@authori}{\@authorcount}} \repeat}%
 64.1128 +    \par
 64.1129 +  \fi
 64.1130 +  \global\@setflag \@addauthorsdone = \@true}
 64.1131 +\fi
 64.1132 +
 64.1133 +\let \addauthorsection = \additionalauthors
 64.1134 +
 64.1135 +\def \@placetitlenotes {
 64.1136 +  \the\@titlenotetext}
 64.1137 +
 64.1138 +%                       Utilities
 64.1139 +%                       ---------
 64.1140 +
 64.1141 +
 64.1142 +\newcommand{\centeroncapheight}[1]{%
 64.1143 +  {\setbox\@tempboxa = \hbox{#1}%
 64.1144 +   \@measurecapheight{\@tempdima}%         % Calculate ht(CAP) - ht(text)
 64.1145 +   \advance \@tempdima by -\ht\@tempboxa   %           ------------------
 64.1146 +   \divide \@tempdima by 2                 %                   2
 64.1147 +   \raise \@tempdima \box\@tempboxa}}
 64.1148 +
 64.1149 +\newbox{\@measbox}
 64.1150 +
 64.1151 +\def \@measurecapheight #1{%                            {\dimen}
 64.1152 +  \setbox\@measbox = \hbox{ABCDEFGHIJKLMNOPQRSTUVWXYZ}%
 64.1153 +  #1 = \ht\@measbox}
 64.1154 +
 64.1155 +\long\def \@titlefootnote #1#2{%
 64.1156 +  \insert\footins{%
 64.1157 +    \reset@font\footnotesize
 64.1158 +    \interlinepenalty\interfootnotelinepenalty
 64.1159 +    \splittopskip\footnotesep
 64.1160 +    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
 64.1161 +    \hsize\columnwidth \@parboxrestore
 64.1162 +%%%    \protected@edef\@currentlabel{%
 64.1163 +%%%       \csname p@footnote\endcsname\@thefnmark}%
 64.1164 +    \color@begingroup
 64.1165 +      \def \@makefnmark {$^{#1}$}%
 64.1166 +      \@makefntext{%
 64.1167 +        \rule\z@\footnotesep\ignorespaces#2\@finalstrut\strutbox}%
 64.1168 +    \color@endgroup}}
 64.1169 +
 64.1170 +%                       LaTeX Modifications
 64.1171 +%                       ----- -------------
 64.1172 +
 64.1173 +\def \@seccntformat #1{%
 64.1174 +  \@name{\the#1}%
 64.1175 +  \@expandaftertwice\@seccntformata \csname the#1\endcsname.\@mark
 64.1176 +  \quad}
 64.1177 +
 64.1178 +\def \@seccntformata #1.#2\@mark{%
 64.1179 +  \if \@emptyargp{#2}.\fi}
 64.1180 +
 64.1181 +%                       Revision History
 64.1182 +%                       -------- -------
 64.1183 +
 64.1184 +
 64.1185 +%  Date         Person  Ver.    Change
 64.1186 +%  ----         ------  ----    ------
 64.1187 +
 64.1188 +%  2004.09.12   PCA     0.1--5  Preliminary development.
 64.1189 +
 64.1190 +%  2004.11.18   PCA     0.5     Start beta testing.
 64.1191 +
 64.1192 +%  2004.11.19   PCA     0.6     Obsolete \author and replace with
 64.1193 +%                               \authorinfo.
 64.1194 +%                               Add 'nocopyrightspace' option.
 64.1195 +%                               Compress article opener spacing.
 64.1196 +%                               Add 'mathtime' option.
 64.1197 +%                               Increase text height by 6 points.
 64.1198 +
 64.1199 +%  2004.11.28   PCA     0.7     Add 'cm/computermodern' options.
 64.1200 +%                               Change default to Times text.
 64.1201 +
 64.1202 +%  2004.12.14   PCA     0.8     Remove use of mathptm.sty; it cannot
 64.1203 +%                               coexist with latexsym or amssymb.
 64.1204 +
 64.1205 +%  2005.01.20   PCA     0.9     Rename class file to sigplanconf.cls.
 64.1206 +
 64.1207 +%  2005.03.05   PCA     0.91    Change default copyright data.
 64.1208 +
 64.1209 +%  2005.03.06   PCA     0.92    Add at-signs to some macro names.
 64.1210 +
 64.1211 +%  2005.03.07   PCA     0.93    The 'onecolumn' option defaults to '11pt',
 64.1212 +%                               and it uses the full type width.
 64.1213 +
 64.1214 +%  2005.03.15   PCA     0.94    Add at-signs to more macro names.
 64.1215 +%                               Allow margin paragraphs during review.
 64.1216 +
 64.1217 +%  2005.03.22   PCA     0.95    Implement \euro.
 64.1218 +%                               Remove proof and newdef environments.
 64.1219 +
 64.1220 +%  2005.05.06   PCA     1.0     Eliminate 'onecolumn' option.
 64.1221 +%                               Change footer to small italic and eliminate
 64.1222 +%                               left portion if no \preprintfooter.
 64.1223 +%                               Eliminate copyright notice if preprint.
 64.1224 +%                               Clean up and shrink copyright box.
 64.1225 +
 64.1226 +%  2005.05.30   PCA     1.1     Add alternate permission statements.
 64.1227 +
 64.1228 +%  2005.06.29   PCA     1.1     Publish final first edition of guide.
 64.1229 +
 64.1230 +%  2005.07.14   PCA     1.2     Add \subparagraph.
 64.1231 +%                               Use block paragraphs in lists, and adjust
 64.1232 +%                               spacing between items and paragraphs.
 64.1233 +
 64.1234 +%  2006.06.22   PCA     1.3     Add 'reprint' option and associated
 64.1235 +%                               commands.
 64.1236 +
 64.1237 +%  2006.08.24   PCA     1.4     Fix bug in \maketitle case command.
 64.1238 +
 64.1239 +%  2007.03.13   PCA     1.5     The title banner only displays with the
 64.1240 +%                               'preprint' option.
 64.1241 +
 64.1242 +%  2007.06.06   PCA     1.6     Use \bibfont in \thebibliography.
 64.1243 +%                               Add 'natbib' option to load and configure
 64.1244 +%                                 the natbib package.
 64.1245 +
 64.1246 +%  2007.11.20   PCA     1.7     Balance line lengths in centered article
 64.1247 +%                                 title (thanks to Norman Ramsey).
 64.1248 +
 64.1249 +%  2009.01.26   PCA     1.8     Change natbib \bibpunct values.
 64.1250 +
 64.1251 +%  2009.03.24   PCA     1.9     Change natbib to use the 'numbers' option.
 64.1252 +%                               Change templates to use 'natbib' option.
 64.1253 +
 64.1254 +%  2009.09.01   PCA     2.0     Add \reprintprice command (suggested by
 64.1255 +%                                 Stephen Chong).
 64.1256 +
 64.1257 +%  2009.09.08   PCA     2.1     Make 'natbib' the default; add 'nonatbib'.
 64.1258 +%               SB              Add 'authoryear' and 'numbers' (default) to
 64.1259 +%                               control citation style when using natbib.
 64.1260 +%                               Add \bibpunct to change punctuation for
 64.1261 +%                               'authoryear' style.
 64.1262 +
 64.1263 +%  2009.09.21   PCA     2.2     Add \softraggedright to the thebibliography
 64.1264 +%                               environment. Also add to template so it will
 64.1265 +%                               happen with natbib.
 64.1266 +
 64.1267 +%  2009.09.30   PCA     2.3     Remove \softraggedright from thebibliography.  
 64.1268 +%                               Just include in the template.
 64.1269 +
 64.1270 +%  2010.05.24   PCA     2.4     Obfuscate author's email address.
 64.1271 +
 64.1272 +%  2011.11.08   PCA     2.5     Add copyright notice to this file.
 64.1273 +%                               Remove 'sort' option from natbib when using
 64.1274 +%                                 'authoryear' style.
 64.1275 +%                               Add the \authorversion command.
 64.1276 +
    65.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    65.2 +++ b/0__Papers/PRT/PRT__formal_def/latex/url.sty	Sat Aug 03 19:24:22 2013 -0700
    65.3 @@ -0,0 +1,325 @@
    65.4 +% url.sty  ver 1.4    02-Mar-1999   Donald Arseneau   asnd@triumf.ca
    65.5 +% Copyright 1996-1999 Donald Arseneau,  Vancouver, Canada.
    65.6 +% This program can be used, distributed, and modified under the terms
    65.7 +% of the LaTeX Project Public License.
    65.8 +%
    65.9 +% A form of \verb that allows linebreaks at certain characters or
   65.10 +% combinations of characters, accepts reconfiguration, and can usually
   65.11 +% be used in the argument to another command.  It is intended for email
   65.12 +% addresses, hypertext links, directories/paths, etc., which normally
   65.13 +% have no spaces.  The font may be selected using the \urlstyle command,
   65.14 +% and new url-like commands can be defined using \urldef.
   65.15 +%
   65.16 +% Usage:    Conditions:
   65.17 +% \url{ }   If the argument contains any "%", "#", or "^^", or ends with
   65.18 +%           "\", it can't be used in the argument to another command.
   65.19 +%           The argument must not contain unbalanced braces.
   65.20 +% \url|  |  ...where "|" is any character not used in the argument and not
   65.21 +%           "{" or a space.  The same restrictions as above except that the
   65.22 +%           argument may contain unbalanced braces.
   65.23 +% \xyz      for "\xyz" a defined-url;  this can be used anywhere, no matter
   65.24 +%           what characters it contains.
   65.25 +%
   65.26 +% See further instructions after "\endinput"
   65.27 +%
   65.28 +\def\Url@ttdo{% style assignments for tt fonts or T1 encoding
   65.29 +\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]%
   65.30 + \do\)\do\,\do\?\do\'\do\+\do\=}%
   65.31 +\def\UrlBigBreaks{\do\:\do@url@hyp}%
   65.32 +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary)
   65.33 +\def\UrlSpecials{\do\ {\ }}%
   65.34 +\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually
   65.35 +}
   65.36 +\def\Url@do{% style assignments for OT1 fonts except tt
   65.37 +\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}%
   65.38 +\def\UrlBigBreaks{\do\:\do@url@hyp}%
   65.39 +\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character
   65.40 +\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_%
   65.41 + \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do
   65.42 + \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do
   65.43 + \ {\ }}%
   65.44 +\def\UrlOrds{\do\'\do\"\do\-}%
   65.45 +}
   65.46 +\def\url@ttstyle{%
   65.47 +\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo
   65.48 +}
   65.49 +\def\url@rmstyle{%
   65.50 +\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do
   65.51 +}
   65.52 +\def\url@sfstyle{%
   65.53 +\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do
   65.54 +}
   65.55 +\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else
   65.56 +  \url@rmstyle \fi \def\UrlFont{}}
   65.57 +
   65.58 +\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{}
   65.59 +\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{}
   65.60 +
   65.61 +\def\Url{%
   65.62 + \begingroup \let\url@moving\relax\relax \endgroup
   65.63 + \ifmmode\@nomatherr$\fi
   65.64 + \UrlFont $\fam\z@ \textfont\z@\font
   65.65 + \let\do\@makeother \dospecials % verbatim catcodes
   65.66 + \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces
   65.67 + \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip
   65.68 + \@tempcnta\fam\multiply\@tempcnta\@cclvi
   65.69 + \let\do\set@mathcode \UrlOrds % ordinary characters that were special
   65.70 + \advance\@tempcnta 8192 \UrlBreaks % bin
   65.71 + \advance\@tempcnta 4096 \UrlBigBreaks % rel
   65.72 + \advance\@tempcnta 4096 \UrlNoBreaks % open
   65.73 + \let\do\set@mathact \UrlSpecials % active
   65.74 + \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures
   65.75 + \@ifnextchar\bgroup\Url@z\Url@y}
   65.76 +
   65.77 +\def\Url@y#1{\catcode`{11 \catcode`}11
   65.78 +  \def\@tempa##1#1{\Url@z{##1}}\@tempa}
   65.79 +\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook
   65.80 +  \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup}
   65.81 +\def\Url@Hook{\UrlLeft}
   65.82 +\let\UrlRight\@empty
   65.83 +\let\UrlLeft\@empty
   65.84 +
   65.85 +\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@}
   65.86 +\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}}
   65.87 +\def\set@mathnolig#1{\ifnum\mathcode`#1<32768
   65.88 +   \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}%
   65.89 +   \mathcode`#132768 \fi}
   65.90 +
   65.91 +\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup
   65.92 +  \def\Url@z{\Url@def{#1}{#2}}#2}
   65.93 +\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax
   65.94 +  \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup
   65.95 +    \def#1{#2{#3}}}
   65.96 +\else
   65.97 +  \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup
   65.98 +    \DeclareRobustCommand{#1}{#2{#3}}}
   65.99 +\fi
  65.100 +
  65.101 +\def\urlstyle#1{\csname url@#1style\endcsname}
  65.102 +
  65.103 +% Sample (and default) configuration:
  65.104 +%
  65.105 +\newcommand\url{\begingroup \Url}
  65.106 +%
  65.107 +% picTeX defines \path, so declare it optionally:
  65.108 +\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{}
  65.109 +%
  65.110 +% too many styles define \email like \address, so I will not define it.
  65.111 +% \newcommand\email{\begingroup \urlstyle{rm}\Url}
  65.112 +
  65.113 +% Process LaTeX \package options
  65.114 +%
  65.115 +\urlstyle{tt}
  65.116 +\let\Url@sppen\@M
  65.117 +\def\do@url@hyp{}% by default, no breaks after hyphens
  65.118 +
  65.119 +\@ifundefined{ProvidesPackage}{}{
  65.120 +  \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space
  65.121 +       Verb mode for urls, email addresses, and file names]
  65.122 +  \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens
  65.123 +  \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later
  65.124 +  \DeclareOption{spaces}{\let\Url@sppen\relpenalty}
  65.125 +  \DeclareOption{T1}{\let\Url@do\Url@ttdo}
  65.126 +  \ProcessOptions
  65.127 +\ifx\Url@Hook\relax % [obeyspaces] was declared
  65.128 +  \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft
  65.129 +    \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th}
  65.130 +  \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain}
  65.131 +  \def\Url@nosp\,#1\Url@retain{}
  65.132 +\fi
  65.133 +}
  65.134 +
  65.135 +\edef\url@moving{\csname Url Error\endcsname}
  65.136 +\expandafter\edef\url@moving
  65.137 + {\csname url used in a moving argument.\endcsname}
  65.138 +\expandafter\expandafter\expandafter \let \url@moving\undefined 
  65.139 +
  65.140 +\endinput
  65.141 +%
  65.142 +% url.sty  ver 1.4   02-Mar-1999   Donald Arseneau   asnd@reg.triumf.ca
  65.143 +%
  65.144 +% This package defines "\url", a form of "\verb" that allows linebreaks,
  65.145 +% and can often be used in the argument to another command.  It can be
  65.146 +% configured to print in different formats, and is particularly useful for
  65.147 +% hypertext links, email addresses, directories/paths, etc.  The font may
  65.148 +% be selected using the "\urlstyle" command and pre-defined text can be
  65.149 +% stored with the "\urldef" command. New url-like commands can be defined,
  65.150 +% and a "\path" command is provided this way.
  65.151 +%
  65.152 +% Usage:    Conditions:
  65.153 +% \url{ }   If the argument contains any "%", "#", or "^^", or ends with
  65.154 +%           "\", it can't be used in the argument to another command.
  65.155 +%           The argument must not contain unbalanced braces.
  65.156 +% \url|  |  ...where "|" is any character not used in the argument and not
  65.157 +%           "{" or a space.  The same restrictions as above except that the
  65.158 +%           argument may contain unbalanced braces.
  65.159 +% \xyz      for "\xyz" a defined-url;  this can be used anywhere, no matter
  65.160 +%           what characters it contains.
  65.161 +%
  65.162 +% The "\url" command is fragile, and its argument is likely to be very
  65.163 +% fragile, but a defined-url is robust.
  65.164 +%
  65.165 +% Package Option:  obeyspaces
  65.166 +% Ordinarily, all spaces are ignored in the url-text.  The "[obeyspaces]"
  65.167 +% option allows spaces, but may introduce spurious spaces when a url
  65.168 +% containing "\" characters is given in the argument to another command.
  65.169 +% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}",
  65.170 +% and if you need both spaces and backslashes, use a `defined-url' for
  65.171 +% anything with "\".
  65.172 +%
  65.173 +% Package Option:  hyphens
  65.174 +% Ordinarily, breaks are not allowed after "-" characters because this
  65.175 +% leads to confusion. (Is the "-" part of the address or just a hyphen?)
  65.176 +% The package option "[hyphens]" allows breaks after explicit hyphen
  65.177 +% characters.  The "\url" command will *never ever* hyphenate words.
  65.178 +%
  65.179 +% Package Option:  spaces
  65.180 +% Likewise, breaks are not usually allowed after spaces under the
  65.181 +% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]"
  65.182 +% will allow breaks at those spaces.
  65.183 +%
  65.184 +% Package Option:  T1
  65.185 +% This signifies that you will be using T1-encoded fonts which contain
  65.186 +% some characters missing from most older (OT1) encoded TeX fonts.  This
  65.187 +% changes the default definition for "\urlstyle{rm}".
  65.188 +%
  65.189 +% Defining a defined-url:
  65.190 +% Take for example the email address "myself%node@gateway.net" which could
  65.191 +% not be given (using "\url" or "\verb") in a caption or parbox due to the
  65.192 +% percent sign.  This address can be predefined with
  65.193 +%    \urldef{\myself}\url{myself%node@gateway.net}   or
  65.194 +%    \urldef{\myself}\url|myself%node@gateway.net|
  65.195 +% and then you may use "\myself" instead of "\url{myself%node@gateway.net}"
  65.196 +% in an argument, and even in a moving argument like a caption because a
  65.197 +% defined-url is robust.
  65.198 +%
  65.199 +% Style:
  65.200 +% You can switch the style of printing using "\urlstyle{tt}", where "tt"
  65.201 +% can be any defined style.  The pre-defined styles are "tt", "rm", "sf",
  65.202 +% and "same" which all allow the same linebreaks but different fonts --
  65.203 +% the first three select a specific font and the "same" style uses the
  65.204 +% current text font.  You can define your own styles with different fonts
  65.205 +% and/or line-breaking by following the explanations below.  The "\url"
  65.206 +% command follows whatever the currently-set style dictates.
  65.207 +%
  65.208 +% Alternate commands:
  65.209 +% It may be desireable to have different things treated differently, each
  65.210 +% in a predefined style; e.g., if you want directory paths to always be
  65.211 +% in tt and email addresses to be rm, then you would define new url-like
  65.212 +% commands as follows:
  65.213 +%
  65.214 +%    \newcommand\email{\begingroup \urlstyle{rm}\Url}
  65.215 +%    \newcommand\directory{\begingroup \urlstyle{tt}\Url}
  65.216 +%
  65.217 +% You must follow this format closely, and NOTE that the final command is
  65.218 +% "\Url", not "\url".  In fact, the "\directory" example is exactly the
  65.219 +% "\path" definition which is pre-defined in the package.  If you look
  65.220 +% above, you will see that "\url" is defined with
  65.221 +%    \newcommand\url{\begingroup \Url}
  65.222 +% I.e., using whatever url-style has been selected.
  65.223 +%
  65.224 +% You can make a defined-url for these other styles, using the usual
  65.225 +% "\urldef" command as in this example:
  65.226 +%
  65.227 +%    \urldef{\myself}{\email}{myself%node.domain@gateway.net}
  65.228 +%
  65.229 +% which makes "\myself" act like "\email{myself%node.domain@gateway.net}",
  65.230 +% if the "\email" command is defined as above.  The "\myself" command
  65.231 +% would then be robust.
  65.232 +%
  65.233 +% Defining styles:
  65.234 +% Before describing how to customize the printing style, it is best to
  65.235 +% mention something about the unusual implementation of "\url".  Although
  65.236 +% the material is textual in nature, and the font specification required
  65.237 +% is a text-font command, the text is actually typeset in *math* mode.
  65.238 +% This allows the context-sensitive linebreaking, but also accounts for
  65.239 +% the default behavior of ignoring spaces.  Now on to defining styles.
  65.240 +%
  65.241 +% To change the font or the list of characters that allow linebreaks, you
  65.242 +% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc.
  65.243 +% directly in the document, but it is better to define a new `url-style'
  65.244 +% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines
  65.245 +% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and
  65.246 +% "\UrlFont".
  65.247 +%
  65.248 +% Changing font:
  65.249 +% The "\UrlFont" command selects the font.  The definition of "\UrlFont"
  65.250 +% done by the pre-defined styles varies to cope with a variety of LaTeX
  65.251 +% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}".
  65.252 +% Depending on the font selected, some characters may need to be defined
  65.253 +% in the "\UrlSpecials" list because many fonts don't contain all the
  65.254 +% standard input characters.
  65.255 +%
  65.256 +% Changing linebreaks:
  65.257 +% The list of characters that allow line-breaks is given by "\UrlBreaks"
  65.258 +% and "\UrlBigBreaks", which have the format "\do\c" for character "c".
  65.259 +% The differences are that `BigBreaks' have a lower penalty and have
  65.260 +% different breakpoints when in sequence (as in "http://"): `BigBreaks'
  65.261 +% are treated as mathrels while `Breaks' are mathbins (see The TeXbook,
  65.262 +% p.170). In particular, a series of `BigBreak' characters will break at
  65.263 +% the end and only at the end; a series of `Break' characters will break
  65.264 +% after the first and after every following *pair*; there will be no
  65.265 +% break after a `Break' character if a `BigBreak' follows.  In the case
  65.266 +% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' --
  65.267 +% the breaks are the same in either case; but for DECnet nodes with "::"
  65.268 +% it is important to prevent breaks *between* the colons, and that is why
  65.269 +% colons are `BigBreaks'.
  65.270 +%
  65.271 +% It is possible for characters to prevent breaks after the next following
  65.272 +% character (I use this for parentheses).  Specify these in "\UrlNoBreaks".
  65.273 +%
  65.274 +% You can do arbitrarily complex things with characters by making them
  65.275 +% active in math mode (mathcode hex-8000) and specifying the definition(s)
  65.276 +% in "\UrlSpecials".  This is used in the rm and sf styles for OT1 font
  65.277 +% encoding to handle several characters that are not present in those
  65.278 +% computer-modern style fonts.  See the definition of "\Url@do", which
  65.279 +% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing
  65.280 +% characters via "\UrlSpecials".  The nominal format for setting each
  65.281 +% special character "c" is: "\do\c{<definition>}", but you can include
  65.282 +% other definitions too.
  65.283 +%
  65.284 +%
  65.285 +% If all this sounds confusing ... well, it is!  But I hope you won't need
  65.286 +% to redefine breakpoints -- the default assignments seem to work well for
  65.287 +% a wide variety of applications.  If you do need to make changes, you can
  65.288 +% test for breakpoints using regular math mode and the characters "+=(a".
  65.289 +%
  65.290 +% Yet more flexibility:
  65.291 +% You can also customize the verbatim text by defining "\UrlRight" and/or
  65.292 +% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "<  >", define
  65.293 +%
  65.294 +%    \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}%
  65.295 +%        \urlstyle{tt}\Url}
  65.296 +%
  65.297 +% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim.
  65.298 +% This lets you use formatting commands there, but you must be careful not
  65.299 +% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly.
  65.300 +% You can also define "\UrlLeft" to reprocess the verbatim text, but the
  65.301 +% format of the definition is special:
  65.302 +%
  65.303 +%    \def\UrlLeft#1\UrlRight{ ... do things with #1 ... }
  65.304 +%
  65.305 +% Yes, that is "#1" followed by "\UrlRight" then the definition.  For
  65.306 +% example, to put a hyperTeX hypertext link in the DVI file:
  65.307 +%
  65.308 +%    \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}}
  65.309 +%
  65.310 +% Using this technique, url.sty can provide a convenient interface for
  65.311 +% performing various operations on verbatim text.  You don't even need
  65.312 +% to print out the argument!  For greatest efficiency in such obscure
  65.313 +% applications, you can define a null url-style where all the lists like
  65.314 +% "\UrlBreaks" are empty.
  65.315 +%
  65.316 +% Revision History:
  65.317 +% ver 1.1 6-Feb-1996: 
  65.318 +% Fix hyphens that wouldn't break and ligatures that weren't suppressed.
  65.319 +% ver 1.2 19-Oct-1996:
  65.320 +% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight".
  65.321 +% ver 1.3 21-Jul-1997:
  65.322 +% Prohibit spaces as delimiter characters; change ascii tilde in OT1.
  65.323 +% ver 1.4 02-Mar-1999
  65.324 +% LaTeX license; moving-argument-error
  65.325 +% The End
  65.326 +
  65.327 +Test file integrity:  ASCII 32-57, 58-126:  !"#$%&'()*+,-./0123456789
  65.328 +:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
    66.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    66.2 +++ b/0__Papers/PRT/PRT__formal_def/latex/usetex-v1-anon.cls	Sat Aug 03 19:24:22 2013 -0700
    66.3 @@ -0,0 +1,363 @@
    66.4 +\NeedsTeXFormat{LaTeX2e}
    66.5 +\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class]
    66.6 +
    66.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles
    66.8 +%
    66.9 +% To use this style file, do this:
   66.10 +%
   66.11 +%    \documentclass{usetex-v1}
   66.12 +%
   66.13 +% The following definitions are modifications of standard article.cls
   66.14 +% definitions, arranged to do a better job of matching the Usenix
   66.15 +% guidelines. and make for convenient Usenix paper writing
   66.16 +%
   66.17 +% Choose the appropriate option:
   66.18 +%
   66.19 +% 1. workingdraft:
   66.20 +%
   66.21 +%       For initial submission and shepherding.  Features prominent
   66.22 +%       date, notice of draft status, page numbers, and annotation
   66.23 +%       facilities.
   66.24 +%
   66.25 +% 2. proof:
   66.26 +%
   66.27 +%         A galley proof identical to the final copy except for page
   66.28 +%         numbering and proof date on the bottom.  Annotations are
   66.29 +%         removed.
   66.30 +%
   66.31 +% 3. webversion:
   66.32 +%
   66.33 +%       A web-publishable version, uses \docstatus{} to indicate
   66.34 +%       publication information (where and when paper was published),
   66.35 +%       and page numbers.
   66.36 +%
   66.37 +% 4. finalversion:
   66.38 +%
   66.39 +%       The final camera-ready-copy (CRC) version of the paper.
   66.40 +%       Published in conference proceedings.  This doesn't include
   66.41 +%       page numbers, annotations, or draft status (Usenix adds
   66.42 +%       headers, footers, and page numbers onto the CRC).
   66.43 +%
   66.44 +% If several are used, the last one in this list wins
   66.45 +%
   66.46 +
   66.47 +%
   66.48 +% In addition, the option "endnotes" permits the use of the
   66.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in
   66.50 +% documents.  In this case, be sure to include a
   66.51 +% \makeendnotes command at the end of your document or
   66.52 +% the endnotes will not actually appear.
   66.53 +%
   66.54 +
   66.55 +\newif\if@draftcopy \newif\ifworkingdraft
   66.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue}
   66.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue}
   66.58 +\newif\ifwebversion
   66.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue}
   66.60 +\DeclareOption{finalversion}{}
   66.61 +\newif\ifhasendnotes
   66.62 +\DeclareOption{endnotes}{\hasendnotestrue}
   66.63 +
   66.64 +% pass all other options to the article class
   66.65 +\DeclareOption*{%
   66.66 +  \PassOptionsToClass{\CurrentOption}{article}%
   66.67 +}
   66.68 +
   66.69 +% actually process the options
   66.70 +\ProcessOptions
   66.71 +
   66.72 +% usetex is based on article
   66.73 +\LoadClass[twocolumn]{article}
   66.74 +
   66.75 +% Footnotes are not currently allowed, but
   66.76 +% endnotes (while a bad idea) are.
   66.77 +\ifhasendnotes
   66.78 +  \RequirePackage{endnotes}
   66.79 +\fi
   66.80 +
   66.81 +% save any provided document status information
   66.82 +\def\@docstatus{}
   66.83 +\def\docstatus#1{\gdef\@docstatus{#1}}
   66.84 +
   66.85 +\ifworkingdraft
   66.86 +
   66.87 +  % formatting helper for draft notes
   66.88 +  \newcommand{\@noteleader[1]}{%
   66.89 +    {\marginpar{\framebox{\scriptsize\textbf{#1}}}}%
   66.90 +    \bfseries\itshape
   66.91 +  }
   66.92 +
   66.93 +  % put a small anonymous editing note in the draft copy
   66.94 +  \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}}
   66.95 +
   66.96 +  % put a small attributed editing note in the draft copy
   66.97 +  \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}}
   66.98 +
   66.99 +  % put an attributed editing note paragraph in the draft copy
  66.100 +  \newenvironment{ednote}[1]
  66.101 +    {\newcommand{\who}{#1}\@noteleader[\who]}
  66.102 +
  66.103 +  % mark a spot where work has been left off for later
  66.104 +  \newcommand{\HERE}{%
  66.105 +    {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}}
  66.106 +
  66.107 +\else
  66.108 +
  66.109 +  % dummy versions of editing commands to produce warnings
  66.110 +
  66.111 +  \newcommand{\edannote}[1]{\@latex@warning
  66.112 +    {Leftover edannote command in final version ignored}}
  66.113 +
  66.114 +  \newcommand{\edatnote}[1]{\@latex@warning
  66.115 +    {Leftover edatnote command in final version ignored}}
  66.116 +
  66.117 +  \newsavebox{\@discard}
  66.118 +  \newenvironment{ednote}[1]{\@latex@warning
  66.119 +    {Leftover ednote environment in final version ignored}%
  66.120 +    \begin{lrbox}{\@discard}}{\end{lrbox}}
  66.121 +
  66.122 +  \newcommand{\HERE}{\@latex@warning
  66.123 +    {Leftover HERE command in final version ignored}}
  66.124 +
  66.125 +\fi
  66.126 +
  66.127 +% set up the footers appropriately
  66.128 +\def\@setfoot{%
  66.129 +  \ifwebversion
  66.130 +    % webversions get whatever status the author says
  66.131 +    \gdef\@evenfoot{\@docstatus \hfil \thepage}%
  66.132 +  \else
  66.133 +    % all other drafts get the standard draft footer
  66.134 +    \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}%
  66.135 +  \fi
  66.136 +  \gdef\@oddfoot{\@evenfoot}%
  66.137 +}
  66.138 +
  66.139 +%
  66.140 +% Usenix wants no page numbers for submitted papers, so that
  66.141 +% they can number them themselves.  Drafts should have
  66.142 +% numbered pages, so they can be edited.
  66.143 +% 
  66.144 +\if@draftcopy
  66.145 +  % Compute a date and time for the draft for use
  66.146 +  % either in \@setfoot (proof) or in \maketitle (workingdraft)
  66.147 +  %
  66.148 +  % Time code adapted from custom-bib/makebst.tex
  66.149 +  % Copyright 1993-1999 Patrick W Daly
  66.150 +  % Max-Planck-Institut f\"ur Aeronomie
  66.151 +  % E-mail: daly@linmp.mpg.de
  66.152 +  \newcount\hour
  66.153 +  \hour=\time
  66.154 +  \divide\hour by 60
  66.155 +  \newcount\minute
  66.156 +  \minute=\hour
  66.157 +  \multiply\minute by 60
  66.158 +  \advance\minute by -\time
  66.159 +  \multiply\minute by -1
  66.160 +  \newcommand{\@draftdate}
  66.161 +    {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}%
  66.162 +          ~\two@digits{\the\hour}:\two@digits{\the\minute}}}
  66.163 +  \pagestyle{plain}
  66.164 +  \@setfoot
  66.165 +\else
  66.166 +  \pagestyle{empty}
  66.167 +\fi
  66.168 +
  66.169 +% Times-Roman font is nice if you can get it (requires NFSS,
  66.170 +% which is in latex2e).
  66.171 +\usepackage{times}
  66.172 +
  66.173 +% endnote support, as described at
  66.174 +%   http://www.lyx.org/help/footnotes.php
  66.175 +\ifhasendnotes
  66.176 +  \typeout
  66.177 +    {Warning: endnotes support is deprecated (see documentation for details)}
  66.178 +  \let\footnote=\endnote
  66.179 +  \def\enoteformat{\rightskip\z@ \leftskip\z@
  66.180 +       \parindent=0pt\parskip=\baselineskip
  66.181 +       \@theenmark. }
  66.182 +  \newcommand{\makeendnotes}{
  66.183 +    \begingroup
  66.184 +    \def\enotesize{\normalsize}
  66.185 +    \theendnotes
  66.186 +    \endgroup
  66.187 +  }
  66.188 +\else
  66.189 +  \long\gdef\footnote{\@latex@error
  66.190 +    {Deprecated footnote command (see documentation for details)}}
  66.191 +  \long\gdef\endnote{\@latex@error
  66.192 +    {Deprecated endnote command (see documentation for details)}}
  66.193 +\fi
  66.194 +
  66.195 +%
  66.196 +% Usenix margins 
  66.197 +% Gives active areas of 6.45" x 9.0"
  66.198 +%
  66.199 +\setlength{\textheight}{9.0in}
  66.200 +\setlength{\columnsep}{0.25in}
  66.201 +\setlength{\textwidth}{6.45in}
  66.202 +%\setlength{\footskip}{0.0in}
  66.203 +%\setlength{\footheight}{0.0in}
  66.204 +\setlength{\topmargin}{0.0in}
  66.205 +\setlength{\headheight}{0.0in}
  66.206 +\setlength{\headsep}{0.0in}
  66.207 +\setlength{\evensidemargin}{0.0in}
  66.208 +\setlength{\oddsidemargin}{0.0in}
  66.209 +\setlength{\marginparsep}{1.5em}
  66.210 +\setlength{\marginparwidth}{0.35in}
  66.211 +
  66.212 +% The standard maketitle insists on
  66.213 +% messing with the style of the first page.
  66.214 +% Thus, we will wrap maketitle with code to put
  66.215 +% things right again.
  66.216 +\let \save@maketitle=\maketitle
  66.217 +\def\maketitle{
  66.218 +  \save@maketitle
  66.219 +  \if@draftcopy
  66.220 +    \@specialpagefalse
  66.221 +  \else
  66.222 +    \thispagestyle{empty}
  66.223 +  \fi
  66.224 +}
  66.225 +
  66.226 +%
  66.227 +% Usenix titles are in 14-point bold type, with no date, and with no
  66.228 +% change in the empty page headers.  The author section is
  66.229 +% 12 point roman and italic: see below.
  66.230 +%
  66.231 +\def\@maketitle{%
  66.232 +  \newpage
  66.233 +  \null
  66.234 +%  \vskip 3ex%
  66.235 +  \begin{center}%
  66.236 +%  \let \footnote \thanks
  66.237 +  {\Large \bf \@title \par}%            % use 14 pt bold
  66.238 +%  \vskip 2ex%
  66.239 +  {\large
  66.240 +%    \lineskip .5ex%
  66.241 +%    \begin{tabular}[t]{c}%
  66.242 +%      \@author
  66.243 +%    \end{tabular}\par
  66.244 +  }%
  66.245 +  \ifworkingdraft
  66.246 +    \vskip 0.5ex
  66.247 +    \textbf{Draft of \@draftdate}
  66.248 +    \vskip 0.5ex
  66.249 +  \fi
  66.250 +  \ifwebversion
  66.251 +    \vskip 0.5ex
  66.252 +    \textit{Authors and affiliation elided for review.}
  66.253 +    \vskip 0.5ex
  66.254 +  \fi
  66.255 +  \end{center}%
  66.256 +  \par
  66.257 +%  \vskip 2ex
  66.258 +}
  66.259 +
  66.260 +%
  66.261 +% The author section
  66.262 +% should have names in Roman, address in
  66.263 +% italic, e-mail/http in typewriter.
  66.264 +% This is enforced by use of these macros
  66.265 +%
  66.266 +\def\authname#1{{#1}\\}
  66.267 +\def\authaddr#1{\itshape{#1}\\}
  66.268 +\def\authurl#1{{\normalsize #1}\\}
  66.269 +
  66.270 +%
  66.271 +% The abstract is preceded by a 12-pt bold centered heading
  66.272 +%
  66.273 +\def\abstract{\begin{center}%
  66.274 +  {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}%
  66.275 +  \end{center}}
  66.276 +\def\endabstract{}
  66.277 +
  66.278 +%
  66.279 +% Main section titles are 12-pt bold.  Lower divisions can
  66.280 +% be same size or smaller: we choose same.
  66.281 +% Main section leading is tight.  Subsection leading is even
  66.282 +% slightly tighter.  All lower divisions are formatted like subsections.
  66.283 +% 
  66.284 +\newcommand\@sectionfont{\reset@font\large\bf}
  66.285 +\newlength\@sectionaboveskip
  66.286 +\setlength\@sectionaboveskip{-0.7\baselineskip
  66.287 +  plus -0.1\baselineskip
  66.288 +  minus -0.1\baselineskip}
  66.289 +\newlength\@sectionbelowskip
  66.290 +\setlength\@sectionbelowskip{0.3\baselineskip
  66.291 +  plus 0.1\baselineskip}
  66.292 +\newlength\@subsectionaboveskip
  66.293 +\setlength\@subsectionaboveskip{-0.5\baselineskip
  66.294 +  plus -0.1\baselineskip}
  66.295 +\renewcommand\section{\@startsection {section}{1}{\z@}%
  66.296 +    {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}}
  66.297 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}%
  66.298 +    {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}}
  66.299 +\renewcommand\subsection{\@gensubsection{subsection}{2}}
  66.300 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}}
  66.301 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}}
  66.302 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}}
  66.303 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  66.304 +                                    {1.25ex \@plus 0.2ex \@minus 0.2ex}%
  66.305 +                                    {-1.0em}%
  66.306 +                                    {\normalfont\normalsize\bfseries}}
  66.307 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
  66.308 +                                    {1.25ex \@plus 0.2ex \@minus 0.2ex}%
  66.309 +                                    {-1.0em}%
  66.310 +                                    {\normalfont\normalsize\bfseries}}
  66.311 +
  66.312 +% List items need to be tightened up.
  66.313 +% There must be a better way than copying
  66.314 +% the definitions to modify the list environment...
  66.315 +\def\@itemspacings{\listparindent=\parindent
  66.316 +  \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt}
  66.317 +% now make envs use itemspacings
  66.318 +\def\itemize{%
  66.319 +  \ifnum \@itemdepth >\thr@@\@toodeep\else
  66.320 +    \advance\@itemdepth\@ne
  66.321 +    \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
  66.322 +    \expandafter
  66.323 +    \list
  66.324 +      \csname\@itemitem\endcsname
  66.325 +      {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}%
  66.326 +  \fi}
  66.327 +\def\enumerate{%
  66.328 +  \ifnum \@enumdepth >\thr@@\@toodeep\else
  66.329 +    \advance\@enumdepth\@ne
  66.330 +    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
  66.331 +      \expandafter
  66.332 +      \list
  66.333 +        \csname label\@enumctr\endcsname
  66.334 +        {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}%
  66.335 +  \fi}
  66.336 +\def\description{%
  66.337 +  \list{}{\labelwidth\z@ \itemindent-\leftmargin
  66.338 +          \@itemspacings\let\makelabel\descriptionlabel}}
  66.339 +
  66.340 +% Bibliography items need to be tightened up.
  66.341 +% Again, there must be a better way than copying
  66.342 +% the definitions to modify the list environment...
  66.343 +\def\thebibliography#1%
  66.344 +     {\section*{\refname}%
  66.345 +      \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
  66.346 +      \list{\@biblabel{\@arabic\c@enumiv}}%
  66.347 +           {\settowidth\labelwidth{\@biblabel{#1}}%
  66.348 +            \leftmargin\labelwidth
  66.349 +            \advance\leftmargin\labelsep
  66.350 +            \@openbib@code
  66.351 +            \usecounter{enumiv}%
  66.352 +            \let\p@enumiv\@empty
  66.353 +            \renewcommand\theenumiv{\@arabic\c@enumiv}%
  66.354 +            \parsep=0pt}% pack entries
  66.355 +      \sloppy
  66.356 +      \hbadness=8000% mostly don't whine about bibliography fmt
  66.357 +      \clubpenalty=4000%
  66.358 +      \@clubpenalty=\clubpenalty
  66.359 +      \widowpenalty=4000%
  66.360 +      \sfcode`\.\@m}
  66.361 +
  66.362 +% Floating bodies need to be tightened up.
  66.363 +\setlength\textfloatsep{14pt plus 2pt}
  66.364 +\setlength\dbltextfloatsep{\textfloatsep}
  66.365 +\setlength\intextsep{0.8\textfloatsep}
  66.366 +\setlength\abovecaptionskip{8pt minus 2pt}
    67.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    67.2 +++ b/0__Papers/PRT/PRT__formal_def/latex/usetex-v1.cls	Sat Aug 03 19:24:22 2013 -0700
    67.3 @@ -0,0 +1,357 @@
    67.4 +\NeedsTeXFormat{LaTeX2e}
    67.5 +\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class]
    67.6 +
    67.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles
    67.8 +%
    67.9 +% To use this style file, do this:
   67.10 +%
   67.11 +%    \documentclass{usetex-v1}
   67.12 +%
   67.13 +% The following definitions are modifications of standard article.cls
   67.14 +% definitions, arranged to do a better job of matching the Usenix
   67.15 +% guidelines. and make for convenient Usenix paper writing
   67.16 +%
   67.17 +% Choose the appropriate option:
   67.18 +%
   67.19 +% 1. workingdraft:
   67.20 +%
   67.21 +%       For initial submission and shepherding.  Features prominent
   67.22 +%       date, notice of draft status, page numbers, and annotation
   67.23 +%       facilities.
   67.24 +%
   67.25 +% 2. proof:
   67.26 +%
   67.27 +%         A galley proof identical to the final copy except for page
   67.28 +%         numbering and proof date on the bottom.  Annotations are
   67.29 +%         removed.
   67.30 +%
   67.31 +% 3. webversion:
   67.32 +%
   67.33 +%       A web-publishable version, uses \docstatus{} to indicate
   67.34 +%       publication information (where and when paper was published),
   67.35 +%       and page numbers.
   67.36 +%
   67.37 +% 4. finalversion:
   67.38 +%
   67.39 +%       The final camera-ready-copy (CRC) version of the paper.
   67.40 +%       Published in conference proceedings.  This doesn't include
   67.41 +%       page numbers, annotations, or draft status (Usenix adds
   67.42 +%       headers, footers, and page numbers onto the CRC).
   67.43 +%
   67.44 +% If several are used, the last one in this list wins
   67.45 +%
   67.46 +
   67.47 +%
   67.48 +% In addition, the option "endnotes" permits the use of the
   67.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in
   67.50 +% documents.  In this case, be sure to include a
   67.51 +% \makeendnotes command at the end of your document or
   67.52 +% the endnotes will not actually appear.
   67.53 +%
   67.54 +
   67.55 +\newif\if@draftcopy \newif\ifworkingdraft
   67.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue}
   67.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue}
   67.58 +\newif\ifwebversion
   67.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue}
   67.60 +\DeclareOption{finalversion}{}
   67.61 +\newif\ifhasendnotes
   67.62 +\DeclareOption{endnotes}{\hasendnotestrue}
   67.63 +
   67.64 +% pass all other options to the article class
   67.65 +\DeclareOption*{%
   67.66 +  \PassOptionsToClass{\CurrentOption}{article}%
   67.67 +}
   67.68 +
   67.69 +% actually process the options
   67.70 +\ProcessOptions
   67.71 +
   67.72 +% usetex is based on article
   67.73 +\LoadClass[twocolumn]{article}
   67.74 +
   67.75 +% Footnotes are not currently allowed, but
   67.76 +% endnotes (while a bad idea) are.
   67.77 +\ifhasendnotes
   67.78 +  \RequirePackage{endnotes}
   67.79 +\fi
   67.80 +
   67.81 +% save any provided document status information
   67.82 +\def\@docstatus{}
   67.83 +\def\docstatus#1{\gdef\@docstatus{#1}}
   67.84 +
   67.85 +\ifworkingdraft
   67.86 +
   67.87 +  % formatting helper for draft notes
   67.88 +  \newcommand{\@noteleader[1]}{%
   67.89 +    {\marginpar{\framebox{\scriptsize\textbf{#1}}}}%
   67.90 +    \bfseries\itshape
   67.91 +  }
   67.92 +
   67.93 +  % put a small anonymous editing note in the draft copy
   67.94 +  \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}}
   67.95 +
   67.96 +  % put a small attributed editing note in the draft copy
   67.97 +  \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}}
   67.98 +
   67.99 +  % put an attributed editing note paragraph in the draft copy
  67.100 +  \newenvironment{ednote}[1]
  67.101 +    {\newcommand{\who}{#1}\@noteleader[\who]}
  67.102 +
  67.103 +  % mark a spot where work has been left off for later
  67.104 +  \newcommand{\HERE}{%
  67.105 +    {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}}
  67.106 +
  67.107 +\else
  67.108 +
  67.109 +  % dummy versions of editing commands to produce warnings
  67.110 +
  67.111 +  \newcommand{\edannote}[1]{\@latex@warning
  67.112 +    {Leftover edannote command in final version ignored}}
  67.113 +
  67.114 +  \newcommand{\edatnote}[1]{\@latex@warning
  67.115 +    {Leftover edatnote command in final version ignored}}
  67.116 +
  67.117 +  \newsavebox{\@discard}
  67.118 +  \newenvironment{ednote}[1]{\@latex@warning
  67.119 +    {Leftover ednote environment in final version ignored}%
  67.120 +    \begin{lrbox}{\@discard}}{\end{lrbox}}
  67.121 +
  67.122 +  \newcommand{\HERE}{\@latex@warning
  67.123 +    {Leftover HERE command in final version ignored}}
  67.124 +
  67.125 +\fi
  67.126 +
  67.127 +% set up the footers appropriately
  67.128 +\def\@setfoot{%
  67.129 +  \ifwebversion
  67.130 +    % webversions get whatever status the author says
  67.131 +    \gdef\@evenfoot{\@docstatus \hfil \thepage}%
  67.132 +  \else
  67.133 +    % all other drafts get the standard draft footer
  67.134 +    \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}%
  67.135 +  \fi
  67.136 +  \gdef\@oddfoot{\@evenfoot}%
  67.137 +}
  67.138 +
  67.139 +%
  67.140 +% Usenix wants no page numbers for submitted papers, so that
  67.141 +% they can number them themselves.  Drafts should have
  67.142 +% numbered pages, so they can be edited.
  67.143 +% 
  67.144 +\if@draftcopy
  67.145 +  % Compute a date and time for the draft for use
  67.146 +  % either in \@setfoot (proof) or in \maketitle (workingdraft)
  67.147 +  %
  67.148 +  % Time code adapted from custom-bib/makebst.tex
  67.149 +  % Copyright 1993-1999 Patrick W Daly
  67.150 +  % Max-Planck-Institut f\"ur Aeronomie
  67.151 +  % E-mail: daly@linmp.mpg.de
  67.152 +  \newcount\hour
  67.153 +  \hour=\time
  67.154 +  \divide\hour by 60
  67.155 +  \newcount\minute
  67.156 +  \minute=\hour
  67.157 +  \multiply\minute by 60
  67.158 +  \advance\minute by -\time
  67.159 +  \multiply\minute by -1
  67.160 +  \newcommand{\@draftdate}
  67.161 +    {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}%
  67.162 +          ~\two@digits{\the\hour}:\two@digits{\the\minute}}}
  67.163 +  \pagestyle{plain}
  67.164 +  \@setfoot
  67.165 +\else
  67.166 +  \pagestyle{empty}
  67.167 +\fi
  67.168 +
  67.169 +% Times-Roman font is nice if you can get it (requires NFSS,
  67.170 +% which is in latex2e).
  67.171 +\usepackage{times}
  67.172 +
  67.173 +% endnote support, as described at
  67.174 +%   http://www.lyx.org/help/footnotes.php
  67.175 +\ifhasendnotes
  67.176 +  \typeout
  67.177 +    {Warning: endnotes support is deprecated (see documentation for details)}
  67.178 +  \let\footnote=\endnote
  67.179 +  \def\enoteformat{\rightskip\z@ \leftskip\z@
  67.180 +       \parindent=0pt\parskip=\baselineskip
  67.181 +       \@theenmark. }
  67.182 +  \newcommand{\makeendnotes}{
  67.183 +    \begingroup
  67.184 +    \def\enotesize{\normalsize}
  67.185 +    \theendnotes
  67.186 +    \endgroup
  67.187 +  }
  67.188 +\else
  67.189 +  \long\gdef\footnote{\@latex@error
  67.190 +    {Deprecated footnote command (see documentation for details)}}
  67.191 +  \long\gdef\endnote{\@latex@error
  67.192 +    {Deprecated endnote command (see documentation for details)}}
  67.193 +\fi
  67.194 +
  67.195 +%
  67.196 +% Usenix margins 
  67.197 +% Gives active areas of 6.45" x 9.0"
  67.198 +%
  67.199 +\setlength{\textheight}{9.0in}
  67.200 +\setlength{\columnsep}{0.25in}
  67.201 +\setlength{\textwidth}{6.45in}
  67.202 +%\setlength{\footskip}{0.0in}
  67.203 +%\setlength{\footheight}{0.0in}
  67.204 +\setlength{\topmargin}{0.0in}
  67.205 +\setlength{\headheight}{0.0in}
  67.206 +\setlength{\headsep}{0.0in}
  67.207 +\setlength{\evensidemargin}{0.0in}
  67.208 +\setlength{\oddsidemargin}{0.0in}
  67.209 +\setlength{\marginparsep}{1.5em}
  67.210 +\setlength{\marginparwidth}{0.35in}
  67.211 +
  67.212 +% The standard maketitle insists on
  67.213 +% messing with the style of the first page.
  67.214 +% Thus, we will wrap maketitle with code to put
  67.215 +% things right again.
  67.216 +\let \save@maketitle=\maketitle
  67.217 +\def\maketitle{
  67.218 +  \save@maketitle
  67.219 +  \if@draftcopy
  67.220 +    \@specialpagefalse
  67.221 +  \else
  67.222 +    \thispagestyle{empty}
  67.223 +  \fi
  67.224 +}
  67.225 +
  67.226 +%
  67.227 +% Usenix titles are in 14-point bold type, with no date, and with no
  67.228 +% change in the empty page headers.  The author section is
  67.229 +% 12 point roman and italic: see below.
  67.230 +%
  67.231 +\def\@maketitle{%
  67.232 +  \newpage
  67.233 +  \null
  67.234 +  \vskip 3ex%
  67.235 +  \begin{center}%
  67.236 +  \let \footnote \thanks
  67.237 +  {\Large \bf \@title \par}%            % use 14 pt bold
  67.238 +  \vskip 2ex%
  67.239 +  {\large
  67.240 +    \lineskip .5ex%
  67.241 +    \begin{tabular}[t]{c}%
  67.242 +      \@author
  67.243 +    \end{tabular}\par}%
  67.244 +  \ifworkingdraft
  67.245 +    \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex
  67.246 +  \fi
  67.247 +  \ifwebversion
  67.248 +    \vskip 3ex \textbf{\@docstatus} \vskip 3ex
  67.249 +  \fi
  67.250 +  \end{center}%
  67.251 +  \par
  67.252 +  \vskip 2ex}
  67.253 +
  67.254 +%
  67.255 +% The author section
  67.256 +% should have names in Roman, address in
  67.257 +% italic, e-mail/http in typewriter.
  67.258 +% This is enforced by use of these macros
  67.259 +%
  67.260 +\def\authname#1{{#1}\\}
  67.261 +\def\authaddr#1{\itshape{#1}\\}
  67.262 +\def\authurl#1{{\normalsize #1}\\}
  67.263 +
  67.264 +%
  67.265 +% The abstract is preceded by a 12-pt bold centered heading
  67.266 +%
  67.267 +\def\abstract{\begin{center}%
  67.268 +  {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}%
  67.269 +  \end{center}}
  67.270 +\def\endabstract{}
  67.271 +
  67.272 +%
  67.273 +% Main section titles are 12-pt bold.  Lower divisions can
  67.274 +% be same size or smaller: we choose same.
  67.275 +% Main section leading is tight.  Subsection leading is even
  67.276 +% slightly tighter.  All lower divisions are formatted like subsections.
  67.277 +% 
  67.278 +\newcommand\@sectionfont{\reset@font\large\bf}
  67.279 +\newlength\@sectionaboveskip
  67.280 +\setlength\@sectionaboveskip{-0.7\baselineskip
  67.281 +  plus -0.1\baselineskip
  67.282 +  minus -0.1\baselineskip}
  67.283 +\newlength\@sectionbelowskip
  67.284 +\setlength\@sectionbelowskip{0.3\baselineskip
  67.285 +  plus 0.1\baselineskip}
  67.286 +\newlength\@subsectionaboveskip
  67.287 +\setlength\@subsectionaboveskip{-0.5\baselineskip
  67.288 +  plus -0.1\baselineskip}
  67.289 +\renewcommand\section{\@startsection {section}{1}{\z@}%
  67.290 +    {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}}
  67.291 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}%
  67.292 +    {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}}
  67.293 +\renewcommand\subsection{\@gensubsection{subsection}{2}}
  67.294 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}}
  67.295 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}}
  67.296 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}}
  67.297 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  67.298 +                                    {1.25ex \@plus 0.2ex \@minus 0.2ex}%
  67.299 +                                    {-1.0em}%
  67.300 +                                    {\normalfont\normalsize\bfseries}}
  67.301 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
  67.302 +                                    {1.25ex \@plus 0.2ex \@minus 0.2ex}%
  67.303 +                                    {-1.0em}%
  67.304 +                                    {\normalfont\normalsize\bfseries}}
  67.305 +
  67.306 +% List items need to be tightened up.
  67.307 +% There must be a better way than copying
  67.308 +% the definitions to modify the list environment...
  67.309 +\def\@itemspacings{\listparindent=\parindent
  67.310 +  \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt}
  67.311 +% now make envs use itemspacings
  67.312 +\def\itemize{%
  67.313 +  \ifnum \@itemdepth >\thr@@\@toodeep\else
  67.314 +    \advance\@itemdepth\@ne
  67.315 +    \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
  67.316 +    \expandafter
  67.317 +    \list
  67.318 +      \csname\@itemitem\endcsname
  67.319 +      {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}%
  67.320 +  \fi}
  67.321 +\def\enumerate{%
  67.322 +  \ifnum \@enumdepth >\thr@@\@toodeep\else
  67.323 +    \advance\@enumdepth\@ne
  67.324 +    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
  67.325 +      \expandafter
  67.326 +      \list
  67.327 +        \csname label\@enumctr\endcsname
  67.328 +        {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}%
  67.329 +  \fi}
  67.330 +\def\description{%
  67.331 +  \list{}{\labelwidth\z@ \itemindent-\leftmargin
  67.332 +          \@itemspacings\let\makelabel\descriptionlabel}}
  67.333 +
  67.334 +% Bibliography items need to be tightened up.
  67.335 +% Again, there must be a better way than copying
  67.336 +% the definitions to modify the list environment...
  67.337 +\def\thebibliography#1%
  67.338 +     {\section*{\refname}%
  67.339 +      \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
  67.340 +      \list{\@biblabel{\@arabic\c@enumiv}}%
  67.341 +           {\settowidth\labelwidth{\@biblabel{#1}}%
  67.342 +            \leftmargin\labelwidth
  67.343 +            \advance\leftmargin\labelsep
  67.344 +            \@openbib@code
  67.345 +            \usecounter{enumiv}%
  67.346 +            \let\p@enumiv\@empty
  67.347 +            \renewcommand\theenumiv{\@arabic\c@enumiv}%
  67.348 +            \parsep=0pt}% pack entries
  67.349 +      \sloppy
  67.350 +      \hbadness=8000% mostly don't whine about bibliography fmt
  67.351 +      \clubpenalty=4000%
  67.352 +      \@clubpenalty=\clubpenalty
  67.353 +      \widowpenalty=4000%
  67.354 +      \sfcode`\.\@m}
  67.355 +
  67.356 +% Floating bodies need to be tightened up.
  67.357 +\setlength\textfloatsep{14pt plus 2pt}
  67.358 +\setlength\dbltextfloatsep{\textfloatsep}
  67.359 +\setlength\intextsep{0.8\textfloatsep}
  67.360 +\setlength\abovecaptionskip{8pt minus 2pt}
    68.1 Binary file 0__Papers/VMS/Pics_from_talks/13_Ap_12__Arbab_proto_runtime__whiteboard.jpg has changed
    69.1 Binary file 0__Papers/VMS/Pics_from_talks/13_Ap_12__Arbab_whiteboard_timelines_tie_points.jpg has changed
    70.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    70.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__system_level_activity.svg	Sat Aug 03 19:24:22 2013 -0700
    70.3 @@ -0,0 +1,2923 @@
    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__system_level_activity.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="Arrow2Mend"
   70.27 +       orient="auto"
   70.28 +       refY="0.0"
   70.29 +       refX="0.0"
   70.30 +       id="Arrow2Mend"
   70.31 +       style="overflow:visible;">
   70.32 +      <path
   70.33 +         id="path4008"
   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.6) rotate(180) translate(0,0)" />
   70.37 +    </marker>
   70.38 +    <inkscape:perspective
   70.39 +       sodipodi:type="inkscape:persp3d"
   70.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   70.41 +       inkscape:vp_y="0 : 1000 : 0"
   70.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   70.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   70.44 +       id="perspective10" />
   70.45 +    <inkscape:perspective
   70.46 +       id="perspective12172"
   70.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   70.48 +       inkscape:vp_z="1 : 0.5 : 1"
   70.49 +       inkscape:vp_y="0 : 1000 : 0"
   70.50 +       inkscape:vp_x="0 : 0.5 : 1"
   70.51 +       sodipodi:type="inkscape:persp3d" />
   70.52 +    <inkscape:perspective
   70.53 +       id="perspective12937"
   70.54 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   70.55 +       inkscape:vp_z="1 : 0.5 : 1"
   70.56 +       inkscape:vp_y="0 : 1000 : 0"
   70.57 +       inkscape:vp_x="0 : 0.5 : 1"
   70.58 +       sodipodi:type="inkscape:persp3d" />
   70.59 +  </defs>
   70.60 +  <sodipodi:namedview
   70.61 +     id="base"
   70.62 +     pagecolor="#ffffff"
   70.63 +     bordercolor="#666666"
   70.64 +     borderopacity="1.0"
   70.65 +     gridtolerance="10000"
   70.66 +     guidetolerance="10"
   70.67 +     objecttolerance="10"
   70.68 +     inkscape:pageopacity="0.0"
   70.69 +     inkscape:pageshadow="2"
   70.70 +     inkscape:zoom="1.4897651"
   70.71 +     inkscape:cx="290.73583"
   70.72 +     inkscape:cy="795.84567"
   70.73 +     inkscape:document-units="px"
   70.74 +     inkscape:current-layer="layer1"
   70.75 +     showgrid="false"
   70.76 +     inkscape:window-width="1600"
   70.77 +     inkscape:window-height="848"
   70.78 +     inkscape:window-x="-8"
   70.79 +     inkscape:window-y="-8"
   70.80 +     inkscape:window-maximized="1" />
   70.81 +  <metadata
   70.82 +     id="metadata7">
   70.83 +    <rdf:RDF>
   70.84 +      <cc:Work
   70.85 +         rdf:about="">
   70.86 +        <dc:format>image/svg+xml</dc:format>
   70.87 +        <dc:type
   70.88 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   70.89 +        <dc:title></dc:title>
   70.90 +      </cc:Work>
   70.91 +    </rdf:RDF>
   70.92 +  </metadata>
   70.93 +  <g
   70.94 +     inkscape:label="Layer 1"
   70.95 +     inkscape:groupmode="layer"
   70.96 +     id="layer1">
   70.97 +    <text
   70.98 +       sodipodi:linespacing="100%"
   70.99 +       id="text12979"
  70.100 +       y="515.76575"
  70.101 +       x="326.92542"
  70.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"
  70.103 +       xml:space="preserve"><tspan
  70.104 +         y="515.76575"
  70.105 +         x="326.92542"
  70.106 +         id="tspan12981"
  70.107 +         sodipodi:role="line"
  70.108 +         style="text-align:center;text-anchor:middle">Master</tspan><tspan
  70.109 +         y="524.20056"
  70.110 +         x="326.92542"
  70.111 +         sodipodi:role="line"
  70.112 +         id="tspan3291"
  70.113 +         style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan
  70.114 +         y="532.2005"
  70.115 +         x="326.92542"
  70.116 +         sodipodi:role="line"
  70.117 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.118 +         id="tspan8409">on core 1</tspan></text>
  70.119 +    <g
  70.120 +       id="g9336"
  70.121 +       transform="translate(44.002789,114)">
  70.122 +      <rect
  70.123 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  70.124 +         id="rect3293"
  70.125 +         width="65.276405"
  70.126 +         height="37.165791"
  70.127 +         x="346.40247"
  70.128 +         y="389.58255" />
  70.129 +      <text
  70.130 +         sodipodi:linespacing="100%"
  70.131 +         id="text3295"
  70.132 +         y="400.15268"
  70.133 +         x="379.00162"
  70.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"
  70.135 +         xml:space="preserve"><tspan
  70.136 +           id="tspan3301"
  70.137 +           y="400.15268"
  70.138 +           x="379.00162"
  70.139 +           sodipodi:role="line"
  70.140 +           style="text-align:center;text-anchor:middle;fill:#008000">Seed VP</tspan><tspan
  70.141 +           y="408.58746"
  70.142 +           x="379.00162"
  70.143 +           sodipodi:role="line"
  70.144 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  70.145 +           id="tspan9389">(created at</tspan><tspan
  70.146 +           y="416.58746"
  70.147 +           x="379.00162"
  70.148 +           sodipodi:role="line"
  70.149 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  70.150 +           id="tspan9391">app startup,</tspan><tspan
  70.151 +           y="424.58746"
  70.152 +           x="379.00162"
  70.153 +           sodipodi:role="line"
  70.154 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  70.155 +           id="tspan9744">on core 1)</tspan></text>
  70.156 +    </g>
  70.157 +    <text
  70.158 +       xml:space="preserve"
  70.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"
  70.160 +       x="517.16797"
  70.161 +       y="467.42465"
  70.162 +       id="text3318-1"
  70.163 +       sodipodi:linespacing="100%"><tspan
  70.164 +         style="text-align:center;text-anchor:middle;fill:#008000"
  70.165 +         sodipodi:role="line"
  70.166 +         x="517.16797"
  70.167 +         y="467.42465"
  70.168 +         id="tspan3322-5">Application Code</tspan></text>
  70.169 +    <text
  70.170 +       sodipodi:linespacing="100%"
  70.171 +       id="text3376"
  70.172 +       y="541.42468"
  70.173 +       x="517.16797"
  70.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"
  70.175 +       xml:space="preserve"><tspan
  70.176 +         id="tspan3378"
  70.177 +         y="541.42468"
  70.178 +         x="517.16797"
  70.179 +         sodipodi:role="line"
  70.180 +         style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text>
  70.181 +    <text
  70.182 +       xml:space="preserve"
  70.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"
  70.184 +       x="517.16797"
  70.185 +       y="761.42468"
  70.186 +       id="text3380"
  70.187 +       sodipodi:linespacing="100%"><tspan
  70.188 +         style="text-align:center;text-anchor:middle;fill:#008000"
  70.189 +         sodipodi:role="line"
  70.190 +         x="517.16797"
  70.191 +         y="761.42468"
  70.192 +         id="tspan3382">Work_Fn</tspan></text>
  70.193 +    <text
  70.194 +       sodipodi:linespacing="100%"
  70.195 +       id="text3388"
  70.196 +       y="467.42465"
  70.197 +       x="604.63812"
  70.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"
  70.199 +       xml:space="preserve"><tspan
  70.200 +         id="tspan3390"
  70.201 +         y="467.42465"
  70.202 +         x="606.14203"
  70.203 +         sodipodi:role="line"
  70.204 +         style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan
  70.205 +         y="477.42465"
  70.206 +         x="604.63812"
  70.207 +         sodipodi:role="line"
  70.208 +         style="text-align:center;text-anchor:middle;fill:#800000"
  70.209 +         id="tspan5106">Wrapper-Lib</tspan><tspan
  70.210 +         y="487.42465"
  70.211 +         x="604.63812"
  70.212 +         sodipodi:role="line"
  70.213 +         style="text-align:center;text-anchor:middle;fill:#800000"
  70.214 +         id="tspan3392">Code</tspan></text>
  70.215 +    <text
  70.216 +       xml:space="preserve"
  70.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"
  70.218 +       x="669.16797"
  70.219 +       y="467.42465"
  70.220 +       id="text3394"
  70.221 +       sodipodi:linespacing="100%"><tspan
  70.222 +         style="text-align:center;text-anchor:middle;fill:#000080"
  70.223 +         sodipodi:role="line"
  70.224 +         x="669.16797"
  70.225 +         y="467.42465"
  70.226 +         id="tspan3396">Proto-Runtime</tspan><tspan
  70.227 +         style="text-align:center;text-anchor:middle;fill:#000080"
  70.228 +         sodipodi:role="line"
  70.229 +         x="669.16797"
  70.230 +         y="477.42465"
  70.231 +         id="tspan4998">Primitive</tspan><tspan
  70.232 +         id="tspan3398"
  70.233 +         style="text-align:center;text-anchor:middle;fill:#000080"
  70.234 +         sodipodi:role="line"
  70.235 +         x="669.16797"
  70.236 +         y="487.42465">Code</tspan></text>
  70.237 +    <text
  70.238 +       xml:space="preserve"
  70.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"
  70.240 +       x="137.31689"
  70.241 +       y="573.42468"
  70.242 +       id="text3412"
  70.243 +       sodipodi:linespacing="100%"><tspan
  70.244 +         style="text-align:center;text-anchor:middle;fill:#800000"
  70.245 +         sodipodi:role="line"
  70.246 +         x="137.31689"
  70.247 +         y="573.42468"
  70.248 +         id="tspan3414">Lang Handler</tspan><tspan
  70.249 +         style="text-align:center;text-anchor:middle;fill:#800000"
  70.250 +         sodipodi:role="line"
  70.251 +         x="137.31689"
  70.252 +         y="583.42468"
  70.253 +         id="tspan3422">for create VP</tspan></text>
  70.254 +    <text
  70.255 +       xml:space="preserve"
  70.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"
  70.257 +       x="137.68066"
  70.258 +       y="621.42468"
  70.259 +       id="text3444"
  70.260 +       sodipodi:linespacing="100%"><tspan
  70.261 +         style="text-align:center;text-anchor:middle;fill:#800000"
  70.262 +         sodipodi:role="line"
  70.263 +         x="137.68066"
  70.264 +         y="621.42468"
  70.265 +         id="tspan3450">Assigner Fn</tspan></text>
  70.266 +    <text
  70.267 +       xml:space="preserve"
  70.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"
  70.269 +       x="327.16797"
  70.270 +       y="469.42465"
  70.271 +       id="text3456"
  70.272 +       sodipodi:linespacing="100%"><tspan
  70.273 +         style="text-align:center;text-anchor:middle"
  70.274 +         sodipodi:role="line"
  70.275 +         x="328.67188"
  70.276 +         y="469.42465"
  70.277 +         id="tspan3458">Instances of </tspan><tspan
  70.278 +         style="text-align:center;text-anchor:middle"
  70.279 +         sodipodi:role="line"
  70.280 +         x="327.16797"
  70.281 +         y="479.42465"
  70.282 +         id="tspan8405">runtime system</tspan><tspan
  70.283 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.284 +         sodipodi:role="line"
  70.285 +         x="327.16797"
  70.286 +         y="487.85944"
  70.287 +         id="tspan9383">(data structs</tspan><tspan
  70.288 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.289 +         sodipodi:role="line"
  70.290 +         x="327.16797"
  70.291 +         y="495.85944"
  70.292 +         id="tspan9385">on heap)</tspan><tspan
  70.293 +         id="tspan3460"
  70.294 +         style="text-align:center;text-anchor:middle"
  70.295 +         sodipodi:role="line"
  70.296 +         x="327.16797"
  70.297 +         y="503.85944" /></text>
  70.298 +    <text
  70.299 +       sodipodi:linespacing="100%"
  70.300 +       id="text3462"
  70.301 +       y="467.42465"
  70.302 +       x="423.16797"
  70.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"
  70.304 +       xml:space="preserve"><tspan
  70.305 +         id="tspan3464"
  70.306 +         y="467.42465"
  70.307 +         x="423.16797"
  70.308 +         sodipodi:role="line"
  70.309 +         style="text-align:center;text-anchor:middle">Instances of</tspan><tspan
  70.310 +         y="477.42465"
  70.311 +         x="423.16797"
  70.312 +         sodipodi:role="line"
  70.313 +         style="text-align:center;text-anchor:middle"
  70.314 +         id="tspan3468">Virtual Processors</tspan><tspan
  70.315 +         y="485.85944"
  70.316 +         x="423.16797"
  70.317 +         sodipodi:role="line"
  70.318 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.319 +         id="tspan3466">(data structs</tspan><tspan
  70.320 +         y="493.85944"
  70.321 +         x="423.16797"
  70.322 +         sodipodi:role="line"
  70.323 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.324 +         id="tspan9387">on heap)</tspan></text>
  70.325 +    <path
  70.326 +       inkscape:connector-curvature="0"
  70.327 +       id="path4796"
  70.328 +       d="m 457.32649,538.02605 c 38.42351,0 38.42351,0 38.42351,0"
  70.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)" />
  70.330 +    <text
  70.331 +       xml:space="preserve"
  70.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"
  70.333 +       x="604.78461"
  70.334 +       y="535.42468"
  70.335 +       id="text4988"
  70.336 +       sodipodi:linespacing="100%"><tspan
  70.337 +         style="text-align:center;text-anchor:middle;fill:#800000"
  70.338 +         sodipodi:role="line"
  70.339 +         x="604.78461"
  70.340 +         y="535.42468"
  70.341 +         id="tspan4990">create VP</tspan><tspan
  70.342 +         style="text-align:center;text-anchor:middle;fill:#800000"
  70.343 +         sodipodi:role="line"
  70.344 +         x="604.78461"
  70.345 +         y="545.42468"
  70.346 +         id="tspan5104">wrapper Fn</tspan></text>
  70.347 +    <text
  70.348 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  70.349 +       xml:space="preserve"
  70.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"
  70.351 +       x="640.93384"
  70.352 +       y="566.94653"
  70.353 +       id="text5064"
  70.354 +       sodipodi:linespacing="100%"><tspan
  70.355 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.356 +         sodipodi:role="line"
  70.357 +         x="640.93384"
  70.358 +         y="566.94653"
  70.359 +         id="tspan5066">Call to dyn lib</tspan></text>
  70.360 +    <path
  70.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)"
  70.362 +       d="m 291.99816,538.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
  70.363 +       id="path5068"
  70.364 +       inkscape:connector-curvature="0" />
  70.365 +    <text
  70.366 +       sodipodi:linespacing="100%"
  70.367 +       id="text5070"
  70.368 +       y="574.53986"
  70.369 +       x="148.45142"
  70.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"
  70.371 +       xml:space="preserve"
  70.372 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  70.373 +         id="tspan5072"
  70.374 +         y="574.53986"
  70.375 +         x="148.45142"
  70.376 +         sodipodi:role="line"
  70.377 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
  70.378 +    <text
  70.379 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
  70.380 +       xml:space="preserve"
  70.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"
  70.382 +       x="368.35757"
  70.383 +       y="617.21826"
  70.384 +       id="text5074"
  70.385 +       sodipodi:linespacing="100%"><tspan
  70.386 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.387 +         sodipodi:role="line"
  70.388 +         x="368.35757"
  70.389 +         y="617.21826"
  70.390 +         id="tspan5076">Top Level Fn</tspan></text>
  70.391 +    <text
  70.392 +       sodipodi:linespacing="100%"
  70.393 +       id="text5078"
  70.394 +       y="833.20477"
  70.395 +       x="326.47617"
  70.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"
  70.397 +       xml:space="preserve"
  70.398 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  70.399 +         id="tspan5080"
  70.400 +         y="833.20477"
  70.401 +         x="326.47617"
  70.402 +         sodipodi:role="line"
  70.403 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
  70.404 +    <path
  70.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)"
  70.406 +       d="m 458.9835,758.02605 c 36.7665,0 36.7665,0 36.7665,0"
  70.407 +       id="path5082"
  70.408 +       inkscape:connector-curvature="0" />
  70.409 +    <path
  70.410 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  70.411 +       d="m 514.02904,544.01894 c 0,5.6572 0,5.6572 0,5.6572"
  70.412 +       id="path5092"
  70.413 +       inkscape:connector-curvature="0"
  70.414 +       sodipodi:nodetypes="cc" />
  70.415 +    <path
  70.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)"
  70.417 +       d="m 514.24714,550.02605 c 85.56237,0 85.56237,0 85.56237,0"
  70.418 +       id="path5094"
  70.419 +       inkscape:connector-curvature="0" />
  70.420 +    <path
  70.421 +       inkscape:connector-curvature="0"
  70.422 +       id="path5096"
  70.423 +       d="m 602.77166,658.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
  70.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)" />
  70.425 +    <path
  70.426 +       sodipodi:nodetypes="cc"
  70.427 +       inkscape:connector-curvature="0"
  70.428 +       id="path5140"
  70.429 +       d="m 514.02904,658.31987 c 0,26.21842 0,26.21842 0,26.21842"
  70.430 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  70.431 +    <path
  70.432 +       inkscape:connector-curvature="0"
  70.433 +       id="path5142"
  70.434 +       d="m 514.2471,684.02605 c 87.58783,0 87.58783,0 87.58783,0"
  70.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)" />
  70.436 +    <text
  70.437 +       sodipodi:linespacing="100%"
  70.438 +       id="text5157"
  70.439 +       y="670.71179"
  70.440 +       x="604.78461"
  70.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"
  70.442 +       xml:space="preserve"><tspan
  70.443 +         id="tspan5161"
  70.444 +         y="670.71179"
  70.445 +         x="604.78461"
  70.446 +         sodipodi:role="line"
  70.447 +         style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan
  70.448 +         y="680.71179"
  70.449 +         x="604.78461"
  70.450 +         sodipodi:role="line"
  70.451 +         style="text-align:center;text-anchor:middle;fill:#800000"
  70.452 +         id="tspan5207">wrapper Fn</tspan></text>
  70.453 +    <path
  70.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)"
  70.455 +       d="m 602.26584,690.02605 c 63.99676,0 63.99676,0 63.99676,0"
  70.456 +       id="path5165"
  70.457 +       inkscape:connector-curvature="0" />
  70.458 +    <path
  70.459 +       sodipodi:nodetypes="cc"
  70.460 +       inkscape:connector-curvature="0"
  70.461 +       id="path5179"
  70.462 +       d="m 514.02904,764.01895 c 0,5.6572 0,5.6572 0,5.6572"
  70.463 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  70.464 +    <path
  70.465 +       sodipodi:nodetypes="cc"
  70.466 +       inkscape:connector-curvature="0"
  70.467 +       id="path5209"
  70.468 +       d="m 602.02904,682.31985 c 0,7.35629 0,7.35629 0,7.35629"
  70.469 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  70.470 +    <text
  70.471 +       xml:space="preserve"
  70.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"
  70.473 +       x="497.16797"
  70.474 +       y="399.42468"
  70.475 +       id="text5211"
  70.476 +       sodipodi:linespacing="100%"><tspan
  70.477 +         style="text-align:center;text-anchor:middle"
  70.478 +         sodipodi:role="line"
  70.479 +         x="497.16797"
  70.480 +         y="399.42468"
  70.481 +         id="tspan5215" /></text>
  70.482 +    <path
  70.483 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  70.484 +       d="m 602.02904,550.21843 c 0,19.4577 0,19.4577 0,19.4577"
  70.485 +       id="path5217"
  70.486 +       inkscape:connector-curvature="0"
  70.487 +       sodipodi:nodetypes="cc" />
  70.488 +    <path
  70.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)"
  70.490 +       d="m 602.24714,570.02605 c 64.71029,0 64.71029,0 64.71029,0"
  70.491 +       id="path5219"
  70.492 +       inkscape:connector-curvature="0" />
  70.493 +    <path
  70.494 +       inkscape:connector-curvature="0"
  70.495 +       id="path5221"
  70.496 +       d="m 666.85635,654.02605 c -65.78483,0 -65.78483,0 -65.78483,0"
  70.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)" />
  70.498 +    <path
  70.499 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  70.500 +       d="m 668.02904,568.63925 c 0,13.68455 0,13.68455 0,13.68455"
  70.501 +       id="path5223"
  70.502 +       inkscape:connector-curvature="0"
  70.503 +       sodipodi:nodetypes="cc" />
  70.504 +    <path
  70.505 +       sodipodi:nodetypes="cc"
  70.506 +       inkscape:connector-curvature="0"
  70.507 +       id="path5229"
  70.508 +       d="m 602.02904,653.22687 c 0,5.5885 0,5.5885 0,5.5885"
  70.509 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  70.510 +    <path
  70.511 +       sodipodi:nodetypes="cc"
  70.512 +       inkscape:connector-curvature="0"
  70.513 +       id="path5235"
  70.514 +       d="m 668.02904,640.63925 c 0,13.68455 0,13.68455 0,13.68455"
  70.515 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  70.516 +    <text
  70.517 +       sodipodi:linespacing="100%"
  70.518 +       id="text5239"
  70.519 +       y="887.21881"
  70.520 +       x="75.689163"
  70.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"
  70.522 +       xml:space="preserve"
  70.523 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  70.524 +         id="tspan5241"
  70.525 +         y="887.21881"
  70.526 +         x="75.689163"
  70.527 +         sodipodi:role="line"
  70.528 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  70.529 +         y="895.21881"
  70.530 +         x="75.689163"
  70.531 +         sodipodi:role="line"
  70.532 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.533 +         id="tspan5243">and switch</tspan><tspan
  70.534 +         y="903.21881"
  70.535 +         x="75.689163"
  70.536 +         sodipodi:role="line"
  70.537 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.538 +         id="tspan5245">to runtime</tspan></text>
  70.539 +    <path
  70.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)"
  70.541 +       d="m 271.03421,642.02605 c 193.92439,0 193.92439,0 193.92439,0"
  70.542 +       id="path5247"
  70.543 +       inkscape:connector-curvature="0" />
  70.544 +    <text
  70.545 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  70.546 +       xml:space="preserve"
  70.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"
  70.548 +       x="45.084938"
  70.549 +       y="918.83185"
  70.550 +       id="text5249"
  70.551 +       sodipodi:linespacing="100%"><tspan
  70.552 +         id="tspan5255"
  70.553 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.554 +         sodipodi:role="line"
  70.555 +         x="45.084938"
  70.556 +         y="918.83185">return</tspan><tspan
  70.557 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.558 +         sodipodi:role="line"
  70.559 +         x="45.084938"
  70.560 +         y="926.83185"
  70.561 +         id="tspan5261">from</tspan><tspan
  70.562 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.563 +         sodipodi:role="line"
  70.564 +         x="45.084938"
  70.565 +         y="934.83185"
  70.566 +         id="tspan5263">suspend</tspan></text>
  70.567 +    <text
  70.568 +       sodipodi:linespacing="100%"
  70.569 +       id="text5345"
  70.570 +       y="557.42468"
  70.571 +       x="667.38037"
  70.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"
  70.573 +       xml:space="preserve"><tspan
  70.574 +         id="tspan5349"
  70.575 +         y="557.42468"
  70.576 +         x="667.38037"
  70.577 +         sodipodi:role="line"
  70.578 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
  70.579 +         y="567.42468"
  70.580 +         x="667.38037"
  70.581 +         sodipodi:role="line"
  70.582 +         style="text-align:center;text-anchor:middle;fill:#000080"
  70.583 +         id="tspan5353">to send request</tspan></text>
  70.584 +    <text
  70.585 +       sodipodi:linespacing="100%"
  70.586 +       id="text5355"
  70.587 +       y="554.71265"
  70.588 +       x="556.00226"
  70.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"
  70.590 +       xml:space="preserve"
  70.591 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  70.592 +         id="tspan5357"
  70.593 +         y="554.71265"
  70.594 +         x="556.00226"
  70.595 +         sodipodi:role="line"
  70.596 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
  70.597 +    <path
  70.598 +       sodipodi:nodetypes="cc"
  70.599 +       inkscape:connector-curvature="0"
  70.600 +       id="path5359"
  70.601 +       d="m 668.02904,689.28283 c 0,13.68455 0,13.68455 0,13.68455"
  70.602 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  70.603 +    <text
  70.604 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  70.605 +       xml:space="preserve"
  70.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"
  70.607 +       x="-4.9486814"
  70.608 +       y="973.39014"
  70.609 +       id="text5363"
  70.610 +       sodipodi:linespacing="100%"><tspan
  70.611 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.612 +         sodipodi:role="line"
  70.613 +         x="-4.9486814"
  70.614 +         y="973.39014"
  70.615 +         id="tspan5365">suspend</tspan><tspan
  70.616 +         id="tspan5367"
  70.617 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.618 +         sodipodi:role="line"
  70.619 +         x="-4.9486814"
  70.620 +         y="981.39014">and switch</tspan><tspan
  70.621 +         id="tspan5369"
  70.622 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.623 +         sodipodi:role="line"
  70.624 +         x="-4.9486814"
  70.625 +         y="989.39014">to runtime</tspan></text>
  70.626 +    <text
  70.627 +       sodipodi:linespacing="100%"
  70.628 +       id="text5371"
  70.629 +       y="755.42468"
  70.630 +       x="604.59662"
  70.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"
  70.632 +       xml:space="preserve"><tspan
  70.633 +         id="tspan5373"
  70.634 +         y="755.42468"
  70.635 +         x="604.59662"
  70.636 +         sodipodi:role="line"
  70.637 +         style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan
  70.638 +         id="tspan5375"
  70.639 +         y="765.42468"
  70.640 +         x="604.59662"
  70.641 +         sodipodi:role="line"
  70.642 +         style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text>
  70.643 +    <path
  70.644 +       inkscape:connector-curvature="0"
  70.645 +       id="path5379"
  70.646 +       d="m 514.24714,770.02605 c 85.56237,0 85.56237,0 85.56237,0"
  70.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)" />
  70.648 +    <path
  70.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)"
  70.650 +       d="m 602.77166,870.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
  70.651 +       id="path5381"
  70.652 +       inkscape:connector-curvature="0" />
  70.653 +    <text
  70.654 +       xml:space="preserve"
  70.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"
  70.656 +       x="604.78461"
  70.657 +       y="882.71179"
  70.658 +       id="text5387"
  70.659 +       sodipodi:linespacing="100%"><tspan
  70.660 +         style="text-align:center;text-anchor:middle;fill:#800000"
  70.661 +         sodipodi:role="line"
  70.662 +         x="604.78461"
  70.663 +         y="882.71179"
  70.664 +         id="tspan5389">end VP</tspan><tspan
  70.665 +         id="tspan5391"
  70.666 +         style="text-align:center;text-anchor:middle;fill:#800000"
  70.667 +         sodipodi:role="line"
  70.668 +         x="604.78461"
  70.669 +         y="892.71179">wrapper Fn</tspan></text>
  70.670 +    <path
  70.671 +       inkscape:connector-curvature="0"
  70.672 +       id="path5393"
  70.673 +       d="m 602.289,902.02605 c 65.24023,0 65.24023,0 65.24023,0"
  70.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)" />
  70.675 +    <path
  70.676 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  70.677 +       d="m 602.02904,894.31985 c 0,7.35629 0,7.35629 0,7.35629"
  70.678 +       id="path5401"
  70.679 +       inkscape:connector-curvature="0"
  70.680 +       sodipodi:nodetypes="cc" />
  70.681 +    <path
  70.682 +       sodipodi:nodetypes="cc"
  70.683 +       inkscape:connector-curvature="0"
  70.684 +       id="path5403"
  70.685 +       d="m 602.02904,770.21843 c 0,19.4577 0,19.4577 0,19.4577"
  70.686 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  70.687 +    <path
  70.688 +       inkscape:connector-curvature="0"
  70.689 +       id="path5405"
  70.690 +       d="m 602.6148,790.02605 c 64.1779,0 64.1779,0 64.1779,0"
  70.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)" />
  70.692 +    <path
  70.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)"
  70.694 +       d="m 668.13452,866.02605 c -67.06305,0 -67.06305,0 -67.06305,0"
  70.695 +       id="path5407"
  70.696 +       inkscape:connector-curvature="0" />
  70.697 +    <path
  70.698 +       sodipodi:nodetypes="cc"
  70.699 +       inkscape:connector-curvature="0"
  70.700 +       id="path5409"
  70.701 +       d="m 668.02904,788.63925 c 0,13.68455 0,13.68455 0,13.68455"
  70.702 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  70.703 +    <path
  70.704 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  70.705 +       d="m 602.02904,865.22687 c 0,5.5885 0,5.5885 0,5.5885"
  70.706 +       id="path5411"
  70.707 +       inkscape:connector-curvature="0"
  70.708 +       sodipodi:nodetypes="cc" />
  70.709 +    <path
  70.710 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  70.711 +       d="m 668.02904,852.63925 c 0,13.68455 0,13.68455 0,13.68455"
  70.712 +       id="path5417"
  70.713 +       inkscape:connector-curvature="0"
  70.714 +       sodipodi:nodetypes="cc" />
  70.715 +    <text
  70.716 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  70.717 +       xml:space="preserve"
  70.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"
  70.719 +       x="-74.503059"
  70.720 +       y="1045.2394"
  70.721 +       id="text5421"
  70.722 +       sodipodi:linespacing="100%"><tspan
  70.723 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.724 +         sodipodi:role="line"
  70.725 +         x="-74.503059"
  70.726 +         y="1045.2394"
  70.727 +         id="tspan5423">suspend</tspan><tspan
  70.728 +         id="tspan5425"
  70.729 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.730 +         sodipodi:role="line"
  70.731 +         x="-74.503059"
  70.732 +         y="1053.2394">and switch</tspan><tspan
  70.733 +         id="tspan5427"
  70.734 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.735 +         sodipodi:role="line"
  70.736 +         x="-74.503059"
  70.737 +         y="1061.2394">to runtime</tspan></text>
  70.738 +    <text
  70.739 +       sodipodi:linespacing="100%"
  70.740 +       id="text5431"
  70.741 +       y="1071.1506"
  70.742 +       x="-102.37076"
  70.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"
  70.744 +       xml:space="preserve"
  70.745 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  70.746 +         y="1071.1506"
  70.747 +         x="-102.37076"
  70.748 +         sodipodi:role="line"
  70.749 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.750 +         id="tspan5433">return</tspan><tspan
  70.751 +         id="tspan5435"
  70.752 +         y="1079.1506"
  70.753 +         x="-102.37076"
  70.754 +         sodipodi:role="line"
  70.755 +         style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan
  70.756 +         id="tspan5437"
  70.757 +         y="1087.1506"
  70.758 +         x="-102.37076"
  70.759 +         sodipodi:role="line"
  70.760 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
  70.761 +    <text
  70.762 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  70.763 +       xml:space="preserve"
  70.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"
  70.765 +       x="556.96783"
  70.766 +       y="774.71014"
  70.767 +       id="text5445"
  70.768 +       sodipodi:linespacing="100%"><tspan
  70.769 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.770 +         sodipodi:role="line"
  70.771 +         x="556.96783"
  70.772 +         y="774.71014"
  70.773 +         id="tspan5447">normal call</tspan></text>
  70.774 +    <path
  70.775 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  70.776 +       d="m 668.02904,901.28283 c 0,13.68455 0,13.68455 0,13.68455"
  70.777 +       id="path5449"
  70.778 +       inkscape:connector-curvature="0"
  70.779 +       sodipodi:nodetypes="cc" />
  70.780 +    <text
  70.781 +       sodipodi:linespacing="100%"
  70.782 +       id="text5453"
  70.783 +       y="1128.538"
  70.784 +       x="-152.3584"
  70.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"
  70.786 +       xml:space="preserve"
  70.787 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  70.788 +         id="tspan5455"
  70.789 +         y="1128.538"
  70.790 +         x="-152.3584"
  70.791 +         sodipodi:role="line"
  70.792 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  70.793 +         y="1136.538"
  70.794 +         x="-152.3584"
  70.795 +         sodipodi:role="line"
  70.796 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.797 +         id="tspan5457">and switch</tspan><tspan
  70.798 +         y="1144.538"
  70.799 +         x="-152.3584"
  70.800 +         sodipodi:role="line"
  70.801 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.802 +         id="tspan5459">to runtime</tspan></text>
  70.803 +    <path
  70.804 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  70.805 +       d="m 514.02904,870.31987 c 0,26.21842 0,26.21842 0,26.21842"
  70.806 +       id="path5461"
  70.807 +       inkscape:connector-curvature="0"
  70.808 +       sodipodi:nodetypes="cc" />
  70.809 +    <path
  70.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)"
  70.811 +       d="m 514.2471,896.02605 c 87.58783,0 87.58783,0 87.58783,0"
  70.812 +       id="path5463"
  70.813 +       inkscape:connector-curvature="0" />
  70.814 +    <text
  70.815 +       sodipodi:linespacing="100%"
  70.816 +       id="text5465"
  70.817 +       y="688.71033"
  70.818 +       x="556.59009"
  70.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"
  70.820 +       xml:space="preserve"
  70.821 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  70.822 +         id="tspan5467"
  70.823 +         y="688.71033"
  70.824 +         x="556.59009"
  70.825 +         sodipodi:role="line"
  70.826 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
  70.827 +    <text
  70.828 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  70.829 +       xml:space="preserve"
  70.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"
  70.831 +       x="557.52142"
  70.832 +       y="900.70972"
  70.833 +       id="text5469"
  70.834 +       sodipodi:linespacing="100%"><tspan
  70.835 +         style="font-size:8px;text-align:center;text-anchor:middle"
  70.836 +         sodipodi:role="line"
  70.837 +         x="557.52142"
  70.838 +         y="900.70972"
  70.839 +         id="tspan5471">normal call</tspan></text>
  70.840 +    <g
  70.841 +       transform="matrix(1,0,0,0.71130685,-16,282.52913)"
  70.842 +       id="g8395">
  70.843 +      <rect
  70.844 +         y="313.58255"
  70.845 +         x="310.40247"
  70.846 +         height="52.250008"
  70.847 +         width="65.276405"
  70.848 +         id="rect8397"
  70.849 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  70.850 +    </g>
  70.851 +    <path
  70.852 +       sodipodi:nodetypes="cc"
  70.853 +       inkscape:connector-curvature="0"
  70.854 +       id="path9273"
  70.855 +       d="m 514.02904,658.31987 c 0,26.21842 0,26.21842 0,26.21842"
  70.856 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  70.857 +    <path
  70.858 +       sodipodi:nodetypes="cc"
  70.859 +       inkscape:connector-curvature="0"
  70.860 +       id="path9275"
  70.861 +       d="m 476.02904,544.79398 c 0,35.61575 0,35.61575 0,35.61575"
  70.862 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
  70.863 +    <path
  70.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"
  70.865 +       d="m 468.24715,580.02605 c 13.34137,0 13.34137,0 13.34137,0"
  70.866 +       id="path9277"
  70.867 +       inkscape:connector-curvature="0" />
  70.868 +    <path
  70.869 +       inkscape:connector-curvature="0"
  70.870 +       id="path9279"
  70.871 +       d="m 481.57781,642.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
  70.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" />
  70.873 +    <path
  70.874 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  70.875 +       d="m 476.02904,642.3113 c 0,57.40944 0,57.40944 0,57.40944"
  70.876 +       id="path9281"
  70.877 +       inkscape:connector-curvature="0"
  70.878 +       sodipodi:nodetypes="cc" />
  70.879 +    <path
  70.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"
  70.881 +       d="m 481.57781,701.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
  70.882 +       id="path9283"
  70.883 +       inkscape:connector-curvature="0" />
  70.884 +    <text
  70.885 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"
  70.886 +       xml:space="preserve"
  70.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"
  70.888 +       x="615.90454"
  70.889 +       y="-469.42978"
  70.890 +       id="text9285"
  70.891 +       sodipodi:linespacing="100%"><tspan
  70.892 +         style="text-align:center;text-anchor:middle;fill:#008000"
  70.893 +         sodipodi:role="line"
  70.894 +         x="615.90454"
  70.895 +         y="-469.42978"
  70.896 +         id="tspan9287">Timeline of SeedVP</tspan></text>
  70.897 +    <text
  70.898 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  70.899 +       xml:space="preserve"
  70.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"
  70.901 +       x="486.10849"
  70.902 +       y="579.01941"
  70.903 +       id="text9289"
  70.904 +       sodipodi:linespacing="100%"><tspan
  70.905 +         style="font-size:8px;text-align:start;text-anchor:start"
  70.906 +         sodipodi:role="line"
  70.907 +         x="486.10849"
  70.908 +         y="579.01941"
  70.909 +         id="tspan9291">suspend</tspan></text>
  70.910 +    <text
  70.911 +       sodipodi:linespacing="100%"
  70.912 +       id="text9293"
  70.913 +       y="643.01886"
  70.914 +       x="486.38965"
  70.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"
  70.916 +       xml:space="preserve"
  70.917 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  70.918 +         id="tspan9295"
  70.919 +         y="643.01886"
  70.920 +         x="486.38965"
  70.921 +         sodipodi:role="line"
  70.922 +         style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text>
  70.923 +    <text
  70.924 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  70.925 +       xml:space="preserve"
  70.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"
  70.927 +       x="486.64105"
  70.928 +       y="700.22437"
  70.929 +       id="text9297"
  70.930 +       sodipodi:linespacing="100%"><tspan
  70.931 +         style="font-size:8px;text-align:start;text-anchor:start"
  70.932 +         sodipodi:role="line"
  70.933 +         x="486.64105"
  70.934 +         y="700.22437"
  70.935 +         id="tspan9299">end</tspan></text>
  70.936 +    <text
  70.937 +       sodipodi:linespacing="100%"
  70.938 +       id="text9301"
  70.939 +       y="467.42465"
  70.940 +       x="63.167969"
  70.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"
  70.942 +       xml:space="preserve"><tspan
  70.943 +         id="tspan9303"
  70.944 +         y="467.42465"
  70.945 +         x="63.167969"
  70.946 +         sodipodi:role="line"
  70.947 +         style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan
  70.948 +         id="tspan9305"
  70.949 +         y="477.42465"
  70.950 +         x="63.167969"
  70.951 +         sodipodi:role="line"
  70.952 +         style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan
  70.953 +         y="487.42465"
  70.954 +         x="63.167969"
  70.955 +         sodipodi:role="line"
  70.956 +         style="text-align:center;text-anchor:middle;fill:#000080"
  70.957 +         id="tspan9307">Code</tspan></text>
  70.958 +    <text
  70.959 +       xml:space="preserve"
  70.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"
  70.961 +       x="65.380371"
  70.962 +       y="585.42468"
  70.963 +       id="text9309"
  70.964 +       sodipodi:linespacing="100%"><tspan
  70.965 +         id="tspan9313"
  70.966 +         style="text-align:center;text-anchor:middle;fill:#000080"
  70.967 +         sodipodi:role="line"
  70.968 +         x="65.380371"
  70.969 +         y="585.42468">PR primitive Fn</tspan><tspan
  70.970 +         style="text-align:center;text-anchor:middle;fill:#000080"
  70.971 +         sodipodi:role="line"
  70.972 +         x="65.380371"
  70.973 +         y="595.42468"
  70.974 +         id="tspan9317">to create VP</tspan></text>
  70.975 +    <path
  70.976 +       inkscape:connector-curvature="0"
  70.977 +       id="path9321"
  70.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"
  70.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)"
  70.980 +       sodipodi:nodetypes="csc" />
  70.981 +    <g
  70.982 +       id="g9341"
  70.983 +       transform="translate(44.002789,336)">
  70.984 +      <rect
  70.985 +         y="389.58255"
  70.986 +         x="346.40247"
  70.987 +         height="37.165791"
  70.988 +         width="65.276405"
  70.989 +         id="rect9343"
  70.990 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  70.991 +      <text
  70.992 +         xml:space="preserve"
  70.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"
  70.994 +         x="379.35806"
  70.995 +         y="400.72159"
  70.996 +         id="text9345"
  70.997 +         sodipodi:linespacing="100%"><tspan
  70.998 +           style="text-align:center;text-anchor:middle;fill:#008000"
  70.999 +           sodipodi:role="line"
 70.1000 +           x="379.35806"
 70.1001 +           y="400.72159"
 70.1002 +           id="tspan9347">VP 1</tspan><tspan
 70.1003 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
 70.1004 +           sodipodi:role="line"
 70.1005 +           x="379.35806"
 70.1006 +           y="409.15637"
 70.1007 +           id="tspan9349">(created by</tspan><tspan
 70.1008 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
 70.1009 +           sodipodi:role="line"
 70.1010 +           x="379.35806"
 70.1011 +           y="417.15637"
 70.1012 +           id="tspan9355">application,</tspan><tspan
 70.1013 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
 70.1014 +           sodipodi:role="line"
 70.1015 +           x="379.35806"
 70.1016 +           y="425.15637"
 70.1017 +           id="tspan9746">on core 2)</tspan></text>
 70.1018 +    </g>
 70.1019 +    <g
 70.1020 +       transform="translate(44.002789,370)"
 70.1021 +       id="g9371" />
 70.1022 +    <text
 70.1023 +       xml:space="preserve"
 70.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"
 70.1025 +       x="202.41257"
 70.1026 +       y="541.42468"
 70.1027 +       id="text9512"
 70.1028 +       sodipodi:linespacing="100%"><tspan
 70.1029 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1030 +         sodipodi:role="line"
 70.1031 +         x="202.41257"
 70.1032 +         y="541.42468"
 70.1033 +         id="tspan9514">Master Fn</tspan></text>
 70.1034 +    <path
 70.1035 +       sodipodi:nodetypes="cc"
 70.1036 +       inkscape:connector-curvature="0"
 70.1037 +       id="path9522"
 70.1038 +       d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1039 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.1040 +    <path
 70.1041 +       inkscape:connector-curvature="0"
 70.1042 +       id="path9524"
 70.1043 +       d="m 205.05995,586.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 70.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)" />
 70.1045 +    <path
 70.1046 +       sodipodi:nodetypes="cc"
 70.1047 +       inkscape:connector-curvature="0"
 70.1048 +       id="path9548"
 70.1049 +       d="m 137.27805,585.85824 c 0,11.43122 0,11.43122 0,11.43122"
 70.1050 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.1051 +    <path
 70.1052 +       inkscape:connector-curvature="0"
 70.1053 +       id="path9550"
 70.1054 +       d="m 137.57123,598.02605 c -69.22157,0 -69.22157,0 -69.22157,0"
 70.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)" />
 70.1056 +    <path
 70.1057 +       sodipodi:nodetypes="cc"
 70.1058 +       inkscape:connector-curvature="0"
 70.1059 +       id="path9554"
 70.1060 +       d="m 205.27805,636.63925 c 0,4.54718 0,4.54718 0,4.54718"
 70.1061 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.1062 +    <text
 70.1063 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 70.1064 +       xml:space="preserve"
 70.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"
 70.1066 +       x="-300.35513"
 70.1067 +       y="609.46997"
 70.1068 +       id="text9566"
 70.1069 +       sodipodi:linespacing="100%"><tspan
 70.1070 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1071 +         sodipodi:role="line"
 70.1072 +         x="-300.35513"
 70.1073 +         y="609.46997"
 70.1074 +         id="tspan9568">suspend</tspan><tspan
 70.1075 +         id="tspan9570"
 70.1076 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1077 +         sodipodi:role="line"
 70.1078 +         x="-300.35513"
 70.1079 +         y="617.46997">and switch</tspan><tspan
 70.1080 +         id="tspan9572"
 70.1081 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1082 +         sodipodi:role="line"
 70.1083 +         x="-300.35513"
 70.1084 +         y="625.46997">to app VP</tspan></text>
 70.1085 +    <path
 70.1086 +       sodipodi:nodetypes="cc"
 70.1087 +       inkscape:connector-curvature="0"
 70.1088 +       id="path9614"
 70.1089 +       d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1090 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.1091 +    <path
 70.1092 +       sodipodi:nodetypes="cc"
 70.1093 +       inkscape:connector-curvature="0"
 70.1094 +       id="path9616"
 70.1095 +       d="m 205.27805,580.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1096 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.1097 +    <path
 70.1098 +       inkscape:connector-curvature="0"
 70.1099 +       id="path9648"
 70.1100 +       d="m 468.24715,545.42364 c 13.34137,0 13.34137,0 13.34137,0"
 70.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" />
 70.1102 +    <text
 70.1103 +       sodipodi:linespacing="100%"
 70.1104 +       id="text9654"
 70.1105 +       y="547.021"
 70.1106 +       x="485.96786"
 70.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"
 70.1108 +       xml:space="preserve"
 70.1109 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 70.1110 +         id="tspan9656"
 70.1111 +         y="547.021"
 70.1112 +         x="485.96786"
 70.1113 +         sodipodi:role="line"
 70.1114 +         style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text>
 70.1115 +    <path
 70.1116 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
 70.1117 +       d="m 476.02904,764.79398 c 0,35.61575 0,35.61575 0,35.61575"
 70.1118 +       id="path9658"
 70.1119 +       inkscape:connector-curvature="0"
 70.1120 +       sodipodi:nodetypes="cc" />
 70.1121 +    <path
 70.1122 +       inkscape:connector-curvature="0"
 70.1123 +       id="path9660"
 70.1124 +       d="m 468.24715,800.02605 c 13.34137,0 13.34137,0 13.34137,0"
 70.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" />
 70.1126 +    <path
 70.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"
 70.1128 +       d="m 481.57781,854.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 70.1129 +       id="path9662"
 70.1130 +       inkscape:connector-curvature="0" />
 70.1131 +    <text
 70.1132 +       sodipodi:linespacing="100%"
 70.1133 +       id="text9668"
 70.1134 +       y="-467.51968"
 70.1135 +       x="833.97864"
 70.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"
 70.1137 +       xml:space="preserve"
 70.1138 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan
 70.1139 +         y="-467.51968"
 70.1140 +         x="833.97864"
 70.1141 +         sodipodi:role="line"
 70.1142 +         style="text-align:center;text-anchor:middle;fill:#008000"
 70.1143 +         id="tspan9740">Timeline of VP 1</tspan></text>
 70.1144 +    <text
 70.1145 +       sodipodi:linespacing="100%"
 70.1146 +       id="text9672"
 70.1147 +       y="799.01776"
 70.1148 +       x="487.07419"
 70.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"
 70.1150 +       xml:space="preserve"
 70.1151 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 70.1152 +         id="tspan9674"
 70.1153 +         y="799.01776"
 70.1154 +         x="487.07419"
 70.1155 +         sodipodi:role="line"
 70.1156 +         style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text>
 70.1157 +    <text
 70.1158 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.1159 +       xml:space="preserve"
 70.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"
 70.1161 +       x="487.32007"
 70.1162 +       y="855.01727"
 70.1163 +       id="text9676"
 70.1164 +       sodipodi:linespacing="100%"><tspan
 70.1165 +         style="font-size:8px;text-align:start;text-anchor:start"
 70.1166 +         sodipodi:role="line"
 70.1167 +         x="487.32007"
 70.1168 +         y="855.01727"
 70.1169 +         id="tspan9678">resume</tspan></text>
 70.1170 +    <path
 70.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"
 70.1172 +       d="m 468.24715,765.42364 c 13.34137,0 13.34137,0 13.34137,0"
 70.1173 +       id="path9684"
 70.1174 +       inkscape:connector-curvature="0" />
 70.1175 +    <text
 70.1176 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.1177 +       xml:space="preserve"
 70.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"
 70.1179 +       x="486.93356"
 70.1180 +       y="767.01935"
 70.1181 +       id="text9686"
 70.1182 +       sodipodi:linespacing="100%"><tspan
 70.1183 +         style="font-size:8px;text-align:start;text-anchor:start"
 70.1184 +         sodipodi:role="line"
 70.1185 +         x="486.93356"
 70.1186 +         y="767.01935"
 70.1187 +         id="tspan9688">start</tspan></text>
 70.1188 +    <path
 70.1189 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
 70.1190 +       d="m 266.02904,579.4311 c 0,61.88904 0,61.88904 0,61.88904"
 70.1191 +       id="path9690"
 70.1192 +       inkscape:connector-curvature="0"
 70.1193 +       sodipodi:nodetypes="cc" />
 70.1194 +    <path
 70.1195 +       inkscape:connector-curvature="0"
 70.1196 +       id="path9692"
 70.1197 +       d="m 258.24715,580.02605 c 13.34137,0 13.34137,0 13.34137,0"
 70.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" />
 70.1199 +    <path
 70.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"
 70.1201 +       d="m 271.57781,642.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 70.1202 +       id="path9694"
 70.1203 +       inkscape:connector-curvature="0" />
 70.1204 +    <text
 70.1205 +       sodipodi:linespacing="100%"
 70.1206 +       id="text9700"
 70.1207 +       y="-276.31772"
 70.1208 +       x="625.34003"
 70.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"
 70.1210 +       xml:space="preserve"
 70.1211 +       transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"><tspan
 70.1212 +         y="-276.31772"
 70.1213 +         x="625.34003"
 70.1214 +         sodipodi:role="line"
 70.1215 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1216 +         id="tspan9736">Timeline of Master on core 1</tspan></text>
 70.1217 +    <text
 70.1218 +       sodipodi:linespacing="100%"
 70.1219 +       id="text9704"
 70.1220 +       y="642.12531"
 70.1221 +       x="262.08206"
 70.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"
 70.1223 +       xml:space="preserve"
 70.1224 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 70.1225 +         id="tspan9706"
 70.1226 +         y="642.12531"
 70.1227 +         x="262.08206"
 70.1228 +         sodipodi:role="line"
 70.1229 +         style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text>
 70.1230 +    <text
 70.1231 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.1232 +       xml:space="preserve"
 70.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"
 70.1234 +       x="259.36166"
 70.1235 +       y="582.12573"
 70.1236 +       id="text9708"
 70.1237 +       sodipodi:linespacing="100%"><tspan
 70.1238 +         style="font-size:8px;text-align:end;text-anchor:end"
 70.1239 +         sodipodi:role="line"
 70.1240 +         x="259.36166"
 70.1241 +         y="582.12573"
 70.1242 +         id="tspan9710">resume</tspan></text>
 70.1243 +    <path
 70.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"
 70.1245 +       d="m 258.24715,545.42364 c 13.34137,0 13.34137,0 13.34137,0"
 70.1246 +       id="path9716"
 70.1247 +       inkscape:connector-curvature="0" />
 70.1248 +    <text
 70.1249 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.1250 +       xml:space="preserve"
 70.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"
 70.1252 +       x="258.41916"
 70.1253 +       y="548.09222"
 70.1254 +       id="text9718"
 70.1255 +       sodipodi:linespacing="100%"><tspan
 70.1256 +         style="font-size:8px;text-align:end;text-anchor:end"
 70.1257 +         sodipodi:role="line"
 70.1258 +         x="258.41916"
 70.1259 +         y="548.09222"
 70.1260 +         id="tspan9720">start</tspan></text>
 70.1261 +    <path
 70.1262 +       sodipodi:nodetypes="cc"
 70.1263 +       inkscape:connector-curvature="0"
 70.1264 +       id="path9722"
 70.1265 +       d="m 266.02904,699.43112 c 0,10.33165 0,10.33165 0,10.33165"
 70.1266 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
 70.1267 +    <path
 70.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"
 70.1269 +       d="m 258.24715,700.02605 c 13.34137,0 13.34137,0 13.34137,0"
 70.1270 +       id="path9724"
 70.1271 +       inkscape:connector-curvature="0" />
 70.1272 +    <text
 70.1273 +       sodipodi:linespacing="100%"
 70.1274 +       id="text9936"
 70.1275 +       y="786.9176"
 70.1276 +       x="644.57471"
 70.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"
 70.1278 +       xml:space="preserve"
 70.1279 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 70.1280 +         id="tspan9938"
 70.1281 +         y="786.9176"
 70.1282 +         x="644.57471"
 70.1283 +         sodipodi:role="line"
 70.1284 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
 70.1285 +    <text
 70.1286 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 70.1287 +       xml:space="preserve"
 70.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"
 70.1289 +       x="646.42737"
 70.1290 +       y="898.90509"
 70.1291 +       id="text9940"
 70.1292 +       sodipodi:linespacing="100%"><tspan
 70.1293 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1294 +         sodipodi:role="line"
 70.1295 +         x="646.42737"
 70.1296 +         y="898.90509"
 70.1297 +         id="tspan9942">Call to dyn lib</tspan></text>
 70.1298 +    <text
 70.1299 +       sodipodi:linespacing="100%"
 70.1300 +       id="text9944"
 70.1301 +       y="686.93219"
 70.1302 +       x="642.91998"
 70.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"
 70.1304 +       xml:space="preserve"
 70.1305 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 70.1306 +         id="tspan9946"
 70.1307 +         y="686.93219"
 70.1308 +         x="642.91998"
 70.1309 +         sodipodi:role="line"
 70.1310 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
 70.1311 +    <text
 70.1312 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 70.1313 +       xml:space="preserve"
 70.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"
 70.1315 +       x="115.47029"
 70.1316 +       y="603.64581"
 70.1317 +       id="text9948"
 70.1318 +       sodipodi:linespacing="100%"><tspan
 70.1319 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1320 +         sodipodi:role="line"
 70.1321 +         x="115.47029"
 70.1322 +         y="603.64581"
 70.1323 +         id="tspan9950">call to dyn lib</tspan></text>
 70.1324 +    <path
 70.1325 +       inkscape:connector-curvature="0"
 70.1326 +       id="path9952"
 70.1327 +       d="m 701.67453,642.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 70.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" />
 70.1329 +    <path
 70.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"
 70.1331 +       d="m 701.67453,579.52981 c -669.895225,0 -669.895225,0 -669.895225,0"
 70.1332 +       id="path9954"
 70.1333 +       inkscape:connector-curvature="0" />
 70.1334 +    <text
 70.1335 +       xml:space="preserve"
 70.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"
 70.1337 +       x="326.92542"
 70.1338 +       y="739.76575"
 70.1339 +       id="text9956"
 70.1340 +       sodipodi:linespacing="100%"><tspan
 70.1341 +         style="text-align:center;text-anchor:middle"
 70.1342 +         sodipodi:role="line"
 70.1343 +         id="tspan9958"
 70.1344 +         x="326.92542"
 70.1345 +         y="739.76575">Master</tspan><tspan
 70.1346 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1347 +         id="tspan9960"
 70.1348 +         sodipodi:role="line"
 70.1349 +         x="326.92542"
 70.1350 +         y="748.2005">(runtime system)</tspan><tspan
 70.1351 +         id="tspan9962"
 70.1352 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1353 +         sodipodi:role="line"
 70.1354 +         x="326.92542"
 70.1355 +         y="756.2005">on core 2</tspan></text>
 70.1356 +    <path
 70.1357 +       inkscape:connector-curvature="0"
 70.1358 +       id="path9970"
 70.1359 +       d="m 291.99816,758.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
 70.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)" />
 70.1361 +    <g
 70.1362 +       id="g9972"
 70.1363 +       transform="matrix(1,0,0,0.71130685,-16,504.52913)">
 70.1364 +      <rect
 70.1365 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 70.1366 +         id="rect9974"
 70.1367 +         width="65.276405"
 70.1368 +         height="52.250008"
 70.1369 +         x="310.40247"
 70.1370 +         y="313.58255" />
 70.1371 +    </g>
 70.1372 +    <text
 70.1373 +       sodipodi:linespacing="100%"
 70.1374 +       id="text9982"
 70.1375 +       y="761.42468"
 70.1376 +       x="202.41257"
 70.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"
 70.1378 +       xml:space="preserve"><tspan
 70.1379 +         id="tspan9984"
 70.1380 +         y="761.42468"
 70.1381 +         x="202.41257"
 70.1382 +         sodipodi:role="line"
 70.1383 +         style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text>
 70.1384 +    <path
 70.1385 +       sodipodi:nodetypes="cc"
 70.1386 +       inkscape:connector-curvature="0"
 70.1387 +       id="path10010"
 70.1388 +       d="m 266.02904,799.43113 c 0,54.93536 0,54.93536 0,54.93536"
 70.1389 +       style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
 70.1390 +    <path
 70.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"
 70.1392 +       d="m 258.24715,800.02605 c 13.34137,0 13.34137,0 13.34137,0"
 70.1393 +       id="path10012"
 70.1394 +       inkscape:connector-curvature="0" />
 70.1395 +    <path
 70.1396 +       inkscape:connector-curvature="0"
 70.1397 +       id="path10014"
 70.1398 +       d="m 271.57781,854.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 70.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" />
 70.1400 +    <text
 70.1401 +       transform="matrix(0.00962718,0.99995366,-0.99995366,0.00962718,0,0)"
 70.1402 +       xml:space="preserve"
 70.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"
 70.1404 +       x="837.37762"
 70.1405 +       y="-273.75269"
 70.1406 +       id="text10018"
 70.1407 +       sodipodi:linespacing="100%"><tspan
 70.1408 +         id="tspan10020"
 70.1409 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1410 +         sodipodi:role="line"
 70.1411 +         x="837.37762"
 70.1412 +         y="-273.75269">Timeline of Master on core 2</tspan></text>
 70.1413 +    <path
 70.1414 +       inkscape:connector-curvature="0"
 70.1415 +       id="path10030"
 70.1416 +       d="m 258.24715,765.42364 c 13.34137,0 13.34137,0 13.34137,0"
 70.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" />
 70.1418 +    <path
 70.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"
 70.1420 +       d="m 205.27805,543.45805 c 0,3.23577 0,3.23577 0,3.23577"
 70.1421 +       id="path10054"
 70.1422 +       inkscape:connector-curvature="0"
 70.1423 +       sodipodi:nodetypes="cc" />
 70.1424 +    <path
 70.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"
 70.1426 +       d="m 701.67453,854.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 70.1427 +       id="path10056"
 70.1428 +       inkscape:connector-curvature="0" />
 70.1429 +    <path
 70.1430 +       inkscape:connector-curvature="0"
 70.1431 +       id="path10058"
 70.1432 +       d="m 701.67453,799.52981 c -669.895225,0 -669.895225,0 -669.895225,0"
 70.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" />
 70.1434 +    <text
 70.1435 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 70.1436 +       xml:space="preserve"
 70.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"
 70.1438 +       x="-248.43199"
 70.1439 +       y="551.17401"
 70.1440 +       id="text10062"
 70.1441 +       sodipodi:linespacing="100%"><tspan
 70.1442 +         id="tspan10068"
 70.1443 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1444 +         sodipodi:role="line"
 70.1445 +         x="-248.43199"
 70.1446 +         y="551.17401">return from</tspan><tspan
 70.1447 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1448 +         sodipodi:role="line"
 70.1449 +         x="-248.43199"
 70.1450 +         y="559.17401"
 70.1451 +         id="tspan10074">suspend</tspan></text>
 70.1452 +    <path
 70.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"
 70.1454 +       d="m 701.67453,700.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 70.1455 +       id="path10076"
 70.1456 +       inkscape:connector-curvature="0" />
 70.1457 +    <text
 70.1458 +       xml:space="preserve"
 70.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"
 70.1460 +       x="667.38037"
 70.1461 +       y="677.42468"
 70.1462 +       id="text10082"
 70.1463 +       sodipodi:linespacing="100%"><tspan
 70.1464 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1465 +         sodipodi:role="line"
 70.1466 +         x="667.38037"
 70.1467 +         y="677.42468"
 70.1468 +         id="tspan10084">PR primitive Fn</tspan><tspan
 70.1469 +         id="tspan10086"
 70.1470 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1471 +         sodipodi:role="line"
 70.1472 +         x="667.38037"
 70.1473 +         y="687.42468">to send request</tspan></text>
 70.1474 +    <text
 70.1475 +       sodipodi:linespacing="100%"
 70.1476 +       id="text10088"
 70.1477 +       y="777.42468"
 70.1478 +       x="667.38037"
 70.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"
 70.1480 +       xml:space="preserve"><tspan
 70.1481 +         id="tspan10090"
 70.1482 +         y="777.42468"
 70.1483 +         x="667.38037"
 70.1484 +         sodipodi:role="line"
 70.1485 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
 70.1486 +         y="787.42468"
 70.1487 +         x="667.38037"
 70.1488 +         sodipodi:role="line"
 70.1489 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1490 +         id="tspan10092">to send request</tspan></text>
 70.1491 +    <text
 70.1492 +       xml:space="preserve"
 70.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"
 70.1494 +       x="667.38037"
 70.1495 +       y="889.42468"
 70.1496 +       id="text10094"
 70.1497 +       sodipodi:linespacing="100%"><tspan
 70.1498 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1499 +         sodipodi:role="line"
 70.1500 +         x="667.38037"
 70.1501 +         y="889.42468"
 70.1502 +         id="tspan10096">PR primitive Fn</tspan><tspan
 70.1503 +         id="tspan10098"
 70.1504 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1505 +         sodipodi:role="line"
 70.1506 +         x="667.38037"
 70.1507 +         y="899.42468">to send request</tspan></text>
 70.1508 +    <path
 70.1509 +       sodipodi:nodetypes="cc"
 70.1510 +       inkscape:connector-curvature="0"
 70.1511 +       id="path10100"
 70.1512 +       d="m 476.02904,854.3113 c 0,57.40944 0,57.40944 0,57.40944"
 70.1513 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
 70.1514 +    <path
 70.1515 +       inkscape:connector-curvature="0"
 70.1516 +       id="path10102"
 70.1517 +       d="m 481.57781,913.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
 70.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" />
 70.1519 +    <text
 70.1520 +       sodipodi:linespacing="100%"
 70.1521 +       id="text10104"
 70.1522 +       y="912.22235"
 70.1523 +       x="487.57166"
 70.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"
 70.1525 +       xml:space="preserve"
 70.1526 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 70.1527 +         id="tspan10106"
 70.1528 +         y="912.22235"
 70.1529 +         x="487.57166"
 70.1530 +         sodipodi:role="line"
 70.1531 +         style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text>
 70.1532 +    <path
 70.1533 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
 70.1534 +       d="m 266.02904,911.43112 c 0,10.33165 0,10.33165 0,10.33165"
 70.1535 +       id="path10108"
 70.1536 +       inkscape:connector-curvature="0"
 70.1537 +       sodipodi:nodetypes="cc" />
 70.1538 +    <path
 70.1539 +       inkscape:connector-curvature="0"
 70.1540 +       id="path10110"
 70.1541 +       d="m 258.24715,912.02605 c 13.34137,0 13.34137,0 13.34137,0"
 70.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" />
 70.1543 +    <path
 70.1544 +       inkscape:connector-curvature="0"
 70.1545 +       id="path10116"
 70.1546 +       d="m 701.67453,912.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 70.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" />
 70.1548 +    <text
 70.1549 +       sodipodi:linespacing="100%"
 70.1550 +       id="text10118"
 70.1551 +       y="702.12524"
 70.1552 +       x="259.88855"
 70.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"
 70.1554 +       xml:space="preserve"
 70.1555 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 70.1556 +         id="tspan10120"
 70.1557 +         y="702.12524"
 70.1558 +         x="259.88855"
 70.1559 +         sodipodi:role="line"
 70.1560 +         style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text>
 70.1561 +    <text
 70.1562 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.1563 +       xml:space="preserve"
 70.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"
 70.1565 +       x="260.32755"
 70.1566 +       y="802.12433"
 70.1567 +       id="text10122"
 70.1568 +       sodipodi:linespacing="100%"><tspan
 70.1569 +         style="font-size:8px;text-align:end;text-anchor:end"
 70.1570 +         sodipodi:role="line"
 70.1571 +         x="260.32755"
 70.1572 +         y="802.12433"
 70.1573 +         id="tspan10124">resume</tspan></text>
 70.1574 +    <text
 70.1575 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.1576 +       xml:space="preserve"
 70.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"
 70.1578 +       x="263.01257"
 70.1579 +       y="854.12366"
 70.1580 +       id="text10126"
 70.1581 +       sodipodi:linespacing="100%"><tspan
 70.1582 +         style="font-size:8px;text-align:end;text-anchor:end"
 70.1583 +         sodipodi:role="line"
 70.1584 +         x="263.01257"
 70.1585 +         y="854.12366"
 70.1586 +         id="tspan10128">suspend</tspan></text>
 70.1587 +    <text
 70.1588 +       sodipodi:linespacing="100%"
 70.1589 +       id="text10130"
 70.1590 +       y="768.09064"
 70.1591 +       x="259.38495"
 70.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"
 70.1593 +       xml:space="preserve"
 70.1594 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 70.1595 +         id="tspan10132"
 70.1596 +         y="768.09064"
 70.1597 +         x="259.38495"
 70.1598 +         sodipodi:role="line"
 70.1599 +         style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text>
 70.1600 +    <text
 70.1601 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.1602 +       xml:space="preserve"
 70.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"
 70.1604 +       x="260.81906"
 70.1605 +       y="914.12299"
 70.1606 +       id="text10134"
 70.1607 +       sodipodi:linespacing="100%"><tspan
 70.1608 +         style="font-size:8px;text-align:end;text-anchor:end"
 70.1609 +         sodipodi:role="line"
 70.1610 +         x="260.81906"
 70.1611 +         y="914.12299"
 70.1612 +         id="tspan10136">resume</tspan></text>
 70.1613 +    <text
 70.1614 +       xml:space="preserve"
 70.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"
 70.1616 +       x="136.99219"
 70.1617 +       y="467.42465"
 70.1618 +       id="text10146"
 70.1619 +       sodipodi:linespacing="100%"><tspan
 70.1620 +         style="text-align:center;text-anchor:middle;fill:#800000"
 70.1621 +         sodipodi:role="line"
 70.1622 +         x="138.49609"
 70.1623 +         y="467.42465"
 70.1624 +         id="tspan10148">Language </tspan><tspan
 70.1625 +         id="tspan10150"
 70.1626 +         style="text-align:center;text-anchor:middle;fill:#800000"
 70.1627 +         sodipodi:role="line"
 70.1628 +         x="136.99219"
 70.1629 +         y="477.42465">Plugin</tspan><tspan
 70.1630 +         id="tspan10152"
 70.1631 +         style="text-align:center;text-anchor:middle;fill:#800000"
 70.1632 +         sodipodi:role="line"
 70.1633 +         x="136.99219"
 70.1634 +         y="487.42465">Code</tspan></text>
 70.1635 +    <text
 70.1636 +       xml:space="preserve"
 70.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"
 70.1638 +       x="203.16797"
 70.1639 +       y="467.42465"
 70.1640 +       id="text10154"
 70.1641 +       sodipodi:linespacing="100%"><tspan
 70.1642 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1643 +         sodipodi:role="line"
 70.1644 +         x="203.16797"
 70.1645 +         y="467.42465"
 70.1646 +         id="tspan10156">Proto-Runtime</tspan><tspan
 70.1647 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1648 +         sodipodi:role="line"
 70.1649 +         x="203.16797"
 70.1650 +         y="477.42465"
 70.1651 +         id="tspan10158">Master</tspan><tspan
 70.1652 +         id="tspan10160"
 70.1653 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.1654 +         sodipodi:role="line"
 70.1655 +         x="203.16797"
 70.1656 +         y="487.42465">Code</tspan></text>
 70.1657 +    <path
 70.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)"
 70.1659 +       d="m 205.05995,586.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 70.1660 +       id="path10162"
 70.1661 +       inkscape:connector-curvature="0" />
 70.1662 +    <path
 70.1663 +       inkscape:connector-curvature="0"
 70.1664 +       id="path10164"
 70.1665 +       d="m 137.04459,636.02605 c 67.19099,0 67.19099,0 67.19099,0"
 70.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)" />
 70.1667 +    <path
 70.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)"
 70.1669 +       d="m 67.525286,610.02605 c 69.221574,0 69.221574,0 69.221574,0"
 70.1670 +       id="path10166"
 70.1671 +       inkscape:connector-curvature="0" />
 70.1672 +    <path
 70.1673 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1674 +       d="m 67.27805,597.85824 c 0,13.94668 0,13.94668 0,13.94668"
 70.1675 +       id="path10168"
 70.1676 +       inkscape:connector-curvature="0"
 70.1677 +       sodipodi:nodetypes="cc" />
 70.1678 +    <path
 70.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)"
 70.1680 +       d="m 137.04459,612.02605 c 67.19099,0 67.19099,0 67.19099,0"
 70.1681 +       id="path10172"
 70.1682 +       inkscape:connector-curvature="0" />
 70.1683 +    <path
 70.1684 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1685 +       d="m 205.27805,612.63926 c 0,11.23237 0,11.23237 0,11.23237"
 70.1686 +       id="path10174"
 70.1687 +       inkscape:connector-curvature="0"
 70.1688 +       sodipodi:nodetypes="cc" />
 70.1689 +    <path
 70.1690 +       inkscape:connector-curvature="0"
 70.1691 +       id="path10176"
 70.1692 +       d="m 205.05995,624.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 70.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)" />
 70.1694 +    <text
 70.1695 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 70.1696 +       xml:space="preserve"
 70.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"
 70.1698 +       x="191.85561"
 70.1699 +       y="626.38348"
 70.1700 +       id="text10178"
 70.1701 +       sodipodi:linespacing="100%"><tspan
 70.1702 +         style="font-size:7px;text-align:center;text-anchor:middle"
 70.1703 +         sodipodi:role="line"
 70.1704 +         x="191.85561"
 70.1705 +         y="626.38348"
 70.1706 +         id="tspan10180">call via Ptr to Dyn Lib Fn</tspan></text>
 70.1707 +    <path
 70.1708 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1709 +       d="m 137.27805,623.85824 c 0,11.43122 0,11.43122 0,11.43122"
 70.1710 +       id="path10182"
 70.1711 +       inkscape:connector-curvature="0"
 70.1712 +       sodipodi:nodetypes="cc" />
 70.1713 +    <text
 70.1714 +       sodipodi:linespacing="100%"
 70.1715 +       id="text10184"
 70.1716 +       y="588.38867"
 70.1717 +       x="191.22707"
 70.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"
 70.1719 +       xml:space="preserve"
 70.1720 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 70.1721 +         id="tspan10186"
 70.1722 +         y="588.38867"
 70.1723 +         x="191.22707"
 70.1724 +         sodipodi:role="line"
 70.1725 +         style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text>
 70.1726 +    <text
 70.1727 +       sodipodi:linespacing="100%"
 70.1728 +       id="text10188"
 70.1729 +       y="791.42468"
 70.1730 +       x="137.31689"
 70.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"
 70.1732 +       xml:space="preserve"><tspan
 70.1733 +         id="tspan10190"
 70.1734 +         y="791.42468"
 70.1735 +         x="137.31689"
 70.1736 +         sodipodi:role="line"
 70.1737 +         style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan
 70.1738 +         id="tspan10192"
 70.1739 +         y="801.42468"
 70.1740 +         x="137.31689"
 70.1741 +         sodipodi:role="line"
 70.1742 +         style="text-align:center;text-anchor:middle;fill:#800000">for acq Mutex</tspan></text>
 70.1743 +    <path
 70.1744 +       sodipodi:nodetypes="cc"
 70.1745 +       inkscape:connector-curvature="0"
 70.1746 +       id="path10230"
 70.1747 +       d="m 205.27805,763.45805 c 0,3.23576 0,3.23576 0,3.23576"
 70.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" />
 70.1749 +    <path
 70.1750 +       inkscape:connector-curvature="0"
 70.1751 +       id="path4879"
 70.1752 +       d="m 465.78297,700.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 70.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)" />
 70.1754 +    <path
 70.1755 +       inkscape:connector-curvature="0"
 70.1756 +       id="path5395"
 70.1757 +       d="m 466.19516,580.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 70.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)" />
 70.1759 +    <path
 70.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)"
 70.1761 +       d="m 466.19516,800.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 70.1762 +       id="path5397"
 70.1763 +       inkscape:connector-curvature="0" />
 70.1764 +    <path
 70.1765 +       inkscape:connector-curvature="0"
 70.1766 +       id="path5399"
 70.1767 +       d="m 466.19516,912.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 70.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)" />
 70.1769 +    <path
 70.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)"
 70.1771 +       d="m 271.03421,854.02605 c 193.92439,0 193.92439,0 193.92439,0"
 70.1772 +       id="path5402"
 70.1773 +       inkscape:connector-curvature="0" />
 70.1774 +    <text
 70.1775 +       sodipodi:linespacing="100%"
 70.1776 +       id="text5410"
 70.1777 +       y="833.42468"
 70.1778 +       x="137.68066"
 70.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"
 70.1780 +       xml:space="preserve"><tspan
 70.1781 +         id="tspan5412"
 70.1782 +         y="833.42468"
 70.1783 +         x="137.68066"
 70.1784 +         sodipodi:role="line"
 70.1785 +         style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text>
 70.1786 +    <path
 70.1787 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1788 +       d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1789 +       id="path5420"
 70.1790 +       inkscape:connector-curvature="0"
 70.1791 +       sodipodi:nodetypes="cc" />
 70.1792 +    <path
 70.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)"
 70.1794 +       d="m 205.05995,806.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 70.1795 +       id="path5422"
 70.1796 +       inkscape:connector-curvature="0" />
 70.1797 +    <path
 70.1798 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1799 +       d="m 137.27805,805.85824 c 0,11.43122 0,11.43122 0,11.43122"
 70.1800 +       id="path5424"
 70.1801 +       inkscape:connector-curvature="0"
 70.1802 +       sodipodi:nodetypes="cc" />
 70.1803 +    <path
 70.1804 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1805 +       d="m 205.27805,848.63925 c 0,4.54718 0,4.54718 0,4.54718"
 70.1806 +       id="path5428"
 70.1807 +       inkscape:connector-curvature="0"
 70.1808 +       sodipodi:nodetypes="cc" />
 70.1809 +    <text
 70.1810 +       sodipodi:linespacing="100%"
 70.1811 +       id="text5430"
 70.1812 +       y="761.78809"
 70.1813 +       x="-447.8111"
 70.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"
 70.1815 +       xml:space="preserve"
 70.1816 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 70.1817 +         id="tspan5432"
 70.1818 +         y="761.78809"
 70.1819 +         x="-447.8111"
 70.1820 +         sodipodi:role="line"
 70.1821 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
 70.1822 +         y="769.78809"
 70.1823 +         x="-447.8111"
 70.1824 +         sodipodi:role="line"
 70.1825 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1826 +         id="tspan5434">and switch</tspan><tspan
 70.1827 +         y="777.78809"
 70.1828 +         x="-447.8111"
 70.1829 +         sodipodi:role="line"
 70.1830 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1831 +         id="tspan5436">to app VP</tspan></text>
 70.1832 +    <path
 70.1833 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1834 +       d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1835 +       id="path5438"
 70.1836 +       inkscape:connector-curvature="0"
 70.1837 +       sodipodi:nodetypes="cc" />
 70.1838 +    <path
 70.1839 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1840 +       d="m 205.27805,800.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1841 +       id="path5440"
 70.1842 +       inkscape:connector-curvature="0"
 70.1843 +       sodipodi:nodetypes="cc" />
 70.1844 +    <text
 70.1845 +       sodipodi:linespacing="100%"
 70.1846 +       id="text5446"
 70.1847 +       y="709.24017"
 70.1848 +       x="-401.45242"
 70.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"
 70.1850 +       xml:space="preserve"
 70.1851 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 70.1852 +         y="709.24017"
 70.1853 +         x="-401.45242"
 70.1854 +         sodipodi:role="line"
 70.1855 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1856 +         id="tspan5448">return from</tspan><tspan
 70.1857 +         id="tspan5450"
 70.1858 +         y="717.24017"
 70.1859 +         x="-401.45242"
 70.1860 +         sodipodi:role="line"
 70.1861 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 70.1862 +    <path
 70.1863 +       inkscape:connector-curvature="0"
 70.1864 +       id="path5452"
 70.1865 +       d="m 205.05995,806.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 70.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)" />
 70.1867 +    <path
 70.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)"
 70.1869 +       d="m 137.04459,848.02605 c 67.19099,0 67.19099,0 67.19099,0"
 70.1870 +       id="path5454"
 70.1871 +       inkscape:connector-curvature="0" />
 70.1872 +    <path
 70.1873 +       inkscape:connector-curvature="0"
 70.1874 +       id="path5460"
 70.1875 +       d="m 137.04459,820.02605 c 67.19099,0 67.19099,0 67.19099,0"
 70.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)" />
 70.1877 +    <path
 70.1878 +       sodipodi:nodetypes="cc"
 70.1879 +       inkscape:connector-curvature="0"
 70.1880 +       id="path5462"
 70.1881 +       d="m 205.27805,820.63927 c 0,14.88618 0,14.88618 0,14.88618"
 70.1882 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.1883 +    <path
 70.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)"
 70.1885 +       d="m 205.05995,836.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 70.1886 +       id="path5464"
 70.1887 +       inkscape:connector-curvature="0" />
 70.1888 +    <text
 70.1889 +       sodipodi:linespacing="100%"
 70.1890 +       id="text5466"
 70.1891 +       y="838.35522"
 70.1892 +       x="195.36256"
 70.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"
 70.1894 +       xml:space="preserve"
 70.1895 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 70.1896 +         id="tspan5468"
 70.1897 +         y="838.35522"
 70.1898 +         x="195.36256"
 70.1899 +         sodipodi:role="line"
 70.1900 +         style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text>
 70.1901 +    <path
 70.1902 +       sodipodi:nodetypes="cc"
 70.1903 +       inkscape:connector-curvature="0"
 70.1904 +       id="path5470"
 70.1905 +       d="m 137.27805,835.85824 c 0,11.43122 0,11.43122 0,11.43122"
 70.1906 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.1907 +    <text
 70.1908 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 70.1909 +       xml:space="preserve"
 70.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"
 70.1911 +       x="194.86635"
 70.1912 +       y="808.35907"
 70.1913 +       id="text5472"
 70.1914 +       sodipodi:linespacing="100%"><tspan
 70.1915 +         style="font-size:7px;text-align:center;text-anchor:middle"
 70.1916 +         sodipodi:role="line"
 70.1917 +         x="194.86635"
 70.1918 +         y="808.35907"
 70.1919 +         id="tspan5474">call via Ptr to Dyn Lib Fn</tspan></text>
 70.1920 +    <text
 70.1921 +       sodipodi:linespacing="100%"
 70.1922 +       id="text5476"
 70.1923 +       y="713.48187"
 70.1924 +       x="-172.78647"
 70.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"
 70.1926 +       xml:space="preserve"
 70.1927 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 70.1928 +         y="713.48187"
 70.1929 +         x="-172.78647"
 70.1930 +         sodipodi:role="line"
 70.1931 +         style="font-size:18px;text-align:center;text-anchor:middle"
 70.1932 +         id="tspan5482">core 1</tspan></text>
 70.1933 +    <text
 70.1934 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 70.1935 +       xml:space="preserve"
 70.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"
 70.1937 +       x="-321.0329"
 70.1938 +       y="865.03326"
 70.1939 +       id="text5488"
 70.1940 +       sodipodi:linespacing="100%"><tspan
 70.1941 +         id="tspan5490"
 70.1942 +         style="font-size:18px;text-align:center;text-anchor:middle"
 70.1943 +         sodipodi:role="line"
 70.1944 +         x="-321.0329"
 70.1945 +         y="865.03326">core 2</tspan></text>
 70.1946 +    <path
 70.1947 +       sodipodi:nodetypes="cc"
 70.1948 +       inkscape:connector-curvature="0"
 70.1949 +       id="path5492"
 70.1950 +       d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1951 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.1952 +    <path
 70.1953 +       sodipodi:nodetypes="cc"
 70.1954 +       inkscape:connector-curvature="0"
 70.1955 +       id="path5494"
 70.1956 +       d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1957 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.1958 +    <path
 70.1959 +       sodipodi:nodetypes="cc"
 70.1960 +       inkscape:connector-curvature="0"
 70.1961 +       id="path5496"
 70.1962 +       d="m 205.27805,914.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1963 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.1964 +    <text
 70.1965 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 70.1966 +       xml:space="preserve"
 70.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"
 70.1968 +       x="-480.74414"
 70.1969 +       y="791.14636"
 70.1970 +       id="text5498"
 70.1971 +       sodipodi:linespacing="100%"><tspan
 70.1972 +         id="tspan5500"
 70.1973 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1974 +         sodipodi:role="line"
 70.1975 +         x="-480.74414"
 70.1976 +         y="791.14636">return from</tspan><tspan
 70.1977 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.1978 +         sodipodi:role="line"
 70.1979 +         x="-480.74414"
 70.1980 +         y="799.14636"
 70.1981 +         id="tspan5502">suspend</tspan></text>
 70.1982 +    <path
 70.1983 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1984 +       d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1985 +       id="path5504"
 70.1986 +       inkscape:connector-curvature="0"
 70.1987 +       sodipodi:nodetypes="cc" />
 70.1988 +    <path
 70.1989 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1990 +       d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1991 +       id="path5506"
 70.1992 +       inkscape:connector-curvature="0"
 70.1993 +       sodipodi:nodetypes="cc" />
 70.1994 +    <path
 70.1995 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.1996 +       d="m 205.27805,700.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.1997 +       id="path5508"
 70.1998 +       inkscape:connector-curvature="0"
 70.1999 +       sodipodi:nodetypes="cc" />
 70.2000 +    <text
 70.2001 +       sodipodi:linespacing="100%"
 70.2002 +       id="text5510"
 70.2003 +       y="637.39264"
 70.2004 +       x="-331.89792"
 70.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"
 70.2006 +       xml:space="preserve"
 70.2007 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 70.2008 +         y="637.39264"
 70.2009 +         x="-331.89792"
 70.2010 +         sodipodi:role="line"
 70.2011 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2012 +         id="tspan5512">return from</tspan><tspan
 70.2013 +         id="tspan5514"
 70.2014 +         y="645.39264"
 70.2015 +         x="-331.89792"
 70.2016 +         sodipodi:role="line"
 70.2017 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 70.2018 +    <path
 70.2019 +       inkscape:connector-curvature="0"
 70.2020 +       id="path5516"
 70.2021 +       d="m 271.03421,766.02605 c 193.92439,0 193.92439,0 193.92439,0"
 70.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)" />
 70.2023 +    <path
 70.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)"
 70.2025 +       d="m 271.03421,546.02605 c 193.92439,0 193.92439,0 193.92439,0"
 70.2026 +       id="path5518"
 70.2027 +       inkscape:connector-curvature="0" />
 70.2028 +    <text
 70.2029 +       xml:space="preserve"
 70.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"
 70.2031 +       x="326.92542"
 70.2032 +       y="155.76575"
 70.2033 +       id="text3329"
 70.2034 +       sodipodi:linespacing="100%"><tspan
 70.2035 +         style="text-align:center;text-anchor:middle"
 70.2036 +         sodipodi:role="line"
 70.2037 +         id="tspan3331"
 70.2038 +         x="326.92542"
 70.2039 +         y="155.76575">PR OS thread</tspan><tspan
 70.2040 +         id="tspan3335"
 70.2041 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2042 +         sodipodi:role="line"
 70.2043 +         x="326.92542"
 70.2044 +         y="164.20053">(core1)</tspan></text>
 70.2045 +    <g
 70.2046 +       transform="translate(44.002789,-346)"
 70.2047 +       id="g3337">
 70.2048 +      <rect
 70.2049 +         y="389.58255"
 70.2050 +         x="346.40247"
 70.2051 +         height="37.165791"
 70.2052 +         width="65.276405"
 70.2053 +         id="rect3339"
 70.2054 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
 70.2055 +      <text
 70.2056 +         xml:space="preserve"
 70.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"
 70.2058 +         x="379.00162"
 70.2059 +         y="400.15268"
 70.2060 +         id="text3341"
 70.2061 +         sodipodi:linespacing="100%"><tspan
 70.2062 +           id="tspan3349"
 70.2063 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
 70.2064 +           sodipodi:role="line"
 70.2065 +           x="379.00162"
 70.2066 +           y="400.15268"><tspan
 70.2067 +   id="tspan3641"
 70.2068 +   style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000">Main </tspan>OS thread</tspan></text>
 70.2069 +    </g>
 70.2070 +    <text
 70.2071 +       xml:space="preserve"
 70.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"
 70.2073 +       x="517.16797"
 70.2074 +       y="81.424683"
 70.2075 +       id="text3351"
 70.2076 +       sodipodi:linespacing="100%"><tspan
 70.2077 +         style="text-align:center;text-anchor:middle;fill:#008000"
 70.2078 +         sodipodi:role="line"
 70.2079 +         x="517.16797"
 70.2080 +         y="81.424683"
 70.2081 +         id="tspan3353">main</tspan></text>
 70.2082 +    <text
 70.2083 +       sodipodi:linespacing="100%"
 70.2084 +       id="text3355"
 70.2085 +       y="273.42468"
 70.2086 +       x="137.31689"
 70.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"
 70.2088 +       xml:space="preserve"><tspan
 70.2089 +         id="tspan3357"
 70.2090 +         y="273.42468"
 70.2091 +         x="137.31689"
 70.2092 +         sodipodi:role="line"
 70.2093 +         style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan
 70.2094 +         id="tspan3359"
 70.2095 +         y="283.42468"
 70.2096 +         x="137.31689"
 70.2097 +         sodipodi:role="line"
 70.2098 +         style="text-align:center;text-anchor:middle;fill:#800000">for create VP</tspan></text>
 70.2099 +    <text
 70.2100 +       sodipodi:linespacing="100%"
 70.2101 +       id="text3361"
 70.2102 +       y="321.42468"
 70.2103 +       x="137.68066"
 70.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"
 70.2105 +       xml:space="preserve"><tspan
 70.2106 +         id="tspan3363"
 70.2107 +         y="321.42468"
 70.2108 +         x="137.68066"
 70.2109 +         sodipodi:role="line"
 70.2110 +         style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text>
 70.2111 +    <path
 70.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)"
 70.2113 +       d="m 457.32649,78.02605 c 38.42351,0 38.42351,0 38.42351,0"
 70.2114 +       id="path3365"
 70.2115 +       inkscape:connector-curvature="0" />
 70.2116 +    <text
 70.2117 +       sodipodi:linespacing="100%"
 70.2118 +       id="text3367"
 70.2119 +       y="63.424683"
 70.2120 +       x="604.78461"
 70.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"
 70.2122 +       xml:space="preserve"><tspan
 70.2123 +         id="tspan3371"
 70.2124 +         y="63.424683"
 70.2125 +         x="604.78461"
 70.2126 +         sodipodi:role="line"
 70.2127 +         style="text-align:center;text-anchor:middle;fill:#800000">PR_start()</tspan></text>
 70.2128 +    <text
 70.2129 +       sodipodi:linespacing="100%"
 70.2130 +       id="text3373"
 70.2131 +       y="107.0096"
 70.2132 +       x="633.32379"
 70.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"
 70.2134 +       xml:space="preserve"
 70.2135 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 70.2136 +         id="tspan3375"
 70.2137 +         y="107.0096"
 70.2138 +         x="633.32379"
 70.2139 +         sodipodi:role="line"
 70.2140 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
 70.2141 +    <path
 70.2142 +       inkscape:connector-curvature="0"
 70.2143 +       id="path3377"
 70.2144 +       d="m 291.99816,238.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
 70.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)" />
 70.2146 +    <text
 70.2147 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
 70.2148 +       xml:space="preserve"
 70.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"
 70.2150 +       x="208.23512"
 70.2151 +       y="280.55707"
 70.2152 +       id="text3379"
 70.2153 +       sodipodi:linespacing="100%"><tspan
 70.2154 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2155 +         sodipodi:role="line"
 70.2156 +         x="208.23512"
 70.2157 +         y="280.55707"
 70.2158 +         id="tspan3381">Top Level Fn</tspan></text>
 70.2159 +    <text
 70.2160 +       sodipodi:linespacing="100%"
 70.2161 +       id="text3383"
 70.2162 +       y="166.44456"
 70.2163 +       x="460.02557"
 70.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"
 70.2165 +       xml:space="preserve"
 70.2166 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
 70.2167 +         id="tspan3385"
 70.2168 +         y="166.44456"
 70.2169 +         x="460.02557"
 70.2170 +         sodipodi:role="line"
 70.2171 +         style="font-size:8px;text-align:center;text-anchor:middle">birth Fn</tspan></text>
 70.2172 +    <path
 70.2173 +       sodipodi:nodetypes="cc"
 70.2174 +       inkscape:connector-curvature="0"
 70.2175 +       id="path3387"
 70.2176 +       d="m 514.02904,84.01894 c 0,5.6572 0,5.6572 0,5.6572"
 70.2177 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.2178 +    <path
 70.2179 +       inkscape:connector-curvature="0"
 70.2180 +       id="path3389"
 70.2181 +       d="m 514.24714,90.02605 c 85.56237,0 85.56237,0 85.56237,0"
 70.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)" />
 70.2183 +    <path
 70.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)"
 70.2185 +       d="m 602.77166,358.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
 70.2186 +       id="path3391"
 70.2187 +       inkscape:connector-curvature="0" />
 70.2188 +    <path
 70.2189 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2190 +       d="m 514.02904,358.31987 c 0,26.21842 0,26.21842 0,26.21842"
 70.2191 +       id="path3393"
 70.2192 +       inkscape:connector-curvature="0"
 70.2193 +       sodipodi:nodetypes="cc" />
 70.2194 +    <path
 70.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)"
 70.2196 +       d="m 514.2471,384.02605 c 87.58783,0 87.58783,0 87.58783,0"
 70.2197 +       id="path3395"
 70.2198 +       inkscape:connector-curvature="0" />
 70.2199 +    <text
 70.2200 +       xml:space="preserve"
 70.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"
 70.2202 +       x="604.78461"
 70.2203 +       y="370.71179"
 70.2204 +       id="text3397"
 70.2205 +       sodipodi:linespacing="100%"><tspan
 70.2206 +         style="text-align:center;text-anchor:middle;fill:#800000"
 70.2207 +         sodipodi:role="line"
 70.2208 +         x="604.78461"
 70.2209 +         y="370.71179"
 70.2210 +         id="tspan3399">end VP</tspan><tspan
 70.2211 +         id="tspan3401"
 70.2212 +         style="text-align:center;text-anchor:middle;fill:#800000"
 70.2213 +         sodipodi:role="line"
 70.2214 +         x="604.78461"
 70.2215 +         y="380.71179">wrapper Fn</tspan></text>
 70.2216 +    <path
 70.2217 +       inkscape:connector-curvature="0"
 70.2218 +       id="path3403"
 70.2219 +       d="m 602.26584,390.02605 c 63.99676,0 63.99676,0 63.99676,0"
 70.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)" />
 70.2221 +    <path
 70.2222 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2223 +       d="m 602.02904,382.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.2224 +       id="path3405"
 70.2225 +       inkscape:connector-curvature="0"
 70.2226 +       sodipodi:nodetypes="cc" />
 70.2227 +    <path
 70.2228 +       sodipodi:nodetypes="cc"
 70.2229 +       inkscape:connector-curvature="0"
 70.2230 +       id="path3407"
 70.2231 +       d="m 602.02904,90.21843 c 0,19.4577 0,19.4577 0,19.4577"
 70.2232 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.2233 +    <path
 70.2234 +       inkscape:connector-curvature="0"
 70.2235 +       id="path3409"
 70.2236 +       d="m 602.24714,110.02605 c 64.71029,0 64.71029,0 64.71029,0"
 70.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)" />
 70.2238 +    <path
 70.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)"
 70.2240 +       d="m 666.85635,354.02605 c -65.78483,0 -65.78483,0 -65.78483,0"
 70.2241 +       id="path3411"
 70.2242 +       inkscape:connector-curvature="0" />
 70.2243 +    <path
 70.2244 +       sodipodi:nodetypes="cc"
 70.2245 +       inkscape:connector-curvature="0"
 70.2246 +       id="path3413"
 70.2247 +       d="m 668.02904,108.63925 c 0,13.68455 0,13.68455 0,13.68455"
 70.2248 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.2249 +    <path
 70.2250 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2251 +       d="m 602.02904,353.22687 c 0,5.5885 0,5.5885 0,5.5885"
 70.2252 +       id="path3415"
 70.2253 +       inkscape:connector-curvature="0"
 70.2254 +       sodipodi:nodetypes="cc" />
 70.2255 +    <path
 70.2256 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2257 +       d="m 668.02904,340.63925 c 0,13.68455 0,13.68455 0,13.68455"
 70.2258 +       id="path3417"
 70.2259 +       inkscape:connector-curvature="0"
 70.2260 +       sodipodi:nodetypes="cc" />
 70.2261 +    <text
 70.2262 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 70.2263 +       xml:space="preserve"
 70.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"
 70.2265 +       x="395.64081"
 70.2266 +       y="556.71735"
 70.2267 +       id="text3419"
 70.2268 +       sodipodi:linespacing="100%"><tspan
 70.2269 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2270 +         sodipodi:role="line"
 70.2271 +         x="395.64081"
 70.2272 +         y="556.71735"
 70.2273 +         id="tspan3421">suspend</tspan><tspan
 70.2274 +         id="tspan3423"
 70.2275 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2276 +         sodipodi:role="line"
 70.2277 +         x="395.64081"
 70.2278 +         y="564.71735">and switch</tspan><tspan
 70.2279 +         id="tspan3425"
 70.2280 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2281 +         sodipodi:role="line"
 70.2282 +         x="395.64081"
 70.2283 +         y="572.71735">to runtime</tspan></text>
 70.2284 +    <path
 70.2285 +       inkscape:connector-curvature="0"
 70.2286 +       id="path3427"
 70.2287 +       d="m 271.03421,342.02605 c 193.92439,0 193.92439,0 193.92439,0"
 70.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)" />
 70.2289 +    <text
 70.2290 +       sodipodi:linespacing="100%"
 70.2291 +       id="text3429"
 70.2292 +       y="703.28741"
 70.2293 +       x="253.74896"
 70.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"
 70.2295 +       xml:space="preserve"
 70.2296 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 70.2297 +         y="703.28741"
 70.2298 +         x="253.74896"
 70.2299 +         sodipodi:role="line"
 70.2300 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2301 +         id="tspan3431">return</tspan><tspan
 70.2302 +         id="tspan3433"
 70.2303 +         y="711.28741"
 70.2304 +         x="253.74896"
 70.2305 +         sodipodi:role="line"
 70.2306 +         style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan
 70.2307 +         id="tspan3435"
 70.2308 +         y="719.28741"
 70.2309 +         x="253.74896"
 70.2310 +         sodipodi:role="line"
 70.2311 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 70.2312 +    <text
 70.2313 +       xml:space="preserve"
 70.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"
 70.2315 +       x="601.38037"
 70.2316 +       y="83.424683"
 70.2317 +       id="text3437"
 70.2318 +       sodipodi:linespacing="100%"><tspan
 70.2319 +         id="tspan3441"
 70.2320 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.2321 +         sodipodi:role="line"
 70.2322 +         x="601.38037"
 70.2323 +         y="83.424683">PR__start()</tspan></text>
 70.2324 +    <text
 70.2325 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.2326 +       xml:space="preserve"
 70.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"
 70.2328 +       x="553.98218"
 70.2329 +       y="94.71698"
 70.2330 +       id="text3443"
 70.2331 +       sodipodi:linespacing="100%"><tspan
 70.2332 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2333 +         sodipodi:role="line"
 70.2334 +         x="553.98218"
 70.2335 +         y="94.71698"
 70.2336 +         id="tspan3445">normal call</tspan></text>
 70.2337 +    <path
 70.2338 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2339 +       d="m 668.02904,389.28283 c 0,13.68455 0,13.68455 0,13.68455"
 70.2340 +       id="path3447"
 70.2341 +       inkscape:connector-curvature="0"
 70.2342 +       sodipodi:nodetypes="cc" />
 70.2343 +    <text
 70.2344 +       sodipodi:linespacing="100%"
 70.2345 +       id="text3449"
 70.2346 +       y="757.8457"
 70.2347 +       x="203.71536"
 70.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"
 70.2349 +       xml:space="preserve"
 70.2350 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 70.2351 +         id="tspan3451"
 70.2352 +         y="757.8457"
 70.2353 +         x="203.71536"
 70.2354 +         sodipodi:role="line"
 70.2355 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
 70.2356 +         y="765.8457"
 70.2357 +         x="203.71536"
 70.2358 +         sodipodi:role="line"
 70.2359 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2360 +         id="tspan3453">and switch</tspan><tspan
 70.2361 +         y="773.8457"
 70.2362 +         x="203.71536"
 70.2363 +         sodipodi:role="line"
 70.2364 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2365 +         id="tspan3455">to runtime</tspan></text>
 70.2366 +    <text
 70.2367 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.2368 +       xml:space="preserve"
 70.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"
 70.2370 +       x="555.27264"
 70.2371 +       y="388.71307"
 70.2372 +       id="text3457"
 70.2373 +       sodipodi:linespacing="100%"><tspan
 70.2374 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2375 +         sodipodi:role="line"
 70.2376 +         x="555.27264"
 70.2377 +         y="388.71307"
 70.2378 +         id="tspan3459">normal call</tspan></text>
 70.2379 +    <g
 70.2380 +       id="g3461"
 70.2381 +       transform="matrix(1,0,0,0.71130685,-16,-77.47087)">
 70.2382 +      <rect
 70.2383 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 70.2384 +         id="rect3463"
 70.2385 +         width="65.276405"
 70.2386 +         height="52.250008"
 70.2387 +         x="310.40247"
 70.2388 +         y="313.58255" />
 70.2389 +    </g>
 70.2390 +    <path
 70.2391 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2392 +       d="m 514.02904,358.31987 c 0,26.21842 0,26.21842 0,26.21842"
 70.2393 +       id="path3465"
 70.2394 +       inkscape:connector-curvature="0"
 70.2395 +       sodipodi:nodetypes="cc" />
 70.2396 +    <path
 70.2397 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
 70.2398 +       d="m 476.02904,84.79398 c 0,35.61575 0,35.61575 0,35.61575"
 70.2399 +       id="path3467"
 70.2400 +       inkscape:connector-curvature="0"
 70.2401 +       sodipodi:nodetypes="cc" />
 70.2402 +    <path
 70.2403 +       inkscape:connector-curvature="0"
 70.2404 +       id="path3469"
 70.2405 +       d="m 468.24715,120.02605 c 13.34137,0 13.34137,0 13.34137,0"
 70.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" />
 70.2407 +    <path
 70.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"
 70.2409 +       d="m 481.57781,342.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 70.2410 +       id="path3471"
 70.2411 +       inkscape:connector-curvature="0" />
 70.2412 +    <path
 70.2413 +       sodipodi:nodetypes="cc"
 70.2414 +       inkscape:connector-curvature="0"
 70.2415 +       id="path3473"
 70.2416 +       d="m 476.02904,342.3113 c 0,57.40944 0,57.40944 0,57.40944"
 70.2417 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
 70.2418 +    <path
 70.2419 +       inkscape:connector-curvature="0"
 70.2420 +       id="path3475"
 70.2421 +       d="m 481.57781,401.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
 70.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" />
 70.2423 +    <text
 70.2424 +       sodipodi:linespacing="100%"
 70.2425 +       id="text3477"
 70.2426 +       y="-463.80295"
 70.2427 +       x="315.95734"
 70.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"
 70.2429 +       xml:space="preserve"
 70.2430 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan
 70.2431 +         id="tspan3479"
 70.2432 +         y="-463.80295"
 70.2433 +         x="315.95734"
 70.2434 +         sodipodi:role="line"
 70.2435 +         style="text-align:center;text-anchor:middle;fill:#008000">Timeline of SeedVP</tspan></text>
 70.2436 +    <text
 70.2437 +       sodipodi:linespacing="100%"
 70.2438 +       id="text3481"
 70.2439 +       y="119.02372"
 70.2440 +       x="484.08911"
 70.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"
 70.2442 +       xml:space="preserve"
 70.2443 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 70.2444 +         id="tspan3483"
 70.2445 +         y="119.02372"
 70.2446 +         x="484.08911"
 70.2447 +         sodipodi:role="line"
 70.2448 +         style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text>
 70.2449 +    <text
 70.2450 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.2451 +       xml:space="preserve"
 70.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"
 70.2453 +       x="485.07266"
 70.2454 +       y="343.02161"
 70.2455 +       id="text3485"
 70.2456 +       sodipodi:linespacing="100%"><tspan
 70.2457 +         style="font-size:8px;text-align:start;text-anchor:start"
 70.2458 +         sodipodi:role="line"
 70.2459 +         x="485.07266"
 70.2460 +         y="343.02161"
 70.2461 +         id="tspan3487">resume</tspan></text>
 70.2462 +    <text
 70.2463 +       sodipodi:linespacing="100%"
 70.2464 +       id="text3489"
 70.2465 +       y="400.22711"
 70.2466 +       x="485.32407"
 70.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"
 70.2468 +       xml:space="preserve"
 70.2469 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 70.2470 +         id="tspan3491"
 70.2471 +         y="400.22711"
 70.2472 +         x="485.32407"
 70.2473 +         sodipodi:role="line"
 70.2474 +         style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text>
 70.2475 +    <text
 70.2476 +       sodipodi:linespacing="100%"
 70.2477 +       id="text3493"
 70.2478 +       y="285.42468"
 70.2479 +       x="65.380371"
 70.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"
 70.2481 +       xml:space="preserve"><tspan
 70.2482 +         y="285.42468"
 70.2483 +         x="65.380371"
 70.2484 +         sodipodi:role="line"
 70.2485 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.2486 +         id="tspan3495">PR primitive Fn</tspan><tspan
 70.2487 +         id="tspan3497"
 70.2488 +         y="295.42468"
 70.2489 +         x="65.380371"
 70.2490 +         sodipodi:role="line"
 70.2491 +         style="text-align:center;text-anchor:middle;fill:#000080">to create VP</tspan></text>
 70.2492 +    <text
 70.2493 +       sodipodi:linespacing="100%"
 70.2494 +       id="text3499"
 70.2495 +       y="241.42468"
 70.2496 +       x="202.41257"
 70.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"
 70.2498 +       xml:space="preserve"><tspan
 70.2499 +         id="tspan3501"
 70.2500 +         y="241.42468"
 70.2501 +         x="202.41257"
 70.2502 +         sodipodi:role="line"
 70.2503 +         style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text>
 70.2504 +    <path
 70.2505 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2506 +       d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.2507 +       id="path3503"
 70.2508 +       inkscape:connector-curvature="0"
 70.2509 +       sodipodi:nodetypes="cc" />
 70.2510 +    <path
 70.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)"
 70.2512 +       d="m 205.05995,286.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 70.2513 +       id="path3505"
 70.2514 +       inkscape:connector-curvature="0" />
 70.2515 +    <path
 70.2516 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2517 +       d="m 137.27805,285.85824 c 0,11.43122 0,11.43122 0,11.43122"
 70.2518 +       id="path3507"
 70.2519 +       inkscape:connector-curvature="0"
 70.2520 +       sodipodi:nodetypes="cc" />
 70.2521 +    <path
 70.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)"
 70.2523 +       d="m 137.57123,298.02605 c -69.22157,0 -69.22157,0 -69.22157,0"
 70.2524 +       id="path3509"
 70.2525 +       inkscape:connector-curvature="0" />
 70.2526 +    <path
 70.2527 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2528 +       d="m 205.27805,336.63925 c 0,4.54718 0,4.54718 0,4.54718"
 70.2529 +       id="path3511"
 70.2530 +       inkscape:connector-curvature="0"
 70.2531 +       sodipodi:nodetypes="cc" />
 70.2532 +    <text
 70.2533 +       sodipodi:linespacing="100%"
 70.2534 +       id="text3513"
 70.2535 +       y="393.92554"
 70.2536 +       x="-91.691048"
 70.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"
 70.2538 +       xml:space="preserve"
 70.2539 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 70.2540 +         id="tspan3515"
 70.2541 +         y="393.92554"
 70.2542 +         x="-91.691048"
 70.2543 +         sodipodi:role="line"
 70.2544 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
 70.2545 +         y="401.92554"
 70.2546 +         x="-91.691048"
 70.2547 +         sodipodi:role="line"
 70.2548 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2549 +         id="tspan3517">and switch</tspan><tspan
 70.2550 +         y="409.92554"
 70.2551 +         x="-91.691048"
 70.2552 +         sodipodi:role="line"
 70.2553 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2554 +         id="tspan3519">to app VP</tspan></text>
 70.2555 +    <path
 70.2556 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2557 +       d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.2558 +       id="path3521"
 70.2559 +       inkscape:connector-curvature="0"
 70.2560 +       sodipodi:nodetypes="cc" />
 70.2561 +    <path
 70.2562 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 70.2563 +       d="m 205.27805,280.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.2564 +       id="path3523"
 70.2565 +       inkscape:connector-curvature="0"
 70.2566 +       sodipodi:nodetypes="cc" />
 70.2567 +    <path
 70.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"
 70.2569 +       d="m 468.24715,85.42364 c 13.34137,0 13.34137,0 13.34137,0"
 70.2570 +       id="path3525"
 70.2571 +       inkscape:connector-curvature="0" />
 70.2572 +    <text
 70.2573 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.2574 +       xml:space="preserve"
 70.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"
 70.2576 +       x="483.94849"
 70.2577 +       y="87.025322"
 70.2578 +       id="text3527"
 70.2579 +       sodipodi:linespacing="100%"><tspan
 70.2580 +         style="font-size:8px;text-align:start;text-anchor:start"
 70.2581 +         sodipodi:role="line"
 70.2582 +         x="483.94849"
 70.2583 +         y="87.025322"
 70.2584 +         id="tspan3529">start</tspan></text>
 70.2585 +    <path
 70.2586 +       sodipodi:nodetypes="cc"
 70.2587 +       inkscape:connector-curvature="0"
 70.2588 +       id="path3531"
 70.2589 +       d="m 266.02904,279.4311 c 0,61.88904 0,61.88904 0,61.88904"
 70.2590 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
 70.2591 +    <path
 70.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"
 70.2593 +       d="m 258.24715,280.02605 c 13.34137,0 13.34137,0 13.34137,0"
 70.2594 +       id="path3533"
 70.2595 +       inkscape:connector-curvature="0" />
 70.2596 +    <path
 70.2597 +       inkscape:connector-curvature="0"
 70.2598 +       id="path3535"
 70.2599 +       d="m 271.57781,342.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 70.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" />
 70.2601 +    <text
 70.2602 +       transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"
 70.2603 +       xml:space="preserve"
 70.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"
 70.2605 +       x="325.34094"
 70.2606 +       y="-277.03549"
 70.2607 +       id="text3537"
 70.2608 +       sodipodi:linespacing="100%"><tspan
 70.2609 +         id="tspan3539"
 70.2610 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.2611 +         sodipodi:role="line"
 70.2612 +         x="325.34094"
 70.2613 +         y="-277.03549">Timeline of Master on core 1</tspan></text>
 70.2614 +    <text
 70.2615 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.2616 +       xml:space="preserve"
 70.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"
 70.2618 +       x="260.76508"
 70.2619 +       y="342.12805"
 70.2620 +       id="text3541"
 70.2621 +       sodipodi:linespacing="100%"><tspan
 70.2622 +         style="font-size:8px;text-align:end;text-anchor:end"
 70.2623 +         sodipodi:role="line"
 70.2624 +         x="260.76508"
 70.2625 +         y="342.12805"
 70.2626 +         id="tspan3543">suspend</tspan></text>
 70.2627 +    <text
 70.2628 +       sodipodi:linespacing="100%"
 70.2629 +       id="text3545"
 70.2630 +       y="282.12848"
 70.2631 +       x="258.04468"
 70.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"
 70.2633 +       xml:space="preserve"
 70.2634 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 70.2635 +         id="tspan3547"
 70.2636 +         y="282.12848"
 70.2637 +         x="258.04468"
 70.2638 +         sodipodi:role="line"
 70.2639 +         style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text>
 70.2640 +    <path
 70.2641 +       inkscape:connector-curvature="0"
 70.2642 +       id="path3549"
 70.2643 +       d="m 258.24715,245.42364 c 13.34137,0 13.34137,0 13.34137,0"
 70.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" />
 70.2645 +    <text
 70.2646 +       sodipodi:linespacing="100%"
 70.2647 +       id="text3551"
 70.2648 +       y="248.09499"
 70.2649 +       x="257.10217"
 70.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"
 70.2651 +       xml:space="preserve"
 70.2652 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 70.2653 +         id="tspan3553"
 70.2654 +         y="248.09499"
 70.2655 +         x="257.10217"
 70.2656 +         sodipodi:role="line"
 70.2657 +         style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text>
 70.2658 +    <path
 70.2659 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
 70.2660 +       d="m 266.02904,399.43112 c 0,10.33165 0,10.33165 0,10.33165"
 70.2661 +       id="path3555"
 70.2662 +       inkscape:connector-curvature="0"
 70.2663 +       sodipodi:nodetypes="cc" />
 70.2664 +    <path
 70.2665 +       inkscape:connector-curvature="0"
 70.2666 +       id="path3557"
 70.2667 +       d="m 258.24715,400.02605 c 13.34137,0 13.34137,0 13.34137,0"
 70.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" />
 70.2669 +    <text
 70.2670 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 70.2671 +       xml:space="preserve"
 70.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"
 70.2673 +       x="637.95691"
 70.2674 +       y="386.97339"
 70.2675 +       id="text3559"
 70.2676 +       sodipodi:linespacing="100%"><tspan
 70.2677 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2678 +         sodipodi:role="line"
 70.2679 +         x="637.95691"
 70.2680 +         y="386.97339"
 70.2681 +         id="tspan3561">Call to dyn lib</tspan></text>
 70.2682 +    <text
 70.2683 +       sodipodi:linespacing="100%"
 70.2684 +       id="text3563"
 70.2685 +       y="303.68701"
 70.2686 +       x="110.50755"
 70.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"
 70.2688 +       xml:space="preserve"
 70.2689 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 70.2690 +         id="tspan3565"
 70.2691 +         y="303.68701"
 70.2692 +         x="110.50755"
 70.2693 +         sodipodi:role="line"
 70.2694 +         style="font-size:8px;text-align:center;text-anchor:middle">call to dyn lib</tspan></text>
 70.2695 +    <path
 70.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"
 70.2697 +       d="m 701.67453,342.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 70.2698 +       id="path3567"
 70.2699 +       inkscape:connector-curvature="0" />
 70.2700 +    <path
 70.2701 +       inkscape:connector-curvature="0"
 70.2702 +       id="path3569"
 70.2703 +       d="m 701.67453,279.52981 c -669.895225,0 -669.895225,0 -669.895225,0"
 70.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" />
 70.2705 +    <path
 70.2706 +       sodipodi:nodetypes="cc"
 70.2707 +       inkscape:connector-curvature="0"
 70.2708 +       id="path3571"
 70.2709 +       d="m 205.27805,243.45805 c 0,3.23577 0,3.23577 0,3.23577"
 70.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" />
 70.2711 +    <text
 70.2712 +       sodipodi:linespacing="100%"
 70.2713 +       id="text3573"
 70.2714 +       y="335.62958"
 70.2715 +       x="-39.767914"
 70.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"
 70.2717 +       xml:space="preserve"
 70.2718 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 70.2719 +         y="335.62958"
 70.2720 +         x="-39.767914"
 70.2721 +         sodipodi:role="line"
 70.2722 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2723 +         id="tspan3575">return from</tspan><tspan
 70.2724 +         id="tspan3577"
 70.2725 +         y="343.62958"
 70.2726 +         x="-39.767914"
 70.2727 +         sodipodi:role="line"
 70.2728 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 70.2729 +    <path
 70.2730 +       inkscape:connector-curvature="0"
 70.2731 +       id="path3579"
 70.2732 +       d="m 701.67453,400.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 70.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" />
 70.2734 +    <text
 70.2735 +       sodipodi:linespacing="100%"
 70.2736 +       id="text3581"
 70.2737 +       y="377.42468"
 70.2738 +       x="667.38037"
 70.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"
 70.2740 +       xml:space="preserve"><tspan
 70.2741 +         id="tspan3583"
 70.2742 +         y="377.42468"
 70.2743 +         x="667.38037"
 70.2744 +         sodipodi:role="line"
 70.2745 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
 70.2746 +         y="387.42468"
 70.2747 +         x="667.38037"
 70.2748 +         sodipodi:role="line"
 70.2749 +         style="text-align:center;text-anchor:middle;fill:#000080"
 70.2750 +         id="tspan3585">to send request</tspan></text>
 70.2751 +    <text
 70.2752 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 70.2753 +       xml:space="preserve"
 70.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"
 70.2755 +       x="258.57156"
 70.2756 +       y="402.12799"
 70.2757 +       id="text3587"
 70.2758 +       sodipodi:linespacing="100%"><tspan
 70.2759 +         style="font-size:8px;text-align:end;text-anchor:end"
 70.2760 +         sodipodi:role="line"
 70.2761 +         x="258.57156"
 70.2762 +         y="402.12799"
 70.2763 +         id="tspan3589">resume</tspan></text>
 70.2764 +    <path
 70.2765 +       inkscape:connector-curvature="0"
 70.2766 +       id="path3591"
 70.2767 +       d="m 205.05995,286.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 70.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)" />
 70.2769 +    <path
 70.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)"
 70.2771 +       d="m 137.04459,336.02605 c 67.19099,0 67.19099,0 67.19099,0"
 70.2772 +       id="path3593"
 70.2773 +       inkscape:connector-curvature="0" />
 70.2774 +    <path
 70.2775 +       inkscape:connector-curvature="0"
 70.2776 +       id="path3595"
 70.2777 +       d="m 67.525286,310.02605 c 69.221574,0 69.221574,0 69.221574,0"
 70.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)" />
 70.2779 +    <path
 70.2780 +       sodipodi:nodetypes="cc"
 70.2781 +       inkscape:connector-curvature="0"
 70.2782 +       id="path3597"
 70.2783 +       d="m 67.27805,297.85824 c 0,13.94668 0,13.94668 0,13.94668"
 70.2784 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.2785 +    <path
 70.2786 +       inkscape:connector-curvature="0"
 70.2787 +       id="path3599"
 70.2788 +       d="m 137.04459,312.02605 c 67.19099,0 67.19099,0 67.19099,0"
 70.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)" />
 70.2790 +    <path
 70.2791 +       sodipodi:nodetypes="cc"
 70.2792 +       inkscape:connector-curvature="0"
 70.2793 +       id="path3601"
 70.2794 +       d="m 205.27805,312.63926 c 0,11.23237 0,11.23237 0,11.23237"
 70.2795 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.2796 +    <path
 70.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)"
 70.2798 +       d="m 205.05995,324.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 70.2799 +       id="path3603"
 70.2800 +       inkscape:connector-curvature="0" />
 70.2801 +    <text
 70.2802 +       sodipodi:linespacing="100%"
 70.2803 +       id="text3605"
 70.2804 +       y="326.42468"
 70.2805 +       x="186.89299"
 70.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"
 70.2807 +       xml:space="preserve"
 70.2808 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 70.2809 +         id="tspan3607"
 70.2810 +         y="326.42468"
 70.2811 +         x="186.89299"
 70.2812 +         sodipodi:role="line"
 70.2813 +         style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text>
 70.2814 +    <path
 70.2815 +       sodipodi:nodetypes="cc"
 70.2816 +       inkscape:connector-curvature="0"
 70.2817 +       id="path3609"
 70.2818 +       d="m 137.27805,323.85824 c 0,11.43122 0,11.43122 0,11.43122"
 70.2819 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.2820 +    <text
 70.2821 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 70.2822 +       xml:space="preserve"
 70.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"
 70.2824 +       x="186.26445"
 70.2825 +       y="288.42987"
 70.2826 +       id="text3611"
 70.2827 +       sodipodi:linespacing="100%"><tspan
 70.2828 +         style="font-size:7px;text-align:center;text-anchor:middle"
 70.2829 +         sodipodi:role="line"
 70.2830 +         x="186.26445"
 70.2831 +         y="288.42987"
 70.2832 +         id="tspan3613">call via Ptr to Dyn Lib Fn</tspan></text>
 70.2833 +    <path
 70.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)"
 70.2835 +       d="m 465.78297,400.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 70.2836 +       id="path3615"
 70.2837 +       inkscape:connector-curvature="0" />
 70.2838 +    <path
 70.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)"
 70.2840 +       d="m 466.19516,280.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 70.2841 +       id="path3617"
 70.2842 +       inkscape:connector-curvature="0" />
 70.2843 +    <text
 70.2844 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 70.2845 +       xml:space="preserve"
 70.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"
 70.2847 +       x="35.877613"
 70.2848 +       y="497.93744"
 70.2849 +       id="text3619"
 70.2850 +       sodipodi:linespacing="100%"><tspan
 70.2851 +         id="tspan3621"
 70.2852 +         style="font-size:18px;text-align:center;text-anchor:middle"
 70.2853 +         sodipodi:role="line"
 70.2854 +         x="35.877613"
 70.2855 +         y="497.93744">core 1</tspan></text>
 70.2856 +    <path
 70.2857 +       sodipodi:nodetypes="cc"
 70.2858 +       inkscape:connector-curvature="0"
 70.2859 +       id="path3623"
 70.2860 +       d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.2861 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.2862 +    <path
 70.2863 +       sodipodi:nodetypes="cc"
 70.2864 +       inkscape:connector-curvature="0"
 70.2865 +       id="path3625"
 70.2866 +       d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.2867 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.2868 +    <path
 70.2869 +       sodipodi:nodetypes="cc"
 70.2870 +       inkscape:connector-curvature="0"
 70.2871 +       id="path3627"
 70.2872 +       d="m 205.27805,400.31985 c 0,7.35629 0,7.35629 0,7.35629"
 70.2873 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 70.2874 +    <text
 70.2875 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 70.2876 +       xml:space="preserve"
 70.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"
 70.2878 +       x="-123.23382"
 70.2879 +       y="421.84821"
 70.2880 +       id="text3629"
 70.2881 +       sodipodi:linespacing="100%"><tspan
 70.2882 +         id="tspan3631"
 70.2883 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2884 +         sodipodi:role="line"
 70.2885 +         x="-123.23382"
 70.2886 +         y="421.84821">return from</tspan><tspan
 70.2887 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2888 +         sodipodi:role="line"
 70.2889 +         x="-123.23382"
 70.2890 +         y="429.84821"
 70.2891 +         id="tspan3633">suspend</tspan></text>
 70.2892 +    <path
 70.2893 +       inkscape:connector-curvature="0"
 70.2894 +       id="path3635"
 70.2895 +       d="m 271.03421,246.02605 c 193.92439,0 193.92439,0 193.92439,0"
 70.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)" />
 70.2897 +    <text
 70.2898 +       sodipodi:linespacing="100%"
 70.2899 +       id="text4289"
 70.2900 +       y="155.76575"
 70.2901 +       x="426.92542"
 70.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"
 70.2903 +       xml:space="preserve"><tspan
 70.2904 +         y="155.76575"
 70.2905 +         x="426.92542"
 70.2906 +         id="tspan4291"
 70.2907 +         sodipodi:role="line"
 70.2908 +         style="text-align:center;text-anchor:middle">PR OS thread</tspan><tspan
 70.2909 +         y="164.20053"
 70.2910 +         x="426.92542"
 70.2911 +         sodipodi:role="line"
 70.2912 +         style="font-size:8px;text-align:center;text-anchor:middle"
 70.2913 +         id="tspan4295">(core 2)</tspan></text>
 70.2914 +    <g
 70.2915 +       transform="matrix(1,0,0,0.71130685,84,-77.47087)"
 70.2916 +       id="g4297">
 70.2917 +      <rect
 70.2918 +         y="313.58255"
 70.2919 +         x="310.40247"
 70.2920 +         height="52.250008"
 70.2921 +         width="65.276405"
 70.2922 +         id="rect4299"
 70.2923 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
 70.2924 +    </g>
 70.2925 +  </g>
 70.2926 +</svg>
    71.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual.pdf has changed
    72.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    72.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual.svg	Sat Aug 03 19:24:22 2013 -0700
    72.3 @@ -0,0 +1,446 @@
    72.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    72.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
    72.6 +
    72.7 +<svg
    72.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
    72.9 +   xmlns:cc="http://creativecommons.org/ns#"
   72.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   72.11 +   xmlns:svg="http://www.w3.org/2000/svg"
   72.12 +   xmlns="http://www.w3.org/2000/svg"
   72.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   72.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   72.15 +   width="744.09448819"
   72.16 +   height="1052.3622047"
   72.17 +   id="svg2"
   72.18 +   sodipodi:version="0.32"
   72.19 +   inkscape:version="0.48.2 r9819"
   72.20 +   sodipodi:docname="PR__timeline_dual.svg"
   72.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   72.22 +   version="1.1">
   72.23 +  <defs
   72.24 +     id="defs4">
   72.25 +    <marker
   72.26 +       inkscape:stockid="Arrow2Mend"
   72.27 +       orient="auto"
   72.28 +       refY="0.0"
   72.29 +       refX="0.0"
   72.30 +       id="Arrow2Mend"
   72.31 +       style="overflow:visible;">
   72.32 +      <path
   72.33 +         id="path4008"
   72.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   72.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 "
   72.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   72.37 +    </marker>
   72.38 +    <inkscape:perspective
   72.39 +       sodipodi:type="inkscape:persp3d"
   72.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   72.41 +       inkscape:vp_y="0 : 1000 : 0"
   72.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   72.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   72.44 +       id="perspective10" />
   72.45 +    <inkscape:perspective
   72.46 +       id="perspective11923"
   72.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   72.48 +       inkscape:vp_z="1 : 0.5 : 1"
   72.49 +       inkscape:vp_y="0 : 1000 : 0"
   72.50 +       inkscape:vp_x="0 : 0.5 : 1"
   72.51 +       sodipodi:type="inkscape:persp3d" />
   72.52 +  </defs>
   72.53 +  <sodipodi:namedview
   72.54 +     id="base"
   72.55 +     pagecolor="#ffffff"
   72.56 +     bordercolor="#666666"
   72.57 +     borderopacity="1.0"
   72.58 +     gridtolerance="10000"
   72.59 +     guidetolerance="10"
   72.60 +     objecttolerance="10"
   72.61 +     inkscape:pageopacity="0.0"
   72.62 +     inkscape:pageshadow="2"
   72.63 +     inkscape:zoom="1.3364318"
   72.64 +     inkscape:cx="331.64634"
   72.65 +     inkscape:cy="648.10677"
   72.66 +     inkscape:document-units="px"
   72.67 +     inkscape:current-layer="layer1"
   72.68 +     showgrid="false"
   72.69 +     inkscape:window-width="1317"
   72.70 +     inkscape:window-height="878"
   72.71 +     inkscape:window-x="7"
   72.72 +     inkscape:window-y="1"
   72.73 +     inkscape:window-maximized="0" />
   72.74 +  <metadata
   72.75 +     id="metadata7">
   72.76 +    <rdf:RDF>
   72.77 +      <cc:Work
   72.78 +         rdf:about="">
   72.79 +        <dc:format>image/svg+xml</dc:format>
   72.80 +        <dc:type
   72.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   72.82 +        <dc:title />
   72.83 +      </cc:Work>
   72.84 +    </rdf:RDF>
   72.85 +  </metadata>
   72.86 +  <g
   72.87 +     inkscape:label="Layer 1"
   72.88 +     inkscape:groupmode="layer"
   72.89 +     id="layer1">
   72.90 +    <path
   72.91 +       id="path7353"
   72.92 +       d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0"
   72.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"
   72.94 +       inkscape:connector-curvature="0" />
   72.95 +    <g
   72.96 +       transform="translate(-32,-120)"
   72.97 +       id="g7355"
   72.98 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
   72.99 +      <path
  72.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"
  72.101 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  72.102 +         id="path7357"
  72.103 +         inkscape:connector-curvature="0" />
  72.104 +      <text
  72.105 +         sodipodi:linespacing="100%"
  72.106 +         id="text7359"
  72.107 +         y="376.52615"
  72.108 +         x="298.7023"
  72.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"
  72.110 +         xml:space="preserve"><tspan
  72.111 +           y="376.52615"
  72.112 +           x="298.7023"
  72.113 +           id="tspan7361"
  72.114 +           sodipodi:role="line"
  72.115 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  72.116 +           y="385.74353"
  72.117 +           x="298.7023"
  72.118 +           sodipodi:role="line"
  72.119 +           id="tspan7363"
  72.120 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text>
  72.121 +    </g>
  72.122 +    <g
  72.123 +       transform="translate(-60,-120)"
  72.124 +       id="g7365"
  72.125 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
  72.126 +      <path
  72.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"
  72.128 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  72.129 +         id="path7367"
  72.130 +         inkscape:connector-curvature="0" />
  72.131 +      <text
  72.132 +         sodipodi:linespacing="100%"
  72.133 +         id="text7369"
  72.134 +         y="376.52615"
  72.135 +         x="378.7023"
  72.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"
  72.137 +         xml:space="preserve"><tspan
  72.138 +           y="376.52615"
  72.139 +           x="380.20621"
  72.140 +           id="tspan7371"
  72.141 +           sodipodi:role="line"
  72.142 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  72.143 +             style="font-size:10px"
  72.144 +             id="tspan8087">Resume </tspan></tspan><tspan
  72.145 +           y="385.74353"
  72.146 +           x="378.7023"
  72.147 +           sodipodi:role="line"
  72.148 +           id="tspan7373"
  72.149 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text>
  72.150 +    </g>
  72.151 +    <text
  72.152 +       sodipodi:linespacing="100%"
  72.153 +       id="text7375"
  72.154 +       y="285.27441"
  72.155 +       x="352.7023"
  72.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"
  72.157 +       xml:space="preserve"><tspan
  72.158 +         y="285.27441"
  72.159 +         x="352.7023"
  72.160 +         sodipodi:role="line"
  72.161 +         id="tspan7379">Timeline B</tspan></text>
  72.162 +    <path
  72.163 +       inkscape:connector-curvature="0"
  72.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"
  72.165 +       d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0"
  72.166 +       id="path7387" />
  72.167 +    <path
  72.168 +       id="path8089"
  72.169 +       d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0"
  72.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)"
  72.171 +       inkscape:connector-curvature="0" />
  72.172 +    <text
  72.173 +       xml:space="preserve"
  72.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"
  72.175 +       x="352.7023"
  72.176 +       y="320.02267"
  72.177 +       id="text8091"
  72.178 +       sodipodi:linespacing="100%"><tspan
  72.179 +         id="tspan8093"
  72.180 +         sodipodi:role="line"
  72.181 +         x="352.7023"
  72.182 +         y="320.02267">Physical time</tspan></text>
  72.183 +    <path
  72.184 +       inkscape:connector-curvature="0"
  72.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"
  72.186 +       d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0"
  72.187 +       id="path8095" />
  72.188 +    <g
  72.189 +       id="g8097"
  72.190 +       transform="translate(-70,-180)"
  72.191 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  72.192 +      <path
  72.193 +         inkscape:connector-curvature="0"
  72.194 +         id="path8099"
  72.195 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  72.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" />
  72.197 +      <text
  72.198 +         xml:space="preserve"
  72.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"
  72.200 +         x="298.7023"
  72.201 +         y="376.52615"
  72.202 +         id="text8101"
  72.203 +         sodipodi:linespacing="100%"><tspan
  72.204 +           style="font-size:10px;text-align:center;text-anchor:middle"
  72.205 +           sodipodi:role="line"
  72.206 +           id="tspan8103"
  72.207 +           x="298.7023"
  72.208 +           y="376.52615">Suspend</tspan><tspan
  72.209 +           style="font-size:9px;text-align:center;text-anchor:middle"
  72.210 +           id="tspan8105"
  72.211 +           sodipodi:role="line"
  72.212 +           x="298.7023"
  72.213 +           y="385.74353">(Point 1.S)</tspan></text>
  72.214 +    </g>
  72.215 +    <g
  72.216 +       id="g8107"
  72.217 +       transform="translate(-60,-180)"
  72.218 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
  72.219 +      <path
  72.220 +         inkscape:connector-curvature="0"
  72.221 +         id="path8109"
  72.222 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  72.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" />
  72.224 +      <text
  72.225 +         xml:space="preserve"
  72.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"
  72.227 +         x="378.7023"
  72.228 +         y="376.52615"
  72.229 +         id="text8111"
  72.230 +         sodipodi:linespacing="100%"><tspan
  72.231 +           style="font-size:9px;text-align:center;text-anchor:middle"
  72.232 +           sodipodi:role="line"
  72.233 +           id="tspan8113"
  72.234 +           x="380.20621"
  72.235 +           y="376.52615"><tspan
  72.236 +             id="tspan8115"
  72.237 +             style="font-size:10px">Resume </tspan></tspan><tspan
  72.238 +           style="font-size:9px;text-align:center;text-anchor:middle"
  72.239 +           id="tspan8117"
  72.240 +           sodipodi:role="line"
  72.241 +           x="378.7023"
  72.242 +           y="385.74353">(Point 1.R)</tspan></text>
  72.243 +    </g>
  72.244 +    <text
  72.245 +       xml:space="preserve"
  72.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"
  72.247 +       x="352.7023"
  72.248 +       y="225.27441"
  72.249 +       id="text8119"
  72.250 +       sodipodi:linespacing="100%"><tspan
  72.251 +         id="tspan8121"
  72.252 +         sodipodi:role="line"
  72.253 +         x="352.7023"
  72.254 +         y="225.27441">Timeline A</tspan></text>
  72.255 +    <path
  72.256 +       id="path8123"
  72.257 +       d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0"
  72.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"
  72.259 +       inkscape:connector-curvature="0" />
  72.260 +    <path
  72.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)"
  72.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"
  72.263 +       id="path8125"
  72.264 +       inkscape:connector-curvature="0"
  72.265 +       sodipodi:nodetypes="csc" />
  72.266 +    <path
  72.267 +       sodipodi:nodetypes="csc"
  72.268 +       inkscape:connector-curvature="0"
  72.269 +       id="path5550"
  72.270 +       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"
  72.271 +       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)" />
  72.272 +    <path
  72.273 +       inkscape:connector-curvature="0"
  72.274 +       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"
  72.275 +       d="m 196.98465,461.37498 c 69.82336,0 69.82336,0 69.82336,0"
  72.276 +       id="path5552" />
  72.277 +    <g
  72.278 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  72.279 +       id="g5554"
  72.280 +       transform="translate(-32,60)">
  72.281 +      <path
  72.282 +         inkscape:connector-curvature="0"
  72.283 +         id="path5556"
  72.284 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  72.285 +         style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
  72.286 +      <text
  72.287 +         xml:space="preserve"
  72.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
  72.289 +         x="298.7023"
  72.290 +         y="376.52615"
  72.291 +         id="text5558"
  72.292 +         sodipodi:linespacing="100%"><tspan
  72.293 +           style="font-size:10px;text-align:center;text-anchor:middle"
  72.294 +           sodipodi:role="line"
  72.295 +           id="tspan5560"
  72.296 +           x="298.7023"
  72.297 +           y="376.52615">Suspend</tspan><tspan
  72.298 +           style="font-size:9px;text-align:center;text-anchor:middle"
  72.299 +           id="tspan5562"
  72.300 +           sodipodi:role="line"
  72.301 +           x="298.7023"
  72.302 +           y="385.74353">(Point 2.S)</tspan></text>
  72.303 +    </g>
  72.304 +    <g
  72.305 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  72.306 +       id="g5564"
  72.307 +       transform="translate(-60,60)">
  72.308 +      <path
  72.309 +         inkscape:connector-curvature="0"
  72.310 +         id="path5566"
  72.311 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  72.312 +         style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
  72.313 +      <text
  72.314 +         xml:space="preserve"
  72.315 +         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
  72.316 +         x="378.7023"
  72.317 +         y="376.52615"
  72.318 +         id="text5568"
  72.319 +         sodipodi:linespacing="100%"><tspan
  72.320 +           style="font-size:9px;text-align:center;text-anchor:middle"
  72.321 +           sodipodi:role="line"
  72.322 +           id="tspan5570"
  72.323 +           x="380.20621"
  72.324 +           y="376.52615"><tspan
  72.325 +             id="tspan5572"
  72.326 +             style="font-size:10px">Resume </tspan></tspan><tspan
  72.327 +           style="font-size:9px;text-align:center;text-anchor:middle"
  72.328 +           id="tspan5574"
  72.329 +           sodipodi:role="line"
  72.330 +           x="378.7023"
  72.331 +           y="385.74353">(Point 2.R)</tspan></text>
  72.332 +    </g>
  72.333 +    <text
  72.334 +       xml:space="preserve"
  72.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:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
  72.336 +       x="352.7023"
  72.337 +       y="465.27441"
  72.338 +       id="text5576"
  72.339 +       sodipodi:linespacing="100%"><tspan
  72.340 +         id="tspan5578"
  72.341 +         sodipodi:role="line"
  72.342 +         x="352.7023"
  72.343 +         y="465.27441">Timeline B</tspan></text>
  72.344 +    <path
  72.345 +       id="path5580"
  72.346 +       d="m 320.08408,461.37498 c 27.45405,0 27.45405,0 27.45405,0"
  72.347 +       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)"
  72.348 +       inkscape:connector-curvature="0" />
  72.349 +    <path
  72.350 +       inkscape:connector-curvature="0"
  72.351 +       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)"
  72.352 +       d="m 195.41471,497.37498 c 151.68424,0 151.68424,0 151.68424,0"
  72.353 +       id="path5582" />
  72.354 +    <text
  72.355 +       sodipodi:linespacing="100%"
  72.356 +       id="text5584"
  72.357 +       y="500.02267"
  72.358 +       x="352.7023"
  72.359 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
  72.360 +       xml:space="preserve"><tspan
  72.361 +         y="500.02267"
  72.362 +         x="352.7023"
  72.363 +         sodipodi:role="line"
  72.364 +         id="tspan5586">Physical time</tspan></text>
  72.365 +    <path
  72.366 +       id="path5588"
  72.367 +       d="m 195.92204,401.37498 c 33.06652,0 33.06652,0 33.06652,0"
  72.368 +       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"
  72.369 +       inkscape:connector-curvature="0" />
  72.370 +    <g
  72.371 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  72.372 +       transform="translate(-70,0)"
  72.373 +       id="g5590">
  72.374 +      <path
  72.375 +         style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
  72.376 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  72.377 +         id="path5592"
  72.378 +         inkscape:connector-curvature="0" />
  72.379 +      <text
  72.380 +         sodipodi:linespacing="100%"
  72.381 +         id="text5594"
  72.382 +         y="376.52615"
  72.383 +         x="298.7023"
  72.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"
  72.385 +         xml:space="preserve"><tspan
  72.386 +           y="376.52615"
  72.387 +           x="298.7023"
  72.388 +           id="tspan5596"
  72.389 +           sodipodi:role="line"
  72.390 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  72.391 +           y="385.74353"
  72.392 +           x="298.7023"
  72.393 +           sodipodi:role="line"
  72.394 +           id="tspan5598"
  72.395 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text>
  72.396 +    </g>
  72.397 +    <g
  72.398 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  72.399 +       transform="translate(-60,0)"
  72.400 +       id="g5600">
  72.401 +      <path
  72.402 +         style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
  72.403 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  72.404 +         id="path5602"
  72.405 +         inkscape:connector-curvature="0" />
  72.406 +      <text
  72.407 +         sodipodi:linespacing="100%"
  72.408 +         id="text5604"
  72.409 +         y="376.52615"
  72.410 +         x="378.7023"
  72.411 +         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
  72.412 +         xml:space="preserve"><tspan
  72.413 +           y="376.52615"
  72.414 +           x="380.20621"
  72.415 +           id="tspan5606"
  72.416 +           sodipodi:role="line"
  72.417 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  72.418 +             style="font-size:10px"
  72.419 +             id="tspan5608">Resume </tspan></tspan><tspan
  72.420 +           y="385.74353"
  72.421 +           x="378.7023"
  72.422 +           sodipodi:role="line"
  72.423 +           id="tspan5610"
  72.424 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text>
  72.425 +    </g>
  72.426 +    <text
  72.427 +       sodipodi:linespacing="100%"
  72.428 +       id="text5612"
  72.429 +       y="405.27441"
  72.430 +       x="352.7023"
  72.431 +       style="font-size:10px;font-style: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"
  72.432 +       xml:space="preserve"><tspan
  72.433 +         y="405.27441"
  72.434 +         x="352.7023"
  72.435 +         sodipodi:role="line"
  72.436 +         id="tspan5614">Timeline A</tspan></text>
  72.437 +    <path
  72.438 +       inkscape:connector-curvature="0"
  72.439 +       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)"
  72.440 +       d="m 320.08408,401.37498 c 27.45405,0 27.45405,0 27.45405,0"
  72.441 +       id="path5616" />
  72.442 +    <path
  72.443 +       sodipodi:nodetypes="csc"
  72.444 +       inkscape:connector-curvature="0"
  72.445 +       id="path5618"
  72.446 +       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"
  72.447 +       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)" />
  72.448 +  </g>
  72.449 +</svg>
    73.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_2nd.pdf has changed
    74.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    74.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_2nd.svg	Sat Aug 03 19:24:22 2013 -0700
    74.3 @@ -0,0 +1,545 @@
    74.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    74.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
    74.6 +
    74.7 +<svg
    74.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
    74.9 +   xmlns:cc="http://creativecommons.org/ns#"
   74.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   74.11 +   xmlns:svg="http://www.w3.org/2000/svg"
   74.12 +   xmlns="http://www.w3.org/2000/svg"
   74.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   74.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   74.15 +   width="744.09448819"
   74.16 +   height="1052.3622047"
   74.17 +   id="svg2"
   74.18 +   sodipodi:version="0.32"
   74.19 +   inkscape:version="0.48.2 r9819"
   74.20 +   sodipodi:docname="PR__timeline_dual_2nd.svg"
   74.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   74.22 +   version="1.1">
   74.23 +  <defs
   74.24 +     id="defs4">
   74.25 +    <marker
   74.26 +       inkscape:stockid="Arrow2Mend"
   74.27 +       orient="auto"
   74.28 +       refY="0.0"
   74.29 +       refX="0.0"
   74.30 +       id="Arrow2Mend"
   74.31 +       style="overflow:visible;">
   74.32 +      <path
   74.33 +         id="path4008"
   74.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   74.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 "
   74.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   74.37 +    </marker>
   74.38 +    <inkscape:perspective
   74.39 +       sodipodi:type="inkscape:persp3d"
   74.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   74.41 +       inkscape:vp_y="0 : 1000 : 0"
   74.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   74.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   74.44 +       id="perspective10" />
   74.45 +    <inkscape:perspective
   74.46 +       id="perspective11923"
   74.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   74.48 +       inkscape:vp_z="1 : 0.5 : 1"
   74.49 +       inkscape:vp_y="0 : 1000 : 0"
   74.50 +       inkscape:vp_x="0 : 0.5 : 1"
   74.51 +       sodipodi:type="inkscape:persp3d" />
   74.52 +  </defs>
   74.53 +  <sodipodi:namedview
   74.54 +     id="base"
   74.55 +     pagecolor="#ffffff"
   74.56 +     bordercolor="#666666"
   74.57 +     borderopacity="1.0"
   74.58 +     gridtolerance="10000"
   74.59 +     guidetolerance="10"
   74.60 +     objecttolerance="10"
   74.61 +     inkscape:pageopacity="0.0"
   74.62 +     inkscape:pageshadow="2"
   74.63 +     inkscape:zoom="1.3364318"
   74.64 +     inkscape:cx="214.9176"
   74.65 +     inkscape:cy="608.45761"
   74.66 +     inkscape:document-units="px"
   74.67 +     inkscape:current-layer="layer1"
   74.68 +     showgrid="false"
   74.69 +     inkscape:window-width="1317"
   74.70 +     inkscape:window-height="878"
   74.71 +     inkscape:window-x="7"
   74.72 +     inkscape:window-y="1"
   74.73 +     inkscape:window-maximized="0" />
   74.74 +  <metadata
   74.75 +     id="metadata7">
   74.76 +    <rdf:RDF>
   74.77 +      <cc:Work
   74.78 +         rdf:about="">
   74.79 +        <dc:format>image/svg+xml</dc:format>
   74.80 +        <dc:type
   74.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   74.82 +        <dc:title></dc:title>
   74.83 +      </cc:Work>
   74.84 +    </rdf:RDF>
   74.85 +  </metadata>
   74.86 +  <g
   74.87 +     inkscape:label="Layer 1"
   74.88 +     inkscape:groupmode="layer"
   74.89 +     id="layer1">
   74.90 +    <path
   74.91 +       id="path7353"
   74.92 +       d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0"
   74.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"
   74.94 +       inkscape:connector-curvature="0" />
   74.95 +    <g
   74.96 +       transform="translate(-32,-120)"
   74.97 +       id="g7355"
   74.98 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
   74.99 +      <path
  74.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"
  74.101 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  74.102 +         id="path7357"
  74.103 +         inkscape:connector-curvature="0" />
  74.104 +      <text
  74.105 +         sodipodi:linespacing="100%"
  74.106 +         id="text7359"
  74.107 +         y="376.52615"
  74.108 +         x="298.7023"
  74.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"
  74.110 +         xml:space="preserve"><tspan
  74.111 +           y="376.52615"
  74.112 +           x="298.7023"
  74.113 +           id="tspan7361"
  74.114 +           sodipodi:role="line"
  74.115 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  74.116 +           y="385.74353"
  74.117 +           x="298.7023"
  74.118 +           sodipodi:role="line"
  74.119 +           id="tspan7363"
  74.120 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text>
  74.121 +    </g>
  74.122 +    <g
  74.123 +       transform="translate(-60,-120)"
  74.124 +       id="g7365"
  74.125 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
  74.126 +      <path
  74.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"
  74.128 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  74.129 +         id="path7367"
  74.130 +         inkscape:connector-curvature="0" />
  74.131 +      <text
  74.132 +         sodipodi:linespacing="100%"
  74.133 +         id="text7369"
  74.134 +         y="376.52615"
  74.135 +         x="378.7023"
  74.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"
  74.137 +         xml:space="preserve"><tspan
  74.138 +           y="376.52615"
  74.139 +           x="380.20621"
  74.140 +           id="tspan7371"
  74.141 +           sodipodi:role="line"
  74.142 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  74.143 +             style="font-size:10px"
  74.144 +             id="tspan8087">Resume </tspan></tspan><tspan
  74.145 +           y="385.74353"
  74.146 +           x="378.7023"
  74.147 +           sodipodi:role="line"
  74.148 +           id="tspan7373"
  74.149 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text>
  74.150 +    </g>
  74.151 +    <text
  74.152 +       sodipodi:linespacing="100%"
  74.153 +       id="text7375"
  74.154 +       y="285.27441"
  74.155 +       x="352.7023"
  74.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"
  74.157 +       xml:space="preserve"><tspan
  74.158 +         y="285.27441"
  74.159 +         x="352.7023"
  74.160 +         sodipodi:role="line"
  74.161 +         id="tspan7379">Timeline B</tspan></text>
  74.162 +    <path
  74.163 +       inkscape:connector-curvature="0"
  74.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"
  74.165 +       d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0"
  74.166 +       id="path7387" />
  74.167 +    <path
  74.168 +       id="path8089"
  74.169 +       d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0"
  74.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)"
  74.171 +       inkscape:connector-curvature="0" />
  74.172 +    <text
  74.173 +       xml:space="preserve"
  74.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"
  74.175 +       x="352.7023"
  74.176 +       y="320.02267"
  74.177 +       id="text8091"
  74.178 +       sodipodi:linespacing="100%"><tspan
  74.179 +         id="tspan8093"
  74.180 +         sodipodi:role="line"
  74.181 +         x="352.7023"
  74.182 +         y="320.02267">Physical time</tspan></text>
  74.183 +    <path
  74.184 +       inkscape:connector-curvature="0"
  74.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"
  74.186 +       d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0"
  74.187 +       id="path8095" />
  74.188 +    <g
  74.189 +       id="g8097"
  74.190 +       transform="translate(-70,-180)"
  74.191 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  74.192 +      <path
  74.193 +         inkscape:connector-curvature="0"
  74.194 +         id="path8099"
  74.195 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  74.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" />
  74.197 +      <text
  74.198 +         xml:space="preserve"
  74.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"
  74.200 +         x="298.7023"
  74.201 +         y="376.52615"
  74.202 +         id="text8101"
  74.203 +         sodipodi:linespacing="100%"><tspan
  74.204 +           style="font-size:10px;text-align:center;text-anchor:middle"
  74.205 +           sodipodi:role="line"
  74.206 +           id="tspan8103"
  74.207 +           x="298.7023"
  74.208 +           y="376.52615">Suspend</tspan><tspan
  74.209 +           style="font-size:9px;text-align:center;text-anchor:middle"
  74.210 +           id="tspan8105"
  74.211 +           sodipodi:role="line"
  74.212 +           x="298.7023"
  74.213 +           y="385.74353">(Point 1.S)</tspan></text>
  74.214 +    </g>
  74.215 +    <g
  74.216 +       id="g8107"
  74.217 +       transform="translate(-60,-180)"
  74.218 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
  74.219 +      <path
  74.220 +         inkscape:connector-curvature="0"
  74.221 +         id="path8109"
  74.222 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  74.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" />
  74.224 +      <text
  74.225 +         xml:space="preserve"
  74.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"
  74.227 +         x="378.7023"
  74.228 +         y="376.52615"
  74.229 +         id="text8111"
  74.230 +         sodipodi:linespacing="100%"><tspan
  74.231 +           style="font-size:9px;text-align:center;text-anchor:middle"
  74.232 +           sodipodi:role="line"
  74.233 +           id="tspan8113"
  74.234 +           x="380.20621"
  74.235 +           y="376.52615"><tspan
  74.236 +             id="tspan8115"
  74.237 +             style="font-size:10px">Resume </tspan></tspan><tspan
  74.238 +           style="font-size:9px;text-align:center;text-anchor:middle"
  74.239 +           id="tspan8117"
  74.240 +           sodipodi:role="line"
  74.241 +           x="378.7023"
  74.242 +           y="385.74353">(Point 1.R)</tspan></text>
  74.243 +    </g>
  74.244 +    <text
  74.245 +       xml:space="preserve"
  74.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"
  74.247 +       x="352.7023"
  74.248 +       y="225.27441"
  74.249 +       id="text8119"
  74.250 +       sodipodi:linespacing="100%"><tspan
  74.251 +         id="tspan8121"
  74.252 +         sodipodi:role="line"
  74.253 +         x="352.7023"
  74.254 +         y="225.27441">Timeline A</tspan></text>
  74.255 +    <path
  74.256 +       id="path8123"
  74.257 +       d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0"
  74.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"
  74.259 +       inkscape:connector-curvature="0" />
  74.260 +    <path
  74.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)"
  74.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"
  74.263 +       id="path8125"
  74.264 +       inkscape:connector-curvature="0"
  74.265 +       sodipodi:nodetypes="csc" />
  74.266 +    <path
  74.267 +       inkscape:connector-curvature="0"
  74.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"
  74.269 +       d="m 246.98465,423.37498 c 69.82336,0 69.82336,0 69.82336,0"
  74.270 +       id="path10381" />
  74.271 +    <g
  74.272 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  74.273 +       id="g10393"
  74.274 +       transform="translate(-60,22)">
  74.275 +      <path
  74.276 +         inkscape:connector-curvature="0"
  74.277 +         id="path10395"
  74.278 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  74.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" />
  74.280 +      <text
  74.281 +         xml:space="preserve"
  74.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"
  74.283 +         x="378.7023"
  74.284 +         y="390.52615"
  74.285 +         id="text10397"
  74.286 +         sodipodi:linespacing="100%"><tspan
  74.287 +           style="font-size:9px;text-align:center;text-anchor:middle"
  74.288 +           id="tspan10403"
  74.289 +           sodipodi:role="line"
  74.290 +           x="378.7023"
  74.291 +           y="390.52615">Tied Point</tspan></text>
  74.292 +    </g>
  74.293 +    <text
  74.294 +       xml:space="preserve"
  74.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"
  74.296 +       x="352.7023"
  74.297 +       y="427.27441"
  74.298 +       id="text10405"
  74.299 +       sodipodi:linespacing="100%"><tspan
  74.300 +         id="tspan10407"
  74.301 +         sodipodi:role="line"
  74.302 +         x="352.7023"
  74.303 +         y="427.27441">Timeline B</tspan></text>
  74.304 +    <path
  74.305 +       id="path10409"
  74.306 +       d="m 320.08408,423.37498 c 27.45405,0 27.45405,0 27.45405,0"
  74.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)"
  74.308 +       inkscape:connector-curvature="0" />
  74.309 +    <path
  74.310 +       id="path10411"
  74.311 +       d="m 283.92204,381.37498 c 33.06652,0 33.06652,0 33.06652,0"
  74.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"
  74.313 +       inkscape:connector-curvature="0" />
  74.314 +    <g
  74.315 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  74.316 +       transform="translate(-60,-20)"
  74.317 +       id="g10423">
  74.318 +      <path
  74.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"
  74.320 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  74.321 +         id="path10425"
  74.322 +         inkscape:connector-curvature="0" />
  74.323 +      <text
  74.324 +         sodipodi:linespacing="100%"
  74.325 +         id="text10427"
  74.326 +         y="388.52615"
  74.327 +         x="378.7023"
  74.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"
  74.329 +         xml:space="preserve"><tspan
  74.330 +           y="388.52615"
  74.331 +           x="378.7023"
  74.332 +           sodipodi:role="line"
  74.333 +           id="tspan10433"
  74.334 +           style="font-size:9px;text-align:center;text-anchor:middle">Tied Point</tspan></text>
  74.335 +    </g>
  74.336 +    <text
  74.337 +       sodipodi:linespacing="100%"
  74.338 +       id="text10435"
  74.339 +       y="385.27441"
  74.340 +       x="352.7023"
  74.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"
  74.342 +       xml:space="preserve"><tspan
  74.343 +         y="385.27441"
  74.344 +         x="352.7023"
  74.345 +         sodipodi:role="line"
  74.346 +         id="tspan10437">Timeline A</tspan></text>
  74.347 +    <path
  74.348 +       inkscape:connector-curvature="0"
  74.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)"
  74.350 +       d="m 320.08408,381.37498 c 27.45405,0 27.45405,0 27.45405,0"
  74.351 +       id="path10439" />
  74.352 +    <path
  74.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"
  74.354 +       d="m 318.92887,395.30966 c 0,24.40348 0,24.40348 0,24.40348"
  74.355 +       id="path10425-2"
  74.356 +       inkscape:connector-curvature="0" />
  74.357 +    <path
  74.358 +       inkscape:connector-curvature="0"
  74.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"
  74.360 +       d="m 196.98465,549.37498 c 69.82336,0 69.82336,0 69.82336,0"
  74.361 +       id="path10981" />
  74.362 +    <g
  74.363 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  74.364 +       id="g10983"
  74.365 +       transform="translate(-32,148)">
  74.366 +      <path
  74.367 +         inkscape:connector-curvature="0"
  74.368 +         id="path10985"
  74.369 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  74.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" />
  74.371 +    </g>
  74.372 +    <g
  74.373 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  74.374 +       id="g10993"
  74.375 +       transform="translate(-60,148)">
  74.376 +      <path
  74.377 +         inkscape:connector-curvature="0"
  74.378 +         id="path10995"
  74.379 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  74.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" />
  74.381 +    </g>
  74.382 +    <text
  74.383 +       xml:space="preserve"
  74.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"
  74.385 +       x="352.7023"
  74.386 +       y="553.27441"
  74.387 +       id="text11005"
  74.388 +       sodipodi:linespacing="100%"><tspan
  74.389 +         id="tspan11007"
  74.390 +         sodipodi:role="line"
  74.391 +         x="352.7023"
  74.392 +         y="553.27441">Timeline B</tspan></text>
  74.393 +    <path
  74.394 +       id="path11009"
  74.395 +       d="m 320.08408,549.37498 c 27.45405,0 27.45405,0 27.45405,0"
  74.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)"
  74.397 +       inkscape:connector-curvature="0" />
  74.398 +    <path
  74.399 +       id="path11011"
  74.400 +       d="m 195.92204,489.37498 c 33.06652,0 33.06652,0 33.06652,0"
  74.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"
  74.402 +       inkscape:connector-curvature="0" />
  74.403 +    <g
  74.404 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  74.405 +       transform="translate(-70,88)"
  74.406 +       id="g11013">
  74.407 +      <path
  74.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"
  74.409 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  74.410 +         id="path11015"
  74.411 +         inkscape:connector-curvature="0" />
  74.412 +      <text
  74.413 +         sodipodi:linespacing="100%"
  74.414 +         id="text11017"
  74.415 +         y="376.52615"
  74.416 +         x="298.7023"
  74.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"
  74.418 +         xml:space="preserve"><tspan
  74.419 +           y="376.52615"
  74.420 +           x="298.7023"
  74.421 +           id="tspan11019"
  74.422 +           sodipodi:role="line"
  74.423 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  74.424 +           y="385.74353"
  74.425 +           x="298.7023"
  74.426 +           sodipodi:role="line"
  74.427 +           id="tspan11021"
  74.428 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text>
  74.429 +    </g>
  74.430 +    <g
  74.431 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  74.432 +       transform="translate(-60,88)"
  74.433 +       id="g11023">
  74.434 +      <path
  74.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"
  74.436 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  74.437 +         id="path11025"
  74.438 +         inkscape:connector-curvature="0" />
  74.439 +      <text
  74.440 +         sodipodi:linespacing="100%"
  74.441 +         id="text11027"
  74.442 +         y="376.52615"
  74.443 +         x="378.7023"
  74.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"
  74.445 +         xml:space="preserve"><tspan
  74.446 +           y="376.52615"
  74.447 +           x="380.20621"
  74.448 +           id="tspan11029"
  74.449 +           sodipodi:role="line"
  74.450 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  74.451 +             style="font-size:10px"
  74.452 +             id="tspan11031">Resume </tspan></tspan><tspan
  74.453 +           y="385.74353"
  74.454 +           x="378.7023"
  74.455 +           sodipodi:role="line"
  74.456 +           id="tspan11033"
  74.457 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text>
  74.458 +    </g>
  74.459 +    <text
  74.460 +       sodipodi:linespacing="100%"
  74.461 +       id="text11035"
  74.462 +       y="493.27441"
  74.463 +       x="352.7023"
  74.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"
  74.465 +       xml:space="preserve"><tspan
  74.466 +         y="493.27441"
  74.467 +         x="352.7023"
  74.468 +         sodipodi:role="line"
  74.469 +         id="tspan11037">Timeline A</tspan></text>
  74.470 +    <path
  74.471 +       inkscape:connector-curvature="0"
  74.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)"
  74.473 +       d="m 320.08408,489.37498 c 27.45405,0 27.45405,0 27.45405,0"
  74.474 +       id="path11039" />
  74.475 +    <path
  74.476 +       sodipodi:nodetypes="cc"
  74.477 +       inkscape:connector-curvature="0"
  74.478 +       id="path11041"
  74.479 +       d="m 248.40878,545.16363 c 79.41657,-49.15176 5.94823,-3.26189 82.39224,-51.8417"
  74.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)" />
  74.481 +    <path
  74.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)"
  74.483 +       d="m 329.77257,501.82974 c -70.11936,42.79661 -5.25188,2.84014 -72.74667,45.13875"
  74.484 +       id="path11043"
  74.485 +       inkscape:connector-curvature="0"
  74.486 +       sodipodi:nodetypes="cc" />
  74.487 +    <text
  74.488 +       xml:space="preserve"
  74.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"
  74.490 +       x="-20.52177"
  74.491 +       y="592.72888"
  74.492 +       id="text11049"
  74.493 +       sodipodi:linespacing="100%"
  74.494 +       transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"><tspan
  74.495 +         id="tspan11051"
  74.496 +         sodipodi:role="line"
  74.497 +         x="-20.52177"
  74.498 +         y="592.72888">visible</tspan></text>
  74.499 +    <text
  74.500 +       transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"
  74.501 +       sodipodi:linespacing="100%"
  74.502 +       id="text11053"
  74.503 +       y="607.87146"
  74.504 +       x="-10.997777"
  74.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"
  74.506 +       xml:space="preserve"><tspan
  74.507 +         y="607.87146"
  74.508 +         x="-10.997777"
  74.509 +         sodipodi:role="line"
  74.510 +         id="tspan11055">NOT visible</tspan></text>
  74.511 +    <path
  74.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)"
  74.513 +       d="m 331.48246,541.42226 c -109.48644,-45.60627 -8.20044,-3.02659 -113.5888,-48.10218"
  74.514 +       id="path11057"
  74.515 +       inkscape:connector-curvature="0"
  74.516 +       sodipodi:nodetypes="cc" />
  74.517 +    <path
  74.518 +       sodipodi:nodetypes="cc"
  74.519 +       inkscape:connector-curvature="0"
  74.520 +       id="path11059"
  74.521 +       d="m 218.69167,501.82968 c 107.30304,43.503 8.03691,2.88702 111.32359,45.8838"
  74.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)" />
  74.523 +    <text
  74.524 +       transform="matrix(0.92037595,0.39103467,-0.39103467,0.92037595,0,0)"
  74.525 +       sodipodi:linespacing="100%"
  74.526 +       id="text11061"
  74.527 +       y="382.84756"
  74.528 +       x="402.31476"
  74.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"
  74.530 +       xml:space="preserve"><tspan
  74.531 +         y="382.84756"
  74.532 +         x="402.31476"
  74.533 +         sodipodi:role="line"
  74.534 +         id="tspan11063">visible</tspan></text>
  74.535 +    <text
  74.536 +       xml:space="preserve"
  74.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"
  74.538 +       x="408.54758"
  74.539 +       y="366.66327"
  74.540 +       id="text11065"
  74.541 +       sodipodi:linespacing="100%"
  74.542 +       transform="matrix(0.9201572,0.39154913,-0.39154913,0.9201572,0,0)"><tspan
  74.543 +         id="tspan11067"
  74.544 +         sodipodi:role="line"
  74.545 +         x="408.54758"
  74.546 +         y="366.66327">NOT visible</tspan></text>
  74.547 +  </g>
  74.548 +</svg>
    75.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    75.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_three_versions.svg	Sat Aug 03 19:24:22 2013 -0700
    75.3 @@ -0,0 +1,754 @@
    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="Arrow2Send"
   75.27 +       orient="auto"
   75.28 +       refY="0.0"
   75.29 +       refX="0.0"
   75.30 +       id="Arrow2Send"
   75.31 +       style="overflow:visible;">
   75.32 +      <path
   75.33 +         id="path4262"
   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.3) rotate(180) translate(-2.3,0)" />
   75.37 +    </marker>
   75.38 +    <marker
   75.39 +       inkscape:stockid="Arrow1Mend"
   75.40 +       orient="auto"
   75.41 +       refY="0.0"
   75.42 +       refX="0.0"
   75.43 +       id="Arrow1Mend"
   75.44 +       style="overflow:visible;">
   75.45 +      <path
   75.46 +         id="path4238"
   75.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 "
   75.48 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
   75.49 +         transform="scale(0.4) rotate(180) translate(10,0)" />
   75.50 +    </marker>
   75.51 +    <marker
   75.52 +       inkscape:stockid="Arrow2Mend"
   75.53 +       orient="auto"
   75.54 +       refY="0.0"
   75.55 +       refX="0.0"
   75.56 +       id="Arrow2Mend"
   75.57 +       style="overflow:visible;">
   75.58 +      <path
   75.59 +         id="path4008"
   75.60 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   75.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 "
   75.62 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   75.63 +    </marker>
   75.64 +    <inkscape:perspective
   75.65 +       sodipodi:type="inkscape:persp3d"
   75.66 +       inkscape:vp_x="0 : 526.18109 : 1"
   75.67 +       inkscape:vp_y="0 : 1000 : 0"
   75.68 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   75.69 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   75.70 +       id="perspective10" />
   75.71 +    <inkscape:perspective
   75.72 +       id="perspective11923"
   75.73 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   75.74 +       inkscape:vp_z="1 : 0.5 : 1"
   75.75 +       inkscape:vp_y="0 : 1000 : 0"
   75.76 +       inkscape:vp_x="0 : 0.5 : 1"
   75.77 +       sodipodi:type="inkscape:persp3d" />
   75.78 +  </defs>
   75.79 +  <sodipodi:namedview
   75.80 +     id="base"
   75.81 +     pagecolor="#ffffff"
   75.82 +     bordercolor="#666666"
   75.83 +     borderopacity="1.0"
   75.84 +     gridtolerance="10000"
   75.85 +     guidetolerance="10"
   75.86 +     objecttolerance="10"
   75.87 +     inkscape:pageopacity="0.0"
   75.88 +     inkscape:pageshadow="2"
   75.89 +     inkscape:zoom="1.3364318"
   75.90 +     inkscape:cx="214.9176"
   75.91 +     inkscape:cy="612.44308"
   75.92 +     inkscape:document-units="px"
   75.93 +     inkscape:current-layer="layer1"
   75.94 +     showgrid="false"
   75.95 +     inkscape:window-width="1317"
   75.96 +     inkscape:window-height="878"
   75.97 +     inkscape:window-x="7"
   75.98 +     inkscape:window-y="1"
   75.99 +     inkscape:window-maximized="0" />
  75.100 +  <metadata
  75.101 +     id="metadata7">
  75.102 +    <rdf:RDF>
  75.103 +      <cc:Work
  75.104 +         rdf:about="">
  75.105 +        <dc:format>image/svg+xml</dc:format>
  75.106 +        <dc:type
  75.107 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  75.108 +        <dc:title></dc:title>
  75.109 +      </cc:Work>
  75.110 +    </rdf:RDF>
  75.111 +  </metadata>
  75.112 +  <g
  75.113 +     inkscape:label="Layer 1"
  75.114 +     inkscape:groupmode="layer"
  75.115 +     id="layer1">
  75.116 +    <path
  75.117 +       id="path7353"
  75.118 +       d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0"
  75.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"
  75.120 +       inkscape:connector-curvature="0" />
  75.121 +    <g
  75.122 +       transform="translate(-32,-120)"
  75.123 +       id="g7355"
  75.124 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  75.125 +      <path
  75.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"
  75.127 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  75.128 +         id="path7357"
  75.129 +         inkscape:connector-curvature="0" />
  75.130 +      <text
  75.131 +         sodipodi:linespacing="100%"
  75.132 +         id="text7359"
  75.133 +         y="376.52615"
  75.134 +         x="298.7023"
  75.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"
  75.136 +         xml:space="preserve"><tspan
  75.137 +           y="376.52615"
  75.138 +           x="298.7023"
  75.139 +           id="tspan7361"
  75.140 +           sodipodi:role="line"
  75.141 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  75.142 +           y="385.74353"
  75.143 +           x="298.7023"
  75.144 +           sodipodi:role="line"
  75.145 +           id="tspan7363"
  75.146 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text>
  75.147 +    </g>
  75.148 +    <g
  75.149 +       transform="translate(-60,-120)"
  75.150 +       id="g7365"
  75.151 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
  75.152 +      <path
  75.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"
  75.154 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  75.155 +         id="path7367"
  75.156 +         inkscape:connector-curvature="0" />
  75.157 +      <text
  75.158 +         sodipodi:linespacing="100%"
  75.159 +         id="text7369"
  75.160 +         y="376.52615"
  75.161 +         x="378.7023"
  75.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"
  75.163 +         xml:space="preserve"><tspan
  75.164 +           y="376.52615"
  75.165 +           x="380.20621"
  75.166 +           id="tspan7371"
  75.167 +           sodipodi:role="line"
  75.168 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  75.169 +             style="font-size:10px"
  75.170 +             id="tspan8087">Resume </tspan></tspan><tspan
  75.171 +           y="385.74353"
  75.172 +           x="378.7023"
  75.173 +           sodipodi:role="line"
  75.174 +           id="tspan7373"
  75.175 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text>
  75.176 +    </g>
  75.177 +    <text
  75.178 +       sodipodi:linespacing="100%"
  75.179 +       id="text7375"
  75.180 +       y="285.27441"
  75.181 +       x="352.7023"
  75.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"
  75.183 +       xml:space="preserve"><tspan
  75.184 +         y="285.27441"
  75.185 +         x="352.7023"
  75.186 +         sodipodi:role="line"
  75.187 +         id="tspan7379">Timeline B</tspan></text>
  75.188 +    <path
  75.189 +       inkscape:connector-curvature="0"
  75.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"
  75.191 +       d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0"
  75.192 +       id="path7387" />
  75.193 +    <path
  75.194 +       id="path8089"
  75.195 +       d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0"
  75.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)"
  75.197 +       inkscape:connector-curvature="0" />
  75.198 +    <text
  75.199 +       xml:space="preserve"
  75.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"
  75.201 +       x="352.7023"
  75.202 +       y="320.02267"
  75.203 +       id="text8091"
  75.204 +       sodipodi:linespacing="100%"><tspan
  75.205 +         id="tspan8093"
  75.206 +         sodipodi:role="line"
  75.207 +         x="352.7023"
  75.208 +         y="320.02267">Physical time</tspan></text>
  75.209 +    <path
  75.210 +       inkscape:connector-curvature="0"
  75.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"
  75.212 +       d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0"
  75.213 +       id="path8095" />
  75.214 +    <g
  75.215 +       id="g8097"
  75.216 +       transform="translate(-70,-180)"
  75.217 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  75.218 +      <path
  75.219 +         inkscape:connector-curvature="0"
  75.220 +         id="path8099"
  75.221 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  75.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" />
  75.223 +      <text
  75.224 +         xml:space="preserve"
  75.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"
  75.226 +         x="298.7023"
  75.227 +         y="376.52615"
  75.228 +         id="text8101"
  75.229 +         sodipodi:linespacing="100%"><tspan
  75.230 +           style="font-size:10px;text-align:center;text-anchor:middle"
  75.231 +           sodipodi:role="line"
  75.232 +           id="tspan8103"
  75.233 +           x="298.7023"
  75.234 +           y="376.52615">Suspend</tspan><tspan
  75.235 +           style="font-size:9px;text-align:center;text-anchor:middle"
  75.236 +           id="tspan8105"
  75.237 +           sodipodi:role="line"
  75.238 +           x="298.7023"
  75.239 +           y="385.74353">(Point 1.S)</tspan></text>
  75.240 +    </g>
  75.241 +    <g
  75.242 +       id="g8107"
  75.243 +       transform="translate(-60,-180)"
  75.244 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
  75.245 +      <path
  75.246 +         inkscape:connector-curvature="0"
  75.247 +         id="path8109"
  75.248 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  75.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" />
  75.250 +      <text
  75.251 +         xml:space="preserve"
  75.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"
  75.253 +         x="378.7023"
  75.254 +         y="376.52615"
  75.255 +         id="text8111"
  75.256 +         sodipodi:linespacing="100%"><tspan
  75.257 +           style="font-size:9px;text-align:center;text-anchor:middle"
  75.258 +           sodipodi:role="line"
  75.259 +           id="tspan8113"
  75.260 +           x="380.20621"
  75.261 +           y="376.52615"><tspan
  75.262 +             id="tspan8115"
  75.263 +             style="font-size:10px">Resume </tspan></tspan><tspan
  75.264 +           style="font-size:9px;text-align:center;text-anchor:middle"
  75.265 +           id="tspan8117"
  75.266 +           sodipodi:role="line"
  75.267 +           x="378.7023"
  75.268 +           y="385.74353">(Point 1.R)</tspan></text>
  75.269 +    </g>
  75.270 +    <text
  75.271 +       xml:space="preserve"
  75.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"
  75.273 +       x="352.7023"
  75.274 +       y="225.27441"
  75.275 +       id="text8119"
  75.276 +       sodipodi:linespacing="100%"><tspan
  75.277 +         id="tspan8121"
  75.278 +         sodipodi:role="line"
  75.279 +         x="352.7023"
  75.280 +         y="225.27441">Timeline A</tspan></text>
  75.281 +    <path
  75.282 +       id="path8123"
  75.283 +       d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0"
  75.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"
  75.285 +       inkscape:connector-curvature="0" />
  75.286 +    <path
  75.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)"
  75.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"
  75.289 +       id="path8125"
  75.290 +       inkscape:connector-curvature="0"
  75.291 +       sodipodi:nodetypes="csc" />
  75.292 +    <path
  75.293 +       inkscape:connector-curvature="0"
  75.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"
  75.295 +       d="m 195.48813,523.37498 c 69.82336,0 69.82336,0 69.82336,0"
  75.296 +       id="path5552" />
  75.297 +    <path
  75.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"
  75.299 +       d="m 266.82881,514.82004 c 0,19.38279 0,19.38279 0,19.38279"
  75.300 +       id="path5556"
  75.301 +       inkscape:connector-curvature="0" />
  75.302 +    <text
  75.303 +       sodipodi:linespacing="100%"
  75.304 +       id="text5558"
  75.305 +       y="540.52612"
  75.306 +       x="264.7023"
  75.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"
  75.308 +       xml:space="preserve"><tspan
  75.309 +         y="540.52612"
  75.310 +         x="264.7023"
  75.311 +         id="tspan5560"
  75.312 +         sodipodi:role="line"
  75.313 +         style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  75.314 +         y="549.74353"
  75.315 +         x="264.7023"
  75.316 +         sodipodi:role="line"
  75.317 +         id="tspan5562"
  75.318 +         style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text>
  75.319 +    <path
  75.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"
  75.321 +       d="m 318.82881,514.77746 c 0,19.15152 0,19.15152 0,19.15152"
  75.322 +       id="path5566"
  75.323 +       inkscape:connector-curvature="0" />
  75.324 +    <text
  75.325 +       sodipodi:linespacing="100%"
  75.326 +       id="text5568"
  75.327 +       y="540.52612"
  75.328 +       x="320.7023"
  75.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"
  75.330 +       xml:space="preserve"><tspan
  75.331 +         y="540.52612"
  75.332 +         x="322.20621"
  75.333 +         id="tspan5570"
  75.334 +         sodipodi:role="line"
  75.335 +         style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  75.336 +           style="font-size:10px"
  75.337 +           id="tspan5572">Resume </tspan></tspan><tspan
  75.338 +         y="549.74353"
  75.339 +         x="320.7023"
  75.340 +         sodipodi:role="line"
  75.341 +         id="tspan5574"
  75.342 +         style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text>
  75.343 +    <text
  75.344 +       xml:space="preserve"
  75.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"
  75.346 +       x="354.7023"
  75.347 +       y="527.27441"
  75.348 +       id="text5576"
  75.349 +       sodipodi:linespacing="100%"><tspan
  75.350 +         id="tspan5578"
  75.351 +         sodipodi:role="line"
  75.352 +         x="354.7023"
  75.353 +         y="527.27441">Timeline B</tspan></text>
  75.354 +    <path
  75.355 +       id="path5580"
  75.356 +       d="m 320.08409,523.37498 c 28.16395,0 28.16395,0 28.16395,0"
  75.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)"
  75.358 +       inkscape:connector-curvature="0" />
  75.359 +    <path
  75.360 +       inkscape:connector-curvature="0"
  75.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)"
  75.362 +       d="m 195.41472,559.37498 c 153.16627,0 153.16627,0 153.16627,0"
  75.363 +       id="path5582" />
  75.364 +    <text
  75.365 +       sodipodi:linespacing="100%"
  75.366 +       id="text5584"
  75.367 +       y="562.02271"
  75.368 +       x="354.05777"
  75.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"
  75.370 +       xml:space="preserve"><tspan
  75.371 +         y="562.02271"
  75.372 +         x="354.05777"
  75.373 +         sodipodi:role="line"
  75.374 +         id="tspan5586">Physical time</tspan></text>
  75.375 +    <path
  75.376 +       id="path5588"
  75.377 +       d="m 195.17378,437.37498 c 33.06652,0 33.06652,0 33.06652,0"
  75.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"
  75.379 +       inkscape:connector-curvature="0" />
  75.380 +    <g
  75.381 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  75.382 +       transform="translate(-70,36)"
  75.383 +       id="g5590">
  75.384 +      <path
  75.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"
  75.386 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  75.387 +         id="path5592"
  75.388 +         inkscape:connector-curvature="0" />
  75.389 +      <text
  75.390 +         sodipodi:linespacing="100%"
  75.391 +         id="text5594"
  75.392 +         y="376.52615"
  75.393 +         x="298.7023"
  75.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"
  75.395 +         xml:space="preserve"><tspan
  75.396 +           y="376.52615"
  75.397 +           x="298.7023"
  75.398 +           id="tspan5596"
  75.399 +           sodipodi:role="line"
  75.400 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  75.401 +           y="385.74353"
  75.402 +           x="298.7023"
  75.403 +           sodipodi:role="line"
  75.404 +           id="tspan5598"
  75.405 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text>
  75.406 +    </g>
  75.407 +    <g
  75.408 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  75.409 +       transform="translate(-60,36)"
  75.410 +       id="g5600">
  75.411 +      <path
  75.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"
  75.413 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  75.414 +         id="path5602"
  75.415 +         inkscape:connector-curvature="0" />
  75.416 +      <text
  75.417 +         sodipodi:linespacing="100%"
  75.418 +         id="text5604"
  75.419 +         y="376.52615"
  75.420 +         x="378.7023"
  75.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"
  75.422 +         xml:space="preserve"><tspan
  75.423 +           y="376.52615"
  75.424 +           x="380.20621"
  75.425 +           id="tspan5606"
  75.426 +           sodipodi:role="line"
  75.427 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  75.428 +             style="font-size:10px"
  75.429 +             id="tspan5608">Resume </tspan></tspan><tspan
  75.430 +           y="385.74353"
  75.431 +           x="378.7023"
  75.432 +           sodipodi:role="line"
  75.433 +           id="tspan5610"
  75.434 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text>
  75.435 +    </g>
  75.436 +    <text
  75.437 +       sodipodi:linespacing="100%"
  75.438 +       id="text5612"
  75.439 +       y="441.27441"
  75.440 +       x="354.7023"
  75.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"
  75.442 +       xml:space="preserve"><tspan
  75.443 +         y="441.27441"
  75.444 +         x="354.7023"
  75.445 +         sodipodi:role="line"
  75.446 +         id="tspan5614">Timeline A</tspan></text>
  75.447 +    <path
  75.448 +       inkscape:connector-curvature="0"
  75.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)"
  75.450 +       d="m 320.08409,437.37498 c 28.16395,0 28.16395,0 28.16395,0"
  75.451 +       id="path5616" />
  75.452 +    <path
  75.453 +       inkscape:connector-curvature="0"
  75.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)"
  75.455 +       d="m 196.11806,483.37498 c 152.64336,0 152.64336,0 152.64336,0"
  75.456 +       id="path3063" />
  75.457 +    <path
  75.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)"
  75.459 +       d="m 228.82881,449.32353 c 0,29.78359 0,29.78359 0,29.78359"
  75.460 +       id="path3086"
  75.461 +       inkscape:connector-curvature="0" />
  75.462 +    <path
  75.463 +       inkscape:connector-curvature="0"
  75.464 +       id="path5044"
  75.465 +       d="m 266.82881,516.24027 c 0,-29.74405 0,-29.74405 0,-29.74405"
  75.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)" />
  75.467 +    <path
  75.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)"
  75.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"
  75.470 +       id="path5048"
  75.471 +       inkscape:connector-curvature="0"
  75.472 +       sodipodi:nodetypes="csc" />
  75.473 +    <path
  75.474 +       sodipodi:nodetypes="csc"
  75.475 +       inkscape:connector-curvature="0"
  75.476 +       id="path5608"
  75.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"
  75.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)" />
  75.479 +    <path
  75.480 +       id="path5610"
  75.481 +       d="m 196.98465,751.37498 c 69.82336,0 69.82336,0 69.82336,0"
  75.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"
  75.483 +       inkscape:connector-curvature="0" />
  75.484 +    <path
  75.485 +       inkscape:connector-curvature="0"
  75.486 +       id="path5612"
  75.487 +       d="m 266.82881,742.82004 c 0,19.38279 0,19.38279 0,19.38279"
  75.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" />
  75.489 +    <text
  75.490 +       xml:space="preserve"
  75.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"
  75.492 +       x="264.7023"
  75.493 +       y="768.52612"
  75.494 +       id="text5614"
  75.495 +       sodipodi:linespacing="100%"><tspan
  75.496 +         style="font-size:10px;text-align:center;text-anchor:middle"
  75.497 +         sodipodi:role="line"
  75.498 +         id="tspan5616"
  75.499 +         x="264.7023"
  75.500 +         y="768.52612">Suspend</tspan><tspan
  75.501 +         style="font-size:9px;text-align:center;text-anchor:middle"
  75.502 +         id="tspan5618"
  75.503 +         sodipodi:role="line"
  75.504 +         x="264.7023"
  75.505 +         y="777.74353">(Point 2.S)</tspan></text>
  75.506 +    <path
  75.507 +       inkscape:connector-curvature="0"
  75.508 +       id="path5620"
  75.509 +       d="m 318.82881,742.77746 c 0,19.15152 0,19.15152 0,19.15152"
  75.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" />
  75.511 +    <text
  75.512 +       xml:space="preserve"
  75.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"
  75.514 +       x="320.7023"
  75.515 +       y="768.52612"
  75.516 +       id="text5622"
  75.517 +       sodipodi:linespacing="100%"><tspan
  75.518 +         style="font-size:9px;text-align:center;text-anchor:middle"
  75.519 +         sodipodi:role="line"
  75.520 +         id="tspan5624"
  75.521 +         x="322.20621"
  75.522 +         y="768.52612"><tspan
  75.523 +           id="tspan5626"
  75.524 +           style="font-size:10px">Resume </tspan></tspan><tspan
  75.525 +         style="font-size:9px;text-align:center;text-anchor:middle"
  75.526 +         id="tspan5628"
  75.527 +         sodipodi:role="line"
  75.528 +         x="320.7023"
  75.529 +         y="777.74353">(Point 2.R)</tspan></text>
  75.530 +    <text
  75.531 +       sodipodi:linespacing="100%"
  75.532 +       id="text5630"
  75.533 +       y="755.27441"
  75.534 +       x="352.7023"
  75.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"
  75.536 +       xml:space="preserve"><tspan
  75.537 +         y="755.27441"
  75.538 +         x="352.7023"
  75.539 +         sodipodi:role="line"
  75.540 +         id="tspan5632">Timeline B</tspan></text>
  75.541 +    <path
  75.542 +       inkscape:connector-curvature="0"
  75.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)"
  75.544 +       d="m 320.08408,751.37498 c 27.45405,0 27.45405,0 27.45405,0"
  75.545 +       id="path5634" />
  75.546 +    <path
  75.547 +       id="path5636"
  75.548 +       d="m 195.41471,787.37498 c 151.68424,0 151.68424,0 151.68424,0"
  75.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)"
  75.550 +       inkscape:connector-curvature="0" />
  75.551 +    <text
  75.552 +       xml:space="preserve"
  75.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"
  75.554 +       x="352.7023"
  75.555 +       y="790.02271"
  75.556 +       id="text5638"
  75.557 +       sodipodi:linespacing="100%"><tspan
  75.558 +         id="tspan5640"
  75.559 +         sodipodi:role="line"
  75.560 +         x="352.7023"
  75.561 +         y="790.02271">Physical time</tspan></text>
  75.562 +    <path
  75.563 +       inkscape:connector-curvature="0"
  75.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"
  75.565 +       d="m 195.92204,665.37498 c 33.06652,0 33.06652,0 33.06652,0"
  75.566 +       id="path5642" />
  75.567 +    <g
  75.568 +       id="g5644"
  75.569 +       transform="translate(-70,264)"
  75.570 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  75.571 +      <path
  75.572 +         inkscape:connector-curvature="0"
  75.573 +         id="path5646"
  75.574 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  75.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" />
  75.576 +      <text
  75.577 +         xml:space="preserve"
  75.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"
  75.579 +         x="298.7023"
  75.580 +         y="376.52615"
  75.581 +         id="text5648"
  75.582 +         sodipodi:linespacing="100%"><tspan
  75.583 +           style="font-size:10px;text-align:center;text-anchor:middle"
  75.584 +           sodipodi:role="line"
  75.585 +           id="tspan5650"
  75.586 +           x="298.7023"
  75.587 +           y="376.52615">Suspend</tspan><tspan
  75.588 +           style="font-size:9px;text-align:center;text-anchor:middle"
  75.589 +           id="tspan5652"
  75.590 +           sodipodi:role="line"
  75.591 +           x="298.7023"
  75.592 +           y="385.74353">(Point 1.S)</tspan></text>
  75.593 +    </g>
  75.594 +    <g
  75.595 +       id="g5654"
  75.596 +       transform="translate(-60,264)"
  75.597 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  75.598 +      <path
  75.599 +         inkscape:connector-curvature="0"
  75.600 +         id="path5656"
  75.601 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  75.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" />
  75.603 +      <text
  75.604 +         xml:space="preserve"
  75.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"
  75.606 +         x="378.7023"
  75.607 +         y="376.52615"
  75.608 +         id="text5658"
  75.609 +         sodipodi:linespacing="100%"><tspan
  75.610 +           style="font-size:9px;text-align:center;text-anchor:middle"
  75.611 +           sodipodi:role="line"
  75.612 +           id="tspan5660"
  75.613 +           x="380.20621"
  75.614 +           y="376.52615"><tspan
  75.615 +             id="tspan5662"
  75.616 +             style="font-size:10px">Resume </tspan></tspan><tspan
  75.617 +           style="font-size:9px;text-align:center;text-anchor:middle"
  75.618 +           id="tspan5664"
  75.619 +           sodipodi:role="line"
  75.620 +           x="378.7023"
  75.621 +           y="385.74353">(Point 1.R)</tspan></text>
  75.622 +    </g>
  75.623 +    <text
  75.624 +       xml:space="preserve"
  75.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"
  75.626 +       x="352.7023"
  75.627 +       y="669.27441"
  75.628 +       id="text5666"
  75.629 +       sodipodi:linespacing="100%"><tspan
  75.630 +         id="tspan5668"
  75.631 +         sodipodi:role="line"
  75.632 +         x="352.7023"
  75.633 +         y="669.27441">Timeline A</tspan></text>
  75.634 +    <path
  75.635 +       id="path5670"
  75.636 +       d="m 320.08408,665.37498 c 27.45405,0 27.45405,0 27.45405,0"
  75.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)"
  75.638 +       inkscape:connector-curvature="0" />
  75.639 +    <path
  75.640 +       id="path5672"
  75.641 +       d="m 227.92204,711.37498 c 15.62732,0 15.62732,0 15.62732,0"
  75.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"
  75.643 +       inkscape:connector-curvature="0" />
  75.644 +    <path
  75.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"
  75.646 +       d="m 228.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279"
  75.647 +       id="path5674"
  75.648 +       inkscape:connector-curvature="0" />
  75.649 +    <path
  75.650 +       inkscape:connector-curvature="0"
  75.651 +       id="path5676"
  75.652 +       d="m 242.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279"
  75.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" />
  75.654 +    <path
  75.655 +       inkscape:connector-curvature="0"
  75.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"
  75.657 +       d="m 265.92203,711.37498 c 28.40046,0 28.40046,0 28.40046,0"
  75.658 +       id="path5678" />
  75.659 +    <path
  75.660 +       inkscape:connector-curvature="0"
  75.661 +       id="path5680"
  75.662 +       d="m 266.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279"
  75.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" />
  75.664 +    <path
  75.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"
  75.666 +       d="m 294.82881,701.32352 c 0,19.38279 0,19.38279 0,19.38279"
  75.667 +       id="path5682"
  75.668 +       inkscape:connector-curvature="0" />
  75.669 +    <path
  75.670 +       inkscape:connector-curvature="0"
  75.671 +       id="path5684"
  75.672 +       d="m 228.82881,677.32352 c 0,19.38279 0,19.38279 0,19.38279"
  75.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)" />
  75.674 +    <path
  75.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)"
  75.676 +       d="m 266.82881,744.24025 c 0,-19.38279 0,-19.38279 0,-19.38279"
  75.677 +       id="path5686"
  75.678 +       inkscape:connector-curvature="0" />
  75.679 +    <path
  75.680 +       sodipodi:nodetypes="csc"
  75.681 +       inkscape:connector-curvature="0"
  75.682 +       id="path5688"
  75.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"
  75.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)" />
  75.685 +    <path
  75.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)"
  75.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"
  75.688 +       id="path5690"
  75.689 +       inkscape:connector-curvature="0"
  75.690 +       sodipodi:nodetypes="csc" />
  75.691 +    <text
  75.692 +       xml:space="preserve"
  75.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"
  75.694 +       x="354.7023"
  75.695 +       y="481.27441"
  75.696 +       id="text5880"
  75.697 +       sodipodi:linespacing="100%"><tspan
  75.698 +         id="tspan5882"
  75.699 +         sodipodi:role="line"
  75.700 +         x="354.7023"
  75.701 +         y="481.27441"
  75.702 +         style="fill:#ff0000">Hidden</tspan><tspan
  75.703 +         sodipodi:role="line"
  75.704 +         x="354.7023"
  75.705 +         y="491.27441"
  75.706 +         id="tspan5884"
  75.707 +         style="fill:#ff0000">Timeline</tspan></text>
  75.708 +    <text
  75.709 +       xml:space="preserve"
  75.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"
  75.711 +       x="248.7023"
  75.712 +       y="502.52612"
  75.713 +       id="text5886"
  75.714 +       sodipodi:linespacing="100%"><tspan
  75.715 +         style="font-size:10px;text-align:center;text-anchor:middle"
  75.716 +         id="tspan5890"
  75.717 +         sodipodi:role="line"
  75.718 +         x="248.7023"
  75.719 +         y="502.52612">comm</tspan></text>
  75.720 +    <text
  75.721 +       sodipodi:linespacing="100%"
  75.722 +       id="text5894"
  75.723 +       y="466.52612"
  75.724 +       x="244.7023"
  75.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"
  75.726 +       xml:space="preserve"><tspan
  75.727 +         y="466.52612"
  75.728 +         x="244.7023"
  75.729 +         sodipodi:role="line"
  75.730 +         id="tspan5896"
  75.731 +         style="font-size:10px;text-align:center;text-anchor:middle">comm</tspan></text>
  75.732 +    <text
  75.733 +       xml:space="preserve"
  75.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"
  75.735 +       x="314.7023"
  75.736 +       y="464.52612"
  75.737 +       id="text5898"
  75.738 +       sodipodi:linespacing="100%"><tspan
  75.739 +         style="font-size:10px;text-align:center;text-anchor:middle"
  75.740 +         id="tspan5900"
  75.741 +         sodipodi:role="line"
  75.742 +         x="314.7023"
  75.743 +         y="464.52612">control</tspan></text>
  75.744 +    <text
  75.745 +       sodipodi:linespacing="100%"
  75.746 +       id="text5902"
  75.747 +       y="506.52612"
  75.748 +       x="320.7023"
  75.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"
  75.750 +       xml:space="preserve"><tspan
  75.751 +         y="506.52612"
  75.752 +         x="320.7023"
  75.753 +         sodipodi:role="line"
  75.754 +         id="tspan5904"
  75.755 +         style="font-size:10px;text-align:center;text-anchor:middle">control</tspan></text>
  75.756 +  </g>
  75.757 +</svg>
    76.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_w_hidden.pdf has changed
    77.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    77.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_dual_w_hidden.svg	Sat Aug 03 19:24:22 2013 -0700
    77.3 @@ -0,0 +1,366 @@
    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_w_hidden.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="Arrow2Send"
   77.27 +       orient="auto"
   77.28 +       refY="0.0"
   77.29 +       refX="0.0"
   77.30 +       id="Arrow2Send"
   77.31 +       style="overflow:visible;">
   77.32 +      <path
   77.33 +         id="path4262"
   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.3) rotate(180) translate(-2.3,0)" />
   77.37 +    </marker>
   77.38 +    <marker
   77.39 +       inkscape:stockid="Arrow1Mend"
   77.40 +       orient="auto"
   77.41 +       refY="0.0"
   77.42 +       refX="0.0"
   77.43 +       id="Arrow1Mend"
   77.44 +       style="overflow:visible;">
   77.45 +      <path
   77.46 +         id="path4238"
   77.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 "
   77.48 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
   77.49 +         transform="scale(0.4) rotate(180) translate(10,0)" />
   77.50 +    </marker>
   77.51 +    <marker
   77.52 +       inkscape:stockid="Arrow2Mend"
   77.53 +       orient="auto"
   77.54 +       refY="0.0"
   77.55 +       refX="0.0"
   77.56 +       id="Arrow2Mend"
   77.57 +       style="overflow:visible;">
   77.58 +      <path
   77.59 +         id="path4008"
   77.60 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   77.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 "
   77.62 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   77.63 +    </marker>
   77.64 +    <inkscape:perspective
   77.65 +       sodipodi:type="inkscape:persp3d"
   77.66 +       inkscape:vp_x="0 : 526.18109 : 1"
   77.67 +       inkscape:vp_y="0 : 1000 : 0"
   77.68 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   77.69 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   77.70 +       id="perspective10" />
   77.71 +    <inkscape:perspective
   77.72 +       id="perspective11923"
   77.73 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   77.74 +       inkscape:vp_z="1 : 0.5 : 1"
   77.75 +       inkscape:vp_y="0 : 1000 : 0"
   77.76 +       inkscape:vp_x="0 : 0.5 : 1"
   77.77 +       sodipodi:type="inkscape:persp3d" />
   77.78 +  </defs>
   77.79 +  <sodipodi:namedview
   77.80 +     id="base"
   77.81 +     pagecolor="#ffffff"
   77.82 +     bordercolor="#666666"
   77.83 +     borderopacity="1.0"
   77.84 +     gridtolerance="10000"
   77.85 +     guidetolerance="10"
   77.86 +     objecttolerance="10"
   77.87 +     inkscape:pageopacity="0.0"
   77.88 +     inkscape:pageshadow="2"
   77.89 +     inkscape:zoom="1.3364318"
   77.90 +     inkscape:cx="214.9176"
   77.91 +     inkscape:cy="603.68563"
   77.92 +     inkscape:document-units="px"
   77.93 +     inkscape:current-layer="layer1"
   77.94 +     showgrid="false"
   77.95 +     inkscape:window-width="1317"
   77.96 +     inkscape:window-height="878"
   77.97 +     inkscape:window-x="7"
   77.98 +     inkscape:window-y="1"
   77.99 +     inkscape:window-maximized="0" />
  77.100 +  <metadata
  77.101 +     id="metadata7">
  77.102 +    <rdf:RDF>
  77.103 +      <cc:Work
  77.104 +         rdf:about="">
  77.105 +        <dc:format>image/svg+xml</dc:format>
  77.106 +        <dc:type
  77.107 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  77.108 +        <dc:title></dc:title>
  77.109 +      </cc:Work>
  77.110 +    </rdf:RDF>
  77.111 +  </metadata>
  77.112 +  <g
  77.113 +     inkscape:label="Layer 1"
  77.114 +     inkscape:groupmode="layer"
  77.115 +     id="layer1">
  77.116 +    <path
  77.117 +       inkscape:connector-curvature="0"
  77.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"
  77.119 +       d="m 195.48813,523.37498 c 69.82336,0 69.82336,0 69.82336,0"
  77.120 +       id="path5552" />
  77.121 +    <path
  77.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"
  77.123 +       d="m 266.82881,514.82004 c 0,19.38279 0,19.38279 0,19.38279"
  77.124 +       id="path5556"
  77.125 +       inkscape:connector-curvature="0" />
  77.126 +    <text
  77.127 +       sodipodi:linespacing="100%"
  77.128 +       id="text5558"
  77.129 +       y="540.52612"
  77.130 +       x="264.7023"
  77.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"
  77.132 +       xml:space="preserve"><tspan
  77.133 +         y="540.52612"
  77.134 +         x="264.7023"
  77.135 +         id="tspan5560"
  77.136 +         sodipodi:role="line"
  77.137 +         style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  77.138 +         y="549.74353"
  77.139 +         x="264.7023"
  77.140 +         sodipodi:role="line"
  77.141 +         id="tspan5562"
  77.142 +         style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text>
  77.143 +    <path
  77.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"
  77.145 +       d="m 318.82881,514.77746 c 0,19.15152 0,19.15152 0,19.15152"
  77.146 +       id="path5566"
  77.147 +       inkscape:connector-curvature="0" />
  77.148 +    <text
  77.149 +       sodipodi:linespacing="100%"
  77.150 +       id="text5568"
  77.151 +       y="540.52612"
  77.152 +       x="320.7023"
  77.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"
  77.154 +       xml:space="preserve"><tspan
  77.155 +         y="540.52612"
  77.156 +         x="322.20621"
  77.157 +         id="tspan5570"
  77.158 +         sodipodi:role="line"
  77.159 +         style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  77.160 +           style="font-size:10px"
  77.161 +           id="tspan5572">Resume </tspan></tspan><tspan
  77.162 +         y="549.74353"
  77.163 +         x="320.7023"
  77.164 +         sodipodi:role="line"
  77.165 +         id="tspan5574"
  77.166 +         style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text>
  77.167 +    <text
  77.168 +       xml:space="preserve"
  77.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"
  77.170 +       x="354.7023"
  77.171 +       y="527.27441"
  77.172 +       id="text5576"
  77.173 +       sodipodi:linespacing="100%"><tspan
  77.174 +         id="tspan5578"
  77.175 +         sodipodi:role="line"
  77.176 +         x="354.7023"
  77.177 +         y="527.27441">Timeline B</tspan></text>
  77.178 +    <path
  77.179 +       id="path5580"
  77.180 +       d="m 320.08409,523.37498 c 28.16395,0 28.16395,0 28.16395,0"
  77.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)"
  77.182 +       inkscape:connector-curvature="0" />
  77.183 +    <path
  77.184 +       inkscape:connector-curvature="0"
  77.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)"
  77.186 +       d="m 195.41472,559.37498 c 153.16627,0 153.16627,0 153.16627,0"
  77.187 +       id="path5582" />
  77.188 +    <text
  77.189 +       sodipodi:linespacing="100%"
  77.190 +       id="text5584"
  77.191 +       y="562.02271"
  77.192 +       x="354.05777"
  77.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"
  77.194 +       xml:space="preserve"><tspan
  77.195 +         y="562.02271"
  77.196 +         x="354.05777"
  77.197 +         sodipodi:role="line"
  77.198 +         id="tspan5586">Physical time</tspan></text>
  77.199 +    <path
  77.200 +       id="path5588"
  77.201 +       d="m 195.17378,437.37498 c 33.06652,0 33.06652,0 33.06652,0"
  77.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"
  77.203 +       inkscape:connector-curvature="0" />
  77.204 +    <g
  77.205 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  77.206 +       transform="translate(-70,36)"
  77.207 +       id="g5590">
  77.208 +      <path
  77.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"
  77.210 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  77.211 +         id="path5592"
  77.212 +         inkscape:connector-curvature="0" />
  77.213 +      <text
  77.214 +         sodipodi:linespacing="100%"
  77.215 +         id="text5594"
  77.216 +         y="376.52615"
  77.217 +         x="298.7023"
  77.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"
  77.219 +         xml:space="preserve"><tspan
  77.220 +           y="376.52615"
  77.221 +           x="298.7023"
  77.222 +           id="tspan5596"
  77.223 +           sodipodi:role="line"
  77.224 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  77.225 +           y="385.74353"
  77.226 +           x="298.7023"
  77.227 +           sodipodi:role="line"
  77.228 +           id="tspan5598"
  77.229 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text>
  77.230 +    </g>
  77.231 +    <g
  77.232 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  77.233 +       transform="translate(-60,36)"
  77.234 +       id="g5600">
  77.235 +      <path
  77.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"
  77.237 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  77.238 +         id="path5602"
  77.239 +         inkscape:connector-curvature="0" />
  77.240 +      <text
  77.241 +         sodipodi:linespacing="100%"
  77.242 +         id="text5604"
  77.243 +         y="376.52615"
  77.244 +         x="378.7023"
  77.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"
  77.246 +         xml:space="preserve"><tspan
  77.247 +           y="376.52615"
  77.248 +           x="380.20621"
  77.249 +           id="tspan5606"
  77.250 +           sodipodi:role="line"
  77.251 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  77.252 +             style="font-size:10px"
  77.253 +             id="tspan5608">Resume </tspan></tspan><tspan
  77.254 +           y="385.74353"
  77.255 +           x="378.7023"
  77.256 +           sodipodi:role="line"
  77.257 +           id="tspan5610"
  77.258 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text>
  77.259 +    </g>
  77.260 +    <text
  77.261 +       sodipodi:linespacing="100%"
  77.262 +       id="text5612"
  77.263 +       y="441.27441"
  77.264 +       x="354.7023"
  77.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"
  77.266 +       xml:space="preserve"><tspan
  77.267 +         y="441.27441"
  77.268 +         x="354.7023"
  77.269 +         sodipodi:role="line"
  77.270 +         id="tspan5614">Timeline A</tspan></text>
  77.271 +    <path
  77.272 +       inkscape:connector-curvature="0"
  77.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)"
  77.274 +       d="m 320.08409,437.37498 c 28.16395,0 28.16395,0 28.16395,0"
  77.275 +       id="path5616" />
  77.276 +    <path
  77.277 +       inkscape:connector-curvature="0"
  77.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)"
  77.279 +       d="m 196.11806,483.37498 c 152.64336,0 152.64336,0 152.64336,0"
  77.280 +       id="path3063" />
  77.281 +    <path
  77.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)"
  77.283 +       d="m 228.82881,449.32353 c 0,29.78359 0,29.78359 0,29.78359"
  77.284 +       id="path3086"
  77.285 +       inkscape:connector-curvature="0" />
  77.286 +    <path
  77.287 +       inkscape:connector-curvature="0"
  77.288 +       id="path5044"
  77.289 +       d="m 266.82881,516.24027 c 0,-29.74405 0,-29.74405 0,-29.74405"
  77.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)" />
  77.291 +    <path
  77.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)"
  77.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"
  77.294 +       id="path5048"
  77.295 +       inkscape:connector-curvature="0"
  77.296 +       sodipodi:nodetypes="csc" />
  77.297 +    <path
  77.298 +       sodipodi:nodetypes="csc"
  77.299 +       inkscape:connector-curvature="0"
  77.300 +       id="path5608"
  77.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"
  77.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)" />
  77.303 +    <text
  77.304 +       xml:space="preserve"
  77.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"
  77.306 +       x="354.7023"
  77.307 +       y="481.27441"
  77.308 +       id="text5880"
  77.309 +       sodipodi:linespacing="100%"><tspan
  77.310 +         id="tspan5882"
  77.311 +         sodipodi:role="line"
  77.312 +         x="354.7023"
  77.313 +         y="481.27441"
  77.314 +         style="fill:#ff0000">Hidden</tspan><tspan
  77.315 +         sodipodi:role="line"
  77.316 +         x="354.7023"
  77.317 +         y="491.27441"
  77.318 +         id="tspan5884"
  77.319 +         style="fill:#ff0000">Timeline</tspan></text>
  77.320 +    <text
  77.321 +       xml:space="preserve"
  77.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"
  77.323 +       x="248.7023"
  77.324 +       y="502.52612"
  77.325 +       id="text5886"
  77.326 +       sodipodi:linespacing="100%"><tspan
  77.327 +         style="font-size:10px;text-align:center;text-anchor:middle"
  77.328 +         id="tspan5890"
  77.329 +         sodipodi:role="line"
  77.330 +         x="248.7023"
  77.331 +         y="502.52612">comm</tspan></text>
  77.332 +    <text
  77.333 +       sodipodi:linespacing="100%"
  77.334 +       id="text5894"
  77.335 +       y="466.52612"
  77.336 +       x="244.7023"
  77.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"
  77.338 +       xml:space="preserve"><tspan
  77.339 +         y="466.52612"
  77.340 +         x="244.7023"
  77.341 +         sodipodi:role="line"
  77.342 +         id="tspan5896"
  77.343 +         style="font-size:10px;text-align:center;text-anchor:middle">comm</tspan></text>
  77.344 +    <text
  77.345 +       xml:space="preserve"
  77.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"
  77.347 +       x="314.7023"
  77.348 +       y="464.52612"
  77.349 +       id="text5898"
  77.350 +       sodipodi:linespacing="100%"><tspan
  77.351 +         style="font-size:10px;text-align:center;text-anchor:middle"
  77.352 +         id="tspan5900"
  77.353 +         sodipodi:role="line"
  77.354 +         x="314.7023"
  77.355 +         y="464.52612">control</tspan></text>
  77.356 +    <text
  77.357 +       sodipodi:linespacing="100%"
  77.358 +       id="text5902"
  77.359 +       y="506.52612"
  77.360 +       x="320.7023"
  77.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"
  77.362 +       xml:space="preserve"><tspan
  77.363 +         y="506.52612"
  77.364 +         x="320.7023"
  77.365 +         sodipodi:role="line"
  77.366 +         id="tspan5904"
  77.367 +         style="font-size:10px;text-align:center;text-anchor:middle">control</tspan></text>
  77.368 +  </g>
  77.369 +</svg>
    78.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_single.pdf has changed
    79.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    79.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_single.svg	Sat Aug 03 19:24:22 2013 -0700
    79.3 @@ -0,0 +1,306 @@
    79.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    79.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
    79.6 +
    79.7 +<svg
    79.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
    79.9 +   xmlns:cc="http://creativecommons.org/ns#"
   79.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   79.11 +   xmlns:svg="http://www.w3.org/2000/svg"
   79.12 +   xmlns="http://www.w3.org/2000/svg"
   79.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   79.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   79.15 +   width="744.09448819"
   79.16 +   height="1052.3622047"
   79.17 +   id="svg2"
   79.18 +   sodipodi:version="0.32"
   79.19 +   inkscape:version="0.48.2 r9819"
   79.20 +   sodipodi:docname="PR__timeline_single.svg"
   79.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   79.22 +   version="1.1">
   79.23 +  <defs
   79.24 +     id="defs4">
   79.25 +    <marker
   79.26 +       inkscape:stockid="Arrow2Mend"
   79.27 +       orient="auto"
   79.28 +       refY="0.0"
   79.29 +       refX="0.0"
   79.30 +       id="Arrow2Mend"
   79.31 +       style="overflow:visible;">
   79.32 +      <path
   79.33 +         id="path4008"
   79.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   79.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 "
   79.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   79.37 +    </marker>
   79.38 +    <inkscape:perspective
   79.39 +       sodipodi:type="inkscape:persp3d"
   79.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   79.41 +       inkscape:vp_y="0 : 1000 : 0"
   79.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   79.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   79.44 +       id="perspective10" />
   79.45 +    <inkscape:perspective
   79.46 +       id="perspective11923"
   79.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   79.48 +       inkscape:vp_z="1 : 0.5 : 1"
   79.49 +       inkscape:vp_y="0 : 1000 : 0"
   79.50 +       inkscape:vp_x="0 : 0.5 : 1"
   79.51 +       sodipodi:type="inkscape:persp3d" />
   79.52 +  </defs>
   79.53 +  <sodipodi:namedview
   79.54 +     id="base"
   79.55 +     pagecolor="#ffffff"
   79.56 +     bordercolor="#666666"
   79.57 +     borderopacity="1.0"
   79.58 +     gridtolerance="10000"
   79.59 +     guidetolerance="10"
   79.60 +     objecttolerance="10"
   79.61 +     inkscape:pageopacity="0.0"
   79.62 +     inkscape:pageshadow="2"
   79.63 +     inkscape:zoom="3.5576235"
   79.64 +     inkscape:cx="283.87197"
   79.65 +     inkscape:cy="706.58767"
   79.66 +     inkscape:document-units="px"
   79.67 +     inkscape:current-layer="layer1"
   79.68 +     showgrid="false"
   79.69 +     inkscape:window-width="1600"
   79.70 +     inkscape:window-height="848"
   79.71 +     inkscape:window-x="-8"
   79.72 +     inkscape:window-y="-8"
   79.73 +     inkscape:window-maximized="0" />
   79.74 +  <metadata
   79.75 +     id="metadata7">
   79.76 +    <rdf:RDF>
   79.77 +      <cc:Work
   79.78 +         rdf:about="">
   79.79 +        <dc:format>image/svg+xml</dc:format>
   79.80 +        <dc:type
   79.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   79.82 +        <dc:title />
   79.83 +      </cc:Work>
   79.84 +    </rdf:RDF>
   79.85 +  </metadata>
   79.86 +  <g
   79.87 +     inkscape:label="Layer 1"
   79.88 +     inkscape:groupmode="layer"
   79.89 +     id="layer1">
   79.90 +    <path
   79.91 +       id="path8089"
   79.92 +       d="m 195.41471,257.37498 c 151.68424,0 151.68424,0 151.68424,0"
   79.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)"
   79.94 +       inkscape:connector-curvature="0" />
   79.95 +    <text
   79.96 +       xml:space="preserve"
   79.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"
   79.98 +       x="352.7023"
   79.99 +       y="260.77094"
  79.100 +       id="text8091"
  79.101 +       sodipodi:linespacing="100%"><tspan
  79.102 +         id="tspan8093"
  79.103 +         sodipodi:role="line"
  79.104 +         x="352.7023"
  79.105 +         y="260.77094">Physical time</tspan></text>
  79.106 +    <path
  79.107 +       inkscape:connector-curvature="0"
  79.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"
  79.109 +       d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0"
  79.110 +       id="path8095" />
  79.111 +    <g
  79.112 +       id="g8097"
  79.113 +       transform="translate(-70,-180)"
  79.114 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  79.115 +      <path
  79.116 +         inkscape:connector-curvature="0"
  79.117 +         id="path8099"
  79.118 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  79.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" />
  79.120 +      <text
  79.121 +         xml:space="preserve"
  79.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"
  79.123 +         x="298.7023"
  79.124 +         y="376.52615"
  79.125 +         id="text8101"
  79.126 +         sodipodi:linespacing="100%"><tspan
  79.127 +           style="font-size:10px;text-align:center;text-anchor:middle"
  79.128 +           sodipodi:role="line"
  79.129 +           id="tspan8103"
  79.130 +           x="298.7023"
  79.131 +           y="376.52615">Suspend</tspan><tspan
  79.132 +           style="font-size:9px;text-align:center;text-anchor:middle"
  79.133 +           id="tspan8105"
  79.134 +           sodipodi:role="line"
  79.135 +           x="298.7023"
  79.136 +           y="385.74353">(Point 1.S)</tspan></text>
  79.137 +    </g>
  79.138 +    <g
  79.139 +       id="g8107"
  79.140 +       transform="translate(-60,-180)"
  79.141 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
  79.142 +      <path
  79.143 +         inkscape:connector-curvature="0"
  79.144 +         id="path8109"
  79.145 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  79.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" />
  79.147 +      <text
  79.148 +         xml:space="preserve"
  79.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"
  79.150 +         x="378.7023"
  79.151 +         y="376.52615"
  79.152 +         id="text8111"
  79.153 +         sodipodi:linespacing="100%"><tspan
  79.154 +           style="font-size:9px;text-align:center;text-anchor:middle;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"
  79.155 +           sodipodi:role="line"
  79.156 +           id="tspan8113"
  79.157 +           x="380.20621"
  79.158 +           y="376.52615"><tspan
  79.159 +             id="tspan8115"
  79.160 +             style="font-size:10px;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">Resume </tspan></tspan><tspan
  79.161 +           style="font-size:9px;text-align:center;text-anchor:middle;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"
  79.162 +           id="tspan8117"
  79.163 +           sodipodi:role="line"
  79.164 +           x="378.7023"
  79.165 +           y="385.74353">(Point 1.R)</tspan></text>
  79.166 +    </g>
  79.167 +    <text
  79.168 +       xml:space="preserve"
  79.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"
  79.170 +       x="352.7023"
  79.171 +       y="224.52615"
  79.172 +       id="text8119"
  79.173 +       sodipodi:linespacing="100%"><tspan
  79.174 +         id="tspan8121"
  79.175 +         sodipodi:role="line"
  79.176 +         x="352.7023"
  79.177 +         y="224.52615">Timeline A</tspan></text>
  79.178 +    <path
  79.179 +       id="path8123"
  79.180 +       d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0"
  79.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"
  79.182 +       inkscape:connector-curvature="0" />
  79.183 +    <path
  79.184 +       inkscape:connector-curvature="0"
  79.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)"
  79.186 +       d="m 195.41471,377.37498 c 151.68424,0 151.68424,0 151.68424,0"
  79.187 +       id="path5836" />
  79.188 +    <text
  79.189 +       sodipodi:linespacing="100%"
  79.190 +       id="text5838"
  79.191 +       y="380.77094"
  79.192 +       x="352.7023"
  79.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"
  79.194 +       xml:space="preserve"><tspan
  79.195 +         y="380.77094"
  79.196 +         x="352.7023"
  79.197 +         sodipodi:role="line"
  79.198 +         id="tspan5840">Physical time</tspan></text>
  79.199 +    <path
  79.200 +       id="path5842"
  79.201 +       d="m 195.92204,341.37498 c 33.06652,0 33.06652,0 33.06652,0"
  79.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"
  79.203 +       inkscape:connector-curvature="0" />
  79.204 +    <g
  79.205 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  79.206 +       transform="translate(-70,-60)"
  79.207 +       id="g5844">
  79.208 +      <path
  79.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"
  79.210 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  79.211 +         id="path5846"
  79.212 +         inkscape:connector-curvature="0" />
  79.213 +      <text
  79.214 +         sodipodi:linespacing="100%"
  79.215 +         id="text5848"
  79.216 +         y="376.52615"
  79.217 +         x="298.7023"
  79.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"
  79.219 +         xml:space="preserve"><tspan
  79.220 +           y="376.52615"
  79.221 +           x="298.7023"
  79.222 +           id="tspan5850"
  79.223 +           sodipodi:role="line"
  79.224 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  79.225 +           y="385.74353"
  79.226 +           x="298.7023"
  79.227 +           sodipodi:role="line"
  79.228 +           id="tspan5852"
  79.229 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text>
  79.230 +    </g>
  79.231 +    <g
  79.232 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  79.233 +       transform="translate(-60,-60)"
  79.234 +       id="g5854">
  79.235 +      <path
  79.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"
  79.237 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  79.238 +         id="path5856"
  79.239 +         inkscape:connector-curvature="0" />
  79.240 +      <text
  79.241 +         sodipodi:linespacing="100%"
  79.242 +         id="text5858"
  79.243 +         y="376.52615"
  79.244 +         x="378.7023"
  79.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"
  79.246 +         xml:space="preserve"><tspan
  79.247 +           y="376.52615"
  79.248 +           x="380.20621"
  79.249 +           id="tspan5860"
  79.250 +           sodipodi:role="line"
  79.251 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  79.252 +             style="font-size:10px"
  79.253 +             id="tspan5862">Resume </tspan></tspan><tspan
  79.254 +           y="385.74353"
  79.255 +           x="378.7023"
  79.256 +           sodipodi:role="line"
  79.257 +           id="tspan5864"
  79.258 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text>
  79.259 +    </g>
  79.260 +    <text
  79.261 +       sodipodi:linespacing="100%"
  79.262 +       id="text5866"
  79.263 +       y="344.52615"
  79.264 +       x="352.7023"
  79.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"
  79.266 +       xml:space="preserve"><tspan
  79.267 +         y="344.52615"
  79.268 +         x="352.7023"
  79.269 +         sodipodi:role="line"
  79.270 +         id="tspan5868">Timeline A</tspan></text>
  79.271 +    <path
  79.272 +       inkscape:connector-curvature="0"
  79.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)"
  79.274 +       d="m 320.08408,341.37498 c 27.45405,0 27.45405,0 27.45405,0"
  79.275 +       id="path5870" />
  79.276 +    <path
  79.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"
  79.278 +       d="m 248.81439,338.09818 c 0,9.22856 0,9.22856 0,9.22856"
  79.279 +       id="path5846-1"
  79.280 +       inkscape:connector-curvature="0" />
  79.281 +    <path
  79.282 +       inkscape:connector-curvature="0"
  79.283 +       id="path6664"
  79.284 +       d="m 266.81439,338.09818 c 0,9.22856 0,9.22856 0,9.22856"
  79.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" />
  79.286 +    <path
  79.287 +       inkscape:connector-curvature="0"
  79.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"
  79.289 +       d="m 249.92204,341.37498 c 16.089,0 16.089,0 16.089,0"
  79.290 +       id="path6666" />
  79.291 +    <text
  79.292 +       xml:space="preserve"
  79.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"
  79.294 +       x="244.7023"
  79.295 +       y="356.52615"
  79.296 +       id="text6668"
  79.297 +       sodipodi:linespacing="100%"><tspan
  79.298 +         sodipodi:role="line"
  79.299 +         x="244.7023"
  79.300 +         y="356.52615"
  79.301 +         style="font-size:8px;fill:#999999"
  79.302 +         id="tspan6674">Hidden</tspan><tspan
  79.303 +         sodipodi:role="line"
  79.304 +         x="244.7023"
  79.305 +         y="364.52615"
  79.306 +         id="tspan6672"
  79.307 +         style="font-size:8px;fill:#999999">meta-comm</tspan></text>
  79.308 +  </g>
  79.309 +</svg>
    80.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_sync_def.pdf has changed
    81.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    81.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_sync_def.svg	Sat Aug 03 19:24:22 2013 -0700
    81.3 @@ -0,0 +1,498 @@
    81.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    81.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
    81.6 +
    81.7 +<svg
    81.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
    81.9 +   xmlns:cc="http://creativecommons.org/ns#"
   81.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   81.11 +   xmlns:svg="http://www.w3.org/2000/svg"
   81.12 +   xmlns="http://www.w3.org/2000/svg"
   81.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   81.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   81.15 +   width="744.09448819"
   81.16 +   height="1052.3622047"
   81.17 +   id="svg2"
   81.18 +   sodipodi:version="0.32"
   81.19 +   inkscape:version="0.48.2 r9819"
   81.20 +   sodipodi:docname="PR__timeline_sync_def.svg"
   81.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   81.22 +   version="1.1">
   81.23 +  <defs
   81.24 +     id="defs4">
   81.25 +    <marker
   81.26 +       inkscape:stockid="Arrow2Mstart"
   81.27 +       orient="auto"
   81.28 +       refY="0.0"
   81.29 +       refX="0.0"
   81.30 +       id="Arrow2Mstart"
   81.31 +       style="overflow:visible">
   81.32 +      <path
   81.33 +         id="path3961"
   81.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
   81.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 "
   81.36 +         transform="scale(0.6) translate(0,0)" />
   81.37 +    </marker>
   81.38 +    <marker
   81.39 +       inkscape:stockid="Arrow2Mend"
   81.40 +       orient="auto"
   81.41 +       refY="0.0"
   81.42 +       refX="0.0"
   81.43 +       id="Arrow2Mend"
   81.44 +       style="overflow:visible;">
   81.45 +      <path
   81.46 +         id="path4008"
   81.47 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   81.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 "
   81.49 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   81.50 +    </marker>
   81.51 +    <inkscape:perspective
   81.52 +       sodipodi:type="inkscape:persp3d"
   81.53 +       inkscape:vp_x="0 : 526.18109 : 1"
   81.54 +       inkscape:vp_y="0 : 1000 : 0"
   81.55 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   81.56 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   81.57 +       id="perspective10" />
   81.58 +    <inkscape:perspective
   81.59 +       id="perspective11923"
   81.60 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   81.61 +       inkscape:vp_z="1 : 0.5 : 1"
   81.62 +       inkscape:vp_y="0 : 1000 : 0"
   81.63 +       inkscape:vp_x="0 : 0.5 : 1"
   81.64 +       sodipodi:type="inkscape:persp3d" />
   81.65 +  </defs>
   81.66 +  <sodipodi:namedview
   81.67 +     id="base"
   81.68 +     pagecolor="#ffffff"
   81.69 +     bordercolor="#666666"
   81.70 +     borderopacity="1.0"
   81.71 +     gridtolerance="10000"
   81.72 +     guidetolerance="10"
   81.73 +     objecttolerance="10"
   81.74 +     inkscape:pageopacity="0.0"
   81.75 +     inkscape:pageshadow="2"
   81.76 +     inkscape:zoom="2.0363696"
   81.77 +     inkscape:cx="138.31068"
   81.78 +     inkscape:cy="659.21141"
   81.79 +     inkscape:document-units="px"
   81.80 +     inkscape:current-layer="layer1"
   81.81 +     showgrid="false"
   81.82 +     inkscape:window-width="1600"
   81.83 +     inkscape:window-height="848"
   81.84 +     inkscape:window-x="-8"
   81.85 +     inkscape:window-y="-8"
   81.86 +     inkscape:window-maximized="1" />
   81.87 +  <metadata
   81.88 +     id="metadata7">
   81.89 +    <rdf:RDF>
   81.90 +      <cc:Work
   81.91 +         rdf:about="">
   81.92 +        <dc:format>image/svg+xml</dc:format>
   81.93 +        <dc:type
   81.94 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   81.95 +        <dc:title></dc:title>
   81.96 +      </cc:Work>
   81.97 +    </rdf:RDF>
   81.98 +  </metadata>
   81.99 +  <g
  81.100 +     inkscape:label="Layer 1"
  81.101 +     inkscape:groupmode="layer"
  81.102 +     id="layer1">
  81.103 +    <g
  81.104 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  81.105 +       id="g10393"
  81.106 +       transform="translate(-60,22)">
  81.107 +      <path
  81.108 +         inkscape:connector-curvature="0"
  81.109 +         id="path10395"
  81.110 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  81.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" />
  81.112 +    </g>
  81.113 +    <text
  81.114 +       xml:space="preserve"
  81.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"
  81.116 +       x="374.7023"
  81.117 +       y="427.27441"
  81.118 +       id="text10405"
  81.119 +       sodipodi:linespacing="100%"><tspan
  81.120 +         id="tspan10407"
  81.121 +         sodipodi:role="line"
  81.122 +         x="374.7023"
  81.123 +         y="427.27441">Timeline B</tspan></text>
  81.124 +    <path
  81.125 +       id="path10409"
  81.126 +       d="m 320.08409,423.37498 c 48.88494,0 48.88494,0 48.88494,0"
  81.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)"
  81.128 +       inkscape:connector-curvature="0" />
  81.129 +    <path
  81.130 +       id="path10411"
  81.131 +       d="m 283.92204,381.37498 c 33.06652,0 33.06652,0 33.06652,0"
  81.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"
  81.133 +       inkscape:connector-curvature="0" />
  81.134 +    <g
  81.135 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  81.136 +       transform="translate(-60,-20)"
  81.137 +       id="g10423">
  81.138 +      <path
  81.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"
  81.140 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  81.141 +         id="path10425"
  81.142 +         inkscape:connector-curvature="0" />
  81.143 +      <text
  81.144 +         sodipodi:linespacing="100%"
  81.145 +         id="text10427"
  81.146 +         y="380.52615"
  81.147 +         x="378.7023"
  81.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"
  81.149 +         xml:space="preserve"><tspan
  81.150 +           y="380.52615"
  81.151 +           x="378.7023"
  81.152 +           sodipodi:role="line"
  81.153 +           id="tspan10433"
  81.154 +           style="font-size:9px;text-align:center;text-anchor:middle">Sync</tspan><tspan
  81.155 +           y="389.52615"
  81.156 +           x="378.7023"
  81.157 +           sodipodi:role="line"
  81.158 +           style="font-size:9px;text-align:center;text-anchor:middle"
  81.159 +           id="tspan11167">Point</tspan></text>
  81.160 +    </g>
  81.161 +    <text
  81.162 +       sodipodi:linespacing="100%"
  81.163 +       id="text10435"
  81.164 +       y="385.27441"
  81.165 +       x="374.7023"
  81.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"
  81.167 +       xml:space="preserve"><tspan
  81.168 +         y="385.27441"
  81.169 +         x="374.7023"
  81.170 +         sodipodi:role="line"
  81.171 +         id="tspan10437">Timeline A</tspan></text>
  81.172 +    <path
  81.173 +       inkscape:connector-curvature="0"
  81.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)"
  81.175 +       d="m 320.08409,381.37498 c 48.88494,0 48.88494,0 48.88494,0"
  81.176 +       id="path10439" />
  81.177 +    <path
  81.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"
  81.179 +       d="m 318.92887,395.30966 c 0,24.40348 0,24.40348 0,24.40348"
  81.180 +       id="path10425-2"
  81.181 +       inkscape:connector-curvature="0" />
  81.182 +    <path
  81.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)"
  81.184 +       d="m 294.31645,382.21359 c 34.40952,37.45034 2.57725,2.48534 35.69881,39.49989"
  81.185 +       id="path11081"
  81.186 +       inkscape:connector-curvature="0"
  81.187 +       sodipodi:nodetypes="cc" />
  81.188 +    <text
  81.189 +       sodipodi:linespacing="100%"
  81.190 +       id="text11017-7"
  81.191 +       y="380.07288"
  81.192 +       x="289.94116"
  81.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"
  81.194 +       xml:space="preserve"><tspan
  81.195 +         y="380.07288"
  81.196 +         x="289.94116"
  81.197 +         sodipodi:role="line"
  81.198 +         id="tspan11021-1"
  81.199 +         style="font-size:10px;text-align:center;text-anchor:middle">write</tspan></text>
  81.200 +    <text
  81.201 +       xml:space="preserve"
  81.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"
  81.203 +       x="331.94116"
  81.204 +       y="432.07288"
  81.205 +       id="text11111"
  81.206 +       sodipodi:linespacing="100%"><tspan
  81.207 +         style="font-size:10px;text-align:center;text-anchor:middle"
  81.208 +         id="tspan11113"
  81.209 +         sodipodi:role="line"
  81.210 +         x="331.94116"
  81.211 +         y="432.07288">read</tspan></text>
  81.212 +    <g
  81.213 +       transform="translate(-60,122)"
  81.214 +       id="g11117"
  81.215 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  81.216 +      <path
  81.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"
  81.218 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  81.219 +         id="path11119"
  81.220 +         inkscape:connector-curvature="0" />
  81.221 +    </g>
  81.222 +    <text
  81.223 +       sodipodi:linespacing="100%"
  81.224 +       id="text11121"
  81.225 +       y="527.27441"
  81.226 +       x="394.7023"
  81.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"
  81.228 +       xml:space="preserve"><tspan
  81.229 +         y="527.27441"
  81.230 +         x="394.7023"
  81.231 +         sodipodi:role="line"
  81.232 +         id="tspan11123">Timeline B</tspan></text>
  81.233 +    <path
  81.234 +       inkscape:connector-curvature="0"
  81.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)"
  81.236 +       d="m 320.08412,523.37498 c 70.34044,0 70.34044,0 70.34044,0"
  81.237 +       id="path11125" />
  81.238 +    <path
  81.239 +       inkscape:connector-curvature="0"
  81.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"
  81.241 +       d="m 283.92204,481.37498 c 33.06652,0 33.06652,0 33.06652,0"
  81.242 +       id="path11127" />
  81.243 +    <g
  81.244 +       id="g11129"
  81.245 +       transform="translate(-60,80)"
  81.246 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  81.247 +      <path
  81.248 +         inkscape:connector-curvature="0"
  81.249 +         id="path11131"
  81.250 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  81.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" />
  81.252 +      <text
  81.253 +         xml:space="preserve"
  81.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"
  81.255 +         x="378.7023"
  81.256 +         y="380.52615"
  81.257 +         id="text11133"
  81.258 +         sodipodi:linespacing="100%"><tspan
  81.259 +           style="font-size:9px;text-align:center;text-anchor:middle"
  81.260 +           id="tspan11135"
  81.261 +           sodipodi:role="line"
  81.262 +           x="378.7023"
  81.263 +           y="380.52615">Sync</tspan><tspan
  81.264 +           style="font-size:9px;text-align:center;text-anchor:middle"
  81.265 +           sodipodi:role="line"
  81.266 +           x="378.7023"
  81.267 +           y="389.52615"
  81.268 +           id="tspan11165">Point</tspan></text>
  81.269 +    </g>
  81.270 +    <text
  81.271 +       xml:space="preserve"
  81.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"
  81.273 +       x="394.7023"
  81.274 +       y="485.27441"
  81.275 +       id="text11137"
  81.276 +       sodipodi:linespacing="100%"><tspan
  81.277 +         id="tspan11139"
  81.278 +         sodipodi:role="line"
  81.279 +         x="394.7023"
  81.280 +         y="485.27441">Timeline A</tspan></text>
  81.281 +    <path
  81.282 +       id="path11141"
  81.283 +       d="m 320.08412,481.37498 c 70.34044,0 70.34044,0 70.34044,0"
  81.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)"
  81.285 +       inkscape:connector-curvature="0" />
  81.286 +    <path
  81.287 +       inkscape:connector-curvature="0"
  81.288 +       id="path11143"
  81.289 +       d="m 318.92887,495.30966 c 0,24.40348 0,24.40348 0,24.40348"
  81.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" />
  81.291 +    <path
  81.292 +       sodipodi:nodetypes="cc"
  81.293 +       inkscape:connector-curvature="0"
  81.294 +       id="path11145"
  81.295 +       d="m 294.31645,482.21359 c 34.40952,37.45034 2.57725,2.48534 35.69881,39.49989"
  81.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)" />
  81.297 +    <text
  81.298 +       xml:space="preserve"
  81.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"
  81.300 +       x="291.94116"
  81.301 +       y="480.07288"
  81.302 +       id="text11147"
  81.303 +       sodipodi:linespacing="100%"><tspan
  81.304 +         style="font-size:10px;text-align:center;text-anchor:middle"
  81.305 +         id="tspan11149"
  81.306 +         sodipodi:role="line"
  81.307 +         x="291.94116"
  81.308 +         y="480.07288">write</tspan></text>
  81.309 +    <text
  81.310 +       sodipodi:linespacing="100%"
  81.311 +       id="text11151"
  81.312 +       y="532.07288"
  81.313 +       x="331.94116"
  81.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"
  81.315 +       xml:space="preserve"><tspan
  81.316 +         y="532.07288"
  81.317 +         x="331.94116"
  81.318 +         sodipodi:role="line"
  81.319 +         id="tspan11153"
  81.320 +         style="font-size:10px;text-align:center;text-anchor:middle">read</tspan></text>
  81.321 +    <g
  81.322 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  81.323 +       transform="translate(-26,80)"
  81.324 +       id="g11155">
  81.325 +      <path
  81.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"
  81.327 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  81.328 +         id="path11157"
  81.329 +         inkscape:connector-curvature="0" />
  81.330 +      <text
  81.331 +         sodipodi:linespacing="100%"
  81.332 +         id="text11159"
  81.333 +         y="380.52615"
  81.334 +         x="378.7023"
  81.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"
  81.336 +         xml:space="preserve"><tspan
  81.337 +           y="380.52615"
  81.338 +           x="378.7023"
  81.339 +           sodipodi:role="line"
  81.340 +           id="tspan11161"
  81.341 +           style="font-size:9px;text-align:center;text-anchor:middle">Sync</tspan><tspan
  81.342 +           y="389.52615"
  81.343 +           x="378.7023"
  81.344 +           sodipodi:role="line"
  81.345 +           style="font-size:9px;text-align:center;text-anchor:middle"
  81.346 +           id="tspan11163">Point</tspan></text>
  81.347 +    </g>
  81.348 +    <text
  81.349 +       sodipodi:linespacing="100%"
  81.350 +       id="text11169"
  81.351 +       y="480.07288"
  81.352 +       x="369.94116"
  81.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"
  81.354 +       xml:space="preserve"><tspan
  81.355 +         y="480.07288"
  81.356 +         x="369.94116"
  81.357 +         sodipodi:role="line"
  81.358 +         id="tspan11171"
  81.359 +         style="font-size:10px;text-align:center;text-anchor:middle">write</tspan></text>
  81.360 +    <path
  81.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)"
  81.362 +       d="m 370.40555,482.21359 c -34.40952,37.45034 -2.57725,2.48534 -35.69881,39.49989"
  81.363 +       id="path11173"
  81.364 +       inkscape:connector-curvature="0"
  81.365 +       sodipodi:nodetypes="cc" />
  81.366 +    <text
  81.367 +       xml:space="preserve"
  81.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"
  81.369 +       x="254.37491"
  81.370 +       y="686.63239"
  81.371 +       id="text11175"
  81.372 +       sodipodi:linespacing="125%"
  81.373 +       transform="scale(1.3547877,0.73812303)"><tspan
  81.374 +         sodipodi:role="line"
  81.375 +         id="tspan11177"
  81.376 +         x="254.37491"
  81.377 +         y="686.63239">X</tspan></text>
  81.378 +    <path
  81.379 +       inkscape:connector-curvature="0"
  81.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"
  81.381 +       d="m 258.91945,423.37498 c 58.04959,0 58.04959,0 58.04959,0"
  81.382 +       id="path11275" />
  81.383 +    <path
  81.384 +       id="path11459"
  81.385 +       d="m 258.91945,523.37498 c 58.04959,0 58.04959,0 58.04959,0"
  81.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"
  81.387 +       inkscape:connector-curvature="0" />
  81.388 +    <g
  81.389 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  81.390 +       id="g11557"
  81.391 +       transform="translate(-26,122)">
  81.392 +      <path
  81.393 +         inkscape:connector-curvature="0"
  81.394 +         id="path11559"
  81.395 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  81.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" />
  81.397 +    </g>
  81.398 +    <path
  81.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"
  81.400 +       d="m 352.92887,495.30966 c 0,24.40348 0,24.40348 0,24.40348"
  81.401 +       id="path11561"
  81.402 +       inkscape:connector-curvature="0" />
  81.403 +    <text
  81.404 +       sodipodi:linespacing="100%"
  81.405 +       id="text11625"
  81.406 +       y="327.27441"
  81.407 +       x="374.7023"
  81.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"
  81.409 +       xml:space="preserve"><tspan
  81.410 +         y="327.27441"
  81.411 +         x="374.7023"
  81.412 +         sodipodi:role="line"
  81.413 +         id="tspan11627">Timeline B</tspan></text>
  81.414 +    <path
  81.415 +       inkscape:connector-curvature="0"
  81.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)"
  81.417 +       d="m 258.20925,323.37498 c 110.75976,0 110.75976,0 110.75976,0"
  81.418 +       id="path11629" />
  81.419 +    <text
  81.420 +       xml:space="preserve"
  81.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"
  81.422 +       x="374.7023"
  81.423 +       y="285.27441"
  81.424 +       id="text11643"
  81.425 +       sodipodi:linespacing="100%"><tspan
  81.426 +         id="tspan11645"
  81.427 +         sodipodi:role="line"
  81.428 +         x="374.7023"
  81.429 +         y="285.27441">Timeline A</tspan></text>
  81.430 +    <path
  81.431 +       id="path11647"
  81.432 +       d="m 280.79847,281.37498 c 88.17054,0 88.17054,0 88.17054,0"
  81.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)"
  81.434 +       inkscape:connector-curvature="0" />
  81.435 +    <text
  81.436 +       xml:space="preserve"
  81.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"
  81.438 +       x="289.94116"
  81.439 +       y="280.07288"
  81.440 +       id="text11653"
  81.441 +       sodipodi:linespacing="100%"><tspan
  81.442 +         style="font-size:10px;text-align:center;text-anchor:middle"
  81.443 +         id="tspan11655"
  81.444 +         sodipodi:role="line"
  81.445 +         x="289.94116"
  81.446 +         y="280.07288">write</tspan></text>
  81.447 +    <text
  81.448 +       sodipodi:linespacing="100%"
  81.449 +       id="text11657"
  81.450 +       y="332.07288"
  81.451 +       x="299.94116"
  81.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"
  81.453 +       xml:space="preserve"><tspan
  81.454 +         y="332.07288"
  81.455 +         x="299.94116"
  81.456 +         sodipodi:role="line"
  81.457 +         id="tspan11659"
  81.458 +         style="font-size:10px;text-align:center;text-anchor:middle">read</tspan></text>
  81.459 +    <text
  81.460 +       xml:space="preserve"
  81.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"
  81.462 +       x="319.94116"
  81.463 +       y="280.07288"
  81.464 +       id="text11663"
  81.465 +       sodipodi:linespacing="100%"><tspan
  81.466 +         style="font-size:10px;text-align:center;text-anchor:middle"
  81.467 +         id="tspan11665"
  81.468 +         sodipodi:role="line"
  81.469 +         x="319.94116"
  81.470 +         y="280.07288">read</tspan></text>
  81.471 +    <text
  81.472 +       sodipodi:linespacing="100%"
  81.473 +       id="text11667"
  81.474 +       y="332.07288"
  81.475 +       x="331.94116"
  81.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"
  81.477 +       xml:space="preserve"><tspan
  81.478 +         y="332.07288"
  81.479 +         x="331.94116"
  81.480 +         sodipodi:role="line"
  81.481 +         id="tspan11669"
  81.482 +         style="font-size:10px;text-align:center;text-anchor:middle">write</tspan></text>
  81.483 +    <path
  81.484 +       id="path3158"
  81.485 +       d="m 278.54842,303.37498 c 74.42058,0 74.42058,0 74.42058,0"
  81.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"
  81.487 +       inkscape:connector-curvature="0" />
  81.488 +    <text
  81.489 +       xml:space="preserve"
  81.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"
  81.491 +       x="315.94116"
  81.492 +       y="300.07288"
  81.493 +       id="text4380"
  81.494 +       sodipodi:linespacing="100%"><tspan
  81.495 +         style="font-size:10px;text-align:center;text-anchor:middle"
  81.496 +         id="tspan4382"
  81.497 +         sodipodi:role="line"
  81.498 +         x="315.94116"
  81.499 +         y="300.07288">shift relative to each other</tspan></text>
  81.500 +  </g>
  81.501 +</svg>
    82.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_tie_point_ordering.pdf has changed
    83.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    83.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_tie_point_ordering.svg	Sat Aug 03 19:24:22 2013 -0700
    83.3 @@ -0,0 +1,369 @@
    83.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    83.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
    83.6 +
    83.7 +<svg
    83.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
    83.9 +   xmlns:cc="http://creativecommons.org/ns#"
   83.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   83.11 +   xmlns:svg="http://www.w3.org/2000/svg"
   83.12 +   xmlns="http://www.w3.org/2000/svg"
   83.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   83.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   83.15 +   width="744.09448819"
   83.16 +   height="1052.3622047"
   83.17 +   id="svg2"
   83.18 +   sodipodi:version="0.32"
   83.19 +   inkscape:version="0.48.2 r9819"
   83.20 +   sodipodi:docname="PR__timeline_tie_point_ordering.svg"
   83.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   83.22 +   version="1.1">
   83.23 +  <defs
   83.24 +     id="defs4">
   83.25 +    <marker
   83.26 +       inkscape:stockid="Arrow2Mend"
   83.27 +       orient="auto"
   83.28 +       refY="0.0"
   83.29 +       refX="0.0"
   83.30 +       id="Arrow2Mend"
   83.31 +       style="overflow:visible;">
   83.32 +      <path
   83.33 +         id="path4008"
   83.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   83.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 "
   83.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   83.37 +    </marker>
   83.38 +    <inkscape:perspective
   83.39 +       sodipodi:type="inkscape:persp3d"
   83.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   83.41 +       inkscape:vp_y="0 : 1000 : 0"
   83.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   83.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   83.44 +       id="perspective10" />
   83.45 +    <inkscape:perspective
   83.46 +       id="perspective11923"
   83.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   83.48 +       inkscape:vp_z="1 : 0.5 : 1"
   83.49 +       inkscape:vp_y="0 : 1000 : 0"
   83.50 +       inkscape:vp_x="0 : 0.5 : 1"
   83.51 +       sodipodi:type="inkscape:persp3d" />
   83.52 +  </defs>
   83.53 +  <sodipodi:namedview
   83.54 +     id="base"
   83.55 +     pagecolor="#ffffff"
   83.56 +     bordercolor="#666666"
   83.57 +     borderopacity="1.0"
   83.58 +     gridtolerance="10000"
   83.59 +     guidetolerance="10"
   83.60 +     objecttolerance="10"
   83.61 +     inkscape:pageopacity="0.0"
   83.62 +     inkscape:pageshadow="2"
   83.63 +     inkscape:zoom="1.3364318"
   83.64 +     inkscape:cx="214.9176"
   83.65 +     inkscape:cy="550.40126"
   83.66 +     inkscape:document-units="px"
   83.67 +     inkscape:current-layer="layer1"
   83.68 +     showgrid="false"
   83.69 +     inkscape:window-width="1317"
   83.70 +     inkscape:window-height="832"
   83.71 +     inkscape:window-x="7"
   83.72 +     inkscape:window-y="0"
   83.73 +     inkscape:window-maximized="0" />
   83.74 +  <metadata
   83.75 +     id="metadata7">
   83.76 +    <rdf:RDF>
   83.77 +      <cc:Work
   83.78 +         rdf:about="">
   83.79 +        <dc:format>image/svg+xml</dc:format>
   83.80 +        <dc:type
   83.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   83.82 +        <dc:title />
   83.83 +      </cc:Work>
   83.84 +    </rdf:RDF>
   83.85 +  </metadata>
   83.86 +  <g
   83.87 +     inkscape:label="Layer 1"
   83.88 +     inkscape:groupmode="layer"
   83.89 +     id="layer1">
   83.90 +    <path
   83.91 +       inkscape:connector-curvature="0"
   83.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"
   83.93 +       d="m 246.98465,423.37498 c 69.82336,0 69.82336,0 69.82336,0"
   83.94 +       id="path10381" />
   83.95 +    <g
   83.96 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
   83.97 +       id="g10393"
   83.98 +       transform="translate(-60,22)">
   83.99 +      <path
  83.100 +         inkscape:connector-curvature="0"
  83.101 +         id="path10395"
  83.102 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  83.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" />
  83.104 +      <text
  83.105 +         xml:space="preserve"
  83.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"
  83.107 +         x="378.7023"
  83.108 +         y="390.52615"
  83.109 +         id="text10397"
  83.110 +         sodipodi:linespacing="100%"><tspan
  83.111 +           style="font-size:9px;text-align:center;text-anchor:middle"
  83.112 +           id="tspan10403"
  83.113 +           sodipodi:role="line"
  83.114 +           x="378.7023"
  83.115 +           y="390.52615">Tied Point</tspan></text>
  83.116 +    </g>
  83.117 +    <text
  83.118 +       xml:space="preserve"
  83.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"
  83.120 +       x="352.7023"
  83.121 +       y="427.27441"
  83.122 +       id="text10405"
  83.123 +       sodipodi:linespacing="100%"><tspan
  83.124 +         id="tspan10407"
  83.125 +         sodipodi:role="line"
  83.126 +         x="352.7023"
  83.127 +         y="427.27441">Timeline B</tspan></text>
  83.128 +    <path
  83.129 +       id="path10409"
  83.130 +       d="m 320.08408,423.37498 c 27.45405,0 27.45405,0 27.45405,0"
  83.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)"
  83.132 +       inkscape:connector-curvature="0" />
  83.133 +    <path
  83.134 +       id="path10411"
  83.135 +       d="m 283.92204,381.37498 c 33.06652,0 33.06652,0 33.06652,0"
  83.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"
  83.137 +       inkscape:connector-curvature="0" />
  83.138 +    <g
  83.139 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  83.140 +       transform="translate(-60,-20)"
  83.141 +       id="g10423">
  83.142 +      <path
  83.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"
  83.144 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  83.145 +         id="path10425"
  83.146 +         inkscape:connector-curvature="0" />
  83.147 +      <text
  83.148 +         sodipodi:linespacing="100%"
  83.149 +         id="text10427"
  83.150 +         y="388.52615"
  83.151 +         x="378.7023"
  83.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"
  83.153 +         xml:space="preserve"><tspan
  83.154 +           y="388.52615"
  83.155 +           x="378.7023"
  83.156 +           sodipodi:role="line"
  83.157 +           id="tspan10433"
  83.158 +           style="font-size:9px;text-align:center;text-anchor:middle">Tied Point</tspan></text>
  83.159 +    </g>
  83.160 +    <text
  83.161 +       sodipodi:linespacing="100%"
  83.162 +       id="text10435"
  83.163 +       y="385.27441"
  83.164 +       x="352.7023"
  83.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"
  83.166 +       xml:space="preserve"><tspan
  83.167 +         y="385.27441"
  83.168 +         x="352.7023"
  83.169 +         sodipodi:role="line"
  83.170 +         id="tspan10437">Timeline A</tspan></text>
  83.171 +    <path
  83.172 +       inkscape:connector-curvature="0"
  83.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)"
  83.174 +       d="m 320.08408,381.37498 c 27.45405,0 27.45405,0 27.45405,0"
  83.175 +       id="path10439" />
  83.176 +    <path
  83.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"
  83.178 +       d="m 318.92887,395.30966 c 0,24.40348 0,24.40348 0,24.40348"
  83.179 +       id="path10425-2"
  83.180 +       inkscape:connector-curvature="0" />
  83.181 +    <path
  83.182 +       inkscape:connector-curvature="0"
  83.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"
  83.184 +       d="m 196.98465,549.37498 c 69.82336,0 69.82336,0 69.82336,0"
  83.185 +       id="path10981" />
  83.186 +    <g
  83.187 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  83.188 +       id="g10983"
  83.189 +       transform="translate(-32,148)">
  83.190 +      <path
  83.191 +         inkscape:connector-curvature="0"
  83.192 +         id="path10985"
  83.193 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  83.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" />
  83.195 +    </g>
  83.196 +    <g
  83.197 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  83.198 +       id="g10993"
  83.199 +       transform="translate(-60,148)">
  83.200 +      <path
  83.201 +         inkscape:connector-curvature="0"
  83.202 +         id="path10995"
  83.203 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  83.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" />
  83.205 +    </g>
  83.206 +    <text
  83.207 +       xml:space="preserve"
  83.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"
  83.209 +       x="352.7023"
  83.210 +       y="553.27441"
  83.211 +       id="text11005"
  83.212 +       sodipodi:linespacing="100%"><tspan
  83.213 +         id="tspan11007"
  83.214 +         sodipodi:role="line"
  83.215 +         x="352.7023"
  83.216 +         y="553.27441">Timeline B</tspan></text>
  83.217 +    <path
  83.218 +       id="path11009"
  83.219 +       d="m 320.08408,549.37498 c 27.45405,0 27.45405,0 27.45405,0"
  83.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)"
  83.221 +       inkscape:connector-curvature="0" />
  83.222 +    <path
  83.223 +       id="path11011"
  83.224 +       d="m 195.92204,489.37498 c 33.06652,0 33.06652,0 33.06652,0"
  83.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"
  83.226 +       inkscape:connector-curvature="0" />
  83.227 +    <g
  83.228 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  83.229 +       transform="translate(-70,88)"
  83.230 +       id="g11013">
  83.231 +      <path
  83.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"
  83.233 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  83.234 +         id="path11015"
  83.235 +         inkscape:connector-curvature="0" />
  83.236 +      <text
  83.237 +         sodipodi:linespacing="100%"
  83.238 +         id="text11017"
  83.239 +         y="376.52615"
  83.240 +         x="298.7023"
  83.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"
  83.242 +         xml:space="preserve"><tspan
  83.243 +           y="376.52615"
  83.244 +           x="298.7023"
  83.245 +           id="tspan11019"
  83.246 +           sodipodi:role="line"
  83.247 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  83.248 +           y="385.74353"
  83.249 +           x="298.7023"
  83.250 +           sodipodi:role="line"
  83.251 +           id="tspan11021"
  83.252 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text>
  83.253 +    </g>
  83.254 +    <g
  83.255 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  83.256 +       transform="translate(-60,88)"
  83.257 +       id="g11023">
  83.258 +      <path
  83.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"
  83.260 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  83.261 +         id="path11025"
  83.262 +         inkscape:connector-curvature="0" />
  83.263 +      <text
  83.264 +         sodipodi:linespacing="100%"
  83.265 +         id="text11027"
  83.266 +         y="376.52615"
  83.267 +         x="378.7023"
  83.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"
  83.269 +         xml:space="preserve"><tspan
  83.270 +           y="376.52615"
  83.271 +           x="380.20621"
  83.272 +           id="tspan11029"
  83.273 +           sodipodi:role="line"
  83.274 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  83.275 +             style="font-size:10px"
  83.276 +             id="tspan11031">Resume </tspan></tspan><tspan
  83.277 +           y="385.74353"
  83.278 +           x="378.7023"
  83.279 +           sodipodi:role="line"
  83.280 +           id="tspan11033"
  83.281 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text>
  83.282 +    </g>
  83.283 +    <text
  83.284 +       sodipodi:linespacing="100%"
  83.285 +       id="text11035"
  83.286 +       y="493.27441"
  83.287 +       x="352.7023"
  83.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"
  83.289 +       xml:space="preserve"><tspan
  83.290 +         y="493.27441"
  83.291 +         x="352.7023"
  83.292 +         sodipodi:role="line"
  83.293 +         id="tspan11037">Timeline A</tspan></text>
  83.294 +    <path
  83.295 +       inkscape:connector-curvature="0"
  83.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)"
  83.297 +       d="m 320.08408,489.37498 c 27.45405,0 27.45405,0 27.45405,0"
  83.298 +       id="path11039" />
  83.299 +    <path
  83.300 +       sodipodi:nodetypes="cc"
  83.301 +       inkscape:connector-curvature="0"
  83.302 +       id="path11041"
  83.303 +       d="m 248.40878,545.16363 c 79.41657,-49.15176 5.94823,-3.26189 82.39224,-51.8417"
  83.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)" />
  83.305 +    <path
  83.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)"
  83.307 +       d="m 333.77257,501.82974 c -70.11936,42.79661 -5.25188,2.84014 -72.74667,45.13875"
  83.308 +       id="path11043"
  83.309 +       inkscape:connector-curvature="0"
  83.310 +       sodipodi:nodetypes="cc" />
  83.311 +    <text
  83.312 +       xml:space="preserve"
  83.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"
  83.314 +       x="-20.52177"
  83.315 +       y="592.72888"
  83.316 +       id="text11049"
  83.317 +       sodipodi:linespacing="100%"
  83.318 +       transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"><tspan
  83.319 +         id="tspan11051"
  83.320 +         sodipodi:role="line"
  83.321 +         x="-20.52177"
  83.322 +         y="592.72888">visible</tspan></text>
  83.323 +    <text
  83.324 +       transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"
  83.325 +       sodipodi:linespacing="100%"
  83.326 +       id="text11053"
  83.327 +       y="609.94751"
  83.328 +       x="-7.578732"
  83.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"
  83.330 +       xml:space="preserve"><tspan
  83.331 +         y="609.94751"
  83.332 +         x="-7.578732"
  83.333 +         sodipodi:role="line"
  83.334 +         id="tspan11055">NOT visible</tspan></text>
  83.335 +    <path
  83.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)"
  83.337 +       d="m 319.48246,543.42226 c -109.48644,-45.60627 -8.20044,-3.02659 -113.5888,-48.10218"
  83.338 +       id="path11057"
  83.339 +       inkscape:connector-curvature="0"
  83.340 +       sodipodi:nodetypes="cc" />
  83.341 +    <path
  83.342 +       sodipodi:nodetypes="cc"
  83.343 +       inkscape:connector-curvature="0"
  83.344 +       id="path11059"
  83.345 +       d="m 218.69167,493.82968 c 107.30304,43.503 8.03691,2.88702 111.32359,45.8838"
  83.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)" />
  83.347 +    <text
  83.348 +       transform="matrix(0.92037595,0.39103467,-0.39103467,0.92037595,0,0)"
  83.349 +       sodipodi:linespacing="100%"
  83.350 +       id="text11061"
  83.351 +       y="363.98227"
  83.352 +       x="416.02991"
  83.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"
  83.354 +       xml:space="preserve"><tspan
  83.355 +         y="363.98227"
  83.356 +         x="416.02991"
  83.357 +         sodipodi:role="line"
  83.358 +         id="tspan11063">visible</tspan></text>
  83.359 +    <text
  83.360 +       xml:space="preserve"
  83.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"
  83.362 +       x="374.53223"
  83.363 +       y="404.16913"
  83.364 +       id="text11065"
  83.365 +       sodipodi:linespacing="100%"
  83.366 +       transform="matrix(0.93857354,0.34507928,-0.34507928,0.93857354,0,0)"><tspan
  83.367 +         id="tspan11067"
  83.368 +         sodipodi:role="line"
  83.369 +         x="374.53223"
  83.370 +         y="404.16913">NOT visible</tspan></text>
  83.371 +  </g>
  83.372 +</svg>
    84.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    84.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__timeline_tie_point_ordering_2.svg	Sat Aug 03 19:24:22 2013 -0700
    84.3 @@ -0,0 +1,324 @@
    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_tie_point_ordering.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="Arrow2Mend"
   84.27 +       orient="auto"
   84.28 +       refY="0.0"
   84.29 +       refX="0.0"
   84.30 +       id="Arrow2Mend"
   84.31 +       style="overflow:visible;">
   84.32 +      <path
   84.33 +         id="path4008"
   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) rotate(180) translate(0,0)" />
   84.37 +    </marker>
   84.38 +    <inkscape:perspective
   84.39 +       sodipodi:type="inkscape:persp3d"
   84.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   84.41 +       inkscape:vp_y="0 : 1000 : 0"
   84.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   84.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   84.44 +       id="perspective10" />
   84.45 +    <inkscape:perspective
   84.46 +       id="perspective11923"
   84.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   84.48 +       inkscape:vp_z="1 : 0.5 : 1"
   84.49 +       inkscape:vp_y="0 : 1000 : 0"
   84.50 +       inkscape:vp_x="0 : 0.5 : 1"
   84.51 +       sodipodi:type="inkscape:persp3d" />
   84.52 +  </defs>
   84.53 +  <sodipodi:namedview
   84.54 +     id="base"
   84.55 +     pagecolor="#ffffff"
   84.56 +     bordercolor="#666666"
   84.57 +     borderopacity="1.0"
   84.58 +     gridtolerance="10000"
   84.59 +     guidetolerance="10"
   84.60 +     objecttolerance="10"
   84.61 +     inkscape:pageopacity="0.0"
   84.62 +     inkscape:pageshadow="2"
   84.63 +     inkscape:zoom="1.3364318"
   84.64 +     inkscape:cx="214.9176"
   84.65 +     inkscape:cy="550.40126"
   84.66 +     inkscape:document-units="px"
   84.67 +     inkscape:current-layer="g4513"
   84.68 +     showgrid="false"
   84.69 +     inkscape:window-width="1317"
   84.70 +     inkscape:window-height="832"
   84.71 +     inkscape:window-x="7"
   84.72 +     inkscape:window-y="0"
   84.73 +     inkscape:window-maximized="0" />
   84.74 +  <metadata
   84.75 +     id="metadata7">
   84.76 +    <rdf:RDF>
   84.77 +      <cc:Work
   84.78 +         rdf:about="">
   84.79 +        <dc:format>image/svg+xml</dc:format>
   84.80 +        <dc:type
   84.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   84.82 +        <dc:title></dc:title>
   84.83 +      </cc:Work>
   84.84 +    </rdf:RDF>
   84.85 +  </metadata>
   84.86 +  <g
   84.87 +     inkscape:label="Layer 1"
   84.88 +     inkscape:groupmode="layer"
   84.89 +     id="layer1">
   84.90 +    <path
   84.91 +       inkscape:connector-curvature="0"
   84.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"
   84.93 +       d="m 193.90177,549.37498 c 80.90624,0 80.90624,0 80.90624,0"
   84.94 +       id="path10981" />
   84.95 +    <g
   84.96 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
   84.97 +       id="g10983"
   84.98 +       transform="translate(-24,148)">
   84.99 +      <path
  84.100 +         inkscape:connector-curvature="0"
  84.101 +         id="path10985"
  84.102 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  84.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" />
  84.104 +    </g>
  84.105 +    <g
  84.106 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  84.107 +       id="g10993"
  84.108 +       transform="translate(-38,148)">
  84.109 +      <path
  84.110 +         inkscape:connector-curvature="0"
  84.111 +         id="path10995"
  84.112 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  84.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" />
  84.114 +    </g>
  84.115 +    <text
  84.116 +       xml:space="preserve"
  84.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"
  84.118 +       x="374.7023"
  84.119 +       y="551.79181"
  84.120 +       id="text11005"
  84.121 +       sodipodi:linespacing="100%"><tspan
  84.122 +         id="tspan11007"
  84.123 +         sodipodi:role="line"
  84.124 +         x="374.7023"
  84.125 +         y="551.79181">Timeline B</tspan></text>
  84.126 +    <path
  84.127 +       id="path11009"
  84.128 +       d="m 342.08408,549.37498 c 27.45405,0 27.45405,0 27.45405,0"
  84.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)"
  84.130 +       inkscape:connector-curvature="0" />
  84.131 +    <path
  84.132 +       id="path11011"
  84.133 +       d="m 195.92204,489.37498 c 33.06652,0 33.06652,0 33.06652,0"
  84.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"
  84.135 +       inkscape:connector-curvature="0" />
  84.136 +    <g
  84.137 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  84.138 +       transform="translate(-70,88)"
  84.139 +       id="g11013">
  84.140 +      <path
  84.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"
  84.142 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
  84.143 +         id="path11015"
  84.144 +         inkscape:connector-curvature="0" />
  84.145 +      <text
  84.146 +         sodipodi:linespacing="100%"
  84.147 +         id="text11017"
  84.148 +         y="376.52615"
  84.149 +         x="298.7023"
  84.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"
  84.151 +         xml:space="preserve"><tspan
  84.152 +           y="376.52615"
  84.153 +           x="298.7023"
  84.154 +           id="tspan11019"
  84.155 +           sodipodi:role="line"
  84.156 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  84.157 +           y="385.74353"
  84.158 +           x="298.7023"
  84.159 +           sodipodi:role="line"
  84.160 +           id="tspan11021"
  84.161 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point A1.S)</tspan></text>
  84.162 +    </g>
  84.163 +    <g
  84.164 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
  84.165 +       transform="translate(-60,88)"
  84.166 +       id="g11023">
  84.167 +      <path
  84.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"
  84.169 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
  84.170 +         id="path11025"
  84.171 +         inkscape:connector-curvature="0" />
  84.172 +      <text
  84.173 +         sodipodi:linespacing="100%"
  84.174 +         id="text11027"
  84.175 +         y="376.52615"
  84.176 +         x="378.7023"
  84.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"
  84.178 +         xml:space="preserve"><tspan
  84.179 +           y="376.52615"
  84.180 +           x="380.20621"
  84.181 +           id="tspan11029"
  84.182 +           sodipodi:role="line"
  84.183 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
  84.184 +             style="font-size:10px"
  84.185 +             id="tspan11031">Resume </tspan></tspan><tspan
  84.186 +           y="385.74353"
  84.187 +           x="378.7023"
  84.188 +           sodipodi:role="line"
  84.189 +           id="tspan11033"
  84.190 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point A1.R)</tspan></text>
  84.191 +    </g>
  84.192 +    <text
  84.193 +       sodipodi:linespacing="100%"
  84.194 +       id="text11035"
  84.195 +       y="493.27441"
  84.196 +       x="376.7023"
  84.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"
  84.198 +       xml:space="preserve"><tspan
  84.199 +         y="493.27441"
  84.200 +         x="376.7023"
  84.201 +         sodipodi:role="line"
  84.202 +         id="tspan11037">Timeline A</tspan></text>
  84.203 +    <path
  84.204 +       inkscape:connector-curvature="0"
  84.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)"
  84.206 +       d="m 320.08409,489.37498 c 50.17059,0 50.17059,0 50.17059,0"
  84.207 +       id="path11039" />
  84.208 +    <path
  84.209 +       sodipodi:nodetypes="cc"
  84.210 +       inkscape:connector-curvature="0"
  84.211 +       id="path11041"
  84.212 +       d="m 248.40878,545.16363 c 79.41657,-49.15176 5.94823,-3.26189 82.39224,-51.8417"
  84.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)" />
  84.214 +    <path
  84.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)"
  84.216 +       d="m 333.77257,501.82974 c -70.11936,42.79661 -5.25188,2.84014 -72.74667,45.13875"
  84.217 +       id="path11043"
  84.218 +       inkscape:connector-curvature="0"
  84.219 +       sodipodi:nodetypes="cc" />
  84.220 +    <text
  84.221 +       xml:space="preserve"
  84.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"
  84.223 +       x="-20.52177"
  84.224 +       y="592.72888"
  84.225 +       id="text11049"
  84.226 +       sodipodi:linespacing="100%"
  84.227 +       transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"><tspan
  84.228 +         id="tspan11051"
  84.229 +         sodipodi:role="line"
  84.230 +         x="-20.52177"
  84.231 +         y="592.72888">visible</tspan></text>
  84.232 +    <text
  84.233 +       transform="matrix(0.85476126,-0.51902138,0.51902138,0.85476126,0,0)"
  84.234 +       sodipodi:linespacing="100%"
  84.235 +       id="text11053"
  84.236 +       y="609.94751"
  84.237 +       x="-7.578732"
  84.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"
  84.239 +       xml:space="preserve"><tspan
  84.240 +         y="609.94751"
  84.241 +         x="-7.578732"
  84.242 +         sodipodi:role="line"
  84.243 +         id="tspan11055">NOT visible</tspan></text>
  84.244 +    <path
  84.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)"
  84.246 +       d="M 344.17507,545.66706 C 211.03802,497.93301 334.20322,542.49927 206.0495,495.32066"
  84.247 +       id="path11057"
  84.248 +       inkscape:connector-curvature="0"
  84.249 +       sodipodi:nodetypes="cc" />
  84.250 +    <path
  84.251 +       sodipodi:nodetypes="cc"
  84.252 +       inkscape:connector-curvature="0"
  84.253 +       id="path11059"
  84.254 +       d="m 218.69167,493.82967 c 130.23301,47.05017 9.75435,3.12242 135.11273,49.6251"
  84.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)" />
  84.256 +    <text
  84.257 +       transform="matrix(0.92037595,0.39103467,-0.39103467,0.92037595,0,0)"
  84.258 +       sodipodi:linespacing="100%"
  84.259 +       id="text11061"
  84.260 +       y="363.98227"
  84.261 +       x="416.02991"
  84.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"
  84.263 +       xml:space="preserve"><tspan
  84.264 +         y="363.98227"
  84.265 +         x="416.02991"
  84.266 +         sodipodi:role="line"
  84.267 +         id="tspan11063">visible</tspan></text>
  84.268 +    <text
  84.269 +       xml:space="preserve"
  84.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"
  84.271 +       x="374.53223"
  84.272 +       y="404.16913"
  84.273 +       id="text11065"
  84.274 +       sodipodi:linespacing="100%"
  84.275 +       transform="matrix(0.93857354,0.34507928,-0.34507928,0.93857354,0,0)"><tspan
  84.276 +         id="tspan11067"
  84.277 +         sodipodi:role="line"
  84.278 +         x="374.53223"
  84.279 +         y="404.16913">NOT visible</tspan></text>
  84.280 +    <g
  84.281 +       id="g4503"
  84.282 +       transform="translate(-22,190)"
  84.283 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  84.284 +      <text
  84.285 +         xml:space="preserve"
  84.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"
  84.287 +         x="298.7023"
  84.288 +         y="376.52615"
  84.289 +         id="text4507"
  84.290 +         sodipodi:linespacing="100%"><tspan
  84.291 +           style="font-size:10px;text-align:center;text-anchor:middle"
  84.292 +           sodipodi:role="line"
  84.293 +           id="tspan4509"
  84.294 +           x="298.7023"
  84.295 +           y="376.52615">Suspend</tspan><tspan
  84.296 +           style="font-size:9px;text-align:center;text-anchor:middle"
  84.297 +           id="tspan4511"
  84.298 +           sodipodi:role="line"
  84.299 +           x="298.7023"
  84.300 +           y="385.74353">(Point B1.S)</tspan></text>
  84.301 +    </g>
  84.302 +    <g
  84.303 +       id="g4513"
  84.304 +       transform="translate(-38,190)"
  84.305 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  84.306 +      <text
  84.307 +         xml:space="preserve"
  84.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"
  84.309 +         x="378.7023"
  84.310 +         y="376.52615"
  84.311 +         id="text4517"
  84.312 +         sodipodi:linespacing="100%"><tspan
  84.313 +           style="font-size:9px;text-align:center;text-anchor:middle"
  84.314 +           sodipodi:role="line"
  84.315 +           id="tspan4519"
  84.316 +           x="380.20621"
  84.317 +           y="376.52615"><tspan
  84.318 +             id="tspan4521"
  84.319 +             style="font-size:10px">Resume </tspan></tspan><tspan
  84.320 +           style="font-size:9px;text-align:center;text-anchor:middle"
  84.321 +           id="tspan4523"
  84.322 +           sodipodi:role="line"
  84.323 +           x="378.7023"
  84.324 +           y="385.74353">(Point B1.R)</tspan></text>
  84.325 +    </g>
  84.326 +  </g>
  84.327 +</svg>
    85.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    85.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/PR__what_runtime_does.svg	Sat Aug 03 19:24:22 2013 -0700
    85.3 @@ -0,0 +1,2211 @@
    85.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    85.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
    85.6 +
    85.7 +<svg
    85.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
    85.9 +   xmlns:cc="http://creativecommons.org/ns#"
   85.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   85.11 +   xmlns:svg="http://www.w3.org/2000/svg"
   85.12 +   xmlns="http://www.w3.org/2000/svg"
   85.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   85.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   85.15 +   width="744.09448819"
   85.16 +   height="1052.3622047"
   85.17 +   id="svg2"
   85.18 +   sodipodi:version="0.32"
   85.19 +   inkscape:version="0.48.2 r9819"
   85.20 +   sodipodi:docname="PR__what_runtime_does.svg"
   85.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   85.22 +   version="1.1">
   85.23 +  <defs
   85.24 +     id="defs4">
   85.25 +    <marker
   85.26 +       inkscape:stockid="Arrow2Mstart"
   85.27 +       orient="auto"
   85.28 +       refY="0.0"
   85.29 +       refX="0.0"
   85.30 +       id="Arrow2Mstart"
   85.31 +       style="overflow:visible">
   85.32 +      <path
   85.33 +         id="path4534"
   85.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
   85.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 "
   85.36 +         transform="scale(0.6) translate(0,0)" />
   85.37 +    </marker>
   85.38 +    <marker
   85.39 +       inkscape:stockid="Arrow2Mend"
   85.40 +       orient="auto"
   85.41 +       refY="0.0"
   85.42 +       refX="0.0"
   85.43 +       id="Arrow2Mend"
   85.44 +       style="overflow:visible;">
   85.45 +      <path
   85.46 +         id="path4008"
   85.47 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   85.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 "
   85.49 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   85.50 +    </marker>
   85.51 +    <inkscape:perspective
   85.52 +       sodipodi:type="inkscape:persp3d"
   85.53 +       inkscape:vp_x="0 : 526.18109 : 1"
   85.54 +       inkscape:vp_y="0 : 1000 : 0"
   85.55 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   85.56 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   85.57 +       id="perspective10" />
   85.58 +    <inkscape:perspective
   85.59 +       id="perspective12172"
   85.60 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   85.61 +       inkscape:vp_z="1 : 0.5 : 1"
   85.62 +       inkscape:vp_y="0 : 1000 : 0"
   85.63 +       inkscape:vp_x="0 : 0.5 : 1"
   85.64 +       sodipodi:type="inkscape:persp3d" />
   85.65 +    <inkscape:perspective
   85.66 +       id="perspective12937"
   85.67 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   85.68 +       inkscape:vp_z="1 : 0.5 : 1"
   85.69 +       inkscape:vp_y="0 : 1000 : 0"
   85.70 +       inkscape:vp_x="0 : 0.5 : 1"
   85.71 +       sodipodi:type="inkscape:persp3d" />
   85.72 +  </defs>
   85.73 +  <sodipodi:namedview
   85.74 +     id="base"
   85.75 +     pagecolor="#ffffff"
   85.76 +     bordercolor="#666666"
   85.77 +     borderopacity="1.0"
   85.78 +     gridtolerance="10000"
   85.79 +     guidetolerance="10"
   85.80 +     objecttolerance="10"
   85.81 +     inkscape:pageopacity="0.0"
   85.82 +     inkscape:pageshadow="2"
   85.83 +     inkscape:zoom="1.05"
   85.84 +     inkscape:cx="142.1644"
   85.85 +     inkscape:cy="472.51234"
   85.86 +     inkscape:document-units="px"
   85.87 +     inkscape:current-layer="layer1"
   85.88 +     showgrid="false"
   85.89 +     inkscape:window-width="1600"
   85.90 +     inkscape:window-height="848"
   85.91 +     inkscape:window-x="-8"
   85.92 +     inkscape:window-y="-8"
   85.93 +     inkscape:window-maximized="1" />
   85.94 +  <metadata
   85.95 +     id="metadata7">
   85.96 +    <rdf:RDF>
   85.97 +      <cc:Work
   85.98 +         rdf:about="">
   85.99 +        <dc:format>image/svg+xml</dc:format>
  85.100 +        <dc:type
  85.101 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  85.102 +        <dc:title></dc:title>
  85.103 +      </cc:Work>
  85.104 +    </rdf:RDF>
  85.105 +  </metadata>
  85.106 +  <g
  85.107 +     inkscape:label="Layer 1"
  85.108 +     inkscape:groupmode="layer"
  85.109 +     id="layer1">
  85.110 +    <text
  85.111 +       sodipodi:linespacing="100%"
  85.112 +       id="text12979"
  85.113 +       y="353.76575"
  85.114 +       x="326.92542"
  85.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"
  85.116 +       xml:space="preserve"><tspan
  85.117 +         y="353.76575"
  85.118 +         x="326.92542"
  85.119 +         id="tspan12981"
  85.120 +         sodipodi:role="line"
  85.121 +         style="text-align:center;text-anchor:middle">Master</tspan><tspan
  85.122 +         y="362.20053"
  85.123 +         x="326.92542"
  85.124 +         sodipodi:role="line"
  85.125 +         id="tspan3291"
  85.126 +         style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan
  85.127 +         y="370.20053"
  85.128 +         x="326.92542"
  85.129 +         sodipodi:role="line"
  85.130 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.131 +         id="tspan8409">on core 1</tspan></text>
  85.132 +    <g
  85.133 +       id="g9336"
  85.134 +       transform="translate(44.002789,-48)">
  85.135 +      <rect
  85.136 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  85.137 +         id="rect3293"
  85.138 +         width="65.276405"
  85.139 +         height="37.165791"
  85.140 +         x="346.40247"
  85.141 +         y="389.58255" />
  85.142 +      <text
  85.143 +         sodipodi:linespacing="100%"
  85.144 +         id="text3295"
  85.145 +         y="400.15268"
  85.146 +         x="379.00162"
  85.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"
  85.148 +         xml:space="preserve"><tspan
  85.149 +           id="tspan3301"
  85.150 +           y="400.15268"
  85.151 +           x="379.00162"
  85.152 +           sodipodi:role="line"
  85.153 +           style="text-align:center;text-anchor:middle;fill:#008000">Seed VP</tspan><tspan
  85.154 +           y="408.58746"
  85.155 +           x="379.00162"
  85.156 +           sodipodi:role="line"
  85.157 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  85.158 +           id="tspan9389">(created at</tspan><tspan
  85.159 +           y="416.58746"
  85.160 +           x="379.00162"
  85.161 +           sodipodi:role="line"
  85.162 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  85.163 +           id="tspan9391">app startup,</tspan><tspan
  85.164 +           y="424.58746"
  85.165 +           x="379.00162"
  85.166 +           sodipodi:role="line"
  85.167 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  85.168 +           id="tspan9744">on core 1)</tspan></text>
  85.169 +    </g>
  85.170 +    <text
  85.171 +       xml:space="preserve"
  85.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"
  85.173 +       x="517.16797"
  85.174 +       y="307.42465"
  85.175 +       id="text3318-1"
  85.176 +       sodipodi:linespacing="100%"><tspan
  85.177 +         style="text-align:center;text-anchor:middle;fill:#008000"
  85.178 +         sodipodi:role="line"
  85.179 +         x="517.16797"
  85.180 +         y="307.42465"
  85.181 +         id="tspan3322-5">Application Code</tspan></text>
  85.182 +    <text
  85.183 +       sodipodi:linespacing="100%"
  85.184 +       id="text3376"
  85.185 +       y="379.42465"
  85.186 +       x="517.16797"
  85.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"
  85.188 +       xml:space="preserve"><tspan
  85.189 +         id="tspan3378"
  85.190 +         y="379.42465"
  85.191 +         x="517.16797"
  85.192 +         sodipodi:role="line"
  85.193 +         style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text>
  85.194 +    <text
  85.195 +       xml:space="preserve"
  85.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"
  85.197 +       x="517.16797"
  85.198 +       y="599.42468"
  85.199 +       id="text3380"
  85.200 +       sodipodi:linespacing="100%"><tspan
  85.201 +         style="text-align:center;text-anchor:middle;fill:#008000"
  85.202 +         sodipodi:role="line"
  85.203 +         x="517.16797"
  85.204 +         y="599.42468"
  85.205 +         id="tspan3382">Work_Fn</tspan></text>
  85.206 +    <text
  85.207 +       sodipodi:linespacing="100%"
  85.208 +       id="text3388"
  85.209 +       y="307.42465"
  85.210 +       x="604.63812"
  85.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"
  85.212 +       xml:space="preserve"><tspan
  85.213 +         id="tspan3390"
  85.214 +         y="307.42465"
  85.215 +         x="606.14203"
  85.216 +         sodipodi:role="line"
  85.217 +         style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan
  85.218 +         y="317.42465"
  85.219 +         x="604.63812"
  85.220 +         sodipodi:role="line"
  85.221 +         style="text-align:center;text-anchor:middle;fill:#800000"
  85.222 +         id="tspan5106">Wrapper-Lib</tspan><tspan
  85.223 +         y="327.42465"
  85.224 +         x="604.63812"
  85.225 +         sodipodi:role="line"
  85.226 +         style="text-align:center;text-anchor:middle;fill:#800000"
  85.227 +         id="tspan3392">Code</tspan></text>
  85.228 +    <text
  85.229 +       xml:space="preserve"
  85.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"
  85.231 +       x="669.16797"
  85.232 +       y="307.42465"
  85.233 +       id="text3394"
  85.234 +       sodipodi:linespacing="100%"><tspan
  85.235 +         style="text-align:center;text-anchor:middle;fill:#000080"
  85.236 +         sodipodi:role="line"
  85.237 +         x="669.16797"
  85.238 +         y="307.42465"
  85.239 +         id="tspan3396">Proto-Runtime</tspan><tspan
  85.240 +         style="text-align:center;text-anchor:middle;fill:#000080"
  85.241 +         sodipodi:role="line"
  85.242 +         x="669.16797"
  85.243 +         y="317.42465"
  85.244 +         id="tspan4998">Primitive</tspan><tspan
  85.245 +         id="tspan3398"
  85.246 +         style="text-align:center;text-anchor:middle;fill:#000080"
  85.247 +         sodipodi:role="line"
  85.248 +         x="669.16797"
  85.249 +         y="327.42465">Code</tspan></text>
  85.250 +    <text
  85.251 +       xml:space="preserve"
  85.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"
  85.253 +       x="137.31689"
  85.254 +       y="411.42465"
  85.255 +       id="text3412"
  85.256 +       sodipodi:linespacing="100%"><tspan
  85.257 +         style="text-align:center;text-anchor:middle;fill:#800000"
  85.258 +         sodipodi:role="line"
  85.259 +         x="137.31689"
  85.260 +         y="411.42465"
  85.261 +         id="tspan3414">Lang Handler</tspan><tspan
  85.262 +         style="text-align:center;text-anchor:middle;fill:#800000"
  85.263 +         sodipodi:role="line"
  85.264 +         x="137.31689"
  85.265 +         y="421.42465"
  85.266 +         id="tspan3422">for create VP</tspan></text>
  85.267 +    <text
  85.268 +       xml:space="preserve"
  85.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"
  85.270 +       x="137.68066"
  85.271 +       y="459.42468"
  85.272 +       id="text3444"
  85.273 +       sodipodi:linespacing="100%"><tspan
  85.274 +         style="text-align:center;text-anchor:middle;fill:#800000"
  85.275 +         sodipodi:role="line"
  85.276 +         x="137.68066"
  85.277 +         y="459.42468"
  85.278 +         id="tspan3450">Assigner Fn</tspan></text>
  85.279 +    <text
  85.280 +       xml:space="preserve"
  85.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"
  85.282 +       x="327.16797"
  85.283 +       y="309.42465"
  85.284 +       id="text3456"
  85.285 +       sodipodi:linespacing="100%"><tspan
  85.286 +         style="text-align:center;text-anchor:middle"
  85.287 +         sodipodi:role="line"
  85.288 +         x="328.67188"
  85.289 +         y="309.42465"
  85.290 +         id="tspan3458">Instances of </tspan><tspan
  85.291 +         style="text-align:center;text-anchor:middle"
  85.292 +         sodipodi:role="line"
  85.293 +         x="327.16797"
  85.294 +         y="319.42465"
  85.295 +         id="tspan8405">runtime system</tspan><tspan
  85.296 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.297 +         sodipodi:role="line"
  85.298 +         x="327.16797"
  85.299 +         y="327.85944"
  85.300 +         id="tspan9383">(data structs</tspan><tspan
  85.301 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.302 +         sodipodi:role="line"
  85.303 +         x="327.16797"
  85.304 +         y="335.85944"
  85.305 +         id="tspan9385">on heap)</tspan><tspan
  85.306 +         id="tspan3460"
  85.307 +         style="text-align:center;text-anchor:middle"
  85.308 +         sodipodi:role="line"
  85.309 +         x="327.16797"
  85.310 +         y="343.85944" /></text>
  85.311 +    <text
  85.312 +       sodipodi:linespacing="100%"
  85.313 +       id="text3462"
  85.314 +       y="307.42465"
  85.315 +       x="423.16797"
  85.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"
  85.317 +       xml:space="preserve"><tspan
  85.318 +         id="tspan3464"
  85.319 +         y="307.42465"
  85.320 +         x="423.16797"
  85.321 +         sodipodi:role="line"
  85.322 +         style="text-align:center;text-anchor:middle">Instances of</tspan><tspan
  85.323 +         y="317.42465"
  85.324 +         x="423.16797"
  85.325 +         sodipodi:role="line"
  85.326 +         style="text-align:center;text-anchor:middle"
  85.327 +         id="tspan3468">Virtual Processors</tspan><tspan
  85.328 +         y="325.85944"
  85.329 +         x="423.16797"
  85.330 +         sodipodi:role="line"
  85.331 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.332 +         id="tspan3466">(data structs</tspan><tspan
  85.333 +         y="333.85944"
  85.334 +         x="423.16797"
  85.335 +         sodipodi:role="line"
  85.336 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.337 +         id="tspan9387">on heap)</tspan></text>
  85.338 +    <path
  85.339 +       inkscape:connector-curvature="0"
  85.340 +       id="path4796"
  85.341 +       d="m 457.32649,376.02605 c 38.42351,0 38.42351,0 38.42351,0"
  85.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)" />
  85.343 +    <text
  85.344 +       xml:space="preserve"
  85.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"
  85.346 +       x="604.78461"
  85.347 +       y="373.42465"
  85.348 +       id="text4988"
  85.349 +       sodipodi:linespacing="100%"><tspan
  85.350 +         style="text-align:center;text-anchor:middle;fill:#800000"
  85.351 +         sodipodi:role="line"
  85.352 +         x="604.78461"
  85.353 +         y="373.42465"
  85.354 +         id="tspan4990">create VP</tspan><tspan
  85.355 +         style="text-align:center;text-anchor:middle;fill:#800000"
  85.356 +         sodipodi:role="line"
  85.357 +         x="604.78461"
  85.358 +         y="383.42465"
  85.359 +         id="tspan5104">wrapper Fn</tspan></text>
  85.360 +    <text
  85.361 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  85.362 +       xml:space="preserve"
  85.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"
  85.364 +       x="638.25385"
  85.365 +       y="404.96878"
  85.366 +       id="text5064"
  85.367 +       sodipodi:linespacing="100%"><tspan
  85.368 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.369 +         sodipodi:role="line"
  85.370 +         x="638.25385"
  85.371 +         y="404.96878"
  85.372 +         id="tspan5066">Call to dyn lib</tspan></text>
  85.373 +    <path
  85.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)"
  85.375 +       d="m 291.99816,376.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
  85.376 +       id="path5068"
  85.377 +       inkscape:connector-curvature="0" />
  85.378 +    <text
  85.379 +       sodipodi:linespacing="100%"
  85.380 +       id="text5070"
  85.381 +       y="415.78891"
  85.382 +       x="180.73463"
  85.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"
  85.384 +       xml:space="preserve"
  85.385 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  85.386 +         id="tspan5072"
  85.387 +         y="415.78891"
  85.388 +         x="180.73463"
  85.389 +         sodipodi:role="line"
  85.390 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
  85.391 +    <text
  85.392 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
  85.393 +       xml:space="preserve"
  85.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"
  85.395 +       x="400.64069"
  85.396 +       y="458.46729"
  85.397 +       id="text5074"
  85.398 +       sodipodi:linespacing="100%"><tspan
  85.399 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.400 +         sodipodi:role="line"
  85.401 +         x="400.64069"
  85.402 +         y="458.46729"
  85.403 +         id="tspan5076">Top Level Fn</tspan></text>
  85.404 +    <text
  85.405 +       sodipodi:linespacing="100%"
  85.406 +       id="text5078"
  85.407 +       y="674.45374"
  85.408 +       x="358.75928"
  85.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"
  85.410 +       xml:space="preserve"
  85.411 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  85.412 +         id="tspan5080"
  85.413 +         y="674.45374"
  85.414 +         x="358.75928"
  85.415 +         sodipodi:role="line"
  85.416 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
  85.417 +    <path
  85.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)"
  85.419 +       d="m 458.9835,596.02605 c 36.7665,0 36.7665,0 36.7665,0"
  85.420 +       id="path5082"
  85.421 +       inkscape:connector-curvature="0" />
  85.422 +    <path
  85.423 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  85.424 +       d="m 514.02904,382.01894 c 0,5.6572 0,5.6572 0,5.6572"
  85.425 +       id="path5092"
  85.426 +       inkscape:connector-curvature="0"
  85.427 +       sodipodi:nodetypes="cc" />
  85.428 +    <path
  85.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)"
  85.430 +       d="m 514.24714,388.02605 c 85.56237,0 85.56237,0 85.56237,0"
  85.431 +       id="path5094"
  85.432 +       inkscape:connector-curvature="0" />
  85.433 +    <path
  85.434 +       inkscape:connector-curvature="0"
  85.435 +       id="path5096"
  85.436 +       d="m 602.77166,496.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
  85.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)" />
  85.438 +    <path
  85.439 +       sodipodi:nodetypes="cc"
  85.440 +       inkscape:connector-curvature="0"
  85.441 +       id="path5140"
  85.442 +       d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842"
  85.443 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  85.444 +    <path
  85.445 +       inkscape:connector-curvature="0"
  85.446 +       id="path5142"
  85.447 +       d="m 514.2471,522.02605 c 87.58783,0 87.58783,0 87.58783,0"
  85.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)" />
  85.449 +    <text
  85.450 +       sodipodi:linespacing="100%"
  85.451 +       id="text5157"
  85.452 +       y="508.71182"
  85.453 +       x="604.78461"
  85.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"
  85.455 +       xml:space="preserve"><tspan
  85.456 +         id="tspan5161"
  85.457 +         y="508.71182"
  85.458 +         x="604.78461"
  85.459 +         sodipodi:role="line"
  85.460 +         style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan
  85.461 +         y="518.71179"
  85.462 +         x="604.78461"
  85.463 +         sodipodi:role="line"
  85.464 +         style="text-align:center;text-anchor:middle;fill:#800000"
  85.465 +         id="tspan5207">wrapper Fn</tspan></text>
  85.466 +    <path
  85.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)"
  85.468 +       d="m 602.26584,528.02605 c 63.99676,0 63.99676,0 63.99676,0"
  85.469 +       id="path5165"
  85.470 +       inkscape:connector-curvature="0" />
  85.471 +    <path
  85.472 +       sodipodi:nodetypes="cc"
  85.473 +       inkscape:connector-curvature="0"
  85.474 +       id="path5179"
  85.475 +       d="m 514.02904,602.01895 c 0,5.6572 0,5.6572 0,5.6572"
  85.476 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  85.477 +    <path
  85.478 +       sodipodi:nodetypes="cc"
  85.479 +       inkscape:connector-curvature="0"
  85.480 +       id="path5209"
  85.481 +       d="m 602.02904,520.31985 c 0,7.35629 0,7.35629 0,7.35629"
  85.482 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  85.483 +    <text
  85.484 +       xml:space="preserve"
  85.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"
  85.486 +       x="497.16797"
  85.487 +       y="399.42468"
  85.488 +       id="text5211"
  85.489 +       sodipodi:linespacing="100%"><tspan
  85.490 +         style="text-align:center;text-anchor:middle"
  85.491 +         sodipodi:role="line"
  85.492 +         x="497.16797"
  85.493 +         y="399.42468"
  85.494 +         id="tspan5215" /></text>
  85.495 +    <path
  85.496 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  85.497 +       d="m 602.02904,388.21843 c 0,19.4577 0,19.4577 0,19.4577"
  85.498 +       id="path5217"
  85.499 +       inkscape:connector-curvature="0"
  85.500 +       sodipodi:nodetypes="cc" />
  85.501 +    <path
  85.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)"
  85.503 +       d="m 602.24714,408.02605 c 64.71029,0 64.71029,0 64.71029,0"
  85.504 +       id="path5219"
  85.505 +       inkscape:connector-curvature="0" />
  85.506 +    <path
  85.507 +       inkscape:connector-curvature="0"
  85.508 +       id="path5221"
  85.509 +       d="m 666.85635,492.02605 c -65.78483,0 -65.78483,0 -65.78483,0"
  85.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)" />
  85.511 +    <path
  85.512 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  85.513 +       d="m 668.02904,406.63925 c 0,13.68455 0,13.68455 0,13.68455"
  85.514 +       id="path5223"
  85.515 +       inkscape:connector-curvature="0"
  85.516 +       sodipodi:nodetypes="cc" />
  85.517 +    <path
  85.518 +       sodipodi:nodetypes="cc"
  85.519 +       inkscape:connector-curvature="0"
  85.520 +       id="path5229"
  85.521 +       d="m 602.02904,491.22687 c 0,5.5885 0,5.5885 0,5.5885"
  85.522 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  85.523 +    <path
  85.524 +       sodipodi:nodetypes="cc"
  85.525 +       inkscape:connector-curvature="0"
  85.526 +       id="path5235"
  85.527 +       d="m 668.02904,478.63925 c 0,13.68455 0,13.68455 0,13.68455"
  85.528 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  85.529 +    <text
  85.530 +       sodipodi:linespacing="100%"
  85.531 +       id="text5239"
  85.532 +       y="770.82495"
  85.533 +       x="188.36783"
  85.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"
  85.535 +       xml:space="preserve"
  85.536 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  85.537 +         id="tspan5241"
  85.538 +         y="770.82495"
  85.539 +         x="188.36783"
  85.540 +         sodipodi:role="line"
  85.541 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  85.542 +         y="778.82495"
  85.543 +         x="188.36783"
  85.544 +         sodipodi:role="line"
  85.545 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.546 +         id="tspan5243">and switch</tspan><tspan
  85.547 +         y="786.82495"
  85.548 +         x="188.36783"
  85.549 +         sodipodi:role="line"
  85.550 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.551 +         id="tspan5245">to runtime</tspan></text>
  85.552 +    <path
  85.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)"
  85.554 +       d="m 271.03421,480.02605 c 193.92439,0 193.92439,0 193.92439,0"
  85.555 +       id="path5247"
  85.556 +       inkscape:connector-curvature="0" />
  85.557 +    <text
  85.558 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  85.559 +       xml:space="preserve"
  85.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"
  85.561 +       x="157.7636"
  85.562 +       y="802.43799"
  85.563 +       id="text5249"
  85.564 +       sodipodi:linespacing="100%"><tspan
  85.565 +         id="tspan5255"
  85.566 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.567 +         sodipodi:role="line"
  85.568 +         x="157.7636"
  85.569 +         y="802.43799">return</tspan><tspan
  85.570 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.571 +         sodipodi:role="line"
  85.572 +         x="157.7636"
  85.573 +         y="810.43799"
  85.574 +         id="tspan5261">from</tspan><tspan
  85.575 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.576 +         sodipodi:role="line"
  85.577 +         x="157.7636"
  85.578 +         y="818.43799"
  85.579 +         id="tspan5263">suspend</tspan></text>
  85.580 +    <text
  85.581 +       sodipodi:linespacing="100%"
  85.582 +       id="text5345"
  85.583 +       y="395.42465"
  85.584 +       x="667.38037"
  85.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"
  85.586 +       xml:space="preserve"><tspan
  85.587 +         id="tspan5349"
  85.588 +         y="395.42465"
  85.589 +         x="667.38037"
  85.590 +         sodipodi:role="line"
  85.591 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
  85.592 +         y="405.42465"
  85.593 +         x="667.38037"
  85.594 +         sodipodi:role="line"
  85.595 +         style="text-align:center;text-anchor:middle;fill:#000080"
  85.596 +         id="tspan5353">to send request</tspan></text>
  85.597 +    <text
  85.598 +       sodipodi:linespacing="100%"
  85.599 +       id="text5355"
  85.600 +       y="392.71429"
  85.601 +       x="555.29077"
  85.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"
  85.603 +       xml:space="preserve"
  85.604 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  85.605 +         id="tspan5357"
  85.606 +         y="392.71429"
  85.607 +         x="555.29077"
  85.608 +         sodipodi:role="line"
  85.609 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
  85.610 +    <path
  85.611 +       sodipodi:nodetypes="cc"
  85.612 +       inkscape:connector-curvature="0"
  85.613 +       id="path5359"
  85.614 +       d="m 668.02904,527.28283 c 0,13.68455 0,13.68455 0,13.68455"
  85.615 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  85.616 +    <text
  85.617 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  85.618 +       xml:space="preserve"
  85.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"
  85.620 +       x="107.72998"
  85.621 +       y="856.99628"
  85.622 +       id="text5363"
  85.623 +       sodipodi:linespacing="100%"><tspan
  85.624 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.625 +         sodipodi:role="line"
  85.626 +         x="107.72998"
  85.627 +         y="856.99628"
  85.628 +         id="tspan5365">suspend</tspan><tspan
  85.629 +         id="tspan5367"
  85.630 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.631 +         sodipodi:role="line"
  85.632 +         x="107.72998"
  85.633 +         y="864.99628">and switch</tspan><tspan
  85.634 +         id="tspan5369"
  85.635 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.636 +         sodipodi:role="line"
  85.637 +         x="107.72998"
  85.638 +         y="872.99628">to runtime</tspan></text>
  85.639 +    <text
  85.640 +       sodipodi:linespacing="100%"
  85.641 +       id="text5371"
  85.642 +       y="593.42468"
  85.643 +       x="604.59662"
  85.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"
  85.645 +       xml:space="preserve"><tspan
  85.646 +         id="tspan5373"
  85.647 +         y="593.42468"
  85.648 +         x="604.59662"
  85.649 +         sodipodi:role="line"
  85.650 +         style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan
  85.651 +         id="tspan5375"
  85.652 +         y="603.42468"
  85.653 +         x="604.59662"
  85.654 +         sodipodi:role="line"
  85.655 +         style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text>
  85.656 +    <path
  85.657 +       inkscape:connector-curvature="0"
  85.658 +       id="path5379"
  85.659 +       d="m 514.24714,608.02605 c 85.56237,0 85.56237,0 85.56237,0"
  85.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)" />
  85.661 +    <path
  85.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)"
  85.663 +       d="m 602.77166,708.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
  85.664 +       id="path5381"
  85.665 +       inkscape:connector-curvature="0" />
  85.666 +    <text
  85.667 +       xml:space="preserve"
  85.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"
  85.669 +       x="604.78461"
  85.670 +       y="720.71179"
  85.671 +       id="text5387"
  85.672 +       sodipodi:linespacing="100%"><tspan
  85.673 +         style="text-align:center;text-anchor:middle;fill:#800000"
  85.674 +         sodipodi:role="line"
  85.675 +         x="604.78461"
  85.676 +         y="720.71179"
  85.677 +         id="tspan5389">end VP</tspan><tspan
  85.678 +         id="tspan5391"
  85.679 +         style="text-align:center;text-anchor:middle;fill:#800000"
  85.680 +         sodipodi:role="line"
  85.681 +         x="604.78461"
  85.682 +         y="730.71179">wrapper Fn</tspan></text>
  85.683 +    <path
  85.684 +       inkscape:connector-curvature="0"
  85.685 +       id="path5393"
  85.686 +       d="m 602.289,740.02605 c 65.24023,0 65.24023,0 65.24023,0"
  85.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)" />
  85.688 +    <path
  85.689 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  85.690 +       d="m 602.02904,732.31985 c 0,7.35629 0,7.35629 0,7.35629"
  85.691 +       id="path5401"
  85.692 +       inkscape:connector-curvature="0"
  85.693 +       sodipodi:nodetypes="cc" />
  85.694 +    <path
  85.695 +       sodipodi:nodetypes="cc"
  85.696 +       inkscape:connector-curvature="0"
  85.697 +       id="path5403"
  85.698 +       d="m 602.02904,608.21843 c 0,19.4577 0,19.4577 0,19.4577"
  85.699 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  85.700 +    <path
  85.701 +       inkscape:connector-curvature="0"
  85.702 +       id="path5405"
  85.703 +       d="m 602.6148,628.02605 c 64.1779,0 64.1779,0 64.1779,0"
  85.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)" />
  85.705 +    <path
  85.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)"
  85.707 +       d="m 668.13452,704.02605 c -67.06305,0 -67.06305,0 -67.06305,0"
  85.708 +       id="path5407"
  85.709 +       inkscape:connector-curvature="0" />
  85.710 +    <path
  85.711 +       sodipodi:nodetypes="cc"
  85.712 +       inkscape:connector-curvature="0"
  85.713 +       id="path5409"
  85.714 +       d="m 668.02904,626.63925 c 0,13.68455 0,13.68455 0,13.68455"
  85.715 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  85.716 +    <path
  85.717 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  85.718 +       d="m 602.02904,703.22687 c 0,5.5885 0,5.5885 0,5.5885"
  85.719 +       id="path5411"
  85.720 +       inkscape:connector-curvature="0"
  85.721 +       sodipodi:nodetypes="cc" />
  85.722 +    <path
  85.723 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  85.724 +       d="m 668.02904,690.63925 c 0,13.68455 0,13.68455 0,13.68455"
  85.725 +       id="path5417"
  85.726 +       inkscape:connector-curvature="0"
  85.727 +       sodipodi:nodetypes="cc" />
  85.728 +    <text
  85.729 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  85.730 +       xml:space="preserve"
  85.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"
  85.732 +       x="38.175541"
  85.733 +       y="928.84552"
  85.734 +       id="text5421"
  85.735 +       sodipodi:linespacing="100%"><tspan
  85.736 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.737 +         sodipodi:role="line"
  85.738 +         x="38.175541"
  85.739 +         y="928.84552"
  85.740 +         id="tspan5423">suspend</tspan><tspan
  85.741 +         id="tspan5425"
  85.742 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.743 +         sodipodi:role="line"
  85.744 +         x="38.175541"
  85.745 +         y="936.84552">and switch</tspan><tspan
  85.746 +         id="tspan5427"
  85.747 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.748 +         sodipodi:role="line"
  85.749 +         x="38.175541"
  85.750 +         y="944.84552">to runtime</tspan></text>
  85.751 +    <text
  85.752 +       sodipodi:linespacing="100%"
  85.753 +       id="text5431"
  85.754 +       y="954.75671"
  85.755 +       x="10.307833"
  85.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"
  85.757 +       xml:space="preserve"
  85.758 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  85.759 +         y="954.75671"
  85.760 +         x="10.307833"
  85.761 +         sodipodi:role="line"
  85.762 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.763 +         id="tspan5433">return</tspan><tspan
  85.764 +         id="tspan5435"
  85.765 +         y="962.75671"
  85.766 +         x="10.307833"
  85.767 +         sodipodi:role="line"
  85.768 +         style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan
  85.769 +         id="tspan5437"
  85.770 +         y="970.75671"
  85.771 +         x="10.307833"
  85.772 +         sodipodi:role="line"
  85.773 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
  85.774 +    <text
  85.775 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  85.776 +       xml:space="preserve"
  85.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"
  85.778 +       x="556.25635"
  85.779 +       y="612.71143"
  85.780 +       id="text5445"
  85.781 +       sodipodi:linespacing="100%"><tspan
  85.782 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.783 +         sodipodi:role="line"
  85.784 +         x="556.25635"
  85.785 +         y="612.71143"
  85.786 +         id="tspan5447">normal call</tspan></text>
  85.787 +    <path
  85.788 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  85.789 +       d="m 668.02904,739.28283 c 0,13.68455 0,13.68455 0,13.68455"
  85.790 +       id="path5449"
  85.791 +       inkscape:connector-curvature="0"
  85.792 +       sodipodi:nodetypes="cc" />
  85.793 +    <text
  85.794 +       sodipodi:linespacing="100%"
  85.795 +       id="text5453"
  85.796 +       y="1012.1439"
  85.797 +       x="-39.679813"
  85.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"
  85.799 +       xml:space="preserve"
  85.800 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  85.801 +         id="tspan5455"
  85.802 +         y="1012.1439"
  85.803 +         x="-39.679813"
  85.804 +         sodipodi:role="line"
  85.805 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  85.806 +         y="1020.1439"
  85.807 +         x="-39.679813"
  85.808 +         sodipodi:role="line"
  85.809 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.810 +         id="tspan5457">and switch</tspan><tspan
  85.811 +         y="1028.144"
  85.812 +         x="-39.679813"
  85.813 +         sodipodi:role="line"
  85.814 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.815 +         id="tspan5459">to runtime</tspan></text>
  85.816 +    <path
  85.817 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  85.818 +       d="m 514.02904,708.31987 c 0,26.21842 0,26.21842 0,26.21842"
  85.819 +       id="path5461"
  85.820 +       inkscape:connector-curvature="0"
  85.821 +       sodipodi:nodetypes="cc" />
  85.822 +    <path
  85.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)"
  85.824 +       d="m 514.2471,734.02605 c 87.58783,0 87.58783,0 87.58783,0"
  85.825 +       id="path5463"
  85.826 +       inkscape:connector-curvature="0" />
  85.827 +    <text
  85.828 +       sodipodi:linespacing="100%"
  85.829 +       id="text5465"
  85.830 +       y="526.71161"
  85.831 +       x="555.8786"
  85.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"
  85.833 +       xml:space="preserve"
  85.834 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  85.835 +         id="tspan5467"
  85.836 +         y="526.71161"
  85.837 +         x="555.8786"
  85.838 +         sodipodi:role="line"
  85.839 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
  85.840 +    <text
  85.841 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  85.842 +       xml:space="preserve"
  85.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"
  85.844 +       x="556.80994"
  85.845 +       y="738.711"
  85.846 +       id="text5469"
  85.847 +       sodipodi:linespacing="100%"><tspan
  85.848 +         style="font-size:8px;text-align:center;text-anchor:middle"
  85.849 +         sodipodi:role="line"
  85.850 +         x="556.80994"
  85.851 +         y="738.711"
  85.852 +         id="tspan5471">normal call</tspan></text>
  85.853 +    <g
  85.854 +       transform="matrix(1,0,0,0.71130685,-16,120.52913)"
  85.855 +       id="g8395">
  85.856 +      <rect
  85.857 +         y="313.58255"
  85.858 +         x="310.40247"
  85.859 +         height="52.250008"
  85.860 +         width="65.276405"
  85.861 +         id="rect8397"
  85.862 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  85.863 +    </g>
  85.864 +    <path
  85.865 +       sodipodi:nodetypes="cc"
  85.866 +       inkscape:connector-curvature="0"
  85.867 +       id="path9273"
  85.868 +       d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842"
  85.869 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  85.870 +    <path
  85.871 +       sodipodi:nodetypes="cc"
  85.872 +       inkscape:connector-curvature="0"
  85.873 +       id="path9275"
  85.874 +       d="m 476.02904,382.79398 c 0,35.61575 0,35.61575 0,35.61575"
  85.875 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
  85.876 +    <path
  85.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"
  85.878 +       d="m 468.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0"
  85.879 +       id="path9277"
  85.880 +       inkscape:connector-curvature="0" />
  85.881 +    <path
  85.882 +       inkscape:connector-curvature="0"
  85.883 +       id="path9279"
  85.884 +       d="m 481.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
  85.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" />
  85.886 +    <path
  85.887 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  85.888 +       d="m 476.02904,480.3113 c 0,57.40944 0,57.40944 0,57.40944"
  85.889 +       id="path9281"
  85.890 +       inkscape:connector-curvature="0"
  85.891 +       sodipodi:nodetypes="cc" />
  85.892 +    <path
  85.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"
  85.894 +       d="m 481.57781,539.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
  85.895 +       id="path9283"
  85.896 +       inkscape:connector-curvature="0" />
  85.897 +    <text
  85.898 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"
  85.899 +       xml:space="preserve"
  85.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"
  85.901 +       x="453.93332"
  85.902 +       y="-466.39136"
  85.903 +       id="text9285"
  85.904 +       sodipodi:linespacing="100%"><tspan
  85.905 +         style="text-align:center;text-anchor:middle;fill:#008000"
  85.906 +         sodipodi:role="line"
  85.907 +         x="453.93332"
  85.908 +         y="-466.39136"
  85.909 +         id="tspan9287">Timeline of SeedVP</tspan></text>
  85.910 +    <text
  85.911 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  85.912 +       xml:space="preserve"
  85.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"
  85.914 +       x="485.39722"
  85.915 +       y="417.02103"
  85.916 +       id="text9289"
  85.917 +       sodipodi:linespacing="100%"><tspan
  85.918 +         style="font-size:8px;text-align:start;text-anchor:start"
  85.919 +         sodipodi:role="line"
  85.920 +         x="485.39722"
  85.921 +         y="417.02103"
  85.922 +         id="tspan9291">suspend</tspan></text>
  85.923 +    <text
  85.924 +       sodipodi:linespacing="100%"
  85.925 +       id="text9293"
  85.926 +       y="481.02048"
  85.927 +       x="485.67838"
  85.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"
  85.929 +       xml:space="preserve"
  85.930 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  85.931 +         id="tspan9295"
  85.932 +         y="481.02048"
  85.933 +         x="485.67838"
  85.934 +         sodipodi:role="line"
  85.935 +         style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text>
  85.936 +    <text
  85.937 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  85.938 +       xml:space="preserve"
  85.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"
  85.940 +       x="485.92978"
  85.941 +       y="538.22565"
  85.942 +       id="text9297"
  85.943 +       sodipodi:linespacing="100%"><tspan
  85.944 +         style="font-size:8px;text-align:start;text-anchor:start"
  85.945 +         sodipodi:role="line"
  85.946 +         x="485.92978"
  85.947 +         y="538.22565"
  85.948 +         id="tspan9299">end</tspan></text>
  85.949 +    <text
  85.950 +       sodipodi:linespacing="100%"
  85.951 +       id="text9301"
  85.952 +       y="307.42465"
  85.953 +       x="63.167969"
  85.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"
  85.955 +       xml:space="preserve"><tspan
  85.956 +         id="tspan9303"
  85.957 +         y="307.42465"
  85.958 +         x="63.167969"
  85.959 +         sodipodi:role="line"
  85.960 +         style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan
  85.961 +         id="tspan9305"
  85.962 +         y="317.42465"
  85.963 +         x="63.167969"
  85.964 +         sodipodi:role="line"
  85.965 +         style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan
  85.966 +         y="327.42465"
  85.967 +         x="63.167969"
  85.968 +         sodipodi:role="line"
  85.969 +         style="text-align:center;text-anchor:middle;fill:#000080"
  85.970 +         id="tspan9307">Code</tspan></text>
  85.971 +    <text
  85.972 +       xml:space="preserve"
  85.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"
  85.974 +       x="65.380371"
  85.975 +       y="423.42465"
  85.976 +       id="text9309"
  85.977 +       sodipodi:linespacing="100%"><tspan
  85.978 +         id="tspan9313"
  85.979 +         style="text-align:center;text-anchor:middle;fill:#000080"
  85.980 +         sodipodi:role="line"
  85.981 +         x="65.380371"
  85.982 +         y="423.42465">PR primitive Fn</tspan><tspan
  85.983 +         style="text-align:center;text-anchor:middle;fill:#000080"
  85.984 +         sodipodi:role="line"
  85.985 +         x="65.380371"
  85.986 +         y="433.42465"
  85.987 +         id="tspan9317">to create VP</tspan></text>
  85.988 +    <path
  85.989 +       inkscape:connector-curvature="0"
  85.990 +       id="path9321"
  85.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"
  85.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)"
  85.993 +       sodipodi:nodetypes="csc" />
  85.994 +    <g
  85.995 +       id="g9341"
  85.996 +       transform="translate(44.002789,174)">
  85.997 +      <rect
  85.998 +         y="389.58255"
  85.999 +         x="346.40247"
 85.1000 +         height="37.165791"
 85.1001 +         width="65.276405"
 85.1002 +         id="rect9343"
 85.1003 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
 85.1004 +      <text
 85.1005 +         xml:space="preserve"
 85.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"
 85.1007 +         x="379.35806"
 85.1008 +         y="400.72159"
 85.1009 +         id="text9345"
 85.1010 +         sodipodi:linespacing="100%"><tspan
 85.1011 +           style="text-align:center;text-anchor:middle;fill:#008000"
 85.1012 +           sodipodi:role="line"
 85.1013 +           x="379.35806"
 85.1014 +           y="400.72159"
 85.1015 +           id="tspan9347">VP 1</tspan><tspan
 85.1016 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
 85.1017 +           sodipodi:role="line"
 85.1018 +           x="379.35806"
 85.1019 +           y="409.15637"
 85.1020 +           id="tspan9349">(created by</tspan><tspan
 85.1021 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
 85.1022 +           sodipodi:role="line"
 85.1023 +           x="379.35806"
 85.1024 +           y="417.15637"
 85.1025 +           id="tspan9355">application,</tspan><tspan
 85.1026 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
 85.1027 +           sodipodi:role="line"
 85.1028 +           x="379.35806"
 85.1029 +           y="425.15637"
 85.1030 +           id="tspan9746">on core 2)</tspan></text>
 85.1031 +    </g>
 85.1032 +    <g
 85.1033 +       transform="translate(44.002789,370)"
 85.1034 +       id="g9371" />
 85.1035 +    <text
 85.1036 +       xml:space="preserve"
 85.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"
 85.1038 +       x="202.41257"
 85.1039 +       y="379.42465"
 85.1040 +       id="text9512"
 85.1041 +       sodipodi:linespacing="100%"><tspan
 85.1042 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1043 +         sodipodi:role="line"
 85.1044 +         x="202.41257"
 85.1045 +         y="379.42465"
 85.1046 +         id="tspan9514">Master Fn</tspan></text>
 85.1047 +    <path
 85.1048 +       sodipodi:nodetypes="cc"
 85.1049 +       inkscape:connector-curvature="0"
 85.1050 +       id="path9522"
 85.1051 +       d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.1052 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 85.1053 +    <path
 85.1054 +       inkscape:connector-curvature="0"
 85.1055 +       id="path9524"
 85.1056 +       d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 85.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)" />
 85.1058 +    <path
 85.1059 +       sodipodi:nodetypes="cc"
 85.1060 +       inkscape:connector-curvature="0"
 85.1061 +       id="path9548"
 85.1062 +       d="m 137.27805,423.85824 c 0,11.43122 0,11.43122 0,11.43122"
 85.1063 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 85.1064 +    <path
 85.1065 +       inkscape:connector-curvature="0"
 85.1066 +       id="path9550"
 85.1067 +       d="m 137.57123,436.02605 c -69.22157,0 -69.22157,0 -69.22157,0"
 85.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)" />
 85.1069 +    <path
 85.1070 +       sodipodi:nodetypes="cc"
 85.1071 +       inkscape:connector-curvature="0"
 85.1072 +       id="path9554"
 85.1073 +       d="m 205.27805,474.63925 c 0,4.54718 0,4.54718 0,4.54718"
 85.1074 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 85.1075 +    <text
 85.1076 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 85.1077 +       xml:space="preserve"
 85.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"
 85.1079 +       x="-187.67645"
 85.1080 +       y="493.07611"
 85.1081 +       id="text9566"
 85.1082 +       sodipodi:linespacing="100%"><tspan
 85.1083 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1084 +         sodipodi:role="line"
 85.1085 +         x="-187.67645"
 85.1086 +         y="493.07611"
 85.1087 +         id="tspan9568">suspend</tspan><tspan
 85.1088 +         id="tspan9570"
 85.1089 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1090 +         sodipodi:role="line"
 85.1091 +         x="-187.67645"
 85.1092 +         y="501.07611">and switch</tspan><tspan
 85.1093 +         id="tspan9572"
 85.1094 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1095 +         sodipodi:role="line"
 85.1096 +         x="-187.67645"
 85.1097 +         y="509.07611">to app VP</tspan></text>
 85.1098 +    <path
 85.1099 +       sodipodi:nodetypes="cc"
 85.1100 +       inkscape:connector-curvature="0"
 85.1101 +       id="path9614"
 85.1102 +       d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.1103 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 85.1104 +    <path
 85.1105 +       sodipodi:nodetypes="cc"
 85.1106 +       inkscape:connector-curvature="0"
 85.1107 +       id="path9616"
 85.1108 +       d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.1109 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 85.1110 +    <path
 85.1111 +       inkscape:connector-curvature="0"
 85.1112 +       id="path9648"
 85.1113 +       d="m 468.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0"
 85.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" />
 85.1115 +    <text
 85.1116 +       sodipodi:linespacing="100%"
 85.1117 +       id="text9654"
 85.1118 +       y="385.02261"
 85.1119 +       x="485.25659"
 85.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"
 85.1121 +       xml:space="preserve"
 85.1122 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 85.1123 +         id="tspan9656"
 85.1124 +         y="385.02261"
 85.1125 +         x="485.25659"
 85.1126 +         sodipodi:role="line"
 85.1127 +         style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text>
 85.1128 +    <path
 85.1129 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
 85.1130 +       d="m 476.02904,602.79398 c 0,35.61575 0,35.61575 0,35.61575"
 85.1131 +       id="path9658"
 85.1132 +       inkscape:connector-curvature="0"
 85.1133 +       sodipodi:nodetypes="cc" />
 85.1134 +    <path
 85.1135 +       inkscape:connector-curvature="0"
 85.1136 +       id="path9660"
 85.1137 +       d="m 468.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0"
 85.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" />
 85.1139 +    <path
 85.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"
 85.1141 +       d="m 481.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 85.1142 +       id="path9662"
 85.1143 +       inkscape:connector-curvature="0" />
 85.1144 +    <text
 85.1145 +       sodipodi:linespacing="100%"
 85.1146 +       id="text9668"
 85.1147 +       y="-464.48126"
 85.1148 +       x="672.00745"
 85.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"
 85.1150 +       xml:space="preserve"
 85.1151 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan
 85.1152 +         y="-464.48126"
 85.1153 +         x="672.00745"
 85.1154 +         sodipodi:role="line"
 85.1155 +         style="text-align:center;text-anchor:middle;fill:#008000"
 85.1156 +         id="tspan9740">Timeline of VP 1</tspan></text>
 85.1157 +    <text
 85.1158 +       sodipodi:linespacing="100%"
 85.1159 +       id="text9672"
 85.1160 +       y="637.01904"
 85.1161 +       x="486.36292"
 85.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"
 85.1163 +       xml:space="preserve"
 85.1164 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 85.1165 +         id="tspan9674"
 85.1166 +         y="637.01904"
 85.1167 +         x="486.36292"
 85.1168 +         sodipodi:role="line"
 85.1169 +         style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text>
 85.1170 +    <text
 85.1171 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 85.1172 +       xml:space="preserve"
 85.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"
 85.1174 +       x="486.6088"
 85.1175 +       y="693.01855"
 85.1176 +       id="text9676"
 85.1177 +       sodipodi:linespacing="100%"><tspan
 85.1178 +         style="font-size:8px;text-align:start;text-anchor:start"
 85.1179 +         sodipodi:role="line"
 85.1180 +         x="486.6088"
 85.1181 +         y="693.01855"
 85.1182 +         id="tspan9678">resume</tspan></text>
 85.1183 +    <path
 85.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"
 85.1185 +       d="m 468.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0"
 85.1186 +       id="path9684"
 85.1187 +       inkscape:connector-curvature="0" />
 85.1188 +    <text
 85.1189 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 85.1190 +       xml:space="preserve"
 85.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"
 85.1192 +       x="486.22229"
 85.1193 +       y="605.02063"
 85.1194 +       id="text9686"
 85.1195 +       sodipodi:linespacing="100%"><tspan
 85.1196 +         style="font-size:8px;text-align:start;text-anchor:start"
 85.1197 +         sodipodi:role="line"
 85.1198 +         x="486.22229"
 85.1199 +         y="605.02063"
 85.1200 +         id="tspan9688">start</tspan></text>
 85.1201 +    <path
 85.1202 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
 85.1203 +       d="m 266.02904,417.4311 c 0,61.88904 0,61.88904 0,61.88904"
 85.1204 +       id="path9690"
 85.1205 +       inkscape:connector-curvature="0"
 85.1206 +       sodipodi:nodetypes="cc" />
 85.1207 +    <path
 85.1208 +       inkscape:connector-curvature="0"
 85.1209 +       id="path9692"
 85.1210 +       d="m 258.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0"
 85.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" />
 85.1212 +    <path
 85.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"
 85.1214 +       d="m 271.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 85.1215 +       id="path9694"
 85.1216 +       inkscape:connector-curvature="0" />
 85.1217 +    <text
 85.1218 +       sodipodi:linespacing="100%"
 85.1219 +       id="text9700"
 85.1220 +       y="-276.70538"
 85.1221 +       x="463.34042"
 85.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"
 85.1223 +       xml:space="preserve"
 85.1224 +       transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"><tspan
 85.1225 +         y="-276.70538"
 85.1226 +         x="463.34042"
 85.1227 +         sodipodi:role="line"
 85.1228 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1229 +         id="tspan9736">Timeline of Master on core 1</tspan></text>
 85.1230 +    <text
 85.1231 +       sodipodi:linespacing="100%"
 85.1232 +       id="text9704"
 85.1233 +       y="480.12692"
 85.1234 +       x="261.37079"
 85.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"
 85.1236 +       xml:space="preserve"
 85.1237 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 85.1238 +         id="tspan9706"
 85.1239 +         y="480.12692"
 85.1240 +         x="261.37079"
 85.1241 +         sodipodi:role="line"
 85.1242 +         style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text>
 85.1243 +    <text
 85.1244 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 85.1245 +       xml:space="preserve"
 85.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"
 85.1247 +       x="258.65039"
 85.1248 +       y="420.12738"
 85.1249 +       id="text9708"
 85.1250 +       sodipodi:linespacing="100%"><tspan
 85.1251 +         style="font-size:8px;text-align:end;text-anchor:end"
 85.1252 +         sodipodi:role="line"
 85.1253 +         x="258.65039"
 85.1254 +         y="420.12738"
 85.1255 +         id="tspan9710">resume</tspan></text>
 85.1256 +    <path
 85.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"
 85.1258 +       d="m 258.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0"
 85.1259 +       id="path9716"
 85.1260 +       inkscape:connector-curvature="0" />
 85.1261 +    <text
 85.1262 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 85.1263 +       xml:space="preserve"
 85.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"
 85.1265 +       x="257.70789"
 85.1266 +       y="386.09387"
 85.1267 +       id="text9718"
 85.1268 +       sodipodi:linespacing="100%"><tspan
 85.1269 +         style="font-size:8px;text-align:end;text-anchor:end"
 85.1270 +         sodipodi:role="line"
 85.1271 +         x="257.70789"
 85.1272 +         y="386.09387"
 85.1273 +         id="tspan9720">start</tspan></text>
 85.1274 +    <path
 85.1275 +       sodipodi:nodetypes="cc"
 85.1276 +       inkscape:connector-curvature="0"
 85.1277 +       id="path9722"
 85.1278 +       d="m 266.02904,537.43112 c 0,10.33165 0,10.33165 0,10.33165"
 85.1279 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
 85.1280 +    <path
 85.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"
 85.1282 +       d="m 258.24715,538.02605 c 13.34137,0 13.34137,0 13.34137,0"
 85.1283 +       id="path9724"
 85.1284 +       inkscape:connector-curvature="0" />
 85.1285 +    <text
 85.1286 +       sodipodi:linespacing="100%"
 85.1287 +       id="text9936"
 85.1288 +       y="624.93951"
 85.1289 +       x="641.89471"
 85.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"
 85.1291 +       xml:space="preserve"
 85.1292 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 85.1293 +         id="tspan9938"
 85.1294 +         y="624.93951"
 85.1295 +         x="641.89471"
 85.1296 +         sodipodi:role="line"
 85.1297 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
 85.1298 +    <text
 85.1299 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 85.1300 +       xml:space="preserve"
 85.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"
 85.1302 +       x="643.74738"
 85.1303 +       y="736.927"
 85.1304 +       id="text9940"
 85.1305 +       sodipodi:linespacing="100%"><tspan
 85.1306 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1307 +         sodipodi:role="line"
 85.1308 +         x="643.74738"
 85.1309 +         y="736.927"
 85.1310 +         id="tspan9942">Call to dyn lib</tspan></text>
 85.1311 +    <text
 85.1312 +       sodipodi:linespacing="100%"
 85.1313 +       id="text9944"
 85.1314 +       y="524.9541"
 85.1315 +       x="640.23999"
 85.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"
 85.1317 +       xml:space="preserve"
 85.1318 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 85.1319 +         id="tspan9946"
 85.1320 +         y="524.9541"
 85.1321 +         x="640.23999"
 85.1322 +         sodipodi:role="line"
 85.1323 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
 85.1324 +    <text
 85.1325 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 85.1326 +       xml:space="preserve"
 85.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"
 85.1328 +       x="112.79035"
 85.1329 +       y="441.66806"
 85.1330 +       id="text9948"
 85.1331 +       sodipodi:linespacing="100%"><tspan
 85.1332 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1333 +         sodipodi:role="line"
 85.1334 +         x="112.79035"
 85.1335 +         y="441.66806"
 85.1336 +         id="tspan9950">call to dyn lib</tspan></text>
 85.1337 +    <path
 85.1338 +       inkscape:connector-curvature="0"
 85.1339 +       id="path9952"
 85.1340 +       d="m 701.67453,480.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 85.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" />
 85.1342 +    <path
 85.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"
 85.1344 +       d="m 701.67453,417.52981 c -669.895225,0 -669.895225,0 -669.895225,0"
 85.1345 +       id="path9954"
 85.1346 +       inkscape:connector-curvature="0" />
 85.1347 +    <text
 85.1348 +       xml:space="preserve"
 85.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"
 85.1350 +       x="326.92542"
 85.1351 +       y="577.76575"
 85.1352 +       id="text9956"
 85.1353 +       sodipodi:linespacing="100%"><tspan
 85.1354 +         style="text-align:center;text-anchor:middle"
 85.1355 +         sodipodi:role="line"
 85.1356 +         id="tspan9958"
 85.1357 +         x="326.92542"
 85.1358 +         y="577.76575">Master</tspan><tspan
 85.1359 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1360 +         id="tspan9960"
 85.1361 +         sodipodi:role="line"
 85.1362 +         x="326.92542"
 85.1363 +         y="586.2005">(runtime system)</tspan><tspan
 85.1364 +         id="tspan9962"
 85.1365 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1366 +         sodipodi:role="line"
 85.1367 +         x="326.92542"
 85.1368 +         y="594.2005">on core 2</tspan></text>
 85.1369 +    <path
 85.1370 +       inkscape:connector-curvature="0"
 85.1371 +       id="path9970"
 85.1372 +       d="m 291.99816,596.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
 85.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)" />
 85.1374 +    <g
 85.1375 +       id="g9972"
 85.1376 +       transform="matrix(1,0,0,0.71130685,-16,342.52913)">
 85.1377 +      <rect
 85.1378 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.1379 +         id="rect9974"
 85.1380 +         width="65.276405"
 85.1381 +         height="52.250008"
 85.1382 +         x="310.40247"
 85.1383 +         y="313.58255" />
 85.1384 +    </g>
 85.1385 +    <text
 85.1386 +       sodipodi:linespacing="100%"
 85.1387 +       id="text9982"
 85.1388 +       y="599.42468"
 85.1389 +       x="202.41257"
 85.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"
 85.1391 +       xml:space="preserve"><tspan
 85.1392 +         id="tspan9984"
 85.1393 +         y="599.42468"
 85.1394 +         x="202.41257"
 85.1395 +         sodipodi:role="line"
 85.1396 +         style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text>
 85.1397 +    <path
 85.1398 +       sodipodi:nodetypes="cc"
 85.1399 +       inkscape:connector-curvature="0"
 85.1400 +       id="path10010"
 85.1401 +       d="m 266.02904,637.43113 c 0,54.93536 0,54.93536 0,54.93536"
 85.1402 +       style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
 85.1403 +    <path
 85.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"
 85.1405 +       d="m 258.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0"
 85.1406 +       id="path10012"
 85.1407 +       inkscape:connector-curvature="0" />
 85.1408 +    <path
 85.1409 +       inkscape:connector-curvature="0"
 85.1410 +       id="path10014"
 85.1411 +       d="m 271.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 85.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" />
 85.1413 +    <text
 85.1414 +       transform="matrix(0.00962718,0.99995366,-0.99995366,0.00962718,0,0)"
 85.1415 +       xml:space="preserve"
 85.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"
 85.1417 +       x="675.3847"
 85.1418 +       y="-275.31226"
 85.1419 +       id="text10018"
 85.1420 +       sodipodi:linespacing="100%"><tspan
 85.1421 +         id="tspan10020"
 85.1422 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1423 +         sodipodi:role="line"
 85.1424 +         x="675.3847"
 85.1425 +         y="-275.31226">Timeline of Master on core 2</tspan></text>
 85.1426 +    <path
 85.1427 +       inkscape:connector-curvature="0"
 85.1428 +       id="path10030"
 85.1429 +       d="m 258.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0"
 85.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" />
 85.1431 +    <path
 85.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"
 85.1433 +       d="m 205.27805,381.45805 c 0,3.23577 0,3.23577 0,3.23577"
 85.1434 +       id="path10054"
 85.1435 +       inkscape:connector-curvature="0"
 85.1436 +       sodipodi:nodetypes="cc" />
 85.1437 +    <path
 85.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"
 85.1439 +       d="m 701.67453,692.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 85.1440 +       id="path10056"
 85.1441 +       inkscape:connector-curvature="0" />
 85.1442 +    <path
 85.1443 +       inkscape:connector-curvature="0"
 85.1444 +       id="path10058"
 85.1445 +       d="m 701.67453,637.52981 c -669.895225,0 -669.895225,0 -669.895225,0"
 85.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" />
 85.1447 +    <text
 85.1448 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 85.1449 +       xml:space="preserve"
 85.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"
 85.1451 +       x="-135.75337"
 85.1452 +       y="434.7803"
 85.1453 +       id="text10062"
 85.1454 +       sodipodi:linespacing="100%"><tspan
 85.1455 +         id="tspan10068"
 85.1456 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1457 +         sodipodi:role="line"
 85.1458 +         x="-135.75337"
 85.1459 +         y="434.7803">return from</tspan><tspan
 85.1460 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1461 +         sodipodi:role="line"
 85.1462 +         x="-135.75337"
 85.1463 +         y="442.7803"
 85.1464 +         id="tspan10074">suspend</tspan></text>
 85.1465 +    <path
 85.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"
 85.1467 +       d="m 701.67453,538.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 85.1468 +       id="path10076"
 85.1469 +       inkscape:connector-curvature="0" />
 85.1470 +    <text
 85.1471 +       xml:space="preserve"
 85.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"
 85.1473 +       x="667.38037"
 85.1474 +       y="515.42468"
 85.1475 +       id="text10082"
 85.1476 +       sodipodi:linespacing="100%"><tspan
 85.1477 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1478 +         sodipodi:role="line"
 85.1479 +         x="667.38037"
 85.1480 +         y="515.42468"
 85.1481 +         id="tspan10084">PR primitive Fn</tspan><tspan
 85.1482 +         id="tspan10086"
 85.1483 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1484 +         sodipodi:role="line"
 85.1485 +         x="667.38037"
 85.1486 +         y="525.42468">to send request</tspan></text>
 85.1487 +    <text
 85.1488 +       sodipodi:linespacing="100%"
 85.1489 +       id="text10088"
 85.1490 +       y="615.42468"
 85.1491 +       x="667.38037"
 85.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"
 85.1493 +       xml:space="preserve"><tspan
 85.1494 +         id="tspan10090"
 85.1495 +         y="615.42468"
 85.1496 +         x="667.38037"
 85.1497 +         sodipodi:role="line"
 85.1498 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
 85.1499 +         y="625.42468"
 85.1500 +         x="667.38037"
 85.1501 +         sodipodi:role="line"
 85.1502 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1503 +         id="tspan10092">to send request</tspan></text>
 85.1504 +    <text
 85.1505 +       xml:space="preserve"
 85.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"
 85.1507 +       x="667.38037"
 85.1508 +       y="727.42468"
 85.1509 +       id="text10094"
 85.1510 +       sodipodi:linespacing="100%"><tspan
 85.1511 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1512 +         sodipodi:role="line"
 85.1513 +         x="667.38037"
 85.1514 +         y="727.42468"
 85.1515 +         id="tspan10096">PR primitive Fn</tspan><tspan
 85.1516 +         id="tspan10098"
 85.1517 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1518 +         sodipodi:role="line"
 85.1519 +         x="667.38037"
 85.1520 +         y="737.42468">to send request</tspan></text>
 85.1521 +    <path
 85.1522 +       sodipodi:nodetypes="cc"
 85.1523 +       inkscape:connector-curvature="0"
 85.1524 +       id="path10100"
 85.1525 +       d="m 476.02904,692.3113 c 0,57.40944 0,57.40944 0,57.40944"
 85.1526 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
 85.1527 +    <path
 85.1528 +       inkscape:connector-curvature="0"
 85.1529 +       id="path10102"
 85.1530 +       d="m 481.57781,751.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
 85.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" />
 85.1532 +    <text
 85.1533 +       sodipodi:linespacing="100%"
 85.1534 +       id="text10104"
 85.1535 +       y="750.22363"
 85.1536 +       x="486.86038"
 85.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"
 85.1538 +       xml:space="preserve"
 85.1539 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 85.1540 +         id="tspan10106"
 85.1541 +         y="750.22363"
 85.1542 +         x="486.86038"
 85.1543 +         sodipodi:role="line"
 85.1544 +         style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text>
 85.1545 +    <path
 85.1546 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
 85.1547 +       d="m 266.02904,749.43112 c 0,10.33165 0,10.33165 0,10.33165"
 85.1548 +       id="path10108"
 85.1549 +       inkscape:connector-curvature="0"
 85.1550 +       sodipodi:nodetypes="cc" />
 85.1551 +    <path
 85.1552 +       inkscape:connector-curvature="0"
 85.1553 +       id="path10110"
 85.1554 +       d="m 258.24715,750.02605 c 13.34137,0 13.34137,0 13.34137,0"
 85.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" />
 85.1556 +    <path
 85.1557 +       inkscape:connector-curvature="0"
 85.1558 +       id="path10116"
 85.1559 +       d="m 701.67453,750.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 85.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" />
 85.1561 +    <text
 85.1562 +       sodipodi:linespacing="100%"
 85.1563 +       id="text10118"
 85.1564 +       y="540.12653"
 85.1565 +       x="259.17728"
 85.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"
 85.1567 +       xml:space="preserve"
 85.1568 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 85.1569 +         id="tspan10120"
 85.1570 +         y="540.12653"
 85.1571 +         x="259.17728"
 85.1572 +         sodipodi:role="line"
 85.1573 +         style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text>
 85.1574 +    <text
 85.1575 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 85.1576 +       xml:space="preserve"
 85.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"
 85.1578 +       x="259.61627"
 85.1579 +       y="640.12561"
 85.1580 +       id="text10122"
 85.1581 +       sodipodi:linespacing="100%"><tspan
 85.1582 +         style="font-size:8px;text-align:end;text-anchor:end"
 85.1583 +         sodipodi:role="line"
 85.1584 +         x="259.61627"
 85.1585 +         y="640.12561"
 85.1586 +         id="tspan10124">resume</tspan></text>
 85.1587 +    <text
 85.1588 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 85.1589 +       xml:space="preserve"
 85.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"
 85.1591 +       x="262.3013"
 85.1592 +       y="692.12494"
 85.1593 +       id="text10126"
 85.1594 +       sodipodi:linespacing="100%"><tspan
 85.1595 +         style="font-size:8px;text-align:end;text-anchor:end"
 85.1596 +         sodipodi:role="line"
 85.1597 +         x="262.3013"
 85.1598 +         y="692.12494"
 85.1599 +         id="tspan10128">suspend</tspan></text>
 85.1600 +    <text
 85.1601 +       sodipodi:linespacing="100%"
 85.1602 +       id="text10130"
 85.1603 +       y="606.09192"
 85.1604 +       x="258.67368"
 85.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"
 85.1606 +       xml:space="preserve"
 85.1607 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 85.1608 +         id="tspan10132"
 85.1609 +         y="606.09192"
 85.1610 +         x="258.67368"
 85.1611 +         sodipodi:role="line"
 85.1612 +         style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text>
 85.1613 +    <text
 85.1614 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 85.1615 +       xml:space="preserve"
 85.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"
 85.1617 +       x="260.10779"
 85.1618 +       y="752.12427"
 85.1619 +       id="text10134"
 85.1620 +       sodipodi:linespacing="100%"><tspan
 85.1621 +         style="font-size:8px;text-align:end;text-anchor:end"
 85.1622 +         sodipodi:role="line"
 85.1623 +         x="260.10779"
 85.1624 +         y="752.12427"
 85.1625 +         id="tspan10136">resume</tspan></text>
 85.1626 +    <text
 85.1627 +       xml:space="preserve"
 85.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"
 85.1629 +       x="136.99219"
 85.1630 +       y="307.42465"
 85.1631 +       id="text10146"
 85.1632 +       sodipodi:linespacing="100%"><tspan
 85.1633 +         style="text-align:center;text-anchor:middle;fill:#800000"
 85.1634 +         sodipodi:role="line"
 85.1635 +         x="138.49609"
 85.1636 +         y="307.42465"
 85.1637 +         id="tspan10148">Language </tspan><tspan
 85.1638 +         id="tspan10150"
 85.1639 +         style="text-align:center;text-anchor:middle;fill:#800000"
 85.1640 +         sodipodi:role="line"
 85.1641 +         x="136.99219"
 85.1642 +         y="317.42465">Plugin</tspan><tspan
 85.1643 +         id="tspan10152"
 85.1644 +         style="text-align:center;text-anchor:middle;fill:#800000"
 85.1645 +         sodipodi:role="line"
 85.1646 +         x="136.99219"
 85.1647 +         y="327.42465">Code</tspan></text>
 85.1648 +    <text
 85.1649 +       xml:space="preserve"
 85.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"
 85.1651 +       x="203.16797"
 85.1652 +       y="307.42465"
 85.1653 +       id="text10154"
 85.1654 +       sodipodi:linespacing="100%"><tspan
 85.1655 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1656 +         sodipodi:role="line"
 85.1657 +         x="203.16797"
 85.1658 +         y="307.42465"
 85.1659 +         id="tspan10156">Proto-Runtime</tspan><tspan
 85.1660 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1661 +         sodipodi:role="line"
 85.1662 +         x="203.16797"
 85.1663 +         y="317.42465"
 85.1664 +         id="tspan10158">Master</tspan><tspan
 85.1665 +         id="tspan10160"
 85.1666 +         style="text-align:center;text-anchor:middle;fill:#000080"
 85.1667 +         sodipodi:role="line"
 85.1668 +         x="203.16797"
 85.1669 +         y="327.42465">Code</tspan></text>
 85.1670 +    <path
 85.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)"
 85.1672 +       d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 85.1673 +       id="path10162"
 85.1674 +       inkscape:connector-curvature="0" />
 85.1675 +    <path
 85.1676 +       inkscape:connector-curvature="0"
 85.1677 +       id="path10164"
 85.1678 +       d="m 137.04459,474.02605 c 67.19099,0 67.19099,0 67.19099,0"
 85.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)" />
 85.1680 +    <path
 85.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)"
 85.1682 +       d="m 67.525286,448.02605 c 69.221574,0 69.221574,0 69.221574,0"
 85.1683 +       id="path10166"
 85.1684 +       inkscape:connector-curvature="0" />
 85.1685 +    <path
 85.1686 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.1687 +       d="m 67.27805,435.85824 c 0,13.94668 0,13.94668 0,13.94668"
 85.1688 +       id="path10168"
 85.1689 +       inkscape:connector-curvature="0"
 85.1690 +       sodipodi:nodetypes="cc" />
 85.1691 +    <path
 85.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)"
 85.1693 +       d="m 137.04459,450.02605 c 67.19099,0 67.19099,0 67.19099,0"
 85.1694 +       id="path10172"
 85.1695 +       inkscape:connector-curvature="0" />
 85.1696 +    <path
 85.1697 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.1698 +       d="m 205.27805,450.63926 c 0,11.23237 0,11.23237 0,11.23237"
 85.1699 +       id="path10174"
 85.1700 +       inkscape:connector-curvature="0"
 85.1701 +       sodipodi:nodetypes="cc" />
 85.1702 +    <path
 85.1703 +       inkscape:connector-curvature="0"
 85.1704 +       id="path10176"
 85.1705 +       d="m 205.05995,462.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 85.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)" />
 85.1707 +    <text
 85.1708 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 85.1709 +       xml:space="preserve"
 85.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"
 85.1711 +       x="189.17583"
 85.1712 +       y="464.4057"
 85.1713 +       id="text10178"
 85.1714 +       sodipodi:linespacing="100%"><tspan
 85.1715 +         style="font-size:7px;text-align:center;text-anchor:middle"
 85.1716 +         sodipodi:role="line"
 85.1717 +         x="189.17583"
 85.1718 +         y="464.4057"
 85.1719 +         id="tspan10180">call via Ptr to Dyn Lib Fn</tspan></text>
 85.1720 +    <path
 85.1721 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.1722 +       d="m 137.27805,461.85824 c 0,11.43122 0,11.43122 0,11.43122"
 85.1723 +       id="path10182"
 85.1724 +       inkscape:connector-curvature="0"
 85.1725 +       sodipodi:nodetypes="cc" />
 85.1726 +    <text
 85.1727 +       sodipodi:linespacing="100%"
 85.1728 +       id="text10184"
 85.1729 +       y="426.41092"
 85.1730 +       x="188.54729"
 85.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"
 85.1732 +       xml:space="preserve"
 85.1733 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 85.1734 +         id="tspan10186"
 85.1735 +         y="426.41092"
 85.1736 +         x="188.54729"
 85.1737 +         sodipodi:role="line"
 85.1738 +         style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text>
 85.1739 +    <text
 85.1740 +       sodipodi:linespacing="100%"
 85.1741 +       id="text10188"
 85.1742 +       y="629.42468"
 85.1743 +       x="137.31689"
 85.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"
 85.1745 +       xml:space="preserve"><tspan
 85.1746 +         id="tspan10190"
 85.1747 +         y="629.42468"
 85.1748 +         x="137.31689"
 85.1749 +         sodipodi:role="line"
 85.1750 +         style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan
 85.1751 +         id="tspan10192"
 85.1752 +         y="639.42468"
 85.1753 +         x="137.31689"
 85.1754 +         sodipodi:role="line"
 85.1755 +         style="text-align:center;text-anchor:middle;fill:#800000">for acq Mutex</tspan></text>
 85.1756 +    <path
 85.1757 +       sodipodi:nodetypes="cc"
 85.1758 +       inkscape:connector-curvature="0"
 85.1759 +       id="path10230"
 85.1760 +       d="m 205.27805,601.45805 c 0,3.23576 0,3.23576 0,3.23576"
 85.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" />
 85.1762 +    <path
 85.1763 +       inkscape:connector-curvature="0"
 85.1764 +       id="path4879"
 85.1765 +       d="m 465.78297,538.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 85.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)" />
 85.1767 +    <path
 85.1768 +       inkscape:connector-curvature="0"
 85.1769 +       id="path5395"
 85.1770 +       d="m 466.19516,418.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 85.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)" />
 85.1772 +    <path
 85.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)"
 85.1774 +       d="m 466.19516,638.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 85.1775 +       id="path5397"
 85.1776 +       inkscape:connector-curvature="0" />
 85.1777 +    <path
 85.1778 +       inkscape:connector-curvature="0"
 85.1779 +       id="path5399"
 85.1780 +       d="m 466.19516,750.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 85.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)" />
 85.1782 +    <path
 85.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)"
 85.1784 +       d="m 271.03421,692.02605 c 193.92439,0 193.92439,0 193.92439,0"
 85.1785 +       id="path5402"
 85.1786 +       inkscape:connector-curvature="0" />
 85.1787 +    <text
 85.1788 +       sodipodi:linespacing="100%"
 85.1789 +       id="text5410"
 85.1790 +       y="671.42468"
 85.1791 +       x="137.68066"
 85.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"
 85.1793 +       xml:space="preserve"><tspan
 85.1794 +         id="tspan5412"
 85.1795 +         y="671.42468"
 85.1796 +         x="137.68066"
 85.1797 +         sodipodi:role="line"
 85.1798 +         style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text>
 85.1799 +    <path
 85.1800 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.1801 +       d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.1802 +       id="path5420"
 85.1803 +       inkscape:connector-curvature="0"
 85.1804 +       sodipodi:nodetypes="cc" />
 85.1805 +    <path
 85.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)"
 85.1807 +       d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 85.1808 +       id="path5422"
 85.1809 +       inkscape:connector-curvature="0" />
 85.1810 +    <path
 85.1811 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.1812 +       d="m 137.27805,643.85824 c 0,11.43122 0,11.43122 0,11.43122"
 85.1813 +       id="path5424"
 85.1814 +       inkscape:connector-curvature="0"
 85.1815 +       sodipodi:nodetypes="cc" />
 85.1816 +    <path
 85.1817 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.1818 +       d="m 205.27805,686.63925 c 0,4.54718 0,4.54718 0,4.54718"
 85.1819 +       id="path5428"
 85.1820 +       inkscape:connector-curvature="0"
 85.1821 +       sodipodi:nodetypes="cc" />
 85.1822 +    <text
 85.1823 +       sodipodi:linespacing="100%"
 85.1824 +       id="text5430"
 85.1825 +       y="645.39423"
 85.1826 +       x="-335.13254"
 85.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"
 85.1828 +       xml:space="preserve"
 85.1829 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 85.1830 +         id="tspan5432"
 85.1831 +         y="645.39423"
 85.1832 +         x="-335.13254"
 85.1833 +         sodipodi:role="line"
 85.1834 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
 85.1835 +         y="653.39423"
 85.1836 +         x="-335.13254"
 85.1837 +         sodipodi:role="line"
 85.1838 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1839 +         id="tspan5434">and switch</tspan><tspan
 85.1840 +         y="661.39423"
 85.1841 +         x="-335.13254"
 85.1842 +         sodipodi:role="line"
 85.1843 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1844 +         id="tspan5436">to app VP</tspan></text>
 85.1845 +    <path
 85.1846 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.1847 +       d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.1848 +       id="path5438"
 85.1849 +       inkscape:connector-curvature="0"
 85.1850 +       sodipodi:nodetypes="cc" />
 85.1851 +    <path
 85.1852 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.1853 +       d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.1854 +       id="path5440"
 85.1855 +       inkscape:connector-curvature="0"
 85.1856 +       sodipodi:nodetypes="cc" />
 85.1857 +    <text
 85.1858 +       sodipodi:linespacing="100%"
 85.1859 +       id="text5446"
 85.1860 +       y="592.84631"
 85.1861 +       x="-288.77386"
 85.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"
 85.1863 +       xml:space="preserve"
 85.1864 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 85.1865 +         y="592.84631"
 85.1866 +         x="-288.77386"
 85.1867 +         sodipodi:role="line"
 85.1868 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1869 +         id="tspan5448">return from</tspan><tspan
 85.1870 +         id="tspan5450"
 85.1871 +         y="600.84631"
 85.1872 +         x="-288.77386"
 85.1873 +         sodipodi:role="line"
 85.1874 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 85.1875 +    <path
 85.1876 +       inkscape:connector-curvature="0"
 85.1877 +       id="path5452"
 85.1878 +       d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 85.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)" />
 85.1880 +    <path
 85.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)"
 85.1882 +       d="m 137.04459,686.02605 c 67.19099,0 67.19099,0 67.19099,0"
 85.1883 +       id="path5454"
 85.1884 +       inkscape:connector-curvature="0" />
 85.1885 +    <path
 85.1886 +       inkscape:connector-curvature="0"
 85.1887 +       id="path5460"
 85.1888 +       d="m 137.04459,658.02605 c 67.19099,0 67.19099,0 67.19099,0"
 85.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)" />
 85.1890 +    <path
 85.1891 +       sodipodi:nodetypes="cc"
 85.1892 +       inkscape:connector-curvature="0"
 85.1893 +       id="path5462"
 85.1894 +       d="m 205.27805,658.63927 c 0,14.88618 0,14.88618 0,14.88618"
 85.1895 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 85.1896 +    <path
 85.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)"
 85.1898 +       d="m 205.05995,674.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 85.1899 +       id="path5464"
 85.1900 +       inkscape:connector-curvature="0" />
 85.1901 +    <text
 85.1902 +       sodipodi:linespacing="100%"
 85.1903 +       id="text5466"
 85.1904 +       y="676.37714"
 85.1905 +       x="192.68279"
 85.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"
 85.1907 +       xml:space="preserve"
 85.1908 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 85.1909 +         id="tspan5468"
 85.1910 +         y="676.37714"
 85.1911 +         x="192.68279"
 85.1912 +         sodipodi:role="line"
 85.1913 +         style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text>
 85.1914 +    <path
 85.1915 +       sodipodi:nodetypes="cc"
 85.1916 +       inkscape:connector-curvature="0"
 85.1917 +       id="path5470"
 85.1918 +       d="m 137.27805,673.85824 c 0,11.43122 0,11.43122 0,11.43122"
 85.1919 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 85.1920 +    <text
 85.1921 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 85.1922 +       xml:space="preserve"
 85.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"
 85.1924 +       x="192.18657"
 85.1925 +       y="646.38098"
 85.1926 +       id="text5472"
 85.1927 +       sodipodi:linespacing="100%"><tspan
 85.1928 +         style="font-size:7px;text-align:center;text-anchor:middle"
 85.1929 +         sodipodi:role="line"
 85.1930 +         x="192.18657"
 85.1931 +         y="646.38098"
 85.1932 +         id="tspan5474">call via Ptr to Dyn Lib Fn</tspan></text>
 85.1933 +    <text
 85.1934 +       sodipodi:linespacing="100%"
 85.1935 +       id="text5476"
 85.1936 +       y="597.08801"
 85.1937 +       x="-60.107929"
 85.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"
 85.1939 +       xml:space="preserve"
 85.1940 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 85.1941 +         y="597.08801"
 85.1942 +         x="-60.107929"
 85.1943 +         sodipodi:role="line"
 85.1944 +         style="font-size:18px;text-align:center;text-anchor:middle"
 85.1945 +         id="tspan5482">core 1</tspan></text>
 85.1946 +    <text
 85.1947 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 85.1948 +       xml:space="preserve"
 85.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"
 85.1950 +       x="-208.35422"
 85.1951 +       y="748.6394"
 85.1952 +       id="text5488"
 85.1953 +       sodipodi:linespacing="100%"><tspan
 85.1954 +         id="tspan5490"
 85.1955 +         style="font-size:18px;text-align:center;text-anchor:middle"
 85.1956 +         sodipodi:role="line"
 85.1957 +         x="-208.35422"
 85.1958 +         y="748.6394">core 2</tspan></text>
 85.1959 +    <path
 85.1960 +       sodipodi:nodetypes="cc"
 85.1961 +       inkscape:connector-curvature="0"
 85.1962 +       id="path5492"
 85.1963 +       d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.1964 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 85.1965 +    <path
 85.1966 +       sodipodi:nodetypes="cc"
 85.1967 +       inkscape:connector-curvature="0"
 85.1968 +       id="path5494"
 85.1969 +       d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.1970 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 85.1971 +    <path
 85.1972 +       sodipodi:nodetypes="cc"
 85.1973 +       inkscape:connector-curvature="0"
 85.1974 +       id="path5496"
 85.1975 +       d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.1976 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 85.1977 +    <text
 85.1978 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 85.1979 +       xml:space="preserve"
 85.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"
 85.1981 +       x="-368.06558"
 85.1982 +       y="674.7525"
 85.1983 +       id="text5498"
 85.1984 +       sodipodi:linespacing="100%"><tspan
 85.1985 +         id="tspan5500"
 85.1986 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1987 +         sodipodi:role="line"
 85.1988 +         x="-368.06558"
 85.1989 +         y="674.7525">return from</tspan><tspan
 85.1990 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.1991 +         sodipodi:role="line"
 85.1992 +         x="-368.06558"
 85.1993 +         y="682.7525"
 85.1994 +         id="tspan5502">suspend</tspan></text>
 85.1995 +    <path
 85.1996 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.1997 +       d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.1998 +       id="path5504"
 85.1999 +       inkscape:connector-curvature="0"
 85.2000 +       sodipodi:nodetypes="cc" />
 85.2001 +    <path
 85.2002 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.2003 +       d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.2004 +       id="path5506"
 85.2005 +       inkscape:connector-curvature="0"
 85.2006 +       sodipodi:nodetypes="cc" />
 85.2007 +    <path
 85.2008 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 85.2009 +       d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629"
 85.2010 +       id="path5508"
 85.2011 +       inkscape:connector-curvature="0"
 85.2012 +       sodipodi:nodetypes="cc" />
 85.2013 +    <text
 85.2014 +       sodipodi:linespacing="100%"
 85.2015 +       id="text5510"
 85.2016 +       y="520.99878"
 85.2017 +       x="-219.21922"
 85.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"
 85.2019 +       xml:space="preserve"
 85.2020 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 85.2021 +         y="520.99878"
 85.2022 +         x="-219.21922"
 85.2023 +         sodipodi:role="line"
 85.2024 +         style="font-size:8px;text-align:center;text-anchor:middle"
 85.2025 +         id="tspan5512">return from</tspan><tspan
 85.2026 +         id="tspan5514"
 85.2027 +         y="528.99878"
 85.2028 +         x="-219.21922"
 85.2029 +         sodipodi:role="line"
 85.2030 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 85.2031 +    <path
 85.2032 +       inkscape:connector-curvature="0"
 85.2033 +       id="path5516"
 85.2034 +       d="m 271.03421,604.02605 c 193.92439,0 193.92439,0 193.92439,0"
 85.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)" />
 85.2036 +    <path
 85.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)"
 85.2038 +       d="m 271.03421,384.02605 c 193.92439,0 193.92439,0 193.92439,0"
 85.2039 +       id="path5518"
 85.2040 +       inkscape:connector-curvature="0" />
 85.2041 +    <path
 85.2042 +       sodipodi:type="arc"
 85.2043 +       style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.2044 +       id="path4107"
 85.2045 +       sodipodi:cx="-177.61905"
 85.2046 +       sodipodi:cy="432.36218"
 85.2047 +       sodipodi:rx="21.428572"
 85.2048 +       sodipodi:ry="21.904762"
 85.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"
 85.2050 +       transform="matrix(0.46666667,0,0,0.47826088,-94.15873,438.15169)" />
 85.2051 +    <path
 85.2052 +       transform="matrix(0.46666667,0,0,0.47826088,-94.15873,478.15169)"
 85.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"
 85.2054 +       sodipodi:ry="21.904762"
 85.2055 +       sodipodi:rx="21.428572"
 85.2056 +       sodipodi:cy="432.36218"
 85.2057 +       sodipodi:cx="-177.61905"
 85.2058 +       id="path4109"
 85.2059 +       style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.2060 +       sodipodi:type="arc" />
 85.2061 +    <path
 85.2062 +       sodipodi:type="arc"
 85.2063 +       style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.2064 +       id="path4111"
 85.2065 +       sodipodi:cx="-177.61905"
 85.2066 +       sodipodi:cy="432.36218"
 85.2067 +       sodipodi:rx="21.428572"
 85.2068 +       sodipodi:ry="21.904762"
 85.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"
 85.2070 +       transform="matrix(0.46666667,0,0,0.47826088,-54.15873,478.15169)" />
 85.2071 +    <path
 85.2072 +       transform="matrix(0.46666667,0,0,0.47826088,-134.15873,478.15169)"
 85.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"
 85.2074 +       sodipodi:ry="21.904762"
 85.2075 +       sodipodi:rx="21.428572"
 85.2076 +       sodipodi:cy="432.36218"
 85.2077 +       sodipodi:cx="-177.61905"
 85.2078 +       id="path4113"
 85.2079 +       style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.2080 +       sodipodi:type="arc" />
 85.2081 +    <path
 85.2082 +       sodipodi:type="arc"
 85.2083 +       style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.2084 +       id="path4115"
 85.2085 +       sodipodi:cx="-177.61905"
 85.2086 +       sodipodi:cy="432.36218"
 85.2087 +       sodipodi:rx="21.428572"
 85.2088 +       sodipodi:ry="21.904762"
 85.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"
 85.2090 +       transform="matrix(0.46666667,0,0,0.47826088,-174.15873,478.15169)" />
 85.2091 +    <path
 85.2092 +       transform="matrix(0.46666667,0,0,0.47826088,-134.15873,438.15169)"
 85.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"
 85.2094 +       sodipodi:ry="21.904762"
 85.2095 +       sodipodi:rx="21.428572"
 85.2096 +       sodipodi:cy="432.36218"
 85.2097 +       sodipodi:cx="-177.61905"
 85.2098 +       id="path4117"
 85.2099 +       style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.2100 +       sodipodi:type="arc" />
 85.2101 +    <path
 85.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)"
 85.2103 +       d="m -200.95238,433.31456 c -11.42857,21.90477 -11.42857,21.90477 -11.42857,21.90477"
 85.2104 +       id="path4121"
 85.2105 +       inkscape:connector-curvature="0" />
 85.2106 +    <path
 85.2107 +       inkscape:connector-curvature="0"
 85.2108 +       id="path4305"
 85.2109 +       d="m -192.50586,433.31456 c 11.42857,21.90477 11.42857,21.90477 11.42857,21.90477"
 85.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)" />
 85.2111 +    <path
 85.2112 +       inkscape:connector-curvature="0"
 85.2113 +       id="path4307"
 85.2114 +       d="m -225.71428,651.40978 c -26.50192,23.74125 -26.50192,23.74125 -26.50192,23.74125"
 85.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)" />
 85.2116 +    <path
 85.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)"
 85.2118 +       d="m -217.42015,655.21934 c -0.30787,19.83147 -0.30787,19.83147 -0.30787,19.83147"
 85.2119 +       id="path4309"
 85.2120 +       inkscape:connector-curvature="0" />
 85.2121 +    <path
 85.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)"
 85.2123 +       d="m -168.4046,651.40978 c 26.50192,23.74125 26.50192,23.74125 26.50192,23.74125"
 85.2124 +       id="path4311"
 85.2125 +       inkscape:connector-curvature="0" />
 85.2126 +    <path
 85.2127 +       inkscape:connector-curvature="0"
 85.2128 +       id="path4313"
 85.2129 +       d="m -176.69873,655.21934 c 0.30787,19.83147 0.30787,19.83147 0.30787,19.83147"
 85.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)" />
 85.2131 +    <path
 85.2132 +       transform="matrix(0.46666667,0,0,0.47826088,-94.15873,258.15169)"
 85.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"
 85.2134 +       sodipodi:ry="21.904762"
 85.2135 +       sodipodi:rx="21.428572"
 85.2136 +       sodipodi:cy="432.36218"
 85.2137 +       sodipodi:cx="-177.61905"
 85.2138 +       id="path4315"
 85.2139 +       style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.2140 +       sodipodi:type="arc" />
 85.2141 +    <path
 85.2142 +       sodipodi:type="arc"
 85.2143 +       style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.2144 +       id="path4317"
 85.2145 +       sodipodi:cx="-177.61905"
 85.2146 +       sodipodi:cy="432.36218"
 85.2147 +       sodipodi:rx="21.428572"
 85.2148 +       sodipodi:ry="21.904762"
 85.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"
 85.2150 +       transform="matrix(0.46666667,0,0,0.47826088,-134.15873,258.15169)" />
 85.2151 +    <path
 85.2152 +       transform="matrix(0.46666667,0,0,0.47826088,-114.15873,298.15169)"
 85.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"
 85.2154 +       sodipodi:ry="21.904762"
 85.2155 +       sodipodi:rx="21.428572"
 85.2156 +       sodipodi:cy="432.36218"
 85.2157 +       sodipodi:cx="-177.61905"
 85.2158 +       id="path4319"
 85.2159 +       style="fill:none;stroke:#000000;stroke-width:3.17508554;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.2160 +       sodipodi:type="arc" />
 85.2161 +    <path
 85.2162 +       inkscape:connector-curvature="0"
 85.2163 +       id="path4321"
 85.2164 +       d="M -200.95238,496.03367 C -212.38095,474.1289 -212.38095,474.1289 -212.38095,474.1289"
 85.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" />
 85.2166 +    <path
 85.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"
 85.2168 +       d="m -192.50586,496.03367 c 11.42857,-21.90477 11.42857,-21.90477 11.42857,-21.90477"
 85.2169 +       id="path4323"
 85.2170 +       inkscape:connector-curvature="0" />
 85.2171 +    <path
 85.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)"
 85.2173 +       d="M -225.71428,716.04005 C -252.2162,692.2988 -252.2162,692.2988 -252.2162,692.2988"
 85.2174 +       id="path4953"
 85.2175 +       inkscape:connector-curvature="0" />
 85.2176 +    <path
 85.2177 +       inkscape:connector-curvature="0"
 85.2178 +       id="path4955"
 85.2179 +       d="m -217.42015,712.23049 c -0.30787,-19.83147 -0.30787,-19.83147 -0.30787,-19.83147"
 85.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)" />
 85.2181 +    <path
 85.2182 +       inkscape:connector-curvature="0"
 85.2183 +       id="path4957"
 85.2184 +       d="m -168.4046,716.04005 c 26.50192,-23.74125 26.50192,-23.74125 26.50192,-23.74125"
 85.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)" />
 85.2186 +    <path
 85.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)"
 85.2188 +       d="m -176.69873,712.23049 c 0.30787,-19.83147 0.30787,-19.83147 0.30787,-19.83147"
 85.2189 +       id="path4959"
 85.2190 +       inkscape:connector-curvature="0" />
 85.2191 +    <path
 85.2192 +       sodipodi:nodetypes="ccc"
 85.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)"
 85.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"
 85.2195 +       id="path4961"
 85.2196 +       inkscape:connector-curvature="0" />
 85.2197 +    <path
 85.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)"
 85.2199 +       d="m -196.69873,395.21934 c 0.30787,19.83147 0.30787,19.83147 0.30787,19.83147"
 85.2200 +       id="path4963"
 85.2201 +       inkscape:connector-curvature="0" />
 85.2202 +    <g
 85.2203 +       id="g4965"
 85.2204 +       transform="matrix(0.33573247,0,0,0.33475494,-311.95371,310.77262)">
 85.2205 +      <rect
 85.2206 +         style="fill:none;stroke:#000000;stroke-width:3.22208095;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 85.2207 +         id="rect4967"
 85.2208 +         width="65.276405"
 85.2209 +         height="52.250008"
 85.2210 +         x="310.40247"
 85.2211 +         y="313.58255" />
 85.2212 +    </g>
 85.2213 +  </g>
 85.2214 +</svg>
    86.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules.pdf has changed
    87.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    87.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules.svg	Sat Aug 03 19:24:22 2013 -0700
    87.3 @@ -0,0 +1,219 @@
    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="Proto-Runtime__modules.pdf"
   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="perspective12172"
   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 +    <inkscape:perspective
   87.53 +       id="perspective12937"
   87.54 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   87.55 +       inkscape:vp_z="1 : 0.5 : 1"
   87.56 +       inkscape:vp_y="0 : 1000 : 0"
   87.57 +       inkscape:vp_x="0 : 0.5 : 1"
   87.58 +       sodipodi:type="inkscape:persp3d" />
   87.59 +  </defs>
   87.60 +  <sodipodi:namedview
   87.61 +     id="base"
   87.62 +     pagecolor="#ffffff"
   87.63 +     bordercolor="#666666"
   87.64 +     borderopacity="1.0"
   87.65 +     gridtolerance="10000"
   87.66 +     guidetolerance="10"
   87.67 +     objecttolerance="10"
   87.68 +     inkscape:pageopacity="0.0"
   87.69 +     inkscape:pageshadow="2"
   87.70 +     inkscape:zoom="2.5442307"
   87.71 +     inkscape:cx="331.10449"
   87.72 +     inkscape:cy="538.12533"
   87.73 +     inkscape:document-units="px"
   87.74 +     inkscape:current-layer="layer1"
   87.75 +     showgrid="false"
   87.76 +     inkscape:window-width="1226"
   87.77 +     inkscape:window-height="878"
   87.78 +     inkscape:window-x="12"
   87.79 +     inkscape:window-y="0"
   87.80 +     inkscape:window-maximized="0" />
   87.81 +  <metadata
   87.82 +     id="metadata7">
   87.83 +    <rdf:RDF>
   87.84 +      <cc:Work
   87.85 +         rdf:about="">
   87.86 +        <dc:format>image/svg+xml</dc:format>
   87.87 +        <dc:type
   87.88 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   87.89 +        <dc:title></dc:title>
   87.90 +      </cc:Work>
   87.91 +    </rdf:RDF>
   87.92 +  </metadata>
   87.93 +  <g
   87.94 +     inkscape:label="Layer 1"
   87.95 +     inkscape:groupmode="layer"
   87.96 +     id="layer1">
   87.97 +    <text
   87.98 +       sodipodi:linespacing="100%"
   87.99 +       id="text12985"
  87.100 +       y="447.55026"
  87.101 +       x="343.00162"
  87.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"
  87.103 +       xml:space="preserve"><tspan
  87.104 +         y="447.55026"
  87.105 +         x="343.00162"
  87.106 +         sodipodi:role="line"
  87.107 +         id="tspan12989"
  87.108 +         style="text-align:center;text-anchor:middle">Parallelism</tspan><tspan
  87.109 +         id="tspan3147"
  87.110 +         y="457.55026"
  87.111 +         x="343.00162"
  87.112 +         sodipodi:role="line"
  87.113 +         style="text-align:center;text-anchor:middle">Construct</tspan><tspan
  87.114 +         id="tspan3149"
  87.115 +         y="467.55026"
  87.116 +         x="343.00162"
  87.117 +         sodipodi:role="line"
  87.118 +         style="text-align:center;text-anchor:middle">Module</tspan></text>
  87.119 +    <rect
  87.120 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  87.121 +       id="rect12971"
  87.122 +       width="131.7012"
  87.123 +       height="52.250008"
  87.124 +       x="310.30118"
  87.125 +       y="495.43658" />
  87.126 +    <text
  87.127 +       xml:space="preserve"
  87.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"
  87.129 +       x="376.33487"
  87.130 +       y="515.20319"
  87.131 +       id="text12973"
  87.132 +       sodipodi:linespacing="100%"><tspan
  87.133 +         sodipodi:role="line"
  87.134 +         id="tspan12975"
  87.135 +         x="376.33487"
  87.136 +         y="515.20319"
  87.137 +         style="text-align:center;text-anchor:middle">Hardware Specific Module</tspan><tspan
  87.138 +         sodipodi:role="line"
  87.139 +         x="376.33487"
  87.140 +         y="525.20319"
  87.141 +         style="text-align:center;text-anchor:middle"
  87.142 +         id="tspan3155" /><tspan
  87.143 +         sodipodi:role="line"
  87.144 +         x="376.33487"
  87.145 +         y="533.63794"
  87.146 +         id="tspan3089"
  87.147 +         style="font-size:8px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text>
  87.148 +    <text
  87.149 +       sodipodi:linespacing="100%"
  87.150 +       id="text12985-7"
  87.151 +       y="447.52585"
  87.152 +       x="409.1481"
  87.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"
  87.154 +       xml:space="preserve"><tspan
  87.155 +         y="447.52585"
  87.156 +         x="409.1481"
  87.157 +         id="tspan12987-4"
  87.158 +         sodipodi:role="line"
  87.159 +         style="text-align:center;text-anchor:middle">Assignment</tspan><tspan
  87.160 +         id="tspan3151"
  87.161 +         y="457.52585"
  87.162 +         x="409.1481"
  87.163 +         sodipodi:role="line"
  87.164 +         style="text-align:center;text-anchor:middle">of Work</tspan><tspan
  87.165 +         y="467.52585"
  87.166 +         x="409.1481"
  87.167 +         sodipodi:role="line"
  87.168 +         id="tspan12989-0"
  87.169 +         style="text-align:center;text-anchor:middle">onto Cores</tspan><tspan
  87.170 +         id="tspan3153"
  87.171 +         y="477.52585"
  87.172 +         x="409.1481"
  87.173 +         sodipodi:role="line"
  87.174 +         style="text-align:center;text-anchor:middle">Module</tspan></text>
  87.175 +    <text
  87.176 +       xml:space="preserve"
  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 +       x="376.3902"
  87.179 +       y="493.19415"
  87.180 +       id="text12973-5"
  87.181 +       sodipodi:linespacing="100%"><tspan
  87.182 +         sodipodi:role="line"
  87.183 +         x="376.3902"
  87.184 +         y="493.19415"
  87.185 +         id="tspan3089-7"
  87.186 +         style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text>
  87.187 +    <rect
  87.188 +       y="-495.43658"
  87.189 +       x="310.30118"
  87.190 +       height="9.1641436"
  87.191 +       width="131.7012"
  87.192 +       id="rect3204"
  87.193 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  87.194 +       transform="scale(1,-1)" />
  87.195 +    <rect
  87.196 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  87.197 +       id="rect3217"
  87.198 +       width="65.276405"
  87.199 +       height="52.250008"
  87.200 +       x="310.40247"
  87.201 +       y="433.58255" />
  87.202 +    <rect
  87.203 +       y="433.58255"
  87.204 +       x="376.40247"
  87.205 +       height="52.250008"
  87.206 +       width="65.276405"
  87.207 +       id="rect3219"
  87.208 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  87.209 +    <text
  87.210 +       sodipodi:linespacing="100%"
  87.211 +       id="text3328"
  87.212 +       y="425.20319"
  87.213 +       x="375.5488"
  87.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"
  87.215 +       xml:space="preserve"><tspan
  87.216 +         style="font-size:10px;text-align:center;text-anchor:middle"
  87.217 +         id="tspan3334"
  87.218 +         y="425.20319"
  87.219 +         x="375.5488"
  87.220 +         sodipodi:role="line">Code Stack for Runtime System</tspan></text>
  87.221 +  </g>
  87.222 +</svg>
    88.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_lang_breakdown.pdf has changed
    89.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    89.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_lang_breakdown.svg	Sat Aug 03 19:24:22 2013 -0700
    89.3 @@ -0,0 +1,243 @@
    89.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    89.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
    89.6 +
    89.7 +<svg
    89.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
    89.9 +   xmlns:cc="http://creativecommons.org/ns#"
   89.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   89.11 +   xmlns:svg="http://www.w3.org/2000/svg"
   89.12 +   xmlns="http://www.w3.org/2000/svg"
   89.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   89.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   89.15 +   width="744.09448819"
   89.16 +   height="1052.3622047"
   89.17 +   id="svg2"
   89.18 +   sodipodi:version="0.32"
   89.19 +   inkscape:version="0.48.2 r9819"
   89.20 +   sodipodi:docname="Proto-Runtime__modules_lang_breakdown.svg"
   89.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   89.22 +   version="1.1">
   89.23 +  <defs
   89.24 +     id="defs4">
   89.25 +    <marker
   89.26 +       inkscape:stockid="Arrow2Mend"
   89.27 +       orient="auto"
   89.28 +       refY="0.0"
   89.29 +       refX="0.0"
   89.30 +       id="Arrow2Mend"
   89.31 +       style="overflow:visible;">
   89.32 +      <path
   89.33 +         id="path4008"
   89.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   89.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 "
   89.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   89.37 +    </marker>
   89.38 +    <inkscape:perspective
   89.39 +       sodipodi:type="inkscape:persp3d"
   89.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   89.41 +       inkscape:vp_y="0 : 1000 : 0"
   89.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   89.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   89.44 +       id="perspective10" />
   89.45 +    <inkscape:perspective
   89.46 +       id="perspective12172"
   89.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   89.48 +       inkscape:vp_z="1 : 0.5 : 1"
   89.49 +       inkscape:vp_y="0 : 1000 : 0"
   89.50 +       inkscape:vp_x="0 : 0.5 : 1"
   89.51 +       sodipodi:type="inkscape:persp3d" />
   89.52 +    <inkscape:perspective
   89.53 +       id="perspective12937"
   89.54 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   89.55 +       inkscape:vp_z="1 : 0.5 : 1"
   89.56 +       inkscape:vp_y="0 : 1000 : 0"
   89.57 +       inkscape:vp_x="0 : 0.5 : 1"
   89.58 +       sodipodi:type="inkscape:persp3d" />
   89.59 +  </defs>
   89.60 +  <sodipodi:namedview
   89.61 +     id="base"
   89.62 +     pagecolor="#ffffff"
   89.63 +     bordercolor="#666666"
   89.64 +     borderopacity="1.0"
   89.65 +     gridtolerance="10000"
   89.66 +     guidetolerance="10"
   89.67 +     objecttolerance="10"
   89.68 +     inkscape:pageopacity="0.0"
   89.69 +     inkscape:pageshadow="2"
   89.70 +     inkscape:zoom="2.5442307"
   89.71 +     inkscape:cx="377.60185"
   89.72 +     inkscape:cy="538.12533"
   89.73 +     inkscape:document-units="px"
   89.74 +     inkscape:current-layer="layer1"
   89.75 +     showgrid="false"
   89.76 +     inkscape:window-width="1226"
   89.77 +     inkscape:window-height="878"
   89.78 +     inkscape:window-x="12"
   89.79 +     inkscape:window-y="0"
   89.80 +     inkscape:window-maximized="0" />
   89.81 +  <metadata
   89.82 +     id="metadata7">
   89.83 +    <rdf:RDF>
   89.84 +      <cc:Work
   89.85 +         rdf:about="">
   89.86 +        <dc:format>image/svg+xml</dc:format>
   89.87 +        <dc:type
   89.88 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   89.89 +        <dc:title></dc:title>
   89.90 +      </cc:Work>
   89.91 +    </rdf:RDF>
   89.92 +  </metadata>
   89.93 +  <g
   89.94 +     inkscape:label="Layer 1"
   89.95 +     inkscape:groupmode="layer"
   89.96 +     id="layer1">
   89.97 +    <text
   89.98 +       sodipodi:linespacing="100%"
   89.99 +       id="text12985"
  89.100 +       y="447.55026"
  89.101 +       x="393.00162"
  89.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"
  89.103 +       xml:space="preserve"><tspan
  89.104 +         y="447.55026"
  89.105 +         x="393.00162"
  89.106 +         sodipodi:role="line"
  89.107 +         id="tspan12989"
  89.108 +         style="text-align:center;text-anchor:middle">Code of</tspan><tspan
  89.109 +         y="457.55026"
  89.110 +         x="393.00162"
  89.111 +         sodipodi:role="line"
  89.112 +         style="text-align:center;text-anchor:middle"
  89.113 +         id="tspan6029">parallelism</tspan><tspan
  89.114 +         id="tspan3147"
  89.115 +         y="467.55026"
  89.116 +         x="393.00162"
  89.117 +         sodipodi:role="line"
  89.118 +         style="text-align:center;text-anchor:middle">construct</tspan><tspan
  89.119 +         id="tspan3149"
  89.120 +         y="477.55026"
  89.121 +         x="393.00162"
  89.122 +         sodipodi:role="line"
  89.123 +         style="text-align:center;text-anchor:middle">module</tspan></text>
  89.124 +    <text
  89.125 +       sodipodi:linespacing="100%"
  89.126 +       id="text12985-7"
  89.127 +       y="447.52585"
  89.128 +       x="459.1481"
  89.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"
  89.130 +       xml:space="preserve"><tspan
  89.131 +         y="447.52585"
  89.132 +         x="459.1481"
  89.133 +         id="tspan12987-4"
  89.134 +         sodipodi:role="line"
  89.135 +         style="text-align:center;text-anchor:middle">Code of</tspan><tspan
  89.136 +         y="457.52585"
  89.137 +         x="459.1481"
  89.138 +         sodipodi:role="line"
  89.139 +         style="text-align:center;text-anchor:middle"
  89.140 +         id="tspan6031">assignment</tspan><tspan
  89.141 +         y="467.52585"
  89.142 +         x="459.1481"
  89.143 +         sodipodi:role="line"
  89.144 +         id="tspan12989-0"
  89.145 +         style="text-align:center;text-anchor:middle">onto cores</tspan><tspan
  89.146 +         id="tspan3153"
  89.147 +         y="477.52585"
  89.148 +         x="459.1481"
  89.149 +         sodipodi:role="line"
  89.150 +         style="text-align:center;text-anchor:middle">module</tspan></text>
  89.151 +    <rect
  89.152 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  89.153 +       id="rect3217"
  89.154 +       width="65.276405"
  89.155 +       height="52.250008"
  89.156 +       x="360.40247"
  89.157 +       y="433.58255" />
  89.158 +    <rect
  89.159 +       y="433.58255"
  89.160 +       x="426.40247"
  89.161 +       height="52.250008"
  89.162 +       width="65.276405"
  89.163 +       id="rect3219"
  89.164 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  89.165 +    <text
  89.166 +       sodipodi:linespacing="100%"
  89.167 +       id="text3328"
  89.168 +       y="425.20319"
  89.169 +       x="375.5488"
  89.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"
  89.171 +       xml:space="preserve"><tspan
  89.172 +         style="font-size:10px;text-align:center;text-anchor:middle"
  89.173 +         id="tspan3334"
  89.174 +         y="425.20319"
  89.175 +         x="375.5488"
  89.176 +         sodipodi:role="line">Code Breakdown of a Language Implementation</tspan></text>
  89.177 +    <text
  89.178 +       xml:space="preserve"
  89.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"
  89.180 +       x="297.00894"
  89.181 +       y="447.55026"
  89.182 +       id="text5501"
  89.183 +       sodipodi:linespacing="100%"><tspan
  89.184 +         style="text-align:center;text-anchor:middle"
  89.185 +         id="tspan5503"
  89.186 +         sodipodi:role="line"
  89.187 +         x="297.00894"
  89.188 +         y="447.55026">Code of</tspan><tspan
  89.189 +         style="text-align:center;text-anchor:middle"
  89.190 +         sodipodi:role="line"
  89.191 +         x="297.00894"
  89.192 +         y="457.55026"
  89.193 +         id="tspan6027">wrapper</tspan><tspan
  89.194 +         style="text-align:center;text-anchor:middle"
  89.195 +         sodipodi:role="line"
  89.196 +         x="297.00894"
  89.197 +         y="467.55026"
  89.198 +         id="tspan5507">library</tspan></text>
  89.199 +    <rect
  89.200 +       y="433.58255"
  89.201 +       x="264.40247"
  89.202 +       height="52.250008"
  89.203 +       width="65.276405"
  89.204 +       id="rect5511"
  89.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" />
  89.206 +    <text
  89.207 +       sodipodi:linespacing="100%"
  89.208 +       id="text6035"
  89.209 +       y="503.55026"
  89.210 +       x="297.01334"
  89.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"
  89.212 +       xml:space="preserve"><tspan
  89.213 +         id="tspan6041"
  89.214 +         y="503.55026"
  89.215 +         x="297.01334"
  89.216 +         sodipodi:role="line"
  89.217 +         style="font-size:8px;text-align:center;text-anchor:middle">Compiled into</tspan><tspan
  89.218 +         y="511.55026"
  89.219 +         x="297.01334"
  89.220 +         sodipodi:role="line"
  89.221 +         style="font-size:8px;text-align:center;text-anchor:middle"
  89.222 +         id="tspan6047">application</tspan><tspan
  89.223 +         y="519.55029"
  89.224 +         x="297.01334"
  89.225 +         sodipodi:role="line"
  89.226 +         style="font-size:8px;text-align:center;text-anchor:middle"
  89.227 +         id="tspan6049">executable</tspan></text>
  89.228 +    <text
  89.229 +       xml:space="preserve"
  89.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"
  89.231 +       x="425.00162"
  89.232 +       y="503.55026"
  89.233 +       id="text6051"
  89.234 +       sodipodi:linespacing="100%"><tspan
  89.235 +         style="font-size:8px;text-align:center;text-anchor:middle"
  89.236 +         sodipodi:role="line"
  89.237 +         x="425.00162"
  89.238 +         y="503.55026"
  89.239 +         id="tspan6053">Compiled separately</tspan><tspan
  89.240 +         id="tspan6057"
  89.241 +         style="font-size:8px;text-align:center;text-anchor:middle"
  89.242 +         sodipodi:role="line"
  89.243 +         x="425.00162"
  89.244 +         y="511.55026">as a dynamic library</tspan></text>
  89.245 +  </g>
  89.246 +</svg>
    90.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    90.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_plus_plugin.svg	Sat Aug 03 19:24:22 2013 -0700
    90.3 @@ -0,0 +1,618 @@
    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 +   sodipodi:version="0.32"
   90.19 +   inkscape:version="0.48.2 r9819"
   90.20 +   sodipodi:docname="Proto-Runtime__modules_plus_plugin.svg"
   90.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   90.22 +   version="1.1">
   90.23 +  <defs
   90.24 +     id="defs4">
   90.25 +    <marker
   90.26 +       inkscape:stockid="Arrow2Mend"
   90.27 +       orient="auto"
   90.28 +       refY="0.0"
   90.29 +       refX="0.0"
   90.30 +       id="Arrow2Mend"
   90.31 +       style="overflow:visible;">
   90.32 +      <path
   90.33 +         id="path4008"
   90.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   90.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 "
   90.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   90.37 +    </marker>
   90.38 +    <inkscape:perspective
   90.39 +       sodipodi:type="inkscape:persp3d"
   90.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   90.41 +       inkscape:vp_y="0 : 1000 : 0"
   90.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   90.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   90.44 +       id="perspective10" />
   90.45 +    <inkscape:perspective
   90.46 +       id="perspective12172"
   90.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   90.48 +       inkscape:vp_z="1 : 0.5 : 1"
   90.49 +       inkscape:vp_y="0 : 1000 : 0"
   90.50 +       inkscape:vp_x="0 : 0.5 : 1"
   90.51 +       sodipodi:type="inkscape:persp3d" />
   90.52 +    <inkscape:perspective
   90.53 +       id="perspective12937"
   90.54 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   90.55 +       inkscape:vp_z="1 : 0.5 : 1"
   90.56 +       inkscape:vp_y="0 : 1000 : 0"
   90.57 +       inkscape:vp_x="0 : 0.5 : 1"
   90.58 +       sodipodi:type="inkscape:persp3d" />
   90.59 +  </defs>
   90.60 +  <sodipodi:namedview
   90.61 +     id="base"
   90.62 +     pagecolor="#ffffff"
   90.63 +     bordercolor="#666666"
   90.64 +     borderopacity="1.0"
   90.65 +     gridtolerance="10000"
   90.66 +     guidetolerance="10"
   90.67 +     objecttolerance="10"
   90.68 +     inkscape:pageopacity="0.0"
   90.69 +     inkscape:pageshadow="2"
   90.70 +     inkscape:zoom="1.553811"
   90.71 +     inkscape:cx="310.29102"
   90.72 +     inkscape:cy="586.15006"
   90.73 +     inkscape:document-units="px"
   90.74 +     inkscape:current-layer="layer1"
   90.75 +     showgrid="false"
   90.76 +     inkscape:window-width="1600"
   90.77 +     inkscape:window-height="848"
   90.78 +     inkscape:window-x="-8"
   90.79 +     inkscape:window-y="-8"
   90.80 +     inkscape:window-maximized="1" />
   90.81 +  <metadata
   90.82 +     id="metadata7">
   90.83 +    <rdf:RDF>
   90.84 +      <cc:Work
   90.85 +         rdf:about="">
   90.86 +        <dc:format>image/svg+xml</dc:format>
   90.87 +        <dc:type
   90.88 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   90.89 +        <dc:title />
   90.90 +      </cc:Work>
   90.91 +    </rdf:RDF>
   90.92 +  </metadata>
   90.93 +  <g
   90.94 +     inkscape:label="Layer 1"
   90.95 +     inkscape:groupmode="layer"
   90.96 +     id="layer1">
   90.97 +    <rect
   90.98 +       y="417.82236"
   90.99 +       x="127.32263"
  90.100 +       height="69.307014"
  90.101 +       width="137.26534"
  90.102 +       id="rect12977"
  90.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" />
  90.104 +    <text
  90.105 +       sodipodi:linespacing="100%"
  90.106 +       id="text12979"
  90.107 +       y="399.76575"
  90.108 +       x="195.84009"
  90.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"
  90.110 +       xml:space="preserve"><tspan
  90.111 +         y="399.76575"
  90.112 +         x="195.84009"
  90.113 +         id="tspan12981"
  90.114 +         sodipodi:role="line"
  90.115 +         style="text-align:center;text-anchor:middle">Master</tspan><tspan
  90.116 +         y="408.20053"
  90.117 +         x="195.84009"
  90.118 +         sodipodi:role="line"
  90.119 +         id="tspan3291"
  90.120 +         style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan></text>
  90.121 +    <text
  90.122 +       sodipodi:linespacing="100%"
  90.123 +       id="text12985"
  90.124 +       y="447.55026"
  90.125 +       x="163.00162"
  90.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"
  90.127 +       xml:space="preserve"><tspan
  90.128 +         y="447.55026"
  90.129 +         x="163.00162"
  90.130 +         sodipodi:role="line"
  90.131 +         id="tspan12989"
  90.132 +         style="text-align:center;text-anchor:middle">Construct</tspan><tspan
  90.133 +         id="tspan3147"
  90.134 +         y="457.55026"
  90.135 +         x="163.00162"
  90.136 +         sodipodi:role="line"
  90.137 +         style="text-align:center;text-anchor:middle">Semantics</tspan><tspan
  90.138 +         id="tspan3149"
  90.139 +         y="467.55026"
  90.140 +         x="163.00162"
  90.141 +         sodipodi:role="line"
  90.142 +         style="text-align:center;text-anchor:middle">Module</tspan></text>
  90.143 +    <rect
  90.144 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  90.145 +       id="rect12971"
  90.146 +       width="131.7012"
  90.147 +       height="52.250008"
  90.148 +       x="130.30118"
  90.149 +       y="495.43658" />
  90.150 +    <text
  90.151 +       xml:space="preserve"
  90.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"
  90.153 +       x="196.33487"
  90.154 +       y="515.20319"
  90.155 +       id="text12973"
  90.156 +       sodipodi:linespacing="100%"><tspan
  90.157 +         sodipodi:role="line"
  90.158 +         id="tspan12975"
  90.159 +         x="196.33487"
  90.160 +         y="515.20319"
  90.161 +         style="text-align:center;text-anchor:middle">Hardware Specific Module</tspan><tspan
  90.162 +         sodipodi:role="line"
  90.163 +         x="196.33487"
  90.164 +         y="525.20319"
  90.165 +         style="text-align:center;text-anchor:middle"
  90.166 +         id="tspan3155" /><tspan
  90.167 +         sodipodi:role="line"
  90.168 +         x="196.33487"
  90.169 +         y="533.63794"
  90.170 +         id="tspan3089"
  90.171 +         style="font-size:8px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text>
  90.172 +    <text
  90.173 +       sodipodi:linespacing="100%"
  90.174 +       id="text12985-7"
  90.175 +       y="447.52585"
  90.176 +       x="229.1481"
  90.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"
  90.178 +       xml:space="preserve"><tspan
  90.179 +         y="447.52585"
  90.180 +         x="229.1481"
  90.181 +         id="tspan12987-4"
  90.182 +         sodipodi:role="line"
  90.183 +         style="text-align:center;text-anchor:middle">Assignment</tspan><tspan
  90.184 +         id="tspan3151"
  90.185 +         y="457.52585"
  90.186 +         x="229.1481"
  90.187 +         sodipodi:role="line"
  90.188 +         style="text-align:center;text-anchor:middle">of Work</tspan><tspan
  90.189 +         y="467.52585"
  90.190 +         x="229.1481"
  90.191 +         sodipodi:role="line"
  90.192 +         id="tspan12989-0"
  90.193 +         style="text-align:center;text-anchor:middle">onto Cores</tspan><tspan
  90.194 +         id="tspan3153"
  90.195 +         y="477.52585"
  90.196 +         x="229.1481"
  90.197 +         sodipodi:role="line"
  90.198 +         style="text-align:center;text-anchor:middle">Module</tspan></text>
  90.199 +    <text
  90.200 +       xml:space="preserve"
  90.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"
  90.202 +       x="193.25641"
  90.203 +       y="426.6572"
  90.204 +       id="text12985-8"
  90.205 +       sodipodi:linespacing="100%"><tspan
  90.206 +         style="text-align:center;text-anchor:middle;fill:#800000"
  90.207 +         id="tspan12989-4"
  90.208 +         sodipodi:role="line"
  90.209 +         x="193.25641"
  90.210 +         y="426.6572">Language Plug-in</tspan></text>
  90.211 +    <text
  90.212 +       xml:space="preserve"
  90.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"
  90.214 +       x="196.3902"
  90.215 +       y="493.19415"
  90.216 +       id="text12973-5"
  90.217 +       sodipodi:linespacing="100%"><tspan
  90.218 +         sodipodi:role="line"
  90.219 +         x="196.3902"
  90.220 +         y="493.19415"
  90.221 +         id="tspan3089-7"
  90.222 +         style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text>
  90.223 +    <rect
  90.224 +       y="-495.43658"
  90.225 +       x="130.30118"
  90.226 +       height="9.1641436"
  90.227 +       width="131.7012"
  90.228 +       id="rect3204"
  90.229 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  90.230 +       transform="scale(1,-1)" />
  90.231 +    <rect
  90.232 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  90.233 +       id="rect3217"
  90.234 +       width="65.276405"
  90.235 +       height="52.250008"
  90.236 +       x="130.40247"
  90.237 +       y="433.58255" />
  90.238 +    <rect
  90.239 +       y="433.58255"
  90.240 +       x="196.40247"
  90.241 +       height="52.250008"
  90.242 +       width="65.276405"
  90.243 +       id="rect3219"
  90.244 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  90.245 +    <rect
  90.246 +       style="fill:none;stroke:#000080;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  90.247 +       id="rect3289"
  90.248 +       width="148.27063"
  90.249 +       height="164.03113"
  90.250 +       x="121.82001"
  90.251 +       y="389.8118" />
  90.252 +    <g
  90.253 +       id="g3303"
  90.254 +       transform="translate(-16,76)">
  90.255 +      <rect
  90.256 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  90.257 +         id="rect3293"
  90.258 +         width="65.276405"
  90.259 +         height="52.250008"
  90.260 +         x="310.40247"
  90.261 +         y="313.58255" />
  90.262 +      <text
  90.263 +         sodipodi:linespacing="100%"
  90.264 +         id="text3295"
  90.265 +         y="327.55026"
  90.266 +         x="343.00162"
  90.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"
  90.268 +         xml:space="preserve"><tspan
  90.269 +           id="tspan3301"
  90.270 +           y="327.55026"
  90.271 +           x="343.00162"
  90.272 +           sodipodi:role="line"
  90.273 +           style="text-align:center;text-anchor:middle">Seed VP</tspan></text>
  90.274 +    </g>
  90.275 +    <g
  90.276 +       id="g3314"
  90.277 +       transform="translate(-16,140)">
  90.278 +      <rect
  90.279 +         y="313.58255"
  90.280 +         x="310.40247"
  90.281 +         height="52.250008"
  90.282 +         width="65.276405"
  90.283 +         id="rect3316"
  90.284 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  90.285 +      <text
  90.286 +         xml:space="preserve"
  90.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"
  90.288 +         x="343.00162"
  90.289 +         y="327.55026"
  90.290 +         id="text3318"
  90.291 +         sodipodi:linespacing="100%"><tspan
  90.292 +           style="text-align:center;text-anchor:middle"
  90.293 +           sodipodi:role="line"
  90.294 +           x="343.00162"
  90.295 +           y="327.55026"
  90.296 +           id="tspan3320">VP created</tspan><tspan
  90.297 +           style="text-align:center;text-anchor:middle"
  90.298 +           sodipodi:role="line"
  90.299 +           x="343.00162"
  90.300 +           y="337.55026"
  90.301 +           id="tspan3322">by Application</tspan></text>
  90.302 +    </g>
  90.303 +    <g
  90.304 +       transform="translate(-16,204)"
  90.305 +       id="g3340">
  90.306 +      <rect
  90.307 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  90.308 +         id="rect3342"
  90.309 +         width="65.276405"
  90.310 +         height="52.250008"
  90.311 +         x="310.40247"
  90.312 +         y="313.58255" />
  90.313 +      <text
  90.314 +         sodipodi:linespacing="100%"
  90.315 +         id="text3344"
  90.316 +         y="327.55026"
  90.317 +         x="343.00162"
  90.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"
  90.319 +         xml:space="preserve"><tspan
  90.320 +           id="tspan3346"
  90.321 +           y="327.55026"
  90.322 +           x="343.00162"
  90.323 +           sodipodi:role="line"
  90.324 +           style="text-align:center;text-anchor:middle">VP created</tspan><tspan
  90.325 +           id="tspan3348"
  90.326 +           y="337.55026"
  90.327 +           x="343.00162"
  90.328 +           sodipodi:role="line"
  90.329 +           style="text-align:center;text-anchor:middle">by Application</tspan></text>
  90.330 +    </g>
  90.331 +    <text
  90.332 +       xml:space="preserve"
  90.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"
  90.334 +       x="411.16797"
  90.335 +       y="369.42465"
  90.336 +       id="text3318-1"
  90.337 +       sodipodi:linespacing="100%"><tspan
  90.338 +         style="text-align:center;text-anchor:middle"
  90.339 +         sodipodi:role="line"
  90.340 +         x="411.16797"
  90.341 +         y="369.42465"
  90.342 +         id="tspan3322-5">Application Code</tspan></text>
  90.343 +    <text
  90.344 +       sodipodi:linespacing="100%"
  90.345 +       id="text3376"
  90.346 +       y="417.42465"
  90.347 +       x="411.16797"
  90.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"
  90.349 +       xml:space="preserve"><tspan
  90.350 +         id="tspan3378"
  90.351 +         y="417.42465"
  90.352 +         x="411.16797"
  90.353 +         sodipodi:role="line"
  90.354 +         style="text-align:center;text-anchor:middle">Seed_Fn</tspan></text>
  90.355 +    <text
  90.356 +       xml:space="preserve"
  90.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"
  90.358 +       x="411.16797"
  90.359 +       y="513.42468"
  90.360 +       id="text3380"
  90.361 +       sodipodi:linespacing="100%"><tspan
  90.362 +         style="text-align:center;text-anchor:middle"
  90.363 +         sodipodi:role="line"
  90.364 +         x="411.16797"
  90.365 +         y="513.42468"
  90.366 +         id="tspan3382">Work_Fn</tspan></text>
  90.367 +    <text
  90.368 +       sodipodi:linespacing="100%"
  90.369 +       id="text3384"
  90.370 +       y="505.42465"
  90.371 +       x="511.16797"
  90.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"
  90.373 +       xml:space="preserve"><tspan
  90.374 +         id="tspan3386"
  90.375 +         y="505.42465"
  90.376 +         x="511.16797"
  90.377 +         sodipodi:role="line"
  90.378 +         style="text-align:center;text-anchor:middle">prallelism_construct2_Fn</tspan></text>
  90.379 +    <text
  90.380 +       sodipodi:linespacing="100%"
  90.381 +       id="text3388"
  90.382 +       y="369.42465"
  90.383 +       x="509.16797"
  90.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"
  90.385 +       xml:space="preserve"><tspan
  90.386 +         id="tspan3390"
  90.387 +         y="369.42465"
  90.388 +         x="509.16797"
  90.389 +         sodipodi:role="line"
  90.390 +         style="text-align:center;text-anchor:middle">Language Wrapper Lib</tspan><tspan
  90.391 +         y="379.42465"
  90.392 +         x="509.16797"
  90.393 +         sodipodi:role="line"
  90.394 +         style="text-align:center;text-anchor:middle"
  90.395 +         id="tspan3392">Code</tspan></text>
  90.396 +    <text
  90.397 +       xml:space="preserve"
  90.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"
  90.399 +       x="619.16797"
  90.400 +       y="369.42465"
  90.401 +       id="text3394"
  90.402 +       sodipodi:linespacing="100%"><tspan
  90.403 +         style="text-align:center;text-anchor:middle"
  90.404 +         sodipodi:role="line"
  90.405 +         x="619.16797"
  90.406 +         y="369.42465"
  90.407 +         id="tspan3396">Proto-Runtime Primitive</tspan><tspan
  90.408 +         id="tspan3398"
  90.409 +         style="text-align:center;text-anchor:middle"
  90.410 +         sodipodi:role="line"
  90.411 +         x="619.16797"
  90.412 +         y="379.42465">Code</tspan></text>
  90.413 +    <text
  90.414 +       sodipodi:linespacing="100%"
  90.415 +       id="text3400"
  90.416 +       y="369.42465"
  90.417 +       x="67.167969"
  90.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"
  90.419 +       xml:space="preserve"><tspan
  90.420 +         id="tspan3402"
  90.421 +         y="369.42465"
  90.422 +         x="67.167969"
  90.423 +         sodipodi:role="line"
  90.424 +         style="text-align:center;text-anchor:middle">Language Plugin</tspan><tspan
  90.425 +         y="379.42465"
  90.426 +         x="67.167969"
  90.427 +         sodipodi:role="line"
  90.428 +         style="text-align:center;text-anchor:middle"
  90.429 +         id="tspan3404">Code</tspan></text>
  90.430 +    <text
  90.431 +       xml:space="preserve"
  90.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"
  90.433 +       x="-20.832031"
  90.434 +       y="369.42465"
  90.435 +       id="text3406"
  90.436 +       sodipodi:linespacing="100%"><tspan
  90.437 +         style="text-align:center;text-anchor:middle"
  90.438 +         sodipodi:role="line"
  90.439 +         x="-20.832031"
  90.440 +         y="369.42465"
  90.441 +         id="tspan3408">Proto-Runtime</tspan><tspan
  90.442 +         id="tspan3410"
  90.443 +         style="text-align:center;text-anchor:middle"
  90.444 +         sodipodi:role="line"
  90.445 +         x="-20.832031"
  90.446 +         y="379.42465">Code</tspan></text>
  90.447 +    <text
  90.448 +       xml:space="preserve"
  90.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"
  90.450 +       x="67.167969"
  90.451 +       y="439.42465"
  90.452 +       id="text3412"
  90.453 +       sodipodi:linespacing="100%"><tspan
  90.454 +         style="text-align:center;text-anchor:middle"
  90.455 +         sodipodi:role="line"
  90.456 +         x="67.167969"
  90.457 +         y="439.42465"
  90.458 +         id="tspan3414">Handler</tspan><tspan
  90.459 +         style="text-align:center;text-anchor:middle"
  90.460 +         sodipodi:role="line"
  90.461 +         x="67.167969"
  90.462 +         y="449.42465"
  90.463 +         id="tspan3418">for Language</tspan><tspan
  90.464 +         style="text-align:center;text-anchor:middle"
  90.465 +         sodipodi:role="line"
  90.466 +         x="67.167969"
  90.467 +         y="459.42465"
  90.468 +         id="tspan3422">Construct1</tspan></text>
  90.469 +    <text
  90.470 +       sodipodi:linespacing="100%"
  90.471 +       id="text3424"
  90.472 +       y="481.42465"
  90.473 +       x="67.167969"
  90.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"
  90.475 +       xml:space="preserve"><tspan
  90.476 +         id="tspan3426"
  90.477 +         y="481.42465"
  90.478 +         x="67.167969"
  90.479 +         sodipodi:role="line"
  90.480 +         style="text-align:center;text-anchor:middle">Handler</tspan><tspan
  90.481 +         id="tspan3428"
  90.482 +         y="491.42465"
  90.483 +         x="67.167969"
  90.484 +         sodipodi:role="line"
  90.485 +         style="text-align:center;text-anchor:middle">for Language</tspan><tspan
  90.486 +         id="tspan3430"
  90.487 +         y="501.42465"
  90.488 +         x="67.167969"
  90.489 +         sodipodi:role="line"
  90.490 +         style="text-align:center;text-anchor:middle">Construct2</tspan></text>
  90.491 +    <text
  90.492 +       xml:space="preserve"
  90.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"
  90.494 +       x="-14.832031"
  90.495 +       y="447.42465"
  90.496 +       id="text3432"
  90.497 +       sodipodi:linespacing="100%"><tspan
  90.498 +         style="text-align:center;text-anchor:middle"
  90.499 +         sodipodi:role="line"
  90.500 +         x="-14.832031"
  90.501 +         y="447.42465"
  90.502 +         id="tspan3438">Master Fn</tspan></text>
  90.503 +    <text
  90.504 +       xml:space="preserve"
  90.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"
  90.506 +       x="67.167969"
  90.507 +       y="531.42468"
  90.508 +       id="text3444"
  90.509 +       sodipodi:linespacing="100%"><tspan
  90.510 +         style="text-align:center;text-anchor:middle"
  90.511 +         sodipodi:role="line"
  90.512 +         x="67.167969"
  90.513 +         y="531.42468"
  90.514 +         id="tspan3450">Assigner Fn</tspan></text>
  90.515 +    <text
  90.516 +       xml:space="preserve"
  90.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"
  90.518 +       x="187.16797"
  90.519 +       y="369.42465"
  90.520 +       id="text3456"
  90.521 +       sodipodi:linespacing="100%"><tspan
  90.522 +         style="text-align:center;text-anchor:middle"
  90.523 +         sodipodi:role="line"
  90.524 +         x="187.16797"
  90.525 +         y="369.42465"
  90.526 +         id="tspan3458">Instance of runtime system</tspan><tspan
  90.527 +         id="tspan3460"
  90.528 +         style="text-align:center;text-anchor:middle"
  90.529 +         sodipodi:role="line"
  90.530 +         x="187.16797"
  90.531 +         y="379.42465" /></text>
  90.532 +    <text
  90.533 +       sodipodi:linespacing="100%"
  90.534 +       id="text3462"
  90.535 +       y="369.42465"
  90.536 +       x="329.16797"
  90.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"
  90.538 +       xml:space="preserve"><tspan
  90.539 +         id="tspan3464"
  90.540 +         y="369.42465"
  90.541 +         x="329.16797"
  90.542 +         sodipodi:role="line"
  90.543 +         style="text-align:center;text-anchor:middle">Instances of</tspan><tspan
  90.544 +         y="379.42465"
  90.545 +         x="329.16797"
  90.546 +         sodipodi:role="line"
  90.547 +         style="text-align:center;text-anchor:middle"
  90.548 +         id="tspan3468">Virtual Processors</tspan><tspan
  90.549 +         y="389.42465"
  90.550 +         x="329.16797"
  90.551 +         sodipodi:role="line"
  90.552 +         style="text-align:center;text-anchor:middle"
  90.553 +         id="tspan3466" /></text>
  90.554 +    <path
  90.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"
  90.556 +       d="m 135.99815,448.02605 c -36.926653,0 -36.926653,0 -36.926653,0"
  90.557 +       id="path3470"
  90.558 +       inkscape:connector-curvature="0" />
  90.559 +    <path
  90.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"
  90.561 +       d="m 135.99815,464.23775 c -36.026003,21.6156 -36.026003,21.6156 -36.026003,21.6156"
  90.562 +       id="path3472"
  90.563 +       inkscape:connector-curvature="0" />
  90.564 +    <path
  90.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"
  90.566 +       d="M 205.34819,475.9462 C 98.170847,524.5813 98.170847,524.5813 98.170847,524.5813"
  90.567 +       id="path3474"
  90.568 +       inkscape:connector-curvature="0" />
  90.569 +    <path
  90.570 +       inkscape:connector-curvature="0"
  90.571 +       id="path4796"
  90.572 +       d="m 352.24713,414.02605 c 36.92665,0 36.92665,0 36.92665,0"
  90.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" />
  90.574 +    <path
  90.575 +       inkscape:connector-curvature="0"
  90.576 +       id="path4798"
  90.577 +       d="m 347.34145,484.23775 c 36.026,21.6156 36.026,21.6156 36.026,21.6156"
  90.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" />
  90.579 +    <path
  90.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"
  90.581 +       d="m 347.34145,538.0265 c 36.026,-21.6156 36.026,-21.6156 36.026,-21.6156"
  90.582 +       id="path4800"
  90.583 +       inkscape:connector-curvature="0" />
  90.584 +    <path
  90.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"
  90.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"
  90.587 +       id="path4804"
  90.588 +       inkscape:connector-curvature="0"
  90.589 +       sodipodi:nodetypes="csc" />
  90.590 +    <text
  90.591 +       xml:space="preserve"
  90.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"
  90.593 +       x="511.16797"
  90.594 +       y="465.42465"
  90.595 +       id="text4988"
  90.596 +       sodipodi:linespacing="100%"><tspan
  90.597 +         style="text-align:center;text-anchor:middle"
  90.598 +         sodipodi:role="line"
  90.599 +         x="511.16797"
  90.600 +         y="465.42465"
  90.601 +         id="tspan4990">prallelism_construct1_Fn</tspan></text>
  90.602 +    <path
  90.603 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  90.604 +       d="m 408.02904,422.29841 c 0,38.61474 0,38.61474 0,38.61474"
  90.605 +       id="path4992"
  90.606 +       inkscape:connector-curvature="0"
  90.607 +       sodipodi:nodetypes="cc" />
  90.608 +    <path
  90.609 +       sodipodi:nodetypes="cc"
  90.610 +       inkscape:connector-curvature="0"
  90.611 +       id="path4994"
  90.612 +       d="m 408.02904,522.29841 c 0,38.61474 0,38.61474 0,38.61474"
  90.613 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  90.614 +    <path
  90.615 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  90.616 +       d="m -15.97096,456.2984 c 0,76.74209 0,76.74209 0,76.74209"
  90.617 +       id="path4996"
  90.618 +       inkscape:connector-curvature="0"
  90.619 +       sodipodi:nodetypes="cc" />
  90.620 +  </g>
  90.621 +</svg>
    91.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_plus_plugin_plus_code.pdf has changed
    92.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    92.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_plus_plugin_plus_code.svg	Sat Aug 03 19:24:22 2013 -0700
    92.3 @@ -0,0 +1,2026 @@
    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_plus_plugin_plus_code.svg"
   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="1.05"
   92.71 +     inkscape:cx="290.73583"
   92.72 +     inkscape:cy="472.51234"
   92.73 +     inkscape:document-units="px"
   92.74 +     inkscape:current-layer="layer1"
   92.75 +     showgrid="false"
   92.76 +     inkscape:window-width="1600"
   92.77 +     inkscape:window-height="848"
   92.78 +     inkscape:window-x="-8"
   92.79 +     inkscape:window-y="-8"
   92.80 +     inkscape:window-maximized="1" />
   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="text12979"
  92.100 +       y="353.76575"
  92.101 +       x="326.92542"
  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:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
  92.103 +       xml:space="preserve"><tspan
  92.104 +         y="353.76575"
  92.105 +         x="326.92542"
  92.106 +         id="tspan12981"
  92.107 +         sodipodi:role="line"
  92.108 +         style="text-align:center;text-anchor:middle">Master</tspan><tspan
  92.109 +         y="362.20053"
  92.110 +         x="326.92542"
  92.111 +         sodipodi:role="line"
  92.112 +         id="tspan3291"
  92.113 +         style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan
  92.114 +         y="370.20053"
  92.115 +         x="326.92542"
  92.116 +         sodipodi:role="line"
  92.117 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.118 +         id="tspan8409">on core 1</tspan></text>
  92.119 +    <g
  92.120 +       id="g9336"
  92.121 +       transform="translate(44.002789,-48)">
  92.122 +      <rect
  92.123 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  92.124 +         id="rect3293"
  92.125 +         width="65.276405"
  92.126 +         height="37.165791"
  92.127 +         x="346.40247"
  92.128 +         y="389.58255" />
  92.129 +      <text
  92.130 +         sodipodi:linespacing="100%"
  92.131 +         id="text3295"
  92.132 +         y="400.15268"
  92.133 +         x="379.00162"
  92.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"
  92.135 +         xml:space="preserve"><tspan
  92.136 +           id="tspan3301"
  92.137 +           y="400.15268"
  92.138 +           x="379.00162"
  92.139 +           sodipodi:role="line"
  92.140 +           style="text-align:center;text-anchor:middle;fill:#008000">Seed VP</tspan><tspan
  92.141 +           y="408.58746"
  92.142 +           x="379.00162"
  92.143 +           sodipodi:role="line"
  92.144 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  92.145 +           id="tspan9389">(created at</tspan><tspan
  92.146 +           y="416.58746"
  92.147 +           x="379.00162"
  92.148 +           sodipodi:role="line"
  92.149 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  92.150 +           id="tspan9391">app startup,</tspan><tspan
  92.151 +           y="424.58746"
  92.152 +           x="379.00162"
  92.153 +           sodipodi:role="line"
  92.154 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
  92.155 +           id="tspan9744">on core 1)</tspan></text>
  92.156 +    </g>
  92.157 +    <text
  92.158 +       xml:space="preserve"
  92.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"
  92.160 +       x="517.16797"
  92.161 +       y="307.42465"
  92.162 +       id="text3318-1"
  92.163 +       sodipodi:linespacing="100%"><tspan
  92.164 +         style="text-align:center;text-anchor:middle;fill:#008000"
  92.165 +         sodipodi:role="line"
  92.166 +         x="517.16797"
  92.167 +         y="307.42465"
  92.168 +         id="tspan3322-5">Application Code</tspan></text>
  92.169 +    <text
  92.170 +       sodipodi:linespacing="100%"
  92.171 +       id="text3376"
  92.172 +       y="379.42465"
  92.173 +       x="517.16797"
  92.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"
  92.175 +       xml:space="preserve"><tspan
  92.176 +         id="tspan3378"
  92.177 +         y="379.42465"
  92.178 +         x="517.16797"
  92.179 +         sodipodi:role="line"
  92.180 +         style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text>
  92.181 +    <text
  92.182 +       xml:space="preserve"
  92.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"
  92.184 +       x="517.16797"
  92.185 +       y="599.42468"
  92.186 +       id="text3380"
  92.187 +       sodipodi:linespacing="100%"><tspan
  92.188 +         style="text-align:center;text-anchor:middle;fill:#008000"
  92.189 +         sodipodi:role="line"
  92.190 +         x="517.16797"
  92.191 +         y="599.42468"
  92.192 +         id="tspan3382">Work_Fn</tspan></text>
  92.193 +    <text
  92.194 +       sodipodi:linespacing="100%"
  92.195 +       id="text3388"
  92.196 +       y="307.42465"
  92.197 +       x="604.63812"
  92.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"
  92.199 +       xml:space="preserve"><tspan
  92.200 +         id="tspan3390"
  92.201 +         y="307.42465"
  92.202 +         x="606.14203"
  92.203 +         sodipodi:role="line"
  92.204 +         style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan
  92.205 +         y="317.42465"
  92.206 +         x="604.63812"
  92.207 +         sodipodi:role="line"
  92.208 +         style="text-align:center;text-anchor:middle;fill:#800000"
  92.209 +         id="tspan5106">Wrapper-Lib</tspan><tspan
  92.210 +         y="327.42465"
  92.211 +         x="604.63812"
  92.212 +         sodipodi:role="line"
  92.213 +         style="text-align:center;text-anchor:middle;fill:#800000"
  92.214 +         id="tspan3392">Code</tspan></text>
  92.215 +    <text
  92.216 +       xml:space="preserve"
  92.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"
  92.218 +       x="669.16797"
  92.219 +       y="307.42465"
  92.220 +       id="text3394"
  92.221 +       sodipodi:linespacing="100%"><tspan
  92.222 +         style="text-align:center;text-anchor:middle;fill:#000080"
  92.223 +         sodipodi:role="line"
  92.224 +         x="669.16797"
  92.225 +         y="307.42465"
  92.226 +         id="tspan3396">Proto-Runtime</tspan><tspan
  92.227 +         style="text-align:center;text-anchor:middle;fill:#000080"
  92.228 +         sodipodi:role="line"
  92.229 +         x="669.16797"
  92.230 +         y="317.42465"
  92.231 +         id="tspan4998">Primitive</tspan><tspan
  92.232 +         id="tspan3398"
  92.233 +         style="text-align:center;text-anchor:middle;fill:#000080"
  92.234 +         sodipodi:role="line"
  92.235 +         x="669.16797"
  92.236 +         y="327.42465">Code</tspan></text>
  92.237 +    <text
  92.238 +       xml:space="preserve"
  92.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"
  92.240 +       x="137.31689"
  92.241 +       y="411.42465"
  92.242 +       id="text3412"
  92.243 +       sodipodi:linespacing="100%"><tspan
  92.244 +         style="text-align:center;text-anchor:middle;fill:#800000"
  92.245 +         sodipodi:role="line"
  92.246 +         x="137.31689"
  92.247 +         y="411.42465"
  92.248 +         id="tspan3414">Lang Handler</tspan><tspan
  92.249 +         style="text-align:center;text-anchor:middle;fill:#800000"
  92.250 +         sodipodi:role="line"
  92.251 +         x="137.31689"
  92.252 +         y="421.42465"
  92.253 +         id="tspan3422">for create VP</tspan></text>
  92.254 +    <text
  92.255 +       xml:space="preserve"
  92.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"
  92.257 +       x="137.68066"
  92.258 +       y="459.42468"
  92.259 +       id="text3444"
  92.260 +       sodipodi:linespacing="100%"><tspan
  92.261 +         style="text-align:center;text-anchor:middle;fill:#800000"
  92.262 +         sodipodi:role="line"
  92.263 +         x="137.68066"
  92.264 +         y="459.42468"
  92.265 +         id="tspan3450">Assigner Fn</tspan></text>
  92.266 +    <text
  92.267 +       xml:space="preserve"
  92.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"
  92.269 +       x="327.16797"
  92.270 +       y="309.42465"
  92.271 +       id="text3456"
  92.272 +       sodipodi:linespacing="100%"><tspan
  92.273 +         style="text-align:center;text-anchor:middle"
  92.274 +         sodipodi:role="line"
  92.275 +         x="328.67188"
  92.276 +         y="309.42465"
  92.277 +         id="tspan3458">Instances of </tspan><tspan
  92.278 +         style="text-align:center;text-anchor:middle"
  92.279 +         sodipodi:role="line"
  92.280 +         x="327.16797"
  92.281 +         y="319.42465"
  92.282 +         id="tspan8405">runtime system</tspan><tspan
  92.283 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.284 +         sodipodi:role="line"
  92.285 +         x="327.16797"
  92.286 +         y="327.85944"
  92.287 +         id="tspan9383">(data structs</tspan><tspan
  92.288 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.289 +         sodipodi:role="line"
  92.290 +         x="327.16797"
  92.291 +         y="335.85944"
  92.292 +         id="tspan9385">on heap)</tspan><tspan
  92.293 +         id="tspan3460"
  92.294 +         style="text-align:center;text-anchor:middle"
  92.295 +         sodipodi:role="line"
  92.296 +         x="327.16797"
  92.297 +         y="343.85944" /></text>
  92.298 +    <text
  92.299 +       sodipodi:linespacing="100%"
  92.300 +       id="text3462"
  92.301 +       y="307.42465"
  92.302 +       x="423.16797"
  92.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"
  92.304 +       xml:space="preserve"><tspan
  92.305 +         id="tspan3464"
  92.306 +         y="307.42465"
  92.307 +         x="423.16797"
  92.308 +         sodipodi:role="line"
  92.309 +         style="text-align:center;text-anchor:middle">Instances of</tspan><tspan
  92.310 +         y="317.42465"
  92.311 +         x="423.16797"
  92.312 +         sodipodi:role="line"
  92.313 +         style="text-align:center;text-anchor:middle"
  92.314 +         id="tspan3468">Virtual Processors</tspan><tspan
  92.315 +         y="325.85944"
  92.316 +         x="423.16797"
  92.317 +         sodipodi:role="line"
  92.318 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.319 +         id="tspan3466">(data structs</tspan><tspan
  92.320 +         y="333.85944"
  92.321 +         x="423.16797"
  92.322 +         sodipodi:role="line"
  92.323 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.324 +         id="tspan9387">on heap)</tspan></text>
  92.325 +    <path
  92.326 +       inkscape:connector-curvature="0"
  92.327 +       id="path4796"
  92.328 +       d="m 457.32649,376.02605 c 38.42351,0 38.42351,0 38.42351,0"
  92.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)" />
  92.330 +    <text
  92.331 +       xml:space="preserve"
  92.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"
  92.333 +       x="604.78461"
  92.334 +       y="373.42465"
  92.335 +       id="text4988"
  92.336 +       sodipodi:linespacing="100%"><tspan
  92.337 +         style="text-align:center;text-anchor:middle;fill:#800000"
  92.338 +         sodipodi:role="line"
  92.339 +         x="604.78461"
  92.340 +         y="373.42465"
  92.341 +         id="tspan4990">create VP</tspan><tspan
  92.342 +         style="text-align:center;text-anchor:middle;fill:#800000"
  92.343 +         sodipodi:role="line"
  92.344 +         x="604.78461"
  92.345 +         y="383.42465"
  92.346 +         id="tspan5104">wrapper Fn</tspan></text>
  92.347 +    <text
  92.348 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  92.349 +       xml:space="preserve"
  92.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"
  92.351 +       x="638.25385"
  92.352 +       y="404.96878"
  92.353 +       id="text5064"
  92.354 +       sodipodi:linespacing="100%"><tspan
  92.355 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.356 +         sodipodi:role="line"
  92.357 +         x="638.25385"
  92.358 +         y="404.96878"
  92.359 +         id="tspan5066">Call to dyn lib</tspan></text>
  92.360 +    <path
  92.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)"
  92.362 +       d="m 291.99816,376.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
  92.363 +       id="path5068"
  92.364 +       inkscape:connector-curvature="0" />
  92.365 +    <text
  92.366 +       sodipodi:linespacing="100%"
  92.367 +       id="text5070"
  92.368 +       y="415.78891"
  92.369 +       x="180.73463"
  92.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"
  92.371 +       xml:space="preserve"
  92.372 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  92.373 +         id="tspan5072"
  92.374 +         y="415.78891"
  92.375 +         x="180.73463"
  92.376 +         sodipodi:role="line"
  92.377 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
  92.378 +    <text
  92.379 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
  92.380 +       xml:space="preserve"
  92.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"
  92.382 +       x="400.64069"
  92.383 +       y="458.46729"
  92.384 +       id="text5074"
  92.385 +       sodipodi:linespacing="100%"><tspan
  92.386 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.387 +         sodipodi:role="line"
  92.388 +         x="400.64069"
  92.389 +         y="458.46729"
  92.390 +         id="tspan5076">Top Level Fn</tspan></text>
  92.391 +    <text
  92.392 +       sodipodi:linespacing="100%"
  92.393 +       id="text5078"
  92.394 +       y="674.45374"
  92.395 +       x="358.75928"
  92.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"
  92.397 +       xml:space="preserve"
  92.398 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  92.399 +         id="tspan5080"
  92.400 +         y="674.45374"
  92.401 +         x="358.75928"
  92.402 +         sodipodi:role="line"
  92.403 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
  92.404 +    <path
  92.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)"
  92.406 +       d="m 458.9835,596.02605 c 36.7665,0 36.7665,0 36.7665,0"
  92.407 +       id="path5082"
  92.408 +       inkscape:connector-curvature="0" />
  92.409 +    <path
  92.410 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  92.411 +       d="m 514.02904,382.01894 c 0,5.6572 0,5.6572 0,5.6572"
  92.412 +       id="path5092"
  92.413 +       inkscape:connector-curvature="0"
  92.414 +       sodipodi:nodetypes="cc" />
  92.415 +    <path
  92.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)"
  92.417 +       d="m 514.24714,388.02605 c 85.56237,0 85.56237,0 85.56237,0"
  92.418 +       id="path5094"
  92.419 +       inkscape:connector-curvature="0" />
  92.420 +    <path
  92.421 +       inkscape:connector-curvature="0"
  92.422 +       id="path5096"
  92.423 +       d="m 602.77166,496.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
  92.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)" />
  92.425 +    <path
  92.426 +       sodipodi:nodetypes="cc"
  92.427 +       inkscape:connector-curvature="0"
  92.428 +       id="path5140"
  92.429 +       d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842"
  92.430 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  92.431 +    <path
  92.432 +       inkscape:connector-curvature="0"
  92.433 +       id="path5142"
  92.434 +       d="m 514.2471,522.02605 c 87.58783,0 87.58783,0 87.58783,0"
  92.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)" />
  92.436 +    <text
  92.437 +       sodipodi:linespacing="100%"
  92.438 +       id="text5157"
  92.439 +       y="508.71182"
  92.440 +       x="604.78461"
  92.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"
  92.442 +       xml:space="preserve"><tspan
  92.443 +         id="tspan5161"
  92.444 +         y="508.71182"
  92.445 +         x="604.78461"
  92.446 +         sodipodi:role="line"
  92.447 +         style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan
  92.448 +         y="518.71179"
  92.449 +         x="604.78461"
  92.450 +         sodipodi:role="line"
  92.451 +         style="text-align:center;text-anchor:middle;fill:#800000"
  92.452 +         id="tspan5207">wrapper Fn</tspan></text>
  92.453 +    <path
  92.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)"
  92.455 +       d="m 602.26584,528.02605 c 63.99676,0 63.99676,0 63.99676,0"
  92.456 +       id="path5165"
  92.457 +       inkscape:connector-curvature="0" />
  92.458 +    <path
  92.459 +       sodipodi:nodetypes="cc"
  92.460 +       inkscape:connector-curvature="0"
  92.461 +       id="path5179"
  92.462 +       d="m 514.02904,602.01895 c 0,5.6572 0,5.6572 0,5.6572"
  92.463 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  92.464 +    <path
  92.465 +       sodipodi:nodetypes="cc"
  92.466 +       inkscape:connector-curvature="0"
  92.467 +       id="path5209"
  92.468 +       d="m 602.02904,520.31985 c 0,7.35629 0,7.35629 0,7.35629"
  92.469 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  92.470 +    <text
  92.471 +       xml:space="preserve"
  92.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"
  92.473 +       x="497.16797"
  92.474 +       y="399.42468"
  92.475 +       id="text5211"
  92.476 +       sodipodi:linespacing="100%"><tspan
  92.477 +         style="text-align:center;text-anchor:middle"
  92.478 +         sodipodi:role="line"
  92.479 +         x="497.16797"
  92.480 +         y="399.42468"
  92.481 +         id="tspan5215" /></text>
  92.482 +    <path
  92.483 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  92.484 +       d="m 602.02904,388.21843 c 0,19.4577 0,19.4577 0,19.4577"
  92.485 +       id="path5217"
  92.486 +       inkscape:connector-curvature="0"
  92.487 +       sodipodi:nodetypes="cc" />
  92.488 +    <path
  92.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)"
  92.490 +       d="m 602.24714,408.02605 c 64.71029,0 64.71029,0 64.71029,0"
  92.491 +       id="path5219"
  92.492 +       inkscape:connector-curvature="0" />
  92.493 +    <path
  92.494 +       inkscape:connector-curvature="0"
  92.495 +       id="path5221"
  92.496 +       d="m 666.85635,492.02605 c -65.78483,0 -65.78483,0 -65.78483,0"
  92.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)" />
  92.498 +    <path
  92.499 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  92.500 +       d="m 668.02904,406.63925 c 0,13.68455 0,13.68455 0,13.68455"
  92.501 +       id="path5223"
  92.502 +       inkscape:connector-curvature="0"
  92.503 +       sodipodi:nodetypes="cc" />
  92.504 +    <path
  92.505 +       sodipodi:nodetypes="cc"
  92.506 +       inkscape:connector-curvature="0"
  92.507 +       id="path5229"
  92.508 +       d="m 602.02904,491.22687 c 0,5.5885 0,5.5885 0,5.5885"
  92.509 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  92.510 +    <path
  92.511 +       sodipodi:nodetypes="cc"
  92.512 +       inkscape:connector-curvature="0"
  92.513 +       id="path5235"
  92.514 +       d="m 668.02904,478.63925 c 0,13.68455 0,13.68455 0,13.68455"
  92.515 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  92.516 +    <text
  92.517 +       sodipodi:linespacing="100%"
  92.518 +       id="text5239"
  92.519 +       y="770.82495"
  92.520 +       x="188.36783"
  92.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"
  92.522 +       xml:space="preserve"
  92.523 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  92.524 +         id="tspan5241"
  92.525 +         y="770.82495"
  92.526 +         x="188.36783"
  92.527 +         sodipodi:role="line"
  92.528 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  92.529 +         y="778.82495"
  92.530 +         x="188.36783"
  92.531 +         sodipodi:role="line"
  92.532 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.533 +         id="tspan5243">and switch</tspan><tspan
  92.534 +         y="786.82495"
  92.535 +         x="188.36783"
  92.536 +         sodipodi:role="line"
  92.537 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.538 +         id="tspan5245">to runtime</tspan></text>
  92.539 +    <path
  92.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)"
  92.541 +       d="m 271.03421,480.02605 c 193.92439,0 193.92439,0 193.92439,0"
  92.542 +       id="path5247"
  92.543 +       inkscape:connector-curvature="0" />
  92.544 +    <text
  92.545 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  92.546 +       xml:space="preserve"
  92.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"
  92.548 +       x="157.7636"
  92.549 +       y="802.43799"
  92.550 +       id="text5249"
  92.551 +       sodipodi:linespacing="100%"><tspan
  92.552 +         id="tspan5255"
  92.553 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.554 +         sodipodi:role="line"
  92.555 +         x="157.7636"
  92.556 +         y="802.43799">return</tspan><tspan
  92.557 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.558 +         sodipodi:role="line"
  92.559 +         x="157.7636"
  92.560 +         y="810.43799"
  92.561 +         id="tspan5261">from</tspan><tspan
  92.562 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.563 +         sodipodi:role="line"
  92.564 +         x="157.7636"
  92.565 +         y="818.43799"
  92.566 +         id="tspan5263">suspend</tspan></text>
  92.567 +    <text
  92.568 +       sodipodi:linespacing="100%"
  92.569 +       id="text5345"
  92.570 +       y="395.42465"
  92.571 +       x="667.38037"
  92.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"
  92.573 +       xml:space="preserve"><tspan
  92.574 +         id="tspan5349"
  92.575 +         y="395.42465"
  92.576 +         x="667.38037"
  92.577 +         sodipodi:role="line"
  92.578 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
  92.579 +         y="405.42465"
  92.580 +         x="667.38037"
  92.581 +         sodipodi:role="line"
  92.582 +         style="text-align:center;text-anchor:middle;fill:#000080"
  92.583 +         id="tspan5353">to send request</tspan></text>
  92.584 +    <text
  92.585 +       sodipodi:linespacing="100%"
  92.586 +       id="text5355"
  92.587 +       y="392.71429"
  92.588 +       x="555.29077"
  92.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"
  92.590 +       xml:space="preserve"
  92.591 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  92.592 +         id="tspan5357"
  92.593 +         y="392.71429"
  92.594 +         x="555.29077"
  92.595 +         sodipodi:role="line"
  92.596 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
  92.597 +    <path
  92.598 +       sodipodi:nodetypes="cc"
  92.599 +       inkscape:connector-curvature="0"
  92.600 +       id="path5359"
  92.601 +       d="m 668.02904,527.28283 c 0,13.68455 0,13.68455 0,13.68455"
  92.602 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  92.603 +    <text
  92.604 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  92.605 +       xml:space="preserve"
  92.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"
  92.607 +       x="107.72998"
  92.608 +       y="856.99628"
  92.609 +       id="text5363"
  92.610 +       sodipodi:linespacing="100%"><tspan
  92.611 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.612 +         sodipodi:role="line"
  92.613 +         x="107.72998"
  92.614 +         y="856.99628"
  92.615 +         id="tspan5365">suspend</tspan><tspan
  92.616 +         id="tspan5367"
  92.617 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.618 +         sodipodi:role="line"
  92.619 +         x="107.72998"
  92.620 +         y="864.99628">and switch</tspan><tspan
  92.621 +         id="tspan5369"
  92.622 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.623 +         sodipodi:role="line"
  92.624 +         x="107.72998"
  92.625 +         y="872.99628">to runtime</tspan></text>
  92.626 +    <text
  92.627 +       sodipodi:linespacing="100%"
  92.628 +       id="text5371"
  92.629 +       y="593.42468"
  92.630 +       x="604.59662"
  92.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"
  92.632 +       xml:space="preserve"><tspan
  92.633 +         id="tspan5373"
  92.634 +         y="593.42468"
  92.635 +         x="604.59662"
  92.636 +         sodipodi:role="line"
  92.637 +         style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan
  92.638 +         id="tspan5375"
  92.639 +         y="603.42468"
  92.640 +         x="604.59662"
  92.641 +         sodipodi:role="line"
  92.642 +         style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text>
  92.643 +    <path
  92.644 +       inkscape:connector-curvature="0"
  92.645 +       id="path5379"
  92.646 +       d="m 514.24714,608.02605 c 85.56237,0 85.56237,0 85.56237,0"
  92.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)" />
  92.648 +    <path
  92.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)"
  92.650 +       d="m 602.77166,708.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
  92.651 +       id="path5381"
  92.652 +       inkscape:connector-curvature="0" />
  92.653 +    <text
  92.654 +       xml:space="preserve"
  92.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"
  92.656 +       x="604.78461"
  92.657 +       y="720.71179"
  92.658 +       id="text5387"
  92.659 +       sodipodi:linespacing="100%"><tspan
  92.660 +         style="text-align:center;text-anchor:middle;fill:#800000"
  92.661 +         sodipodi:role="line"
  92.662 +         x="604.78461"
  92.663 +         y="720.71179"
  92.664 +         id="tspan5389">end VP</tspan><tspan
  92.665 +         id="tspan5391"
  92.666 +         style="text-align:center;text-anchor:middle;fill:#800000"
  92.667 +         sodipodi:role="line"
  92.668 +         x="604.78461"
  92.669 +         y="730.71179">wrapper Fn</tspan></text>
  92.670 +    <path
  92.671 +       inkscape:connector-curvature="0"
  92.672 +       id="path5393"
  92.673 +       d="m 602.289,740.02605 c 65.24023,0 65.24023,0 65.24023,0"
  92.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)" />
  92.675 +    <path
  92.676 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  92.677 +       d="m 602.02904,732.31985 c 0,7.35629 0,7.35629 0,7.35629"
  92.678 +       id="path5401"
  92.679 +       inkscape:connector-curvature="0"
  92.680 +       sodipodi:nodetypes="cc" />
  92.681 +    <path
  92.682 +       sodipodi:nodetypes="cc"
  92.683 +       inkscape:connector-curvature="0"
  92.684 +       id="path5403"
  92.685 +       d="m 602.02904,608.21843 c 0,19.4577 0,19.4577 0,19.4577"
  92.686 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  92.687 +    <path
  92.688 +       inkscape:connector-curvature="0"
  92.689 +       id="path5405"
  92.690 +       d="m 602.6148,628.02605 c 64.1779,0 64.1779,0 64.1779,0"
  92.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)" />
  92.692 +    <path
  92.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)"
  92.694 +       d="m 668.13452,704.02605 c -67.06305,0 -67.06305,0 -67.06305,0"
  92.695 +       id="path5407"
  92.696 +       inkscape:connector-curvature="0" />
  92.697 +    <path
  92.698 +       sodipodi:nodetypes="cc"
  92.699 +       inkscape:connector-curvature="0"
  92.700 +       id="path5409"
  92.701 +       d="m 668.02904,626.63925 c 0,13.68455 0,13.68455 0,13.68455"
  92.702 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  92.703 +    <path
  92.704 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  92.705 +       d="m 602.02904,703.22687 c 0,5.5885 0,5.5885 0,5.5885"
  92.706 +       id="path5411"
  92.707 +       inkscape:connector-curvature="0"
  92.708 +       sodipodi:nodetypes="cc" />
  92.709 +    <path
  92.710 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  92.711 +       d="m 668.02904,690.63925 c 0,13.68455 0,13.68455 0,13.68455"
  92.712 +       id="path5417"
  92.713 +       inkscape:connector-curvature="0"
  92.714 +       sodipodi:nodetypes="cc" />
  92.715 +    <text
  92.716 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  92.717 +       xml:space="preserve"
  92.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"
  92.719 +       x="38.175541"
  92.720 +       y="928.84552"
  92.721 +       id="text5421"
  92.722 +       sodipodi:linespacing="100%"><tspan
  92.723 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.724 +         sodipodi:role="line"
  92.725 +         x="38.175541"
  92.726 +         y="928.84552"
  92.727 +         id="tspan5423">suspend</tspan><tspan
  92.728 +         id="tspan5425"
  92.729 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.730 +         sodipodi:role="line"
  92.731 +         x="38.175541"
  92.732 +         y="936.84552">and switch</tspan><tspan
  92.733 +         id="tspan5427"
  92.734 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.735 +         sodipodi:role="line"
  92.736 +         x="38.175541"
  92.737 +         y="944.84552">to runtime</tspan></text>
  92.738 +    <text
  92.739 +       sodipodi:linespacing="100%"
  92.740 +       id="text5431"
  92.741 +       y="954.75671"
  92.742 +       x="10.307833"
  92.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"
  92.744 +       xml:space="preserve"
  92.745 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  92.746 +         y="954.75671"
  92.747 +         x="10.307833"
  92.748 +         sodipodi:role="line"
  92.749 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.750 +         id="tspan5433">return</tspan><tspan
  92.751 +         id="tspan5435"
  92.752 +         y="962.75671"
  92.753 +         x="10.307833"
  92.754 +         sodipodi:role="line"
  92.755 +         style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan
  92.756 +         id="tspan5437"
  92.757 +         y="970.75671"
  92.758 +         x="10.307833"
  92.759 +         sodipodi:role="line"
  92.760 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
  92.761 +    <text
  92.762 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  92.763 +       xml:space="preserve"
  92.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"
  92.765 +       x="556.25635"
  92.766 +       y="612.71143"
  92.767 +       id="text5445"
  92.768 +       sodipodi:linespacing="100%"><tspan
  92.769 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.770 +         sodipodi:role="line"
  92.771 +         x="556.25635"
  92.772 +         y="612.71143"
  92.773 +         id="tspan5447">normal call</tspan></text>
  92.774 +    <path
  92.775 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  92.776 +       d="m 668.02904,739.28283 c 0,13.68455 0,13.68455 0,13.68455"
  92.777 +       id="path5449"
  92.778 +       inkscape:connector-curvature="0"
  92.779 +       sodipodi:nodetypes="cc" />
  92.780 +    <text
  92.781 +       sodipodi:linespacing="100%"
  92.782 +       id="text5453"
  92.783 +       y="1012.1439"
  92.784 +       x="-39.679813"
  92.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"
  92.786 +       xml:space="preserve"
  92.787 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  92.788 +         id="tspan5455"
  92.789 +         y="1012.1439"
  92.790 +         x="-39.679813"
  92.791 +         sodipodi:role="line"
  92.792 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  92.793 +         y="1020.1439"
  92.794 +         x="-39.679813"
  92.795 +         sodipodi:role="line"
  92.796 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.797 +         id="tspan5457">and switch</tspan><tspan
  92.798 +         y="1028.144"
  92.799 +         x="-39.679813"
  92.800 +         sodipodi:role="line"
  92.801 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.802 +         id="tspan5459">to runtime</tspan></text>
  92.803 +    <path
  92.804 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  92.805 +       d="m 514.02904,708.31987 c 0,26.21842 0,26.21842 0,26.21842"
  92.806 +       id="path5461"
  92.807 +       inkscape:connector-curvature="0"
  92.808 +       sodipodi:nodetypes="cc" />
  92.809 +    <path
  92.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)"
  92.811 +       d="m 514.2471,734.02605 c 87.58783,0 87.58783,0 87.58783,0"
  92.812 +       id="path5463"
  92.813 +       inkscape:connector-curvature="0" />
  92.814 +    <text
  92.815 +       sodipodi:linespacing="100%"
  92.816 +       id="text5465"
  92.817 +       y="526.71161"
  92.818 +       x="555.8786"
  92.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"
  92.820 +       xml:space="preserve"
  92.821 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  92.822 +         id="tspan5467"
  92.823 +         y="526.71161"
  92.824 +         x="555.8786"
  92.825 +         sodipodi:role="line"
  92.826 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
  92.827 +    <text
  92.828 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  92.829 +       xml:space="preserve"
  92.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"
  92.831 +       x="556.80994"
  92.832 +       y="738.711"
  92.833 +       id="text5469"
  92.834 +       sodipodi:linespacing="100%"><tspan
  92.835 +         style="font-size:8px;text-align:center;text-anchor:middle"
  92.836 +         sodipodi:role="line"
  92.837 +         x="556.80994"
  92.838 +         y="738.711"
  92.839 +         id="tspan5471">normal call</tspan></text>
  92.840 +    <g
  92.841 +       transform="matrix(1,0,0,0.71130685,-16,120.52913)"
  92.842 +       id="g8395">
  92.843 +      <rect
  92.844 +         y="313.58255"
  92.845 +         x="310.40247"
  92.846 +         height="52.250008"
  92.847 +         width="65.276405"
  92.848 +         id="rect8397"
  92.849 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  92.850 +    </g>
  92.851 +    <path
  92.852 +       sodipodi:nodetypes="cc"
  92.853 +       inkscape:connector-curvature="0"
  92.854 +       id="path9273"
  92.855 +       d="m 514.02904,496.31987 c 0,26.21842 0,26.21842 0,26.21842"
  92.856 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  92.857 +    <path
  92.858 +       sodipodi:nodetypes="cc"
  92.859 +       inkscape:connector-curvature="0"
  92.860 +       id="path9275"
  92.861 +       d="m 476.02904,382.79398 c 0,35.61575 0,35.61575 0,35.61575"
  92.862 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
  92.863 +    <path
  92.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"
  92.865 +       d="m 468.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0"
  92.866 +       id="path9277"
  92.867 +       inkscape:connector-curvature="0" />
  92.868 +    <path
  92.869 +       inkscape:connector-curvature="0"
  92.870 +       id="path9279"
  92.871 +       d="m 481.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
  92.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" />
  92.873 +    <path
  92.874 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  92.875 +       d="m 476.02904,480.3113 c 0,57.40944 0,57.40944 0,57.40944"
  92.876 +       id="path9281"
  92.877 +       inkscape:connector-curvature="0"
  92.878 +       sodipodi:nodetypes="cc" />
  92.879 +    <path
  92.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"
  92.881 +       d="m 481.57781,539.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
  92.882 +       id="path9283"
  92.883 +       inkscape:connector-curvature="0" />
  92.884 +    <text
  92.885 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"
  92.886 +       xml:space="preserve"
  92.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"
  92.888 +       x="453.93332"
  92.889 +       y="-466.39136"
  92.890 +       id="text9285"
  92.891 +       sodipodi:linespacing="100%"><tspan
  92.892 +         style="text-align:center;text-anchor:middle;fill:#008000"
  92.893 +         sodipodi:role="line"
  92.894 +         x="453.93332"
  92.895 +         y="-466.39136"
  92.896 +         id="tspan9287">Timeline of SeedVP</tspan></text>
  92.897 +    <text
  92.898 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  92.899 +       xml:space="preserve"
  92.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"
  92.901 +       x="485.39722"
  92.902 +       y="417.02103"
  92.903 +       id="text9289"
  92.904 +       sodipodi:linespacing="100%"><tspan
  92.905 +         style="font-size:8px;text-align:start;text-anchor:start"
  92.906 +         sodipodi:role="line"
  92.907 +         x="485.39722"
  92.908 +         y="417.02103"
  92.909 +         id="tspan9291">suspend</tspan></text>
  92.910 +    <text
  92.911 +       sodipodi:linespacing="100%"
  92.912 +       id="text9293"
  92.913 +       y="481.02048"
  92.914 +       x="485.67838"
  92.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"
  92.916 +       xml:space="preserve"
  92.917 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  92.918 +         id="tspan9295"
  92.919 +         y="481.02048"
  92.920 +         x="485.67838"
  92.921 +         sodipodi:role="line"
  92.922 +         style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text>
  92.923 +    <text
  92.924 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  92.925 +       xml:space="preserve"
  92.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"
  92.927 +       x="485.92978"
  92.928 +       y="538.22565"
  92.929 +       id="text9297"
  92.930 +       sodipodi:linespacing="100%"><tspan
  92.931 +         style="font-size:8px;text-align:start;text-anchor:start"
  92.932 +         sodipodi:role="line"
  92.933 +         x="485.92978"
  92.934 +         y="538.22565"
  92.935 +         id="tspan9299">end</tspan></text>
  92.936 +    <text
  92.937 +       sodipodi:linespacing="100%"
  92.938 +       id="text9301"
  92.939 +       y="307.42465"
  92.940 +       x="63.167969"
  92.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"
  92.942 +       xml:space="preserve"><tspan
  92.943 +         id="tspan9303"
  92.944 +         y="307.42465"
  92.945 +         x="63.167969"
  92.946 +         sodipodi:role="line"
  92.947 +         style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan
  92.948 +         id="tspan9305"
  92.949 +         y="317.42465"
  92.950 +         x="63.167969"
  92.951 +         sodipodi:role="line"
  92.952 +         style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan
  92.953 +         y="327.42465"
  92.954 +         x="63.167969"
  92.955 +         sodipodi:role="line"
  92.956 +         style="text-align:center;text-anchor:middle;fill:#000080"
  92.957 +         id="tspan9307">Code</tspan></text>
  92.958 +    <text
  92.959 +       xml:space="preserve"
  92.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"
  92.961 +       x="65.380371"
  92.962 +       y="423.42465"
  92.963 +       id="text9309"
  92.964 +       sodipodi:linespacing="100%"><tspan
  92.965 +         id="tspan9313"
  92.966 +         style="text-align:center;text-anchor:middle;fill:#000080"
  92.967 +         sodipodi:role="line"
  92.968 +         x="65.380371"
  92.969 +         y="423.42465">PR primitive Fn</tspan><tspan
  92.970 +         style="text-align:center;text-anchor:middle;fill:#000080"
  92.971 +         sodipodi:role="line"
  92.972 +         x="65.380371"
  92.973 +         y="433.42465"
  92.974 +         id="tspan9317">to create VP</tspan></text>
  92.975 +    <path
  92.976 +       inkscape:connector-curvature="0"
  92.977 +       id="path9321"
  92.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"
  92.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)"
  92.980 +       sodipodi:nodetypes="csc" />
  92.981 +    <g
  92.982 +       id="g9341"
  92.983 +       transform="translate(44.002789,174)">
  92.984 +      <rect
  92.985 +         y="389.58255"
  92.986 +         x="346.40247"
  92.987 +         height="37.165791"
  92.988 +         width="65.276405"
  92.989 +         id="rect9343"
  92.990 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  92.991 +      <text
  92.992 +         xml:space="preserve"
  92.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"
  92.994 +         x="379.35806"
  92.995 +         y="400.72159"
  92.996 +         id="text9345"
  92.997 +         sodipodi:linespacing="100%"><tspan
  92.998 +           style="text-align:center;text-anchor:middle;fill:#008000"
  92.999 +           sodipodi:role="line"
 92.1000 +           x="379.35806"
 92.1001 +           y="400.72159"
 92.1002 +           id="tspan9347">VP 1</tspan><tspan
 92.1003 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
 92.1004 +           sodipodi:role="line"
 92.1005 +           x="379.35806"
 92.1006 +           y="409.15637"
 92.1007 +           id="tspan9349">(created by</tspan><tspan
 92.1008 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
 92.1009 +           sodipodi:role="line"
 92.1010 +           x="379.35806"
 92.1011 +           y="417.15637"
 92.1012 +           id="tspan9355">application,</tspan><tspan
 92.1013 +           style="font-size:8px;text-align:center;text-anchor:middle;fill:#008000"
 92.1014 +           sodipodi:role="line"
 92.1015 +           x="379.35806"
 92.1016 +           y="425.15637"
 92.1017 +           id="tspan9746">on core 2)</tspan></text>
 92.1018 +    </g>
 92.1019 +    <g
 92.1020 +       transform="translate(44.002789,370)"
 92.1021 +       id="g9371" />
 92.1022 +    <text
 92.1023 +       xml:space="preserve"
 92.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"
 92.1025 +       x="202.41257"
 92.1026 +       y="379.42465"
 92.1027 +       id="text9512"
 92.1028 +       sodipodi:linespacing="100%"><tspan
 92.1029 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1030 +         sodipodi:role="line"
 92.1031 +         x="202.41257"
 92.1032 +         y="379.42465"
 92.1033 +         id="tspan9514">Master Fn</tspan></text>
 92.1034 +    <path
 92.1035 +       sodipodi:nodetypes="cc"
 92.1036 +       inkscape:connector-curvature="0"
 92.1037 +       id="path9522"
 92.1038 +       d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1039 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 92.1040 +    <path
 92.1041 +       inkscape:connector-curvature="0"
 92.1042 +       id="path9524"
 92.1043 +       d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 92.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)" />
 92.1045 +    <path
 92.1046 +       sodipodi:nodetypes="cc"
 92.1047 +       inkscape:connector-curvature="0"
 92.1048 +       id="path9548"
 92.1049 +       d="m 137.27805,423.85824 c 0,11.43122 0,11.43122 0,11.43122"
 92.1050 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 92.1051 +    <path
 92.1052 +       inkscape:connector-curvature="0"
 92.1053 +       id="path9550"
 92.1054 +       d="m 137.57123,436.02605 c -69.22157,0 -69.22157,0 -69.22157,0"
 92.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)" />
 92.1056 +    <path
 92.1057 +       sodipodi:nodetypes="cc"
 92.1058 +       inkscape:connector-curvature="0"
 92.1059 +       id="path9554"
 92.1060 +       d="m 205.27805,474.63925 c 0,4.54718 0,4.54718 0,4.54718"
 92.1061 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 92.1062 +    <text
 92.1063 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 92.1064 +       xml:space="preserve"
 92.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"
 92.1066 +       x="-187.67645"
 92.1067 +       y="493.07611"
 92.1068 +       id="text9566"
 92.1069 +       sodipodi:linespacing="100%"><tspan
 92.1070 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1071 +         sodipodi:role="line"
 92.1072 +         x="-187.67645"
 92.1073 +         y="493.07611"
 92.1074 +         id="tspan9568">suspend</tspan><tspan
 92.1075 +         id="tspan9570"
 92.1076 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1077 +         sodipodi:role="line"
 92.1078 +         x="-187.67645"
 92.1079 +         y="501.07611">and switch</tspan><tspan
 92.1080 +         id="tspan9572"
 92.1081 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1082 +         sodipodi:role="line"
 92.1083 +         x="-187.67645"
 92.1084 +         y="509.07611">to app VP</tspan></text>
 92.1085 +    <path
 92.1086 +       sodipodi:nodetypes="cc"
 92.1087 +       inkscape:connector-curvature="0"
 92.1088 +       id="path9614"
 92.1089 +       d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1090 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 92.1091 +    <path
 92.1092 +       sodipodi:nodetypes="cc"
 92.1093 +       inkscape:connector-curvature="0"
 92.1094 +       id="path9616"
 92.1095 +       d="m 205.27805,418.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1096 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 92.1097 +    <path
 92.1098 +       inkscape:connector-curvature="0"
 92.1099 +       id="path9648"
 92.1100 +       d="m 468.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0"
 92.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" />
 92.1102 +    <text
 92.1103 +       sodipodi:linespacing="100%"
 92.1104 +       id="text9654"
 92.1105 +       y="385.02261"
 92.1106 +       x="485.25659"
 92.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"
 92.1108 +       xml:space="preserve"
 92.1109 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 92.1110 +         id="tspan9656"
 92.1111 +         y="385.02261"
 92.1112 +         x="485.25659"
 92.1113 +         sodipodi:role="line"
 92.1114 +         style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text>
 92.1115 +    <path
 92.1116 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
 92.1117 +       d="m 476.02904,602.79398 c 0,35.61575 0,35.61575 0,35.61575"
 92.1118 +       id="path9658"
 92.1119 +       inkscape:connector-curvature="0"
 92.1120 +       sodipodi:nodetypes="cc" />
 92.1121 +    <path
 92.1122 +       inkscape:connector-curvature="0"
 92.1123 +       id="path9660"
 92.1124 +       d="m 468.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0"
 92.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" />
 92.1126 +    <path
 92.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"
 92.1128 +       d="m 481.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 92.1129 +       id="path9662"
 92.1130 +       inkscape:connector-curvature="0" />
 92.1131 +    <text
 92.1132 +       sodipodi:linespacing="100%"
 92.1133 +       id="text9668"
 92.1134 +       y="-464.48126"
 92.1135 +       x="672.00745"
 92.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"
 92.1137 +       xml:space="preserve"
 92.1138 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan
 92.1139 +         y="-464.48126"
 92.1140 +         x="672.00745"
 92.1141 +         sodipodi:role="line"
 92.1142 +         style="text-align:center;text-anchor:middle;fill:#008000"
 92.1143 +         id="tspan9740">Timeline of VP 1</tspan></text>
 92.1144 +    <text
 92.1145 +       sodipodi:linespacing="100%"
 92.1146 +       id="text9672"
 92.1147 +       y="637.01904"
 92.1148 +       x="486.36292"
 92.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"
 92.1150 +       xml:space="preserve"
 92.1151 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 92.1152 +         id="tspan9674"
 92.1153 +         y="637.01904"
 92.1154 +         x="486.36292"
 92.1155 +         sodipodi:role="line"
 92.1156 +         style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text>
 92.1157 +    <text
 92.1158 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 92.1159 +       xml:space="preserve"
 92.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"
 92.1161 +       x="486.6088"
 92.1162 +       y="693.01855"
 92.1163 +       id="text9676"
 92.1164 +       sodipodi:linespacing="100%"><tspan
 92.1165 +         style="font-size:8px;text-align:start;text-anchor:start"
 92.1166 +         sodipodi:role="line"
 92.1167 +         x="486.6088"
 92.1168 +         y="693.01855"
 92.1169 +         id="tspan9678">resume</tspan></text>
 92.1170 +    <path
 92.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"
 92.1172 +       d="m 468.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0"
 92.1173 +       id="path9684"
 92.1174 +       inkscape:connector-curvature="0" />
 92.1175 +    <text
 92.1176 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 92.1177 +       xml:space="preserve"
 92.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"
 92.1179 +       x="486.22229"
 92.1180 +       y="605.02063"
 92.1181 +       id="text9686"
 92.1182 +       sodipodi:linespacing="100%"><tspan
 92.1183 +         style="font-size:8px;text-align:start;text-anchor:start"
 92.1184 +         sodipodi:role="line"
 92.1185 +         x="486.22229"
 92.1186 +         y="605.02063"
 92.1187 +         id="tspan9688">start</tspan></text>
 92.1188 +    <path
 92.1189 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
 92.1190 +       d="m 266.02904,417.4311 c 0,61.88904 0,61.88904 0,61.88904"
 92.1191 +       id="path9690"
 92.1192 +       inkscape:connector-curvature="0"
 92.1193 +       sodipodi:nodetypes="cc" />
 92.1194 +    <path
 92.1195 +       inkscape:connector-curvature="0"
 92.1196 +       id="path9692"
 92.1197 +       d="m 258.24715,418.02605 c 13.34137,0 13.34137,0 13.34137,0"
 92.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" />
 92.1199 +    <path
 92.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"
 92.1201 +       d="m 271.57781,480.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 92.1202 +       id="path9694"
 92.1203 +       inkscape:connector-curvature="0" />
 92.1204 +    <text
 92.1205 +       sodipodi:linespacing="100%"
 92.1206 +       id="text9700"
 92.1207 +       y="-276.70538"
 92.1208 +       x="463.34042"
 92.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"
 92.1210 +       xml:space="preserve"
 92.1211 +       transform="matrix(0.00239328,0.99999714,-0.99999714,0.00239328,0,0)"><tspan
 92.1212 +         y="-276.70538"
 92.1213 +         x="463.34042"
 92.1214 +         sodipodi:role="line"
 92.1215 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1216 +         id="tspan9736">Timeline of Master on core 1</tspan></text>
 92.1217 +    <text
 92.1218 +       sodipodi:linespacing="100%"
 92.1219 +       id="text9704"
 92.1220 +       y="480.12692"
 92.1221 +       x="261.37079"
 92.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"
 92.1223 +       xml:space="preserve"
 92.1224 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 92.1225 +         id="tspan9706"
 92.1226 +         y="480.12692"
 92.1227 +         x="261.37079"
 92.1228 +         sodipodi:role="line"
 92.1229 +         style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text>
 92.1230 +    <text
 92.1231 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 92.1232 +       xml:space="preserve"
 92.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"
 92.1234 +       x="258.65039"
 92.1235 +       y="420.12738"
 92.1236 +       id="text9708"
 92.1237 +       sodipodi:linespacing="100%"><tspan
 92.1238 +         style="font-size:8px;text-align:end;text-anchor:end"
 92.1239 +         sodipodi:role="line"
 92.1240 +         x="258.65039"
 92.1241 +         y="420.12738"
 92.1242 +         id="tspan9710">resume</tspan></text>
 92.1243 +    <path
 92.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"
 92.1245 +       d="m 258.24715,383.42364 c 13.34137,0 13.34137,0 13.34137,0"
 92.1246 +       id="path9716"
 92.1247 +       inkscape:connector-curvature="0" />
 92.1248 +    <text
 92.1249 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 92.1250 +       xml:space="preserve"
 92.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"
 92.1252 +       x="257.70789"
 92.1253 +       y="386.09387"
 92.1254 +       id="text9718"
 92.1255 +       sodipodi:linespacing="100%"><tspan
 92.1256 +         style="font-size:8px;text-align:end;text-anchor:end"
 92.1257 +         sodipodi:role="line"
 92.1258 +         x="257.70789"
 92.1259 +         y="386.09387"
 92.1260 +         id="tspan9720">start</tspan></text>
 92.1261 +    <path
 92.1262 +       sodipodi:nodetypes="cc"
 92.1263 +       inkscape:connector-curvature="0"
 92.1264 +       id="path9722"
 92.1265 +       d="m 266.02904,537.43112 c 0,10.33165 0,10.33165 0,10.33165"
 92.1266 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
 92.1267 +    <path
 92.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"
 92.1269 +       d="m 258.24715,538.02605 c 13.34137,0 13.34137,0 13.34137,0"
 92.1270 +       id="path9724"
 92.1271 +       inkscape:connector-curvature="0" />
 92.1272 +    <text
 92.1273 +       sodipodi:linespacing="100%"
 92.1274 +       id="text9936"
 92.1275 +       y="624.93951"
 92.1276 +       x="641.89471"
 92.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"
 92.1278 +       xml:space="preserve"
 92.1279 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 92.1280 +         id="tspan9938"
 92.1281 +         y="624.93951"
 92.1282 +         x="641.89471"
 92.1283 +         sodipodi:role="line"
 92.1284 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
 92.1285 +    <text
 92.1286 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 92.1287 +       xml:space="preserve"
 92.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"
 92.1289 +       x="643.74738"
 92.1290 +       y="736.927"
 92.1291 +       id="text9940"
 92.1292 +       sodipodi:linespacing="100%"><tspan
 92.1293 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1294 +         sodipodi:role="line"
 92.1295 +         x="643.74738"
 92.1296 +         y="736.927"
 92.1297 +         id="tspan9942">Call to dyn lib</tspan></text>
 92.1298 +    <text
 92.1299 +       sodipodi:linespacing="100%"
 92.1300 +       id="text9944"
 92.1301 +       y="524.9541"
 92.1302 +       x="640.23999"
 92.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"
 92.1304 +       xml:space="preserve"
 92.1305 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 92.1306 +         id="tspan9946"
 92.1307 +         y="524.9541"
 92.1308 +         x="640.23999"
 92.1309 +         sodipodi:role="line"
 92.1310 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
 92.1311 +    <text
 92.1312 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 92.1313 +       xml:space="preserve"
 92.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"
 92.1315 +       x="112.79035"
 92.1316 +       y="441.66806"
 92.1317 +       id="text9948"
 92.1318 +       sodipodi:linespacing="100%"><tspan
 92.1319 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1320 +         sodipodi:role="line"
 92.1321 +         x="112.79035"
 92.1322 +         y="441.66806"
 92.1323 +         id="tspan9950">call to dyn lib</tspan></text>
 92.1324 +    <path
 92.1325 +       inkscape:connector-curvature="0"
 92.1326 +       id="path9952"
 92.1327 +       d="m 701.67453,480.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 92.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" />
 92.1329 +    <path
 92.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"
 92.1331 +       d="m 701.67453,417.52981 c -669.895225,0 -669.895225,0 -669.895225,0"
 92.1332 +       id="path9954"
 92.1333 +       inkscape:connector-curvature="0" />
 92.1334 +    <text
 92.1335 +       xml:space="preserve"
 92.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"
 92.1337 +       x="326.92542"
 92.1338 +       y="577.76575"
 92.1339 +       id="text9956"
 92.1340 +       sodipodi:linespacing="100%"><tspan
 92.1341 +         style="text-align:center;text-anchor:middle"
 92.1342 +         sodipodi:role="line"
 92.1343 +         id="tspan9958"
 92.1344 +         x="326.92542"
 92.1345 +         y="577.76575">Master</tspan><tspan
 92.1346 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1347 +         id="tspan9960"
 92.1348 +         sodipodi:role="line"
 92.1349 +         x="326.92542"
 92.1350 +         y="586.2005">(runtime system)</tspan><tspan
 92.1351 +         id="tspan9962"
 92.1352 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1353 +         sodipodi:role="line"
 92.1354 +         x="326.92542"
 92.1355 +         y="594.2005">on core 2</tspan></text>
 92.1356 +    <path
 92.1357 +       inkscape:connector-curvature="0"
 92.1358 +       id="path9970"
 92.1359 +       d="m 291.99816,596.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
 92.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)" />
 92.1361 +    <g
 92.1362 +       id="g9972"
 92.1363 +       transform="matrix(1,0,0,0.71130685,-16,342.52913)">
 92.1364 +      <rect
 92.1365 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 92.1366 +         id="rect9974"
 92.1367 +         width="65.276405"
 92.1368 +         height="52.250008"
 92.1369 +         x="310.40247"
 92.1370 +         y="313.58255" />
 92.1371 +    </g>
 92.1372 +    <text
 92.1373 +       sodipodi:linespacing="100%"
 92.1374 +       id="text9982"
 92.1375 +       y="599.42468"
 92.1376 +       x="202.41257"
 92.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"
 92.1378 +       xml:space="preserve"><tspan
 92.1379 +         id="tspan9984"
 92.1380 +         y="599.42468"
 92.1381 +         x="202.41257"
 92.1382 +         sodipodi:role="line"
 92.1383 +         style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text>
 92.1384 +    <path
 92.1385 +       sodipodi:nodetypes="cc"
 92.1386 +       inkscape:connector-curvature="0"
 92.1387 +       id="path10010"
 92.1388 +       d="m 266.02904,637.43113 c 0,54.93536 0,54.93536 0,54.93536"
 92.1389 +       style="fill:none;stroke:#000000;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
 92.1390 +    <path
 92.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"
 92.1392 +       d="m 258.24715,638.02605 c 13.34137,0 13.34137,0 13.34137,0"
 92.1393 +       id="path10012"
 92.1394 +       inkscape:connector-curvature="0" />
 92.1395 +    <path
 92.1396 +       inkscape:connector-curvature="0"
 92.1397 +       id="path10014"
 92.1398 +       d="m 271.57781,692.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 92.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" />
 92.1400 +    <text
 92.1401 +       transform="matrix(0.00962718,0.99995366,-0.99995366,0.00962718,0,0)"
 92.1402 +       xml:space="preserve"
 92.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"
 92.1404 +       x="675.3847"
 92.1405 +       y="-275.31226"
 92.1406 +       id="text10018"
 92.1407 +       sodipodi:linespacing="100%"><tspan
 92.1408 +         id="tspan10020"
 92.1409 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1410 +         sodipodi:role="line"
 92.1411 +         x="675.3847"
 92.1412 +         y="-275.31226">Timeline of Master on core 2</tspan></text>
 92.1413 +    <path
 92.1414 +       inkscape:connector-curvature="0"
 92.1415 +       id="path10030"
 92.1416 +       d="m 258.24715,603.42364 c 13.34137,0 13.34137,0 13.34137,0"
 92.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" />
 92.1418 +    <path
 92.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"
 92.1420 +       d="m 205.27805,381.45805 c 0,3.23577 0,3.23577 0,3.23577"
 92.1421 +       id="path10054"
 92.1422 +       inkscape:connector-curvature="0"
 92.1423 +       sodipodi:nodetypes="cc" />
 92.1424 +    <path
 92.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"
 92.1426 +       d="m 701.67453,692.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 92.1427 +       id="path10056"
 92.1428 +       inkscape:connector-curvature="0" />
 92.1429 +    <path
 92.1430 +       inkscape:connector-curvature="0"
 92.1431 +       id="path10058"
 92.1432 +       d="m 701.67453,637.52981 c -669.895225,0 -669.895225,0 -669.895225,0"
 92.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" />
 92.1434 +    <text
 92.1435 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 92.1436 +       xml:space="preserve"
 92.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"
 92.1438 +       x="-135.75337"
 92.1439 +       y="434.7803"
 92.1440 +       id="text10062"
 92.1441 +       sodipodi:linespacing="100%"><tspan
 92.1442 +         id="tspan10068"
 92.1443 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1444 +         sodipodi:role="line"
 92.1445 +         x="-135.75337"
 92.1446 +         y="434.7803">return from</tspan><tspan
 92.1447 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1448 +         sodipodi:role="line"
 92.1449 +         x="-135.75337"
 92.1450 +         y="442.7803"
 92.1451 +         id="tspan10074">suspend</tspan></text>
 92.1452 +    <path
 92.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"
 92.1454 +       d="m 701.67453,538.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 92.1455 +       id="path10076"
 92.1456 +       inkscape:connector-curvature="0" />
 92.1457 +    <text
 92.1458 +       xml:space="preserve"
 92.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"
 92.1460 +       x="667.38037"
 92.1461 +       y="515.42468"
 92.1462 +       id="text10082"
 92.1463 +       sodipodi:linespacing="100%"><tspan
 92.1464 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1465 +         sodipodi:role="line"
 92.1466 +         x="667.38037"
 92.1467 +         y="515.42468"
 92.1468 +         id="tspan10084">PR primitive Fn</tspan><tspan
 92.1469 +         id="tspan10086"
 92.1470 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1471 +         sodipodi:role="line"
 92.1472 +         x="667.38037"
 92.1473 +         y="525.42468">to send request</tspan></text>
 92.1474 +    <text
 92.1475 +       sodipodi:linespacing="100%"
 92.1476 +       id="text10088"
 92.1477 +       y="615.42468"
 92.1478 +       x="667.38037"
 92.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"
 92.1480 +       xml:space="preserve"><tspan
 92.1481 +         id="tspan10090"
 92.1482 +         y="615.42468"
 92.1483 +         x="667.38037"
 92.1484 +         sodipodi:role="line"
 92.1485 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
 92.1486 +         y="625.42468"
 92.1487 +         x="667.38037"
 92.1488 +         sodipodi:role="line"
 92.1489 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1490 +         id="tspan10092">to send request</tspan></text>
 92.1491 +    <text
 92.1492 +       xml:space="preserve"
 92.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"
 92.1494 +       x="667.38037"
 92.1495 +       y="727.42468"
 92.1496 +       id="text10094"
 92.1497 +       sodipodi:linespacing="100%"><tspan
 92.1498 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1499 +         sodipodi:role="line"
 92.1500 +         x="667.38037"
 92.1501 +         y="727.42468"
 92.1502 +         id="tspan10096">PR primitive Fn</tspan><tspan
 92.1503 +         id="tspan10098"
 92.1504 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1505 +         sodipodi:role="line"
 92.1506 +         x="667.38037"
 92.1507 +         y="737.42468">to send request</tspan></text>
 92.1508 +    <path
 92.1509 +       sodipodi:nodetypes="cc"
 92.1510 +       inkscape:connector-curvature="0"
 92.1511 +       id="path10100"
 92.1512 +       d="m 476.02904,692.3113 c 0,57.40944 0,57.40944 0,57.40944"
 92.1513 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
 92.1514 +    <path
 92.1515 +       inkscape:connector-curvature="0"
 92.1516 +       id="path10102"
 92.1517 +       d="m 481.57781,751.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
 92.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" />
 92.1519 +    <text
 92.1520 +       sodipodi:linespacing="100%"
 92.1521 +       id="text10104"
 92.1522 +       y="750.22363"
 92.1523 +       x="486.86038"
 92.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"
 92.1525 +       xml:space="preserve"
 92.1526 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 92.1527 +         id="tspan10106"
 92.1528 +         y="750.22363"
 92.1529 +         x="486.86038"
 92.1530 +         sodipodi:role="line"
 92.1531 +         style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text>
 92.1532 +    <path
 92.1533 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
 92.1534 +       d="m 266.02904,749.43112 c 0,10.33165 0,10.33165 0,10.33165"
 92.1535 +       id="path10108"
 92.1536 +       inkscape:connector-curvature="0"
 92.1537 +       sodipodi:nodetypes="cc" />
 92.1538 +    <path
 92.1539 +       inkscape:connector-curvature="0"
 92.1540 +       id="path10110"
 92.1541 +       d="m 258.24715,750.02605 c 13.34137,0 13.34137,0 13.34137,0"
 92.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" />
 92.1543 +    <path
 92.1544 +       inkscape:connector-curvature="0"
 92.1545 +       id="path10116"
 92.1546 +       d="m 701.67453,750.02605 c -669.895225,0 -669.895225,0 -669.895225,0"
 92.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" />
 92.1548 +    <text
 92.1549 +       sodipodi:linespacing="100%"
 92.1550 +       id="text10118"
 92.1551 +       y="540.12653"
 92.1552 +       x="259.17728"
 92.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"
 92.1554 +       xml:space="preserve"
 92.1555 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 92.1556 +         id="tspan10120"
 92.1557 +         y="540.12653"
 92.1558 +         x="259.17728"
 92.1559 +         sodipodi:role="line"
 92.1560 +         style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text>
 92.1561 +    <text
 92.1562 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 92.1563 +       xml:space="preserve"
 92.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"
 92.1565 +       x="259.61627"
 92.1566 +       y="640.12561"
 92.1567 +       id="text10122"
 92.1568 +       sodipodi:linespacing="100%"><tspan
 92.1569 +         style="font-size:8px;text-align:end;text-anchor:end"
 92.1570 +         sodipodi:role="line"
 92.1571 +         x="259.61627"
 92.1572 +         y="640.12561"
 92.1573 +         id="tspan10124">resume</tspan></text>
 92.1574 +    <text
 92.1575 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 92.1576 +       xml:space="preserve"
 92.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"
 92.1578 +       x="262.3013"
 92.1579 +       y="692.12494"
 92.1580 +       id="text10126"
 92.1581 +       sodipodi:linespacing="100%"><tspan
 92.1582 +         style="font-size:8px;text-align:end;text-anchor:end"
 92.1583 +         sodipodi:role="line"
 92.1584 +         x="262.3013"
 92.1585 +         y="692.12494"
 92.1586 +         id="tspan10128">suspend</tspan></text>
 92.1587 +    <text
 92.1588 +       sodipodi:linespacing="100%"
 92.1589 +       id="text10130"
 92.1590 +       y="606.09192"
 92.1591 +       x="258.67368"
 92.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"
 92.1593 +       xml:space="preserve"
 92.1594 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 92.1595 +         id="tspan10132"
 92.1596 +         y="606.09192"
 92.1597 +         x="258.67368"
 92.1598 +         sodipodi:role="line"
 92.1599 +         style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text>
 92.1600 +    <text
 92.1601 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 92.1602 +       xml:space="preserve"
 92.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"
 92.1604 +       x="260.10779"
 92.1605 +       y="752.12427"
 92.1606 +       id="text10134"
 92.1607 +       sodipodi:linespacing="100%"><tspan
 92.1608 +         style="font-size:8px;text-align:end;text-anchor:end"
 92.1609 +         sodipodi:role="line"
 92.1610 +         x="260.10779"
 92.1611 +         y="752.12427"
 92.1612 +         id="tspan10136">resume</tspan></text>
 92.1613 +    <text
 92.1614 +       xml:space="preserve"
 92.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"
 92.1616 +       x="136.99219"
 92.1617 +       y="307.42465"
 92.1618 +       id="text10146"
 92.1619 +       sodipodi:linespacing="100%"><tspan
 92.1620 +         style="text-align:center;text-anchor:middle;fill:#800000"
 92.1621 +         sodipodi:role="line"
 92.1622 +         x="138.49609"
 92.1623 +         y="307.42465"
 92.1624 +         id="tspan10148">Language </tspan><tspan
 92.1625 +         id="tspan10150"
 92.1626 +         style="text-align:center;text-anchor:middle;fill:#800000"
 92.1627 +         sodipodi:role="line"
 92.1628 +         x="136.99219"
 92.1629 +         y="317.42465">Plugin</tspan><tspan
 92.1630 +         id="tspan10152"
 92.1631 +         style="text-align:center;text-anchor:middle;fill:#800000"
 92.1632 +         sodipodi:role="line"
 92.1633 +         x="136.99219"
 92.1634 +         y="327.42465">Code</tspan></text>
 92.1635 +    <text
 92.1636 +       xml:space="preserve"
 92.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"
 92.1638 +       x="203.16797"
 92.1639 +       y="307.42465"
 92.1640 +       id="text10154"
 92.1641 +       sodipodi:linespacing="100%"><tspan
 92.1642 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1643 +         sodipodi:role="line"
 92.1644 +         x="203.16797"
 92.1645 +         y="307.42465"
 92.1646 +         id="tspan10156">Proto-Runtime</tspan><tspan
 92.1647 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1648 +         sodipodi:role="line"
 92.1649 +         x="203.16797"
 92.1650 +         y="317.42465"
 92.1651 +         id="tspan10158">Master</tspan><tspan
 92.1652 +         id="tspan10160"
 92.1653 +         style="text-align:center;text-anchor:middle;fill:#000080"
 92.1654 +         sodipodi:role="line"
 92.1655 +         x="203.16797"
 92.1656 +         y="327.42465">Code</tspan></text>
 92.1657 +    <path
 92.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)"
 92.1659 +       d="m 205.05995,424.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 92.1660 +       id="path10162"
 92.1661 +       inkscape:connector-curvature="0" />
 92.1662 +    <path
 92.1663 +       inkscape:connector-curvature="0"
 92.1664 +       id="path10164"
 92.1665 +       d="m 137.04459,474.02605 c 67.19099,0 67.19099,0 67.19099,0"
 92.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)" />
 92.1667 +    <path
 92.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)"
 92.1669 +       d="m 67.525286,448.02605 c 69.221574,0 69.221574,0 69.221574,0"
 92.1670 +       id="path10166"
 92.1671 +       inkscape:connector-curvature="0" />
 92.1672 +    <path
 92.1673 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1674 +       d="m 67.27805,435.85824 c 0,13.94668 0,13.94668 0,13.94668"
 92.1675 +       id="path10168"
 92.1676 +       inkscape:connector-curvature="0"
 92.1677 +       sodipodi:nodetypes="cc" />
 92.1678 +    <path
 92.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)"
 92.1680 +       d="m 137.04459,450.02605 c 67.19099,0 67.19099,0 67.19099,0"
 92.1681 +       id="path10172"
 92.1682 +       inkscape:connector-curvature="0" />
 92.1683 +    <path
 92.1684 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1685 +       d="m 205.27805,450.63926 c 0,11.23237 0,11.23237 0,11.23237"
 92.1686 +       id="path10174"
 92.1687 +       inkscape:connector-curvature="0"
 92.1688 +       sodipodi:nodetypes="cc" />
 92.1689 +    <path
 92.1690 +       inkscape:connector-curvature="0"
 92.1691 +       id="path10176"
 92.1692 +       d="m 205.05995,462.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 92.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)" />
 92.1694 +    <text
 92.1695 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 92.1696 +       xml:space="preserve"
 92.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"
 92.1698 +       x="189.17583"
 92.1699 +       y="464.4057"
 92.1700 +       id="text10178"
 92.1701 +       sodipodi:linespacing="100%"><tspan
 92.1702 +         style="font-size:7px;text-align:center;text-anchor:middle"
 92.1703 +         sodipodi:role="line"
 92.1704 +         x="189.17583"
 92.1705 +         y="464.4057"
 92.1706 +         id="tspan10180">call via Ptr to Dyn Lib Fn</tspan></text>
 92.1707 +    <path
 92.1708 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1709 +       d="m 137.27805,461.85824 c 0,11.43122 0,11.43122 0,11.43122"
 92.1710 +       id="path10182"
 92.1711 +       inkscape:connector-curvature="0"
 92.1712 +       sodipodi:nodetypes="cc" />
 92.1713 +    <text
 92.1714 +       sodipodi:linespacing="100%"
 92.1715 +       id="text10184"
 92.1716 +       y="426.41092"
 92.1717 +       x="188.54729"
 92.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"
 92.1719 +       xml:space="preserve"
 92.1720 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 92.1721 +         id="tspan10186"
 92.1722 +         y="426.41092"
 92.1723 +         x="188.54729"
 92.1724 +         sodipodi:role="line"
 92.1725 +         style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text>
 92.1726 +    <text
 92.1727 +       sodipodi:linespacing="100%"
 92.1728 +       id="text10188"
 92.1729 +       y="629.42468"
 92.1730 +       x="137.31689"
 92.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"
 92.1732 +       xml:space="preserve"><tspan
 92.1733 +         id="tspan10190"
 92.1734 +         y="629.42468"
 92.1735 +         x="137.31689"
 92.1736 +         sodipodi:role="line"
 92.1737 +         style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan
 92.1738 +         id="tspan10192"
 92.1739 +         y="639.42468"
 92.1740 +         x="137.31689"
 92.1741 +         sodipodi:role="line"
 92.1742 +         style="text-align:center;text-anchor:middle;fill:#800000">for acq Mutex</tspan></text>
 92.1743 +    <path
 92.1744 +       sodipodi:nodetypes="cc"
 92.1745 +       inkscape:connector-curvature="0"
 92.1746 +       id="path10230"
 92.1747 +       d="m 205.27805,601.45805 c 0,3.23576 0,3.23576 0,3.23576"
 92.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" />
 92.1749 +    <path
 92.1750 +       inkscape:connector-curvature="0"
 92.1751 +       id="path4879"
 92.1752 +       d="m 465.78297,538.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 92.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)" />
 92.1754 +    <path
 92.1755 +       inkscape:connector-curvature="0"
 92.1756 +       id="path5395"
 92.1757 +       d="m 466.19516,418.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 92.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)" />
 92.1759 +    <path
 92.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)"
 92.1761 +       d="m 466.19516,638.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 92.1762 +       id="path5397"
 92.1763 +       inkscape:connector-curvature="0" />
 92.1764 +    <path
 92.1765 +       inkscape:connector-curvature="0"
 92.1766 +       id="path5399"
 92.1767 +       d="m 466.19516,750.02605 c -193.92439,0 -193.92439,0 -193.92439,0"
 92.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)" />
 92.1769 +    <path
 92.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)"
 92.1771 +       d="m 271.03421,692.02605 c 193.92439,0 193.92439,0 193.92439,0"
 92.1772 +       id="path5402"
 92.1773 +       inkscape:connector-curvature="0" />
 92.1774 +    <text
 92.1775 +       sodipodi:linespacing="100%"
 92.1776 +       id="text5410"
 92.1777 +       y="671.42468"
 92.1778 +       x="137.68066"
 92.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"
 92.1780 +       xml:space="preserve"><tspan
 92.1781 +         id="tspan5412"
 92.1782 +         y="671.42468"
 92.1783 +         x="137.68066"
 92.1784 +         sodipodi:role="line"
 92.1785 +         style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text>
 92.1786 +    <path
 92.1787 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1788 +       d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1789 +       id="path5420"
 92.1790 +       inkscape:connector-curvature="0"
 92.1791 +       sodipodi:nodetypes="cc" />
 92.1792 +    <path
 92.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)"
 92.1794 +       d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 92.1795 +       id="path5422"
 92.1796 +       inkscape:connector-curvature="0" />
 92.1797 +    <path
 92.1798 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1799 +       d="m 137.27805,643.85824 c 0,11.43122 0,11.43122 0,11.43122"
 92.1800 +       id="path5424"
 92.1801 +       inkscape:connector-curvature="0"
 92.1802 +       sodipodi:nodetypes="cc" />
 92.1803 +    <path
 92.1804 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1805 +       d="m 205.27805,686.63925 c 0,4.54718 0,4.54718 0,4.54718"
 92.1806 +       id="path5428"
 92.1807 +       inkscape:connector-curvature="0"
 92.1808 +       sodipodi:nodetypes="cc" />
 92.1809 +    <text
 92.1810 +       sodipodi:linespacing="100%"
 92.1811 +       id="text5430"
 92.1812 +       y="645.39423"
 92.1813 +       x="-335.13254"
 92.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"
 92.1815 +       xml:space="preserve"
 92.1816 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 92.1817 +         id="tspan5432"
 92.1818 +         y="645.39423"
 92.1819 +         x="-335.13254"
 92.1820 +         sodipodi:role="line"
 92.1821 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
 92.1822 +         y="653.39423"
 92.1823 +         x="-335.13254"
 92.1824 +         sodipodi:role="line"
 92.1825 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1826 +         id="tspan5434">and switch</tspan><tspan
 92.1827 +         y="661.39423"
 92.1828 +         x="-335.13254"
 92.1829 +         sodipodi:role="line"
 92.1830 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1831 +         id="tspan5436">to app VP</tspan></text>
 92.1832 +    <path
 92.1833 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1834 +       d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1835 +       id="path5438"
 92.1836 +       inkscape:connector-curvature="0"
 92.1837 +       sodipodi:nodetypes="cc" />
 92.1838 +    <path
 92.1839 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1840 +       d="m 205.27805,638.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1841 +       id="path5440"
 92.1842 +       inkscape:connector-curvature="0"
 92.1843 +       sodipodi:nodetypes="cc" />
 92.1844 +    <text
 92.1845 +       sodipodi:linespacing="100%"
 92.1846 +       id="text5446"
 92.1847 +       y="592.84631"
 92.1848 +       x="-288.77386"
 92.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"
 92.1850 +       xml:space="preserve"
 92.1851 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 92.1852 +         y="592.84631"
 92.1853 +         x="-288.77386"
 92.1854 +         sodipodi:role="line"
 92.1855 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1856 +         id="tspan5448">return from</tspan><tspan
 92.1857 +         id="tspan5450"
 92.1858 +         y="600.84631"
 92.1859 +         x="-288.77386"
 92.1860 +         sodipodi:role="line"
 92.1861 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 92.1862 +    <path
 92.1863 +       inkscape:connector-curvature="0"
 92.1864 +       id="path5452"
 92.1865 +       d="m 205.05995,644.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 92.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)" />
 92.1867 +    <path
 92.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)"
 92.1869 +       d="m 137.04459,686.02605 c 67.19099,0 67.19099,0 67.19099,0"
 92.1870 +       id="path5454"
 92.1871 +       inkscape:connector-curvature="0" />
 92.1872 +    <path
 92.1873 +       inkscape:connector-curvature="0"
 92.1874 +       id="path5460"
 92.1875 +       d="m 137.04459,658.02605 c 67.19099,0 67.19099,0 67.19099,0"
 92.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)" />
 92.1877 +    <path
 92.1878 +       sodipodi:nodetypes="cc"
 92.1879 +       inkscape:connector-curvature="0"
 92.1880 +       id="path5462"
 92.1881 +       d="m 205.27805,658.63927 c 0,14.88618 0,14.88618 0,14.88618"
 92.1882 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 92.1883 +    <path
 92.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)"
 92.1885 +       d="m 205.05995,674.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 92.1886 +       id="path5464"
 92.1887 +       inkscape:connector-curvature="0" />
 92.1888 +    <text
 92.1889 +       sodipodi:linespacing="100%"
 92.1890 +       id="text5466"
 92.1891 +       y="676.37714"
 92.1892 +       x="192.68279"
 92.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"
 92.1894 +       xml:space="preserve"
 92.1895 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 92.1896 +         id="tspan5468"
 92.1897 +         y="676.37714"
 92.1898 +         x="192.68279"
 92.1899 +         sodipodi:role="line"
 92.1900 +         style="font-size:7px;text-align:center;text-anchor:middle">call via Ptr to Dyn Lib Fn</tspan></text>
 92.1901 +    <path
 92.1902 +       sodipodi:nodetypes="cc"
 92.1903 +       inkscape:connector-curvature="0"
 92.1904 +       id="path5470"
 92.1905 +       d="m 137.27805,673.85824 c 0,11.43122 0,11.43122 0,11.43122"
 92.1906 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 92.1907 +    <text
 92.1908 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 92.1909 +       xml:space="preserve"
 92.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"
 92.1911 +       x="192.18657"
 92.1912 +       y="646.38098"
 92.1913 +       id="text5472"
 92.1914 +       sodipodi:linespacing="100%"><tspan
 92.1915 +         style="font-size:7px;text-align:center;text-anchor:middle"
 92.1916 +         sodipodi:role="line"
 92.1917 +         x="192.18657"
 92.1918 +         y="646.38098"
 92.1919 +         id="tspan5474">call via Ptr to Dyn Lib Fn</tspan></text>
 92.1920 +    <text
 92.1921 +       sodipodi:linespacing="100%"
 92.1922 +       id="text5476"
 92.1923 +       y="597.08801"
 92.1924 +       x="-60.107929"
 92.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"
 92.1926 +       xml:space="preserve"
 92.1927 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 92.1928 +         y="597.08801"
 92.1929 +         x="-60.107929"
 92.1930 +         sodipodi:role="line"
 92.1931 +         style="font-size:18px;text-align:center;text-anchor:middle"
 92.1932 +         id="tspan5482">core 1</tspan></text>
 92.1933 +    <text
 92.1934 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 92.1935 +       xml:space="preserve"
 92.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"
 92.1937 +       x="-208.35422"
 92.1938 +       y="748.6394"
 92.1939 +       id="text5488"
 92.1940 +       sodipodi:linespacing="100%"><tspan
 92.1941 +         id="tspan5490"
 92.1942 +         style="font-size:18px;text-align:center;text-anchor:middle"
 92.1943 +         sodipodi:role="line"
 92.1944 +         x="-208.35422"
 92.1945 +         y="748.6394">core 2</tspan></text>
 92.1946 +    <path
 92.1947 +       sodipodi:nodetypes="cc"
 92.1948 +       inkscape:connector-curvature="0"
 92.1949 +       id="path5492"
 92.1950 +       d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1951 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 92.1952 +    <path
 92.1953 +       sodipodi:nodetypes="cc"
 92.1954 +       inkscape:connector-curvature="0"
 92.1955 +       id="path5494"
 92.1956 +       d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1957 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 92.1958 +    <path
 92.1959 +       sodipodi:nodetypes="cc"
 92.1960 +       inkscape:connector-curvature="0"
 92.1961 +       id="path5496"
 92.1962 +       d="m 205.27805,752.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1963 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 92.1964 +    <text
 92.1965 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 92.1966 +       xml:space="preserve"
 92.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"
 92.1968 +       x="-368.06558"
 92.1969 +       y="674.7525"
 92.1970 +       id="text5498"
 92.1971 +       sodipodi:linespacing="100%"><tspan
 92.1972 +         id="tspan5500"
 92.1973 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1974 +         sodipodi:role="line"
 92.1975 +         x="-368.06558"
 92.1976 +         y="674.7525">return from</tspan><tspan
 92.1977 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.1978 +         sodipodi:role="line"
 92.1979 +         x="-368.06558"
 92.1980 +         y="682.7525"
 92.1981 +         id="tspan5502">suspend</tspan></text>
 92.1982 +    <path
 92.1983 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1984 +       d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1985 +       id="path5504"
 92.1986 +       inkscape:connector-curvature="0"
 92.1987 +       sodipodi:nodetypes="cc" />
 92.1988 +    <path
 92.1989 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1990 +       d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1991 +       id="path5506"
 92.1992 +       inkscape:connector-curvature="0"
 92.1993 +       sodipodi:nodetypes="cc" />
 92.1994 +    <path
 92.1995 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 92.1996 +       d="m 205.27805,538.31985 c 0,7.35629 0,7.35629 0,7.35629"
 92.1997 +       id="path5508"
 92.1998 +       inkscape:connector-curvature="0"
 92.1999 +       sodipodi:nodetypes="cc" />
 92.2000 +    <text
 92.2001 +       sodipodi:linespacing="100%"
 92.2002 +       id="text5510"
 92.2003 +       y="520.99878"
 92.2004 +       x="-219.21922"
 92.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"
 92.2006 +       xml:space="preserve"
 92.2007 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 92.2008 +         y="520.99878"
 92.2009 +         x="-219.21922"
 92.2010 +         sodipodi:role="line"
 92.2011 +         style="font-size:8px;text-align:center;text-anchor:middle"
 92.2012 +         id="tspan5512">return from</tspan><tspan
 92.2013 +         id="tspan5514"
 92.2014 +         y="528.99878"
 92.2015 +         x="-219.21922"
 92.2016 +         sodipodi:role="line"
 92.2017 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 92.2018 +    <path
 92.2019 +       inkscape:connector-curvature="0"
 92.2020 +       id="path5516"
 92.2021 +       d="m 271.03421,604.02605 c 193.92439,0 193.92439,0 193.92439,0"
 92.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)" />
 92.2023 +    <path
 92.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)"
 92.2025 +       d="m 271.03421,384.02605 c 193.92439,0 193.92439,0 193.92439,0"
 92.2026 +       id="path5518"
 92.2027 +       inkscape:connector-curvature="0" />
 92.2028 +  </g>
 92.2029 +</svg>
    93.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    93.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_plus_plugin_plus_code_back.svg	Sat Aug 03 19:24:22 2013 -0700
    93.3 @@ -0,0 +1,1678 @@
    93.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    93.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
    93.6 +
    93.7 +<svg
    93.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
    93.9 +   xmlns:cc="http://creativecommons.org/ns#"
   93.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   93.11 +   xmlns:svg="http://www.w3.org/2000/svg"
   93.12 +   xmlns="http://www.w3.org/2000/svg"
   93.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   93.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   93.15 +   width="744.09448819"
   93.16 +   height="1052.3622047"
   93.17 +   id="svg2"
   93.18 +   sodipodi:version="0.32"
   93.19 +   inkscape:version="0.48.2 r9819"
   93.20 +   sodipodi:docname="Proto-Runtime__modules_plus_plugin_plus_code.svg"
   93.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   93.22 +   version="1.1">
   93.23 +  <defs
   93.24 +     id="defs4">
   93.25 +    <marker
   93.26 +       inkscape:stockid="Arrow2Mend"
   93.27 +       orient="auto"
   93.28 +       refY="0.0"
   93.29 +       refX="0.0"
   93.30 +       id="Arrow2Mend"
   93.31 +       style="overflow:visible;">
   93.32 +      <path
   93.33 +         id="path4008"
   93.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   93.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 "
   93.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   93.37 +    </marker>
   93.38 +    <inkscape:perspective
   93.39 +       sodipodi:type="inkscape:persp3d"
   93.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   93.41 +       inkscape:vp_y="0 : 1000 : 0"
   93.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   93.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   93.44 +       id="perspective10" />
   93.45 +    <inkscape:perspective
   93.46 +       id="perspective12172"
   93.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   93.48 +       inkscape:vp_z="1 : 0.5 : 1"
   93.49 +       inkscape:vp_y="0 : 1000 : 0"
   93.50 +       inkscape:vp_x="0 : 0.5 : 1"
   93.51 +       sodipodi:type="inkscape:persp3d" />
   93.52 +    <inkscape:perspective
   93.53 +       id="perspective12937"
   93.54 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
   93.55 +       inkscape:vp_z="1 : 0.5 : 1"
   93.56 +       inkscape:vp_y="0 : 1000 : 0"
   93.57 +       inkscape:vp_x="0 : 0.5 : 1"
   93.58 +       sodipodi:type="inkscape:persp3d" />
   93.59 +  </defs>
   93.60 +  <sodipodi:namedview
   93.61 +     id="base"
   93.62 +     pagecolor="#ffffff"
   93.63 +     bordercolor="#666666"
   93.64 +     borderopacity="1.0"
   93.65 +     gridtolerance="10000"
   93.66 +     guidetolerance="10"
   93.67 +     objecttolerance="10"
   93.68 +     inkscape:pageopacity="0.0"
   93.69 +     inkscape:pageshadow="2"
   93.70 +     inkscape:zoom="1.553811"
   93.71 +     inkscape:cx="311.64997"
   93.72 +     inkscape:cy="481.64087"
   93.73 +     inkscape:document-units="px"
   93.74 +     inkscape:current-layer="layer1"
   93.75 +     showgrid="false"
   93.76 +     inkscape:window-width="1600"
   93.77 +     inkscape:window-height="848"
   93.78 +     inkscape:window-x="-8"
   93.79 +     inkscape:window-y="-8"
   93.80 +     inkscape:window-maximized="1" />
   93.81 +  <metadata
   93.82 +     id="metadata7">
   93.83 +    <rdf:RDF>
   93.84 +      <cc:Work
   93.85 +         rdf:about="">
   93.86 +        <dc:format>image/svg+xml</dc:format>
   93.87 +        <dc:type
   93.88 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   93.89 +        <dc:title></dc:title>
   93.90 +      </cc:Work>
   93.91 +    </rdf:RDF>
   93.92 +  </metadata>
   93.93 +  <g
   93.94 +     inkscape:label="Layer 1"
   93.95 +     inkscape:groupmode="layer"
   93.96 +     id="layer1">
   93.97 +    <rect
   93.98 +       y="757.82239"
   93.99 +       x="-46.677368"
  93.100 +       height="69.307014"
  93.101 +       width="137.26534"
  93.102 +       id="rect12977"
  93.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" />
  93.104 +    <text
  93.105 +       sodipodi:linespacing="100%"
  93.106 +       id="text12979"
  93.107 +       y="399.76575"
  93.108 +       x="228.92543"
  93.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"
  93.110 +       xml:space="preserve"><tspan
  93.111 +         y="399.76575"
  93.112 +         x="228.92543"
  93.113 +         id="tspan12981"
  93.114 +         sodipodi:role="line"
  93.115 +         style="text-align:center;text-anchor:middle">Master</tspan><tspan
  93.116 +         y="408.20053"
  93.117 +         x="228.92543"
  93.118 +         sodipodi:role="line"
  93.119 +         id="tspan3291"
  93.120 +         style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan
  93.121 +         y="416.20053"
  93.122 +         x="228.92543"
  93.123 +         sodipodi:role="line"
  93.124 +         style="font-size:8px;text-align:center;text-anchor:middle"
  93.125 +         id="tspan8409">on core 1</tspan></text>
  93.126 +    <text
  93.127 +       sodipodi:linespacing="100%"
  93.128 +       id="text12985"
  93.129 +       y="787.55029"
  93.130 +       x="-10.998383"
  93.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"
  93.132 +       xml:space="preserve"><tspan
  93.133 +         y="787.55029"
  93.134 +         x="-10.998383"
  93.135 +         sodipodi:role="line"
  93.136 +         id="tspan12989"
  93.137 +         style="text-align:center;text-anchor:middle">Construct</tspan><tspan
  93.138 +         id="tspan3147"
  93.139 +         y="797.55029"
  93.140 +         x="-10.998383"
  93.141 +         sodipodi:role="line"
  93.142 +         style="text-align:center;text-anchor:middle">Semantics</tspan><tspan
  93.143 +         id="tspan3149"
  93.144 +         y="807.55029"
  93.145 +         x="-10.998383"
  93.146 +         sodipodi:role="line"
  93.147 +         style="text-align:center;text-anchor:middle">Module</tspan></text>
  93.148 +    <rect
  93.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"
  93.150 +       id="rect12971"
  93.151 +       width="131.7012"
  93.152 +       height="52.250008"
  93.153 +       x="-43.698822"
  93.154 +       y="835.43658" />
  93.155 +    <text
  93.156 +       xml:space="preserve"
  93.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"
  93.158 +       x="22.334869"
  93.159 +       y="855.20319"
  93.160 +       id="text12973"
  93.161 +       sodipodi:linespacing="100%"><tspan
  93.162 +         sodipodi:role="line"
  93.163 +         id="tspan12975"
  93.164 +         x="22.334869"
  93.165 +         y="855.20319"
  93.166 +         style="text-align:center;text-anchor:middle">Hardware Specific Module</tspan><tspan
  93.167 +         sodipodi:role="line"
  93.168 +         x="22.334869"
  93.169 +         y="865.20319"
  93.170 +         style="text-align:center;text-anchor:middle"
  93.171 +         id="tspan3155" /><tspan
  93.172 +         sodipodi:role="line"
  93.173 +         x="22.334869"
  93.174 +         y="873.63794"
  93.175 +         id="tspan3089"
  93.176 +         style="font-size:8px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text>
  93.177 +    <text
  93.178 +       sodipodi:linespacing="100%"
  93.179 +       id="text12985-7"
  93.180 +       y="787.52588"
  93.181 +       x="55.148102"
  93.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"
  93.183 +       xml:space="preserve"><tspan
  93.184 +         y="787.52588"
  93.185 +         x="55.148102"
  93.186 +         id="tspan12987-4"
  93.187 +         sodipodi:role="line"
  93.188 +         style="text-align:center;text-anchor:middle">Assignment</tspan><tspan
  93.189 +         id="tspan3151"
  93.190 +         y="797.52588"
  93.191 +         x="55.148102"
  93.192 +         sodipodi:role="line"
  93.193 +         style="text-align:center;text-anchor:middle">of Work</tspan><tspan
  93.194 +         y="807.52588"
  93.195 +         x="55.148102"
  93.196 +         sodipodi:role="line"
  93.197 +         id="tspan12989-0"
  93.198 +         style="text-align:center;text-anchor:middle">onto Cores</tspan><tspan
  93.199 +         id="tspan3153"
  93.200 +         y="817.52588"
  93.201 +         x="55.148102"
  93.202 +         sodipodi:role="line"
  93.203 +         style="text-align:center;text-anchor:middle">Module</tspan></text>
  93.204 +    <text
  93.205 +       xml:space="preserve"
  93.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"
  93.207 +       x="19.256409"
  93.208 +       y="766.65723"
  93.209 +       id="text12985-8"
  93.210 +       sodipodi:linespacing="100%"><tspan
  93.211 +         style="text-align:center;text-anchor:middle;fill:#800000"
  93.212 +         id="tspan12989-4"
  93.213 +         sodipodi:role="line"
  93.214 +         x="19.256409"
  93.215 +         y="766.65723">Language Plug-in</tspan></text>
  93.216 +    <text
  93.217 +       xml:space="preserve"
  93.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"
  93.219 +       x="22.390198"
  93.220 +       y="833.19415"
  93.221 +       id="text12973-5"
  93.222 +       sodipodi:linespacing="100%"><tspan
  93.223 +         sodipodi:role="line"
  93.224 +         x="22.390198"
  93.225 +         y="833.19415"
  93.226 +         id="tspan3089-7"
  93.227 +         style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text>
  93.228 +    <rect
  93.229 +       y="-835.43658"
  93.230 +       x="-43.698822"
  93.231 +       height="9.1641436"
  93.232 +       width="131.7012"
  93.233 +       id="rect3204"
  93.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"
  93.235 +       transform="scale(1,-1)" />
  93.236 +    <rect
  93.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"
  93.238 +       id="rect3217"
  93.239 +       width="65.276405"
  93.240 +       height="52.250008"
  93.241 +       x="-43.597527"
  93.242 +       y="773.58252" />
  93.243 +    <rect
  93.244 +       y="773.58252"
  93.245 +       x="22.402473"
  93.246 +       height="52.250008"
  93.247 +       width="65.276405"
  93.248 +       id="rect3219"
  93.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" />
  93.250 +    <g
  93.251 +       id="g3303"
  93.252 +       transform="translate(-16,76)">
  93.253 +      <rect
  93.254 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  93.255 +         id="rect3293"
  93.256 +         width="65.276405"
  93.257 +         height="52.250008"
  93.258 +         x="310.40247"
  93.259 +         y="313.58255" />
  93.260 +      <text
  93.261 +         sodipodi:linespacing="100%"
  93.262 +         id="text3295"
  93.263 +         y="327.55026"
  93.264 +         x="343.00162"
  93.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"
  93.266 +         xml:space="preserve"><tspan
  93.267 +           id="tspan3301"
  93.268 +           y="327.55026"
  93.269 +           x="343.00162"
  93.270 +           sodipodi:role="line"
  93.271 +           style="text-align:center;text-anchor:middle">Seed VP</tspan></text>
  93.272 +    </g>
  93.273 +    <g
  93.274 +       id="g3314"
  93.275 +       transform="translate(-16,222)">
  93.276 +      <rect
  93.277 +         y="313.58255"
  93.278 +         x="310.40247"
  93.279 +         height="52.250008"
  93.280 +         width="65.276405"
  93.281 +         id="rect3316"
  93.282 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  93.283 +      <text
  93.284 +         xml:space="preserve"
  93.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"
  93.286 +         x="343.00162"
  93.287 +         y="327.55026"
  93.288 +         id="text3318"
  93.289 +         sodipodi:linespacing="100%"><tspan
  93.290 +           style="text-align:center;text-anchor:middle"
  93.291 +           sodipodi:role="line"
  93.292 +           x="343.00162"
  93.293 +           y="327.55026"
  93.294 +           id="tspan3320">VP created</tspan><tspan
  93.295 +           style="text-align:center;text-anchor:middle"
  93.296 +           sodipodi:role="line"
  93.297 +           x="343.00162"
  93.298 +           y="337.55026"
  93.299 +           id="tspan3322">by Application</tspan><tspan
  93.300 +           style="text-align:center;text-anchor:middle"
  93.301 +           sodipodi:role="line"
  93.302 +           x="343.00162"
  93.303 +           y="347.55026"
  93.304 +           id="tspan5485">1</tspan></text>
  93.305 +    </g>
  93.306 +    <g
  93.307 +       transform="translate(-16,372)"
  93.308 +       id="g3340">
  93.309 +      <rect
  93.310 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  93.311 +         id="rect3342"
  93.312 +         width="65.276405"
  93.313 +         height="52.250008"
  93.314 +         x="310.40247"
  93.315 +         y="313.58255" />
  93.316 +      <text
  93.317 +         sodipodi:linespacing="100%"
  93.318 +         id="text3344"
  93.319 +         y="327.55026"
  93.320 +         x="343.00162"
  93.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"
  93.322 +         xml:space="preserve"><tspan
  93.323 +           id="tspan3346"
  93.324 +           y="327.55026"
  93.325 +           x="343.00162"
  93.326 +           sodipodi:role="line"
  93.327 +           style="text-align:center;text-anchor:middle">VP created</tspan><tspan
  93.328 +           id="tspan3348"
  93.329 +           y="337.55026"
  93.330 +           x="343.00162"
  93.331 +           sodipodi:role="line"
  93.332 +           style="text-align:center;text-anchor:middle">by Application</tspan><tspan
  93.333 +           y="347.55026"
  93.334 +           x="343.00162"
  93.335 +           sodipodi:role="line"
  93.336 +           style="text-align:center;text-anchor:middle"
  93.337 +           id="tspan5487">2</tspan></text>
  93.338 +    </g>
  93.339 +    <text
  93.340 +       xml:space="preserve"
  93.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"
  93.342 +       x="419.16797"
  93.343 +       y="363.42465"
  93.344 +       id="text3318-1"
  93.345 +       sodipodi:linespacing="100%"><tspan
  93.346 +         style="text-align:center;text-anchor:middle;fill:#008000"
  93.347 +         sodipodi:role="line"
  93.348 +         x="419.16797"
  93.349 +         y="363.42465"
  93.350 +         id="tspan3322-5">Application Code</tspan></text>
  93.351 +    <text
  93.352 +       sodipodi:linespacing="100%"
  93.353 +       id="text3376"
  93.354 +       y="403.42465"
  93.355 +       x="419.16797"
  93.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"
  93.357 +       xml:space="preserve"><tspan
  93.358 +         id="tspan3378"
  93.359 +         y="403.42465"
  93.360 +         x="419.16797"
  93.361 +         sodipodi:role="line"
  93.362 +         style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text>
  93.363 +    <text
  93.364 +       xml:space="preserve"
  93.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"
  93.366 +       x="419.16797"
  93.367 +       y="563.42468"
  93.368 +       id="text3380"
  93.369 +       sodipodi:linespacing="100%"><tspan
  93.370 +         style="text-align:center;text-anchor:middle;fill:#008000"
  93.371 +         sodipodi:role="line"
  93.372 +         x="419.16797"
  93.373 +         y="563.42468"
  93.374 +         id="tspan3382">Work_Fn</tspan></text>
  93.375 +    <text
  93.376 +       sodipodi:linespacing="100%"
  93.377 +       id="text3388"
  93.378 +       y="363.42465"
  93.379 +       x="506.63812"
  93.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"
  93.381 +       xml:space="preserve"><tspan
  93.382 +         id="tspan3390"
  93.383 +         y="363.42465"
  93.384 +         x="508.14203"
  93.385 +         sodipodi:role="line"
  93.386 +         style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan
  93.387 +         y="373.42465"
  93.388 +         x="506.63812"
  93.389 +         sodipodi:role="line"
  93.390 +         style="text-align:center;text-anchor:middle;fill:#800000"
  93.391 +         id="tspan5106">Wrapper-Lib</tspan><tspan
  93.392 +         y="383.42465"
  93.393 +         x="506.63812"
  93.394 +         sodipodi:role="line"
  93.395 +         style="text-align:center;text-anchor:middle;fill:#800000"
  93.396 +         id="tspan3392">Code</tspan></text>
  93.397 +    <text
  93.398 +       xml:space="preserve"
  93.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"
  93.400 +       x="571.16797"
  93.401 +       y="363.42465"
  93.402 +       id="text3394"
  93.403 +       sodipodi:linespacing="100%"><tspan
  93.404 +         style="text-align:center;text-anchor:middle;fill:#000080"
  93.405 +         sodipodi:role="line"
  93.406 +         x="571.16797"
  93.407 +         y="363.42465"
  93.408 +         id="tspan3396">Proto-Runtime</tspan><tspan
  93.409 +         style="text-align:center;text-anchor:middle;fill:#000080"
  93.410 +         sodipodi:role="line"
  93.411 +         x="571.16797"
  93.412 +         y="373.42465"
  93.413 +         id="tspan4998">Primitive</tspan><tspan
  93.414 +         id="tspan3398"
  93.415 +         style="text-align:center;text-anchor:middle;fill:#000080"
  93.416 +         sodipodi:role="line"
  93.417 +         x="571.16797"
  93.418 +         y="383.42465">Code</tspan></text>
  93.419 +    <text
  93.420 +       sodipodi:linespacing="100%"
  93.421 +       id="text3400"
  93.422 +       y="363.42465"
  93.423 +       x="131.16797"
  93.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"
  93.425 +       xml:space="preserve"><tspan
  93.426 +         id="tspan3402"
  93.427 +         y="363.42465"
  93.428 +         x="131.16797"
  93.429 +         sodipodi:role="line"
  93.430 +         style="text-align:center;text-anchor:middle;fill:#800000">Language Plugin</tspan><tspan
  93.431 +         y="373.42465"
  93.432 +         x="131.16797"
  93.433 +         sodipodi:role="line"
  93.434 +         style="text-align:center;text-anchor:middle;fill:#800000"
  93.435 +         id="tspan3404">Code</tspan></text>
  93.436 +    <text
  93.437 +       xml:space="preserve"
  93.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"
  93.439 +       x="47.167969"
  93.440 +       y="363.42465"
  93.441 +       id="text3406"
  93.442 +       sodipodi:linespacing="100%"><tspan
  93.443 +         style="text-align:center;text-anchor:middle"
  93.444 +         sodipodi:role="line"
  93.445 +         x="47.167969"
  93.446 +         y="363.42465"
  93.447 +         id="tspan3408">Proto-Runtime</tspan><tspan
  93.448 +         id="tspan3410"
  93.449 +         style="text-align:center;text-anchor:middle"
  93.450 +         sodipodi:role="line"
  93.451 +         x="47.167969"
  93.452 +         y="373.42465">Code</tspan></text>
  93.453 +    <text
  93.454 +       xml:space="preserve"
  93.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"
  93.456 +       x="131.19971"
  93.457 +       y="413.42465"
  93.458 +       id="text3412"
  93.459 +       sodipodi:linespacing="100%"><tspan
  93.460 +         style="text-align:center;text-anchor:middle;fill:#800000"
  93.461 +         sodipodi:role="line"
  93.462 +         x="131.19971"
  93.463 +         y="413.42465"
  93.464 +         id="tspan3414">Handler</tspan><tspan
  93.465 +         style="text-align:center;text-anchor:middle;fill:#800000"
  93.466 +         sodipodi:role="line"
  93.467 +         x="131.19971"
  93.468 +         y="423.42465"
  93.469 +         id="tspan3422">for create VP</tspan></text>
  93.470 +    <text
  93.471 +       sodipodi:linespacing="100%"
  93.472 +       id="text3424"
  93.473 +       y="493.42465"
  93.474 +       x="131.19971"
  93.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"
  93.476 +       xml:space="preserve"><tspan
  93.477 +         id="tspan3426"
  93.478 +         y="493.42465"
  93.479 +         x="131.19971"
  93.480 +         sodipodi:role="line"
  93.481 +         style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan
  93.482 +         id="tspan3428"
  93.483 +         y="503.42465"
  93.484 +         x="131.19971"
  93.485 +         sodipodi:role="line"
  93.486 +         style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan
  93.487 +         id="tspan3430"
  93.488 +         y="513.42468"
  93.489 +         x="131.19971"
  93.490 +         sodipodi:role="line"
  93.491 +         style="text-align:center;text-anchor:middle;fill:#800000">Construct2</tspan></text>
  93.492 +    <text
  93.493 +       xml:space="preserve"
  93.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"
  93.495 +       x="47.661133"
  93.496 +       y="403.42465"
  93.497 +       id="text3432"
  93.498 +       sodipodi:linespacing="100%"><tspan
  93.499 +         style="text-align:center;text-anchor:middle"
  93.500 +         sodipodi:role="line"
  93.501 +         x="47.661133"
  93.502 +         y="403.42465"
  93.503 +         id="tspan3438">Master Fn</tspan></text>
  93.504 +    <text
  93.505 +       xml:space="preserve"
  93.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"
  93.507 +       x="131.52441"
  93.508 +       y="539.42468"
  93.509 +       id="text3444"
  93.510 +       sodipodi:linespacing="100%"><tspan
  93.511 +         style="text-align:center;text-anchor:middle;fill:#800000"
  93.512 +         sodipodi:role="line"
  93.513 +         x="131.52441"
  93.514 +         y="539.42468"
  93.515 +         id="tspan3450">Assigner Fn</tspan></text>
  93.516 +    <text
  93.517 +       xml:space="preserve"
  93.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"
  93.519 +       x="229.16797"
  93.520 +       y="365.42465"
  93.521 +       id="text3456"
  93.522 +       sodipodi:linespacing="100%"><tspan
  93.523 +         style="text-align:center;text-anchor:middle"
  93.524 +         sodipodi:role="line"
  93.525 +         x="230.67188"
  93.526 +         y="365.42465"
  93.527 +         id="tspan3458">Instances of </tspan><tspan
  93.528 +         style="text-align:center;text-anchor:middle"
  93.529 +         sodipodi:role="line"
  93.530 +         x="229.16797"
  93.531 +         y="375.42465"
  93.532 +         id="tspan8405">runtime system</tspan><tspan
  93.533 +         id="tspan3460"
  93.534 +         style="text-align:center;text-anchor:middle"
  93.535 +         sodipodi:role="line"
  93.536 +         x="229.16797"
  93.537 +         y="385.42465" /></text>
  93.538 +    <text
  93.539 +       sodipodi:linespacing="100%"
  93.540 +       id="text3462"
  93.541 +       y="363.42465"
  93.542 +       x="325.16797"
  93.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"
  93.544 +       xml:space="preserve"><tspan
  93.545 +         id="tspan3464"
  93.546 +         y="363.42465"
  93.547 +         x="325.16797"
  93.548 +         sodipodi:role="line"
  93.549 +         style="text-align:center;text-anchor:middle">Instances of</tspan><tspan
  93.550 +         y="373.42465"
  93.551 +         x="325.16797"
  93.552 +         sodipodi:role="line"
  93.553 +         style="text-align:center;text-anchor:middle"
  93.554 +         id="tspan3468">Virtual Processors</tspan><tspan
  93.555 +         y="383.42465"
  93.556 +         x="325.16797"
  93.557 +         sodipodi:role="line"
  93.558 +         style="text-align:center;text-anchor:middle"
  93.559 +         id="tspan3466" /></text>
  93.560 +    <path
  93.561 +       inkscape:connector-curvature="0"
  93.562 +       id="path4796"
  93.563 +       d="m 359.32649,400.02605 c 38.42351,0 38.42351,0 38.42351,0"
  93.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)" />
  93.565 +    <text
  93.566 +       xml:space="preserve"
  93.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"
  93.568 +       x="506.78461"
  93.569 +       y="397.42465"
  93.570 +       id="text4988"
  93.571 +       sodipodi:linespacing="100%"><tspan
  93.572 +         style="text-align:center;text-anchor:middle;fill:#800000"
  93.573 +         sodipodi:role="line"
  93.574 +         x="506.78461"
  93.575 +         y="397.42465"
  93.576 +         id="tspan4990">create VP</tspan><tspan
  93.577 +         style="text-align:center;text-anchor:middle;fill:#800000"
  93.578 +         sodipodi:role="line"
  93.579 +         x="506.78461"
  93.580 +         y="407.42465"
  93.581 +         id="tspan5104">wrapper Fn</tspan></text>
  93.582 +    <path
  93.583 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  93.584 +       d="m 48.02904,406.29842 c 0,7.37773 0,7.37773 0,7.37773"
  93.585 +       id="path4996"
  93.586 +       inkscape:connector-curvature="0"
  93.587 +       sodipodi:nodetypes="cc" />
  93.588 +    <path
  93.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)"
  93.590 +       d="m 48.247131,414.02605 c 48.887624,0 48.887624,0 48.887624,0"
  93.591 +       id="path5000"
  93.592 +       inkscape:connector-curvature="0" />
  93.593 +    <path
  93.594 +       inkscape:connector-curvature="0"
  93.595 +       id="path5002"
  93.596 +       d="m 98.156891,426.02605 c -51.085387,0 -51.085387,0 -51.085387,0"
  93.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)" />
  93.598 +    <path
  93.599 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  93.600 +       d="m 98.02904,412.63925 c 0,13.68455 0,13.68455 0,13.68455"
  93.601 +       id="path5006"
  93.602 +       inkscape:connector-curvature="0"
  93.603 +       sodipodi:nodetypes="cc" />
  93.604 +    <text
  93.605 +       sodipodi:linespacing="100%"
  93.606 +       id="text5012"
  93.607 +       y="455.42465"
  93.608 +       x="131.19971"
  93.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"
  93.610 +       xml:space="preserve"><tspan
  93.611 +         id="tspan5014"
  93.612 +         y="455.42465"
  93.613 +         x="131.19971"
  93.614 +         sodipodi:role="line"
  93.615 +         style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan
  93.616 +         id="tspan5016"
  93.617 +         y="465.42465"
  93.618 +         x="131.19971"
  93.619 +         sodipodi:role="line"
  93.620 +         style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan
  93.621 +         id="tspan5018"
  93.622 +         y="475.42465"
  93.623 +         x="131.19971"
  93.624 +         sodipodi:role="line"
  93.625 +         style="text-align:center;text-anchor:middle;fill:#800000">Construct1</tspan></text>
  93.626 +    <path
  93.627 +       sodipodi:nodetypes="cc"
  93.628 +       inkscape:connector-curvature="0"
  93.629 +       id="path5020"
  93.630 +       d="m 48.02904,426.51232 c 0,29.16381 0,29.16381 0,29.16381"
  93.631 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  93.632 +    <path
  93.633 +       inkscape:connector-curvature="0"
  93.634 +       id="path5022"
  93.635 +       d="m 48.247131,456.02605 c 48.887624,0 48.887624,0 48.887624,0"
  93.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)" />
  93.637 +    <path
  93.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)"
  93.639 +       d="m 98.156891,468.02605 c -51.085387,0 -51.085387,0 -51.085387,0"
  93.640 +       id="path5024"
  93.641 +       inkscape:connector-curvature="0" />
  93.642 +    <path
  93.643 +       sodipodi:nodetypes="cc"
  93.644 +       inkscape:connector-curvature="0"
  93.645 +       id="path5026"
  93.646 +       d="m 98.02904,454.63925 c 0,13.68455 0,13.68455 0,13.68455"
  93.647 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  93.648 +    <path
  93.649 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  93.650 +       d="m 48.02904,468.14337 c 0,25.5328 0,25.5328 0,25.5328"
  93.651 +       id="path5032"
  93.652 +       inkscape:connector-curvature="0"
  93.653 +       sodipodi:nodetypes="cc" />
  93.654 +    <path
  93.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)"
  93.656 +       d="m 48.247131,494.02605 c 48.887624,0 48.887624,0 48.887624,0"
  93.657 +       id="path5034"
  93.658 +       inkscape:connector-curvature="0" />
  93.659 +    <path
  93.660 +       inkscape:connector-curvature="0"
  93.661 +       id="path5036"
  93.662 +       d="m 98.156891,506.02605 c -51.085387,0 -51.085387,0 -51.085387,0"
  93.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)" />
  93.664 +    <path
  93.665 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  93.666 +       d="m 98.02904,492.63925 c 0,13.68455 0,13.68455 0,13.68455"
  93.667 +       id="path5038"
  93.668 +       inkscape:connector-curvature="0"
  93.669 +       sodipodi:nodetypes="cc" />
  93.670 +    <path
  93.671 +       sodipodi:nodetypes="cc"
  93.672 +       inkscape:connector-curvature="0"
  93.673 +       id="path5044"
  93.674 +       d="m 48.02904,506.56402 c 0,23.11212 0,23.11212 0,23.11212"
  93.675 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  93.676 +    <path
  93.677 +       inkscape:connector-curvature="0"
  93.678 +       id="path5046"
  93.679 +       d="m 48.247131,530.02605 c 48.887624,0 48.887624,0 48.887624,0"
  93.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)" />
  93.681 +    <path
  93.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)"
  93.683 +       d="m 98.156891,542.02605 c -51.085387,0 -51.085387,0 -51.085387,0"
  93.684 +       id="path5048"
  93.685 +       inkscape:connector-curvature="0" />
  93.686 +    <path
  93.687 +       sodipodi:nodetypes="cc"
  93.688 +       inkscape:connector-curvature="0"
  93.689 +       id="path5050"
  93.690 +       d="m 98.02904,528.63925 c 0,13.68455 0,13.68455 0,13.68455"
  93.691 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  93.692 +    <text
  93.693 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  93.694 +       xml:space="preserve"
  93.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"
  93.696 +       x="78.264717"
  93.697 +       y="410.23279"
  93.698 +       id="text5064"
  93.699 +       sodipodi:linespacing="100%"><tspan
  93.700 +         style="font-size:8px;text-align:center;text-anchor:middle"
  93.701 +         sodipodi:role="line"
  93.702 +         x="78.264717"
  93.703 +         y="410.23279"
  93.704 +         id="tspan5066">Call via Ptr</tspan></text>
  93.705 +    <path
  93.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)"
  93.707 +       d="m 193.99816,400.02605 c -117.505852,0 -117.505852,0 -117.505852,0"
  93.708 +       id="path5068"
  93.709 +       inkscape:connector-curvature="0" />
  93.710 +    <text
  93.711 +       sodipodi:linespacing="100%"
  93.712 +       id="text5070"
  93.713 +       y="415.39398"
  93.714 +       x="58.358849"
  93.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"
  93.716 +       xml:space="preserve"
  93.717 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  93.718 +         id="tspan5072"
  93.719 +         y="415.39398"
  93.720 +         x="58.358849"
  93.721 +         sodipodi:role="line"
  93.722 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
  93.723 +    <text
  93.724 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
  93.725 +       xml:space="preserve"
  93.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"
  93.727 +       x="299.82327"
  93.728 +       y="462.45642"
  93.729 +       id="text5074"
  93.730 +       sodipodi:linespacing="100%"><tspan
  93.731 +         style="font-size:8px;text-align:center;text-anchor:middle"
  93.732 +         sodipodi:role="line"
  93.733 +         x="299.82327"
  93.734 +         y="462.45642"
  93.735 +         id="tspan5076">Top Level Fn</tspan></text>
  93.736 +    <text
  93.737 +       sodipodi:linespacing="100%"
  93.738 +       id="text5078"
  93.739 +       y="619.64636"
  93.740 +       x="269.89853"
  93.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"
  93.742 +       xml:space="preserve"
  93.743 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  93.744 +         id="tspan5080"
  93.745 +         y="619.64636"
  93.746 +         x="269.89853"
  93.747 +         sodipodi:role="line"
  93.748 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
  93.749 +    <path
  93.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)"
  93.751 +       d="m 360.9835,560.02605 c 36.7665,0 36.7665,0 36.7665,0"
  93.752 +       id="path5082"
  93.753 +       inkscape:connector-curvature="0" />
  93.754 +    <path
  93.755 +       inkscape:connector-curvature="0"
  93.756 +       id="path5084"
  93.757 +       d="m 359.32649,712.02605 c 38.42351,0 38.42351,0 38.42351,0"
  93.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)" />
  93.759 +    <path
  93.760 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  93.761 +       d="m 416.02904,404.31985 c 0,7.35629 0,7.35629 0,7.35629"
  93.762 +       id="path5092"
  93.763 +       inkscape:connector-curvature="0"
  93.764 +       sodipodi:nodetypes="cc" />
  93.765 +    <path
  93.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)"
  93.767 +       d="m 416.24714,412.02605 c 85.56237,0 85.56237,0 85.56237,0"
  93.768 +       id="path5094"
  93.769 +       inkscape:connector-curvature="0" />
  93.770 +    <path
  93.771 +       inkscape:connector-curvature="0"
  93.772 +       id="path5096"
  93.773 +       d="m 504.77166,478.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
  93.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)" />
  93.775 +    <text
  93.776 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
  93.777 +       xml:space="preserve"
  93.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"
  93.779 +       x="239.60797"
  93.780 +       y="768.59875"
  93.781 +       id="text5114"
  93.782 +       sodipodi:linespacing="100%"><tspan
  93.783 +         style="font-size:8px;text-align:center;text-anchor:middle"
  93.784 +         sodipodi:role="line"
  93.785 +         x="239.60797"
  93.786 +         y="768.59875"
  93.787 +         id="tspan5116">Top Level Fn</tspan></text>
  93.788 +    <text
  93.789 +       sodipodi:linespacing="100%"
  93.790 +       id="text5136"
  93.791 +       y="715.42468"
  93.792 +       x="419.16797"
  93.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"
  93.794 +       xml:space="preserve"><tspan
  93.795 +         id="tspan5138"
  93.796 +         y="715.42468"
  93.797 +         x="419.16797"
  93.798 +         sodipodi:role="line"
  93.799 +         style="text-align:center;text-anchor:middle;fill:#008000">Work_Fn</tspan></text>
  93.800 +    <path
  93.801 +       sodipodi:nodetypes="cc"
  93.802 +       inkscape:connector-curvature="0"
  93.803 +       id="path5140"
  93.804 +       d="m 416.02904,478.31987 c 0,26.21842 0,26.21842 0,26.21842"
  93.805 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  93.806 +    <path
  93.807 +       inkscape:connector-curvature="0"
  93.808 +       id="path5142"
  93.809 +       d="m 416.2471,504.02605 c 87.58783,0 87.58783,0 87.58783,0"
  93.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)" />
  93.811 +    <text
  93.812 +       sodipodi:linespacing="100%"
  93.813 +       id="text5157"
  93.814 +       y="490.71182"
  93.815 +       x="506.78461"
  93.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"
  93.817 +       xml:space="preserve"><tspan
  93.818 +         id="tspan5161"
  93.819 +         y="490.71182"
  93.820 +         x="506.78461"
  93.821 +         sodipodi:role="line"
  93.822 +         style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan
  93.823 +         y="500.71182"
  93.824 +         x="506.78461"
  93.825 +         sodipodi:role="line"
  93.826 +         style="text-align:center;text-anchor:middle;fill:#800000"
  93.827 +         id="tspan5207">wrapper Fn</tspan></text>
  93.828 +    <path
  93.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)"
  93.830 +       d="m 504.26584,510.02605 c 63.99676,0 63.99676,0 63.99676,0"
  93.831 +       id="path5165"
  93.832 +       inkscape:connector-curvature="0" />
  93.833 +    <text
  93.834 +       xml:space="preserve"
  93.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"
  93.836 +       x="571.34375"
  93.837 +       y="496.71182"
  93.838 +       id="text5167"
  93.839 +       sodipodi:linespacing="100%"><tspan
  93.840 +         style="text-align:center;text-anchor:middle;fill:#000080"
  93.841 +         sodipodi:role="line"
  93.842 +         x="571.34375"
  93.843 +         y="496.71182"
  93.844 +         id="tspan5169">End VP</tspan><tspan
  93.845 +         style="text-align:center;text-anchor:middle;fill:#000080"
  93.846 +         sodipodi:role="line"
  93.847 +         x="571.34375"
  93.848 +         y="506.71182"
  93.849 +         id="tspan5171">Primitive Fn</tspan></text>
  93.850 +    <path
  93.851 +       sodipodi:nodetypes="cc"
  93.852 +       inkscape:connector-curvature="0"
  93.853 +       id="path5179"
  93.854 +       d="m 416.02904,564.31985 c 0,7.35629 0,7.35629 0,7.35629"
  93.855 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  93.856 +    <path
  93.857 +       sodipodi:nodetypes="cc"
  93.858 +       inkscape:connector-curvature="0"
  93.859 +       id="path5209"
  93.860 +       d="m 504.02904,502.31985 c 0,7.35629 0,7.35629 0,7.35629"
  93.861 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  93.862 +    <text
  93.863 +       xml:space="preserve"
  93.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"
  93.865 +       x="497.16797"
  93.866 +       y="399.42468"
  93.867 +       id="text5211"
  93.868 +       sodipodi:linespacing="100%"><tspan
  93.869 +         style="text-align:center;text-anchor:middle"
  93.870 +         sodipodi:role="line"
  93.871 +         x="497.16797"
  93.872 +         y="399.42468"
  93.873 +         id="tspan5215" /></text>
  93.874 +    <path
  93.875 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  93.876 +       d="m 504.02904,412.21843 c 0,19.4577 0,19.4577 0,19.4577"
  93.877 +       id="path5217"
  93.878 +       inkscape:connector-curvature="0"
  93.879 +       sodipodi:nodetypes="cc" />
  93.880 +    <path
  93.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)"
  93.882 +       d="m 504.24714,432.02605 c 64.71029,0 64.71029,0 64.71029,0"
  93.883 +       id="path5219"
  93.884 +       inkscape:connector-curvature="0" />
  93.885 +    <path
  93.886 +       inkscape:connector-curvature="0"
  93.887 +       id="path5221"
  93.888 +       d="m 568.85635,474.02605 c -65.78483,0 -65.78483,0 -65.78483,0"
  93.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)" />
  93.890 +    <path
  93.891 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  93.892 +       d="m 570.02904,430.63925 c 0,13.68455 0,13.68455 0,13.68455"
  93.893 +       id="path5223"
  93.894 +       inkscape:connector-curvature="0"
  93.895 +       sodipodi:nodetypes="cc" />
  93.896 +    <path
  93.897 +       sodipodi:nodetypes="cc"
  93.898 +       inkscape:connector-curvature="0"
  93.899 +       id="path5229"
  93.900 +       d="m 504.02904,473.22687 c 0,5.5885 0,5.5885 0,5.5885"
  93.901 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  93.902 +    <text
  93.903 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  93.904 +       xml:space="preserve"
  93.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"
  93.906 +       x="527.4845"
  93.907 +       y="436.83682"
  93.908 +       id="text5231"
  93.909 +       sodipodi:linespacing="100%"><tspan
  93.910 +         style="font-size:8px;text-align:center;text-anchor:middle"
  93.911 +         sodipodi:role="line"
  93.912 +         x="527.4845"
  93.913 +         y="436.83682"
  93.914 +         id="tspan5233">normal call</tspan></text>
  93.915 +    <path
  93.916 +       sodipodi:nodetypes="cc"
  93.917 +       inkscape:connector-curvature="0"
  93.918 +       id="path5235"
  93.919 +       d="m 570.02904,460.63925 c 0,13.68455 0,13.68455 0,13.68455"
  93.920 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  93.921 +    <path
  93.922 +       inkscape:connector-curvature="0"
  93.923 +       id="path5237"
  93.924 +       d="m 570.24715,442.02605 c 57.74832,0 57.74832,0 57.74832,0"
  93.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)" />
  93.926 +    <text
  93.927 +       sodipodi:linespacing="100%"
  93.928 +       id="text5239"
  93.929 +       y="732.05804"
  93.930 +       x="136.82079"
  93.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"
  93.932 +       xml:space="preserve"
  93.933 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  93.934 +         id="tspan5241"
  93.935 +         y="732.05804"
  93.936 +         x="136.82079"
  93.937 +         sodipodi:role="line"
  93.938 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  93.939 +         y="740.05804"
  93.940 +         x="136.82079"
  93.941 +         sodipodi:role="line"
  93.942 +         style="font-size:8px;text-align:center;text-anchor:middle"
  93.943 +         id="tspan5243">and switch</tspan><tspan
  93.944 +         y="748.05804"
  93.945 +         x="136.82079"
  93.946 +         sodipodi:role="line"
  93.947 +         style="font-size:8px;text-align:center;text-anchor:middle"
  93.948 +         id="tspan5245">to runtime</tspan></text>
  93.949 +    <path
  93.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)"
  93.951 +       d="m 627.94909,462.02605 c -56.8776,0 -56.8776,0 -56.8776,0"
  93.952 +       id="path5247"
  93.953 +       inkscape:connector-curvature="0" />
  93.954 +    <text
  93.955 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  93.956 +       xml:space="preserve"
  93.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"
  93.958 +       x="111.73514"
  93.959 +       y="755.09509"
  93.960 +       id="text5249"
  93.961 +       sodipodi:linespacing="100%"><tspan
  93.962 +         id="tspan5255"
  93.963 +         style="font-size:8px;text-align:center;text-anchor:middle"
  93.964 +         sodipodi:role="line"
  93.965 +         x="111.73514"
  93.966 +         y="755.09509">return</tspan><tspan
  93.967 +         style="font-size:8px;text-align:center;text-anchor:middle"
  93.968 +         sodipodi:role="line"
  93.969 +         x="111.73514"
  93.970 +         y="763.09509"
  93.971 +         id="tspan5261">from</tspan><tspan
  93.972 +         style="font-size:8px;text-align:center;text-anchor:middle"
  93.973 +         sodipodi:role="line"
  93.974 +         x="111.73514"
  93.975 +         y="771.09509"
  93.976 +         id="tspan5263">suspend</tspan></text>
  93.977 +    <text
  93.978 +       sodipodi:linespacing="100%"
  93.979 +       id="text5345"
  93.980 +       y="417.42465"
  93.981 +       x="571.38037"
  93.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"
  93.983 +       xml:space="preserve"><tspan
  93.984 +         id="tspan5349"
  93.985 +         y="417.42465"
  93.986 +         x="571.38037"
  93.987 +         sodipodi:role="line"
  93.988 +         style="text-align:center;text-anchor:middle;fill:#000080">create VP</tspan><tspan
  93.989 +         y="427.42465"
  93.990 +         x="571.38037"
  93.991 +         sodipodi:role="line"
  93.992 +         style="text-align:center;text-anchor:middle;fill:#000080"
  93.993 +         id="tspan5353">primitive Fn</tspan></text>
  93.994 +    <text
  93.995 +       sodipodi:linespacing="100%"
  93.996 +       id="text5355"
  93.997 +       y="417.14474"
  93.998 +       x="457.39746"
  93.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"
 93.1000 +       xml:space="preserve"
 93.1001 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 93.1002 +         id="tspan5357"
 93.1003 +         y="417.14474"
 93.1004 +         x="457.39746"
 93.1005 +         sodipodi:role="line"
 93.1006 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
 93.1007 +    <path
 93.1008 +       sodipodi:nodetypes="cc"
 93.1009 +       inkscape:connector-curvature="0"
 93.1010 +       id="path5359"
 93.1011 +       d="m 570.02904,509.28283 c 0,13.68455 0,13.68455 0,13.68455"
 93.1012 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 93.1013 +    <path
 93.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)"
 93.1015 +       d="m 570.24715,520.66963 c 57.74832,0 57.74832,0 57.74832,0"
 93.1016 +       id="path5361"
 93.1017 +       inkscape:connector-curvature="0" />
 93.1018 +    <text
 93.1019 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 93.1020 +       xml:space="preserve"
 93.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"
 93.1022 +       x="81.17688"
 93.1023 +       y="789.53607"
 93.1024 +       id="text5363"
 93.1025 +       sodipodi:linespacing="100%"><tspan
 93.1026 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1027 +         sodipodi:role="line"
 93.1028 +         x="81.17688"
 93.1029 +         y="789.53607"
 93.1030 +         id="tspan5365">suspend</tspan><tspan
 93.1031 +         id="tspan5367"
 93.1032 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1033 +         sodipodi:role="line"
 93.1034 +         x="81.17688"
 93.1035 +         y="797.53607">and switch</tspan><tspan
 93.1036 +         id="tspan5369"
 93.1037 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1038 +         sodipodi:role="line"
 93.1039 +         x="81.17688"
 93.1040 +         y="805.53607">to runtime</tspan></text>
 93.1041 +    <text
 93.1042 +       sodipodi:linespacing="100%"
 93.1043 +       id="text5371"
 93.1044 +       y="557.42468"
 93.1045 +       x="506.59662"
 93.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"
 93.1047 +       xml:space="preserve"><tspan
 93.1048 +         id="tspan5373"
 93.1049 +         y="557.42468"
 93.1050 +         x="506.59662"
 93.1051 +         sodipodi:role="line"
 93.1052 +         style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan
 93.1053 +         id="tspan5375"
 93.1054 +         y="567.42468"
 93.1055 +         x="506.59662"
 93.1056 +         sodipodi:role="line"
 93.1057 +         style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text>
 93.1058 +    <path
 93.1059 +       sodipodi:nodetypes="cc"
 93.1060 +       inkscape:connector-curvature="0"
 93.1061 +       id="path5377"
 93.1062 +       d="m 416.02904,564.31985 c 0,7.35629 0,7.35629 0,7.35629"
 93.1063 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 93.1064 +    <path
 93.1065 +       inkscape:connector-curvature="0"
 93.1066 +       id="path5379"
 93.1067 +       d="m 416.24714,572.02605 c 85.56237,0 85.56237,0 85.56237,0"
 93.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)" />
 93.1069 +    <path
 93.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)"
 93.1071 +       d="m 504.77166,638.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
 93.1072 +       id="path5381"
 93.1073 +       inkscape:connector-curvature="0" />
 93.1074 +    <text
 93.1075 +       xml:space="preserve"
 93.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"
 93.1077 +       x="506.78461"
 93.1078 +       y="650.71179"
 93.1079 +       id="text5387"
 93.1080 +       sodipodi:linespacing="100%"><tspan
 93.1081 +         style="text-align:center;text-anchor:middle;fill:#800000"
 93.1082 +         sodipodi:role="line"
 93.1083 +         x="506.78461"
 93.1084 +         y="650.71179"
 93.1085 +         id="tspan5389">end VP</tspan><tspan
 93.1086 +         id="tspan5391"
 93.1087 +         style="text-align:center;text-anchor:middle;fill:#800000"
 93.1088 +         sodipodi:role="line"
 93.1089 +         x="506.78461"
 93.1090 +         y="660.71179">wrapper Fn</tspan></text>
 93.1091 +    <path
 93.1092 +       inkscape:connector-curvature="0"
 93.1093 +       id="path5393"
 93.1094 +       d="m 504.289,670.02605 c 65.24023,0 65.24023,0 65.24023,0"
 93.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)" />
 93.1096 +    <text
 93.1097 +       sodipodi:linespacing="100%"
 93.1098 +       id="text5395"
 93.1099 +       y="656.71179"
 93.1100 +       x="571.34375"
 93.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"
 93.1102 +       xml:space="preserve"><tspan
 93.1103 +         id="tspan5397"
 93.1104 +         y="656.71179"
 93.1105 +         x="571.34375"
 93.1106 +         sodipodi:role="line"
 93.1107 +         style="text-align:center;text-anchor:middle;fill:#000080">end VP</tspan><tspan
 93.1108 +         id="tspan5399"
 93.1109 +         y="666.71179"
 93.1110 +         x="571.34375"
 93.1111 +         sodipodi:role="line"
 93.1112 +         style="text-align:center;text-anchor:middle;fill:#000080">Primitive Fn</tspan></text>
 93.1113 +    <path
 93.1114 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 93.1115 +       d="m 504.02904,662.31985 c 0,7.35629 0,7.35629 0,7.35629"
 93.1116 +       id="path5401"
 93.1117 +       inkscape:connector-curvature="0"
 93.1118 +       sodipodi:nodetypes="cc" />
 93.1119 +    <path
 93.1120 +       sodipodi:nodetypes="cc"
 93.1121 +       inkscape:connector-curvature="0"
 93.1122 +       id="path5403"
 93.1123 +       d="m 504.02904,572.21843 c 0,19.4577 0,19.4577 0,19.4577"
 93.1124 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 93.1125 +    <path
 93.1126 +       inkscape:connector-curvature="0"
 93.1127 +       id="path5405"
 93.1128 +       d="m 504.6148,592.02605 c 64.1779,0 64.1779,0 64.1779,0"
 93.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)" />
 93.1130 +    <path
 93.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)"
 93.1132 +       d="m 570.13452,634.02605 c -67.06305,0 -67.06305,0 -67.06305,0"
 93.1133 +       id="path5407"
 93.1134 +       inkscape:connector-curvature="0" />
 93.1135 +    <path
 93.1136 +       sodipodi:nodetypes="cc"
 93.1137 +       inkscape:connector-curvature="0"
 93.1138 +       id="path5409"
 93.1139 +       d="m 570.02904,590.63925 c 0,13.68455 0,13.68455 0,13.68455"
 93.1140 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 93.1141 +    <path
 93.1142 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 93.1143 +       d="m 504.02904,633.22687 c 0,5.5885 0,5.5885 0,5.5885"
 93.1144 +       id="path5411"
 93.1145 +       inkscape:connector-curvature="0"
 93.1146 +       sodipodi:nodetypes="cc" />
 93.1147 +    <text
 93.1148 +       sodipodi:linespacing="100%"
 93.1149 +       id="text5413"
 93.1150 +       y="596.83447"
 93.1151 +       x="528.18695"
 93.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"
 93.1153 +       xml:space="preserve"
 93.1154 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 93.1155 +         id="tspan5415"
 93.1156 +         y="596.83447"
 93.1157 +         x="528.18695"
 93.1158 +         sodipodi:role="line"
 93.1159 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
 93.1160 +    <path
 93.1161 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 93.1162 +       d="m 570.02904,620.63925 c 0,13.68455 0,13.68455 0,13.68455"
 93.1163 +       id="path5417"
 93.1164 +       inkscape:connector-curvature="0"
 93.1165 +       sodipodi:nodetypes="cc" />
 93.1166 +    <path
 93.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)"
 93.1168 +       d="m 570.24715,602.02605 c 57.74832,0 57.74832,0 57.74832,0"
 93.1169 +       id="path5419"
 93.1170 +       inkscape:connector-curvature="0" />
 93.1171 +    <text
 93.1172 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 93.1173 +       xml:space="preserve"
 93.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"
 93.1175 +       x="25.533201"
 93.1176 +       y="847.01544"
 93.1177 +       id="text5421"
 93.1178 +       sodipodi:linespacing="100%"><tspan
 93.1179 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1180 +         sodipodi:role="line"
 93.1181 +         x="25.533201"
 93.1182 +         y="847.01544"
 93.1183 +         id="tspan5423">suspend</tspan><tspan
 93.1184 +         id="tspan5425"
 93.1185 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1186 +         sodipodi:role="line"
 93.1187 +         x="25.533201"
 93.1188 +         y="855.01544">and switch</tspan><tspan
 93.1189 +         id="tspan5427"
 93.1190 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1191 +         sodipodi:role="line"
 93.1192 +         x="25.533201"
 93.1193 +         y="863.01544">to runtime</tspan></text>
 93.1194 +    <path
 93.1195 +       inkscape:connector-curvature="0"
 93.1196 +       id="path5429"
 93.1197 +       d="m 627.94909,622.02605 c -56.8776,0 -56.8776,0 -56.8776,0"
 93.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)" />
 93.1199 +    <text
 93.1200 +       sodipodi:linespacing="100%"
 93.1201 +       id="text5431"
 93.1202 +       y="871.4436"
 93.1203 +       x="1.8845758"
 93.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"
 93.1205 +       xml:space="preserve"
 93.1206 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 93.1207 +         y="871.4436"
 93.1208 +         x="1.8845758"
 93.1209 +         sodipodi:role="line"
 93.1210 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1211 +         id="tspan5433">return</tspan><tspan
 93.1212 +         id="tspan5435"
 93.1213 +         y="879.4436"
 93.1214 +         x="1.8845758"
 93.1215 +         sodipodi:role="line"
 93.1216 +         style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan
 93.1217 +         id="tspan5437"
 93.1218 +         y="887.4436"
 93.1219 +         x="1.8845758"
 93.1220 +         sodipodi:role="line"
 93.1221 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 93.1222 +    <text
 93.1223 +       xml:space="preserve"
 93.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"
 93.1225 +       x="571.33643"
 93.1226 +       y="577.42468"
 93.1227 +       id="text5439"
 93.1228 +       sodipodi:linespacing="100%"><tspan
 93.1229 +         style="text-align:center;text-anchor:middle;fill:#000080"
 93.1230 +         sodipodi:role="line"
 93.1231 +         x="571.33643"
 93.1232 +         y="577.42468"
 93.1233 +         id="tspan5441">send request</tspan><tspan
 93.1234 +         id="tspan5443"
 93.1235 +         style="text-align:center;text-anchor:middle;fill:#000080"
 93.1236 +         sodipodi:role="line"
 93.1237 +         x="571.33643"
 93.1238 +         y="587.42468">primitive Fn</tspan></text>
 93.1239 +    <text
 93.1240 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 93.1241 +       xml:space="preserve"
 93.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"
 93.1243 +       x="458.09958"
 93.1244 +       y="577.1424"
 93.1245 +       id="text5445"
 93.1246 +       sodipodi:linespacing="100%"><tspan
 93.1247 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1248 +         sodipodi:role="line"
 93.1249 +         x="458.09958"
 93.1250 +         y="577.1424"
 93.1251 +         id="tspan5447">normal call</tspan></text>
 93.1252 +    <path
 93.1253 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 93.1254 +       d="m 570.02904,669.28283 c 0,13.68455 0,13.68455 0,13.68455"
 93.1255 +       id="path5449"
 93.1256 +       inkscape:connector-curvature="0"
 93.1257 +       sodipodi:nodetypes="cc" />
 93.1258 +    <path
 93.1259 +       inkscape:connector-curvature="0"
 93.1260 +       id="path5451"
 93.1261 +       d="m 570.24715,680.66963 c 57.74832,0 57.74832,0 57.74832,0"
 93.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)" />
 93.1263 +    <text
 93.1264 +       sodipodi:linespacing="100%"
 93.1265 +       id="text5453"
 93.1266 +       y="904.49347"
 93.1267 +       x="-30.11055"
 93.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"
 93.1269 +       xml:space="preserve"
 93.1270 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 93.1271 +         id="tspan5455"
 93.1272 +         y="904.49347"
 93.1273 +         x="-30.11055"
 93.1274 +         sodipodi:role="line"
 93.1275 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
 93.1276 +         y="912.49347"
 93.1277 +         x="-30.11055"
 93.1278 +         sodipodi:role="line"
 93.1279 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1280 +         id="tspan5457">and switch</tspan><tspan
 93.1281 +         y="920.49347"
 93.1282 +         x="-30.11055"
 93.1283 +         sodipodi:role="line"
 93.1284 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1285 +         id="tspan5459">to runtime</tspan></text>
 93.1286 +    <path
 93.1287 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 93.1288 +       d="m 416.02904,638.31987 c 0,26.21842 0,26.21842 0,26.21842"
 93.1289 +       id="path5461"
 93.1290 +       inkscape:connector-curvature="0"
 93.1291 +       sodipodi:nodetypes="cc" />
 93.1292 +    <path
 93.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)"
 93.1294 +       d="m 416.2471,664.02605 c 87.58783,0 87.58783,0 87.58783,0"
 93.1295 +       id="path5463"
 93.1296 +       inkscape:connector-curvature="0" />
 93.1297 +    <text
 93.1298 +       sodipodi:linespacing="100%"
 93.1299 +       id="text5465"
 93.1300 +       y="509.14246"
 93.1301 +       x="457.80075"
 93.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"
 93.1303 +       xml:space="preserve"
 93.1304 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 93.1305 +         id="tspan5467"
 93.1306 +         y="509.14246"
 93.1307 +         x="457.80075"
 93.1308 +         sodipodi:role="line"
 93.1309 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
 93.1310 +    <text
 93.1311 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 93.1312 +       xml:space="preserve"
 93.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"
 93.1314 +       x="458.50388"
 93.1315 +       y="669.1424"
 93.1316 +       id="text5469"
 93.1317 +       sodipodi:linespacing="100%"><tspan
 93.1318 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1319 +         sodipodi:role="line"
 93.1320 +         x="458.50388"
 93.1321 +         y="669.1424"
 93.1322 +         id="tspan5471">normal call</tspan></text>
 93.1323 +    <text
 93.1324 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 93.1325 +       xml:space="preserve"
 93.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"
 93.1327 +       x="528.52972"
 93.1328 +       y="674.83447"
 93.1329 +       id="text5477"
 93.1330 +       sodipodi:linespacing="100%"><tspan
 93.1331 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1332 +         sodipodi:role="line"
 93.1333 +         x="528.52972"
 93.1334 +         y="674.83447"
 93.1335 +         id="tspan5479">normal call</tspan></text>
 93.1336 +    <text
 93.1337 +       sodipodi:linespacing="100%"
 93.1338 +       id="text5481"
 93.1339 +       y="514.83447"
 93.1340 +       x="527.8266"
 93.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"
 93.1342 +       xml:space="preserve"
 93.1343 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 93.1344 +         id="tspan5483"
 93.1345 +         y="514.83447"
 93.1346 +         x="527.8266"
 93.1347 +         sodipodi:role="line"
 93.1348 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
 93.1349 +    <text
 93.1350 +       sodipodi:linespacing="100%"
 93.1351 +       id="text5489"
 93.1352 +       y="452.22702"
 93.1353 +       x="78.959503"
 93.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"
 93.1355 +       xml:space="preserve"
 93.1356 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 93.1357 +         id="tspan5491"
 93.1358 +         y="452.22702"
 93.1359 +         x="78.959503"
 93.1360 +         sodipodi:role="line"
 93.1361 +         style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text>
 93.1362 +    <text
 93.1363 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 93.1364 +       xml:space="preserve"
 93.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"
 93.1366 +       x="79.588112"
 93.1367 +       y="490.2218"
 93.1368 +       id="text5493"
 93.1369 +       sodipodi:linespacing="100%"><tspan
 93.1370 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1371 +         sodipodi:role="line"
 93.1372 +         x="79.588112"
 93.1373 +         y="490.2218"
 93.1374 +         id="tspan5495">Call via Ptr</tspan></text>
 93.1375 +    <text
 93.1376 +       sodipodi:linespacing="100%"
 93.1377 +       id="text5497"
 93.1378 +       y="526.21716"
 93.1379 +       x="80.18364"
 93.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"
 93.1381 +       xml:space="preserve"
 93.1382 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 93.1383 +         id="tspan5499"
 93.1384 +         y="526.21716"
 93.1385 +         x="80.18364"
 93.1386 +         sodipodi:role="line"
 93.1387 +         style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text>
 93.1388 +    <g
 93.1389 +       transform="translate(-114,76)"
 93.1390 +       id="g8395">
 93.1391 +      <rect
 93.1392 +         y="313.58255"
 93.1393 +         x="310.40247"
 93.1394 +         height="52.250008"
 93.1395 +         width="65.276405"
 93.1396 +         id="rect8397"
 93.1397 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
 93.1398 +    </g>
 93.1399 +    <text
 93.1400 +       xml:space="preserve"
 93.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"
 93.1402 +       x="228.92543"
 93.1403 +       y="577.76575"
 93.1404 +       id="text8411"
 93.1405 +       sodipodi:linespacing="100%"><tspan
 93.1406 +         style="text-align:center;text-anchor:middle"
 93.1407 +         sodipodi:role="line"
 93.1408 +         id="tspan8413"
 93.1409 +         x="228.92543"
 93.1410 +         y="577.76575">Master</tspan><tspan
 93.1411 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1412 +         id="tspan8415"
 93.1413 +         sodipodi:role="line"
 93.1414 +         x="228.92543"
 93.1415 +         y="586.2005">(runtime system)</tspan><tspan
 93.1416 +         id="tspan8417"
 93.1417 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1418 +         sodipodi:role="line"
 93.1419 +         x="228.92543"
 93.1420 +         y="594.2005">on core 2</tspan></text>
 93.1421 +    <g
 93.1422 +       id="g8419"
 93.1423 +       transform="translate(-114,254)">
 93.1424 +      <rect
 93.1425 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 93.1426 +         id="rect8421"
 93.1427 +         width="65.276405"
 93.1428 +         height="52.250008"
 93.1429 +         x="310.40247"
 93.1430 +         y="313.58255" />
 93.1431 +    </g>
 93.1432 +    <text
 93.1433 +       sodipodi:linespacing="100%"
 93.1434 +       id="text8425"
 93.1435 +       y="593.42468"
 93.1436 +       x="131.19971"
 93.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"
 93.1438 +       xml:space="preserve"><tspan
 93.1439 +         id="tspan8427"
 93.1440 +         y="593.42468"
 93.1441 +         x="131.19971"
 93.1442 +         sodipodi:role="line"
 93.1443 +         style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan
 93.1444 +         id="tspan8429"
 93.1445 +         y="603.42468"
 93.1446 +         x="131.19971"
 93.1447 +         sodipodi:role="line"
 93.1448 +         style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan
 93.1449 +         id="tspan8431"
 93.1450 +         y="613.42468"
 93.1451 +         x="131.19971"
 93.1452 +         sodipodi:role="line"
 93.1453 +         style="text-align:center;text-anchor:middle;fill:#800000">Construct1</tspan></text>
 93.1454 +    <text
 93.1455 +       xml:space="preserve"
 93.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"
 93.1457 +       x="131.19971"
 93.1458 +       y="673.42468"
 93.1459 +       id="text8433"
 93.1460 +       sodipodi:linespacing="100%"><tspan
 93.1461 +         style="text-align:center;text-anchor:middle;fill:#800000"
 93.1462 +         sodipodi:role="line"
 93.1463 +         x="131.19971"
 93.1464 +         y="673.42468"
 93.1465 +         id="tspan8435">Handler</tspan><tspan
 93.1466 +         style="text-align:center;text-anchor:middle;fill:#800000"
 93.1467 +         sodipodi:role="line"
 93.1468 +         x="131.19971"
 93.1469 +         y="683.42468"
 93.1470 +         id="tspan8437">for Language</tspan><tspan
 93.1471 +         style="text-align:center;text-anchor:middle;fill:#800000"
 93.1472 +         sodipodi:role="line"
 93.1473 +         x="131.19971"
 93.1474 +         y="693.42468"
 93.1475 +         id="tspan8439">Construct2</tspan></text>
 93.1476 +    <text
 93.1477 +       sodipodi:linespacing="100%"
 93.1478 +       id="text8441"
 93.1479 +       y="583.42468"
 93.1480 +       x="47.661133"
 93.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"
 93.1482 +       xml:space="preserve"><tspan
 93.1483 +         id="tspan8443"
 93.1484 +         y="583.42468"
 93.1485 +         x="47.661133"
 93.1486 +         sodipodi:role="line"
 93.1487 +         style="text-align:center;text-anchor:middle">Master Fn</tspan></text>
 93.1488 +    <text
 93.1489 +       sodipodi:linespacing="100%"
 93.1490 +       id="text8445"
 93.1491 +       y="719.42468"
 93.1492 +       x="131.52441"
 93.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"
 93.1494 +       xml:space="preserve"><tspan
 93.1495 +         id="tspan8447"
 93.1496 +         y="719.42468"
 93.1497 +         x="131.52441"
 93.1498 +         sodipodi:role="line"
 93.1499 +         style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text>
 93.1500 +    <path
 93.1501 +       sodipodi:nodetypes="cc"
 93.1502 +       inkscape:connector-curvature="0"
 93.1503 +       id="path8449"
 93.1504 +       d="m 48.02904,586.29842 c 0,7.37773 0,7.37773 0,7.37773"
 93.1505 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 93.1506 +    <path
 93.1507 +       inkscape:connector-curvature="0"
 93.1508 +       id="path8451"
 93.1509 +       d="m 48.247131,594.02605 c 48.887624,0 48.887624,0 48.887624,0"
 93.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)" />
 93.1511 +    <path
 93.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)"
 93.1513 +       d="m 98.156891,606.02605 c -51.085387,0 -51.085387,0 -51.085387,0"
 93.1514 +       id="path8453"
 93.1515 +       inkscape:connector-curvature="0" />
 93.1516 +    <path
 93.1517 +       sodipodi:nodetypes="cc"
 93.1518 +       inkscape:connector-curvature="0"
 93.1519 +       id="path8455"
 93.1520 +       d="m 98.02904,592.63925 c 0,13.68455 0,13.68455 0,13.68455"
 93.1521 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 93.1522 +    <text
 93.1523 +       xml:space="preserve"
 93.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"
 93.1525 +       x="131.19971"
 93.1526 +       y="635.42468"
 93.1527 +       id="text8457"
 93.1528 +       sodipodi:linespacing="100%"><tspan
 93.1529 +         style="text-align:center;text-anchor:middle;fill:#800000"
 93.1530 +         sodipodi:role="line"
 93.1531 +         x="131.19971"
 93.1532 +         y="635.42468"
 93.1533 +         id="tspan8459">Handler</tspan><tspan
 93.1534 +         style="text-align:center;text-anchor:middle;fill:#800000"
 93.1535 +         sodipodi:role="line"
 93.1536 +         x="131.19971"
 93.1537 +         y="645.42468"
 93.1538 +         id="tspan8461">for Language</tspan><tspan
 93.1539 +         style="text-align:center;text-anchor:middle;fill:#800000"
 93.1540 +         sodipodi:role="line"
 93.1541 +         x="131.19971"
 93.1542 +         y="655.42468"
 93.1543 +         id="tspan8463">Construct1</tspan></text>
 93.1544 +    <path
 93.1545 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 93.1546 +       d="m 48.02904,606.51232 c 0,29.16381 0,29.16381 0,29.16381"
 93.1547 +       id="path8465"
 93.1548 +       inkscape:connector-curvature="0"
 93.1549 +       sodipodi:nodetypes="cc" />
 93.1550 +    <path
 93.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)"
 93.1552 +       d="m 48.247131,636.02605 c 48.887624,0 48.887624,0 48.887624,0"
 93.1553 +       id="path8467"
 93.1554 +       inkscape:connector-curvature="0" />
 93.1555 +    <path
 93.1556 +       inkscape:connector-curvature="0"
 93.1557 +       id="path8469"
 93.1558 +       d="m 98.156891,648.02605 c -51.085387,0 -51.085387,0 -51.085387,0"
 93.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)" />
 93.1560 +    <path
 93.1561 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 93.1562 +       d="m 98.02904,634.63925 c 0,13.68455 0,13.68455 0,13.68455"
 93.1563 +       id="path8471"
 93.1564 +       inkscape:connector-curvature="0"
 93.1565 +       sodipodi:nodetypes="cc" />
 93.1566 +    <path
 93.1567 +       sodipodi:nodetypes="cc"
 93.1568 +       inkscape:connector-curvature="0"
 93.1569 +       id="path8473"
 93.1570 +       d="m 48.02904,648.14337 c 0,25.5328 0,25.5328 0,25.5328"
 93.1571 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 93.1572 +    <path
 93.1573 +       inkscape:connector-curvature="0"
 93.1574 +       id="path8475"
 93.1575 +       d="m 48.247131,674.02605 c 48.887624,0 48.887624,0 48.887624,0"
 93.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)" />
 93.1577 +    <path
 93.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)"
 93.1579 +       d="m 98.156891,686.02605 c -51.085387,0 -51.085387,0 -51.085387,0"
 93.1580 +       id="path8477"
 93.1581 +       inkscape:connector-curvature="0" />
 93.1582 +    <path
 93.1583 +       sodipodi:nodetypes="cc"
 93.1584 +       inkscape:connector-curvature="0"
 93.1585 +       id="path8479"
 93.1586 +       d="m 98.02904,672.63925 c 0,13.68455 0,13.68455 0,13.68455"
 93.1587 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 93.1588 +    <path
 93.1589 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 93.1590 +       d="m 48.02904,686.56402 c 0,23.11212 0,23.11212 0,23.11212"
 93.1591 +       id="path8481"
 93.1592 +       inkscape:connector-curvature="0"
 93.1593 +       sodipodi:nodetypes="cc" />
 93.1594 +    <path
 93.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)"
 93.1596 +       d="m 48.247131,710.02605 c 48.887624,0 48.887624,0 48.887624,0"
 93.1597 +       id="path8483"
 93.1598 +       inkscape:connector-curvature="0" />
 93.1599 +    <path
 93.1600 +       inkscape:connector-curvature="0"
 93.1601 +       id="path8485"
 93.1602 +       d="m 98.156891,722.02605 c -51.085387,0 -51.085387,0 -51.085387,0"
 93.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)" />
 93.1604 +    <path
 93.1605 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 93.1606 +       d="m 98.02904,708.63925 c 0,13.68455 0,13.68455 0,13.68455"
 93.1607 +       id="path8487"
 93.1608 +       inkscape:connector-curvature="0"
 93.1609 +       sodipodi:nodetypes="cc" />
 93.1610 +    <text
 93.1611 +       sodipodi:linespacing="100%"
 93.1612 +       id="text8489"
 93.1613 +       y="590.20807"
 93.1614 +       x="81.242355"
 93.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"
 93.1616 +       xml:space="preserve"
 93.1617 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 93.1618 +         id="tspan8491"
 93.1619 +         y="590.20807"
 93.1620 +         x="81.242355"
 93.1621 +         sodipodi:role="line"
 93.1622 +         style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text>
 93.1623 +    <path
 93.1624 +       inkscape:connector-curvature="0"
 93.1625 +       id="path8493"
 93.1626 +       d="m 193.99816,580.02605 c -117.505852,0 -117.505852,0 -117.505852,0"
 93.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)" />
 93.1628 +    <text
 93.1629 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
 93.1630 +       xml:space="preserve"
 93.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"
 93.1632 +       x="22.488649"
 93.1633 +       y="591.78375"
 93.1634 +       id="text8495"
 93.1635 +       sodipodi:linespacing="100%"><tspan
 93.1636 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1637 +         sodipodi:role="line"
 93.1638 +         x="22.488649"
 93.1639 +         y="591.78375"
 93.1640 +         id="tspan8497">Top Level Fn</tspan></text>
 93.1641 +    <text
 93.1642 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 93.1643 +       xml:space="preserve"
 93.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"
 93.1645 +       x="81.937141"
 93.1646 +       y="632.20233"
 93.1647 +       id="text8499"
 93.1648 +       sodipodi:linespacing="100%"><tspan
 93.1649 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1650 +         sodipodi:role="line"
 93.1651 +         x="81.937141"
 93.1652 +         y="632.20233"
 93.1653 +         id="tspan8501">Call via Ptr</tspan></text>
 93.1654 +    <text
 93.1655 +       sodipodi:linespacing="100%"
 93.1656 +       id="text8503"
 93.1657 +       y="670.19708"
 93.1658 +       x="82.56575"
 93.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"
 93.1660 +       xml:space="preserve"
 93.1661 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 93.1662 +         id="tspan8505"
 93.1663 +         y="670.19708"
 93.1664 +         x="82.56575"
 93.1665 +         sodipodi:role="line"
 93.1666 +         style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text>
 93.1667 +    <text
 93.1668 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 93.1669 +       xml:space="preserve"
 93.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"
 93.1671 +       x="83.161278"
 93.1672 +       y="706.19244"
 93.1673 +       id="text8507"
 93.1674 +       sodipodi:linespacing="100%"><tspan
 93.1675 +         style="font-size:8px;text-align:center;text-anchor:middle"
 93.1676 +         sodipodi:role="line"
 93.1677 +         x="83.161278"
 93.1678 +         y="706.19244"
 93.1679 +         id="tspan8509">Call via Ptr</tspan></text>
 93.1680 +  </g>
 93.1681 +</svg>
    94.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    94.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Proto-Runtime__modules_plus_plugin_plus_code_back_2.svg	Sat Aug 03 19:24:22 2013 -0700
    94.3 @@ -0,0 +1,2231 @@
    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_plus_plugin_plus_code.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="1.6398134"
   94.71 +     inkscape:cx="167.915"
   94.72 +     inkscape:cy="557.78994"
   94.73 +     inkscape:document-units="px"
   94.74 +     inkscape:current-layer="layer1"
   94.75 +     showgrid="false"
   94.76 +     inkscape:window-width="1600"
   94.77 +     inkscape:window-height="848"
   94.78 +     inkscape:window-x="-8"
   94.79 +     inkscape:window-y="-8"
   94.80 +     inkscape:window-maximized="1" />
   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="text12979"
  94.100 +       y="399.76575"
  94.101 +       x="326.92542"
  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:#000080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
  94.103 +       xml:space="preserve"><tspan
  94.104 +         y="399.76575"
  94.105 +         x="326.92542"
  94.106 +         id="tspan12981"
  94.107 +         sodipodi:role="line"
  94.108 +         style="text-align:center;text-anchor:middle">Master</tspan><tspan
  94.109 +         y="408.20053"
  94.110 +         x="326.92542"
  94.111 +         sodipodi:role="line"
  94.112 +         id="tspan3291"
  94.113 +         style="font-size:8px;text-align:center;text-anchor:middle">(runtime system)</tspan><tspan
  94.114 +         y="416.20053"
  94.115 +         x="326.92542"
  94.116 +         sodipodi:role="line"
  94.117 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.118 +         id="tspan8409">on core 1</tspan></text>
  94.119 +    <g
  94.120 +       id="g9336"
  94.121 +       transform="translate(44.002789,0)">
  94.122 +      <rect
  94.123 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  94.124 +         id="rect3293"
  94.125 +         width="65.276405"
  94.126 +         height="37.165791"
  94.127 +         x="346.40247"
  94.128 +         y="389.58255" />
  94.129 +      <text
  94.130 +         sodipodi:linespacing="100%"
  94.131 +         id="text3295"
  94.132 +         y="400.15268"
  94.133 +         x="379.00162"
  94.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"
  94.135 +         xml:space="preserve"><tspan
  94.136 +           id="tspan3301"
  94.137 +           y="400.15268"
  94.138 +           x="379.00162"
  94.139 +           sodipodi:role="line"
  94.140 +           style="text-align:center;text-anchor:middle">Seed VP</tspan><tspan
  94.141 +           y="408.58746"
  94.142 +           x="379.00162"
  94.143 +           sodipodi:role="line"
  94.144 +           style="font-size:8px;text-align:center;text-anchor:middle"
  94.145 +           id="tspan9389">(created at</tspan><tspan
  94.146 +           y="416.58746"
  94.147 +           x="379.00162"
  94.148 +           sodipodi:role="line"
  94.149 +           style="font-size:8px;text-align:center;text-anchor:middle"
  94.150 +           id="tspan9391">app startup,</tspan><tspan
  94.151 +           y="424.58746"
  94.152 +           x="379.00162"
  94.153 +           sodipodi:role="line"
  94.154 +           style="font-size:8px;text-align:center;text-anchor:middle"
  94.155 +           id="tspan9744">on core 1)</tspan></text>
  94.156 +    </g>
  94.157 +    <text
  94.158 +       xml:space="preserve"
  94.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"
  94.160 +       x="517.16797"
  94.161 +       y="357.42465"
  94.162 +       id="text3318-1"
  94.163 +       sodipodi:linespacing="100%"><tspan
  94.164 +         style="text-align:center;text-anchor:middle;fill:#008000"
  94.165 +         sodipodi:role="line"
  94.166 +         x="517.16797"
  94.167 +         y="357.42465"
  94.168 +         id="tspan3322-5">Application Code</tspan></text>
  94.169 +    <text
  94.170 +       sodipodi:linespacing="100%"
  94.171 +       id="text3376"
  94.172 +       y="403.42465"
  94.173 +       x="517.16797"
  94.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"
  94.175 +       xml:space="preserve"><tspan
  94.176 +         id="tspan3378"
  94.177 +         y="403.42465"
  94.178 +         x="517.16797"
  94.179 +         sodipodi:role="line"
  94.180 +         style="text-align:center;text-anchor:middle;fill:#008000">Seed_Fn</tspan></text>
  94.181 +    <text
  94.182 +       xml:space="preserve"
  94.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"
  94.184 +       x="517.16797"
  94.185 +       y="571.42468"
  94.186 +       id="text3380"
  94.187 +       sodipodi:linespacing="100%"><tspan
  94.188 +         style="text-align:center;text-anchor:middle;fill:#008000"
  94.189 +         sodipodi:role="line"
  94.190 +         x="517.16797"
  94.191 +         y="571.42468"
  94.192 +         id="tspan3382">Work_Fn</tspan></text>
  94.193 +    <text
  94.194 +       sodipodi:linespacing="100%"
  94.195 +       id="text3388"
  94.196 +       y="357.42465"
  94.197 +       x="604.63812"
  94.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"
  94.199 +       xml:space="preserve"><tspan
  94.200 +         id="tspan3390"
  94.201 +         y="357.42465"
  94.202 +         x="606.14203"
  94.203 +         sodipodi:role="line"
  94.204 +         style="text-align:center;text-anchor:middle;fill:#800000">Language </tspan><tspan
  94.205 +         y="367.42465"
  94.206 +         x="604.63812"
  94.207 +         sodipodi:role="line"
  94.208 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.209 +         id="tspan5106">Wrapper-Lib</tspan><tspan
  94.210 +         y="377.42465"
  94.211 +         x="604.63812"
  94.212 +         sodipodi:role="line"
  94.213 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.214 +         id="tspan3392">Code</tspan></text>
  94.215 +    <text
  94.216 +       xml:space="preserve"
  94.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"
  94.218 +       x="669.16797"
  94.219 +       y="357.42465"
  94.220 +       id="text3394"
  94.221 +       sodipodi:linespacing="100%"><tspan
  94.222 +         style="text-align:center;text-anchor:middle;fill:#000080"
  94.223 +         sodipodi:role="line"
  94.224 +         x="669.16797"
  94.225 +         y="357.42465"
  94.226 +         id="tspan3396">Proto-Runtime</tspan><tspan
  94.227 +         style="text-align:center;text-anchor:middle;fill:#000080"
  94.228 +         sodipodi:role="line"
  94.229 +         x="669.16797"
  94.230 +         y="367.42465"
  94.231 +         id="tspan4998">Primitive</tspan><tspan
  94.232 +         id="tspan3398"
  94.233 +         style="text-align:center;text-anchor:middle;fill:#000080"
  94.234 +         sodipodi:role="line"
  94.235 +         x="669.16797"
  94.236 +         y="377.42465">Code</tspan></text>
  94.237 +    <text
  94.238 +       xml:space="preserve"
  94.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"
  94.240 +       x="137.31689"
  94.241 +       y="433.42465"
  94.242 +       id="text3412"
  94.243 +       sodipodi:linespacing="100%"><tspan
  94.244 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.245 +         sodipodi:role="line"
  94.246 +         x="137.31689"
  94.247 +         y="433.42465"
  94.248 +         id="tspan3414">Lang Handler</tspan><tspan
  94.249 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.250 +         sodipodi:role="line"
  94.251 +         x="137.31689"
  94.252 +         y="443.42465"
  94.253 +         id="tspan3422">for create VP</tspan></text>
  94.254 +    <text
  94.255 +       xml:space="preserve"
  94.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"
  94.257 +       x="137.68066"
  94.258 +       y="481.42468"
  94.259 +       id="text3444"
  94.260 +       sodipodi:linespacing="100%"><tspan
  94.261 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.262 +         sodipodi:role="line"
  94.263 +         x="137.68066"
  94.264 +         y="481.42468"
  94.265 +         id="tspan3450">Assigner Fn</tspan></text>
  94.266 +    <text
  94.267 +       xml:space="preserve"
  94.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"
  94.269 +       x="327.16797"
  94.270 +       y="359.42465"
  94.271 +       id="text3456"
  94.272 +       sodipodi:linespacing="100%"><tspan
  94.273 +         style="text-align:center;text-anchor:middle"
  94.274 +         sodipodi:role="line"
  94.275 +         x="328.67188"
  94.276 +         y="359.42465"
  94.277 +         id="tspan3458">Instances of </tspan><tspan
  94.278 +         style="text-align:center;text-anchor:middle"
  94.279 +         sodipodi:role="line"
  94.280 +         x="327.16797"
  94.281 +         y="369.42465"
  94.282 +         id="tspan8405">runtime system</tspan><tspan
  94.283 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.284 +         sodipodi:role="line"
  94.285 +         x="327.16797"
  94.286 +         y="377.85944"
  94.287 +         id="tspan9383">(data structs</tspan><tspan
  94.288 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.289 +         sodipodi:role="line"
  94.290 +         x="327.16797"
  94.291 +         y="385.85944"
  94.292 +         id="tspan9385">on heap)</tspan><tspan
  94.293 +         id="tspan3460"
  94.294 +         style="text-align:center;text-anchor:middle"
  94.295 +         sodipodi:role="line"
  94.296 +         x="327.16797"
  94.297 +         y="393.85944" /></text>
  94.298 +    <text
  94.299 +       sodipodi:linespacing="100%"
  94.300 +       id="text3462"
  94.301 +       y="357.42465"
  94.302 +       x="423.16797"
  94.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"
  94.304 +       xml:space="preserve"><tspan
  94.305 +         id="tspan3464"
  94.306 +         y="357.42465"
  94.307 +         x="423.16797"
  94.308 +         sodipodi:role="line"
  94.309 +         style="text-align:center;text-anchor:middle">Instances of</tspan><tspan
  94.310 +         y="367.42465"
  94.311 +         x="423.16797"
  94.312 +         sodipodi:role="line"
  94.313 +         style="text-align:center;text-anchor:middle"
  94.314 +         id="tspan3468">Virtual Processors</tspan><tspan
  94.315 +         y="375.85944"
  94.316 +         x="423.16797"
  94.317 +         sodipodi:role="line"
  94.318 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.319 +         id="tspan3466">(data structs</tspan><tspan
  94.320 +         y="383.85944"
  94.321 +         x="423.16797"
  94.322 +         sodipodi:role="line"
  94.323 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.324 +         id="tspan9387">on heap)</tspan></text>
  94.325 +    <path
  94.326 +       inkscape:connector-curvature="0"
  94.327 +       id="path4796"
  94.328 +       d="m 457.32649,400.02605 c 38.42351,0 38.42351,0 38.42351,0"
  94.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)" />
  94.330 +    <text
  94.331 +       xml:space="preserve"
  94.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"
  94.333 +       x="604.78461"
  94.334 +       y="397.42465"
  94.335 +       id="text4988"
  94.336 +       sodipodi:linespacing="100%"><tspan
  94.337 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.338 +         sodipodi:role="line"
  94.339 +         x="604.78461"
  94.340 +         y="397.42465"
  94.341 +         id="tspan4990">create VP</tspan><tspan
  94.342 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.343 +         sodipodi:role="line"
  94.344 +         x="604.78461"
  94.345 +         y="407.42465"
  94.346 +         id="tspan5104">wrapper Fn</tspan></text>
  94.347 +    <text
  94.348 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
  94.349 +       xml:space="preserve"
  94.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"
  94.351 +       x="638.65094"
  94.352 +       y="428.96548"
  94.353 +       id="text5064"
  94.354 +       sodipodi:linespacing="100%"><tspan
  94.355 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.356 +         sodipodi:role="line"
  94.357 +         x="638.65094"
  94.358 +         y="428.96548"
  94.359 +         id="tspan5066">Call to dyn lib</tspan></text>
  94.360 +    <path
  94.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)"
  94.362 +       d="m 291.99816,400.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
  94.363 +       id="path5068"
  94.364 +       inkscape:connector-curvature="0" />
  94.365 +    <text
  94.366 +       sodipodi:linespacing="100%"
  94.367 +       id="text5070"
  94.368 +       y="439.30746"
  94.369 +       x="175.95195"
  94.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"
  94.371 +       xml:space="preserve"
  94.372 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  94.373 +         id="tspan5072"
  94.374 +         y="439.30746"
  94.375 +         x="175.95195"
  94.376 +         sodipodi:role="line"
  94.377 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
  94.378 +    <text
  94.379 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
  94.380 +       xml:space="preserve"
  94.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"
  94.382 +       x="395.85803"
  94.383 +       y="481.98584"
  94.384 +       id="text5074"
  94.385 +       sodipodi:linespacing="100%"><tspan
  94.386 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.387 +         sodipodi:role="line"
  94.388 +         x="395.85803"
  94.389 +         y="481.98584"
  94.390 +         id="tspan5076">Top Level Fn</tspan></text>
  94.391 +    <text
  94.392 +       sodipodi:linespacing="100%"
  94.393 +       id="text5078"
  94.394 +       y="647.01514"
  94.395 +       x="364.33911"
  94.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"
  94.397 +       xml:space="preserve"
  94.398 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"><tspan
  94.399 +         id="tspan5080"
  94.400 +         y="647.01514"
  94.401 +         x="364.33911"
  94.402 +         sodipodi:role="line"
  94.403 +         style="font-size:8px;text-align:center;text-anchor:middle">Top Level Fn</tspan></text>
  94.404 +    <path
  94.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)"
  94.406 +       d="m 458.9835,568.02605 c 36.7665,0 36.7665,0 36.7665,0"
  94.407 +       id="path5082"
  94.408 +       inkscape:connector-curvature="0" />
  94.409 +    <path
  94.410 +       inkscape:connector-curvature="0"
  94.411 +       id="path5084"
  94.412 +       d="m 457.32649,728.02605 c 38.42351,0 38.42351,0 38.42351,0"
  94.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)" />
  94.414 +    <path
  94.415 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  94.416 +       d="m 514.02904,406.01894 c 0,5.6572 0,5.6572 0,5.6572"
  94.417 +       id="path5092"
  94.418 +       inkscape:connector-curvature="0"
  94.419 +       sodipodi:nodetypes="cc" />
  94.420 +    <path
  94.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)"
  94.422 +       d="m 514.24714,412.02605 c 85.56237,0 85.56237,0 85.56237,0"
  94.423 +       id="path5094"
  94.424 +       inkscape:connector-curvature="0" />
  94.425 +    <path
  94.426 +       inkscape:connector-curvature="0"
  94.427 +       id="path5096"
  94.428 +       d="m 602.77166,486.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
  94.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)" />
  94.430 +    <text
  94.431 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
  94.432 +       xml:space="preserve"
  94.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"
  94.434 +       x="332.45419"
  94.435 +       y="803.80713"
  94.436 +       id="text5114"
  94.437 +       sodipodi:linespacing="100%"><tspan
  94.438 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.439 +         sodipodi:role="line"
  94.440 +         x="332.45419"
  94.441 +         y="803.80713"
  94.442 +         id="tspan5116">Top Level Fn</tspan></text>
  94.443 +    <text
  94.444 +       sodipodi:linespacing="100%"
  94.445 +       id="text5136"
  94.446 +       y="731.42468"
  94.447 +       x="517.16797"
  94.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"
  94.449 +       xml:space="preserve"><tspan
  94.450 +         id="tspan5138"
  94.451 +         y="731.42468"
  94.452 +         x="517.16797"
  94.453 +         sodipodi:role="line"
  94.454 +         style="text-align:center;text-anchor:middle;fill:#008000">Work_Fn</tspan></text>
  94.455 +    <path
  94.456 +       sodipodi:nodetypes="cc"
  94.457 +       inkscape:connector-curvature="0"
  94.458 +       id="path5140"
  94.459 +       d="m 514.02904,486.31987 c 0,26.21842 0,26.21842 0,26.21842"
  94.460 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  94.461 +    <path
  94.462 +       inkscape:connector-curvature="0"
  94.463 +       id="path5142"
  94.464 +       d="m 514.2471,512.02605 c 87.58783,0 87.58783,0 87.58783,0"
  94.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)" />
  94.466 +    <text
  94.467 +       sodipodi:linespacing="100%"
  94.468 +       id="text5157"
  94.469 +       y="498.71182"
  94.470 +       x="604.78461"
  94.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"
  94.472 +       xml:space="preserve"><tspan
  94.473 +         id="tspan5161"
  94.474 +         y="498.71182"
  94.475 +         x="604.78461"
  94.476 +         sodipodi:role="line"
  94.477 +         style="text-align:center;text-anchor:middle;fill:#800000">end VP</tspan><tspan
  94.478 +         y="508.71182"
  94.479 +         x="604.78461"
  94.480 +         sodipodi:role="line"
  94.481 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.482 +         id="tspan5207">wrapper Fn</tspan></text>
  94.483 +    <path
  94.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)"
  94.485 +       d="m 602.26584,518.02605 c 63.99676,0 63.99676,0 63.99676,0"
  94.486 +       id="path5165"
  94.487 +       inkscape:connector-curvature="0" />
  94.488 +    <path
  94.489 +       sodipodi:nodetypes="cc"
  94.490 +       inkscape:connector-curvature="0"
  94.491 +       id="path5179"
  94.492 +       d="m 514.02904,574.01895 c 0,5.6572 0,5.6572 0,5.6572"
  94.493 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  94.494 +    <path
  94.495 +       sodipodi:nodetypes="cc"
  94.496 +       inkscape:connector-curvature="0"
  94.497 +       id="path5209"
  94.498 +       d="m 602.02904,510.31985 c 0,7.35629 0,7.35629 0,7.35629"
  94.499 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  94.500 +    <text
  94.501 +       xml:space="preserve"
  94.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"
  94.503 +       x="497.16797"
  94.504 +       y="399.42468"
  94.505 +       id="text5211"
  94.506 +       sodipodi:linespacing="100%"><tspan
  94.507 +         style="text-align:center;text-anchor:middle"
  94.508 +         sodipodi:role="line"
  94.509 +         x="497.16797"
  94.510 +         y="399.42468"
  94.511 +         id="tspan5215" /></text>
  94.512 +    <path
  94.513 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  94.514 +       d="m 602.02904,412.21843 c 0,19.4577 0,19.4577 0,19.4577"
  94.515 +       id="path5217"
  94.516 +       inkscape:connector-curvature="0"
  94.517 +       sodipodi:nodetypes="cc" />
  94.518 +    <path
  94.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)"
  94.520 +       d="m 602.24714,432.02605 c 64.71029,0 64.71029,0 64.71029,0"
  94.521 +       id="path5219"
  94.522 +       inkscape:connector-curvature="0" />
  94.523 +    <path
  94.524 +       inkscape:connector-curvature="0"
  94.525 +       id="path5221"
  94.526 +       d="m 666.85635,482.02605 c -65.78483,0 -65.78483,0 -65.78483,0"
  94.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)" />
  94.528 +    <path
  94.529 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  94.530 +       d="m 668.02904,430.63925 c 0,13.68455 0,13.68455 0,13.68455"
  94.531 +       id="path5223"
  94.532 +       inkscape:connector-curvature="0"
  94.533 +       sodipodi:nodetypes="cc" />
  94.534 +    <path
  94.535 +       sodipodi:nodetypes="cc"
  94.536 +       inkscape:connector-curvature="0"
  94.537 +       id="path5229"
  94.538 +       d="m 602.02904,481.22687 c 0,5.5885 0,5.5885 0,5.5885"
  94.539 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  94.540 +    <path
  94.541 +       sodipodi:nodetypes="cc"
  94.542 +       inkscape:connector-curvature="0"
  94.543 +       id="path5235"
  94.544 +       d="m 668.02904,468.63925 c 0,13.68455 0,13.68455 0,13.68455"
  94.545 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  94.546 +    <path
  94.547 +       inkscape:connector-curvature="0"
  94.548 +       id="path5237"
  94.549 +       d="m 668.24715,442.02605 c 57.74832,0 57.74832,0 57.74832,0"
  94.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)" />
  94.551 +    <text
  94.552 +       sodipodi:linespacing="100%"
  94.553 +       id="text5239"
  94.554 +       y="800.22192"
  94.555 +       x="207.23195"
  94.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"
  94.557 +       xml:space="preserve"
  94.558 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  94.559 +         id="tspan5241"
  94.560 +         y="800.22192"
  94.561 +         x="207.23195"
  94.562 +         sodipodi:role="line"
  94.563 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  94.564 +         y="808.22192"
  94.565 +         x="207.23195"
  94.566 +         sodipodi:role="line"
  94.567 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.568 +         id="tspan5243">and switch</tspan><tspan
  94.569 +         y="816.22192"
  94.570 +         x="207.23195"
  94.571 +         sodipodi:role="line"
  94.572 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.573 +         id="tspan5245">to runtime</tspan></text>
  94.574 +    <path
  94.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)"
  94.576 +       d="m 725.94909,470.02605 c -56.8776,0 -56.8776,0 -56.8776,0"
  94.577 +       id="path5247"
  94.578 +       inkscape:connector-curvature="0" />
  94.579 +    <text
  94.580 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  94.581 +       xml:space="preserve"
  94.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"
  94.583 +       x="176.58183"
  94.584 +       y="829.00677"
  94.585 +       id="text5249"
  94.586 +       sodipodi:linespacing="100%"><tspan
  94.587 +         id="tspan5255"
  94.588 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.589 +         sodipodi:role="line"
  94.590 +         x="176.58183"
  94.591 +         y="829.00677">return</tspan><tspan
  94.592 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.593 +         sodipodi:role="line"
  94.594 +         x="176.58183"
  94.595 +         y="837.00677"
  94.596 +         id="tspan5261">from</tspan><tspan
  94.597 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.598 +         sodipodi:role="line"
  94.599 +         x="176.58183"
  94.600 +         y="845.00677"
  94.601 +         id="tspan5263">suspend</tspan></text>
  94.602 +    <text
  94.603 +       sodipodi:linespacing="100%"
  94.604 +       id="text5345"
  94.605 +       y="419.42465"
  94.606 +       x="667.38037"
  94.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"
  94.608 +       xml:space="preserve"><tspan
  94.609 +         id="tspan5349"
  94.610 +         y="419.42465"
  94.611 +         x="667.38037"
  94.612 +         sodipodi:role="line"
  94.613 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
  94.614 +         y="429.42465"
  94.615 +         x="667.38037"
  94.616 +         sodipodi:role="line"
  94.617 +         style="text-align:center;text-anchor:middle;fill:#000080"
  94.618 +         id="tspan5353">to send request</tspan></text>
  94.619 +    <text
  94.620 +       sodipodi:linespacing="100%"
  94.621 +       id="text5355"
  94.622 +       y="416.71411"
  94.623 +       x="555.39612"
  94.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"
  94.625 +       xml:space="preserve"
  94.626 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  94.627 +         id="tspan5357"
  94.628 +         y="416.71411"
  94.629 +         x="555.39612"
  94.630 +         sodipodi:role="line"
  94.631 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
  94.632 +    <path
  94.633 +       sodipodi:nodetypes="cc"
  94.634 +       inkscape:connector-curvature="0"
  94.635 +       id="path5359"
  94.636 +       d="m 668.02904,517.28283 c 0,13.68455 0,13.68455 0,13.68455"
  94.637 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  94.638 +    <path
  94.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)"
  94.640 +       d="m 668.24715,528.66963 c 57.74832,0 57.74832,0 57.74832,0"
  94.641 +       id="path5361"
  94.642 +       inkscape:connector-curvature="0" />
  94.643 +    <text
  94.644 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  94.645 +       xml:space="preserve"
  94.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"
  94.647 +       x="146.02351"
  94.648 +       y="863.44775"
  94.649 +       id="text5363"
  94.650 +       sodipodi:linespacing="100%"><tspan
  94.651 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.652 +         sodipodi:role="line"
  94.653 +         x="146.02351"
  94.654 +         y="863.44775"
  94.655 +         id="tspan5365">suspend</tspan><tspan
  94.656 +         id="tspan5367"
  94.657 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.658 +         sodipodi:role="line"
  94.659 +         x="146.02351"
  94.660 +         y="871.44775">and switch</tspan><tspan
  94.661 +         id="tspan5369"
  94.662 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.663 +         sodipodi:role="line"
  94.664 +         x="146.02351"
  94.665 +         y="879.44775">to runtime</tspan></text>
  94.666 +    <text
  94.667 +       sodipodi:linespacing="100%"
  94.668 +       id="text5371"
  94.669 +       y="565.42468"
  94.670 +       x="604.59662"
  94.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"
  94.672 +       xml:space="preserve"><tspan
  94.673 +         id="tspan5373"
  94.674 +         y="565.42468"
  94.675 +         x="604.59662"
  94.676 +         sodipodi:role="line"
  94.677 +         style="text-align:center;text-anchor:middle;fill:#800000">Mutex Acquire</tspan><tspan
  94.678 +         id="tspan5375"
  94.679 +         y="575.42468"
  94.680 +         x="604.59662"
  94.681 +         sodipodi:role="line"
  94.682 +         style="text-align:center;text-anchor:middle;fill:#800000">wrapper Fn</tspan></text>
  94.683 +    <path
  94.684 +       inkscape:connector-curvature="0"
  94.685 +       id="path5379"
  94.686 +       d="m 514.24714,580.02605 c 85.56237,0 85.56237,0 85.56237,0"
  94.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)" />
  94.688 +    <path
  94.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)"
  94.690 +       d="m 602.77166,654.02605 c -88.41298,0 -88.41298,0 -88.41298,0"
  94.691 +       id="path5381"
  94.692 +       inkscape:connector-curvature="0" />
  94.693 +    <text
  94.694 +       xml:space="preserve"
  94.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"
  94.696 +       x="604.78461"
  94.697 +       y="666.71179"
  94.698 +       id="text5387"
  94.699 +       sodipodi:linespacing="100%"><tspan
  94.700 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.701 +         sodipodi:role="line"
  94.702 +         x="604.78461"
  94.703 +         y="666.71179"
  94.704 +         id="tspan5389">end VP</tspan><tspan
  94.705 +         id="tspan5391"
  94.706 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.707 +         sodipodi:role="line"
  94.708 +         x="604.78461"
  94.709 +         y="676.71179">wrapper Fn</tspan></text>
  94.710 +    <path
  94.711 +       inkscape:connector-curvature="0"
  94.712 +       id="path5393"
  94.713 +       d="m 602.289,686.02605 c 65.24023,0 65.24023,0 65.24023,0"
  94.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)" />
  94.715 +    <path
  94.716 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  94.717 +       d="m 602.02904,678.31985 c 0,7.35629 0,7.35629 0,7.35629"
  94.718 +       id="path5401"
  94.719 +       inkscape:connector-curvature="0"
  94.720 +       sodipodi:nodetypes="cc" />
  94.721 +    <path
  94.722 +       sodipodi:nodetypes="cc"
  94.723 +       inkscape:connector-curvature="0"
  94.724 +       id="path5403"
  94.725 +       d="m 602.02904,580.21843 c 0,19.4577 0,19.4577 0,19.4577"
  94.726 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  94.727 +    <path
  94.728 +       inkscape:connector-curvature="0"
  94.729 +       id="path5405"
  94.730 +       d="m 602.6148,600.02605 c 64.1779,0 64.1779,0 64.1779,0"
  94.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)" />
  94.732 +    <path
  94.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)"
  94.734 +       d="m 668.13452,650.02605 c -67.06305,0 -67.06305,0 -67.06305,0"
  94.735 +       id="path5407"
  94.736 +       inkscape:connector-curvature="0" />
  94.737 +    <path
  94.738 +       sodipodi:nodetypes="cc"
  94.739 +       inkscape:connector-curvature="0"
  94.740 +       id="path5409"
  94.741 +       d="m 668.02904,598.63925 c 0,13.68455 0,13.68455 0,13.68455"
  94.742 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  94.743 +    <path
  94.744 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  94.745 +       d="m 602.02904,649.22687 c 0,5.5885 0,5.5885 0,5.5885"
  94.746 +       id="path5411"
  94.747 +       inkscape:connector-curvature="0"
  94.748 +       sodipodi:nodetypes="cc" />
  94.749 +    <path
  94.750 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  94.751 +       d="m 668.02904,636.63925 c 0,13.68455 0,13.68455 0,13.68455"
  94.752 +       id="path5417"
  94.753 +       inkscape:connector-curvature="0"
  94.754 +       sodipodi:nodetypes="cc" />
  94.755 +    <path
  94.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)"
  94.757 +       d="m 668.24715,610.02605 c 57.74832,0 57.74832,0 57.74832,0"
  94.758 +       id="path5419"
  94.759 +       inkscape:connector-curvature="0" />
  94.760 +    <text
  94.761 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
  94.762 +       xml:space="preserve"
  94.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"
  94.764 +       x="90.37989"
  94.765 +       y="920.92737"
  94.766 +       id="text5421"
  94.767 +       sodipodi:linespacing="100%"><tspan
  94.768 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.769 +         sodipodi:role="line"
  94.770 +         x="90.37989"
  94.771 +         y="920.92737"
  94.772 +         id="tspan5423">suspend</tspan><tspan
  94.773 +         id="tspan5425"
  94.774 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.775 +         sodipodi:role="line"
  94.776 +         x="90.37989"
  94.777 +         y="928.92737">and switch</tspan><tspan
  94.778 +         id="tspan5427"
  94.779 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.780 +         sodipodi:role="line"
  94.781 +         x="90.37989"
  94.782 +         y="936.92737">to runtime</tspan></text>
  94.783 +    <path
  94.784 +       inkscape:connector-curvature="0"
  94.785 +       id="path5429"
  94.786 +       d="m 725.94909,638.02605 c -56.8776,0 -56.8776,0 -56.8776,0"
  94.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)" />
  94.788 +    <text
  94.789 +       sodipodi:linespacing="100%"
  94.790 +       id="text5431"
  94.791 +       y="951.10333"
  94.792 +       x="61.166965"
  94.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"
  94.794 +       xml:space="preserve"
  94.795 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  94.796 +         y="951.10333"
  94.797 +         x="61.166965"
  94.798 +         sodipodi:role="line"
  94.799 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.800 +         id="tspan5433">return</tspan><tspan
  94.801 +         id="tspan5435"
  94.802 +         y="959.10333"
  94.803 +         x="61.166965"
  94.804 +         sodipodi:role="line"
  94.805 +         style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan
  94.806 +         id="tspan5437"
  94.807 +         y="967.10333"
  94.808 +         x="61.166965"
  94.809 +         sodipodi:role="line"
  94.810 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
  94.811 +    <text
  94.812 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  94.813 +       xml:space="preserve"
  94.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"
  94.815 +       x="556.1333"
  94.816 +       y="584.71155"
  94.817 +       id="text5445"
  94.818 +       sodipodi:linespacing="100%"><tspan
  94.819 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.820 +         sodipodi:role="line"
  94.821 +         x="556.1333"
  94.822 +         y="584.71155"
  94.823 +         id="tspan5447">normal call</tspan></text>
  94.824 +    <path
  94.825 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  94.826 +       d="m 668.02904,685.28283 c 0,13.68455 0,13.68455 0,13.68455"
  94.827 +       id="path5449"
  94.828 +       inkscape:connector-curvature="0"
  94.829 +       sodipodi:nodetypes="cc" />
  94.830 +    <path
  94.831 +       inkscape:connector-curvature="0"
  94.832 +       id="path5451"
  94.833 +       d="m 668.24715,696.66963 c 57.74832,0 57.74832,0 57.74832,0"
  94.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)" />
  94.835 +    <text
  94.836 +       sodipodi:linespacing="100%"
  94.837 +       id="text5453"
  94.838 +       y="984.15332"
  94.839 +       x="29.171814"
  94.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"
  94.841 +       xml:space="preserve"
  94.842 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
  94.843 +         id="tspan5455"
  94.844 +         y="984.15332"
  94.845 +         x="29.171814"
  94.846 +         sodipodi:role="line"
  94.847 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
  94.848 +         y="992.15332"
  94.849 +         x="29.171814"
  94.850 +         sodipodi:role="line"
  94.851 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.852 +         id="tspan5457">and switch</tspan><tspan
  94.853 +         y="1000.1533"
  94.854 +         x="29.171814"
  94.855 +         sodipodi:role="line"
  94.856 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.857 +         id="tspan5459">to runtime</tspan></text>
  94.858 +    <path
  94.859 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  94.860 +       d="m 514.02904,654.31987 c 0,26.21842 0,26.21842 0,26.21842"
  94.861 +       id="path5461"
  94.862 +       inkscape:connector-curvature="0"
  94.863 +       sodipodi:nodetypes="cc" />
  94.864 +    <path
  94.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)"
  94.866 +       d="m 514.2471,680.02605 c 87.58783,0 87.58783,0 87.58783,0"
  94.867 +       id="path5463"
  94.868 +       inkscape:connector-curvature="0" />
  94.869 +    <text
  94.870 +       sodipodi:linespacing="100%"
  94.871 +       id="text5465"
  94.872 +       y="516.71179"
  94.873 +       x="555.83459"
  94.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"
  94.875 +       xml:space="preserve"
  94.876 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
  94.877 +         id="tspan5467"
  94.878 +         y="516.71179"
  94.879 +         x="555.83459"
  94.880 +         sodipodi:role="line"
  94.881 +         style="font-size:8px;text-align:center;text-anchor:middle">normal call</tspan></text>
  94.882 +    <text
  94.883 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
  94.884 +       xml:space="preserve"
  94.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"
  94.886 +       x="556.57275"
  94.887 +       y="684.71155"
  94.888 +       id="text5469"
  94.889 +       sodipodi:linespacing="100%"><tspan
  94.890 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.891 +         sodipodi:role="line"
  94.892 +         x="556.57275"
  94.893 +         y="684.71155"
  94.894 +         id="tspan5471">normal call</tspan></text>
  94.895 +    <g
  94.896 +       transform="matrix(1,0,0,0.71130685,-16,166.52913)"
  94.897 +       id="g8395">
  94.898 +      <rect
  94.899 +         y="313.58255"
  94.900 +         x="310.40247"
  94.901 +         height="52.250008"
  94.902 +         width="65.276405"
  94.903 +         id="rect8397"
  94.904 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
  94.905 +    </g>
  94.906 +    <text
  94.907 +       xml:space="preserve"
  94.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"
  94.909 +       x="326.92542"
  94.910 +       y="897.76575"
  94.911 +       id="text8411"
  94.912 +       sodipodi:linespacing="100%"><tspan
  94.913 +         style="text-align:center;text-anchor:middle"
  94.914 +         sodipodi:role="line"
  94.915 +         id="tspan8413"
  94.916 +         x="326.92542"
  94.917 +         y="897.76575">Master</tspan><tspan
  94.918 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.919 +         id="tspan8415"
  94.920 +         sodipodi:role="line"
  94.921 +         x="326.92542"
  94.922 +         y="906.2005">(runtime system)</tspan><tspan
  94.923 +         id="tspan8417"
  94.924 +         style="font-size:8px;text-align:center;text-anchor:middle"
  94.925 +         sodipodi:role="line"
  94.926 +         x="326.92542"
  94.927 +         y="914.2005">on core 2</tspan></text>
  94.928 +    <g
  94.929 +       id="g8419"
  94.930 +       transform="translate(-16,574)">
  94.931 +      <rect
  94.932 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  94.933 +         id="rect8421"
  94.934 +         width="65.276405"
  94.935 +         height="52.250008"
  94.936 +         x="310.40247"
  94.937 +         y="313.58255" />
  94.938 +    </g>
  94.939 +    <text
  94.940 +       sodipodi:linespacing="100%"
  94.941 +       id="text8425"
  94.942 +       y="913.42468"
  94.943 +       x="131.19971"
  94.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"
  94.945 +       xml:space="preserve"><tspan
  94.946 +         id="tspan8427"
  94.947 +         y="913.42468"
  94.948 +         x="131.19971"
  94.949 +         sodipodi:role="line"
  94.950 +         style="text-align:center;text-anchor:middle;fill:#800000">Handler</tspan><tspan
  94.951 +         id="tspan8429"
  94.952 +         y="923.42468"
  94.953 +         x="131.19971"
  94.954 +         sodipodi:role="line"
  94.955 +         style="text-align:center;text-anchor:middle;fill:#800000">for Language</tspan><tspan
  94.956 +         id="tspan8431"
  94.957 +         y="933.42468"
  94.958 +         x="131.19971"
  94.959 +         sodipodi:role="line"
  94.960 +         style="text-align:center;text-anchor:middle;fill:#800000">Construct1</tspan></text>
  94.961 +    <text
  94.962 +       xml:space="preserve"
  94.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"
  94.964 +       x="131.19971"
  94.965 +       y="993.42468"
  94.966 +       id="text8433"
  94.967 +       sodipodi:linespacing="100%"><tspan
  94.968 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.969 +         sodipodi:role="line"
  94.970 +         x="131.19971"
  94.971 +         y="993.42468"
  94.972 +         id="tspan8435">Handler</tspan><tspan
  94.973 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.974 +         sodipodi:role="line"
  94.975 +         x="131.19971"
  94.976 +         y="1003.4247"
  94.977 +         id="tspan8437">for Language</tspan><tspan
  94.978 +         style="text-align:center;text-anchor:middle;fill:#800000"
  94.979 +         sodipodi:role="line"
  94.980 +         x="131.19971"
  94.981 +         y="1013.4247"
  94.982 +         id="tspan8439">Construct2</tspan></text>
  94.983 +    <text
  94.984 +       sodipodi:linespacing="100%"
  94.985 +       id="text8445"
  94.986 +       y="1039.4247"
  94.987 +       x="131.52441"
  94.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"
  94.989 +       xml:space="preserve"><tspan
  94.990 +         id="tspan8447"
  94.991 +         y="1039.4247"
  94.992 +         x="131.52441"
  94.993 +         sodipodi:role="line"
  94.994 +         style="text-align:center;text-anchor:middle;fill:#800000">Assigner Fn</tspan></text>
  94.995 +    <text
  94.996 +       xml:space="preserve"
  94.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"
  94.998 +       x="131.19971"
  94.999 +       y="955.42468"
 94.1000 +       id="text8457"
 94.1001 +       sodipodi:linespacing="100%"><tspan
 94.1002 +         style="text-align:center;text-anchor:middle;fill:#800000"
 94.1003 +         sodipodi:role="line"
 94.1004 +         x="131.19971"
 94.1005 +         y="955.42468"
 94.1006 +         id="tspan8459">Handler</tspan><tspan
 94.1007 +         style="text-align:center;text-anchor:middle;fill:#800000"
 94.1008 +         sodipodi:role="line"
 94.1009 +         x="131.19971"
 94.1010 +         y="965.42468"
 94.1011 +         id="tspan8461">for Language</tspan><tspan
 94.1012 +         style="text-align:center;text-anchor:middle;fill:#800000"
 94.1013 +         sodipodi:role="line"
 94.1014 +         x="131.19971"
 94.1015 +         y="975.42468"
 94.1016 +         id="tspan8463">Construct1</tspan></text>
 94.1017 +    <path
 94.1018 +       inkscape:connector-curvature="0"
 94.1019 +       id="path8493"
 94.1020 +       d="m 193.99816,900.02605 c -117.505852,0 -117.505852,0 -117.505852,0"
 94.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)" />
 94.1022 +    <text
 94.1023 +       transform="matrix(0.97994281,-0.19927893,0.19927893,0.97994281,0,0)"
 94.1024 +       xml:space="preserve"
 94.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"
 94.1026 +       x="-41.280613"
 94.1027 +       y="905.36578"
 94.1028 +       id="text8495"
 94.1029 +       sodipodi:linespacing="100%"><tspan
 94.1030 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1031 +         sodipodi:role="line"
 94.1032 +         x="-41.280613"
 94.1033 +         y="905.36578"
 94.1034 +         id="tspan8497">Top Level Fn</tspan></text>
 94.1035 +    <path
 94.1036 +       sodipodi:nodetypes="cc"
 94.1037 +       inkscape:connector-curvature="0"
 94.1038 +       id="path9273"
 94.1039 +       d="m 514.02904,486.31987 c 0,26.21842 0,26.21842 0,26.21842"
 94.1040 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 94.1041 +    <path
 94.1042 +       sodipodi:nodetypes="cc"
 94.1043 +       inkscape:connector-curvature="0"
 94.1044 +       id="path9275"
 94.1045 +       d="m 476.02904,406.79398 c 0,35.61575 0,35.61575 0,35.61575"
 94.1046 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
 94.1047 +    <path
 94.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"
 94.1049 +       d="m 468.24715,442.02605 c 13.34137,0 13.34137,0 13.34137,0"
 94.1050 +       id="path9277"
 94.1051 +       inkscape:connector-curvature="0" />
 94.1052 +    <path
 94.1053 +       inkscape:connector-curvature="0"
 94.1054 +       id="path9279"
 94.1055 +       d="m 481.57781,470.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 94.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" />
 94.1057 +    <path
 94.1058 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
 94.1059 +       d="m 476.02904,470.3113 c 0,57.40944 0,57.40944 0,57.40944"
 94.1060 +       id="path9281"
 94.1061 +       inkscape:connector-curvature="0"
 94.1062 +       sodipodi:nodetypes="cc" />
 94.1063 +    <path
 94.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"
 94.1065 +       d="m 481.57781,529.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
 94.1066 +       id="path9283"
 94.1067 +       inkscape:connector-curvature="0" />
 94.1068 +    <text
 94.1069 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"
 94.1070 +       xml:space="preserve"
 94.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"
 94.1072 +       x="445.89752"
 94.1073 +       y="-468.24112"
 94.1074 +       id="text9285"
 94.1075 +       sodipodi:linespacing="100%"><tspan
 94.1076 +         style="text-align:center;text-anchor:middle;fill:#008000"
 94.1077 +         sodipodi:role="line"
 94.1078 +         x="445.89752"
 94.1079 +         y="-468.24112"
 94.1080 +         id="tspan9287">Timeline of SeedVP</tspan></text>
 94.1081 +    <text
 94.1082 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 94.1083 +       xml:space="preserve"
 94.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"
 94.1085 +       x="485.50256"
 94.1086 +       y="441.02084"
 94.1087 +       id="text9289"
 94.1088 +       sodipodi:linespacing="100%"><tspan
 94.1089 +         style="font-size:8px;text-align:start;text-anchor:start"
 94.1090 +         sodipodi:role="line"
 94.1091 +         x="485.50256"
 94.1092 +         y="441.02084"
 94.1093 +         id="tspan9291">suspend</tspan></text>
 94.1094 +    <text
 94.1095 +       sodipodi:linespacing="100%"
 94.1096 +       id="text9293"
 94.1097 +       y="471.02069"
 94.1098 +       x="485.6344"
 94.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"
 94.1100 +       xml:space="preserve"
 94.1101 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 94.1102 +         id="tspan9295"
 94.1103 +         y="471.02069"
 94.1104 +         x="485.6344"
 94.1105 +         sodipodi:role="line"
 94.1106 +         style="font-size:8px;text-align:start;text-anchor:start">resume</tspan></text>
 94.1107 +    <text
 94.1108 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 94.1109 +       xml:space="preserve"
 94.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"
 94.1111 +       x="485.8858"
 94.1112 +       y="528.22565"
 94.1113 +       id="text9297"
 94.1114 +       sodipodi:linespacing="100%"><tspan
 94.1115 +         style="font-size:8px;text-align:start;text-anchor:start"
 94.1116 +         sodipodi:role="line"
 94.1117 +         x="485.8858"
 94.1118 +         y="528.22565"
 94.1119 +         id="tspan9299">end</tspan></text>
 94.1120 +    <text
 94.1121 +       sodipodi:linespacing="100%"
 94.1122 +       id="text9301"
 94.1123 +       y="357.42465"
 94.1124 +       x="63.167969"
 94.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"
 94.1126 +       xml:space="preserve"><tspan
 94.1127 +         id="tspan9303"
 94.1128 +         y="357.42465"
 94.1129 +         x="63.167969"
 94.1130 +         sodipodi:role="line"
 94.1131 +         style="text-align:center;text-anchor:middle;fill:#000080">Proto-Runtime</tspan><tspan
 94.1132 +         id="tspan9305"
 94.1133 +         y="367.42465"
 94.1134 +         x="63.167969"
 94.1135 +         sodipodi:role="line"
 94.1136 +         style="text-align:center;text-anchor:middle;fill:#000080">Primitive</tspan><tspan
 94.1137 +         y="377.42465"
 94.1138 +         x="63.167969"
 94.1139 +         sodipodi:role="line"
 94.1140 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.1141 +         id="tspan9307">Code</tspan></text>
 94.1142 +    <text
 94.1143 +       xml:space="preserve"
 94.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"
 94.1145 +       x="65.380371"
 94.1146 +       y="445.42465"
 94.1147 +       id="text9309"
 94.1148 +       sodipodi:linespacing="100%"><tspan
 94.1149 +         id="tspan9313"
 94.1150 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.1151 +         sodipodi:role="line"
 94.1152 +         x="65.380371"
 94.1153 +         y="445.42465">PR primitive Fn</tspan><tspan
 94.1154 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.1155 +         sodipodi:role="line"
 94.1156 +         x="65.380371"
 94.1157 +         y="455.42465"
 94.1158 +         id="tspan9317">to create VP</tspan></text>
 94.1159 +    <path
 94.1160 +       inkscape:connector-curvature="0"
 94.1161 +       id="path9321"
 94.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"
 94.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)"
 94.1164 +       sodipodi:nodetypes="csc" />
 94.1165 +    <g
 94.1166 +       id="g9341"
 94.1167 +       transform="translate(44.002789,168)">
 94.1168 +      <rect
 94.1169 +         y="389.58255"
 94.1170 +         x="346.40247"
 94.1171 +         height="37.165791"
 94.1172 +         width="65.276405"
 94.1173 +         id="rect9343"
 94.1174 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
 94.1175 +      <text
 94.1176 +         xml:space="preserve"
 94.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"
 94.1178 +         x="379.35806"
 94.1179 +         y="400.72159"
 94.1180 +         id="text9345"
 94.1181 +         sodipodi:linespacing="100%"><tspan
 94.1182 +           style="text-align:center;text-anchor:middle"
 94.1183 +           sodipodi:role="line"
 94.1184 +           x="379.35806"
 94.1185 +           y="400.72159"
 94.1186 +           id="tspan9347">VP 1</tspan><tspan
 94.1187 +           style="font-size:8px;text-align:center;text-anchor:middle"
 94.1188 +           sodipodi:role="line"
 94.1189 +           x="379.35806"
 94.1190 +           y="409.15637"
 94.1191 +           id="tspan9349">(created by</tspan><tspan
 94.1192 +           style="font-size:8px;text-align:center;text-anchor:middle"
 94.1193 +           sodipodi:role="line"
 94.1194 +           x="379.35806"
 94.1195 +           y="417.15637"
 94.1196 +           id="tspan9355">application,</tspan><tspan
 94.1197 +           style="font-size:8px;text-align:center;text-anchor:middle"
 94.1198 +           sodipodi:role="line"
 94.1199 +           x="379.35806"
 94.1200 +           y="425.15637"
 94.1201 +           id="tspan9746">on core 2)</tspan></text>
 94.1202 +    </g>
 94.1203 +    <g
 94.1204 +       transform="translate(44.002789,330)"
 94.1205 +       id="g9371">
 94.1206 +      <rect
 94.1207 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 94.1208 +         id="rect9373"
 94.1209 +         width="65.276405"
 94.1210 +         height="37.165791"
 94.1211 +         x="346.40247"
 94.1212 +         y="389.58255" />
 94.1213 +      <text
 94.1214 +         sodipodi:linespacing="100%"
 94.1215 +         id="text9375"
 94.1216 +         y="400.72159"
 94.1217 +         x="379.35806"
 94.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"
 94.1219 +         xml:space="preserve"><tspan
 94.1220 +           id="tspan9377"
 94.1221 +           y="400.72159"
 94.1222 +           x="379.35806"
 94.1223 +           sodipodi:role="line"
 94.1224 +           style="text-align:center;text-anchor:middle">VP 2</tspan><tspan
 94.1225 +           id="tspan9379"
 94.1226 +           y="409.15637"
 94.1227 +           x="379.35806"
 94.1228 +           sodipodi:role="line"
 94.1229 +           style="font-size:8px;text-align:center;text-anchor:middle">(created by</tspan><tspan
 94.1230 +           id="tspan9381"
 94.1231 +           y="417.15637"
 94.1232 +           x="379.35806"
 94.1233 +           sodipodi:role="line"
 94.1234 +           style="font-size:8px;text-align:center;text-anchor:middle">application,</tspan><tspan
 94.1235 +           y="425.15637"
 94.1236 +           x="379.35806"
 94.1237 +           sodipodi:role="line"
 94.1238 +           style="font-size:8px;text-align:center;text-anchor:middle"
 94.1239 +           id="tspan9748">on core 3)</tspan></text>
 94.1240 +    </g>
 94.1241 +    <text
 94.1242 +       xml:space="preserve"
 94.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"
 94.1244 +       x="202.41257"
 94.1245 +       y="403.42465"
 94.1246 +       id="text9512"
 94.1247 +       sodipodi:linespacing="100%"><tspan
 94.1248 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.1249 +         sodipodi:role="line"
 94.1250 +         x="202.41257"
 94.1251 +         y="403.42465"
 94.1252 +         id="tspan9514">Master Fn</tspan></text>
 94.1253 +    <path
 94.1254 +       sodipodi:nodetypes="cc"
 94.1255 +       inkscape:connector-curvature="0"
 94.1256 +       id="path9522"
 94.1257 +       d="m 205.27805,442.31985 c 0,7.35629 0,7.35629 0,7.35629"
 94.1258 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 94.1259 +    <path
 94.1260 +       inkscape:connector-curvature="0"
 94.1261 +       id="path9524"
 94.1262 +       d="m 205.05995,448.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 94.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)" />
 94.1264 +    <path
 94.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)"
 94.1266 +       d="m 116.53543,810.02605 c 88.41298,0 88.41298,0 88.41298,0"
 94.1267 +       id="path9526"
 94.1268 +       inkscape:connector-curvature="0" />
 94.1269 +    <path
 94.1270 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1271 +       d="m 205.27805,810.31987 c 0,26.21842 0,26.21842 0,26.21842"
 94.1272 +       id="path9528"
 94.1273 +       inkscape:connector-curvature="0"
 94.1274 +       sodipodi:nodetypes="cc" />
 94.1275 +    <path
 94.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)"
 94.1277 +       d="m 205.05999,836.02605 c -87.58783,0 -87.58783,0 -87.58783,0"
 94.1278 +       id="path9530"
 94.1279 +       inkscape:connector-curvature="0" />
 94.1280 +    <text
 94.1281 +       xml:space="preserve"
 94.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"
 94.1283 +       x="115.1133"
 94.1284 +       y="822.71179"
 94.1285 +       id="text9532"
 94.1286 +       sodipodi:linespacing="100%"><tspan
 94.1287 +         style="text-align:center;text-anchor:middle;fill:#800000"
 94.1288 +         sodipodi:role="line"
 94.1289 +         x="115.1133"
 94.1290 +         y="822.71179"
 94.1291 +         id="tspan9534">end VP</tspan><tspan
 94.1292 +         id="tspan9536"
 94.1293 +         style="text-align:center;text-anchor:middle;fill:#800000"
 94.1294 +         sodipodi:role="line"
 94.1295 +         x="115.1133"
 94.1296 +         y="832.71179">wrapper Fn</tspan></text>
 94.1297 +    <path
 94.1298 +       inkscape:connector-curvature="0"
 94.1299 +       id="path9538"
 94.1300 +       d="m 117.04125,842.02605 c -63.99676,0 -63.99676,0 -63.99676,0"
 94.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)" />
 94.1302 +    <text
 94.1303 +       sodipodi:linespacing="100%"
 94.1304 +       id="text9540"
 94.1305 +       y="828.71179"
 94.1306 +       x="49.880333"
 94.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"
 94.1308 +       xml:space="preserve"><tspan
 94.1309 +         id="tspan9542"
 94.1310 +         y="828.71179"
 94.1311 +         x="49.880333"
 94.1312 +         sodipodi:role="line"
 94.1313 +         style="text-align:center;text-anchor:middle;fill:#000080">send request</tspan><tspan
 94.1314 +         id="tspan9544"
 94.1315 +         y="838.71179"
 94.1316 +         x="49.880333"
 94.1317 +         sodipodi:role="line"
 94.1318 +         style="text-align:center;text-anchor:middle;fill:#000080">primitive Fn</tspan></text>
 94.1319 +    <path
 94.1320 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1321 +       d="m 117.27805,834.31985 c 0,7.35629 0,7.35629 0,7.35629"
 94.1322 +       id="path9546"
 94.1323 +       inkscape:connector-curvature="0"
 94.1324 +       sodipodi:nodetypes="cc" />
 94.1325 +    <path
 94.1326 +       sodipodi:nodetypes="cc"
 94.1327 +       inkscape:connector-curvature="0"
 94.1328 +       id="path9548"
 94.1329 +       d="m 137.27805,447.85824 c 0,11.43122 0,11.43122 0,11.43122"
 94.1330 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 94.1331 +    <path
 94.1332 +       inkscape:connector-curvature="0"
 94.1333 +       id="path9550"
 94.1334 +       d="m 137.57123,460.02605 c -69.22157,0 -69.22157,0 -69.22157,0"
 94.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)" />
 94.1336 +    <path
 94.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)"
 94.1338 +       d="m 52.45074,806.02605 c 65.78483,0 65.78483,0 65.78483,0"
 94.1339 +       id="path9552"
 94.1340 +       inkscape:connector-curvature="0" />
 94.1341 +    <path
 94.1342 +       sodipodi:nodetypes="cc"
 94.1343 +       inkscape:connector-curvature="0"
 94.1344 +       id="path9554"
 94.1345 +       d="m 205.27805,474.63925 c 0,13.68455 0,13.68455 0,13.68455"
 94.1346 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 94.1347 +    <path
 94.1348 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1349 +       d="m 117.27805,805.22687 c 0,5.5885 0,5.5885 0,5.5885"
 94.1350 +       id="path9556"
 94.1351 +       inkscape:connector-curvature="0"
 94.1352 +       sodipodi:nodetypes="cc" />
 94.1353 +    <path
 94.1354 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1355 +       d="m 51.27805,792.63925 c 0,13.68455 0,13.68455 0,13.68455"
 94.1356 +       id="path9562"
 94.1357 +       inkscape:connector-curvature="0"
 94.1358 +       sodipodi:nodetypes="cc" />
 94.1359 +    <path
 94.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)"
 94.1361 +       d="m 205.05994,486.02605 c -57.74832,0 -57.74832,0 -57.74832,0"
 94.1362 +       id="path9564"
 94.1363 +       inkscape:connector-curvature="0" />
 94.1364 +    <text
 94.1365 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 94.1366 +       xml:space="preserve"
 94.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"
 94.1368 +       x="-217.71529"
 94.1369 +       y="472.34747"
 94.1370 +       id="text9566"
 94.1371 +       sodipodi:linespacing="100%"><tspan
 94.1372 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1373 +         sodipodi:role="line"
 94.1374 +         x="-217.71529"
 94.1375 +         y="472.34747"
 94.1376 +         id="tspan9568">suspend</tspan><tspan
 94.1377 +         id="tspan9570"
 94.1378 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1379 +         sodipodi:role="line"
 94.1380 +         x="-217.71529"
 94.1381 +         y="480.34747">and switch</tspan><tspan
 94.1382 +         id="tspan9572"
 94.1383 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1384 +         sodipodi:role="line"
 94.1385 +         x="-217.71529"
 94.1386 +         y="488.34747">to app VP</tspan></text>
 94.1387 +    <path
 94.1388 +       inkscape:connector-curvature="0"
 94.1389 +       id="path9574"
 94.1390 +       d="m -6.642,794.02605 c 56.8776,0 56.8776,0 56.8776,0"
 94.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)" />
 94.1392 +    <text
 94.1393 +       sodipodi:linespacing="100%"
 94.1394 +       id="text9576"
 94.1395 +       y="576.25653"
 94.1396 +       x="-550.32233"
 94.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"
 94.1398 +       xml:space="preserve"
 94.1399 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 94.1400 +         y="576.25653"
 94.1401 +         x="-550.32233"
 94.1402 +         sodipodi:role="line"
 94.1403 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1404 +         id="tspan9578">return</tspan><tspan
 94.1405 +         id="tspan9580"
 94.1406 +         y="584.25653"
 94.1407 +         x="-550.32233"
 94.1408 +         sodipodi:role="line"
 94.1409 +         style="font-size:8px;text-align:center;text-anchor:middle">from</tspan><tspan
 94.1410 +         id="tspan9582"
 94.1411 +         y="592.25653"
 94.1412 +         x="-550.32233"
 94.1413 +         sodipodi:role="line"
 94.1414 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 94.1415 +    <path
 94.1416 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1417 +       d="m 51.27805,841.28283 c 0,13.68455 0,13.68455 0,13.68455"
 94.1418 +       id="path9594"
 94.1419 +       inkscape:connector-curvature="0"
 94.1420 +       sodipodi:nodetypes="cc" />
 94.1421 +    <path
 94.1422 +       inkscape:connector-curvature="0"
 94.1423 +       id="path9596"
 94.1424 +       d="m 51.05994,852.66963 c -57.74832,0 -57.74832,0 -57.74832,0"
 94.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)" />
 94.1426 +    <text
 94.1427 +       sodipodi:linespacing="100%"
 94.1428 +       id="text9598"
 94.1429 +       y="607.01007"
 94.1430 +       x="-584.68982"
 94.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"
 94.1432 +       xml:space="preserve"
 94.1433 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 94.1434 +         id="tspan9600"
 94.1435 +         y="607.01007"
 94.1436 +         x="-584.68982"
 94.1437 +         sodipodi:role="line"
 94.1438 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
 94.1439 +         y="615.01007"
 94.1440 +         x="-584.68982"
 94.1441 +         sodipodi:role="line"
 94.1442 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1443 +         id="tspan9602">and switch</tspan><tspan
 94.1444 +         y="623.01007"
 94.1445 +         x="-584.68982"
 94.1446 +         sodipodi:role="line"
 94.1447 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1448 +         id="tspan9604">to runtime</tspan></text>
 94.1449 +    <text
 94.1450 +       transform="matrix(-0.99999036,0.00439064,0.00439064,0.99999036,0,0)"
 94.1451 +       xml:space="preserve"
 94.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"
 94.1453 +       x="-162.04274"
 94.1454 +       y="843.867"
 94.1455 +       id="text9606"
 94.1456 +       sodipodi:linespacing="100%"><tspan
 94.1457 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1458 +         sodipodi:role="line"
 94.1459 +         x="-162.04274"
 94.1460 +         y="843.867"
 94.1461 +         id="tspan9608">normal call</tspan></text>
 94.1462 +    <text
 94.1463 +       transform="matrix(-0.99999036,0.00439064,0.00439064,0.99999036,0,0)"
 94.1464 +       xml:space="preserve"
 94.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"
 94.1466 +       x="-92.01651"
 94.1467 +       y="849.56036"
 94.1468 +       id="text9610"
 94.1469 +       sodipodi:linespacing="100%"><tspan
 94.1470 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1471 +         sodipodi:role="line"
 94.1472 +         x="-92.01651"
 94.1473 +         y="849.56036"
 94.1474 +         id="tspan9612">normal call</tspan></text>
 94.1475 +    <path
 94.1476 +       sodipodi:nodetypes="cc"
 94.1477 +       inkscape:connector-curvature="0"
 94.1478 +       id="path9614"
 94.1479 +       d="m 205.27805,442.31985 c 0,7.35629 0,7.35629 0,7.35629"
 94.1480 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 94.1481 +    <path
 94.1482 +       sodipodi:nodetypes="cc"
 94.1483 +       inkscape:connector-curvature="0"
 94.1484 +       id="path9616"
 94.1485 +       d="m 205.27805,442.31985 c 0,7.35629 0,7.35629 0,7.35629"
 94.1486 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
 94.1487 +    <path
 94.1488 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1489 +       d="m 205.27805,810.31987 c 0,26.21842 0,26.21842 0,26.21842"
 94.1490 +       id="path9618"
 94.1491 +       inkscape:connector-curvature="0"
 94.1492 +       sodipodi:nodetypes="cc" />
 94.1493 +    <path
 94.1494 +       inkscape:connector-curvature="0"
 94.1495 +       id="path9648"
 94.1496 +       d="m 468.24715,407.42364 c 13.34137,0 13.34137,0 13.34137,0"
 94.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" />
 94.1498 +    <text
 94.1499 +       sodipodi:linespacing="100%"
 94.1500 +       id="text9654"
 94.1501 +       y="409.02243"
 94.1502 +       x="485.36194"
 94.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"
 94.1504 +       xml:space="preserve"
 94.1505 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 94.1506 +         id="tspan9656"
 94.1507 +         y="409.02243"
 94.1508 +         x="485.36194"
 94.1509 +         sodipodi:role="line"
 94.1510 +         style="font-size:8px;text-align:start;text-anchor:start">start</tspan></text>
 94.1511 +    <path
 94.1512 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
 94.1513 +       d="m 476.02904,574.79398 c 0,35.61575 0,35.61575 0,35.61575"
 94.1514 +       id="path9658"
 94.1515 +       inkscape:connector-curvature="0"
 94.1516 +       sodipodi:nodetypes="cc" />
 94.1517 +    <path
 94.1518 +       inkscape:connector-curvature="0"
 94.1519 +       id="path9660"
 94.1520 +       d="m 468.24715,610.02605 c 13.34137,0 13.34137,0 13.34137,0"
 94.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" />
 94.1522 +    <path
 94.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"
 94.1524 +       d="m 481.57781,638.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 94.1525 +       id="path9662"
 94.1526 +       inkscape:connector-curvature="0" />
 94.1527 +    <text
 94.1528 +       sodipodi:linespacing="100%"
 94.1529 +       id="text9668"
 94.1530 +       y="-471.39224"
 94.1531 +       x="613.86792"
 94.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"
 94.1533 +       xml:space="preserve"
 94.1534 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan
 94.1535 +         y="-471.39224"
 94.1536 +         x="613.86792"
 94.1537 +         sodipodi:role="line"
 94.1538 +         style="text-align:center;text-anchor:middle;fill:#008000"
 94.1539 +         id="tspan9740">Timeline of VP 1</tspan></text>
 94.1540 +    <text
 94.1541 +       sodipodi:linespacing="100%"
 94.1542 +       id="text9672"
 94.1543 +       y="609.01917"
 94.1544 +       x="486.23993"
 94.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"
 94.1546 +       xml:space="preserve"
 94.1547 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 94.1548 +         id="tspan9674"
 94.1549 +         y="609.01917"
 94.1550 +         x="486.23993"
 94.1551 +         sodipodi:role="line"
 94.1552 +         style="font-size:8px;text-align:start;text-anchor:start">suspend</tspan></text>
 94.1553 +    <text
 94.1554 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 94.1555 +       xml:space="preserve"
 94.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"
 94.1557 +       x="486.37177"
 94.1558 +       y="639.0191"
 94.1559 +       id="text9676"
 94.1560 +       sodipodi:linespacing="100%"><tspan
 94.1561 +         style="font-size:8px;text-align:start;text-anchor:start"
 94.1562 +         sodipodi:role="line"
 94.1563 +         x="486.37177"
 94.1564 +         y="639.0191"
 94.1565 +         id="tspan9678">resume</tspan></text>
 94.1566 +    <path
 94.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"
 94.1568 +       d="m 468.24715,575.42364 c 13.34137,0 13.34137,0 13.34137,0"
 94.1569 +       id="path9684"
 94.1570 +       inkscape:connector-curvature="0" />
 94.1571 +    <text
 94.1572 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 94.1573 +       xml:space="preserve"
 94.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"
 94.1575 +       x="486.0993"
 94.1576 +       y="577.02075"
 94.1577 +       id="text9686"
 94.1578 +       sodipodi:linespacing="100%"><tspan
 94.1579 +         style="font-size:8px;text-align:start;text-anchor:start"
 94.1580 +         sodipodi:role="line"
 94.1581 +         x="486.0993"
 94.1582 +         y="577.02075"
 94.1583 +         id="tspan9688">start</tspan></text>
 94.1584 +    <path
 94.1585 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
 94.1586 +       d="m 266.02904,441.43112 c 0,28.2402 0,28.2402 0,28.2402"
 94.1587 +       id="path9690"
 94.1588 +       inkscape:connector-curvature="0"
 94.1589 +       sodipodi:nodetypes="cc" />
 94.1590 +    <path
 94.1591 +       inkscape:connector-curvature="0"
 94.1592 +       id="path9692"
 94.1593 +       d="m 258.24715,442.02605 c 13.34137,0 13.34137,0 13.34137,0"
 94.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" />
 94.1595 +    <path
 94.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"
 94.1597 +       d="m 271.57781,470.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 94.1598 +       id="path9694"
 94.1599 +       inkscape:connector-curvature="0" />
 94.1600 +    <text
 94.1601 +       sodipodi:linespacing="100%"
 94.1602 +       id="text9700"
 94.1603 +       y="-286.46057"
 94.1604 +       x="459.30908"
 94.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"
 94.1606 +       xml:space="preserve"
 94.1607 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"><tspan
 94.1608 +         y="-286.46057"
 94.1609 +         x="459.30908"
 94.1610 +         sodipodi:role="line"
 94.1611 +         style="text-align:center;text-anchor:middle;fill:#008000"
 94.1612 +         id="tspan9736">Timeline of Master on core 1</tspan></text>
 94.1613 +    <text
 94.1614 +       sodipodi:linespacing="100%"
 94.1615 +       id="text9704"
 94.1616 +       y="470.12714"
 94.1617 +       x="261.32681"
 94.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"
 94.1619 +       xml:space="preserve"
 94.1620 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 94.1621 +         id="tspan9706"
 94.1622 +         y="470.12714"
 94.1623 +         x="261.32681"
 94.1624 +         sodipodi:role="line"
 94.1625 +         style="font-size:8px;text-align:end;text-anchor:end">suspend</tspan></text>
 94.1626 +    <text
 94.1627 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 94.1628 +       xml:space="preserve"
 94.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"
 94.1630 +       x="258.75574"
 94.1631 +       y="444.1272"
 94.1632 +       id="text9708"
 94.1633 +       sodipodi:linespacing="100%"><tspan
 94.1634 +         style="font-size:8px;text-align:end;text-anchor:end"
 94.1635 +         sodipodi:role="line"
 94.1636 +         x="258.75574"
 94.1637 +         y="444.1272"
 94.1638 +         id="tspan9710">resume</tspan></text>
 94.1639 +    <path
 94.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"
 94.1641 +       d="m 258.24715,407.42364 c 13.34137,0 13.34137,0 13.34137,0"
 94.1642 +       id="path9716"
 94.1643 +       inkscape:connector-curvature="0" />
 94.1644 +    <text
 94.1645 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 94.1646 +       xml:space="preserve"
 94.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"
 94.1648 +       x="257.81323"
 94.1649 +       y="410.09369"
 94.1650 +       id="text9718"
 94.1651 +       sodipodi:linespacing="100%"><tspan
 94.1652 +         style="font-size:8px;text-align:end;text-anchor:end"
 94.1653 +         sodipodi:role="line"
 94.1654 +         x="257.81323"
 94.1655 +         y="410.09369"
 94.1656 +         id="tspan9720">start</tspan></text>
 94.1657 +    <path
 94.1658 +       sodipodi:nodetypes="cc"
 94.1659 +       inkscape:connector-curvature="0"
 94.1660 +       id="path9722"
 94.1661 +       d="m 266.02904,529.43112 c 0,10.33165 0,10.33165 0,10.33165"
 94.1662 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
 94.1663 +    <path
 94.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"
 94.1665 +       d="m 258.24715,530.02605 c 13.34137,0 13.34137,0 13.34137,0"
 94.1666 +       id="path9724"
 94.1667 +       inkscape:connector-curvature="0" />
 94.1668 +    <text
 94.1669 +       sodipodi:linespacing="100%"
 94.1670 +       id="text9932"
 94.1671 +       y="452.53967"
 94.1672 +       x="180.9785"
 94.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"
 94.1674 +       xml:space="preserve"
 94.1675 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 94.1676 +         id="tspan9934"
 94.1677 +         y="452.53967"
 94.1678 +         x="180.9785"
 94.1679 +         sodipodi:role="line"
 94.1680 +         style="font-size:8px;text-align:center;text-anchor:middle">Call via Ptr</tspan></text>
 94.1681 +    <text
 94.1682 +       sodipodi:linespacing="100%"
 94.1683 +       id="text9936"
 94.1684 +       y="596.94305"
 94.1685 +       x="641.43158"
 94.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"
 94.1687 +       xml:space="preserve"
 94.1688 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 94.1689 +         id="tspan9938"
 94.1690 +         y="596.94305"
 94.1691 +         x="641.43158"
 94.1692 +         sodipodi:role="line"
 94.1693 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
 94.1694 +    <text
 94.1695 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 94.1696 +       xml:space="preserve"
 94.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"
 94.1698 +       x="642.85406"
 94.1699 +       y="682.93286"
 94.1700 +       id="text9940"
 94.1701 +       sodipodi:linespacing="100%"><tspan
 94.1702 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1703 +         sodipodi:role="line"
 94.1704 +         x="642.85406"
 94.1705 +         y="682.93286"
 94.1706 +         id="tspan9942">Call to dyn lib</tspan></text>
 94.1707 +    <text
 94.1708 +       sodipodi:linespacing="100%"
 94.1709 +       id="text9944"
 94.1710 +       y="514.95538"
 94.1711 +       x="640.07465"
 94.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"
 94.1713 +       xml:space="preserve"
 94.1714 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 94.1715 +         id="tspan9946"
 94.1716 +         y="514.95538"
 94.1717 +         x="640.07465"
 94.1718 +         sodipodi:role="line"
 94.1719 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
 94.1720 +    <text
 94.1721 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 94.1722 +       xml:space="preserve"
 94.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"
 94.1724 +       x="113.18735"
 94.1725 +       y="465.66476"
 94.1726 +       id="text9948"
 94.1727 +       sodipodi:linespacing="100%"><tspan
 94.1728 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1729 +         sodipodi:role="line"
 94.1730 +         x="113.18735"
 94.1731 +         y="465.66476"
 94.1732 +         id="tspan9950">Call to dyn lib</tspan></text>
 94.1733 +    <path
 94.1734 +       inkscape:connector-curvature="0"
 94.1735 +       id="path9952"
 94.1736 +       d="m 733.1031,470.02605 c -727.990461,0 -727.990461,0 -727.990461,0"
 94.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" />
 94.1738 +    <path
 94.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"
 94.1740 +       d="m 733.1031,441.52981 c -727.990461,0 -727.990461,0 -727.990461,0"
 94.1741 +       id="path9954"
 94.1742 +       inkscape:connector-curvature="0" />
 94.1743 +    <text
 94.1744 +       xml:space="preserve"
 94.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"
 94.1746 +       x="326.92542"
 94.1747 +       y="567.76575"
 94.1748 +       id="text9956"
 94.1749 +       sodipodi:linespacing="100%"><tspan
 94.1750 +         style="text-align:center;text-anchor:middle"
 94.1751 +         sodipodi:role="line"
 94.1752 +         id="tspan9958"
 94.1753 +         x="326.92542"
 94.1754 +         y="567.76575">Master</tspan><tspan
 94.1755 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1756 +         id="tspan9960"
 94.1757 +         sodipodi:role="line"
 94.1758 +         x="326.92542"
 94.1759 +         y="576.2005">(runtime system)</tspan><tspan
 94.1760 +         id="tspan9962"
 94.1761 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1762 +         sodipodi:role="line"
 94.1763 +         x="326.92542"
 94.1764 +         y="584.2005">on core 2</tspan></text>
 94.1765 +    <text
 94.1766 +       sodipodi:linespacing="100%"
 94.1767 +       id="text9964"
 94.1768 +       y="601.42468"
 94.1769 +       x="137.19971"
 94.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"
 94.1771 +       xml:space="preserve"><tspan
 94.1772 +         id="tspan9966"
 94.1773 +         y="601.42468"
 94.1774 +         x="137.19971"
 94.1775 +         sodipodi:role="line"
 94.1776 +         style="text-align:center;text-anchor:middle;fill:#800000">Lang Handler</tspan><tspan
 94.1777 +         id="tspan9968"
 94.1778 +         y="611.42468"
 94.1779 +         x="138.70361"
 94.1780 +         sodipodi:role="line"
 94.1781 +         style="text-align:center;text-anchor:middle;fill:#800000">for Acq Mutex </tspan></text>
 94.1782 +    <path
 94.1783 +       inkscape:connector-curvature="0"
 94.1784 +       id="path9970"
 94.1785 +       d="m 291.99816,568.02605 c -63.44071,0 -63.44071,0 -63.44071,0"
 94.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)" />
 94.1787 +    <g
 94.1788 +       id="g9972"
 94.1789 +       transform="matrix(1,0,0,0.71130685,-16,334.52913)">
 94.1790 +      <rect
 94.1791 +         style="fill:none;stroke:#000000;stroke-width:1.28076112;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 94.1792 +         id="rect9974"
 94.1793 +         width="65.276405"
 94.1794 +         height="52.250008"
 94.1795 +         x="310.40247"
 94.1796 +         y="313.58255" />
 94.1797 +    </g>
 94.1798 +    <text
 94.1799 +       sodipodi:linespacing="100%"
 94.1800 +       id="text9976"
 94.1801 +       y="613.42468"
 94.1802 +       x="65.380371"
 94.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"
 94.1804 +       xml:space="preserve"><tspan
 94.1805 +         y="613.42468"
 94.1806 +         x="65.380371"
 94.1807 +         sodipodi:role="line"
 94.1808 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.1809 +         id="tspan9978">PR primitive Fn</tspan><tspan
 94.1810 +         id="tspan9980"
 94.1811 +         y="623.42468"
 94.1812 +         x="65.380371"
 94.1813 +         sodipodi:role="line"
 94.1814 +         style="text-align:center;text-anchor:middle;fill:#000080">to create VP</tspan></text>
 94.1815 +    <text
 94.1816 +       sodipodi:linespacing="100%"
 94.1817 +       id="text9982"
 94.1818 +       y="571.42468"
 94.1819 +       x="202.41257"
 94.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"
 94.1821 +       xml:space="preserve"><tspan
 94.1822 +         id="tspan9984"
 94.1823 +         y="571.42468"
 94.1824 +         x="202.41257"
 94.1825 +         sodipodi:role="line"
 94.1826 +         style="text-align:center;text-anchor:middle;fill:#000080">Master Fn</tspan></text>
 94.1827 +    <path
 94.1828 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1829 +       d="m 205.27805,610.31985 c 0,7.35629 0,7.35629 0,7.35629"
 94.1830 +       id="path9986"
 94.1831 +       inkscape:connector-curvature="0"
 94.1832 +       sodipodi:nodetypes="cc" />
 94.1833 +    <path
 94.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)"
 94.1835 +       d="m 205.05995,616.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 94.1836 +       id="path9988"
 94.1837 +       inkscape:connector-curvature="0" />
 94.1838 +    <path
 94.1839 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1840 +       d="m 137.27805,615.85824 c 0,11.43122 0,11.43122 0,11.43122"
 94.1841 +       id="path9990"
 94.1842 +       inkscape:connector-curvature="0"
 94.1843 +       sodipodi:nodetypes="cc" />
 94.1844 +    <path
 94.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)"
 94.1846 +       d="m 137.57123,628.02605 c -69.22157,0 -69.22157,0 -69.22157,0"
 94.1847 +       id="path9992"
 94.1848 +       inkscape:connector-curvature="0" />
 94.1849 +    <path
 94.1850 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1851 +       d="m 67.27805,626.63925 c 0,13.68455 0,13.68455 0,13.68455"
 94.1852 +       id="path9994"
 94.1853 +       inkscape:connector-curvature="0"
 94.1854 +       sodipodi:nodetypes="cc" />
 94.1855 +    <path
 94.1856 +       inkscape:connector-curvature="0"
 94.1857 +       id="path9996"
 94.1858 +       d="m 67.05994,638.02605 c -57.74832,0 -57.74832,0 -57.74832,0"
 94.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)" />
 94.1860 +    <text
 94.1861 +       sodipodi:linespacing="100%"
 94.1862 +       id="text9998"
 94.1863 +       y="485.57098"
 94.1864 +       x="-422.58896"
 94.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"
 94.1866 +       xml:space="preserve"
 94.1867 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 94.1868 +         id="tspan10000"
 94.1869 +         y="485.57098"
 94.1870 +         x="-422.58896"
 94.1871 +         sodipodi:role="line"
 94.1872 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan><tspan
 94.1873 +         y="493.57098"
 94.1874 +         x="-422.58896"
 94.1875 +         sodipodi:role="line"
 94.1876 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1877 +         id="tspan10002">and switch</tspan><tspan
 94.1878 +         y="501.57098"
 94.1879 +         x="-422.58896"
 94.1880 +         sodipodi:role="line"
 94.1881 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1882 +         id="tspan10004">to app VP</tspan></text>
 94.1883 +    <path
 94.1884 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1885 +       d="m 205.27805,610.31985 c 0,7.35629 0,7.35629 0,7.35629"
 94.1886 +       id="path10006"
 94.1887 +       inkscape:connector-curvature="0"
 94.1888 +       sodipodi:nodetypes="cc" />
 94.1889 +    <path
 94.1890 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
 94.1891 +       d="m 205.27805,610.31985 c 0,7.35629 0,7.35629 0,7.35629"
 94.1892 +       id="path10008"
 94.1893 +       inkscape:connector-curvature="0"
 94.1894 +       sodipodi:nodetypes="cc" />
 94.1895 +    <path
 94.1896 +       sodipodi:nodetypes="cc"
 94.1897 +       inkscape:connector-curvature="0"
 94.1898 +       id="path10010"
 94.1899 +       d="m 266.02904,609.43114 c 0,28.51925 0,28.51925 0,28.51925"
 94.1900 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
 94.1901 +    <path
 94.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"
 94.1903 +       d="m 258.24715,610.02605 c 13.34137,0 13.34137,0 13.34137,0"
 94.1904 +       id="path10012"
 94.1905 +       inkscape:connector-curvature="0" />
 94.1906 +    <path
 94.1907 +       inkscape:connector-curvature="0"
 94.1908 +       id="path10014"
 94.1909 +       d="m 271.57781,638.02605 c -13.14022,0 -13.14022,0 -13.14022,0"
 94.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" />
 94.1911 +    <text
 94.1912 +       transform="matrix(-0.01875541,0.9998241,-0.9998241,-0.01875541,0,0)"
 94.1913 +       xml:space="preserve"
 94.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"
 94.1915 +       x="627.31714"
 94.1916 +       y="-287.61206"
 94.1917 +       id="text10018"
 94.1918 +       sodipodi:linespacing="100%"><tspan
 94.1919 +         id="tspan10020"
 94.1920 +         style="text-align:center;text-anchor:middle;fill:#008000"
 94.1921 +         sodipodi:role="line"
 94.1922 +         x="627.31714"
 94.1923 +         y="-287.61206">Timeline of Master on core 2</tspan></text>
 94.1924 +    <path
 94.1925 +       inkscape:connector-curvature="0"
 94.1926 +       id="path10030"
 94.1927 +       d="m 258.24715,575.42364 c 13.34137,0 13.34137,0 13.34137,0"
 94.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" />
 94.1929 +    <text
 94.1930 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"
 94.1931 +       xml:space="preserve"
 94.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"
 94.1933 +       x="183.75761"
 94.1934 +       y="620.51709"
 94.1935 +       id="text10044"
 94.1936 +       sodipodi:linespacing="100%"><tspan
 94.1937 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1938 +         sodipodi:role="line"
 94.1939 +         x="183.75761"
 94.1940 +         y="620.51709"
 94.1941 +         id="tspan10046">Call via Ptr</tspan></text>
 94.1942 +    <text
 94.1943 +       sodipodi:linespacing="100%"
 94.1944 +       id="text10048"
 94.1945 +       y="633.64221"
 94.1946 +       x="115.96657"
 94.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"
 94.1948 +       xml:space="preserve"
 94.1949 +       transform="matrix(0.99986317,0.01654229,-0.01654229,0.99986317,0,0)"><tspan
 94.1950 +         id="tspan10050"
 94.1951 +         y="633.64221"
 94.1952 +         x="115.96657"
 94.1953 +         sodipodi:role="line"
 94.1954 +         style="font-size:8px;text-align:center;text-anchor:middle">Call to dyn lib</tspan></text>
 94.1955 +    <path
 94.1956 +       sodipodi:nodetypes="cc"
 94.1957 +       inkscape:connector-curvature="0"
 94.1958 +       id="path10052"
 94.1959 +       d="m 205.27805,573.45805 c 0,34.21814 0,34.21814 0,34.21814"
 94.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" />
 94.1961 +    <path
 94.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"
 94.1963 +       d="m 205.27805,405.45805 c 0,34.21814 0,34.21814 0,34.21814"
 94.1964 +       id="path10054"
 94.1965 +       inkscape:connector-curvature="0"
 94.1966 +       sodipodi:nodetypes="cc" />
 94.1967 +    <path
 94.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"
 94.1969 +       d="m 733.1031,638.02605 c -727.990461,0 -727.990461,0 -727.990461,0"
 94.1970 +       id="path10056"
 94.1971 +       inkscape:connector-curvature="0" />
 94.1972 +    <path
 94.1973 +       inkscape:connector-curvature="0"
 94.1974 +       id="path10058"
 94.1975 +       d="m 733.1031,609.52981 c -727.990461,0 -727.990461,0 -727.990461,0"
 94.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" />
 94.1977 +    <path
 94.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)"
 94.1979 +       d="m 170.94559,442.02605 c 34.44005,0 34.44005,0 34.44005,0"
 94.1980 +       id="path10060"
 94.1981 +       inkscape:connector-curvature="0" />
 94.1982 +    <text
 94.1983 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"
 94.1984 +       xml:space="preserve"
 94.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"
 94.1986 +       x="-165.37918"
 94.1987 +       y="439.50415"
 94.1988 +       id="text10062"
 94.1989 +       sodipodi:linespacing="100%"><tspan
 94.1990 +         id="tspan10068"
 94.1991 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1992 +         sodipodi:role="line"
 94.1993 +         x="-165.37918"
 94.1994 +         y="439.50415">return from</tspan><tspan
 94.1995 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.1996 +         sodipodi:role="line"
 94.1997 +         x="-165.37918"
 94.1998 +         y="447.50415"
 94.1999 +         id="tspan10074">suspend</tspan></text>
 94.2000 +    <path
 94.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"
 94.2002 +       d="m 733.1031,530.02605 c -727.990461,0 -727.990461,0 -727.990461,0"
 94.2003 +       id="path10076"
 94.2004 +       inkscape:connector-curvature="0" />
 94.2005 +    <text
 94.2006 +       xml:space="preserve"
 94.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"
 94.2008 +       x="667.38037"
 94.2009 +       y="505.42465"
 94.2010 +       id="text10082"
 94.2011 +       sodipodi:linespacing="100%"><tspan
 94.2012 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.2013 +         sodipodi:role="line"
 94.2014 +         x="667.38037"
 94.2015 +         y="505.42465"
 94.2016 +         id="tspan10084">PR primitive Fn</tspan><tspan
 94.2017 +         id="tspan10086"
 94.2018 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.2019 +         sodipodi:role="line"
 94.2020 +         x="667.38037"
 94.2021 +         y="515.42468">to send request</tspan></text>
 94.2022 +    <text
 94.2023 +       sodipodi:linespacing="100%"
 94.2024 +       id="text10088"
 94.2025 +       y="587.42468"
 94.2026 +       x="667.38037"
 94.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"
 94.2028 +       xml:space="preserve"><tspan
 94.2029 +         id="tspan10090"
 94.2030 +         y="587.42468"
 94.2031 +         x="667.38037"
 94.2032 +         sodipodi:role="line"
 94.2033 +         style="text-align:center;text-anchor:middle;fill:#000080">PR primitive Fn</tspan><tspan
 94.2034 +         y="597.42468"
 94.2035 +         x="667.38037"
 94.2036 +         sodipodi:role="line"
 94.2037 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.2038 +         id="tspan10092">to send request</tspan></text>
 94.2039 +    <text
 94.2040 +       xml:space="preserve"
 94.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"
 94.2042 +       x="667.38037"
 94.2043 +       y="673.42468"
 94.2044 +       id="text10094"
 94.2045 +       sodipodi:linespacing="100%"><tspan
 94.2046 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.2047 +         sodipodi:role="line"
 94.2048 +         x="667.38037"
 94.2049 +         y="673.42468"
 94.2050 +         id="tspan10096">PR primitive Fn</tspan><tspan
 94.2051 +         id="tspan10098"
 94.2052 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.2053 +         sodipodi:role="line"
 94.2054 +         x="667.38037"
 94.2055 +         y="683.42468">to send request</tspan></text>
 94.2056 +    <path
 94.2057 +       sodipodi:nodetypes="cc"
 94.2058 +       inkscape:connector-curvature="0"
 94.2059 +       id="path10100"
 94.2060 +       d="m 476.02904,638.3113 c 0,57.40944 0,57.40944 0,57.40944"
 94.2061 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
 94.2062 +    <path
 94.2063 +       inkscape:connector-curvature="0"
 94.2064 +       id="path10102"
 94.2065 +       d="m 481.57781,697.27417 c -13.14022,0 -13.14022,0 -13.14022,0"
 94.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" />
 94.2067 +    <text
 94.2068 +       sodipodi:linespacing="100%"
 94.2069 +       id="text10104"
 94.2070 +       y="696.22418"
 94.2071 +       x="486.62335"
 94.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"
 94.2073 +       xml:space="preserve"
 94.2074 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 94.2075 +         id="tspan10106"
 94.2076 +         y="696.22418"
 94.2077 +         x="486.62335"
 94.2078 +         sodipodi:role="line"
 94.2079 +         style="font-size:8px;text-align:start;text-anchor:start">end</tspan></text>
 94.2080 +    <path
 94.2081 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
 94.2082 +       d="m 266.02904,697.43112 c 0,10.33165 0,10.33165 0,10.33165"
 94.2083 +       id="path10108"
 94.2084 +       inkscape:connector-curvature="0"
 94.2085 +       sodipodi:nodetypes="cc" />
 94.2086 +    <path
 94.2087 +       inkscape:connector-curvature="0"
 94.2088 +       id="path10110"
 94.2089 +       d="m 258.24715,698.02605 c 13.34137,0 13.34137,0 13.34137,0"
 94.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" />
 94.2091 +    <path
 94.2092 +       inkscape:connector-curvature="0"
 94.2093 +       id="path10116"
 94.2094 +       d="m 733.1031,698.02605 c -727.990461,0 -727.990461,0 -727.990461,0"
 94.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" />
 94.2096 +    <text
 94.2097 +       sodipodi:linespacing="100%"
 94.2098 +       id="text10118"
 94.2099 +       y="532.12646"
 94.2100 +       x="259.14209"
 94.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"
 94.2102 +       xml:space="preserve"
 94.2103 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 94.2104 +         id="tspan10120"
 94.2105 +         y="532.12646"
 94.2106 +         x="259.14209"
 94.2107 +         sodipodi:role="line"
 94.2108 +         style="font-size:8px;text-align:end;text-anchor:end">resume</tspan></text>
 94.2109 +    <text
 94.2110 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 94.2111 +       xml:space="preserve"
 94.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"
 94.2113 +       x="259.49329"
 94.2114 +       y="612.12573"
 94.2115 +       id="text10122"
 94.2116 +       sodipodi:linespacing="100%"><tspan
 94.2117 +         style="font-size:8px;text-align:end;text-anchor:end"
 94.2118 +         sodipodi:role="line"
 94.2119 +         x="259.49329"
 94.2120 +         y="612.12573"
 94.2121 +         id="tspan10124">resume</tspan></text>
 94.2122 +    <text
 94.2123 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 94.2124 +       xml:space="preserve"
 94.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"
 94.2126 +       x="262.06427"
 94.2127 +       y="638.12549"
 94.2128 +       id="text10126"
 94.2129 +       sodipodi:linespacing="100%"><tspan
 94.2130 +         style="font-size:8px;text-align:end;text-anchor:end"
 94.2131 +         sodipodi:role="line"
 94.2132 +         x="262.06427"
 94.2133 +         y="638.12549"
 94.2134 +         id="tspan10128">suspend</tspan></text>
 94.2135 +    <text
 94.2136 +       sodipodi:linespacing="100%"
 94.2137 +       id="text10130"
 94.2138 +       y="578.09204"
 94.2139 +       x="258.55069"
 94.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"
 94.2141 +       xml:space="preserve"
 94.2142 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"><tspan
 94.2143 +         id="tspan10132"
 94.2144 +         y="578.09204"
 94.2145 +         x="258.55069"
 94.2146 +         sodipodi:role="line"
 94.2147 +         style="font-size:8px;text-align:end;text-anchor:end">start</tspan></text>
 94.2148 +    <text
 94.2149 +       transform="matrix(0.99999036,0.00439064,-0.00439064,0.99999036,0,0)"
 94.2150 +       xml:space="preserve"
 94.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"
 94.2152 +       x="259.87955"
 94.2153 +       y="700.12482"
 94.2154 +       id="text10134"
 94.2155 +       sodipodi:linespacing="100%"><tspan
 94.2156 +         style="font-size:8px;text-align:end;text-anchor:end"
 94.2157 +         sodipodi:role="line"
 94.2158 +         x="259.87955"
 94.2159 +         y="700.12482"
 94.2160 +         id="tspan10136">resume</tspan></text>
 94.2161 +    <path
 94.2162 +       inkscape:connector-curvature="0"
 94.2163 +       id="path10138"
 94.2164 +       d="m 170.94559,610.02605 c 34.44005,0 34.44005,0 34.44005,0"
 94.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)" />
 94.2166 +    <text
 94.2167 +       sodipodi:linespacing="100%"
 94.2168 +       id="text10140"
 94.2169 +       y="560.2088"
 94.2170 +       x="-282.23102"
 94.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"
 94.2172 +       xml:space="preserve"
 94.2173 +       transform="matrix(0.71848067,-0.69554692,0.69554692,0.71848067,0,0)"><tspan
 94.2174 +         y="560.2088"
 94.2175 +         x="-282.23102"
 94.2176 +         sodipodi:role="line"
 94.2177 +         style="font-size:8px;text-align:center;text-anchor:middle"
 94.2178 +         id="tspan10142">return from</tspan><tspan
 94.2179 +         id="tspan10144"
 94.2180 +         y="568.2088"
 94.2181 +         x="-282.23102"
 94.2182 +         sodipodi:role="line"
 94.2183 +         style="font-size:8px;text-align:center;text-anchor:middle">suspend</tspan></text>
 94.2184 +    <text
 94.2185 +       xml:space="preserve"
 94.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"
 94.2187 +       x="136.99219"
 94.2188 +       y="357.42465"
 94.2189 +       id="text10146"
 94.2190 +       sodipodi:linespacing="100%"><tspan
 94.2191 +         style="text-align:center;text-anchor:middle;fill:#800000"
 94.2192 +         sodipodi:role="line"
 94.2193 +         x="138.49609"
 94.2194 +         y="357.42465"
 94.2195 +         id="tspan10148">Language </tspan><tspan
 94.2196 +         id="tspan10150"
 94.2197 +         style="text-align:center;text-anchor:middle;fill:#800000"
 94.2198 +         sodipodi:role="line"
 94.2199 +         x="136.99219"
 94.2200 +         y="367.42465">Plugin</tspan><tspan
 94.2201 +         id="tspan10152"
 94.2202 +         style="text-align:center;text-anchor:middle;fill:#800000"
 94.2203 +         sodipodi:role="line"
 94.2204 +         x="136.99219"
 94.2205 +         y="377.42465">Code</tspan></text>
 94.2206 +    <text
 94.2207 +       xml:space="preserve"
 94.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"
 94.2209 +       x="203.16797"
 94.2210 +       y="357.42465"
 94.2211 +       id="text10154"
 94.2212 +       sodipodi:linespacing="100%"><tspan
 94.2213 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.2214 +         sodipodi:role="line"
 94.2215 +         x="203.16797"
 94.2216 +         y="357.42465"
 94.2217 +         id="tspan10156">Proto-Runtime</tspan><tspan
 94.2218 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.2219 +         sodipodi:role="line"
 94.2220 +         x="203.16797"
 94.2221 +         y="367.42465"
 94.2222 +         id="tspan10158">Master</tspan><tspan
 94.2223 +         id="tspan10160"
 94.2224 +         style="text-align:center;text-anchor:middle;fill:#000080"
 94.2225 +         sodipodi:role="line"
 94.2226 +         x="203.16797"
 94.2227 +         y="377.42465">Code</tspan></text>
 94.2228 +    <path
 94.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)"
 94.2230 +       d="m 205.05995,448.02605 c -67.19099,0 -67.19099,0 -67.19099,0"
 94.2231 +       id="path10162"
 94.2232 +       inkscape:connector-curvature="0" />
 94.2233 +  </g>
 94.2234 +</svg>
    95.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    95.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Scheduling_states_2.eps	Sat Aug 03 19:24:22 2013 -0700
    95.3 @@ -0,0 +1,460 @@
    95.4 +%!PS-Adobe-3.0 EPSF-3.0
    95.5 +%%Creator: cairo 1.8.6 (http://cairographics.org)
    95.6 +%%CreationDate: Sat Nov 13 08:19:40 2010
    95.7 +%%Pages: 1
    95.8 +%%BoundingBox: 0 0 196 77
    95.9 +%%DocumentData: Clean7Bit
   95.10 +%%LanguageLevel: 2
   95.11 +%%EndComments
   95.12 +%%BeginProlog
   95.13 +/cairo_eps_state save def
   95.14 +/dict_count countdictstack def
   95.15 +/op_count count 1 sub def
   95.16 +userdict begin
   95.17 +/q { gsave } bind def
   95.18 +/Q { grestore } bind def
   95.19 +/cm { 6 array astore concat } bind def
   95.20 +/w { setlinewidth } bind def
   95.21 +/J { setlinecap } bind def
   95.22 +/j { setlinejoin } bind def
   95.23 +/M { setmiterlimit } bind def
   95.24 +/d { setdash } bind def
   95.25 +/m { moveto } bind def
   95.26 +/l { lineto } bind def
   95.27 +/c { curveto } bind def
   95.28 +/h { closepath } bind def
   95.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
   95.30 +      0 exch rlineto 0 rlineto closepath } bind def
   95.31 +/S { stroke } bind def
   95.32 +/f { fill } bind def
   95.33 +/f* { eofill } bind def
   95.34 +/B { fill stroke } bind def
   95.35 +/B* { eofill stroke } bind def
   95.36 +/n { newpath } bind def
   95.37 +/W { clip } bind def
   95.38 +/W* { eoclip } bind def
   95.39 +/BT { } bind def
   95.40 +/ET { } bind def
   95.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put }
   95.42 +    { globaldict begin /?pdfmark /pop load def /pdfmark
   95.43 +    /cleartomark load def end } ifelse
   95.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def
   95.45 +/EMC { mark /EMC pdfmark } bind def
   95.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
   95.47 +/Tj { show currentpoint cairo_store_point } bind def
   95.48 +/TJ {
   95.49 +  {
   95.50 +    dup
   95.51 +    type /stringtype eq
   95.52 +    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
   95.53 +  } forall
   95.54 +  currentpoint cairo_store_point
   95.55 +} bind def
   95.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
   95.57 +    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
   95.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where
   95.59 +      { pop cairo_selectfont } if } bind def
   95.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
   95.61 +      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
   95.62 +      /cairo_font where { pop cairo_selectfont } if } bind def
   95.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
   95.64 +      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
   95.65 +/g { setgray } bind def
   95.66 +/rg { setrgbcolor } bind def
   95.67 +/d1 { setcachedevice } bind def
   95.68 +%%EndProlog
   95.69 +%%Page: 1 1
   95.70 +%%BeginPageSetup
   95.71 +%%PageBoundingBox: 0 0 196 77
   95.72 +%%EndPageSetup
   95.73 +q
   95.74 +Q q
   95.75 +q 0 0 197 77 rectclip
   95.76 +% Fallback Image: x=0, y=0, w=196, h=76 res=300dpi size=776967
   95.77 +[ 0.24 0 0 0.24 0 0.916468 ] concat
   95.78 +/DeviceRGB setcolorspace
   95.79 +8 dict dup begin
   95.80 +  /ImageType 1 def
   95.81 +  /Width 817 def
   95.82 +  /Height 317 def
   95.83 +  /BitsPerComponent 8 def
   95.84 +  /Decode [ 0 1 0 1 0 1 ] def
   95.85 +  /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def
   95.86 +  /ImageMatrix [ 1 0 0 -1 0 317 ] def
   95.87 +end
   95.88 +image
   95.89 +J3I@:GU(oO"FIqV0;rCK*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al
   95.90 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`A'g"%<TR;.<aa6d`HE,+YZP^B4!g
   95.91 + 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc
   95.92 + _Aoh+fk'&t\ctI:h]"?)EVlIDd]!t-Xh$Ve"[JLu9_eZN2gNOTbQKrP([VkioDBB7=[,UR,
   95.93 + Hi@$GNQ^C&p\W4]93o[!Fh+rPIlj(Jn9-kkY-14!k3ht)5*"HoRH<m_r]WPZbLQ=\HN&Dt^
   95.94 + XMoO5Hj,<r%.;1#6R5q'GCO!c[3P"3fin8!'p!h(Bd%.<&4_0Y]I&S^9EhP$:=6h2[i'Xe5
   95.95 + Hi.ORs\,]MULe&O`lL:DH='_T*?\/t?>d]TK".)b+h3HQG[sd`!J'DZ"t[_D3s3(.rT]M^h
   95.96 + <(_S[]nEccj\7PZ6M.8)G'`o"._.^6"^W"Ppcc4c/u3R3him5rW-bk4-FPO/64ckHom6-ti
   95.97 + J%7AMW9b)h,-_jSiSuV&ELS'g5/:Q%^br&5DeEnb\e.gFr;4j*_9i=p_2*k2@[8f4f<AenT
   95.98 + <`W38;-MOnKj.e_Q,3?(f9Om7?e4oCJQgZ*h2u1!2'n#gg%K!DB3<_"X(keF*MZ_@G1Ed7>
   95.99 + ;haXA))8C?"dI7ot,?P2T;S5?2%pJG?hVRcZ<)f7H[>"\)m@0?8V'$JR>njlZch42=GEj[T
  95.100 + 4&n?hf?XIq!P\.u@^0VDF-?GfCPQA,''qCLT7E23?\J*`H"p).jbLiOLj8QXgt7CRShB%EX
  95.101 + iFq6k?EkOj:*SRe,%AVXodSr'0))J4\okLfL'T'%#7D6$`!`A)dSfo@#OBmIG1V.mMqX0?E
  95.102 + InfEH^'PuKNd`;(C\aGrimCVg+cLnm>S*p6in/MrB_=3sJ%E%]U:DLk=S8TFgnf3]:amtt*
  95.103 + /^*`*cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu>q+ssgKcl$loZ@-jp`9s"i
  95.104 + V8utNT9gU:R1&;So:1_qAt]ol2%!TXm>j*caE0;T'sA]r#ZHgnbf"4c1ClU:Y#.:T5WQ[rZ
  95.105 + @3_q>R"imJHo*ch78:TC;^Xhuj(2:F3QNPpBD[Js(>X@KF9s*<Y5Q&V<hS$:.cG"lR<:K2?
  95.106 + Fq6.e=*i<1<W:lZ/T=A9+[qup"1*.pM>])p%>.#(RD)FIVD%H55cLJ[C[6eHetiWMQ';%=d
  95.107 + <=H*&a;#Q*#g(u1n*:KUa;2S4G.RdIA(#m/7Mc"@E7G,9iirieH&L<&FZF9n0Hjks2Xu8c%
  95.108 + h&GC-EK3oA3_*<>*TP(`Kb5XX`7SK>U]c71;@Z#a=UcP87#@%(/k/Ca#i)(-?%E3_1_7*i,
  95.109 + G`8GP>Z9n5GAiRV$*J3dYr(d=\L[65g5KkXC+ZJG:Vd.YSC']>"`"1.ODluQW!6X9;*jh`'
  95.110 + hG/;\!2k3K,!@7*1iq+?3'AbqnL8d@&s:C'@bB2<Mj1Rc,`6"A-9ck60b6;iYln+FQ8dSEZ
  95.111 + SCY'*Rnh)jeQnX`#NH;7W14m(ZpRoAa(9q\[Sk*5rU_:jK7\We7N7)YI%:52EpGUTMD[[*Z
  95.112 + )MG"j=0Bg?TUJe%&dFh5CV&8?Z,JK=4g.b0'74EU=nju1$.1>000r7jpRT!C,"4V.\*0fki
  95.113 + b*c3_l3+=,<=W20!C\WZNCfL(#,Y(^RN*^]>cL_9,h6&9%B@A6"EeMm<R=*7^l;d(5WZ1N$
  95.114 + I)`>7;8l(Y-qBbh-93!ENW<e\lW)&?0fITY>t#)=5*U[lihV72@ctm.h,Qr5U$At/p.8#*B
  95.115 + 8Y!Odbn>/'njfA`cO0ZW&>F=kRsGXTZ!HQB#&URnPW?7&CrIY#))IDen`oZ%;POHon**5pQ
  95.116 + ?6[oVqR7`OU>7kMQAd]?p5=^Wa45btqglpb7-$$56"CV!G0/6uD]&h_,[#5<"X!dhUi!4Cd
  95.117 + e5T92q)pNZs7HqKeY4c2Vh0\UEn\/)MqHm&!"7O#=^K)Hkhq?O?_=ZUlQk&D8M4bf,7*1h5
  95.118 + %Uf[&*%,]Y[&@HV=A#j'L$@7N*Z/eOiS6R?Xe_.Y1r;mTX?VR37O`bkKQ,quWJebc0pY_]:
  95.119 + ub]&;X/)>%2eFcA(e!snc1qr=*F$5r/Fg/5"WKA0.(5`rI+`p@]WTX.Th3oQ045b]3sKBKL
  95.120 + tc"B"ZV$ZjLLOr67O+0S7PK.lM"ph*Rt5Q(cmW3bM^b/ugcAU/`-okM5HooEKjWq@>Dr=d*
  95.121 + F7NarR7MagLt"r/oW1t#=<'5:^P@K=-1b$&]!J=N1.o`e*kJ2e!Q>q-/Y:d`c66mm]%>T*3
  95.122 + fagpCB88D'_XlZ4df2iYqN?*ErV$UMJ>7Y1/X@#Xc*)=GZb@9hoSKj+Rn\[=kC^e"Z/-TqE
  95.123 + `hJ45M*VZ]k"'7B=bnJD>uVBu<i6$]X9NRu6bE)HB=ra5Z"]:Q@P7-tSNu4a:&D.--Fd4:<
  95.124 + !55N=puRa71,a*Dh_+4?,Pm1],4dJNJt]S`T[5r*?8rnaq>f&jOYE:'ShX,hCDD,*3^5aY)
  95.125 + *Jq>qX(10qgo1RS8h/c0,Y?$ZfQ%F4nOI!Q=9<TVfY7TI5s_O%I$q,Qm[S&.El86L$j4WWk
  95.126 + Yg*BM.F&>EC3$?!L.qZ\bm")"nLT$=LM#ANR$04VrC?a?KBC[PKR'.K'sh8\W'Q$CMQ$*O1
  95.127 + MHiSH]=R7kP>_!FWha7L[/-pLWQ/h2O!V06K;Ltk[%(sA:o2C.="Yd@Ik(\\[2)%;>+XQC7
  95.128 + hKbDrcdk`!;(D*\e<JTt:oOrhmGq`>PW#U_b%jg0XY@k_(5uEi90al$hgc;"c=H'Fh_[Ij>
  95.129 + +5&4+Tr,$$GOK8!hX93IGZ4/2eWU%T8XQb>QLl,s66N^PLG@<NU$b8`;X"HC>9ED6G:G8OV
  95.130 + *\+7UcdhY2]IX"TW2B;62O<!N+rhi2FuUoSjF&TYT?UT_b<g!j%=_m7.!A*W`K)nuStsWRM
  95.131 + 0W6jU"fRc(j^l(F]"m,iirQqh*'iBIMqB^>b;UB,h\bUsk(FL@jT!0DU6kW0mO66":-)GlA
  95.132 + 0d#d?tFI%k.'<73.0!q$"#c^/#!_L,IJ56#M3:WXb"&&"'%8QL[F:$=8d=B1)5k5N6e>U3#
  95.133 + %BZ]L@Dr^#[g3Q/LX+V4lq%12lORcUg*o_j+_qW=N"PRc&!7800bEr[Wr/Mnnu_'_bNdQW_
  95.134 + ?.lg"DQB^TUQTJU=K=iek;VAmuE]j@-g\Q`M(/50_lG<<5ZUGU`m,\kuJV*A/6n5W6h+I&T
  95.135 + IQldL5Qc$.)'FWtkl#ZiP0'&dndYJ/8:R[L$rA(N'QiDj:MM55kSD)QrWMK2WM)[!tj)O31
  95.136 + rOEPRSC2BDn.*3R6TNOK?_*"R&B'97AG5^sh0K&'fi!3to.bKf@&0cse#+/!ZslDb.DU>/#
  95.137 + `ZU"-pEY.]U1mW]4+g$"@_4q9e]Ta]o*&9)inh>HC']WWKg6&BPnCeZ']G/TLeo@;H^rIJ[
  95.138 + kQi;>-(mOMmZARulI2Ct-D5W2lR;SF'dmE[-a@1uTrf^ta!3?qH',]*lZ4J[P_92k*:fX+_
  95.139 + 5,[KEi?en.^>Sh:C[QV[2si)/$`]hE4I:Q5jA>Z-#qfN^u[.!(86:+\Nrd]NHkG[6On.'0!
  95.140 + ajsk\=$>f.UR90<S+do)P+n(AZ6tnF.n2i&<ACR4IRR!E1!@nUA9RT"1O4-_X$7dXiCT9.p
  95.141 + hH[YnrCVg06Q3AbBs+mMB4'2\sn[ikbg/Kj-^O@TY^(uE%32R=7'%6Fqr%\)el\j4jNO4k;
  95.142 + SKd!./Q#2&9#3Rh,PrWoQOFp1GTsk=/N5BLnq,:Q%i4P[3YQhm+40on-;]-G^:;@>B$Se8*
  95.143 + O5VQ%2`[mN1WsV8$r&mKRSlt()t2i)JQ"cf#SHTuk=s8>0dcHV"#fGn47<peZ<@G4NBqX.%
  95.144 + ?qjZ@/hgA7k.;a%O&dae)`qR2+)9D;@uUh8gkG`iX`Cf%*A)k5[<0nn>oO0!`,?;Tci=Q>k
  95.145 + d437^P.9&rtX#P=G$ImbuhK&HW`PRhl)*RK/aHo++8h#qMYT*g7*W1U-0FkpiAG1=Ds9oW\
  95.146 + (QkspuK9=2B",/3f8V*m)l7"G.9&d&`.-Lq^-!O78Ji0cmHfenV"pbFj&kbUd*i7X@aVSX'
  95.147 + 3ZgU+%;a58o4L'AKYIX`HnK,IQo!6?/0m8s>eLeU_;Qp`!_:(D$qbqVt;me`6_A*d6V++88
  95.148 + *J!lG$iqnYR,.-jk])srC7a1dM&Pq8;s6LHJb&iX\IULV<ljbR')EO;UmH&Ik<O5nmjg;h"
  95.149 + Uii6qZ'Tbo<A`=@5pPF(Y,V\+k9dSI9Uj)>ID+m@NHL(`#(AQgMG@N:s@_cC'9Y?aj&u*2.
  95.150 + 'B74"=*%;cUROM',_&b5]uc?KeCe&*ZV9igD;FkRm%L'U^Zu2ToL'@B:"LXhGA3N@4CN;76
  95.151 + @3p+^&81q%#WrmU=>NXucL38a9&"V!N7OcZ,0U=O+A'p'",(,gP>oiICRAgfoB:L_1]fbs6
  95.152 + >Z+t)U[XdTo7p4B9"SGJ@O_>LRQ"b1(%p!O]p7Z4ZUk=gipaKod1/T)8Iii&P^9j:1m9(RR
  95.153 + E"rmmm1uRE(1utLHYhm;/+';1Pc55pdl&m5=\V+G:FdOFF$-,cDm3RQP;?\!fl2-AE46726
  95.154 + W6VYSeZGeCC[I^<Xuhqk=#oV@P?\([\H"+F^MTfHt"09n7_d/*q8\M<G\"):phY.Gg'/]iI
  95.155 + Noo:<4A)?$!JhG.2=3kbT8:`>V=2eW!@HbM*DbU^0hi>*CaVeF@TMG./,RG6aC"d$3jI/C>
  95.156 + 2=h_c7bTEfg!`G8DW64p%AktQ!GSU>Y'I(.=XJe\3M>1RI<=kA2;0>e3!*r,:L<jXZ"1j<o
  95.157 + ep)S1'/Wi%qi-,QelWI%:S+br9O5S`X@=7hfJ[c_Okj0Ho'eROjT.hn2O2CamP;!#DUb_Ii
  95.158 + (Rnn$UH29e%G4A0o[^aB'd[82KsGk6=?-BuB7^t7L:D)Tkn>%S-5]]j(NG(UlN95A4IYjj3
  95.159 + `j92QpB>HqB62,)6/Z"==hP:jPJ:6%+ZYCJQF]0TgKZ:Mn$HYpqW)f&F<5#KqQT:5\XN)!>
  95.160 + u?loSH`g'Xom+nfP:5N7U'M8k9unIkm52A@JiECYn:$X#JC3jUk@K3>%B6'p39>;GP1;n"U
  95.161 + MrbitHo+OYaoD4?A@OVLiD#*qU'lO^c%g<3mGPdC(L&tBs;)3oJMQ+:/;os,T6M+lD7#h7S
  95.162 + 3o=lD&eH$(UP?-97,/3h*gBs$+]oJL3Nc^Xi0*bMEQ2-u=q4X6.4AsP`*DKZ"b5YmH+;FX^
  95.163 + O"4S(enWmam;-^3Dc7Fb&%2P'@rJ%1:ednKq5'ZCjdpb]fS8Pi%D&j2J-)bH;2N$AZn/$IP
  95.164 + d]Q>Ik,kh0Uil(,eX^=<Ua.DO\MFY-),]7U9;p^Dgn'TLJ]]Knk%A:q08$i^pWoGc7L,RMp
  95.165 + 3+T[09N?_`BBGqI-6^AF3qO#)s3tb4uX8,GHUlUhMb4Q)G*PKnrA$5Yd(Ca`iYEmA>2tWOe
  95.166 + Y"m@P<g.2VdYY1*Ukn6\],mAJ&5;V60s<)GnQq+6m"d24m03h`Z:eZF/Mm5\Y_X][aNm+uO
  95.167 + d#0>b)'m5Q#m>j0Fk=Z3b>/r/&<<\JL)`l`Xq[p(p'\K0Z1=?8\$KG:9T."Bd%e'F0LuFXY
  95.168 + V'UI2Y0hj#n):M*(USN\[(B#N'enCH`N2\n)$uuTkd.=G\ON:Hf&8VI3i]A%ro[33PrhdNq
  95.169 + gl7=KZ!>`%2`!G1mn]3k_a^tMF,'G0es'EY-/S2"^#uJH\]3p[C^dqVM-=cJPNufk?1[=pZ
  95.170 + RI,F$Y)=P_d_jSW>;$cR")U@$KEX^:WdHqs^JDl#'ZaXn2cZ\cRZ!dB?)_DK"KYHW[G<d5@
  95.171 + A<^H<OQr#rp+0VgL0r$pY&/SC(lBt:0S+\l8V)K;ja.pVs[_H]gRr)(E^%7eeS&"G2Qpk8E
  95.172 + uCVtrt+VXT8lK7>h.$b`0`E[i3r.2p;fVC4GDT^i_%AJO0nR%b>KL-chg5)n2%u'kfaBYji
  95.173 + r3=En`=;6cXqJ^5kXWa>mE):bDKrEsWoaJ4e\h0Cb?WlJr8GpLMJdF1-7[VM:J$tQ1WG4tp
  95.174 + [N^8G's(Tp!-hLd(Kn8k]&r<@]gF(S)!auB_s4q6@p$JDHr.&cA,uE#LOPPe%IonkWEa$gL
  95.175 + TU&?$hlhg]u&Z"E&R'YNk)&:QM(f6.UHuf"GmO[hPn$6ER9+jTm<K'19HH!0l)j2[]ioS2J
  95.176 + mrQ.^SRfr+GMOohbf4+i>6c\L^^e>]TChdN1Q>X?3Zh8.l0`S>+];_ZS#\Gl9e*SSQm'\gR
  95.177 + .lOaG/akhI1hS&9'1>0,dd90^=eU8R:Y2)TR-@RfUJ4eLUo3I9Fn)8^5iP$:WGd36#c]@`%
  95.178 + J,I7r(=ep&e0,H$Xq?9\4s/iL7HAng+7s-UC=(gbA:K$[HunTE!+`4="ba\H+Wa;=rc.*ak
  95.179 + A5S=XR)XV-h$/p^Bn&IXc;]n5'?*RQ0E^c_8.h-[F_Mclf^jJ7NQlX.DJXWRHo=4lb,G=b1
  95.180 + eg;2LV-I]j,l0jYHYgAF`<U],nZQro*9-XA[12XgG$UI].Q:[e$NR9t"9o?NKX\"irF=/5"
  95.181 + FKG8,KInp.@4F\:BY\@(gU-1ZO7_C^&uhuQ,-gjK,;GrYB<C>0Rf"7j2uoY4,4:fsj'g3p[
  95.182 + gZMlV*[!h'DgOL:bo`&e%s)G;1*uHKX$_F/B)_G-@?@!hhoEs7fqaL6DQ2,otWR\'dg_-^W
  95.183 + S:+a*GN'@iWn?,+(&>VTqnKh=Dka@.41E8TnRgqH9%qI<\,63YrP.0RZ6cdc&bDRm[]=8t5
  95.184 + 0eC0+K_mdb.ldU&,6hK#mGrIi=MAU/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV
  95.185 + !t\Y$!?C9BHm*Pg3u#Rn`&ZRFLYM#;K#i'H.N@M"@B5hpe"[/b)P]e*7Y!_sXKsI_uo.O:?
  95.186 + )]64R)PFrB\-a^qe]m1u0kY1[[$>OE:HQ-SW:]3XkAS(6s&ID9.WD;5[9$!j4%E>4:117Ip
  95.187 + W<,&a1h-(HBb6%8P?iV]:bg0ZR)BBTS8YsmMobsB%Y?A!ZC\A\fQHs9QJWr)2Tt]t0ri9#'
  95.188 + cYS;1X%S(/GlnOWC:4.AF8"E2QVXU2lZN(FT%@nkh=#Rc*Zl(ZC$!T9YYEds-[eYK5'T1.Q
  95.189 + :iY13dpqu'9DV&rVo+O"9SZiE$Pen5k%/T"[R!OX:<#4d2NBTCg$W/^+=?fii;2SLCZDHct
  95.190 + *ePn750*7.EZD'h*+Q>8K`uKOYlD6VM7>#Vj7Gp7JJi*iHnLR[2&!Z6M3O!Cj_c)9Ho0RjU
  95.191 + euKVKtgEho`d7*d;qblG'.i@cH0@t)G<a/jfl&Q;'f!"m[jY;]2IK]>'fF/8+`:@lE'0-1*
  95.192 + -qTTfJ"MkGF8qVl?*HXOe75I\8@*)2$Kd0/eFJUK\;Y7pa9dClF3mA3n"U,pnPUYmEeEi:c
  95.193 + <B5riNE9&$Kk"7dFerkX<qXFPedL$g1aZ;s'Z>AY/fDuF1B:W9/(o'qRqGmtKqi?cG,;6D&
  95.194 + 9brK:5&<K).CaHPs@U@5TS#nReF/<F^93&gNQrtL#U`!GG?tshX=o:0\b/&SpFc/pc-M+GU
  95.195 + ;I(@/*2)Kjf4<)i#SK"sZ!-a$')&_XPB?ND2lc4,;kl#"+M`GpZ1J7OFF"2&dEF/Q'`0&tU
  95.196 + UcCs[6mAGO5dSS*61H_4s:agIg:7YZhf=AB1YV,9L!1f7u`#,A/4HD[aDCAPdOE9hRE4CRI
  95.197 + JiuD(cCsWWt:Mm@$[1bW6gUD%sL?#g^H`$,@DYqHF]l/8[qnI(I#6Ve]Hm]<>E;W3>`Gp9;
  95.198 + p1j-k[a\+C]Vd:'Er<s6c#\9q43qr$O$g"@pnp@*FT"^.eTH:Q>M!bI:L_`k4f$S@pA4u;V
  95.199 + ^^XZHHc^:"/Z=uF'":[GlC3sj`u;fS*,(rLSO*[I]'74HN(skm<a<F]C1$@\&3!+@"5r_I/
  95.200 + c^comM=&g\6-rLSc,AI3-)srr:%1rI9=[qu8nMnGl9.72cK3Tado?O%6KD"f>rq_"WNP+8c
  95.201 + e(OB)`TGVKD1e/*KV=n0<V2[Eh+,D;/E'0^'k%j.emK^cDd6MOst@5Iuq#*<1ZFOW>pe-RS
  95.202 + .k]AFR#%j%B&U^h*,=Hd=&n4g5I*d$I`)rEA@['fKOW"qNZ%j''e6@inFpc,S817s\7PfsF
  95.203 + h%,'p)H0JeNKFfi.FUF"A!D%pOk)TaGjuhbe9d7=p-2(C!?bneK92636V)J7,%OZ2OchUm8
  95.204 + GO1bP>k:\YEChrGp+MFe=2YbG#(^*5q$:YUQLD5/%(`1IR>*UP`iIV9)2mHAX'NeP/L\MFO
  95.205 + _3;(k.g+BGJ_cb^7;[_d&+aWCGnV(8b$*R=r\HN@?4LUoY[e;^a4ke`?lAe>I'pV";]"Ye(
  95.206 + S(\U[//AVG1^'W4oB.RG>')5&iL:T;a)djAYO)=U71I*mSq:+/h>mljf`g+^uqX3KZ^3%,E
  95.207 + iS7gti)B_C89[JWjPH^p?.PPIboc'K7g3T%;X[;7a,+iN1Ke4c=5UO/h>r3+qct9CH$oKE/
  95.208 + M`uleH6-G6<BEoQgg8B:n/lBWRK\rlNgj3M:h^@rWJ"lHc2"0C.S'Q=FZ!l2ie:&EXYME6d
  95.209 + ]4mUDJ#liI[FT/blGo61!'LoN8bV^)5'9#C,rZ$F]P]tEZ\6D9i5):epuA+RoTk*>&'=ATi
  95.210 + LCYXQp1IXC_*HcC*6SlX<[)(030jWoe-`odd:*FG*_qB4!)Ue>ZIIcRWc6!%]?nYf-gb>'2
  95.211 + ]3b3b0A,JMn4RrDu7&>;Te#[(C(eCkCtS$j+IJQ`DmBU4Xr\B<CPg:!hn5R"@%W`Ide.qi5
  95.212 + lXkR1*h5(VIHFJY5j%WA*?VH>CBs+R_\J?7J/IRtmeW%n(P+i^iCYsN(V:R+SA@`L`;1M?e
  95.213 + =hodaX"f1l^efn%\9=%8?E<`tDf)Yl.m!Ia'f17]<VD>0idTj?/Uma(r[qZT'.0DuMJt<<3
  95.214 + <o[@@e2Dg0pUt!=G"0D4/[d5DAU=8<t.TTq2]F!?C[,,]FW5K0>Ue[JW&TQ=Z0Y=16J"ZJ.
  95.215 + \oD)Ei_R[R-d7ip&%qH']5*5Jrlo0e")2M$nad&uhg0B(Ard(ARU3_n67fF#8<_VHKPbQHj
  95.216 + )g(RMDX@*;Y>5UUBi2fHB+_tkB8AspeI.G3q2i'Sh:9/C+C)nSq?X%ucBd)@QeL!TTVE9Jk
  95.217 + mB_1X&e@M&/kaE$Vle\Vkai?q_@d,q*Q0!b][lGp8l8:I4I/lqMJt"=/X]j#KM<8S*m%iaE
  95.218 + .?:^@3n%agI;W<.k1`U/S=!q8qO'rj]F2ld!2op9Cc5&?C:c6ND!_\D'"65hHW&ql@qm5If
  95.219 + )#ccp#GMfS%e:bZFEH=2/S;/6aV\e)>l?:R@l:Q7o'fQqJSBa1;Z$CWL<n$G:T-<f=[Q<m]
  95.220 + 'HSO_kej6#Wo`_n%Pf4jF7i\2m[F-*VE2Hk^"LDWiEoJT)J>W$](gC'L4FJsq-Uak?\>YIp
  95.221 + @$-N31;GI?kr#1;msI^"_*RT8LHUH4#k^m]o-@j]a4"<T7HO@SMCm>7b^p@\DJ3_)s0m8Kl
  95.222 + sXl6<RLATkH6\/J@5".Ni00^h6_3^1WCHA%$lDDnFOF42cr/bU_M6"FdD]Y-hl"!S<'H/<k
  95.223 + WT\AB2!<*'E?%a';utUO9jXnABegMeI?==!L!QRh<d3Bf?Z[o=IsmG413C5:fD&q'`8)LON
  95.224 + dPQHpnTR:$)9BLd7;GQSnssXDm0Y!dV9$eFJokF8th@""&E=Zo-UI]#^C%/+Z\$grp_H8:'
  95.225 + ke2k-'W%P(ikXbQQiD!Wjaml3i7#08&*hOn8b:":0AT^15$?oEC.oj-kki1AKM;G_85jbr>
  95.226 + gi^h^)48t7kCS0iQAJFPJtoFjF`S\GIQ]1TVtgDL&92&e4O(;N5#G_2W^T`D_G-ZDHYN#rE
  95.227 + hqMeF)MA)A8_gk"qI_Z'r$d8X;Hm">@$O@FCWUcXW\;!>+f0[Bq6<hAg8sd(m=Li3M]HHg%
  95.228 + `%;Md1Qc25$)#3>lEgP"2$.#C4,C1"q,3J;H]Oi[#XHKgn227K!.dC:6l:KBk[tQ*#fKC>"
  95.229 + 5uWQ=Iqj(e3Z-f^sjSfnA@Yf'VH^?NO1O#4=7;>!fN"4L_Il736aRY1d\i-%\ut=bZ0S.#a
  95.230 + tl&ZlBFlG_j=Q4h)J#P>cnK.#jlEkJWIb`C&h-n;`^eX9C^c76AX]9+_G'?&UT<#eUQS1ej
  95.231 + "322Q'+#1t4kl/RD$E&'\-$To.e4?X86L8ujnJ;N<GfGfNlGQ@)U*][aAfJpFOEXB*D*LYW
  95.232 + Bak?s?]0G?TJntCK4CJR2:.;Cu7/J"D#e3<:J\Iq9%5`p$>`+C!=IK(i^0FjZ.#LOibso4"
  95.233 + _AVT&nY6A3JHBQM\--N%S15S-K8_L;THMKK8;p+_Y/W0\7`^cGpcZaqg]0o'$6TPTfXAgL1
  95.234 + IKfN8&RCh=lhVgk!>-dK.(V0W0g*-dCsl`5*:rJ\@p&SSOd6W2-X_7I"a`e9>X5Rb5fo4A;
  95.235 + X#>\OahS]blsSgbK;bMS&)i.I`0`8a]+tKhKhZ`5%/Ona?`oR",0q7TdPh39a#mO2&9""6u
  95.236 + kEcl1-@D2X(C6"HetWNh.Z'$UaOU&o*WGa1n:d2l/I95qMf@%0e$)&T'8K!=El1\lkIe-dO
  95.237 + &bV63A['e)-M8_$^%+BXJi/gCMhp*(V7I/&\<8\$=RLD%1#b9rZP\?+?jp!f+7RO7NA7<Jn
  95.238 + X@@HJbE6'Zo,!#Z?dDA=Ls3I@X6Mp\!`&6Y9H]*^Gk8pKQG4Rr8P7p(pk2Cu!&t*Zb]&&qg
  95.239 + 7M&4is8VG&'S!H"R$aTq+6[%c`j*7d"fW>Y0,\gb^bS0OBg0-.a\PT!%HsN#X_HNg'?!8]/
  95.240 + (4a`2(F=N!te@d?kNnWUGj\-W/+r#mB%AoMWsZI14XHQsA5NXWiUtfFhH*+!<=:BOK89\d5
  95.241 + tjM<kJnJYLFi!6\2n`G>@tM<25MJ'#:[8Lo8:E.YlR"cDX'LnpO^KTcUjMU8'Z9MC+8*%re
  95.242 + c0Gd]+Jl&.,*6FO,NR)EA*q_4CEnNDSbD;E:67@Oad"tR!Th,fKbY79E7#qUOfgS/_;eViQ
  95.243 + 1nDGQYsAAEO(<aBg2jdWjGmn&eQVKu!5,uqZophMLqp&HOB=#h&0F<eJLFDrk`8W/^.u:j/
  95.244 + X8mr\ALuClH['<\*N5,9])F19*u?UZFjS`YcboM"OMC,;T"#cBs#AMU=QE2$oDES'd:Onl\
  95.245 + MZR^dMKfeT6PZmRC-tf-Khh4Rig0,a"Im<C$/,'n8oIWeTGhec;84r'erVB?S)J'AY\jQ"L
  95.246 + A=XWGG=LckFAS7,GHLeZjpeF8.DdHukQneQ1R=W-7fYT0uZf`u2I<"S;cbZ%\hL/d(2<m6W
  95.247 + Fm;'L.P<L!X$4T]8]Ed*Y!)tA$ddZZ^\La4cIAPjd2^B%;oQ?aX@Pu\r$cL<?Pg5+(CEIWh
  95.248 + !OR(TI40o*Jd]7#$5DaY"b]e/CHt8afP0DMR"A%4@oH<S;jB#FlRUO`k#n@3cfHn`D6o$Qm
  95.249 + *siGSrG\XMHi`,CKOSa),h%ZJ2Z2.jUQ(X)f5W^26_qZmT?#nd#a+8j*n!#!`+f$cMUXtFd
  95.250 + WRMIG,D6#DE92[?q45l:)LscgZ`pV6W/$Z]j4Z%mA'k'f<p<1g>+M"%=GkSWK.he<<aVJ3.
  95.251 + %:[1nEkQ9H#f>oD\Xd#(`:O$^d7`_F)e=G5,A[n_'=LgqsLMkLDfZ&/u_Nl,)X8a<40%8$=
  95.252 + XLAgrX-*#!FPM^BR4S6jRNQ[6^R7V8QM@E$^'I6`tl<WV'gOP)&h:IHG/4j,!#Yi*jFeBe`
  95.253 + n;&\)T"r'AaX.22&0@D(d0M4UXqP,dJRA2AT)A[bBSSpnnrM&1Lg7mQEtMX'L/+jm>Yp&Zm
  95.254 + MXNn:dgkd<qqPO>2Ri#`8=Lp]G0OeIH-W@*$1<(J>bA8W]5eTk`1S[i#&WUrZ.VEL.D1q*h
  95.255 + FWb7667K/7.`J=d@NEAg"4E!8l2aZDg<dGW_71@o\oC6a8tq`V^#]qk=,a^N^RTZP8,S4BN
  95.256 + SY%5j's^k:I/$/p0i>tN`U2$7)CoAD3Rgu\\Lb\(4SJ_f*2L$O?O\6d>6o>s:melX9G*`*+
  95.257 + X;c#k4A<l\@^"[!m;r,[rROtsU<\=^o#0AiWhAtUQFiHF]2i!]1A.e/.[V&+;2nR/C5^>NL
  95.258 + gT2&gp"6,gLaA^+aG8NH7gL]7?EfPSI@suhKis]]#`^N>`LVM_SqsgaM2isLFqY%YmK$(2@
  95.259 + iNE\^.nr&LtT:%#c[Q2NGTa9$>/-JMX<pq=Mn[rJkkt7%b"Xrcksf.Gl[.V(&0+bW&>;s7o
  95.260 + FS>_k>`Dj7,3-P#7T>T&j7?W&0CQ<nU$*iD@$nj`cLZ2Irso;AL'Nc>200Ja)$@gHbAn6*2
  95.261 + '`r9>te>Gd75AoNQ\GM'ogjfI`WI7.NeM;g3l@k=).=Gc4.QFB6.Jtc0cQnrMAZtiFECL4G
  95.262 + bDRXD1\8.,8CS&+QY.JJ`\B9Br!fk!,SqRG=[Gj^W@"'ra@)HB#oJiE"?Mu"*2E'_L%VH`/
  95.263 + #fZ-9lc7le@;%"&Md$W6VS$aEcts9?D'%,B0%4Y=a.IlPm9Y9U@#%ENS*HRd#u2=u4+JdR`
  95.264 + *J%M8?=Z/J0p(1g;50]NqEkm%K!mWO:&:fJRRbSE!n?B/AlA\M&)NfIXpH<K\o<#C4=iN(l
  95.265 + .Mhmg)<46VK%4\<T=,<p*LdLphKfG#7CFdR,q;M`=)mW\8;$rJkP:n(h<(,hn5^MW]G,D:Y
  95.266 + _#?L1hgh=$s=C+f9D[]E`ep'<LnLu,?BHOW7^r,Be(?<m*_5!9?D1g.7f#aQPlTTnlST][X
  95.267 + sm<2"d(?t<BT\MG(eimMH2\Q\hif=<(ks1=KGYoME2t,BEOH;r&\7jUoX5mO8cBbX>Aa](q
  95.268 + "7#l&miM^@?Rj$4CBZlhi+Em#:lF\=NblGLMXI;H<sjdjqLh'BF'85IBHm%srkV))Ej"inK
  95.269 + ?A8=..Zg6E)-Ol)<G2mWG3%;kViQ[Sp>CMZZ*L8o4LN9D<6B<8-RmBE;7o!`tSLY!JipWnn
  95.270 + joh7k8ZEJ+UKLnqS(7?8ot?@<<k:@s[KA&H>U8pec.Y;1OW203`=8._Tu$Bb:sc2X63++7)
  95.271 + 2sLgOQ3cCXXJ;Y31M>R&IA-S+Q?0j^R=od;D9;>5$q_/nLFMgT&da);Vj5f%qiG9:jL06;>
  95.272 + %FE^N'G@,N;Dg-DTG^"#dT6@pMNk]bp.<PkFGK4HA7r!l@j3F2HD3"..p<@gE6$(,YYgR<2
  95.273 + O,%t0Lj4u;Gb9k<YD9f2q!D0Rm;I[aCrGb5m0XXbn!A]K1kfRlO_i:PoJF;Hpoa'`T8sL&N
  95.274 + rN2m^jAq'O%fArKo@)YMq`8K^WsSoEF1ucInsuQB(g_;p1KQa7LjZ=AGA1XoiBpo0X9R+-+
  95.275 + f'bT$HM2K!]-T,C6a!ok15P50`UGFGR*h!!f7Tmh^f2CinjFLPF]+-Gs<])i6e?p)e\XB8+
  95.276 + gG_:-ML@/sORj?Vngj`osoLk[O.(kc0Z'XuZ6mK'H/f(TG?5X7dDd^<r`(sQGi`(!PEL_9b
  95.277 + sO2ZpA[En&]%i:XopDrn!eogboq$HHIr)WYaV=ZD0l6j>pkM>D_E0F>WV7u3ma56RSQ?oai
  95.278 + MdNOtSjVHKHf6,!iBVnkOI8YC@cdnWpb1a_#'G`?9nb`jq/tHl(Ja_EE+Mi7IjSD,=&F=2#
  95.279 + ^G[qHihiG&U!Ztk$jpC@^uu_9F;%-rWNCU6"&&a6m`WVL-oCr0Eaik&r4>&;0\U"HQ.a4,L
  95.280 + Mn^L.*8DVP,T07#k7tOiH"WQV>D%1R^a@ET?,?EAjCaB@H\[n_litSg`),74+9mMSH.:g4S
  95.281 + C\p8U8jeL/9&[8;>$/(OLk5/eWr=_nk#6H[h8[S!Yp-qoY`EedpE[qXs`D0giVA-gB^rqUP
  95.282 + r;C<(`Ml+l.-KAVH*/2]HMonb_=a:oi23lI"F4KlBL=cOT%eRl671J2aYlj?YD#Snh2TRjt
  95.283 + UtGpd#pGNk@Je^^hc13*aS2p0XGrpsT;hY5c(#jd);;tfZ7]?K4k\q<-f#f'E*M@a%m8\j8
  95.284 + #Oo'KoCH2^d#c8o2pEJ?[,3SopO)%5Ko9WV7,TOKV>+*HJ4Xmm`HAV_9beFMnogj'\^?AJg
  95.285 + 1Z=.T@Bt]<9W_&@.9nMPJ*e4#j,[b2TY+7E;F4XWM<=;&Z-&CL/S^c&=Lg5qT]lO?aEklO"
  95.286 + g(!Z*+*;H/nE8CC2'T"2g$5q0GsnhVdE12M-*1?Oeq91uT2aFU@HYTl!#@3!oa9uc8PT>q5
  95.287 + [b8j9ZqF';9CeM)`Ui7hbKK<e9DW@G?*!jR#LdX<GU++e9^_)DA91'iiaO*\U<*Beb+7;`W
  95.288 + 9T9TEer`j0Z]N6[oR\#Z,]]GPK"Ek)4Zf?U(g?LCosK'OZ`r^s*8!s4/9][fj7Hd(2=t`hT
  95.289 + l'oeP,Ltn<fa%J`2??XNNB@GgCA;)Ju."<,+^+168M1bnKaj$]("ODGbB7i6DG&-Q10Ao;.
  95.290 + ?@<WlMgS)+Kt9f/]RHXpC\(#b88tccF@?J(`?=g4Wp[RN[Q^Z=Ys=j/=JeP[2CpYjXB.k"?
  95.291 + 75\AdP_fm$8"YZ?R<=u0d1%WN44GVURuAgfKa$rFJI(7-V5Z=?C<+9QN"VjBl=M,fuK5(g^
  95.292 + cRTtm,g58=5:O+:sRHNdFEErg=*mpUt5lTD"mF[;GAEE\`l+6<,>!]?0nZD#:?JF8UIB"cc
  95.293 + WiN.%&u!)m)<)m5EC_suM-MN*(5Zs3c/?EQ]YoW<o6@`/MK:Ti\#CV-RLMG@H(%)`+^0VTh
  95.294 + c<KYZ@luYqZ42LXf\Te+nm0J=D3r6<kr:5Na.]KS:?oUSK<$Xk`oJEcH>[-#9C2<.9^_h-J
  95.295 + 3WDib9rcIAWkk7p2M$GrDYLU:pd3;ANTqR72O[>V5M[?e7BTCntV52KtVjcX=P=_1i(KJV)
  95.296 + 1*4*#U:p&[Ms,i&b.g4EqU^6+`]"j^D)+/NC%U?#cage8\_7?'>I#U2eS&SPlS[Jm(ZglP(
  95.297 + KH#taW)T*t46/8O5,YljC15%?WLgs81Na.5ipjEV(,KV2a/e^YdR.]=ZBRYke;n@R4G"F/%
  95.298 + -g5^FY*/j@91%DXmf>h0eKl(G/2JHroDh:2)JYi-3[;gZqih90l!k9`?"FWq0:2Z+i!`MFb
  95.299 + eaTQp`UgAA;r`JJKRMD3<i$E)j3Zg%mgL.N#Xr*/$`E6`CNu"(',:37@i1q(tcd&$ofGIH8
  95.300 + d+[>!SZ?Ss6?.P002!6_=BqKqpb85,[biLh$6>&!d,]QPC0j"Ak<r4G1d%m5-/ceXFYS6'3
  95.301 + T(2<Nl^OY\mac.U&n%8rQl8S%#016EjgPa7k.rXTO-jI+IZ,=ZX<ED7hee/n-fM+Tmk3Q[N
  95.302 + JV2VQ$L$i*dapO@]=U0o&C-)[=V\Y'aj.,$-SfO/*@olNB>%>E1Xa'8TTX9"iE>XMZd:GBU
  95.303 + /!$*OAnOm7)*Y$b25\mYT?WND2X/1DDC=iWVCI!jhI158FV6^U"mUrE5mrl/&:6_m4$D[&q
  95.304 + 1T4u;:O=-<pJ\YV;tC=e^kO1.huWsd70Z,$@,e>eDI,:L:1.t\k=4nEZil9!)Dh*;ocg"E5
  95.305 + cEb:9)EAX<iS)a`u$/)\1RQ*K.2R4Yg',f467/DQFSib#snQ7$SK#1,_J3=/sMP/+f@9'iM
  95.306 + kJG'd8+eZH70'!IEI_e[f1NOG/0g_@pWY3jH_ZI[1B>MFjNaBbL=Q*S+WiTe2`]83JnG2$7
  95.307 + pV0(XdYp)*Ol671BG&HEZ[r;]BaD69JmLA-fenX4uHKAidh"G,u=P#m-Vg7a-oj8M;!*tNL
  95.308 + BC=UQ^Xa1hhtSLBn'0t0=<=X%RdGGONISLiVYJ]"kCPCb'fJ#1rF'0QC7K.B_cVA^?lVGfn
  95.309 + 0T$kGb/n_X4C5)*IYW/:A<QQ3;,'".)sopL#It"NX>+Oa-cj&@P!&HE@s>oGodH)WoH3SSF
  95.310 + dlS\pS!=,AQ_>8BTS;*E4SnO)^[ibB\OEj=J*M1+lbSH(F).X-&;_rD9)q_^NdRI@;sgeB9
  95.311 + l%L?C\hT%HeIc\U1.kPYP-F&dS3P%t9UC`bY.eq;B$5<J*"$);U.Pt&=]9-12;VKCg'd'f!
  95.312 + &eI&-enW%Y5\CXL@Ra%XM[Zo<G][(;O?tV=QZe!0P:Y&a5^TM1,^'Nn+ll*:41p4"6>9'GS
  95.313 + /Wa&AY05M;03m'[G)PpFcd^WD%cpug[cXa2dT[Z.DA!Vg[hV,1<\&4YOrq&GmL7Tkq^H=je
  95.314 + \'sThU24QH>Y=V^.<FlhjaXh<R'?PX:C3=qeL]NR?qAn<bC+a+,+\Hs1\8j#N+<<Ept!VP6
  95.315 + ]B.an`hi9muQO3?kogg,kGf?"_,:;#fPQ[qB]\[Dt9#e\W9KQueQt_^>[!hY><O-D#q<qBn
  95.316 + _qh&iG7Ss@b#B2.XH5H&]GV:>@><U/CIXEC,Bf)"Q8leN\GffjLCn0^NfrL^H?T%2QlB5R%
  95.317 + l^USJ/jj?=0F[W^>-0cIUU3X3PgDJCmG!?+iq*'FWnLqh*T,$A`B8uH<5KJ*l-04uu)!kQ:
  95.318 + ZM@ibk5=D5oA4uDH65T:XVSM:<gUPdqrQc7@V,&?$cDg*AaKAn[J&J7gj>K6D`r$,pKmmXH
  95.319 + ln(3r[52I]1]hBY>`)^?`j.FgXkWX^\#CHeb\01m!YM6pAX72qqlnmINQQ(s!Qq+hk0OiT@
  95.320 + Nf<BC5ZT^\E:#jni8$IJMq$C]C$irr;0[s3L]F&-Do/#69hn!70^?YS+cjP1PEii3-+s:[\
  95.321 + ?Q6M`A`!miS&&2OD[0_F^<e;WDJ:*B^Y7P,0%"HZC_&5ra/,iEMS!UlEX0NSHFHN_].#1.8
  95.322 + n&9?HC>5<$<k7DbA!XAq6K*[Qs#geUR%VWu2HNYu#bKu@U:koAhV[ANd$HosbN^2aqRgSXb
  95.323 + $;e>C&AnoQ`mDY)`NN,H:AkFeaTF63%?THW&E=6l5moA1j=.1l0]qB!h%*?Z&((=f#(G9:>
  95.324 + h?2e#LL!m0*`#M'+p?G&^_X_0^@L,%gFa2jq/CBd5)G52\Uc^&lB)EYgt6H`tXQs'[]\k&Q
  95.325 + 9EA<u$j%(!aB#EFLHg0b^g-(=@%4Ys,Q,eI_kI<"Fm(&VCotLDZ/26NGRQ&SC3`hWN:+):>
  95.326 + &p&JGIBkm<IA"@ALmnVnJb[i:IA)p^kh!7MfR^tfTt*7<(Q&D4gXh[\#B&u(^3,"2M%k8oc
  95.327 + O*msEu&b@)ApA9G3*&5HNERQ%.#9]+b(JRO:0mY9'iZ_eA+jp_*Z2GOa]bZbS,18+h%SIr6
  95.328 + 5oS+?eH14DJgDSV%jNSH,#Q<'Od<<CRj>:D-.6,Y;$LCs*>`Z;b(@AR+sS@B#,MAf2X47c;
  95.329 + /A<=DLH5TR^,^3&^)L6QRS)dgQH+OdVB%"DCa.U!"sI@LmD"<K+c1gOt!R`&lTd1)_'4Y/C
  95.330 + Mhoni%'CWt-LS*$Rm'$5E#F9.R!)I\<.!ZGJ&R.kMD20@Kj<En)2YW>bp_/eT6V.N14EH;>
  95.331 + dq'2jT6J=A0JT.`Nt09ZDm'/MF;bo1TT&onX+nU3+.74oo60d`,nZSmDe73D*>+>["U'4Wp
  95.332 + n__\$d)RA$7n_l<66SteULeB^+1M2Nn=X%n\,tie8PD)"qQT9s?0N!*P1)DlY5rYe^8^jc=
  95.333 + _V[+fM*"9"18:$ho:%j@a#o3j3V%"@13#?a1HMIXL<:DfMC]2@nfm(<N!G;@_Z5K+F;uR'N
  95.334 + <D#3K)dthINg49F@^U>;s5LDClX+t-`GT^_N@%D-6jaQ,dXp&1aY1,)a`cZL53X*V)Dl6)A
  95.335 + Yq'$)1%dP!Cc9r1`E';H*i\@re?n&gS,p37>h0Zcbj<G=RO/.MH]gP1h&lXZ`Zh6&Lnd1Tk
  95.336 + f)H6Q;s-3@[AinAQ"IW?gE<)cdcM3UYs$V"SDQm@-JB!`p2I&Q)$O+Q+[WXNtn5^TEKR,ft
  95.337 + h!Z+J+_b05Z/j_?`dk*QFaZ22):XoD@#brj]$S#"&0U);dnjuJ'Fsj/GO0k.4U=c*<mO2\3
  95.338 + CQu(teAh#-@!<;5-?UXY',ZMR[o>a=2'NE-U_?`"%OH6X6F,rk-X;J7c@2!A,#n.r'_]>Lq
  95.339 + bT.s=4Mb;Zd1+Bdjh]U+gVbUob`'BdV29S<lIC(-6l[1&<&C4-.QNK8^0GATN#N\,@t1AeN
  95.340 + b5:'3-.U5A*5-;RUgZ#?kRI;9+;o-dEj6auOSq+uQSHo2%Htn2I7uG!Z^H5u1j>;.%f04k7
  95.341 + n)APZT@">s3:7RH'<_0]Df:L$o@3PnrEL-[e^;+C.a=;F,3(.)@CKi$<V0XBRmQ&m86n/u@
  95.342 + g<3gm+[9QO\)eFUA.b2H\L6XiBUKldsQLfZ3WF]ZARqA[`*Y^L=[4ibgUIiuOT]2>`p'jRD
  95.343 + KHq;d+dGJj+q&%L1*X/U+t7s`PJ/J%_dlfkCt?l`(.g=t%l@<a2jRG5ZFOI36V\gE<)lsBp
  95.344 + )G8)jIfM;LK:<I5QPbs(me9L-]$_TVP.]jD/iPA/Hn7]nuYe*r+0E6CdO8#QI0bT2fjS>c&
  95.345 + (NAYa5eTd-q_!D:>J%#^oIA_eMLcBXG]4pDbO%rW!_ME$U3X(?QkY?;`TLEgLcdLu:2c$ms
  95.346 + SZ0t2rf2^"ePqe>_pUBJ&Hei,$5a`FqlHIo;K2Us%W6n&h,FXUB]U,")14"/]23sIWhGBJ*
  95.347 + Qs&umn+ZArm(:.g9dsc3p+Yt99jJlH$A0JGP@WrW:(XHhSS>DqpIC?\)28=N2"+<K`<u/hX
  95.348 + 9MKjN-\@^9HW+o/cN?U;:Hb&ZI:FdXGO&Z2c%L0E@?oh,64,G+i$)7YJ<umR0/[pi&2dJ1E
  95.349 + ms>FiSfOBpP0SWKD6C2[f:R7Af;F4@\R@dJi/)r?\.r+Jh2n5\>+p^d=V"C2`BDf2jo2k_h
  95.350 + :"WL)5Ds+qKH>0n*2A.9O/4p)5/r]k/I:NBqoNP45.^"b).gN+=)\="Ym[1Q$GSO40RpEbQ
  95.351 + [5[inhb=OKWjfS22Lcl_NJ?:&u^R*&Z9'PV=IF4\`=FYk:CE(=N6DZY?NajYc"7uY<8@X+%
  95.352 + f\Li*ZRu_fd=.'#R).Q1(WgXWTU"Kr(=VH`=4cu!uKu+RBq*^UF+\QkEI#85pLVI<_ckPT0
  95.353 + B`c&;oL"E/7@JEJQY5iUQ"a7j:*TE;M3Ein<,ieDAXo13:YBELq.q2*]hqdnRe[bKJd6POM
  95.354 + (ujdG(M#X62uVTE&Y9-R2N"Jg$U%E]Kc30Mq2I1q+I@U'Hl*&,MDsDRMT$#_,iY9-$db1)D
  95.355 + dHd3q&D*=EdD?\2d[egS!3^R3HuGe$`,Zm?0dAL#Z[=U&RdD!F]"./]W/\K2bf:>bZjN:3^
  95.356 + @mqK,XsH%291,8Ib_(q--,:R^"%+^/2j(Ss";Q(qN`Wm`[\Y!3r5Tl$!iUfe;*RH'*,&gu.
  95.357 + (<XFio\N*ZA-?<Tr6Wb*7R=Cmhc^:S^Dh8.X"<hEhnj,=uL&.!kqT#SeSZSWAXl:ZT(QjbF
  95.358 + JWH8'Z.g?<n^f\Q4_2,iAGEL7j3skL#HZPK9H)BBiZF3QaaobWTE9\AA0E@q'<\'2PPH/e6
  95.359 + JJpBSZisIY]W=$D\GgV(+8tuZ5\;'&Mosa6(LMiQP-Kg>Ap)N0IT!n;mrbTe6-!rmpNY)-7
  95.360 + 5Fk>/b0t6<hT%'`&(XBXf8]j-\gH]KnEfRCbi>V4j9-\Q`j;5u)k2)nMaL0fuXURs6=8ICM
  95.361 + B9^X3"jBeQuj$(["bP+$q,4:aD3^LN\LA)%%#*$Z60!kGR%OHZH$g:rt7g;*SDq;UeV:hc3
  95.362 + M-,c<H'6J`0QIfZt&S4'aZ37):(48FD[f62566^hnddN+I=g=Je`8#j`&Hfft-,=\.\FSXa
  95.363 + dMPqNZX4@^[l<uJY?At91Wc'NaOC%.q3f9L.=rHi3?3[q*5`7KL6:8K+C#8Z)d7`9jS@T][
  95.364 + 921PQlXA;S]fOYbZsV_&A+u"JX3gLX4o>5j&K9[Jl5Zpjh1hA`jsI/Xhg@%7m-Ck*?tj&pV
  95.365 + f6JX1U78$X6#i#+u;LIs5#urAW+bi3V6*[+scZ\gtVq-.SPj"T6?']Za=PO'*K./0%!]*:$
  95.366 + [SD:b>*"$L%hI/VM6>M%Q%W`D3]SVu0,QK>bVX*7,Aie,JrRC9m3a.%Frh5T.7[c'=t1]8o
  95.367 + EGd5nl\Y;D8gACX!4iuMcf%L"POSrbEIG(hFcbs+3JmIKq*V.VVglU@Nesp%'=]`mo>Me#+
  95.368 + i'%\1%):\UV;L&b,%*k!*[BZN-fU^Jinc?K*])h_2rgJkj5*#]*^f!p8*$77jPE\o*`M0,=
  95.369 + 66#Xin\Q/h:(=HBBGd#F6oA7SL]=/\_:8K)ub?N*eWZ_LZSXg^Rf6**g4-!(5b9pkanF3*i
  95.370 + &!tMr("GeUEeL*jWU'R"X:+0d)>>*lI>Na6]D@m,$(U*n0L_fBo0amG?ag*olZpkO+r-mb[
  95.371 + F$*mOj/p&TX>mlpd@*s;"=fFgCVdFlS+?PDs'"m^t)ek:$$+!^.2l10cs*a^N#?SWfkS+DS
  95.372 + 7kl2Ik+%#EMbfujN\Q&rtIWpmT-l/FZAUPE3!AX:ICZ'"@oD_8R+*+?q)M7u1[i\chT3b>F
  95.373 + /-Fde,QJ5J"D#FMDtdV.q9!:CLaVr?DtkE-_P+gC"%WD97M^Kcq0loNs24bA7UM2Lh>Akt>
  95.374 + VYoD>qs*K^u5V!!a'akXo&)*Q2eo)+7c<M.G=P^g*-OsJO&.T=>V'2$&(_)OP"Y=+VBPtQB
  95.375 + =uH?83:A7cJF?oR9(LO\"D>Bf'F!(^*Ieo%>;&@540Di6<^XVD+=,9dc.Xo_sD-Thss;=u@
  95.376 + @`8Yo>LPhL7DTi%dglBPP\?EmY8<pPj6omQ^GHs#7V>;_E0qmBO5[G#"Pi@-?`mFPN`<G=F
  95.377 + N`nhMIo`^D-]jSV^S2L<Y5asU7F/65l+d'lWnsNak?SRtnB(MGGp4#B%d7<NklXcg7p!m4t
  95.378 + :V15!6#[(aY+#k8is0tdAkcLb-0TQhh<+6Pg#!=&alRR=SDJHSU!`+HqOLs"%nih+=`mMGA
  95.379 + Zir&JaBh!Y8/L*HJNl3c_#/LiP1l_IZ;[_ZEqN`A%s,CoD\eU0GF`n5d3'U">[.&`3HqWl0
  95.380 + em8XaA@a,n$3e"KHB4E:q*u.9d?I:QYSh6cr'oS3N,m<u+60FC,kS0pH;h7];7]I]X0&<jB
  95.381 + M;$n/X&c)b`T_eDe++s_bfQOu18*1kU#.>1N^`DVr(/5%bJ[k:=ZoY3"K%7@ZI/M@1[+?"6
  95.382 + S0eapE1/T;kW);/-!7S<E&K$_]jG6Eb7'/XL1_g6^:p`(j6r>BA`9j/Alb:t@mh@71_Xp_N
  95.383 + 2kr0g%S>-U`:,Q^1qEuX,;]Qo<)keU=&r>/F^E>5%rq0H/Fi)Pp/6^c/Qa.&au#,ViN7l2a
  95.384 + e4?K#TiXZ8t<Eam@S&q2O11T>.18<pK"=H+UQS;%4`UU(&IZ4d,qa^@bi.-;g);X]D#rAf9
  95.385 + PNF?FR?2HpDd^nC5[eo[.SO<s72r,0s946Ou.VeRFB&FkjuC%"7`)@^rj"N+4iqZ[L`6ol!
  95.386 + CZ%_ZtBf9A:dPUsme`W/qN1!Q()\Wj8*"1b`B!bXDN+I%F;n/%a1)9L@%;)Vl:;r`1)Q_nK
  95.387 + .G+YVgES`o9A2VWH?/.7foO7r,nOp).>7qC2;eL:!6u='\f9\s<k2)%T6Y>MjQ\VI+4DuZ>
  95.388 + H+l/5<rPC(3NtQ'&c=PHGJuM$TuM)bG9=nH1ZkMSff/o6JSR4k$I[&T)DDSA,B$%OoVCA>_
  95.389 + 3j%[:/-XpG'jFf!k2eo%/mF?ghu;L'>0AFhY;brSe49J#lZapM"+T>-0BKeGG")F0,?W)C7
  95.390 + Mrbo$h1T[t\0WT>)sQLKYeVpYk*RZ^o?X%ASFl:Smi85F:R0I]CGf7pjfeYr1$VOPN*N"n&
  95.391 + !*/HK3^LjZ"l^-6\8qd4^DJe1BX5r^:s87VElm"'&[2R(;,dY\:6L&me5i<`L(#pV,UBu&m
  95.392 + J"eg#kL(M?B2"e)T(=Lu9:iX^qk;K&fe3AUu&X3^f:>VXB^k&X7.`0hN'4Q&ZM@i9W6&5*_
  95.393 + TAp#R7IZRmLk8(sA7&>5TSu49P4E'dbDK/o2+G+/)c<D1HI(u/]p2\8,IC`#i[R)\(l\l36
  95.394 + ICLLU,PV'#pEh9LH6$a*&8b?aT)Di<C5D26kBSL7kC!fNqt!9aT3$<r(N4cL/CQ'8L[;RPX
  95.395 + 3Su3CBb/Wm,=Q!tTP7"EdocLqI8^Z'nJ0.8;I,oY6b,"J//_2%F/5*Kfi><<kOOpI-(JQEg
  95.396 + -<a7Z,KAe`jd'4u)UZ`mOC@f1PX/^-i;=u7T^klJ,eh+\bE+/IuJPKK=j:!)W_B=.DfEtPF
  95.397 + g\W76_9KcCK^4@Y^^HkkQ[K$s"GY>$t0.4^LU(g(R4SW["LU?&umV->?auGsrocKju8mBP/
  95.398 + T/ER<-`%NSPqeWpXf'so3jLe;.e1hZA>fSa?uhf6`E,AS<@+4e2MY2AM,A"F7o^5elc1s\[
  95.399 + "5&L0QSp.XU9JJ(%!?I'kXRJ]"",>ni9ROAs^T]@koL%]apC(_2QOi<@JXhWli2[<SH\CCU
  95.400 + J@Ont?;^)-9%8,0qgU3l)DYDdc\;<LrdaL/]Ym@r-:KZ4\LfUSN*'.V)XbTp!Y4KfULG4`@
  95.401 + 7k?D+Z^k@AEeVmR;9`)Nc6=_ID?=p"u^-X[AXXShISFsbU=]1Gid<PQ$[#2p9.=V\$O)C?)
  95.402 + %Ejb5$F)H-H\edj#>s#$.DRJ*.(M<&?1M(atp#!CuL@JS3a`lFk.>rD9oj58`HZ$oQ^')Hd
  95.403 + gcObKDmf<coMupT>0(h8Pfb6RLB0o($%[%R#Jh6)"^nt\K5buE_AGcFL7B]?XW-]8\)Rp+]
  95.404 + K(_Md^?C/ZDNf_"?:@d-cHq#'k4gYMfEnn`XAgS#+R8`0ZCcD\E=lB]1m9Zjo2@6!0?,<j:
  95.405 + O.*8')Vr-"OZVPB(hBar*\uANZrWEjf&m).tO4]XaALp0Z#]LG<C'QsfHU2)s7K*bN(<Rqb
  95.406 + ,NVATHej<?aL$da[T)7_D4Cat\=]FW=l#=3#`l!C*e5<=#fJ7'?%Sb(-[9,[=>BC'K.1kq@
  95.407 + G)J2?M@I#DG2BoIEP=Capn0.GP7+,53M/%HAX*&M]c564Cj;f%uobf4.]"JtrSLL"Mf"]iV
  95.408 + "o<!Pa,%haG1;sCktYZ\7g*7Q$+i]?$SA=3:"b.DgL05^URA:lIIl)qLN.2iSZsTe4=3-7>
  95.409 + \p1+>!q@:h8_Tp&M<-dGH&^=`05.X:&2PJo(Bom\u"["Of5NCNmu*.G@4.D/;X#DhBkmBOT
  95.410 + $SI\?=F:=eB$c^&Q,tpE*Q8RcEgf@Ch:b\N*"NPo)\a03$dS0I%Z`1dTPX[YRX(-;TP]c?=
  95.411 + 1&l(d,]O+$R/M:$W)J`L&LP&On9apq2T,ojjtF7Qll#Y.qZ"m^GRSGTeerYaquLTu"ZB@:S
  95.412 + h`[#r!N:c.med7CT.ilEWG9]?.%,X>r>n=5b^A6Y_7\%r]+R*RAe#iF0m-!2<UN^1Hj#gb?
  95.413 + n`F>o&g$`']XO7!#@"N<lMa>d;&J\U$oE8c;i+*>#9mA-+,R.<8pqOiomKAkq!SnibNB?""
  95.414 + QO-A05O+s5JQmj]@$NG:1$,?Qh"[>b5%Zto6t\fo6JO)OrlkVr<^+2KVsWicVQt%B<?i7hj
  95.415 + SO\CV;q]+Q9R1S*\!Tb?jYq-QR#nEN[!OHO%ms+6WS?5GP=ORp*/!_`M)@%GTnNe+KUp\$.
  95.416 + Q@2KJu2]CJ1EftTM'^<6Yo@#%"J"i$.`^S?3<q_^Un&A]%mR,Y<7RYrm.ZaC0N^_>'[+QPF
  95.417 + gq)s(j^f1Sr'GuY<S%4AMMrU,<J;cdeKtX9$#a=uje)ES/JrA[X[YW_+5_=a7.#]+s^po$*
  95.418 + A)P.l[^tKj^T1^-,VR%<0T)<bQJ2<r//>cj(;@-lN`-S-^qr+E+GfpTLbmSkH?4p1m>+FZ\
  95.419 + ]BTB0T<QSdg5;!Lr4t'9HT)&i\o"3]M&(3ljl=f&47.'`2$"^MuL@.>!+<f[S):6X=Lt,ho
  95.420 + !fs_k<F.r&tEPM*FOq6]d?qLhsfR["pOY#g:hV$rW%ZjG<]p`3`jioO!E%9Fcut3@m#f"7(
  95.421 + u[:]iu!`>F?K^kB[Ri]YD*\`?4LFDD.U#/s-#2nWu5bUUP9+ulq][8H$T"EVUOFGNl2/)sF
  95.422 + A;hDhr:,cER&.Bci`,J$WC^BB/`$.<5XDnMu\M7cM6pL_Y,\OWOE]Diq7oY5aFC6rd'YNJ5
  95.423 + 4S3,Q5laEZN&Gb`6gPc0`!o5\J4Sa<a9r^$Y_'j4KFEfF#kVFoI$_s-kJe(s7O+ci5m,%"N
  95.424 + 'MWC5!/%["?<qk5mUFga4-g*."b)jObh56auIbi@#i?NR*(Ym]B#B?I%&*6VScgC3lC!k=H
  95.425 + pn^#tYhq8n`jhP\Grd,`3:faqSg9kiKs3M9:dW9;K/0"+\9=Z,8\K6VMbf4F.PYSB3%+bC$
  95.426 + Qg.#H(lZ,XGq#YYY_`'k"QYDGZg6_(HoXG'",N_?b(bi>Hk_Mc;fF/Sq1b1+3<'ZgX)4%\A
  95.427 + D7=;R<*5bKuZV=sY^G)0PBSSU@_8j?_7A,mignb:p%>dI_\eG\!m,QAYJ',"Y9#SHg.-Ea?
  95.428 + L<FB]6B#hG.ffp'Zq:..c+&?`A6+L#m5K.OLa/?HAEsn^-\s&83P=d9AG/dZg'De#^!_p:E
  95.429 + .fqrgdR<[8*GoG,l>mXF&,3#\$X@IKJ-(p"OL(Sc<05SCl6F.!R3=Q8BO%gTSLeV@`o%/7=
  95.430 + ,;9!.n%G_?a]a]#<ti,h30"gou1b#gD9ibi;N*(t"O@aGeKV*7;bX#f1WiNJ/#_AIjT]`tE
  95.431 + 3PLc^uu$e<S!_h^/n9ONJ#AL.Uf,ej_#c2@Jn'S;Of/-rp)#fRTBV&3(#0[g[na'a8(*-\u
  95.432 + !XNA!7]i#rum#<FRL:4HNL4o='CMC5ML+t7/7>O,k,k<s32pfE_4^7\E9gU$%6O<#4[\Y&G
  95.433 + "*ZpT.YsR[e9*kWPeg0@DU:6"`/QM$ohVgZ#**7"^8-ZZh,$/':!nAaeO<NhEo5CYjjbSF;
  95.434 + :IJNj]@<J\;6B[e\tkFns.a]j].dS<NK]\4^X&B>mQEr<^gWOEdGt-M*@/]<@q\$]k<1eAJ
  95.435 + =Gb<lJt-np=CCjOP:Nf!T#=r*.]O0@aWTf4B-&"`TJjEJWtR<kW]NX@GV="3f;B=64n,/U.
  95.436 + aGGmKse=#GJ&!/o:sj]:Jq=Cm5]FY_E.M8Maf$lPV*9oIZCN7c[?f]A.GooIc0OP(A2fd2g
  95.437 + 723Z]^PhB'%fk$K&FdLd8R+[amf^3M]I:cT(SCu<S=9.10&;a!M(to^ug*NKI25AkoUlUdo
  95.438 + `SH7$h5AtXq,uq9=nmg,%Ad7IXP24,g?#KkmA<HlVco(bgEF[BR+PT@Lg%Kq>@k7tFgp+Z\
  95.439 + <\_N8qjNS/\BcRVUg_G3`R.+Gh/Mc^t][@ga0hm28e3<`8"A3gh"L\FiW9kaP<'&gni0K[E
  95.440 + I@EbhUanguZh`["Y8<]\O=MRYo4OCOn'SC"T!)%/$,rA_5ah<nfU]gJ-=ZNRqIDgtgB'>r$
  95.441 + @@auIFaM+csdN4n"Q-0*iJ/_Gd,^[p^H:#"F1kMDKghGrF$SS;DIC0mRJhDO]Wp$\s+hO+!
  95.442 + &7*GVf!6AL6oA<R@O$20U(#%PQW8C>Ehkg10A\H::d4L(L$FT]ejo=6=cel]th,WFl#cZ_T
  95.443 + "5m2`N0X,H%JX==U0p_%i2-j=ecuWg#[jm/i1:D9p(*$t)W/dYhqenO/e6hu']Dl]?<uLI/
  95.444 + MuEm'Ae`diMINN4q%l!%:QYe:duJap)f/%*";N]@Ka5MSg*/`,`(k3%.5<K:krIK-fUF2?l
  95.445 + eB:/a$T7*`q2LioVkL/g_"d7gQmlj!HPA2DaA_1uhUoj(:40FuSH939-;bj/+lt[QENh4QG
  95.446 + !Uj5rPcp-7UB5i`\Hj8^K:2BLlO7,m>_%,N^CQ:L"j8E?(.jJAY/[RF`H+66hSA9LT+p.sc
  95.447 + S:urHij@2i)2BZFD_+#>RAL:I>G$!d[=P>Z+jZZl,8K8L;h&XmRQ'pS9i6p`l@-/55jsFR"
  95.448 + 2Ikl=AEHp(T1F.fG%]rlB]bUpk,)nU[VP$FD!';ck2pRDp2B*uE9A!Vk9b642KS%NFQZ\Ik
  95.449 + @So#G&EU@A`oA)kGERg[X72WI-9(/kN76Vp4)91JERc"kU(oF2M:3_K]lHjk[oS5G),:9M!
  95.450 + 1.]kba7$[Ys@hN9JiPkiRogkdG'mA;?b=LR++(&[;Sl?YNBr$YG]_%[H:5Q"bE-l&M4op6k
  95.451 + 0RRq\IUC!N,\fRE)QR-DV`l!C"I#,2@bUM<8jBr7`kAtS?pV.t1Ll#s&kVOd"4W+qotl?9.
  95.452 + A-Eh10VX!TOCAtMS%\@GWXD15/CL4%+hQpqa[VIM#CHf4CSuuk3U[([fCQ>o?^6e/7[;5cQ
  95.453 + CMq"**jfYl\SP$QCX0k6m_N\aX)(h*m%0a5k/6Nib\PeNljh5'f"Z$-_efn0Co5QqI`H9U`
  95.454 + pD!rCYm'J51aTla_`r0D4])@(>%rfg2)M\m7,LjL>-PlbAI76D=5j>hUq2_iU,4SmKV5/k2
  95.455 + g<3b3j/lmXEsZNnWnZipITBm[if`T%S#Dm-]VuDPkqOY4$9Un8;j4m`+AVG4TX,ennIYl%%
  95.456 + ?@#Q~>Q
  95.457 +Q
  95.458 +showpage
  95.459 +%%Trailer
  95.460 +count op_count sub {pop} repeat
  95.461 +countdictstack dict_count sub {end} repeat
  95.462 +cairo_eps_state restore
  95.463 +%%EOF
    96.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    96.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Scheduling_states_2.svg	Sat Aug 03 19:24:22 2013 -0700
    96.3 @@ -0,0 +1,210 @@
    96.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
    96.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
    96.6 +
    96.7 +<svg
    96.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
    96.9 +   xmlns:cc="http://creativecommons.org/ns#"
   96.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   96.11 +   xmlns:svg="http://www.w3.org/2000/svg"
   96.12 +   xmlns="http://www.w3.org/2000/svg"
   96.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   96.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   96.15 +   width="744.09448819"
   96.16 +   height="1052.3622047"
   96.17 +   id="svg2"
   96.18 +   sodipodi:version="0.32"
   96.19 +   inkscape:version="0.47 r22583"
   96.20 +   sodipodi:docname="Scheduling_states.svg"
   96.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   96.22 +   version="1.1">
   96.23 +  <defs
   96.24 +     id="defs4">
   96.25 +    <marker
   96.26 +       inkscape:stockid="Arrow2Mend"
   96.27 +       orient="auto"
   96.28 +       refY="0.0"
   96.29 +       refX="0.0"
   96.30 +       id="Arrow2Mend"
   96.31 +       style="overflow:visible;">
   96.32 +      <path
   96.33 +         id="path4008"
   96.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
   96.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 "
   96.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
   96.37 +    </marker>
   96.38 +    <inkscape:perspective
   96.39 +       sodipodi:type="inkscape:persp3d"
   96.40 +       inkscape:vp_x="0 : 526.18109 : 1"
   96.41 +       inkscape:vp_y="0 : 1000 : 0"
   96.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
   96.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
   96.44 +       id="perspective10" />
   96.45 +  </defs>
   96.46 +  <sodipodi:namedview
   96.47 +     id="base"
   96.48 +     pagecolor="#ffffff"
   96.49 +     bordercolor="#666666"
   96.50 +     borderopacity="1.0"
   96.51 +     gridtolerance="10000"
   96.52 +     guidetolerance="10"
   96.53 +     objecttolerance="10"
   96.54 +     inkscape:pageopacity="0.0"
   96.55 +     inkscape:pageshadow="2"
   96.56 +     inkscape:zoom="1.7990428"
   96.57 +     inkscape:cx="380.09076"
   96.58 +     inkscape:cy="756.04202"
   96.59 +     inkscape:document-units="px"
   96.60 +     inkscape:current-layer="g3898"
   96.61 +     showgrid="false"
   96.62 +     inkscape:window-width="760"
   96.63 +     inkscape:window-height="1141"
   96.64 +     inkscape:window-x="889"
   96.65 +     inkscape:window-y="6"
   96.66 +     inkscape:window-maximized="0" />
   96.67 +  <metadata
   96.68 +     id="metadata7">
   96.69 +    <rdf:RDF>
   96.70 +      <cc:Work
   96.71 +         rdf:about="">
   96.72 +        <dc:format>image/svg+xml</dc:format>
   96.73 +        <dc:type
   96.74 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   96.75 +        <dc:title></dc:title>
   96.76 +      </cc:Work>
   96.77 +    </rdf:RDF>
   96.78 +  </metadata>
   96.79 +  <g
   96.80 +     inkscape:label="Layer 1"
   96.81 +     inkscape:groupmode="layer"
   96.82 +     id="layer1">
   96.83 +    <rect
   96.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"
   96.85 +       id="rect4618"
   96.86 +       width="245.17555"
   96.87 +       height="96.120583"
   96.88 +       x="248.82765"
   96.89 +       y="196.71402" />
   96.90 +    <g
   96.91 +       id="g6133">
   96.92 +      <rect
   96.93 +         y="223.7659"
   96.94 +         x="346.78796"
   96.95 +         height="19.030159"
   96.96 +         width="51.619602"
   96.97 +         id="rect6089"
   96.98 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" />
   96.99 +      <text
  96.100 +         sodipodi:linespacing="100%"
  96.101 +         id="text6091"
  96.102 +         y="236.91867"
  96.103 +         x="355.0636"
  96.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"
  96.105 +         xml:space="preserve"><tspan
  96.106 +           y="236.91867"
  96.107 +           x="355.0636"
  96.108 +           id="tspan6093"
  96.109 +           sodipodi:role="line">Blocked</tspan></text>
  96.110 +    </g>
  96.111 +    <g
  96.112 +       id="g6138">
  96.113 +      <rect
  96.114 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802"
  96.115 +         id="rect6095"
  96.116 +         width="51.619602"
  96.117 +         height="19.030159"
  96.118 +         x="426.78796"
  96.119 +         y="223.7659" />
  96.120 +      <text
  96.121 +         xml:space="preserve"
  96.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"
  96.123 +         x="438.72571"
  96.124 +         y="235.94211"
  96.125 +         id="text6097"
  96.126 +         sodipodi:linespacing="100%"><tspan
  96.127 +           sodipodi:role="line"
  96.128 +           id="tspan6099"
  96.129 +           x="438.72571"
  96.130 +           y="235.94211">Ready</tspan></text>
  96.131 +    </g>
  96.132 +    <path
  96.133 +       id="path6155"
  96.134 +       d="m 322.39366,234.14931 c 15.56383,0 24.45745,0 24.45745,0"
  96.135 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  96.136 +       sodipodi:nodetypes="cc" />
  96.137 +    <path
  96.138 +       sodipodi:nodetypes="cssc"
  96.139 +       id="path6157"
  96.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"
  96.141 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
  96.142 +    <path
  96.143 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  96.144 +       d="m 399.05855,234.14931 c 27.79256,0 27.79256,0 27.79256,0"
  96.145 +       id="path6527" />
  96.146 +    <g
  96.147 +       id="g3898"
  96.148 +       transform="translate(0,0.4467926)">
  96.149 +      <text
  96.150 +         xml:space="preserve"
  96.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"
  96.152 +         x="267.54309"
  96.153 +         y="254.91867"
  96.154 +         id="text6077"
  96.155 +         sodipodi:linespacing="100%"><tspan
  96.156 +           sodipodi:role="line"
  96.157 +           id="tspan6079"
  96.158 +           x="267.54309"
  96.159 +           y="254.91867">Progressing</tspan></text>
  96.160 +      <rect
  96.161 +         y="271.7659"
  96.162 +         x="267.2655"
  96.163 +         height="11.804094"
  96.164 +         width="51.619602"
  96.165 +         id="rect6145"
  96.166 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" />
  96.167 +      <text
  96.168 +         sodipodi:linespacing="100%"
  96.169 +         id="text6147"
  96.170 +         y="280.90646"
  96.171 +         x="277.74329"
  96.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"
  96.173 +         xml:space="preserve"><tspan
  96.174 +           y="280.90646"
  96.175 +           x="277.74329"
  96.176 +           id="tspan6149"
  96.177 +           sodipodi:role="line">Stalled</tspan></text>
  96.178 +      <path
  96.179 +         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  96.180 +         d="m 283.06571,260.15959 c 0,10.07749 0,10.07749 0,10.07749"
  96.181 +         id="path6153" />
  96.182 +      <path
  96.183 +         id="path6713"
  96.184 +         d="m 303.08493,271.76394 c 0,-11.10513 0,-11.10513 0,-11.10513"
  96.185 +         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
  96.186 +      <rect
  96.187 +         y="223.31911"
  96.188 +         x="262.8187"
  96.189 +         height="66.833359"
  96.190 +         width="60.513218"
  96.191 +         id="rect3890"
  96.192 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" />
  96.193 +      <text
  96.194 +         sodipodi:linespacing="100%"
  96.195 +         id="text3892"
  96.196 +         y="236.91867"
  96.197 +         x="272.02063"
  96.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"
  96.199 +         xml:space="preserve"><tspan
  96.200 +           y="236.91867"
  96.201 +           x="272.02063"
  96.202 +           id="tspan3894"
  96.203 +           sodipodi:role="line">Animated</tspan></text>
  96.204 +      <rect
  96.205 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802"
  96.206 +         id="rect3896"
  96.207 +         width="51.619602"
  96.208 +         height="12.915796"
  96.209 +         x="267.2655"
  96.210 +         y="246.54515" />
  96.211 +    </g>
  96.212 +  </g>
  96.213 +</svg>
    97.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    97.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Time_in_VMS_1.eps	Sat Aug 03 19:24:22 2013 -0700
    97.3 @@ -0,0 +1,943 @@
    97.4 +%!PS-Adobe-3.0 EPSF-3.0
    97.5 +%%Creator: cairo 1.8.6 (http://cairographics.org)
    97.6 +%%CreationDate: Sun Nov 21 13:32:58 2010
    97.7 +%%Pages: 1
    97.8 +%%BoundingBox: 0 0 330 127
    97.9 +%%DocumentData: Clean7Bit
   97.10 +%%LanguageLevel: 2
   97.11 +%%EndComments
   97.12 +%%BeginProlog
   97.13 +/cairo_eps_state save def
   97.14 +/dict_count countdictstack def
   97.15 +/op_count count 1 sub def
   97.16 +userdict begin
   97.17 +/q { gsave } bind def
   97.18 +/Q { grestore } bind def
   97.19 +/cm { 6 array astore concat } bind def
   97.20 +/w { setlinewidth } bind def
   97.21 +/J { setlinecap } bind def
   97.22 +/j { setlinejoin } bind def
   97.23 +/M { setmiterlimit } bind def
   97.24 +/d { setdash } bind def
   97.25 +/m { moveto } bind def
   97.26 +/l { lineto } bind def
   97.27 +/c { curveto } bind def
   97.28 +/h { closepath } bind def
   97.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
   97.30 +      0 exch rlineto 0 rlineto closepath } bind def
   97.31 +/S { stroke } bind def
   97.32 +/f { fill } bind def
   97.33 +/f* { eofill } bind def
   97.34 +/B { fill stroke } bind def
   97.35 +/B* { eofill stroke } bind def
   97.36 +/n { newpath } bind def
   97.37 +/W { clip } bind def
   97.38 +/W* { eoclip } bind def
   97.39 +/BT { } bind def
   97.40 +/ET { } bind def
   97.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put }
   97.42 +    { globaldict begin /?pdfmark /pop load def /pdfmark
   97.43 +    /cleartomark load def end } ifelse
   97.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def
   97.45 +/EMC { mark /EMC pdfmark } bind def
   97.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
   97.47 +/Tj { show currentpoint cairo_store_point } bind def
   97.48 +/TJ {
   97.49 +  {
   97.50 +    dup
   97.51 +    type /stringtype eq
   97.52 +    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
   97.53 +  } forall
   97.54 +  currentpoint cairo_store_point
   97.55 +} bind def
   97.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
   97.57 +    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
   97.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where
   97.59 +      { pop cairo_selectfont } if } bind def
   97.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
   97.61 +      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
   97.62 +      /cairo_font where { pop cairo_selectfont } if } bind def
   97.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
   97.64 +      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
   97.65 +/g { setgray } bind def
   97.66 +/rg { setrgbcolor } bind def
   97.67 +/d1 { setcachedevice } bind def
   97.68 +%%EndProlog
   97.69 +%%Page: 1 1
   97.70 +%%BeginPageSetup
   97.71 +%%PageBoundingBox: 0 0 330 127
   97.72 +%%EndPageSetup
   97.73 +q
   97.74 +Q q
   97.75 +q 0 0 331 127 rectclip
   97.76 +% Fallback Image: x=0, y=0, w=329, h=125 res=300dpi size=2165625
   97.77 +[ 0.24 0 0 0.24 0 0.991089 ] concat
   97.78 +/DeviceRGB setcolorspace
   97.79 +8 dict dup begin
   97.80 +  /ImageType 1 def
   97.81 +  /Width 1375 def
   97.82 +  /Height 525 def
   97.83 +  /BitsPerComponent 8 def
   97.84 +  /Decode [ 0 1 0 1 0 1 ] def
   97.85 +  /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def
   97.86 +  /ImageMatrix [ 1 0 0 -1 0 525 ] def
   97.87 +end
   97.88 +image
   97.89 +J3I@:BHu(:pOk^R:T.dk*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al
   97.90 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`C/m<k<ioH)<bk^Hj`\=EYZP^B4!g
   97.91 + 3;'o"oFO(X`dh"8*[iD5A+f'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc
   97.92 + _Aoh+fk'&t\ctIN)4XQLiVpoI(>.nOW?*DmsG$@,,f58"PDKf<uk4a;=i,EpG4sq/+a5h8d
   97.93 + >eAJlo*B]ZT!'31_l[h@F?.u;GBO/Fms$q.0(\8JhnaScr]a26g[)`OH[c!ea5-IbHN.>J^
   97.94 + &uma4O=2qs$*R]rqo%N,N/ekE&6SU_%/pY#XOP%r<0s`>VcdTn?Vp$6h#Hs$,(:o3t4UJ1d
   97.95 + _,U&KE;87<)6$&4UXR>8tG!P4okbE:do]7$5Dp*BCCsHPf9CjGP9SnfmZ1_N<P!(W<VLV's
   97.96 + ;<['M)NEcU[r8b'0?1!"Cb@l$\47%5DoZW,[19_.8^3D8sSk:fZ;U@13?EtkSs9(MWO4YG4
   97.97 + F$U78RFTXQtoORPZ;"=bh1/W+Gdn<DW`8=*<Zo'p,;=t(t:+\<q912Ep<4>aKPr2cC;DiIe
   97.98 + =]UeUj&Ji3AS5+DoHeiff@<$:=41&B!EIOt*KsUYFo?So=&oL$B%e#sM.tF<D6m'kFksZG=
   97.99 + uLf4CKoB/ED,(FrP`g5G;KJD?.$pUG2AN9::[qD>26Ti%akKdi"uq-J`)nJ%>3UV:)/KAQu
  97.100 + 3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOfAd`n:WD!U$%]D85^LXAf6I&RHBp?D4'K(L2E
  97.101 + LD\^#SOB:9<[SS1%?LS/=k^5o"&3Mqk7kIM_.VeLHHVl/fmm]ihX]$@^_CHC=GWp8=[_6.G
  97.102 + Ip;s^Yq_lp-laqo/ZtJ-*Qb..IQLh\)\o,L%Dn8]q]k9FI$c6e.G5&spqr\X.EVpUTU@<PR
  97.103 + A]/We[i<>"*&ft'F*r`Zd<%L:n'Gma-U5juI-3<;Bq:#`eTLhgA(u0T2b2\G]Va`?F5=$Fa
  97.104 + S4O<Kus,g5Cq=/4n"TjpqDNUjCat^LZ*PCVN'tW?8nqBp0MZ9lhTE;^$Yasn#bsN5A.7crA
  97.105 + p#"Wd]5c/+EA*8)Noa?g#T.+'\5aDup!QVmuYsli_a@$3J#!)Z:dP#(E\'$,@AU"^jG(Ja_
  97.106 + :]4,:cLTH"St0KKBRGU!M<*#aL7.MK[t;[4G_b'spRejB-\$Xn]JL@Adp_74[ri=nJ-d';?
  97.107 + >8:_*l/+/6J1*a["QO0C67#A/A.DtpsrS[;CL9X2j^,VAoU1@>\O]jA*LoV*Hll_7l3\Wu.
  97.108 + gD$Cs0o&V8,=2&86dB[m3_Z@5(7&DoU]c71;@Z#a=UcP87#@%(/k/Cb*@'WuOciU;8kE/;-
  97.109 + 03"4P>Z9n8_H6SjTM9A;N=XI=\U@,7&cGLY#\0J>q>#iZ'J;5>"`"8/`jp]QW!6X9A+_Hjo
  97.110 + iMf;\!81=cG/u7*1iq/nRf1SMTD]d@+!/C/%j52<Mi1Ar?r&ZI///fqAA8;iYln=j8ti7-U
  97.111 + 7@Y'*Rnh)jeQnX`\)H;@]24m0cZT2V*W:YG\2VqhBH<"=LV=q*d]71#Ye/r!3V*CK%E&Y`6
  97.112 + "MGF!I7HgikUJu,k;;+0'kli6+<0!,>>"qTQ74G'4Y*Mu>>ta@_(SC?:RT!C,:$KVWVc<)U
  97.113 + ;qcXq.?sn2oa[]q>)b^V#nJY"XQ^N]^s)#qefFn8WWn?_:hT!NX&Vu!<@X&2lNHIQ!!9CU>
  97.114 + 0U497.@3VEiTD%a&[k)>cZDP\l7n7?#.E)Y>t#)=5*U[lihs1<N`@PHEg^*Ok-a;/s"V2).
  97.115 + W#eOg8"_H<<IE>AJXkWg1lP=kXU#XS&9o<J%$.lBX_,2,5=DL5HEJ>SCt.A%#>0[b<f[6#?
  97.116 + e7[oVq1>2c/k!c>9P<n?,4>%:Sc29EC10'6EnSTF&'^:4sdZ.r!GF03^=]2rn<?$iDaDP]Y
  97.117 + 1f661[S&osE7.@RYmaI53R`hg=:nf23qHb,>.IY7?\Q>6u?ebNCn"ApZf*_E_HiJ";jp/_)
  97.118 + 0*Yh>*J<RY!Pim)!oXM7JoJ.9_cUg_hcqO2n?*b9G[h=p>:"UUdF'/u,,^LU,UTdM1:S+rF
  97.119 + &a`=N!.M\a&neM@SD'.mTqlm<l5hN>]"8]`]>&!!l3j_R?R2r;9E$:ULYi-N9tdG3nW=,A?
  97.120 + ;b9Ectg6=cW_tC&aJ'L0>W9Eua5Qa]Yq[DpD>F'G.:4C2\Y"[?O"_NZA"fm$;Y<)@j+:h#F
  97.121 + '&mE!Zn01KX2*MW0[iR.>i6"rJ6V<c]pdhUn8l+K5J1T:)oj4;anX6#s1<M.etb7%B%$YCg
  97.122 + #E#AGsMcGaBIPlfYXgf03Bdr_E/tEdhRh&h=H.u$#m,Q?VA4C*4o5C[a6OC9_?Kp91[HTU#
  97.123 + \Fg)Ddj`bJ`BLi)g<3YplGpCn'st!q(LM"VOc21,s4CcOG&(7\Z=arrYk;dE:Q;&K[[,Fhg
  97.124 + M:VE?4FaG7=!gT_hI1=d:&sPj;@dJR;i#Y7J5L3h]'(=@u]M5\"<9Je6e4(We4P8m.B2p1P
  97.125 + "KpX/bqj1$2HeL%.bi4ZIH4ebhdSeZEK&q&Mc\eB<f.IQ,$NGad[apQ4pINB9$f`oPXmP\$
  97.126 + 9Ob5#_>jnj+ep"BqTFWRC*F?akt$TUM_D_N:.#Gp6La#Y^mD8+P@HL2\:7IeDpUA,N+pNcX
  97.127 + lB:e_`f#t7A>!L\e4h0lag6p5mfm#1mDk-dHaC5)44Zg-*!$13Edk:HF4<K*F?45##cOK.;
  97.128 + 8#c/\Mo8`$($W,=Mk"*;i8HmH5:X]o]KTYIq4@oT-Wco2reC?s+%b^B^T70;/r'5MiS$G\a
  97.129 + 8/!K&,UXqjZTekpQNeXGOL)b]ALNphMQN)J!!RABBbsGXQN=+$.uXK&+@+<@F1UplmEQ\TA
  97.130 + P`[h=-m5O)Va(XQ;(c^4CV2mb7a#HCaMb\.BAE+o]SZbc<5#r!R&U$j)sEIa_*8fP[Xg9Y?
  97.131 + msPkRekrD61\Ds#nPlCeaVgW@V<:B($faT'TeqWb;eYR&#u'`g!!!K]F9YT3`5+TbJhi\2k
  97.132 + M$YKPLklXXm",Yb6?i[>@6Ca-,nun5[n?E?T[0mODj:G@bOBW(]?H+Y8^rab(OC\L=M#_Fp
  97.133 + S<.jo&?GjC'aMPLT?r0+Y_L1pTWSjUWt:L90UN^HS=MA.":X)nN-,8b[h3TsSM7Y>OM7B,_
  97.134 + XXVO"onZ'OO4K_K*LhtbqC(;d,=dMr=3d.%^:Jl&0CMl&0!>2&Wljf0`M\=#+Z?1$>INfYs
  97.135 + f'u)YHk@[1,[Q0#jU-V!YDT&l57j:[fImSA6jr#n`>kN$R!%<1M8i\.CFjd#+IB#cqtNSM1
  97.136 + cQ;)Js35n'aM)DRj#ER:5<LCQ%rTM['7$-*p!ko$ZP)!TEfc79fIb8REi)X62f&[n_P\t'G
  97.137 + J*/W8ZnLk>#f,kTI*ASWYnfZ4tf,#P1*NAWNl2)4ci?%OP&Fq\'.H;S.rrNMI++Th&d-.?)
  97.138 + !iRjYSFR#Zn7j'9&LJsO,Z6QF12un!-JD<g,4Y%6ER,M#Ii4D4):2W[&o=2G8=WRP,nWcr:
  97.139 + tm$H"Y(tQ-1CRO8]`<"YamP5"L<(6d<`LMn=/b'`QBV*O)hZ;$Rp"j-o$i4ntbJHoUa>E+V
  97.140 + K*kDRUQ_W1FE_"7]Y$dbQ.,"QKik.uZUB;[V\#Ik1#p/II*>'%\aS)(+r&,RMQIo-H+i!hE
  97.141 + 6V#H>m".JkEjfe9I;#kK](EBc-u&.K9^2+d`Bdb?Af))cPM2QRoRc)!0KSt7\l/'nA?1Nt4
  97.142 + q2]P+YVGciP;a:<r7%JBj#h&`0o7o1Wf/8bg0U&H,DJM/Z[*Wl5b4=&s'%nN$I5d4^1D>A4
  97.143 + ''gNOs#B!;3AZtl;jumUT.Vp1S[(ZS;suFsYr*3'dF,nFo#T>/bbL=4XE3&Hnf$^JlOqJ)T
  97.144 + 5GH*0_h0D&OF^m2lY6+P+`Q<pGt,,rDX-)'Fs`@q)@hd6'3@_oH)q390R(/6>?))e1@.)0V
  97.145 + \0r4B+C3oPmAORmZIn6o"!pPXuLEbs]AC6Bm$WoMmonbsg*85."dhP\-Q[CFI[G7oZS;P^,
  97.146 + 7;4Z5-t5no"]@5Oi\)b'Bh8HH^^e<`<s.5Oqo9XCEV[%f9R2"ibe9'jXK/6'Ssm_u1t#B8]
  97.147 + Qn\[aolTUGR40g@O'Xpi$lVUMS$)u/8YKjRuK2$Hu9BjP*'>mXH(J`>b:XU[g'.Z1_)!t<4
  97.148 + ,1RQ/eP<Uh*p8e4\5an3ePB).0f([;;O'7Col4%_nPdXt.rt_iF_b"k;](c3!Hd!fZkZHG<
  97.149 + oWdU\s6W%<C35+B0>e-:j$nam!i)oYpP=H8b-W1Q&#aRI7r+-=Z$^eaidQsRi+)rS5lH@[?
  97.150 + 4Z%`D73=rY,R4nuYBEpK@1J<=`]UQ.9.4a&hro>a:!k<S"Ts-!dn8@'qk#e`?O+o1E$W@$U
  97.151 + [m25+C9dpP%-@J2?X2D&>nVdG^M@e6p7'nKgP<Fp>UVR@jI<,H0Rb5et0<K,7+[QuO1.qD;
  97.152 + .5?/#"p,sbr:Ls0'BWN"]o0Zuq;.:;3SP0,qQ>p0\B407YB9mm*p4$h!WD_<&:"G9@PQ*1U
  97.153 + pna'27<YY;[^7.L[&>h%-l,`r<Y&l/X)7Rd9")?8f"U9Ib=P`e@.nW3QIef0:Ik-CD"^57c
  97.154 + rk/7]0*P;@CC`*2^*3#,bc(K5#u/\G7'kL!reFBDmhH$FkLcCd;]pVBt$TRpEt)7)fi/37@
  97.155 + ,$32b]do2[*8EDRU^,f3`W\Tl1WRFB98s(KA4O_\_qI(b/S.eejtOOUbA)E;*47ePr'AgJ]
  97.156 + R(GrL4o2f3^SK'#"SENU+'FFA&rm'[5FH?Ep=f6MA&JU7$XH[":opYg/e@rrNl)pf*\f:-t
  97.157 + CT2N.mS<qK(M@X-^`I55UJ?,-V(Ta2E_1+ALG?:JcQ_b0NWCYY,H.V4[3$!On)#]$jrRL83
  97.158 + (V>)SefXWg!#&c!F5qDMLCBIt:3RA)<Ijt>!?RR,K20+53%KJMnV"DJEO\pS1JF<Y/P:,SJ
  97.159 + =%9spgo2GiI?)hM7B*p3"^MhI%6RLB@nc,R"%FOabY,*I2I$]nYk@Q08Wb'M>5<*pnNQ\N1
  97.160 + CfdCDa4GGdE2Zo7`K<Tlq<115gUKf8T%!K7WUl_<lmKaU,;e>m]&2pb@VmQ[VNd+V&skbC*
  97.161 + )%m>=eo:,$0S3;%IipsJk0J#UnZ(?^a'07B6FSG=/[Y\(;r,h6#I@ehT!3AH9!2jS`':>%^
  97.162 + \$."hR1OE6IE1$BamX^WHTp9Q`P*Fn)Ohl/8CRJs*QMCu;\0ZOr\!NG$P\Jm>)'P8Gc'!?V
  97.163 + -M_"QQa;<)R(HFTO@gXq:$1X,Nj*#qH$R4=fcH^3/LKuE=P*A8)6BAh,ESnX$5pZC)3%7gV
  97.164 + &Pf6RX)lBCc.amLRh24SUoajeU<@#kb#EFS[mokq<IL<4cS^`T6>.@nS&q&0:9;^FIEFaG[
  97.165 + 6ZI&Z'eV-UY#,/SCV_ri0-FQ8n&$.PINqfqS4*UGs?k(j)?14a_R,>$=@\)G,k_8LF:0-(5
  97.166 + 4.fh80QUnsLo&"4?kWQ1m&mot)_Sf(D'H7*1uI@g:nWHo)B9r4JnO.Z&ATJ\=#Znmh*VS)`
  97.167 + J(_>W"fj=/h@%>kubo6Bg>*#'0ANijIg_l<KcSicUSS"+3N/>SOd%udYnB]C0D7LONGVaV[
  97.168 + \Zp+1'\GpYCWWb4rNC0.a%`B1RlaWlb=X8CYc`+C>">h0@l6=eZ;lYi4!Md\d+>l[E-_%rf
  97.169 + )_peK<oN`['<c<3mY/PQ+:_mZqg(sO<_-c$agoSZck/3MRBk.i@A)KBkdUUE880sCU[?8>T
  97.170 + 7YogW5o>Gh.3nYo/fLRtRYCM%CVc$5ohRS+*1WSGKasSGN*'P4u@A,t;%"Fh>&nPJt0R+1t
  97.171 + fcTDKX=:><6,e%K1N]t0oOqn5ms1od$*]!g_8.iDZP<Lh@VB$<HqGUGg_)SXp\(KLUI>V0+
  97.172 + I#Hu80WjQ%-qDjd#9>>C<`!eH@lbg[ZV3Kb9]KBCrgjlh<@sQjB^`$+AS8D.dEMtfN@N9Xa
  97.173 + >^adX[*"o&`XR^B11eP-WQ=`]bGqhhGP0(NRu!N>V>HABr25JhAV3+Jn9h^jmgm@\-cfBj3
  97.174 + 0+<gQV#EPfsfb(n(_TY>i!!;9?oTCO^'QbS-rk4n@:YL4"OMcW[d2si9dPu`uNa&DQu7OFj
  97.175 + <S)doaQLmX;/14P-`[=cg9,M\FF><9Z)-hJ2!M>8PeXjISM:^E#;iC[ipg-GeM3&Y4@[*Bg
  97.176 + Cu3jmUNkc6\\*K&O=Fk(=,e[G_5$TH.TQK,++:[oP<SSnN,F4%VVSfN+krJn\,L"Lh,h5h^
  97.177 + N]oUi/T;Z%`eFR&"!DhD>J(cLJ&Y5hi+9C9cb2.PUT5B/6^]E$/[FZ@UdJY)pl,h`Ze(?Ge
  97.178 + WEn?>pib5:2\%u3`Z775rBiGj8)/sQhjmX%h,WAS"_QTtgHB)=ILfBU^YBuZgjCog4E@!!-
  97.179 + 0(Qdh0q&b>3gFEm`GAkkPgFCSr;h3Q0EabV`p=/^7gsDTB\:RkVgH'?Dm([[&3i/l[HP5rk
  97.180 + Y(q/aP[CM8$UgZaVJ7^$=sZm/GE"lPk_1iU20Zm_/_ihXQQ]h=!*BO4aQPN1o]hq=&W9m!f
  97.181 + ?2rt4N\"n=ep/,pFUYd<WN0ZnkenfKHi*ZstQ2=l4)o"R3Vn(%$e5kR>f5YS0L?Us_f;>!.
  97.182 + VosVX.IpMb#&b[;Wi?(^;heVsNFn^B2pV2.Ns+0quQ.!&4m@T+-s,m+AQ2,otq7iKrrd^(;
  97.183 + Pg7[)n/nA#s0;Gc[JPHaqnKiAl0J'BL8A,AbjC/E>es4JKj\\U*8eQ?hojAp_:9]ir@1;`s
  97.184 + 4FUg(&gC#X1bk_&,6hK#mGrIi=MAU/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV
  97.185 + !t\Y$!?C9BHe<jNIW^Rn`&Z1ZC07a.GIB',]0kM)M(]BN1BeVO9?=;sG)9Ptn;YX&\I#Ra`
  97.186 + *q33Q'>;oE5BO$IqjiDb+\'%'aTf5':Nd`Ufd[b^BgS(6rrrkCYd%u_1V#kc)CT,7gfpDJ=
  97.187 + fj73jp5#32=XOA1K7?O?*BZq-3'^OnB8YsmMoajfWY.p0!j_O[<AnsA>QtQ%Pb_&9.WS_Xh
  97.188 + *$,n,M8eLpq&GqXl^.\(Cb+6kc-pI"VJ$:I/luu%h=#Rc*%l-pT6eQM[[Gftj0RdLD]0Z=Q
  97.189 + d=on^H\u!T@O\Np;A[Z@J]1Nb_gMT/P2t&XM!i9i9WKXX<S$<E2!dC2c)9u"99!2Ym)MtJo
  97.190 + 90ma=4G/60Z5''gf09>8K`uKOYlhEMB9;[?/Pc%E#3Y5-$uob&83>E[6Pf8Ef\`e]01.G.'
  97.191 + c^Z<n0K9UnY*7)mGIS&Il+OY9ArS*n6M&*"(E^[)(*!Q[eubkN__I!ICgna`L#205;Z4\oa
  97.192 + =l@MaTjP[Pn;rRa@-)B'(p`]4F]gS&`/L*hbFJUK\;XQs`JPZQ)"L$19jYWf/m#<_u<:r[X
  97.193 + PLNRn4Kh]th*dN*oNE8)V\FPZ>ut_c`5&Tn.h9B\$u=*9U().V-;_+5=Y;V8AU.unD@N%ef
  97.194 + dY'V8m9SIO(qnn"iG=bG9a_;+L]/'D,PR=;.m5$NQZTRGGJMfTQa"FA^iX2N7d!s"aOGsF!
  97.195 + ZGpfQ0cE]\`;7JVG941L4ZA%BEbe,$0`f'ZF`!iCC0='l&KF8]"HIe<g.:Q"=YF*j]G#"sn
  97.196 + M'N92^P+rJH8Y@@:mH&o*g$[RNfP@T#hjdJZ&V.k6e`L%\bIUk8cfW-BkB+<9,S`]_?'9FT
  97.197 + 0(3Q>u\ME3065jaj[;BYRT;]&?RW#3jqRl^,k]kmpSsgPn^S&;&`lDuY4(ep>?u/6U1EQI*
  97.198 + M#gu<7PU[308>;-DTue4&N.e&DXsK**lsSCc*"7*nD-ONe"Bc\/!=r:G&i6dguga,oC04UX
  97.199 + %SnVe^X?m#D:u[DI4dDprG[*-$C.In'EF&WDChqSY(&PVS+U#ebGa!]9[elCO+)USAas5b+
  97.200 + .XlfD<,mX57HJ\%VT!Hp\(V=A2I'a5MJ6':4o8YX9/92`hJ%JL,uHJl6qtE.eqUW:M]/M]n
  97.201 + .!YFUi@olBpLMt;RYS[Uid5ld$%?@]-a/#$\iLEKg_K'thC5m!GWM=_KomV32seacF?`#XV
  97.202 + pp)cZsGmE7Q+X(e5RmL0W$-(1<<Y/E._d_X7#>?linBnp9k\a':b8Pr:!\["8FV(906m5DE
  97.203 + R`'de!XYP[M6UM*`<*dgU81h*:\:_UPFV:j"FDeurEkV=b5NB$CHFpI^6<6=6;l2hJg<BGP
  97.204 + >nY)@d*tLn//Ns=.p\2PZ]K>DE^Y`kelIA23B..7t:ma6Y/BBM:*.K'8\8,:tt2tEP/E>Bh
  97.205 + nnD"M:"`p0T6t7+[^@M'8%R<6S<n9r2B<M=S<Kb7YC<iRF<ad^c,E3I`r!dO^b0Bh(i`(GV
  97.206 + VBNgVXfTY,QSC5\%t+S/2f^:BXhMTiT#TE8Cn\aW3uXFO^#TZ+.0n>cltD^U]K'1Y&=4:$?
  97.207 + &/<I/LcDf5Y9Z+Pm0/eW]B^IusdDhhH_L`'9%2*>AS"W52L(ihm4J6g7+Oj-\93NB;A&6]j
  97.208 + FOlp[H>mgOm2r,L-4/%^,tZ*>.<JM.U6,4Vgn"(VV+"9X;jsCZAF%<:Zkdf2EXP\-,sd^th
  97.209 + M0=43CGA,&h13%<n)0!9^5n]Xb9i.T:th*9I0U3:-m6j@`1VKEAa?K/bbHTo2m<H@^'td!*
  97.210 + E^X;sS:Y.J;K"=:u?TkHm)iec*2pb7RnD3>>ZJ.$[qIo4'?eUU6>ON*,(ZA-bnmYG<Yp!"2
  97.211 + e=WJ+'TFeUKh3\a(j27p>V[a\H").'>K>I&o?f@q4'B'r5*Za?s7g@B)rD=++#kO,l^8cW/
  97.212 + ar1tQ7T$uKV%.YJDi3Ua9h-E+hfkbfdO]0j"hKN*lD]QF%UnUfEbL:oYebb]bDK&4KgdTh3
  97.213 + c+XtM_U?((gM[8n_3d.\.1+(BBo*G;GKU0JMfEu\8OC/crs%:Mr4s-Kp.X(HrQl2;.II5*R
  97.214 + .^mo^s"S\0,>A.R(_;6Z=A<%r]@*ASpKD%l&05`0t(2qg0Yh>N3B*8;%j9[K\;]Q16tk]NM
  97.215 + snWU2!f8AE1ZH+"lSi0pf1H7)7K.%;&9KP&d^@W]=E.jcXnTigpk+R>3S14N3I>7WulKT0/
  97.216 + @;7K<q<;9b?VIE306rb)3X]33X?fW6SaDk:L[7%6g4>TKT0Q>4FMpH3&)-_L%A*fSWqP\H+
  97.217 + SWc_4he8n[FBtYsL[,qM;Giqe9]l>GXDIq;M(Er&q*N_-n0[uoPYNq_gLg3UI`6o<#OpesR
  97.218 + T`@fn3qI"Mr9p5c*KAYI,5uA`%CA[5,`J&?j^[,mSMFNA,k@LSmHrlFGEOi=";c&_c)7sn7
  97.219 + ekece<k/[kJ1;7!$HXFc>T54[IjI3g=rN[Q#5<fp_;JTDqoZK_=&N4[b2l`ZJpthO(L@I%c
  97.220 + Mdc?Z'Wm[s4IUi.MK!7<0KkD@[uR*$9XsZ<*]0AmFGFpRcNuO3:&n0-XZEI;81AbrIg]h44
  97.221 + YG2P,WM#`hI>="g%OSqKMBd5B!N4tpYqqSG'qcKQU'XV5?76fZ2,k.EpZo8^+G]8p9br<or
  97.222 + q?ID3Q?DlNqpJC,b<(D*bG^Q(2_g$YBi:laUmbe2[OP]_.qQB__rWB$\^?=L'd['=Jba`qK
  97.223 + )<?*.DUJ=(`KDkZj1I%7MuA8@814)`#uXrW,W_a@4fQ#n%tEQ"V(?koEU,/_F7u)fL&67Gm
  97.224 + W/>VfJI6u,%?`bl)2DpT3(=k+,H#,W=AYA$fcHf9qSrX2o@jBD#=gap&@q&q`%79OO(Q9r1
  97.225 + ?O;T9_?uIt*5$YLEGho@FN5B"6TM#he;Ud$_YiJeA.l$*n_:UXD#PS0r9H,tT^P!1#ajrh/
  97.226 + ;^^aPY.e-$$s"V5p\56J4%//#NtG,jm2"69e$<!rulXagNb^s!]_X;\n-nJ9206(!/<$<TS
  97.227 + 5[_Qtj1GfCES/-kg(U$cd_6bO&e/S[DAO&?@#V7&EHlt^BnidFF57AaP@kL$IeVO\O_;lr7
  97.228 + ''cNTlame@TB"+NX2^3B#/\8p5>+bd#_O9ka1$F(]F6Qjg^FGc2ieq<]!Odj)rA??-+K%t5
  97.229 + iU\;4?g]282?Do`!GMD*$IPAb/?8'%V.^b`'-SJ:_@M8]^[:9ZqNk<h)WD9$]Ii:`'u?V:m
  97.230 + _@:0e>17aL9"]JXD;()4IB(5nU"VENu!9ZuF8LLd!K1:IAr#U%DS,BQtGYMFI<H[Zd2uU_=
  97.231 + #u@]-/q7R2nf_T,,NE(:9-`bC5HN*Vm?pdUG@]#3[8`,*4o%Z-]n0/Ouq'RL@\E^e>RRu,Q
  97.232 + 2W@GmiqR-N8a)JUZ1jOnaD_&JIQQ0/AK<`L&Le*J]8=YQ.XG]W^N(D0P+.S(m98uKtO@]kC
  97.233 + 8K<mb/<`XfPY"Q6$&a\5]8T;YQ-"uQ8Xu5@XIDeoS4Uqq1b=[&%%YN<TLoWd8fXQt/>Gg"U
  97.234 + _Ko%`N)I#9W(L1W(N#J8t;nRXK+t'LWWgi6X6]bm&s%ZYY,D09,t61/$D<$\I\>09/O(MCq
  97.235 + !&b\4_dk9:WR7%'<*S]$&=29AI6Sm(Z3k^e>$kbIcEN'Z3U,`(WkD9O,S2Cq`RgLWjk^9Us
  97.236 + 7!XNO;MbY66-a_A^cI)=+WcqOqr9cVSU/CR<Sh9=q`9&*WF7+Y.\fM.=X9q9p3WG5+[Y"c:
  97.237 + Z:#+T"m,(P8i(aR*c,A2Y']VqNjA&D1:0cpV"LLNiek0c@cCF/pXQrWolqYd2:3cc[o^,EO
  97.238 + n4sJ_:E8q$/;h^ukta//:L*ThD"g_QpbQIQ:Q5-GXSYf+r(kQ8+p?FeFPP3u!)O+*:`TU6/
  97.239 + HZ[Arj]MYbl%XjD$Nmc#Z-Ke:meoASI/3,$rG1X:u)UXk_)d?%oEcJ;&p9H/JCmss/VZtd6
  97.240 + /7BD&6&t(f?76cK"t&>o?MQ*)Xs$;;E9cI1RRd/cr-u;B6p9>pE54#))q$!M(Q8BI2)T,Z9
  97.241 + T#K\\+U,p<CS/5h`""J%/CD'jkJ0N-9"dJ=mgPqsY]0eZ6P"?<Rbof#fD3(bSUe!R=:GU:g
  97.242 + tl@[&=$Leh[m5t``1*Gs?#*h#DqU8AK2Ud&:`E9=(_^u7l1/p+He!Mu@XXI/5jjVR=;rp4q
  97.243 + /OhZA-Id9C</cf59[?Ci*n22seABU45b(bl%nSP6NNH)YAI_\992iN.:.7lVi"iFP=cDHGa
  97.244 + H]#`j])\GkuHH,eSq#.Kipf[.k)3E:u,@_`B.+jj&P<5;sdqo/SJ1DN7KHRei9ka9l)6.Ad
  97.245 + PkX8L\Efi]IS>6<?;Teu5(h]m3?ND$dmn<W\63ESCnUGfR43+-gjbgR)'UA^\OceW"`,T_9
  97.246 + D#C03oMe"phZ]noJ>I#57Zf(Fe.\pC(*Ls`%6:5U/r.aZh]K[XL6e5VSPgdXNiPYc4C$+5+
  97.247 + _N7uq*Rb6?B=`bY&m#+s`mo_F*=?W-#h/nLUFkLPJ`usIPe5KO%PZaBBfr_2INLTtPSLkdO
  97.248 + 7/7YQF=We[TH<Ko/rPeEWa=C=!*W'Yg=l[mn>"%`;D@Tq$R3\F!]Gk:In/:#4i+nOA&m>CU
  97.249 + 0E-J83@G$nO1*Qc4kW64K5BEiCCmC2Q>_NP^RUW0rEZd!*Z5B9gu,:b0aF'=JG2lgYKBDJ;
  97.250 + @F(iN.9q>I]Ppc,!A!YRcGZ]0n?igP9&SF:#Xt)r8QLh8GOP`NoH^O]C8YJ@PuWaHR.`^.l
  97.251 + aS."g7\mTUUD??OMfjg85kOWN3UZ?p?9qn`N#p^1TK%UeX((kk84)kP<K&H2&\<U^8^.Zq7
  97.252 + -3pJ(#&pI\*ck>I6PDU+3WO6!Mc!U+k>jY;>gIGT)gg9>8)`??*36Y_Hh-V]^Ln4/L^%FX5
  97.253 + p;)1POM1J#jnde<'b;/J?e,C@D:Ssj;c$b!;_9fV7I"7n04)>X>?aTFEo]/J\r2RE7jrUQ8
  97.254 + IO=PJR@(<[l,4`rZ0uMq*+[s<r&J!"rJ/B!*HZWboQpemK5<.)`\TF@R-Glg3R'`-K03$@M
  97.255 + &Ym2D,<M,MlS.^QR[;@?N3Z"O?]V<$iDb-7P\g)-CIH0u\p)`Se3nIY1$0A,(YWOR*<8AWM
  97.256 + P]=bIKCkf8[(+Ul>6TMVFF7R6#R^)Wu@NkhqI=L/>q;rKhP+%AYXjrYaC?BV`mi=4UIQ91L
  97.257 + 8.+QmMbml5Tjuuo?j('BhjLtqV*aK$m6Oa5f8--Eb>.*F/7uX$1MIoHA7O=YF@:eYRAbj$Q
  97.258 + `_PYC*b>D!iAfB.<%;H82i57W`h%#.@ROdHJ_kt;?BWFj[TT<t4P"b\f8MBeP;b['__`EN3
  97.259 + JeIZIN>V/j!SESAJ2)`-:#%0I:j[]?.n;pS9T\G_chBM$*C,'FuEuYH=`+q9a4eRk'?.BJS
  97.260 + 2-4`&$K,$GU6A*FSI=BFV0/*WCk1`oLY]Z@7uCL5#sj7R_,R^h'^*2MlqgMWJH.L_b+S*d2
  97.261 + "9NLh29fPW$C2OWgkBaC.i=TX<=A7SsJ0.H2Ah$_],'J4&k?0KkD9YQPH]l31YgKJiTlCEa
  97.262 + rY"'fZdqX7l6^0Xs#+gZu@7I\rl^9u)ETC7:[94[ql96q<*i2t=Q/gF6/9VE>b&_5mMBP`j
  97.263 + #V5?-QG(4Y+PjJpLqtVOFu!gpYK";sCrX@-k-8bSam1O\/Oman/s#@LM<pPFLdoPL51)h.C
  97.264 + 8P$n#j0EkT$PInY/b:]lioIL()GLSg$M)Tl<ZWPUcc\[7;KNslfQFY_Q^,-Jd<VS`4k(?2@
  97.265 + 'podI.J=mSRq?54VBZeQhmZmegqiNi:#/]g-s[DS@uGaFWd9\npNt>p8p\7d9:eq$8=ASef
  97.266 + 1UG4V:8k%n:KLs#S`C#h^/Bn\`^LJ@[,VX?lrLI?%M5pl@l*s7bAo5OWGDbA#>-O3+>nLAG
  97.267 + _-[uHlY%M[oMK)mTEJFL4hZ9;Z!q?ljn4i9'k1=QYgW*M_k%Pe!f+dYMPD9WpMEQ#;No7u#
  97.268 + +E>dhnII'B%h_&J+)*)&DQaPb%jDS",B='Jl2F&--RQMbd-SM"].Q(j[8cQWK6"-4fi;YCT
  97.269 + -!Mm22Ks#kPlgENef,BEt9<2`BK!]Eo;#anaPEgF-0DlVaa>J/$!S%6g$Vs<do'g*G]YhF<
  97.270 + ;EWUHnJ77I.-FEVhCt98q503RqJ,S2VK<\MFep8b#,0Dm=CcqH>GL'jkY@'rL52QS%a*;"a
  97.271 + Q[o%-m,f11!8]_%&uMt$]WO'(t/J+]D"]2r3UO%]/mcunLFoM3g)'?bEGE-3[B0c\`e`oCR
  97.272 + +jD[%g)IHOEYq?'tGRG('pR(GnIl)sC;Wp`K.k%UY2OqXGD![c(4-cYG-K00^VKZ/1p-47(
  97.273 + QXpdH13eU2GaMn6W;Do?/B(BZUIl-,T$<')mYSE&E6Jh)2h?'PNH"Ulp(qWBD<LX3IQ`(>F
  97.274 + [pNG=,*/VG,`8Dq:M/:+.iU1TEQ^:G&!%^cMr^k'VdpH$RB3fH\3pE'Hp#</SN@5QIkg@@!
  97.275 + !ccPc'7^gp_NR)M]]F!)Km,YS$al5PmuhHX!0>2jA0>')GFWqIFG2;K/iGPV95>$(n4)B<,
  97.276 + *gh7_tsFVPG_KXC/!@rm?fqY-Lr7lp!7W/#lE!+3kWGR+/V0RV3(L(B3%:O@?Cg1A.5i9ND
  97.277 + >+fgMYe0tM@B&l-=9&KS[.!S7kHsm<Wn(LDfYS&'5IFuSj&)REVhuqBbGl1eET7Mg\53#bl
  97.278 + F6:(431t[q5AnX?rGpC4Do$Sr_KgD($j*qd5<!^[3rQg:I!'RQZF5260b846s&_JbBPi6Dd
  97.279 + X;([GM%$!5(!9:K6$c67-dLaT]QL]C':ho!$KX548os&L-hRFphWDG$\uSCEHl"p',Za"A'
  97.280 + t)TL.*>M8S$7p7&Es7Q:kf;q1Qb!1R_$Mds8lZdlWGMkL5k'#),F=;/"I*74+9mVGh3YqLq
  97.281 + D8,<St8U>!R][2`].@o`:`-H&oi/SrbV7;ahfUY@+JRt3KZ@(JY,7,*?k7]3t+Dq@A=#!6^
  97.282 + gf3%eEX9g`e=^`L6knZTQP(gZVcb.0U2"o3XF4mJ2@J9ZJ>.!".]1Z.3E9hWbrJ&@(ZeB8>
  97.283 + gO7!t&%d^S\(dJZ"]<1U?cP9Na!KK`e7C$Jl%U&ne$*rAQt^.%:2'&]mes$/L*LuZT-C>n7
  97.284 + R"RBf!o^#%kh_Q&bI`'L5=Zhf-TWgs)&5G!5MDN#m.oh3W>S/.I)Bc6-t!&#f9E..13r=&u
  97.285 + n&DlHClK1l(9>&@eb@/J='u3M@.tYPO(SV9Y:'YI`#r<p`*=o&T:&88H;^]^JH?(F8HbhQO
  97.286 + XDj5u*1Z+:@%aAR+^aN>o@/:TKN"#tW`a/_JQ6h'HXKf)>`=P$5&4OH"1;d@tR2e5!rhp&K
  97.287 + r6?5iK*:O'V9-C6::WLud3`&BSiBj9B]a$sQ<*^A2dF:i)"poC".8&%<]eN408Sg0lKs]P\
  97.288 + ,h,c27]ZchD,>9'<<VJOSeO8s<[dO?Y0F;Sq_^#`W0r6C*.pM^qcG`[Kjr]#4bmS#el@iDg
  97.289 + "(#6Am/5`VeFeM]rc,)[b\3+=G!c?:+QJ)T'b:a4hGgj=&mXjh:HN&G$\6ukBPjM^$U4(\)
  97.290 + $S'?WZXrJ)FE%$%UsD*Y!e](g[`-iE16p)hm;r.L#o=[NCIeR+<F@j-]f_!<>A28Woa^8.Z
  97.291 + %9\QP>del,87Qf_GBBpu.n;'J.>6\(r&kIK`'T]d:8J"l.12Mn3n>#(K]C"cmcVWo(kV5if
  97.292 + A^7Zg,_$VY2KHS:6XD6K"ag(3e(=BGT4$M3'm@/RV\F&%:iOSC2Y49)A>JBjEn!j=T_!eoX
  97.293 + !Q&e\0+l+l>W3P=n[r3LaRU=BXt0dN1+EieJ9N<[oA&d/-O&HE9p1$7&-=#1@DPUfb;lpYR
  97.294 + .^hlB[!e\gpVS(<RLZ$Q6f,6+U-t?L#R?+09P;j?8n;5q7^4,kkZ?mTBc8Z\#J]j?I-1KHf
  97.295 + !YpiJ,0/*3]Z68MT^_?LQM8rSMPPp3p@ukP5%K^[:su^YeS\Io#b<5PPB]THjPgYRUb#Qk9
  97.296 + DX4:Qj<3X.kE,lb[t)%0tS"9;gY"CU:%K@!@(_:V$VJ1q*-%[Ie?n5ft86nKI!^"JYQ[#GA
  97.297 + 8L*EJN(rM_`%cQA((STJ4MNF23U(g"OE>BffGa/l8A4_W_/gj()TbQL6<JjXW.ReTi(1Q?,
  97.298 + MpYcS!VfDW_2oE5EGdGKf[1Vt<,IUL^,AIeh&Kq#F,nYj4@`NF*TPXtO-0E)a;FjuU]c=3d
  97.299 + M>5A8JNE0>`"T+5"A0^)^OKtP`epF9M'Le(P7/_!_2edJ9`psV'Mgt@8IU<3)_<B!"Y@2MH
  97.300 + C;OAIhC41Fo8i)\Dda/I@';+),.fV8[Ie')<2bmfj?IQq%FZABK>(NUiA/cMD-peX:J^B$G
  97.301 + V/2J2%&S'u7nc.Tomk7m$J1S/V^M9P^eX;<&LAe!%bjZ7%Ml^lER!e<NT.iC#ZT>B*/-96<
  97.302 + K%r/<X#c),`iZ`_Ed9o%8%Z!t#,s^Ge6'H>XMp[qc,%D$k+VC"rdAeojkp7RMe;BJg>#S#W
  97.303 + <@t&3^6R.c>th5O1T&[QS5W%&:$LGHPHoRkJa#NsC#qdD+\#7'`_$8H?r*c=[\t)O-;Z*>%
  97.304 + mKV0Kb2rT?V:8-Waqu69E_`*%1L0VA4UHp&_\RbJCCWc]!g2dj]lStE3@a:]@U6V?L--iY;
  97.305 + Q<n=:5"7CaF_<edB>t>8(4.pidIlJ4'Y4F^hGKLU+?@bZT9MAZY!]ZaObt=rTb@m/<cf<gq
  97.306 + H?HW=ftAZ3#fY1MC^@;P=r[C/!Mg09JPDJeL7$:-@*&Ps_U5g?pNf';=#gQQXF<O3>_4D96
  97.307 + V!W]5t@&\Yr*.qXd/hZ*r+-h5KSm/6JMj<55f:MU`@CRnC0[UR90)&]\hgB@=o=ii!r*N\"
  97.308 + IIG_b^R+rui#DWFYQb3FfG=Zu9GN)pYX/R?<$$Y\;h=FE$,W':$XoPUL@E2&_cV*o@JiQLY
  97.309 + pLX4\;q;4S5G164tX`U],"lRAW1W+0ZMbk)rk1CNq([`a#O)?A.3mJE[F/pfI/HWY_#;0-l
  97.310 + `=L(Em?0To6dL56gk@\cTZ8#=M+4%qDq"?BU"eZGC^s\VQF"'l@(8'kK4ET/74'`gK=,ER*
  97.311 + 7p4>UO)S3Zdn2BuEkAVNSQJd-oBqApH64T&%+ERq*Z>--r$-)C11Pr?cQLQggIV6oBUe(T6
  97.312 + &.FK9:RA`9ufjN\<j>&UcAtUJS2&OK\+JEpt$CAZn>U>W?QYSCjetecqQ1U9Dp*Rc2`CE)@
  97.313 + ']lUB318IJX;#L`$+0CIbU1KB`b=Fl?r)qtg=q*rDB1m;#Y(9<>G$"TS^^O0&I?mF][-Y<j
  97.314 + QSpAoaDep?142>]#e"*+Id&(,]QVfFtRMO$"Y^SbhoV5i="9`CP$N^-,fNVaWVS#MA%\)`m
  97.315 + ,tFj2&'`6V]GYq'RKLg/E#'IEfn0B.`6!K6E?)hQ2q1YW03&,'/l<cLamckJX-JE/Ma*36r
  97.316 + *Z]LSUdSs9eqYm9;0/<C=TV4bo0H3!Ut-hCV_5'huileR&p-D"+$\R/e3h4M&&c=0)MR]He
  97.317 + N]Wa`,<sqD_WZ8^M]PD"0mC59piEPc-FCH??43rWMaA\stDP,m>hi/cA*#sf",]^q?#L'OD
  97.318 + MpR(D?0Fd)0/E"6qB&,Lq\T>"^5pciT2]V'=9.`gA79g(U]=7?((K-VQAj-AjlKVco3Q5[q
  97.319 + ;$pj#SD98jiGDg,R_GZ_4Gj<hkG*d"@>3uX8:^Yds-rTiql:!qo>%(%<O,h4m<XTf8q?LT0
  97.320 + ?N.DqP$G^TeHs14t(3p&<k):).V8LD7U*&24#;K`E2_,lEHr,HoB9%m\VIMM20#0-gVpO.,
  97.321 + P(i8Ll:+Rc?1&2ODTAG]05"(Qr`W)+]-&4[8ZiNLf=U+6?8<s=4ioWM$oY[[l5Y4\u)mgqg
  97.322 + -YR^Vn'$T`*0oW@<6ZVBCr0V@;kbD229t^aMQO/6s"0ImrUaC7O7ec@0q+]3u+gV<'+UTp8
  97.323 + $c7Gun*(5L`sdu8#-[h+E2FnbWq1mCe*[2YitVqG,#uPH$X`rhK7O;Ef`H%.n1]s`&=![/#
  97.324 + 6,7+c`mcM@PmasIPDEH&^_XF&Aln9+VKnef^R0bn66>sHok0-,O'4l"VD#8p)e1\f0_P/Y`
  97.325 + ;D=P0U<a(!f;[d9d"ZVX5V^8VBSL;0*;2,o9F*(X27[&7ZAl<u>DBf'RMmnP]3\!9iqV(\+
  97.326 + *[nREI>AJhRt4p(j>0rl44[e*FB)j.lT%7:(hh$jo[)c&sDiggTt'*tcB!jS-^ELe((k1t$
  97.327 + R*eLd?+t4,"V#$(`pjk:4j2sQh1.<nTbeTZ%:bX/sr"_uI,=H.0igBqP6m9rl*qCrQn\$.[
  97.328 + 2^="](bmll_G3(b5oHq2+7]@R,6K&t-D;%\!!;U41#sVn)'QjI+p!]^j]j")b7@H@XARWpd
  97.329 + G3W@/0N@U,I3?YZ0`tAQQIt40B,JK_koVq8hT/Y-D^/X@S[Sl;%94l.,u#i,LmB(QRn05,>
  97.330 + u]:'%0&956[4=,;Jm:d\7>:VI\,T26sAQEj?t=[jm!k'>mNY!Y5er7S:u$q5i<H/gi&t!@Z
  97.331 + CH1!@rn;][>bh'@"9#7:2\U)K`/0/)=S/^l"&%:(OV6St!!.rs;P1.!88.kWV1WDbPqP;^X
  97.332 + k3\"!E+S*B-cm!ZET.r&"'la=$d31BarA;T@1,Fe7P<L.p2D;tU2Z`pcUAR3W,7^Kq/-?S3
  97.333 + ''LQ-[/o8*<R[Zmo:@C0PrTN#cI59G_ehABlTHn&2%e(j6<88.RP0ks49Fb.D.k(kWY`"E+
  97.334 + B,U-b.96i\fm9O7540goCOL^&0e-e3&0"JD0m!kkn;Ir/sG"4'9>K^><J&@/7U"Wo4T=?WZ
  97.335 + tJ25*Q-SOA$l3FSuk\+u=$Xdfq8N4%"+)U(bpD_d>a[Bh'd'4n(C#PW]1:4tICAX$^)^YhU
  97.336 + JP[033c7?g_>_AbrUn0!=\8oqs1147>eJN'jk2tBU.[!+n0H;kS99TrOA1.=nm`COH0'6Kj
  97.337 + @U+\0O%51%@$SllZ6D$e*cVKTmr_:QE<;J1G`CtCWlnj1o<;%F*k=oK>;7$[,eC.0#!D]@\
  97.338 + :?!?CJtGq`.jqY1QgE;TESCPXLE7')3&0Sn<=DWebuI`";=^D\nsrN3/IRg!9eos"ohn#>@
  97.339 + o]p_G'%_*_f&UVK&h%d"#UfjPm]tpPpDW4eg'`3Q%gOu80IR\q/Jt?d?@O+rCbWh,5%d7KY
  97.340 + ^ZR_BMs)3L+k\<GPVMR5oBqrNp3C(!0cN0j#1Q2AO&7c-oe@nQ?SK)R]T>2;MQtPn*El5a3
  97.341 + EH'I=W=^E,7.*&GYk7$]p/+$0NN0[fG5j/au"Yu8KV0iY%n7"?QJ&2@'\%un20d@XZdo20Y
  97.342 + j27;($<a\/CA0Zb]:m"1Q(27?GG#HlVB7dTJKVr9HnR@^].tYBC!Y&X+$"JQW$T:4Y@M*,o
  97.343 + H6h'4ponsGXggq8AS:":?Z5C?[WPk"/Q[,7;:]l%j^KYm)),$i6.QVc;\`9905H]Z@KZXE+
  97.344 + qXQKmSo@\,\:8",5lGs5:+9?@^2V<Fn8kgH!hE4>da`GeV/$%]5iSPB@eU_(5#!K![,qkDh
  97.345 + RY"AI),A3%gOa,52F?(CtQgAS^c%Cc,j;2doju*DMgLD"hI*'e^7Ze3Xr0>BD5-OtgkF*]e
  97.346 + L=+]9^1n/+45k<$Wj8WjTuZh@5"mP.`N+\E=^pJ`>W*%pjR*WdPo1@R?U<&]f%&GK7GGA1)
  97.347 + ZD-;(&AbXt'Eq+Io&RQ>UI`$)Ep[9Pt-S>(K&XSFupQ-PBPWF#V;?>a%nm3qMU*&K&H@c<L
  97.348 + GHkmAZltdG/m#`6"2fLRVgh$=Fg(+RpXi(SeUP'eB!g$96Jt+jmn+gE2b.n4Fqnmq)-#4AJ
  97.349 + !Xmp=6E/o$V"(r5GB6T\$efD++Q[<Jq>3)!q1n23A2)+&_@\&f@,E)+,#s#=qtafJh]/M%m
  97.350 + e,UI^hIu"&XP-_C4"m//XZtdMO6S'8RhY0,TQk(lfbAOtKk`,5@X!=NDbT55lBdM`,4*GXm
  97.351 + iSDhM%GX+CqAUN:::@r9.3GLD+CD:^Le>8C:p,.Q>S&[PCMnfh.X@lQFp25tZ,ng%@$Bj!_
  97.352 + <32'Z'V3&/rQ+6p\pePO*2+4uG5e+Ri=`Pu/a-T,FN7`]DU5>2%Z4DO?Pe[<I@U53`!K#Kg
  97.353 + 4>Q#bU8],MAK8(.LA>DBG$Bj5f8o^3MW,qL@NV#4[m?)%6b+:3[7Q+=l")TaP/8<$_JVCP(
  97.354 + R^\-4#mh@o[0.I]9QCXQ'o74q.#]D!Hrap;L(G<Qjb2!g+eko.X?$&3[-!JH(mWBQf8UK,'
  97.355 + 0>b"<tCr,WN8@@Srj7I?0HHO4j,dRL*!Ip3'UMPkl"_@POR.$),4eJ_%%Jg(ZlAd=tSJ>LD
  97.356 + o1qG\a2)0HR`,':"S6=3?(6Pm<1>abVg)@*9&@AmA/Wd'1ZcS(;[pRca^X4YBemT!(E^G:)
  97.357 + <Rp!(9pit]hSkfD@W>E8pg6VfNa<R-GrRt&C3i0#@$_UW+YG)tXLJ+[WAZ2Vn2XueL0hre@
  97.358 + j/:L]>PcU%g@cf'>m+>0Wo@#Feo;I/SQn4LZ<Hl#)>1*HgRigADmK>5dNu1;l*Z,.U75=4g
  97.359 + +Tbk8$p91YM-%Q;qJ?[?m0j_q\o"33`i\59<\,i\7-8_Udoq:AM?1.9/Sj[oHOXm(T6ffW&
  97.360 + nXKR"n*T%:b$a\.b"2Q&2j%K71@iLE!M.gWUj^BtI@7AE*E[e&SkCH+nl_[JT584(YbX7kX
  97.361 + r4]:+qjQef<$n0]0&qYS%;>Lg6QEO5dG]pc7b2RF1qi[*(co(rqj:AYQgJ%D*iW#On<\.ba
  97.362 + N"/o&a-EuriP*`gD$,rE=(VB.Te^q>./\baZ`*#+(S4fb!a<ga]^`6f0Hk".,8#MiSL3ot$
  97.363 + *'n/cVhLn>-/*Ge\`pto2oU0"b1s0.ggSADZ,'X_]c,^A3SDDT>KQ_N-(Lg>4LQM?L!<?DL
  97.364 + $tRe4H6VPJVMmj`gh=DghXa7/1];/'1-9#U(NeL6d!'rd+o32]X?-,(X)`e_4%LP>eRK@RK
  97.365 + +93%:iD+*>b/42#hPOdnWW^p(P_O]>NC*a]\A?i^)"^0+RoW,SKX01=OU`5LuB?m6)35qt8
  97.366 + 8:8_#O[caIuH][A(]?n\'fY.:FsRB+ubq8fjqP#g`o[d+iYYL4UB`o-ZA@e61C.q>!6Mj+I
  97.367 + #=.10;&3RJM"VTq>!Z!r-0?4ZSepWnA*TH2:ERS38,sAHd,2q9c+5=/b5XA1pF:9'.bM49Z
  97.368 + gu9E$I*G4@_qg`=b1t\,9l&Fm,2HBLg/4QtSTZ9*$8E_/+JKrVSeo8^8'k]uE#[Mb4Y7;;h
  97.369 + r6h(jj!VXSJU/"=6"nr0i^/C=r'!07QA+Tgfjh7*`]V>+m&)QYo=F_SOq+r+3rWidJ\G0o'
  97.370 + ej6@q!rDdC96.\r&-#X?O3N+uZPG*-[dA\31nH&cPqs^=2IDNTNA9k$nd5*`)hXVBAVYlJ8
  97.371 + H`KO>CD_<Z-<m(Ni$`)C3\`#ut@m"'NMg<&QMf$]#.>?N+RRFTD$)4*P7nt.T,%2\EH1\6E
  97.372 + FnUEUF4t#naT:LD*S\II3+"d.-=7qDao7(!<"Z>oO@]TMtGTN4FQRh`9F8);Q;ZC+uhh"[3
  97.373 + BD>&4e39)e>tat#kP'Imq;7c;5CrYQVF&%SqM/M/1O5n4PtW:'=J))[ho#@ZKDJrqr58^6h
  97.374 + p,5oD8X,.rD`Uj+5d')kEgM3m$buoTCP;*e,MierIP%LJO&.T=>V'2$&(_)OP"Y=+VBQ!i@
  97.375 + QI^!\kRO\7:XloR9(LO\"Pr=Yu^I.@!NeP1ark@540Dk)sgKhDH,\:?Jn9o_sD-Thss;=u@
  97.376 + @`8Yo>LPhL7DTi%dglBDrV??-#lf'9ZsomX_cYup@Y>;`#".Qgo#,277;iGlD5m[%$[qXFB
  97.377 + q4tht4p&=a]]ft>`>IGS;(26fZESO#J+d'lWnsNW;h%*YZLU,Ugp4#B%d:i0@>rJ<PEN>OD
  97.378 + 26pPd@BnL%p7#?q`n#CCg\1O#pA\uSIph.r>Q+^"K>PBJ(/.aa0cY0(HC\BO?a1ZrAuD2kp
  97.379 + OC$<nTau'?T(8QXfcsJT&4b,iUGXj`P3M(hsh-6@.6,LX8]oF9Jc74\aG*H!\@u;(0Nqu6l
  97.380 + tOl"CrkaQ;C`C"N)qAWpQ]8gc#d40bd+j7'SRDKY8hX>nf`+N%YOSj$Y*uOcZXt(Ip4/Y5+
  97.381 + tGF6ajf1(t`-YA<G$s.6G%o]=/./.BNa&orY=8tp.*#g4X7ALY!A9YVF\o'2nYUJUm/1efc
  97.382 + *f/?@0EX<I*;.SPr8u@9E-Hf<2\N2LOq9q$W'C6#HUJ^sp6r>CdMLE7F6ic;iO<#$g8d`e=
  97.383 + 8gLb@ohH_84[2WCd#CAa9W61];H5SS=&r>/Ego%`1S%kC;fqC!:R(OHdo"_8"U^48p%=):d
  97.384 + >SKt,bF^/"Qi^kZ?&]ALg`/U.l5-1K0o1;W(e3hoq\hD[f\7Q6dG)>FBph*f60\bMD88iXo
  97.385 + 5eG9(p+0D+_7u]PQFsV8[pB[K80l?oTu?@n>diP9mGtSQBI!<fR%`ib\hu>gXAm%YrQUe^'
  97.386 + 7d3>P,JA?<2qXZ^qc;i7j)2DJ$)GhuKK?sj0HRV+9c&pupnK*=hL[:UW&\p-DNQs4a0n>q\
  97.387 + >F`WHak!#]@%uSSB>gN8H1CBh5ap_VC0p\<,CT'_>?L)=NX*^W<;)P4fH@8#VTle"S\&ON$
  97.388 + g4\&KekM2*'h3>_E4e+?`$Q?jj2A:86=74i.+YGtA]XSBA*lh<Yts[hG.@hGWQr>b65u$^Z
  97.389 + QT-81lUgbW_(:T*Bu'L+hPL)]Xe]Xq7CRncPjCWfuJ['2nA(!,uQ^GKnprB5:qA$C!:O_`k
  97.390 + Cs]DB\skY)HQ_IsR)@^>1g<:ApLWN1rMF\;bh`EjK$&5@=NaT`:UuP41RUMuJ4@oD`?=/X8
  97.391 + R'*qY9;e0WGCqnD&4ptiXEFAISp^uVlu>`uRFUe1eT3#MiibOJO"c4#eimc`RPAU$]8'>h(
  97.392 + DUCJ^J39BsjUt)",P)I[n:W_(Kf/0'<6jOoNnaWAP'):E&s+a&u5EPO0g'BJ3K&l#U3J%[1
  97.393 + U5/enKH;22G^b8(HJXHk9s5k>\Iut6Qt<GO%mjnArg<m?NY08k7l8`rNI5h#;'jf#k]l:Il
  97.394 + s+?]!.dNdr'mD($]*$FJk)PV)2M6dCb^<R`H!aKg72/8c^]s5R#<+roRVq=(.'lfF!9GJA6
  97.395 + P-UJ]<J;)P7-,Ns2*hU^:N_9;BO)mj4Vh[9V)hN&Y+A?7X.fH:]5WGa1ZWn[?s6<b3ulK4J
  97.396 + F@54bHq#V"1g/+A9caUK)C7)qpk,_jOP^F@B;eoa]@pdh@77\0a#1QpI;:H@Z&:F(+T`KFY
  97.397 + $W;[H>E?gtS2K9;Ma>>0Xd$`@-KhW*Z1us&7S>7KJ*=9)>k2@2Go6gqe=i-NHPm&;O7W^[W
  97.398 + HTK^,e1m0JYY.#W91nid@;PmS9A"(Jfc#@'PP&2%+r*MeeKZ5Qnq;h9#=Bo=$E-jgKgn+$6
  97.399 + sP!B6L<!i8\-*6C/!H^OHAZ<-#D_m'X*LV,'[#Na]WC:B/2:&Zk_;757#\^VfIHFeM8jU.R
  97.400 + N!jA/_3pqL`*(<EZ$g1l,-(Z@_@iFGgl5LfJaU;TKT++Vf*XVoNXTlWI#[Q<qfM8moOX<&A
  97.401 + 91eS%V\73`GhrukF1OtJ7.3MhF'[Ig3GfinSEm85+-p9o.,RpfE(4_(gB#2rfKLeoU%`@=o
  97.402 + V#hjkDD93GI[mV"_h%C$:#TZ^O`.mJY@OH:N[E'[1B(0+^<6l=Gs&h_GRDVr>.pPGTV_?JA
  97.403 + &6KAJ>P6U[OYZjc$/JO`h6aV7f)$oNG")c1e%b;di*K(pK5buE+BKWj'^O^^T`+I)QjWr(q
  97.404 + k\m_jh/M+)ZO#GAT+frVSdWl%cU+dLTP_H_IU[V@iT/LY;PKtCctckhuMS<1MERb.ho%2.<
  97.405 + ii2hSn+]!"g`jOOMaEUcBe6jLhBPf.(Blpt%*/]X]#dQ<bqb!f0Zh=-Jj(?b3d@(Z3sLD!g
  97.406 + Y,^K@f>Ao,bcZS!rM\\foZ!aUcVk$>=#ae7*UgC<7c`1l=%N9#B:0rWbcW8o;FBWE/CF2jN
  97.407 + l=9B4ICKI9GeoK(4B*Djh:R6)$Vpu]_!0r4=!;02Zd3qX[l,#_mfBmu*2<R-^h*Inm#&DiO
  97.408 + _cg`uH^&\+Y9V`tA75oL0!AQSd'VL.1H;R6#s?J9lV2,XRdHX:G.Z$XcYD&`Kr;?`,1kSDZ
  97.409 + "c`m4Eb'"hAaF8Ac:[d[\[lq`2@EONO1$ic$%1`#8_870MD*\8D*ghL?u&XEZoGBL,e;WA%
  97.410 + P.IXWtbrCX[0'U/`CO3<[Q$:-N,M^UeH_]XE3&TCKd$_=L^F?oTfoo0-m5=*CZ?>.^7;:,B
  97.411 + ?S?=YBFHBL0Oq7(O\9$*I4PuUS096k^fgYEsBOFA(sm(X'c*(J97V,NF0o8(sHie-R"K->7
  97.412 + Z&"n9%4R=-@\qh.!Z*jaToaO.-HB+_=SBIsW^A6Y^DY3D9Vm*"Ha0nR@'[FCiF7Od>hDm:s
  97.413 + mM]$7Eo#!F]=+F#ScjZ<?StK"D\CEZV2c^BWob/((Z[EA:<Gm\&]n(YC?RkD&P`Mc1JYXI>
  97.414 + T:i]NnkJ_0c8>%kB8g::$6saa8#q;^jMbFe%IRtob4:fHK#+r8WU)'.*L<7Nhtb3:C6m9X/
  97.415 + Gc6#l+B0Sb&I#H27HK`;8p;BWQ1\igc]Q;Z'Tc^RTkG-SX(a,N""RI#0B-^E^oY]!dgF^VA
  97.416 + -H5N/V&)biG92n[>-SN97NOjocY]g#I*^uQ!+9:Q`\SNg'KYhT#149R,R"c*![SBM5Qqpl%
  97.417 + s!A;jW[Nkpfj2O<fFMGWu_,M17o<gdC#`("\Lr$+,Y`:udR_MN,,GQ3D6dRJrd24qS*kA;e
  97.418 + OaI^E`#cK"Lar1b\SaJ+)nu4h4hL8KC`"<H/jAm\2`**0fo\PL-:="X_k=4t>NA,Eha4Yi#
  97.419 + [B0j9Jm)40,3b,34lf<S01(\hM=ii0\eoEHl>C073k8$&<%^Aga0k<'uFs$Q<QYlMY@u#bR
  97.420 + pj*OcaN>k_C1;"H6chOf>]M;Gj\m'h"!#5_MM;G_j=48t'j&Rg[2(RfgL#$DP)2`,U&iN(h
  97.421 + 5ZAB%H?6bE"[&IHE"#K8Kb#b5.[KN8YS="*ZF6ZKk,<!#8M"%!QQ7^Q17ghasrD8TQF`.3D
  97.422 + .'":=RC-&^q7To`*@U6):k-g/pZocMD]$j'SHAb1$a:s6I1kUW1B#m6Y8,<e7I"d`RH:WV)
  97.423 + 8%WESe1!ZSQq3U>80j29oT.'uKh29_8CWc_N/:+\P,Wum8&MJE,HjKc=-9R7La'qgm$*C+B
  97.424 + ?ALoalK%I/>(&&TZRs0aV:G+>a`LfKh8KK3u"G%-tLJRT#p1rb+tpT/$'nMHU<?u8Af[<,c
  97.425 + 2ge?E)p7.s(+#['RqD[*):$at0rWr3)tCZ)#TD#gBVJFM#`3K#k#h9&rf-N$9@V,g4EJbTt
  97.426 + 'HgpYE\QcoL+bS8">FL00E?57-jbb,it[*-\'F3N+&7X.Bl)7bG`?VGjpbp:`Md*,2%b6*.
  97.427 + BbqPj8m*C=CXN+;kc(pTJN-pn(FU'mQ#M=GhFP;Q?^PCn/c33.P1uk)cGR!qZLVS->AE6L=
  97.428 + kg#9G7,%9$m)]ue+b>/EJe/`PAF>.Z8-C>RcBs=gK_(#@#>\/E:Ls%BFSF+42i#1nLM0]iO
  97.429 + ;<O@-35t$JM:jC85%9bci`qAJ;jVda<"/H!74Wgc+KAX<:E_;mfZ0G#%[so+>;*WXF`kMd'
  97.430 + XA1oad-TIZ)_T;'c)EJ56;B&.F\j!L4GJ<>WDP]TP"@V9H',FU6:jmf\_>3c,%PI34?f/CG
  97.431 + 7M;C*O80^DRerQii&"J@s,3T,g(+!FW3d\6\;Cu<TemnpkfKA^=fph%tXWWcL!di_rF2(I'
  97.432 + D1t,:D#N0ra[3X)VBS?FTdo`tLJ7Ou(<E%7Le)`X>oW-B$IA)%idBQ`(+;iDc/Pbdr"#s^f
  97.433 + rC>@k8CW`tLJV^i>rYX,E!>H,e=B@ao0:[6?%P<\"a(de&1Ie5:XrHFeR_d;QtuqN:Xm/n#
  97.434 + CpateQ5bi>cnN4Q(TW/0Nul>,Cudp#LIkH`EcM5ACaa)L$1RL]d/;6-im.oMoB8Y[;2Uu?5
  97.435 + 7]E!t\j;`:*sj@0\r3=!_n=1ujA<HAA&)JRp*\^bu7*F4Z\&Scn>6Wq=B;<eOH[<rDCgGVF
  97.436 + jUH<:o5fHd@!Lei\(=b`kRKXHEaFbc=nHW2Fp"ZT9^`I?4U<X*MRLK0.4ooIc/%L94\LHT=
  97.437 + %>pP,#-@n.&LJW$E%@>b!<S#Q!"s@9./W<I*2$2E;$n-U.NM"o.TX?bl#O#RupbGj?AqI^i
  97.438 + >%ORp<LK+cF,)/ifu6A`?rI3lCg(t`g?#K=\7u1$8_'@1#7+^kSZc6d[#l'(3n0JH3E:[(+
  97.439 + bcbmKjZ,+TN;?eD)a,T>NNTRn_aX+AHhj/!cSk(Qs'S'+]/f!>Q)RsE:R4@j4Kc$"9:H:4`
  97.440 + >n*N6_Z+L!Y,NS]4o_d+oGaQ6:7'E+.(s(L%mX#7+]@Q-rrlfT!SC'mNmcBQ$b`,QYDVfYB
  97.441 + M"-t(<e\)!>.hBh0D4k!\%.:#pO<L@'ELagoOT3aD>hOr$ITiVIiF5!Ik:B33QaBhua6A*?
  97.442 + j<il%U&E-rto\WOF?"dAH:"=ePe;&j"#2St0[JPlAM*G]oK.nf_"fhcN63_*XJtQE%^dNh=
  97.443 + A_HG1#;-46/dHqK#h.^:ho6#][>9V%IKk$l"?lNX88SNd:uJQ8i?]RtGY6p[DIHQRiF&Na[
  97.444 + <tX+@Tpa/g9<"-#[)pBEX/NnebtF/n2Q.[i6<t7!:D%ga=H7>(?/@@Q#M&)=E=Z@4Tb$^?=
  97.445 + a!=0LQ"kkhio/!<+Um/gb'.Ol!WP#=*>8W$0YZ*!Q+BLDY&e&:+E),_`Xb"0G%JW-V_PdM]
  97.446 + 9JLNYlA%R9"T2$WPU"^"h-YSgoH,lo]+".1QniL\u3?t>B*Kr.K'%SMY=0pV5fK,A"D^bu8
  97.447 + X?O.Kk#=*V<!%8#qN+FtRLBqf'PgP6:=F^laJehOE2I#7^>ij?GLR<,f!+:HS1#u%SKs3@b
  97.448 + 4Q_E:(5HL5KSF*_\-hAKI:edNk+Ip[=rC]#FQ6JCfYD0T@!.8BGDC-b"'@/Zoo&r[*<hFkf
  97.449 + lY8hSp0>"Git1`LX:>PLhHqT6s2BMg`R;2Qs9_q-&9!SB*MW'>j(:AKS]TJa^ojcPi7De/-
  97.450 + 8!qg9s`\#_NB'HjARuKD9%\`9d_98d%t($fHJI<g2c:l<IG.Kr@n'J1Uf8p]XZ3<L@%oGUU
  97.451 + n*GA0gCl/72)d:*8m;?ks9#&%NP8;)\Q</0T]!M*-FjR30V.#$#a#-OM2m]5WlVVG9k"fP?
  97.452 + 'QnX*qp]XbJJRu\!<EY%n5m'PtLRtU5G*H_:@Hf0iJgIt]YVC`s?"ebAL8\d@?n?n!MHn["
  97.453 + C1(*Gpe$:DP3[S9lt(2Bk)>&I=bR\q!rsEWO=#ND=b?\qgDuO`OAQ./U24_pk,u4[OBD``D
  97.454 + V2t%hl)7an9kF.0&*$NJll7/%<:b^h!NWV#Inu5?%ms)=G#`WA4TpW5U6MH/*'/LjA8nZ\/
  97.455 + GSh@Kjd-m\X7JI-]%nFkQ0]hu/Lc=<*$L*/C2BL(IYr+=Mg9=kfeqL,J=QY3PJ1ps42/#2!
  97.456 + Yp84NcjZ.EmUBD=B:G(9X*p]^.KK$\h!:3Q)m"QEb:(DpijBQ`PC*!;ii"r6]bE-DOpHis.
  97.457 + (>e[,ga<Z>@=+od/L7igIQ9=Y<'_,/0#M=BYW,ICJ<n^S_cdkPeW+#l`2J:nG:Xs-0<<!*2
  97.458 + IpgS;ng4``@<@0A6&'N@"[Gkk\;BUeg',1$Da7HZAt`ZM,4a>;``RBg\7Z"O-A?+_JW<.O8
  97.459 + /)7F6%_F7KWm`+I[KZf70V$t!fm*]V_3&0qf4]=A%6r=cm<_'X)'1uL44d]Ss"d%9*VM,C3
  97.460 + IGGcTd,n?%nqji*<Z5I67&H9]*km#:OAA?ql?`j7/cUDK$KuGYNiFD$?"t"fO2./bij1)0J
  97.461 + bPneRF2f3@+'L1\E6)),e0J9G`\*+@c/jWJmV#]^.]H%ZGa#"Jsgo^DqG-AB6?Kog7hgnOs
  97.462 + !Cl$.qG3%WT[p4+\^5&q9#=]7.#[RV0BA$?`o9^q\i*$:4D?[OKKr?eMIlPh%Pm03:"-@j7
  97.463 + DPQq:JDMqBQY9?P!,U<-!X7H4M'-R<OETiq\k`Q%"gD&4s")7\9R+qjK=?m9(Q[8LIg8`O"
  97.464 + Ya;9a=_Nu;2'6GJZ*16^d3#1BD7KdKqL/P(.@sP/p"J%LGtf`&!1FrJer!5h[j@)mGI]SP&
  97.465 + 7sfGa.Z1OBVlb:kmO_nO.t^VlP]r$$t3pLGtlPom-jnE/)se"kYg:TN(YmHuk*D!dGE6#X8
  97.466 + D+ZA"Zm#>fIGQr4'C=9@+pA5.9"?ugug@d;%n!T1bF8&L''`;9I=H4bF/%Gt^j%g4";##@j
  97.467 + J/Sa`&EW\!Gmd7Su86CPL7>?gXmsK`9^Vf7(</",erFK6h=EK:RA7r\GF_DtA*<("DSGAbH
  97.468 + LNm]kY[mrf4R^ihL!Va[J8p;l>jW<GKX^*$a8pa?<rSH:j8SAJ<Z%>RfD9+j"COKLDp)b#T
  97.469 + *?]NLG1Q:csHQ^<`D%Zp/kj@mmBQ?TDkbae:;iM3,o/\>6Q]i";itLBRgg%$Beec#mQ!tiD
  97.470 + >mkW1#,@SP'EgP(i>kF["[N<q>KU]/^TLE/>j"G]P@F=Y&,$q>C8[9P.3`Ut0BAS5*]q\`E
  97.471 + I45G1hd<&u<@NCTdBBiMZT2P!X2O=EL&V,TrdHIcgG]&e+K?a*XK<]_Unc"FCeD-"8[[bYl
  97.472 + 3>\fMcoBtu?]N/rH>JoIeqgRI@=?IoG@-VhsMWA?J#[XUQA239mX!.35Ib37(2`]7/_T:q\
  97.473 + qCIf6bZ8%$Ptfl:eb=gNCj'#GVUo[oghq=?^#o';^Yj'U>WsMONQ:*Y?VaamQ'B!pV@ZC!.
  97.474 + 2GG*L.PdQ_N;0[JMXc:$CAB<f.hJ-g5NtTrENDAp,bTP;)hIm6Q7%_<bEfXs1f0S"K!f)6j
  97.475 + s/`"l'gn_2rIR#Jq%2,mhGMWl2J%lfmdGY=n0[^p>`%7&HJ$n`23Vlt]*+Q%QTp@@lYg?Ef
  97.476 + o2_;7QjL00BQ(!S"Oa,,Ap?q:j+EO]hV&KI&^ac^J2-d!'\V('QMXK="r&u#)J*lg:2@@AJ
  97.477 + C(mBiR:nAB8;bODu$Xpl77h3QWMHloHZ=8/$Vb+$kP=<:<--]5R=t57REAU!'LH3=)d?JJf
  97.478 + j;^"9+%anFXY!2p'[-Lb0'gG6euLLqm1<2oC!^oBUA1<ba5p^]/ska`i-_W(@FfdhKUJbe#
  97.479 + K;s4<n6=-Al]kkU#pc&[S.T@=biQ=AQfk/V.nYLXfZBn'Vt#9RO1=t;A(;>ln"E2J6,"_1G
  97.480 + D^_MWUm58tDj,UmFIsqj)Mt"n>u.%tap''O;3jFuY@T&Q4T0[a#VAiL"L'LZ0/2-&J_1iV%
  97.481 + ZZ'`C6n0FS^FruL9:n2#t+j]X?q-.0eQSng[^IMX;m_,luRr)h$s+gG??O![_mA0!&fqNp7
  97.482 + =.^iu($E,&CN>cN]Vs)ipV5`aKY-"bj$PG(7*(Cf`B9QjY"t<h[$g*S;@gITrP!e$c>TZJ0
  97.483 + jI0s6Q1A%EA/NZnMBQTUK>$63Qq@n0EO]b!4AQ^2nXOM<a7:-,/W:c2e2NCeS;V?4Sqk\P0
  97.484 + pjh7K=i"u.bu#6jEV#D$":qaRl%4&YToIPq'p-LLDF+=C?"u8WiD_9KR.m6kDeNt*`&'_q2
  97.485 + 4G7INO>j\n`7=\P?ZIUT%o^#^cHSq%b1DG%6Y%Q4/&/`r^.+Sk"(??5:Ht"hjB=oB?&g6hn
  97.486 + `A(ZgeS5"E60J5?^W5ZeHri'[cYaCu,6'(C\/oEd,0jEqKVE&,sW6O!Ur9ShZ'oGSlhF+`[
  97.487 + YMNPIg!m&&u$FDYoZ$\&*+PRohWW9j]T_&KI3JUB1WWni=%AEtkLf"X+6rX.L7p+mn@h;lS
  97.488 + !BMDnn957,Zml.Om%@9b3'RGND2V7`4@]t;-V>Y(%?Y$G`V=]dLXe4EptU89aDD7$A64WKn
  97.489 + 2b#8H&khj5"F9(+3gkp;p[A85kRVMA-$0t6ZaQ*<-lg5H_2-/c5N#m]JbOqQ4[Up.YL*%$I
  97.490 + N6L"sUE7L/EOSKlGoj6cE5"Pc?McJ7b*75$CSCD(Xkf\X-&\4-!a60?15q'#P8I#,,QDJ`K
  97.491 + mljG[:IE/ZQ*Lj:5>Y^$^E]M=7HQQ8FeA;qa!,?+/`R<+=M$]s!S7]<6uZW:kb\_T@1K^kX
  97.492 + 4c,[mKn6Y$mIZWmHH5+c22$\3/(<X!3"2SFu`IQi("pBDaK/au@TZE8$4kRjY916\MDGG#j
  97.493 + <Qa"l8*L1#Uf<A;35t,>7f-I,ab3+l&H3NcLg:6a.C5S/\-lAK:([SiA.-6C49oR`*^bm(O
  97.494 + [2;fKEu1IKFW#N&TShBI-I2C>*@E>X]=Z*=fY%*HV]4X4mN4^T9X5c%ftNN"0cGUDSS>gTn
  97.495 + YTu3sdf;aF&nC=uV(qA/HI";9Au5&V6=PXWn9`NTNPk.j@n*egqnFd1'UIT[0l$:<H^D/Cm
  97.496 + >TqB%6+Bs;$7-%l?dWH?O0"OKq#68R7(UMO*@7H-/$atkDTi-::@`%ZnHcjq>A0E^W36W5t
  97.497 + [%q0p^%oLd>XM)`d="`W?gFYRQqAk[AG-Ti^C=%b*V%[?E*RR5Fkf&pi)l1!ua[&rU`mAE-
  97.498 + :o]F8#t-:ZaMAVnTPb75cCM,D!t#k4*WQ1YJ+(Y`^fV*K+9pgf7nD&G0pkcGOWGP'Le_3JW
  97.499 + o)9'81]Af4ZhVnG6pR\1BnEd*b3-]9p,(W#"7;[Xc7hh;.(/j\Af+(^i55EB8Ef>"ij+R"U
  97.500 + hU.O7D'maB8sHP2nDAeHCSu=&U:V3A*E;7I6bGQ'r.ZUJO\>.ir/Y9au'c("kJ3bXRk\$c,
  97.501 + (S`i.Q/UUp#,dqE)RAoYS[$T_ndm@EjgGp^kAGE/Aq1</Oe'b,[[YJA&1!U^\.-eMXXOHTD
  97.502 + AOOk5!Cig*UM,3]Y5p'Ui7&BRj,XqKS$dhj&<8#@'6!S+3K32+[M`AC+f!.,bQWaAPC_Ls.
  97.503 + T@R37?>IuuF<%WSOW!!e$=PtR!^f#$0Pj&\JWj=hOhHT=cr:>AZ[.>l)Tm3t`J[es1PS`E*
  97.504 + =u%rCZ<QEKV%E7>HA!Gd?hK>2Y#X.c<H?LgcF$Ea,?[VAdM<6WhRdreA.NB[P='n_rgh:K4
  97.505 + &>g]C8ZB]3Q343)#,_F;r)UCu@RJ7YI$8+U9^E(^qX8E`1[D\OHHHTb!G*://q-L:hPCB40
  97.506 + OS1TsY(nn*ouS;QhtY)R;(2u>oY%C"\+7Kr7a`f\i1!;[YS0Wu2NESS1?@T4iXpZCR"CA#t
  97.507 + Cf>fOQlMZdLG#Y8#7o8;?_[\^6k1Ca,@'9q<duCeE?5>i/_@-##]8m!.2P,BZ.)`\N%D;fm
  97.508 + /Q:DN]FD29S7ETdR._P1T<if@bW3>O,kFH(!;YKc.(m$_oN*\RA=\EsH':T2!i0];&:Q1dJ
  97.509 + 5lkacrsLl0Bs#9miB=)R#V1G*/6[Pl#^#ZKX#I)`ZVu8Wu5Go1>X)OL&D6`:Zm.5XnBkHpM
  97.510 + e#JPtVcCK7gc<$>KtdpKe*("jh2q046hU_(e^hk@hC0.i``I]\Z"GG6YgL'2oHa(nhEKX;F
  97.511 + )DW7DKa!91R0E"iFO(_Y19!>$CU.HL-%UrdM_jIt]W61bfK)B(-;Fo\fS!GmF_](Y0Ggl9/
  97.512 + k%DLT#L<<n]#!lE&!5o]T6k^`FTBt3DE$QnDV?]cj$BTfDE.nR9Ye]Qa`h@(G:V^7hfEX))
  97.513 + CrZTNMf]m=>SE&[(d[@++ikt.67F5K`<!1XTf2H0'a`k,j/J[^8)>!$d!\`I%H=rP:uMn'k
  97.514 + _O1+T.7eMY,W#JiY]qM0oi%KNQB27rlmaabCQi$6%K3u>6Ucm=+Oln5jT?q&0'X@iUH+["@
  97.515 + */'3:idE.^0m*d5)JV8AHV*Vua1B+i5&sAAbV',iGcCi,9%J/0o-$#0<MH7g9L@-koB*(np
  97.516 + ::J^>p#l9A^E_1@[[JEE8mNlA1=i+s_VJER@*F<%!9(TfD+Z*bNj\JqLDX/YUS0_5%UTG_1
  97.517 + fgC!kBTkNYmJjHT-(kI,UXhG0nQko33U;4bUJTd5CU)@Bu*<ojiJ^Y`M<?SL[*+HGE+j(@Z
  97.518 + (`2``%T0n`1*gU'knkSj*FZ#eVth($:(i[q%UcCSnRuaXrYAn[#R0u3%O_ls\/)nS_',!],
  97.519 + .qfuN4"4-_8,Q1/i=O:C/&*E#9ea3!6UZP/=U(2J*AI-Eg8(oR45$k%d]H#E"4[4cKB#`1*
  97.520 + E"j@:Bkc(`G!'6>ig;@CYR\N;-;Rb\Od!^qLWHEmO:U*O;1`JPRn6qEY)i*`DM\1A*;2Rj,
  97.521 + $`(rc%]"l'`nh^'MG#d$rLD?c)OBFJ:%d)4KHmb8YrHAhm7ZRS'iB;%*'<#S%j&]`rA!GDm
  97.522 + ,K/#VbmQbI4bZ%>'Ek'HY09]g&1M&IV)(H.m#a,$*!8It`J?R,j'sbnnkjUpBDAj[c*FUo?
  97.523 + 6)G)>;`F771pIl,@(7#o3Z:;E(dZICP@u9Cf/p&0"V\^6F2^7O?t_k$r^jO9;Ze^hFOVGGn
  97.524 + P^)KO_A#fW!Is+&&?+$Te6m-(mi3NR`nGVUWOTo.N"8G'<f42i1b.ErB=,('u6mT6$s1C\;
  97.525 + A$7[c)!2ZcPRV3CC/9;3PhYc%cbeSf'iD%Nr]31<q_L`X6-rp7]/P"@VuMn/$Xl*'k2JTp?
  97.526 + %HB0#!C^$NoaOl.4Qi`:)g%J5_`1mBJ_a%<X&8bAZ'Vu@bLgF0nP(SP.RJP6\sE7?#B4oh7
  97.527 + mPT;-Ya?EPd%(#=c'D4S@?ka:PV$g`a%5o8c?5p_('o'L8cLhLM9H`:r$=I0a+L'ngm\jp@
  97.528 + BN1a(2&/u2(dY<:Eis0Ze410,%"dakYKiRKJH?^jX<!K#-/lQWJ`?lq,T.,'POqn!'7V)IF
  97.529 + qS3p)<$0Y9+Mtp5T4c])`;RbKKq$F7b7X0+b9n<eV-l.Lt?Mb:r1Ks!KB_1?E-pJ_ePbLmK
  97.530 + 6.(9Yt]_4jn=C5pog!df*#D/TNEZmImmF!@9<0:SJK/e*7d$$4Ui9M.(?`Ttp`ZM`Y@,?M3
  97.531 + Vk2=s.56W-^")aW7"Jaa@>0H/Gd<=QC2^q^9XEYRIp)[Rob@DnF'll3bL%mcHaPuC+`:_uj
  97.532 + ?(L^ts/uqi8WFW/2.Y34`2>:ZsYtf3Em<%\0N&onTpo+8;S1jP@'ZuF&;-N?T[o3Mc27i02
  97.533 + bUq"J1;V$K_0#Xoh@@lN63(S064Ypf-4>I#&4R)e@@lPG=[U'u$Wb'o^]kR_a_S?0Cu]SDZ
  97.534 + DB"RDARk=*&5iN@9C5$ndT#`(]e^uE<]%/c5_E!(BItb'QP(!ZjBUsDF\(A5_'VXp^Q2>'T
  97.535 + 9F?U"".DKeJ!;EpNQ%QSfs&d;u6!?A>m/_7CPkr#;>M'g\c4Td7*GmL2f.$!*a7<N%%B;)%
  97.536 + Q=mIl-=;2k'3cX)4_Vr__5_45r4>"g(U?%CM6$n$3`9Yt4W%=jf_i>)o6p(L1f(^Q3Cf0*5
  97.537 + fkQ\N/^S[:tiO+&W[sY[//U#X9F2\^,,S8q+$0?L;Vab<MPSh5e*6U3HjIm4[5TDX<)5U;4
  97.538 + QOqAVh@-'W(N$n\[O*%hgDe[Z)IW`"/_14nM1VJ:+i/UEGVn#Rc\&$``7M:8JZ]m:i88B9%
  97.539 + 4jG(8&>LOG@u/*s-+BUTS41@U^gh+'>YB]ergh8gD).*GJ`>cdOcla3YcC4!!(^h5hl\_@s
  97.540 + 3*'4"nZkDqOs,hXIlSK@\B`34-Gn08lNbMtjQ935d99^b9]HI8i:X2Xh]0l55PHDFt6O2[9
  97.541 + L47T%-@*oVPa!QIZ]SOK5pNV4$I-!Pg!A.LrX(mYIQ-@n6Yo`q4lF$L$-!;DFt-oS4K?;18
  97.542 + 7C/c-<@MCb\Bq^+hTZ!?TAU0:oVVu7u^l)s.<2Gap168m#_p4>eqB(:P*<F1skGf6g/=:t;
  97.543 + S18HA_m5ZfGs0^"(U8I:3@gM,A.2V2#+;/-q3d[sW$f*u!k-]X.4K9<Xp^ni(DEDR!?4sXW
  97.544 + Gc>iEg)1h)%7@E+\0[,<HMMriG97f^)R0b*\4K_@fG2V'Yg=dTD>O\,)8d7ZF0<&GaGI,3,
  97.545 + :ig[MH[*#n'7[fn:W8rWW-<#nHV*!N$Q>+XNgU3Pg(`iOg)pBH>!8`s8CYcf((=6K@cV)3a
  97.546 + *;qIDc`-FFYOV3';aTqZG9"fJ)2;spuig4cH6d`IeW)[t:2#X&;?#Cp5b#s`GF&GR*qjr<u
  97.547 + *;^'.#!Ts-M+qUH?JAHFARG>qt7ZpS-)BjGsqQ_/e)_$!N)aG@F/,C,El)8egc]]qD/gMBE
  97.548 + Ae])Ghk:"9eHE8jaeE_K4lC$soA';%FH"%#'k(Z%eI>8`IVu_b)Z!O!Y!*\R"q<+-E'"Ii1
  97.549 + `58VnBd>7*9!>'B@%VU^TQ<s[JOC@,%IRU05ShQb/)gSQ8Ob,hNVF%$c.;E_6HrjE`AiD+*
  97.550 + StETf<u-)Ao-C#VTVca'l'I5q@M]7`!&pH1M`+EIm(-]B:RmJPEdbD7lOp]_f\_gLTBH9d8
  97.551 + 1XFFfer246_pF_RcE%$dTTQ^=FNq5.f=[)$2ZJ97<sRj]E&-PJTSnU!-V0H%E=*-A&;].Kh
  97.552 + *1));HGo2bQ'2c+]kG#Tp560=S+[-K6%p:'82;!JnHr\.5=g$9rEl%-$pr'cFVA[5%IA*6$
  97.553 + "BDq!!r/I-XPp)r!SP(rT\=Ve<Pb9L.fd39UnZSd76@Vg`?I_*M*ob'%;YeDI'pqo0>4WDZ
  97.554 + ]k?"15Oq@#^h0_ToM4PHi(^47QZ-*D'4@&O7=$/[.*'S(TUmegKHTg9jUTHUY'Gr=HNJ(UW
  97.555 + m$Ad-.].]a,Ik&.S4n&_:HU..>?M.FPm]`LL:53O>-3a;[FH*T9<tiN10R[5mpjg[fKHV5R
  97.556 + taU`#lW'k'KL5ml;t"$,/+O<fDn&JZCXUusk@/iUEIX8>J]a3s2P--!Ej2m3[$p(K"aL94H
  97.557 + uq+Jt\WR1bSM`5!XY9,'3#4V*?,6=>E[^\XU0n_i`,BMKM!:nZFi>LIRh=d]R+DoJ][\m=(
  97.558 + 'RE"c!Q#dDle(%lhu3Yq]4k/hm,%j1]HOis(@9]t?TJ"T(4+9h-67,jNRd@BI[1`c4`/6$>
  97.559 + 3W2M(]c)u6(nq)4<=7B'WVu_^r,8]Zitfj'4SJ,!C>jVXlccli&cnSlT(eMA/&9:&QidQ5d
  97.560 + Q2KA'LC36&Tsmh$LmC_9agh0KW)JBA=F1\'JTT-.&q;OKUqCBbrNng8le?rTFg.g)8j/&F,
  97.561 + 8#iSY[6Za-0BmG`jQSmE.\l0]V[M]N+Q>M$CDL30@H$/g,2g728(!#u\`@Q,adU"8G9/f@t
  97.562 + Oj*J^%OVqZ&"qKUU\5K<aeJ&oD3ID$sl_1BIj<i=d[ka+_V2s:G1[@>uNM]l0L.0e%JC?84
  97.563 + ;A)^uLN/9DRWq`V"#@mR.$9Z&I0e>m37O:d$(FP'511a+fBo\#oO"7?iNN)cHhsJ:!l(r[T
  97.564 + =+M[\Rh24%iE^^"\1OH^E$-TNZg:n+f69VDJIILnNg?5+V##kQ".?*ngZ5QM+SUK65gcB+:
  97.565 + XX;\aoNE5N*0@<%]$tLI:&5(mIcE'oPN@&X_'c3?=/Nj%7?(!_F[>8`%m`"KklZQV6HS)3i
  97.566 + E\24I>'&LZo/o($f[SBSt\D.o_Y-W(:?.BRW--S%fa'hL)R;l\@teXFHpY?e83X-NPsEEH*
  97.567 + SXNVpniQSC@6(/[*1ZM2#O_q2LDDj!+f%"A.S+!hueoQP_8$Gcj>?RKN>,cBe`S&2+AJWqb
  97.568 + )4\]aW2_3P<e_e*r:F9+,Yp"'8m0$I=h>U]pVXi#LYH\?)kGRKH+i*Rp`(=k%uJ8n/3+>L<
  97.569 + 04r@j)b&;*g][%ea%AT*M1l$\_Z^rhqf1,NUc+Vq>ChR=,lqPpNQTY+.(8hrdMVN/B:p.o#
  97.570 + `54`H[%PQ&l[d!PkofNZ+2$=TE%R7eu-A6>1r:HCnf;S9:*n+gscLL02GF(Lf(1=$[B[;Zf
  97.571 + I.6s16iU*sPQMunQN5n:n#9MV&]3J;IE7lfrD89,r\502Y%P*1Q?A;_g,nq<a,T'(+E`L4a
  97.572 + IIT[Sc3@\R%j2$+*$Y>F8*u.+U:sLji%,3[7lM4g>#3EqY-CA<Lc=R^,qc$4Xjlp)nRO1>]
  97.573 + ELWlRkm9sWgLbW"#'l#?Q%[hN71MbrdNl089\3'7b5#?p#)2:+/"'q0p1tJ^l-<lX8"%S?+
  97.574 + 0Q\&>?:F9F'Vjija,pD2?HJ^=CnUm?Wd"jP@[m?AXd=8p4IVZT?h#iHmLJQcYG\)EVjG(pB
  97.575 + >kh*bWl.<1AM*Z<kMZA-O33-#!?>R.,eGE4UhXoR<9A\_^SW7fb53RNnKL@1#=%B6M8HAf$
  97.576 + /XiULG<N+NAE7%+:a>]6)9U"k!da5-3H46N2-?tABE;O`Kq@"jpX3J!TdA9k%ehk*E<k'!4
  97.577 + `Ohb<>-BU\dR%u^q>Rc9n==Jsrr8CIdo6FXnL:T@3@1XY<Qq@n/WDH46"aSI.(s2<\INKrO
  97.578 + CuK3n\^Y@3F]g]#%:tX8*pL;Th7AB=!;J5c`5r4$(<&#VBc/;/hKA3jB,em2r.cK`S=H8Bb
  97.579 + 9!1o--^LYk<%"2r<GZSg30O?CcrQga):NTB3L[q7r\_pR3Es9LHoj9>"9,nC"RRq4`c'qpZ
  97.580 + >V;F;4rSZ9o-l:rk-)OZ.35`VuZ6+bg/.Zm:sTd+De@,]TVb(+0;GG93ZZ6f@o[l1=WM++o
  97.581 + jZ&tc)TqcN:nk]E>M3LjN;Tk#QMfRG`/H+g\QSH;L#XpX+6>mBem0gm^4)?P.P3&+,,7MtY
  97.582 + 86Z@K+GOB>RW9G;!Zrsm>"tmfT<#&h,'gRMBdXc[Z$E[u+%Dcp2c%+/</(tQPpjiuc'LR\=
  97.583 + (*c4lOV2,&9/j#8niC?d8mP$U4n19X3Pip!a.SS,j#eT>F9;,3.K:.BE(LKtd/'KI3+!p&D
  97.584 + @M`d/qo\O'+]aWL2hk\_@m98;>'1opTF3rfQ[jDIIN/'?H1XaBoR*QR1.-s8S!4.P(jg'&&
  97.585 + J&H#2%oP6I`RQ&W@o$J@Q-*4L0S&@+6*.WX7g<1'BN3(^=*,&#3B0M4qjA`NqWEAFt+<;J.
  97.586 + ;riJSSU`OUm<\dkQ1$#2`V=H*nV,,$h5)i*'ubR(O4B%5S)PBLk=q8#%'';C?$mIq-YUD/b
  97.587 + =gkrFuG:UMf43,.-&n=`aK99R6K!7ZZUBk098`!0sE9nYK0Op-*;CESbbRC[<&u'XKoVdp&
  97.588 + HU?@HL7sAC7[/]Jj'6;Yfbm%X)jD=o16VlF:^O+#k9bh-QOV)G8=\sE*GRiK2\D2tK<Vor_
  97.589 + *Soh\X,)1BIXe6S0JG."r]seTFk[U>RHe80o)Fc*-2IT&dbZn#/I>S@g##N0j5:mKgAG[0H
  97.590 + &F!`\doRP8p>??B7t53GQ6KY*ISM=*jCCCXmd8Nj`u1B25n5>H47%p;7o;Hp,E(Kc0MGkm*
  97.591 + m80h44b0U<]E\tQbpa,%MI6]=ft@B(G;TZBTSk/U=<;'42!=:"P&N%cEM7g?3GU]\tl=_Bo
  97.592 + :mEm3^(A'T@qf&;LA@rkukZ/,^2BbNiHOJiK/VAr&!fH!3#(l>*"`mE[A[%UCK,e1*<G<AS
  97.593 + #o5WJ]oA#F@OOlgBRt]^k`o]*$3e4\$$U"@MTMfA<qYLfQhLGIRTqe4AcKQ5(B\&m&4LC4:
  97.594 + g50q.D!/*KMBPK*(.siN/7VQ_GE3-#]OXP*$e/4:u<4XDU++?05,2>@L>Hee(Uj$7)`P6#_
  97.595 + LD`L/EOI`$!>?@Z5.4Tnk`RaRhX5q[fg4A!12\A'(,YkX3l)1+LqG(r@CSe521'07-MoK%)
  97.596 + Q/<j!<t3/FQNUid,$PbYO('W-M-?&Hk+)j?@Bb@$]="^knF'&]!S_[7II]`FdJ'$3b`X?#K
  97.597 + `%AH8IMpQc/7qhiE#]Nu!,qbq.`Cos$FO;*I""\Ru=/6jh5f9ifClg]O^c-6eitOgfCK_mC
  97.598 + (rDjs#*_IlCOBZEKm'a<9?:V_@A^f["g]5EaEWc:9QX&q"kesX:Mfum9M?#k0;C4;MZH!s"
  97.599 + CQ;o!i./pI-P;rE&bC:IcLcMmk5Vld33_uSW+ek.7B;^$?sMRedu1l0&H&cgTuBJrW$oRcN
  97.600 + AV]B7i3ql+hOF$fRU4ltJ9&H;@h"dl]^G7bq6*UE^-R+T,B$6%*"J[\l9`KPqAEJhDg+)8c
  97.601 + 7>,AUOqb\]mK#U7JP"sJLA":38G,@k9m#dQDpS=%CQN0fS8O=e%?Hg-04V\;Nl4NCN%^l=k
  97.602 + 36aDLs')6\f!N7=+WE%SEaK#XjZCV4,EZLX/2Q!#^J&B[R0a5U%(*R^0FsA\PN?DM"JlZ>e
  97.603 + *o5b%(P<q6a2:+c:&tNrMt!;sa*@V,6St?b_:i6%Go`Z6#FcAD01\S=0q<N$^R-8%'9`qUr
  97.604 + &Fp/S/VMT5)c_u(Idgh#GTD0CPu+Y_Y?nC+nR^P@59(kgDWF(Y'?"g88a+db5aa`(]=4A*9
  97.605 + >/8Ug$Z:_IuauK7HgtH\AP73m]^;#`Y%"ekK._)JmH)3#(r'<[lnp=EaTQ$6r5AM%$00^/+
  97.606 + Y+S[]`Upa<i_C;:ef^aoRQ4$Yot8urSO-Y&%L6Um-@Ii^jk\U.NmBJY7U?3a#BXK2[6J9Qc
  97.607 + fHp/r^KkPBH!,2Pn2hi_6!cVC!HeZAn'c;I(4c!Hu:d5.m*<s;fL$3Qb89gnG%uA"R_C>9]
  97.608 + Ca:@uCBo*&#.V:!)+t'nZiU?u$L7>X.]%f&\:qct-j0Gg89LTB!kSNu$L4jHJdDNmDM?/34
  97.609 + )?(XHoNs=oL"Qu6``@!]EL!)#HTI<ZiFqIY]mJUlBjh>L4Ek@<'H/LeH[%e"s@9.-r_TnSH
  97.610 + `ad!ru^s,T/b^5FokJJm_gcb!N4\=bU7%2!B'1)rs87%E2KG5)LkL8Os%94ba5+K+OsgPPC
  97.611 + eE1QrA%L3QGr3,jTP=U1H=L\hWJ17AVj;S1^>+@;fS1NTRQ=tRBT`iNrF]PL']D+<1QV^cb
  97.612 + c8:*_Z#KGd,&?pS8pc/O=Kq6:dKfEs?+P\k/I"nS5LM?:6"(4VaA$KEI2:P=?q#Q(\*JK;+
  97.613 + K$[hW3'E!m;?YWf\O^a-!S'8PP!2uE!o/\<'T=4K%u7B1L1k#4bBcC"E45R9Jl5a(k\l15=
  97.614 + $JZn^8)#C8Y60EpC-m82Yu_@\86kD:DJ\)7tdL+r1HXjTh6<!#b4#aZj+%9U9HEb"W0r<\T
  97.615 + `aAKrp#<b#mH)-ut(SH3QoKLH&:f&8aQ)B*45N"pc]1(g9H59bD,qa5^8*#YToXc9u/B8;o
  97.616 + X7#Y@\3OqkQ:-6k[;&2#F/3i+fC"1Tp4=@NNLAHhp;6qHgR3+Y/+1WcR/Pq8F/J5?YNF%Wg
  97.617 + b9^0VZQurMld6(N79_?e.4Ob-gUVLCF9hPGJk];>`*<h:Ra?X<0[+>cooEWe8"lNR>#YtSr
  97.618 + C,LTtL"hTlN8u5][]sYXbDa!QJG-]LP6>9VJ/%<6p`>4?m14g>_JG`qo.\CY>dk@/S!d90k
  97.619 + psCLCb($V]B_*O+p9QU;M)dX"UjWjbkt8YAV<2F2IHTL=XMJF!Djd<%c#UIXJE5B!j07TL;
  97.620 + 8"bUpLtB63\ToY8%5$/.!kpHCcO,"`RBEil-XtJqageJiHrW;qoT">r@;5#.S,rpi?["E]?
  97.621 + ^I!W<rZO<Drlm$)UZV$K%>)`ji]*<nJlK:;[r"J7"P]`l=J'1rBGX)!C`HO!r#:q\AW\L3'
  97.622 + \/L6.8"iW,m`@t4"0aXV23/DmA:j^H(0rrbH`9:GC>FU?IHj@<N;cr=[8b4@k'I^J"W3$b/
  97.623 + 9S!A'2hMBD;$^<Y=Dl0PG/lC)QL,Ulq':J-P(]Au%P[C-E,GlT^5H)D2mi+4iqA*L63C*c"
  97.624 + VOO%,+:UY"3&FG!Qi+[+En%BC/_ND<N,8M^^=)bk(!^a<Tn*rrEE;3@9+C(\;YE.)S8F+%#
  97.625 + *Yob913ASN>=emF/n3e'[[6jZcL69Zi/D!ao6?oXG+4*eu;JLSUrS.!4'39@m9ef4a"GfR!
  97.626 + k"-&jlI;A/2i3`r5_9S[:tL5UN'=gnT<9*:+?]+Ug;5W"6=A-M&e<gAGBGi0&s=9b%J=G;Z
  97.627 + 8]`M"nA(\Y\(DqQ:8TgW)4,+Er=Q(H)TQaG@BiF%19208+GZIP(5u\t!"Aibi'$Q,h,.M$(
  97.628 + =m1%^r:W%Y:`q=*<;<VRBI?"U7_d#rbk,VP-rnthB.>b,^K$J$]rYD^X]jP==OYG\jfTs&G
  97.629 + lo`Nem[j[:h&,6Y`b)mLOac,BOh?=<Y4U;#%_@t5laj[5GIpS_6?I`0P@?G#)@T]1]Vh,3,
  97.630 + o(_1P2huJ`mVu7AC3s1Y=s1Kt()X][p58H;?\(TLhm3>`OOY@lc3Lh(<'53GI;,eQlGY7e-
  97.631 + 4C"c_>IDVJiPc7+I#J3o!5fbNi%3B1B"^i>%[8;<Q#L*[J[4d\+K"bTBh9,(6Xn8&@N_Q2?
  97.632 + W<(X8T3p<m=,1UuK5LfVG;u6]Ll5FGXbX=)>h=OVZ!/%uY/a*THmJ($_q-T[<NtCj$qK1PQ
  97.633 + qBj,lLW)1h>TM_TB#g-70_#[9$X'%%WEr1]2:L33nV[U)hZjF-#7,UQ#^?RSD'\uRJm+h28
  97.634 + cmG#,Z%_uL1j55$5jatm/i-:"b</P7KHqVr>+T,iMlVg!%?fl*F[_6g@YT]^)eP8bs]A_,R
  97.635 + @_1Y]4+YDq9V2(GK_0=?hOJ1BOde6&#R\?mlkO$*ca1L.&2Y3[0?`G)&d?g6JEtGY\Cn++k
  97.636 + CPJUi"pXXj^eG)&n+KYTlW.Km43=Q3@F:X%2gj2;6`ETA0)j=WeZ[NAFK6_^nr>N$@Pi]!_
  97.637 + 57@=^Y#OU`1F[LoMZ!LgEa7_$N?#GA+63G#6gR)id-0^qAQkIbRKCCTbD1ao"ouTa+#KV1G
  97.638 + NA1b'GG]mZ,rmidM4t)e?=]X:9_5.dp]KYL.HX`=Ao6&[/nejT5uoP4A6*Cg7<,QR'a!#6K
  97.639 + t)D4G&*UVeJI.fKof:=mCL@!W8#]$Yh3&?id(g)Xp7+N9iRFtLh$X%3mSKqTp.CR#[&%b$]
  97.640 + XXgkUC=54j>KR8[GoE'3haC@8m?a@S-!,kcCL>7S.:%NG.&Jk+M=p7Vc\s+jL@.(g&kP87B
  97.641 + <"OW968L3R87;q6W<5(eAq=`/C!EHjA&g]h_'KqNCj)(A?mn:crW!Ta$>8m(2J`/Z<gJA.o
  97.642 + ]QDan7W<Vdj4E=k";`Wt9<fE"2BjRu(2M:;oZ"k:WA5&h8+s4*B5%"C3lTrl&:ilrKe@l3&
  97.643 + 4Q:^cc;0R#I>+_("_^egfP^u@GZQlo8SE.!:gXmO1Za2kR]/l3hD#7+lNLV;;W%OeBO3e=_
  97.644 + Zijl'70H%+?AYW[r!'Y=%IFdIaeD4eH,BpD'mkOHNWRk"`8ha8!\#r]XB]#9C8G#3[*-Pn8
  97.645 + 8@?3eg,;l*sbRkZP=cG)#.pllFL`f#X<D9#@#"C*4Qdn3b'#CQA0GDX$rt0(<J"L<j<8"(=
  97.646 + t`qXoVoDhcQoDehUk`qUX@?*Fh5Dm&sfS33+VrGT6n[NXFgC_h`D$LcsHZ4M?Hk]"oUk69^
  97.647 + bld"P#p>nec&dOH6$#E`4/V9WfTu0UOfD,aX2\6I40N=]:\7;QITL`YaW)V^-#(H\oHN^],
  97.648 + ru[=fnZNdL^DnMqf-a#bgAGs\aj%n/CYc\ZncBoco,n9':P>Z]duD!b%(4"kKS0=d"uodP2
  97.649 + %9hmBq#0%!dXtQQn\XBeHE<@6q+0#KP-KTlQJ.5ni&K\kU,n\7tf2LBZE('^H<UHfjY1KS9
  97.650 + lI/M&)lpiq)FXLa[^@2D.pg:ND;H!pCtb`P7Xr7u)V:$s6L4`p4pQc\<9&"%:*3qYaU7*hf
  97.651 + oY2ZYi`3M;%SV=Z-9/*-(eVcNJO=WH<^gBUlLXVhA@]9-jVoJ^!K)prA=F`^9HFB]UaL`(l
  97.652 + e56:g<"Xk[s"0laMG_D@++rFU/^D_b7T8.0D0'HU5af&2N2-`<jp&B(RCI5C19nLu?F6@W=
  97.653 + Is<'M>4MW;QOZq2??l4E,Wu]O#"WlN+>nc/?XQ\ZJY5Vg0HgLj<.\IU+@o0-80A%k15'%?"
  97.654 + b:IIl6HDfN<q!;puk-@qJU$_cuW'r=B<Z?f9@8:B),cVE<'Ko:RHEac"Qc+\=VCLO`.NYJ;
  97.655 + *M/[FV!r_BWtqCk`KeK4q7ZBZs_3'80I3!ba3;YXB=5W;5(C"NY@k-OQCNPD0:b"F%$rg0t
  97.656 + Ks+H5&nL1!W+q`jo^[2C&fJ;:TUO?%ZK[JQT-9i_&qg;#sZ"DJCXQ<8%"LB!B:RJD?HSdP&
  97.657 + n`&-!62nL1JKjZlmE2A8"5g*/n`1:nt@Es.#AqE7m#q]D4UT!_29I0VW$F;9c&&S9:E-G\A
  97.658 + <S/5gG``-leU=(D&q>3*WFfOpL!]#<*.gm(T2LkX1X&:g#[=#-TP+R<:+*0L>;o"_0.2D)2
  97.659 + [1[7Kn+*tU!4j-<rUfF.[Y5*kHY+M1#DZ]s!_:Zch%GQom\poIq\7u^\8K$H&%K0@NcJok*
  97.660 + :FQBCda3aUtHW!jns^Bdf+iQ]o,_$\h#Wd.h+Md.UWn>K>3>(mI!^&;BDjoR]:NP"=Wo6&N
  97.661 + &3ARMRgmDtLF+Z#Q]B%)%Dk&ibW:M8/Q"U9ZJSN0g\eT"]%W?qqNPj3#)]KC9lfX+8iB!kj
  97.662 + G=)6@`"bt!+Z<;"pHUXg^CURGaf)(-Vl#Tm29UB_sjkY9nhf%-E"pY<a_I7E9Hq#IuMoK7H
  97.663 + f_gIo-'OlaZHp2$k;;nXB3uPS_sR>rb%YtOI7C,7=]qdEdTI3fGd_U,p=k#8kB2f5^##kK)
  97.664 + F7P+(fU4Zg3k5X^dpd5(0A]<prd/.&kI1kCmMQ_G@]G@(r9<i/h`IRk/3J&o\KCmds(EVq#
  97.665 + s9g8YUYs5YT*_)P77kh"ST\*!l\^co_mC_+P*L#(R84+UAfZS/2OLd(D(A_bf,K%`?Zk5nK
  97.666 + opZ2DtTkJK?,`DJ]`d@[ZX@2R!\dmefq,)LEo$\Df)bXM&lJKW$.\bpmuL=p<>Q6PO7r4aj
  97.667 + $?tkjYM=Pq`/.o[8Sg>72CQ/D;HLEaJ&jeG`Aareu)bH!CTq&H7aZ.3e6/H"1_\AW<Q"#8E
  97.668 + D3fl$gHa+b*=5'Zd-+=p_D$5P7aUdU+\:$\SLI1Ze@dQ.7$08i'ZFnlI*tqN*D'/$jr&Jcb
  97.669 + Y;fb;cV@qL34Dh=`?8*PKWSu$/nIE9+V?Ei-$k'3QcZ5Kd!l`N$\U&<m6U#66W0MJAbh2,t
  97.670 + Y[lS]A]!0AF9:^cC1??-*Kqk4u5b$t9rj=UX3QenZ/RL$<p?f=g\TNVD'sIZ9]iIt6E9*XR
  97.671 + GVfKKn#iDLmQbXD*nlP<GSrYLIObsO%3N?Zlhn%2$$N.5=4*_<fn#AK>kNpj=DjCQZbLdI)
  97.672 + 6OiVIM7sWg9<J/*<@L0fD?"_Appkfq(UU\`\Q\DEUHQK*@"Dd9f*iVSY"%KO&SE=gGJHe!J
  97.673 + HoqdL\_M>g]0=WLm8,g`[Zk!@h71C]'/Y+(HbT$_mp"ZE^;/7T*7)T/)<uS<d;;=eEEl\'l
  97.674 + 5^NRQ>lAaT'jcDVVuDkQ/]Sn>UedmjssasS/-Ak#K^d`)rmU8@9L/T?mURSJJ(/7Ar2mtj"
  97.675 + ZB:hLJo0+9VC/#DiSQ`R.gOKiPsX9Ft)Nq9""iT;h+M(^Y\m63ap0l[.Lg_=7A0+0!$tEBa
  97.676 + b*T,^<LnpT9<2ib<k(oCS_It-u\*X;_Q?&h3JcP4c9(P15t(]qd.^N;S"7p,L#_O,3Fi4^k
  97.677 + j$U]NekoL0T1,XhXk8pRTBgNB%#fCI)5iu2u#o.D/JnQPO,/@#>Qt6]bU6mQCciV+NX<jS$
  97.678 + 22BQX+@I'#&C&D\@HMRGYp2Zr@O+ZJlCh30!^>Y=FB(Z25\g_#0Ijqq/;7j*B*k7;5)5g%:
  97.679 + ns\)%oH.O#0:9]K'h22oqX*D@)<`>jDgsU4H#:EQ5P9N5:_:e'S15`(o$.C8=:2:c-SJ5^]
  97.680 + m=2fd%skUl:Jb?;*qY2%S\%SV[lVp.;e_OO&eB7g?an#8)qDj^F5l,D^3J!36)c0Y@mH>^)
  97.681 + 1TXJlEFeK)M#6k&R\&4N+/2Bbm?Ma9<J`hLD(mtCIs_3-$qZFCYNC`Er$YVYBWh4)eoF\WN
  97.682 + M38l9&%'uJ0NEOcA)`6HCe%U'&)<@V91NbLNGu-o<gH=ZY"r:[LDOUif.n<_+-<'Vk()JMZ
  97.683 + `F,0s@'s5Hi3!L.kdV?[=aQq&LbHdt(`:(+)716W"f%H1B;6;O%V0>7#O.Tm_B:e?d\]-^(
  97.684 + u:lBhOHO`*DY=m#cGquSCAI2;!K>qMX30JcY;f1U/ZN=eNCr1iV!ocd2b=.KM0M"TiT6]A0
  97.685 + #.W4U((`0LPVF*lG4(1,a)8'1ggbiB1Ah@RA,SC<.HkdASHZiEj]4d:OQ(>RN7(&-nlk2RR
  97.686 + SD=HuQ9/7[C"iu6!@X!M<CV3S@*%SiaT5/_*Y:9sS@[tsP[1Q?od#iaBrg'SJD`YbrgM)CW
  97.687 + iP*GLU>R=q9<KR^[PWFI/FVtmFO[4''<<\2F&YhfP9_;jXDI=Hp_2d_S_T$/A5`H82i*(kC
  97.688 + MEOI+jgA0=n0/R*56,if?_EO""nAL:mg\Ztf=q#P4#4`(CeVQ%gnG7oZ9/d3`>@R'r(4GnP
  97.689 + _=]@"Ua0q#Je0"0([R5_m"Lq;)gH8cq,#%)M*\UkV=IL!CQt+&2diCLrT-7/+5;\?%C'08%
  97.690 + @q,=9f[Q'$E7):nPbE[i?/]pP6#>4ic4T+?/UAqJ>3X@X/2('2[<t7JX0#K+fNK9NjK2n95
  97.691 + 7;Hk_Q[<[OrTmZb3UEsE8r0Pcdm%cO?pN?OcQ:pB?3^dC(=@#:Drr$bpFJ0,:fcoCTVIF#h
  97.692 + o3bT=Y!0D^id+SFeBUom4gI=PY/f8rX*>sqBaKcd"$)9)K\YS*omMfY4=_EWo(]jK=)0%KM
  97.693 + NH*eu_q<+EpB@5q&B$7l:rTOb/9'p:Vlnkf#9+TZXptJ]/>ff,*Wq(4C!Dp%7,H1'g'i)j*
  97.694 + LF/,VUaDB[e\UglTY$UmPEnm-Nh1oC_^R<Easo6Md]^%_0WU.62WJc8M3(0;"pAf:a^nCAM
  97.695 + LJm^)=g9(SJ%@^rkU$)P]#MK!Y'[_0G>d,=cfp)a9b3/<Jl,";pZkTuQko*TPq)O>2WT&__
  97.696 + ?"aS^e^lG8^$,HiM4-<P!i;'a="^sEah,&#6TmQSrVfU-^qOdc@9)9*6?Qc]SZNa]g__85p
  97.697 + ^5r]RC@=-2/V,3[kXE/NUX4I.1?0fJ!CsRO=fBfYJdfQn$%fJ?>(X18E69mZ6Lq!fspq.?K
  97.698 + ,^^,Bq#eXp<sZ[nTg;NU*6'u!*(.sfO2I\EK5aXg"(5/d^=hT)-9Ldi?d*ef2:sBI9'fT%q
  97.699 + g#c-5)75X\;%e&O`*XeHr0STJdaL&:ia3<D+5UWk^JF5<&[.B6l(ai=575Y4NEQ[6dblugC
  97.700 + fr1`0brFIm(E)0;KpYTJHAl8/D.7[J'U_cg3A6cu%+@6:<5Ij_&s&#(_R)e;3rBUWd)#OLV
  97.701 + FsTOJ0Ob]8^O-b&,<fa7_,hen#ji1^J8B([=[Pb]dZc%u0\9G]tP$7O%hn(@bs$l!Y5Z+p>
  97.702 + VYVuWf3s3hnfl+Ucan5cCqA=d2MBcT?#>B$^8k*aS*bfEtj_u"9ed5dO*MLoo%u;;n4;*4D
  97.703 + G"SjG6!+RA^ssVC5cbe_6h6s:BH;Z@)iq350W%8->meP#1S?$%7][$F]*e&B$kU:g&4FUA,
  97.704 + n*AVmihH3i+ggE4r;%QYjfq*623kWWljfM#"+or.LI65#S-s!Ju$>X@58G2V%"Ym1<RD694
  97.705 + C*Da;Da8?XV`*^g.S+iZ+'A'*O!,!8n(/3YRW>L@I&6;+D=WjO)!RdLaY;WAN1"a?/>t&2.
  97.706 + f6A.K0$m&U2u<tJma@I-.9Jf:>W*Nf0O5dUh`DAiPAi$28A6"CZuE;>%ZlQOIQEMdKdCDt%
  97.707 + ^)\H^%6o$SR[i<`0*!iSRNlN+g()2<X)WP5BTktdDf,G6Z/;^)<@0R/EE#2pA$>@M>bl2)q
  97.708 + C_bpC$1Ipg8EUP8V"B_d0riM>"J@t*e-Joq(SUi[iNNN,.KP\b)fd_TZ8X"k4!W0;^bNk,1
  97.709 + -g<s`bo6+(ZF"?6e*A*.Pehc-5&irTn=\C'.2.&/"rOJ@163J(^^DH!c=1(E;US#KFEC2(L
  97.710 + arqEe5J)\gU5&)IZ>i6>dYrWiop(-H]X(`10$MdMbE7-B[.&;TC+^at/,$/IZ>Edap(6g3V
  97.711 + 18aO!L1a1T&mYqEk^0*2t[TUH+&`]NGaVS[?jo*,I6$4ep'/n,SPXa17O)B%!F.j;D<ThHo
  97.712 + o8-qOR&tjs^6"\W$:?/%4(kL&@cN'bKO9WO.+3&+?_#lQG4#P2D-VMJf5U6]cCEdXEDBRa3
  97.713 + !cBK]MXEb'%,lCi;\M-B\q]/S3<19a5f#IEM`K7Y3X-.eUGf)kaZ:du21Yfq#oj1'W"T0Z$
  97.714 + c,LB+C5dl6FWYM+m,R=kB[b>\8'I^(/p(qPNG1@"ppL]'_Cn+P*dT4dMcPY&E&!?+Jo:C7K
  97.715 + FV;'4@74U#6mKZK8p`*[1,'L4g.HrY^?_+-&5t"<[fr3Y/S^0O^!i!cA>Z8jX"=ct"7/oN!
  97.716 + ;o//KG_$,JS,^d\c`@KQUH"+VQqe94-a<BBc$-V;Hq`i&lM\>rS[8JI@[70tRY<Cpfpid_>
  97.717 + -:bi$$#$_-:!oP7'^dnU8\u3=U"!eulFN6H#q+T;T61-9,eCFp?g'Y4D$8g`HDDD6c%KM6b
  97.718 + #iJ#N+jq8PNpVI2*)M5\5g0SoGU>!N#5"le5XSD0YQ^:5c2]"^#IFRJ.L4KVc<uG4^fgn,*
  97.719 + WY+'"#F[!e=T]l*dE7Of;>V\[9$>8>?03[W8pQi.l?=kb2i5'D\V1<2()Iid7%I33oP3`<I
  97.720 + 7i'ZiGUZ!$Qq-JK",G_Ag>P$ils'.RrmCC(T>4&s\AZ<OZ(o*d!Ze</Ja&FiPh[K3T/;>nt
  97.721 + dF<1?q]e7>7m?5:"T9,JP1Y&J&p!4CoiJ><D\Z@Pe,W^-Cj!K9];Op9lE!MC>3p%;aYZj8Q
  97.722 + 20N:PJcm]=1-XtX[@fm5Uk6D_ZgLDQE7DM?&<Z6<a`WUCM4k</$FK,=,]Gj/@qkRs>_%mq7
  97.723 + _unpM$$K<]:buDYE%g/bBE2CQ<DR,uMeL\&BbEL;E(;f%P$mmC&GC<:<*;dXnS6XN6/]Nci
  97.724 + 26^Xl5O^E,N*GBi?)hNV,?/R-N`'=QIeZ\+9L-N(ma2rf&pq:lYb'"?'=;ejouhAqaY$'B4
  97.725 + 7-G<0e<o$YNiT8kj>H:omZQjs2&l!FSiB[R_)k.PLGJ#mRMMiIu?=pN+qNF;I:)2Y1Xl6sc
  97.726 + -IA<du72+m^2j[rM@@A(aOJB&-d.N?GY"[G3`=!q41S-+Y!0>pTnf7lU$RdsNR^+u>gpQdV
  97.727 + EOa5QNH3+sF@IgC4R3[!N<T/:O<_*_0]2eA^#1`@$+:2_D1).Pc)ZYBl_,#%N)dcSp!u=E>
  97.728 + GNLUr[-Dk>ZjXkbGP?%:+:_KQIi&9<<p+dQX#el;;ZoZd?qk!0"P!*MH_B\3:q@(_[6gRS"
  97.729 + 2HAm[Ik.iohmQKJIa0AG#CX`M(5gIKK)na<H3,A6\T(u&\)=TG?%l`eeXO[E<$;8Z*a5`q?
  97.730 + nF3'K"9C@AAX>Z!2&H%[^Sno@."Z%n]m(%i-IJ=Jq%?TnTcaMPUZNPeU=f,?tkbD7+\[i6*
  97.731 + +GPTCqo!PhoAQkgj4O][qKig@%BE%ViF`Yhn?Nu7I?esBFgooDN_$[DhVR-e07.L(#C8jEW
  97.732 + :E]+A7a:Yh:6f@eaJUN]HM0NFAO81Sq=Z;P$h2dj`O4cQj+bu;I-3P2^D)H<_i8mjE`_k/H
  97.733 + 77$>B!"K&f-]!d*+_4@mi#)VL/=f)-PZ`X+=biB#Bo;_D:d@,FTM#A5`"$r;()`l>L8`%e>
  97.734 + 9n`p$,Fpj1qEh,BF/(,#d?&i@!i2i2gMrrSJfnI=k5=<O.Cr9%KP2oE&+^5rE[7pc,h)T5c
  97.735 + P+*JLt<+)Bl<b+9A-H((<IB%K^;T_!cJ[Zkn:8OT[<ei*i@1rM&!&UDbq`=uIp,_OhJ$FLj
  97.736 + G!EmPib'r8bkPi+im2:ZA*?:#?^)aUD@Entd@X;UkP-C%>@^g[K*>XJd7#9&2/d5RnJ7B"q
  97.737 + $W>[^GZ`AEKP!c&a$m[!aer)I4+:MGW3.YA96m53r8gd%?"U#q_3lXN$6Q0>JC>+7E(o=4N
  97.738 + 0o!M%Xr?&t>3>4?h6)Db)&i'4)Y6*-5H@(UFlBs:;i!7Q2mC*lYl]%]G!lI2S3o;-(gnGk=
  97.739 + ssRl6*B<!'0A!@Q19=X0=0CsgtM/&"=a_i9;o8RSXQ\i;m2q2rMJhh-R!Q>;qOK"?S,JO;A
  97.740 + ,Zl,o-QOHHj:\[i9t09`)2$L-WT.\JF>ue"aD3HI<Bm\B9I:S#<+FW"OH\\i[71;F9GW"OZ
  97.741 + BCA)"FKi01gC)6oKX&QUUFS'AX6*D%&O]pm90JUP1'\.AK)(-D-%]D''u6+FQ'10BK4GbJU
  97.742 + `'a$N@8J83/3,QGN)o:;O\9n7m!u\mB,J]Tu^rmb7'S4(n*Pn6n`"'OU_"_ZhUBa-!`5\pt
  97.743 + @VJ269?"]96V#r74@<,]-,tQJ_PA?lp+=00[DR*9_l'o[r,9Z:6UW9&(0m"Qr/qgbX[F@I`
  97.744 + Q#%!ggm\FMb/5\oD1b,goN2WE^BVI@XNK:gj_B_Jnj(rbFI#?4JfEZ^WIi<-N)^e4Jjfs28
  97.745 + s,O`dH<,r,'bHrQDtWbSAsX72O13UWg[nbm!^/r;4lq8Zi(NC><8K'JsR\*[^eh`Va-(K*0
  97.746 + Ce+AuJ9dBfCiSO+p`s3NXRct"BJZ_>b,,LIh&(>WF%4_EVhPLQ.@;B`Bu>q<'%Z-h^9f2N_
  97.747 + I4[;mCM:WBpe:!?/4\]\H$J.BNPaiAiHl$X2ms*Gj64;,JrKZ,k"4O%fZGM%?]]_5$N)8?T
  97.748 + gTjD7qn\L[dOeal%iq/[4eVb$3SJjDg84.O)76Zb+lD,2-jY&1bFf8j*T.$@abHq(U47XIO
  97.749 + i]t-h$",E4qAl_q1/Gm/H+Pa?0U'/iS&ir?L,T;IRcquXqH1;-_'ZB35PY:7L=F8jTAH#,o
  97.750 + >HJJ_tiIg-TFSJpZ;)mH3LHd_[#@U2T%#Fm,Q46X:egk,rJ?+3EMrkl,'2I?Wq_\`6pLg&*
  97.751 + _]4mh:cn`0lF.fL7LU25SXh?(^!FoKAH@o($TX`6[MeNE7H^31lp61)&,aatVu@VtBoM9;Q
  97.752 + 0dhk#P]NrJ4H11aa*58EB!f?4?H0[S@l[49?r.X#m(2Xq=F\XJ%T/Z>Y;on&:59WcL?UMra
  97.753 + #Og2gnAhrJ@2W1>$g:Wro]E5'I\ZRZbM8\KnGbT8D`^"MZUs%r.pj7>59J+!,L!nMbl93g#
  97.754 + "lmd4o+!%gnbh\ibdphJa^?\9Ki.&+s6(/EVf^KpEG+P4X`Vo>spim+eHSu?C1%cq><IN'R
  97.755 + [0\s*t"LL%npWpmh`dh$s0#&c"`ns+*GnOB==\&IF.XiK2]64s:Mp7,j>2ZsGI)NCMrjf^s
  97.756 + VY+d#=VP$'W5;(7c&jc\;=^0raa9]hIJeD('bSMV^URH$VV3h*"@Zl1bnNBno>hA"Vu-?W+
  97.757 + _!$`4>UcO8GT@-N#fR6q=@Bir$Q<Q5<d:p!lm?ZLK[Jb)ngtroL[GC.o]"Te8\*a1PJ\ba`
  97.758 + Qs;Nj4tX`O:DhkV59Z028K9`oZO\dSc"?R7H>CC![*`N.RU%hD;5r)\opX][^L=C+2KkA.o
  97.759 + HLkoV!T*X>+Hk85EAnk>Y)=B:WS7\[Tq[55G?KhFS_(lMu*<t]=kC$>M]#PrTa1USmO=l'J
  97.760 + 7=7]`-f39.JoDk'd8:[*(\-dJa*;ht-jJ5VNlW!^N^\Q6rR^q?HkrcpFbiU+3McNk(/?Ta4
  97.761 + !kUNf_TXidaW-S#$="%9CN:D?5P;@;a%/$$8L]Bbs('umMcDO.sh=RdA$Z+K#kQuVbQpHbg
  97.762 + 36s<-E<0nq'Z?2]e8h2&r.Od-HA:_no[&FJ5/d+"l_T8OkLeNU\GVi,L%+d0VP;K*q:,A-t
  97.763 + -H3$]?Pji^]_:hK';YXn51.f;`lF;Q%bO;ZRkZ'`'QXX,.5F=68lE%(02,;$dT1J=W_=Ib5
  97.764 + mg=IFN^[H,n`1[8hW,s[;*0/<]+%q<mu3!Dd6?mK^=-!9>^>4c`\(+@T]Zg#,'>O23tRG8q
  97.765 + e-p=t(11UJc9#YA@E$e[KEO0`$b=PjP^MWD0=6CGFCZ]Y.?O8/7[kWFbJZps%E2%s2$beb=
  97.766 + MaQ0!D]=:=2&5@:oY%Y@gieWkerW3tQY=r;DpC+)!JQ?csb2E"e"\=PpHA2tBlA)t%`8n6Y
  97.767 + cABT>LapqEM\G*RhUlh(Qf9kFH2Fj?O\as6ZY0Pbi))'VpJ#$"&;KIS,3?B<9i`^K$MPjRi
  97.768 + FC/f,#.C')Rdo4<,6uN7WG6c<ca7O@/S.ppH.H'*mMBW3$6gCi7"enq:%Q&8>PA*4,^&7hI
  97.769 + ->l&K7[3Q%i6PV?j<+??Wr&(ZLTilmJq"paZ7Wrf\"E*]&O;j7s)DQ:5msTVcVAjY)2u,&c
  97.770 + Iiig-#2*VQ@YFDY)]H8qVAI9d;ugH'bIp^UG=imIB&+C:AcGH9R[lTUu_LA&N'9=/YIO*-W
  97.771 + Rof\Dp:b5=&n1!Nc0\<HV665SKsr[<p%qK-3SFA%*J2th-=TM,:bn,u'C1A_".0q&eQ,b5#
  97.772 + s(aNL0UcKjmkF4s#c<!*P,**k;+GZUU$2_[b.tjri!YA/a&o/XEBUkQWl9Z4/5A%be$'aEc
  97.773 + $@i7!Jrh#o6ae!-?Fp8@;">bM8%s<o)Ol+^!V40NR/.?Ib8cX5r/"pd7#(&0#Vfkc`Aj7G:
  97.774 + :NNI"XF+<0p<Jalt7mt>ST`6Oo]'3:Q>LV3>]#2W/8Zi9JBk+4L-$0'p1e:,UH>YoKsXj8H
  97.775 + 49>&k*J484&muClK&s8L\>#YKlam7ZpM@)H_ljUtUW]0eQ7r\=A^b!:#gMr`)2P&ljVWYEW
  97.776 + mom=r_s(r-_E%J&X`bHbM$-1\>C;Zno#0o[n^>$<:&>`cV.pdAO)KQom?5=h_l2H=N@O_#B
  97.777 + 'b_ZfqVKsAOPD4'%GH.65dX6$jNcc-54$(iLTg"[N'1u8H1+0<<T+[f>&7`:/kO>%8!FgT[
  97.778 + M?p;;/I.kA,\>?,R6sK@&"tgJNXg@a2G+6$UB1d^6IRe7aik;A'/D]_Jq"5k6nt)t3;BWn:
  97.779 + /R"o-m6^opq(R>DH@8e+E&$]Q#\!CarH/1<<f-<8LhMd]*!C[%](5!(82p091RII7b%V>4V
  97.780 + c)2"a+@Ob/u88W&UWRQ%lP'$8;d$ksbY1U`WXB5?h?oA$-Qd\Kb:8p*rIuY&#tsMs080C\<
  97.781 + 1]('_TW3sf>322AFOp^^K4Oq]HiM6[mda]U\SASec@ZPI/t=h?\,D"XF-(%s)AC,@'8%B$T
  97.782 + LVU\k^=_hksYHu)tfbJ'+Cb<'([h\g4>Heo^CH?8A[g(XC4,Irp2936D-KSLER<*7gcajo^
  97.783 + l!6BM?pVc`\*9sr?*J["CAY4WQ0.UC432]JX?`=8Q%"A/flh:Vn%KUXq-Q5JI;cOf^DH&2?
  97.784 + b?,`DtX.G(^C(L4:-RX2@%&8-O!nj)1umO&&K/R$"5qFKlFI:_\d"q@D"Q(Yk>gBUIu2*X@
  97.785 + \7g0r8i+NPc9=MdA,!g:`%.%V%V8NH)Bc`u*t[A%[)JEV;W<)$_<q4Gf2@2Fkk,-RE<9R=5
  97.786 + ,W:C.n,BB;6_Q#a<7/U*e]`#Q"hnW$>f)2BqY4NX"42J:8PV_r)!fpd&+DpB6@3G1GCf"h?
  97.787 + EcNBLsA_d*RF7D$/=LFpeqo:d?+mu@6*7iYOZJdFG35+m@7;4n5J:]\G^7\\)#9>gh`dX3&
  97.788 + )M_0%4Td#f*i#_R)cRgu'<9:=N*Be]=Z,+tDtK?uf,E`#Se*!ID>^IBqZL*h42J).2TO6eP
  97.789 + rttLn!>q$'%L2Kf';(e@C:^C)-^VTD7V9;[]\NC"r_gsM%s2Z%;Q3f%_(jHft2/<b!m9UmI
  97.790 + '4_[!/47g7-m*m</+O2t[s)6VDiH4pXga0*b3ZO+gb>XuCSY&)n<3;V-=m`+&0.il3'fnWL
  97.791 + f)([`E.>R-91GcSpF4VSn0oECGO,Kj?i`>IBsPB/p%,e0Gkk-4H9F->:tq;EpcbOY-*Y)'0
  97.792 + 7#=mt?4RIb"R@XO`oBI>Bl%T\H'=tT"NeW`%PN$h=&4YOA?&,[%N)JV>2Y-3Qn"'08aj7S-
  97.793 + ,j6crc[npURd%k22)N[N!C$;V7fR^Of7K)&cF-%b1`Ilm"3#Mj_qB$:B^q+l[J:GDgUs4!m
  97.794 + OTJtH+eM+b-9mt*aHu[W7Xsu2lH:OYJQBN%itRDWV.CONq7VHm$n$=p;ETHH]f];=E>Juq)
  97.795 + e\NW+k]/1"R/T-LQN7F=;T^`nf*#L6MVL;Yp^Gq]B@"qb!(GR\.+e`-^>>&ej`$s%`?A_t"
  97.796 + Z7RJU5:le2;2pjYNl6+;Pkk9&69ILl'>IiJC%0p%"R!K#3_LQaoTg]XU/rkMpe5ElAfKBth
  97.797 + 4]XD>J^km\.j9qq`b7n-)^sISH$'5YL)o3ac'Ou1b6kl:269Dgj_/Q\FHl'V_`P1@K6()UU
  97.798 + bSu?os1d%pR1OAT"%fG)-6j-XJcm=!BMZ3iH,7uWM+ebXEEJD!SLEKcM7_>h!8OA`K->f8(
  97.799 + PjDq*#=@/c]YjY$.9[+>UMm:*fH.BT!D!OKJf(6*5c#&5HGqoOQqup=X@H-_sgo!"(K0l6&
  97.800 + ;$Z*`OR'69lEo8#FB2%u`:ZN%KjCDCDipM<mPs_.]hsmDFlVQ7P'a<'*=?4@J]%2</$jb7=
  97.801 + U%&31G&`Gg=F1g!.3Q8#*h#XWI5PO$28?'M,)4$-A"S6coZ:dT8$5FbV@&D0#d,qk>t7WHk
  97.802 + 0F2>ji)+BFMW>n9f!H>MMJ%hSPP?Hn7W6`CiW#a#N(RV6>$u#tYcc52PMO\P'S9U3M)Ruko
  97.803 + 'RX@VCh#\_*sKG^LB(J2?uJR=JOg3#a>ALi7"Rs/K?.;NaCL(IFGS"SM9(@-8<f"Q`/D^dM
  97.804 + b)ofaR"o-oT7/tOi[H`aV9q1,a6>LPf[I#8T^6>I$Vm-RE:\M!iROM;Z%aV!J-m]!WYdpJ5
  97.805 + ;3\HU$k3LanMoKO"j],g&r:`uDquC\!@!0?(/MWS!aj9VP/,Im[pVRM)A`m&cLoHpQ815?o
  97.806 + 93BH;e_+TZgg94YM)Cq%TP\BC\X9=27Q]Xl;)^!"p>bKR`EjM4F\^s"(?bV[.07)I/A_ou*
  97.807 + "b[ec<>fb-2a\7B0bd>O:`6(d'bKSbcbiI*ooY1DT%0H\4]]mas%+MhPYs$=+,M[(RP&?:b
  97.808 + fGq\[`1WX=OGTc(TT.1H:%9:FUgVIC3_L_;b;8]^7(#_lcH]t^c?.FYD!4WAkg$!gcEuh2`
  97.809 + 9PXlld"#JcK+H>gq&%r%KeKg2_Z7J5[@/biOuVM6B'S=AG@,!fM?e'#U1,3Z'PfVp.sW\^m
  97.810 + ]>QCYI,!3R0/nc9(O3n19/V>69$jKp;khI0WT&$.+qEd#AF[V$p2.%++)Fd.IiF"V/oh&()
  97.811 + +)d3TIR*>HmY'i@C7d<-5PKbdON(X\cjdA7f0[2dSr*RVhI;:Q`9"Wu+d'`e:f0CT@"YRZ<
  97.812 + Q-(jC=$(:qB)e2ZcCer:.c]R'^]_KpVfWYf5dd[?5%53p1!l:-(^@Yr7&B#lf2D;,VK-`J$
  97.813 + 879\ER]GXDe$V2lCHVnNM$JGmdn5GESLu%i=&5YB<#H:D3rl.;5La*8;[l3ZI54*:1Hs>G<
  97.814 + .Me-?l?*DiC6pJ<:llB@!5N`i;ocQKmcn9Y_!88#$#/e!?,3qHd.;nn3-gmeZ`o@`Cm+/5f
  97.815 + uMIRsdYs]gU@%>ui*Ke9teh,tUCF8j:Km<^="s?"gqb71W(*23;kfK6.Gk%+aN!K-V_,@bC
  97.816 + nbWrei4f&-sndPq;VB;ZJN9nV\3JU=)tF]W.#O;qUG*3e&"("Q=pemn&IFa]/]oFV?;=>N\
  97.817 + SN)ko(r%HPb"iZ$=*HtE*qUPg:=Ic.Q]NbcbE7fl)O7d#8nJ#'k%9NGj=:L@KE4pf3Q&3pi
  97.818 + -kIpf(g=iheCD?OYJN/J<BODN,M88g;T57CV.#Q3O%N)=g"iE`V3"kH!a-KNfdl)c4f+!#5
  97.819 + h_uT5Y+ViJCjlsXfngHg6*dcm>B5\Mp6[U=J;(;>hd1n7NgoJO,PiR]s$1P_:ho"O7fBcNM
  97.820 + jJOW8"P=,)C7M3C9p2#[AW$gZfs:%CAR#TN`GV=oGT2/4_D<Y?X65M]Dc4XT;\35q6SZWdI
  97.821 + n&e(i^>c&ru]08MYp7FE@@`6[8YgkDEU2+(VFLYGd#^9s_A<SWFYs4>fW%kYFZL![N@dG==
  97.822 + 2NsH-M78:(8Wno2Uh-ms%FkO]-a&:I>b)gjPJDCR$Rh4q`hJM_<4hBMNl.uOIh@nRK-1R*l
  97.823 + D_:p1?WHjXKn3SGpl94^^h*,NNV),%!o9kC"o\JYh>lIK1tTZ@7KrmRIJZ7rr&oc4?pOaPg
  97.824 + Qa$_V?),Ni3j$<AceJaMG=oq%8I'kecn94#@R'#/9!!_<Q\`&(#`[hhjtUBmLVUc&NpmB@=
  97.825 + \'g8Qc%j*Rt?5iV"A0Fr0-<aPi?Z@AD$)[NU[1;HB1sK?bk(<[cskqVC99ig@u"/,A0db$n
  97.826 + *rNfu,RQi^b4k$n$>j"qZHke3lObeEL$N(,A5L+U&u0&pp(=<OOD[QL/fle0iMj7Y^@2DiS
  97.827 + Rr*7f<-Y:Sj?-gK53BUn7A2)Ro#cgm]"'4nUA@3cFISAhLf]!Z@M_6tR?:I%`7qD,=_+57H
  97.828 + cktkB*N/CBit)8N2-U+69]`+PjXsd!^pc_g%D]DWM^D7b-;cm+;J#@CK=5:(CZhE'.V<(h+
  97.829 + :&($Y%ZLFq?PS\k-f&^SddDd.qZT%job,8'>S3,DN'B\B.s\U6hd;fHj/4m1scV45\B2FEb
  97.830 + D7qM"XU,Ya&htmq3$@B-)GZ..F@k8L!B4[b(a8q"05?L""V'BQf0G[R!9.Y\*$R&^Ec_Ajo
  97.831 + -@I_1&Ykchm5l5g!JOfsu-!^;gWn5<]_O6L7\kJigE#(=5:N]Ubn#"V7:\75Y,2egj7C#5H
  97.832 + H#+t/rT5#^Gl7Sdq2PfV-V<U7Al;jftAuFp[W9U7YC::,,^8gJ<Xm4K?lHZTuk-/UoYj3X@
  97.833 + lSc"`7^D>TZg1Z#lXmWl?F]<E\SHr1laFCj`k#s:]Be=dlfPtJp7[(O)M))jJ62pS0J!9U-
  97.834 + <#n'l%[7<S]iHN2XGsXBp7oJUU7l,<s#lLKh*Nk2UCb#ctsQHm3^<L*n9R8eSRe+m<7(JL=
  97.835 + U4-fBo0^mAAY*[bU8Qh<i5=D:[S3#2ehaheje!mOmJd2WX9qjmG=pmT/LgB'8TJkjG>3DRS
  97.836 + ft^?Y.+mI&Qnm`t:hk4!9^nF%^om6E(N+:0_G`IRV-KC)fXY5$uTQg^#pm(;V#bH^EjcL3C
  97.837 + UDta2"#4ld5!H8PMn2CF<7fmX2"7TY#n7N!qG6m\V$1N]WE0gq$`s_<[-uV`[!RD:0Y7QJ-
  97.838 + &aun9iElA#0T,>2k\nYLBssOJ#/9Vo)"FK=nXgb?Y8d#`*:`23EVCLDruU_9+n?Enndcu9-
  97.839 + R<^k,k>RolW1jg.fB@W#QSO!"%Y1OD\Vcn'(JIDLlW:b2\s"8O)jh\,6/ghPKof.39^r/o6
  97.840 + (/se_]nI'kkG(kgWCL'<-%#3O6K<-m/X@[8&b0Pj)O=F>aYMmmDn$0KnS]\kbK];\R(&6<:
  97.841 + )6k\j#a`YS2B9Sac[4jQVYs%%7ko#=e4=$;3@O&Yco<T1\eocHsm[no*J;0??X[`E#+Z;q%
  97.842 + Y?.k4*orh`]B$!jZb'!c<on1q?PFV<D@]E8oK84*<!)DXbAp1$ZiiWc7Y@DXQn75c6(46WX
  97.843 + f4F[%EVCi$QJYbck@;2dA@\m`G;ja?LNo'@FEGiO4bn2@Vg!?OIJ;oRPF"8mYB+ooeG$kKp
  97.844 + Xan>7tgY8E_>T54F_nU07geQK"3gmpg8sSa,H)ZH?@2a4MQb6+,bBqOngAfNh;>RO,lE$O>
  97.845 + uEcGrM)cLR=&kCZY#)q,>B1@uU5-R<dteq=)8p(Rk'DS%NC(\@8%)s.oKmV;/eA+o<kP062
  97.846 + @``VMBHqF@E/a/o-fnG75dG_`8Ah`Jd&WjmhbqVSXV8$n)\?0:$\GE8`9=0af8Z[5cbqmX2
  97.847 + "B83Zj?i,%lH\9+\PCi\0]R2*DqU^sR;>(&^&U\62kZC8C9g*lBao#V%L0PT]2p-N:^&0h7
  97.848 + r:eO-(Tuu"^AS;brAW4(8(<h``-k_<rHHllLY109M.9l6m!%-2a5$XFh>QN#r>%_C-f4h=i
  97.849 + Vk4ar\pKuqXf4Ij8N]RrcdQ)J<G=nkl.LFrjV4lhgg,&ljIr$^lRr5kOAKfnZ!ttqM41]'J
  97.850 + ^;sX,8Zs&uTHqD./Hco`^]U>?NKVKjF_@>;/$k7i6b0?r-PC((CM%6=E^#A2YG=LdY]L32B
  97.851 + S,(Q:gn;7P\14WfbVA5YE5Q;&`k8nCo2A@>bsQqV*j3Mb5C2k3WU;n:u_I6XB$BN.#=(6(h
  97.852 + [;J>OaA+#l^W'..V>,=OT:49lm<3#&']jJ!0=r&l1PQ>F(>&@<H7CL*P\4UU]Mi=s]d'AjQ
  97.853 + GIqFtl[Q]?n!G(?G56p3@W6;A?5FWCaCK<o4Jl13Qcs&_=hNm@4eL)7FBUgSQVAg(5H>N6P
  97.854 + M2u.X&^`Hh*0G-T60L@>I?ZhDnhUuGPd_%mhNN7n2XCl(G<>>k]C^(fFmo*e`V+&?,#KG^#
  97.855 + /=(HsT#bQd+^cH@9,0Ni,rTfB_;n4dBs=p\[ID?b9V+mXuVm$L[kV7a);=]P_M%!^E_9re&
  97.856 + !6KEhCj`lo"b_,._$%)Yp.4V,IC$q1cHOXs3?`=YdD'uc!`go%jsMdWJIXe]/?\*N"j*QJ[
  97.857 + )37CApjEh$5EZ/^8aO3bI--;<dSL;PmN27uGP,taB7H`E-WN*4tSCu'V$H",6P9Ll#67tUY
  97.858 + 1bE6KggeV8MYT*<ZWd2^3>'r]Nl#>To!OOC%.bVclWj(e/9#(m2\D-t0Y>_oBU]'!;_pj89
  97.859 + X6-"+3oR&m'T]SJWDfEFR;9!c#as!N_d"XeNf1\<CjLDkTp#=;3Z)Y857U!.36kN&h@@`c8
  97.860 + %%RXOV_%hU]+MSS-XlNMU@CQE@9)gD7qtVT&kY>1^2<qsA6*M02S#67Eq2K?*C+>j+n*.ee
  97.861 + .u7@!4tdOp^5!a\MmOQ9bA4-5>#(^gi8h!7,OP20e.'mEe>K)IL^G`D$9U=[[!!+1[oeUP'
  97.862 + <2?o(I\D$+dU3LDh@j60K%?BNfNb+X@RBCCrk8DQfSZ@pqo:NFmD8NC0H01'@i"f/bF]2<^
  97.863 + RY4O>o6c1nlcr"X/ot<?JiJdmkd.l,L.VG!0!5tB6G"/`7V-C(#i[!B'SBDZRo7R%6E!:&Y
  97.864 + H9E`P-idH2H58o>)L_.d0mh7`$%e9['?;Cl34n<."94BTNaGb[*UUFh6sQbHZQ^B)k&"`!#
  97.865 + ridKC=&jeYDW&HNi)?]^!he(VJ0&c4?H8);'0T%u'!;ShH)`q&W2"T4f,Lm@h`F<f[OTS\k
  97.866 + oj<bl&.m3/VZo8dGGRu'/@-seaCmKfF^Xe4qBfS-o;?PnE6r'%!5r-lOZl?1i*b2lsAiG$X
  97.867 + EJu31nlIs/2,#@:1]:o`0b:Dg$:T_\j_Y3lJ;t4AdgkELD"U?+5\pmE4_5LI*6"#4;Jkhlk
  97.868 + (76fJTnG.T:sKtH=D\N+_luc_CtBu]Y.0V$3G,?X]eN?PEZfE$JOE?W^-U]X@Ta@s^]FKI7
  97.869 + 4MK7Gn*0Dpk1?R(g7`4#E.]80YfZBE$?HQC<#rmOU+R2U3'4SjB="O;?%BiF;6")D,<7f/H
  97.870 + H-1@fR++aMK6"`8Y;TB$chi7kt`!$Ue,@Z1,-/aFtr$`0lfeDGEdV4X\L]4";\!)8l0)&7k
  97.871 + q)MIl??4h2RWA,umR`LXfDR:8QpK6NC&d?)NA1E7Z>$(&R.HOD%L,c26'47]Jdb1FHIhTWm
  97.872 + '?ijMo\4\G[9Y2FP:,u"F*AD&HhB<OJA&kQW1`=MrRI^o*bLsifk6.cU;pK\b=m\B8`;-!F
  97.873 + LjUEr8r[K3jD3*7q])$U433TP2_S22O>SsZAk@7k$mh)V\@Y-W]WlSk[M);T^Hgd-F+/1`l
  97.874 + ,IFm)G=#[U%EYadZVdAbA@tT<+^5Lg1s18/M!^"hK;M\92$"11--*RU/Y<U;<gSAWDtMu:W
  97.875 + `N^a1VJPMcpQ+3+!We$,iQlU6SYkfZIKr6=N6TRT93t67M:b2t^3lN<pOj-B2t[L?>VMH5\
  97.876 + GPNBa=>%^@!f#jc8:Dm*)g^rGXnat$DMKQZqCfD;CTm"LS-<_ge?>:a&minoOA9$=<ujW@e
  97.877 + ,MQjJ_Z]RjF?RDm#['RVOfU?#Xm8*ea[E@+MZcd"BXP1$^g<s1L+_f-UWOI#=]\9t(D[?SL
  97.878 + V3RpqY$51Jll62>[W^qA>HN&9`S%k)D"b!L[4(##s+hJ2.n&-i?nOap+B#M#&=]%jBTWO<P
  97.879 + ]GjAGM?5<[F2Jh@URuldR%_XC73]1rQuNjI%TfuG'Fed>\k?tLrI\D3(i5^CZeH2-5j^'D[
  97.880 + p424br"0R<d+EU>c<>H*Ch/^Z7H27L9ZaXsB2rd;X`_3KZ7<NJ<`M\?imF9l1D5B#!!:LZ6
  97.881 + t.Mt!l7`^=AW9-a6J-Sl1FaT!:]%"1/,,;d9(lC-aLUPZ;]@E_l811je8M]Q:%H-\W,8pnp
  97.882 + Anh^7OUb<+oqSA&)4upEGXFnJL6p_9q9lO60g.k0t6*^E84P@aLONd$V10(``d$HsE(8t@-
  97.883 + (/iHrEjKFkV4of$MNN,FKBK?=BJY+:eQT.WC>E0rbdJ_.30I6V"1X"aJtcDD'aW_<5!nD'I
  97.884 + j,P%4ZP"^NiM4H^"52Ah[Pf:h*iR)H1N<61a;h&rIVl*hcqQMFJ1SO!S>g8LMRt^6hVk]+8
  97.885 + ZtdkhI4J2K$X^A2e2=!^i(:VUpFsB2\/pFdDJc7,GM->B!mX_>$M,iERpjlQsB:?B5LS)L@
  97.886 + :nk4O\tE(tb@nALF%4JN[,SUOet:)90a3b0Z'R@.4]&@t_V6tTLCl02&M/XN@0%CFo%SmoR
  97.887 + GG(H2RU,76pPAt%H,r_/0kRb-*EV/).:^g:V=m^X0^4!T;cR\-G-^V9Kh:BY#1eo%FGLsMQ
  97.888 + cG0ZJFDeF]]A6#c\-H!]4a(+P*a?k9h_e4m9>5W,rSRMXJY,%cc/(YfBks]p<Z!;m$?clkC
  97.889 + H%))4d-^],Q5@_B&2k(ad@6W'>K>f7'E[9R'LWHL'Whj0g7pWGp<p_2QJ1qosfkSWl=.KY<
  97.890 + oZC8't?bJ_X9:[]!Nm_u*l$nbu&#q+Fnh,:]C"5$=IV8hn%,ZjD`5C:k.8hBZN_c1KQOMbX
  97.891 + )@D#a_2R_:5%:brp-&J^F!<!%VJLKCPI?Zg>[O'tOk,O1TDOH<9+1iL/AO89:rY4E+\/8V=
  97.892 + d.+nF<7f[+>r+/@N!n@//lMVpR<Y*jU!]'`?;#Wl<rf5RlmAU$15Tu4?'^uJ0km[cl[.k$r
  97.893 + "3Z<"!>u#8;#2kc#;C9*E-V\`o'hRUc-Ui`%c[h(>mRZo#r%VNE1%$:SI+DM#RtJT#@RoMW
  97.894 + $G3A$LkG2E4H@\]aO>F1bb`b$qh!Z&FJu2Bo[0B0\Ho>h$rl4%PZriXO>@4V[d:A$S_(ZYk
  97.895 + J[4r=AE!&2==t0ZK@&,7nD)%oEoN;%XDF*>.fb&htZ;OUCps-;"jf&5b4rnMq8f4VR?O'IS
  97.896 + MGY721C9bd+p'er]'EEO$];#-mGq=.)md:jB$D&2Y](GU%KDAa3"*tZfB(QjCgEJYO;N>V2
  97.897 + J)(@9SOG+Q?1kC7D)@]S*Y(Dt#em?\V0Ti0'&ZRHp?rSE1)^9a2X9TWjboH9$*ANTmOUiI"
  97.898 + cK4&H*Xp'VL%P6Dh]>AYZ%)i>@Y5>'/i\]FkgA3/EX<ko%.B;C`,NfKZ48snWdgb"+n+@ml
  97.899 + oO'<*-JP6r6<#1ng+I\Kca,Hmp_7rMqTQ+r?8ID,r/IHC5X5^K+@HS3H'5e,&&BBo#$P!p4
  97.900 + =@M!m^Rm_^<_3P@Z^=:_`gOk8^83,k>FoEg\A^S;'no(c%[=V"F?.DC)Th!s9,(&sOY^ZD\
  97.901 + u^T10`VDdY[?]..jK/Mbj.A]ZDW)(gIp09U-!Eo^QTcFWT7^7sdCC%>]7oZm\8.nKsF`L.r
  97.902 + eo"VCY:k`fb72l7;Ea[>S1,C43F!tWtI.4D118?><^sH5io!Cg:1XOLmBsAdIO#)tg%;9e>
  97.903 + &-DNZ/f%*;Zu/??k!\9o*agc]2`#S8F*L:*/fq9/1Ga>3dX=%?+=@h[mS\YeNhnYNOZ>3]K
  97.904 + Su<QmGs1#0\O`.bO.@*;G.(N+u(]FFFfHoc20KlLHP1U4YtSU;VaKVj"t7u4q']+OttX!#s
  97.905 + 'P\\Z)Je+pr7Ll6/kD43iN6&p,;AI34Z44k(34F;[B>]fi_B1,JFFniY-PV_l9j6=t!]A0i
  97.906 + Y-[bl06+RJ,S$imtMeC[\14O?YHJdd`?0f`,\68W7CFD44>$J%\#+`qQboAh3>1oY2n/JIJ
  97.907 + *e:)"M5jk?db-ZmHafprX;Z*7AaAdLVFK%m>X\.SM-.HuQ'&Q=`\Oa*!i<K*BP^,,WE?A0$
  97.908 + +NF1$7>"3/f1jaF9@W&uFQlQ$\hupfZVZ8p[-]^BVCkjI]4n,q0uP\$^h,"ETT8=):i=]ZY
  97.909 + 4m#A7PnOB;e&E6qbm)A;`-BT'HpCaM,<fdee33Z1f,sX5e5DI7<K[O&-GZA=S(&d;q5G[F_
  97.910 + O=14'&X]<@nGLbVjC&atcsl>`faqCKW^+,>sSD;H740F`CQlSQYP72tMYtQ(TJSK2n2$bRM
  97.911 + u#'E0bPY$3Uq8Q-'iKn.\gO&F:g=V#"J<NBE5h-KR\<qYAtFh^rcbuA0!R%llPYk(pq7!,0
  97.912 + R?V$u`_U2>j6X]T9>nuO2Fr=_nf"9"K(\'(ce)OMb&hbW["Di'^/3O!-;^,6u;5/&;No=?^
  97.913 + &man[KHlB7/ONE7=].adlkV$^G%kQn5@.B,,n!stb`PVc9X49"Akh\HFC$9e86W8Von?f>E
  97.914 + ]V>W6VK3/m*::9`F+9cojCgACGrS9E8=/RV'Ztfdo>=Xnr7I.m)7@XZ%=CHZ^)n<N`qU1c6
  97.915 + K/,f$A6Ac>67Cp$tOf2Yh:"r<[XeDtZ+qJh3q1;OZ0cWCH\*68*<&SgO0f>&s'c1;Pc-]$A
  97.916 + ME0biKTWJais"&1]XF>lX1DAR7N8KXlpi/p4YQVVb5?$5mL]2q^M,&WGUQP+LZ>^'n+GBnD
  97.917 + AI%F?65*9K%iadk2YnP`J@i'uIGF<`cS;%],C_r^RilH+\SJ!\(7$jfuGI`(0]NUY7Hf@.J
  97.918 + ((CrOaS_CDI5f])GM+q++M8I9G^%nkGNjRcm=+g!+]c8#Pdu9&rI=SCJ2d^UQhPf.#CuR]J
  97.919 + N+BqF`Ddg)1hQ+JiG'.F,,>!.>%=LK/b`@ERf@lF`oM??Ijuh\3^s57`<qPK]=G62LC(D?%
  97.920 + r&^<gSE<2s#/U,>].,]6J7,<tg<JI>@TK170Y3pi[qXMN\m<CfOhu315W5SMupkDqL3uR&;
  97.921 + fdHV`:8M>4K:Ge#+WEGP>6<u39/f?1qpAg2-bo4NIRG;3!i%Q^U=>BnGc(rip"b?G/B+un$
  97.922 + Q+W69*>=DZQ0LfIEfXm6U%?U,kJ@NKt;<T_i"d"<RBr1IqGhaD2\rnX!W(HH?UCfrj+OCq*
  97.923 + ,9r22QLC!fnuBe(PPGfUH!-E;LPdqNRV1f12m6@C#i,o\RkF%o`$!i79fik'O-rN]f^D^QQ
  97.924 + ^1A5QBtT[67-Fp<L8:Gf=?@e=bAGsL*4$b"PI^Yft!T_]bS(d:.PdP2MH%c,XOGM\+uoaQ^
  97.925 + "p&d9F/KW7f023QmHb0:a!8SO9Me3V-6;f:EjQS,*;]H3k;=_b8)1g3Ao/.0WfG-_3..WEK
  97.926 + sKGd8N^)fKM%U(jA[q?s(04eqM1L3=qC8Z/97r^cc@TCt-W<]H\>9;<C?<I-(&K))&S*GrA
  97.927 + RV`JsuE1`fqYo\e7UO"C4RICtmfV6q/BA/)r>(EdM"s^^;W:Ij*.;`nTH)g_GX"TC/eE!Z/
  97.928 + "Q!%=TA!HlZ@OqQWH1+dP8_,TXu!.:Qm0,bO#kUd>-4i/mB6<Ti4?HpX+;5D@;6u?FTV,58
  97.929 + i]o*AZb8?YHQr"F=Enm$a;t@Y`LkNH/l&s*NqOZZTC"o3>I%P)XSH[KXRk`q^[udT";O"41
  97.930 + bJ:4%HQEDe7FrMRtgUHYKpi6[e(/PaDngCu^`&m%Thb[<_/>].U'EH\K&MRplo<(Nm5lP:p
  97.931 + ,*[bIXiH`3p4pK&:CV\Bf@R;Z_a30X!g\[GkW]48JMX1\>W]dRs5oVgT0]l;sCAhNKpl7!]
  97.932 + RjgH#4^0.,-]A0Lbi#u=s,!5+r@MccUaf0Xi]j);gHl/M;7>A3*l+n5%!T?&LQ]:glRY:iY
  97.933 + `-7pp>3b.)N^ac!S$jPh56Q/5T;auj>UdPE=i3.u`>gsb>Yem&jrHQP!#l;<Htr[I_kUHUa
  97.934 + ?50tB9Ru&4]ZU*"8c>WR+6+[Q6?%#49P<L9ErA%/nmoAaY7ALkU2VmPT_$@D;;$Ae%"'-Sg
  97.935 + 7RDrEQnSSCu0"gh0jE9$e_9RBe"Q3e*u79fVhu:TQd&LQF:-YlZr2nh\T:p7D3E/oe]/@Q2
  97.936 + Z'(HFVOORN_*dgaY4oa9LpBidUFrAi??4B``be,;_bI7_qu0seG]eD4-TI9G+1(PZAkefjk
  97.937 + ?I9kF;D:\Z*IA:C)$D8H2Hld]e94VcqI>QUiNS+2lffbVRI@8d%S_<t8g-):dIAtr6XkN`Y
  97.938 + gHDt!IC\+G^"`M%gc`X3IEC9Xc.r9Fh*'<EIG*Gih;/%ghEBuWIHfV%mG@g3h`^YiIJMd6r
  97.939 + SRSTi'%>&IL4rH%H.3tiBA"8IMq+Y*T?u@i]\[JIOX9j/`Qaaj$#?Q_Q[\3nfT%~>Q
  97.940 +Q
  97.941 +showpage
  97.942 +%%Trailer
  97.943 +count op_count sub {pop} repeat
  97.944 +countdictstack dict_count sub {end} repeat
  97.945 +cairo_eps_state restore
  97.946 +%%EOF
    98.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    98.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Time_in_VMS_1.svg	Sat Aug 03 19:24:22 2013 -0700
    98.3 @@ -0,0 +1,407 @@
    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.47 r22583"
   98.20 +   sodipodi:docname="Time_in_VMS_1.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="perspective11923"
   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 +  </defs>
   98.53 +  <sodipodi:namedview
   98.54 +     id="base"
   98.55 +     pagecolor="#ffffff"
   98.56 +     bordercolor="#666666"
   98.57 +     borderopacity="1.0"
   98.58 +     gridtolerance="10000"
   98.59 +     guidetolerance="10"
   98.60 +     objecttolerance="10"
   98.61 +     inkscape:pageopacity="0.0"
   98.62 +     inkscape:pageshadow="2"
   98.63 +     inkscape:zoom="1.3364318"
   98.64 +     inkscape:cx="448.37508"
   98.65 +     inkscape:cy="648.10677"
   98.66 +     inkscape:document-units="px"
   98.67 +     inkscape:current-layer="layer1"
   98.68 +     showgrid="false"
   98.69 +     inkscape:window-width="880"
   98.70 +     inkscape:window-height="1141"
   98.71 +     inkscape:window-x="889"
   98.72 +     inkscape:window-y="6"
   98.73 +     inkscape:window-maximized="0" />
   98.74 +  <metadata
   98.75 +     id="metadata7">
   98.76 +    <rdf:RDF>
   98.77 +      <cc:Work
   98.78 +         rdf:about="">
   98.79 +        <dc:format>image/svg+xml</dc:format>
   98.80 +        <dc:type
   98.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
   98.82 +        <dc:title />
   98.83 +      </cc:Work>
   98.84 +    </rdf:RDF>
   98.85 +  </metadata>
   98.86 +  <g
   98.87 +     inkscape:label="Layer 1"
   98.88 +     inkscape:groupmode="layer"
   98.89 +     id="layer1">
   98.90 +    <rect
   98.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"
   98.92 +       id="rect4618"
   98.93 +       width="413.02609"
   98.94 +       height="158.61386"
   98.95 +       x="216.25447"
   98.96 +       y="368.18201" />
   98.97 +    <path
   98.98 +       style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
   98.99 +       d="m 219.06883,401.37498 c 128.4693,0 128.4693,0 128.4693,0"
  98.100 +       id="path11721" />
  98.101 +    <g
  98.102 +       id="g11990"
  98.103 +       transform="translate(-60,0)">
  98.104 +      <path
  98.105 +         id="path11907"
  98.106 +         d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814"
  98.107 +         style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  98.108 +      <text
  98.109 +         xml:space="preserve"
  98.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"
  98.111 +         x="298.7023"
  98.112 +         y="376.52615"
  98.113 +         id="text11715-4"
  98.114 +         sodipodi:linespacing="100%"><tspan
  98.115 +           style="font-size:9px;text-align:center;text-anchor:middle"
  98.116 +           sodipodi:role="line"
  98.117 +           id="tspan11717-9"
  98.118 +           x="300.05582"
  98.119 +           y="376.52615">Suspend </tspan><tspan
  98.120 +           style="font-size:9px;text-align:center;text-anchor:middle"
  98.121 +           id="tspan11940"
  98.122 +           sodipodi:role="line"
  98.123 +           x="300.05582"
  98.124 +           y="385.52615">Point 1</tspan></text>
  98.125 +    </g>
  98.126 +    <g
  98.127 +       id="g11984"
  98.128 +       transform="translate(-60,0)">
  98.129 +      <path
  98.130 +         id="path11911"
  98.131 +         d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519"
  98.132 +         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  98.133 +      <text
  98.134 +         xml:space="preserve"
  98.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"
  98.136 +         x="378.7023"
  98.137 +         y="376.52615"
  98.138 +         id="text11948"
  98.139 +         sodipodi:linespacing="100%"><tspan
  98.140 +           style="font-size:9px;text-align:center;text-anchor:middle"
  98.141 +           sodipodi:role="line"
  98.142 +           id="tspan11950"
  98.143 +           x="380.05582"
  98.144 +           y="376.52615">Suspend </tspan><tspan
  98.145 +           style="font-size:9px;text-align:center;text-anchor:middle"
  98.146 +           id="tspan11952"
  98.147 +           sodipodi:role="line"
  98.148 +           x="380.05582"
  98.149 +           y="385.52615">Point 2</tspan></text>
  98.150 +    </g>
  98.151 +    <text
  98.152 +       xml:space="preserve"
  98.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"
  98.154 +       x="352.7023"
  98.155 +       y="400.52615"
  98.156 +       id="text11954"
  98.157 +       sodipodi:linespacing="100%"><tspan
  98.158 +         sodipodi:role="line"
  98.159 +         id="tspan11956"
  98.160 +         x="352.7023"
  98.161 +         y="400.52615">Program </tspan><tspan
  98.162 +         id="tspan11958"
  98.163 +         sodipodi:role="line"
  98.164 +         x="352.7023"
  98.165 +         y="410.52615">Time 1</tspan></text>
  98.166 +    <text
  98.167 +       sodipodi:linespacing="100%"
  98.168 +       id="text11960"
  98.169 +       y="412.52615"
  98.170 +       x="278.7023"
  98.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"
  98.172 +       xml:space="preserve"><tspan
  98.173 +         y="412.52615"
  98.174 +         x="278.7023"
  98.175 +         id="tspan11962"
  98.176 +         sodipodi:role="line"
  98.177 +         style="font-size:9px;text-align:center;text-anchor:middle">Trace</tspan><tspan
  98.178 +         y="421.52615"
  98.179 +         x="278.7023"
  98.180 +         sodipodi:role="line"
  98.181 +         id="tspan11964"
  98.182 +         style="font-size:9px;text-align:center;text-anchor:middle">Segment</tspan></text>
  98.183 +    <path
  98.184 +       id="path11996"
  98.185 +       d="m 446.59318,401.37498 c 138.89067,0 138.89067,0 138.89067,0"
  98.186 +       style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
  98.187 +    <g
  98.188 +       id="g11998"
  98.189 +       transform="translate(166,0)">
  98.190 +      <path
  98.191 +         style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  98.192 +         d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814"
  98.193 +         id="path12000" />
  98.194 +      <text
  98.195 +         sodipodi:linespacing="100%"
  98.196 +         id="text12002"
  98.197 +         y="376.52615"
  98.198 +         x="298.7023"
  98.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"
  98.200 +         xml:space="preserve"><tspan
  98.201 +           y="376.52615"
  98.202 +           x="300.05582"
  98.203 +           id="tspan12004"
  98.204 +           sodipodi:role="line"
  98.205 +           style="font-size:9px;text-align:center;text-anchor:middle">Suspend </tspan><tspan
  98.206 +           y="385.52615"
  98.207 +           x="300.05582"
  98.208 +           sodipodi:role="line"
  98.209 +           id="tspan12006"
  98.210 +           style="font-size:9px;text-align:center;text-anchor:middle">Point 1</tspan></text>
  98.211 +    </g>
  98.212 +    <g
  98.213 +       id="g12008"
  98.214 +       transform="translate(188,0)">
  98.215 +      <path
  98.216 +         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  98.217 +         d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519"
  98.218 +         id="path12010" />
  98.219 +      <text
  98.220 +         sodipodi:linespacing="100%"
  98.221 +         id="text12012"
  98.222 +         y="376.52615"
  98.223 +         x="378.7023"
  98.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"
  98.225 +         xml:space="preserve"><tspan
  98.226 +           y="376.52615"
  98.227 +           x="380.05582"
  98.228 +           id="tspan12014"
  98.229 +           sodipodi:role="line"
  98.230 +           style="font-size:9px;text-align:center;text-anchor:middle">Suspend </tspan><tspan
  98.231 +           y="385.52615"
  98.232 +           x="380.05582"
  98.233 +           sodipodi:role="line"
  98.234 +           id="tspan12016"
  98.235 +           style="font-size:9px;text-align:center;text-anchor:middle">Point 2</tspan></text>
  98.236 +    </g>
  98.237 +    <text
  98.238 +       sodipodi:linespacing="100%"
  98.239 +       id="text12018"
  98.240 +       y="400.52615"
  98.241 +       x="590.70227"
  98.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"
  98.243 +       xml:space="preserve"><tspan
  98.244 +         y="400.52615"
  98.245 +         x="590.70227"
  98.246 +         id="tspan12020"
  98.247 +         sodipodi:role="line">Program </tspan><tspan
  98.248 +         y="410.52615"
  98.249 +         x="590.70227"
  98.250 +         sodipodi:role="line"
  98.251 +         id="tspan12022">Time 2</tspan></text>
  98.252 +    <text
  98.253 +       xml:space="preserve"
  98.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"
  98.255 +       x="516.70227"
  98.256 +       y="412.52615"
  98.257 +       id="text12024"
  98.258 +       sodipodi:linespacing="100%"><tspan
  98.259 +         style="font-size:9px;text-align:center;text-anchor:middle"
  98.260 +         sodipodi:role="line"
  98.261 +         id="tspan12026"
  98.262 +         x="516.70227"
  98.263 +         y="412.52615">Trace</tspan><tspan
  98.264 +         style="font-size:9px;text-align:center;text-anchor:middle"
  98.265 +         id="tspan12028"
  98.266 +         sodipodi:role="line"
  98.267 +         x="516.70227"
  98.268 +         y="421.52615">Segment</tspan></text>
  98.269 +    <path
  98.270 +       id="path12042"
  98.271 +       d="m 267.24968,477.37498 c 232.74658,0 232.74658,0 232.74658,0"
  98.272 +       style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
  98.273 +    <g
  98.274 +       id="g4352">
  98.275 +      <path
  98.276 +         style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  98.277 +         d="m 364.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256"
  98.278 +         id="path12046" />
  98.279 +      <text
  98.280 +         sodipodi:linespacing="100%"
  98.281 +         id="text12048"
  98.282 +         y="506.52615"
  98.283 +         x="364.7023"
  98.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"
  98.285 +         xml:space="preserve"><tspan
  98.286 +           y="506.52615"
  98.287 +           x="366.05582"
  98.288 +           id="tspan12050"
  98.289 +           sodipodi:role="line"
  98.290 +           style="font-size:9px;text-align:center;text-anchor:middle">Tie </tspan><tspan
  98.291 +           y="515.52612"
  98.292 +           x="364.7023"
  98.293 +           sodipodi:role="line"
  98.294 +           id="tspan12052"
  98.295 +           style="font-size:9px;text-align:center;text-anchor:middle">Point</tspan></text>
  98.296 +    </g>
  98.297 +    <text
  98.298 +       sodipodi:linespacing="100%"
  98.299 +       id="text12064"
  98.300 +       y="476.52612"
  98.301 +       x="504.7023"
  98.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"
  98.303 +       xml:space="preserve"><tspan
  98.304 +         y="476.52612"
  98.305 +         x="504.7023"
  98.306 +         id="tspan12066"
  98.307 +         sodipodi:role="line">Virtual</tspan><tspan
  98.308 +         y="486.52612"
  98.309 +         x="504.7023"
  98.310 +         sodipodi:role="line"
  98.311 +         id="tspan12068">Time</tspan></text>
  98.312 +    <path
  98.313 +       sodipodi:nodetypes="csc"
  98.314 +       id="path12088"
  98.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"
  98.316 +       style="fill:none;stroke:#422fac;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
  98.317 +    <path
  98.318 +       style="fill:none;stroke:#a94c26;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  98.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"
  98.320 +       id="path12090"
  98.321 +       sodipodi:nodetypes="csc" />
  98.322 +    <path
  98.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)"
  98.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"
  98.325 +       id="path12092"
  98.326 +       sodipodi:nodetypes="csc" />
  98.327 +    <path
  98.328 +       sodipodi:nodetypes="csc"
  98.329 +       id="path12094"
  98.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"
  98.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)" />
  98.332 +    <g
  98.333 +       id="g4338"
  98.334 +       transform="translate(8,0)">
  98.335 +      <path
  98.336 +         style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  98.337 +         d="m 270.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256"
  98.338 +         id="path3246" />
  98.339 +      <text
  98.340 +         sodipodi:linespacing="100%"
  98.341 +         id="text3248"
  98.342 +         y="506.52615"
  98.343 +         x="270.7023"
  98.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"
  98.345 +         xml:space="preserve"><tspan
  98.346 +           y="506.52615"
  98.347 +           x="270.7023"
  98.348 +           sodipodi:role="line"
  98.349 +           id="tspan3252"
  98.350 +           style="font-size:9px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
  98.351 +           y="515.52612"
  98.352 +           x="270.7023"
  98.353 +           sodipodi:role="line"
  98.354 +           style="font-size:9px;text-align:center;text-anchor:middle"
  98.355 +           id="tspan4072"> 1,1</tspan><tspan
  98.356 +           y="524.52618"
  98.357 +           x="270.7023"
  98.358 +           sodipodi:role="line"
  98.359 +           style="font-size:9px;text-align:center;text-anchor:middle"
  98.360 +           id="tspan4068">start</tspan></text>
  98.361 +    </g>
  98.362 +    <g
  98.363 +       id="g4345">
  98.364 +      <path
  98.365 +         id="path3276"
  98.366 +         d="m 322.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256"
  98.367 +         style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
  98.368 +      <text
  98.369 +         xml:space="preserve"
  98.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"
  98.371 +         x="322.7023"
  98.372 +         y="506.52615"
  98.373 +         id="text3278"
  98.374 +         sodipodi:linespacing="100%"><tspan
  98.375 +           style="font-size:9px;text-align:center;text-anchor:middle"
  98.376 +           sodipodi:role="line"
  98.377 +           id="tspan3280"
  98.378 +           x="322.7023"
  98.379 +           y="506.52615">Suspend</tspan><tspan
  98.380 +           style="font-size:9px;text-align:center;text-anchor:middle"
  98.381 +           sodipodi:role="line"
  98.382 +           x="324.05582"
  98.383 +           y="515.52612"
  98.384 +           id="tspan4070">2, 1 </tspan><tspan
  98.385 +           style="font-size:9px;text-align:center;text-anchor:middle"
  98.386 +           id="tspan3282"
  98.387 +           sodipodi:role="line"
  98.388 +           x="322.7023"
  98.389 +           y="524.52618">start</tspan></text>
  98.390 +    </g>
  98.391 +    <path
  98.392 +       style="fill:none;stroke:#422fac;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  98.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"
  98.394 +       id="path3284"
  98.395 +       sodipodi:nodetypes="csc" />
  98.396 +    <path
  98.397 +       sodipodi:nodetypes="csc"
  98.398 +       id="path3286"
  98.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"
  98.400 +       style="fill:none;stroke:#a94c26;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
  98.401 +    <path
  98.402 +       id="path4334"
  98.403 +       d="m 367.06883,483.37498 c 57.09423,0 57.09423,0 57.09423,0"
  98.404 +       style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
  98.405 +    <path
  98.406 +       style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
  98.407 +       d="m 367.06882,491.37498 c 95.45,0 95.45,0 95.45,0"
  98.408 +       id="path4336" />
  98.409 +  </g>
  98.410 +</svg>
    99.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    99.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Time_layers.eps	Sat Aug 03 19:24:22 2013 -0700
    99.3 @@ -0,0 +1,869 @@
    99.4 +%!PS-Adobe-3.0 EPSF-3.0
    99.5 +%%Creator: cairo 1.8.6 (http://cairographics.org)
    99.6 +%%CreationDate: Sat Nov 20 00:16:39 2010
    99.7 +%%Pages: 1
    99.8 +%%BoundingBox: 0 0 206 75
    99.9 +%%DocumentData: Clean7Bit
   99.10 +%%LanguageLevel: 2
   99.11 +%%EndComments
   99.12 +%%BeginProlog
   99.13 +/cairo_eps_state save def
   99.14 +/dict_count countdictstack def
   99.15 +/op_count count 1 sub def
   99.16 +userdict begin
   99.17 +/q { gsave } bind def
   99.18 +/Q { grestore } bind def
   99.19 +/cm { 6 array astore concat } bind def
   99.20 +/w { setlinewidth } bind def
   99.21 +/J { setlinecap } bind def
   99.22 +/j { setlinejoin } bind def
   99.23 +/M { setmiterlimit } bind def
   99.24 +/d { setdash } bind def
   99.25 +/m { moveto } bind def
   99.26 +/l { lineto } bind def
   99.27 +/c { curveto } bind def
   99.28 +/h { closepath } bind def
   99.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
   99.30 +      0 exch rlineto 0 rlineto closepath } bind def
   99.31 +/S { stroke } bind def
   99.32 +/f { fill } bind def
   99.33 +/f* { eofill } bind def
   99.34 +/B { fill stroke } bind def
   99.35 +/B* { eofill stroke } bind def
   99.36 +/n { newpath } bind def
   99.37 +/W { clip } bind def
   99.38 +/W* { eoclip } bind def
   99.39 +/BT { } bind def
   99.40 +/ET { } bind def
   99.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put }
   99.42 +    { globaldict begin /?pdfmark /pop load def /pdfmark
   99.43 +    /cleartomark load def end } ifelse
   99.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def
   99.45 +/EMC { mark /EMC pdfmark } bind def
   99.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
   99.47 +/Tj { show currentpoint cairo_store_point } bind def
   99.48 +/TJ {
   99.49 +  {
   99.50 +    dup
   99.51 +    type /stringtype eq
   99.52 +    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
   99.53 +  } forall
   99.54 +  currentpoint cairo_store_point
   99.55 +} bind def
   99.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
   99.57 +    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
   99.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where
   99.59 +      { pop cairo_selectfont } if } bind def
   99.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
   99.61 +      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
   99.62 +      /cairo_font where { pop cairo_selectfont } if } bind def
   99.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
   99.64 +      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
   99.65 +/g { setgray } bind def
   99.66 +/rg { setrgbcolor } bind def
   99.67 +/d1 { setcachedevice } bind def
   99.68 +%%EndProlog
   99.69 +11 dict begin
   99.70 +/FontType 42 def
   99.71 +/FontName /f-0-0 def
   99.72 +/PaintType 0 def
   99.73 +/FontMatrix [ 1 0 0 1 0 0 ] def
   99.74 +/FontBBox [ 0 0 0 0 ] def
   99.75 +/Encoding 256 array def
   99.76 +0 1 255 { Encoding exch /.notdef put } for
   99.77 +Encoding 1 /uni0050 put
   99.78 +Encoding 2 /uni0072 put
   99.79 +Encoding 3 /uni006F put
   99.80 +Encoding 4 /uni0067 put
   99.81 +Encoding 5 /uni0061 put
   99.82 +Encoding 6 /uni006D put
   99.83 +Encoding 7 /uni0020 put
   99.84 +Encoding 8 /uni0054 put
   99.85 +Encoding 9 /uni0069 put
   99.86 +Encoding 10 /uni0065 put
   99.87 +Encoding 11 /uni0068 put
   99.88 +Encoding 12 /uni0079 put
   99.89 +Encoding 13 /uni0073 put
   99.90 +Encoding 14 /uni0063 put
   99.91 +Encoding 15 /uni006C put
   99.92 +Encoding 16 /uni0053 put
   99.93 +Encoding 17 /uni0064 put
   99.94 +Encoding 18 /uni0075 put
   99.95 +/CharStrings 19 dict dup begin
   99.96 +/.notdef 0 def
   99.97 +/uni0050 1 def
   99.98 +/uni0072 2 def
   99.99 +/uni006F 3 def
  99.100 +/uni0067 4 def
  99.101 +/uni0061 5 def
  99.102 +/uni006D 6 def
  99.103 +/uni0020 7 def
  99.104 +/uni0054 8 def
  99.105 +/uni0069 9 def
  99.106 +/uni0065 10 def
  99.107 +/uni0068 11 def
  99.108 +/uni0079 12 def
  99.109 +/uni0073 13 def
  99.110 +/uni0063 14 def
  99.111 +/uni006C 15 def
  99.112 +/uni0053 16 def
  99.113 +/uni0064 17 def
  99.114 +/uni0075 18 def
  99.115 +end readonly def
  99.116 +/sfnts [
  99.117 +<00010000000a008000030020636d61700076f10b00001a9000000064637674207d0742a80000
  99.118 +1af4000002706670676d49d7df9200001d640000060a676c7966e942e463000000ac000019e4
  99.119 +68656164d5ceeae00000237000000036686865610f7e06ae000023a800000024686d74784af9
  99.120 +067a000023cc0000004c6c6f63613a8c41da00002418000000286d617870037802c900002440
  99.121 +0000002070726570292ded1600002460000004ad00020080015e0380045e0003000700264016
  99.122 +059c039d049c070017003700030000079c019d049c00002ffdfded012f5f5dfdfded31301311
  99.123 +211125211121800300fd800200fe00015e0300fd00800200000200960000042605c3000a0013
  99.124 +0108b9000cffea40170c0c024b0b180c0c024b670701021045070b4401440207b8ffd8b41010
  99.125 +024b07b8ffdab40b0b024b07b8ffdab40d0d024b07b8fff0b40d0d064b07b8fff4400e0e0e06
  99.126 +4b07471507022702020002b8ffeab41313024b02b8fff4b41010024b02b8fffa400b0f0f024b
  99.127 +02040b0b024b02b8fffeb40d0d024b02b8fff0b40e0e064b02b8fffeb40c0c064b02b8ffe840
  99.128 +2d1010064b0247143a124a125a1203350e450e550e0303050b120c000e180c0c024b0e160d0d
  99.129 +024b0e4909090212b8ffe8400b0c0c024b12490502080502003f3f10ed2b11392fed2b2b3332
  99.130 +113311335d5d0110e62b2b2b2b2b2b2b2b5f5d10e62b2b2b2b2b10eded10ed5f5d3130002b2b
  99.131 +0111231136332011102122031116332011102122015ec8e32f027efdcc22727f070174fe7328
  99.132 +0234fdcc05b90afe55fe1202dbfde30a0125010c0000000100960000031c0443000e00af401e
  99.133 +0a400b0d024b081018102810c81004c70ed70e020e06094d064d68070107b8ffecb41313024b
  99.134 +07b8ffeeb41010024b07b8fff240110f0f024b07040b0b024b07040c0c024b07b8ffeeb40f0f
  99.135 +064b07b8fffcb40c0c064b07b8fff2b41010064b07b8fffc40250e0e064b070f170a270a370a
  99.136 +470a570a670a0600050a400e0e064b0a02520c0806070a0c07003f3f3f10edcd2b325f5d0110
  99.137 +d62b2b2b2b2b2b2b2b2b5deded10c65d5d3130002b01262322061511231133153633321702cd
  99.138 +3e3f6597bebe68cd336003782bba83fd9a042fabbf1200020041ffec040a0443000b0015013c
  99.139 +402517401010024b17400b0c024bb7050101381701114e17063706470667060406041010024b
  99.140 +06b8ffdeb40f0f024b06b8fffcb40b0b024b06b8ffe4b40c0c024b06b8ffd4b40d0d024b06b8
  99.141 +ffeab40e0e064b06b8ffe0b40c0c064b06b8ffe440760d0d064b060c4e87009700a700b700c7
  99.142 +00e700063800480058006800040000101010024b000e0f0f024b00200b0b024b00200c0c024b
  99.143 +00160d0d024b000c0e0e064b00100c0c064b000c0d0d064b00166a030165090103670e016813
  99.144 +0102450e550e650e034a135a136a13030e100f0f024b0e520913b8fff040160f0f024b135203
  99.145 +09180f0f024b09180f0f064b090b03b8ffe8b40f0f024b03b8ffe8b50f0f064b0307003f2b2b
  99.146 +3f2b2b10ed2b10ed2b5d5d5f5d5d5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b2b
  99.147 +2b2b2b5ded5d5f5d31302b2b1334003332121110002322001310213236351021220641010bda
  99.148 +e6fefefce0e5ff00c8011d8597fee4829b021af80131fedbfefcfefdfed5012e0100fe6dd8bb
  99.149 +018ed40000020050fe5c03c804740030003c0160402c48195819681978190400272b372b0202
  99.150 +65017501020320101c12064e282b382b482b582b682b782b882b072bb8ffeab40e0e064b2bb8
  99.151 +fff0400f0d0d064b2b193a4e1c0e1010024b1cb8fff440860c0c024b1c120d0d024b1c3e0023
  99.152 +4e0d344e12060e0e064b120c0f0f024b12120b0c024b12120d0d024b123d17010188199819a8
  99.153 +19b8190488189818a818b81804280c380c02006701770102026a317a31026537753702031020
  99.154 +37281a171f181537180f0f024b37521f40090a064b1f9708a708b70803970ba70bb70b030028
  99.155 +530825530b01b8ffc0b41114024b01b8ffc0b40b0c024b01b8ffc0b41114064b01b8ffc04009
  99.156 +0c0c064b0103522e31b8ffe8400d0f0f024b3152152e0e0b061507003f3f3f10ed2b10fdc62b
  99.157 +2b2b2b10edd4fd5f5d5dd42bed2b10c6123939111239395f5d5d5f5d5f5d5d5d5d0110d62b2b
  99.158 +2b2bedd4edc610d62b2b2bedc6d42b2b5ded111239395f5d5f5d5f5d31301337163332363534
  99.159 +2322062322353436372611343633321737170716151406070706061514333236333216151404
  99.160 +2322260122061514163332363534266067a68c8195bc20a82fe46b4fe2eaac9e595f7c7249ca
  99.161 +a49d1c5e622bb62c9eb1fef7cb68e6014d637d796765727bfedb986f59428220ac3556136a01
  99.162 +06a8e0417275565f99a2dc101003251e291f978694b64a05048c6470938f74648c0000020050
  99.163 +ffec03e40443001b002501d3b627401010024b25b8ffecb40b0c024b25b8ffee40490d0d064b
  99.164 +071317130201672077200202280f480f0200b70fc70fd70fe70f04010025150f053718471857
  99.165 +1867187718871897180718254d0a4d881501150c1313024b150c1010024b15b8fff8b40f0f02
  99.166 +4b15b8fff040110c0c024b151e0d0d024b150c0e0e064b15b8fff040440f0f064b150c0d0d06
  99.167 +4b1527214e38050100050c0f0f024b05160b0b024b05100c0c024b05120d0d024b050c0e0e06
  99.168 +4b050c0c0c064b050c0d0d064b05263a0301032500b8ffc0b40d10024b00b8ffc040320d0f06
  99.169 +4b480058006800780004000218191c520a080e52080f180f280f380f480f580f980fa80fb80f
  99.170 +c80fd80fe80f0c000fb8ffc0b41317024b0fb8ffc040240d0d024b0f124a1e5a1e02031e52a8
  99.171 +08b80802580801006a087a08020347085708020008b8ffc0b41414024b08b8ffc0b41313024b
  99.172 +08b8ffe8b41010024b08b8ffe8b40f0f024b08b8ffc040131313064b08080c2352020c521219
  99.173 +0b020b1207003f3f3f10ed10ed11392f2b2b2b2b2b5f5d5f5d5f5d5ded5f5d10dd2b2b5f5ded
  99.174 +10d5ed10cd10dd5d2b2bcd5f5d0110d62b2b2b2b2b2b2b5f5ded10d62b2b2b2b2b2b2b2b71ed
  99.175 +edc65d10c41112395f5d5f5d5f5d3130005f5d2b2b012b250623222635342433321710232207
  99.176 +273636333216151114171522260326232206151433323702e472eb7eb9011ddd3c4ce8b26050
  99.177 +36bf57e9d35474732b5a2490b6c5906f7b8fb788a3e11a0104609f2c3fd4e7fe808d2f5f4201
  99.178 +df149465a789000100870000061d0443001f01b8403821400f10024b21400c0c024b071c0101
  99.179 +08216821022721372157219721c72105004d371f011f101313024b1f081010024b1f1c0f0f02
  99.180 +4b1fb8ffec40170b0b024b1f180c0c024b1f040d0d024b1f0e0f0f064b1fb8ffed400b0c0c06
  99.181 +4b1f101010064b1fb8fffe401d0e0e064b1f084d37070107101313024b07021010024b071a0f
  99.182 +0f024b07b8ffec40170b0b024b07180c0c024b07040d0d024b07080f0f064b07b8ffedb40c0c
  99.183 +064b07b8fffe40180d0d064b07061010064b07104d071117112711e711040011b8fff8b41010
  99.184 +064b11b8fffa400b0e0e064b11100909024b11b8fff4400b1313024b11040d0d024b11b8fff4
  99.185 +b41010024b11b8fff440110f0f024b110a0b0b024b11080c0c024b11b8fff440530f0f064b11
  99.186 +100c0c064b1120171c271c371c030118400d0d024b18401010064b182c0d0d064b4718571867
  99.187 +187718040018400e0e064b18400e10024b18160f141603521b0c52161f0a080a110a1b071607
  99.188 +1206003f3f3f3f3f3f10ed10ed10ddcd10cd2b2b5f5d2b2b2b5f5d0110d62b2b2b2b2b2b2b2b
  99.189 +2b2b2b5f5dfdd42b2b2b2b2b2b2b2b2b2b5dedd42b2b2b2b2b2b2b2b2b2b5ded5d5d3130005f
  99.190 +5d012b2b2111342322060711231134262322060711231133173633321736363332161511055f
  99.191 +db457816be776239811bbe7c3f6ea5e65c20ae5ca6b602a6fd5536fce802f94f5b5835fcea04
  99.192 +2f7c908f3d52c5b2fd34000100120000049305b900070080401e270701280401079301042c13
  99.193 +13024b049301442702010002081010064b02b8ffe440111313024b02180f0f024b02100b0b02
  99.194 +4b02b8fff6b40d0d024b02b8ffe640200e0e064b02120f0f064b02010c0c064b02220d0d064b
  99.195 +02074804480502080502003f3f10eded012f2b2b2b2b2b2b2b2b2b5f5dede62b10e65d5d3130
  99.196 +011123112135211502acc8fe2e04810505fafb0505b4b400000000020050000001c105c4000b
  99.197 +001100d9b613400f0f024b13b8ffc0b60d0d024b097b03b8fff4b40e0e064b03b8fff8b40f0f
  99.198 +024b03b8fffab40c0c024b03b8fff940200c0c064b03110e0c4d7711010011041313024b1102
  99.199 +1010024b110e0f0f024b11b8ffeeb40b0b024b11b8ffecb40c0c024b11b8ffe6400b0d0d024b
  99.200 +110e0f0f064b11b8fff8400b0c0c064b11120d0d064b11b8ffd640100e0e064b11081111064b
  99.201 +11130d511000b8ffc040120f0f024b007c06400f0f024b06100c0a1006003f3f10d62bed2b10
  99.202 +ed0110d62b2b2b2b2b2b2b2b2b2b2b5f5dfdc610d42b2b2b2bed3130012b2b01321615140623
  99.203 +2226353436031123352111014b314545313045443793015105c44530314545313144fa3c038f
  99.204 +a0fbd100000000020041ffec041c04430019002201ff408724400b0b024b58170103b807018a
  99.205 +079a07aa07ba07ca07da0706025705016808780888089808a808052808380848085808680878
  99.206 +0888089808a808b808c808d8080c00571877180208221010024b08180f0f024b08180c0c024b
  99.207 +082c0d0d024b08100c0c064b08100d0d064b081f4e471e0102171837184718671887189718a7
  99.208 +18b718c7180918b8ffe0b40e0e064b18b8ffdeb41010024b18b8ffdcb40f0f024b18b8ffe2b4
  99.209 +0c0c024b18b8ffd4b40d0d024b18b8ffe4b40c0c064b18b8ffe4406b0d0d064b18011e4e014e
  99.210 +87100138104810581068100410100e0e064b10101010024b10100f0f024b101c0b0c024b1016
  99.211 +0d0d024b100c0c0c064b100c0d0d064b102387079707a7070300270537054705570504020752
  99.212 +2a083a084a08030357086708770803070817080208b8ffc0b40b0c024b08b8ffd4b40d0d064b
  99.213 +08b8ffc040350d0d024b080c1e50470157016701a701b701050001400f0f024b01400d0d024b
  99.214 +01400f0f064b010105581a011a5214100f0f024b14b8ffe8b40d0d024b14b8ffe840200e0e06
  99.215 +4b140c0f0f064b14671401024a145a140205100c0c024b05520c0b1407003f3fed2b5d5f5d10
  99.216 +2b2b2b2bed5d11392f2b2b2b5f5ded10d52b2b2b5d715f5ded5f5d5f710110d62b2b2b2b2b2b
  99.217 +2b5d5deded10dd2b2b2b2b2b2b2b5d5f5dedc42b2b2b2b2b2b5d5f5d715d5f5d5d5f5d313001
  99.218 +2b0121141716333237170607062322272635103736333217161514012207060721342726040d
  99.219 +fcfc675b8fa36d502c5b728cca8d9da190c5e5827efe247f56520b0251484f0205bc65585f89
  99.220 +2c202a8997ff0109a08f817ccd3f0169524e74734d5400010087000003d905e60013010d400d
  99.221 +15400b0b024b07101710020100b8fff8b60c0c064b004d13b8ffecb41010064b13b8fff8b413
  99.222 +13024b13b8fff640171010024b130a0f0f024b131a0b0b024b13080c0c024b13b8ffd6b40e0e
  99.223 +064b13b8fff6400b0d0d024b130e0f0f064b13b8fff840130d0d064b13080b4d084d07091709
  99.224 +2709030009b8fff2b41010064b09b8fff4b41313024b09b8fff4400b1010024b09040d0d024b
  99.225 +09b8fff440110f0f024b090a0b0b024b09080c0c024b09b8fff4b40e0e064b09b8fffa400c0f
  99.226 +0f064b09146a047a040204b8ffe8400f0f0f024b04520f130a090a0f070a00003f3f3f3f10ed
  99.227 +2b5d0110d62b2b2b2b2b2b2b2b2b5f5deded10d42b2b2b2b2b2b2b2b2b2bed2b3130005f5d01
  99.228 +2b2111342623220607112311331136363332161511031b766b458b25bebe26a95aaac102a178
  99.229 +8a5136fce405e6fdd33b4fe0c2fd5f000001000cfe5c03e6042f000f0105b9000dffe0b31010
  99.230 +024bb1020243545840120d0b0452030e0e060b06030d0f0e0d0b0c0db8fff4b70b0b024b0d0d
  99.231 +11101112392f2bddcd10ddcd10c4003f3f3fed123931301bb1060243545840150d0b0452030e
  99.232 +0e060b06030d0f0e0d0b0c0d0d11101112392fddcd10ddcd10c4003f3f3fed123931301b4058
  99.233 +4c0801380f0127000103270401004701010237010103081128110200380d480d02020d0d0c45
  99.234 +07010707040e4f0f110c4f450b0103040b10980da80d020167060102270d470d570d670d770d
  99.235 +05000d0f0452030e0f060b06003f3f3fed11395f5d5f5d5f5d0110d6c65f5ded10d6ed11392f
  99.236 +5d11393d2f5f5d5f5d5f5d5f5d5f5d5f5d5d5d31305959002b05060623353236353426270133
  99.237 +010133022025ed9277aa3e31fedec2013b011bc2b66688aa6f5058ab7e02e9fcc4033c000001
  99.238 +0041ffec02fc0443002100e7402b23400b0b024b081f181f02070e170e022823482388230300
  99.239 +3a0c01351d0103c8110111054e671d771d021db8ffeeb40e0e064b1db8ffe0405a0d0d024b1d
  99.240 +1700174e480c01970ca70cb70ce70c04000c040e0e064b0c22e81901271b0101280701270f01
  99.241 +28200102651a751a020307191a0314034812581268127812c81205120f370147015701670177
  99.242 +01b701c70107000103b8ffe040141113064b03522014181113064b14520f200b0f07003f3f10
  99.243 +ed2b10ed2bc55f5d10c55d111217395f5d5f5d5d5d5f5d5d0110d62b5f5d5dedc610d42b2b5d
  99.244 +edc45d5f5d5d5f5d3130005d5d012b37371633323534272e0335343633321707262322061514
  99.245 +17171616151406232241439f61b0aa835b4321c09b75b2367172445d75887d72cab3a940b468
  99.246 +946a4c3c3e4f593384944ab05a403167353e39926e90a300000000010041ffec03b504430017
  99.247 +0119401e450501a1010103281938190200870d970da70d030200070d870d970d030db8fff4b4
  99.248 +1010024b0db8ffeab40f0f024b0db8ffeab40b0c024b0db8ffe840610d0d024b0d074e381248
  99.249 +12028712a712b712c712e712050012101010024b12180f0f024b12200b0c024b12180d0d024b
  99.250 +12060e0e064b120c0e0e064b12120c0c064b12100d0d064b1218250a350a450a032a043a044a
  99.251 +0403030c52070d170d020db8ffc040160b0b024b0d0f015208001800020000400b0b024b0004
  99.252 +b8ffe8b40c0c024b04b8ffe840190d0d024b0452150a180c0c024b0a180d0d024b0a520f0b15
  99.253 +07003f3fed2b2b10ed2b2bdd2b5f5ded10dd2b5ded5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5d
  99.254 +fdd42b2b2b2b5d3c5f5d5f5d5f5d5d3130010726262322061514163332371706232200351000
  99.255 +21321603af5e1d93479bb6baa580824b99e2dbfee20129010253c203d8861d34d9bdbcc563a0
  99.256 +630126fb01000136460000010096ffec020705e6000800c7b9000affc0b41313024b0ab8ffc0
  99.257 +b41010024b0ab8ffc0402a0c0c024b070a170a270a370a470a570a670a770a08070617062706
  99.258 +0306024d070117012701d701040001b8ffecb41313024b01b8ffeeb41010024b01b8fff24011
  99.259 +0f0f024b01040b0b024b01040c0c024b01b8ffcc40170e0e064b01180f0f064b01130c0c064b
  99.260 +01160d0d064b01b8ffec401b0b0b064b0109b705c70502010a081a082a083a08040652070b01
  99.261 +00003f3fed5d5f5d0110d62b2b2b2b2b2b2b2b2b2b5f5dfdc65d5d3130012b2b2b1311331114
  99.262 +1633152096be6350fe8f012f04b7fb695663aa00000000010050ffe7038805d2002601ccb102
  99.263 +02435458401907221a0e180b0b024b0e120c0c024b0e22070e1a0425131714b8ffc040120c0c
  99.264 +024b1411000401251749110304492509003fed3fed10cd123910cd2b1239121739012f2b2bcd
  99.265 +2fcd31301bb106024354584086082401071001002520452065207520042a0b01034828a82802
  99.266 +68130113074507223722672203221a001a45380e01870e01000e2777040102351e651e751e03
  99.267 +351f451f651f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e04254814581468
  99.268 +14781404141137014701570167017701a701b70107000125174911044925091103003f3fed10
  99.269 +ed10cd5f5d10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f
  99.270 +5d5d5f5d5d1b4086082401071001002520452065207520042a0b01034828a828026813011307
  99.271 +4507223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f451f65
  99.272 +1f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e042548145814681478140414
  99.273 +1137014701570167017701a701b70107000125174911044925091103003f3fed10ed10cd5f5d
  99.274 +10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d5f5d5d
  99.275 +5959373716163332363534262727262635343633321707262623220615141616171716161514
  99.276 +042322544938a742758e4f9f769677e8b6f35f3b28a44666752a4b74789679fef7dec343b829
  99.277 +3780634a7f4b3746c087a4d84fae1d36745b385c3e383947c598a5e60002004bffed03ec05e6
  99.278 +000e0019011e40161b400b0b024b004d0d190c4d470d010d201313024b0db8ffeab41010024b
  99.279 +0db8fff6400b0f0f024b0d080b0b024b0db8fff6b40c0c024b0db8ffe4400b0d0d024b0d0c0f
  99.280 +0f064b0db8ffe2b40c0c064b0db8fff240660d0d064b0d140c0c0c064b144e87060138064806
  99.281 +020006080f0f024b061a0b0b024b061a0c0c024b06120d0d024b060c0e0e064b06100c0c064b
  99.282 +060c0d0d064b061a251635164516032a113a114a110303580368030216180b0c024b16100f0f
  99.283 +024b16520311b8ffe8400e0b0c024b115209480901020e0a03b8fff0b60f0f024b030b09b8ff
  99.284 +eeb70d0d024b09070d00003f3f2b3f2b3f5f5d10ed2b10ed2b2b5d5f5d5d0110d62b2b2b2b2b
  99.285 +2b2b5f5d5dfd2bd42b2b2b2b2b2b2b2b2b5dfd3c10ed3130012b253506232202353400333217
  99.286 +1133110326232206151021323637032e63bdc9fa0120c7a656bebe487d99bd01602d7e10014f
  99.287 +630120f0f101554e01f1fa1b03366ce4b0fe7d39200000000001007dffec03e3042f001200fb
  99.288 +402714400b0b024b7714010a4d074d070801170847087708a708048708b708e70803080c1010
  99.289 +064b08b8fffab40e0e064b08b8ffecb41313024b08b8ffec400b1010024b08160b0b024b08b8
  99.290 +ffeeb40d0d024b08b8ffccb40e0e064b08b8fff0b40c0c064b08b8fff440150d0d064b08004d
  99.291 +e812f81202071217122712030012b8fff8b41313024b12b8fffab41010024b12b8fff640230f
  99.292 +0f024b120c0b0b024b120c0c0c024b12080d0d024b12040c0c064b12040d0d064b12b8fffa40
  99.293 +110e0e064b121303520e090a0e0b08061206003f3f3f3f10ed0110d62b2b2b2b2b2b2b2b2b5f
  99.294 +5d5dfdd42b2b2b2b2b2b2b2b2b5d7172eded5d3130012b011114333236371133112335060623
  99.295 +22263511013bd75e9c19bebe20c15cb0bb042ffd55f86c4702f0fbd1943f69caba02bf000000
  99.296 +0002000300000000001400010000000000340004002000000004000400010000f012ffff0000
  99.297 +f000ffff10000001000000000006003000000000001300000001000200030004000500060007
  99.298 +00080009000a000b000c000d000e000f00100011001205e6000005b9001905b90014042f0014
  99.299 +0000ffe70000ffec0000ffecfe5c000005c30000fe5400000338000005d300000253000005c8
  99.300 +000a000000000000000000000000000000000000000000000000000000000000000000000000
  99.301 +0000000000000000000000000000000000000000000000000000000000000000000000000000
  99.302 +00000000000000c800cd00cd009600b400b400000000000000be00c800c8008c00a0009b0096
  99.303 +0000000000be00c800c8000000aa00aa000000000064007d0082008c009600a00064007d0082
  99.304 +008c009b00d20064007d0082008c009600a002300136011801a401d600460218012c01c20000
  99.305 +01d600eb00eb01d1017f0154011301450168012c008d02350159033f0505012c00b4006e0136
  99.306 +015e01cc01cc04d8006e006e01d600d2005f01f4012c007802d00190037f00800280006e00b4
  99.307 +000000a5fea2003200b9008c0000000000000000000000000000000000000000000000000000
  99.308 +0000000000000000000000000000000000000000000000000000000000000000000000000000
  99.309 +0000080005e6000005b9001905b90014042f00140000ffe70000ffec0000ffecfe5c00000000
  99.310 +0000000000000338000000000000025300000000000000000000000000000000000000000000
  99.311 +0000000000000000000000000000000000000000000000000000000000000000000000000000
  99.312 +000000000000000000000000000000000000000000000000000000c800cd00cd009600b400b4
  99.313 +00000000000000be00c800c8008c00a0009b00960000000000be00c800c8000000aa00aa0000
  99.314 +00000064007d0082008c009600a00064007d0082008c009b00d20064007d0082008c009600a0
  99.315 +4036544b214a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f
  99.316 +181411100f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346
  99.317 +236120b02661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361
  99.318 +b0206020b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c45
  99.319 +23462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd4423
  99.320 +20b8015a51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d442359
  99.321 +21212d2c20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00
  99.322 +b10a0b4323430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b0
  99.323 +0325456164b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c20
  99.324 +69b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87
  99.325 +b0112bb0292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c
  99.326 +01b005251023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0
  99.327 +062510f500edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b0
  99.328 +06430b2d2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b
  99.329 +59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb8
  99.330 +4000626023212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b0
  99.331 +042545234520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b040
  99.332 +61441b2121592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121
  99.333 +592d2c4b515820b0032545695358441b2121591b2121592d2c45b01443b0006063b001606944
  99.334 +2d2cb02f45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3
  99.335 +330034005944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0
  99.336 +01615923586559b02923442310b029e01b2121212121592d2cb0164358b004254564b0206066
  99.337 +20581b21b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b00425
  99.338 +2046b0042523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b004
  99.339 +25b029e0b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625
  99.340 +b00325b0016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b0
  99.341 +4059b0016123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b004
  99.342 +2523423cb00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b00425
  99.343 +10b00525b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b005
  99.344 +25b003254348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b0
  99.345 +0425202046b004252342b0052508b003254548212121212d2c02b0032520b0042508b0022543
  99.346 +482121212d2c452320451820b00050205823652359236820b040505821b04059235865598a60
  99.347 +442d2c4b53234b515a5820458a60441b2121592d2c208a08234b538a4b515a5823381b212159
  99.348 +2d2c00208a49b0005158b04023208a3812341b2121592d2c462346608a8a462320468a608a61
  99.349 +b8ff8062232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b010606801
  99.350 +3a2d2c208a2349648a2353583c1b21592d2c4b505845441b2121592d2cb0024354584b53234b
  99.351 +515a58381b2121591b21212121592d2cb1020042b123018851b1400188535a58b91000002088
  99.352 +5458b202010243604259b12401885158b920000040885458b2020202436042b12401885458b2
  99.353 +022002436042004b014b5258b2020802436042591bb940000080885458b202040243604259b9
  99.354 +4000008063b80100885458b202080243604259b94000010063b80200885458b2021002436042
  99.355 +59b94000020063b80400885458b202400243604259595959592d00000001000000050000093f
  99.356 +e5da5f0f3cf5001b080000000000ad61b71900000000c142e956ff50fde708a8078b0000000a
  99.357 +0001000000000000000100000783fe39000008e9ff50ff7808a8000100000000000000000000
  99.358 +0000000000130400008004760096031c0096044b0041040400500434005006a4008702690000
  99.359 +04a5001202480050045d0041045f008703f2000c033d004103f60041025c009603d900500475
  99.360 +004b045f007d0000002800d20144020c031204340540054005940622075a080208a4094a0a00
  99.361 +0a780b980c540cf2000100000013004d0007004b000500020010002f0055000002f001ff0003
  99.362 +0001400a54bfa50140a5111546a4b8010cb2321fa1b8011540b21f1f6fc731216ec731216dc7
  99.363 +31216cc731216bc731216ac7312169c7312168c7312167c7312166c7312165c7312164c73121
  99.364 +63c7312162c7312161c7312160c731215fc731215ec731215dc731215cc731215bc731215ac7
  99.365 +312159c7312158c7312157c7312156c7312155c7312154c7312153c7312152c7312151c73121
  99.366 +50c731214fc731214ec731214dc731214cc731214bc731214ac7312149c7312148c7312147c7
  99.367 +312146c7312145c7312144c73121b80137b26f0821b80136b26e0821b80135b26d0821b80134
  99.368 +b26c0821b80133b26b0821b80132b26a0821b80131b2690821b80130b2680821b8012fb26708
  99.369 +21b8012eb2660821b8012db2650821b8012cb2640821b8012bb2630821b8012ab2620821b801
  99.370 +29b2610821b80128b2600821b80127b25f0821b80126b25e0821b80125b25d0821b80124b25c
  99.371 +0821b80123b25b0821b80122b25a0821b80121b2590821b80120b2580821b8011fb2570821b8
  99.372 +011eb2560821b8011db2550821b8011cb2540821b8011bb2530821b8011ab2520821b80119b2
  99.373 +510821b80118b2500821b80117b24f0821b80116b24e0821b80115b24d0821b80114b24c0821
  99.374 +b80113b24b0821b80112b24a0821b80111b2490821b80110b2480821b8010fb2470821b8010e
  99.375 +b2460821b8010db2450821b8010c40ff4408216957311f5857311f5657311f5152311f464431
  99.376 +1f4544311f4f4e311f4d4e311f2097309740975097043088010f8c018f849f84af84bf84cf84
  99.377 +058f689f68af680360697069028f5b018f5a017057018f509f50af50bf50cf50058f519f51af
  99.378 +51038f529f52af52033f7c4f7c02507b607b707b03704e01708f01308f608f708f03008e0100
  99.379 +8e01408e708e02008e308e408e508e608e708e06107040700260740160730170440100282800
  99.380 +000012110840370f3fce16010fa21fa20218c7312114c731210ec731210dc731210cc731210b
  99.381 +c731210ac7312109c7312108c7312107c7312106c7312105c7312104c7312103c7312102c731
  99.382 +2101c73121407c00c73121e0180821dc140821d60e0821d50d0821d40c0821d30b0821d20a08
  99.383 +21d1090821d0080821cf070821ce060821cd050821cc040821cb030821ca020821c9010821c8
  99.384 +000821230e45220c45210a452008451f06451e04451d02451c00451a08180816081408120810
  99.385 +080e080c080a08080806080408020800084bb807ff524bb008505b58b101018e59b0124b004b
  99.386 +5442b9000101ff858d2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
  99.387 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b7342011d4bb01b5358b096
  99.388 +1d594bb0325358b0001db1160042594b20b0325323b096515a58b0301d592b0145695342014b
  99.389 +5058b108004259435c58b1080042591610703eb13737456920b0005458b040605944b1300070
  99.390 +b33200300019701870737373737373747473737373737373737373737373737373732b2b2b2b
  99.391 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
  99.392 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
  99.393 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b742b00000000>
  99.394 +] def
  99.395 +FontName currentdict end definefont pop
  99.396 +%%Page: 1 1
  99.397 +%%BeginPageSetup
  99.398 +%%PageBoundingBox: 0 0 206 75
  99.399 +%%EndPageSetup
  99.400 +q
  99.401 +0 g
  99.402 +0.864145 w
  99.403 +0 J
  99.404 +0 j
  99.405 +[] 0.0 d
  99.406 +4 M q 1 0 0 -1 0 74.329308 cm
  99.407 +67.75 3.387 m 124.164 3.387 l 124.164 18.609 l 67.75 18.609 l 67.75 
  99.408 +3.387 l h
  99.409 +67.75 3.387 m S Q
  99.410 +BT
  99.411 +8 0 0 8 70.70321 60.248497 Tm
  99.412 +/f-0-0 1 Tf
  99.413 +[<01>-1<0203040205060708>1<09060a>]TJ
  99.414 +ET
  99.415 +q 1 0 0 -1 0 74.329308 cm
  99.416 +147.75 3.387 m 204.164 3.387 l 204.164 18.609 l 147.75 18.609 l 147.75 
  99.417 +3.387 l h
  99.418 +147.75 3.387 m S Q
  99.419 +BT
  99.420 +8 0 0 8 150.70321 60.248497 Tm
  99.421 +/f-0-0 1 Tf
  99.422 +[<01>-1<0203040205060708>1<09060a>]TJ
  99.423 +ET
  99.424 +q 1 0 0 -1 0 74.329308 cm
  99.425 +106.148 56.188 m 162.566 56.188 l 162.566 71.41 l 106.148 71.41 l 
  99.426 +106.148 56.188 l h
  99.427 +106.148 56.188 m S Q
  99.428 +BT
  99.429 +8 0 0 8 109.10321 7.448497 Tm
  99.430 +/f-0-0 1 Tf
  99.431 +[<01>-1<0b0c>-1<0d090e>-1<050f07>1<0809060a>]TJ
  99.432 +ET
  99.433 +q 1 0 0 -1 0 74.329308 cm
  99.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 
  99.435 +l h
  99.436 +3.75 30.586 m S Q
  99.437 +BT
  99.438 +8 0 0 8 3.603992 33.048497 Tm
  99.439 +/f-0-0 1 Tf
  99.440 +<100e0b0a11120f0a02070809060a>Tj
  99.441 +ET
  99.442 +0.8 w
  99.443 +q 1 0 0 -1 0 74.329308 cm
  99.444 +95.039 19.262 m 94.672 27 101.449 32.363 114.461 35.277 c 133.074 
  99.445 +39.445 131.441 55.703 131.441 55.703 c S Q
  99.446 +133.785 22.595 m 131.344 17.571 l 129.949 22.982 l 130.996 22.032 
  99.447 +132.547 21.884 133.785 22.595 c h
  99.448 +133.785 22.595 m f*
  99.449 +q 1 0 0 -1 0 74.329308 cm
  99.450 +173.063 19.262 m 173.43 27 166.652 32.363 153.641 35.277 c 135.027 
  99.451 +39.445 136.66 55.703 136.66 55.703 c S Q
  99.452 +138.168 22.982 m 136.773 17.571 l 134.332 22.599 l 135.547 21.876 
  99.453 +137.098 22.036 138.168 22.982 c h
  99.454 +138.168 22.982 m f*
  99.455 +1.12 w
  99.456 +[ 3.36 1.12] 0.224 d
  99.457 +q 1 0 0 -1 0 74.329308 cm
  99.458 +111.125 32.664 m 111.125 34.766 109.418 36.473 107.313 36.473 c 105.211 
  99.459 +36.473 103.504 34.766 103.504 32.664 c 103.504 30.559 105.211 28.852 
  99.460 +107.313 28.852 c 109.418 28.852 111.125 30.559 111.125 32.664 c h
  99.461 +111.125 32.664 m S Q
  99.462 +[ 3.36 1.12] 0.224 d
  99.463 +q 1 0 0 -1 0 74.329308 cm
  99.464 +163.922 32.664 m 163.922 34.766 162.219 36.473 160.113 36.473 c 158.012 
  99.465 +36.473 156.305 34.766 156.305 32.664 c 156.305 30.559 158.012 28.852 
  99.466 +160.113 28.852 c 162.219 28.852 163.922 30.559 163.922 32.664 c h
  99.467 +163.922 32.664 m S Q
  99.468 +0.8 w
  99.469 +[ 3.2 0.8] 0 d
  99.470 +q 1 0 0 -1 0 74.329308 cm
  99.471 +104.352 35.625 m 60.328 37.32 l S Q
  99.472 +[ 3.2 0.8] 0 d
  99.473 +q 1 0 0 -1 0 74.329308 cm
  99.474 +157.684 36.473 m 145.832 47.477 60.328 40.703 60.328 40.703 c S Q
  99.475 +Q q
  99.476 +q 0 0 207 75 rectclip
  99.477 +% Fallback Image: x=0, y=0, w=206, h=74 res=300dpi size=796293
  99.478 +[ 0.24 0 0 0.24 0 0.169308 ] concat
  99.479 +/DeviceRGB setcolorspace
  99.480 +8 dict dup begin
  99.481 +  /ImageType 1 def
  99.482 +  /Width 859 def
  99.483 +  /Height 309 def
  99.484 +  /BitsPerComponent 8 def
  99.485 +  /Decode [ 0 1 0 1 0 1 ] def
  99.486 +  /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def
  99.487 +  /ImageMatrix [ 1 0 0 -1 0 309 ] def
  99.488 +end
  99.489 +image
  99.490 +J3KW%GU+$o#COBr:T)u+*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al
  99.491 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`B[F7^jpq0?^FN,^V01s.HIuWPG[6
  99.492 + W[B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc
  99.493 + _Aoh+fk'&t\ctIN)4XQLiVp8<#YAIm[Y7B-r[TbficW^RQh!2M]<QfX_h/>87rW`7R`ng.Y
  99.494 + r2oA,QcS@]\G\$U6`4nep,_pH-TAH`l>Cq)%f_I)hX5T5S6nLebM0LLI6LH!bN&*#rP(P"+
  99.495 + 0X8e4n!IWoKM[fr;O?J":"rmYZ)P=/W\C+#VBr\)#_11HnPfAcpQOe^lZJT&O\>6,mqMI<)
  99.496 + 45nOSh6A`,RV,'LOT#CDfKZUgkE6.nj"d8#o$0"3&T&G8<[<jDuS:ne?\^ag-S(!6C:UB-p
  99.497 + 7A"HtB0En$.'9/:TN,0H!@_^S6b'YcLslSP@q9rfh#(Vt(oQS:oZX&O[%1[41VTk`T"YUi<
  99.498 + hWi8i09bg+EP\hF2dM.Ze8^`j*/PFP,br&5EPjLV0e.iE];:1TU%b7tHH5`j1e1'iRTrQXR
  99.499 + INPu"D-PU,STS1=Q+_<Ies5WL?n57mLLOB9jb[-n29h7qf%+-#B\@P\VLI6"]sDG,[^EYYg
  99.500 + \(fSCg4@h[qK%?D7a322>td=>o,*#G[4CIPBG^U($C!N\$_3;hY6\sHs_)@$XM]bjl;&$\7
  99.501 + PhXh`*LjAmmZb(Q2_3`ZK_<p_AjFA%77DDdrK2-]MXs7L+uW=-cXF@lZG?OC`^75F#jVAY#
  99.502 + <%\`S*rB">p.TkF2OIA9u6p5b>IpL\&@@QHqnTP$6]S#BkDG%7Req3JLkBtB=iV!+7RbHbk
  99.503 + a-HE+Q3$uPElru[,[I%1alaH7$VVSE@=Pga+Dd1NS^$GKL!O-L47coJ*a2J%0EJR=cHRe='
  99.504 + ["!-:cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu?D;4e*cZS(<SaV!ap`9s"i
  99.505 + V8utNT9gU:R1&;So:1_qAt]ol2%!TXm>j*caE0;SonVc[qKnq5bPJ>&r1NUs4-f@T5WQ[rZ
  99.506 + @3_q>R"imJHo*ch78:TC;^Xhuj(2:_!Ol=:G;h6j\E@/d=Sn*<Y5Q&V<hS$:.cG"lR<:K2?
  99.507 + Fq6.e=*i<1<W:lZ/T=A9+\6n*gdXqj@V>mM??%O#@C><YR"X9[MEL%+LO6eHetiWMQ';%=d
  99.508 + <=H*pP6qN54/ga!=SJ1"9;2S4G.RdIA&#"ghL1E1\O>k=_h`2.$;-l"I=Nq`D6tqWXXu8c%
  99.509 + h&GC-EK3oA3_*<>*TP(RM^.XAO1;bbUASC@0;6T[R11>#7#@%(/k/Cb*@'WuOciU;8kE/;-
  99.510 + /dj2O0S[L_hc>[,m9p+;N=XI=\U@,7&cGLY#\0J>q=fKRW9![>/Oii(h(XBQ4iUl9A+_Hjo
  99.511 + iMf;\!81=cG/u6n+Ei10P4AD#'kH@[C"?C/%j5*_"<+$F=Vf:"d3=k60b6;iYln=j8ti7-U
  99.512 + 7@Y'*Rnh)jeQnX`\)H;@]24m0cZT2Y0,:YG\,#&OC0nY1N[=q*d]71#Ye/r!3V*CK%E&Y`5
  99.513 + =51*N"%4/)^L@X>"coO<[klb'#e;OB*>"qTQ74G'4Y*Mu>>taF90r@pqRT!C,:$KVWVc<)U
  99.514 + ;qcXql30JP<=Ya&>)cDE74o@@/s+%uP>gb#;6!VkW`<6)<U.P+X&X&?<:G07ke,0.nd7\ol
  99.515 + C1rB7;7SMN([1)h-93!ENW<e\lW)&?0fH_WFF;`74Rn9lihsE<XuuK>7G$*[9j0(L-JP'!>
  99.516 + jhhe$$2Tb#qh>>:Fe/ZW:th=kc)Pm002j<fYU3>>8i!7B*[qY1?e2?#/h]Z*m]Yg07cuD=,
  99.517 + <Q[oVqR>71%%/@8*W2YQ-8>E*Xj7EN)A0'6EnSTF4QdC0gq`E:5BA16Q&\2S<n?.^<4.9P$
  99.518 + 2=*jFD=JoKiAUD);(7#/oh0SODnVKN>qGNf_io8IoZ*QKN96m9bCGk[u=:YGh$<;>*Q3>$+
  99.519 + /eq]M=*h)]0>4j0#iT#?#VVi&^=@i58'CRJkhZ96\6fkX=cn97:'eejY80CI*D3Pj/VKKb1
  99.520 + ug-(NSkiq_fd[Cah&Q@DU&:')%Ro`4Ae^*<^k,5/b\3#;iGa-)9/(7.V-bG8h[ekL0/pIh2
  99.521 + FdGZE@W[;9L34I$9rh7O6+*UF9`A+dDSAEPgC8PNA.GIV*0gXEI)WB.X"RieD$?fq1NC>KN
  99.522 + >u5&JZn+#mrI*HuS$-I0SG/a&WiJ#b2_dopW0kUK6!2!1L-)BtAYX[N2rDPu#aHUuRj-9j>
  99.523 + h(r)A$&F#`eXnBUKe%c&^CRol-2'jQugAUm5SVaW5p8n<5^KB&;q_U1=aP'ims(f;p[5Pt"
  99.524 + fH:9)m?cM2[eA[EHRi]@NFe^P%cZ;KYA7H-f=U+HgY9>uE,Q3Q,PNN)b?LHKCJ?N?ZgRSG>
  99.525 + 2seaSd3*m:@bn7$[V<&*?DW74PtC194cpp^c6f]dsMskES0BiX60TD]R,f2Sg/Bf[f=,_Q^
  99.526 + 27O3Ql]$A`OgQOn0W2'KJ??bF6a"Ac;eVq?Ak>r<K&bc=b4t?1,_G(T'UGF2[VC4NlJLVY+
  99.527 + 1Ed/(4SL]&<LFIXf2]*(@_q;7'II@jY%a'n@:_lS$qh$Nr?pZB0(\m^N_Q8dE+l8tc5G@(5
  99.528 + ZHZ+E':i!T0DWfsU6kep5;grA^c_!<qOe^b<aa$u-iHL'4o%n6dGeIPGFM?,h5',.G+"?H&
  99.529 + 6icft^Wh(s>lK-Ec10Qcd;m!/mH%uYJ:[=K;]qRu`+Qn%?OUcK?ZDhkKCKj%0Al]SS+=RQ+
  99.530 + 8'uaf"^Zu+$KA6pg4]pI!?$(?`29HhZ)e:s't7Q:US,jHhL$lFTC\4B`;?QD#W&`p`G:9V*
  99.531 + ?p'<4gT;DWL-/Q@VikrboCIa7TB:jSqhKs,C.Km-=$m)!nC$kH:cb&298ChLJ4Yr3.s/YEJ
  99.532 + o=IfF>8s.O-+mR$6><9Zpk"0\$nn3F,=klHZ;!QkWEn0n!L/G*mi#H8LABEG#ckSu:4'_%'
  99.533 + XiSb(sI/++KJM4t>E'0e3VVP%Jrp!PjE/P"e>mV\5$"sbR8/DU$SI-gL#7gItmF)Hie;l;6
  99.534 + J.TMG!RhN4BVa"6'_']Q&?a%bVV[C<"gIS.&EO%0;%Bi!"-EN'E6RK_q#^'o&ZFFnVuI4ho
  99.535 + _Jnmr]njCd3B4hAIiXq$E*\48+R@N;%h81eIaXXnIjiaUuLi['X:o&&Kqk8RhIMgP&H'j:r
  99.536 + pb@5fKufgX/-5EH_F<:6G'b(G(mi/7fPKbk@(E'sV*`l9qG+_VNQF(h`FX%DNV9HQ-rUV'.
  99.537 + ]8kO]V]`:tJmV3/k=@=!INL`A,7)mC7X5oBG17&9?jIPH$e&_s2P^(X$)q@WH3C.f2epDcJ
  99.538 + [$Hc-bB@e/Drt%dtqXMr.:R<&_8-uQq+UD3i&VR"o18N>L+7^-cnc/Y&*?0#A)A4>:ngPOK
  99.539 + 3e.dP(@SFHc\!?r2]&U&(\0J\&D\8Fh]D<tr_^?K#P0($:8Lh6,_uUEESDkh;&k_Zq.`hLV
  99.540 + r9"SHQO_3+*%/QEY\td.fN<N*)^i#n;/;BM(:&S,]V7]&"tCd9_ktE/1=FA&O*'>m\M[#,N
  99.541 + 1L*1<h)Me>0D',uWNKP$7X$?DVY`-:g!3:b(aLGo@>5MG[k+b#3_n\KY\N%J'e#ZClYCiZ0
  99.542 + eQVN72FL\i04$4RVKIBtL!Wa.D.h$co!q6N"4C/HCQHD_:C*HNj1Z6([hFXHBX2j7f2O+0(
  99.543 + ::o;]^IrTBaYK6t3.41%Z-IK"UBBM$j;)T#%2X4@$8)Z7F3i6s_!9`f-8q@W(9,f[f3,2SX
  99.544 + #MCtlFZ%P+2p[*s'7^CqK_l*p336aR&V2Q)m%lLeVXnR/PH:X&m!k4[4`ce_-n-k^FYQaa0
  99.545 + shpWdiU1sC4B1@2D9\<ZO$=UAMrZ0$^*iSF2iYc!iOMH5En"%1cTpSp8=!h6ON?O-p]Hjn>
  99.546 + 9-/Y*<=BnEQs7N5a-@_=.Hod/&<8A:??bV")PpZn39);*D9J#rFiD<,R,+7]3VU8CUD3'N0
  99.547 + A/=#g8M7]PWD-oFP:T-I;.Y;F'c&@AB8G(F`LoJ)g5F<=7-f,@<n)Mf&#8(f\=6SQRAV=?,
  99.548 + o#MW%0j$dmU*>#b=DjNP*8:GZ<V(h4.-e1"pEi!j_-Ycp_o=TKO"YC@X09:T*Pn&5H\K);M
  99.549 + ;Q&<HnEX%0deT%CV3MJr8(CRY[\].gK[fNb^]@LJkm5g=I<3o7[9j<L@gP"2V%m`o<JmUF+
  99.550 + %_7@$^H1;20sgpR+dap7W\'IeFchA92fs0;Xb+o[0%r"k>74h=>^X.'bpXHM,n@m=^fc`&E
  99.551 + ?Z'<E.FA>JSW_#ME=HcRj9(**&^TojelH9.8.rV3Ot['il4eStu&(=CL/k192f/799%,1,R
  99.552 + .M[LZJ@'4GWM@C?2=Q.Vp5Ndd9:Up]!+eX]^'[&%pEJMc*Z1u?Fjj^r1_68S2/<a'oKf0H?
  99.553 + 97Ao:EO.0c0lQ'_C;?uM51tEc?[pFjO+Hj2Hp3ri]K4,#dA8st8Z5WJ%>bs?AIFa4NG.N+0
  99.554 + P@rGo>4sHo'ZY!QQ"Y,mV3\uHQH'-8RN<(h9]tFtF3oIqVV60n8ubU!<d+7]JSnJiB<Qeu:
  99.555 + p:otMcki(Bbo9JG*cTlmqL0>>um_>^mf<Ko4l>9*bnCFpAC_ph^hhDC_n0jQ:##D\qG5UB(
  99.556 + dfaW_mk]F`"T^5mQ^n2cbB+V$=8Y0B`"H%u,Z/?PRHY:)7Pgk^@'nFJlP:CNj91kP&:_G7M
  99.557 + [h=Z8<gG?\&<nSQmNK61[O-e3@KGBNNG6>sVTe&d!'dqo?[I!=4kep1c7,_(m>/@Mp:f(Rf
  99.558 + uqdSiIH+3TppM>>gV.@r3J%)Oh=0[/cm<a%lKJ`4H!WRODPCa&^JsZJ4pHr"?c[uJoIFpN.
  99.559 + =5p$aR""epV&)CJf7srZ(O6j"LUWOsC3_pCI=h1mC5;UM2XNR[j(\9)I+MYPntTc`Ck2!=%
  99.560 + ^`--Q+Mh(1GTeuCq,`AfUn!ZeSr$rM.bd9E5-ros*lV_Is5=U0BIsH/S>oTIop]FE<%"=H!
  99.561 + \"UMV+`$(GpY%M[7sqV>/kJ(n$$O*K+$LO&mul\7h\Jnta=jM\j^!W!e;5d-nJKOgn[lN)N
  99.562 + Km&>bT"F74ArG@cd/r>&N:O1>RSoWN^Ac@6RmK_[Khpk\^U.]6@=PBcPN),Ydl4"L,>LcH'
  99.563 + 3q#uCr@uZAGJbZb-pq;rm9pK`fP4?;N3JEeRK9)CHMKDpQBAo)an!=kKPp*K$MK+pVWJS0m
  99.564 + K@hc6q0/9q#FS]aO6W]h:a"1_,kLMH:!XuFg#.S:?^l=GJ_@eh3H(CbeT9+C#hFtkG"M`PT
  99.565 + n5:lIX1^e=d,;bbELW$Fd`].)B5Ch'p]a_T3;N#FVaQ?HH$YJo/)(<\ar?q++%0YU/gqn\c
  99.566 + $N5,7Za:TR#sR\dkZ"/YP2FU1ccfq8JFVD5MU'T"!.J3\l8S'cEFsSiVga3Tm</6'f(GS2t
  99.567 + D6Qj0IV9r=)7G*ap('[M.&++bDN&)'[MHBjo/\YiWMVoW)/m>72kH`>(2V]+A=>,%p@Vlb7
  99.568 + pJ!RjLn[GPXdAr_FUj;@2g.eZ:Ffr=YV_5rZ/R=ocAY%2sW;@R?q&mcs,mg$.:AY&a;p;&G
  99.569 + N.1WlP/-jAq?!NnO.r(dJ!7]@_&96Kl*S&1X;W+[qan3LS$8?[IImWJBN_GHJ#uo`K">s1q
  99.570 + G_q`3i'@LIJZ@.4%H`+=FXOMUt_*A>0F%;>IHV#ZE\,Tg+U&V8\8,NXCp4r(#F_WLBho?Z2
  99.571 + ;atg68a3-`7lXTP*;b0aN6Wk,%YF'3UI0]$7gS3P3u7]:+5a4+"QNq7?J/N-kN<]F2;4$,.
  99.572 + 5`LV%Z[gNgV>Q`p9oITtQUBCWg)W.%t5V;(=Mqu=63TtafI`-\DZq_,@'_j9'gHo(<18:A-
  99.573 + m)0jo^`i(K&4AURA;BP[,GF(+E\93d'=+A9JT^T&_R)R#!Q+^EK[9=HbBK<-*n\e[8_*"d6
  99.574 + *1P#.\UZb_UMQQtY?@Xt/],$(b_P/t[oJG9f/%/EaH_0h)a2:[d175A^tc'-4RpC<mE5bgb
  99.575 + $=\`S3s`T<NpkEc'TE'r+-V5Bu\sGJin%k]%b8P0g;+UBefuJ)5d[][E9K4`Ofun3Jn?3D_
  99.576 + lF_PW7XC)mdie\(+`]cs3?o?!GdKA'*Ml+8A42*8GtO!Z#!uQe]6uSA=uk`KGXXalj1!0:U
  99.577 + D;`R>biIW@c,>CY-5YLIOOe?kL"Q8QiKNR4))eXa1i4IO-CkLTO#pcWYGSTi\q;6^RsYtrb
  99.578 + lO4@iJ)r>AFZ7O8+I663=l-m]5>;fPOO+4VYrhQh]$^-4nh*\m2?-]A(bmKGEReb7ArQK]c
  99.579 + d!M&/S]#tZlDI^e>$ZU)4bF*4LU*KDOT$_XrVWSBft9>Ei38F'rNEQa("GGAI_Hf#\m;MR-
  99.580 + .op&k.WRr4i?:BoAaS,j/<^?2iHNul02jtdJb`O*dOSjdpnn2i&cRk'[ipCe^-HiIhsQtZ+
  99.581 + o(`$0"*2idH[BStG4/p!nM=I9sjhh333"4TtD*"Y^#^DSP2&8q<MW+9#2'hQ>n2YS?AZl[0
  99.582 + <3VsE[6E?BYedN4+sq"O.r_;KdSm@=:48+l97C[O<pJ\I9'/q<,X7"IOmkQi-rVqpJJ?kJ[
  99.583 + rJ!,s((KCsXM)05UiZ=j>d`3<l=ShOQ4E9m?>?U<ap[oS%mscAQrmgfllS(JIe/LO\]Kh#&
  99.584 + *nNM!b5X,j?R9`4a5J&^op*IFhd?(2NV7>Op:N-Ls/pilmItOEpUJWFs'aI8L%-84e]9K?S
  99.585 + n\-fkP[UsrmRSa%gR^/#^h7)+V:#7)#1"a1a3J*PYNYBMacY<R$b<B$A8p8&(qWe8GeT7V%
  99.586 + RFrM>J]L4m!Cobg'2eRms:hRFLYM4eGO6'H.\rM++1:knKRd/t#G3;sG)9Ptn;YX$r3%R.M
  99.587 + i(?)uTD()itTiEJ-AlrKTUY1[[$>OE0DV9ZOV\ZIJCS(6ruFbCZP(X*X)SRf'10USA20,]b
  99.588 + i:1Jn0gjjZ$P!:6jku=ro0pt`]dqAA=8YsmMobsB%Y?@ud<`7Q-"a-ZEgK\o+IFdk4]s->d
  99.589 + =+0fRM*K[$%6Rrs6Z^H6F8?mCN_VqdP0)f@Cuh?S0U]XeZ[RsralW,>r>qCc_e$4JD;iW\5
  99.590 + L+uSA(Jc:T7?>*rMhgbo7[-/Ca4tU^l:_@q`_3QnGPWaKHgdN:7=;f1=!H(br\K13psWK$V
  99.591 + (NAE?n0j7.;/J^HKt3"E;?H37*I"$R./=S1fe2pr0N!HKRO$X9B\:C.&KkaGY^i(rgQq.iZ
  99.592 + MZoQMQQEhc\CThrA&bW?'Y2\*H]q`oS:;QS%t9_1[#Sjc;R=Z%_n@q@YqBM7nCc1AmE[7CY
  99.593 + [Kfr-c2#aN#1SkGicI<RB74L(('.fcW]/&`LEr',s]F>7f7FQA?4&7^i@^e9pl:T,e<:i$U
  99.594 + ;j!5[8QSpUV"g!HeV$dbeuCT%<)k`F='!og"[,>Mm]@W@_fVVW0Jh)[1D*_IKqi?cB[oG1<
  99.595 + -G!fZ64jd<nSXWN,NOfF3S6L<gP'0>MUb,[Xq`,otZ>f=(U\RfO+k)8B[1hPtP8D'Zk]0GU
  99.596 + <eAg</EgK40"9EH<bUSf77WGa9k<;0U"PA(#8Nrm0%,*Arc9GpZ/<@0fT4P@]#M:PYV[7U"
  99.597 + [.R?hWX65[t*ID]1K.dio%DF8(!qBh,q.To(MQ"^#+Rbq]7#%OPg)5a=4C@,nZb0*bK]+/3
  99.598 + $re#c;)^`b-kq/JAZYb&!#H2BACD3`94/V;NCJ_sYSnlnN4b.&^*ppd_GHT>in=2u]U[@i;
  99.599 + 'Z"[7G9b3WgW$dQC]!fi&Ft534$di?=$=rQHt)WnXh9EbeT'BHNP/I3m_aS9?!hC%6@ArOg
  99.600 + \6(39AV3?:Oh>=*H$)RB@O[TiV@q4U"oIXL7R4J/n4b>HCi-;io>CKA)u>"cbo90hLET;A:
  99.601 + C/rU\I&TgO"9qIXA;GqA7ubId:%]7t5+-qu8nU!<?LA"+ZIK"$h)C!ant8JWMbp5klK*@$D
  99.602 + =VOB)`TGVKD1e/O%%Fq6n6-6+0@_/Z[:TUR&s$=O&fKoi_Z6MOst@?`R&OOb@<G]<rtP8\m
  99.603 + 'FlYLUPmO0!6RhDr?:9%#&n4g5M30\D7/3Gi@['fKO]Eu$Gd/#ne6@inFtY@*9+_Kk?]:,5
  99.604 + 1IcW:)Il`^NKLY.7ekp\iT"3NY%6u_2MW-Ee9`Su)E>e5!?bneK92636V)J7)4Q;,,-iOc8
  99.605 + GODSA<`:@P#b4C[WM6gWloHZJjr?-5Y`QrQ^!Z!;bD=4.V2S>O`H1Vb5#HsAX'NeP1;oi2_
  99.606 + NuujEGPQdSS-_68p5&WgJtc@n_0111jM/R?KOA9_kA=AsCc5P?)HnH*K8>eD$IVG&L+N_)Q
  99.607 + 'Aj.)=!F&%"L3N#il,86eq:ANj2B9`"ZPLb(VH1=(2eGGfRqL:GkkiO2G5`ZSaK2?k*?GsM
  99.608 + b#a@6&66P5RBU'6"U@sLAl7kY>U&CVsjmPSD4\"ZN,G^#-j;gL28SM0T4JJ:2*84M?.-l5D
  99.609 + CjKDU)IlNVeK^mNGTbK3G>N#dXD/4LTpsbJn_]l[I^L5p<;?,^85MaTPsVNOEqHgMOl*2Dl
  99.610 + D20Cm6N&bH)n?=ZTKr!>%pE<Xd-8lMH\q=^_Lpm`jW(glB`l5D0<%IouMoH!*7='I^#+PSd
  99.611 + E"?<ks-AYf<-DdoU*_ltqrlNEep*Ejc6ieWmJ,)?#BN[KeB!SM?EoJQ$=&:+[cm[>\3b>4T
  99.612 + *&m?Of^Q'=:5EjcFZe[7)3RU'*O`@n@T_mkUm?<hP^4"aOP\Wk#`h"%lfDO&I!(Aa*DWf;-
  99.613 + Re_<qGG4-@nR<WW2j.RUXo+eLiH>asA]$UHC>V"ERDj!70J1CF2]3ZnhSbnIk/-hHF21TW(
  99.614 + =1u$(S'i8]JoFU""unHAfDtGnn<;lPQrM`I9JM4CNWlLC#-q[=6&89TA]0:?WWZQqMI$ju`
  99.615 + J&+0@e&cCED]BHPRe:74E6BUYb/siC^+D@093=OP7G,;Xb0l@ONL$M\.f`*AGi*/#2W9:6U
  99.616 + *)4*3e6P0KHf_X"9JTR:L/8?d+q&YC\m`<l@1;bh9D!NniOmo9!5n3S-2'bej<2c?IU&oV0
  99.617 + ouhH%J4K?r6dP);sGO0SKTd@(o2kF.g1oQHGHKN<R1ijJi/d,*6?=&1JGRA`a1;Uh._MeNR
  99.618 + VL\3R+c\>[4lLMA+FdB,[MVrSlHsQg\fVmDje:6bB%pnr&_p,Zd30g^2Z:S*8fnq%@m..Re
  99.619 + [ZL4:RepJrS.W)Nek\bIaAhR*\%#?khZGs)Xl;UhZSoNVgfq62kV.!oD;O^;M"FO4F(@)9f
  99.620 + '7;*daR>1Zb:T!'AMND&isn8_GD+"KclV^KFT06pKgVR>ZUrhTL$Rih@0ZM98df]S0p</Z5
  99.621 + ,QhM/V+5LNo^>jd3&EEq<jkH#GJuUX,D1^2R,hQTO6]Z\d?fC!^ak.Kph,XauLo4F1'ql%Z
  99.622 + YkLJq_8qNgO3q2_EGHWc71J[,a@GH>rY*&Teh"mgqZ,BeM$eT_U4m?U]tpA3lU`Xd.X^!sP
  99.623 + )i+_%?fEUes?b^cU;-5Q^/+270_IYI1!dn"9ZU;pVG]+^+_uGoY60l^5T%1'XO.38g8'`,)
  99.624 + Sec_:UFDrGdqbEU7l4WKo,\+KEisuX4dB;05muEd+Xui-T=ZK2TAON_1Z&#k<Z1g>bk'_;n
  99.625 + nHAa*.V8VHlriLr`@PmB7(eLF(?Npf.?^k_s2[H=%.i2EWBZe$N>MepcXb6$\,P:"^g6554
  99.626 + 5HL?e1AGYOH@Z-i4okp\R(*#Rum:\kmXdPLh@<4[/K;^flUFOKF(e#Sm7A3YKVh=P58;%L3
  99.627 + s_3b/!$S.@%cbCXgJ%?MOF/-8*6Q9E;]1sc6(;T4BL(coSF_*f1iRi$p\T7R@%/^PFmJ9Jc
  99.628 + 0HG7`r_-jCKYQ[0D@68!;_?;264.?JE/\hpX4n*NQF92\h/3R5bR4H;_PUm&YR#aU;":3[4
  99.629 + O9:3d1cr&j_V@$qr%>L0+:XMk!?8cX\Dk9U&dm7s6ei<*\2H_Op]@L2#IHCU+NcU#BfjBS$
  99.630 + TKt/&19ehgC1_a%?hla@K/HC28h%?,\03QGU8?2#fR/2L#BrSXA_K>#me0L!J2RMn2A73FU
  99.631 + '`tP>GW*X4m[eDoKefJim?`6qW(W?l,Ka6Kf]7/5SbCkranu`LLNb&=5id1(BGQ!%Z@uMrY
  99.632 + 6?AB)hQ$J8%lka]RP-H)iI7iY&hBbUcAF@IZ(MVDcs(n?2JGTq4J!(].@W-?:l`5AMga4T&
  99.633 + Fr-pd>C-@ema#&Al,Q%[D+q*lg86gLsGd*/=5Y-dCJ.UBh5T5L':ElGD8D1o%./egPO?GkD
  99.634 + 8+7&!n1VmE.QP9RL.%=8cqm;]9#96;6DNC.*03\%r"e2sak59+a:Lg3W56,3U-NQf.#c109
  99.635 + ZL+$79V',X+JI/oFCXNb*jR[/?9'!\-4ChJi&Ade?:'8"A9"qb8@VlUpC.+ZkK7B!sCp(S=
  99.636 + <-(\0#E([tJHW+]XA,V8O9"-"r8JpfC,`'2/gkU-l%UM!#2X-TM`5$4rI1\/3A:OVQoCK^c
  99.637 + %YJ7uMB'L\]<KcJB&[("79clX*i"2*&Q8@l_*b6fcn5B8!%/D!O.VS4=(JQY$$lk@VLi^<K
  99.638 + !,!\<9ln40;3ki*G';V6X\9&(:6*Q#VNK=rOCc]@Bc\]HC-fjPfXQrWolqYdl:>G84m-c9?
  99.639 + B$Un@#f+'e3!tY/>e5;%M>0KbBiN<pU5%%!Q!<eb82X2T+O:n^8jQFu,h._S!//h8!&0)/O
  99.640 + =7umW&(AWaOh(<TJKDl0Ym>ELsXj%[0ogE$rG1X:tddu]_r,Rk!n#aXO%N4[1`kg)9dpu77
  99.641 + aYdbH?J?%uql0#5!2+89E7h[`'q([3-n*N8jui+;:PIJ;gDCAI41;$IIl\;I(VID'r5(%oJ
  99.642 + .A%2>U*fE`.`.oOSrLA6Z-r@\h[4>'HR;NXD"I5;P4$p`0ZN[U4sXZ',q3WcuT7>s.Q3/ga
  99.643 + 0-e$=';r'W9l:4a31'tnZ4UF/G**7c.XVFNiN(_^D7!Jd(5`A[c9eb6)"\T:YbGfGZ;<5@q
  99.644 + OHpE94AI,[dF;dWY`$uJ;7.SfeQl3UD-'_c=B1>`<Lm;nW)cp/p/Hj+\r^.C@6.7^^GGr2b
  99.645 + :n6/'U9$[$jJ"`$fc>-NB%Dln'%8UMVSpL[9biS?a4sUeg,jt0T/prNt$eSRBXRMYliSpT#
  99.646 + ;Vs"2(jg67'Z#`k\QQf0I""XYU$,?iU1Lf@\-e(f$g#/WlR5f'nRK!/4JhH5U:7Mlf6H8=p
  99.647 + L(0j'E__/KXpXP8\5-^1?h=E(uO\9*ChO@O!5%f.OR<Kg*-n^ntA=>5E\7?/63Ko4]@fm'.
  99.648 + oXd`-E8dk6)!-EO>TQ+-0`50PV#6gi)Tdg@jc35-d'h`(foTt78:=/s)#b@7e7@.14MV3fH
  99.649 + =e2W*?t7n&6UmFq>8uQ0e#/D+;Hi;u_X&FLC*WlR\16TOg6d_#VuU#7[2<2O#Z\$3aJ'dIL
  99.650 + E]'?9DDQpE4$=03<[=?>O_tdX/FCO-VnDDfM/p^rOZ:Q`Y]`0LeYV=aG\;^6A.eT-s0-Gb=
  99.651 + dY\i`d6P:0BqJE!oh8kDHKT?(!`0=@:m5W!$tn"?#%-!(\Y+:!c_F_L!=,r,<D3^k"4$"3o
  99.652 + t5U]\+("M^V"gpjHA_1LIp^XkX7#gAiiR+Y&-N7muG=m_cS5TS`Fin&^WL)otnX#=;:V?&j
  99.653 + U6RpcI"I96\#D4o)U-'EL`W&I03\Z9N*HH\4qg^fUT&-,5?\*Q1^]7X-#"e=;:`,ch,RVGX
  99.654 + ,[&t$`Md.iaJ"<:&/1^.i>r11=;g'X3XUl:?-l'-_)b)WeLq2?#dm;0!BOKj!M2*`12GO!r
  99.655 + WQ^ZG$oJ!?\S*&ffDU4M[^F?^M#4HW[#)?$r=Aj@-.t+a?a:G3X&hA@K<43#UU4\hhi`M/G
  99.656 + h$Pa[4rG);uE(aCq*s!(dj"al1B:?@tea:n1tn/f,QP?Ih5or+Hb>J-nQI@obE1?799K.L@
  99.657 + 5U!tId6UiZg45)M5(PFNm)jY]@?1:5IT;RG7gOJ,Ns3_HVcj,tJ!7QTCl4,W7T>fK=##!J,
  99.658 + 5<mV.63d@UL#\M?2o40YQ%RI$#hC@W#TNiX$8N8BSpo_\#Y6!31';P+HF$p0WfEsNJM"M&*
  99.659 + 7EXZ1?l"Juk0!,sku>)nWJnCf?cWRe.P58RU;H_*b?PH">Ok4rdTH":@/sB\SW7<r<=AM$B
  99.660 + 0fU2hL9'.3a>KT$W_6hmW)qq-J`c53n<n9i1/(*.VF+_B8ml<R*e:h3&uDRkJ1eC?0^Wn>\
  99.661 + EbPApIA$0XtdE?,U<NU29qj/`m/[?=OH3M.#%I<@ia1-qa]Ib2/!\8@9-T3G0`IBPqTlIKN
  99.662 + o4Tk;<+'n29WaHfME(R(XjAb``CPl[W.>fa5*K9MIPN#u#TbD'?./H'qPl7+t%Y0U4Z_lg&
  99.663 + (S_mVjNbJ+il<.5(DLPs^>STr7MhK8Z@6$]p/HoBK@$2p/R)mP&>D6X:LKmQ1<VtS`6q:&X
  99.664 + m$]?SBiMq1W/FZM#6ZgrV$:.hRVRq3B`>SUk^caZ"q;8"`-.<O\@0+[3_#]5Lr;?j<B1,mi
  99.665 + $+*q%#l(Y,r%TNbMAOs82qo50$/WY.)Ra]:$=aX5[=\UAs>1C$Z1r:@l[QN]^69AkMFXO?F
  99.666 + rF$L;2qpB'b%VQ4@eQ@ci'665IXVI4^8Z]>mg)@n*CnA)L6*M3KpOMiQa*PrAiEU<ee;>C\
  99.667 + @u+t1O%N^jpNA[AgD(#mRtrM"Za!Zqb:*ZF0sN/mksZ_KSic+@9>6X7q($Jh$\R<TE*r0:E
  99.668 + &;..*eJL#5S`USL7U]?@9R6)(iJJ@88ZHS'i?>eH#C>k7aEYsc#mGD`4b6-4khp,\!%cW(<
  99.669 + LI>2>aOl4Q[dbR0)N)>4,5pF+c!GE-@gXb7nHUV%`D$V2=+If\Cteg,Ki"LsP#6R!k6#p+h
  99.670 + ;:SQqP%lfnpT8('uLABnSjF1$-XYk<[7sh6,9Y9$-K@UpI"3u!\!X62@i=?2NI/A954MSnu
  99.671 + imgnLF'k\TI@,,P[4]Ym1rW*Gmr\AV-h:B-5g8o0oYY-7l7@7jHh+,_NR3?c[#*k_g5;M`B
  99.672 + f&8Q?r"BjNI^N69j+=GS[;[Ke"MF>(q@0n#/j^sN-hC^Sr;p!>cRc-gS6@ni>ml@>H0T6"b
  99.673 + ?YgZMJp17STD=6<-0K!F&/H'BT$QjsjHu+N6o:W*aY$).gS<0t:G3+2_Kun@2E<u%DpfqU^
  99.674 + f$JCPUFs;RA$lYVaL]Di.$if2FTEQYi5,3_(\Jo0FYJjj7oYC"<Le$6EUrR@k\FUm)P?_L#
  99.675 + gU6YcX"nF[DWJL.!K('Ddg2q+iJ#+F]'fX7Znt>1Nb,DU=C@fd#=]A!R_qr:h,MS(lMa/@H
  99.676 + :fMhp$<3B#mHCUf>p\TCs2^Q^8)A\g$3.NH#oo/P#NM"eo;u!Br#e'O`c<QTEZDlgc;]fGR
  99.677 + 595][0Z$[Bkb@"6$[/qn5_CSqc/1\!n*)iq4XB9uAOY>=g&`q]X2r6V/-[i9p;*0f>$P>5k
  99.678 + KR*f?+\V:FjC^BgY6u)(Ck'#kaqU@e"@#EO;#'a5[dN6].Ch\^MHhq:rH?q2A.#K?$/r7\m
  99.679 + 8Q>s`>`1"P:IGW!hp61dp!IO<N:(j!@@&*KmdXdph*QuO;Xbcg.%$=]WIl6sU-+:2Eanc1#
  99.680 + mSHG<'U&@j'9FEC@'Tm88MT65%KHOjok^95tLKa"==ikL-oCrpe]*Yrea!Nd<NTA2&hQGA'
  99.681 + t)TL.*>M8S$7p7&Es7Q:kf;q1Qb!(k0_:PBYgDofJ\Xk-*Iml0h!65bBjbU\[a6VF2T/HA'
  99.682 + S?.>UsgeTk.qYqW:\ldbk)G/7[o=_*R$6pT4:ZUp`HpLV=UF)0T7QZ`i"GC*@t<;6%1"u`6
  99.683 + n)=YWs6!"ap`XsrCI"9Ng,0C.2_&U682$tpJ@s%)BL)R#=7MT*T(8jMkN+YdeXb8JI9oX_t
  99.684 + g7U(]0G+b4Ee5Hi"DPco&Jr*)`A+02jrV(SNe0KlJP<%hg3$<Z[(l$7fo8c2c+<32CG!8M7
  99.685 + "M]1blTdepfOHTmeV6Gds'g[oPFL0^X%7U8O,e1#l?m64:q_48Sds,$.*o##dmKb"QGXW]&
  99.686 + Im!BaL7=K^egV`!f0cbn>Si45gm_k9O1>`R0'A(rfFCBW\3$_KqlQWVV4@.&[c?MPSNr<>q
  99.687 + ^7'TEr$&Y,15aiQ*'-d#(sd!.-8@P5?\C["s9PjY=M8NHu>q(e!%3t*p`9MhbB\?aO:=jBa
  99.688 + rC]hX.&q8E<Zb'0_ccFkq4uFW$#`KO`4TsD0W5.pm\06KZ)E=Hk.5hS+\BR^XK;eB:b\iOa
  99.689 + l8[nj2J:Oc!N>NNLK!D\8p,PiPKK]WBS?L&]^?M96!\_>=3ia5R%G-5Yt><f*K\fPi.TB;S
  99.690 + @3iuB\HLU;P)(]Mr#'#6l!4NgXV117pJ:gaG;eJ=pfQ2:q8iF!dB%['4+@oAl.@5c)H*J=5
  99.691 + E\$WtDp^SL99<Gb)mt)N>l=;Au"RhoO$:LT:-.?]&;j@NUNg8JJ3UN@;RUOO5WhfgAUS)b!
  99.692 + 2ij!Ion.Dd]FNIgno+9H0"fJB&,iI6&C\=u`L2A\Cm0_%h\&KL'iKc@:jQR2?umi$MA`,t:
  99.693 + pDE"Z_:U6.&CX1mf=):XJDmI"%+m#i+G'V7chE`qs")^Iql*bG5^@7PgpT[$rn'+ZD^l06O
  99.694 + nmL)bM3l/94Bk,pn]+uZOrSkA$<QfD`I(l->i&JnoA'@3d&`T8q&J=,nnT<)pe#VFUiI\YD
  99.695 + ]CDmW`aM`B5iZN"Ce$6Ul+VVgJ"C%)nHJ!Z"05H-'sDCG9-.:ZqK77Mn2R6mP9l5aT&a:XQ
  99.696 + rB=k+Vb2TT_ri+/jo-?X+E9HWY;XLA".kAbD6]RN(58B\B*YpLH,6^Lu\%*a@VIc]G)gB<X
  99.697 + a]>9>'UbQkH5+=3\S(iZ]ML+IiZDV%/j&Fb),KSW$c!q[d;+db:,Po:\W(la6o.)I!UOUT=
  99.698 + cZ5jM4<k@H_%cQJ3LW%-'M\q*XiZY=4+=0aUR"#b&a[o-_kS5#//JQ,3<H82DI'mD2)PZ7M
  99.699 + !/*WF..W!(,:$iZd@?Oa7nc+/gSnT+XWT[SKLoI#U3L77j=$4(s$hP\+qaAC)\Zj"M*-&[;
  99.700 + =4@GF[hq_#nA46\;i`(Z:a15I$#$6pW2>#!JlBLIBlPJ^B-ej?/1?,-I(48_d`Ve1mO2X1-
  99.701 + Q<f(.2JD(^&4AKgDJW"sr6C"k*?q"?D/AJjO8]ZQ9dg!\cXsA2%_PS6Sc'7X'kiieHKe<j.
  99.702 + >,2Wj)VS&iD6"c:27N=6AUU'5ZM3PRW&ES;4%@+<.!BI:kGq,O-:Hm3MHBL*pB(j#\":`9L
  99.703 + &h#(np;6b^Bie8?Z4E=kMd>"+s/leON(]Y'65>bp$@gO>cUI6G2OpX?BaAe4b&"8]e$<'Gf
  99.704 + r?S0o7Ie!R;]u]OOJ=.ZhpP+]!6G*`UK"mcb;'qe8@hfj<"c!+R[$e']<[+]OO+kQ3gV=-<
  99.705 + @,r3.+OM\cN/C6LJ(2'!8>A)>EB&]!RQ/DR]TcZASjlc(k&0Z&l9g!5';MGYEB1V6V_TH1b
  99.706 + TbJ8OmUgKOO0c,[i1&3?(a&q4MqT(lUn`.RW)B*0eB%02k1gQ"0oS+qA^R=CNECWW<osO/>
  99.707 + W7b#\FW=VdmQ?H\Gb1=`HlBX=Bjc^'J-;k>k.,5,&5g60!^D:oJHp?L*kfc!6n)kF5]*/Hg
  99.708 + g4`!Z#ZQ1sRG[#N84=UYO+nZJW?5pk.mihuUGFU8APUL3W-0H4kQF@P?'7AujTl&qR<)e"8
  99.709 + 4\3/)(1]^O!#4+5YD*4rfGp1.$KUJ&V$jHR`k4es8RBJK'GA^6e.Ddq?tGV[+kUaq4M"3RV
  99.710 + "#\8A1ifQWe:?u6Jj'@A;&r?1NLQ/?6o).f@$^Q7^:5h`NIN'[mD$mLrL>fQ@U=AS45k[aU
  99.711 + Y\RES3kX&kFXP/>JT5%hPgk8b%<2aH[Pme24F^1F?\Wfpn%]*7^#SF@Ql[]VB(q\q=ICTpF
  99.712 + V_H'?dSL.%ne"hFOkBG*!sF8.=19Y_k-%-=5UAamN2SV#e\Im\17&&NEVL>cSrC%;k/NoYd
  99.713 + n&=cX#DBU$Y9Lhp0$p[C$&Id.L>!>)Gd3s"j0\3cn-5#$SWc_GieYFj"jAI(`dWS6H3p'<)
  99.714 + ?#?l$l;k=(nDk4QIR:IQ@+im_1$IH$[eAfT<+)J?)AO<n2X@#<A)U/=Z6#Q(p?`pU]ia^ml
  99.715 + ujl";'H!=Hu<sY0K8$K)1.^#E#P":kXGu'=?fDZP!=X+?CE+ME&8.9W^^@k%(FrS>M@@X5P
  99.716 + V2c\9cbeOKFAZ[V!,(<8Wl!Y#7d##moYiXFa`cA$N.;)n;\")tJB%CO'Rnjo"-iD0]j(GS`
  99.717 + g4h&XfU@1CZ?#RVa\Zq,<\("*hT;]9]S(E+;*2S.mHSKbPI-Ha7/:O1M*]i2:]RCU-YD@L"
  99.718 + 6hRiG942V>*%O>1YO_$^VcjLpP+KS&'8g4Y4&jJE!rVMuKXE3<6a#iG:-c9_[q3(ZJ,kAPp
  99.719 + NVLCYGBt$6J_dBRH65PV>4CH9iB+.t#4:X%WC_f\2*d8m2seLZ[7S8og^/IPciR"J4ok'02
  99.720 + pLIM4t"<b?*_$1I3ugg?C8U6<0Lm!8$KXO;XkeLf(l$]n\1nT8fer;aY0^hIaJN"SicCW?R
  99.721 + +[Bp["]_U[e>E0AldY%/f1!'p,K4n\=8cs23+rO91"8+C3nPF"dMXj>%k9N\hlb!Q!Xp"CA
  99.722 + i/rn^'V6f:_ai;hm,&He+U>QS_L.cSk`'^b>J_FIr.c5QN\9#o/Ymr-qKYL`sHhZdt'/<?t
  99.723 + 5O5g$JFQW($#I%n4OF7?&A7Dd!f^It`d!-c&B^cRl--u-*0D>RqV[ANc,_on9&@.5t+qUui
  99.724 + mSKu2B_XOG+B`,I%)`]LV_Sd%ecrA4#8#`:@!N5Rpn+S344(eS&Fr:dOPn:Hq.^oFTqm9Z<
  99.725 + p)(nPs>>SK!>/'>7g*W.r<lN0>@`h(Ab+R&Z]UOE0NpjSE1<Dfl9.gY_;TY]b9Y6/<HM)&>
  99.726 + ]n7<u$fX-fi:I!ZVPeAt:Y[,qJHcEH36'I2@r`*(%Fi+gDkRpks[PlOD>e`$cY2Q6QD:)9=
  99.727 + Z0!-V%EXW!==)UY]Od.l$C9#;.R,Au]g0'mrR3tt!gVns.f_S6_E]c?BR0B0dcn^/B:W;H]
  99.728 + <aT=[A&OQg27&?rb*cPU&:l?GMNuYBerA"fr&eQ7[ruIa5*?rN=&QKb_-R+T!C&r\`Z8*U-
  99.729 + GQhTr,,-hA-(;Un+?tD/N+-=7%_rgU3Y*Hn!+o%h!\dVf4!X<3-Glr*:e7:@Qsl*[+n<Lha
  99.730 + 4;E7Ua&R-fP^>XJPQP+pC^97eFJW`!j:*0Tb+L>,0[XMU,rqWR/DOP")U_HbbZd5[g*$H/?
  99.731 + imPceSfRRisLN+`a0rdZ>sl,3Y2.0%018Db;3=A0M>)!sM@9nieJ>>j:9*'Cu\ZkcRlq_K*
  99.732 + J!,7dD@_g2DQfFkM?olBRY'/G@T5]j"9mB;a_&\A2*72u:-#I@0N&L&?u%-O?"2*rrRU(Vq
  99.733 + '^=EPc[15[6d5^YLWmr:-Z/aC[a(0QCas8OM*^NR[JdRR&@kB0W+07Z[+u8-g2_.;=J--ZL
  99.734 + +uM<]7!B<M,1D3i;i)W[\4TZF/$m>Le'T78f()]S+LAMNo=Hs`4$3b94AkUl+r3*[$3Tns0
  99.735 + 49c)$,d2`M@['$<!<OA9unO<Ifa[K6.?rsc/gX2*eFjr(_Nj?1]Rfu+D2fP))ON%$.D9#Oq
  99.736 + X'P%Q$p?TJ&`#+S=YO2e,0@LnKF`q'4B47au<%P&fs<G7YC5r3@@h1:C"S-Tq"QrXu:T["M
  99.737 + t1La/)@nUa,"aUYZ%Pj]+l8OX:aOFKg??Tc]%##L]oaWX:<"\UJ"nVu65_D)lnYZA_\><kY
  99.738 + U/J&9=k(Mib9Ok"_"LL87j$sg\:W(U0/HQD\$3:@L(!uM=,9R3M+Dp(!;8C(I&U4Q,AclXM
  99.739 + 2rZ`OJ:BeV58IY(^0q[!inb_5s&>7U,kQ49%cK6=/Hlc7Vc'fG;j]F7-QuF=4ES"Ve)3C^B
  99.740 + Hu\Nc';p6EA]4Ui&5GM/[<P\m<5^G;-0!i3Nd!R;q"e_CKbUk8IsoGe$W=j7p34Cn1LFJ!\
  99.741 + bJA`r)O@>f&1!JHRpnkQk2B$C0HVFlQ:icWh+n'D2d&@d\8Fa&LUd7c_T8BJN^'@e=,])tj
  99.742 + b@BC$*$(FA&\?AYgYC.R]!F^g!m,7F<Seh^f&92uQ%1bKFu@RDuPqL6nQ4+S5o&agr8l@!K
  99.743 + [2J<YGda_LmO'(h&3+n$jkCuXYE$U--8Omu91\4YkTNfI6e#e-oXVD(`Y;W)II`WL/8&7;G
  99.744 + E$<eS0D9Zq(5>;c]/MH%9G.SEG&%$mV*<J/IjE3MEofLta<=P=l!Y"%j?s=Jk;;+CMA#igZ
  99.745 + k+GsFFsj`,5+]^;5,:H,)QU@#:YH9pCg;tc@b'c_U&>uMu>u[]i8#kEm=_"f.qtF)Q^$S]W
  99.746 + C`Lif+>>$4V2Oo]7;b[K8W"\8;9S3sO\^:9ZV-)Sai5)tCU^pN(OF2.Na7A+Fl='jT3B$$U
  99.747 + TO-IV,Li_G7s8fZ%D_Uh8Yp#6BfV0[n:#ULQkFrDO.-ZL93nV$fH@Q(s(!hNjU,3*ib^d?D
  99.748 + W%7<P:H<(djkD)gm!pn!](,nK&b0h?)l$o%ZJ&X*6f/=e0b%\r<guMQWM"k]9+^>2>E+$LL
  99.749 + ;E07E\gE#E5AqAN=>D*%X+Qb?AUqmBUTd`2:Oi.4KYg0%Z+4B[=Yu4<m^J%+pgXgNO@Gsn6
  99.750 + Qs-u!]Ch(GAZG"%(La\N=Z<HLB@&ELuKPj+LWKrHUmW*+LMXU[P/i'NXMQq^a"")R'PKI:g
  99.751 + TKipOq0e=%Wp5Rn*T6I`/U;ZN-H8De3$^NP[>i+['s7'^<$F(rVs"l*!fpAf2!T5mEF)Dh]
  99.752 + J,=97(^UmC9jD!n%J.!KR2NVOZZ!`aq2Gg`i!&7I/R3AU[QBT0fe<GUD',)l3ed=)oRhR2&
  99.753 + C;YE'0quTt'+iOp,JhV,()*_Rg$5maOQmleq@d1F*2tAq7NE/E?RLRr.:fcFHDfcWPW4rP*
  99.754 + BOnJk@?`jt$'S1G18-4Y@M9t//"2&RhGKRZUVuHNU7K3+3gf[e$f(KC$pHpT6b&.Q<,*Vu<
  99.755 + q2G-,?6f85^@^`:(AR89@PdB'btc"X.Ymg,Io/[(P's.K_bEuT\:IS=ZG=up`>9q>f!rdU+
  99.756 + S'lXu_6UG^&+m7+jq.-jNHSI3WonfiTJ5KEuK6;?4U&-.Mjnr$*"#nV$0PGJR"H+ajRm2tH
  99.757 + [0.>0[g3_bu+7%lTe@OOoY0r^*_DhG8U!F_urZqF:L45-hip[f[3N)c]YKUO#.ie_-]/lcD
  99.758 + p6tE]q\tBd*W&g;$&Q,&0Kq!%u+ThD:$;('sPpeS:Z9A9gYJN#hDp+Rn0_OI*MphM,Rh@]W
  99.759 + /dpis_U&c=2b"u#$]Va6ZIpIr&H@p#I4+euZMQi?=sZKEoHQ`:Q3=n'\2'T9RX!I+9op/i-
  99.760 + 0Ulb,:kLTeSHf,L`dpVM"--d]+<)N!\k`@5`"HD2fr"#j*irLhbt^X%:Jlh[GD7DfM-n,]#
  99.761 + [[Z)md.Zq(]<1-tSiMWQn1aa1Rnb]\CP8@PA\Sf=_"8^"_9i!\KgE_7kVmN*E^%84j9EW%g
  99.762 + d;[XlnFV<Pc_-*J8P18?HX"R>`u'guLc@P7h2@NCQ'*:]BRR;&%_b0)P4\\Y!mbsA,(JMAm
  99.763 + YrYTr?Do0P8)Ypo_e$L*!P?TheoQtgC0?)^]d@3SE_E93B>8PHk44GgM+`KLXm?pA_9`XS&
  99.764 + )7gra=36m$?CV?XO:!pdO>JdU%P[&70iULnb<j'#[grSM68b#=)&6"FU>/>`a=-SJOilU-b
  99.765 + `_:C&'N3!0?`X'Q(5knTE'QY"hVV>Z'XFQ_#@:Jm4kKS0GeT!AV)p;RN\i'SK)_!(hL]%<J
  99.766 + >]MZaq1*4Yj_kERRAI8u5a8_o4o.1Etk`IbRa47)pUC=DipjHb3T,r'DV4fJi`(1Dh`U*9J
  99.767 + I#lD0rO,?aW_pQ?Ye_9PXRcCEG/#%u2oK=C<VCnYdW;M6neYIM@mI5KeeQKgA=X.>t'^a)<
  99.768 + /O(oCWO\\=4)M,#6aE(l?bag`&gVq76SNG\0NRDc?KpG/]dDN<HkMM/\e"-@"%HXXckaLPM
  99.769 + 4A--Y+tWAtW%Wc"X[,sI3nQ,46+j2CEM>CofK[-?W:tq&j5*#]"XE$d/t%::^gLft*"D"9=
  99.770 + 65&_hqDiG5$R-C'VA]B15`RdGX(9g:N5/Vj;>YHQc^N>jVYVp=gc_k]%u@31217&^W<UU+m
  99.771 + (mWA6$5k,l0I:+qut[Cr!Za$\BNJScS1Z/`*m:d_[$=50*%^^#/h@mFeP;_B2WVn?%uB+rU
  99.772 + !RIc'TnD="qdZ_#S%IeW>&H0r?OnCUNli6!5[7]hsMHU8A&!%EI@&+YnRn%'66]P6rO2KSm
  99.773 + +o:J6W=7rg@=<XL+e7o7<4*Vp-",C<#oH.EaIkSfF(\;!Bp;S3Ghf&6gEC>(W+]sI'hX[=#
  99.774 + NZo:9pOA575@q0KB@?gBq8K-'5G.dMn&YRr+orqc$3F4=Q6EcD".lXkJ&:h"Q$39c1qqH:?
  99.775 + d_;kU]"QS'r$Q@_AHErBUbAQ+r_^(ht$/Aak^hNh]`%#90hD(=>V'2$&(_)OP"Y=+VBQ!if
  99.776 + R?M?83=W7cTW`oR9(LO\"Pr=Yu^.n<Eu"P1aQH@47O;k*&rThJkQH:?Rhoo_sD-Tgm[6:^n
  99.777 + IO/2C,eFP'5ETE;)j5R"0q3jDhi<pQ%)omX_cYu[L*=66"IBmj1P0=rb.f(saKmZ3jF[JbB
  99.778 + 01p<09C^ht+_-lc">W*Z9M3:K&([5JGdu)7XnsNak?SRtn7OlBWV+:a7d:VE?Qgj`H<!@$l
  99.779 + Rb]=*@BnL%p7#;%^<ZYbghjLsNRI-:[-=c<gi`d:alRR=SDBJe*!"'$\t*0:?a8;L34kW`<
  99.780 + D\b8m6B/c?A]-<j7R`sT&4b+-+L<cXd5ONYCUc,5&V79](fu#.;2-O5d3'U"@4_@(C!10F<
  99.781 + :cT0U*pl6EmgM$pu_u2\&3ZoKNmT0bd+j7'SR*$,nNTVYETbFC,kS0p2J-&5J(;*'12U@3-
  99.782 + nL%">cWEYO9Q8?t!qq);*Co\Q[Oqss^#Vt5fH^f%PC/5%bJ[k:=ZoY3(R1DIkb9X?S%1efc
  99.783 + *f/?@0FPf&Q1?;R_cEjnH4ARERlTPCAnu*[-/u_i;3[G4G4]+%9(Igja96U06dW=q,3(M_Z
  99.784 + s1$OC2bm;Yofl8P2&/VZ<4+SZ<(o*E)cftHF^H>Tool+X<j#@p(0;uY:L5t;Kn!K42A6<ca
  99.785 + `;.T8iRHALArI;oq!@22O11T>.1iBCg/gJ[r,EYotPHN2\jAR>dlT:FBph*f61H/Fl.FM2j
  99.786 + NQP>==J>@Ga#opO4lq[JgWn0*B/RQP_NQ;rK\'(PZA.E]7I"D<("TY#MItAkI;s2i_CXp-4
  99.787 + XL3>7g-Ot*2d!1LGsC*R;iTN.@2q&X1;B!O$6M:,Eo/S.i0`bhA^3YmLFBY$)b4s$AoQDtA
  99.788 + )F(EZ9cA=EYB_o0@X>9Uj,5^P`%P^W0]$A@%CqDUOZu%?:q6hc':>U24/UE^<.[jHgJ"GCq
  99.789 + pV(RF5.;kJRG7:Zfm=2d^MuA;(WLI-G)gWa+?(XI&q%#BH1N.k2QB6ZIm;;"]EO?DkIUqJd
  99.790 + .KP'=4VN-F5"p>JU_:V'7I0b!r"'4GLuT&p1r(F>qWl@GQ'O^jEWpjQC\oLF/!8m/@]]b.Y
  99.791 + ="jk'K;B@Gp<T)tfh>?JifoI(qVdd'UV2euB3eF!tr*/r=B?I35re(ONa^$,^m-_uG5u"p$
  99.792 + tI(*R'?<!1JnrtnTD"%o4+Jdfd'5r^9/?dfa>O+kM<=?-UooH/_k<VVR&U+p(2M?ZnQWWtL
  99.793 + d#[qg./9"n2Z$2*7+ga1`&EXuIctO"_TQ#\k*,S)"U,$174,FOpRmSR;iF(/-M@i<,76%53
  99.794 + TP0*1O/rq\E>o]dTH/t&/h4k#a?q.\a`rbV1<-iW)e3sC)0*UY_D;H1A$JuA1$1F8\CVVPo
  99.795 + AF`ZMEXQk#pEh8@kHo?$'de2,>/mKOp?63$>Cq4jKpt/ct5PZ\M#=@oUh?UoIJ'>W"e>J@s
  99.796 + PrePE^(9.qK-mK!Ju,7]BfJA[Jq5#gK@UU8S3ko"HX5k$\umGRPnBa*uIYdmI9#1M1aTRKe
  99.797 + jlbrCUnb4mi`"].8)\YD)i7*:KA*cFe6aZ3ug=TjqaW^'u"=%@)q1^-]\cT0<7>m0)I'/Fo
  99.798 + 1\bSI&nJDXU"KDUi#ZkZ+\N1tLKhqO^g1S?!PB8^>;*$-hKO#BDJ:<Imd1]#InirkUKr`Sp
  99.799 + q]MjQ-`%NS6]8NXFD#jc.m[X4'gSNgBiR*(P`dECMKr!3oMHWO"R(ctLfT'q7k0)pV,R5X_
  99.800 + l;/uWO53p<B&4Q7=A5\/-HEI8@g$<E:g43%^?a9at-(;m&^tD7+Fo^U?[.&XgQ0Z=#W<K%e
  99.801 + +,7%Rb@@](f8,om\1i]Q)RZ$uTkuj!+XI`>oQ,@ou:"JKT98#TDr=;C-7IQ<MO9]/\H[*M4
  99.802 + X\C^'t\86$_(3$MBC9%pLJCIX#]+Z.7k#!6Kq7MNW]U5IbgLN;atGuR99%aNich.A#L`46[
  99.803 + 2jY>H@Q@M-EBu-#nh)Kp)!eo50G@[]VbIBnXM^TmW.aNc0U)i\VC:sVUod-7IHV`J@^'@Qr
  99.804 + 7P!MIDmf=8!uh+c.#]oPI=)?8]^UT$nUXE2o;("X"^nt[Gfsb0_?mK5KOQ6:L,s7T=>p[,C
  99.805 + _8$KhB0ZQK\52cfklPFdS5?E'k/^rYmW;X@SLkO9082mEOIgH"q3t2[*fJinJG<%!Ao?9M/
  99.806 + G&n7k(rl,\4QUP=auaapFr2$aMZ$19tMbJNG5jZ@.nAk$Q=MKnpLI'U\8J*alkD1GW4SRn8
  99.807 + oPc.U,tB/0iDJsp0bRH0ISJ81Iu#'A2pG;s7V$))@[PgKehdK:HP7VaJ]!np.6k\V_7ZlYL
  99.808 + ])J9-]D)dmdAtL?'RboFE7MYRHVi99A-"@_mpS1.PZT=jaCHIU^Fg>1P+L2:d<<t(;m#;Ys
  99.809 + dopI6Ks>eYCnMqg/IGdN9ZqiS"USoeNNJ8@p*S>E)eP?Ac+'%T0&OagaAM@^YH<?#g='85F
  99.810 + DeeF5Gjh*9&b2C'9_*\:5DX%)n/FWXnBGQo]*L?*3'#<#[BsZMW"e.4n-/bTQfQ.iYou=L2
  99.811 + JHZGdeLL*+t7N^,a5YpE/H9LQQU@8]c6:-fl>GQ#[F1b=\QZ#$e@""tjQj3O)O>]ZZje^3S
  99.812 + %MpHRj^#GH/gqnu1#&*Vgs8o2=9Wd8kbl5`BoFZueTHFHuA*AaN/SrqV#p2fJhA$L2@ak;#
  99.813 + "BC-_;[3b7Kf?>mRmG5f:Fro8kHae4f*Tt+[^A(>_DfURnWCUdUpPh#%JFOL=\ej[b1^=PP
  99.814 + /%'nR;YeLT:60np-%EFMT/hnD?,/roFnBrh*TfKsAFN50iG/34>Wk<To@ku=qB',?r?6X^h
  99.815 + UJ7p^NK!`\">*52r?cjDH/jG_oocl<]X#Z8T=FFqB#[i)"31N?:Vs`59K2)T6^/0olKm2]B
  99.816 + ]@hHhIbigAHWQmf&j3;h#**r-u-)raK+.5ER;kJ)C3&TAE4*MuB1CqE+:\^]S45;4P9KA[R
  99.817 + Hu^g`nMkQ!jF#+Sp!!!E*`P<hGq)'PLR0rtbunrpk:#f-8M5bncR)Sj/3_D.Pj4?O:nEc]&
  99.818 + )g-L*!&];f-,T4D5IZ;Oe^1'=?C^%Yn+K$b-XqW#u<"d$[,=+^<0n]Zq>&_;o,smc!66n"L
  99.819 + 4<t(].gWcb_UL36,V$\$XMVn0Ln$(b,Vu2H0LJ.$6Q@t>F>H:+320A06]n%ZCc[AG3((VIT
  99.820 + nGHoiL.Tr5DT/"6kht\X?T*-O2MGk`$@ahEWAKq8!r(#_rO;*PY7W*8;RAU"5tgj^a?>=7K
  99.821 + o#RL<NPOf]\Plf7nrS`;EUGHrLEiW!Hp67:U^6EO/'/4iF^$7H*W%d#XA]1e&0WL<,7kJNU
  99.822 + mGW^QbdN,Y<+OG1\FUrHYE6*&GN9L_<A*i.9:7I4ob*++Nl2oW:_7QES#LmLSup;\SM`d!2
  99.823 + -30qTVZ:2u"7GMfOZ/<S%NlP7U4EthHGq4h]LWA(/`M?\X)"pK;Y"2*D81[e43O-Vp3le=K
  99.824 + aJ%2*aGrenL*^MTa*<n$I"=b%-qMF\aVj53N&aG!MTJ`BaLkHn#`D,JW^[OV8H?LLN09'?S
  99.825 + /tXn_i0i%>b@O&QAF%]#],[H+qR@+TZTjd8`Vg%oUng-^If&rb#j>>1ma/3;2(608X*XUd"
  99.826 + tBQUr_2JaOmL\i.nPD:rZF]-/=93;(W(GXMl0e%!5=MY`)"K?-)408X`r.]V3GlYY(jJbCG
  99.827 + HWUje+VI`p2f9/3k)+C<$Uf?9t394=ho5`X$PXda.<Z/!*OgnqtoVojtGRnTf;`5.6(kXLb
  99.828 + `LiDS!BeI@%Z%uYPMG0(ee?'(RcNm4KP4Z*)+Y8H)g_1B&Xb>B0I(ddWHqf]Zbs7jqBS9&1
  99.829 + jpFdYb]tm1r-loL0$JR!:(]2*+D;+(cpL4K9dK;!,h!%3e5!+0Z.te3A9c+I`X57radB)!#
  99.830 + _Y_D0ho$ac2`d!fegYRL.n!k:P<a^#d;NuK?f:03u#koK`%$5[gD-c6Tjp82%,k[oE_h#aP
  99.831 + =JReDH?%:rXW2aP?fSFUs9jondf*#^iq88mR6`]rZVYLcf,tI1_9oV9\;);%uq75fQKFF3n
  99.832 + lZc(G&)q[68oK2McF9AJp^bl`jr"GgTbP._`i<?b1#q%+7\dA8.Cl)C,MLJ^mJ/:?R-:mFb
  99.833 + "a&5I!d%iEn[1#ubU!V;!;cP?(>^k)UeUhWB%!8\/V%X/X!/On1$$;SkXZV+;#m`+39l29a
  99.834 + AO6a#-O?6dLm8e_]cr;LhbZ/!$Pc-,j\AR4^Jn0]4FGaU.#:e=Q;B.hN,:^U(lD+fUsnh)d
  99.835 + qg_eI5ocnRa[eE'6P9ofW#4r(KCHi:k4k^n;#PMQO&!*M.Kc."\/i(6rX`%asBgi[;/NkBM
  99.836 + 'jn:NZDgV+=YVKiCK4#fL1GBKcb$>/Kr:e]i9*%:.Kj1J+-M<paHl"_#ln;UKnHLi$Q,D#K
  99.837 + 0$F&UV08(DJ_70/6V@u8/D(enTTh*+oZ.+gAV=IcEoXUnM9o[_QG!!&,3^l6lE0%XZY=Wrf
  99.838 + ,Knr@b1_,I>95RVP4c@nILkoVt;cn\%7>2"a1lLqFf;0kJQ&JcMRmn]7P;SS.%0Tgf3a)EK
  99.839 + fZalZ9l/Nd;:eKV]u4^)XDGRT+$Oh1g>TbK4eGnpCYF24gB`R6^m7ufK[rjtLks&O.*#;pG
  99.840 + hP<X>F:W/3AjttHWHuJgW5]7<O1AE]j(HHe6,Ss0V;JV/Qj*sggPWbrEn>&PYb&Ma#sLEkc
  99.841 + .iXNDfD^gL[ZqNJgtBOPI@d7/Y*Ym0-XHO,9FX>V4=V"i44#f3>*(>t*ET<Q)b^`S>=dQ4:
  99.842 + mdXhR;a^066+#^o\%9iKek!)kS6fQD^MIGbBbLKum#;ui68S\a-Y.GbW-h-b`\V<uMqL"LP
  99.843 + 0N31l%S_[T5oTaRV<,L@r*Qd%VDu^&97m4bHUp\\-p>-pGhG*/>(&2-Ymp=f4?lf2NrTB#K
  99.844 + Qf&>"?eBkcl%KPjo0S`7?WIMu?1qQpkZ\f+i'iZ^^#[c`U;pi%asGHc'pf3&rs1L_?u?/U9
  99.845 + q2R@mb[pQ?*4t$2=-,NIgSnIN'7P7<XN6C+HseR?Ig#b%KbQ(,7#n88-M(SR$C76dl`=+M,
  99.846 + ihtAc#ph)[KH($#3c)J:ba?ABT+N7-2n=gf7hAQ<C<FbhU>BDD-kg)-\-NhZ\kd7I)\b3(u
  99.847 + ucb102n(*>k$+CZ*POu=Lllt9cr"P@ijRp_1]0ec]UcXFfVj(U;Zn:K:)3+RhujF/?\4um&
  99.848 + K3au,8im<<g=Ye`kWJ2B36Hhf-(.)S`)<<\I@+GqO*Ym[%$WT%Q#ej6#hA'Q\NFPO3cM3-*
  99.849 + d4ls(45`YchG-t*hG@g-)W3dfk$=lnVI^D6@YtX\65EYaNc1&'=lFNqjShR,7NH+aMG)'k>
  99.850 + ia%\efJE/N_E<M=s[0-`4IQsMW^F7%!56Ijse\MU/jgBk?(GK4rEASGh_Y$hSraS%Yk=Sbi
  99.851 + SPJ(f#<UV5c^:X$tR?20H#MhJd00L1_)B$Dpe@2JthkDeT]HNujFH(oh8V3GCl$Bi^O6Yj6
  99.852 + "C(smu^`"ncWSsnoXTT3WSO''D3$t3']#XlD!6%5JA(8m.pU(59sAA4o(_sHU:H>)@B_Li!
  99.853 + VL9HfLW=H`phRmakA/B!(Y\R([CCofgCmjJ]E62Fm_*56l?Fu0![d1`5CSVR.[_;#-_s>mh
  99.854 + MWVXgrkIeH`/>DIlqjd"1_4Cl`pAehlt4B"ri<dtXN6^0_L#BMm`TGIlKk\#gd]LPY0BO-c
  99.855 + 9U6h^4+LIG,W-E`^,pBN5ioR^<#]=gkiJemEh?iZjCThhX1r=D<Bf6T&7>$i9iMbM#QE%@$
  99.856 + >Ir#&[K)m\#M(GXu_gkjI$hmcNs*p@%GSnF%._mj@Vo2Y6B,o^>iRmq2:^G5(H[q!XOEn##
  99.857 + sM[eoO5r9r58mtU03L/p];l0b_ULn"^^mfW&L"RoIrn7Msj``C#2!H9CmLj&r?G73o\%.Mj
  99.858 + XnDQAn1skVf-JI>aE?MK)[gqpu'_,6>nRi8Lr:0:bk32gXnY!!%:hkYR*:_W$n`Lt`pE/r2
  99.859 + +S$<lng>XP2^@l`,k>"_nn0<?G:2s:..W]Rnu!u.[k%$i/FqCEo&h09^B!eaO",o'o-Z<b0
  99.860 + V7d#1\4[*mADf4B/fF:`H-5_o;=Y8#<DCb4S.-co>a#cpHRTAj#,^ZF=0ECT[O9q_3rC"nI
  99.861 + \D'aLCes8G&6?oVY=R[nHA69_?q2o]K!ApJ:Ge;"YW%od<Z12cKB><:s<mok.=uG?=Hm=S8
  99.862 + "`oqu!d[p/OG>kQ]Sp#fZSpL!V!@.kCFp*X>C2e2POAG0)9p1J"2GA$W)B_Id&_:^-)2b#r
  99.863 + >8-d1(NR)M9pM]d2E;(/gpEt"U2fn^`FSAjZpLe[DGB`e:Gk[PMpSW?3[sRkiI.u6@pZI#"
  99.864 + pODrCJG9q3pa:[g2hUlqK_SW&ph,?VGDGsKM"m<npns#E[u:%%N;2"apud\4pQ,*"[_*IUp
  99.865 + :.Gb#Q~>Q
  99.866 +Q
  99.867 +showpage
  99.868 +%%Trailer
  99.869 +count op_count sub {pop} repeat
  99.870 +countdictstack dict_count sub {end} repeat
  99.871 +cairo_eps_state restore
  99.872 +%%EOF
   100.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   100.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/Time_layers.svg	Sat Aug 03 19:24:22 2013 -0700
   100.3 @@ -0,0 +1,198 @@
   100.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   100.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   100.6 +
   100.7 +<svg
   100.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   100.9 +   xmlns:cc="http://creativecommons.org/ns#"
  100.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  100.11 +   xmlns:svg="http://www.w3.org/2000/svg"
  100.12 +   xmlns="http://www.w3.org/2000/svg"
  100.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  100.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  100.15 +   width="744.09448819"
  100.16 +   height="1052.3622047"
  100.17 +   id="svg2"
  100.18 +   sodipodi:version="0.32"
  100.19 +   inkscape:version="0.47 r22583"
  100.20 +   sodipodi:docname="Time_layers.svg"
  100.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
  100.22 +   version="1.1">
  100.23 +  <defs
  100.24 +     id="defs4">
  100.25 +    <marker
  100.26 +       inkscape:stockid="Arrow2Mend"
  100.27 +       orient="auto"
  100.28 +       refY="0.0"
  100.29 +       refX="0.0"
  100.30 +       id="Arrow2Mend"
  100.31 +       style="overflow:visible;">
  100.32 +      <path
  100.33 +         id="path4008"
  100.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
  100.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 "
  100.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
  100.37 +    </marker>
  100.38 +    <inkscape:perspective
  100.39 +       sodipodi:type="inkscape:persp3d"
  100.40 +       inkscape:vp_x="0 : 526.18109 : 1"
  100.41 +       inkscape:vp_y="0 : 1000 : 0"
  100.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
  100.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
  100.44 +       id="perspective10" />
  100.45 +  </defs>
  100.46 +  <sodipodi:namedview
  100.47 +     id="base"
  100.48 +     pagecolor="#ffffff"
  100.49 +     bordercolor="#666666"
  100.50 +     borderopacity="1.0"
  100.51 +     gridtolerance="10000"
  100.52 +     guidetolerance="10"
  100.53 +     objecttolerance="10"
  100.54 +     inkscape:pageopacity="0.0"
  100.55 +     inkscape:pageshadow="2"
  100.56 +     inkscape:zoom="1.3364318"
  100.57 +     inkscape:cx="426.82234"
  100.58 +     inkscape:cy="692.65809"
  100.59 +     inkscape:document-units="px"
  100.60 +     inkscape:current-layer="layer1"
  100.61 +     showgrid="false"
  100.62 +     inkscape:window-width="730"
  100.63 +     inkscape:window-height="1141"
  100.64 +     inkscape:window-x="889"
  100.65 +     inkscape:window-y="6"
  100.66 +     inkscape:window-maximized="0" />
  100.67 +  <metadata
  100.68 +     id="metadata7">
  100.69 +    <rdf:RDF>
  100.70 +      <cc:Work
  100.71 +         rdf:about="">
  100.72 +        <dc:format>image/svg+xml</dc:format>
  100.73 +        <dc:type
  100.74 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  100.75 +        <dc:title></dc:title>
  100.76 +      </cc:Work>
  100.77 +    </rdf:RDF>
  100.78 +  </metadata>
  100.79 +  <g
  100.80 +     inkscape:label="Layer 1"
  100.81 +     inkscape:groupmode="layer"
  100.82 +     id="layer1">
  100.83 +    <rect
  100.84 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802"
  100.85 +       id="rect2383"
  100.86 +       width="70.518539"
  100.87 +       height="19.030159"
  100.88 +       x="336.78796"
  100.89 +       y="189.7659" />
  100.90 +    <text
  100.91 +       xml:space="preserve"
  100.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"
  100.93 +       x="340.47986"
  100.94 +       y="203.13492"
  100.95 +       id="text3161"
  100.96 +       sodipodi:linespacing="100%"><tspan
  100.97 +         sodipodi:role="line"
  100.98 +         id="tspan3163"
  100.99 +         x="340.47986"
 100.100 +         y="203.13492">Program Time</tspan></text>
 100.101 +    <rect
 100.102 +       y="189.7659"
 100.103 +       x="436.78796"
 100.104 +       height="19.030159"
 100.105 +       width="70.518539"
 100.106 +       id="rect3184"
 100.107 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" />
 100.108 +    <text
 100.109 +       sodipodi:linespacing="100%"
 100.110 +       id="text3186"
 100.111 +       y="203.13492"
 100.112 +       x="440.47986"
 100.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"
 100.114 +       xml:space="preserve"><tspan
 100.115 +         y="203.13492"
 100.116 +         x="440.47986"
 100.117 +         id="tspan3188"
 100.118 +         sodipodi:role="line">Program Time</tspan></text>
 100.119 +    <rect
 100.120 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802"
 100.121 +       id="rect3190"
 100.122 +       width="70.518539"
 100.123 +       height="19.030159"
 100.124 +       x="384.78796"
 100.125 +       y="255.7659" />
 100.126 +    <text
 100.127 +       xml:space="preserve"
 100.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"
 100.129 +       x="388.47986"
 100.130 +       y="269.13492"
 100.131 +       id="text3192"
 100.132 +       sodipodi:linespacing="100%"><tspan
 100.133 +         sodipodi:role="line"
 100.134 +         id="tspan3194"
 100.135 +         x="388.47986"
 100.136 +         y="269.13492">Physical Time</tspan></text>
 100.137 +    <rect
 100.138 +       y="223.7659"
 100.139 +       x="256.78796"
 100.140 +       height="19.030159"
 100.141 +       width="70.518539"
 100.142 +       id="rect3196"
 100.143 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" />
 100.144 +    <text
 100.145 +       sodipodi:linespacing="100%"
 100.146 +       id="text3198"
 100.147 +       y="237.13492"
 100.148 +       x="256.60583"
 100.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"
 100.150 +       xml:space="preserve"><tspan
 100.151 +         y="237.13492"
 100.152 +         x="256.60583"
 100.153 +         id="tspan3200"
 100.154 +         sodipodi:role="line">Scheduler Time</tspan></text>
 100.155 +    <path
 100.156 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
 100.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"
 100.158 +       id="path3202"
 100.159 +       sodipodi:nodetypes="csc" />
 100.160 +    <path
 100.161 +       sodipodi:nodetypes="csc"
 100.162 +       id="path3204"
 100.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"
 100.164 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
 100.165 +    <path
 100.166 +       sodipodi:type="arc"
 100.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"
 100.168 +       id="path4610"
 100.169 +       sodipodi:cx="384.12698"
 100.170 +       sodipodi:cy="355.53677"
 100.171 +       sodipodi:rx="4.7619047"
 100.172 +       sodipodi:ry="4.7619047"
 100.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"
 100.174 +       transform="translate(2.1164021,-129.1746)" />
 100.175 +    <path
 100.176 +       transform="translate(68.116402,-129.1746)"
 100.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"
 100.178 +       sodipodi:ry="4.7619047"
 100.179 +       sodipodi:rx="4.7619047"
 100.180 +       sodipodi:cy="355.53677"
 100.181 +       sodipodi:cx="384.12698"
 100.182 +       id="path4612"
 100.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"
 100.184 +       sodipodi:type="arc" />
 100.185 +    <path
 100.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"
 100.187 +       d="m 382.53968,230.06589 c -55.02645,2.1164 -55.02645,2.1164 -55.02645,2.1164"
 100.188 +       id="path4614" />
 100.189 +    <path
 100.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"
 100.191 +       d="m 449.20635,231.12409 c -14.81482,13.75661 -121.69312,5.291 -121.69312,5.291"
 100.192 +       id="path4616" />
 100.193 +    <rect
 100.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"
 100.195 +       id="rect4618"
 100.196 +       width="257.40311"
 100.197 +       height="92.786636"
 100.198 +       x="252.16335"
 100.199 +       y="185.59641" />
 100.200 +  </g>
 100.201 +</svg>
   101.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   101.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/VMS-core__internal_workings.eps	Sat Aug 03 19:24:22 2013 -0700
   101.3 @@ -0,0 +1,1926 @@
   101.4 +%!PS-Adobe-3.0 EPSF-3.0
   101.5 +%%Creator: cairo 1.8.6 (http://cairographics.org)
   101.6 +%%CreationDate: Sun Feb 06 23:03:28 2011
   101.7 +%%Pages: 1
   101.8 +%%BoundingBox: 0 0 366 156
   101.9 +%%DocumentData: Clean7Bit
  101.10 +%%LanguageLevel: 2
  101.11 +%%EndComments
  101.12 +%%BeginProlog
  101.13 +/cairo_eps_state save def
  101.14 +/dict_count countdictstack def
  101.15 +/op_count count 1 sub def
  101.16 +userdict begin
  101.17 +/q { gsave } bind def
  101.18 +/Q { grestore } bind def
  101.19 +/cm { 6 array astore concat } bind def
  101.20 +/w { setlinewidth } bind def
  101.21 +/J { setlinecap } bind def
  101.22 +/j { setlinejoin } bind def
  101.23 +/M { setmiterlimit } bind def
  101.24 +/d { setdash } bind def
  101.25 +/m { moveto } bind def
  101.26 +/l { lineto } bind def
  101.27 +/c { curveto } bind def
  101.28 +/h { closepath } bind def
  101.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
  101.30 +      0 exch rlineto 0 rlineto closepath } bind def
  101.31 +/S { stroke } bind def
  101.32 +/f { fill } bind def
  101.33 +/f* { eofill } bind def
  101.34 +/B { fill stroke } bind def
  101.35 +/B* { eofill stroke } bind def
  101.36 +/n { newpath } bind def
  101.37 +/W { clip } bind def
  101.38 +/W* { eoclip } bind def
  101.39 +/BT { } bind def
  101.40 +/ET { } bind def
  101.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put }
  101.42 +    { globaldict begin /?pdfmark /pop load def /pdfmark
  101.43 +    /cleartomark load def end } ifelse
  101.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def
  101.45 +/EMC { mark /EMC pdfmark } bind def
  101.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
  101.47 +/Tj { show currentpoint cairo_store_point } bind def
  101.48 +/TJ {
  101.49 +  {
  101.50 +    dup
  101.51 +    type /stringtype eq
  101.52 +    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
  101.53 +  } forall
  101.54 +  currentpoint cairo_store_point
  101.55 +} bind def
  101.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
  101.57 +    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
  101.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where
  101.59 +      { pop cairo_selectfont } if } bind def
  101.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
  101.61 +      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
  101.62 +      /cairo_font where { pop cairo_selectfont } if } bind def
  101.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
  101.64 +      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
  101.65 +/g { setgray } bind def
  101.66 +/rg { setrgbcolor } bind def
  101.67 +/d1 { setcachedevice } bind def
  101.68 +%%EndProlog
  101.69 +11 dict begin
  101.70 +/FontType 42 def
  101.71 +/FontName /f-0-0 def
  101.72 +/PaintType 0 def
  101.73 +/FontMatrix [ 1 0 0 1 0 0 ] def
  101.74 +/FontBBox [ 0 0 0 0 ] def
  101.75 +/Encoding 256 array def
  101.76 +0 1 255 { Encoding exch /.notdef put } for
  101.77 +Encoding 1 /uni0047 put
  101.78 +Encoding 2 /uni0072 put
  101.79 +Encoding 3 /uni0065 put
  101.80 +Encoding 4 /uni006E put
  101.81 +Encoding 5 /uni0020 put
  101.82 +Encoding 6 /uni003D put
  101.83 +Encoding 7 /uni0056 put
  101.84 +Encoding 8 /uni004D put
  101.85 +Encoding 9 /uni0053 put
  101.86 +Encoding 10 /uni002D put
  101.87 +Encoding 11 /uni0063 put
  101.88 +Encoding 12 /uni006F put
  101.89 +Encoding 13 /uni0042 put
  101.90 +Encoding 14 /uni006C put
  101.91 +Encoding 15 /uni0075 put
  101.92 +Encoding 16 /uni0061 put
  101.93 +Encoding 17 /uni0070 put
  101.94 +Encoding 18 /uni0069 put
  101.95 +Encoding 19 /uni0074 put
  101.96 +Encoding 20 /uni0052 put
  101.97 +Encoding 21 /uni0064 put
  101.98 +Encoding 22 /uni0067 put
  101.99 +/CharStrings 23 dict dup begin
 101.100 +/.notdef 0 def
 101.101 +/uni0047 1 def
 101.102 +/uni0072 2 def
 101.103 +/uni0065 3 def
 101.104 +/uni006E 4 def
 101.105 +/uni0020 5 def
 101.106 +/uni003D 6 def
 101.107 +/uni0056 7 def
 101.108 +/uni004D 8 def
 101.109 +/uni0053 9 def
 101.110 +/uni002D 10 def
 101.111 +/uni0063 11 def
 101.112 +/uni006F 12 def
 101.113 +/uni0042 13 def
 101.114 +/uni006C 14 def
 101.115 +/uni0075 15 def
 101.116 +/uni0061 16 def
 101.117 +/uni0070 17 def
 101.118 +/uni0069 18 def
 101.119 +/uni0074 19 def
 101.120 +/uni0052 20 def
 101.121 +/uni0064 21 def
 101.122 +/uni0067 22 def
 101.123 +end readonly def
 101.124 +/sfnts [
 101.125 +<00010000000a008000030020636d617000a2f14100001fdc0000006c637674207d0742a80000
 101.126 +2048000002706670676d49d7df92000022b80000060a676c7966489d9ecf000000ac00001f30
 101.127 +68656164d5ceeae0000028c400000036686865610f7e06b2000028fc00000024686d74785bc6
 101.128 +0894000029200000005c6c6f636153405a880000297c000000306d617870037c02c9000029ac
 101.129 +0000002070726570292ded16000029cc000004ad00020080015e0380045e0003000700264016
 101.130 +059c039d049c070017003700030000079c019d049c00002ffdfded012f5f5dfdfded31301311
 101.131 +211125211121800300fd800200fe00015e0300fd0080020000010050ffe704d305d2001a0137
 101.132 +403a1c400b0b024b55060103370e470e570e670e04006a167a16025516010506150645060303
 101.133 +680078000200160c0c024b000f0e0c44170f370f020fb8fff0400b1010024b0f0c0f0f024b0f
 101.134 +b8ffe8400b0c0c024b0f040d0d024b0fb8ffeab40c0c064b0fb8fffab40d0d064b0fb8ffe840
 101.135 +571010064b0f0645181638160200160c1010024b16060f0f024b16200b0b024b16100c0c024b
 101.136 +16120d0d024b16120c0c064b16120d0d064b160c0e0e064b161b080168017801030223100103
 101.137 +2813011803380302020c510eb8ffc0401a0c0c024b0e090118000100001909100b0b024b0949
 101.138 +1303491913b8fff0b70b0b024b13091903003f3f2b10ed10ed2b10cd5f5d3210d62bed5f5d5d
 101.139 +5f5d5f5d0110d62b2b2b2b2b2b2b2b5f5dfdd42b2b2b2b2b2b2b5dfdcd10c62b5d5f5d5d5d5f
 101.140 +5d5f5d3130012b010726232200111400333237112335211106042320001110002132048d5397
 101.141 +91e6fef60105e1a063cb019350fee287fed1fea101810147e50553a570febcfef5fefeca6001
 101.142 +57aafd824453019b0155015401a7000100960000031c0443000e00af401e0a400b0d024b0810
 101.143 +18102810c81004c70ed70e020e06094d064d68070107b8ffecb41313024b07b8ffeeb4101002
 101.144 +4b07b8fff240110f0f024b07040b0b024b07040c0c024b07b8ffeeb40f0f064b07b8fffcb40c
 101.145 +0c064b07b8fff2b41010064b07b8fffc40250e0e064b070f170a270a370a470a570a670a0600
 101.146 +050a400e0e064b0a02520c0806070a0c07003f3f3f10edcd2b325f5d0110d62b2b2b2b2b2b2b
 101.147 +2b2b5deded10c65d5d3130002b01262322061511231133153633321702cd3e3f6597bebe68cd
 101.148 +336003782bba83fd9a042fabbf1200020041ffec041c04430019002201ff408724400b0b024b
 101.149 +58170103b807018a079a07aa07ba07ca07da0706025705016808780888089808a80805280838
 101.150 +08480858086808780888089808a808b808c808d8080c00571877180208221010024b08180f0f
 101.151 +024b08180c0c024b082c0d0d024b08100c0c064b08100d0d064b081f4e471e01021718371847
 101.152 +18671887189718a718b718c7180918b8ffe0b40e0e064b18b8ffdeb41010024b18b8ffdcb40f
 101.153 +0f024b18b8ffe2b40c0c024b18b8ffd4b40d0d024b18b8ffe4b40c0c064b18b8ffe4406b0d0d
 101.154 +064b18011e4e014e87100138104810581068100410100e0e064b10101010024b10100f0f024b
 101.155 +101c0b0c024b10160d0d024b100c0c0c064b100c0d0d064b102387079707a707030027053705
 101.156 +47055705040207522a083a084a08030357086708770803070817080208b8ffc0b40b0c024b08
 101.157 +b8ffd4b40d0d064b08b8ffc040350d0d024b080c1e50470157016701a701b701050001400f0f
 101.158 +024b01400d0d024b01400f0f064b010105581a011a5214100f0f024b14b8ffe8b40d0d024b14
 101.159 +b8ffe840200e0e064b140c0f0f064b14671401024a145a140205100c0c024b05520c0b140700
 101.160 +3f3fed2b5d5f5d102b2b2b2bed5d11392f2b2b2b5f5ded10d52b2b2b5d715f5ded5f5d5f7101
 101.161 +10d62b2b2b2b2b2b2b5d5deded10dd2b2b2b2b2b2b2b5d5f5dedc42b2b2b2b2b2b5d5f5d715d
 101.162 +5f5d5d5f5d3130012b0121141716333237170607062322272635103736333217161514012207
 101.163 +060721342726040dfcfc675b8fa36d502c5b728cca8d9da190c5e5827efe247f56520b025148
 101.164 +4f0205bc65585f892c202a8997ff0109a08f817ccd3f0169524e74734d5400010087000003d8
 101.165 +044300110103401813400b0b024b070f170f0201771301004d11101010064b11b8ffd4b40e0e
 101.166 +064b11b8fff8b41313024b11b8fff440111010024b110a0f0f024b11080c0c024b11b8fff440
 101.167 +110d0d024b111c0b0b024b110e0f0f064b11b8fff8b40c0c064b11b8fff8b40d0d064b11b8ff
 101.168 +f440100b0b064b11084d070917092709030009b8fff4400b1313024b09040d0d024b09b8fff6
 101.169 +b41010024b09b8fff4400b0f0f024b090a0b0b024b09b8fff8b41010064b09b8fff4400b0e0e
 101.170 +064b09080c0c024b09b8fffa40110f0f064b091204520e110a090a0a060e07003f3f3f3f10ed
 101.171 +0110d62b2b2b2b2b2b2b2b2b5f5dfdd42b2b2b2b2b2b2b2b2b2b2b2bed5d3130005f5d012b21
 101.172 +1134262322060711231133173633201111031a6779418e26be823c5ed50160026fab894e39fc
 101.173 +e4042f8a9efe54fd690000000002007a018b03c0036c00030007002d401b0105870207061706
 101.174 +37065706770605060803840207840706010006002f5f5dfddeed0110d65d3cfd3c3130011521
 101.175 +350115213503c0fcba0346fcba036c8d8dfeac8d8d0000000001000dffec04a605b900060133
 101.176 +b10202435458b90004ffe8400d0c0c024b040402010502020201002f3f3f111239012f313000
 101.177 +2b1bb10602435458403804601010064b04400c0f064b04100a0a064b47080100370401010808
 101.178 +18082808580804054606034602067600027601040400754701010104b8ffc0b42227064b04b8
 101.179 +ffb0b41a1d064b04b8ffc040261416064b04240b0b064b480401370401170427043704570467
 101.180 +0477040600048e010906020202003f3f3fed5f5d72712b2b2b2b012f5ded39192f1810ed10ed
 101.181 +10ed10ed5d5f725f5d3130002b2b2b1b40414708010037040101080818082808580804054606
 101.182 +0346020676000276010404007547010101480401370401170427043704570467047704060004
 101.183 +8e010906020202003f3f3fed5f5d7271012f5ded39192f1810ed10ed10ed10ed5d5f725f5d31
 101.184 +30595905230133010133029465fddede0179016bd71405cdfbc90437000000010014ffec05a3
 101.185 +05b9000c01f0401401400e0e064b04400e0e064b0e401010024b0002435558401d0c0e180e28
 101.186 +0e380e03080e180e380e480e580ea80eb80e070606080702003f3f012f5d7110d631301b40ff
 101.187 +4a030145020143087308024c0a7c0a0203280301280a0127080102970101980401870701880b
 101.188 +0101180e280e380e03080e180e380e480e580ea80eb80e070000460c0546380c480c02370647
 101.189 +0602022806480602270c470c020672070c720b01010a0b04040875070a75680b016707010b73
 101.190 +0207730309090275c70301270377038703a703d703e703060003770901016709010809180902
 101.191 +680988099809a809b809c809d809e809f80909580101580401004a0201034701014704010107
 101.192 +011701020701270187019701a701b701c701d701e701f7010a07041704020704270487049704
 101.193 +a704b704c704d704e704f7040a070117010217014701570167017740490187019701a701b701
 101.194 +c701d701e701f7010d0704170402070417042704470457046704770487049704a704b704c704
 101.195 +d704e704f7040f00097102017104710702090c0806080b020702003f3f3f3f3f10ede410ed5f
 101.196 +5d715d715d715d715f5d5d5f5d5f5d5d5d715d5f5d012f5f5d71ed39192f1810ed10fd5d5ded
 101.197 +10ed39192f1112392f1810ed10fd5d5d5f5d5ded10ed5f5d715f5d5d5d5d5f5d5d5d5f5d5d5d
 101.198 +5d3130592b002b2b2103012301032301330101330104e5aefec032feb7aabe01125b015d0142
 101.199 +5a012903adfc3f03c1fc5305b9fbd3042dfa470000010050ffe7038805d2002601ccb1020243
 101.200 +5458401907221a0e180b0b024b0e120c0c024b0e22070e1a0425131714b8ffc040120c0c024b
 101.201 +1411000401251749110304492509003fed3fed10cd123910cd2b1239121739012f2b2bcd2fcd
 101.202 +31301bb106024354584086082401071001002520452065207520042a0b01034828a828026813
 101.203 +0113074507223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f
 101.204 +451f651f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e042548145814681478
 101.205 +1404141137014701570167017701a701b70107000125174911044925091103003f3fed10ed10
 101.206 +cd5f5d10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d
 101.207 +5f5d5d1b4086082401071001002520452065207520042a0b01034828a8280268130113074507
 101.208 +223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f451f651f75
 101.209 +1f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e0425481458146814781404141137
 101.210 +014701570167017701a701b70107000125174911044925091103003f3fed10ed10cd5f5d10cd
 101.211 +5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d5f5d5d5959
 101.212 +3737161633323635342627272626353436333217072626232206151416161717161615140423
 101.213 +22544938a742758e4f9f769677e8b6f35f3b28a44666752a4b74789679fef7dec343b8293780
 101.214 +634a7f4b3746c087a4d84fae1d36745b385c3e383947c598a5e60001009f01fa024b02a90003
 101.215 +00254017280368037803a803040307002700370003000004014800002fed0110d65f5dcd5d31
 101.216 +30133521159f01ac01faafaf000000010041ffec03b5044300170119401e450501a101010328
 101.217 +1938190200870d970da70d030200070d870d970d030db8fff4b41010024b0db8ffeab40f0f02
 101.218 +4b0db8ffeab40b0c024b0db8ffe840610d0d024b0d074e38124812028712a712b712c712e712
 101.219 +050012101010024b12180f0f024b12200b0c024b12180d0d024b12060e0e064b120c0e0e064b
 101.220 +12120c0c064b12100d0d064b1218250a350a450a032a043a044a0403030c52070d170d020db8
 101.221 +ffc040160b0b024b0d0f015208001800020000400b0b024b0004b8ffe8b40c0c024b04b8ffe8
 101.222 +40190d0d024b0452150a180c0c024b0a180d0d024b0a520f0b1507003f3fed2b2b10ed2b2bdd
 101.223 +2b5f5ded10dd2b5ded5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b5d3c5f5d5f5d
 101.224 +5f5d5d313001072626232206151416333237170623220035100021321603af5e1d93479bb6ba
 101.225 +a580824b99e2dbfee20129010253c203d8861d34d9bdbcc563a0630126fb0100013646000002
 101.226 +0041ffec040a0443000b0015013c402517401010024b17400b0c024bb7050101381701114e17
 101.227 +063706470667060406041010024b06b8ffdeb40f0f024b06b8fffcb40b0b024b06b8ffe4b40c
 101.228 +0c024b06b8ffd4b40d0d024b06b8ffeab40e0e064b06b8ffe0b40c0c064b06b8ffe440760d0d
 101.229 +064b060c4e87009700a700b700c700e700063800480058006800040000101010024b000e0f0f
 101.230 +024b00200b0b024b00200c0c024b00160d0d024b000c0e0e064b00100c0c064b000c0d0d064b
 101.231 +00166a030165090103670e0168130102450e550e650e034a135a136a13030e100f0f024b0e52
 101.232 +0913b8fff040160f0f024b13520309180f0f024b09180f0f064b090b03b8ffe8b40f0f024b03
 101.233 +b8ffe8b50f0f064b0307003f2b2b3f2b2b10ed2b10ed2b5d5d5f5d5d5f5d5d0110d62b2b2b2b
 101.234 +2b2b2b2b5f5d5dfdd42b2b2b2b2b2b2b2b5ded5d5f5d31302b2b133400333212111000232200
 101.235 +1310213236351021220641010bdae6fefefce0e5ff00c8011d8597fee4829b021af80131fedb
 101.236 +fefcfefdfed5012e0100fe6dd8bb018ed400000300960000043705c6000f0018002201ac406f
 101.237 +24400b0b024b05060103580a680a02a805b805c805030178150102480a780a880a980aa80ab8
 101.238 +0ac80ad80ae80af80a0a0a1545380748070207200b0b024b071e0c0c024b07160d0d024b0710
 101.239 +0c0c064b07100d0d064b07220e0e064b070d10441a44011f45070d170d270d370d040db8fffa
 101.240 +400b1010024b0d100b0b024b0db8fff4b40c0c024b0db8ffd8b40d0d024b0db8fff4b40e0e06
 101.241 +4b0db8fff4b40c0c064b0db8fff4400f0d0d064b0d24070117012701030001b8ffecb4131302
 101.242 +4b01b8fff4b41010024b01b8fffa400b0f0f024b01040b0b024b01b8fffeb40d0d024b01b8ff
 101.243 +eab41010064b01b8fff0b40e0e064b01b8ffff40330c0c064b0123671c0101371c471c571c03
 101.244 +020a0a111348190722014722572267227722041722372247229722c722f722060022b8ffc0b4
 101.245 +0f0f024b22b8ffc0401f0f0f064b22100d0d064b22221a17021048041a1c200f0f024b1c4801
 101.246 +080402003f3fed2b3210ed333211392f2b2b2b5f5d717233ed3239192f5f5d5f5d011810c62b
 101.247 +2b2b2b2b2b2b2b5f5d10d62b2b2b2b2b2b2b5ded10eded10d42b2b2b2b2b2b5dedc45d5f5d5f
 101.248 +5d31305d5f5d012b212111243332161514060716161514040111163320353421220311163332
 101.249 +36353426230238fe5e010b76d9ee985cae9ffee5fe423f5d011cfefb644f6737bcada5c105b9
 101.250 +0dbbae66a8152ac2a7c1e60519fe5b06e7cbfdb9fdd10a8d9a8f8800000000010096ffec0207
 101.251 +05e6000800c7b9000affc0b41313024b0ab8ffc0b41010024b0ab8ffc0402a0c0c024b070a17
 101.252 +0a270a370a470a570a670a770a080706170627060306024d070117012701d701040001b8ffec
 101.253 +b41313024b01b8ffeeb41010024b01b8fff240110f0f024b01040b0b024b01040c0c024b01b8
 101.254 +ffcc40170e0e064b01180f0f064b01130c0c064b01160d0d064b01b8ffec401b0b0b064b0109
 101.255 +b705c70502010a081a082a083a08040652070b0100003f3fed5d5f5d0110d62b2b2b2b2b2b2b
 101.256 +2b2b2b5f5dfdc65d5d3130012b2b2b13113311141633152096be6350fe8f012f04b7fb695663
 101.257 +aa0000000001007dffec03e3042f001200fb402714400b0b024b7714010a4d074d0708011708
 101.258 +47087708a708048708b708e70803080c1010064b08b8fffab40e0e064b08b8ffecb41313024b
 101.259 +08b8ffec400b1010024b08160b0b024b08b8ffeeb40d0d024b08b8ffccb40e0e064b08b8fff0
 101.260 +b40c0c064b08b8fff440150d0d064b08004de812f81202071217122712030012b8fff8b41313
 101.261 +024b12b8fffab41010024b12b8fff640230f0f024b120c0b0b024b120c0c0c024b12080d0d02
 101.262 +4b12040c0c064b12040d0d064b12b8fffa40110e0e064b121303520e090a0e0b08061206003f
 101.263 +3f3f3f10ed0110d62b2b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b2b2b2b2b2b5d7172eded5d31
 101.264 +30012b01111433323637113311233506062322263511013bd75e9c19bebe20c15cb0bb042ffd
 101.265 +55f86c4702f0fbd1943f69caba02bf0000020050ffec03e40443001b002501d3b62740101002
 101.266 +4b25b8ffecb40b0c024b25b8ffee40490d0d064b071317130201672077200202280f480f0200
 101.267 +b70fc70fd70fe70f04010025150f0537184718571867187718871897180718254d0a4d881501
 101.268 +150c1313024b150c1010024b15b8fff8b40f0f024b15b8fff040110c0c024b151e0d0d024b15
 101.269 +0c0e0e064b15b8fff040440f0f064b150c0d0d064b1527214e38050100050c0f0f024b05160b
 101.270 +0b024b05100c0c024b05120d0d024b050c0e0e064b050c0c0c064b050c0d0d064b05263a0301
 101.271 +032500b8ffc0b40d10024b00b8ffc040320d0f064b480058006800780004000218191c520a08
 101.272 +0e52080f180f280f380f480f580f980fa80fb80fc80fd80fe80f0c000fb8ffc0b41317024b0f
 101.273 +b8ffc040240d0d024b0f124a1e5a1e02031e52a808b80802580801006a087a08020347085708
 101.274 +020008b8ffc0b41414024b08b8ffc0b41313024b08b8ffe8b41010024b08b8ffe8b40f0f024b
 101.275 +08b8ffc040131313064b08080c2352020c5212190b020b1207003f3f3f10ed10ed11392f2b2b
 101.276 +2b2b2b5f5d5f5d5f5d5ded5f5d10dd2b2b5f5ded10d5ed10cd10dd5d2b2bcd5f5d0110d62b2b
 101.277 +2b2b2b2b2b5f5ded10d62b2b2b2b2b2b2b2b71ededc65d10c41112395f5d5f5d5f5d3130005f
 101.278 +5d2b2b012b250623222635342433321710232207273636333216151114171522260326232206
 101.279 +151433323702e472eb7eb9011ddd3c4ce8b2605036bf57e9d35474732b5a2490b6c5906f7b8f
 101.280 +b788a3e11a0104609f2c3fd4e7fe808d2f5f4201df149465a78900020087fe5c042c0443000f
 101.281 +001b014d40161d400b0b024be71d01164e470af70a02470a970a020ab8ffe4b40f0f024b0ab8
 101.282 +ffeab40c0c024b0ab8ffd4b40d0d024b0ab8fff4b40e0e064b0ab8ffe6b40c0c064b0ab8ffea
 101.283 +401e0d0d064b0a111101044d014d1702010702170227028702e702f702060002b8fff4b41313
 101.284 +024b02b8fff6400b1010024b02040d0d024b02b8fffa40110f0f024b020a0b0b024b02080c0c
 101.285 +024b02b8fff4b40e0e064b02b8fffe40330f0f064b02020c0c064b02020d0d064b021c580d68
 101.286 +0d025707670702024514014a190114100e0e064b14100f0f024b14520d19b8fff0b40e0e064b
 101.287 +19b8fff0400c0f0f024b195207010e03060db8fff0b40e0e064b0db8fff040140f0f024b0d0b
 101.288 +07100e0e064b07100f0f024b0707003f2b2b3f2b2b3f3f10ed2b2b10ed2b2b5d5d5f5d5d0110
 101.289 +d62b2b2b2b2b2b2b2b2b2b5f5d71eded103c10d42b2b2b2b2b2b5d71ed5d31302b2511231133
 101.290 +15363332121114002322260311161633201134262322060145bebe6c99e4feff00f2449b1612
 101.291 +74370162a8b928743bfe2105d3586cfee4feeef4fecb30032cfd901b310190cbbc3800000002
 101.292 +0050000001c105c4000b001100d9b613400f0f024b13b8ffc0b60d0d024b097b03b8fff4b40e
 101.293 +0e064b03b8fff8b40f0f024b03b8fffab40c0c024b03b8fff940200c0c064b03110e0c4d7711
 101.294 +010011041313024b11021010024b110e0f0f024b11b8ffeeb40b0b024b11b8ffecb40c0c024b
 101.295 +11b8ffe6400b0d0d024b110e0f0f064b11b8fff8400b0c0c064b11120d0d064b11b8ffd64010
 101.296 +0e0e064b11081111064b11130d511000b8ffc040120f0f024b007c06400f0f024b06100c0a10
 101.297 +06003f3f10d62bed2b10ed0110d62b2b2b2b2b2b2b2b2b2b2b5f5dfdc610d42b2b2b2bed3130
 101.298 +012b2b013216151406232226353436031123352111014b314545313045443793015105c44530
 101.299 +314545313144fa3c038fa0fbd10000000001004fffec02fc0558001500cab90017ffc0403f0c
 101.300 +0d024b0813181302281701871001109708010809010006090309010c0c064b094d4800580068
 101.301 +00f8000400000c1313024b000a1010024b00120f0f024b00b8fff2b40b0b024b00b8fff0b40c
 101.302 +0c024b00b8ffe8401d0d0d024b00160e0e064b00100f0f064b00260c0c064b00280d0d064b00
 101.303 +b8fffc401b0e0e064b002c133c13020f0d0205070d52120152085207120b0706003f3f10eded
 101.304 +10ed10c63c10c65d012f2b2b2b2b2b2b2b2b2b2b2b5f5ded2b3c103c10cd10dd5dc65d5d3130
 101.305 +005d012b13233533353711211521111416333237170623222635cb7c7cbe0126feda5b65494e
 101.306 +1c768d7faf039996e049fed796fdec877225a71ebd90000200a0000004a805c8000f001a0106
 101.307 +4017670e770e02010e040b00460f0f1c16060d0d064b16450bb8ffe8b40b0b024b0bb8ffea40
 101.308 +120d0d024b0b471c1044044407052705020005b8ffe4b41313024b05b8fff2b40f0f064b05b8
 101.309 +fff0b41010024b05b8fff4b40f0f024b05b8fffcb40c0c024b05b8fffab40d0d024b05b8fffe
 101.310 +b40c0c064b05b8fff4b40d0d064b05b8ffeab41010064b05b8fff040290e0e064b051b481701
 101.311 +0245150103570e01025513015a196a197a1903101906090e1103134901010519b8ffe8400d0f
 101.312 +0f024b194909000805080902003f3f3f10ed2b11392fed333233113311335d5d5f5d5f5d5f5d
 101.313 +0110d62b2b2b2b2b2b2b2b2b2b5f5deded10f62b2bed2b103c10ed111239395d313021012227
 101.314 +112311322433201114060701011116333236353426232203c3fe794391c80b0121420210aa75
 101.315 +01a9fcc04844b4a4b0be1e02750afd8105b90ffe5c8add1bfd5e0505fe240a74957b6c000002
 101.316 +004bffed03ec05e6000e0019011e40161b400b0b024b004d0d190c4d470d010d201313024b0d
 101.317 +b8ffeab41010024b0db8fff6400b0f0f024b0d080b0b024b0db8fff6b40c0c024b0db8ffe440
 101.318 +0b0d0d024b0d0c0f0f064b0db8ffe2b40c0c064b0db8fff240660d0d064b0d140c0c0c064b14
 101.319 +4e87060138064806020006080f0f024b061a0b0b024b061a0c0c024b06120d0d024b060c0e0e
 101.320 +064b06100c0c064b060c0d0d064b061a251635164516032a113a114a11030358036803021618
 101.321 +0b0c024b16100f0f024b16520311b8ffe8400e0b0c024b115209480901020e0a03b8fff0b60f
 101.322 +0f024b030b09b8ffeeb70d0d024b09070d00003f3f2b3f2b3f5f5d10ed2b10ed2b2b5d5f5d5d
 101.323 +0110d62b2b2b2b2b2b2b5f5d5dfd2bd42b2b2b2b2b2b2b2b2b5dfd3c10ed3130012b25350623
 101.324 +22023534003332171133110326232206151021323637032e63bdc9fa0120c7a656bebe487d99
 101.325 +bd01602d7e10014f630120f0f101554e01f1fa1b03366ce4b0fe7d392000000000020050fe5c
 101.326 +03c804740030003c0160402c48195819681978190400272b372b020265017501020320101c12
 101.327 +064e282b382b482b582b682b782b882b072bb8ffeab40e0e064b2bb8fff0400f0d0d064b2b19
 101.328 +3a4e1c0e1010024b1cb8fff440860c0c024b1c120d0d024b1c3e00234e0d344e12060e0e064b
 101.329 +120c0f0f024b12120b0c024b12120d0d024b123d17010188199819a819b8190488189818a818
 101.330 +b81804280c380c02006701770102026a317a3102653775370203102037281a171f181537180f
 101.331 +0f024b37521f40090a064b1f9708a708b70803970ba70bb70b030028530825530b01b8ffc0b4
 101.332 +1114024b01b8ffc0b40b0c024b01b8ffc0b41114064b01b8ffc040090c0c064b0103522e31b8
 101.333 +ffe8400d0f0f024b3152152e0e0b061507003f3f3f10ed2b10fdc62b2b2b2b10edd4fd5f5d5d
 101.334 +d42bed2b10c6123939111239395f5d5d5f5d5f5d5d5d5d0110d62b2b2b2bedd4edc610d62b2b
 101.335 +2bedc6d42b2b5ded111239395f5d5f5d5f5d3130133716333236353423220623223534363726
 101.336 +1134363332173717071615140607070606151433323633321615140423222601220615141633
 101.337 +32363534266067a68c8195bc20a82fe46b4fe2eaac9e595f7c7249caa49d1c5e622bb62c9eb1
 101.338 +fef7cb68e6014d637d796765727bfedb986f59428220ac3556136a0106a8e0417275565f99a2
 101.339 +dc101003251e291f978694b64a05048c6470938f74648c000000000200030000000000140001
 101.340 +0000000000340004002000000004000400010000f016ffff0000f000ffff1000000100000000
 101.341 +000600380000000000170000000100020003000400050006000700080009000a000b000c000d
 101.342 +000e000f001000110012001300140015001605e6000005b9001905b90014042f00140000ffe7
 101.343 +0000ffec0000ffecfe5c000005c30000fe5400000338000005d300000253000005c8000a0000
 101.344 +0000000000000000000000000000000000000000000000000000000000000000000000000000
 101.345 +0000000000000000000000000000000000000000000000000000000000000000000000000000
 101.346 +000000c800cd00cd009600b400b400000000000000be00c800c8008c00a0009b009600000000
 101.347 +00be00c800c8000000aa00aa000000000064007d0082008c009600a00064007d0082008c009b
 101.348 +00d20064007d0082008c009600a002300136011801a401d600460218012c01c2000001d600eb
 101.349 +00eb01d1017f0154011301450168012c008d02350159033f0505012c00b4006e0136015e01cc
 101.350 +01cc04d8006e006e01d600d2005f01f4012c007802d00190037f00800280006e00b4000000a5
 101.351 +fea2003200b9008c000000000000000000000000000000000000000000000000000000000000
 101.352 +0000000000000000000000000000000000000000000000000000000000000000000000000800
 101.353 +05e6000005b9001905b90014042f00140000ffe70000ffec0000ffecfe5c0000000000000000
 101.354 +0000033800000000000002530000000000000000000000000000000000000000000000000000
 101.355 +0000000000000000000000000000000000000000000000000000000000000000000000000000
 101.356 +0000000000000000000000000000000000000000000000c800cd00cd009600b400b400000000
 101.357 +000000be00c800c8008c00a0009b00960000000000be00c800c8000000aa00aa000000000064
 101.358 +007d0082008c009600a00064007d0082008c009b00d20064007d0082008c009600a04036544b
 101.359 +214a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f18141110
 101.360 +0f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346236120b0
 101.361 +2661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361b0206020
 101.362 +b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c4523462361
 101.363 +b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd442320b8015a
 101.364 +51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d44235921212d2c
 101.365 +20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00b10a0b43
 101.366 +23430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b003254561
 101.367 +64b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c2069b04061
 101.368 +b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87b0112bb0
 101.369 +292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c01b00525
 101.370 +1023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0062510f5
 101.371 +00edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b006430b2d
 101.372 +2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b59b00260
 101.373 +2d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb840006260
 101.374 +23212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b004254523
 101.375 +4520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b04061441b21
 101.376 +21592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121592d2c4b
 101.377 +515820b0032545695358441b2121591b2121592d2c45b01443b0006063b0016069442d2cb02f
 101.378 +45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb333003400
 101.379 +5944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b001615923
 101.380 +586559b02923442310b029e01b2121212121592d2cb0164358b004254564b020606620581b21
 101.381 +b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b004252046b004
 101.382 +2523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b00425b029e0
 101.383 +b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625b00325b0
 101.384 +016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b04059b001
 101.385 +6123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b0042523423c
 101.386 +b00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b0042510b00525
 101.387 +b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b00525b00325
 101.388 +4348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b004252020
 101.389 +46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002254348212121
 101.390 +2d2c452320451820b00050205823652359236820b040505821b04059235865598a60442d2c4b
 101.391 +53234b515a5820458a60441b2121592d2c208a08234b538a4b515a5823381b2121592d2c0020
 101.392 +8a49b0005158b04023208a3812341b2121592d2c462346608a8a462320468a608a61b8ff8062
 101.393 +232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b0106068013a2d2c20
 101.394 +8a2349648a2353583c1b21592d2c4b505845441b2121592d2cb0024354584b53234b515a5838
 101.395 +1b2121591b21212121592d2cb1020042b123018851b1400188535a58b910000020885458b202
 101.396 +010243604259b12401885158b920000040885458b2020202436042b12401885458b202200243
 101.397 +6042004b014b5258b2020802436042591bb940000080885458b202040243604259b940000080
 101.398 +63b80100885458b202080243604259b94000010063b80200885458b202100243604259b94000
 101.399 +020063b80400885458b202400243604259595959592d00000001000000050000f72805665f0f
 101.400 +3cf5001b080000000000ad61b71900000000c142e956ff50fde708a8078b0000000a00010000
 101.401 +00000000000100000783fe39000008e9ff50ff7808a800010000000000000000000000000000
 101.402 +00170400008005690050031c0096045d0041045f0087026900000432007a04b3000d05ad0014
 101.403 +03d9005002f0009f03f60041044b004104870096025c0096045f007d04340050047500870248
 101.404 +0050032c004f04a800a00475004b040400500000002800f40166029e03400340036c041a0532
 101.405 +06520672072807f0090009780a160b380c0e0c9c0d240dd60e920f98000100000017004d0007
 101.406 +004b000500020010002f0055000002f001ff00030001400a54bfa50140a5111546a4b8010cb2
 101.407 +321fa1b8011540b21f1f6fc731216ec731216dc731216cc731216bc731216ac7312169c73121
 101.408 +68c7312167c7312166c7312165c7312164c7312163c7312162c7312161c7312160c731215fc7
 101.409 +31215ec731215dc731215cc731215bc731215ac7312159c7312158c7312157c7312156c73121
 101.410 +55c7312154c7312153c7312152c7312151c7312150c731214fc731214ec731214dc731214cc7
 101.411 +31214bc731214ac7312149c7312148c7312147c7312146c7312145c7312144c73121b80137b2
 101.412 +6f0821b80136b26e0821b80135b26d0821b80134b26c0821b80133b26b0821b80132b26a0821
 101.413 +b80131b2690821b80130b2680821b8012fb2670821b8012eb2660821b8012db2650821b8012c
 101.414 +b2640821b8012bb2630821b8012ab2620821b80129b2610821b80128b2600821b80127b25f08
 101.415 +21b80126b25e0821b80125b25d0821b80124b25c0821b80123b25b0821b80122b25a0821b801
 101.416 +21b2590821b80120b2580821b8011fb2570821b8011eb2560821b8011db2550821b8011cb254
 101.417 +0821b8011bb2530821b8011ab2520821b80119b2510821b80118b2500821b80117b24f0821b8
 101.418 +0116b24e0821b80115b24d0821b80114b24c0821b80113b24b0821b80112b24a0821b80111b2
 101.419 +490821b80110b2480821b8010fb2470821b8010eb2460821b8010db2450821b8010c40ff4408
 101.420 +216957311f5857311f5657311f5152311f4644311f4544311f4f4e311f4d4e311f2097309740
 101.421 +975097043088010f8c018f849f84af84bf84cf84058f689f68af680360697069028f5b018f5a
 101.422 +017057018f509f50af50bf50cf50058f519f51af51038f529f52af52033f7c4f7c02507b607b
 101.423 +707b03704e01708f01308f608f708f03008e01008e01408e708e02008e308e408e508e608e70
 101.424 +8e06107040700260740160730170440100282800000012110840370f3fce16010fa21fa20218
 101.425 +c7312114c731210ec731210dc731210cc731210bc731210ac7312109c7312108c7312107c731
 101.426 +2106c7312105c7312104c7312103c7312102c7312101c73121407c00c73121e0180821dc1408
 101.427 +21d60e0821d50d0821d40c0821d30b0821d20a0821d1090821d0080821cf070821ce060821cd
 101.428 +050821cc040821cb030821ca020821c9010821c8000821230e45220c45210a452008451f0645
 101.429 +1e04451d02451c00451a08180816081408120810080e080c080a08080806080408020800084b
 101.430 +b807ff524bb008505b58b101018e59b0124b004b5442b9000101ff858d2b2b2b2b2b2b2b2b2b
 101.431 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
 101.432 +2b2b2b2b2b2b2b2b2b7342011d4bb01b5358b0961d594bb0325358b0001db1160042594b20b0
 101.433 +325323b096515a58b0301d592b0145695342014b5058b108004259435c58b108004259161070
 101.434 +3eb13737456920b0005458b040605944b1300070b33200300019701870737373737373747473
 101.435 +737373737373737373737373737373732b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
 101.436 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
 101.437 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
 101.438 +2b742b00000000>
 101.439 +] def
 101.440 +FontName currentdict end definefont pop
 101.441 +%%Page: 1 1
 101.442 +%%BeginPageSetup
 101.443 +%%PageBoundingBox: 0 0 366 156
 101.444 +%%EndPageSetup
 101.445 +q
 101.446 +0.0823529 0.580392 0.0823529 rg
 101.447 +BT
 101.448 +8 0 0 8 222.394666 145.083551 Tm
 101.449 +/f-0-0 1 Tf
 101.450 +[<010203>1<0304>]TJ
 101.451 +ET
 101.452 +0 g
 101.453 +BT
 101.454 +8 0 0 8 244.004041 145.083551 Tm
 101.455 +/f-0-0 1 Tf
 101.456 +<0506050708090a0b0c0203>Tj
 101.457 +ET
 101.458 +0.0117647 0.0117647 0.721569 rg
 101.459 +BT
 101.460 +8 0 0 8 298.536267 145.005426 Tm
 101.461 +/f-0-0 1 Tf
 101.462 +<0d0e0f03>Tj
 101.463 +ET
 101.464 +0 g
 101.465 +BT
 101.466 +8 0 0 8 314.161267 145.005426 Tm
 101.467 +/f-0-0 1 Tf
 101.468 +<0506051011110e120b1013120c04>Tj
 101.469 +ET
 101.470 +0.588235 0.0392157 0.0392157 rg
 101.471 +BT
 101.472 +8 0 0 8 162.495227 145.005426 Tm
 101.473 +/f-0-0 1 Tf
 101.474 +<140315>Tj
 101.475 +ET
 101.476 +0 g
 101.477 +BT
 101.478 +8 0 0 8 175.963977 145.005426 Tm
 101.479 +/f-0-0 1 Tf
 101.480 +<050605110e0f160a1204>Tj
 101.481 +ET
 101.482 +0.8 w
 101.483 +0 J
 101.484 +0 j
 101.485 +[ 0.4 0.4] 0 d
 101.486 +4 M q 1 0 0 -1 0 155.935211 cm
 101.487 +106.051 133.129 m 85.43 122.164 70.191 113.375 70.191 113.375 c S Q
 101.488 +72.852 38.791 m 69.273 43.08 l 74.777 42.131 l 73.484 41.564 72.711 
 101.489 +40.213 72.852 38.791 c h
 101.490 +72.852 38.791 m f*
 101.491 +Q q
 101.492 +q 0 0 367 156 rectclip
 101.493 +% Fallback Image: x=0, y=0, w=365, h=155 res=300dpi size=2955450
 101.494 +[ 0.24 0 0 0.24 0 0.895211 ] concat
 101.495 +/DeviceRGB setcolorspace
 101.496 +8 dict dup begin
 101.497 +  /ImageType 1 def
 101.498 +  /Width 1525 def
 101.499 +  /Height 646 def
 101.500 +  /BitsPerComponent 8 def
 101.501 +  /Decode [ 0 1 0 1 0 1 ] def
 101.502 +  /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def
 101.503 +  /ImageMatrix [ 1 0 0 -1 0 646 ] def
 101.504 +end
 101.505 +image
 101.506 +J3P/PW$E,P#D#)]Yda6_*=IZk@Smti:+[9:6_dMgggVWNO%&)l3,F<u-'Lr3ni8Oi=Xo4rAe
 101.507 + MXrJnFtN9]iX;9Zh9:P"TG/l2;B;6]T<ce+t'$M+3>"ku50(ntAUMcm)Oo767PIW6f'4L\5
 101.508 + \kA?XR`oI6ngb@$B1Xu2,k(=?iT>clVY*TH%*\_C`i]H,l'I_aEM\,-pfWJ.h;Yh9F33aZ(
 101.509 + 0aK`4DVIpEFWTEaCRq?tVS%dgY=GpbJ,H]O/Zl3]AP@]X%lggJ"c<!$+dd8mf/\XH'QJ?:,
 101.510 + HbLg3Kn/(Q2)]l+lRfO)EV)>+[?Ad(f6041Y3,bl8*7kdSpsb88$VLUH@&DRa+9rLG^FoND
 101.511 + ^X2u4q@0,r4R%'`mh`+CX3-Y/Xua.5d1A%#rg$9-NZ;D;c(\#%]h;k6Ed`o#K06XUA708PM
 101.512 + G:_:Ffu[_f+m=#JX*b1AAfWRnX)R%nq*]_D+/;'#*l]AK8dRj:r0DD<q!/7PT4,JtE[WXFh
 101.513 + Z%&tXd"P3e-lbG\<=0[)<K9emh`JeIZ!o0gPR9_.hr2bc)[-TY#%SBE?*drat:bDCoB2p^\
 101.514 + n#+s4[[-p+RZg?d-;3YfA5:Fucq*iMlPhS^T'W!*CVY!QK7oM7p0hYCXV+jc^<9,W0bnVuW
 101.515 + ;'\#1='3nWbstl423K1f,Ls10@9#0RG=gC$oaOu)1lX_4:f_(]?<@nYX%h,EofY]E<IM,fg
 101.516 + %F`jAD5UfkAaVsrQ/n[<rLW7fTbd7Q.hRAiHnn?75\r32k?jj?WEB-I+[!jc#M*rogs_mfE
 101.517 + s?Xc5;8)LI&ErrJ'7?Sb[6`R%2i`h\a?dOAraOhg&WhV?)Y,pngWC_>'<<HV8THbEl\k:2c
 101.518 + M()#a&;<d>/)Cuj8$UR*aGhHQ:WH5:"[<k4sRR:84"Q_J2?[7Qun)E$3<CV!K)0ZoQXn$AW
 101.519 + J8e-9C3NfWck=j1?U$@Y$#G*$IhNOmRD5QKdgRF38]B"+s\\.F#4,(H7qlMS1E11ArOmUq9
 101.520 + L@aukN:"^W=oK/O>l7o(VX,8eMp?*>#:mN.qtEUlFd_W<c>Yn4=0H,Zf/(A1]qs%_DgQtSd
 101.521 + rO.QKg9Z!7glQlR\+k)oNfIXcLtO.;;1iK[iMO@*Ij(9pn#6MAp?Km\^u.5-`PRA*VL)_o3
 101.522 + DmSNrCnS"dFBUs0L'u*S7sa?&NlR:(;K_=8q==S#Loj[HfrQmdhD3[sZIF#JesToA!9NI]q
 101.523 + `/_$9E*hFn`'mVW'A`_uo19C-Om*W8<jB*D^jb%U4rk<_,gpgJ7EGjW?Z_1pn5Tr\o\&8@h
 101.524 + ([`8\_qrBIBJg%mB56BR*4akPJpd=17oO/F/I.1;i6PcKkU4a5-YiZ9]UDF?2)ZbX)4r>s*
 101.525 + aU;=j`em/1[C2Ih5"I0%7EPKS.<Cl4;m_'I#l-8#1R*t66B.%?*^ut4qP'-`NK8m`"=4p5+
 101.526 + V"i/P#;H2UY.PTj><,mE\^69.6`&'H8Lf5AjeHY)^(tFX-(iOk=HO`WMP0`Pp^<CSTt/de1
 101.527 + @MaZ>rV`q0sgSS;B53(.-27%ZViTk`HM??6_I!2!"#'R7S`58U4(BAq[=S;d+*6fi^&lN7=
 101.528 + .L12T[pf/=sB,b/Qa782qCPG[..T/$mpapIG\,h1tD1M0_7oO0m0]Z6RB*`u)rP<W2M!M=G
 101.529 + !GgP]E4"%]"BG7D(:>-.CB8jEskH]BYl5;j`XV.=KqMEWM0g)ERs.r[-Qr4hg6k4V*85mA[
 101.530 + OHKs:)e+([eIJ<Q;eJt-77jIY/uDV%SQ"g-;6!VkW`<6)<U.E1X#4dt<SG,flNL^u<K=@c>
 101.531 + *Va]2/00mY-qBbh-93!E@3Wd\lW)&?0fITY>qa4=1\?;lihsE<Xu]BgBh<T7>\9M0#f"_f4
 101.532 + /WNOg8"_b#[g;ASf>"NW]Zra.aJ:m002j<e,s/4&'GV7B*[qY1?e26YUC[Z*m]Yg07cuD=,
 101.533 + <Q[3TeK>MFREmKLG:<gqlM4,n7I?*LjU0%SgYR<.eMdCNA?NSQ[uFmd5^\@6)<>8s,WDEZm
 101.534 + i(QS&lHae9=7Hq@LT(QD_`HuIHn%KU`qHH&7I;d+#[9)5`>q>#dDJc#](_6Z)bR&jhD?don
 101.535 + )ZSa-M1DgR&\T#3$"7&9KeTpG_73\YiLE&UDQY)"=%<[.4)'IhQ70](Y1qr?f+;[4&B1$_)
 101.536 + Im#hNUb"Ka&qdOA))KnnchD$=Uu]e>`Fm:7S1^)0.(5bSWiW!;9E$;.V2keQ1Dptb?8a9AZ
 101.537 + -o68+p64=cY=M>g8].7VU+MY;U"Jh4+"jER%_53bM^bSb'jHcWT^#BAEHXoEGULOjUS5Pi%
 101.538 + A*%Z/S:01KX2*M`7]Oj[E/8nhQ_V=_cqdopZbC#(qMo`h,6`61J\><S?j=SNp>^gIA^fIF_
 101.539 + i44Y=n=R/+eX`_Xjf37';lOg9J`?!>IUS)^Ec&JlL5/#WQb]=1iMfa,U`S!=KA8PV=XEGHE
 101.540 + \g'mAM1)A2pBJ_TTh$V<@>GpkY2A&>>@)2dlZKZR;Vc\TG&*XuY\o3KhL"^;K>"%e2Ko#TS
 101.541 + .BH']t;(i7^:f3RriV@#J51LnD'NqJT#sjYrJWZffT2sD&tLNp!3fQ)foq;Y"c_,?.7WbIs
 101.542 + LJM-+pcQ+6)&<N,p%W\2`Trj4rNpMSOTML,aSlU[]i!/re9T7nMrN0;`jJS^[Fj;<hF_;//
 101.543 + E&:WM%a[=];Z#GE[MJ6-+E4bL"_?HLmt+)1)tX0`;o(aCYho,L,U[J+"Th7I<FlpH;-MgM5
 101.544 + V"i#<O?/NMCY//nK(")4gpVHWC*Spr2-Ns@^`q`sLgA+IknfXRJGlKGOH[g&'IWs4cn.jkC
 101.545 + s*aORHe*G&(!sX$Z0WNMb'Iu;hL*Sqo7#TIp?pm]4@d'XhA=[I%fu15B5@1l6cJta47+Yln
 101.546 + bM&N"ac`4mf'-*pYLh>I@n45^+I\+s*qZj@6Q(8Vs4.eYP*G&h>@5-nbunAqL;d$eVE1#O#
 101.547 + _gCI4r\Amdg6nJFmd\p@#l/O2guL$LJ@i\aQ!gE"i=KTXmqt!\\HfbF\SB/H?=b\aP.P%p&
 101.548 + bsQN8b:ordHMmhl6=W<-k1!jG;c&2:YV2$NFV"07gln2CS)p@#1_n1[iD0H.K`*sYTV"cK&
 101.549 + Xd!l6/aL]`2#r$,d0F%EYM$G_&\I_=6!J1d=hYtm4$a@;PnA,Me`=-_-%'[tbn'_4F$IH\F
 101.550 + s/jB2%TqVkB"@=$kE,&^:3*n*G2s50fe,\'mR[m@;$h,>iNVb.:0dWJ-P5]a%VqIBYko#lr
 101.551 + 7T?qg/0-R;#\"f!tt#t"tQ#$EB)lr'*=:4&i!)mbEihR"P`G:\T%9XD>OtsQP4@4i))VI&O
 101.552 + @28D\R.p'X;'!;,Fe8<>7/j&ro$2/l!+R=p;)!$S]%!&YU*tV&F?Q)R6C_nZa#f[2Wn6%8b
 101.553 + XA932E2,k=gC*3ma.n^/@-QldL2*\j,l;:Q^BjW8F+*jP)RnaR\UocJ!@ctbW\n+dqWhX(l
 101.554 + 6+-I'Une!#tN?+/:n?JN-;B[5>,pI@Y,-idEnhD@?QQ+1D+=gG3;@=^I73lnF,cm%MOl%&I
 101.555 + 9dOg_-*gf&nmNk#AL;B2,E"W.b>TYuaX30r-aJ.Jl]3>)*?GiE.'eg\nrY@VPppaA.BF%,d
 101.556 + +CXgg^6g.,Vko?o!']#%NhDN)hD0-ZFqe%^)]M2)=k0do$K$EeLbgp/[F1R66+L\DU@`\[1
 101.557 + [TPEo/N*oe1@]0=(O0o)UO$"Yb!(0WTaW1&iK(kg^;1+E#XXdg\&g,r0Nj1:&Pfo.`$W2)B
 101.558 + ;5dSg_W1''+MV^eur1UBe4o2.A$<Aei#27$RGo3jO#s!eA.1f=K,OpNtHH2nV(2m[i/F+$#
 101.559 + %`AfZ$[ZcP,lj#NAGrATh3O>8:o-,51fGT7e)1a7Ti@54dBFB>?&qDJoTIW)h\N8\"3e<\S
 101.560 + JGD>aL`J;(\F\>n1Pn7;ppM>'5-p?\!MM_6H5e[8\+B//%c.e]PQ1]Q5dUS.<"RSgiAqYj6
 101.561 + *0rAOhicYEA@',]egHi!FuWR2*c6o5qQ-FPQs/]Pe&[45]bsK1]eNd<C'=O6n;n=bQ10@DA
 101.562 + TZo2md67XT:c\&OSh26]U%k'Nl]GDar5i`q4C@1cIEo3Yk\I6.DF4+eTGk,>'+'(;QjUNuL
 101.563 + ^,WCh`U(85LeN1TJI5=S?b5P,=Wi0ut$bS@t$("9uno=[m4^J6WM:34<7@Ak2TWA'Q9)"WS
 101.564 + O$]dXgM,10^8!A9o979!t2+WsN[kp`GeKHl8j[nd6&YU*^odh'?"or(O;ft0#Ps&)(5uX%(
 101.565 + (1Ceq6,FTbm^DdW;rM^oMk`t(CJ<7*9f)@f<G>/B&C+5u-PGf$cG_OHZWB"/5]h9>'Lr%$A
 101.566 + @V;j=gNDgoq9V'QF1k4^6P_,26P5IM-8;[=Rid^oJ'RnJQjZU>BRJ8[D]J<_+/T(__p%;!7
 101.567 + =g[,6j1W9;-+BPf2&$aNq6>30_`.!S/=.f0!$o@'o6-eEo@3aYGaP5c]rQZ\:j>K2G9k30X
 101.568 + KQocIH1Pu&4V\WpB/og`$56"Ete;X8%-Fum1!p9f&e2q@oT2Hr,K?WWBg1_UT5ZYq[`n@Wi
 101.569 + "@oN\:!Dci3O$m$'\e]]s[3j1B<jYnn]XF9:'SeW3DU2@1B_.'o&[uK?>A>8]C2?UZ[]ML>
 101.570 + YdN&h^37\21!a0def/$s'hjfu/N[e8lXhquAoXYT2?u<e&NkWS*T=N92XhPL`Y___42JoX6
 101.571 + ,t`<'f_J%[o<;dQ70/k;B.UUZnqIr2Aun&Bkroh7eE.V2^_D-jZW=a\J@\Wp-Ws;>S"XJ)f
 101.572 + &qp(J;3h.^TuU5aED5;u^P^JTeKgc4t[ab>]H)F;I6C';7L4TfO,Y;AC_*EH?b+pDUCQ'gM
 101.573 + @+EqY2HQAKr(NEIc-H?8[C1^@g?heQ;*](a@p=.NpP$[NurHblD%Zhk\CcH#\.AlmSblUQB
 101.574 + Ti#=PYH]08"G@MQ"i3b3L*<D<@+bC0=h!Yf+aB/YqGQ?"=F*\Ym)IX*n!=qq(`GkPa[kl8a
 101.575 + QS3@mlF6NR2j^VReGDLTfX<X@3EJDPFu)(b$%OPVFphkEJasVnHl]XcLI'Y%Qu.SD.t>`ZJ
 101.576 + p6W$%'auVKo"8rM%&Qkp2ImU#BFsTLlS<`25uJV=_JLF5&B2*R'aT;Yg:t"<AG)DCit]1_d
 101.577 + ure_"c<5:sFRWA/_.('@,3iJNV$+jO6*GFuKO@=>`0`nPY]hL$N;9=#.4O><)@$[^?Q)=AH
 101.578 + 96qi2&(Lb!9Z!K\>p=q*aH)Rt?@2*$heLM43>NNGBhd+:1cUOW)5\("i,FVSJpcV[fC[b!r
 101.579 + 2<0]uG4[F6;P`%muq&_QK)RYp25.>;k<e6R;EBj36H1VK1PuEi]7r)6>Q)d]Hi;#mZ)+YH+
 101.580 + Cm_>l'U+nd7^[NHRp!:gMe.hbI()+n'3UAZ3KoET]q'Ep=fYIe<e6VoHUTbkJ$Y$>H,3"WK
 101.581 + 0E<q[.J9k2'kCF<k<RP[CP%_i;&s(f:I'PQh5!a=qV@7$FJLtQP4d2=r+PLbEk5uQZJ-G3L
 101.582 + -/G[A5<?Cc3KF<LgMl02Yn,!#+IA=P9:68#=!$[[K]GoTtZ_;l?'6[X'#\\@\J<7-YW_[DD
 101.583 + 2M6.G:D[?")k9R3b>CKkbbm=Y)nO`_O2FDEis2RV5-7*B:\(W/eT.AcmF]GW;a\Ns6]=0;>
 101.584 + RQaaAe\ocFX5F"&L_HL`R=^>NZ&Sg$%Zk^hq==K*[l]dhM3;X%)qTEX,L:,bTVj1bllVUoV
 101.585 + %p\uFHMV!SZ\*[q2d;b5Xa0r;4#"'H,A?s$[/&6M.nr2$CJm%=ZT?&k)aQmH'=N$,Chp5Xq
 101.586 + 7=.A=(g8k[+,,b)Eh6XGGu>'\(QU&4*ar?9<iW3BGI4UgRXdZM5Rki=K>pt>B<\(VRTi]SJ
 101.587 + l^KgR]<&UV']iZe!"%RtkKXMls0HWN0UEb^7)6/"s$j6Q7*m[.5-"j:6`k%ZBLY$Vc][#S*
 101.588 + *['LA`595-FQiYMX0(DnfX2@hmuafC>N_H\P,fJ.;cZ,;K6:0[k-4?^Qo09@<e_8/QmN7"a
 101.589 + @H+'bbVRK."eKL)+=bS^V@d@<s\Wk'TO1mDqT7N$3<;Xae!C/\b[aer^3(+EQBh8,BaNZrP
 101.590 + MeuIeSdFAFPP.SN>NiN-pr`NScZrAE3EF!V\Y+#mMR6)T>]-oM3B0)#+8=5L4EYsE=3c#+$
 101.591 + ,#T#\k0PM6&'/T@l2MQgOjOqq6@S\d(>L_Y2@PKs)S"3ZMO."=fZsP1pq`"dPp0m<#*`Dcd
 101.592 + ')/cp@]YMbVZo):DeXX?AGelTqrTfX?2;5eRcBb<^1I)%%<g[5s)#fLc,_Z6/a\fR&TU*1P
 101.593 + Atq78E/eJet/)jrY>rjY)BU\riW*GPnoDRA5BdJT?_SW?1pPL?"sF$6)HSY-:u)1nnfeQl>
 101.594 + (I9h<WrR!]Dc1C8H.mq@@O2sKMY5?PPq<ldWCX*UIZuc8746F#cX#IM1c/&<+h;-QG6e.lW
 101.595 + F$3rGSUH524j`h8OPRO<1P=)f_UI93[D#8@Or7TBOq8c<mhDaO_32<+)/Xq)JN+G4*c:&&K
 101.596 + ^UJ27N+AL)M%5Rc_'&9[2gpaSS#:=-_EE:hGaSApE-j&A@gK)`rH-AI&YlRB0O$(dZiEZeE
 101.597 + b$M&&TM>ZohFVPJQTY?,Q@JmBl1A>Y_`ag$KjF:>Xr*94L_%05hc:mFDq4hVuc6)saP'Ed5
 101.598 + 4=D-(d:Y?F":lWp90X&\,)1<"RQB`1Z61YJY;PsE#/^!lG_1O6';<V!SHo'IaH$Y0tQ:`S"
 101.599 + iog-jGeQZ%BijW8k[>e3/F\EfW=;uER;`QNPm,P&CeQ]C<;-o$be*lJq[J9`\Y5ac_T:,<"
 101.600 + Qg33(aDTo2H2EE(o9MP_`d`n1^SAEQ\%A2X]?>9;5HglRPGJ/RK"eST*T`_.-GS,Hs$@$qX
 101.601 + <U#4H.L^!\%#B[%0hIa#mGrIekhG2/f:LA6/^&pPU0lPMa>t"Qt.s$(P>3<&B@J)4XG\),n
 101.602 + Rq0Y"%Z>7?<WM$jm4ELFM:?H$gB3+bibU')D/PK*=tHj>:u.^*N3.d9lF/m"V,JTuQ3%#`M
 101.603 + Ll>,bLPZ>.'fa&&!F,uVi26=P>1^nMTJe:*0m]#geNS(.k$1mb^k'mnDA?H9rSD"g%k(7Qg
 101.604 + $aDo`]>^F_1-J!$t.0]PY=3aBV%NH5O9nm0;,o"M_<hWl^<Fa_JK`bU"SQN&j41+ikD34"_
 101.605 + <3=[=)_9!%nm"<Fk8-kFD'N6]%.<58b/3]%MD"`kb3sQP*Zl2ZalW,>r>qS4YM&<!-%S=bL
 101.606 + We_9GIEuJ5FWr#J]4,?WG;Aq0H96Y5c(]`.NO8+UrAjY!J(<hE$Qn:5pE*Q"[15mg8g2F!j
 101.607 + <1t$!T`h\uLE[\]%,1PnD""oKY6$d.C]G/;XG^QEeiCI*]^9"G63-VKjWuP(9Wo$Ckak`uu
 101.608 + _6<21^0Ou/:M8M[Z7Fe6WW?<8(7FK[Dl1;q?jJu56mC+(k8__OpWK\n%L1KmL/MhRh736]j
 101.609 + 9b'9O+N1WBuNA>O0W!U(b_^eD!P,$#jZqh[=0"Ns<[7>hOa%,b@JttoAZP&2+XF3AO7ZO3u
 101.610 + 9#^5H4[dfIm5[qmFeVJ/J7Z]<>h9;i7XUXOM<%-gVYtXC$0$6!T\.f6FN)pufl5p((36'NQ
 101.611 + =j3sB%qKgTk#%L!TdM?Cf4sg<XAl6[FI!j6Z`;:F\t_9UIF'b7'$RSON.rcL5K<][:FmEc8
 101.612 + G]MZM.PuK0-$EHEAL#L#0j(GN'J\,^2E!JNS_]3e$,Pk!FK,GpYk,A*<8@Ip@r&GCla:Ec4
 101.613 + Ui/n0@.UbS(UT$h-2'X0HQRmOT]X.:/j<(Hq2NTVil=Rp1HqO3jQCtiRnBiqZMfVi\83NOB
 101.614 + >DLI6f\q2*!C:Y].]eoq&GC?qt;QlM!>:pk`Uq+5-p#X^V@$TkFP-qWkGhRA:,C2Za\uON8
 101.615 + 7Yu,&*khVj/]2h3E`upFaC^sJ/]49P:0<*dPh,hhDKr>)+EC_`fsg/r%a`2dl6M%3T4cis?
 101.616 + PhPMH/5%Y-Um!=IOC'6GlC$&%5DIG,"TMRJUjjAAPlG:HLS:!#!pB:WU"mq":t"tISYZOa1
 101.617 + %B%cLiU?LW-lt5@5OAguFI0iI+5>rB)l#LHUDYJ/njPmi-pFAe'BZ9?%P'(eL8VV6mg"e+i
 101.618 + H.M;^TFfHs+]>RaK54Y@<P-O!GkB7hI84f([S!FV(@K5$i\%J?OrhCJ:J/7bB?UM<.'P5cd
 101.619 + 9:lCN+'J\Rg$\u[g+<iXQEaC"R-cMZ$R)1+JR*4_:bu'+Y-h9LDUCh3RJUJ4hAJ<-.^a.;9
 101.620 + gCWIM5oPjeL;\Zp_^OHLf&GCfZ-GE_&H!W)g:g^0hDn).@V"Mm5nsHoF%8e6*S,i$N[iU10
 101.621 + XDc9hha^XNG_=^.4TAq=[7Fibnirj!9dmk.?kH7:.bgDMolC&PQ1bY\AnIFfJIM//?+jhB5
 101.622 + oOogEpJ?W^`._?Ap(,@XY@9`h!DN<T?Y>Qn[@-)jm![*%]$ra.cVG"&b+hflSUj/c!V7'f[
 101.623 + :6nsBP@EZ$dq31Y,j+Hh,3]%>b!Rrn"fEtpu7e424U.6*oR/p,@KW9me7niP;IJkHEr4Qj!
 101.624 + ,C(n0m2.r+:&JY)5ZW///Z2[9!KbC)Co_,3aieE0nD[l::P>Z^(8nh0gI"[`2%\_DG`X$Gk
 101.625 + a<:^%VkSp;oe.=R6BF@;0SZP-*^8cKnC')Hp;ln^VNeNSTu9-N*%@SU6nup.RQX)Q'`OKiR
 101.626 + "iV8''RFX<?ZH^DpS_=<T8)9M?C`!&@T2Ll?iIkamCUC'^hQ$.<C)T?4/$sS78,kF@u&:5`
 101.627 + f1GR4J,.0m4&D_ZDrgi&h;q$+2:>EKD@04P-V]Y(mRt$PCJ5_D+nid((B=7BH7aNFP58em_
 101.628 + <d@cO9k[_X)qP'q2'n]j14RFod<_G9-)!1IF2g.Oehj4?ou*%!;kf*cq1X-AI&(K"Hh0u"g
 101.629 + ]L"]ah:-TA(Fus30KcJM0K97>N\5rNL]ba65=sG#$U<-,e9YMMZRK<I$PuB@OP5Ri6:;&==
 101.630 + iP3oLES9+L6:j#]B]PmB2&N&W@[d+Jj9Wq9-NeY`LqU<AlN>MF$UNdWOWuSm/["<K)C1M__
 101.631 + =u=?PNq0[=S!YGb_BBG`]l,[E>ZPofT9:*Z%seKBHl$s=\/1%ISLp0Z]0t>&Bg3!O&W6gL/
 101.632 + 0%)L&6YhZ/EdqO`Y.cLOt>j9Zah_NFf-!=GKVg`.I]cA5%WAo*02&B7B^#.*a9`IUp[$hG%
 101.633 + T5l(>9l#frmH/4uqkTem7#`&SJXAJ^K"b.^-g3=+U*da5Vr?>1gunnY&t5tIt%44K^c;egO
 101.634 + Mp)b'NeQ!<Vl4be(#FOKj7P:JZ;ueL@og(pjGfA2!Vk8$r_9N5BOdd]HTCc/tcrn+<AB[/)
 101.635 + PUR`jaTjWLP(so%AEINnU6O7sQ!KS"GYb<ciRh\E#0n2;ZM%gbDM6-CNRmGiQ=A**AGTd%#
 101.636 + 2hZ!$XoXIB]Rmp(Wl1[[M95nL.D/HPf-^`]%85VMUj.]W/c*J//]jJal]=$:nksGX.X>Z46
 101.637 + &CjQgc%L\"er6O^,;-XmqK.#CLr](NF-EmV:d;g>5sZ!.1*;e/F(Acs$)9@Vd<^a@_/\CFo
 101.638 + 3Pn+'fGW.)j^)_?ni.mZQ]<gJ3J>23<Yn5M.t60UfSVD\nhT_da5SPBTTc/MH:q&*8g70\T
 101.639 + hPJo,A7Pr,jop%8g<'dR5`9U?C5]lra6o`?td>4uU@[Y-=C=^Wlp<p>]JgoI^08j5l/F`JT
 101.640 + !TSSDbfRIuCXB3_`%aXQjOY<&q&^-tHXF#!-^2BV?Q\>ihb`!eZec735eXiQPPBJcXSR>iM
 101.641 + qT8l.N\mi@%OLc1[^nW1kqdj56LV.fA$1XK2m?l/Q+Ht[43*VkTLUp;,A_>5K"T0TN[Frp&
 101.642 + XFP2K.fAIP]Z*VmGn7;o^X<j?,6qO#(Re$b&A?mZj8j%F];1.rl<]$EMguP+oR\j*ZYF$9&
 101.643 + q45_@(m\B2Nk"HOJ[S"$UD+=="BNOWYR\B.]82ul%@f0MrmNt[BX]=^Ao6jU(K0R3+I.T\<
 101.644 + s\X^P;*71CdJ=WF=nN[KoOqL'KY]pE*]a(;&0,d1aHmXcA/%Mp"LpNhAK(+d?.$fHIL=l16
 101.645 + WaD\\aU*=lMEBr\+GC+(rBZ@o_e^(*H,M\qjM3:t^4ZCiqi6n#\[_i$5Np)&F5Mus]fXseR
 101.646 + 1$bI>U?hK4.C$BVDBD^o(\/!j?l<q`$;%m6f#CHVo.0K7'Mr\^j&!5fgIfm73Eqr1fQnk5"
 101.647 + /Cd6V-^`<&m"G8I?FV^_AuHPQ+!a=:[ej-H&JE9Mdu";+&gS7:]IfS0CCt@n$;k`fmhr"Ap
 101.648 + 8r@>J-E7[W/SA5"s^?SpPQ6_XH9K2nlhP/:IH7pL4"$BZfPnW:$<KS\U-R0&E_q8]`J.T"q
 101.649 + cS9DpaiPBSM^YDs^$+M<E>=G&VaAGl,"0TW0:.P-=\$7Hb!:mr/%`%)8PO&Lpljj@QO$JA[
 101.650 + ^o3/^^o0g]M%!=AMQE)GLn__+;&kgd6aJ12!.mN/,7If2]IQ7`b_&-UCW:Hu7]Y=c>a1BS/
 101.651 + <!G503N0Qn;g14U<8"g8s"WW_X3BmW_,7DN#8&#nkR=F_(GMa66*3:KRlcADFcm'6/.$RjK
 101.652 + 8c1Y<Aqo81[l_3.f!;=1X<"[\U9"N"el<`C*=&`*43!9>EksW'CY(,;`]L/7(uELGAAN8[.
 101.653 + a+9SCK+oZUgPbf$-qe)`YYVb<Pl7D+FMI*ma,&^6p=bd=%#N6d=6gI>/X87^/6WMiNb;oJ%
 101.654 + Vbp:@KK[!4"c:Se+^&6's9ZXQX<(,539lR)?m,?2OJkgiSc,,^c1\a/PX\R+-:>'YXn:El%
 101.655 + n>YGTa,<to,Oc6uLc+8c%eT3bjO6U=kJj=:9l0%5U+8BB_+f<s`giYlN8VJKg!=X/Kb/!Q&
 101.656 + M'rQMob]U:fItHjTe?l#El[7LkLo;N=,`g$+Ij4:i-Zg&>G\YL9;K?$n0#ROe;u3/f`+MbN
 101.657 + OPVPTC>B1Ig/5cg:DD/G`*ua$'%7a;kd&m&Z)lE0c+H8p]sC`?N1H?3n0//ut=:>ong3_6i
 101.658 + gm:\;%XN8i*WJ'DM;;Rs1>bpbi(d8,Gr1aOZt<8Gaeo>F7+-.6);@iW]T&Bmi!O]*T"bi)J
 101.659 + cafSd0NZ>J9,YClB5L*B5;lh*;r;*^'eVIKm;oKa*\JCG*_F`fb`e?m=gha1k'i]<*4sBkQ
 101.660 + D+H^Y)cWWi:6c`R]g=>fpr=[M<7IWlbs&Ne1JE=NeNFpO'gmp[4]IR^::'H8`@'47?rdQDc
 101.661 + Y.obW)!QfooJJ0cRia)4ElEspR_`[eg1>q/;-rm)q)Z7]/r-P=I-T>r)0(\;[gFj'k%R"ag
 101.662 + Z&4NuXB\V$7?6G)ne2O%jnVI<sD4U_T[I41rgs;Md\li(9\r#0EKnnhX(Wk,qZ$5rfG'j\<
 101.663 + HG51[,==#o?hpr+#$TSBQm3R&dNjWlB:K@4%f;JBB<c!aZ4<n1/W<m=k!>qsSULE\M^5+PZ
 101.664 + lWc_F/.oso^LkR]@Z.p3K2bZ%u535GR<?,/D;V?HW<m>MZORK^&O&Rua=#G"t$anF55ZZDi
 101.665 + 9p;V]Ccjh^SQTN$c]htp/W#X=U;<<+X`F]d.Vi6Fg!c4mgDuP_4dT5#[FDiKWBIW@A7sW?q
 101.666 + 9n'Lg@_p$rE^$lFBGBY>[><LTS$$:q1h4GL.JFOE:VegTNo?E4F?s(4NC\9XP%;h2W@BUg8
 101.667 + J50W`e/t#kGpLJeX7\H\_RPM0t0o+p\^%g64,COR:`Je<2cXc5!0K]:hZQdaM/DK@'hD4Of
 101.668 + a%r+'$%;2ik]e6HnJOHD.$TYYd";S4)K*S$`MMcf>HLpca)h=9.ro.K<m6SS4%1_U4]7FdA
 101.669 + q=^C5bmCQB#W=L$D,.NThNRV5+LYoeG>$_!ZV)5HFgY)Cc)&jN_$QU2%D?f$A#&n3_QtHY3
 101.670 + C(mR4$>?l-1+G##k)&c0i&.>fj+P\%92R4]?KLJY?4i2s'%Di>>HLra!4h&JT\^YuaA*]^"
 101.671 + s$VW=pbHVM;<Tu!:o+ir*DpVf*^Wop%qf2r/WH?$'#O&6O52af;e^2#rX!eh<3OPs0qtKiC
 101.672 + MGN]kg/E(4ZQ)i@QcGQ!G#O.>-b4eNg7r`Xn@m0*q1l@p"e%*>2j5BOfi+M@M8<28bKG`8:
 101.673 + J^A6c6AeF4#($jtJW&1m>^D9*6Gn\:?'-ImM"4p$N<m8r\Ni_CE2PJNCKV^T85hjmeY@.:t
 101.674 + R18(u\5\5/qoF2:.b7c$WO*4cl/m[;q>)Fogf0$7bX/emQ9I,mu%iuS<ORGR94HC\C=?r?]
 101.675 + -7rZ&dAQ"ej`25G/13I6,M<QGb)UJaSoTW40p[F_,]36+ohWTXk@0Ga6nGT;#&FQ/:sK7G>
 101.676 + -9&Z:$N29e`BN?^`Af7IPfpNctBD1B@XWJ5k<UlIUHId*Q1F(GZo]\.1dn)!B:aWlfSud*b
 101.677 + ?CJ#UJ<Yn<'hTOMoDK)G,l]P-rd.M[]s@>r0=0b2A4"A5s)cNGSP"Nfs]CPTt:m85>>N#aX
 101.678 + `^92/6736@$<(kc!'KB(uL/fp@8p6c=HdqW9UlBR\[@'c+`VWNS)idQ65Sr]$%OGJJ9>Ac=
 101.679 + `\7=CP<RnO+l6r!.<hO)MT4q<h*+$2^.+#5ZL57_cM7R9#BoD;Un`r1SCJ,^Y][./>^WCZ5
 101.680 + laET\XqXtrSqH1H$jOL_>Y+0o^hKB;&dC^aN^W$le87kFgsolb3<HVYm[gT5SuDBa2.ST4g
 101.681 + .1R*js=j0(083:S?UC7W&W/d5g'L74lo\#g;U(/:lc`M1TVVQMk9-E%<kY4h/9;"2_aoBd4
 101.682 + =YCp1>B3h>Yph7D4uQ]tMuP$GO:]K^''leaGKhhqmFM[MQFZa)2BQ#>!8,L9ZU<X?7gImW!
 101.683 + 7/n=@+GGM'g,?V?m@\i[*2YsNi>_O5:>*s-)@-uJaMmIl+i[2.o5(Lf:NnAc(%ena"E:YOt
 101.684 + BE7Sa8#eBHes7#Gh$8.-5AN#r>2qf+0BYKFe[Z0M86.5QG$Z%%n"]mJL=:.uinTM2Iei9Is
 101.685 + q$6o<1AosJR-ScY;fYp;.&AH$3>(i/=ZZ^E@cfM\NoNhu-_HGJo00]geJ(tS:htgIl\P:U&
 101.686 + Jt!bV&R4,F($-Eh\AlNF`R!aEsFF>O!]^=1<%hlnCG>_!o]E!JM).+'o+nf]N+SpT1.X'$G
 101.687 + Sn6"T3?'HO2VfT0F`b7acffe*t+PF]suG@"[OM"_>]<.H0Y*B_B,cnAjX!mG229%?sgm.o3
 101.688 + =NF*iehLF.,Q[jP0n$Y[B>q9a9_<br:I$sdu%GrFK'MkGY2TXEG@&<f&+#U)M9$$sB<1OBH
 101.689 + >E"]p*+]+?r.N!@hTQ]gWGElOF#_mL>P?];3fMf99^l-`k;\9"e-$[83a(Go5/.,E8_5j[,
 101.690 + (k9M5_Mp>0h)3Rio?_6Pf^.OLpnqih-'&I5T1WO*\h=7&e0p4)N5G'k#AC5P:35Z-I&!E*G
 101.691 + je#ha'Vu:T3q9TFo3?AUgJ>dBkPG><<[kl(6N*<>5A@[n%b4Wf)Y*uk&FLonZ=]C/dLq'N+
 101.692 + ge&'r]Rh3oQ3ejC<[/E7WE[9,*7].LM=kF>7fl&>aJrcjMh4BLbOr+GY:=&8W]cl/$k"GI!
 101.693 + XQ&:6ksHW(W(W5X,]^&pmAH1mC,caAW2WJNp"M@[d]B?@_l[gG@0BOA:UcajB0b5B!_Lc;L
 101.694 + -`(8Mc[W?VSO(Zo=[)mXpU[PD/I)o$0fXC_A?G+m'F)Qqm0>r2sU\dj-HnVc$#`AtdM2@9k
 101.695 + kEr2rC>+*Vc]"LIqo?[(O0Lh"K`4M+Ef],$+6nO2i<A\jrkMZcfB%fBRX9G(3cF5+nFguh<
 101.696 + ;EHfJ"5s"i2C186n+e%^G55uRo]jtrWNCU5Mg9*'7FW'A=uaQ=G.9<DDrkm5cD&!0&'AUSa
 101.697 + E<(7Ki'l1n"^bN+Q'+O\996q1Qb!1R_$Fi!I?aEgiRXB@>K)ApBc8;,NR'Jb#'p!#'(r)4I
 101.698 + .n9Ur;$daj+_d9EVJAea6A12UO,=^ZC!"PV78JQhH,qh<&OF1*Tg9&Q^G.s\hbYF#.[#5a%
 101.699 + g@*n7n4O4C_\j8%6HsR1*KZRPb9iVnR+-Xu]Ee.K0Am^b2kqTbt7]'s/SCfGoAaM9^2PhKC
 101.700 + 27#^*@BurMGBSuO!i2aE=Z3o678mtRFRsXFSkXj+l'^;5r-jE5G<FmZHenRL$jO63Gs$!MK
 101.701 + C30mI'd'1,sn<Mjna5DjS!MeeKR4"Rr>9FqjFGRkaB.<S&YLF`UVZJ]uQ5a2&`\%!14O5RF
 101.702 + MX,A8)s#^kmWZE1ZR0eGbqU"Aol-%`3>A`$Yq[k,Th\N^bT26/\'2$6#S"-n6._)S2s8Gb<
 101.703 + $uoRO*c8UOXkWU_fXlR$VQG+Qh^KP'!e0q;:@W3LG3(nECOW34/IS=5s!&aBZ?[V:,c-;2J
 101.704 + /_(I!&4RhOQW`4_Q/b=lqIo&Z&#st8K4V:(YZk<5'(8?ndQ%;@8:(tTG]eN40<8BQ0e("=^
 101.705 + :t/Jc8Q+'g4],2/<F&a.e^](II%D^F,`J*8Gi)V)<S_q,f@B^B>,@-cW_X;XOiUoI$(;btf
 101.706 + LXPdBA)u-4I@21;:TA)p=5pTgX_(0:V0[JS0lJEH[b%hDJdJ%:J2D[Y/TTEEBG*0/G;8%o`
 101.707 + Y>_?`C1-E8XA,\9FEoiFji"XSXAu$\f85@4'5T<*UC(`YXT;=E19^RYeI)N&0,8#EE<9L+'
 101.708 + @h3#tt$A]`5&=Y<dmF#G@h[UGLLapOO_TT`+(WjfAoBqWbOc.7!mpD]pjX\.okR-6#sNbE!
 101.709 + m\mZ%1g>96?_(W.b&#JbugTPC:=nAt:>614q-?1rqY&!p#[S;ru*jHGmR[qKIU)W-cY[$FR
 101.710 + !9gE;)I%<o'CF__kSu+=K("(;PJ8F6Su82N>(U;Ll$MQ]l6]UD(p>p+AICk&1eecP;:L:G8
 101.711 + lFEiC"i::^N&''?/KqapYGk#i:p:%AQi=2[;k1$?=0,_TU'ob>7,tV1[,7<.V=AM[cb/YqT
 101.712 + 0nVR@r^ZXmXr:=3KXVIWEVU.GC8+l))`J(7B4^1nJOUL_o<u3D&a:5I)L6Qh-_qNEqR(6UD
 101.713 + dt!-Bu*<+h%g6GZ.MV)-/BGcN/XB$Be+0#G1&QRFUO@+g>kE-T"3&o,S4*%ZX&V!4)0jBPs
 101.714 + f1F@q;))U>g$q_tO,Y6.QV50>Qfo(Yd8A643aEgdIWqJ%1fqO\/R[t2j#!8dBR(2^+D,)!m
 101.715 + L$Ip4`YR]nO'sq3m?j<7pr(b1&d3'ieIk?[["+6c?S$$P^_A]''o4C./1h&#_ka#.>l!'7/
 101.716 + r5r\dt$[Sd;OmmOfFSsnD>J>09:e+73.S3!E8VP3R>D:"P@Q9$-ZD5VQ&&n7ohhZgoXFG&O
 101.717 + nhS,.HBmG*^S5>YCK-0'20-QdYk@9BV2=e[i;Y1EL(#P%sUsM'![/8SSoOMY<?NcWR&_<B^
 101.718 + KFZ:4uII6]3EM&3QRk5<@RWL3<HPifMK**t5e!1kR4Cl?RY6=2H.507hL4^q8_.E;me&0n(
 101.719 + !*3to]PNGfXg%@A(AIY?_0mV.B,t-S=Ec,NT'-MB`4j0!!DSqG7*a.W]O?*t?EK'o+JWMt7
 101.720 + KPrDSkn5o^/pQU%nrC(RJOG*7=sDp'U*L<&:M2Rc,/Z$H"bLp)K%Q(G9h([fW2EU\XB]CgR
 101.721 + \!97KpFcA-E"02MIR]iNYIZV_r8M2j:7j/d`RO64A:Qil$1R<aV5(C5q)?_ZVY[J?AgA6+0
 101.722 + $McfFdj.a6^&Wl98@Q$#<9eAW<tG50-kG-"QA;c6(1?G`C[qAo-:l*ojJJ=^+=.m3ST.eag
 101.723 + l#Jr:uC26F:;^=ZX/ASgb1[9(qPe(]dtDUn?YQ'McnW-;F?CcekeMH8S=S!A$^A^.d;53Q8
 101.724 + kV0).$^pd?FlePdQG4+JJ]@VN$>l1g3Y8uT7`N_m7$\;_;0eT^@`oLHQja?NnotK&7r*Prd
 101.725 + IdcB#Y#I7:f7Iibf.Hs:fH16(S/$YFAT;^iB(Fm7c#9`g_&o!R=^MDHKWsSZ_q9GM@N7gmn
 101.726 + KmtI0HCso_f1Ro0`R_u9WjmJ98rD<29+;+*&W+>;X2Of]63uC==`%iXt>JT2D6._S<]9.Ak
 101.727 + gD#5:C(]pQ&nh>&o`%.:o$WQLa0D^Nf1Zj\3@)1'36J\IRV*l]#AWM;ESH3=][&)k=73ER*
 101.728 + 7`46Kl=T#T1J771<VMB);^o?N'9H4WQ++a>XN!;mo@j$[T%%A^>_mMb+jn..7p3AdV(dWua
 101.729 + W%^FT0#?b3Yg)j,UN:o(rR$0sA^JsKH.A'$uJ'^7"=R)FlUCR9`dMh:KCQ0j@oZirY>9>rl
 101.730 + *Cb8G.+$Wd#?:!5>`*ZYd+[4^>&.sYYVprNf6TAGmG5=DoX:,KqJ/iD4g2(J<i"7"X(UfO?
 101.731 + :+B%ld)!p'^-"8]sk0%b^9A?4066h;8eN/.+]7(*YlQeB+<hL5Co+q,K&_gA[hIBiCaT9R^
 101.732 + +XaaTlonL&f$b\Kp&Ii=I1WTi)=cY9eSbRUVipaiiiH/lG&M</QmT3JJs$k1nR]/HOK])#<
 101.733 + &-K_(i-:6[++^_fLFLQV3MP,,WQ.7HA&QLul<d[ikH45A/]os-C!3RQaISGTR7Ss@\!.Gj:
 101.734 + JCU!KN^XG5a.I%qmo6"A>b<*aKjsPY_G-7%^3T!!g^!!*k6c%OT3o'.o5EU3IKAO2SI.1HI
 101.735 + "aBqpk5=>=bYoj_M_5D<.Hm\2rcck<T2k1T@fkY,56(K6-cNDV)6gbiQA`Ps(mL-?(?4-=G
 101.736 + CM?j]V6h?*_W>TUV#H37re$hS&9V<1#"ft8GZ[MMtm;=jF4jhjW3fkrK"mm^/;lFT-KisT*
 101.737 + s@;+4p@[)s_t1jn=g,_Z!mUn+g>.qA0+m2,DNpY(HK0]^5+^m;E^<%cIC@&H7`BqiC14:Pq
 101.738 + 7FNr`h%s3G6Y&2ODb2Zo.'"4078&43eNBYA>#]qS[N$<.\S3!56\47DP:_D;6\^B0K>r(o"
 101.739 + '&-3!S\H$-O!3ds=Dr0m-is%0Bl)u5p0Quc$Ain@T#d6"/0*#$lT)C:b!0<l]:W3T,]((l4
 101.740 + l#;[[E0CUtQohOC$dZp%0#%a4cN$bjq@D6dJhILAM[Qbpn^,)NYTF9lo(^N_%aK\3&4I.-#
 101.741 + 8!"*&CD"#&JGaR(+rESis[R#9[Y6goH%H'*^RR]"B8R`e?b8uZV`ikYsT3;7hb2F*eDNT`)
 101.742 + PP)8JG#p'sV*\Ma"Km^9Z_p'p3DLd;]ok-m!4D*oZQ(;1fZ>LD1p.+!L4;60'(aKbb8W'p1
 101.743 + -_,Z>@rR2V3E'_,'i0io7?[i)H_(.5nRZ)\hKR2;!6(_O:u;0<`'ORNjI*APqYOeEFWYoWA
 101.744 + T)UVCs9fF,u`>e>\ZOu.;dK6b;b1EnJ+*%Ar&_@mTQQZt\(%LB(;<]7OlPf<a*0LgT90BQn
 101.745 + )'b;+,LSe%&jmpB7jO$W]e%D2Yorc1,p]<R(6W#NZ=>4ZB-rdW-IQf[&p#EuG:/Q"/b2Zrl
 101.746 + N5<DHoqG3.)8>%&5O^;QRS)e.FOh<&u-pSV^dk1.`r\Y%r3IhPq(e7%l1jH+b_IF].B,g/C
 101.747 + Mir'%8F1f.E0?/^Y:FdY.hME@p/W:nTm'!ce^Tp6Pf(0@KkRm6oWJlS+M10[gOe',**!(GV
 101.748 + *m0p:O]dcVp?%$MlS!Ac?/@H*<ad3[ac1"/?D'14TT7l6E&1t,5X%$`RV/Ai,8$hI[V"6.n
 101.749 + 1^(W;<2UcL7o2@SHG;k_42q*79'8&8CL3Rc@.!#k>PEGrfQ7W)t3R`gG';ITeV`L$B3n(8o
 101.750 + '=)nd/<t:;0Yp7A"-<MH`Z4TmJD_Y8'@T)fF$5_p4k&:P'B;8Tk<>*q50bR[bC$OX>;3jP5
 101.751 + JsdJ8!rBP#=+/G)&)I)'GEc3(I=9)6.?uC$X5]U;)OI\0VQZW"2k1LZ3Bk^68Unp'LP8f7m
 101.752 + rS77+=uBdu?+]$5$6@C2)IJ@*M/?B1??&Ho+\j'QZcDG=RmE8(<#J:+RJdLIdWB/`9c'#,V
 101.753 + keQ?cDl*g8T2'S/kUVb32S9%:%;'XK%,r3/#78<W$UP.<.fT1k"I!qadB-\>3Hh+a-g9sfa
 101.754 + M<9$_Qk>%9-:=S`.$meGD]H9cK5Ea\k@,c[O!$PccGUikM'b`9#o21bl;:Qad'dHUV-CH\j
 101.755 + .rsl*lN9i=02Q&[;oaKt6E)cK.9)R*<7OcE'iS+4<^ft7iq/3^'amiIEWHni*VF;od>f;)D
 101.756 + c`-D<L&&9'n]UgLKKh"8+Z;:7om-A`@R[e=k.+4ZY`gpVco@d>1Kf\'sh*:OK\>B&iH(,dk
 101.757 + `c;'3YHZ#Be=9dka-ef0+\+>?0Qe(#rV#k?aG>-<4<9FT3nhlk=Na.=_M.!P)T.G=g9j@+5
 101.758 + Wlee;Im(L`UK@FcLB'eNcja9U9G.=`RO!1.1\qdY0jA&0U)!=r^+pLJf.ACHhF@[U_VqdL=
 101.759 + FA_(4#(1UrWB+Ro\8@2GLTtb5@!!".*B?"CX!XCN]Qq&>'*nH>bp6#W'Q39+8>QtFHiU'+#
 101.760 + Vaf6OC=]S((:.dW[qh29:j%pCPkZ>#@4K,T'hoIqJmCjsVacuH-)DG,DM[\XCK)LG<-Gll(
 101.761 + @uHFpMZApDo98#e;%k*K2$ID:"8-?pChOJ(NGc\ERnQ-<%TgjVfJ(45a7dhoat%W!n:9nF4
 101.762 + WWu(IN:G7oD8j-$'i.e^lr_14])`.(8SdQXb2?B6KVWG171Iet5rbF]XcF=4_A8(P?s6LNo
 101.763 + /D0Xl+%'+6prcZc^4='(B-(Sc:XVg=]18%4U9Es`b.[qLR.>ut#h(#+&da*a5sI+Q\m%N`K
 101.764 + M;dseU<oMqWErSi]fjM9?jVAGV2tMN#pOAP,J'8KT2q`4M'!O;(:"ON;p_/3\(P.qmJ^7nX
 101.765 + 0cthM$%$*9H`,P32VCQo97ck"K@iDA(disHR=[93Jo^,qGZ05oASoK@Fi&9E(e9<_B82dhL
 101.766 + =gBB=0YqQ$\6(LE>W\O(k[WHLPV=QLK>jD\*OBe0R]9FIPhpt\>+p`Vi$kBI+XK72cG)(,B
 101.767 + ]AY4VXSGfWC*7a,HD/N7Sl('o@.$RM.W0N;2:j(upWYk?D';0_^onJMRqDH]FKjO4aJo)$>
 101.768 + Flm4d0B/K!8f2ns_V`K44AOkCh>)'_QE9/8@XHSYtVpZ!pSI\W7o3B36/Qgp5A8!KE7PhAh
 101.769 + n=Xc\H:GGrZLS<L"\P\YqB9ns$QIUV9@J=C0/MVMZ?:;\`(6=/Wc"ae-R+[Og)3^IdBhria
 101.770 + E,u>>+h*hIgR=I5MrM@'3L?4<\!retS'P5V2TKGFMhdZ/L\\]U):P-Zf:@kKOHU&mJZ"_=7
 101.771 + X:AlF*OCL\auFrpRdlM^:!K8fia4YnV^d!*-r-a_;U=jrLoZ!U"UT_$Y*D+o3:sQ=;]Y8\I
 101.772 + kPs2kug'UY7niqBqp^)1_n$#F\C:J3B_t<Y$*QK&oZ?\md6..THmT/%.i#,t!_.H!FgG$X/
 101.773 + !ZFu0MO;l+&*V4d@Tj\'94Yt?<:VS]=1"]qNc4=Q_QW&?N3J36hXEKL!H<8*[<>+/F%Sgg+
 101.774 + hW`iE&[Pb)]L+&]:XkL6p>.R0,:TOVcVBJQ3(g\RNbZ.iEXWWp0H@?5gRB=7HXoT'978]Dg
 101.775 + WNQ*hRc:<MKi/)d-7PBY#Fbgnq['Cd<"dqH/K'FFgD@$H@T?ma%6I<bHR8p./#<%sY\u^(g
 101.776 + H#u%5D+YcZpK\Z>=pEX:(99`Z@\"B79?sZ?8W[5VK]IK'Po??E`H=<[09R9_O7n[<OdB`;n
 101.777 + DG-iJ4rf9=]C1<I5+Og4?%:BiWe[J7UOJ,)`II=f'6fBY%WL6G'+K:TT/+W[1$@j+4F<f;g
 101.778 + +QO]PL!49@,2O/XEsY.%c>77k4fFhZs9YJQ3t`Drj@qGg_0QhomGnmA);kX6WBZ6`AaicW*
 101.779 + a;o3k8ZXm(P_Ps;!42BiuZ)(7"6?0p):W+Gu`+;fM>;`Y?/$:ufYueFc]O"Rm@K7B[<81E\
 101.780 + Rk@]GF2ZjW<BH-i]0K?-ng?PQ<?%L<V,bV=MmD)C\:[T"!ia=28]lX)\V3u*)h#,@J[0WV[
 101.781 + /@Wm]YZ+ek#C*"/%j3NqffU4;nXAt\n+gOY@:J#Z+aG(<;c)4SFBMT^aQhh]Qe([jAXC!F1
 101.782 + lmZ]rHlO"]<WuWQpsQ_n'bs77ECt'4i-"$X<G?>)Fl_l[IOI^jRgaNY<_o25ut\WSKe=*CI
 101.783 + $AdD?gP_HO4p3jm"t&]`ViesaM-h)lZ>4f,a9Wh"L@*Ik2CFg/IgYs"$]K$h`[8][E\<4lr
 101.784 + n*,\aRRG+0+<?+mcS5rRYaoEHj<.2C3]X>6.Fj%FaZTO[VI,l]g``.B>h8N%34lsq:l*\4l
 101.785 + [J^5-IInmmpf(PPd8)kSRsE7_V9QWOc24S@SeNP83`MX].@qX>*;.K;q5#(`"h`V"4Q%i_2
 101.786 + pQg\cF^X4qn,p7(aiT0dJ-5"[(_g8:-94o&Q[T>`CLa#LR<<i<5Fd_)2FY,;4<'jQu@HK"[
 101.787 + eR)gc#l>%('U[T!D@5=qZ:8hBc+a@9r**O1ShsR!olO5+Cg*J%^C&D4\<(D-Q>An5Xq2RX(
 101.788 + s\i_/Y8C/j'?Kmpr,^>@DSj6O.N<t;lC*pnZ1S*[\@klHrI(c1X[L[[4"mKHVV+ZXD3&+6W
 101.789 + Nmc59cq4mK:On(MdnmPd'@N5q;g#p=Uo05/C,u@`1JXC:4*/.8^=BG%S=."F8<1d1`P[!h;
 101.790 + Z^><*p4$i+IrU0E=8%,hKn"JLIt;?a<)n85pn_!cpfH]k:\NIsq5%*c]1>q.I;PUT<F;k^A
 101.791 + QSF$Q%^M]qnJM$79B!Pg%.CGL/b[J[`(oY9.bSFh*M,AJO&.T=>V'2$&(_)OOsB`+D-Huib
 101.792 + c343\_M37cTW`oR9(LO\"Pr=Yu^I.@!NeP1ark@540Dk*&rThJkQH:?Rhoo_sD-Thss;=u@
 101.793 + @`8Yo>LPhL7DTi%dglBPP\?EmY8<pQ%)omX_cYup8ZlSJ7]r3\_jQJ5@/d/C:8XI!/!/hGb
 101.794 + 7?JW*F]Ii)n!+>;`7NNWNM8`roR+ujL+d'lWnsNak?SRtnB(MGGp4#B%d:i0@>rJ<PWRYbE
 101.795 + 2`m#4pT`CUmPd:@hf2<"]=49cm`T[fiGeR^?8isgalRR=SDJHSU!`+HqOLs%?a8;OA@:!XI
 101.796 + B.!qg=a)e=Q<3(7.km)DP))FA@qYbrbhbFS+6=QIfH%toD\eU0GF`n5d3'U"@4_@(C!1*Mn
 101.797 + 6EjY5?0DY"p;_lBq(f,7[)Fl,O>j9F9Xo`2ktS$q2mM<u+60FC,kS0pH;h7^9==*(Ma5G3)
 101.798 + %%S:7t"%CCC)-KiU59Z]%hP]OsP/>"=_16e[d9!Yh-/5%bJ[k:=ZoY0\4cN@_1[ZV=X0JcU
 101.799 + @cR$i6SDQ0K1R.&`::%=r4ARc_pHDBZo`%0B;\Ag\9X(<D\kjqO:D0n0%3EV41mC-q6Uj3R
 101.800 + 9N*du2bm;Yofl8P2&/VZ<4+JDf?A:]bsYOrbNsGeQ'(N=1.S0Yp/`n5VcQs-om^@O2AM!V=
 101.801 + Kl6"A.#bFQXuDiFcC'<2NtYW2A@`G+kgZuAD^UlNO<_12\jAR>dlT:F?5O))T!"$FjkSA2j
 101.802 + /#Wd$D?UCu/mF)0PuoH,@ZI#I=&\0/qGmKOHi@(PZA.F<,M][rCkmijcDX6-uOcYr#qS>4[
 101.803 + =iC['Qp9m>e%'B@bH=-dEt[SE@+a%9'q$+[AKRgGnAG>[K2mX763)0DQD*]0ZT5j:<NQ_ma
 101.804 + 7c0le*\nd\CgTC'uWTuUr/k0Wfp.n/;)]!Tk)B1TCL$2*ns.&Ea).g<j\*H2b1e$j#_J\K$
 101.805 + -+`I_pA_pI/M<Yqh\bebL=^RkfpOTqU$l,JQ%osoEjh:ib[$\LdDj<hQJbneCju5ImAq@MZ
 101.806 + PjSa8BZ.FVWPtmgp^qMG.k2\_E9l=o@oq&[Z:s;/<0[njZW'njAS1eQU^-m*1tn8Sr-<:;8
 101.807 + #\Zl1R8m9>,7*^A70l58VB2I&V=26[*oBbg"DqSD,@7IqRs@97Dm#ct)sG:[!0W>M1:(O[c
 101.808 + Ec!9i>2GCZmJ"[KR7m?ajl@u;P!Lo;^-TX5Mej2qf`ACgYk;so4@L(QB.&jP2F@;Ja4G!K_
 101.809 + A9Ubf(J<1bp6<EO_Tc?"H&ETc*26>bD<"^Md9p<6_b.ea%s"[,qEP)E6V4lC7M?kCE&1FF_
 101.810 + RknSs`Y:U*\+^L@F@.`8mENLud2,c5,BY_LS"a#n+!WQA,H=p*Z?EnE+s@D@NaRo;Q?O*<,
 101.811 + ]/P%L"+!2$I2j#`.l3r4NNZuLuT.XN04='2cfSgd48`SEUZ[mis-\EUg>:.at:Y'],ch:,T
 101.812 + AM8Z:S`;(>I4RBFFes"P.P:Uc`9:0n=L>nBiLlr4&%'DHTK^ec6sO4-Tjp3MKS97i@JLNMI
 101.813 + %S1J(\W)Y?d_mjsMlOg?OuKPZq"IQ4%#QFeBBE/sMo(6dF^2l5m!&!FSb9efF$9H0Ia6ukm
 101.814 + YH0bMV_$cH)Du`Jg:GQC=#GDhWY=$9.mZ/>Q-1M:jcBZ>L*/X9,k"1t#Zdu;C<?J"AAh(Z#
 101.815 + #pRSEruk(-JNUt<8#\'e0Q`t@\sc[jh*Ygl1r=BtMI0%+OUdnglCF*,KOG/)-`E[>QHbiL:
 101.816 + flu7-1pnp;t:Gn-7pRAm](Q")P%paaU)MHk+,KR>tV-0MlC^TIb#uW=U6lU0X[^9f#%ciR?
 101.817 + ]XG%Z6deOt_^WlccEj,-+@/F^Sub6RJ)p;:nod>DOkMW)_!;5V`LMd4LA$PtFKq8jd6-oq*
 101.818 + V94fD3JAg]/f*'HpLH7id=eW&SGZkg[7.O[p^;(Grt':#)sW[L*oj^#=u+d9IK0[-$:!hMe
 101.819 + <h(rhl.EF*UZ"=d0OE^n9g@X/CaGoV^=.OE64d73n/100"i'FMrHr7@JAR-1Tf5ARRPr7Kf
 101.820 + `EB_BCi)-SQ^pV$R_Z[AonFT1@$b1Maa'^W^h]_ml@98G.W3@Z]5eXU>ML8^-kg-ZU^bhrb
 101.821 + ;g:VFr3C'(C6tp-qUQ\@^r>Ij48/MIkDKYB6[s<@Pg`78,QmBe+F=2ZO$QrHY-nMqFScF"G
 101.822 + lQ]0uP=N%F+_HcNluJ_4tWMj%55`me-O`"N)HnbWn4/ps?pH3rI-ilk=3SqF%j)Pi(W8J-Z
 101.823 + nl+P7:<gYC1uYYDIM)<X-q#LLKG2%Y$F)+Mt_)T^S<&n'D]7;0,ZOU(dYD@E,\&8;EqEL"\
 101.824 + [L(;Eo=eA+Q\HUE_gImXN]4MWqOs.A7<+V!(9:G4T$+c(Ll<EaChqF(26oRm&P$&N5(:#(T
 101.825 + $QD*cJ4qg1Z,noe9RmRG@!,T[eP4(em(D7DYiu;=>1A8X6O0bc<h)>$lW./:ZpM4Z!8GF.>
 101.826 + G>C/6=`M4bYLZq?LflDC@9Uq]3]2fmA*3pLpA1d<06Qj1e.2Q^Y'kc@;59CYrG;af_ZA9CJ
 101.827 + )"034B^M)>4?M<^EG4)3Wh@2</\:8]aY+8Sf@0JT;bg\Oa^4[e\fsB]9]:bV!YlRkpBBmU;
 101.828 + Z>@40ZHr[lEt>"6'JPNS?tR.KkPctC!?,J4D_o0Nh%N%XAF/`@?2Jd5D%kr.c'm"Y,dgX?H
 101.829 + ^:8!"DKQ^"jbdRON+H/_*f:l=]H*c@GGe[PrY2j"QTa'[CA"'_oXaW2D7$0X=#'T!Yg*Vf+
 101.830 + kbPi0?D9s?Z0O4kGuLjW?G4-816:q;</p]<)9KQNVhY+b5Pfu)eST9nCEBh8HSVYE'Q25>r
 101.831 + S55P7dCe7c]fONkQ#tTi'uW0G4:U/OgGSDdOtRBQTl18;r-.orVr_[X7qG`mtL9nfcbL*o9
 101.832 + T5+&bl3Yd-^k#KmeEo6)bocQ&Od_7A&X,Ihuf0T;Tbl5O\3#q<5DON^)j72/l#A)INhlp,E
 101.833 + HI3-^0AlfGjEg-Cl/S,#@Dl]%MZDa;b#![I)jZ,`fQq&Gn35pR)#,-rgDbeW_"VsE(VF8%q
 101.834 + Y(bh$uLbom`ETjej\1H(B/=Z8;e/L]bVRB\J5[3mf3YJA)n0C[-M'O31$m,a;*/0UtUX4ZK
 101.835 + dtU1O(pNWW#m:77.rgLrNuj3/5'"_&lc]Va]<Pi$V\"t2A1Oi3R6m,f6$r4@#an&1PJU!GZ
 101.836 + uRY5F=4(F'1<O#Rm@;rW?85cncl0aU0n8$;ij-CI^pFb7&3G3J^ubAgd;300uM:'e![:*:)
 101.837 + e8hLb!PW6_Zo#<(.B3];.)Jr%UHq=$,1a5_N.-e#3O7;^tI8^"A[dHnG^&=[1[n`Z+*Y]=n
 101.838 + [d9=#1^5J-39q3aPP2ET'06<mTJls2(l,/u/378-n)g`FHt?9T=-`O&CYZua8RLI<ib&d1V
 101.839 + C8=cAn%h_J07soX'ZuSY2J#DXG6'Qc6b[<pTI`CT:Wp-%<ZXLJ!?cVeW8/tVt$g>Y7@Rt<S
 101.840 + 8:5tY#b4>VN6!H;83AFoP`*K`Ku8".aNT1PjB9SL\3IV[73emflF]6+HH*%BM#<6aClZDkL
 101.841 + ;W@n7\lJDFC)rqS]UMbaK0a21o$bsZc?M\4]p/79W,gFW61@(b+u&[[&_?fXNK%pb2fXSKW
 101.842 + fo*Yfd`c9)&Zam'Fl'[*)FVb@J')FLTGH\BC,IbG;_m[(FN"]Z\g<bN-C\oY8TQ^s!M.)G!
 101.843 + ,[)>h@1\])@=3*_u1Cge>ERg:jjM/+S4N1\-1@nJ/.bbJLdjH@T[TKen]6<"iE0V(o$Q-?S
 101.844 + B8X$j*g9SgoU!7D96Nd2,eCbrI1HEpAc.#GnF"08ibQpnoM,`$?b9=W"cj4II#rLd9lW?X+
 101.845 + M25-\b!bO?Z&64m+,r6$:?6H@o^C*/nBVg=cQr)-2"T$]oZpM0cXcaqFSF+7ps53#c_UE`[
 101.846 + /7C"M9J)I);>&,CB[N"E^(e[`;@tIBRrDh!Jrpe^dQFA'K]"@N)3'2WU"jo1nIOVRQdPPLh
 101.847 + $ZNeCk4?$&N3t,D=ak*=B#mcV;@e:k].1bl^['%+,')U<K")lll_ab;sl):(W(U6R`=9&lF
 101.848 + nX:/H[Bplj(\&r=L;1L/U1'^O2$.%!:dMeKPYP]mQ^mK)DH;WTOZoe4bt0[gakdj6cu2)E]
 101.849 + M1t,G^dq&0ud;_K?(,c<O4p5ap!/s)THrHg,0f7P)&h;Ad",TBd]G/`:bY,a2*@b!kLikhi
 101.850 + /J$-gQrFL7e+A4@;jBop(!W!bLuh,@]gu)86S"Ws[q*Fg']Y$;j.oCB`a(dXe9o[mL"0R**
 101.851 + ha$+]g`9E:JQmGLi#`3Q!`)CF:`uU;Q.#EdG><I/K$Q\<b5moF_B9ZB\&G_etm-4[;4@4Ct
 101.852 + @-RJu*@:I;d^@E)u0P<o%fJ207A<FOsN8f4B-WFa)GkGh84+f;3fF[<pNEI+QnsfB%J5omb
 101.853 + TtJCj!(fHHI-H#TH/(cIiT&M6>F<!^augFlie3kR9U6p-9J78So![Ts7Hd]V5AOLsl\;B9(
 101.854 + B[>iI8@b?cr]1&"0]buZDOBAmoZ=(OH_;A8!7jo&N8NiG5,o9)M);'ni;/J\G72`^(I_=<b
 101.855 + /i<UG[?jaHKN[(3#jmQVD2h^%(0RTPa5E39SHT<%qH>+L2[\tW*F7>cAQY_NTB0J8FgmZn_
 101.856 + @(I_N@e]R-l1RR*/9`lR6@^2]0eD:7,*F3N+8BEBm8$Z:VXT>_c.>^/WU/\J#*lZ7h[M20p
 101.857 + t3:_H_f<O)fe,Mg#k`abWXN1qB#=]+R[(JmBTH["H[14iXZtpJFJ6glc\PA^S*:Fr^ZXZ`T
 101.858 + il%,"A'2V`o#]a_>PaID"<V;0gjh$r+DUCgeV;r&kr>rrt\9uB=X;ma(ISOtfK"GKg7T#OT
 101.859 + $?C@4q8TnEFOP^M6hci(K>`gOFY9a6r28u!;/Ip;gL7+n*N",3LgIp@,01/J!:^O?\ZZDPZ
 101.860 + oSG`t2b!\TII8%3ml5aRU>=e6!u>&$oiWu(?;$nt:"k=abM4EVi?:8-bq';E]*p:(!GNO/-
 101.861 + 5X$K1H>3hhoN[QSeC"tY[D$pQNR<C&14Zf`EQNA[_+j]E/*?d)n*C?3D#dN4#L-.k$\rPWo
 101.862 + `uSeP&HN;i-_=g;5u1bO!a2Q=<N(@Tupn^*co*S(`#='RID5ANJNCUJWoYeBAlk4fID3[+1
 101.863 + G3QXrhr*']ns.GcsC>l\j(ETQ52J)Xn#RjKNC?2%eL0SmiZ0k->W:+i,M0?!QU2qW@+ZCb-
 101.864 + 7*9@r5P+6ZVOW[EGdpZ(i@:?sbEn<I7;ItrjiSDFS7%QMA56qmPjJktLfrl@Fn!E9gV;c/4
 101.865 + g/C[aOCdOo-\c"J]C"CB1*sU[0q*PHAPn/EJKo&<1/]X"->"Q;5%\b?_-9EoH2XZSHsgo8e
 101.866 + Vtp3o*XV2<Z;YLft<5Qd%9B&PG<#8k(Vu1P%7C(9'3f,OOP;=c@/#r35pVI=tX82V6.MPA6
 101.867 + CO3j1pU85f.'^S-D(rVS,LFIJ17TK&\S/BK<6X%YX&oY+4?_Lc0f3IR5RtZS2/aM6T]e0q2
 101.868 + iG!CfC]k^Jl1p3E('HIW4W#k!),mX==XBB_lgl=QoUL/UK+1UI<:cL&6uaW*RmDa<H*M]<9
 101.869 + o$k_cJY_mU-R%m)_DQsaJZ\jDhlTnSW`j^Uj\EfHk"pV[)DS+34V%AZcPXT*l%TSH/<ft<h
 101.870 + L9*k_IMrFtif$@>Cg`t&,=Up!`fL\OMKSdMDTNV&Oc1n6CrXcO(;1=VLME(@lE1le\\H1DG
 101.871 + t4aXD.BeYXi'HT4m]&sO3ZF99.F0>g(WVnD2-k`nSho#dH+EWj^uu(Z'!(g9];T#mU5;GI^
 101.872 + ;m`k)]5j$5M#t.)KTYknCM^$m*]3f'eke.TS)/>HZt%%c\/']nVZ5mntEn"@h*Lmq6n(m\]
 101.873 + IehWO9lkjPbRDlB7t`K9QA4H##5n0\;,0'2R5"I/kq$YJsEV(Lu@(6QH-5mUbi!6D+me0su
 101.874 + )Dj]KPPhubgc/_G;.djHBA[:J/87IllRd?P$?MlV1rpWbGnW9=+qD+oHC2ojdn`LsM0&W1a
 101.875 + o'hC_E02)tHe4$l[uRp9N8reh9U:Lh?.shJSGB[8JA9T8!!phTADA-pdZ<pR+*/5Qo-Z<b0
 101.876 + duSs^C:C_!!^7O^@cDU]o85l)%FDb4l_QS.b%N5>ug*I*h`rP-42B6#o)Q4"@-K1ORiu=oO
 101.877 + gYcG=V:V!V8nUM.pT+/SGnbHAZo)F)`.-G]I5R:W/"+`0SBh-ADuIj97\Nh/J@RmKF!%5me
 101.878 + jqBZi'q[Yh@Broo`2ch(qQmmZl0@.kCFp*X=0-V<TjQ7.l=F9%s*k4BSK=.6R"^Fp(W$7b:
 101.879 + >`JA^*<*r[urr!23Ka?cbl5r+o6fE,ZK_>X\G@u*nGB`e3a*'_9p0H0[8>Ps/,*B=8^uh_g
 101.880 + EE[=aY]IOG#g.H@mWBp0%LD?CRG*+bDCAW4IktJ%BU,@W"q;8aEoQO"j5(@,Zc2^6FBqL.U
 101.881 + CNmOLdl<C32nYrk426O@Y/IBKjK:9Vs:9cY_HuG/,7/+@\FEY!V:MBGkr5MqBr$60VnH1R7
 101.882 + o/$RP.D(2`CA\)=/V<lmGZs;&"!4Mm1U83CaW7Y"tS-46><,k5rFP]s(jU3]mVuOY<n77dI
 101.883 + [?i[eRq>,5fdmTus?D0aj&#i8"TKj%ipb4tsp2_7YQ^kDVEDgP6RHs`HhLS4K.aS_CHr27\
 101.884 + o3mf,E'NS#-o]``"8e5cGJ\<#!6(9[74(\2>\;Ue?h^/Z!1GJ_.l<l3iLaqe5o.&`)Onk)t
 101.885 + g)Lh&e;G^?mBVH!;?t_WK.8MBHb\aR?uF0afP!#Lqe(,T=QPE0P<++U8E<B@"D/n4?HmM[@
 101.886 + 'O:4TeGn>5=Kp,!,hPSIqSKTGPD,PL)7>CmM@#\DpFKBj@>O>%[B$:!.[+<:\Z1N%0n5s5S
 101.887 + 1G8_Arl6+!OP&@id35N'Yoi\BGj2n6&:lZ.83,.1;6=Ui8mf;HF^"b@I[,C^JQ2BMN/;Bft
 101.888 + LN09=7enHk_oKc-2o-1b`n2MWiZJ1:%GAQBZT-I&Q0=HW/Y5)<0IQ)`VKWf4.,B+q7-Su6&
 101.889 + '^Z0%-D9h0c]O#MX]B/bbJ&#H2=?HtH%:VG/E1":M2][t#A9(g8VH5@9b[tp!]]OE$T?q7n
 101.890 + >!44!9rHKUF]uIj[p?2iCj'#GVUo[oghq=?^#o';J:DNFS2]=ANPg30H!D0Zs!Bkl91?NXG
 101.891 + ?5!slr^k/0"$tbh['")?7'l_*H7pqR.Acl[c9f?qP"\TbdQ?(RnIP&s$^hNX.^pkY_FRi_q
 101.892 + J&)!br(;,YW"EPJ:j!U5uNSlJf]$.nY9'5**"LYc9B,pn'pl@QOOeX&>Pt+R&ZM'IbO7],A
 101.893 + VNW]LVD$rh'aa-#_:+35''Kd"O#/<(mr&knQ:ac^J2-d!'\V('QMXJk5&Y!\0.\8oKT.j48
 101.894 + 1Gj.8Q"*St7"l.Wcc#Z26,::8QjZ1Uuo^)1L.\'n$6P-j>[_q=W2[qW!@PL57PQX[35j2V'
 101.895 + 8#*:,(B^^oRMQ77oKiho^IXS>4KfH6:;>0!'$.jd8>IYc,O&sI\?&\iA;3;>2/QQin\V$=N
 101.896 + toW^?e?,'KjiW"/WF8n(/:'*fp6KGBA+,\V&m11`3h1hDFD.qf+Sk>(><U=OEXrr/^!-Z1d
 101.897 + +*teLFJk6W)l1>?.t$$:?u-FW+=U,7o/M!lM!#:Oo1#U'jgEb:W'`?PguCI\9bW(9AiujnP
 101.898 + 2!3-I0,`!T-RKHZ__#l#U.U<APTbI,fa[aifi?=fObAXV\KY&0Zk):!AqkF(adTBI1'KZRE
 101.899 + #<Ne"/:0kD7gW;OTE+j&4[d?-h1#&afg<R+.*1H6aO%"7ro2=pKJn($GFABWF`0!_OK2jTX
 101.900 + &QbXo;Hl>]HTohZWG!&&W8`Xc@Buq\h[N(R#X0lSjkN,JK(%p#n\Xc$;PLLo2*Re[Z$^:^Q
 101.901 + uef/7FCau029pg*D]\copp#,fCfJ.M_)B(`fbeoqI?:u9YH<bY+1s<L#>MWngNnkl"]+mE-
 101.902 + kh+jtM\[>_KdlVE<mHIY(shmd)\P]l&W*,7u&i1ZXMk8NO-AU%"D=Vl"^%.84Sb_XGIJJ&;
 101.903 + $&TpYrt]NZ?/GL-bW]OD`A+=%8E:bDr;fGt(PKFrf4:'s9h/8lPu7n\U`V&\*/R,-e!K'>9
 101.904 + H/ndqi$u>\^O3*;DU]Nk&ZO&@FOG5th_Y_qa3(2k2I5(cN:<B74+E+giT&L7i'Y9lHn-Sk'
 101.905 + _NMus*%E0Dam29\QsX((%Xda%/&F5>!JjtdMp[P?7TdnQj$[U@;6DfHf\ILjlksuK+YLU]]
 101.906 + 'dY7:P)0jD^S*S*tg:%O@c`E-KgR'8UCneAPM28;@:<D0nb%0/k*[%lpkNJWJ8?#8WcOD9&
 101.907 + E/>PN3WWa\mm.M0rHic6asYdP@^>EKQLiiE!2HWoYDRE+i+!!(JD[0BNDRQr=K(9Nd?0k![
 101.908 + =Z7e(7a3&\5'o!W8;jkdfCX#83Cfp^r$ihu@1nfkHO,8-sW+O[^uJ-9(!Z]KmHVt2F4ba4-
 101.909 + K+H4KE9+d""H9m4_Q-0GDoB-e[SqZk89/6q18>M991W[R3ip'#MI.3P>:0pTY-Um7<)5C/K
 101.910 + N`"Ln8*L1#AS3b-**7%GAs@N`Om8&J'\k$LKe]GV>]uM!9)"3hWI-;k+2[(Q9&Gde0G8P5O
 101.911 + kJDPaNZX`,^"\o(Bd@nYr.>JN[+T0-W(t"6`B?6L_FHq5_'#"I0s,/PiD3]@OS.9ocV7NKa
 101.912 + C.\%4t^^<?5-jm9T%sH*:69^/s%e?g/!D+,aQDa&d6.ktE4gOGX:l8nDMsUGST:9SCM#7pD
 101.913 + ]YI'U[)T2ZM(8EJh9F%WZl'B6W;a8K#Foh9t$C)holbMRZ2qTZ<*S=_7H6^0?bQb7"*C5A.
 101.914 + R[E8q]96Tr1gmK7T%%=2#HSVSI_rMrYg%cD1C-drtlB?-mJXG_F$g8lLYR+LE/)/*immZKS
 101.915 + =0D7'gYI5FJl7V0%-!>Km7HY2At!hEC;Au/<+c8#46)?;SiO5iCID7)CndUo_[QI471(0]2
 101.916 + 2rD6-3,Oo@k5^E8&NL&.S-r.T9A,e:@(#F*&\S@A5`oN,p)%5gn:a+cPVf(*J.NU!6!/4nJ
 101.917 + BdLFJ'(_^*u8:j?/EanjZ3m=YD+4gmreqSbC2nlMO?qoh($G/:n2>670e_O].3f:9!$jU@P
 101.918 + =a8tF*fZ?:DbHAZ#><YVij1p`B-:dcqe1On[P\]SAnj@Z"U&Xf@._]*i!kI,R\DF['UD"ED
 101.919 + C=D6$hjFZRm?:*p3(=#/FZd,<78md]da)/&NQTQF'F/^J56iM]S`VlgnD%+PN-R.k>D6<KN
 101.920 + \^sIgj(6`k2YI?efNSkq'`7'%19>])=7X?rji7[o3Q'LN[n:L#XH0clf@sMJDJe4BBPNHtY
 101.921 + .K1(DHkYrh6i!6).-t:S,3;+r827g(7I?4[dc:7q;4q&D\CbU^A%p6i*6e%DA"D5pa6C,;\
 101.922 + e!<,E]9>qVQm#"+)oF]THrC-bqhtNc1Jpa*@n5jBR_,n7W?Bq'RWQ:fE+UDBB*75$$YsLQ:
 101.923 + a"TKAi;/*C+!O7U)6ch[l4J_<RoFC'sS\DKX;>qOHEf4i.bL?hMLmrrU#)]pjO@iNN//o0E
 101.924 + iQhk?']tF*EG$`GHqaYAf?*A\EM!<,EP#gju""d5]Z%5[\#=uJFQLpd%hrtAVn/`+WG[Cp=
 101.925 + r'uV&LBbS2NR`K(SlkEM^Ob&'+&(D'MXsag_0NdYkPYXZoNmU,1<cMXa4)'r-9,CZd1P^CL
 101.926 + ThjAbh)SQlN=f/QP28IdehmFkC**@pg4QkHs_m'c&\dFB,YG$7<hq@H)LAm;?cg?28%?_g[
 101.927 + ?0FC]'7,!e(C3r*PNUIUC@qr]b;C>X6DYqd;NLYEJVK2m2K7^l\E5=U:/moRGI\r%J!K0Eh
 101.928 + Gq#lq1<i(i'qkj1'CgaOnN1s`&aa;F'aT]\!>!peeF&2=9+3<QKK"7SRPX6/O3T`JXKVLc>
 101.929 + _0NA9EYl66.no,k*DDHJ*YXiX[ih4NQ&46\;k23;Z][1p00SKdOM$U>EJZbOHO4`9K,_@W6
 101.930 + #7tuJDlj4r\Hq]+9Fs&gn?iXC\I5XT$fu@2B]f\?,6dPui,C)tmA14&fLW6Q%C"e$0]`d`k
 101.931 + mjIc!@ge5mUY`]jSFZHbV$4$KS]W/])M3d&EA*HnIZ@Q)%j+o&b-tcmi("7i:7HT%++p'/-
 101.932 + buZ,4@pV$=Xk@d3B?8;\;ku'_,$80i\s,cD6;f%l#RFA?,ba3qk9[pQ8Sp,<HUeFVh<2(\*
 101.933 + %n/sd<rkj@i-k%b`a8m_6fG4RGB)<PWLOeE\5W>`%D)XV/J$O[_%PmOB3Q]X[+n$Mt34W>!
 101.934 + W:W,"iDG_DDfc@?R*V&(k:Di3@MZHR_)m3k+.0L^[]^+Y*8C-l=/BJqg#U$CK+L2S&1)1sQ
 101.935 + (jFB8%$<1^a<$#;DW_S_+gNdn&e?3B3?tgm,P"*&dN8usnJN`"*"ZjU:i>9sUEhRf,B@':1
 101.936 + 1_eQBdTX.,]U@4%@D`DT-]LN'B?C6&lU.)FX@`X..WKL16j:u7jen/YqdT`0[a4Q/LcfZ.+
 101.937 + 54J1:8WQ\LXDt(lo[b18,d<+V5($&4D9bM$kEoN#r)W*T;SZ^t]\jQ3hTr0%0&<o(=Xkq(E
 101.938 + BZ067(FTtV;9C,-sl)r\Oc',<1,(GIWc0(TPlj!-6dCGE.I0p==Ho'.u]U_9@O1@m@[1E%)
 101.939 + 1edZ+<1k=17'3-hE!AgE!16Ycr;ctn4-qCSJ/(8Js/cn%r.NQ@m2tM/O-@m][.4ObS/;PA]
 101.940 + Dmhd%S4M$m+`YBnTmdFndLs>0!E6*^'<aJR\N=lG4&`sWZbnl`W1jA8*J(.-PJo\+^HIe$4
 101.941 + nH!C!N7b0aqI_054dMn1Z:CT-l=)`%J0*SF9OhD;?ie/16`+MZi`U8ofQ1N%HAm'PQsL\of
 101.942 + f^!#L3i#F+lu'38e[JN&3CZZp^^"Kba-e37,hu.dj[foW05L5j:rsd;6*#SG8dU#/G(B<-:
 101.943 + Nk_*Z$_5#c_mFG2nWkTb2%8FsS\Zi<T2Kfi<J5njc"P_29o,=dup6F4m*dr.Wr\P'#l6g8q
 101.944 + c1qcRoQP+:t"OiDWbdL4XQkLXh:#dFg"uOC4fg.FL'S'3fFR`.+o1sK,:UL4!Pm'tA<Z=>$
 101.945 + 'a#X#iNsP(#uS)4;:PnKo`J&WZnaKI'bqlj2'l-X3DX-5)'K+o<Ad^_2cO4!$36_SPthZ$7
 101.946 + ocri:c1KL6Rc$c8QN5B;Y2U_-=9GGa]Glu9B$p]0S*<uLfe\g9b^Md#TT1^LKUAr/E3nMU'
 101.947 + S*(@NgZ40N#jY&^'ljm5ss4=JH0qFhq=*aJ:Qa%e\4T2:<95fj(r?9\#1FnoX/q,p..(/`G
 101.948 + PA,V_b4%^Q-8`hNJU1=%(]M-I=&>P6i+[DcQ4).Bro@IFY3031]-BS%ufk2VCWc!(HS%6HH
 101.949 + [@M.!i<^C8>8S#8'n.<PUZ6:!&qZ\G`=d>L6[PfXV<o28.pf9I;p-3*I=(-8tBD-mi2MB_%
 101.950 + P6k.*1+e"qEVj5j?"0`U-`ucM2Dc]H7PIc4!#)+![W2CLGA(cs6OlmoG.h^8a_\E0f%*b&P
 101.951 + Ya+()I@2g20PM'WfL?D""J/^+-2I_FU;&kcQLfT6l*a[[fp_p$#lp;@Sn[2f%MD=*]1=bJ^
 101.952 + Vc'_5D<`3[<pi`M45$9YE$E%/dP^F14GW2aqh+=WVIP37$2%O;K]*Tl&giETe?%:@Q`M.TU
 101.953 + ZT0p]"Y2b5gWAp&[YRc27&_0pPOHlSi5(di:apNLn,R<c93F>&m$:RP>f*]n8#HL.I3e5WW
 101.954 + +2.-Lg7VZKN(S3MYH8<_(bk8!^D'U?KUe.8'$in++5r\rH0mP\W9K*'$GP-H0q1#`+FMj45
 101.955 + %oX5Z-;&JiJWZ8m<8JVh.^YpjPIJ5T`/f;@*[\uiD$As;KSb-Oj#d"uI\Uh,==&WF8VFTI8
 101.956 + bWf4<[hUY-"[141s%h#!rZ=S$G^m^C2APYl$15t@S%CsITPc_eTB^!H%u*RM"m*h,`@@39.
 101.957 + +`OOD_a="&/u:)djrXs$2Ck(mHf.-nmtOIRW6Da_n/r9%;c"MaVcEpcXEm6[nG8Mg43@39?
 101.958 + 01D.p.Gju<]?=:Tn*0%q).2#+\CK4Buf!1arN-1#Tf7"L=r_1VN:A6B)!3@0i6-o:YcATa2
 101.959 + 280<Q)$HJm=AuC?1;E.Lt/7)AV9-RCabtWUDrZY<Lg7l%'il#m>6ZJj/cpsr>XXAp>#0.S-
 101.960 + ,Gk<mU*WJNCa^$M.QMr>\J[Ih*K@UT6T=V"\YYa?WLBRSP3u[oG$,Io>_+f+GZLV)!X)Gpp
 101.961 + b?rq?]l6jXDk<$W5HXdC:3mc36YEGU9ik>SToB'(&`=8?GbaPW9]g(l-Z,VCRK7IRB<HVp;
 101.962 + <?Q)54V^U$$!;'MXc.%>B]#6PnH&lX%I9ShP?S>``/7q.G*URshbZ+pgST+aTI7l&d7n,74
 101.963 + :Zb07lAi2WNVR%an`_&0cDl&<_<,l"AglED<9+f8`K#'gnQRLB4#&2q$eU)K`*3i-q#R9ji
 101.964 + ?Jla-kQR3V\*(C<([=S[o@d'`-*HOX#+*'VIH'0`&4=_?$;QV&bQeGkXhRUE&TRm*QC%/$S
 101.965 + pmi;L+pX'tg4tU>NZsA!8(s</UM6_(Vm3iSZ1`lt/+7UYa-0%7G"`:>ir[&/2I8H$0,`*%&
 101.966 + hkk?n4*%)UEZ>0)I>)mK!RIgS9f^NNFKMtb<m0L-#(`)=UD#$F.$+gL_rFO3?b[IM7C0WF0
 101.967 + F-"G)qhHS?CuiPG596HVcG`^nrgq,:-'c$-k]9A1nmFa,.aOqkgG%\>_&57EU'bLh![d^7I
 101.968 + E#NB;WLH\8<Mh2&\(^AIH82Bf*4/%MT#JM/[-Gq4K608G;1WWF.d/N:K)0ZP)O^!&ZrqX(k
 101.969 + :rO2)rPK9*"UTLd\fsjo0RQL2\4@R22M8,;(^X\["op^ZrMh[(pL<ki:'*0rnJV'C$K,\>D
 101.970 + ln?0/H+U.L^#BCWg#+JULiQX+PIj",HWlY=F0Q\EOh<ciRMBc]8]n]Jb4N6_gR2B8T-'Gq/
 101.971 + b/q"n+FdU2/@BH7bhju!qaM<efrG7?_#T_=uXL2e0DO`ZU4=lg695f43AN*Z$YfT*3mk=$.
 101.972 + ,tpb>KQf8/mVg9onjZbg[*A][T2L=i'+g\/EK-4FPL;I@ijY,)V)HC!=m36:(sB0ErJN7!9
 101.973 + Wfe/^j7:>K4q_;lR:_3+X[d+r\h@HH*K7G#5$f>/3S4`b.^&Y"!QJU'4G[Z^prc'27K5f"s
 101.974 + Th',Aa.AM700?TQgHm0[/MAn+!e"SU]>u/;g?-#)7H`EChS>V>CZuqiUfR;^eeA7.Cj'7"j
 101.975 + KmC3VL9Ut$_FU1t/6`%K.M,0-INH<si8A&Fi#WG;&cjmRg15V`SFs:"$"dcD_Ybs1Ho)tI/
 101.976 + pQ%Z;4G(nglf7:=jMNPcop^V2`olCmH%SG7'Z%n)7A?BNo2.A2nD@FI6YB?Hl&B&IK74C5T
 101.977 + V)!Q%"sgiWOUiN,dl@Z+T'8gnHU2JicXHYJM?+YFB$d_C<e4+cH/!V-(_[>]toiDLe;8jke
 101.978 + Bd_<L?3YS3Vam5>hAPg<Z?qob/F+BYnLA;sq.qlLbiIcP;l_&`#WSh+3$';/e=5*%u-WR>5
 101.979 + djFE[e\2:fA/B5@W\3^@oG23&u19.ED[2N7<^9/p\n_7M[#(1?E[U8,;iUsrkp$kWA;=0Di
 101.980 + UQ9('ZO*u(KR)J7UYmUTnf-:>"-G9gCK1A-!5FV*5n3X<+n;-Kn\Qt)s%7,JLV[P4`Be$j)
 101.981 + >_=%;tRq.Z^ccd_8DjV*%Mj_GM^[>+4^=>f`42(U:p-XQkrK/Y+n1onglaYiNN9(dK<kS+9
 101.982 + 2Z]%LE;k#%8#:;P\%b9*0Z@n5M)Vs,0>+&X_'c3?=/Nj:W<j)@%IM7bSK>e?#,kP!G(l'P,
 101.983 + I820@+(%!g@@q$&ZOj_:V%%Q-+Mccm)*'b/$XVb9Ufl2<V<2g!6Y&pVZ)Ypj?eUbel1bo'W
 101.984 + ^</hCr<J&n@[p/8:)jS]%9WT9g(JE<Hq0g"bn/*,\%gds-@IY2)<\G>Ma(+ZX*0sALQ-3b1
 101.985 + )4]8r3M"K/oGS_cO%H1sC%WC8<j,Z.f5('sfCmJd[=2uMH_&aDq6b\<hq3^n%Gf"`EOZoAk
 101.986 + :R/pkA5G]2kNf#ea%@JrLT'g\_Xbk.hHP>:$.u;%XfB?<FJ2\Mo?l;.&VFVoshi<)&c$)>=
 101.987 + Q"A&$uD!0$/G/4?u_2'*U[@A/bb>n:W"m6?&_N$UX@$1CZ]jj?!l>nH;2k43dqUhD\0`DVm
 101.988 + H*4:J;UmSfL)\\W)OfKb9:LE/]S&0i8enbL3K7a\QXJuX^G1uK3+@)42kP(V@8-/j6Oh`^1
 101.989 + =ieTd=,eCr;b+g/]/Fo56r6*=.E.^F)7,'Xpo7Z-a:335s4&5Cco0#ljjSM/;oE><G7'3e8
 101.990 + 'H_2Q<nX_iEaKY?:0;c'\b$O`Hd_$31JLe=;;VZuFT@7q<-9+]9#)nb^o&CI9."]0j:u,9e
 101.991 + oNEXobTL&2#&7*OrI?G.P_F016;:R19?c<!Au"+AWpb0p4]8U>'?aCCKgGNZY`oijh#G8lY
 101.992 + QoV`:Q2*g;T".)Nmtb%3nHa[fZE`3;91jGi%ZnOX&Cic!&09kID7W#'_G2K-Z%,&rtRWN43
 101.993 + /$&@/E;TW/A\X!l.:a8emnJidP:Q>SdHA9fLpP@XJY;jCp>Am:U5q1S]d>`hJ!hpH7#Dk.C
 101.994 + 6k'N]X&WJ(Sd[>tRm%!@ZFCE$UhO667qM(Ydl?Xro@,GNV4+B$Irk!A^nrO$[)>b`s/D$80
 101.995 + /#p4"?9,F#f_Pi7mJEdH]5IMco=]'hk52o3r!*;?`7-\\'jURQM6ES7VY&i=g5dJURrF[XX
 101.996 + B9i_goj^]b!3#7/cd3E!?EN&Oph4T5[po#aLEjFU?>S[o.:RZUahnTBZofl(?aLtrWe)7G^
 101.997 + _#uj*:PnPN@'"#&+d\]L.<(nRs!`jhVDVki9hb\c9q?#rb&m[tUHs#Q4NZ8-F-#n(T[CJ-U
 101.998 + MsIXe9]qgSRcoDO/gkPP8kG6gDI3f%bAh<?npAE+RQG92i';F'n?1shDV;fGa04J]tiL_FZ
 101.999 + R,eVJ-3'[cn&t/i?Q%LmErsD='h\Ms9B*cm($cH`+&n4Pc56p9WU!u/ZOS0b`pjiuc'LR\2
101.1000 + Fd]a:ob(E5kXNlpJN[W74CXI=MM6o0USf_A*`Eu!bS\J5LqlHtlsh/GhD63]313%%CK%JQs
101.1001 + ,47SQ@Mf%!rudLPVVZ5@s!'YOnM"0q#MUK'SDL+Sg0<;P9NNH95u[E"MInR+\[5Q3q?8@4L
101.1002 + i!M9Sh)[J::9%)*gX;0HcU4IT$D!:jU'-X"hN-D@OF_)!-REQ?(PZ96k5(-+(4LP0AB9On)
101.1003 + pN8BVlkmUJnhOY:<;g_I]9`!u6M/LEU&RZgK\N^81L$p`DY@ZG4tRD1Uh)!dB?'RUm'_`DE
101.1004 + 5aW@4MF;S.d/14]^Q]]@G7nDu]iP^&*;tb]:q>iip'a(+n(5!J2%fk[$#Ed7<"YU)M0F,ge
101.1005 + 3pdu@TSLHr>aQ8$O.6H7.R7qkR-c*X?BY@]:dKXI.uXSg`sn_?.VH)$@C4URdqWS:LWiXMU
101.1006 + DuIQg2Bf%bsSB39o#*E?Dsk=7B(Cc3!KHs4t:D;WcZa''/KtW#,'JG[<AP^!R*8f.>=W5b-
101.1007 + 0=;cTU<iG8r@!g!P-)>\fUGY*ISM=*jAoUcUE,BmM-,#b^#"qaj:k739E9Jrnt4))4H%`s+
101.1008 + %:7E.3K!7k+-=`QbA/C=Y:(3IXK>.n)k'fr7I&t`,1dqW_=Be^>J,$Gpn6n3U^NjcsXe69"
101.1009 + ".a;2+f%R@Z1C7_H<M:*\MRHRNo5\_KbINrtk?RnXFAU]NJ2Al*,!,a3>HtbkWbs_g(aB.5
101.1010 + ,,VVaGfH5m1a;Bc(E']jl]JUI!!m6q^#gs+>C1]k.G40g[/U!\McaETFoSJMbeqs]LOsB^=
101.1011 + >6"TY$e=1DsJ](^m*soN:A#9/ij0.QV.itr'?-Y(*gbbQP0u.W1crGd"'6Lm)^%.E$!EH?J
101.1012 + (dnfY[\hST%gS=S2Wg66H>pGi^I`FFh])Zt/>ZmN"YSB4TeiPHopAb#qdoja=%n13!4NjqN
101.1013 + +kr3Mc2[URE_P]p#8&3InYg<>to1$8DV4Cp7'S:a<jAmFem-Z&6*KC%R[SDg+s./GuGR,[<
101.1014 + ]"e:>CYFfsP)ef0nUi_odd[F614MtiNYuWB*\()%!qB97)<J5("7EN(UUIaAk3%slF;33J[
101.1015 + XD!j%)iZ8UP`#%0?IR]?RQ!n*rIM1r(;ndo(Lnj#'"N,NNOofe-fYEpj7Pc9EcG>m`KA'<m
101.1016 + kK>.>BQJEE\8?@&H`R@PeK-Ro(n.rV;7J"?Yk/L]Q]\5hOE,DDf\.K8)/s)Y>8e5%ABR=c8
101.1017 + -Kpo&Yob&KO-U*iidIh?[F2_?ZCCg20&Y>i";O37f,0S9L$6r^!g@&\=*%-0OOR5H#ON%3C
101.1018 + jm;8F(r6E]UBK([uW$8-9d`V2I"TGeCD60lmC%E[Wn&#45qOj\PW9BhSM6h4+HDNn-0fsEe
101.1019 + 2C)61NLQ.*[kqHN4D6[D7[ppOuLe*YQd29gio&\#NY)E87*\c`:l+P]\GCK$rH3j0N^%]9c
101.1020 + mFWk7c\(_C978r%VdHq3g<rksMB,hQ>_]GGUhBT>q/?T$<PZ0&*H</ebE^J&0;J02QdZcj#
101.1021 + Mf8BX7_4^_jd4o!]md9lODF%Gk7s44_\t.6];6Hn:g@FPEQ7O'Q3huG<ihXan_PfkBK3h8K
101.1022 + lF+qO^a?Bq7,Z0jfdphTp_!<pB6I1sm(pn==j_,O];&VU8pV2ZE7O)Ln)@U4i_kIt$E^I95
101.1023 + #"TD/@E]<+:_5en?=^aoQqq\5A9m5A1K&JLEKb3h9W?&)Yl'_tS;C@WbY35F7/#0[Sei$,u
101.1024 + G%>0Rk2nDD7_t$%7j?PgC6#7?'Hl,/-HRmdd]o%Q2H+bqrJg=#*\<)W+0ET*!T8k`L3=H2(
101.1025 + Ri[>a'gLIk6>S#9Hmh=?.4_INTHb445n?5+]KZsZ_+R]FF,IA'6(F?GJJ_"s3/`Hs2#sF1#
101.1026 + %TYR6le"P/1[d__ON\T]KAR*4[[p$+:<ffA&UY'`\rY3\>V24!,4LpQbCg2%H.8sqojR-?:
101.1027 + :0=_Fo3jn8,1n@gN8j#UD&/nFAuqK0u_(74_A+4B+aC<>ff=S1DN!Lr9Eq=XdTZ7B@RFK>k
101.1028 + >.8%9KU_($Y1E'utt,)t!lW:2=W4,tRZKe.a/,iE?ldqKeX1.I`+L1lPWpe/WJKE03!72rd
101.1029 + $P7GQ:ECV!h7kA^O3Bk@PAO="@$lO0n0m4!//KeL-4(r.p\F)+kB.it?+J]<(WM9sECIf?X
101.1030 + XLL.o*.nO/abHbN3;eC71,As@4NO"0Kp6>d3,Z6A,UHP_Ju"G?J-H8r&BPnPUb#D67$L8:P
101.1031 + t>5H8SIP/X;_QnGDIepN;Rt4ask!pc&Uch`n9T;@#Z/57AA.f#@sS44JY>P$7BmY+0484#U
101.1032 + )!+D%5!n3UBF#5d;TV>/1t?X+Z\YFKeCHYtH(B9.7YKKKq4No/gV08d&Be'O<>1(sA:tW:X
101.1033 + [4BM^d:o`SAg9Bh!187>0t8k^2=!'J.)(aVjIrAiM;7#2ONGlPWS;*&Kbb0[4/&-5"+Y=A=
101.1034 + F`sf:Jr6S.Hd7kUdb=$M=Bb8CugEm$X"O'=FKT8a2.B/,&T:ep'\4fW<Mn:ZoK:Lg]+?rU0
101.1035 + fa/q&/"Eff,ih]oj\B(C6'Th^j4Q`7]Ys#b`;&a-ZBP>7iJ9/n:@*KP;1L\(T$1T#c+$KW6
101.1036 + c#:_m>*8o:,L63AC""eq+mOW:TXFU,j3.!m`ps-69=PMTQQ>)`.Ct]L`eM#3T\C;Fq?@a8/
101.1037 + Q+jn-dU%>J4,X:orW+FUU@epHR/H4/Dc#r=Dg8&Q'KVcc[*MfqH.]\&4'i67D]3kYtA,JZB
101.1038 + FA*_bLEn:?4?*=0:J::&LpW(G8O1=@)Q:-B3(O>P@M,uS"q;JddZI4/!Q.8l]d;QVHI]e!(
101.1039 + +/Q1CW;XH,8r@h.Z0iK)J;^jJR>r5D$O$!k-;f+HlI5k/b3E)J0;lr,[]G6?h<hL.Lc@d.a
101.1040 + 8\IllJPkq)Qi`=D)kY5$^]fE]*1D^J-m+6c(d>=n.8!:]V'=62OACin#dkpV`DBPD;,nW7<
101.1041 + @q-L4]GEU<E3=*<Gbf8eMI>5:5J!i<IJ(O]j+R^>uf]e;fh2]ANds/e&2[o)n]jmS4!o^Bn
101.1042 + I\iKH4\H/+u`]bCN@.Z03pn\DogC,hCYt!Bk?Obp-(#:Y"iQ="SJp4`jb"F]Vjl=)E._79J
101.1043 + *-NRb.Tf<'C$]mNo+I2/kkMZmM;m/9\=5VY@(9$dRj4O"nnncd!e#e\fG&11M=76Yj?(c8#
101.1044 + k4`FBJ\Q%Zcf,0Z?3%Mp)O]`]f=Y5h?4d9)DQ!%CY=`'L.I@+/sR9?)L=fn/r]pr6MSQXd?
101.1045 + =m_harLd='TirJ2=tQLQ4eu7UV-7+k$H78AOGqhjJq6q%>%Oa<]rYD^X]jP`>4&LsrNKK8P
101.1046 + h?4&Mff\8R1.>;\iF<08%<(@8Dm&V&=k[L*YMERPFfeXM[DhA"V_e6A<7HU8;AM.=Nq=Lm1
101.1047 + 39`O%4`.g4dR.D*s+2VqcNHg5pnG]uhs55p))H#rT'0Ct-GK'cUBXajF@T=X+bC:L.,Ia3`
101.1048 + [&C6'e$$I*r9!q"_U-mW*@jjsqQgg$:QD9UiEOPGYD>b/pjY^tTKi@DmlfBA?%r7!S%d56f
101.1049 + ](c*;]RD-:\+Fkt^"-AG;!*Fg&nM2(5[eV\l!k[:M&7+dW8Zh+3H[FTlJ_i9)?9j'J<VS)@
101.1050 + k1o@e^;8tqKXBAELRZcI]uA\:&G-"F14n?e)sW8b+EAll*oNE:KanJ5!8>?+hDe?5&cD+T9
101.1051 + oU1\r_biR&UiSEc4i4.q$7`3>(uhR"oMe$\6n(1MUWP0>sCBP@[jdMe0+t4:eMHQSX[^W!X
101.1052 + 9kMAgBFe,c)Up4#Bp`3&?H2CP*TQd-]cK@"I3Y).M?/@9<M<D0]Q=(ujP,iLm]r9C4RdJCF
101.1053 + Ju^jt4UPR5.)#:U\\MSK[2]O)SXXU)SQL_qN"pu#QX;dTO+=C>BCXi+\_&sRPQj!I8Q^+Wt
101.1054 + "=lU.3jEcGg0XtQ(=4'243kQGlRt:lf(D)#,MS^&HZ1<U=mXU#8?*Gs8TG9l%F4TgoL_plg
101.1055 + ]'/$O&)tBU@b+1`q\s(*1l[BY`Wfp(F!Nnd8i85/-lu%iIHX]XJ\p/=M1-NX>k8<dPaf<R4
101.1056 + no6;OE"n>a5bs>eo3p2*51IZ&DZCdf^;1p?:LFU<Z^[Sk%MMBW/YH+s5k&!%?>)75%WocB4
101.1057 + e:sABk,`];S;[#@<h2eiQi38I28X21V'FJYn>EkZ?ulbX4?^b7'>9gnn^a_p='\doKcT#%&
101.1058 + -ge;m_'$Qu]g8<@K3%%=[+$8Dj$ON.^8MWn5pML`!'X:1LDSMoo-#UZ/MStHD+j_;MgC17)
101.1059 + (i94hNdqB5B-k<4W"7/#mP.<a&?Bhs*)b>TfYm;?m*!HR@pd8gi&*;=<krtILr;tkGR'tZe
101.1060 + C2iTVYf!Z'XU3sLCXPoBi="of=Z+#&C3I63`i*PDJn.O*C8S#/ri=ZEK;:u=NQrO-?E]B@(
101.1061 + 'UX>;b#&a?I/!KcYX`MD'mYI0%=_4`!2G^m69-=2V;kAfS0U8$p\8`*nTeFh/1Hmm:MB:Ks
101.1062 + s)0!!r#LD3!WChU65m_R*A(mV_'%Lj$Fu_X-.BDFWr/a_^CJm;@.pmSLc<B'sQnldJ3iDOM
101.1063 + @0(A)Gjea78Dmr%ZI?J5K``,C\.ms`aQnAK7JqX3kSCLm<XG'K=,-0tVnlo>AdVOJ-X!t5[
101.1064 + 6b0[=/mfoT6#EZ\(NfM"mU*+8CfF@J3E9lQ%'@lGma/A@HiO6kZ(<bMDb`.En$!Rb@!!Ncr
101.1065 + @+!RBW`^r(6DZAk*<9.YK6Xsh(cr$/)Qd'VK[S\\Ii'ksYm`90nf$8KcR12L,4[rHX#gQ,B
101.1066 + ,>RAgMrPuEmk23\AFVG.]KTmN(5V%^F>76s%ffu&-6ON_#K;^@gRVfM"_7Is#Z.r3Jela9"
101.1067 + 9q>[gADA4bu$\_!mG-#&TIR4H5+(M'=-_e`4,K;K3c!CgN97509kf!97Ze%9Ro=$.s;[Zh!
101.1068 + $5ob*_b!5^E306)b&MjkW@pJW<'1lN@YFc)VAOMZ$V<NQRASX31GgBD_e_0)qhEJH(;cReW
101.1069 + _<V7_D.P\=>2_fJ*S+UI4G%c_U&GpNRqK$@dC3I>l#6Ggq$m2ZAMiO532aEh8F,2JkPFllT
101.1070 + G=IW++nUKboT5F"+%ddh&rAe/1ukRi5n$sode4m4"X[IK0GX@QKm5h:GYa(h?\\Ya`!/e8p
101.1071 + kOcPIuJW5Mh+u6/C;<=c.dL#Oa,37JR=9;&B&iIQ$Fa9L=4BV,;f\WQ2&ssH)I,:;YI.8cM
101.1072 + =*(H)YNOMOOA0Rs?ZR"[Ks#O.gkqLA?n$"\5D8+.DspM>49QqQHiBO,egB`-Tb-qA5@k:TJ
101.1073 + g1LAE>%p=/p3k;W,T:3<^lCS+*&Ybha6N=(3/i&HY[/te*KXp?Z^&,<.8fRi@,SKR/G$Zo&
101.1074 + L&&8GnSo^j7$Ps)!#+r?l[trpcMg?u](WHkJ^C#2'SZo)NGInjhEJc^#L_5N#pof%-%=D!>
101.1075 + S]%628'C.qR\a]*Hha4k8(TZ?XVMVFI7TW\^p80&b"\53GE@c3-ek#]Q2=[.IB]N'.GOe+f
101.1076 + 81;gLa]e3n4e=eSpe\a*uF!eG_1?(C3QNkGHi.KYC*,nIGFG\0!#8%!4f`M^]0i697@n@5D
101.1077 + "$Ejo7n/H3[CT"9&H+JjEekGXNkn$\h#Wd.i8`,nl/)@aTG=Ai1Nf7q9sB"GQj6OoQcUGra
101.1078 + ka,*kl5deSR9AM]cLB#^7WU3,mr9rHJ8`9L27Th44-=Ye-b8>\ut'_kBcTgGS,U:"/<*jk1
101.1079 + 7'5Q+O6))=gYYh+Ca+<g3AYrOc[47/"h/&lkXq9l0!i85g)CF(JV)#(a]YLX>b:VQ\N5f7>
101.1080 + M6)BJ!@Y\=WVGaJ%e2SYkB#=57X>`@_SW[iHqcp>PL<?C;#N#`OVPk\26r0mCLoqcl7<dP#
101.1081 + 7#qk#OuIq^./^!bN<kkh#;u?9@KalqV<45B=6L^GC/0G#D^'-VFlm]L\IYBl[F2/hZ%Mrqr
101.1082 + rT(r7&n[KR*Hg$\-J8&9\tHTe$?J:b3+Z)N9UU#/SZ6+UGq]RQOQ(Tr\h/6G]`P%`?Zk5nL
101.1083 + nI+i<fHE>27a`DKfFS..-gHPSjUMU%eA96/+N[jp@bK,:fj@!FMBdjg5.WY3\6W(dm3W@cP
101.1084 + -+W;Kh6KXh/C>oZ$8EhpNKZQeAC2D*b1=721Z+@UGTlQ</0;T$'Ng\*\bg<i,80m?T,ni(X
101.1085 + Tf/sYmX`Xh9_>efdo>il:J!W_QHdN7#+EhYX+5as.p@'Z9ksm8*h]ikR1`">&qZoTlLcWVd
101.1086 + O77*SPTNB%83r?b^WKf9I"/*d&QaL(ss\T(GIS/Z;FQGeV-2h7SnGh#Is1rQY>)RSZ%+NAL
101.1087 + jeHg:#hJDVNb@_!sOE6d50c:Li+,h,dh9q*'kF<?T%PicP2(Yabju5g[^i#$a+d!J'*/S2Y
101.1088 + lt:u2G1iE0D'L.%.[c\CF]Sg]<3f9RnT9o*'s/mm$FMc?B"_`5r8/GaKd+kV1EIq*.;GraI
101.1089 + ciYQ!Q'j;\3Tkd"PLePsd?VT[>p2-'A19+1m+o4N$6t?X:P_ccI3o-a/)7DqmBW31mVBjm$
101.1090 + )6X#YEXJ[Z-pE-DPkH<FM_)IA,I)+l<lM?eR=:c4U"Yr0Wll.-0W.`/.`&[U/leBRM0qN*`
101.1091 + o0t3Z=3:YT..qRgq"eOW4+6/qE@\tepVXACY*d-6k<*"oj(p*GkK[UGlGJIQ1KVo&6j;$G?
101.1092 + s*OE8\4\%>8r>+,T!PR:eGlptfAFk[NgHmH2PKbbgs]>NS;hT_lS<bp;j0&*,#,Jf0el<^H
101.1093 + bE,Pcal@b>RWGbHhg@SEGAM#BWI,$RauAS=d<Wt?/d8Xh^KIB#$r^:1%7hoVR&`'sYS#Q4;
101.1094 + R=Uom0&@'"Do\5>J5pC8*n\FjGO9sAqE/b;j_6O^S^]XfaE#i?m`pu_>ld@)^,b5p1(Cd)!
101.1095 + 4XR<sU`F(o&#(=<Ls[3.4lUSH#d^+."7ac-&bP;uRH\aimF\UDAqXHj^d0(lgdHt;(ulbSG
101.1096 + O^+?7Te1Zf'Fq60.JkM(tS<$/('>Ggp3m-2[ThKpIelp*"_7p+@m^t!"[;81AM@eN`5\$jL
101.1097 + .R@f<@j#0b8u#kgL6$$pri-D,de0N_'jJ,fqm.ARq$r8V.C"V-FaeP(B$c.5jP)+97YE2G:
101.1098 + iR>:^oE6^*7I;A#d4e/S=+,&lJ)6`H&#j!6l<YmP);)5T1BUe2pF0T*g-qWJ_p;2UC%ai0$
101.1099 + G^"oCbG0BR6bt6GHgmi"E87$I8)<>l!E@..gc?qWCk`Q\QEfUAISNSuX6XRJ<J<+ApR_hbo
101.1100 + #SK798f:gV.9o-uqb<]Y]q,q;C1(DA!1"qZNfuB?-fti*TO]g8ch]XGBULNLA6r]mg'LH/*
101.1101 + 3::tfRqWI3C)iIIOnHscpKfV5"I6G,kEL[<0nO[MA4F:<Bd?]':h"UHP)+8So(Wqf".aV<c
101.1102 + XC]/P\jI3MQ,SA+`I$<g4mlSdb+j<PGsS\`s/B]lC3u8puo70,k:5?W>$!WlmFi73B1nTHk
101.1103 + FC96(5t.7kq^!q`3c.W@ip,s\DL^66?rfh*^h3j;"qahiB\:$JIeZGe]j&aLBKi)M.cG)a,
101.1104 + f>"rfZh6`6Ob/)Q=D#/"fU4lX2e!A0UDl*,)W5P.#=*p1=C100&f.@P;)khB#oi.O1^ktjc
101.1105 + \Q8"[orIE*PV6V<=X*fVSMsI=+n>E?LD[`Af=(G1iSZX!j3+Q`*k*a0Upi#10>FaDG)]A"H
101.1106 + nU$3(deTAb(l0\Y>,NnFl\cWBZknhrPcX^>q[''G$cB9,8[J<PK8UbL@+4CB#V;?@4<4RBr
101.1107 + RICP1E)7]DmcUFgJR?Eu7`*=cD^5/@_'W+2:ufO0$>[_YFQ`iG2e_Z4.j%\5G<ADujuuG#^
101.1108 + j&1mD8CXFmg2P@iCMLV\".LkmiF.>AhrigTV-abA<KQXG[+WjR$]Ml!K'L@>h&`Aq#Mjdd9
101.1109 + q5TUO.l_c]L(ub*Nhde@UUIsFeX%,\.b\J("fO,*r(et*^0nN7PjN\YK:`UN!7?SA.dPT9A
101.1110 + g^A:k9Y!2=<%%`6;COnqh%A0Qm[Xt2Bpg__9$''nR)/o!Y6buTY_oro>EU8fF'6oC;B3)B.
101.1111 + fHQTXG"$m1L'7*>H2\Oe8@?D?s0V6PB&i^DOZ0?@3S(<j!I[HRYQ,-r3/c`f'thkZ&J&G(e
101.1112 + (7b-A9sii:"AG7l,:1,$E!9<P#`3@]eM5&SCOOZlp6,oO+cu%u_23#!?u[LX@anqrlSD^(F
101.1113 + El``Woul!5qY[*G.-<R6;;Sn(Of*pM@f:R#BQ\[D/)k6\YRBUEE7W<hA,\9iF-93,Ro/8^9
101.1114 + Ofcm,4!c+:7q&Yj83/("mA^gB.&s7G&k]KEC97"3TJ649(FhN:SYo_UA=S&)FNlj=PQWiZ;
101.1115 + G@'\M"kVWt0]^V'G:a;;i5qkf,hpqf*8^\6;lL_gh6*De:D-'?/tX=M,D?Z?]+sqZ-I6gq5
101.1116 + -S_<jS^5Rj*Z&=BV[@!\J!`gBSY42X]HFO<g_?>EJSpJF@^\XA*3<Ff^KDadQ:kGZEdE9Cd
101.1117 + *JeINI7QHTo@$%WcPCYJGUm!2O*<<`A]=cdkKCI^=LDWk36Xee4qLrXr$#LcJB(6jrHLiZI
101.1118 + rAYAa8^e)p>?1&PDc&H7a1peT&qNq=F^cBh3%qIu>d.!G?()C'//!"TYB_L24")#Q&>eUjZ
101.1119 + J:\9"3X=<Em,fMVB@MJC7(aA-,c=PYeM84,R^u?i^ibQX-:+l`hC*E%@XJ?9bcW&;Mo$Pes
101.1120 + >Au&9E.i5WC?:LojmSA$mk"ajRNX>1h+5Ql9;JHo`-^f2J#)'IA9e;HLtlp)mg=*k#[6Qr.
101.1121 + ^?4P+H;unNgf=PK#@q(l"*sj8IXKj#2(CU.utV;08a]PAq@tQ4:p?L"N!iA&5I3.KL-+X^m
101.1122 + `J$o%=Tm"-A8G7VrVeb43`S$fVg,`qp8*'b-2e+jiIsL2>dB,l]=H!H=SE65ot;,o'lp#_i
101.1123 + tH&I/<q+R)`2$j%^P0Ad)?8g@j0]5U^kL"suC>4\BeoAh#8+heoSA2t6l$#uUWiG'.5?Q-c
101.1124 + l#7`6hB8dZ-edZVm)A0OiAcEMk,93aA!0&DTcYV^],3BH))Xs:)%t=p_JJ(`<!%rU4DMH*1
101.1125 + .Q4/_/J#`5Y979#P_:2TDIUuk_UNI?G9Mg#Z!t5)anXA[%f#QR$*bs,WZ;L`:>]nr0_.($U
101.1126 + ?)f%fY?u:kNPl!P!gF'859bA-*g@W0K/m3>0LI+,Xe1KYfcsmnG1DR+i*kf`(9drIih!%,S
101.1127 + G)5$54\J;LIql.<-FUJdWde!%ZKp+7`th5oD0c>Ur][gksJo1#jgI>$FnG+7]IhWuB5:!:K
101.1128 + =M/+NC__&+Z',aPOI+V?XKNmo5(Uc0X=0]P:]!Y#S.kTG_`kjmU$KP_dUAJ`3@(_BU(EJDc
101.1129 + a*>m'EcV>asOUa,S)DLZm0k&urb8N%?"V%Lh8&Tm5_UU'/"AHgO0^peEX"I)p<Y(Bt+7ihl
101.1130 + ;e%22D&Xf2)enIe5u0(b)#g6Q1P%DAdm4co"@SFQ'*>g*1C#?1T/mUTkQ(E8d6JnrXtd1'3
101.1131 + cYZ?On0SHaQKY:0>eqe!nBAPd-[$4$Na*",In*$^?)P;e'Lf@&QKlm.\G0.[dni)E!.<qe7
101.1132 + 6\I+_quM1;P)i:)ktk0JCcqO?bCMF"4M`bd-=Ei^-.obVKE/+d<Bidq&<>2J6KE6c2JZ@UV
101.1133 + X22+-J&2l-X-8l[._m_lJ1ISZ:1F2fE26ngGh7hg43;#Fnad7>K&7<68T_i0@("[@!./BES
101.1134 + bo!C.#'1kM4-W@9=jc9KhQOtDd!qUb*K*+[h#qE9#+On^9;'Q_$j"]OL1+j3u:H#iV0_<aM
101.1135 + Xu),,_V%<Y(=iRR9acb,[#S%IRPYW]kEQ9JCAM')+=S$:H*_sXdt4-4W%^'0HD8kc@_kjD+
101.1136 + Y'jK7P<dakj_?C#ub>)fi/$kPQaBr7Q0p45\l9KoLLr_l9Q*P#q\3SFIsK#qO*GC7b(Wp:Y
101.1137 + /Q"dOS9G/[2W(oM&H(O$\HR2PeR)P$]h.q`H[E+EQHM'?_Y0TNKaS-3WKgF5nclNZjUA1kN
101.1138 + Y%d*XR75<U/I&5:G*Q),Z+Ip>n'>a"8T`+q20nQTZ\%2IJKe9;<Wh-crm.^R\:Pfi'Pd9e\
101.1139 + %1UYn3cos1=O\6H<&XFske_a[WeQO5I[?8aZd`5FO<D#$g&J5!cPd=7%90e=@_bf;@@K]B'
101.1140 + 8?p+]YA!qL.0S@I0K5m2Z0(CR7/[mq#+F+e$rjV.e,<"+q%$?+:$Jsa&VDiYM)**j"k,73$
101.1141 + JnC:``')sO7^U2FZLXgL/s3Tl[hnmK]`n?;#h<9-qP7,[an,Qg+1GJD@KlRVg202^J]p=AM
101.1142 + >l2oY4<O`G=P'.JCX`Q!u.C%NpaEk^jdU@%(0*Qll%H/ogVVQ=Lp\@rAS6860"Eo:&%?-ZX
101.1143 + D]F2`\_<$`s<dqk*(/]52$`!oc[h)nBg5?:D[Fa\I29d:I$GSc!W6:#.KLB4hZ*[gAf2J7-
101.1144 + +*htCb+mit?m:fpMROD,h+@iYS`B7o+jD=1'n$`l2=#3iW?6Eqk<Y.c9/$iu3,kFi6(q-[d
101.1145 + nWL$:D0i5pEFK2k<U/bq..6=:Y&^d:6'#]Bq)m2aHmcgTp]YgX#qK\IDkmt`l)Aqp\Uf>3I
101.1146 + b/$P=41p8M^l/>HU>D!!XNQH[3/NW'2]bG[=_J%R=l]PKQ_idE63YXhg^;,G$l&.U`gcQF*
101.1147 + Q"YGF3iTMALs`Ko"BBLf]Lk%gdLnY'jE-FCIBd;0ZdjHm#k?';>nhQ"X(6`IO]CHu@@U2o/
101.1148 + 4r1HWKjq_n0B=4YYUgJ1H,16*:EPjK>&n>\3UFb2I-=Ge8'WImfh`2qcp/[L<mBeblTEk!>
101.1149 + !:K!cDSg'QlBWn6S'+i'k[0]sGEqm>!l5PFRXtS%\KlpLp/\-dae5uFZagD1:3-0jc+,@@l
101.1150 + oU(8s!Z]dTWKqgJQOoXC6mu>LGF.!4Qf5E@=`RtRRi9BX6'_p+`a8QqY_A5Er%:aaXdLBAO
101.1151 + ,Gs>\2a'pGhCsLh"*AdiT\@b%eq;%k3fI=Roob6&+P&!)0@bCJdi"k/Idi!fpNOr,+6NmGZ
101.1152 + `]<U7t,4._.:)R1";IY*\*C=d@`aVS@lH4-bniG1C[_:1KZN6'b\).l&D_,B82o0r*Gdn<n
101.1153 + GdH+B^S^R3DU;UR:H)$sOZ3Z\@'9Obd\.BT$LYei#25uM=iDo2]PBk=I9<VeclqFDe@0hur
101.1154 + OC?HIM2",3pV(fA1')%TJ%=t'MR@nk1FBYq[7D"[bki:p\V)#/nNGKd7SrsudkIP`4<Fmd`
101.1155 + -(qj,R90ujiWZGff'Sp7-@-aS\9W8o.AX$cUA8aZ\ppp\$a@jWUdQN-RgrVJ:J,*,X\0b=+
101.1156 + t$=Rrl+P94F'd4)XIG@X<_bLHkAf3"R7FgC9T`</K5HKg5V+.Xc@\FXm[%n(gEQBZ`\AkF?
101.1157 + 6J2]'rpM]7P/UZ5)qFKmBbgj^@PF[^m9bq`$$[_7":*$B0;cS!Y`e/"PFT6e_2t'mHpA\$.
101.1158 + l2PLJ9u]>qRR&P7hC8]3]u>KTB=*D,>:A"`XZG;N'reZ'Rl+M&j%/T$f[:Un;sZ*2'OgZOn
101.1159 + befj\GS,/8TlGB\CAKKMpWm$="qes#Ib(mTWSuS'i(I6[njhL9sPZsuX4%HhB%B^9:\SOo@
101.1160 + )%\nL[9##&]o1@Or+!a:CW=KfYp:NN+]ZRQHcMhVa;f*.K;aS]cZn%b^NS#Ck0[eiZbk3*$
101.1161 + QDIU40="4otKgG7UkV2p7%eh%CK]pC7!h<0Nij,l$eMcn_u^V3O*9;FeG6TbFAl\LjC/\ef
101.1162 + H!I)r0o.4RaEng`=PraT)?%SCb:kho*A:R[VRARr,bVn\gX:`4Zi&*(E%VllACBcWp)`6,4
101.1163 + HZ\"[m$a@`;KI7)MT9@V8g]]tQk4\i"]h0<gsb+.B5]0u%t#hB^-JLiPi<o]F]4O)LUp0:7
101.1164 + 8>eD5a;2shR_,Ta/$Iopd3[>Tem/-H/H54C=T?2M\V49!bJpl2f5?55?,oA;8IC6O'O.Sa-
101.1165 + frH?^4Xn5`?ekSpdYR"MrO/gk8)B,uI4o"o$AapPoA8c)a$'EnI9hX,gRt%2*u=5V![.Qr$
101.1166 + n'IN5l%852hBV5'&a+lFFB@C4;b3hTr::/s,hH$a<atliL:am[TqYM*>dX>i5YaZ5og?6*G
101.1167 + %mS2C)BhO.>=Z&BCp0C!c=XN$r0(h=ceukMMc.ic/&VhHHL\&)Y;i[tr#\UEQ$hR%@UcWAU
101.1168 + Z0Ff[>9D2E]J#10ojXh/9fBH]F\+k/o0I%+s3.hnRq-1q20rH$BcB6\kT+WFS;*63LP>SnO
101.1169 + ]&K_,E?N_Gm$?dGUXp2k/#/`Jc(*Sk6Bc_]W4WE,R*S.r+kru6>ijkn'H"e?8f=e6Q[mTQV
101.1170 + <S,n7f:M6P@M"XV[NGJl\Gj]aZK8<KFkC!]YJ!5RSrr5=Om.?PRV0n.U4,UaX2',B\qrgr?
101.1171 + YfECU[&tj<8s>AQ\Xo=CELG3+9HhAs%Ou+ULs'QH'P`'S2tOuH1i$u+fsMpAmd-n`t4f4JO
101.1172 + .3>>,/TW*M<?fAA7OUqcOb?>UDc;G_#i;OB=$M&H@GNiK2]64s:Mp7,_XsZl03%NC>(Sf^s
101.1173 + VY+d#=VP#tY;;&Fp7jc5aN3Y:do9[Ao*F/C0<BM,/"`m"E&3[W58;lHLl$R)<3.9*lA3^HC
101.1174 + =;eZkZ[9g+@X]FbQg@]otZEZ\mQ<?S0(GV4)j]8mNSu$4lbTRY!mEQkQP$Xl(H5SV@AO]JM
101.1175 + 2Yf]^&Nu")EKr$eb4,nW:N)@H,c^l6L?.L).SN2OR%`I_Qg,i+"f-rWnI0eE:Ffi+D"a>KK
101.1176 + e<LQg@"^)h=NLA8@.d[S6e,q\7t&(VEBl_5G?KhFS_P1?O#?;][S4=*nPnX,O\,SE*aWAdH
101.1177 + U=MrLV`Q5N+(<r;GMYr_bIdk/*uEYOYZ4(U(1N!]^E8%]L:a<!rmrW:81?1XM=lN^!sC,/H
101.1178 + T>oDD<>.)Z1K]Vm'\X/7SX2%;p1Zoe=ClJoni7PU(9R&Wm'XFE_flumhJZ1NMea(OaZIlGW
101.1179 + qR"W/oY]uEX6#:(URmtdr'np\(XX]f/5uAMqCHDJ06;/"?f$#]:1lb$7K=Ht:87^M3c48R/
101.1180 + 0$^f0W`f`2KWcoP,(`Al%21LAR\S=.:I238/E8W<1hn<M1UKcN'd@X/-Oh<J'el1R8,Q.QY
101.1181 + (q]s9H^^B+&>Z);?#LM;8$%5/'uI:7Fj?'m,\[36/c&"[Io#W,P@E(eNHo+f/d"l;C,hY8c
101.1182 + $P4fliXYC/3***r/!cX;t'eKOR(S+KPIME][)X9*E(T/_7*_[N-&O25qdA_+Y2F-J$\2$om
101.1183 + jPO:;9;U[ATfXs['-m%c#1'EZ@OM7O(LWtoR*MDqf@E.LLke:er7&ep0H8B;^8rOoLARZ5<
101.1184 + 7@AmoR^ebc4Af5lms':t3b,I&h>8`7F#X[-n,8:OY,bt.''r.Dnp62@Q33Jkk'd9MkR-$Gk
101.1185 + C9(t-@\ghH8N*uHW-R'CStUI*c)2eR1];u'KBC4[[:qtZ[\0'->*iq^VK&:r)C9[)D(5m*H
101.1186 + I3$/ekL%\2AEIUM1"HNC(MChN)fe@Dos3T-SNaq[EWp@oK=![M)[F5h6Wfg:J#&88=gF<op
101.1187 + qF^W*8o9QeFL0H3n&TN4LaIG<QWeF58/bLZE_E=-r%nR(AF',a'K7NlUqo5pEe9-amW6^A#
101.1188 + ;_5.N^/-Uq6F>F4WcSnmKe^N\RMlMjZqX8X3Mn,+[5ap[G50)FNO$D%2Y-U,Wj/-CG7,i:&
101.1189 + X`hSDWC*eiBK/[dFlpu/n=Xl.:Q?Eb4$i9cI"]<@&ec(50$g]'4+iP,Cf*.!4q,0X(_&2l<
101.1190 + ]\F`Z+OGN95IKoMQ5V$";$J0_2f(qoS%+8f^"4gV:*u].Q[#>Y"[%%%'k4OOMZf%&Woc'.S
101.1191 + t"8#_sT6(kH=Mb)ri'eQ'F,Fk0-u(:5^jH3CbhIr1?V8I^.<a8%!gW!!E1\KmkV9Lhe,6>Q
101.1192 + o]J*^`K-r.#2d+sRRH1Eu!*"sN=O,t_H2VLkDF<?XdXBOVrIL]g,g&r9FtAl+Ws5:)2T,=!
101.1193 + rC7S>]G&P+`KQAZqi8H8aE--EZR,pFe]q2$h<1;Ju^)F+oP^-?*9@[[mk*O6KD)@.m/6-l,
101.1194 + \^:<,Vj4pf-'#&9,3:+k]UJm\(V!lSH>ik#<bFM7=Q4g/i4B95@JBe4C:UV\?a>:LSV+Eqo
101.1195 + _A#_k$]7=bk_p6e;Lb,$Z(EdoGY4[&6_4So6H/m'aAMqL"6/eoO8o8!P(5nkN=^jk%ZXDB@
101.1196 + ^HOa-!A,t8P*qg5DUlkT9SGX94A8]-W@'gFQi!`&lgXN'h>5<,d0n.q%lURbt#\:WDtsP).
101.1197 + $"f,:o^.`lRU/UO>ajF0\G>"1:-m[-4TVUodZG0ft4b(cPHp$^A/,>`Vj?,uh%Z=0r2ZJ-C
101.1198 + (Z'J,>"qBI:W2%1pU&;aKPJROC6E?\$a^Y&Z4W@Un\+VIV4dXhj=LiSt-[PWhC82<^Uc(;,
101.1199 + )V#o,_#u@Hl]3(<5d^PU1C6!F),8D-O>J#/8l<sge"Fat-$E$lK)EjOOS;Y*R["Du@?&d4*
101.1200 + hVC8l88C&,XVY%*7lfI*X-K1tO>cKsqXG^S<TCat(>)]eR;#4jTHKIF<*NN@@EAYo:c(_%>
101.1201 + (S`rCq1R`f7dn'b=Fp1o`_dc9aDQIkX4K,ik7<>j''5!CSr32Uj*<)h[Ah)N\.a`f'<iU4@
101.1202 + o&qr-u>sNi42WMc?R:6Us"?ji3dYK._Q6\heOCj1=W#k;uedR0E<?g>cJ/<Ii.[f(+o<fog
101.1203 + Aq*cY:;pF'e56*Q!A_6sRYbJjXMR"LI5o?P/eH@nI^I=ArqV_$J5:QtBi,f5pPFZ?0Va[qJ
101.1204 + @+LgMmQ2Em5E>EoJ)?j@)H\+bm=T"U$73Ki;@l87rf>aa*)o"GKTX;)Ea3j'Cl*]-*/!A_.
101.1205 + C)9Va9U8!55,6I>"#\ss;A4*D1aH8*.HQP$7j+(56:?/^Q7H@2WF[0ae*AW%%>QpN7[q[RC
101.1206 + 3pk/!BVkKa!;PpJnP%U[<Ah)d$UVkBR-15nU8N(<F>f$Mk*p(`8')D*.AELn2#`2NSW@,GE
101.1207 + ,OR0V?XY]/uoi%In0bGE223,"tS'/Nm:=[&`(QB2XgbS&0.dZBo3\[,tDSWnU"Niqu6?CP4
101.1208 + R:XBB&b(!hhNDF^/+0+PpI-6uQ4!ksbO/Z#W@flDZj["&A1k+(V*'qM[n?BZ=<M#_uf9OSg
101.1209 + J%ZdY>4uL'6c2tAPh;Zt>-1OLl:"uHb.!*o1O-/EaB%RG-iUf>&G,G30e`5r5Z%PKGFj1*B
101.1210 + ?jmRi:'#l"_(r)skLCdY[qll+b-q`Y*&kW<Xs'2'QQ"mJ)i8T^*O.K"Lub-mg+#GgCN!YAi
101.1211 + gse]pcE?8Xm;D8hJe8ADK4mR2lEIi+WG9tRF!u26E8a"-="i]<r-Em\m@&37lH^rhm/$jVL
101.1212 + &5a^:W"o%qC).iuhX2J;1c[$17]2Y4k-FN-HpH_j"NX&`3WI^>5gY\Sp:89\[Y%hi[G6Dj%
101.1213 + ]@(&*U*(r6'=NHq]FH[e9;\"7p&CN9`MI1t$F;uAlod5gHN#OrrqlU<iR7QN9Z[hEd:ZZA:
101.1214 + I[^D%N+B..3WWYCcTtg*k3odCrJX=)4Z5TI?]/o4BfI"E"SN_tB4/9Cm$e;l3UUm5G53l._
101.1215 + )VZir_nSa'0FJ;Tqo6'#n\5b15Io=D&;%`#XM<c0TaD#adb$"b2ScYVZEk!+b3?[he<M7/^
101.1216 + _?bmUb'CsPX$]O4`MOM9&m]kU9Tp8Z(p$^/).)iVnqF<VYd@0WTFjBN'^b[4tI8W"0k-:ZT
101.1217 + $%`6eI#YlkV[9(I"f'5.[FU3m`^o0o2VE[M2=c9I.,Y*'^eOM!ODd6W_,E$Gaj*`:5e!gJB
101.1218 + ><h7j=MLf25\S0CC@O/>RP7)HZ)g:9>?PsjZ^6NgW5")(%MX2%+[6VD@)C?7g(84.q4#H2_
101.1219 + L5h?,!Bh"2+#"W:+6rKb,$pV<+7+>(rPRkJb5p+!pKUcc`XE-"qDo3P1^76"RZb)a.egK-K
101.1220 + />Ps-Zs^"/$o11N7d,TG;t:84MA7Bc^I1.S4B]EU;i'sA2L)@@C\J)38A@e2`(S%i6N5#e!
101.1221 + &'Rb7DS\m1M&'\<e(="^>*):oTZ]k@DF]&_c,4-;3XOac9\I"_o-C6ZlP@CEC9pAa\a\4e1
101.1222 + AX\F$?B:6'@p'fDn&CT83>lb$qXrb_&=IK+R"5]1B@;>cA!5p^+8\$TmOg["$-gL)^Vl#]"
101.1223 + #gKW,Dg`3g/59&Mm*Ya7iU]WXC*/Ej>VlAlrj+33`GVrV*Gkop@S_9=1A#IMC6LpOs7,re:
101.1224 + sa[Em;K+^a`P=@&j7QX&VA(aG9dL<,c)e5rNC(Lb<OeID8+cs"'UgC,WI[i^,$S73lJ\@N+
101.1225 + 8@lqaaP;J<1lRqaR@rm(YV;N>CaZu]oV!^",&$0f!rYH-d>.YNMHI\hJ<!4]VTJJOO)3m\X
101.1226 + O^,(s3?#Db\HOf)48PtGeo9I.MBK[e=Xm*lRGJZ8F2#+Ef(/3OrJL?6`f'37'eRdKMS:0`N
101.1227 + Y(SkqJ4Y^JB*/1W";A,*Y;Cp*rbO&Y-t,ZIfj"P<mF5ct*TfV$K5#".lSN[e.d&":$tTEO:
101.1228 + SGN,t'pjR7nN;pFi#c]j'?>7M<'LPV2oPf2ZZ^lM:u6-oIf(_%EZLp,+BWR6VY'ZCss%-aC
101.1229 + SlHm?9dMjc9/?D`3=K^0CR=+PCFPEr$H7)CBbuA(H>pcK.:!r;N$TXk'1Ji_beASkZ%!iYF
101.1230 + XT-7Ta%spa:"X,Rkc#P07N?B;#jfur;16]rk"=:G+HVIZ41-A%^&pX20MOV7C6;C_0df[#&
101.1231 + X<e<m):u28'HYp<2EBkPtWeE1X*0n`^C$%U^,9raXCgs.!Wb5.#4c7OpikjLP$!CqnZ9HT#
101.1232 + dVM:(k^[N$'Rb_C;!o:!FZ6RZ*+BNNYIX(A(HD//;#]oT#J&b+aYI!/8teo2YRJdSd6rAPc
101.1233 + 9Gc.1WdLfJ;J,eg<Z.f`R#&8Xkg&q3agGc'ugb$<oMeTs*\1tP`U,\9U\NDWdI!`\iDfJ7R
101.1234 + $&<=+\%ok_Mbh:C$PXNK@;i$?;KohD#`3<,1rm=PuYf.M7j[k8=Ut.r<b92SAOJ1$oL:B:%
101.1235 + ei8Uk=RB.r7+hGf#pjMf2/q2-kh2MeLkV;MU?YfkG7\>1=k[@eSYN%'@G-U.dV@2soq`u5J
101.1236 + .Q[Hg9<Zm`N7e7>MA2<&7pIIort4QKS\`Dbe,g\%91^p#YCdkYJ\)3m%hCTL"FD$b"[6;]s
101.1237 + osP*)iMc0D1qCj<)83'A0i"<j7\?a>=73S/I<W>7fe!3l0<o7P:g:a+Z(j.Hj[ka.qalgu:
101.1238 + K!-&l&U@p9N\=cLb%`N!313a2d<h/XZC+GsA\;c*[.\iaQ89[6]b4KklMgl2D57)iAO;F3G
101.1239 + LYi)Uq^nojJFktjO32OV\'QRK(hVJ.Dg(ZurHq)_9/MTX2hO6I[p$\Z5K?,&->pZ_ReP9Ha
101.1240 + 5i#H5U93#(FnhPFfSJn:fO`de6.sdfRF*nSb8#q4fhC5h^>Ku.PpD2jV;EtC`OOt#g2Q63X
101.1241 + =.42MI(s$^.%i*"pi(($.iJL8gV[;h9<LN$mV&,i?Bc"NP8a_UZ"r]UXf(sEWfa((u_19?_
101.1242 + t&jba20)ZsBoiT%J')rZIg>-!OYTRYD7WFT\Zc!meJ\5GdASXp0uQHf0/3@R]ln=Et.5:4U
101.1243 + \#@cf=Qk[fE$6Xcpqik9_B._,``21o3giqQB%5SQgIo4'6qiAN`k%?Y,$aOq=k+BB=hnb;"
101.1244 + 65ia)'iP!oQb[XqU*ad"A&j9?XAc:H8k8R*#JnrOtjDJAdZ,/+@ff<[)hBihp1Z;A$f,dOq
101.1245 + 77^)EULc1WA%l"*L02gB5\6):j;qLd_)p^;M;P_Iaai4.H:64qo]29n?hE>XKf*2DWT-Yq?
101.1246 + qpc57VEQQp<rp#?0.Yi4hAtJ>is%*jPFP.>mob+DB;PSk9b956igkrFIa1Ok@Sq!AmL4@ft
101.1247 + ^WqNNQ[4VI>NT@\"8D6>_2(hJhE&.63t/gSnf)r?0(FBFe]QAJTM"reG)tL/2E$\NgLTTF0
101.1248 + o&NG-KIk;J-1#*?9rFgeH4kr+R+p313dQ&_/U#^1McHj1&PCPGARl*d)G\:!PgnR=*L<G$'
101.1249 + dSr$k*M;iE(0Pl9V"BK-IjD"mVAEILg@kqe:E9>u&BX$`Ui-0q6;$NsrBg.OWW&b+_3bmSM
101.1250 + #,$*nTa$5_EJ>6glW\]Km]Yj,l%D$,"?s#E=F19TP&&-]lMeAJ3/E1E=p!isB[2V'(:%]CZ
101.1251 + g118kl.OIL<-Y1Oq'[WlJA]12R)KgZKu22CM(%k@63c#\neaeCY$48f"^OZ_/(IBlpf7d?F
101.1252 + 1BKQ#)c?NTQQ5DO=khHWsM*;'qnGY^[8KHj=n?mO$t3.s6WcCun]JLik@`d"g4BULs-BaL/
101.1253 + fuW/0X8DUGRoj62\<#ifTam&'9"in!/X54]#BlL,d,=4XF4GZP*r=)E,un$]H:!=%p.NpGn
101.1254 + 6#5DG>8F(3Hk_<Je#%k(-n6?8I"R?!gL1#i+Y-;`f_1Lgm&8oPU[g_cU/P-"JaUmb+QMPO7
101.1255 + #jC.COCnTMVZ-&a!045s%Y"_&7fVsas6sq/E/,%q`sH\!$?3DVO?tB]%h8(AM`k*%.Xb2Qm
101.1256 + =rj6g)i-X6^ulf-?%]WLJ*$)LJ57e%e=9ir(F8G%",^Er/q>[^C0tA0L0`M<E]ebE6U"5jW
101.1257 + :Dd.X8[.p2btBlDBHqj$Jbi`beO>LDY:A(l)q:&FakhCMo*sG`Qi`kk&!<#E,a"rtYnV`9R
101.1258 + @mLQ<DEcjGSQ'a;V$lfeIia!(*l;:'4kWUC@XO$7Kr^iTN@Li5TJT0eWO\*XC0#j4[;Ip<I
101.1259 + B96?3!M'ko6^Ir[gYOp\bE+^0_q#Tl\;KcH1D8:lQCs'GGR;uOknn^<9pF'W\D2<'0OHfk'
101.1260 + $M`LZE-$k/G7(cLD.(,h8Bio/;jO9<LH>!dD'WaSY,:pXI]#l"p^T3tCB%>*-X@3PJIXlLm
101.1261 + 5DZHk1&k6ZA>E1#QJ<"#8$P0HtF1,ppZ1S.;VQ`Q0fp1n%XAn+,:=ZOU`akDnfh=k.^-\L'
101.1262 + XE,G_V4QQXt15@<)m;H*T#B/^7VkOEQL8)#%c:O!ZnlYJ[8"G:8;I!PX1Sd;l'N;bnu3U\`
101.1263 + J2;k-_m=XSV'<7r*W44D9Ie(m4aJH>McE[Oq8/t]E>T(hj$c&P#O(oOhPpUC\$<GMgBM"d8
101.1264 + "cHc6(*/LM!ESeQWR9a?YS,=YNV9[3mkIDB^`=:_E%Bm?Vhn'0_]E#.K#a^<np98M4JpEfZ
101.1265 + q6.\a"cE-$&]6I9-?_gjYFo17LV:0kG1Y*M:U>J$Tm,[^n]tVNa+&7?Y&R6k!3_UmO3I,He
101.1266 + VI9>Bg@IQ2b`ofM=e7[KW&O:Y0?li9(5X7IP8D@<lTR=r+ic0NNW\+GWH-)?i[CTM!qftG?
101.1267 + 4MtY\[)Hn`s(tVL8?7q>[0>Hq23T^YXCadf&&rLmW]RhTi@*:b)Ti^Yr#!A1?O6Gel_O,Wd
101.1268 + .[$].>\d@dR!)'"`-jA@oWH9Dd`XrH\[X$%sV$Hl>QV8OQ@0SQnTD+LZJ3B^e1fMZH1(6&b
101.1269 + U/IR[cUB'OKL/Uj0.S4ZS(m2b:n>XAI`q",JR]7dt8R0tN2]_;.h6r9=\,\-_4.?`IDS0:o
101.1270 + =1dSfrI;UjE*,4L(Cc/<@W>M_AiC`kaC/Bm4/Q!IQbU;A:Yb"%4T!K=F3i(jpGDljl>d!OA
101.1271 + lJa^fP7ZD`hQB^$3b;@4,0JD26u.ZG[*E[(QHJrEd:a*8CVFdh/c&u^8G&7fBd[-?+\:8]r
101.1272 + np-cQ'K[EmCi(1E?nFjQWX?RRF$<%s2mBbcFB#;9CH-r2cR6/+3GPDu_Am'M5qH"@.e(&B2
101.1273 + <GikBE2Ya`kD/ZS*>%3s%n\H\jDlPqb"NrnCaSdsg]'uc;O>o1KmN+EmHOfWC=`t?K;#KMg
101.1274 + CQQNksF>!2>0H*FT4pbHSQ+i+0m.J+I,PqR2&(CaTb,L%8L<E40Z@bed9HoV9E2p_t__<pr
101.1275 + !i)b@4YMDl',n@pYqQ0i(ie'u4jT>YrBJX@Zr&nI9Zo?>ZcCT27C4Ws:I)0Z@!L9]!GlN)2
101.1276 + U0.4hD`r<4\rLb[7*sBNHINc]2"VL"ZfXP?!#SlN*brm1a=^9:%0oKPV7k]d%dU5@[sAjDq
101.1277 + 0*,6]+$iX2rW8X!B*SF`rR,;duc"W+^!0WkGCd&ITk&3f@IA;_#7fUW>cNM^Z"@7r0Er^#6
101.1278 + oKK1tYH<`dQ=IG^CYrI<`B%L%E^Z/?]G8/9"mQs+-^HAGYf2;AP=<[,nN=Qq]jA5,_9R]7f
101.1279 + ;Jk]r*fZ^(Pg?KA5[G-j-]YiM8e\n1eLc*Edj/Oue&D`3j-Ac&BA`]1PCQ(tM@%'iUV<OFb
101.1280 + ?U;W[.f@c&XUQ(91^tHIV]iF4.+lP(`E(eRXo>l;`q:t7[FEr#glk`;drAFUql]=u]%*Wnn
101.1281 + [bo_WA#lK]%Z_JfW'e!c&&lVV]n]qToJ)8b+W0R$<IqW-60USqP8L['oArj/mF38CW@QOk+
101.1282 + Jd<N_PO&l[,paa(<rtSZcnbpDqLiK4+gcXhRSdPS(_^Hm_I_nE:rLJ_dtJ%F6HY4LrQ^r2#
101.1283 + t-H&N9"KW+h/p#n+N!gV.^<Ypk,H:S!6eabk=O#g%i7s4Y,T<IVtl44)p^?UqKpskU+UJ]$
101.1284 + F]!^QJV,Y"5Chdsr5Bn1Ni.8^^-LFhRkT^8h_e<s_79c=)-LmI3/hO8OM)&NSn.mP@+`CJ>
101.1285 + 1*iaoRD^dg_RPU_'*S/4WVeJD@#cDi(9UH_2I,]IJ!,S;a9(EL.PEd[6fX!gd5(KL0hs2e=
101.1286 + KN=t`*#O3nB.O#I!-Y/6>tr)&J_fH6)%=,@cSFB&EY+YO*\s)OM2_MG>f'C`,gr8aMYp47h
101.1287 + ^[U5\LT=oL)6/P+8UF>)k/5a7@f$?\:j$nS1Zf=Y/q^af^,)nc"Tu7VGL.Sq(FH\%lJ;!ZM
101.1288 + OTDGX39aa%/Bh:**!0NqRO=_ruRg\QQ#E\N[K%%O#M/S3usWk&fX0jbe-N9RcYP$!J](mI]
101.1289 + <:20)cVkZ,.'J(BNc1OQ6N?[F6_2N@X(G->kJVg0p6thl7],>NKkCiAs;pK\>(q<iqngp-'
101.1290 + _I,@ui('Y1<g_tu@h?bJRcCLKRL_;GT;ee2BO#nX-6@")=h*a0<>(g8)/%/P2`]>tl'qrI8
101.1291 + =g(J4_[>6V+5,kR;$hNjQWKtFO!`$`jXWu0lrTcc*9mLaJW`X6"#?3HB1pD(BW\gWAPf8$B
101.1292 + \7<:3*CQPmXNF+f$DPX\,QZoJ2/#CG'/J01DpYnuhco;,CfX6Nek];0fht(+Nad<).5V(Y`
101.1293 + 4=]\%@li5:c2O@%bCrH-P0ZCdk<8=4CAO4/uE<jNk^%g5e1[SFtJ>:jFQSG+XWjVZQ8QW]W
101.1294 + r7]eR+,"NIc>-09nXqQ,l;5C<MlfE>Y`Yog[3p^9jnHPYp"eM'T@-G\*(9n&*`KLV<A#Uo[
101.1295 + V"S9[>hbc=WG-I<FMU>5=ZoJ*)gJ8,b+5:WHNbkr%Cu4m4V7_T!l.XQ&#&]q*;NZ8mj7Ko6
101.1296 + L6B1"]cuN^_j-8IL\<TB/86s7YhlceO]PiC$d&O@WDO\gH6Ejk&(_a[a^AiUB`R19]_d&`5
101.1297 + 7[m;Yd95K<b]ma^6SnM=F%a`Cdkh(FqLqkl^&t(_+p<fP!RH"`:Ns0*>Vq[;7O>Y/g7b$U^
101.1298 + G9@W99BQr1l\A5`ScZ;Dhr=G4LqP:L\D?<PHK?Kdt!`*R/9rd[u#e%eOICLB53Vin(L5g6^
101.1299 + ,cFrAR(TR0jR:P+7VJsjO;Yja7=+2gN1oqD&s!(bskfH6oI$GhN4_b?k1-B[,,nf-*MFTO@
101.1300 + ]mJ1>,q>8Z.>LHJ\Na-%_dYDPM0%OQeQT.WC=;j75R&mgff4KFJg$kqV$,2N]F*m#JV:<A!
101.1301 + @rIq$KXVKVon//Y;S0[Qd(V"a[W"L7?#4I@d019G1kVE-SC`9VI$(c1k4n)R[S';:,>;9bu
101.1302 + ]6M._/clpOS1H<;>6]9A<FPcLKd])a</+o7#5lrC7]&\>AEAP6rPM[!*U!m+m:M$AG7sGY_
101.1303 + meSMFWXrM\3#<5VR>*N<[_Oe(7qP&al'aletoek"/E!C7P+!$<lt>gJiEY&$V<.:hAri1f_
101.1304 + D%>&C<(M*CEd<#:6@5`S\0DoIU(Z(Bb3;13D4'9)95#Kl,_E$AD")m<0X!d!/qojDU;Jq19
101.1305 + RT-Yn;`V2gDZ6usatE;QS(g#))rJAVLNt-!pHS-F"b.iLKfJ-<%4-)J8G+0=*,fYf\:c,0$
101.1306 + dOO3ZVBeNAn,3E7i^dTp-D7/fO);K'^/!_;\r/*hRuFYoj4bMntm%?HmKg^lSJqSYUJALpQ
101.1307 + m.I4GERkalGJm*%;q&K6tHSm^;E'0RY=/(]QQ1EUM-JVB=0M^8P;Fa/o/FCrl:`\m@<&M/)
101.1308 + ):Z.!mDG0PL%7Q6]P$IN)TIt-l-,BRgj+nRn;R.2-5Hi8H?pA_>ss6p0kcj9\+$NFQ41P6Y
101.1309 + h!Se^B%0>r'!Y>kD@HJP\a>+q&*5Tl$:cSS24T]'Y*C811+ljUD_#pnh"V;q$%Rr0]qB$n)
101.1310 + "7T:p:hUfap`AD^1!f:f0PVV:TGe7$]k;F,6$O3,i;O:D(P<(uYYPJ-B*Bso"b]c.U&$SWT
101.1311 + *k(&W.F4gd'X5mTaU?!!?q=@E#T23bl;,6*'qLu+mL'Kd1#N\"7Y"b&4m#O:_fXR#S$^Y,\
101.1312 + GD=Us%eS=JB>NJc7k#M%G93@Vc,Y.%(ZcK%"UVas>sjc&BZZ32<RBARW+\Dh,^.7ha4%0df
101.1313 + HBcCF`?Y!'\J_1EAD-bqG)8hP$WqiPG*EG62a<qXPJ3ACX_d0UB-$MLZ@i(4d*6FRP#C@Wr
101.1314 + iFWu/FVc+61MF5cN6Ao[p/<&eF*>EFVj)I790i0G6<>*>5N39$kb"V*JD&i)m09<dX!o3]*
101.1315 + `ZJb-r2n9BmF%n.e7gD$'e@ZRD<UAFd(I79cB7oEdJG&%i%^p3#_7aSEZ$"!<mRNbck79?O
101.1316 + sj==S.U;h1!@<UE]G58bS[%21"#S;Y3-'_=!CN_,-k,kdP*E&dMu.V-7Mt8!H&\5*@?>U-;
101.1317 + mhfOoR5B"XS2?-XfCGi(c$NC'm5&-W3Mai2%VJo-[64i"'ce7Xh+FXp^9t.qaBlU5^[@&BV
101.1318 + 1@d4^<\O]re7R#H(.q2r*>P.]t;0cGZ;g/>"%YDgCp6H"si*A[:@EqqA`$Pro3.^IAMiKbH
101.1319 + ,QQ]9>0d/P3DL.EM<@d-n(Bg'Vd_ROAMUq@<KHViY/8m4`2&`V]_=KuJZJ*uQ/2&d?0QQCJ
101.1320 + UCd:_mi9dS2DY(KDZni*^,,2p*_sm"Nm?HUdV4k7-o.$PEdBI'Ij];lJto1u&ecF0KfSSS+
101.1321 + p/u7'9P<g=X,.1,BKtK?kjpW68>g!3j.*Q+TN&\K0#3[+EB+s!uWEVdlJ+]-Ltq8o>N\a(H
101.1322 + D$M]b6)KUEM(Mo-H/[.DRYc5ro*U2_%[X3eQjR&],0Zn1TP//u@!A:Q%)m*u`#)4RIqSY7`
101.1323 + !H-9Ul&EM?\bMB=EK:,%nW6IAFX@bjE2d4do2/J0Hd;-lZ]o/9Qf7l5?Adf;G9(5tZ6-<)$
101.1324 + >FAdI;Y=Pjn7>F\k'K.C>3Zn!!(">QqoL:-K9(PnR0D(AYnK9L7UIG<T4S35>1L0f6G>.I,
101.1325 + 2MDSK9<TB#68XYC2eLA6$bC%N_a!^:*\.m`bL]Mtd3.He3O20f^_-Yk.68-<1%WdSOs`D51
101.1326 + u5PW3YT1P8t@=q/chU`*4'%E[21r'8Q!AE4k1cU_f7jb)^c?u,r=mB;t3h-#=!6g.2>bJPQ
101.1327 + NseT0%UI$m<GR%g,N2lNRC\4-XI[&S"nmNEGk8jOANZ-Z)rf\P0Ci=d>fDPgjGhDb\Ku:(G
101.1328 + ?qZ0Jr`mU1V$)W@h:_&<ona^!B>>kQWQ2;)7Mh-G0\>bUp7!Uqh[ar!Eu?5<-=[J*ubr#4N
101.1329 + \'I+e@5u8:2qd6%;&&A)J?r."-M@e_W@.hY]iG'.'+rVUO&p>R.ei-s0cl"!i0u=,8Fus&s
101.1330 + 9k0Jb!jF:3[DQ6m:LN-$&])g36'SCX0k46kB/WV"G!BL^)BU-`*`bpHG)'>kk5M+pB_I?s<
101.1331 + ek"(l7o^8?T+<eG)9J,gbHXT'u=0iG,o8!ZF$AIB(icC!C@m)'j$:12RTE"_,Y?FT5F&P't
101.1332 + *:?j-*SfMf!Y-D`76uop9T/hATGq#Zh-f_)6,jKj"WNDq>]RFfKqVY3[dZgonstFh7N-IrS
101.1333 + s5;ZI^?2`Med4`_E)7kaQT^t!P#f6$aR0i7ekf%"miQ3[.l/mouKG=i<1NHX??DU`TIf6MS
101.1334 + LI"F9RGNP%u(Pj\d$3;9SGr@,fUIT:naLP<GGZU]@[i1Hs+#c,)*b-*N7pua8<DJgoH=HLN
101.1335 + GK;CE3ILQ$)HXn+A!:=drH;7S',TbYK(jD)]cEI'?Qj-5AP$=':_6_/<eDW@=1s)C%=n3bG
101.1336 + @Z#XY?ui,oN$JGJgB[b3%,7r/U]*?H0h_\3$!XM[<emQ9od#R'6Gug\=L,:4*SM]pcKt?[t
101.1337 + WjI!4ZPTfP-&LCbXEI'`^CPAa>*1M13a\Ii*Q0"%i[*N,<e`!)W4l!C)FEn/c'OJ=)+LGc?
101.1338 + RqQZtKk;olUgQ+R:/@M-H&N&+[j9s92:Z]+'_KED"I;fRJWZVEk*K^M9_,IN5Mcll'5&#AO
101.1339 + lGkl<Gmu#]Y#l+X>91t-9%>D<BqtU.d@)nD>\3(RgL#BBU=XeX"8M9C+GBk!gGr_(_NJeZ:
101.1340 + 7lE+8Goeiqp]+]ePp&qg@I9>Ss)AoDQ6sq;=0*Lr7nr<T1)U?+fm/ppH^1;k7@<J&iD#]:e
101.1341 + i["]Q<2%;JWp3RS1]'i#iXI*GlNmcKpb>;M4m.uVUP]N]FObRK*(S#=g=L-c&.oTSE+&qg"
101.1342 + DjK8mofQ%&&<FH'0Sd@@^Qj?[6@=3H&+^EpUf\Kp\q[3XLr,Xe>0'#<DBt3@l9Ag`6C6U*+
101.1343 + $AH5hh=X`^?UFE8+jH9%b34eqj>UcLr?H:apD9r.V_V)hVQH<I)U?)@C+VE/"1J7kG+h1C/
101.1344 + 4&fPj43d<'`ae=$3W&K3s,#)q4T;GeSWB-<DHC:bDSZ2IZW]H?#H>T.%)63Gd)k+1+fZ<?e
101.1345 + '<#*M;Ao0]=P6mp,?n=9Bt9"Y)A@rf*X@#MFS(Qo25cU1l3n4\*5WMc3B<hnTm\u&YWE#mH
101.1346 + O6pg%C#^AYr`]*HPs*#(PY0^$/6^?HRL_^J$,7qZSe/LJiqU'*OGW/Zo^^`HV(TV9sjbs!'
101.1347 + =2`!-T#;?'lMuZWgs0qSk+lh/X?)bk$0&g'*Gn6+?[F"Ik&`>D]e1cWC12\K^4)^`XF4SWl
101.1348 + 25./O%Q)l^E\Xh+D7]0!F-?qn8C!"`68+^6V0gW@+5e$FWFZeMt&HeH*Eh7`^EYlHGkGUs=
101.1349 + YIMr8([QDaKA6$(4\$l%9XV\?[Rb*VtOpO2O!dk_Vg\CYu6]'e<(*"WAJ7FN]cajVfD'GYT
101.1350 + _9&&!4i@1``&pK,HqD8h9uQs,`B7/>Hs+G$?,c_M`]RhPHtgS[\$P!'`uo`LGA\87TtGala
101.1351 + ?5.Cqp6L:hoP_2aZPj1I$r*hS]Uf'aulNB5eY=P5QI=Y"['2<H7C)MouMNr3?.lGquMf4"c
101.1352 + `eX^prjSi8:c/EWGo9'`>h+>80&j,L6(C"2*Zd)l(\gL_AMEYkoTBf&LXWo>hpMd6/2iI#H
101.1353 + B^(WX,u[6Ocuh'`qb/WesdbP`I1@i<L"U!1&e:,TSkGe9/j0@]qF[6Y8PI5lg@l8Y3>_*B>
101.1354 + "@*dE7c-O(,1'"`6HNFDBI?]'>7[Yt&feqAENS*PQJSFY*]oXsdC_9kQ"F[,Yn*+Ng!Rk>D
101.1355 + gEQC@_N31arR>%oTK+tJh8uq4)@U0ngIH!R`*OBGh"S9Q%3=QcJUQ,I1=2TA0c>KCSbR&HF
101.1356 + p#Y$>X>MII1b@#%H-J&dCp/F>?G`dAcc+^a1BaRqRZP@c/F++gOcW1]5`i/8).6+F2?&,!0
101.1357 + -'Q1#iH?h1SfHIT_onZfV*FW#]m>!r<TPCei]e!LiEmIX!]Z#M=$)fY2(`IY`2S($MBK^?"
101.1358 + [e)^Ga@g(dm%1**Xa*Y%.84u6@=XSMlTSjAR5*UES5Gk-XnqIg68c/el&<ZY4/=%3N<gb)t
101.1359 + dmQ#jESaR*c1$p/ZDLTW_1Ct7LrPAi4kS.loT(2<b$u+RZnG_2M!p?GNmLhR**@W/kZX9d5
101.1360 + &)CQn./l6B5.>R'8TNKN3P]F$^a&KbT:B7@C#7E&+cl;s,po=(O4kE4Io7GuiXm8Pjs-qb^
101.1361 + MESYHr_=&m3.nmH,'pMCD.qXl@4<2h_HJ4b8ri1gb.!=.Zb%++-b^:q`ZD'AcPTBHi*d&%0
101.1362 + KiGT?6uhH8\/f,%)q!*c)N4\"(3Iqh.uDTB6'elpi.Mro9"6?hMKiRNN.9'Fk!EI_jp'Qdd
101.1363 + W*$%>1tYZLH,.2@b0it7[.DE/_u8)ki9&->EL(<PVMR8g=l/XK,m',d%[Bf1jC-PBS3O97X
101.1364 + &:WcWPXUYQtUJ7^%RT1u.9rCqT'cN?4W>M2VlP5K^2Rr"T<$Fog&73I)?s2d'RoQWED7<!)
101.1365 + 2]C*'l#41>mh_JDmeKX8hs4&H(&&#g_dW'PS5q9\NQ5Q")'"r<.@#gDo+c:PD_7O+BCm&f/
101.1366 + rm<VdqEkBSQ;psXk.3):CE`E?P8/^T6m-Y3[#-fdj.<']UW3@j)OH9^/\DCbtW9=cT[K[W!
101.1367 + Vc?q](XJDn4]"<VbmZo;4(lo,g+1H242'de>@X&3#*b_qt9=l5(6HbjkK.5O\aH^PscP#6;
101.1368 + R/6k]_iE+Bmm61BL@bQ7(Z3=*Lk`#d<jXXd0U_smjs&O^?6@f@\`Z4M\u:"g6:TWoGfiM@,
101.1369 + 3C;q03_QHMOBZOg.,b]U;@`WPrM^(W.$%!sE:Kjo2am)]b.3tXHWc-&N4L39t;*;6>9C-0o
101.1370 + !hL&.b;2i`7+4"fF(/tm_P172HHp!$lT7kggtOtK&DT<TcZB<m5u;939WYCXlY;%r&Q0W>7
101.1371 + Hg71)(0;J#tlQl]e\`#@i[Uj'f?,;9".?BUJk(`78h.IjuTY7<U*NT/(SD_qcd'#_J(W!mA
101.1372 + 4l2:fA"4f[ogCMdol_7?]URl.\-VZnsPC6s3QbRm*l)2#h=FG3-<]=t74`73C#j)VuV(oP7
101.1373 + $r<3<i"#1nQ`PaD-;@s\6C_9[O8fB)j[]P>$f-Dk[Cju_MiRGNL^3+V/thpsr7Bihg!.g4K
101.1374 + S`T<"fGih)KA,-00Ag^W#;/dn,(.4*clG^)pAbh'iMWF$Q;O59YAK;Rm#aAah,]ohrR7P?3
101.1375 + MNo,!6@&XC^e:Uhi49u)2QKE;/ZU.iVR',D)O1J_>WAUmYqe;UYDm@F7anb^HXf:&Uq&!BG
101.1376 + j\t"laq&Q%eI-^=^nS$DgVcl2WfiKCmJ]C`)qHCk`1'&h.\d$_+^Yk.W+b?+"hEN#+m9h6!
101.1377 + C!nM%nbg3R\6s7mAcpq*r9PFm>"0Sa?<1CYO%2`n@hsRu_XJ-G/Pe^\@^TMXBni-Oc:1&RQ
101.1378 + 9m>s*ReG&gnEeKl$85kqI.-'u6t/\"@7nGqGhF7X^m6T]h!M20#0QCia6K"kYd5LsG[GO,2
101.1379 + OrK;<l^UO:E?k`]2%dX0WfEhOa#s*<M-3lg,hXUXKasBh;ILs@5MaugS6k2JF0%_:?cPlp9
101.1380 + :m@N1#Z+aD6n9OUhA7Z_6OZUdpJp3,QB"LT^&VRf8jOS=6hk2D?b;#A0a6H!dRsQ!1eW[f2
101.1381 + CB;S%0@`#[t/(U#/rR,(.c@VJqU!/6%TlO)<-d)-OHH9=L:Sia]B2H[I9\qZO$rmoIXfgH\
101.1382 + sfP6k.S=C([=-&\#>&P&aAFjVW%C.1cWX;!O1*r9Zm2P7_>HH\hlg,tU*O-=kUlMC;Y&\-T
101.1383 + *+,.sP4O:!U3,!Q6jd1'`+2DQ!J-S/-eZ^-aG`PLI5#ULo%4><FA&bt:/%Y8g>o+Vp5E_?b
101.1384 + X7([oGl8FN?<=$b-AjF:b:!IfA(ron9+EM@AbemR/+IoC#%*D1m#qn;O<9p*7N_Z\Og=2r)
101.1385 + !0hQEHTC=cU.KI,H.',2'_N$)b\XeU;r!GF''p/X:^`tMi'Irh+[M[32'f*&?P-dX0;FXjH
101.1386 + K;Iq&l9`B727&A8Skpfan85.<9Kf/Wg?W[@&<%70k:sCHIGK*aCiXD;.K9i;t;"Ib+/Q8;c
101.1387 + L_48#]6S*=+7e_E&5%3CBfFCmWM;X&6g$9,caj("IC<ea[KYC71'O;0K4Hg0%:R4_q0b[0T
101.1388 + \lgq0Pk*j.BND:>o4\S:_%W%tl^b7Q*R//5Okmn(U?MT5V@=aM0t1c8D)$"Q:9PE$C2Tplo
101.1389 + %)Tp8]O>O>(1f:GX_&08\KFE63HRrU+/EBol!0S'Y>Q>s*BhXhigKT#DC+Fnj[O!A'=e^#R
101.1390 + Nt"m8Q-F/MRujX#`;?I>rXC:Z@pu&/8Z*4c2Fc-h,6q3l!Yd%*%-t`M?qJucpMc:K>L?L?&
101.1391 + U(R(V.<:CRRp,*n@ha(g0VD]IW*VX[qd>e>4Q3KmKHZ>EX(Nl7Bp,Oh@!$//XtPIRYr56Ne
101.1392 + =f5>hr"YChVKJ\:s3-&L$b%6p;h0(mbFgOm.a8m+\f(W&ir9:0VXOaeMd.SWqoFHuZjn0GP
101.1393 + AWiuEW3EY0h:Wtub@EbB>.'JL`9_'YAYR/ZM36ct4G#86WHKPl3)BCVDSfScdL:Jj>26LQ]
101.1394 + 39[H@<0KI:WL@l/L(^b>G=jE0L2O;!fZ"+;E.9Z'P><I5OCK>Z+RMPj4<HFe+.59.;QA^m<
101.1395 + 23!LJm!osL6YUWWQ0r&ZEB$R?@73=X1BfG%=EMF2&T!-ZXs"lJ@>bF$@6_i\j+jFr*=VmdX
101.1396 + ,;(G<@@)[eT,<+M>dXd=RcH&m<,^X<Gp1k'4D*)LeJ/ffd0^%S_7*1V7'^b4'HD)l--MPE1
101.1397 + F,]3*Lp^lo%EGWK/'h["41Li,Dr`gfZnSHVEui_I^*n(?&JI&FJ[U[Gn,8=uRIc*X_XVA0J
101.1398 + \b#D[9ogTsj$$'7SdQISlW7nHCj^oqnZD6>&'9`En,fKamFV\c9*+rSm0_!o(BRqI[>CZ^p
101.1399 + V!Efs?28nAr<s1gd?,nck6SCe/4Vj0;/S367IfiU@<1h\>(/)5XB^-RA@o+eCep>hKi^sTX
101.1400 + ohr"eH$jZc,cVb5%C:X(D@5]X[)I&P5sI4!IH`.eQI9)!<\fMq;#q3B'JZUQaCfBe&H$J^E
101.1401 + *;0j7uJS.A&gHg-qRTdKI,G/95_$ge9_nIo0$7pE8N,.I1uMDWX$`[D`&Go9=)ue*1b`rdY
101.1402 + BMNa7Oi1]CuV1agjn$\iG)Sd]Lpt2PH`3A.",'AS`H05U<S*fe79\[IV?#do=4Qq&_<Tp2r
101.1403 + =>,<f7?HBZ,,ToYlDT9o./01rF_!?D&KHhP(362CPC:\P!=\RiANQVj?LSXk_@%iEe$*!$'
101.1404 + 3!\?<J5Wee)3(UhgWrQ*(&tped$j;CPmhRGJM4=sH"7e^I%RB9?5=o+qbKd^*Qba9d5E$+=
101.1405 + 8=.)iNk`2G3E+eLg3C6NX0=;/P,Ke!W(A3FI]R4+_,1`@3i`7N+rGDE#c%fn,SNHonMk#DV
101.1406 + P>6M4=NUbAAJ:O6<K+3_ph"ej$?'_6M`9m&MCHF/@dfj];&1_@rj?@?+p^!%bW"[.=2)Q.7
101.1407 + 4+=JeU=*+KZg6-c>6^KK)jt$Sqt==@=Z$4gZK"r%/4c7@l=F_mDs&M*8_\<CCXmWa%.t/2'
101.1408 + DU0L94([feKKRclua1T+IW$G1*a3)IRsV&pf^"4UF4"ATL.%E5D37C]CNb[!<2[mWm^7*)1
101.1409 + B\`-#)=iN"&&j/c$9M7hTO?%rS]2?=)A7NKH:Hu(8[-RWYi<VNV?+@gX6dWrB81d=O#m^:%
101.1410 + #/WGkR-bi[GfKYcJ1Pq*e+puT&B8+I7M4Ot,]uW4ILpm;\0QD,g57s7E2JGp'm$`(9MNRo%
101.1411 + S!N8`k-3#9Jeb4$qB;eQn&u*XB,N=N_!R0[t&&1EiX_4Op0'n5id5X]RYj7Hm1[#]jrP4oU
101.1412 + /:<s$uk(2.0,"bah>PABF&V6u7F2e5V8"qmXJqPOt;09SWo71;2H[73aJ*QmYLnP/Ed&b"0
101.1413 + lI#Z=5*X["!>%rc5K9U*JsQ,(>D^sn^Co@D(&[S(;a8[-1V=M7+:l\`<6#m@i53Y]^ufunI
101.1414 + ?bE.XuFGWF)1;T2bL1J4bE(hM'gkD9=9CU+CFKPr&),-uLbe,1D*+_c)KM:A'8(>US%+,K*
101.1415 + \3#'m.7BfPo-TMS0oo_,YT!QtP\;*PBh]Po9E9uE'Ac?6hoK5P"o;_[:pUNtgC.hXba9_P9
101.1416 + BO&ibt%sM$?VT)bg9*9l;":j9dms)^q7Y)?\p>-Lr:2<,bn(tffNEl::%f4d#(QIVp$\ia4
101.1417 + thjiMH_\qE@%6$qkpJFHJSV28te5c>0<%;lNS*oM1qRcohL=I-_8,LJ1,A:jO)d,h1+aQHo
101.1418 + q1Jnml4TiNSpJM94W`f0N99;PE\JiPV^c.r%cN.rF)>!+KiSD`K4>nII[L]Bj_2C"[oFWEq
101.1419 + '!#2g(M!Z:T]`V-&,#ThU:g$'2r,5$?JNs8;aB^#KjUqh2S3ncubTdJ.o'*pMIMbU7;Yut:
101.1420 + jQ4gGW.st$2BeqIkZ:6E*g@rnLtt"\XWc.>3`Du8;F*QHM".?imYN+RbIRr,Kf_/7.>Ra-/
101.1421 + *)Q'N;(GVL'@s\!Q@S6D+R\DWl-;f.^62Y]UjjOIT()U$&(ChrD?F_4B35_e.kn<D*lQ[7#
101.1422 + I6e"#X1\NEFN2`^mJ)c2/&,$=uiC</Hu4ebH6I%:N0hDb0Os<To[t%:iLEd8_c1#h;mTHPk
101.1423 + :;h$qM-<G8>2,=+nW`)X1?L"1,C/TD(G4'%H2;s42^eTD+>G"JN?f.`1b<HqT8L/rGC#T[U
101.1424 + 1])5U&EYN7B#Ljead%o7B-n$&mdc?h6qAhs#<`dY60(>$UoncdeXB0h*#T\1m]o>F6HWSaF
101.1425 + f\5+^j>,?`%9O1;=<s892(^MqKLq?ULW'PP!1(U&%F:\4=Z&sR3Jjq^R0`bMg$PFtoo@Y;O
101.1426 + 4jrPfb$]rF_jt"_ceoA5!2i!%-#pINEQ4X>.a@Z*I:m@X=ISP/)3t@bV[DCKA,_!63XAk]r
101.1427 + P@#[QA?.=.QKuC7JK+.lgV"&7oc<=@EEb70F038EIV@otXfQ_-AS-gc`MZ5\:6dAhTNtLJ>
101.1428 + Zk:!$Y"b$7BVLCe_9&?#f#FbZI0gmuVo%FA>sHjASW$@lH<#[Z<bem0$AKFgf]J4p<;:^3:
101.1429 + `?%(L6Fi4H&D,XQ9>M[$Le^<3t_1j(Q"sBiLJ:%TUia-K\>fFqpIEl*jiER,IL$N#K9nuqY
101.1430 + \R+T`gO4<NNUJRFe(NHH=6Z6CeLXGV/\$$;K[:<]W(I&lq-TuohlZf`^&;<Gra3qL"Sc\ap
101.1431 + o"D$Fp>AS?p4JH7K24>rJ!RY#!f*j?u1O/"^nJ;?sX7KW-F*=G`%#;L+kpO[LD*.&HVB"Ja
101.1432 + fXj?rhkk&RfPi?e@1=eCP%epYUuIi>rtH:e6=S8;_q;LQHN7Fr]JSs'U!U$@W:hVBTB=%tk
101.1433 + tig!R$,iZhi.ceddRik''b!Sl\.cX.G=.$_@[2>&`d'[>roiN=>6:(,ta!=F8W?oB=j*][T
101.1434 + 1,@HN<j&S2!^('#aVrDSVA,Z5^2A?La'k(]6j9>NkNZ!_/1h8d?@)a5GkbmD=+QRu>A#9Lk
101.1435 + [O#FL-K9:Kbs9/Ni-0q6;$Nsr?r/lg!'4[>;$N\9L7lYC&93F>qW3fI%/qjeYX=.16f7BUL
101.1436 + U(iTAm^=!s(0hMLr_1PTIsXg<97FbATh/ap+'VOC,EXV$:[m(-<"JF<FocUAWBpTY$'l+$]
101.1437 + E#7AbKL<DIMZ[?=lZ<AnGrCITML-04q5/gAGbQIAOD)Q+&hdjDI*D%KBpM!T5S'jL+gDXs@
101.1438 + MkKP2,!j5(;T#(u+L6"*M'kair.:oWX_N+'FkiV"C-mXXLtVd`CEAF!<'d&#RV=(Fd1%%^^
101.1439 + [k$`tZDhZ2CMr'hZFiB)Hs(S-2$#ZABp77#bM<7>]B#r*VRg'"gB*=kfL&(7RL8X<sWbS-+
101.1440 + C6kr9Y,m="C5!e0lFsB9%^9^iXQojqLF?VhJ9(sgF)*,-CG*,4I]<VAGZH5jL1kZ5DRXE<\
101.1441 + Ei:W#Io2;^.iD:_JAS@KNMdg=K1RtVee9%CbD`&k-#,R4bae:m"W`"NU,n2[VUIh#*;S<?>
101.1442 + GChQ>(McN0]uiesYd*Ru>kIMe8OEm[EDFRd(X-C*n\mY+o_sd7p&69rT?\^jCq5C2PBY"%M
101.1443 + ;<7cWo3k&+MgDF)I5Gc-9mAI!tQmV_-(cKoH*l_o>_$@qIJ7dKLam;F?67=]4@=@rf.o5AO
101.1444 + ;ms&RT&93Sp3.m$&mrn,;L?jnT@#B!ELXuBB%fL92*!_TmB>fVR7Aa$gH<sEm#C(V,T*XqA
101.1445 + $#m'TE5)_KcO4^=I#$`_ML#_ek6u=e&of!,E7Y\WfRAV.W,UsJnNRZV7i?<-$Ab40$;SAA^
101.1446 + DLtJ)=cX/LQHoQ0W>;EI0ZAdE^(W7d!CJukmEIVE^q$gL!nd:Vhg.XnqSc:89aT*((,O-E2
101.1447 + Dc+<g5G\PmOm4B4+*fTSmF-Q>.8YA[ZSi\;tKO[r\4MA)70%BU.^ss(HqAD,/W8`W]rkaD+
101.1448 + WWj=ZR'(6&Zf7,s;Z@s3KAcA(R+VWg$2BQ+=Mn>?Ae?j!T%iPpc9-B%N1N8^(^hhP"defJK
101.1449 + W3+J%%"dglY&BpGT:CG3!hqhja:l=jUhXb^-o7d#%Y`JC[[WWdno>U\"d$8\7LZ%=M@).\B
101.1450 + %mfALa60E-E%'k&a)(J%!VY,_p?-@<%rc_7DMB9C#B6U^+EM`SEH_A+GAh_M@)6mIVf,(KG
101.1451 + JA@ra)KT@?j`:(#&ep7%t+-h>QWh95-V"3:gSA_Gk`Y0+^Vc<fPlV\L3TnWG3E+`W-*&Bo&
101.1452 + >Z#fbuP`<dn4iHXb$+@)k"/^G:YKF5Pk\&9hUl=."n@<bFo$l'>^ap/VI^R-G.Zl"<?+8gM
101.1453 + Sa9QWd&@uj'9O&Y)Q7uDIKqHb.`TVch?9OpXf$?&[]pS6c8:l:=/HEKd7:.B@rXl1%VoS6K
101.1454 + +(K^9fASi9Nq/-+VGm=)3Wr&HhH*.&;+HL/@rV>**q<lu4rSEKgCCku3Ge]"2:ORFGF:*M?
101.1455 + GdkY>7r7peW->_mI)!aVa*r7%-MRhiI"uZc2hVO!Kma3PpO@u0c\_TZbkGb/pt7t&6r;IJo
101.1456 + tsgZ_e5.eB9V6IPdEB7M5Rrrs5<N]Ef8ORhr^O:s.<Z\Du9RoLtCJ?StgT>A(KC\HN0pNYH
101.1457 + \Fam,MCPok3^Na/KDQWdbKfG&XAUcgtZW'BlklHNo$"fV`EGZJ`L(qKGL'G?B!M$?`(f#Qt
101.1458 + &0"+igHd!.r*&f""B@?B\h.O>ac7:OYh`(hBnLrNrPki=uZ+-K(HNjba;E8OnhV/(nrSZ*N
101.1459 + ^aC9'(bJlkR=r/Hjq?.7#6NBtse7K^JK1i(?C!\c-:#lBWXt#]OX^8D<Y#[('])>Wb`-5/=
101.1460 + .V1E)_/$4./2m@:_;P3s64ZS`c+<Rb^0AN"('W8'9d[2bG73gY\6N_*TckPAo+.&'f22g.p
101.1461 + ,WQ>E4th0N<Qk-[<6)gg3l@1jRAr1:E''3qdfZZ5;pj$`oh19g-9aVm8!t@"s.c,TE/sYLW
101.1462 + eh$H//CS8#=]"FaDkma(Mg7iQ`fL?N=(1`^0>]hLA%mJ"1KJkh>XKAj[*t;\8;K4GW58FhO
101.1463 + >ZHhql^l,l?iOQ[YGn=f&N'aCI18k+Y!aa#@KP-BTh8u;"a%1"(jPRR]/"qej`2(@InLQ7)
101.1464 + hk_hl>U)t'nd./\*+\*F2EKiql7$,CLEO8ddLO$DZNA<TNU:"o=R3p&(I%_t2;Oj^9b0mki
101.1465 + (mH2$67is^e?L^O;]7Crbg&271qle-p7T>W%,-BM0E_7S]BL"="@:/8&I;1ZFR9E%d)7LFc
101.1466 + DW:2&3ga=%h_:T6r=[fO`X_CVm2cn)UgFREui<)%"BD@E[st[Pd3g[UmQ3L=]X)'I:67/<J
101.1467 + +@P4q3E^g:$ClE8A"*rFXM<U#V0oKshGQAD(!hR:b.'I@0Ii%i`]*>1U9Tp/]FjYmdE`!F2
101.1468 + K>LI%;pV$NMrLSa4'A<>SYAG$2VE:!=FhGB(?GL-#p6Vh$T]fgf$Z/\Pt,Vd-TK]*^EK1oV
101.1469 + HFSLL<GS@tW[1YIJ<(V8Q3KE.Pr]uY,<ck`%4>QQFOl]_FbQlB+<P(Q02[.0@>fiE\FJ60I
101.1470 + -$Hp[IH,alQf[UjT\%bQHXG8j*J!B'(7*!KcOLP@7lY(t9k!nLN.U&8H68&%oefTHAU?Vg[
101.1471 + -_(&Z!,7,\piPGXke8/[ak7d[NP8aMWJb\rrKq)>TX8T>#9@@_XUOC[C=nN^;#$41Q!p)Uf
101.1472 + jE<(Xc/q-)m\FU'VbcRbBEj,Z-m=KVi"CF+:*%m2UaXFGn&dY..eNL7oUX+0+Xf$7@jnYJL
101.1473 + st4?\Q0GPM\30o[ej?_Q][?D"4^WL5<L0DaP[d?`nR>I2DH4^m?5El`_aKm:D7?A\E4DaC&
101.1474 + k*Vr0_o[L+UgE?H"/^QfiU#h@pAkuR?Jp.]1h%4ee"^UX4F@7;2-\mLE+'B,),RNQV;c;9]
101.1475 + 94iO4ILng_7$JX1mVW/m\LXBKh+-252N%UP\&2CSTc>qEd,#a0Pd'u0$]0X8r4tAF9]OFA3
101.1476 + bX%D:I*>Z[tnheJd;)W+il(.889#aD01IsneDZ8W[N`n"t6Ej'[MUM<\mOR)%_R:q\5G8Ma
101.1477 + SHeZbd4lc?mf-/8cS#R.VN\jF'ZMD="Qqr?02QhDM:/n/]#tKHa#K,;Cr33Pl:08ISrKc`T
101.1478 + &mQ0(K0Ta-L<H8-*>_LS'=."#]1dmf$E)PA?MNMKlUO>u5m)B;j?&9.A0km9!(jLoN:PiKW
101.1479 + $8I@uRFDe=mh`$p3EM8kNQd\-39c9bbU>ZW<dnX7<.>&3BgB`rL&5&'uaF,(C"c1HM3=n0[
101.1480 + rhZ[eJ^S@g5e&Ha-\PQl`X,-J'h87e+X*Fug%pe0-;,A(>^dq*$BWs7FJH,/NtYuY;&U`Ke
101.1481 + k=Y+mqR_QaUD&-60Of^as3UDFu(Qn-)@<!PYO0r3CkFY81U]D:a?>6=$3"EWV2gsWa>5Rd8
101.1482 + #uaiR1MT90SLar#:jrT$%H!5fnT972-_kd#]bEcA]7mo'21aR^H2B4MWi'E0![aN3=Qr0Q9
101.1483 + k0UVf^7>3fa:XiE8FO0S*m`V=MWQ.ig-;7\>pHod`sI/'N&5)%@)@\=C=JKfou5O;@M+I&j
101.1484 + Q:]qR4/=@3P;HTdEpubCEA6aO:/uVOtNrR5gLjsH5#86o#AuKFaU%S-3>8q-iaIO(l9VU6.
101.1485 + H8\X!m=IhaI.2p]H6:_oJKO@qK%SM"@S,sF6h[7)cME/fY++^6KSmuL9<2TZl&N*s-I>Z1+
101.1486 + P8/dV5CMXkRsUmC<Ug$276oKh](ZpC@Of]9uP^c1N_I3I*/P^1:59kkCE%K"i/b2[9*7m=;
101.1487 + #u`75XO)OJ\NO?V?Nfo^8^.;?Z0ONSLfu;Hm*/6[#^TU9^Ya2oXMl)XK:u6.)g=T8Q]oLog
101.1488 + DYc_Vj3M!jm(7QnfErYjO#+)Wh9dC3[&hPE=S6bo@Q!gaUPiB/VT88]4Y`'120`X-3/mN0#
101.1489 + b7&S_9>s6E_.C"-'$'G^(.q"Ho`c%*#@q^p`'e)P'V(([I"!grA=cLM5s$.-"l?i#/+#irY
101.1490 + ],SriE$ec,RB%DpkoD(GoVRm0==Z^CA?05bE=-_IFjF&]/HT9b<6Ns9&':l]Ao-TRb_A1"5
101.1491 + eBaWnN!%"cn3N!_LZJsD6MCAs'TXX>EFYY7+b53,Cg2dVXB15amM4MC&),7E7"X7D.]a&I8
101.1492 + ,MTIO<7MF"gP[>A!P2B%AqLL[.*"C3@8S<!]g9'DpQ^mt9!57>!ejIJ$rh)+D:/UAV('aaY
101.1493 + X4N5,3N!9jse_Y@aQiRPD2Ds[mro+fKci)K/MU(_R;[EdTUI#;D@=.BV9'm)Nu0XUXEapY3
101.1494 + *`?[YXQX+i5p%K!Zgu"V>Tcu9\Lk6J\$_I\J:,U!T3FgekAYjE*,XA:;$Qq9"ocBnaHD(P&
101.1495 + HtMNnm]G&R2)E3Q/u<Gja1+ZA,3'Nh&oHI@X\CkkeKedk'`M@3cOV`]gWZI+LSqiWiJd!Vr
101.1496 + a'Ni!Pc_#@c1>V7;u<7=pd-%n-`>j%,iX@laVij68-CTT/GcP:D*)D9dt+![&:^@l($67L?
101.1497 + 0fsXZ$0Y`2"1Um[ML#4,F%4V$C7:?WK\q^N/Ys]V+jONQlk6`VA=4j=H=QbS(M]_\c1u;Vt
101.1498 + =a&``*LG>$jY0$$A-M%/9/QeVDcJ*q9RfBsWamsG&`;gZ>LhQANG(%(V`J"tTa?4`'?BNHq
101.1499 + `-"_*L(auR-rhX'1JQ`A363k>%#LE[$78X)I*_Gf_rr\u\0>;,^D!nC5,)?_lWBq`,-u+SY
101.1500 + `QlE4/D*^S85k)ZTWV2rNQCu@S:!]@gMGCDUJh"V0).i!a,hGLOF%5ZIQ283OX%%2Y@\tKm
101.1501 + e&7j,&fM(/$^::5U8mbj8p[pd$u5_R-X6E"n#.jY[GV-mfm^V$a/4^!_E9d;X[,OrZ\NEE.
101.1502 + JJ<<rVPQ,-UWmMTW][rkK$_^eil[cjKj6_Z;G-%u0`Xd0C6#SH;XK3QF6L0VffPhX&W0,%o
101.1503 + KUYpR'P.g0h"JRf2&L_b+EN$*gE&[4\3OLG$]fL5)Yj3POMU+do__$4QgP9U59+9;2!%i5h
101.1504 + !(Jj?&6aIAX/J6AR"Mu)j7l(eB?P::bQ,t<\;)I+E.hdriNY.lsk&=ctM%jP7Bop@LmopMZ
101.1505 + 0,7qf#3FJ`&Ra=lAJt#M0!NY"k7nG8Wsu=W^qlNY_;Z2<<ZLYu+#38?&E;/5$s+m8nEgj,%
101.1506 + Lb3IW#74a+\naR1)`aR!'(Vb*^lD,ck-:Q.NL9"(/d%"&iu)Y$R0UX>9c,M"0ee#h&<"YLs
101.1507 + Me=1018+Ba\g_ioTnT62peBh'T>C'r%0D_HPKP\0DJiC$@ne&ST3W*=$UQ4Q/+8+Z'O7@L@
101.1508 + .J.Pd\H;QD:gCDX9M]'e@'&1hHIV^6p,-aCVg&nNEs:a!&]C%?<mEQ0Bsa!^CO-na_jCW[$
101.1509 + HXSn+EQS?j61#<]Yj!sA,%:Ia*U>6ocjWpu/+3*IdBNkG?mPP+)H,8G_nFHW8,qpRM,-_.m
101.1510 + m3s:doeZ1q1dWK#1&a5qhREj66HT3OkT__^%5lKpln[WEKu!&n;!u1)@0OImkc.IR=M$>2-
101.1511 + j#kr15[IMh$#T[.rgk[%H@.<Nj[<!1h3NqTn!WZOZHs<1c)I"K<ZpO[5A:VPi4,MJiu)f/N
101.1512 + iKI-ZRKJdr$P>EZe;(82GPnUbYcqN4AH54^sa@0%0W+QTd]?W^T5he!qfufe8?O1+i"ae%/
101.1513 + X:1*%N66:2"bU5_Kj2+%MI0QRRSZOSjPTN;dBKi%(indR?!?SZ[Pi=PY?<#dr_2C)-$d^-B
101.1514 + ;oP$bC75Ug9s3tpt;/6s>GW7L[3qN):!_Z#4Mb+"H47mYN'TuZ7&63Q<6#QPFb_cpqXuQ%r
101.1515 + .?kr7oWA^V'2-;A9=1i6Pfaj8cU[$@4d7Bh6Am'sAOBB&0Z\/S_O3->p>Bj&7q5=M9Qr7FS
101.1516 + K\UK8]-la!Zsm14@q:m;)JS41ib`F\P`G1;G-9cFVnX'I6(@Z1t74@'f7'jO&ORq,P79aoH
101.1517 + 4ch:(('"*u.jV7A3<YX"Vp%.C:6mni@3dThOF*3:nK[U6er6O&n2'9soaXF<jHMfI4*T)AS
101.1518 + Q<Zo:`nD,-gkd.81de4_^a:`P?e>=3U'7f,W^=u0.c+ghe@,E<n_HX.A'9ORZjiY,SuHV>Y
101.1519 + g9@]=H!eFE1i]Yf6&X;0I,?-9qH!NdA?WD\%<Jb,#8R@W8'31,BoY"=YfHSeR?1n=Jp(TR<
101.1520 + 5U&Qs?kPL[oke-t3%,P"6<5K_eic?#+=$J*@pm\oZ9)RT_d!E!;8]OoDPRNgD?)S8!HrW+G
101.1521 + 'dgITi2[*BB%07P_j'_$Y's5BgMu&K;hjZnK-Xi$214r[]1alI;9Ua=`n(D9_SHb)D'I';*
101.1522 + p=1Jsg&!N$<ESD,qTJj3^pQO'[NK=k#N.P7^1aQVR0E:K3d$<<G#mZmZ[-!k$*1"-61LnSM
101.1523 + 9k=a&,!eT`:gl#E$@EE29J<$?9>LK;rZD0Ei?[InTNh."qC;.9KE"I!^JX)ik!?C*lqdP`=
101.1524 + /=*9+U?(s#Q(GB1JB5e&<An.8g@n%6,X`sgZGXYJN2f`&%K6Y7cBX<J>2cFuZ4_^[[(tYWp
101.1525 + "!@Y6:^7fCH0(0(NqZ.h^Ik5mH-#SYj'-Wb4a$mfES!TA_@e_Kl#Xe,?/rJ(<QnKEjt63g0
101.1526 + e%l#.`NQ3s&uTB1=@COpU2=@"`T*d=EimMTsK=%C]G.u@$al5@gR#fQm,Vs.(/`!_6P3$='
101.1527 + ajI6BQ2==4LEi$ZZ=UI:=XQ@MN5a.:)=hK==GQ(%lW8O'bs8+P8&NpI6?O4+os-I,YBcFKd
101.1528 + X4(a3"327Rd[\/g<kO_lA-<nN-L<$>QA,Dm<H=a,$H($H,e^&n)IF5`mQR']mqOc7.5H#m\
101.1529 + F\:'>p@sT^Z1QHts5Y[9j4qp!JNTFMoYgn*ifk_JDNQHU*6B?l<5COf;K=I\)U+q&(fh:A7
101.1530 + OZ(U9o]9tUTl.r,1sZPZUMYMV4s*l.dC$ZK@Qf8U4']6hK)ubYfbPc4hdBF+,%F\u!\K'M>
101.1531 + F)^[OCAYc)-qraFs@k<6Bni%(hnkYs&aQ&8[hW=3Kt_3,8U*E,9e_.'f$oa>>(4ZPbi#NJs
101.1532 + m[i^(Iom=P%"1i&R=\[T3+MSH:*sDq8+e4(2/\.($[G+tmIm:S'fPAAM&Q!\\"_dpn#7F<W
101.1533 + /B1bj#/*G"k/4SW)&H1.@cpRel]?hR!_,*/H:'qa"SATh5d(13VGIuY_)*]cb(qFbGYI:jZ
101.1534 + )S=3=r>$Ic_`K.>%O7D1j,(H,Lm@N#ZT,K4j[U#Rb@<S(sU6\n=\hBuae"8MpTt)tW[;I1u
101.1535 + >4>X@VYM&Wg&%G91fY:`R,X`f!l9@emkIl6s-EC_f)'u?"f:2jPjnpB3?+_Sh3NAS25<m83
101.1536 + ?a.EH^`Z*Qi\\P>.,Wc$7OR;+GE[Z3L?pY#F63$=/%@6ifAkH"gK82Km@N@'nK'TWNK\pOl
101.1537 + D@lUTBoY)OgNN+PF=N+mlYU9F4p$.Y%c$jH9lI?aN5?SQfPGRG0sfRPf>(EB&Z;@M=/Mafr
101.1538 + AE.,kK@=3\4K&X%?JTOY<^]74ucJg.gtFdo$HpM5B8T68n%KGm0$_fcgm^'f;*GX)qMUYH"
101.1539 + lcauTKVC/#N!C.Wh0H>GuCB<-<S'-t`$!DVu\s]]m3$DCNp,]S<FgU'N]EOW@Z^:OIW&tfs
101.1540 + \]M/X!EYaLF*f5_g:AfG^QVVa:?ola:(NSYdNI8p3d=lIRgpmsO+a6e9A'KbJh=i)!PZ)K<
101.1541 + >h;ues!We!MUbf_-7$bHuI%dq';A;&Y'rWi\SW#A35-%4@@6/!XH)a&3&R#b!:g+J-jBQm9
101.1542 + m^qb?V$iS@cu"^W[\8bZr34SBK.3ccmHYc!8lFSD2<Dhp*5%c<TPXSCtc1s0d:'[a@oS@om
101.1543 + \/'ukh)?C!%NGa]R2JdJuKLnON&q`C-Eo1ZZ]+IaDppg,YA@oGN,LE)C:pJ\:2PIHl,+ItB
101.1544 + Gp!=o=5Cu$b+PfR:r>i+eV'EO3MUg+4*DOYRVn7Nl)I7Lp*I7_aJ'/R_!e#jL]o1P!O4bP;
101.1545 + fj0rtSX\<gOq?HD+PYJARMjK.&^a^OLtu:d_A.<dA%:LtemWpVTmAeYlYN:GR^RpkJr1d9c
101.1546 + nL*_g=_T_]`FR2$aM!]a5VZe_S*hn\!(b%+?VSN[.gZO=#0OY`#M0+>YE&Ffr"m'QBF2Hp=
101.1547 + (6E/\:Ytdf$a&S`cV.K0+MEWa6km(Et7@\)c99iVd-FFsDilj2it(,[3XL4J!YR\*!bgk?P
101.1548 + @s*^SuGJ*7r+k['&.Sr;ghO6I^K25(QFJdp$f[Eij*=a4Z/Jg\p>&"5f5R[u;0HLp!X`R#e
101.1549 + \QpV2H+siW4_f37^+J,q*F=XO8g#TlW.)*mj*p"0o]pfWj74)%s_;677hs\D<*eEr)SSfR=
101.1550 + 6UCeonN^USSsAj'+7^Kunm<d8T.BH^;NO5!01rE64fdsQTC1S"+PkYZ>`'`:lT.5f3rEp"h
101.1551 + $(PUKHiH\`?L6*r^X:=4B3J->l-!.]^OaG/Uo\E6i8^S'LXmc"?1YJEH_<>>LEu^Hk$.4'g
101.1552 + /Jl@*09.bJ\lpdJc_R5I_k!%HIR<668A@!1VNr9AS/tkuWf)T=r7Ye`9%#j?L',hr4R,dDd
101.1553 + 5::?"Y'S$hCq!9/PR+G,t7!YG`m6K+$YF?Ui[M+$?c=L;Bh)3%,GOkB;T5p;@]i^e>Nr_Y+
101.1554 + $b2MdqFJ`J$R7ub,=g[%*3Lrq.PM,U-JO,u+k`f5\eUVcLV#n$8D).)JWDB!@=CO%j;j]<*
101.1555 + OMsA3I(cdP.u\bT4_8?#\8@>IKt`1>Ct7i/WZ43BAZo2`[O(=(\M_&elfrg+NYc95_l,OsA
101.1556 + bteVa\RX@&WJiA>$7/sH//+C6(u\>o>(;]0UJc-]Ch#OE:708fh")k?+/X1\_V/tS)*^E[D
101.1557 + A7[G`_V@+%aT9EopG\"qDB%_r'uD)5fNFNeQOSPFHnck_tt]&XMa9pTZK?4?NO5It,'jo_L
101.1558 + ;+f2(6?B`1tkB""WB!LF?#"TZ7j1_02Pj2;_-+4,$)#XTp"-ON2%N#[=4nC!186`=Bs&4:F
101.1559 + O7hS4p1esT*Dj0IX77iU:(a4KIB!T*d=rQYF@VQu%%uK(I'ZH%?JJ:09'TF(bni?^o8+KlR
101.1560 + -bba;:3`BYM_M"W`#4M"aKkHQ0MEr7fPnZ'@X;W\,)k(Uc)oo03"49#k;lAE[-p+Q1Xu._:
101.1561 + UB]n5Ys9P#=;7o2%N)P1fY>X(A)WXQ&R5-?SPHc[4b.O$<4?,!johO9iNc#TZK@<>f`O2Ns
101.1562 + oo\53GQWYG$i4RcRS*rChoF$11]G]T3u8L0$t.G_K5I7:`&nLeWk)[#D%=::!XURqc-8Z^0
101.1563 + &@m6ajES!NQsDunQ(GR`H8A^>I(2c\IQ?+4t6G[4kAk2EhKF,j\_pX5sD=77_9[T+hpHFft
101.1564 + tl=jfQ(1`=D+d''-"JKh`K%j^R7Lt,D0jLTS^T[P;!Pip85DZ#;=RcU3n:W3<jgfIb#X]IK
101.1565 + ispj+r'Qn83S&D&@gPnXPXp`')'5^0!b\4#cJi]9V)W3+LU6hn93Z,o;Mc8\BpPiRlPPqpS
101.1566 + *F^BZ6mYuXKPCB;W`85D7S41Kk0HlostnXYcGD:qpJ"_DnC2m^i2"S,>"IH(D"GT[+)=Xe(
101.1567 + dQ)r='Td.(a8N7_Og/3tbK5\+(N?);,?2M9>l=a$hCt.K7H0W"sk#Bm%+UB)(+=fU%hp`YW
101.1568 + hZp;n.7i-(\.LZ0Xu+\LcT*\I,kFM0^O<dGBV'oC-%dM8VC/rKJTUicu$9'fn#1n`m^%RC0
101.1569 + lDGEfYDFtm'#sro\k^@%JmUc&>3Nd68s$-,TB2'EJ0rI(J#7F"KK_4I>QQf0D'Alc'%KrXD
101.1570 + Cp"%9_C'3:M^rq$!LOL2@#'TC_(ob1Q!,SPmP2*qfDu@gEA;>6-2/3agC6Qh2[;%tNr_4br
101.1571 + ZQYRL^AdP&E]`!@Pbq:@oQ<[0lRuhA57ub$-f7^<<=AF6%k>YhS@W/XeM7X@o7Xu7OYS3h0
101.1572 + RI)E?6u"[sUN%9=Q`%hDkqAkRsYp"cie4$q@c&+&*]pGq8#A,'V'Bd;36MY=5Lgp>Hemqup
101.1573 + .Q"J?>#9!ZUUBbj=O9Lr5]PbdP4*i%56%cQ2,V'Mq&Z4*JA_A<X'$h-Inc2'@g?A.;0WdeP
101.1574 + 2&3niJ04jZCJ8uPs2:[`ZT'X=WE)!SXpeK>79,E2!/;-THI.bQPMC(,M!)5e,22FZQBp1ZH
101.1575 + :#H%3&MtqR,r%!gaaZBT*&/TL\Blhd\0#@f,+f!G@SaPj5A0LJLh&Cfch[r6<NP2;dXHknB
101.1576 + 2_-moaG]bHA";X&Mb3Z%ZD**#>mE%);K#4T[\Zf`mPM>bp';&e>*u1Z7mRRFX![rp-:9TPt
101.1577 + XmdS>$Z<N(-DrLnoS.S<>mi;9:ae.E%.Aa2V.='[BOOJGhftc<<!Q/q^"u\KOl=Ut*!,0PJ
101.1578 + DBEobZ@OGX6:VUWO2C:U1g\#@pcZ99@baIq,e#knal?UIhP!(X>,eXia#<R.h<fBV-d/.5g
101.1579 + $Yu7ch8XX$$"R'j0Y-(n`j#d;Eni8++@+hd+B5&Ls$^QOi=u_'u>apJTQDW1FLR`!oCSS/`
101.1580 + (8MW\93GX2'=IKC[b.&Fk\89L!#>Kfg\N"2Cb.36`b%']]9m;,3=DY(*,/\4m<(\Ef-0(Xm
101.1581 + 9JDUn>Vfb?PdifdE?SdD;ATAcV0#I,emL'FQU6e/Xb+7d;Ub@i\&b6)-#9qb,U*bA^%RZ96
101.1582 + gbC#YeL;(aZrIl\RT31YO!#p.Z28>m(FmAWma/7P#e93=_01_?;(i+*(8I-KSr*mZd9D-4j
101.1583 + Ah.n,@taY7.m&W6sdN?Lje)\S@Kktcjh`u%5^A$SsmD=ItRoN[*`r$G)PFQ=T*&Lo)?<B?U
101.1584 + U$HieDJ[0(dLkiEG'cD`f"Jc"t^c#iJ=_BTDCJ<4tVJFHhXpYf"dS[?AH]h#4/`EbW;)#FL
101.1585 + 4RKQa_:^%6o$edaX;%(8HMC5Xer$2doU3R06P+-,9V`QH9bTTP!%s-S6A"N#"hdG.[4qt&q
101.1586 + PR'Q[4caFA`;1)ZPaEN)4k6]HXU)DZ-gfFU1"[C^JPY'h]*SPoTd>&G8C)A&p^]t^0N,Z4d
101.1587 + KIfpOMP9^;.Z3"Dl>n+X\$6fd+m*O]T;W*l2;4<To>#!dS&WT'Rf%YBLTA^RnTao4(k3Me%
101.1588 + up^5/riYsa-`E!3jb*+\Bi\\cNmKShfMFX[pS<',&j.#@J/$F\_kNAq6P]hFC=`8p?,?O_4
101.1589 + alsXh#Xg))N!nB50M:F/qe!:@jX38Rc,\QajOe$08V807%j*3(Ll1DbRqCnQ+!JdLA+msZ5
101.1590 + Eb8l'#H8C8>XJ+=;J]UaRYl.ebZN1<S:'%+o>N5PaCcPB[G`iI9#FE402pQZ0V6egie;Q])
101.1591 + ;>FC>r.M=hb==5fm:iNQ*Rs7!!A@1p$f^f!sD[a*k;lQi1A&G8rn<b4$2n[9&_+(Gmj=?fc
101.1592 + C<4*n%:CM8gPdp$'Pb?8JoZEJ='Uldfl4%RX/BYWkho(eKclfs7F<!k]bm>i$:(4s.gjHsD
101.1593 + @%hi[M0^-9miC;O2u%"9dg%b>1R_dW7_?F4E$qIK$3hK!c68_<"9G9=$eS9`7@^6UP"_WC^
101.1594 + ]<RB=W475<PqKMA-6Fse%]JDU*bO[7elTZW\4;aJA#_Xj>90c]H'd@$8+\TFVoXf0`^,u8(
101.1595 + MPi-!]">1q.]^3.lYM(RD84j>_*f!-"18iLK,!Y15uO19/.KFS)Ok6u.jNb6ZlP5hb7#oJ(
101.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
101.1597 + pP1$&^#?fS-g[d"k%90d@#9]-oJ21a4`J3WpKQ$i;0$r&T(X4-VldA,_9Ws1$epJ-7&N.(2
101.1598 + ,E1rCge"61gt;@'Oc-'\l]#Q#m\&;@n39#)Y@])cY3WnfmLMEoSE_".OaW<pBJX1Qf]]Au7
101.1599 + HPZbu"K>e.46#jo\KNb9i)9(ZDP8"u:"6N&U@Yulq4P5Q7fU4\fMF2.34V4;GOVioWbE4<m
101.1600 + .)]_RS7d]&D$ZAD6ZA&F)sF"Y4?o?G-1jA?@kWVB4G@m$a$WkF+G<-=WCF[Y2hRM*k`3[c8
101.1601 + ;Rap_JsA#1e,)N$'_eo[Nm7_oM_B.s#->H]=_2_Zb<3rGf[7MVJtG6;Ehp*8r(K:#KT_rTM
101.1602 + W`EP"?L&LHoIm_EPs2Q-"",7MK<'I$oi$ZFkMD!c-*i'MLHDf=ai4Lg/Der0^(I"H"/BPmh
101.1603 + 2cm%"=HSe3L$"Come]@7!GfRlQEX[6%0oW$%6Kh;nTas3(8#dun4a[/ANMbL@J"EP?KRNak
101.1604 + :96@\&S9]VfHDfu9LQH,&BR%_IG_Y^+#I)RfUEd^1CC.AJ9!kZQY_50PT?B&I"686(d;(rd
101.1605 + V_*R+Pl-2"]P+qDL'fHB[\Qp>!LU=.&]K)!`Jh?%<7R_]ND/=q8F4nn4I46Vg56<+badE^e
101.1606 + D6^$fV;][:#Z+FK](,uR`hM=-ZB@lOBs"g>V-4pU(#pS/Er"EcQ15bV6&(:][EXpe$dcUcD
101.1607 + 9sU&s5qRn[M9H:Gh'*`2q9Yp<RcRbed`4"S\ESiQn=S:-+iB,iqd0oM0?X:4aTa/Gm\&lO"
101.1608 + WY2Pc.g(iiG]1sg@MOJ,?6,SO!#$IH'N:`TqLbk+`]\BeFjd/kOeFH+OuK-a?"#68$5Li%j
101.1609 + *'nqHS#;B[c$(ar#)9I:(U_8:*jQ=a8kg;4ZaO0"p*7rTBJ']ubaE1EWbZ9]@PFO32:@o1F
101.1610 + "X98:3!Je2![(Ho,qOWj153e)d\SYH';3_60ul]ndkrtPI3H4;?dR%T6e*+(KO<-DOO;k`;
101.1611 + =+B]r$S$)i_s@q;hZHQo4_*$!C^PI5nMDkF(%jQ0i4Die!VnA?rhkf`W>R-Jb;R`eP32X1=
101.1612 + YAN;ajL4'bF;l;8:pI<AYXnWe46\!`/apU&@m>9GGti\^F#t9aq78'h,&8gla6ZaK8U-4\=
101.1613 + /&:=QsNeeM`H;Ee(QA\[%teobZO%9Z_qNR^I4^-u&LeE,*>!)`C`f"fTNY]PN=4GM+$f0+1
101.1614 + ,9j3D86<1u-e3*-J8C.Q8HB!&of>)dceL3tY=B5lMNpU:T[7j[+K%Mfo<c*K#%;8j?d"D+&
101.1615 + "8EL^fFli%MHHF(fYrf;*Ga<VK\"ZOf&]"poo?Iho2"n=/L>QHh02lDGd&AV<X"Wq'nKCCJ
101.1616 + m"A.fte<R9q8THL0<H5S6OoSrLqpgCbC#m5J<f3OaA_ar?qPEO<$I;;[$;]='7l;fhe5BAU
101.1617 + $u#Q_Wr8g6ejBTuPYHYhM%AMC"hJ6LNP"[>E_4XGEfZFh-8"S(Qi6X^."AI?<!%WE[6eg8s
101.1618 + Gg>X,OT)G"Ok:;oS(m-ZPZ.+"g*M9W;_FgBeVb1f@m>dCM:D9Rij\/])*>m74^^!Nad]dNK
101.1619 + O&.QB[,*:Rgs'-Cc3e4/j`Pg"9-;?@Hbsd-<=I<?TVHftRh?AjC`Sd[@c.riT'^amd<JK<M
101.1620 + jeqe#-gfD`IHN!Vf%"oph2%h3SO2/76qEI>?D)f(kR)k89RunW#Dd=(&:"KldK`m$#@6s,"
101.1621 + o2N%o\ZeHhmNC>`Vn](F,-E0N?E7sQu_)u!oMQ2?fhIJ89TcuG)Zh*L[G:QQ3CYk$K$qk#L
101.1622 + Ic+#^cm8HsiNR@&=IlP`LU@d"d^1LR&N\%Mdq&E"+,u#At8bDAcgT!"BtM?mZXtQ4Mr.nAJ
101.1623 + O!+)Cg`np]FQcsB#XiZ9Ar:$1G56/I:UgZ>Be*[[['lWUmB>0*5fgk]*U``\#9</'/c)9)[
101.1624 + o9`Z*Z"$g,o6RpiN2WJC-<Zogk4u^1[3b*-+'[Y4Gc9#Ou3f7<G#09gS%2]:=53'@Ej'ZX-
101.1625 + ?u$2W:PP64j>KQhn])(S,NP.Y'^dr?*]`;Q9B0VHiZ7";U-<$<c=F>nAKFh"SgJ#H,N=#mh
101.1626 + NcW&C*;N@o\.:$@L^4Q5^uU"/mM\-ir.Y-rS:ci0pM)]j#GHH:,V,#B&p`7jNu:bk%EcF:?
101.1627 + ;K%j5+E\W!_Si5n+#bB&7Cc<^mN&7q@?kB1>7J-<''(FQSD+k+6PSG&,tF;.Z3EM.K._??T
101.1628 + tqIaY)oBCZjMH=,co.Hh*TjeuEj`'@cHQ.<R6jo+YhV=<V%`o]`I@odkfDJ3"H3E4"XA2\`
101.1629 + BmVM+D9BPY.d>j<$:3#?48*O'6k?+PEIQM1ectAA\jM$a_G'dm_s5biVk?qs.:q,^2&e,+g
101.1630 + LT#=[(8>PUV<W5tl@,VqL8jHGBnof)N?E1qLiDX>Y3MmfC6l)YfQW)&dK[L1L;pH5<j1h$Y
101.1631 + _OoY#;FM[jhtq@Yj8I'LN%TqE7!OYH>C7'li+,D\:(r%cj*s*#A1d<<krGkXQnZ]laFfJB!
101.1632 + LYS-KkZ*TD!i4oXmi`^<?GiMDACPm(Md+^254Gm5EJ]0%J.tQNu0im<7&t<n(uPg?h=W#O'
101.1633 + Ni3-0kpgMNP>mI\-9^s[&ui9dE%mKV/FfPQDBdKZ(QbKf0d2WX9(#&G^6m1d6b^`3P@k2Nt
101.1634 + oilIX!h'LqL]]KqXAgQ@==DW[n8Hrj"Dg(noIe\T3BEZ-!"i,&1`q]#bq="%QE!H=2%fc!X
101.1635 + on?Mr"Xn-i0*-$)!cW>an:4l$&7:D,&o_apE5)hNI^=dEd,E"SE5r4R#5IOEFq"^k#>f,S*
101.1636 + t`L*&;6.nE0+Gs?Pd^S")pa6EM"6?Ii.0?Snu79C&Q4f@E&NhGm>25KSX5nNg\t"Mrn'!l,
101.1637 + P49i$N.,+*(s\`SQ`jrfZi6VeJ>5kt`r&QBl/9QZErqA>%<3?Rt/kNpO0KW@aq9qBKh*3:1
101.1638 + nX=[,%&[lnfJ>Qq'0LJZ@hpiUZH6M'A-eSqs7\BbF'Dfdp$oS5qu*<$BmkOb*/FLYQfS<XO
101.1639 + #&:k*pFO*eTcohK\0F\7KoYt*E``sg-L>(0^_#7P6mdo4`3VBjcbuZ!0_:io=b46EFnh25I
101.1640 + #:/kI1ZUJB%2Unq2J6a&cfr2$A2c&uSs"/,5NE<=A1qNXh_GW>F*=^/EdhVDL3I]^-#C>%S
101.1641 + YnNTLK&AV<;1<ToH-A@#>o\p9_;0.oP]&"d/`g3dIanlGMQ>Bf[=m9:j<4toS6=e0[KK+8*
101.1642 + F6q`Bact>J#-Go%h"KG=RVee;O"ONLWLFgkT7,Dd`-+-$K8C@lB9i(R'_hArQIspA\h8QYL
101.1643 + ]k`cCk#k6II<GA[i`DgBoHq,`k%DjOe.F85:DG>gBoDhN?GG`;qop^_oL\BoHGVL#IOGNdF
101.1644 + us*FOSk4g#no`(lb7tkf1GR*,"pjQKCMZ8d@nlM-6=8/KeQat#cNr,NZGm,u.J%^Qn^8/V,
101.1645 + "]/$C'mkUP_MB=&FW`gL^Vu_"3Ldf6Ju?]<fHLA-b(5>kJNqAV^_$RN%"PPcJ8b[B0E_A0(
101.1646 + kN#1K]$HqjHAimd-@iLaY2;g+5'4EgARr(rLB"(3,=I,d=r3PL)8Wn\(ps)ir0KnL@AE,+B
101.1647 + \p,=ah1Mr[6oXXH[hbcf$89I`L[Of@kuKGR!l:l;-dG2spU1]^+4sE9Hb@=7Sp"dXD/Rs(C
101.1648 + m%QfJ'?.XF%cRs1[7<nnDqEW>6Q-Bh1a'G:WSKL+QnBOiF/iGcKfnMm=F/Jj@8@Z^o.3^!k
101.1649 + 3_dj=fS'CaIPY,F[#(t&c09O>Q8d,<[<B$F:(X(uX_IYomXqqSYbna3S;`Uci)I,"]b'6d`
101.1650 + ;-1s&qb='@CK7t-G,4W3!%_/4)</nHIp-3f\)k$lDn'"YQFH7XrEd-CDcMq]p;pbZi,<j&-
101.1651 + 5R,H`+!^g]Oj)CO2tjP=ZiQ_/XO[nF'60<G<M@M3,eL`1#kKre7s,0]k1*iYL2"h'ch2DD7
101.1652 + >K^2aYdOa*k_\E-Oi)--L;KjDoNN^1TBqcffIn!</jSQe1JFHX4AJSP.ktYl%ea-^W*@oQk
101.1653 + pgc(=r.BXM%rYHOkTj`J+\n@-g-Nrg*3:^dL.^lU)V"2POB'a;9F$f&))OGkIlZ&O"VhmRL
101.1654 + "1sV\Sk^<uO;%,kO%e2(@%E/oQ<>EK8Cg=-SJ:"Ba4%Um`)93?5E_4<6I!m*3:AINO]Q+.7
101.1655 + ,KUQlPa&k`oA6W&bG*qk^8m.G'?C^Er4tsFm(G'r'+<699Tp180Yu1Z+Z%B,CH2bi$O#9E7
101.1656 + _uJ!&^Lpm"$Mdqm,pU['Fb43^bLd[-+e25@jfWfCRZJ<L)h:+dZgjc-7grO9di1QlK'KZMh
101.1657 + CN+aR[dYs3gR7<E7S2.qT7A"C5S>erJP77EotWF[8b3oJ9dl`r1TY:GsU-A!C"gJS!N#D4N
101.1658 + <3M^,Dn4&f-K7ToH.#tR#$'d[^%(Ce=Fg<9H!XNE2Ypp`r>Rb')\oeOWg>^*=;ELsY])1@d
101.1659 + Zl*Z#NeY)klXCVkMMA(5/Is^.57;ltn3,U#H=07K!M880>2.FL3<]jRH(rf",jI%M9BWQBH
101.1660 + [i7h?Cj8P4fc@TTgY%U(S*('bb0j`KS^U@e96/ndh=W%QGq=0:F/A,a!E#c@?jamVl@?UM0
101.1661 + 5C\kZs2jO(;2t?-`gblCl=EuZ`IYKe;>lIDK1Heg$[\,\JVA;MscU6mCfZVcMXr!>RiaNE$
101.1662 + 1:&_s]]`'ueb76H,40S;UC8[!Ai$bOZD`G-^O.2L`5N.r@bf0)@X-;p1]W<RnY_s'<Hk!/G
101.1663 + )*p4GSG8p:TpI!0^s;5`=+bHPpDJGq&cFSPqrPZ7ILA])#jPi&%rZ5^+L]R#OqBC3]#3HV9
101.1664 + n+NMD-I%>l/%XePbea37,DqtM8^]u%WreoY^^[g9cp&2[2g;LPTnssk4L!d(,I*rE*WIL!^
101.1665 + "rK,^'OZRU6pP>k"@t'`@)/:b6RE9fA6*N`/0PJLN/@ig9N]8E.5&KO()I5pUL&SCH;M<o&
101.1666 + r3Pk*lKoh@e(Q^_9!5=&DmIb$n4SB-luh_$].SH@Y0E+3$O#:MG[+u(t[dFiiH%,jcTJ[R(
101.1667 + X<[_u9WI!3%dK6Q+KqF_Jm.e#t_G(aF\e*\kkUa&jW.^]RF=1$i\re5ffZ7"G@O%336p=BN
101.1668 + K]M2j$XL`lJ*,2_H?2G)%^&u0P+%4Q<5&oL*.U*^L!!lk;%+EWY.9Pi&O,>Q&-h@@XX/*2F
101.1669 + kMWiJj^K@pHip=(>;XBoC.*1S9l#L'h%FI"68n1RFEAiR*"98Xk0.)=>*-4d_9j$nV>)7*d
101.1670 + :jF8n8\DNjTtCPk-j@abVDuEAknm@%BVL;ls4lu.F#$:k6^Zee8#(ML,Z$a%d`4;#Tl=$4C
101.1671 + _+ljkVFVPa.Yn7.o=]J&ZCB<SlAIB3I,5E.''D7jbd<jRQVX%o^O:`R@t.tm4i*Ma"`c(?V
101.1672 + *hW)d5pRU\)g#'_.F.J5k,[']FLueBV`:E$u6>%#P7(N*+fl[k<[\@oGc#46%>*WQi##!"&
101.1673 + $,a'DglJRYcM0Ec&mnDXFjN$d+R-pWI4Q*!i4S;1k7Do0b=Xd)Ym=&pV9la)ME?ilA?Rf*+
101.1674 + 5%$,o`q>lYr5X(V_.5CJ"Mc/SN1M2&bZ:g&:$CI5VM\$*!9Rp<F!oVqUYhZT`L`Y8J.'c8R
101.1675 + @hZ;RadpSJ0C<O0WjQ.O"\W\i5gaPWKoLY=lF0gs7DXMn:<"&'gMttbZ+3pf9@o)hc7@_!\
101.1676 + bAh2fG!4P(K+0qQ6tRXO^31r2;u2KJD=97AT]XmW=V"kbSD?RHf9")Hicq::n`nt5oob&2s
101.1677 + bbGdC4VBScKci%eQ5p?W=6ZosT$)"l+(OJ3oY<&D0[]h=4`U-n$/DfPJK]4?Y&[*XTbeNA"
101.1678 + Q'8AqZg7E"u'OkjS/FrCGJR!3R.Y8UgN:^/Jk8[uB4^p+pA!(a4Y<O)\"Z'!R-ccJou$&E%
101.1679 + =(:&V'4@dn=j]lt?n3)BGlY?[J\#<O7c=%@]N/ChIWE6C(h&P+N;*b2V70ck50nD\QAe?hb
101.1680 + o>Z&A=IVH*S5QifmX\Mc\?41QA@jRm.Y.<NB3ouiUX<R[G[T?:e_ujk^oj)uD2!J!Tq/+2X
101.1681 + o0:-L#7kN]Fo?Q'[1#k!p\L'U^U:,edFDh]$2i_`^[KkcR9G-D1)+"nRICVjGHa5,\-M]Ze
101.1682 + 8P6kNC*WX)n9dg.E#F's.p!a52YP\h_@o4hQ@o46Qd&O#%'4bZMg_kouRh,h=XS'F+]=X!=
101.1683 + b\#;&+qXT\fA^g;Bt/c>kUNq;#e93H3k<NTM*EumEeG4=+@!Q#?Z,)p8)(-=!O2BGI.r#:Z
101.1684 + 9h"Gk`r)i"%4)"1K9Th<6ka42lG.KiFIpGN(jS[6n:k>$0%MUH/jhRZ!@d1*i&7"Ee;YQ#V
101.1685 + $.73Epf/to<e+E<,`&<:$-bteO++3J3&_$'M@Y@s_Wds`B49^95:AB/"u^OYl?7^H=7s;`g
101.1686 + Wo64mKp@cpHIqsGtipq]45\=DIFKpQZqph-rp%H/m0*c$+tq(<Obsp.p\5J"?oVWnBp!7<#
101.1687 + ),HSL7[$L8#E2!>JR$/.)/MS*Ba@>4?6qY-MpB1kCFe[00;?qd2quqQT]1rp:Q]DccE,!P%
101.1688 + Q)"XWnMM=JnNGq31h):FR"M^E<.qHm%`I:',Lrl<^h?Z5@\hnAda#N>SfO7Ia,c2%B0l2=t
101.1689 + mp3toT,JHKOWkZ=FIp_UAs2Xs8?gmuDhu*ND!<=eW!,r5EVE!X4i^jLO!72SaYT3c6+Ta>D
101.1690 + !cQ/g#g+_JK__Rpq;bTQ0I[+n5m/l1"E6p8YY>8i;$AXR"_XS2,eEto=U$Qk#&n8\Y\aU6E
101.1691 + <e1?#B-RB&6qa;(C-%U#]PV+Y`/d)/=6J:""b)[b\GOCrs8+j$?2sOYcS9%YmW7n!Uu9XjB
101.1692 + 2Zu[gXt0$uj;sYg!UGd0FW=$cHBX0[gL#i=7R'!\h3]E%pC1M$%^g7IDS:;#Lpp!>$sh&9/
101.1693 + !fYmh97&J6`4&TJ[#YoOGH+VHLU&of?5Yq6UY0bZ9!'6-#GYrrcj,3V;%NhBkpj+n+=Uq@g
101.1694 + G'k5/gnQ`^L4VfP?#I-Q1Z#(0bUt<C5Xrt#c!5,X'%.YO_(i8CC!1=\oD](9p)0)&^Z'P.2
101.1695 + fLY(W):>E%Yp1)naLiX,)e-gCTVMu._!/+G]HDbFWPo\$XW9.H*HBaQZ/$Gji>s`8*c^EcZ
101.1696 + 0`V&nK0K'AauKckVsG7ocQ!n+E@c2Z4.rI&Krmh)@[&8D%>[,N?>GOB'SM57aqm0>R9=;'_
101.1697 + 447@,W?i.)4`L<j%GoK#VN`:a1_h#;L`KZ<[Qq-RL7WafR<"U#dWgDCfRT%0@pdEd[7kO![
101.1698 + bY-ut.mZAcUOY6.O*..WaOK'7Rj12sEJh?aAe&j?d/==st20#;$JVUB<j-EY)M_@8p_ZHRW
101.1699 + L&ef1K$DJr$5r^E4<[*3;_^)$0o$8rZnLlZj05.C80UiSI'ebaRD9A#497Fq@`.rng/r:2P
101.1700 + D?NsJ8MVhPO<N!t_929j?S`nihW$sWF$*m)K/>.G,(S9%U;nA:C]W!a7j9A1Y89"d@5]oQ2
101.1701 + KNP?ZMbsT'fNC?A?RR3WlbXB.(*JE/7A95VV!J3;IC[I_9)\G_W`j!?>udZ2fkopWCZ[?RN
101.1702 + ddCnL[-I1V>8Y:*P6h4CP?SZ`?4[d60;94_25anFJ)Mffg^Re4IqTa=%-Bp>Jcl^E?"<79J
101.1703 + q&q@URmAn;ehZj`S#!'[aN6"DArM+er,jZ`$g,(aJB!ljKa.3dtR'pKS'Zog.f5nHp36hEr
101.1704 + <U+\[SZO,(_7+>=:J^6dObcLpp$1qnG+cAhMlDDO8@mKm<J13eQ2!M;H,)hO$%s(1HO?4_(
101.1705 + nmFg$JgfOY`Yar9Cbti!'Wjq`YtH;Sq,FapZ`5Y)R5Yae9@V$VmlE"7)@F>0l/n_<V/"sU-
101.1706 + k!EC/7F*)U>Q0]n3?Qc9XORLZsFa6VY"=GiZNj3kurL$WiOCg&L&Z"FSer.+%qkB;KDA&&F
101.1707 + i1F!E,1>9B,=$TtOCl7/#P#<+a$0_4oS&b#NH\W*o<CN9i*("]cfqFhn"GTiY08E%=oe%om
101.1708 + m3+bG(RFOu-2Ao*2GM9f6\O]N8D=Z)ThYF)-/[ma;d>%EX0FfapP)"qDcU&^.QeP(?'.TM^
101.1709 + H$1W-biT3oGgk6f-,*`+2Pr._\;,?jK)p5iG@OXRXlV<]0pF/!9'9ukS!FReh?uH1pb7=!L
101.1710 + $"5).14nkb6H0El+Mpf!"I:J^79D1ddNXY*C+X>t2+@\@Y@KO+7?nE:NcZggRNdP=#a'Z)/
101.1711 + NY\n.:dU5Ap.m#XW]@?:K'/gB4MN8Trf02cL!De!S/Y%KBhJilrL7:'Buk5i[>DITIb2d&c
101.1712 + sIg@2VoXGr?9c<T:s'K&D#A0EbFp0$8MmFm!Nud;:elD/1Fd((kDLi&s@6DJ2k#1UM=cRa#
101.1713 + 9b=9@if/2HHADJCo=,*\.+15HS[&9+Voh?pr8@O<q3K37jWEd&sQ[k*OK%#l!t0udO2Uie(
101.1714 + E06AD7AB7k*e2AjceTE&a]jUu[^uh6m=@USP,*g[6eIc'2`?_o\p^VW+K&E:'a$C0ceJ<m/
101.1715 + cBEHrOa/mNH"SgPjj_[8*%ssBHL)MpQ`MJ_d'jM5SEb'`6KEq[_G]COi"C2WP"I9H7NuFQ'
101.1716 + K8=(m3+sXMbl_fI,`*qTjfWK`@cbno1lQ=fDU3o!IuJ?H-BcE&G@h;VM>tgJ62h<673K4OD
101.1717 + BI4)dm4.QlK1'Eq].p"JXjMTn"\0_h!biP_ms.67B\X]SItb*/R*$i0Y^Tm<3_CL3REe\85
101.1718 + !.18MA80m>^#`,U48Dh$:LFc0!t,0+$l.!G\?pL/MOW;7G)U_n^M#8jEW%+@N#CPs?IMg0i
101.1719 + V_W[59-j=k6hdbrN,0*3*-q'`r'R8;h\D</>iJo15D:^_,=R7e:+SP1jbq:)r+DN*eN`M-.
101.1720 + :lHA<M]%M*7O!_XNp1:2_Vj%2#U4g1P%)G/U?NA[-4otjPBf0P\NE#5$rdC!+uqlPW#RB@3
101.1721 + [0kV$MF$.!oQ<<OB5rX1=Is66IrVT`G,DmPfRu5i0BYel'NYD(P\[/2#caI=dPPAR<b3gUJ
101.1722 + bajZq?&,H9%ObU,A97I+:p1/9PVMM`EZV;D+@KG>k+i.WL/`.2U;fR`?]@/aH-J-E&bKHki
101.1723 + _!F^\<;-]AqrT6^7)\bsG4$XibqTDAg>,2m&*^dcicPZ6(6[#7Gn)'\([k<eQJ3XT>,D/"*
101.1724 + M615I&DC0-ca#md0/rB[]qCeZ@;5H:TNg=ga>$N0?7@p5&KuTjacB?H$'i!oT>h"AU["]cI
101.1725 + D-IM)V<+$7Uhrfb`.VOR,(R/%VP?\]8T%rE?+Plm\ui"-m>!8(LO-5%$1R>(S0E%V/8cj[M
101.1726 + S`E#.<Qc_>L`+;(5C[\_@eokHoei5Pu8^q+r#XK'AE4*M8],UP?6J,$[G[R]+)"A&V*shN8
101.1727 + j(c)\]&;_a3Gm"</c`1U**C0Nj8)C,6bPOh_A,`YZ6TBDW`A9$lPgYVp68m:%IUqcso%/[W
101.1728 + -$[X2_13jl5\8[c2;P_-r4:37\1Kt&_iP30Y-\:@K"CnD"e>pr#`QBr;QSj``o,CrWMT_YX
101.1729 + teso-EVUn[f673Sf@[*/W,%=Xm$ICa*Xh;8g]mJGG[5FeM*PL-rP`pPI@P7$9',q!%<ZqWp
101.1730 + %)Y'`qGsV5JrX[A/2Kf6B3o\%5s*9(UAm\d$D8<e@0R>qEmc.^?,J2d![kf>RD:$$W-0,Z^
101.1731 + 0F7J]M1c*iO:pFPe7p9UIHIuNd29d!PE+]?qr<kU<'I"=cHH5H$%92D!]@O5^UX4noln#X,
101.1732 + 67j,+@"4C2?AiYgQu0IN&V@r/*0)XC5g7]#.%F6$pRu_9>$\2AMiX=:`W#hhtoR3'qZW;9B
101.1733 + ._-nREW#7d4K:),hoC4$g/'+U2&`hOBF.F3=j60$)0j(#[RS"W@',&Yu0"(pRkFLX;nG89s
101.1734 + )]X`?I]HZ*Ub7fl[*BhmM5pfS`+nOU1>sj?V6RQD6/%=jrHBa6LOD6bB=fY@g2%W7%pHI`V
101.1735 + SFt)drAW+%4-[b%/t46l(rQSe.Be:b/8gB!liV!4$od0eg0IM.]rg#W"jFYQ2a+Er6\!?dW
101.1736 + %2?9/NVg*cP#po?nRt_QltXCV&Z42=hi2K,'eVD;0C^4<RTmKd2>-?*&7]P"sTM#/8CQE&T
101.1737 + r=c*19,MN*X'S^)c2"T>`t(iYSfH+OS:3s4eh(Iat]pU?UJE'!*t8Y(]e";Qk_[l7?bE$W>
101.1738 + ]2>4T3K;SL%=2u+;TR9-OW+sMPekAM#"mpA&FKB.Y$]]/s+_DTNS8&?;rl"=+G%.3<G_]Sl
101.1739 + Gl?T!FcM=,^WHfPL,5sDQWEZpXdb%*Qi(-@OZRf7bY8A#;62WZX5X]u?H8PO>/=nSNY1(.Q
101.1740 + U3mSh`n60V,/mZY-BdCJfD^pU67=a@jt(fNlTZ5+<L<6j+>M_!R\(gFhRYFBI)jMI,YjiS@
101.1741 + dSg!P#la_,*KkqEss7AFpI]j]ON>9_T-EH^"$CJ&"L=RmZXGIoZ\_XQ#rUM%&=_U6%+,E1]
101.1742 + L]5nortXa1Yh1q.?,ds-`]Y:<"!cgOC[K(?+iE-/Ff\8j_LVeq^EiJYYs^/t$YY!6b<3`B8
101.1743 + OJ1&OA,o7-:RG4k)VPCgc;4+Xn!%!S)2ND8=kQE22/#S[aT"_5C+n<d0-)%D?giXm#l:+6p
101.1744 + 97H4uIe8@8eO%87D)&/*&-'Lp^&t)_%=Y5t5jqAVsc=o/*:$31Xe<SuUK#%s3);PdZ7AE`E
101.1745 + 'Ui#SR8'SXl4k5&:8ops<St3Nj_a`tY?'PGQgJ)W<O5iq(7S=,fkn3&mM?bBrWbKh0(0@IX
101.1746 + mQCG^I!nS'4).@Kt1HE=HHQ8bDgUR_7:/$:).<+)D`1#'$E9uGXAaYXVC]&V8MQj)P'g]=U
101.1747 + If;i+m1pGV?H;mHf^id5-%&hcnEs)?+-%B[$Mn]U`+WREao9qAgWD:T;n1FlN*!B5b?9Ed.
101.1748 + C%*uC![jn!cr*hQD8`F,lNlZOhgYNb`WIK(C]f8ktb8\a4p!d_XoPR7FViZ&Sb5c0\,#<up
101.1749 + M*-mlIU(kG'BGk4f/:n!c5ssm@N`3l0Yo+3&mR_a27<)ds84DHA@WBD"r+cCb6DSXU%^Fqh
101.1750 + +#0ZD:uICkr.]sF0bd1pa`:p]-V<l^UFAfUUoQ"<o#.jd960#)Z9?NZp96_Q]Xosno0h%b9
101.1751 + k]aeVCY87QT5%%Tpn+bo>!RR5TsY#2BnoE!tL+m;,ot+@tbPL(_gEM7jLhidn(b'bpo@(`+
101.1752 + 8mB4[ctE*n0EG3*@o8q@Y"%i0@5'*pmD'5;#EZ@j8E2SKr<aU2#0MRl&rJ?WZq)K4.l*-&Z
101.1753 + 88p-k0V8ojd=0[+:V?Y.r7V5nB8k^;0aRo\JoD]r)s#"Mp3;M%"Gf0tY'/3u/I#@6Luic&4
101.1754 + 37Hu;XoReu\>?8`>U>5ulqgfn`nHOQ1QpSFoiF*K?KcAZt,j=#3/U!%D#V@c\@sI,tO(7ti
101.1755 + 6]ko)-;0P+YAKg(g'\nCQs^"SA!pq/DGQa6q8RH:?].?l&811GJn8V:TE6KSkY^$0=OXOD;
101.1756 + ebGl_5SPm_03$iqS@6T,;L0eIG\2Y_M>s]T#u`o>=<CTS-Kha)rBS3'\O8A^?Y6$Lq`DaDg
101.1757 + UXD^Mj#T"2Sr(-OTOJR7[3.bYO4nQR2A^NmD\"V^oq`S'o\,+[Q]#!d!M-6O>ZD]8:(Ga2h
101.1758 + oD<8oAA:\EokN.gS3Rm]tdaPSesg2-G*Z36a(8?ZG*U'<mXkZ<d0plAd(M>>ubUZm)RVlT-
101.1759 + 0rl;A48fU1*Ps,Qd*3uF]M`&WRIn.u\/\Zh^YnMV;p%]b!#O6l(+2S`lP%Q`N@?s46!**,A
101.1760 + J:LN"%i>k\^aok=6pQB`F`aHZU6]:;RJ!PR`'#6kXT@p5,!kc6+e]JM(,1uW3RE@*+]8k2K
101.1761 + `,*eASc>0`#"/ief-u$E=QF,4,8h*mZ5l5b1pbaHu;3B\KZA2@T6!WNodJba&)j;kUDCCG[
101.1762 + JF1#1S8+Q#Z*i_N1B>(h$72+\:ZD&2B(]@ebD3Mo9b"V/S]UZ6_p"'j-G$R["Kf%0SuB57j
101.1763 + Ki+Ao^-)s;Th6-p\PdXi\XjSh0%=):[nA9j?$<_H#00d^G\S!/OI+-m1ab8->5P`h>24SYL
101.1764 + hUN"MDKod6Gn..'PJDM<peTQOQ9.j7;[RMAkZiqiLJ&iI^R"QogaQ#\aa8)<hMTe7VF6GOE
101.1765 + PH:)pP_B0aYQ^oQW#"uIqnJ:,cptrO*&Ej*MKtG"9c4+9'.RZjq;FGKPk1K1epAu^Ic=oA6
101.1766 + ^2ZKIo#geqbC8aTRg^-#9".?K;Aqu@ZlKXVR.sglC1hqb]1FLj#2Fl)P`)sHD&&@841WH3:
101.1767 + rGd4":5Oc1'KtPdG/Qp]<NYW!H41-q%!S"tSrc@W%rH1WOf9:d>)lL%M7;<-j[)C/mp+Pr,
101.1768 + @6Qb>TGjB\b8<i]5@3`q/#>GbfNY8/9s=B-Jr=Z(#:[fJQo85Mp\Lu"r1_6fq(KIn=G%L:O
101.1769 + 9eP'HYP_2?O1lP<:TL3u3TYY36NS>"Sa$L[[&Ue!0`(&?Pd[731ilbJO0kP7PS$S4A:VH>2
101.1770 + .&s,7[$I#Bc-^D`/Q#mZ[^=#(Uk*!Oqk4q/,\(&!"rAl=$5$>2JVq'jBo7aV[6kMW)Zg-j/
101.1771 + l;t5J>NDL7o<XX\;7"@$L:uEZ$($8gUieoO4j7AZg+&L]@WA?7(X!h5kXGl60O",X5Qffd:
101.1772 + @<6#dOf\nCm,_&AO@uE=A?;(N:(C]]?SHi,j.'#T1n(L3NjZof`mW<I5-V<M^2L$\iWO)oJ
101.1773 + %e%q56SGU!&m/'3tF@LQ+k>UlkNcmf3O]O4(/!3<ro-5)4OOtcFVcSn1`K`g[lkJ/4kaHcK
101.1774 + %Nr2jGCQe,ea@KiPncg%ROU;JA=!.V,=-@UT>K`FY04k'sR\BO``+BbR;*;abF&LW2oIN%-
101.1775 + EK(dk!$m[=\[IME0pYiT(bD'0JX@"o6A,8i\b*OKjl#m-@6k563])E=OZGg[?B\0=P/h1J0
101.1776 + rB'DS(!gM:DFhbR1([A`;4s^C3;A`;7n(abseUn+aL.l@`+;]!jbpAH4%(-?E``Y;eCr@=V
101.1777 + hp8csck\(bu<EBZ70tlog.?%8jKUQIFQW=)2N`6[5437,%N^D^>FZ\7kFA7ddL7B`f[iWTq
101.1778 + Soi]r(';.`r3Y4Ir%+$6A%:QYjgGEeqM`aa$(Muhb<UBbahTlLl_.PBW;S2Z4BrZT3p78Sd
101.1779 + T9(DF(0ud!>9pOYj<Xe0s!<B;JUD$18fi<lm`^'s``!eYHneE7!Qquk-e9;NN(^E(O(6ZR6
101.1780 + T2XF]W^)iO"f*V&a!3u=UL8Oa@k3O\rh7hfQW*11:Pr.':"=RA><-<.9+X8@),\RG)]b2SW
101.1781 + ZY[&Bo?c(DQ"G=9GfSCkiO+L1kG@^?Upg3StL_YEfLonDM%#k6Nd\_GLY[dd%Iu9Si=]7ru
101.1782 + pHNP.p5Qmh9LJ-g#g(2K]Uls54*=gb(RP%"=N-XH,sja;QKY$1a'N+u6*RqaUtI61!TKRuK
101.1783 + gC]-0H2hf)*tG;!&>H(Js7I".:LITO]R(P5KRJ!oqXOXeu=$[m6Q29pa3Xmc7[@)hBf-MKZ
101.1784 + ;+D_<IkUd%k\%rOd5IBJ&-a0U?kJQh-UQL+5-49T+.`SE_Kg/f+^^L6/*!/AV!so?OU(_CV
101.1785 + _umek".?*@Skt!5(ki#Z$T\rj(.u+X,)eT3CbcZT#Z@u7C"=aAY8f@o'H=T^=e^Md(C3pT#
101.1786 + TH,GC3Mpb)aV+:NmR3SlN0Aj+$=l^1Fl?hr$"G3[?9B.MXa.?!o0p1KV-%R1h]R?nR95SKU
101.1787 + [OeTR/[?"55H@HE%5O_[=m4'*&5-2a]R0(]]-%BLK-&+=WeL1V7eH/36/!j,EKfQS^ckgPn
101.1788 + Hj0>\\m6js,50EX]m=fI2_`(1KY=tck6"qskn"11W*:e8O)@AY3"WXscX5mA2=+>N2Y,@H(
101.1789 + V`)8h+OfiAO,.M!\#[4pK5t-0'3i"kHe3-6Z>;iPcT*)16]O!cg=g1FXL`1$Ale_`m@mZku
101.1790 + M^+r?OWZ=8#Xm%N517CcZ>h]TK`ZpD6O3^g10MG0(PkUO`sZ=_]O&W0F#\PMMkjOs4E`R">
101.1791 + ceCt7r3H5K6SpqZ5t->SM5_qE)J[k@??X6]G,$/#TLi8]bW-4Lf:b_gkH1<`^I=(RlRi3FE
101.1792 + ts/M`/,q6BmHdCbj)EO"sCQS7Df**082lWOtjT]:-\blZ@q^<u(&)80"$e^aMTr/W0_?!^*
101.1793 + "p8`Pedfcp6GJBNU;1nmSnUImYE*jh$I"Jj1ULD=SF"rN$r9WB6[&rRkPb05_V@i<;9R7d5
101.1794 + S7p.H"4.64t7"a-G)hAs,Z9f/91P9Y#5_Q%.S@V@p]1]\Mb$927`4e.1V1LP>#ZDe#)jqY,
101.1795 + fbfi$M\BQg/?hf]J\mNuLK)@t]ZMt=Z:%e,apCn'jG4(@CJ4$@9aoED*7>J$]h'/@M-MgWg
101.1796 + l3=Bd`m*N$R4`/6a`8MHHFMYP*uW,`8410hZtc"J2C:<JrE$Z\1kSR[kNKRaFPBTY;Ps_9n
101.1797 + _b+SE`kNlOJciS6VotEUo$`)U?"b-b3NM"'5R,eW*2)!_i8$0NA[:\1hE"9/nBHRc_m(hoH
101.1798 + eq\aX>E5eDrkO%P4Zb1M3=0cRb%^V;QdcOC%S>m=,B#7==?Y7(S'g*6^:,RjVVd)pTjn^^H
101.1799 + 3It[J+#TKUr<;dGsY>6$X2.OHaEaI)(3R!S-%_W"$9CR`S;:2nZ%Cd%B&?`tp>V`60\MXgo
101.1800 + *?nB5,>pL]:lOd7fTshHT?dB\;Mn*YPE:=\ql%B'Z4iRWP;*EU67@X[dg;ErM^AorJq:SuN
101.1801 + b[gI/H%#UHAkB<#Z*k:S?.:d):Fd4;p@I(h$$QsD,?ml,W$O%m$H2_6QtBn,\2?c&1SSKPn
101.1802 + oc178Zg5]"p!q:_&Hb#Sd@c#V/*d#s\Y]eI>AU*E#H[e'nP!eOn&bN1disWmSoB^)4.#F[F
101.1803 + VY>?/@A<QlOb3Up,"?PqdR$],0OR_2!<moB<s<_[.+>Kp1.DH:=^(,]K_U<*ZcKo#RBX/T8
101.1804 + .I;5bg+fq>hdY2Ad*HG45F&c4Q8[WWk=Y!OCh$?&5&l=Z:BS-RVCsTVCUmU?\Yu+$AG$"Wm
101.1805 + =:Kg@`H93JJ_2t1f5W:"+O^W(3/B%`=2JS[FbNpdMcdZO=N_3'oa019NEGu^=K*b$TRo,\N
101.1806 + N*/0f8te/d*ErIM@63Z%98Nn"e&SrRp!>";H5s6opf1Ko%BEZQ.\g'Y`7=\JXE]#V+?Ks+k
101.1807 + YAueCk(u>)fLbSZ3lFN^_Ki>-4n63lhIc\d0U$"uqNEJ:sSDDP3pt'bt]nrM'W5CP]rGgBF
101.1808 + ;WU-"pRLPR)sUgq/q[BGB,[>8X@a3#9UXbtmCL^@o+Uh.8r&E6pBEnH?JgkEY%=VTXn!$lu
101.1809 + pgs+)Kh9He+5;aH.>j]oFBj4fSBNOklg/Y^!NRLI]>Zib7fg(-jd#D4:JR*e^>AUNK^kb.8
101.1810 + Js?n*?1<GP"i=PFZ/.0uN]kt7*T@?IM#[_$#U"h*34`D7dGDS'?HqjMPT[4NmG?[g#m*ZN8
101.1811 + 5k=Z4-de=>tDO4c1-;b9Nj]8N:Di4,'K\OL0FCX#j&\S7;`SHJJH!8cM:c&ToB>+_^Z[]Lo
101.1812 + '4fpkE$%T-n4ROU02A-0kg3>7jTkfnbI=+FfD39O2pGLhi5^%ME2&'4Ele==ht\7M](=on\
101.1813 + `7?\S.n^l+0Ek*W[>M>eHM:&0Sd&VuSTO[/"6I@$rW8Vk@N@&\)iXchWKLY\&Ci$l=q5`"<
101.1814 + 5U]f&2=KT*]IJ[>o.UG0!gO9pu*\q4X1CIe0@m2bXl18BJO5SrTinBUME/*9+_2+rc@#0P!
101.1815 + pn-PBMV8fP#_j`5(+BN+h.--fih_s+NSOj]6jYH<?*NC!*\UrHNfH:Dj'GGjhG.VFR_5\Z<
101.1816 + CTbm/h:G#B8I*X,'HTbDFn'bLZ@Le#_knec;f[L"leqPhp,5.IONsB/E6G]AVIZ/c50o_YD
101.1817 + ]84AKGDp?=me_Me*(\k&p0!.+6aU-K*70i8tsek!m;9LgWC<Lh94_?-?gA?jH[&@+HBT(3&
101.1818 + 9)?<uKV@-265S]U"X@qM$S?G6Mt*3j/%IgC420-,1JrMl-kEo6Z?k/F.XW/KLIkD5\bB;P?
101.1819 + 6p1!2=j58dMAei,a5_WIO<s[@<Au`t80i;OXGiq6RMlqroOH3sJJn]XaB@qcJm[.Yd2!M.3
101.1820 + i5UleU6K>WPmG(g'uC41=n_(+JS/"'Lb=bQn::nrb@HotB$QVJ2L/c/Wp"&bC<`43Pd$#\X
101.1821 + _G#@.ZGb!7^(c/FbhAu#[M015+^U`X9a6XfCl`7\;B=\$jj'Z`7?$p#-!J4X,%g&A?L:Fk-
101.1822 + sY/_cSp"R@_An-H"u2m]e$^#NgU(D6<-FJng*pet.q-G`5[p6%B/2A9`i?-ie)qQ>5P7CVG
101.1823 + ..W2J>R5\;(7?A=d3m`KCLgMOW/m!CMqmSRi?l^cR?g'*Aj?GL($eV8dOjrg12-7e2T_2<,
101.1824 + $OVj_VfS+,?ent-IDU.WL%F9g\B^X]8@(o6>NkgHgc%cR]gpRCm?H[52M/,6FO\h%oVKRfV
101.1825 + cfB6s);a'S*K'4_o&&[U(odmRhWsV8")pI-:hH2RI6ggLmFABCcNW8A`fJj@Gi'p)k]VU\D
101.1826 + A`^l[LNd%'t3610(k2.#L<$%>Cf@P?2*h0N2J86A"\le^AmZQ_MV1MS[T/pQ:Y7E(C5d,KB
101.1827 + %Ztr_2a_rU>jnE_duR46JT3Z6(88j)3Cf>jCN6Tke=thPU$OAgU.GgMk_8muWI\-MiPNcZ7
101.1828 + OTkCAOu(F&7=)i@CK@0/Q#7K7DC)/E:unu"Wlh`aK;J>EJ,M,bpC-PZ1=kobFmka4hWTShE
101.1829 + B'3hu'nW*\:\BGu%V;^@ngA$Wh(JBT*\r@KbAMHjj:6Pss\FhK)l!UHM429QIbgt-)>?=/)
101.1830 + LsB=0+nJb[F+6Q"hd1Hl+7a7TDZ<"CNtcW,?ZnG(l$$Z]?Y4It]Ppu>9jH7+CtEiSCD/pDG
101.1831 + /%m;hekrLX6bm4p?uu=%rCt^F*Bij6+rgkm:Z/hG8T4XpO@I4T6`VdFkXlZpTJu\5Buq[Is
101.1832 + :pC2Xb=(%tYJpIeYRLGYa#KpOW*HLNn<)G`R\Z7u$f2Mg3!qGgD@BT8NF$O*L\dGn6$(095
101.1833 + iMPBfBWGu'\dhide?kl^]i"8FU)_p\@YRJF%VH,#nq\"7lkT)%99H4QZp+.rB_TmAYlH9\6
101.1834 + P:SrG.Vg;^JqJW<YT;d.?W;=9/HH3(4c`VTOYBng)H3d^ZkZ\n^6j>nEHN1/F&%-b&[X3M3
101.1835 + qiA45QahC7]6g`oH`+Q(^V0LM<X-WGH$@)P)JF?0E*CT):7*+,3$/.!8i\!6r--50T?2Jaa
101.1836 + S`fqI)jEXcd$pqc[=?kI.,G[s3Z6JdX=@-rD1mj=4DY*f6qSiI:q5]J(ad]g3p`jIF$XGhp
101.1837 + )@\AqZ#$!ao&\BAJ!VhL7-=IQuqC2s,Qbk5J`NIZN]ATBH3Wl$g+u";kW!-cH#Qmj,*S8Jc
101.1838 + @Fr6Tgu`r;n%s%i9:?gN8\om_2ZIt.9DO8=?]qgJ4s(uO;$-i3k8qZm1%-l%;!+E1FN*Yem
101.1839 + 66=I+.F@IDeLW*_"BV\rl)3.02dCB*t5pML`A28EUU.larZ&io"KZ7RZRS@DCH,Sif4.]5\
101.1840 + e+s4PKgVS3B[h>s-C%6$;eabXKgqn;W`<faHGsL(>HV%Ceb]N)`FH2VCt<r%VU]Ij>A_sgK
101.1841 + uW4;IpHEJGMVESGCDbpf2qXk"bX[#E7fP--P_QZ@r^/tH2WPK0s1q1>eXDsS'>Se3W/#l4e
101.1842 + ^;;o\(ldQW'g4CNZ*E?H6?WfPL99?,k?9\)$IrS,N'dHc+44S#^@\-?=oQ+ugQ;(I+bDl?#
101.1843 + )C5/11(g[0334oXVsKWK!j3F72*Vq(,,H[XcNLWANJqL*hMJ&gaFqu2(YC[q8802($f!&+r
101.1844 + U&HopH>T!a^d!QuB_GHaO$Gt0&0atrrgc5k^d/60@`).LG'#`0[;&$c="9ANgBA3.`0!SAi
101.1845 + )TL1;E?*"rgj's]dJSP<aAO"7,081o)L9FjS=(_GUn",(8lD1Y.a$2NIhj]bF9`YdnXQj<b
101.1846 + YoM'1<e30d59*H>hM$[dsU+6Y"+0/!)D"UmQ=9DPkdMhe,99Hb>8Q9(X'kc%m\NA>o?,Ze9
101.1847 + rK2dSubd9%)5&0Xf8^K^hg`6cCiXe5[M\$W(X"\O4b%/Ql-)eU:k.elA8T>1V6;EB-T\S=O
101.1848 + !/"J'UAfN'#KVGM8L;,g"Y%?"iOepX6*g/acDC>.7PZ#&/qh77F@Ps(=Mflm&1Eno80d<+2
101.1849 + G?.jDWf6uV&hH-0aE$(3i@04XGAa+[$fDYf$i)h$,K&G9F&VT+F>8)?:8(Jh`9Gh@jMW3:&
101.1850 + 0oY-phDpVVf`"0u_RHrsP+PCt`iIS\m.!g2=aje;AWsbOREiu&C]J'#DKD9/fuAN4kZT$aU
101.1851 + ?L;pOI>0t2GUogQ!15Rk1OpAWp81'HO+C9`AUk7_a_J4OddE)=_`fM\#Zc<9H1De]'d>;k1
101.1852 + ^akZL$i,h6h0*hYFnSg\l&G:tO50M<ZnJF1^o]?Puc10NT<FRN.]ab3(n"mB@$+mio.[4T<
101.1853 + OKDg^mLaRWqu.OOa,^I4Z8MaosQoK*9sg@j@;ESU:a7g1O7RY%J>GXFEHiqTF\Okoh>>l!!
101.1854 + dRs/AmqGXXplLUGOj6()^e+MpGrh$%PPlAC/\bht2dIdBE?eP.M2E\HZfmX1^qYo"UcMVOt
101.1855 + fD1_T/tA@Z[ncr+d+NrqOd81DYgqXQpO@,S:;?NN!)oZqIukL`^kFiOT.BYgd!cNm(duGPJ
101.1856 + qR9"mLd='<1i)_p2/%7E5N<b$VLUZA.[Dh_Y.gT7gq2)A\K-N\:kLR,XmO3dLr\u,ekNc9o
101.1857 + 6kI9thu3b8[+pMT$JB5Y.cM6f_MhZ$m-0Jn#<6,H4H+V?0-%N<P!bArDdonOB77l.`!4Ej;
101.1858 + JY_l,UqiX#RA030[&LG^&[PHK9C@9U_A:EWTK<JolR/AK:DSYG=qMrOFaZU/(<+67;>&Y]1
101.1859 + o,)I6anop8&&g#(P-QQTRGEaiE+-63o-<[lJO]"jQ82mRtS&C)&nNL>S)20d,,&2>#&AH#<
101.1860 + M_aF'@s0Vml+5;dVW=hm:Cp'1'6\ELB!QW2"TDFreF*DF*7^QR\m.4hRgkoNk>(E1?I%dlX
101.1861 + <r:[Qd\Kr9h;lVk/>tcdrKG&npNK14QInhRX%3)B0&te5*'7VG0_Vq:2!>mRC$:Z;49@3d(
101.1862 + ID5cMbXXb!ekD/-KOFLmgAK;b@A=S!j<Y!]q;ujQ$aS-EaM=\ajG\geA5*1a1AjH.<*I7#c
101.1863 + "np7eHsklqHi(o?k,Qp)j"-"qB,-h(S,"PNuPC*`[TZ<g]jV27d.m49S`WQNe$DbI"6Gc)d
101.1864 + `R>hPgs!RE)Xn;$7e'[)KWWSNb<;;k]d.nD+3BX8`!i<\QB2bjJ<[Lg=2i#PV6AbA;Q*k?5
101.1865 + fXMB!lNDs9oTIR))b"H-+cg>RRO-Zl<GL?:Z)NueY:#.-1!0YXY,nq2PF;KC.oA*m/uG$Mq
101.1866 + [[R\He"q\=IqYn@p9sRQa<M<#1EC#:?d/k-BcVI>1YuSai0%DG1O6%7W!,O]t7&5oU/qX.s
101.1867 + 1&FZ('<TRb8'oEXCREZgmiP;Yl"_$=2&aWS7%ZS#]pK]p,pL*s>uA'nXSl]k"RL#%8C=?D>
101.1868 + @BY_"XP`Zfl/fjslAEkskE6@!.+_fR5lffS0PI,nqBc";("lJ65=@u8aB\F5BKe&=CmmhPR
101.1869 + u(fEn5ANPa+N"*[^G83KgEI8)t,cK@'RGruWm0XU[F7h[X@f]AaRmaM.ptE%26@4`pP`I1.
101.1870 + @gQb;eXH)?_kYE;A@Pa0RrbAlXGPr:;HP)uEa_^tc+<^N!f5U713UT=G97K8!p2+`@4/Do4
101.1871 + %mG9P-Q*^bkZNgkBTc<8iE-bg%KRQN=h."NQ/cQ(IC"GQSrleU*c<\bNR_oWQE/A!#eD!kt
101.1872 + FaHYV$j>])Q/S*JG'rILt.Y*W"dLZ`K#>%'Opm=(C&W5NTj!OT`tIjiQPio,M,\!!;e.h#p
101.1873 + I:Gt)rPThB4&SUUt>cGM`)=mP'W[<AlogGfb:_eCd5pB`a)S!R)k).gUl7g7i+++uJAMb#X
101.1874 + r$/s1gf^DBr?ajY,QEg%5Ds:cF?Nr!@\YCop]sk+'[:7L1$ZmhX,2BGQ'U'J/P%X2=:&*Tc
101.1875 + H<bfbnkt[m<:5Mg06<3FNcW,7-Um7T*Ir+Air(o.9lJeSs6#A%`jAL7lF`1''+Rs>q2QuhA
101.1876 + FD3f]V21u\MNG4Q\"jaL"%i";sJbZ[1nT"c$PGslh=buPFf[UqSr$m)fpE!0'h!!-\_'H*G
101.1877 + G)B;rToLHKU.FAoJ57i;5@9^jA;fp^Y"!4PuUjr6NJ!3j[^g]%HQ;hoPI'X5*0YQh>dfR<?
101.1878 + 8/g,K&3i%nZ]qG'cFIHS<<hYgK"WKls:,=CpF:!MGT`lg!n:\C2Q:B1lP;Y@NDn31n`Et5O
101.1879 + YITi;o"RB?;caDYrYK)ti;Y9q;nb'K&T)=&%R!g'R;SK8j-pGhVGV@nL6t7eFic=rHPh1qo
101.1880 + s)3eqcjp-g&ko&#98Sc#E"rEY3,R!c[a&F\&+[I",4%Xrd&k+-:TjbmIf.5apHj3(asJL\@
101.1881 + )n;L"=9rIBWPd,.fHN^"JTN2:W+`%3o@*MqdPNfDfYgFG4/78;m9(GYZ/ilFTO7_@n2V%a,
101.1882 + LE2KGDk%$ALVCKaN%LQD?48$\d)R/XY.o81)Jcrbk3u#9pDAFt"u&AoPo`X6uTFppP$Y;f>
101.1883 + EWO?P"jE<"p4PL.7^VnTJ&g9>-LrIo"pmOJ*1r$INHe,kg/m^io^n0sIOjA8+mOQ-gb$78U
101.1884 + 7Y9n)q6=CC%1ac,s#S?tU01N1hgeQ6)$aElBd3qr3pD)(f@5+ijk6DAi)]"QZ>75UlM+!J"
101.1885 + DC4iS^0sdP/+=Sb:6MlBp2F4(%]\>[`>*t'LPocj,'OO4!,Sp#YYA"2:$T\jb10-<)Id1\k
101.1886 + pVInfW>Y;e*U9W&N]2Bppt-a#fTFQ`lAo!kgg;h(lQ[cZ&X?)-Q-ZA!0Cn#,&\ANT,M^LMU
101.1887 + ARS;6q3^#d>g<'i2:@WQuP.D$-\7*26j]huJqFe8gSE%Di&6ncl6*4rc<C(Qqs+EF;QG5:+
101.1888 + `i?>kMB;J@K^UuFmG+j^4D/\ZT@M!smD"d4]P/aEU<`>e5]cr,%5Be%k(Cp<C%r5l&dU1l)
101.1889 + hD'u/O.E=(lEJGq0U70Ma)=a7,n+S6tXXQ"_*-.GQ9rR01cRKCn-ZZNuU1YsTI4FWh,,TE3
101.1890 + noHJgRjJ:0(/k;h`QKURR5"4J<f:S@bb#&JLG@-)X![%nnX0Ilbk<['P`j!+!;SCk^G>q1L
101.1891 + PNgEl#dij!:$m;&X,t+#RN.nE/o[mPJVX3o&BHM`@<'ZCoUg)ZIW!==DUII1*VE37Vm3'65
101.1892 + Qsu&b>BK7ja2$4X:<F3E&F!!Q-b>UGWIV3R_+g^sP%P)CSNs26,ChdI`M6E;\YA2cAifF*d
101.1893 + +-I_7HS5*P:re*\i?l<+^;$SWYe'E:<3"$ffj5a2XA`>LBa[m9R%6'N<Se/q!k,=4d=5r!L
101.1894 + KF>#uq1IG,#6^0Z"_P9GlYZKq48]>m@oM7mi;ajYe7?h!7e+R,XN,[_Ea:qoLe8IhkF%92R
101.1895 + 7u0YNe7.BgY\HX?2fsC;e;m08P=\`?8VRUB&TL%PVaPVt8X)q@['*+:ZV+9,99d"g9H7LuK
101.1896 + 1j_79U*^oeB^i'dT!8B_=Y]@<8UFbj%`S::6b$6F@/gQo1r?[:R(`PeG_U"lr>mu:_a@7eI
101.1897 + PLl'2_aF.*.R#7JAN:),aH^;O&b1eLsQ1*/*m$;\_AmeN["J6W@#,;anY"F[oFH;cQh!<L$
101.1898 + b^eF?Ph@ocTB<g@H$b=bM0ogVr"=-\,6eUL[9Jpde,@HNrF'dHg\P?CnP=d>IZ`YD4&+Cu9
101.1899 + _0O]B5^dVHBZWf;g(W+ZC<PMa<_@]ef/YIAoe\VGV/du4C%Md`(!+0%6g(O)A>nsXb[I,VH
101.1900 + \R)\J(,btne\PU8`Xu4o>kPr@edl&Oh-;hq"ngt`Q1c.4+tZ*I@[6Wi<VdIgrZ5)k&%4MNT
101.1901 + T`n$d9tn7@3FN7p#7QS8S(pS@Ni!cFt6pC0J0^nA&?o0!0^qo&1s2/&%4#@[T!s,=^j_HA[
101.1902 + X1((2$utGV-?o>o%<0[WuN:;e:+G@Y'gs<f:=.N\-PK?(g.jFq8;q6#$$S@b&166IfQ]/S_
101.1903 + _t@Q#fE@4j.?)-n#iCZ)=2+He=b"`1T]D&)qb<[]P"mMr[k??Y@8(?\ttgKdh,>ekW'290W
101.1904 + Yc7LpH?Zinu2=GLMi%:8V>W(&O6SEGEc#M\W@b1cdokd_3#Srb-B/`j,K%2Pcm3Y0P"4q:!
101.1905 + J<tH]g'^u*AUkkH_V,RqJqak*/D"->+\R(s?r!S9G%0'HTKHeP)g>A.;n%,TpORQYC`6B`/
101.1906 + O>/=f8k2$drli6%6)E]TNcg\UNAiUG@7h&[sfo[/Ug01HXWat\%ZJ+O;+GCB/dsB2pZmu4*
101.1907 + j6HJ'[U5\)\1Rl$J$2I\q1;(\hUorEt/#AXCaIU>(4%?n3'*B/dI?@b$%,D1U^!B/eRsGUn
101.1908 + 1Z0mp?C/GJgi\%RG2[V%ON&E;Gj``[u3fl=N!K&YHSAm%[!]7n7AK>Q.\V!Wo(D0OWPG@K<
101.1909 + N!1%2_Sh7I$;n.E0Q],P.?&6]iAXJW4Qu5j4T8D0>MDo=.B+TiBM0/DrFX%-L#%riq`Hc'.
101.1910 + H(ri7pMY77fm8>AHIoA4pP+qWd>d9kIohk5Q^KP;m<7+cI:CfV\)2MkfnPk/I_sQdf>2r]j
101.1911 + cJV;JjS.Bf@=lnomPGmIKJ,RQaMBRd?=7qHm70l\':,h!`'X;/U0&Qij4m3B7@@")H\#/=<
101.1912 + Wlr?nHVH;n+E55gt8#R?o7'Lq"=W=@JSO87pLqR!$Z/R?*&Rc%otERA/)^->/7Rf8Kk&RY'
101.1913 + (WK^kG^I>nqt4i57/H'sBgdtlo_S0HLRAFH%_du!kB"5(phL8UT:`K4XmNZulBH0QtAmS;E
101.1914 + Q/Xc<2\>>a!rap-DNHJ0![3&>"$5ja?#b!iMg-)3>O=`c_UmaND_)\>.V@-R$#_;ZG_V,RT
101.1915 + A#4^JVLmNL>$7WLX=P8WV]%W*!lq*fl)122V#`TQ>$5`pfqoo%VKuu/RW#*t]rFEK)LAH_H
101.1916 + @@DKK;`3'X+K%6]"b3\'<,/HUtTJginA4[LT3YRWg^&f]!*`S\#Z7VX5M1&2S:W1\.UiXXT
101.1917 + lJ@>,El4f;N^l/GeE?2G9m8l7KU?YCbH03d[m#VCc!UVn33cg4uYS&Z".rY<'4mH@d_?0;s
101.1918 + 4BZ?i@GEBYpWc)$mb/XF#R3kd2WMmN7OZm`\rHE)&,5IBr+/DF1#gK6%R>Ru-`T-D[k>'mU
101.1919 + Xe#/X]UcWT;4*JXGf=0Hu\3er[>D\32fspluVckTM<<WaFGIuVM]UR*WgX!P:1?h>q0H8c[
101.1920 + gY]^aj1\a\^74H&g[Dlro=nN(^RP,8g],&/"2J.H^mkeJg^h4@'>[oi_42I\g`OBQ,Jm\5_
101.1921 + ON-ngb6Pb1W*HV_jig+gcr^s6c<5"`10K=geYm/;oN!C`LL/OggA&@A&_bd`gghagi(4QF2
101.1922 + qO0a..LsgjdBbK?.;QaIJ10glKM:!'gSe~>Q
101.1923 +Q
101.1924 +showpage
101.1925 +%%Trailer
101.1926 +count op_count sub {pop} repeat
101.1927 +countdictstack dict_count sub {end} repeat
101.1928 +cairo_eps_state restore
101.1929 +%%EOF
   102.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   102.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/VMS-core__internal_workings.svg	Sat Aug 03 19:24:22 2013 -0700
   102.3 @@ -0,0 +1,1010 @@
   102.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   102.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   102.6 +
   102.7 +<svg
   102.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   102.9 +   xmlns:cc="http://creativecommons.org/ns#"
  102.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  102.11 +   xmlns:svg="http://www.w3.org/2000/svg"
  102.12 +   xmlns="http://www.w3.org/2000/svg"
  102.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  102.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  102.15 +   width="744.09448819"
  102.16 +   height="1052.3622047"
  102.17 +   id="svg2"
  102.18 +   sodipodi:version="0.32"
  102.19 +   inkscape:version="0.47 r22583"
  102.20 +   sodipodi:docname="VMS-core__internal_workings.svg"
  102.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
  102.22 +   version="1.1">
  102.23 +  <defs
  102.24 +     id="defs4">
  102.25 +    <marker
  102.26 +       inkscape:stockid="Arrow2Mend"
  102.27 +       orient="auto"
  102.28 +       refY="0.0"
  102.29 +       refX="0.0"
  102.30 +       id="Arrow2Mend"
  102.31 +       style="overflow:visible;">
  102.32 +      <path
  102.33 +         id="path3563"
  102.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
  102.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 "
  102.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
  102.37 +    </marker>
  102.38 +    <marker
  102.39 +       inkscape:stockid="TriangleOutM"
  102.40 +       orient="auto"
  102.41 +       refY="0.0"
  102.42 +       refX="0.0"
  102.43 +       id="TriangleOutM"
  102.44 +       style="overflow:visible">
  102.45 +      <path
  102.46 +         id="path3682"
  102.47 +         d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
  102.48 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  102.49 +         transform="scale(0.4)" />
  102.50 +    </marker>
  102.51 +    <marker
  102.52 +       inkscape:stockid="Arrow2Lend"
  102.53 +       orient="auto"
  102.54 +       refY="0.0"
  102.55 +       refX="0.0"
  102.56 +       id="Arrow2Lend"
  102.57 +       style="overflow:visible;">
  102.58 +      <path
  102.59 +         id="path3557"
  102.60 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
  102.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 "
  102.62 +         transform="scale(1.1) rotate(180) translate(1,0)" />
  102.63 +    </marker>
  102.64 +    <marker
  102.65 +       inkscape:stockid="Arrow1Mstart"
  102.66 +       orient="auto"
  102.67 +       refY="0.0"
  102.68 +       refX="0.0"
  102.69 +       id="Arrow1Mstart"
  102.70 +       style="overflow:visible">
  102.71 +      <path
  102.72 +         id="path3542"
  102.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 "
  102.74 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
  102.75 +         transform="scale(0.4) translate(10,0)" />
  102.76 +    </marker>
  102.77 +    <marker
  102.78 +       inkscape:stockid="Arrow1Lend"
  102.79 +       orient="auto"
  102.80 +       refY="0.0"
  102.81 +       refX="0.0"
  102.82 +       id="Arrow1Lend"
  102.83 +       style="overflow:visible;">
  102.84 +      <path
  102.85 +         id="path3539"
  102.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 "
  102.87 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  102.88 +         transform="scale(0.8) rotate(180) translate(12.5,0)" />
  102.89 +    </marker>
  102.90 +    <marker
  102.91 +       inkscape:stockid="Arrow1Lstart"
  102.92 +       orient="auto"
  102.93 +       refY="0.0"
  102.94 +       refX="0.0"
  102.95 +       id="Arrow1Lstart"
  102.96 +       style="overflow:visible">
  102.97 +      <path
  102.98 +         id="path3536"
  102.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 "
 102.100 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
 102.101 +         transform="scale(0.8) translate(12.5,0)" />
 102.102 +    </marker>
 102.103 +    <inkscape:perspective
 102.104 +       sodipodi:type="inkscape:persp3d"
 102.105 +       inkscape:vp_x="0 : 526.18109 : 1"
 102.106 +       inkscape:vp_y="0 : 1000 : 0"
 102.107 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
 102.108 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
 102.109 +       id="perspective10" />
 102.110 +    <inkscape:perspective
 102.111 +       id="perspective4311"
 102.112 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.113 +       inkscape:vp_z="1 : 0.5 : 1"
 102.114 +       inkscape:vp_y="0 : 1000 : 0"
 102.115 +       inkscape:vp_x="0 : 0.5 : 1"
 102.116 +       sodipodi:type="inkscape:persp3d" />
 102.117 +    <inkscape:perspective
 102.118 +       id="perspective4336"
 102.119 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.120 +       inkscape:vp_z="1 : 0.5 : 1"
 102.121 +       inkscape:vp_y="0 : 1000 : 0"
 102.122 +       inkscape:vp_x="0 : 0.5 : 1"
 102.123 +       sodipodi:type="inkscape:persp3d" />
 102.124 +    <inkscape:perspective
 102.125 +       id="perspective4365"
 102.126 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.127 +       inkscape:vp_z="1 : 0.5 : 1"
 102.128 +       inkscape:vp_y="0 : 1000 : 0"
 102.129 +       inkscape:vp_x="0 : 0.5 : 1"
 102.130 +       sodipodi:type="inkscape:persp3d" />
 102.131 +    <marker
 102.132 +       inkscape:stockid="Arrow2Mend"
 102.133 +       orient="auto"
 102.134 +       refY="0"
 102.135 +       refX="0"
 102.136 +       id="Arrow2Mend-9"
 102.137 +       style="overflow:visible">
 102.138 +      <path
 102.139 +         id="path3563-4"
 102.140 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
 102.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"
 102.142 +         transform="scale(-0.6,-0.6)" />
 102.143 +    </marker>
 102.144 +    <inkscape:perspective
 102.145 +       id="perspective4423"
 102.146 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.147 +       inkscape:vp_z="1 : 0.5 : 1"
 102.148 +       inkscape:vp_y="0 : 1000 : 0"
 102.149 +       inkscape:vp_x="0 : 0.5 : 1"
 102.150 +       sodipodi:type="inkscape:persp3d" />
 102.151 +    <marker
 102.152 +       inkscape:stockid="Arrow2Mend"
 102.153 +       orient="auto"
 102.154 +       refY="0"
 102.155 +       refX="0"
 102.156 +       id="Arrow2Mend-8"
 102.157 +       style="overflow:visible">
 102.158 +      <path
 102.159 +         id="path3563-2"
 102.160 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
 102.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"
 102.162 +         transform="scale(-0.6,-0.6)" />
 102.163 +    </marker>
 102.164 +    <inkscape:perspective
 102.165 +       id="perspective4461"
 102.166 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.167 +       inkscape:vp_z="1 : 0.5 : 1"
 102.168 +       inkscape:vp_y="0 : 1000 : 0"
 102.169 +       inkscape:vp_x="0 : 0.5 : 1"
 102.170 +       sodipodi:type="inkscape:persp3d" />
 102.171 +    <inkscape:perspective
 102.172 +       id="perspective14081"
 102.173 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.174 +       inkscape:vp_z="1 : 0.5 : 1"
 102.175 +       inkscape:vp_y="0 : 1000 : 0"
 102.176 +       inkscape:vp_x="0 : 0.5 : 1"
 102.177 +       sodipodi:type="inkscape:persp3d" />
 102.178 +    <inkscape:perspective
 102.179 +       id="perspective14206"
 102.180 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.181 +       inkscape:vp_z="1 : 0.5 : 1"
 102.182 +       inkscape:vp_y="0 : 1000 : 0"
 102.183 +       inkscape:vp_x="0 : 0.5 : 1"
 102.184 +       sodipodi:type="inkscape:persp3d" />
 102.185 +    <inkscape:perspective
 102.186 +       id="perspective14299"
 102.187 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.188 +       inkscape:vp_z="1 : 0.5 : 1"
 102.189 +       inkscape:vp_y="0 : 1000 : 0"
 102.190 +       inkscape:vp_x="0 : 0.5 : 1"
 102.191 +       sodipodi:type="inkscape:persp3d" />
 102.192 +    <inkscape:perspective
 102.193 +       id="perspective3233"
 102.194 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.195 +       inkscape:vp_z="1 : 0.5 : 1"
 102.196 +       inkscape:vp_y="0 : 1000 : 0"
 102.197 +       inkscape:vp_x="0 : 0.5 : 1"
 102.198 +       sodipodi:type="inkscape:persp3d" />
 102.199 +    <marker
 102.200 +       inkscape:stockid="Arrow2Mend"
 102.201 +       orient="auto"
 102.202 +       refY="0"
 102.203 +       refX="0"
 102.204 +       id="Arrow2Mend-8-1"
 102.205 +       style="overflow:visible">
 102.206 +      <path
 102.207 +         id="path3563-2-7"
 102.208 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
 102.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"
 102.210 +         transform="scale(-0.6,-0.6)" />
 102.211 +    </marker>
 102.212 +    <marker
 102.213 +       inkscape:stockid="Arrow2Mend"
 102.214 +       orient="auto"
 102.215 +       refY="0"
 102.216 +       refX="0"
 102.217 +       id="marker3239"
 102.218 +       style="overflow:visible">
 102.219 +      <path
 102.220 +         id="path3241"
 102.221 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
 102.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"
 102.223 +         transform="scale(-0.6,-0.6)" />
 102.224 +    </marker>
 102.225 +    <inkscape:perspective
 102.226 +       id="perspective3353"
 102.227 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.228 +       inkscape:vp_z="1 : 0.5 : 1"
 102.229 +       inkscape:vp_y="0 : 1000 : 0"
 102.230 +       inkscape:vp_x="0 : 0.5 : 1"
 102.231 +       sodipodi:type="inkscape:persp3d" />
 102.232 +    <inkscape:perspective
 102.233 +       id="perspective3447"
 102.234 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.235 +       inkscape:vp_z="1 : 0.5 : 1"
 102.236 +       inkscape:vp_y="0 : 1000 : 0"
 102.237 +       inkscape:vp_x="0 : 0.5 : 1"
 102.238 +       sodipodi:type="inkscape:persp3d" />
 102.239 +    <marker
 102.240 +       inkscape:stockid="Arrow2Mend"
 102.241 +       orient="auto"
 102.242 +       refY="0"
 102.243 +       refX="0"
 102.244 +       id="Arrow2Mend-8-5"
 102.245 +       style="overflow:visible">
 102.246 +      <path
 102.247 +         id="path3563-2-5"
 102.248 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
 102.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"
 102.250 +         transform="scale(-0.6,-0.6)" />
 102.251 +    </marker>
 102.252 +    <marker
 102.253 +       inkscape:stockid="Arrow2Mend"
 102.254 +       orient="auto"
 102.255 +       refY="0"
 102.256 +       refX="0"
 102.257 +       id="marker3453"
 102.258 +       style="overflow:visible">
 102.259 +      <path
 102.260 +         id="path3455"
 102.261 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
 102.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"
 102.263 +         transform="scale(-0.6,-0.6)" />
 102.264 +    </marker>
 102.265 +    <inkscape:perspective
 102.266 +       id="perspective4753"
 102.267 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.268 +       inkscape:vp_z="1 : 0.5 : 1"
 102.269 +       inkscape:vp_y="0 : 1000 : 0"
 102.270 +       inkscape:vp_x="0 : 0.5 : 1"
 102.271 +       sodipodi:type="inkscape:persp3d" />
 102.272 +    <marker
 102.273 +       inkscape:stockid="Arrow2Mend"
 102.274 +       orient="auto"
 102.275 +       refY="0"
 102.276 +       refX="0"
 102.277 +       id="Arrow2Mend-8-12"
 102.278 +       style="overflow:visible">
 102.279 +      <path
 102.280 +         id="path3563-2-3"
 102.281 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
 102.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"
 102.283 +         transform="scale(-0.6,-0.6)" />
 102.284 +    </marker>
 102.285 +    <inkscape:perspective
 102.286 +       id="perspective4850"
 102.287 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.288 +       inkscape:vp_z="1 : 0.5 : 1"
 102.289 +       inkscape:vp_y="0 : 1000 : 0"
 102.290 +       inkscape:vp_x="0 : 0.5 : 1"
 102.291 +       sodipodi:type="inkscape:persp3d" />
 102.292 +    <marker
 102.293 +       inkscape:stockid="Arrow2Mend"
 102.294 +       orient="auto"
 102.295 +       refY="0"
 102.296 +       refX="0"
 102.297 +       id="Arrow2Mend-8-8"
 102.298 +       style="overflow:visible">
 102.299 +      <path
 102.300 +         id="path3563-2-74"
 102.301 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
 102.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"
 102.303 +         transform="scale(-0.6,-0.6)" />
 102.304 +    </marker>
 102.305 +    <inkscape:perspective
 102.306 +       id="perspective4850-7"
 102.307 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.308 +       inkscape:vp_z="1 : 0.5 : 1"
 102.309 +       inkscape:vp_y="0 : 1000 : 0"
 102.310 +       inkscape:vp_x="0 : 0.5 : 1"
 102.311 +       sodipodi:type="inkscape:persp3d" />
 102.312 +    <marker
 102.313 +       inkscape:stockid="Arrow2Mend"
 102.314 +       orient="auto"
 102.315 +       refY="0"
 102.316 +       refX="0"
 102.317 +       id="Arrow2Mend-8-7"
 102.318 +       style="overflow:visible">
 102.319 +      <path
 102.320 +         id="path3563-2-9"
 102.321 +         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
 102.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"
 102.323 +         transform="scale(-0.6,-0.6)" />
 102.324 +    </marker>
 102.325 +    <inkscape:perspective
 102.326 +       id="perspective4914"
 102.327 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.328 +       inkscape:vp_z="1 : 0.5 : 1"
 102.329 +       inkscape:vp_y="0 : 1000 : 0"
 102.330 +       inkscape:vp_x="0 : 0.5 : 1"
 102.331 +       sodipodi:type="inkscape:persp3d" />
 102.332 +    <inkscape:perspective
 102.333 +       id="perspective4946"
 102.334 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
 102.335 +       inkscape:vp_z="1 : 0.5 : 1"
 102.336 +       inkscape:vp_y="0 : 1000 : 0"
 102.337 +       inkscape:vp_x="0 : 0.5 : 1"
 102.338 +       sodipodi:type="inkscape:persp3d" />
 102.339 +  </defs>
 102.340 +  <sodipodi:namedview
 102.341 +     id="base"
 102.342 +     pagecolor="#ffffff"
 102.343 +     bordercolor="#666666"
 102.344 +     borderopacity="1.0"
 102.345 +     gridtolerance="10000"
 102.346 +     guidetolerance="10"
 102.347 +     objecttolerance="10"
 102.348 +     inkscape:pageopacity="0.0"
 102.349 +     inkscape:pageshadow="2"
 102.350 +     inkscape:zoom="2.34"
 102.351 +     inkscape:cx="470.48905"
 102.352 +     inkscape:cy="738.60096"
 102.353 +     inkscape:document-units="px"
 102.354 +     inkscape:current-layer="layer1"
 102.355 +     showgrid="false"
 102.356 +     inkscape:window-width="1585"
 102.357 +     inkscape:window-height="1135"
 102.358 +     inkscape:window-x="239"
 102.359 +     inkscape:window-y="0"
 102.360 +     inkscape:window-maximized="0" />
 102.361 +  <metadata
 102.362 +     id="metadata7">
 102.363 +    <rdf:RDF>
 102.364 +      <cc:Work
 102.365 +         rdf:about="">
 102.366 +        <dc:format>image/svg+xml</dc:format>
 102.367 +        <dc:type
 102.368 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
 102.369 +        <dc:title />
 102.370 +      </cc:Work>
 102.371 +    </rdf:RDF>
 102.372 +  </metadata>
 102.373 +  <g
 102.374 +     inkscape:label="Layer 1"
 102.375 +     inkscape:groupmode="layer"
 102.376 +     id="layer1">
 102.377 +    <text
 102.378 +       xml:space="preserve"
 102.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"
 102.380 +       x="441.66748"
 102.381 +       y="404.66492"
 102.382 +       id="text8002"
 102.383 +       sodipodi:linespacing="100%"><tspan
 102.384 +         sodipodi:role="line"
 102.385 +         x="441.66748"
 102.386 +         y="404.66492"
 102.387 +         style="font-size:8px"
 102.388 +         id="tspan12172" /></text>
 102.389 +    <text
 102.390 +       xml:space="preserve"
 102.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"
 102.392 +       x="435.16418"
 102.393 +       y="244.9225"
 102.394 +       id="text5831"><tspan
 102.395 +         sodipodi:role="line"
 102.396 +         id="tspan5833"
 102.397 +         x="435.16418"
 102.398 +         y="244.9225"><tspan
 102.399 +   style="fill:#159415;fill-opacity:1"
 102.400 +   id="tspan5843">Green</tspan> = VMS-core</tspan></text>
 102.401 +    <text
 102.402 +       id="text5835"
 102.403 +       y="245.02016"
 102.404 +       x="530.34119"
 102.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"
 102.406 +       xml:space="preserve"><tspan
 102.407 +         y="245.02016"
 102.408 +         x="530.34119"
 102.409 +         id="tspan5837"
 102.410 +         sodipodi:role="line"><tspan
 102.411 +   style="fill:#0303b8;fill-opacity:1"
 102.412 +   id="tspan5845">Blue</tspan> = application</tspan></text>
 102.413 +    <text
 102.414 +       xml:space="preserve"
 102.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"
 102.416 +       x="360.28989"
 102.417 +       y="245.02016"
 102.418 +       id="text5839"><tspan
 102.419 +         sodipodi:role="line"
 102.420 +         id="tspan5841"
 102.421 +         x="360.28989"
 102.422 +         y="245.02016"><tspan
 102.423 +   style="fill:#960a0a;fill-opacity:1"
 102.424 +   id="tspan5847">Red</tspan> = plug-in</tspan></text>
 102.425 +    <text
 102.426 +       xml:space="preserve"
 102.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"
 102.428 +       x="368.25397"
 102.429 +       y="405.27225"
 102.430 +       id="text5849"><tspan
 102.431 +         sodipodi:role="line"
 102.432 +         id="tspan5851"
 102.433 +         x="368.25397"
 102.434 +         y="405.27225" /></text>
 102.435 +    <path
 102.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)"
 102.437 +       d="M 289.73631,397.76803 C 263.95998,384.0618 244.9124,373.07853 244.9124,373.07853"
 102.438 +       id="path6066-9-4"
 102.439 +       sodipodi:nodetypes="cc" />
 102.440 +    <rect
 102.441 +       y="231.42043"
 102.442 +       x="157.23335"
 102.443 +       height="194.79402"
 102.444 +       width="457.79532"
 102.445 +       id="rect18326-3"
 102.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" />
 102.447 +    <path
 102.448 +       sodipodi:nodetypes="cc"
 102.449 +       id="path3602"
 102.450 +       d="m 261.4119,372.41344 c 26.46687,13.70623 46.02474,24.6895 46.02474,24.6895"
 102.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)" />
 102.452 +    <g
 102.453 +       id="g3232"
 102.454 +       transform="translate(0,-1.1337509)">
 102.455 +      <rect
 102.456 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 102.457 +         id="rect3614"
 102.458 +         width="131.25447"
 102.459 +         height="68.687347"
 102.460 +         x="352.18222"
 102.461 +         y="309.504" />
 102.462 +      <text
 102.463 +         sodipodi:linespacing="100%"
 102.464 +         id="text3639"
 102.465 +         y="318.80692"
 102.466 +         x="417.67981"
 102.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"
 102.468 +         xml:space="preserve"><tspan
 102.469 +           y="318.80692"
 102.470 +           x="417.67981"
 102.471 +           sodipodi:role="line"
 102.472 +           id="tspan3641"
 102.473 +           style="font-size:9px;text-align:center;text-anchor:middle">Physical-Core Controller</tspan><tspan
 102.474 +           id="tspan3661"
 102.475 +           y="327.80692"
 102.476 +           x="417.67981"
 102.477 +           sodipodi:role="line"
 102.478 +           style="font-size:9px;text-align:center;text-anchor:middle">(pthread)</tspan></text>
 102.479 +      <g
 102.480 +         transform="translate(69.355022,-312.20049)"
 102.481 +         id="g3647">
 102.482 +        <rect
 102.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"
 102.484 +           id="rect3649"
 102.485 +           width="61.691765"
 102.486 +           height="16.01606"
 102.487 +           x="317.60855"
 102.488 +           y="667.70459" />
 102.489 +        <text
 102.490 +           sodipodi:linespacing="100%"
 102.491 +           id="text3651"
 102.492 +           y="678.71558"
 102.493 +           x="347.65115"
 102.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"
 102.495 +           xml:space="preserve"><tspan
 102.496 +             y="678.71558"
 102.497 +             x="347.65115"
 102.498 +             sodipodi:role="line"
 102.499 +             id="tspan3653"
 102.500 +             style="font-size:9px;text-align:center;text-anchor:middle">core_loop</tspan></text>
 102.501 +      </g>
 102.502 +    </g>
 102.503 +    <path
 102.504 +       sodipodi:nodetypes="cc"
 102.505 +       id="path3655"
 102.506 +       d="M 318.49369,397.76803 C 357.52667,383.08168 386.37044,371.313 386.37044,371.313"
 102.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)" />
 102.508 +    <g
 102.509 +       id="g3242"
 102.510 +       transform="translate(0,-1.1337509)">
 102.511 +      <rect
 102.512 +         y="309.504"
 102.513 +         x="532.18225"
 102.514 +         height="68.687347"
 102.515 +         width="78.674728"
 102.516 +         id="rect4725"
 102.517 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
 102.518 +      <text
 102.519 +         xml:space="preserve"
 102.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"
 102.521 +         x="571.67981"
 102.522 +         y="322.80692"
 102.523 +         id="text4727"
 102.524 +         sodipodi:linespacing="100%"><tspan
 102.525 +           style="font-size:9px;text-align:center;text-anchor:middle"
 102.526 +           sodipodi:role="line"
 102.527 +           x="571.67981"
 102.528 +           y="322.80692"
 102.529 +           id="tspan4731">slaveVP</tspan></text>
 102.530 +      <g
 102.531 +         transform="translate(230.36868,-317.52206)"
 102.532 +         id="g4733">
 102.533 +        <rect
 102.534 +           y="673.02618"
 102.535 +           x="316.63855"
 102.536 +           height="16.01606"
 102.537 +           width="47.791374"
 102.538 +           id="rect4737"
 102.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" />
 102.540 +        <text
 102.541 +           xml:space="preserve"
 102.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"
 102.543 +           x="340.63751"
 102.544 +           y="684.03717"
 102.545 +           id="text4739"
 102.546 +           sodipodi:linespacing="100%"><tspan
 102.547 +             style="font-size:9px;text-align:center;text-anchor:middle"
 102.548 +             id="tspan4741"
 102.549 +             sodipodi:role="line"
 102.550 +             x="340.63751"
 102.551 +             y="684.03717">top_VP_fn</tspan></text>
 102.552 +      </g>
 102.553 +    </g>
 102.554 +    <g
 102.555 +       id="g5001"
 102.556 +       transform="translate(-104.17459,-375.52206)">
 102.557 +      <text
 102.558 +         sodipodi:linespacing="100%"
 102.559 +         id="text4834"
 102.560 +         y="619.79431"
 102.561 +         x="339.56277"
 102.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"
 102.563 +         xml:space="preserve"><tspan
 102.564 +           y="619.79431"
 102.565 +           x="339.56277"
 102.566 +           sodipodi:role="line"
 102.567 +           id="tspan4836"
 102.568 +           style="font-size:9px;text-align:center;text-anchor:middle">Shared Parallelism-Semantic State</tspan><tspan
 102.569 +           id="tspan4838"
 102.570 +           y="628.79431"
 102.571 +           x="339.56277"
 102.572 +           sodipodi:role="line"
 102.573 +           style="font-size:9px;text-align:center;text-anchor:middle" /></text>
 102.574 +      <rect
 102.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"
 102.576 +         id="rect4840"
 102.577 +         width="149.25206"
 102.578 +         height="12.695431"
 102.579 +         x="264.97189"
 102.580 +         y="610.18365" />
 102.581 +    </g>
 102.582 +    <path
 102.583 +       sodipodi:nodetypes="cc"
 102.584 +       id="path4883"
 102.585 +       d="m 205.94834,249.27344 c -0.0417,34.47629 -0.0725,62.1034 -0.0725,62.1034"
 102.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)" />
 102.587 +    <path
 102.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)"
 102.589 +       d="m 193.94834,311.61326 c -0.0417,-34.47628 -0.0725,-62.10333 -0.0725,-62.10333"
 102.590 +       id="path4885"
 102.591 +       sodipodi:nodetypes="cc" />
 102.592 +    <path
 102.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)"
 102.594 +       d="m 530.74391,361.79676 c -25.49902,0.002 -44.34169,0.004 -44.34169,0.004"
 102.595 +       id="path4902"
 102.596 +       sodipodi:nodetypes="cc" />
 102.597 +    <path
 102.598 +       sodipodi:nodetypes="cc"
 102.599 +       id="path4904"
 102.600 +       d="m 485.57785,337.79676 c 25.49902,0.002 44.34169,0.004 44.34169,0.004"
 102.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)" />
 102.602 +    <text
 102.603 +       xml:space="preserve"
 102.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"
 102.605 +       x="508.8573"
 102.606 +       y="335.07925"
 102.607 +       id="text4721-1"
 102.608 +       sodipodi:linespacing="100%"><tspan
 102.609 +         style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1"
 102.610 +         id="tspan4723-9"
 102.611 +         sodipodi:role="line"
 102.612 +         x="508.8573"
 102.613 +         y="335.07925">Switch VPs</tspan></text>
 102.614 +    <text
 102.615 +       sodipodi:linespacing="100%"
 102.616 +       id="text4931"
 102.617 +       y="359.07925"
 102.618 +       x="508.8573"
 102.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"
 102.620 +       xml:space="preserve"><tspan
 102.621 +         y="359.07925"
 102.622 +         x="508.8573"
 102.623 +         sodipodi:role="line"
 102.624 +         id="tspan4933"
 102.625 +         style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text>
 102.626 +    <g
 102.627 +       id="g4969"
 102.628 +       transform="translate(-12.174591,-319.52206)">
 102.629 +      <path
 102.630 +         id="path17769-7"
 102.631 +         d="m 288.45515,727.81832 c 41.78708,0 41.78708,0 41.78708,0"
 102.632 +         style="fill:none;stroke:#159415;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
 102.633 +      <text
 102.634 +         sodipodi:linespacing="100%"
 102.635 +         id="text17771-1"
 102.636 +         y="737.88684"
 102.637 +         x="288.42194"
 102.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"
 102.639 +         xml:space="preserve"><tspan
 102.640 +           style="font-size:9px"
 102.641 +           y="737.88684"
 102.642 +           x="288.42194"
 102.643 +           id="tspan17773-1"
 102.644 +           sodipodi:role="line">schedSlot</tspan></text>
 102.645 +      <path
 102.646 +         style="fill:none;stroke:#159415;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
 102.647 +         d="m 348.45515,727.81832 c 41.78708,0 41.78708,0 41.78708,0"
 102.648 +         id="path17775-5" />
 102.649 +      <text
 102.650 +         xml:space="preserve"
 102.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"
 102.652 +         x="348.42194"
 102.653 +         y="737.88684"
 102.654 +         id="text17777-2"
 102.655 +         sodipodi:linespacing="100%"><tspan
 102.656 +           sodipodi:role="line"
 102.657 +           id="tspan17779-7"
 102.658 +           x="348.42194"
 102.659 +           y="737.88684"
 102.660 +           style="font-size:9px">schedSlot</tspan></text>
 102.661 +      <text
 102.662 +         xml:space="preserve"
 102.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"
 102.664 +         x="286.49493"
 102.665 +         y="724.40527"
 102.666 +         id="text17771-1-8"
 102.667 +         sodipodi:linespacing="100%"><tspan
 102.668 +           sodipodi:role="line"
 102.669 +           id="tspan17773-1-6"
 102.670 +           x="286.49493"
 102.671 +           y="724.40527"
 102.672 +           style="font-size:9px">slaveVP ptr</tspan></text>
 102.673 +    </g>
 102.674 +    <rect
 102.675 +       y="262.49448"
 102.676 +       x="163.84431"
 102.677 +       height="161.39378"
 102.678 +       width="329.44443"
 102.679 +       id="rect4979"
 102.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" />
 102.681 +    <text
 102.682 +       xml:space="preserve"
 102.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"
 102.684 +       x="396.57816"
 102.685 +       y="273.16141"
 102.686 +       id="text4981"
 102.687 +       sodipodi:linespacing="100%"><tspan
 102.688 +         style="font-size:9px;text-align:center;text-anchor:middle"
 102.689 +         id="tspan4983"
 102.690 +         sodipodi:role="line"
 102.691 +         x="396.57816"
 102.692 +         y="273.16141">Repeated for each physical core</tspan></text>
 102.693 +    <text
 102.694 +       xml:space="preserve"
 102.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"
 102.696 +       x="263.94568"
 102.697 +       y="390.80692"
 102.698 +       id="text3911"
 102.699 +       sodipodi:linespacing="100%"><tspan
 102.700 +         style="font-size:9px;text-align:center;text-anchor:middle"
 102.701 +         id="tspan3913"
 102.702 +         sodipodi:role="line"
 102.703 +         x="263.94568"
 102.704 +         y="390.80692">1</tspan></text>
 102.705 +    <g
 102.706 +       id="g3195">
 102.707 +      <rect
 102.708 +         y="271.504"
 102.709 +         x="172.18222"
 102.710 +         height="105.5536"
 102.711 +         width="131.25447"
 102.712 +         id="rect17981-6"
 102.713 +         style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
 102.714 +      <g
 102.715 +         transform="translate(-104.75363,-307.52206)"
 102.716 +         id="g3590">
 102.717 +        <g
 102.718 +           transform="translate(-109.01365,39.321571)"
 102.719 +           id="g18019-8">
 102.720 +          <text
 102.721 +             xml:space="preserve"
 102.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"
 102.723 +             x="419.38776"
 102.724 +             y="590.22229"
 102.725 +             id="text17967-5"
 102.726 +             sodipodi:linespacing="100%"><tspan
 102.727 +               style="font-size:9px;text-align:center;text-anchor:middle"
 102.728 +               id="tspan17969-7"
 102.729 +               sodipodi:role="line"
 102.730 +               x="419.38776"
 102.731 +               y="590.22229">comm_</tspan><tspan
 102.732 +               style="font-size:9px;text-align:center;text-anchor:middle"
 102.733 +               sodipodi:role="line"
 102.734 +               x="419.38776"
 102.735 +               y="599.22229"
 102.736 +               id="tspan17971-6">handler_fn</tspan></text>
 102.737 +          <rect
 102.738 +             y="580.86206"
 102.739 +             x="395.11298"
 102.740 +             height="22.365267"
 102.741 +             width="48.927513"
 102.742 +             id="rect17973-1"
 102.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" />
 102.744 +        </g>
 102.745 +        <g
 102.746 +           id="g3604"
 102.747 +           transform="translate(-45.01365,39.321571)">
 102.748 +          <text
 102.749 +             sodipodi:linespacing="100%"
 102.750 +             id="text3606"
 102.751 +             y="590.22229"
 102.752 +             x="419.38776"
 102.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"
 102.754 +             xml:space="preserve"><tspan
 102.755 +               y="590.22229"
 102.756 +               x="419.38776"
 102.757 +               sodipodi:role="line"
 102.758 +               id="tspan3608"
 102.759 +               style="font-size:9px;text-align:center;text-anchor:middle">scheduler_</tspan><tspan
 102.760 +               id="tspan3610"
 102.761 +               y="599.22229"
 102.762 +               x="419.38776"
 102.763 +               sodipodi:role="line"
 102.764 +               style="font-size:9px;text-align:center;text-anchor:middle">fn</tspan></text>
 102.765 +          <rect
 102.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"
 102.767 +             id="rect3612"
 102.768 +             width="48.927513"
 102.769 +             height="22.365267"
 102.770 +             x="395.11298"
 102.771 +             y="580.86206" />
 102.772 +        </g>
 102.773 +      </g>
 102.774 +      <text
 102.775 +         xml:space="preserve"
 102.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"
 102.777 +         x="237.94568"
 102.778 +         y="280.80692"
 102.779 +         id="text17977-3-5"
 102.780 +         sodipodi:linespacing="100%"><tspan
 102.781 +           style="font-size:9px;text-align:center;text-anchor:middle"
 102.782 +           id="tspan17979-3-4"
 102.783 +           sodipodi:role="line"
 102.784 +           x="237.94568"
 102.785 +           y="280.80692">localMasterVP</tspan></text>
 102.786 +      <g
 102.787 +         transform="translate(-103.63132,-319.52206)"
 102.788 +         id="g3580">
 102.789 +        <path
 102.790 +           sodipodi:nodetypes="cc"
 102.791 +           id="path18292-2"
 102.792 +           d="m 317.62527,671.29009 c -5.09448,-8.49068 -8.85909,-15.29455 -8.85909,-15.29455"
 102.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)" />
 102.794 +        <g
 102.795 +           transform="translate(-7.0136518,5.3215684)"
 102.796 +           id="g17983-3">
 102.797 +          <rect
 102.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"
 102.799 +             id="rect17975-2"
 102.800 +             width="61.691765"
 102.801 +             height="16.01606"
 102.802 +             x="317.60855"
 102.803 +             y="667.70459" />
 102.804 +          <text
 102.805 +             sodipodi:linespacing="100%"
 102.806 +             id="text17977-2"
 102.807 +             y="678.71558"
 102.808 +             x="347.65115"
 102.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"
 102.810 +             xml:space="preserve"><tspan
 102.811 +               y="678.71558"
 102.812 +               x="347.65115"
 102.813 +               sodipodi:role="line"
 102.814 +               id="tspan17979-1"
 102.815 +               style="font-size:9px;text-align:center;text-anchor:middle">master_loop</tspan></text>
 102.816 +        </g>
 102.817 +        <path
 102.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)"
 102.819 +           d="m 374.32675,655.55365 c -5.09448,8.49068 -8.85909,15.29455 -8.85909,15.29455"
 102.820 +           id="path3578"
 102.821 +           sodipodi:nodetypes="cc" />
 102.822 +      </g>
 102.823 +      <text
 102.824 +         xml:space="preserve"
 102.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"
 102.826 +         x="269.62048"
 102.827 +         y="298.02182"
 102.828 +         id="text4821"
 102.829 +         sodipodi:linespacing="100%"><tspan
 102.830 +           style="font-size:9px;text-align:center;text-anchor:middle"
 102.831 +           id="tspan4823"
 102.832 +           sodipodi:role="line"
 102.833 +           x="269.62048"
 102.834 +           y="298.02182">readyQ</tspan><tspan
 102.835 +           style="font-size:9px;text-align:center;text-anchor:middle"
 102.836 +           sodipodi:role="line"
 102.837 +           x="269.62048"
 102.838 +           y="307.02182"
 102.839 +           id="tspan4825" /></text>
 102.840 +      <rect
 102.841 +         y="288.66159"
 102.842 +         x="245.3457"
 102.843 +         height="12.695431"
 102.844 +         width="48.927513"
 102.845 +         id="rect4827"
 102.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" />
 102.847 +      <path
 102.848 +         sodipodi:nodetypes="cc"
 102.849 +         id="path3576-2"
 102.850 +         d="m 227.16268,311.46504 c 9.78768,-7.86986 17.02037,-14.17623 17.02037,-14.17623"
 102.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)" />
 102.852 +      <path
 102.853 +         sodipodi:nodetypes="cc"
 102.854 +         id="path3576-3"
 102.855 +         d="m 271.94834,302.4222 c -0.0417,4.62441 -0.0725,8.33012 -0.0725,8.33012"
 102.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)" />
 102.857 +      <text
 102.858 +         xml:space="preserve"
 102.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"
 102.860 +         x="201.94568"
 102.861 +         y="348.80692"
 102.862 +         id="text3915"
 102.863 +         sodipodi:linespacing="100%"><tspan
 102.864 +           style="font-size:9px;text-align:center;text-anchor:middle"
 102.865 +           id="tspan3917"
 102.866 +           sodipodi:role="line"
 102.867 +           x="201.94568"
 102.868 +           y="348.80692">2</tspan></text>
 102.869 +      <text
 102.870 +         sodipodi:linespacing="100%"
 102.871 +         id="text3919"
 102.872 +         y="294.80692"
 102.873 +         x="199.94568"
 102.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"
 102.875 +         xml:space="preserve"><tspan
 102.876 +           y="294.80692"
 102.877 +           x="199.94568"
 102.878 +           sodipodi:role="line"
 102.879 +           id="tspan3921"
 102.880 +           style="font-size:9px;text-align:center;text-anchor:middle">3</tspan></text>
 102.881 +      <text
 102.882 +         xml:space="preserve"
 102.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"
 102.884 +         x="231.94568"
 102.885 +         y="302.80692"
 102.886 +         id="text3923"
 102.887 +         sodipodi:linespacing="100%"><tspan
 102.888 +           style="font-size:9px;text-align:center;text-anchor:middle"
 102.889 +           id="tspan3925"
 102.890 +           sodipodi:role="line"
 102.891 +           x="231.94568"
 102.892 +           y="302.80692">4</tspan></text>
 102.893 +      <text
 102.894 +         xml:space="preserve"
 102.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"
 102.896 +         x="261.94568"
 102.897 +         y="344.80692"
 102.898 +         id="text3931"
 102.899 +         sodipodi:linespacing="100%"><tspan
 102.900 +           style="font-size:9px;text-align:center;text-anchor:middle"
 102.901 +           id="tspan3933"
 102.902 +           sodipodi:role="line"
 102.903 +           x="261.94568"
 102.904 +           y="344.80692">5</tspan></text>
 102.905 +    </g>
 102.906 +    <text
 102.907 +       xml:space="preserve"
 102.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"
 102.909 +       x="297.94568"
 102.910 +       y="390.80692"
 102.911 +       id="text3935"
 102.912 +       sodipodi:linespacing="100%"><tspan
 102.913 +         style="font-size:9px;text-align:center;text-anchor:middle"
 102.914 +         id="tspan3937"
 102.915 +         sodipodi:role="line"
 102.916 +         x="297.94568"
 102.917 +         y="390.80692">6</tspan></text>
 102.918 +    <text
 102.919 +       sodipodi:linespacing="100%"
 102.920 +       id="text3939"
 102.921 +       y="390.80692"
 102.922 +       x="355.94568"
 102.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"
 102.924 +       xml:space="preserve"><tspan
 102.925 +         y="390.80692"
 102.926 +         x="355.94568"
 102.927 +         sodipodi:role="line"
 102.928 +         id="tspan3941"
 102.929 +         style="font-size:9px;text-align:center;text-anchor:middle">8</tspan></text>
 102.930 +    <text
 102.931 +       xml:space="preserve"
 102.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"
 102.933 +       x="503.94568"
 102.934 +       y="326.80692"
 102.935 +       id="text3951"
 102.936 +       sodipodi:linespacing="100%"><tspan
 102.937 +         style="font-size:9px;text-align:center;text-anchor:middle"
 102.938 +         id="tspan3953"
 102.939 +         sodipodi:role="line"
 102.940 +         x="503.94568"
 102.941 +         y="326.80692">9</tspan></text>
 102.942 +    <text
 102.943 +       sodipodi:linespacing="100%"
 102.944 +       id="text3955"
 102.945 +       y="350.80692"
 102.946 +       x="503.94568"
 102.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"
 102.948 +       xml:space="preserve"><tspan
 102.949 +         y="350.80692"
 102.950 +         x="503.94568"
 102.951 +         sodipodi:role="line"
 102.952 +         id="tspan3957"
 102.953 +         style="font-size:9px;text-align:center;text-anchor:middle">10</tspan></text>
 102.954 +    <path
 102.955 +       sodipodi:nodetypes="cc"
 102.956 +       id="path3175"
 102.957 +       d="m 350.74391,361.79676 c -25.49902,0.002 -44.34169,0.004 -44.34169,0.004"
 102.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)" />
 102.959 +    <path
 102.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)"
 102.961 +       d="m 305.57785,337.79676 c 25.49902,0.002 44.34169,0.004 44.34169,0.004"
 102.962 +       id="path3177"
 102.963 +       sodipodi:nodetypes="cc" />
 102.964 +    <text
 102.965 +       sodipodi:linespacing="100%"
 102.966 +       id="text3179"
 102.967 +       y="335.07925"
 102.968 +       x="328.8573"
 102.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"
 102.970 +       xml:space="preserve"><tspan
 102.971 +         y="335.07925"
 102.972 +         x="328.8573"
 102.973 +         sodipodi:role="line"
 102.974 +         id="tspan3181"
 102.975 +         style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text>
 102.976 +    <text
 102.977 +       xml:space="preserve"
 102.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"
 102.979 +       x="328.8573"
 102.980 +       y="359.07925"
 102.981 +       id="text3183"
 102.982 +       sodipodi:linespacing="100%"><tspan
 102.983 +         style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1"
 102.984 +         id="tspan3185"
 102.985 +         sodipodi:role="line"
 102.986 +         x="328.8573"
 102.987 +         y="359.07925">Switch VPs</tspan></text>
 102.988 +    <text
 102.989 +       sodipodi:linespacing="100%"
 102.990 +       id="text3187"
 102.991 +       y="326.80692"
 102.992 +       x="323.94568"
 102.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"
 102.994 +       xml:space="preserve"><tspan
 102.995 +         y="326.80692"
 102.996 +         x="323.94568"
 102.997 +         sodipodi:role="line"
 102.998 +         id="tspan3189"
 102.999 +         style="font-size:9px;text-align:center;text-anchor:middle">7</tspan></text>
102.1000 +    <text
102.1001 +       xml:space="preserve"
102.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"
102.1003 +       x="323.94568"
102.1004 +       y="350.80692"
102.1005 +       id="text3191"
102.1006 +       sodipodi:linespacing="100%"><tspan
102.1007 +         style="font-size:9px;text-align:center;text-anchor:middle"
102.1008 +         id="tspan3193"
102.1009 +         sodipodi:role="line"
102.1010 +         x="323.94568"
102.1011 +         y="350.80692">11</tspan></text>
102.1012 +  </g>
102.1013 +</svg>
   103.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   103.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/figures/VMS-core__plugins.eps	Sat Aug 03 19:24:22 2013 -0700
   103.3 @@ -0,0 +1,365 @@
   103.4 +%!PS-Adobe-3.0 EPSF-3.0
   103.5 +%%Creator: cairo 1.8.6 (http://cairographics.org)
   103.6 +%%CreationDate: Sun Oct 17 19:38:15 2010
   103.7 +%%Pages: 1
   103.8 +%%BoundingBox: 0 0 116 67
   103.9 +%%DocumentData: Clean7Bit
  103.10 +%%LanguageLevel: 2
  103.11 +%%EndComments
  103.12 +%%BeginProlog
  103.13 +/cairo_eps_state save def
  103.14 +/dict_count countdictstack def
  103.15 +/op_count count 1 sub def
  103.16 +userdict begin
  103.17 +/q { gsave } bind def
  103.18 +/Q { grestore } bind def
  103.19 +/cm { 6 array astore concat } bind def
  103.20 +/w { setlinewidth } bind def
  103.21 +/J { setlinecap } bind def
  103.22 +/j { setlinejoin } bind def
  103.23 +/M { setmiterlimit } bind def
  103.24 +/d { setdash } bind def
  103.25 +/m { moveto } bind def
  103.26 +/l { lineto } bind def
  103.27 +/c { curveto } bind def
  103.28 +/h { closepath } bind def
  103.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
  103.30 +      0 exch rlineto 0 rlineto closepath } bind def
  103.31 +/S { stroke } bind def
  103.32 +/f { fill } bind def
  103.33 +/f* { eofill } bind def
  103.34 +/B { fill stroke } bind def
  103.35 +/B* { eofill stroke } bind def
  103.36 +/n { newpath } bind def
  103.37 +/W { clip } bind def
  103.38 +/W* { eoclip } bind def
  103.39 +/BT { } bind def
  103.40 +/ET { } bind def
  103.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put }
  103.42 +    { globaldict begin /?pdfmark /pop load def /pdfmark
  103.43 +    /cleartomark load def end } ifelse
  103.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def
  103.45 +/EMC { mark /EMC pdfmark } bind def
  103.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
  103.47 +/Tj { show currentpoint cairo_store_point } bind def
  103.48 +/TJ {
  103.49 +  {
  103.50 +    dup
  103.51 +    type /stringtype eq
  103.52 +    { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
  103.53 +  } forall
  103.54 +  currentpoint cairo_store_point
  103.55 +} bind def
  103.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
  103.57 +    cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
  103.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where
  103.59 +      { pop cairo_selectfont } if } bind def
  103.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
  103.61 +      /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
  103.62 +      /cairo_font where { pop cairo_selectfont } if } bind def
  103.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
  103.64 +      cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
  103.65 +/g { setgray } bind def
  103.66 +/rg { setrgbcolor } bind def
  103.67 +/d1 { setcachedevice } bind def
  103.68 +%%EndProlog
  103.69 +%%Page: 1 1
  103.70 +%%BeginPageSetup
  103.71 +%%PageBoundingBox: 0 0 116 67
  103.72 +%%EndPageSetup
  103.73 +q
  103.74 +Q q
  103.75 +q 0 0 117 67 rectclip
  103.76 +% Fallback Image: x=0, y=0, w=116, h=65 res=300dpi size=399300
  103.77 +[ 0.24 0 0 0.24 0 0.327072 ] concat
  103.78 +/DeviceRGB setcolorspace
  103.79 +8 dict dup begin
  103.80 +  /ImageType 1 def
  103.81 +  /Width 484 def
  103.82 +  /Height 275 def
  103.83 +  /BitsPerComponent 8 def
  103.84 +  /Decode [ 0 1 0 1 0 1 ] def
  103.85 +  /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def
  103.86 +  /ImageMatrix [ 1 0 0 -1 0 275 ] def
  103.87 +end
  103.88 +image
  103.89 +J3I@:BHu(:pOk^R:T.dk*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al
  103.90 + C^cenm@9:1mM9jS"!dTMT(d8$g?t7s\'HOJg#PSPQ1`C/m<k<ioH)<bk^Hj`\=EYZP^B4!g
  103.91 + 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^Hf#!Qo!:QLNm9ApfKo@"^St*EZ$@h7Iu_
  103.92 + dAb*B(hHM_+c/A3_/KTg;O43>N3c+5)[@l+5FLs\BULUaal`3%:<o887eo3Me/cP3]=PdZ!
  103.93 + go`"\NO%+%3I?d9;j#,$np4Qs03bd8X)RpL$EoAk_=@@arU18[WS6S6H@0(,e%b2Fq7f.4D
  103.94 + ^FtK.-a-^`ir&L%0OEX9GI`IODGpB_@VYP$,Ve*/ITH-bVY3W/8C>o*cVOQKd#X?9bX/(9N
  103.95 + ;hHOZZn_7?NO1(WM6kAK/XoKPq^J0sl-?a0F-D'h>PLB,o"@,_I111+\T;ajP!l-d!&iT.%
  103.96 + e/>a[.cdZeMs92bu*/kbcJV__#PoP$$N1M#)o:%M?)+j1Opk9%o(KO6Z6F4AYo:,E+N3D]7
  103.97 + S$Tq2Sh"*j$'D3;6:imCW5#QKF,=>9a`@jVR['[;:;RD-F8Q#.+Ki:rn"\Vipojq&s7-Kf$
  103.98 + _Sb_TSJ.XGc#m=DQ0j!,fG4pM@G$ktNFUWW9pK;CQ>N1*g(o[EC"elTX_ZZ,c*_ECQL2A(g
  103.99 + _UF=ESQm4c#_\W:"=CB22WBi.$5D:LW)d^m<d_,c1QMBQgOa$i"uq-J`)nJ%>3UV:)/KAQu
 103.100 + 3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOlVo_9p=ZV20BS3MB`J*?BIu]RHBp?D4B]+c?5
 103.101 + ]@RI5KqkSaqbU$.ptNMGKY>YUNWW&A%=?FiV&WToqTXfLb+cF'e?RdRkmll-E@V&u.7m?bb
 103.102 + [L1RW,Rr7&kmMh2J\aGrimCVg)-HTDpW&bNXT=`DQ_=3sJ%E%]U:DLk=Rg/S?A_M=UIHiq5
 103.103 + /^*`*cS`u=SF8VekhLIRaI]tm.CJdg:K>s<SSqfcp)T12d<(p<.t3UdaN`Q8SaV!ap`9s!@
 103.104 + !J'lalE/&:R1%2IVq&SqAs"?l1^&^2HP5HVmYHE541ShO^?qahNOQa4?*3\+4ONnR+^6grE
 103.105 + kB*k*pgLU\T:d[PdCdhoE)F+9NYtE"2h18'32$46_:!8bNO9h#&:!e/D.XNPR?G"C@kl*Nr
 103.106 + c8_2"3S"2k7kOEoeM0dar7"=/4fnY%j0i4MRd[WMuM*^`a)%H55cLJ[C[6eHc4U')3_E;Cb
 103.107 + H=H"rn6Q6`E/gEd:SIQ'!n7-Eh-cK26$Y%!pL7n)f7G)VrUB;P<nW#7l;%FPsf\qfeQ8S^K
 103.108 + O>,Zn9T?<'.)e.H*9*n<O%adEa4TnqirE8A;3F/^fZkZ#9P]`p4Bb;,2^:beMi$u&E5uAV,
 103.109 + bci9"4?[(8Vhd:6<bLp;L0EO#[4B6@utE-Q-$X\q%i';:5AsT+Uol1&L2[C'XHR;7ohJ^-0
 103.110 + .(E!4FIHBnHm@%"eTP*ZR^r&iaK63gVC4--Nio'F[[$Rdt2g"M(]k=R9OcF%0dsW@9^``/p
 103.111 + ,P2KV<3.5n&^ggdXACWZrP*i?TI@Y9,Y$b?4#kP?>CCaIe-\7FN!r32`ri`XH.(GsdgeY.$
 103.112 + ZN6DTr0]jokRPTMT:+<A,=Nos!ZpBXJ.GI9.`>4j4ac9.h2]-09KUJ'UN)D+P3geEYTl[qT
 103.113 + a*H\dkFA*2PM(u=3MSd*S;2mH>(TA$QR\IdP$W"*KJ2U*0VZarX&X&?<SG,flNL^3eLDWi`
 103.114 + Xq@'l[BoC!J"0pECMGnENW<e\lW)&?0f17LR"9[er%pBlYOSA',%r[>7G$-7>\9M/[3j*G@
 103.115 + )1E"fa>`WOdDV%4i64X#;`Y=kc)Pm002j9KL3]X!#5pPA%8-\UE&mDd4k7Z*m]Yg07cu<p_
 103.116 + Fu[-`mO&'/(iC]t-O2SRGjH]<%57EN)A0#knWQN\m&]sm=M[Tk:>@.%UZ]2rn<?/*$5D9Ou
 103.117 + KC_"tF/#u[Q(]^u\IeI+&h0\UEhRkQ!nZXOeAM636](TmU?Q8rnn-/p/<YkL]$gPNCo6n,-
 103.118 + UA`k?qge0j&].XG$9<JAJ_1/50oc14=<&9+XtCI-=H=)(>YN^f^!Nskos7i&o"P=A0b4!))
 103.119 + @67XM=JK<'3OZB0d36OiP=-f=Q^l=<uHlbPt`@KV:!Y(>7C'\;0)c5.RT/D1`1[''2[Unjk
 103.120 + Q]!o)j-W)(R%$#\0(b^1#8])BIq:*tH5$EH.CO5%e-PSaU7\cU2n?BAE>kZQ^a-A.o.0N==
 103.121 + VlZo_]a#].D_S"nb6NsWBJ6g7j8IIo.XdnPX.l.CELfLW<t;YFq:=FI(>7O?M$UK$O0]r6X
 103.122 + L50_:r.L(]WUGHFDe_9HtlFU,^2<M_h)8o!4Adg_D6q5@opKYV\KsU6.)Qd,VBPge$'D96E
 103.123 + e"[s/Cdo)'o%&tZHIj`c[NDsO-B?LLCJZ\[4MkQfYg/s5+)FZq_Y#tcfm;7.j1VS0g7H%4S
 103.124 + -+@!8>Ec'S2qA^/V3@S&IpX]"3ULu3U&,W3`n<NN4[>`me.$i,K>o&X:ouBr\Y9FLBZd;T-
 103.125 + `"bRq20;/*9Nh7W6[3^EL?(?r6<;m[/,h([!uF>j6e.YtlE%2]\(j&#2dH7_gscEJaU#RIs
 103.126 + U'^p*9.lV)qB_nDDX+kG=RH!VNY^:W$<)ZT/ok==pRJ3W%RbMnWHAZu[-%QZOed@D5]FU`H
 103.127 + 1]0&4>h,/R=*[d`U,Z<IG(L$R`mCiARO_/RBJ\qt-jLiADkYU82EHl]U=6<\AIN'CsY3Ng1
 103.128 + Rg8>"kDjf#SAk:Vn1d$LShPV5%XCjQi>o\WqqicZ.Y]SA55X=ns)0eX;#g7f&Uejf>!MrW3
 103.129 + nql&fWWRrk9En?qQ(dCG>,Zdq5cXQr@/k1s,6^+5?P5KU\6C5&AGmIfTN;i7)OKs^&NEbms
 103.130 + HeS`F],J.!!a3:1=aB@*^`cjs:#(o'nBf!N&?b93>OfNZHIq!i$5H0HBX:l2V?l?Orn*%7F
 103.131 + OkieHmXs.BAdL%<WPNf^Cha6rBS:)<Q#%093pTkJQ:cX-c.FCWRk*hsY3Ab*7Q5f)r5j__G
 103.132 + ]DfT3'DUtZQ$#HPIY+"_YZ<se9QKAU50VXAa;IFHX$]o0)&=E2gD[<Sg@k`6"n:J>(f*neg
 103.133 + $RfunjmrU_!<<CF#po65/@bT=nH3YOdI!8)7JR=g"R[hQ"lKCVOMlo$)%]7t&WkZ>c*e2r,
 103.134 + nb2E*DnB7-Hc*6bkPuGLN(iWmB$BH!>#f)fdLtScNmls2ZooEoM;:.7M-6P&HpEF?dWCkcq
 103.135 + P6%6Pf2Wngqel/mAuA?MI=I]$WXY0m_OcDZn.$$ml&U-1Me6!q58')@sp;L(t0=D\fU%)Ng
 103.136 + 3]Oab8hK$\>ZfBgqnYgjU'^=CRp)6f^e9g"38lsK8kU626YEUO*O]c(R/n\tkUW-%sb)]s(
 103.137 + NplWG!/#;a:JCTd@LJ^8YX]#S*D\\!*i95M(7K4&s`<=HK'SYu7m&q+!OC+r\f!,/N0+'Eg
 103.138 + >_b&(?a*5P;>eT+#6#'$LTQCT`Uo=QjNbaQ+#4tsOq+l1JJ`Ac(p"Sln;/O[;%EqN->!DAn
 103.139 + lfF!QiI[&%Z,fe`UPEkfdd7!,"SaYL%cIA$O^qea0LsQbFGZ8<?Vs+`NkC'0[dl0+"Ze0,>
 103.140 + QZpOH,(ck$TsH"-Htu'(V$`[16*Z/1g)N%N&TY[#))_?df:>Y!g>"]a$=Vo+HYaP1h'Od_?
 103.141 + ARQ1<<P1FgcA:tZD_p1S@h"p5t[%akOUP*/l/N9]WS8De6a!=mW"mDAB*:>K`1+@ZdbP7KT
 103.142 + [Rb3es?k),F;T&PEk319AkAgkc0!-npaXD3h#P1"t''1-4T^kuD4*/'JPGGq@L3Bj?..SB?
 103.143 + ;nkIOeNI[74=h(,Cn2Qi4Xh&t5-sW?lG5X-1HlEf5#N<2'Ce=E"[H]d5=PSBKDtGjb7h5.1
 103.144 + _^6^oH?OK"[L'*!Y'Ze6%)*D<C:jf(Gn9A<'`o/6uFh0?aMC)oLD>,<CLN^`k`\t1grj1@N
 103.145 + )Uf','+WP)VnpF[pOuF&73Ee8n-eKh-<AD_t6\[#mp:P\mdg8T^LpoUt+uq&#:R8i3YBoW\
 103.146 + )[a!"*T3qTaOoYF3J3D$Ts9XN&<jrmE_d7n`99sbF'Eo04Uh+i(V9[nO/P_*eoUB7gu:UL'
 103.147 + ro`7lH"]0=J:pga/oat%Y'iB)k;7.EAoc[3j,uSk7;RJ)SoeBB&-8D@o!qeELog)P779"D$
 103.148 + <4,G"ohe^H<E4/UIn)X1oG2?0N=5Dn<jcdFol4%jF]W^2=0TE9L%:URI9:WK=LF,jooWB7P
 103.149 + ujuIF0sIu8b#r+V-8#@>.(J9os%T^csN&l>;a)uotalj`E[PF=f48_jn9R7e=[-H%L/t7Fi
 103.150 + drIj^*)o?FB-T[=DU!]3b1+?a]i>p&S6;b]@k;bg=^D&;;`KV-XFL`g.WRp*!m'-";$H@^[
 103.151 + jtp+^&82.LeiA%"O1p-E4I7:^R5A@>3Cp/,BZ<Fp=r$T;7Fead&>p4mfoB!uPgp2O_'F_>l
 103.152 + CB=<5$p46l'<eiR<8(&&:1]%Fn&MrRW@=S?9FR$Y\pkJKO?Ii`)etTrX/;KOKCOoi.i2^ZP
 103.153 + `GAJb4nCHXP]9<lmpS$!Bbm7S(:(^kV>qC3+82lDG2g:Q[YK%;CNN0UQ-`l=fg41*=t"H0(
 103.154 + @o0tkAI`s@94)R[e>JWqJ0.2?ZfdAe'1,^Z#/]?EVC0089o32Ys+L:^%WabL]VBo.UQ0CX`
 103.155 + V6/2bA(7%#5W2FK=)7FgbY$)f<'#\X-'H(FI*6d][]C-s"YVQSCdm1hubE#FBbM[r@HE\TD
 103.156 + p4H0a.-k\k\mZ#sXLE&V3OVR(QWXLn5$?ak5uQc?QpYQ,KHCA55F$RJHQo5I`uHoGYlpM51
 103.157 + -Z[B6Z"h.uk9='%jg8oLQZ1j/4"A^#'%rHOVG!J0FGOp=mQ%,-CHC'tM99k$/;RrJ2\a5Ls
 103.158 + %*LgmQ%>.*I0Pa[=>7:Q-sp'%Kf=E:f"$EF_0tG6He+O:[[Va>T6%MJJp0J8G=@#5_2#(RK
 103.159 + 1J@P=:2Ff%m"oqKNDN8p\np[;2C-kKlr$"bP@$_MhW#CL.8q4L$a#m7UF[OLH$?1=<i_sB8
 103.160 + Y74M\`RW95fX+fo,t3L;iR#\F@hgp`+PSN7];/R,GE_fk+@BD]&Vb\E/Pa4"XQ!**>Pi'k2
 103.161 + (5Vi^4UOERaf[iLWi4-:l,keN%=q*C5G]p*VU'3<RW7d#q[1pgC;DV6agR9$S<3Eapo@+c`
 103.162 + A\Q+qG5F&`_QV0c5FjEf#:IPKPQT9H"R<b(m9pk5WQkg!q=;Gd7NL>\>R5fnPq5KZ^\T1fc
 103.163 + RJ<87(R&#>cZ&[\Rk#AFfV=t[':IF2D"F]'(=ejUFc@`)-e[!]q9b"Dn""a5FVp0>o;JkgD
 103.164 + j\)uS>M@=g%K$Go:$X2Y8Pu63:3;?a**m[B\F&lVGX%3Z_JD-T=9B@\_E8=WKd\LRV%>LqD
 103.165 + `#s23%H2U"VYV3^KJXCI)+@P$/6=`i#XO>%Cf<OP4l\g)b;N$`9<2DAl2^>'6b*5Gu%JWCj
 103.166 + e$-SM2TNMbj;W@I8c':PuuYqegLWL71ob."AU/ZM*.XKa2e5s)2.rJ_^FBY(<)o5M`i%,?e
 103.167 + c?.&;"/k7n[AL6qm'3<7`Bdi2rL=/ePb4<5*V<t)kmbA`B2c<c#NQT_I-*T!<Y\bJd]*oSh
 103.168 + OT[BC0f!q/P&/E)lt\YqR<lZL>/YEi0;uD(IbH0!)V^jiSmm`ji@*F>dn(pj`6PM=&BLKE-
 103.169 + 2TRa$J)Z/Z!1gI)f"Fc+#O6-\4HY0P#3s^CUWUP\-A#$]2#MU;K8)CM>0Z5-E3s+K<=]"l:
 103.170 + E]B&Y=ciI#P:+?PAT`'.4_0h72S8,YfjIL'bQWk37mAl.WX^]<Sstj1Ap)`ZZr;>S4e7&fV
 103.171 + f.Pd\u.+oes[*KU&9C0SbdcW8Ihgsi1j&:o0>d^^H[U(NOd_oR82!WOZI[c):(iq!rs/X\/
 103.172 + rCgg0Y__0ZlY2@.P5n?E]`BXFmHZKmpe&CmIa,T`7W-u_s0dS"%\L;g<VM2fJ"KX]kC:NN.
 103.173 + >U=ZaWM_iA@Znf?P.^^?A,mQ<?dfh87Ib&=6=81D*Pg&-)s%ht\mHGl"hQY$@/++Le]>`4c
 103.174 + )>P8[nb@Tra5AS`>kY.k]M\C_9.)AV>&Z?2Z8I_Fbt1YS+l$94<oEi[C,dR_PWI4ju4(Om;
 103.175 + ?pI%")d7H]9e82%cBXc6<2t>h3;'qoo>'b$>jbgo>+ZYGQK,]@b6S=Ja2g/^@r^s'\^<8;Y
 103.176 + &D9tl$U)Eir$I,Wb+jk7=XaA.`J*Eh(cD'4s0!Bmf&SScsC\^r1+f6P-,H&7Crp"2DfSsiI
 103.177 + 0jrFV(C6Dkf&P_f*nO;"Tq'pf,!I`oK*OX`uD!?;hfWS#qL&p1pH.g__C7W8t>>`f##KkjJ
 103.178 + ]Nlt&g-nb"e%>S1?2]K+rVkR?8sc+70YNn)`U>>&n\q#N,OLW6h=Mff>M;imjD_4Zr9j&\=
 103.179 + il&FjrF1tP8i)d&;NC`j1ZXZ4ihADc/Ug>5(8H*Hc4Y;6=@7b!)1#OIV%8?BAVFg^SrsF^&
 103.180 + crWFmMEolEL6PqkMZT\6p;4NP<6Y#.`^lNclJ,Bc`T%g#$r(kBm%Cl5i0_rha(mSLbgT`dO
 103.181 + WLIAc0IpW3^(n=?90rlOYMs/uA9?eg$cruJf%JqlFTE*hYoB3jr&O7)OlGoKo=*^/>kA)7.
 103.182 + *c2RkF*jt\<'AH)-faT4_S,`&>J&@!GI=B`-h\5.,!VX8dLYm#/^N*]Q(E8,;oD_'uT1!AM
 103.183 + 8OiV$b<=OqR]H-de+L&<qjn\r^BsrF!R*+[d@RRN4SQiWoD$(Sp4'dFs+/'/Ckh??r8,k1F
 103.184 + &^<>P&ERUq<(^"%gW^J#mGpP+V4?I/f>+R6fJ[pPYNYBKd#IfB[]R6(5KZ#&'5LE8G861AJ
 103.185 + .MNmTBFS70f"nci@9-O%ndNRE0]"1RO4N<#QJ5B*G!JO-H'',l$>r6sVYcKhWFbU;7sJ#c1
 103.186 + c,7t9,7K\I3d]fB$El\jLs7]+Nh>O.MeKeeudV`8E+.]$=P=g6Q=<`lZN$!aL*)`X4]h[$N
 103.187 + b@'UXe?/E+/6c<T2fq)h&S^1s@)BBTS8YsmMobsB$HF$k0*]89]Am2_bBi(T9knEUY]p!Bk
 103.188 + d]$aE>lBNmGl\sf/9f@lBkN"]oZ*Sq\Fo_788]`[g$a)99A83.]jQ]K0(?Hq+5)F\T0+jnM
 103.189 + l4>BYnMN3ro_o/1\eWJ]@)BrDef'".?F<T\j*@f2$Z1E"":4Ubee,>VU0r?"ea225l&+WoG
 103.190 + gRX9T%PU]8H15pF>XD%`Y^!b[VM[EMR@NTPD)G)`3PKY1klA$:^2Skt4M*\?XgukdkL3P+=
 103.191 + n%Jg0n*nq%;_0sA_E/>t>X*j_+%X0BX=d57Nn^Mb;D.Ej1cY/8F3PeT+/1E%bp:1tm?[`QZ
 103.192 + 3,bi/3K/3mhZf6$`UJ,Gh4.t#j4L^:U/G?nJ81YCD_fDjE6IU&<4&7`=aqIQ+&aG8rW%H29
 103.193 + PrIqnlJX%gI7D^XB[VB55SM&>`Mq@]Y,4k]&fC,cnKbM%-rT=T0A)K2`@o19CZeA6Pd2XJf
 103.194 + kZ0rVGX:/P)(a`lAK#Np'MUEgFDJ?Cf2$^RqK!,MPFm9(9/X]Z+$/0EKp*\DOaMESH+Gl8C
 103.195 + KSK<sU>Ecp$mGDOJF:JnDpKl;_mni:t;JNAK)dM]H;Aaa]E_q'JatSG>R'h+1&T=X'\bK8k
 103.196 + sKoqDn"ApMC:cf:rU+.ZI.iX)5im]HPL?q>GHK4*B__apeDKZbl3kdHG&/(6foKd+hMd^;O
 103.197 + M@dbbFOR@t3D"u#%K4FdG<E/(FD-D;SE]mp@W*-,.S*p19qM&5/oOksY/FKTkkm20kK'A]K
 103.198 + Z@_'MS/dsN#d"T2hl4j9RHt3=kAG70#=D8R83KDh1`L`8Q#8U2l^;kYT(7JOI>;Re9Dn_sp
 103.199 + *P+CCnUM5@YN!6.i3WNWQ_@s$F<hc0sb;Ef/T:;?0XSt,@#hCAgk<gN2$+)#K#!_LaLgF./
 103.200 + ckA,$!&LA+QCbO9+'`s.XY:;<r.rJ(j3TY:mXg,lPo5q&i'cr[%mJ=l9<IE5W@,&B>JN*+M
 103.201 + 3Zld3&((:p4K+ZVu&`13OmY.[AIK7S!-'+id:!$=$F,-RgdO(DLqc6IL\n&>+>aDaJ4b.2i
 103.202 + &jF>(SnIK(!ep.NqjX:foo2HrIKEN0d]qs(A>:U1FcZM*,Z`_6fS(f'dQ*[Z8#mXRp<Hf_m
 103.203 + .E3Pg@GqeX9<4V,2)-p_@f_U!V%ghe<ndsi>XKb#"Pt*XJ8ek31Ni3:SuYeh+!Ja/N<t9U^
 103.204 + Sl,s&2J<hn.nGCZ,6'*]L[=-/a#$Gk80d"76or]3?s9c?jJRg.1t+i+,/E;'9_(6c(597eF
 103.205 + _5rRIc>lnM@?SW;#9#Xt&dD4!sU;/k1J,O%u-:OQTM[8'HOG9Ys+]#]1btHp`p72161(J5b
 103.206 + U`&Y$($=pN0d?7-[lP`,ekYW.goU0DJZA.hoT=_=EM#rlqH[0Jk)K_MA=I$(^#)ik'21785
 103.207 + >=#"BDQ'\/H80jq&;5SCN(oFU2m1LPe@@U$?@62J?/nM5h)'k"'2H"B9V3JET,A7tq+F+?H
 103.208 + ,goJtGBiXK[1QN:iXCoY_ZaMS$u/0F.F[ob0FM;f3sn//UmZ*d$p?s.-\dH)65:_@\`&$,[
 103.209 + U+IiSp8G9O/R'VLK&j^Qfu[!/[Y'3a_#0V.=EIQca%=aLZqF1I=&/_o[M>.AjWJu'5b*1!)
 103.210 + `$<;]`hU-W2e5`6o#VaE<4f2&0jlE[kA[rAb1l4R0eQ4@CE^&Z.FeMUq)(/r5c!/6!ID]gB
 103.211 + \=#d%I$b_!B'l:C4kZ`]c1*Lfd'rGZWh_^P3[GI3dtip"'lT:c3Z&Cor?e9"P<'uGK"U)ud
 103.212 + %XcTPO<2!=XW48\(14lkmcqg,U!hdAE@J2I6dG%VsTWOn3[l3ESX)CXJbH,SkhVM/"I,;"0
 103.213 + /r19_(Dof@QPMa&73tY)d&\(=DD[iS&pEA42Zme6"gA<2P`8'Z.^3*`GdEAtWS+Q`IHqLD,
 103.214 + *FkfTrEhJ/WgaZQ%6@']&$JF4H2/$O]c%[=^<I5K<Gn)kt$\59BbD&/bm(#21-TND++KJ2?
 103.215 + %d+H]I*'9G4mQnd<TW^BVgg<kQ@$)Wh?f6!r(3[D`K[?O<#eP-.TYVM?6*m!YGrQ:o2]IT-
 103.216 + t?pGh^X0QjS/M20mu'm*K7%XL">=/u(g$(ZmtKG,i#m&,"`\Z<Sc/O?rfC@?".VBaR>!*`>
 103.217 + >p>UP$`oKJY&58Tko6t8YBgm[l'2+pQY'Iip%nRf,_T)-M,1's$PJ]^0:\=NsdM;3m5]a3"
 103.218 + <pmZMADXcQn=-74WMS(LF(Mp/kH"#nj!\,hZOj-i@S*/i=BD_d?UBI%%^*C\dg38Fc0`2HC
 103.219 + m!')CI#@UqE)2'"5meYPoI912)[RNfd+]dB`%qun/X+;R@'r,M^>LrL>1aICMr*:^?B\o>h
 103.220 + nDsa%dg#W+Aq+.Q3J@J.64RG+kk!4J:%S4\7^\bidETUpBTP>73>.I8m#e;j4<g%!!]9+o<
 103.221 + dFm*6gQ\=G21[NoN"4bKk\cQ2>/bE(G;/XJ0/V`X68R?72peo-":/?kr8mOg8-[heJ`e8Fo
 103.222 + 9IX5NdL$F?i%DHp^2Fgb8IXPB4h<8;oe#/NDaS,WZddF.Aq`g80DhuF#Y.Elor`\YFgTe=?
 103.223 + %--er6,pU:LiP6W]*OE8Xp.514d0ALI)N>ZKKA7fIAB4bX[sHpjM?2K$1-OSIW#,bK62-Td
 103.224 + W@%l,(;$Mpr&S-I#c\H\%b!$m="'T+Q6UN(oinV/ZJ=RVsLt_3$+ds^+kK=6s.aKH+5#`r:
 103.225 + @Y5^@MR%H7U9HoI8rK58PeGKbSdOXcVrtnqjo]kJ/bO&JGta!]Rd.H*DgSP+'lT:l%<&M(4
 103.226 + FN$EI:$fV^r14sjcgRp'GDoA^*,j9`^%Ru73Kqo$!c`O^]AYS5'eU[8l)&\DPq2r!pii?uI
 103.227 + QadeP@P^E-7YjXBbF,ud>%f>36C\T?Rq(*]A.#]/qo62YcbR!_J]eG:!Gm(I!3P1+bYULtc
 103.228 + Y^aMgQ'5VQ^[)uK^s>@k0YN*'-p^\/$,StfJjDqs^/Mq`A/BgWOI>uXZ;_qPK3>AL*lE(F5
 103.229 + ,pM/.NbpQM)UqL`(F"*JNQ*<EPd%<6AmIe3CUVXTYLB\M8@A(!/W=CLI6U\]:fKq;")2]]S
 103.230 + B0,Nq>3?$=L^>cG7k5$PXqSoAU^*49,LI#kU;?=I;C,kJ<AG[#@K\>VnjSUF4f%`b:&k^kK
 103.231 + &c0IO*2XYBR[&PBp]kI&\'.\$JDqPqEEFh\j/`6a"8*)<%;-Gs5]2&ogbg/LS+P_tA3LhO5
 103.232 + Z',3^a7M1!uPjr]?qXBV^1.IDb&1C!V1k^TFI7-oZ,FT_kgg7E'&Y1I7*"65p(lLj6V7:$4
 103.233 + `^@!pK-WXB^;q1r_##smqb9JRlaYH3`Oq$5HEY:qKs``i%8:aK]99,@"=5T1XpfJDF3hM?O
 103.234 + $YCn8m9t?an!7uU'Sj_4;4M8o7WnJ@m4^l5Fc:V4D$JJ=@Xn.6sNtbCdoBAC']3&%$[@,3_
 103.235 + W1M'?Vk$8j&tDXLfK8?^jHDb+n%1+r@gg]=MC*5'2t1lc2R`N^=uo8Y_9g,asT9)p<k]1[N
 103.236 + +QS2ST,"\Wlu99[Z<Pe50;cl9X1RlnBD]>9n<eP#f$Z7C[J"/hVF6+h`Ka7uMD'T9u$btD$
 103.237 + Cbe2+Kb)=BWKen*47_;kuX%Q$;j1`am`64L;4"S.*cGt=ZcCF/lCcWF*W&spV'f<Wj<50k4
 103.238 + _b/-;`!Mu/N#PMod5nAN6+cWu]P\(8CnS$&8X)fl1S7;[bf_Ob:21#/HmhaK\k]@.:`CM!E
 103.239 + YV?mim-;R:@(-hqV=GQ`!D/Y:m`G'XU>4_$qW:nb5D2I2"aStl;6]!`pkr^(tHfH&P^4Yc=
 103.240 + <E/r;T1@!)OsZ;41;+)7*$fK:@GC:D4sB>A$e5aO'kW3n4t$D"s%fR#oQ,9RO0E.VHudnkl
 103.241 + 54;OJBLZ(b+6e!3n_6gWAG'_=A^+?MG(c6/k"_A#g#S;Y$>5@Fdk\Cf57bX)1^UfAg;I4A1
 103.242 + /4:R9#)>J!rkZ(R[5Z@nC,OEoB/AOPo*m4-te!qX(jKSuDS&YO57"jWWU[X.KmRg>(;hX#T
 103.243 + <@1Mt(8l3\3s@%]bu7V&S^90BVKupO!8p`5o@!Jt97X32Lp954&l4[eMfS=8Emu!R:/n=me
 103.244 + G>J0X;KJVA6)7Be(PelC2(i/OKIje\<Io\"\&pf,LlVK&7eqi]_X@HPRnsIUhKs2PY"amp"
 103.245 + $\r<]"@<<HhMhSQ92>8HciN&b+>6Fk*/$<R":bCg'iNF[UA$;(HZW$qFAn-R?BK9J(KkD21
 103.246 + Eqla-fu<FkR!X]SKmW1gn?=@gl\km&VqUl'6]V`PMa9p'r+qj2\-^!V*[N8RZP-WifH9\fU
 103.247 + rPo%JW\_)>$=kiRNMgnit9>On$d#D/[bGj1RqO:HTg-H!H>cq7AW)cW<+_@>R70l9R7*sbg
 103.248 + Tf%7%fZ@<=cW^"H:aN*74aL'rU=Pg5<irWoal#^A1Esb0gM%MZ"R0-e]M#Z<Tf'11-&c&.N
 103.249 + EaVY3I1N0RJf$q"M;Xh%@+P%%E7+LY$9Tm[O@>A]mJHj[TnAI78Yj4IE`3i`n^O?3pk$3?"
 103.250 + Z,sBWqZU>!:8qZ:RT%L5N*!h.Xl8%GG+".,??Q>OALr9cmZW:+%XG0+r@C,fSUBDHX!Tfu4
 103.251 + fb7HZ2gh&icU;Wrl;[Hdi.ls@co!_j+iV<?_3Qef(=?Q*q@M>CPK_$Fko>'ZiD`U[A`\DC5
 103.252 + Tau/s$Wbtg:TGok/hq25lmJgP_H/K,Obt*4YH+I5P_91T<R0E=l[KdlhnR-eP+/SQFodi_;
 103.253 + 6IO]5?WI>7\W(!7$/l3<@#bh-.GE^Z>N!0.i6:[o*T"mXf2b'.gr:"9WS6;X)e$k&iB^UT<
 103.254 + :=7,Md9$He$MDLVB',+^>['W@Tf71iDJS,#0fQ:eUAYINV244NSt'g@bH6?<\@kWKAplH@Y
 103.255 + A2mX!-)rA)WDjiLSNSc7iaR:?(t,A!o[D&Ph@3O5i(diiL_].@K2H3b/O7A!TDk.2cX#:1M
 103.256 + -Vj45#QV@I*9L1=fPj>KUBSjHtj9FY#j'])7aV5f<QX5n5S@_N?ic9Ppc<"0U9j\Ahc%S`0
 103.257 + ?:5GK;i8.>hmDi\],@tau%5q5JhHr?]r(,TV:fG0S2@NL7(<p.WjfV-]Ag68Q?fm1Nhj%'O
 103.258 + k!*IDC^LYRPNGu'Q1S.d8*7NjAqk-b.'I4MF(\+mAdQiHk_S%XBOa;aKYDaM0p2ZgHsZ2TB
 103.259 + 3'Htrb=:`,%p=pB3h,q-=KN&6]J2P@kK31F(8_A^Z:u;ka[pg$S5nkk[tZgBBF&oG'=4HDq
 103.260 + :52B\nU/7ZqB/NflqWku_ifDO5'XBj_rKAl`jl2H/j(Bk]JqAr`+H%U&"LbNC4Ckq7Iop42
 103.261 + ELF_U*eAH#Ef=l3r-Uh/,JC5u?[;8R#VeS-))B$RC@hGe6p_!8eLjj(&B2Ql?u9'ZMm>bYu
 103.262 + f7YoPpZte`t\H\hpNaHR!^?:5#B9ogf(;";+\^`%<li*pI@bbL+RV<PICaNM)5/q*(]Gp"<
 103.263 + >0ZMPIUDGbb@:atS%d##p;QCD<:%RB>4$QO,"6>$[d%H,iI7HbdQS0$d'@%99sXQR6D)qXC
 103.264 + @)XNf'/caIbHT;3EY7fD7t!051:b=e/Lm&Lj42_CP"MWGj^T?>?Z%!)*1kOd1;Vag0Gn*S>
 103.265 + :#MB9Sckfj+FsVW3m&o:bm=Rm,rl:1iM*&*kD]<4KP6=RKCAgd&m=:Rp\<!_\^Em7D"%8$!
 103.266 + *I$,:E3_!alaln\NU74r=oKk2T8muG.+o9uRX$1Lp@n+&n%nd<8L&FT5"nC+(M@DJ%n6uc!
 103.267 + ;EDUdtD?8agL[4(QA[^jY$5;qU\oG[#nDZVdo6FC8f(%0$mo\7VrBb*c+Rta]llH@LOrTA@
 103.268 + fs;]]$TncR9S"qJg`h!E[h2,nq[J>n0>aDq4fdt5qB-202b'hfLgKJP$E%bmZkLD6(")9\8
 103.269 + hd3RK!74;8&=riiZZk^Db\]-$Yan<0)c,t2G$ee5oTXA.1qBf/rMe-^FIk,YZX4m4Y8Dko/
 103.270 + lF.X\VlR.e4_7nhOltG$5/Y$$!)u+YlOW!4'SjlgGc?^n`fFMIgYcQS@W[`Gk.j2`SFa>[A
 103.271 + Z@:+o3FUXTgU3F@f)#W:`$UJ:@_T'_?Dp.J=UpkJLDBg8e-m`.>J^LLK1.eZYEDS2\8rD'L
 103.272 + 3;%6l1#]BA!%jkp1f-*(i8-^Q!HT1N*LG^mCFB:=,03K\cMXR_W(6]U.EWbs\V\bjMX^]T*
 103.273 + OLqVbCC:"_1&$)bk>)@d'j[/T+C@>Vo,f]j?[-"*NoJP)l*Y['KpS0^<0'D&;PWi:hGt2BG
 103.274 + cPZU\:o1K7U//,Kg14q%u#;<?h"cepINhY>*70PrbYt=F[m?D2ThnH=?p!o<7GtT*)h(-E(
 103.275 + 8BsF:akBOqb$=k3h>mp0As?%fqG[9.WnlHS9:0"QXY6Suh*==f5iVG)T5rND)bT[hl+>kaB
 103.276 + K/n?o#47&OS`3A.Q!\W$,86q6VAEsVUbeG:kQl2N&<LV0"oW-I6uG9=7!;fNRC>kT8LE%Q0
 103.277 + N2m.&k+]1oA*!<bIKD4^BCNk*>Hp:7Tj4sT,R_K6SIFh7Er!pqn3;mc]NKhQ]'#/gEe9m@3
 103.278 + GA_#?\V'h&*"0C_6Ss;2O4%0jK>G3X<2'nD"Xa1<M7YgPr(UZ!L5c(t]j1#pmKW7^Dnd[j3
 103.279 + /E-)]4HIV&6X4\[^31-n0MZ<[E]$X!X&LQ_-kW7/.NBrKL91ppk2*_'8f4fd<NSMi>[KfNt
 103.280 + M02L.*>F+lq&')bO*TInO.3pVb&<1O@;X08J?Eq`BXq-dg=Y#"_1V7>'*7m.bipVGh3YpbQ
 103.281 + NX9r^]b[<QM^[9Ke!WeB#YDCo=TfceTJ7=MjaJjc]k3n-p^(qIKN[0st9ob2<%CN<rJ6@pe
 103.282 + ^:p5+k7OA(=[6i3,op/'*n;Q2jf,/gL2'&p<eG8m1?$gA5WUdTX[\BI/BObnID+p]>ZeAA6
 103.283 + Fh%8-CV,D\.rqMOZ<],2nRd/m[,,j#S\JgDpg+JV[A/MV1[^lJ[11\W9ca)UWt2H(m&[oKr
 103.284 + Un'4d:E0cbeKT"jFm@^+"r!p\,6/NYN[hGTWk,*q#\/]U5K.=-rM2UTk]^qW2`DQdgDhnRn
 103.285 + Bfpj$VVs^($#bVSC:&g5Wp^)W^c\d9@7<X%gf?g,I1'JDhTlH2-Bk/ja13-V<;CV*K$XT^'
 103.286 + ,R>_s`0/#up+_lMQ,qS*U5oRo"gd]BNBOCYg7/s0+!.\nYLRXn'$<7%>WBgVn$Y`=VN1sS]
 103.287 + 5U689M1_A7qW&-8\6Y[hma,c&CY8#,lr5o"5l5ZuYQaAS9LX,L^.#5d`6t&]enX<;nUe,B?
 103.288 + QmPD!Cm_bNCRuS<FOEN$+_k"[=JC_U)MPOl7-e*k("Eg.Tp#A#KMlk"\;++`;d!7+88Qk;c
 103.289 + )>so<S;PcnLuE#*"bAb$Mk1_)#!fq9@>52B[*5o8ss!jFn4:%?-"V9L!qu,1JT1%nj?5D$+
 103.290 + l4dT!@mT+<iQTi<!>AKj9=4(d"W&SMrkaDj^/A2.eM_>/,h:fTXiV9N^tGOA".O7g?(,7Bp
 103.291 + VNZq`Jd?"bgYY:>oN=dYm`H6$\W\YWkG[.XhO"@<fC4%6tG;\o";f&bAV6.uLBP\Ab2j`mQ
 103.292 + B#,mDcaBe:ohc19YIp^h3:l-"C3E<HR7F'SfT_M+aL$d)YZpnrcl4JkM42N"T+DUluK0p(D
 103.293 + #J1S9'n9BN)NDdITQAu]DlnCUgAC!q55]t.>+Ht8F#MaO^nD<p%DH^qc>8'p#]=a<3aFl0T
 103.294 + 4Q[Pc_quug:'DCX^b!0+h[gaas%i*!43pj-LSU@gi<S>+S_9MM0XUVFkBD,Z3P[Oa@<UlCT
 103.295 + ,7eIO=q)C4#m/4pC?(W^U7\I7qn*f;$&/TSkQOQfRj5=q;DuEpKraYiQKue._RR`c^#g7Z_
 103.296 + 0=)-V88$3$"[55n(e%t3YuMl+DmZk*m4K':2,+#kJ)*MF'q`G*^3'a4a]!)7%.ncZcg.0Z@
 103.297 + V<Aj7[aM;g<%74kSKBCgH,5/8P`-auT0chT.JZBF2ZMRU2fs.PfIWM4Y(N'?^\OBDd`1/Pd
 103.298 + E6?uo(Xl!N@DK0iO=CCM7REGH9E@J`9gM5M%VVJmQ%BUF42:>.(u__,/+6Lr1/]TJN@]2sX
 103.299 + r7,Rpp<TJ8HO$F+kD`6?R!hO5'F3r1eE9-db1$*OG83O-f_pT@lsaQEJdR5pq5FY8erQY3]
 103.300 + IuOj?]Q:Wf=#\NQ>7>*MfC:HNXZB9@BF,=5p#_nO\8M8VFr&@g[Y5/ndrsV)6\tN;sSRK?4
 103.301 + `0,j(oY019sG:$KVPjnJhC1QClD2oQHU4(NaqFt8(KZT9J0oq'XfLs9Y<6)N!/S!2i^1'^N
 103.302 + =BHo@(Z^uc1f><Q1iQ7JsQ>o\<k<`jY'r&saI6k;_#@2@iU@\WQ8g)MOkp"9CnIC_Cq2#dE
 103.303 + M)^B6U5;S?;bZGP2*fZ%^qmtH7p%W,RVY"1Ypt/ud9S+Y<77%mL&.c_FNLBn27V*bM,`c:<
 103.304 + @!gf2_?M]&'J4aX*&h+`"b"!.4n,jEuq4+$,'#17:<7J^9?(EF]PPqYTRUs;BflA?H^;WVR
 103.305 + 7`@%p-t<haGVhF[@WZ.f!Q?AI5M=DOnm!4_&<)Q(GD[Ue[nI'Im[JWTRFXf%Vcim3L/cm]q
 103.306 + jU.XPlHAZ^kk@[Ye]NB=3un?EYL`EM9pKH?\.46^&cgT-#UTZYQT<hd[[]-hR@c+I<"Tafc
 103.307 + ^NH6_G(Ub$TficJFB;Zbd\u"C((<$DFQui!tl;I2@)p``^V5KIlVWD!nfMQPnCV41YoSY6N
 103.308 + S?L37^2+kVelgNj&`pC+koTkh7\2lp'a#QA5gn.20*tNUQGFuhpJ%.95H\</,5<b7)#PD-%
 103.309 + /plZ;;hF^Ccm9Q%4&PB[dF_>Q]/o?29+::[pA?$87>X/_96-sS\.s_ce]P3Qu7E767Isd<^
 103.310 + 1<.U.XJdP`0U!+3!qsQ_Y:g:E>0Nb'6Z=Q]-Z.Eun[IGo2.Zgln.rmSG03Pk!idfRGZY(Wu
 103.311 + Jj/?h7GC9m69U3Y",8loX51CTliq(b=HCP/*u-57X")DW04-!mqZI(5t)IHI&^LNKVK9\N=
 103.312 + ;B[mWeZp>(=g+H(a.;qC]5c<$Rnb_N%3^<5:ee\,;1M`P(Y(n@;M62BFfK<V2(a`L0q0Q8+
 103.313 + Lq75Y##EcQY@ZojmgM+%]HOMO65B6CZ<4Bt.p?J5k,gYFp5>!bXWM<$c-$8KS-[iE:M`ABZ
 103.314 + rFKm%G%\umZN`6VsMecYW*RR.]>Jbp."_kkY;@AD.Mb8G,uZ1Q:3S2ql)gbW0G5Rd1P2EW!
 103.315 + FsuO2Y%OjZLr#FPZNEXUg)@c9mHLd0S+S7.g"**_1I^H/YWRX7<;=AK6UA@iU,]CH_+MpW3
 103.316 + J`jBk"<%/%EE2[%IXkC[[c[$C3+/EZ%KRmC\?7N/W-@r=qO)K$#*pD517_uH\KNi;NTIWDr
 103.317 + fG_L:=fsQX&>r"QmT+J!>Z?dI2kb&$QO`$@MkBRQi\as>'qaK36EIHYRUUbM`_`-M2_fOmu
 103.318 + q8qIYff:^EdJc/<(;D*Fo-]gG?=1/2o"i/SlYc1j"H(R4NIcI'[IDl;pugBt1V@(doAbVHi
 103.319 + 56YS4IHp>Dr6F8+!i%cUnQU,[j?=CPD;4Y^@Ar?d$:`fgrUYY1-[%er(i\Jrcc]`\c^NkT3
 103.320 + o=ac3*cQ,Gf3PEV2KG#l;JF#Ul.TWdd)W25pB$:W1dr./_)Po5-*ll]/[IVTj&IGiGV$!X/
 103.321 + O@/gA28JZ&)>:?^DmbieFqhQP@BO4H9Bpf&]nWCpjsV,FINW8Om",)ebe$iL$c`qSZg(T*-
 103.322 + s:9Ok@#6hssqG:5uU*BjRAHIH/R`%h]L.MW3G6:Rq#>g!r&3sli7+^p%XRG-lmgf(F')-.8
 103.323 + pTU=fOMW2sVZLaPs00`PJg+&E<t#RJmL+uO.j500g<l"(:9_fhE1IF,PmO0,%;pe.M/XL<E
 103.324 + 3+iP$BRf8`km+bYkILPnID)tWtPm2!sl-!"#2FP&CMa6n58^)#ga-*:_^fD(u0*nJ'dQSbY
 103.325 + \U!p*$\$'Z)(%7VNG&gB=FoI#Wg*0BEem[h95<nV/%GVk35V'T`n)![%L*&Loks:4afpQ,4
 103.326 + r5Lg:nX-=`(gnW84XDU0.-VID97+E<8^d@;418H6Wo*'u4q0p3^MWZ3[?(+'n7B"[$*::j@
 103.327 + ?+gA?QOLZ1Qc>KPD*Nj^,ENFCt#Vj4<N9@),@K,<*l>u,I&.&"QO&Uf\"r-5-DU3_M%\"Q'
 103.328 + ,':*nj/'L51&`@P)^*QM+7]uuiXI&E,:%g7j_'Bk0t;0oF!Hi#o?lE&n`$)oC8HlnWQkSUA
 103.329 + f1cS\GW+.IY9<uE%]N](l*n-N2Uk7&sF0s<cI%>m3l*GX_/k5*piHT/Wu.hd\MYn??">]L@
 103.330 + $79"`4c)"Y!/?-GgcQkUA#64!t3r-VfdFC)\52&0/"P)m]Jt!QQlilEi5bMiY17#44$P0TV
 103.331 + C:ogc$J$_I,Yq#>&C%1tHA%:'h7raN,riT!,PmPbG-0bap7'MOQ%O/h'C%M=l'0k)djY;-E
 103.332 + j+H>t<`%rho@K/+30Q49`1Ld='%D+MR$J#]2!Rg7=o'Z!Cgdc9rXY1$MEebD$VQKEu(R(g[
 103.333 + $K!iIg_9:j#'7OA'>PQ.`sSk*`Y!7"d3?%3-Ta-<W0=>*1Yk5eWB4h6n8k2pe"ZA2k<G0f1
 103.334 + o[Z8m56aWq`p$S5,lLbm>!hZpHZ)(U=8'%ZlMJ)nNc?OYRtc#o?`qiV*]8bSs1B4ZopfKWC
 103.335 + !Sr5r:G`;q0.c7n&>15OH8QZs-!k]gSj!7.Pf$1\X@\G+(6R2,nil#N&"MVaft%6$!E)1m3
 103.336 + a'I7[D,K(Oed:LuPii<:aD7oZ$P#>[pUZV-%Z8dV7`Z_3ad3D6a%=]Dk(eC%Nb^7#bR5;^D
 103.337 + Qo[Q]*@nd[#:;nYVM3gr\%nRK(:W1^W[/Wrj=\gK#6KZ6''QC;Je0&-f;:Qad'dHUV-W63[
 103.338 + ;UmF!'f/cg2cGu';q4*3'gkr#7oYaH<7OcE'iS+4=&kMi;;_a]"9/i]O=PHZ<n2+i'm!GVG
 103.339 + ?:&V=4Me&'n]TG-WlK:W9[q7D?!5&+r$<2&J^pA!BXI`#m6Hn>1Kf\'sh+E[p,-0>LgJn'u
 103.340 + O9V`dUlp_fa(,("6Ggf3OZr?.Ih=(#rO+&C/_q"V^D0;6jsdj'Ga_?e,0a('@rF#@NhK>gK
 103.341 + <U[M*(M(L`UK@FcN)p#r."pF$dKC4N^%!/Y2d2e/.8A(EkT(.2V57q@oYACaOf(/ndF=(R\
 103.342 + %A_(4#(1UrWB4dHFB%Cm5(3=(#&g5!5B@_3=(5$:$LM3!3B\&5Y(6`H5QYDab':,5J;n<Y6
 103.343 + _ePCT)fVgmPc8"*.jJ%!CY$7:(;g8!:.C;t*`,LF.GJ!FFXT/eD:[T^(?.QBPkI!%*k'Z.0
 103.344 + BYY[j_pI^Dq=n9QKTNY.-Yp0E#0%)(DCd)"<qt!4S9G-0m>f?'loWkEn92hJgGEWb<n33&[
 103.345 + r3ipHs%(7nM;f+u]gFQ7[3F=*9j67@-[l(K#336$:dpG1UXHf3fcfZY`aPE48hk(P?s6LB6
 103.346 + "K+k3>A<q18*JU!NNH.SY3f8QD(m;_cXH$6fG(UJHi[_):0+W"Z4^ls.:P)/%?I+PoW(Xme
 103.347 + *8UJ;bHl(C`(ZTs;=ad"RF)(r#\#k+'pOAP+X:9%_m<=(TH5r-l-`liZfDU8&(P.KuIJ=b5
 103.348 + (aFW)iIUbOK%M`/$aD^YPBYY8K@iDA$3PmSRP4a1K\0(S(fQ,j=,!#;J-0DfG[#o)B81u0L
 103.349 + ;RUBpiD1WGDDP\*;Ft@@=O)8H\e%k&,;/D@nVWfQ\>GnM8OLmTc],YVA8m,L'Pt\Gd7hSC`
 103.350 + 3"fLKLs@R!p%8An"lYM3sG^ps"T(S.bUiLq(ujR&Un]GE*Mr`rcj-+hs&IH]2(J>PRrJK6N
 103.351 + >Y!JX^N2gF#;Qs5S=%>82Y?^7m*8:_=p_A'O12IVB)'u]eInF-%O!Vno<Fta;(^I;W*T=(s
 103.352 + 63DqbLb?HtV'Y,l\28bVeTG#pn>ZjF()+a$19jI@rPp"L6FiBZ?/X?EmP?,m]q1k9rCR=_/
 103.353 + Ddr;[),ZYe$^%0AOnGo@,+k-cZ'F"#R.*R"3BLET4otJ!P]a[(U@jcHI@=ogP'+U1UD8t1N
 103.354 + L!_/06rgf3R*mhfpu8m>5<Z828bf,]q2dM0cBLd"*^0@]p[mMRQ9&g)6$aq0X-d<.J^/Nfs
 103.355 + 3'[[p&Ue0feEdj(FlY3LlN1SJcXD[Lo5O<if<9UVd\>)@ABK&R5*+>Ii083S0o!g,=51QF[
 103.356 + B-).k>oBj9:+PrYC'3ZS-EV4o41Ie*6.@Q#7\VlH2dWnOYW)RHGrN](H7X'39>)T#!3AiY1
 103.357 + TXP2"#KQ2n.n#[M_X!-B'"*P`SkH3J(WhJOX"*P_HpTE6H?eW(;])/]th5k*$XLe_?g=.iD
 103.358 + Dm:5JY$1(p]$IP\jf_k`Z9$76j(kssg*Z[;-Ta8h)\b"g)71=+2eDrp]"bFWi\u33[5t_%3
 103.359 + h:S[I=G?d[bG`0#q;=TF17Wc\&ITW':hEnJ%1u+\A_U\2RFQ1QaXMe\_Eaf"*dcIRR[L&Y]
 103.360 + kH)@J$e!S%G0%]A(*5)oK<ma1Rnb]\CcG)q2K)f=d[.^"_GY)rnY:kJ!GO^>&+k)tUgKpV3
 103.361 + 3p^YAe(*!<u]#Jci;^t]I:*#$.n(VuUU7g#&"+9~>Q
 103.362 +Q
 103.363 +showpage
 103.364 +%%Trailer
 103.365 +count op_count sub {pop} repeat
 103.366 +countdictstack dict_count sub {end} repeat
 103.367 +cairo_eps_state restore
 103.368 +%%EOF
   104.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   104.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/.pdf	Sat Aug 03 19:24:22 2013 -0700
   104.3 @@ -0,0 +1,31 @@
   104.4 +%!PS-Adobe-3.0 EPSF-3.0
   104.5 +%%Creator: PDF2EPS - BaKoMa TeX Portable Document Format (PDF) Import Filter.
   104.6 +%%Title: ..\figures\Proto-Runtime__mdoules_plus_plugin_plus
   104.7 +%%CreationDate: Sat May 04 20:18:38 2013
   104.8 +%%LanguageLevel: 3
   104.9 +%%DocumentData: Clean7Bit
  104.10 +%%BoundingBox: 0 0 612 792
  104.11 +%%Rotate: 0
  104.12 +%%EndComments
  104.13 +
  104.14 +%%Error: Can't find image
  104.15 +
  104.16 +%%Page: 1 1
  104.17 +newpath
  104.18 +0 0 moveto 0 792 lineto 612 792 lineto 612 0 lineto closepath
  104.19 +1 0 0 setrgbcolor stroke
  104.20 +0 0 0.5 setrgbcolor
  104.21 +/Times-Roman findfont 30 scalefont setfont
  104.22 +0 396  moveto 0 90 rmoveto 
  104.23 +gsave (Filter:) gsave show grestore 120 0 rmoveto (PDF2EPS) show grestore
  104.24 +0 -30 rmoveto gsave (File:) gsave show grestore 120 0 rmoveto (../figures/Proto-Runtime__mdoules_plus_plugin_plus) show grestore
  104.25 +1 0 0 setrgbcolor
  104.26 +0 -30 rmoveto gsave (Error:) gsave show grestore 
  104.27 +   /Times-Roman findfont 24 scalefont setfont 120 0 rmoveto (Can't find image) show grestore
  104.28 +0 0.5 0 setrgbcolor
  104.29 +0 -60 rmoveto gsave (Hint:) show grestore
  104.30 +/Times-Roman findfont 24 scalefont setfont
  104.31 +0 -30 rmoveto gsave 20 0 rmoveto (Open the file by Acrobat and then save) show grestore
  104.32 +%%EndPage
  104.33 +(\nPDF2EPS Error: ../figures/Proto-Runtime__mdoules_plus_plugin_plus - Can't find image\n) print flush
  104.34 +%%EndDocument
   105.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/VMS__Full_conf_paper_2.tex	Thu Feb 21 23:27:44 2013 -0800
   105.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/VMS__Full_conf_paper_2.tex	Sat Aug 03 19:24:22 2013 -0700
   105.3 @@ -52,12 +52,13 @@
   105.4  
   105.5  
   105.6  \authorinfo{Sean Halle}
   105.7 -           {Open Source Research Institute}
   105.8 -           {Email1}
   105.9 +           {Open Source Research Institute, INRIA,
  105.10 +           and TU Berlin}
  105.11 +           {seanhalle@yahoo.com}
  105.12  \authorinfo{Merten Sach}
  105.13             {TU Berlin}
  105.14             {msach@mailbox.tu-berlin.de}
  105.15 -\authorinfo{Ben Juurlink}
  105.16 +\authorinfo{Benjamin Juurlink}
  105.17             {TU Berlin}
  105.18             {b.juurlink@tu-berlin.de}
  105.19  \authorinfo{Albert Cohen}
  105.20 @@ -68,9 +69,9 @@
  105.21  
  105.22  
  105.23  \begin{abstract}
  105.24 - 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, resulting in low uptake of the method.
  105.25 -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, separating the language-construct logic and scheduling logic away from the low-level runtime details of concurrency, memory consistency, and runtime-performance related code.
  105.26 -As a result, new parallel constructs are written using sequential reasoning, and are easily reused across languages, and 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.
  105.27 + 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.
  105.28 +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.
  105.29 +As a result, new parallel constructs are written using sequential reasoning, and are easily reused across languages. 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.
  105.30  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.
  105.31  \end{abstract}
  105.32  
  105.33 @@ -79,14 +80,14 @@
  105.34  
  105.35  
  105.36  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  105.37 -\section{Introduction}
  105.38 +\section{Background and Motivation}
  105.39  \label{sec:intro}
  105.40  
  105.41  [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 unorthodox structure.]
  105.42  
  105.43 -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. This trend 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. 
  105.44 +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. 
  105.45  
  105.46 -The difficulties with parallel programming fall into three main categories: 1) a difficult mental model, 2) having 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. Many believe that these can be overcome with the use of Domain-Specific Languages []. But such languages have been slow to adopt, we believe due to the cost to create and to port across hardware targets. This cost makes them impractical given the small number of users of each language, which is specific to a narrow domain.
  105.47 +The difficulties with parallel programming fall into three main categories: 1)  difficult mental model, 2) 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. Many believe that these can be overcome with the use of Domain-Specific Languages []. But 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.
  105.48  
  105.49  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.  
  105.50  
  105.51 @@ -104,7 +105,7 @@
  105.52  
  105.53  %\item The modularization  is consistent with patterns that appear to be fundamental to parallel computation and runtimes (\S\ ). 
  105.54  
  105.55 -\item The modularization  cleanly separates hardware oriented runtime internals from the logic of the language (\S ). 
  105.56 +\item The modularization  cleanly separates runtime internals from the language-specific logic (\S ). 
  105.57  
  105.58  
  105.59  \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\ ).
  105.60 @@ -116,7 +117,7 @@
  105.61  
  105.62  \item Part of the time reduction is due to encapsulation of hardware aspects inside the hardware-oriented module (\S \ref{sec:intro}).
  105.63  
  105.64 -\item Part of the time reduction is due to languages reusing the effort to performance tune the runtime internals on each hardware  target (\S\ ).  
  105.65 +\item Part of the time reduction is due to  reuse of performance-tuning effort spent on runtime internals (\S\ ).  
  105.66  
  105.67  \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\ ). 
  105.68  
  105.69 @@ -127,21 +128,21 @@
  105.70  
  105.71  \item
  105.72  
  105.73 -The modularization also gives the language  control over placement of work onto the hardware. This allows application information and language semantic information to be used in decisions of which core a given unit of work executes on. This can result in reduced communication between cores and increased performance  (\S\ ).
  105.74 +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\ ).
  105.75  
  105.76  \begin{itemize}
  105.77  
  105.78 -\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 hardware assignment   (\S\ ).
  105.79 +\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\ ).
  105.80  
  105.81  \end{itemize}
  105.82  
  105.83 -\item Modularization with similar benefits does not appear possible when using a package such as Posix threads or TBB,  unless the package is modified, to conform to a proto-runtime interface, or else used  according to the proto-runtime pattern  (\S\ ).
  105.84 +\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\ ).
  105.85  
  105.86  \end{itemize}
  105.87  
  105.88 -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{sec:DSLHypothesis}). We focus on the role that  runtime implementation effort plays in the adoption of eDSLs  \S, 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 ), and tie them to how a runtime is modularized (\S ), and how this provides the claimed benefits. 
  105.89 -We then provide overhead measurements (\S ) and implementation time measurements (\S ), which show that the proto-runtime approach is performance competitive while significantly reducing implementation and porting effort.
  105.90 -Next, with the full understanding of the proto-runtime approach in hand, we discuss  how it compares to related work (\S ), and finally, we highlight the main conclusions drawn from the work (\S ).
  105.91 +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{sec:DSLHypothesis}). We focus on the role that  runtime implementation effort plays in the adoption of eDSLs  \S, 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 ), and tie them to how a runtime is modularized (\S ), covering how each claimed benefit is provided. 
  105.92 +We then show overhead measurements (\S ) and implementation time measurements (\S ), which indicate that the proto-runtime approach is performance competitive while significantly reducing implementation and porting effort.
  105.93 +With the  understanding of the proto-runtime approach in hand, we then discuss  how it compares to related work (\S ), and finally, we highlight the main conclusions drawn from the work (\S ).
  105.94  
  105.95  
  105.96  
  105.97 @@ -151,13 +152,13 @@
  105.98  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  105.99  \section{Background: The eDSL Hypothesis}
 105.100  
 105.101 -[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 105.102 +%[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 105.103  
 105.104 -[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 105.105 +%[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 105.106  
 105.107 -[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 105.108 +%[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 105.109  
 105.110 -[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 105.111 +%[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 105.112  
 105.113  Domain Specific Languages have been around for a while [], and recently have been suggested as a good approach for parallel programming[][stanford PPL].
 105.114  
 105.115 @@ -169,58 +170,303 @@
 105.116  A style of domain language, which we feel has good applicability to parallel software development, 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 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.
 105.117  
 105.118  
 105.119 -For example, C (or Java) is used as the base language for an application, and custom syntax for constructs from a user-interface eDSL are mixed-in.  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) library that becomes linked, at run time, to a runtime implementation that has been tuned to the hardware it is running on.
 105.120 +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) library that becomes linked, at run time, to a runtime implementation that has been tuned to the hardware it is running on.
 105.121  
 105.122 -   language, with domain language constructs  are intermixed with constructs of a base language, such as C or Java.
 105.123 +   
 105.124  \subsection{Low learning curve, high productivity, and portability}
 105.125 -Domain experts are familiar with the concepts expressed by the custom syntax, which makes DSLs quick to learn, especially for experts in the domain, who are \textit{not} expert programmers. Embedded style DSLs further reduce learning curve because they have relatively few constructs, and require no new development tools nor development procedures. Together, these should  meet the goal of  a low learning curve for switching to parallel software development.
 105.126 +DSLs are generally quick to learn because the domain experts are already familiar with the concepts expressed by the custom syntax, especially for  those who are \textit{not} expert programmers. Embedded style DSLs further reduce learning curve because they have relatively few constructs, and require no new development tools nor development procedures. Together, these should  meet the goal of  a low learning curve for switching to parallel software development.
 105.127  
 105.128 -A well designed syntax also, simplifies the code, modularizes it, and encapsulates the major performance aspects.  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.
 105.129 +Productivity can be enhanced by a well designed syntax, which can simplify the application code, modularize it, and encapsulate  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.
 105.130  
 105.131 -Perhaps the most important productivity enhancement comes from hiding parallelism aspects inside the custom DSL constructs. The language takes advantage of the domain patterns to present a familar 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 they should meet the goal of high productivity.
 105.132 +Perhaps the most important productivity enhancement comes from hiding parallelism aspects inside the custom DSL constructs. The language takes advantage of the domain patterns to present a familar 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.
 105.133   
 105.134  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.
 105.135  
 105.136 -\subsection{Embedded Style DSLs provide low disruption}
 105.137 +\subsection{Low disruption and easy adoption}
 105.138 +
 105.139 +Using an eDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices.
 105.140 + Constructs from the eDSL can be mixed into existing sequential code, incrementally replacing the high computation sections, while continuing with the same development  practices.\subsection{ Few users means the effort of eDSLs must be low}
 105.141 +
 105.142 +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.
 105.143 +
 105.144 +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.  
 105.145 +
 105.146 +The effort to be reduced falls into three categories:
 105.147 +
 105.148 +\begin{enumerate}
 105.149 +\item effort to explore the design and create the eDSL syntax
 105.150 +\item effort to create the runtime that embodies the eDSL behavior
 105.151 +\item effort to performance tune the eDSL on particular hardware
 105.152 +\end{itemize}    
 105.153 +
 105.154 +
 105.155 +\subsection{Critical areas of effort in the big picture}
 105.156 +
 105.157 +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.
 105.158 +
 105.159 +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. 
 105.160 +
 105.161 +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.
 105.162 +
 105.163 +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:
 105.164 +
 105.165 +\begin{itemize}
 105.166 +\item shared coherent memory multi-core single-chip machine
 105.167 +\item shared coherent memory multi-chip machine
 105.168 +\item independent address space coprocessor (GPU)
 105.169 +\item a network of nodes of the other categories
 105.170 +\item a machine with a hierarchy of sub-networks
 105.171 +\end{itemize}
 105.172 +
 105.173 +
 105.174 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 105.175 +%
 105.176 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 105.177 +\section{Our Proposal}
 105.178 +
 105.179 +We propose addressing the runtime effort by defining a modularization of runtimes.  The low-level hardware details are collected into one module, which presents a common interface 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.  
 105.180 +
 105.181 +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.
 105.182 +
 105.183 +The language effort is further reduced because the language doesn't
 105.184 +consider the low-level details of making the runtime itself run fast. It
 105.185 +only has to consider the level of hardware feature that is exposed by the
 105.186 +interface. This is a higher level of abstraction, which simplifies the task
 105.187 +for the language implementer.
 105.188 +
 105.189 +In this paper, we present work that applies to coherent
 105.190 +shared memory machines, both single chip and multiple chip. Extensions beyond this are currently in progress, to address multiple-address-space machines and hierarchical networked collections of processors, which will appear in future papers.
 105.191 +
 105.192 +\subsection{Breakdown of the modules}
 105.193 +
 105.194 +The language is broken into two parts. One is a thin wrapper library that
 105.195 +invokes the runtime and the other is a set of modules that are part of the runtime. 
 105.196 +  
 105.197 +The runtime consists of three modules. One encapsulates the low-level hardware details, and presents an interface to the language modules. We call
 105.198 +this the \textit{proto-runtime}.
 105.199 +It's job is to enforce the interface that the language modules see.
 105.200 +
 105.201 +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
 105.202 +constructs, the other module provides logic for choosing which work to execute on
 105.203 +which hardware resource.
 105.204 +
 105.205 +The plugin collects the two language modules into a dynamic library that is implemented, compiled, and distributed separately from any application executables. This is how a non-changing application executable is able to invoke plugin code that can change between machines.    The executable contains only symbols of plugin functions, and during the run those are linked to specific functions' implementations. 
 105.206 +
 105.207 +In order to provide such modularization, we rely upon something we call a tie-point as the primitive upon which synchronization constructs are built. The low-level nature of a tie-point places them below the level of  constructs like a mutex. Instead, a mutex is implemented on top of tie-points. 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
 105.208 +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.  
 105.209 +
 105.210 +
 105.211 +
 105.212 +
 105.213 +
 105.214 +\subsection{The origin of tie-points.}
 105.215 +
 105.216 +A tie-point relates timelines, so we talk a little about timelines. A timeline is the primitive in parallelism.  If you look at any parallel language, it establishes a number of independent timelines. It then controls which timelines are actively progressing relative to the others.
 105.217 +
 105.218 +For example, take a thread library.  It provides a command to create a thread, and 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 causes the thread to block, which means the associated timeline suspends. 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.
 105.219 +
 105.220 +To build up to tie-points, we look at the nature of points on
 105.221 +a single timeline, by reviewing mutex behavior in detail. We see the timeline shown in Fig X.  Thread 1, which is timeline 1, tries to acquire the mutex, M,
 105.222 +by executing the acquire command. Timeline 1 stops, at point 1.1, then something external to it happens, and the timeline starts again at point 1.2.  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.1 and 1.2 collapses to a single point on the timeline.
 105.223 +
 105.224 +Now, a tie-point is seen as the linkage between such collapsed points on
 105.225 +two timelines. In Fig X, timeline 1 is still there, suspends still at 1.1 and resumes at 1.2.  However, now there is a second timeline, timeline 2.  It executes the release command at point 2.1, which suspends timeline 2, performs the behavior of the release command
 105.226 +inside the gap, then resumes timeline 2 at 2.1. The behavior of the release
 105.227 +command causes the end of suspend in the first timeline.  That causality ties the two collapsed points in the two timelines together.
 105.228 +
 105.229 +
 105.230 +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
 105.231 +guarantee makes both agree on the order of events,\textit{
 105.232 +relative to the tied points}. Any operation that executes before the point in the second timeline, 2.1, is visible immediately after the point in the first timeline, 1.2.  In addition, nothing
 105.233 +in the first timeline happening after the tie-point is visible in the second
 105.234 +timeline before the tie-point. 
 105.235 +
 105.236 +Just that guarantee defines it as a half tie-point.  A full tie-point adds the dual guarantee between the second timeline
 105.237 +and the first. Namely, for a full tie--point, anything before the point in the first timeline is  visible in the second timeline after the tie-point,
 105.238 +and nothing in the second timeline after the tie-point is visible in the
 105.239 +first before the tie-point.
 105.240 +
 105.241 +A tie-point is the primitive mechanism that the proto-runtime implements. It does not involve any notion of dependency nor constraint semantics.  All it 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.
 105.242 +
 105.243 +It is up to the language to supply the behavior that happens inside
 105.244 +the gaps. This behavior is what decides which timelines get tied together. It is that decision making, of which timelines to tie together, that implements the
 105.245 +semantics of a synchronization construct.  
 105.246 +
 105.247 +
 105.248 +
 105.249 +\subsection{Tie-points within a proto-runtime}
 105.250 +
 105.251 + In Fig X we didn't say what entity executes  the behavior that takes place in the gaps in the timelines.  This is what the proto-runtime does. It provides
 105.252 +primitives that suspend a timeline and then cause behavior supplied by the language
 105.253 +plugin to execute in the gap. This plugin behavior chooses which timelines remain suspended versus which resume  execution, or start execution. 
 105.254 +  
 105.255 +As such, the plugin behavior that runs in the proto-runtime when one timeline
 105.256 +suspends is what chooses another timeline to resume as a consequence of that
 105.257 +suspension. That
 105.258 +choice establishes causality between the suspensions of the two timelines,
 105.259 +and thus creates the tie between the two collapsed timeline points. The proto-runtime
 105.260 +module provides the suspend and resume primitives and the proto-runtime entity
 105.261 +executes the plugin behavior.
 105.262 +
 105.263 +The proto-runtime entity is also known as the Master, while the timelines
 105.264 +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. 
 105.265 +
 105.266 +\subsection{More about the proto-runtime}
 105.267 +
 105.268 +The proto-runtime provides the following primitives, for use by language
 105.269 +plugins:
 105.270 +\begin{itemize}
 105.271 +\item create a virtual processor (which has a suspendible timeline)
 105.272 +\item create a task (which has an atomic timeline that runs to completion)
 105.273 +\item automatically convert a task to a virtual processor, as needed
 105.274 +\item choose which virtual processor or task to begin execution on an offered
 105.275 +core
 105.276 +\item suspend a timeline, and cause a   function to handle the suspension to execute in the Master, with supplied parameters 
 105.277 +\item end a timeline
 105.278 +
 105.279 +\end{itemize}
 105.280 +
 105.281 +Virtual processors and tasks, both, have associated timelines. The reason for having both is a practical one, as tasks are simpler, with less overhead,
 105.282 +and many languages have the semantics of short, atomic, units of work that
 105.283 +are not intended to suspend. Thus, tasks are treated differently inside the
 105.284 +proto-runtime, and incur less overhead to create and run.
 105.285 +
 105.286 +A special feature of the proto-runtime is that if a task happens to execute
 105.287 +a language command that causes suspension, then the proto-runtime automatically
 105.288 +converts that task to a virtual processor. This helps support the mixing of different
 105.289 +languages within the same program.
 105.290 +
 105.291 +The proto-runtime involves the language into the process of choosing which core a given task
 105.292 +or virtual processor executes on. The proto-runtime maintains control, but offers free cores to the plugin, which 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.
 105.293 +
 105.294 +The proto-runtime provides a mechanism for communicating information from the application code to the plugin function invoked. For example, the identity of a particular mutex a thread wishes to acquire
 105.295 +can be communicated from the wrapper library to the plugin. 
 105.296 +
 105.297 +
 105.298 +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 that 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.  
 105.299 +
 105.300 + 
 105.301 + 
 105.302 +
 105.303 +
 105.304 +
 105.305 +\subsection{Expl with Sung}
 105.306 +
 105.307 +A plugin is a dynamic library that is implemented, compiled, and distributed separately from any application executables. This is how a non-changing executable is able to invoke plugin code that can change between machines.    The executable contains only symbols of plugin functions, and during the run those are linked to specific functions' implementations.
 105.308  
 105.309  ?
 105.310 -Lastly, switching from sequential programming to using an eDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices.
 105.311 - The cus\subsection{ Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets}
 105.312  
 105.313 -\subsection{ effort to create =  syntax trans + runtime + construct impl \& effort to port = runtime + constr impl_}
 105.314 +The sequence goes: wrapper library
 105.315 + is compiled into the application
 105.316 +executable; during the run, a call to the library function passes information,
 105.317 +such as the ID of the mutex to acquire; the library function packages the
 105.318 +information into a request data structure, then invokes the proto-runtime
 105.319 +primitive that suspends the virtual processor (timeline) that is executing
 105.320 +that code; the invocation passes the request structure and also a pointer
 105.321 +to the plugin function that will receive the request and perform the behavior. it invokes the suspend to the plugin function, which implements the behavior of acquire mutex, and runs
 105.322 +inside the proto-runtime instance.
 105.323  
 105.324 -showing the role that runtime implementation plays in the success of eDSLs.
 105.325 +?
 105.326  
 105.327 -\subsection{big picture = langs * runtimes -\textgreater runtime effort critical}
 105.328  
 105.329 -======================================
 105.330 +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.
 105.331  
 105.332 -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.
 105.333 +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.
 105.334  
 105.335 -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. 
 105.336 +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. 
 105.337  
 105.338 -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. 
 105.339 +?
 105.340  
 105.341 -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.
 105.342 +The only thing you're allowed to do outside a language is create the environment in which you start a language.
 105.343  
 105.344 +?
 105.345  
 105.346 - ==============
 105.347 +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". 
 105.348 +The request handler plus plugin together provide the two halves of what people normally call a scheduler.
 105.349  
 105.350 -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. 
 105.351 +Here's VSs code. This is library code that the application programmers get to see. This is code that gets compiled into the application. Here is submit task. Over in the seed function, it called VSs\_\_submit\_task. So, here's the implementation of submit\_task. You can see all it does is create a request data structure, and fill it up with some data, then call this proto-runtime primitive, which is "send\_create\_task\_request" and there's a separate proto-runtime primitive for creating tasks, because tasks are special inside the proto-runtime, so you need a special call just for them.
 105.352  
 105.353 -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. 
 105.354 +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.
 105.355  
 105.356 -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. 
 105.357 +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.
 105.358  
 105.359 -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.    
 105.360 +
 105.361 +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.
 105.362 +
 105.363 +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.
 105.364 +
 105.365 +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.  
 105.366 +
 105.367 +?
 105.368 +
 105.369 +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.
 105.370 +
 105.371 +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.   
 105.372 +
 105.373 +===================
 105.374 +
 105.375 +Any event visible before in one is visible in both after. The guarantee is between before in one and after in both. 
 105.376 +
 105.377 +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.
 105.378 +
 105.379 +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.
 105.380 +
 105.381 +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 threadz, which own before or after it.
 105.382 +
 105.383 +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.  
 105.384 +
 105.385 +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.
 105.386 +
 105.387 +
 105.388 +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.
 105.389 +
 105.390 +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.
 105.391 +
 105.392 +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. 
 105.393 +
 105.394 +===========
 105.395 +
 105.396 +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.   
 105.397 +
 105.398 +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.
 105.399 +
 105.400 +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.
 105.401 +
 105.402 +============
 105.403 +    
 105.404 +
 105.405 +%======================================
 105.406 +
 105.407 +%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.
 105.408 +
 105.409 +%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. 
 105.410 +
 105.411 +%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. 
 105.412 +
 105.413 +%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.
 105.414 +
 105.415 +
 105.416 +% ==============
 105.417 +
 105.418 +%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. 
 105.419 +
 105.420 +%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. 
 105.421 +
 105.422 +%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. 
 105.423 +
 105.424 +%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.    
 105.425  
 105.426  
 105.427  
 105.428  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 105.429 -\section{The DSL Hypothesis}
 105.430 -\label{sec:DSLHypothesis}
 105.431 +\subsection{Details}
 105.432 +\label{subsec:Details}
 105.433  
 105.434 -Following that background on DSLs,  we move on to the details of the proto-runtime approach (\S ). We provide details of how a runtime is modularized (\S ), showing what responsibilities are encapsulated in which modules, and what the interfaces between them look like. We show how this makes the proto-runtime be reused by all languages on given hardware, and how the low-level tuning of the proto-runtime for specific hardware automatically benefits all the languages that run on that hardware.   
 105.435 + We move on to the details of the proto-runtime approach (\S ), showing how a runtime is modularized (\S ), what responsibilities are encapsulated in which modules, and what the interfaces between them look like. 
 105.436 +
 105.437 +This 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.   
 105.438 +
 105.439 +?
 105.440  
 105.441  We follow this (\S  ) with an in-depth look at implementing language logic, and show how the proto-runtime interface allows it to use sequential thinking. We then give similar detail (\S ) on the implementation of the assigner, which chooses what core executes each chunk of work. We discuss how that has the potential to improve application performance by reducing communication between cores and reducing idle time of cores.   We support our belief (\S ) that the patterns we followed when modularizing are indeed fundamental and will remain valid for future languages and hardware.  We then discuss (\S ) some of the centralized services provided by the current proto-runtime implementation, as well as planned future ones. Then  we give an example of reusing language logic from one language implementation to another (\S ). 
 105.442  
   106.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   106.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/VMS__Full_conf_paper_3.tex	Sat Aug 03 19:24:22 2013 -0700
   106.3 @@ -0,0 +1,2152 @@
   106.4 +%-----------------------------------------------------------------------------
   106.5 +%
   106.6 +%               Template for sigplanconf LaTeX Class
   106.7 +%
   106.8 +% Name:         sigplanconf-template.tex
   106.9 +%
  106.10 +% Purpose:      A template for sigplanconf.cls, which is a LaTeX 2e class
  106.11 +%               file for SIGPLAN conference proceedings.
  106.12 +%
  106.13 +% Guide:        Refer to "Author's Guide to the ACM SIGPLAN Class,"
  106.14 +%               sigplanconf-guide.pdf
  106.15 +%
  106.16 +% Author:       Paul C. Anagnostopoulos
  106.17 +%               Windfall Software
  106.18 +%               978 371-2316
  106.19 +%               paul@windfall.com
  106.20 +%
  106.21 +% Created:      15 February 2005
  106.22 +%
  106.23 +%-----------------------------------------------------------------------------
  106.24 +
  106.25 +
  106.26 +\documentclass[preprint]{sigplanconf}
  106.27 +
  106.28 +% The following \documentclass options may be useful:
  106.29 +%
  106.30 +% 10pt          To set in 10-point type instead of 9-point.
  106.31 +% 11pt          To set in 11-point type instead of 9-point.
  106.32 +% authoryear    To obtain author/year citation style instead of numeric.
  106.33 +\usepackage{amssymb,graphicx,calc,ifthen,subfig,dblfloatfix,fixltx2e}
  106.34 +
  106.35 +
  106.36 +% correct bad hyphenation here
  106.37 +\hyphenation{op-tical net-works semi-conduc-tor}
  106.38 +
  106.39 +\usepackage{wasysym}
  106.40 +\usepackage{amstext}
  106.41 +
  106.42 +\begin{document}
  106.43 +
  106.44 +\bibliographystyle{plain}
  106.45 +%
  106.46 +
  106.47 +\conferenceinfo{WXYZ '05}{date, City.} 
  106.48 +\copyrightyear{2005} 
  106.49 +\copyrightdata{[to be supplied]} 
  106.50 +
  106.51 +\titlebanner{banner above paper title}        % These are ignored unless
  106.52 +\preprintfooter{short description of paper}   % 'preprint' option specified.
  106.53 +
  106.54 +
  106.55 +\title{A Proto-Runtime Approach to Domain Specific Languages}
  106.56 +
  106.57 +
  106.58 +\authorinfo{Sean Halle}
  106.59 +           {Open Source Research Institute, INRIA,
  106.60 +           and TU Berlin}
  106.61 +           {seanhalle@opensourceresearchinstitute.org}
  106.62 +\authorinfo{Merten Sach}
  106.63 +           {TU Berlin}
  106.64 +           {msach@mailbox.tu-berlin.de}
  106.65 +\authorinfo{Albert Cohen}
  106.66 +           {Ecole Normal Supereur, and INRIA}
  106.67 +           {albert.cohen@inria.fr}
  106.68 +
  106.69 +\maketitle
  106.70 +
  106.71 +
  106.72 +\begin{abstract}
  106.73 + 
  106.74 +?
  106.75 +replace lang-specific with interface, centralize services, minimize effort to create, give language control over hardware assignment..  side benefits: multi-lang, perf-tuning, debugging
  106.76 +
  106.77 +?
  106.78 +
  106.79 +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.
  106.80 +To solve a portion of this, we introduce a proto-runtime approach, which reduces the effort to create and port
  106.81 +the runtime portion of a parallel domain specific language. 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.
  106.82 +As a result, new parallel constructs are written using sequential reasoning, and multiple languages can be mixed within
  106.83 +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.
  106.84 +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 several multi-core machines in all cases.
  106.85 +\end{abstract}
  106.86 +
  106.87 +
  106.88 +
  106.89 +
  106.90 +
  106.91 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  106.92 +\section{Background and Motivation}
  106.93 +\label{sec:intro}
  106.94 +
  106.95 +[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.]
  106.96 +
  106.97 +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. 
  106.98 +
  106.99 +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. 
 106.100 +
 106.101 +Many believe that these can be overcome with the use of Domain-Specific Languages []. But 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.
 106.102 +
 106.103 +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.  
 106.104 +
 106.105 +A proto-runtime instance 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. 
 106.106 +
 106.107 +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. 
 106.108 +
 106.109 +We claim the following benefits of the proto-runtime approach, each of which is  supported in the indicated section of  the paper:
 106.110 +
 106.111 +\begin{itemize}
 106.112 +
 106.113 +\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},
 106.114 +\S\ref{subsec:Example}).
 106.115 +
 106.116 +\item The proto-runtime approach modularizes the runtime (\S\ref{sec:Proposal}).
 106.117 +
 106.118 +%\item The modularization  is consistent with patterns that appear to be fundamental to parallel computation and runtimes (\S\ ). 
 106.119 +
 106.120 +\item The modularization  cleanly separates runtime internals from the language-specific logic (\S\ref{sec:Proposal},
 106.121 +\S\ref{subsec:Example}). 
 106.122 +
 106.123 +\item The modularization gives the language control
 106.124 +over timing and placement of executing work (\S\ref{sec:Proposal}).
 106.125 +
 106.126 +\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},
 106.127 +\S\ref{subsec:ImplTimeMeas}).
 106.128 +
 106.129 +\begin{itemize}
 106.130 +
 106.131 +
 106.132 +\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\ ).
 106.133 +
 106.134 +\item Part of the time reduction is due to encapsulation of hardware aspects inside the hardware-oriented module (\S \ref{sec:intro}).
 106.135 +
 106.136 +\item Part of the time reduction is due to  reuse of the performance-tuning effort for runtime internals (\S ).  
 106.137 +
 106.138 +\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}). 
 106.139 +
 106.140 +
 106.141 +\end{itemize}
 106.142 +
 106.143 +\item
 106.144 +
 106.145 +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\ ).
 106.146 +
 106.147 +\begin{itemize}
 106.148 +
 106.149 +\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}).
 106.150 +
 106.151 +\end{itemize}
 106.152 +
 106.153 +\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}).
 106.154 +
 106.155 +\end{itemize}
 106.156 +
 106.157 +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. 
 106.158 +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.
 106.159 +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}).
 106.160 +
 106.161 +
 106.162 +
 106.163 +
 106.164 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 106.165 +%
 106.166 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 106.167 +\section{Background: The eDSL Hypothesis}
 106.168 +
 106.169 +%[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 106.170 +
 106.171 +%[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 106.172 +
 106.173 +%[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 106.174 +
 106.175 +%[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 106.176 +
 106.177 +Domain Specific Languages have been around for a while [], and recently have been suggested as a good approach for parallel programming[][stanford PPL].
 106.178 +
 106.179 +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.
 106.180 +
 106.181 +
 106.182 +\subsection{Embedding a DSL into a base language}
 106.183 +
 106.184 +A style of domain language, which we feel has good applicability to parallel software development, 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 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.
 106.185 +
 106.186 +
 106.187 +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) library that becomes linked, at run time, to a runtime implementation that has been tuned to the hardware it is running on.
 106.188 +
 106.189 +   
 106.190 +\subsection{Low learning curve, high productivity, and portability}
 106.191 +DSLs are generally quick to learn because the domain experts are already familiar with the concepts expressed by the custom syntax, especially for  those who are \textit{not} expert programmers. Embedded style DSLs further reduce learning curve because they have relatively few constructs, and require no new development tools nor development procedures. Together, these should  meet the goal of  a low learning curve for switching to parallel software development.
 106.192 +
 106.193 +Productivity can be enhanced by a well designed syntax, which can simplify the application code, modularize it, and encapsulate  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.
 106.194 +
 106.195 +Perhaps the most important productivity enhancement comes from hiding parallelism aspects inside the custom DSL constructs. The language takes advantage of the domain patterns to present a familar 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.
 106.196 + 
 106.197 +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.
 106.198 +
 106.199 +\subsection{Low disruption and easy adoption} 
 106.200 +
 106.201 +Using an eDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices.
 106.202 + Constructs from the eDSL can be mixed into existing sequential code, incrementally replacing the high computation sections, while continuing with the same development  practices.
 106.203 + 
 106.204 + \subsection{ Few users means the effort of eDSLs must be low} \label{subsec:eDSLEffort}
 106.205 +
 106.206 +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.
 106.207 +
 106.208 +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.  
 106.209 +
 106.210 +The effort to be reduced falls into three categories:
 106.211 +
 106.212 +\begin{enumerate}
 106.213 +\item effort to explore  language design and create the eDSL syntax
 106.214 +\item effort to create the runtime that produces the eDSL behavior
 106.215 +\item effort to performance tune the eDSL on particular hardware
 106.216 +\end{itemize}    
 106.217 +
 106.218 +
 106.219 +\subsection{Critical areas of effort in the big picture}
 106.220 +
 106.221 +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.
 106.222 +
 106.223 +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. 
 106.224 +
 106.225 +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.
 106.226 +
 106.227 +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:
 106.228 +
 106.229 +\begin{itemize}
 106.230 +\item shared coherent memory multi-core single-chip machine
 106.231 +\item shared coherent memory multi-core multi-chip machine
 106.232 +\item independent address space coprocessor (GPU)
 106.233 +\item a network of nodes of the above categories
 106.234 +\item a machine with a hierarchy of sub-networks
 106.235 +\end{itemize}
 106.236 +
 106.237 +
 106.238 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 106.239 +%
 106.240 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 106.241 +\section{Our Proposal} \label{sec:Proposal}
 106.242 +
 106.243 +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
 106.244 +the top two modules, which plug in via the interface. The hardware specific module presents the same interface
 106.245 +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.  
 106.246 +
 106.247 +\begin{figure}[ht]
 106.248 +  \centering
 106.249 +  \includegraphics[width = 1.5in, height = 1.1in]{../figures/proto-runtime__modules.pdf}
 106.250 +  \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. }
 106.251 +  \label{fig:PR_three_pieces}
 106.252 +\end{figure}
 106.253 +
 106.254 +
 106.255 +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.
 106.256 +
 106.257 +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.
 106.258 +
 106.259 +One additional benefit is giving control to the language, to choose when and where it wishes work to execute.
 106.260 +This feature simplifies implementation of languages
 106.261 +that have features related to scheduling behavior.
 106.262 +It also enables the language implementor to use sophisticated
 106.263 +methods for choosing placement of virtual processors
 106.264 +(threads) and tasks, which can significantly impact
 106.265 +application performance.  
 106.266 +
 106.267 +In this paper, we present work that applies to coherent
 106.268 +shared memory machines, both single chip and multiple chip. Extensions beyond this are currently in progress, to address multiple-address-space machines and hierarchical
 106.269 +heterogeneous collections of processors, which will appear in future papers.
 106.270 +
 106.271 +\subsection{Breakdown of the modules} \label{subsec:Modules}
 106.272 +
 106.273 +The language is broken into two parts, as seen in Fig
 106.274 +X. One is a thin wrapper library that
 106.275 +invokes the runtime and the other is a set of modules that are part of the runtime.
 106.276 +
 106.277 +
 106.278 +
 106.279 +\begin{figure}[ht]
 106.280 +  \centering
 106.281 +  \includegraphics[width = 2.8in, height = 1.1in]{../figures/proto-runtime__modules_lang_breakdown.pdf}
 106.282 +  \caption{Shows how the code of the language implementation
 106.283 +  is broken into two pieces. The first is a thin wrapper
 106.284 +  that invokes the runtime, the other is a dynamic
 106.285 +  library that plugs into the runtime.}
 106.286 +  \label{fig:langBreakdown}
 106.287 +\end{figure}
 106.288 +  
 106.289 +The runtime itself consists of three modules connected via
 106.290 +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
 106.291 +this the \textit{proto-runtime}.
 106.292 +It's job is to enforce the interface that the language modules see.
 106.293 +
 106.294 +
 106.295 +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
 106.296 +constructs, the other module provides logic for choosing which work to execute on
 106.297 +which hardware resource.
 106.298 +
 106.299 +The plugin collects the two language modules into a dynamic library that is implemented, compiled, and distributed separately from any application executables. This is how a non-changing application executable is able to invoke plugin code that can change between machines.    The executable contains only symbols of plugin functions, and during the run those are linked to specific functions' implementations. 
 106.300 +
 106.301 +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
 106.302 +of the primitives in the tie-point model. The proto-runtime
 106.303 +then implements the primitives of the tie-point model.
 106.304 +
 106.305 + 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
 106.306 +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.
 106.307 +
 106.308 +We have reached a point in the paper, now, where the order of explanation can take one of two paths: either
 106.309 +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.   
 106.310 +
 106.311 +
 106.312 +
 106.313 +\section{The tie-point model.}\label{subsec:TiePoints}
 106.314 +
 106.315 +
 106.316 +\subsection{timelines}
 106.317 +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.
 106.318 +
 106.319 +For example, take a thread library, which we consider
 106.320 +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
 106.321 +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.
 106.322 +
 106.323 +To build up to tie-points, we look at the nature of points on
 106.324 +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,
 106.325 +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.
 106.326 +
 106.327 +
 106.328 +\begin{figure}[ht]
 106.329 +  \centering
 106.330 +  \includegraphics[width = 2.8in, height = 0.8in]
 106.331 +  {../figures/PR__timeline_single.pdf}
 106.332 +  \caption{The timeline suspends at 1.S and resumes
 106.333 +  at 1.R. From the viewpoint of the timeline, the gap collapses into a single point.}
 106.334 +  \label{fig:singleTimeline}
 106.335 +\end{figure}
 106.336 +
 106.337 +
 106.338 +Now, a tie-point is seen as the linkage between such collapsed points on
 106.339 +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
 106.340 +inside the gap, then resumes timeline B at 2.R. The behavior of the release
 106.341 +command causes the end of suspend in the first timeline.  That causality ties the two collapsed points in the two timelines together.
 106.342 +
 106.343 +
 106.344 +\begin{figure}[ht]
 106.345 +  \centering
 106.346 +  \includegraphics[width = 2.8in, height = 1.35in]
 106.347 +  {../figures/PR__timeline_dual.pdf}
 106.348 +  \caption{Two  timelines with a causal relationship.
 106.349 +Activity that takes place during the gap in timeline
 106.350 +B causes resume of timeline A. This ties point 2 on
 106.351 +timeline B to point 1 on timeline A.}
 106.352 +  \label{fig:dualTimeline}
 106.353 +\end{figure}
 106.354 +
 106.355 +
 106.356 +
 106.357 +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
 106.358 +guarantee makes both agree on the order of events,\textit{
 106.359 +relative to the mutual tied point}. 
 106.360 +The guarantees  are what defines a tie-point. 
 106.361 +
 106.362 +Fig \ref{fig:tie-pointGuarantees} shows the ordering guarantees in terms of visibility of operations between
 106.363 +the timelines.  If these visibility constraints are
 106.364 +satisfied, then the timelines share a tie-point. Note that the ordering
 106.365 + guarantees are equivalent to the constraints on visibility of operations. Operations that execute  in
 106.366 +the first timeline before the tie-point must be visible
 106.367 +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. 
 106.368 +
 106.369 +
 106.370 +
 106.371 +\begin{figure}[ht]
 106.372 +  \centering
 106.373 +  \includegraphics[width = 2.8in, height = 1.25in]
 106.374 +  {../figures/PR__timeline_tie_point_ordering.pdf}
 106.375 +  \caption{The
 106.376 +guarantees that a tie-point enforces. Shows which
 106.377 + operations performed on one timeline are visible to the other
 106.378 +timeline. These visibilities must be true for a tie-point.
 106.379 +Note that all events are divided into two groups, those
 106.380 +before the tied points versus those after the tied
 106.381 +points.  Both timelines see the same before group and
 106.382 +the same after group. }
 106.383 +  \label{fig:tie-pointGuarantees}
 106.384 +\end{figure}
 106.385 +
 106.386 +
 106.387 +\subsection{Formal definition of tie-point}
 106.388 +In a moment we will show how any and all synchronization constructs
 106.389 +can be defined in terms of tie-points. Before getting
 106.390 +there, we provide a formal definition of tie-point,
 106.391 +which we will then use in showing that all synchronization
 106.392 +constructs can be implemented in terms of tie-points.
 106.393 +
 106.394 +In our formalization, we treat a tie-point as something
 106.395 +that exists in the code, and causes what we call an \textit{ordering-point} to
 106.396 +arise in every run of the code.  We define ordering-point
 106.397 +formally, and use that to state the constraints that
 106.398 +a tie-point code-instance must enforce.
 106.399 +
 106.400 +
 106.401 +\subsubsection{Lifeline, Timeline, and Projection}
 106.402 +We define a formal entity that we call a lifeline,
 106.403 +where a timeline is a type of lifeline.
 106.404 +We define event-types and specific occurrences of event-types, and show how multiple lifelines can observe the same occurrence. A projection between
 106.405 +lifelines is defined as an event initiated upon one lifeline being observed on a different lifeline.  The projection is from initiator to observer.
 106.406 +
 106.407 +\begin{description}
 106.408 +\item[event:] 
 106.409 +\(E   \) represents an event, which is something that
 106.410 +can be initiated or observed. 
 106.411 +\item[occurrence:]
 106.412 +\(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
 106.413 +integer, for example: \(O_{7}\) 
 106.414 +
 106.415 +\item[clock:]
 106.416 +\(t:I\rightarrow\mathbb{R}^{+}\) maps each integer
 106.417 +onto a  real number, such that \(I_{1}<I_{2}\Rightarrow
 106.418 +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
 106.419 +sequence of the clock. 
 106.420 +\item[lifeline:]
 106.421 +\(l = <\alpha ,  t> \) 
 106.422 + is a lifeline, where \(\alpha\)
 106.423 +is a sequence over \(Dom(t)\) and each element of \(\alpha\) is either an initiation of an occurrence, or an observation
 106.424 +of one. A \textit{beat} of the lifeline is one tuple, denoted \(l(i)\), while the occurrence associated 
 106.425 +to the beat is denoted\(\) \(O(l(i))  \) or equivalently \(O(\alpha(i)). \) The real value
 106.426 +associated with the beat is denoted \(t(l(i))\).  For a given lifeline, not every element of \(t\) must have an associated
 106.427 +\(\alpha\), but every \(\alpha\) must have a unique associated
 106.428 +\(I\) from the clock \(t\).  Note that \(\forall i , t(l(i)) < t(l(i+1))\).  At most one beat from one
 106.429 +lifeline can initiate an occurrence.  However, multiple
 106.430 +beats
 106.431 +from a given lifeline can observe the same occurrence,
 106.432 +including one initiated earlier in the sequence of
 106.433 +the lifeline,
 106.434 +and multiple lifelines may observe the same occurrence,
 106.435 +each multiple times.  
 106.436 +
 106.437 +\item[projection:]
 106.438 +Given \(l_{1} = <\alpha ,  t_{1}> \), \(l_{2} = <\beta ,  t_{2}> \) then a projection from \(l_{1}\) to \(l_{2}\)
 106.439 + is denoted  \(l_{1}(i) \uparrow l_{2}(j) \), where  \(l_{1}(i) \uparrow l_{2}(j)
 106.440 +\equiv O(l_{1}(i)) = O(l_{2}(j))\).
 106.441 + This says that the occurrence initiated by the ith beat of the first lifeline is observed by the jth beat
 106.442 +of the second lifeline. 
 106.443 +
 106.444 +\item[ordering tuple:] \(OT_{}\) is a tuple consisting
 106.445 +of a set of two  beats from two different lifelines, which do
 106.446 +not participate in projections, plus a set of projections
 106.447 +that cross the two beats in the forward direction. 
 106.448 +Given \(OT =<[l_{1}(x) , l_{2}(y)], [projections]> \) then \(OT\) is an
 106.449 +ordering tuple  iff \( [projections] \neq0 \forall p(i,j) \in  projections \nexists p(i,j)
 106.450 +|i<x \wedge j>y\  \) 
 106.451 +\item[program run:] \(\mathcal{R} \) is a particular set of lifelines.
 106.452 +The program run begins with the creation of any lifeline, and
 106.453 +ends with the end of all lifelines.
 106.454 +
 106.455 +\item[equivalent positions in different  sequences:] a partial ordering is defined.
 106.456 +Given two positions within different sequences, if
 106.457 +one or both both can be
 106.458 +validly rearranged, by using the partial ordering to
 106.459 +define valid rearrangements,  so they occupy 
 106.460 + the same position in their rearranged sequences, then
 106.461 +they are equivalent positions.
 106.462 +
 106.463 +\item[equivalent occurrences:] two occurrences are
 106.464 +equivalent if their event instances cannot be distinguished, given the observation
 106.465 +measurements of interest. If the observation measurement
 106.466 +involves sequences, then the two events must lie at
 106.467 +equivalent positions within their respective sequences.
 106.468 +
 106.469 +\item[equivalent lifelines:] two lifelines whose beats
 106.470 +can be paired, such that every beat in one lifeline
 106.471 +has an equivalent beat in the other.  The beats do
 106.472 +not have to occur in the same order in both lifelines.
 106.473 +Beats associated to occurrences that are not of interest can be dropped.
 106.474 +
 106.475 +\item[equivalent program runs:] two runs such that
 106.476 +their lifelines can be paired one-to-one, with every lifeline in one paired to an equivalent
 106.477 +lifeline in the other. The projections between lifelines
 106.478 +in one run can be different from the projections in
 106.479 +the other run.
 106.480 +
 106.481 +\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. 
 106.482 +\end{description}
 106.483 +
 106.484 +
 106.485 +Some things to note: A particular occurrence
 106.486 +can be associated to at most one beat from a given
 106.487 +lifeline, but that same occurrence can also be associated
 106.488 +to beats from multiple other lifelines.  Also, an occurrence may
 106.489 +be initiated by a lifeline but never observed by any.
 106.490 +Every \(O\) has a set of projections associated with it.
 106.491 +
 106.492 +For example, the event could
 106.493 +be writing a value into a variable.  Two separate
 106.494 +write events are considered equivalent occurrences if
 106.495 +they both write the same particular value into whatever memory location
 106.496 +is associated to the same particular
 106.497 +variable, and happen within valid partial orderings
 106.498 +relative to the other occurrences.  This is normally
 106.499 +compared across re-creations of the "universe" that
 106.500 +provides the context for the orderings of events instances.
 106.501 +
 106.502 +=========
 106.503 +
 106.504 + Okay, talked it over with Sung -- what about making distinguished beats
 106.505 +-- as Sung poked around for, make the PR\ "suspend" be the
 106.506 +distinguished beat.  Then, as we worked out talking it
 106.507 +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.
 106.508 +
 106.509 +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
 106.510 +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!
 106.511 +
 106.512 +  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.
 106.513 +
 106.514 +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.
 106.515 +
 106.516 +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.
 106.517 +
 106.518 +From the projection "behavior" I can simply state "this
 106.519 +defines what all synchronization constructs do" --
 106.520 +the projection behavior is the whole purpose of a sync construct -- to ensure particular communication pattern when comm is via side-effect
 106.521 +
 106.522 +=======
 106.523 +
 106.524 +From first model, have the real-value constraints for  slide of suspend and resume relative to each other..
 106.525 +
 106.526 +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
 106.527 +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,
 106.528 +and backward crossing are allowed whose initiation
 106.529 +is on non-origin lifeline. 
 106.530 +  
 106.531 +But a tie-point is more than just the behavior it defines.
 106.532 + In order for a pair of special beats to form a tie-point,
 106.533 +they must be causally linked on their internal lifelines.  This means that a sequence of changes of the internal
 106.534 +state links the internal activity of one of the special beats to the internal activity of another special beat
 106.535 +that executes the resume that ends  the second special beat. All special beats that are resumed inside the
 106.536 +same internal activity will have the behavior of a
 106.537 +full tie-point. Half tie-points can have both halves
 106.538 +resumed in different internal activities.
 106.539 +   
 106.540 +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. 
 106.541 +
 106.542 +The internal activity on the hidden lifeline enforces some description. 
 106.543 +
 106.544 +For
 106.545 +example, send-receive descriptions are: send = if paired
 106.546 +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.
 106.547 +  
 106.548 +For acquire-release.. acquire: if lock-owner inside shared
 106.549 +context is empty then place self-name into lock-owner
 106.550 +and resume self else place self onto end of sequence
 106.551 +of special beats. release: remove self from lock-owner
 106.552 +and place the next in sequence of special beats into
 106.553 +lock-owner. If non-empty then resume the new lock-owner.
 106.554 +in every case, resume self. Note, acquire-release can
 106.555 +form either a half tie-point or a full tie-point. 
 106.556 +?
 106.557 +
 106.558 +====
 106.559 +
 106.560 +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
 106.561 +of a useful subset of what the intuition of tie-point associates to.  
 106.562 +
 106.563 +
 106.564 +   
 106.565 +
 106.566 +
 106.567 +\subsection{How a synchronization construct relates
 106.568 +to tie-points}
 106.569 +
 106.570 +To prepare for stating how the tie-point model can be used to
 106.571 +specify a synchronization construct, we first state
 106.572 +clearly what we mean by a ``synchronization construct''.
 106.573 +
 106.574 +The top of Fig \ref{fig:PRSyncConstrDef} shows two
 106.575 +independent timelines, both performing reads and writes
 106.576 +within a machine that has coherent shared memory. The
 106.577 +timelines have no relative ordering defined, so any
 106.578 +write on Timeline A can be received by any read of
 106.579 +the same address on
 106.580 +Timeline B, and vice versa.  This means that, in general,
 106.581 +the use of a variable that is read and written by both will result in non-deterministic behavior.
 106.582 +
 106.583 +
 106.584 +\begin{figure}[ht]
 106.585 +  \centering
 106.586 +  \includegraphics[width = 2.0in, height = 2.8in]
 106.587 +  {../figures/PR__timeline_sync_def.pdf}
 106.588 +  \caption{Depicts the meaning  we adopt for  `synchronization construct'.  One of them  controls communications between timelines
 106.589 +by controlling the slide of timelines relative to each
 106.590 +other. They imply certain visibility between writes  and reads on different timelines.}
 106.591 +  \label{fig:PRSyncConstrDef}
 106.592 +\end{figure}
 106.593 +  
 106.594 +
 106.595 +
 106.596 +To control the behavior of writes and reads to the
 106.597 +same addresses, a common point must be established, which
 106.598 +limits the ``sliding'' of the timelines relative to
 106.599 +each other. A synchronization construct is used for
 106.600 +this.
 106.601 +The net effect of such a construct is to establish
 106.602 +a common point that both timelines agree on.  This
 106.603 +point separates reads and writes before it from reads
 106.604 +and writes after it.
 106.605 +
 106.606 +For example, consider a simple lock used to protect a critical section.  The lock is acquired by one timeline
 106.607 +before entering the critical section. Any writes performed
 106.608 +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}.
 106.609 +
 106.610 +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},
 106.611 +any writes performed by that new
 106.612 +timeline after it acquires the lock must not be visible
 106.613 +to reads performed by the old timeline before it released
 106.614 +the lock. 
 106.615 +
 106.616 +With this intuition, we define a synchronization construct
 106.617 +as an operation preformed on a timeline, which has
 106.618 +the property that it creates
 106.619 +a tie-point together with an operation performed on a different
 106.620 +timeline.  Such operations that establish a tie-point
 106.621 +fit our definition of synchronization constructs.
 106.622 +
 106.623 +
 106.624 +\subsection{More on tie-points}
 106.625 +
 106.626 +Fig \ref{fig:dualTimeline} showed how a tie-point can be generated. The establishment was accomplished by
 106.627 +a combination of primitive mechanisms. These include: 1) suspend; 2) an `invisible' timeline that executes
 106.628 +behavior in the gaps; 3) resume
 106.629 +called from that invisible timeline; and 4) enforcement
 106.630 +of instruction completion relative to resume.  
 106.631 + 
 106.632 +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.
 106.633 +
 106.634 +
 106.635 +Notice that the primitives that establish a tie-point
 106.636 +do not involve any notion of  dependency or constraint
 106.637 +on order of execution.  It is the behavior code that runs on the invisible
 106.638 + timeline that embodies notions such as dependency
 106.639 + between units of work, mutual exclusion,
 106.640 + partial ordering of work, and so on.  However, the
 106.641 + primitives do provide the notion of causality,  the ordering implied by causality, and enforcing completion
 106.642 +of reads/writes.
 106.643 +
 106.644 +It is up to the language to supply the behavior that happens inside
 106.645 +the gaps, which executes on the invisible timeline. This behavior is what decides which timelines end up
 106.646 +sharing a tie point. It is that decision making, of which timelines to tie together, that implements the
 106.647 +semantics of a synchronization construct.
 106.648 +
 106.649 +A workshop paper also discusses tie points
 106.650 +[]. A formal treatment of tie-points is beyond the scope of this paper. However, a formal framework has been substantially completed and
 106.651 +will be published in a future paper.  
 106.652 +
 106.653 +
 106.654 +
 106.655 +\subsection{Tie-points within a proto-runtime}
 106.656 +
 106.657 + 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
 106.658 +proto-runtime executes the language plugin behavior.
 106.659 +It acts as the hidden timeline.
 106.660 +
 106.661 + The proto-runtime code module also supplies implementations
 106.662 +of the primitives that are used to establish a tie-point, including these:
 106.663 +
 106.664 + %It provides the primitive that suspends a timeline and then causes language plugin behavior to execute in the gap. 
 106.665 +  
 106.666 +%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.
 106.667 +
 106.668 +%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. 
 106.669 +
 106.670 +%\subsection{More about the proto-runtime}
 106.671 +
 106.672 +\begin{itemize}
 106.673 +\item create a virtual processor (which has a suspendible timeline)
 106.674 +\item create a task (which has an atomic timeline that runs to completion)
 106.675 +
 106.676 +\item suspend a timeline, then invoke a   function to handle the suspension -- handler is  supplied with
 106.677 +parameters from application 
 106.678 +\item resume a timeline, which makes it ready for execution
 106.679 +\item end a timeline
 106.680 +\item trigger choosing which virtual processor or task to begin execution on an offered
 106.681 +core
 106.682 +
 106.683 +\end{itemize}
 106.684 +
 106.685 +Virtual processors and tasks, both, have associated timelines. The reason for having both is a practical one, as tasks are simpler, with less overhead,
 106.686 +and many languages have the semantics of short, atomic, units of work that
 106.687 +are not intended to suspend. Thus, tasks are treated differently inside the
 106.688 +proto-runtime, and incur less overhead to create and run.
 106.689 +
 106.690 +A special feature of the proto-runtime is that if a task happens to execute
 106.691 +a language command that causes suspension, then the proto-runtime automatically
 106.692 +converts that task to a suspendible virtual processor. This helps support the mixing of different
 106.693 +languages within the same program.
 106.694 +
 106.695 +
 106.696 +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
 106.697 +can be communicated from the wrapper library to the plugin. 
 106.698 +
 106.699 +
 106.700 +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,
 106.701 +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. 
 106.702 +
 106.703 +The proto-runtime involves the language into the process of choosing which core a given task
 106.704 +or virtual processor executes on. The proto-runtime maintains control, but offers free cores to the Assigner
 106.705 +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.
 106.706 +
 106.707 +
 106.708 +
 106.709 +\subsection{Concrete Example}\label{subsec:Example}
 106.710 +
 106.711 +To make this concrete, consider the example of implementing
 106.712 +acquire mutex and release mutex. The semantics are:
 106.713 +
 106.714 +\begin{itemize}
 106.715 +\item Acquire Mutex: A thread  calls the construct,
 106.716 +and
 106.717 +provides the name of the mutex. If no thread owns the
 106.718 +mutex, the calling thread is given ownership and it
 106.719 +continues to make progress. However, if a different thread
 106.720 +already owns the mutex, the calling thread is put into a queue
 106.721 +of waiting threads, and stops making progress. 
 106.722 +\item Release Mutex: A thread calls the construct and
 106.723 +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
 106.724 +that called the release construct.. 
 106.725 +\end{itemize} 
 106.726 +
 106.727 +This calls for a data structure that has two fields:
 106.728 +one holds the thread that currently owns the mutex,
 106.729 +the other holds a queue of threads waiting to acquire
 106.730 +the mutex. The semantics of a construct involve multiple
 106.731 +reads
 106.732 +and writes of the data structure. Hence, the
 106.733 + structure must  be protected
 106.734 +from races between different threads. 
 106.735 +
 106.736 +The protection
 106.737 +is where the difficulty comes into the implementation,
 106.738 +and where performance issues come into the picture.
 106.739 +It could be accomplished with a single global lock
 106.740 +  that uses hardware primitives, or accomplished
 106.741 +with wait-free data structures that only rely upon the coherence
 106.742 +mechanism of the memory system, or even by message passing plus
 106.743 +quorum techniques.
 106.744 +
 106.745 +However, the implementation of the semantics  is independent
 106.746 +of the implementation of the protection. They are orthogonal,
 106.747 +and an interface can be placed between them. One side
 106.748 +of the interface implements checking and updating the fields of
 106.749 +the data structure, while the other side implements
 106.750 +protecting the first side from interference.
 106.751 + 
 106.752 +The side that provides protection requires fields,
 106.753 +for its use, to be placed into the data structure used
 106.754 +to represent a thread. To hide those details,
 106.755 +the protection side should also provide
 106.756 +primitives to create and destroy threads, as well as suspend
 106.757 +and resume them.
 106.758 +
 106.759 +This interface that separates the semantic side from
 106.760 +the protection
 106.761 +side is the proto-runtime interface. It is what enables
 106.762 +the modularization of runtime system implementations.
 106.763 +
 106.764 +The tie-point concept provides a model for thinking
 106.765 +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.
 106.766 + That provides a cross-hardware way of specifying synchronization
 106.767 +behavior using just sequential thinking. The proto-runtime primitives implement the elements of the tie-point model.    
 106.768 +
 106.769 + %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
 106.770 +%constructs. Either way,  developing the behavior proves
 106.771 +%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.
 106.772 +
 106.773 +
 106.774 +
 106.775 +
 106.776 +
 106.777 +\section{Concrete Details}
 106.778 +Now that we have seen the concepts of how to modularize
 106.779 +a runtime system, using the tie-point model, it is
 106.780 +time to make the concepts concrete by showing code
 106.781 +segments that implement each of the concepts, and code
 106.782 +segments that use the concepts.  We will start with
 106.783 +the big picture and work down.
 106.784 +
 106.785 +The first stop will be the development process, showing
 106.786 +how it is fractured into three separate and independent
 106.787 +development activities.  Next, we will show examples
 106.788 +of how application
 106.789 +code invokes constructs, and follow the path of calls
 106.790 +down to the point it switches over to the runtime system. Lastly,
 106.791 +we will look at the flow of control inside the runtime,
 106.792 +where we will focus on the interaction between plugin
 106.793 +code and proto-runtime code.  
 106.794 +
 106.795 +In this last portion, we will show how the
 106.796 +interface supplies the plugin with a consistent ``inside
 106.797 +the runtime" environment.  Along with that, we will
 106.798 +show how providing
 106.799 +a consistent environment
 106.800 + is an implementation of the "single hidden timeline" portion
 106.801 + of the tie-point model. We will also show how it is
 106.802 + the existence of a \textit{single} hidden timeline
 106.803 + that allows the semantic portion of the language constructs
 106.804 +to be written in a sequential style, without regard to concurrency issues.  
 106.805 +
 106.806 +
 106.807 +\subsection{Three independent development efforts}
 106.808 +
 106.809 +To get a handle on the big picture,  we describe the
 106.810 +three independent paths that development takes:
 106.811 +one for development of proto-runtime code, one for
 106.812 +development of language implementation, and one for
 106.813 +application development. Each of these produces a separate
 106.814 +installable artifact.
 106.815 +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.
 106.816 + 
 106.817 +The proto-runtime code is developed separately from
 106.818 +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.
 106.819 +
 106.820 +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. 
 106.821 +
 106.822 +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. 
 106.823 +
 106.824 +The wrapper library, however, is not
 106.825 +installed on the machine where code runs. Rather, it
 106.826 +is only used during development of an application,
 106.827 +and remains independent of hardware.
 106.828 + 
 106.829 +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.  
 106.830 +When an application is executed, the loader binds the
 106.831 +dynamic libraries, connecting them to the application.
 106.832 + In this way, a single,
 106.833 +unchanging, executable gains access to machine-specific implementations of language and proto-runtime.  
 106.834 +
 106.835 +However, the success of the compile-once approach has
 106.836 +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
 106.837 +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.
 106.838 +
 106.839 +\subsection{Walk through of activity during execution} 
 106.840 +
 106.841 +At this point, we present a picture of the flow of control on each
 106.842 +of two cores, as the core is switched between application
 106.843 +code and runtime code.  It is too early to understand
 106.844 +the details, but this figure can be referred back to
 106.845 +as each portion is discussed in the coming sub-sections.
 106.846 +Each portion of the figure is labelled with the sub-section that describes that portion of activity. 
 106.847 +
 106.848 +At the top is the main program, which starts the proto-runtime,
 106.849 +and creates a proto-runtime process.  Below that is
 106.850 +depicted the creation of proto-runtime virtual processors,
 106.851 +along with the animation of application code by those virtual
 106.852 +processors.
 106.853 +
 106.854 +?
 106.855 +
 106.856 +The application  passes information to a wrapper library
 106.857 +call,
 106.858 +such as the ID of the mutex to acquire. The library function packages the
 106.859 +information into a request data structure, then invokes a proto-runtime
 106.860 +primitive. That suspends the virtual processor (timeline) that is executing
 106.861 +that code.  The call to the primitive passes as arguments the request structure and a pointer
 106.862 +to the plugin function that will handle the request.
 106.863 +The handler runs inside the Master and chooses which
 106.864 +other timelines to resume as a consequence of the wrapper-library
 106.865 +call. Those timelines will then resume, returning from
 106.866 +whatever wrapper-library call caused them to suspend.  In this way, the request handle implements the behavior of a
 106.867 +synchronization construct.
 106.868 +
 106.869 +However, there is one last step between the request
 106.870 +handler marking a timeline as ready to resume 
 106.871 +and it becoming re-animated. That step is where the
 106.872 +assignment half of the language plugin comes into play.
 106.873 +The request handlers stack up work that is free to
 106.874 +be executed, but it is the assigner that chooses which
 106.875 +of those to place onto an offered core.
 106.876 +
 106.877 +
 106.878 +
 106.879 +
 106.880 +
 106.881 +\begin{figure*}[ht]
 106.882 +  \centering
 106.883 +  \includegraphics[width = 7.0in, height = 4.5in]
 106.884 +  {../figures/Proto-Runtime__modules_plus_plugin_plus_code.pdf}
 106.885 +  \caption{Illustration of the physical time sequence of the timelines of multiple virtual processors executing on multiple
 106.886 +cores. The timelines run top to bottom, while calls
 106.887 +between modules and returns run horizontally. The colors of Fn names indicate whether the
 106.888 +code is part of the application (green), the proto-runtime module (blue), or the language  (red). The top two timelines are animated
 106.889 +by core 1, while the bottom 2 are animated by core
 106.890 +2. The boxes
 106.891 +represent virtual processors, each with its associated
 106.892 +timeline next to it. The timelines have no relative
 106.893 +ordering, except at tie-points established by the Request
 106.894 +Handlers.   Gaps in the timelines are caused by suspension,
 106.895 +which is effected by primitives within the proto-runtime
 106.896 +code module.}
 106.897 +  \label{fig:langBreakdown}
 106.898 +\end{figure*}
 106.899 +
 106.900 +
 106.901 +
 106.902 +\subsection{Using language constructs}
 106.903 +In the simple form of an eDSL, the language constructs
 106.904 +take the form of function calls. The reader familiar
 106.905 +with posix threads will have used function calls to
 106.906 +perform mutex acquire commands and mutex release commands.
 106.907 +Here, we illustrate invoking language commands in the
 106.908 +same way.
 106.909 +
 106.910 +We use posix threads for our example because it is
 106.911 +a familiar language that the reader already knows well.
 106.912 +It allows us to illustrate the concepts new to proto-runtime without introducing potential confusion about what the language semantics are.
 106.913 +
 106.914 +\subsubsection{Main and startup}
 106.915 +Before using a proto-runtime based language, the proto-runtime
 106.916 +system must be started, and a proto-runtime process
 106.917 +must be created.  Fig X shows this. Notice that the
 106.918 +create process was given a pointer
 106.919 +to a function.  This function is the seed of the proto-runtime
 106.920 +based application code.  This seed must start all proto-runtime
 106.921 +based languages that will be used in the application,
 106.922 +and must create the virtual processors and tasks that
 106.923 +perform the work and may in turn create more VPs and/or tasks that perform work.
 106.924 +
 106.925 +==main, with PR\_\_start and PR\_\_create\_process == 
 106.926 +
 106.927 +\subsubsection{Seed birth function and thread birth
 106.928 +function}
 106.929 +Fig X shows our example seed function. It first starts
 106.930 +the language that will be used, which is Vthread. It
 106.931 +is an implementation of posix threads that is on top of proto-runtime.
 106.932 +Next, the seed uses Vthread commands to create two
 106.933 +threads, and then uses Vthread join to wait for both
 106.934 +threads to die.  Lastly it "dissipates", which is the
 106.935 +command that kills the virtual processor that is animating
 106.936 +the function.
 106.937 +
 106.938 +==seed\_birth\_Fn, with Vthread\_\_start(), Vthread\_\_create\_thread,
 106.939 +Vthread\_\_join, Vthread\_\_stop, and dissipate==
 106.940 +
 106.941 +Notice the signature
 106.942 +of the seed birth function. It returns void, and takes a pointer
 106.943 +to void plus a pointer to a SlaveVP struct. This is
 106.944 +the standard signature that must be used for all birth functions for
 106.945 +proto-runtime created virtual processors or tasks.  
 106.946 +
 106.947 +
 106.948 +Also, notice that the standard signature includes a
 106.949 +pointer to a SlaveVP struct. This is a proto-runtime
 106.950 +defined structure, which holds the meta-information
 106.951 +about a virtual processor. The birth function is handed
 106.952 +the structure of the virtual processor that is animating
 106.953 +it.
 106.954 +
 106.955 +An illuminating aside is that the birth function for
 106.956 +a posix thread doesn't need
 106.957 +to be handed the structure representing the animating thread.
 106.958 +That is because the operating system tracks which thread
 106.959 +is assigned to which core.  Posix thread constructs work by executing
 106.960 +an instruction that suspends the code executing on
 106.961 +the core and switches
 106.962 +the core over to animating the OS kernel code. The OS kernel
 106.963 +then looks up the data structure that is assigned to
 106.964 +the core.  
 106.965 +
 106.966 +That lookup is how the OS kernel gains the
 106.967 +pointer to the thread that was animating the application
 106.968 +code that called the posix construct.  But the implementation
 106.969 +of proto-runtime illustrated in this paper doesn't
 106.970 +have such a hardware based suspend instruction available,
 106.971 +and so proto-runtime-based application code must explicitly pass around the pointer to the data
 106.972 +structure of the virtual processor performing the animation. 
 106.973 +
 106.974 +Fig X shows the birth function of the threads created
 106.975 +by the seed birth function.  It uses the Vthread equivalent
 106.976 +of mutex acquire and release to protect access to
 106.977 +a critical section. Notice that the signature
 106.978 +is the same as the signature of the seed birth function.
 106.979 +Also notice that the SlaveVP structure is handed to
 106.980 +each invocation of a Vthread construct.  In the next
 106.981 +several sub sections we will track how this SlaveVP structure
 106.982 +is used.
 106.983 +
 106.984 +==thread birth function.. uses Vthread acquire and
 106.985 +release to protect a counter plus print of count value==
 106.986 +
 106.987 +
 106.988 +\subsection{Language Wrapper Library}
 106.989 +
 106.990 +Looking at the implementation of the Vthread calls
 106.991 +reveals code such as in Fig X.
 106.992 + 
 106.993 +==wrapper lib code for mutex acquire==
 106.994 +
 106.995 +There's nothing much to it.  It just creates a data
 106.996 +structure, fills it, then hands it to a proto-runtime
 106.997 +call.  This is a starnd form for wrapper library
 106.998 +calls. The data structure is used to carry information
 106.999 +into the proto-runtime (the proto-runtime that was
106.1000 +started by the PR\_\_start command).  The PR call is
106.1001 +the equivalent of the hardware instruction that suspends
106.1002 +application code and switches to the kernel.  For the
106.1003 +implementation of PR illustrated in this paper, this
106.1004 +call is implemented with assembly instructions.
106.1005 +
106.1006 +This wrapper library code is placed on the machine
106.1007 +used during development of the application, and is
106.1008 +compiled into the application executable.  However,
106.1009 +the proto-runtime call is a link to a dynamic library,
106.1010 +and is not part of the application executable.
106.1011 +
106.1012 +Notice that the PR\ primitive is given a pointer to
106.1013 +a function.  This is called the handler function, and
106.1014 +is part of the language plugin.  The proto-runtime
106.1015 +will actually perform the call to the handler function, but in a carefully controlled
106.1016 +way. It will provide the handler function with a carefully controlled environment
106.1017 +to use while it handles this wrapper-library call.
106.1018 +We will see in a moment how proto-runtime invokes the
106.1019 +handler function, and what such a handler function
106.1020 +looks like.
106.1021 +
106.1022 +First, here's the assembly that suspends the application code and
106.1023 +switches to the proto-runtime code, as seen in Fig X
106.1024 +
106.1025 +==assembly of suspend and switch==
106.1026 +
106.1027 +All it does is save the program counter and stack pointer
106.1028 +into the SlaveVP structure, then load in the program
106.1029 +counter and stack pointer of the proto-runtime code,
106.1030 +which was previously saved in different fields of that same SlaveVP structure.
106.1031 +
106.1032 +\subsubsection{proto-runtime code that is switched
106.1033 +to}
106.1034 +
106.1035 +The PR assembly code switches the core to executing
106.1036 +the (psuedo) code seen in Fig X.
106.1037 +
106.1038 +==animation master code, which calls plugin fns==
106.1039 +
106.1040 +All this does is invoke the handler function named
106.1041 +in the wrapper library, and hands it an environmen.
106.1042 +This is the hidden environment referred to in the tie-point
106.1043 +model.  It must be accessed in an isolated, atomic,
106.1044 +fashion.  The proto-runtime code seen here happens
106.1045 +to use a global lock for each language's environment.
106.1046 + However other implementations are possible.  In order
106.1047 + to keep overhead low, it uses the Compare And Swap
106.1048 + instruction to acquire the lock, and an exponential random
106.1049 + backoff scheme when contention for the lock arises.
106.1050 + 
106.1051 + The handler function is the hidden behavior that executes
106.1052 + on the hidden timeline that is mentioned in the tie-point
106.1053 + model. The suspend primitive is what begins a special
106.1054 + beat on the lifeline of the virtual processor that
106.1055 + executed the wrapper library call. It is this handler
106.1056 + code that then establishes the causal connections
106.1057 + between such special beats, and so ties them together.
106.1058 + The causal connection is via the changes make to the
106.1059 + language environment.
106.1060 + 
106.1061 + So, in summary, the proto-runtime is the hidden timeline.
106.1062 + The suspend primitive is what starts a special beat
106.1063 + and starts the behavior on the hidden timeline. The
106.1064 + lock is what isolates and sequentializes
106.1065 + the behavior on the hidden timeline.  The language
106.1066 + environment is the hidden state used to establish
106.1067 + causal connection between special beats.
106.1068 +
106.1069 +
106.1070 +
106.1071 +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.
106.1072 +
106.1073 +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.
106.1074 +
106.1075 +
106.1076 +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.
106.1077 +
106.1078 +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.
106.1079 +
106.1080 +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.  
106.1081 +
106.1082 +?
106.1083 +
106.1084 +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.
106.1085 +
106.1086 +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.   
106.1087 +
106.1088 +===================
106.1089 +
106.1090 +
106.1091 +\subsection{not sure}
106.1092 +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.
106.1093 +
106.1094 +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.
106.1095 +
106.1096 +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. 
106.1097 +
106.1098 +?
106.1099 +
106.1100 +The only thing you're allowed to do outside a language is create the environment in which you start a language.
106.1101 +
106.1102 +?
106.1103 +
106.1104 +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". 
106.1105 +The request handler plus plugin together provide the two halves of what people normally call a scheduler.
106.1106 +
106.1107 +=================
106.1108 +
106.1109 +\subsection{more on tie-points}
106.1110 +Any event visible before in one is visible in both after. The guarantee is between before in one and after in both. 
106.1111 +
106.1112 +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.
106.1113 +
106.1114 +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.
106.1115 +
106.1116 +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.
106.1117 +
106.1118 +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.  
106.1119 +
106.1120 +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.
106.1121 +
106.1122 +
106.1123 +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.
106.1124 +
106.1125 +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.
106.1126 +
106.1127 +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. 
106.1128 +
106.1129 +===========
106.1130 +
106.1131 +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.   
106.1132 +
106.1133 +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.
106.1134 +
106.1135 +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.
106.1136 +
106.1137 +============
106.1138 +    
106.1139 +
106.1140 +\subsection{More on eDSLs}
106.1141 +%======================================
106.1142 +
106.1143 +%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.
106.1144 +
106.1145 +%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. 
106.1146 +
106.1147 +%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. 
106.1148 +
106.1149 +%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.
106.1150 +
106.1151 +
106.1152 +% ==============
106.1153 +
106.1154 +%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. 
106.1155 +
106.1156 +%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. 
106.1157 +
106.1158 +%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. 
106.1159 +
106.1160 +%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.    
106.1161 +
106.1162 +
106.1163 +
106.1164 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106.1165 +\subsection{Details}
106.1166 +\label{subsec:Details}
106.1167 +
106.1168 +  what responsibilities are encapsulated in which modules, and what the interfaces between them look like. 
106.1169 +
106.1170 +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.   
106.1171 +
106.1172 +?
106.1173 +
106.1174 +
106.1175 +
106.1176 + overhead measurements 
106.1177 +
106.1178 +implementation time measurements
106.1179 +
106.1180 + discuss why equivalent user-level M to N thread packages haven't been pursued, leaving no viable user-level libraries to compare against.
106.1181 +
106.1182 + give numbers that indicate that the proto-runtime approach is also competitive with Cilk, and OMPSs, on large multi-core servers.
106.1183 +
106.1184 + 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
106.1185 +least, the same effort would have to be expended on
106.1186 +each and every language that we expended on performance
106.1187 +tuning our proto-runtime.
106.1188 +
106.1189 +  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 
106.1190 +
106.1191 +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.
106.1192 +
106.1193 +Then, with the full understanding of the proto-runtime approach in hand, we discuss  how it compares to related work (\S ).
106.1194 +
106.1195 +Finally, we highlight the main conclusions drawn from the work (\S ).
106.1196 +
106.1197 +
106.1198 +
106.1199 +?
106.1200 +
106.1201 +
106.1202 +
106.1203 +
106.1204 + The behavior module creates work and determines when work is free the execute, it  tracks  constraints on work imposed by language semantics, and constraints
106.1205 +due to data dependencies.
106.1206 +
106.1207 + 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.  
106.1208 +
106.1209 +?
106.1210 +
106.1211 +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.
106.1212 +
106.1213 +
106.1214 +
106.1215 +   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.   
106.1216 +
106.1217 + implementing language logic, 
106.1218 +
106.1219 +show how the proto-runtime interface allows it to use sequential thinking. 
106.1220 +
106.1221 +give similar detail on the implementation of the assigner,
106.1222 +we discuss how that has the potential to improve application performance by reducing communication between cores and reducing idle time of cores. 
106.1223 +
106.1224 +support  belief that the patterns we followed when modularizing are indeed fundamental and will remain valid for future languages and hardware. 
106.1225 +
106.1226 + discuss some of the centralized services provided by the current proto-runtime implementation, as well as planned future ones. 
106.1227 +
106.1228 +reusing language logic from one language implementation to another. 
106.1229 +
106.1230 +
106.1231 +%%%%%%%%%%%%%%%%%%%%%%%%
106.1232 +%%
106.1233 +%%%%%%%%%%%%%%%%%%%%%%%%
106.1234 +\section{Measurements}
106.1235 +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}
106.1236 +
106.1237 +\subsection{Overhead Measurements} \label{subsec:OverheadMeas}
106.1238 +For the following, we use a 4-core single socket 2.4Ghz laptop, and a 4 socket by 10 core each server.
106.1239 +
106.1240 +For runtime performance:
106.1241 +
106.1242 +-- Vthread vs pthread: laptop and server on exe vs task (and fibonacci?)
106.1243 +
106.1244 +-- VCilk vs Cilk: laptop and server on fibonacci (from Albert)
106.1245 +
106.1246 +-- VOMP vs OpenMP: laptop and server on exe vs task and fibonacci
106.1247 +
106.1248 +-- VSs vs OMPSs: laptop and server on fibonacci and jpeg
106.1249 +
106.1250 +\begin{tabular}{|c|c|c|c|c|c|c|}\hline
106.1251 +a & 2 & a & a & a & a & a \\\hline
106.1252 +a & 2 & a & a & a & a & a \\\hline
106.1253 +a & a & a & a & a & a & a \\\hline
106.1254 +a & a & a & a & a & a & a \\\hline
106.1255 +\end{tabular}
106.1256 +\caption{}
106.1257 +\label{tab}
106.1258 +
106.1259 +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.
106.1260 +
106.1261 +
106.1262 +\subsubsection{Vthread Versus Highly Tuned Posix Threads}
106.1263 +
106.1264 +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.  
106.1265 +\subsubsection{VCilk Versus Cilk 5.4}
106.1266 +In \S we give numbers that indicate that the proto-runtime approach is also competitive with Cilk
106.1267 +\subsubsection{VSs Versus StarSs (OMPSs)}
106.1268 +OMPSs
106.1269 +\subsubsection{VOMP Versus OpenMP}
106.1270 +VOMP
106.1271 +
106.1272 +
106.1273 +%%%%%%%%%%%%%%%%%%%%%%%%
106.1274 +%%
106.1275 +%%%%%%%%%%%%%%%%%%%%%%%%
106.1276 +\subsection{Development Time Measurements}\label{subsec:ImplTimeMeas}
106.1277 +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.
106.1278 +
106.1279 +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.
106.1280 + 
106.1281 +
106.1282 +\begin{centering}
106.1283 +\begin{tabular}{|l|r|r|r|r|r|r|}
106.1284 +  \cline{2-7}
106.1285 +  \multicolumn{1}{r|}{} & SSR & Vthread & VCilk & HWSim & VOMP & VSs\\
106.1286 +  \cline{2-7}
106.1287 +  \noalign{\vskip2pt}
106.1288 +  \hline
106.1289 +  Design & 19 & 6 & 3 & 52 & 18& 6\\
106.1290 +  Code & 13 & 3 & 3& 32 & 9& 12\\
106.1291 +  Test & 7 & 2 & 2& 12 & 8& 5\\
106.1292 +  L.O.C. & 470 & 290 & 310& 3000 & 690 & 780\\
106.1293 +  \hline
106.1294 +\end{tabular}
106.1295 +\caption
106.1296 +{Hours to design, code, and test each embedded language. L.O.C. is lines of (original) C code, excluding libraries and comments.
106.1297 +}
106.1298 +\end{centering}
106.1299 +\label{tabPersonHoursLang}
106.1300 +
106.1301 +\subsubsection{Comparison of Design Approaches}
106.1302 +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.
106.1303 +
106.1304 +
106.1305 +%%%%%%%%%%%%%%%%%%%%%%%%
106.1306 +%%
106.1307 +%%%%%%%%%%%%%%%%%%%%%%%%
106.1308 +\section{Related Work} \label{sec:Related}
106.1309 +
106.1310 +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.
106.1311 +
106.1312 +We first talk about each of these approaches, then summarize the conclusions in Table \ref{tab:CriteriaVsApproach}.
106.1313 +
106.1314 +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.
106.1315 +
106.1316 +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.  
106.1317 +
106.1318 +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.
106.1319 +
106.1320 +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.
106.1321 +
106.1322 +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. 
106.1323 + 
106.1324 +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. 
106.1325 +
106.1326 +\begin{center}
106.1327 +\begin{tabular}{|c|c|c|c|c|}\hline
106.1328 +Runtime Creation  & \textbf{impl.}& \textbf{porting} & \textbf{runtime} & \textbf{application} \\
106.1329 +\textbf{} & \textbf{ease} & \textbf{ease} & \textbf{perf.} & \textbf{perf.}\\\hline
106.1330 +\textbf{OS Threads} & ++ & ++ & + & + \\\hline
106.1331 +\textbf{User Threads} & ++& ++ & ++ & + \\\hline
106.1332 +\textbf{TBB} & ++ & ++ & ++ & + \\\hline
106.1333 +\textbf{libGomp} & +++ & ++ & +++ & ++++ \\\hline
106.1334 +\textbf{HW primitives} & + & + & +++++ & +++++ \\\hline
106.1335 +\textbf{Proto-runtime} & +++++ & +++++ & ++++ & +++++\\\hline
106.1336 +\end{tabular}
106.1337 +\end{center}
106.1338 +\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. }
106.1339 +\label{tab:CriteriaVsApproach}
106.1340 +
106.1341 +
106.1342 +
106.1343 +
106.1344 +%%%%%%%%%%%%%%%%%%%%%%%%
106.1345 +%%
106.1346 +%%%%%%%%%%%%%%%%%%%%%%%%
106.1347 +\section{Conclusions and Future Work}
106.1348 +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. 
106.1349 +%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.
106.1350 +
106.1351 +
106.1352 +%[[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]] 
106.1353 +
106.1354 +
106.1355 +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.
106.1356 +
106.1357 +  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. 
106.1358 +
106.1359 +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.
106.1360 +
106.1361 +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. 
106.1362 +
106.1363 +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.
106.1364 +
106.1365 +Work on the proto-runtime approach is in its infancy, and much remains to be done, including:
106.1366 +\begin{itemize} 
106.1367 +\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.
106.1368 +\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.
106.1369 +\item Exploring work assignment implementations that take advantage of language and application knowledge to improve placement of work to gain higher application performance.
106.1370 +\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.
106.1371 +\end{itemize}
106.1372 +
106.1373 +
106.1374 +=============================================
106.1375 +==
106.1376 +==
106.1377 +==
106.1378 +==
106.1379 +==
106.1380 +=============================================
106.1381 +
106.1382 +\section{The Problem}
106.1383 +
106.1384 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1385 +
106.1386 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1387 +
106.1388 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1389 +
106.1390 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1391 +
106.1392 +
106.1393 +[[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]]
106.1394 +
106.1395 +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.
106.1396 +
106.1397 +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}).
106.1398 + 
106.1399 +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 []).
106.1400 +
106.1401 +The main implications for runtime systems, which were uncovered within the section, are summarized at the end (subsection []).
106.1402 +
106.1403 +\subsection{Classifying parallel languages by virtual processor based vs task based}
106.1404 +\label{subsec:ClassifyingLangs}
106.1405 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1406 +
106.1407 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1408 +
106.1409 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1410 +
106.1411 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1412 +
106.1413 +
106.1414 +[[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]]
106.1415 +
106.1416 +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.
106.1417 +
106.1418 +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.  
106.1419 +
106.1420 +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.  
106.1421 +
106.1422 +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.
106.1423 +
106.1424 +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.
106.1425 +
106.1426 +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.  
106.1427 +
106.1428 +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.
106.1429 +
106.1430 +
106.1431 +\subsection{Domain specific parallel languages}
106.1432 +\label{subsec:DomSpecLangs}
106.1433 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1434 +
106.1435 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1436 +
106.1437 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1438 +
106.1439 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1440 +
106.1441 +
106.1442 +[[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]]
106.1443 +
106.1444 +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.
106.1445 +
106.1446 +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.
106.1447 +
106.1448 +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.
106.1449 +
106.1450 +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.
106.1451 +
106.1452 +\subsection{The embedded style of DSL}
106.1453 +\label{subsec:EmbeddedDSLs}
106.1454 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1455 +
106.1456 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1457 +
106.1458 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1459 +
106.1460 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1461 +
106.1462 +
106.1463 +[[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]]
106.1464 +
106.1465 +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.
106.1466 +
106.1467 +
106.1468 +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.
106.1469 +
106.1470 +
106.1471 +\begin{figure}[h!tb]
106.1472 +{\noindent
106.1473 +{\footnotesize
106.1474 +{\normalsize Creating a new virtual processor (VP):}
106.1475 +\begin{verbatim}
106.1476 +newVP = SSR__create_VP( &top_VP_fn, paramsPtr, animatingVP );
106.1477 +\end{verbatim}
106.1478 +
106.1479 +{\noindent {\normalsize sending a message between VPs:}}
106.1480 +\begin{verbatim}
106.1481 +SSR__send_from_to( messagePtr, sendingVP, receivingVP );
106.1482 +\end{verbatim}
106.1483 +
106.1484 +{\noindent {\normalsize receiving the message (executed in a different VP):}}
106.1485 +\begin{verbatim}
106.1486 +messagePtr = SSR__receive_from_to( sendingVP, receivingVP );
106.1487 +\end{verbatim}
106.1488 +}
106.1489 +}
106.1490 +
106.1491 +\caption
106.1492 +{Examples of invoking embedded-style  constructs.
106.1493 +}
106.1494 +\label{fig:EmbeddedEx}
106.1495 +\end{figure}
106.1496 +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.
106.1497 +
106.1498 +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.
106.1499 +
106.1500 +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. 
106.1501 +
106.1502 +\subsection{Application programmer's view of embedded-style DSLs}
106.1503 +\label{subsec:AppProgViewOfDSL}
106.1504 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1505 +
106.1506 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1507 +
106.1508 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1509 +
106.1510 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1511 +
106.1512 +
106.1513 +[[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]]
106.1514 +
106.1515 +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. 
106.1516 +
106.1517 +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.
106.1518 +
106.1519 +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. 
106.1520 +
106.1521 +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.   
106.1522 +
106.1523 +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.  
106.1524 +
106.1525 +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.
106.1526 +
106.1527 +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).     
106.1528 +
106.1529 +\subsection{Implementation of Embedded-style DSLs}
106.1530 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1531 +
106.1532 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1533 +
106.1534 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1535 +
106.1536 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1537 +
106.1538 +
106.1539 +[[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]]
106.1540 +
106.1541 +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.
106.1542 +
106.1543 +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. 
106.1544 +
106.1545 +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.
106.1546 +
106.1547 +
106.1548 + 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. 
106.1549 +
106.1550 +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.
106.1551 +
106.1552 +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.    
106.1553 +
106.1554 +The advantage of placing these into the language, instead of application code, is portability and productivity.
106.1555 +
106.1556 +
106.1557 +\subsection{Implementation Details of Embedded-style DSLs}
106.1558 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1559 +
106.1560 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1561 +
106.1562 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1563 +
106.1564 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1565 +
106.1566 +
106.1567 +[[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]]
106.1568 +
106.1569 +?
106.1570 +
106.1571 +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.
106.1572 +
106.1573 +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. 
106.1574 +
106.1575 +The core is  used by the construct implementation differently for   VP based languages vs  for task based languages.
106.1576 +
106.1577 +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.  
106.1578 +
106.1579 +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.  
106.1580 +
106.1581 +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.
106.1582 +
106.1583 +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.
106.1584 +
106.1585 +
106.1586 +One survey[] discusses DSLs for a variety of domains, and this list of DSLs was copied from their paper:
106.1587 +\begin{itemize} 
106.1588 +\item In Software Engineering: Financial products [12, 22, 24], behavior control and coordination [9, 10], software architectures [54], and databases [39].
106.1589 +\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].
106.1590 +\item Multi-Media: Web computing [14, 35, 4, 33], image manipulation [73], 3D animation [29], and drawing [44].
106.1591 +\item Telecommunications: String and tree languages for model checking [48], communication protocols [6], telecommunication switches [50], and signature computing [11].
106.1592 +\item Miscellaneous: Simulation [2, 13], mobile agents [36], robot control [61], solving partial differential equations [26], and digital hardware design [41].
106.1593 +\end{itemize}
106.1594 +
106.1595 +\subsection{Summary of Section}
106.1596 + [[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1597 +
106.1598 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1599 +
106.1600 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1601 +
106.1602 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1603 +
106.1604 +
106.1605 +[[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]]
106.1606 +
106.1607 +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.
106.1608 +
106.1609 +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.  
106.1610 +
106.1611 +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. 
106.1612 +
106.1613 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106.1614 +\section{Description}
106.1615 +\label{sec:idea}
106.1616 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1617 +
106.1618 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1619 +
106.1620 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1621 +
106.1622 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1623 +
106.1624 +
106.1625 +[[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]]
106.1626 +
106.1627 +?
106.1628 + 
106.1629 +
106.1630 +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.
106.1631 +
106.1632 +
106.1633 +\begin{figure}[ht]
106.1634 +  \centering
106.1635 +  \includegraphics[width = 2in, height = 1.8in]{../figures/PR_three_pieces.pdf}
106.1636 +  \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. }
106.1637 +  \label{fig:PR_three_pieces}
106.1638 +\end{figure}
106.1639 +
106.1640 +
106.1641 +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.
106.1642 +
106.1643 +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.
106.1644 +
106.1645 +\subsection{Creating an eDSL}
106.1646 +
106.1647 +
106.1648 +\begin{figure}[ht]
106.1649 +  \centering
106.1650 +  \includegraphics[width = 2in, height = 1.8in]{../figures/eDSL_two_pieces.pdf}
106.1651 +  \caption{An embedded style DSL consists of two parts: a runtime and a wrapper library that invokes the runtime}
106.1652 +  \label{fig:eDSL_two_pieces}
106.1653 +\end{figure}
106.1654 + 
106.1655 +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.
106.1656 +
106.1657 +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.
106.1658 +
106.1659 +\subsection{The Proto-Runtime Modularization}
106.1660 +
106.1661 +\subsubsection{Dispatch pattern}
106.1662 +-- standardizes runtime code
106.1663 +-- makes familiar going from one lang to another
106.1664 +-- makes reuse realistic, as demonstrated by VSs taking SSR constructs
106.1665 +
106.1666 +-- show the enums, and the switch table
106.1667 +
106.1668 +-- point out how the handler receives critical info -- the semEnv, req struct and calling slave
106.1669 +
106.1670 +\subsubsection{The Request Handler}
106.1671 +-- cover what a request handler does.. connect it to the wrapper lib, and the info loaded into a request struct.
106.1672 +
106.1673 +-- give code of a request handler.. within on-going example of implementing pthreads, or possibly HWSim, or pick a new DSL 
106.1674 +
106.1675 +\subsection{Exporting a performance-oriented machine view }
106.1676 +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. 
106.1677 +
106.1678 +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.
106.1679 +
106.1680 +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.
106.1681 +
106.1682 +This saves significant effort by allowing the same plugin to be reused for all the machines in the category.
106.1683 + 
106.1684 +\subsection{Services Provided by the Proto-runtime}
106.1685 +
106.1686 +-- 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.
106.1687 +
106.1688 +-- -- examples of iherited lang services inside current proto-runtime: debugging and perf-tuning..  verification, playback have been started (?)
106.1689 +
106.1690 +-- -- 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
106.1691 +
106.1692 +\subsection{eDSLs talking to each other}
106.1693 +-- show how VSs is example of three different DSLs, and H264 code is three different languages interacting (pthreads, OpenMP, StarSs)
106.1694 +
106.1695 +-- 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.
106.1696 +
106.1697 +\subsection{The Proto-runtime Approach Within the Big Picture}
106.1698 +
106.1699 +-- Give background on industry-wide, how have langs times machines..  
106.1700 +-- say that proto-runtime has synergistic advantages within this context. -- repeat that eDSLs talk to each other.
106.1701 +-- give subsubsection on MetaBorg for rewriting eDSL syntax into base lang syntax.
106.1702 +-- 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..
106.1703 + 
106.1704 +Preview idea that many players will contribute, and will get people that specialize in creating new eDSLs (such as one of authors)..
106.1705 +-- For them, code-reuse is reality, as supported by VSs example, 
106.1706 +-- and the uniformity of the pattern becomes familiar, also speeding up development, as also supported by VSs, HWSim, VOMP, and DKU examples.
106.1707 +-- for those who only create a single eDSL, the pattern becomes a lowering of the learning curve, aiding adoption
106.1708 +
106.1709 +-- Restate and summarize the points below (covered above), showing how they combine to shrink the wide-spot where all the runtimes are. 
106.1710 +
106.1711 +-- The low-level part implemented on each machine, exports a view of the machine that shows performance-critical aspects
106.1712 +
106.1713 +-- Collect machines into groups, based on performance critical aspects of hardware.. provides reduction in effort because only one plugin for entire group. 
106.1714 +
106.1715 +-- 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.
106.1716 +
106.1717 +
106.1718 +\section{(outline and notes)}
106.1719 +
106.1720 +-- What a plugin looks like: 
106.1721 +
106.1722 +-- -- 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
106.1723 +
106.1724 +-- -- 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.  
106.1725 +
106.1726 +-- -- --  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), 
106.1727 +
106.1728 +-- 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).
106.1729 +
106.1730 +
106.1731 +-- Recipe for how to make the language plugin: time reduction is part due to simplifying the parallelism construct logic..  
106.1732 +
106.1733 +
106.1734 +
106.1735 +
106.1736 +\subsection{The Cross-language Patterns Behind the Proto-runtime}
106.1737 +
106.1738 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1739 +
106.1740 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1741 +
106.1742 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1743 +
106.1744 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1745 +
106.1746 +
106.1747 +[[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]]
106.1748 +
106.1749 +An application switches to the runtime, which does scheduling work then switches back to application code.
106.1750 +
106.1751 +
106.1752 +\subsection{Some Definitions}
106.1753 +
106.1754 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1755 +
106.1756 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1757 +
106.1758 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1759 +
106.1760 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1761 +
106.1762 +
106.1763 +[[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]]
106.1764 +
106.1765 +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.
106.1766 +
106.1767 +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.
106.1768 +
106.1769 +\subsection{Handling Memory Consistency Models}
106.1770 +
106.1771 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1772 +
106.1773 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1774 +
106.1775 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1776 +
106.1777 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1778 +
106.1779 +
106.1780 +[[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]]
106.1781 +
106.1782 +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.
106.1783 +
106.1784 +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.  
106.1785 +
106.1786 +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.
106.1787 +
106.1788 +
106.1789 +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.
106.1790 +
106.1791 +
106.1792 +
106.1793 +=======
106.1794 +
106.1795 +  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).
106.1796 +   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.
106.1797 +   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.
106.1798 +
106.1799 +=================
106.1800 +
106.1801 +\subsection{The patterns}
106.1802 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1803 +
106.1804 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1805 +
106.1806 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1807 +
106.1808 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1809 +
106.1810 +
106.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]]
106.1812 +
106.1813 +
106.1814 +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.
106.1815 +
106.1816 +Benefits: lang impl doesn't have to touch low-level details, inherit centralized services, can reuse code from other languages to add features.
106.1817 +
106.1818 +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. 
106.1819 +
106.1820 +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.
106.1821 +
106.1822 +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.
106.1823 +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. 
106.1824 +
106.1825 +
106.1826 +\subsubsection{Views of synchronization constructs}
106.1827 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1828 +
106.1829 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1830 +
106.1831 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1832 +
106.1833 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1834 +
106.1835 +
106.1836 +[[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]]
106.1837 +
106.1838 +One view of sync constructs is that they are variable-length calls. The 
106.1839 +basic hardware does this by stalling the pipeline.
106.1840 +
106.1841 +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.
106.1842 +
106.1843 +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.
106.1844 +
106.1845 +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.  
106.1846 +
106.1847 +\subsubsection{Universal Runtime Patterns}
106.1848 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1849 +
106.1850 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1851 +
106.1852 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1853 +
106.1854 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1855 +
106.1856 +
106.1857 +[[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]]
106.1858 +
106.1859 +Unified pattern within parallel languages: create multiple timelines, then control relative progress of them, and control location each chunk of progress takes place.
106.1860 +
106.1861 +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.
106.1862 +The runtime tracks constraints (dependencies) among units, creates and destroys units, and assigns ready units to hardware.
106.1863 +
106.1864 +Units have a life-line, which is fundamental to parallel computation, as demonstrated in a paper by some of the authors [].
106.1865 +
106.1866 +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.
106.1867 +
106.1868 +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.
106.1869 +
106.1870 +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.
106.1871 +
106.1872 +\subsubsection{Putting synchronization constructs together with universal runtime patterns}
106.1873 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1874 +
106.1875 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1876 +
106.1877 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1878 +
106.1879 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1880 +
106.1881 +
106.1882 +[[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]]
106.1883 +
106.1884 +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. 
106.1885 +
106.1886 +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.
106.1887 +
106.1888 +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.   
106.1889 +
106.1890 +\begin{figure}[ht]
106.1891 +  \centering
106.1892 +  \includegraphics[width = 2in, height = 1.8in]{../figures/SCG_stylized_for_expl.pdf}
106.1893 +  \caption{Something to help understanding}
106.1894 +  \label{fig:SCG_expl}
106.1895 +\end{figure}
106.1896 +
106.1897 +
106.1898 +
106.1899 +
106.1900 +%%%%%%%%%%%%%%%%%%%%%
106.1901 +\section{The Details}
106.1902 +[[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]]
106.1903 +[[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]]
106.1904 +
106.1905 +The interfaces between lang logic and proto-runtime.  
106.1906 +
106.1907 +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.
106.1908 +
106.1909 +Demonstrate Benefits: lang impl doesn't touch low-level details, inherits centralized services (debug support), reuses code from other languages to add features.
106.1910 +
106.1911 +\subsection{Reuse of Language Logic}
106.1912 +[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
106.1913 +
106.1914 +[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
106.1915 +
106.1916 +[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
106.1917 +
106.1918 +[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
106.1919 +
106.1920 +
106.1921 +[[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]]
106.1922 +
106.1923 +Demonstrate reuse of language logic:
106.1924 +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.
106.1925 + 
106.1926 +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. 
106.1927 +
106.1928 +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.
106.1929 +
106.1930 +?
106.1931 +
106.1932 +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.
106.1933 +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. 
106.1934 +
106.1935 +?
106.1936 +
106.1937 +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.
106.1938 +
106.1939 +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
106.1940 +other application features.
106.1941 +
106.1942 +
106.1943 +
106.1944 +
106.1945 +%%%%%%%%%%%%%%%%%%%%%
106.1946 +\section{Measurements}
106.1947 +
106.1948 +\subsection{Implementation time}
106.1949 +
106.1950 +
106.1951 +\subsection{Runtime and Application Performance}
106.1952 +
106.1953 +
106.1954 +%%%%%%%%%%%%%%%%%%%%%
106.1955 +\section{Related Work}
106.1956 +
106.1957 +
106.1958 +%%%%%%%%%%%%%%%%%%%%%
106.1959 +\section{Conclusion and Future Work}
106.1960 +\label{sec:conclusion}
106.1961 +
106.1962 +
106.1963 +
106.1964 +\end{document} 
106.1965 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106.1966 +Here is an example of netlist creation:
106.1967 +
106.1968 +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.
106.1969 +
106.1970 + 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.
106.1971 +
106.1972 +First, here is the top-level function that creates and returns the netlist structure:
106.1973 +
106.1974 +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.  
106.1975 +
106.1976 +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. 
106.1977 +
106.1978 +
106.1979 +\begin{small}\begin{verbatim}
106.1980 +HWSimNetlist *
106.1981 +createPingPongNetlist()
106.1982 + { HWSimNetlist       *netlist;
106.1983 +   HWSimElem         **elems;
106.1984 +   HWSimActivityType **activityTypes;
106.1985 +   HWSimCommPath     **commPaths;
106.1986 +   int32               numElems, numActivityTypes, numCommPaths;
106.1987 +\end{verbatim}\end{small}
106.1988 +
106.1989 +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.
106.1990 +\begin{small}\begin{verbatim}
106.1991 +   netlist = malloc( sizeof(HWSimNetlist) );
106.1992 + 
106.1993 +   numElems         = 2; 
106.1994 +   elems            = malloc( numElems * sizeof(HWSimElem *) );
106.1995 + 
106.1996 +   numCommPaths     = 2;
106.1997 +   commPaths        = malloc( numCommPaths * sizeof(HWSimCommPath *) );
106.1998 + 
106.1999 +   numActivityTypes = 1;
106.2000 +   activityTypes    = malloc( numActivityTypes * sizeof(HWSimActivityType *) );
106.2001 +   
106.2002 +   netlist->numElems         = numElems;
106.2003 +   netlist->elems            = elems;
106.2004 +   netlist->numCommPaths     = numCommPaths;
106.2005 +   netlist->commPaths        = commPaths;
106.2006 +   netlist->numActivityTypes = numActivityTypes;
106.2007 +   netlist->activityTypes    = activityTypes;
106.2008 +\end{verbatim}\end{small}
106.2009 +
106.2010 +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.
106.2011 +\begin{small}\begin{verbatim}
106.2012 +      //have to create activity types before create elements
106.2013 +      //PING_PONG_ACTIVITY is just a #define for readability
106.2014 +   netlist->activityTypes[PING_PONG_ACTIVITY] = createPingPongActivityType();
106.2015 +\end{verbatim}\end{small}
106.2016 +
106.2017 +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.
106.2018 +\begin{small}\begin{verbatim}
106.2019 +   elems[0] = createAPingPongElem( netlist ); //use activity types from netlist
106.2020 +   elems[1] = createAPingPongElem( netlist ); 
106.2021 +\end{verbatim}\end{small}
106.2022 +
106.2023 +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.
106.2024 +
106.2025 +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.
106.2026 +\begin{small}\begin{verbatim}   
106.2027 +      //make reset trigger an action on one of the elements
106.2028 +   elems[1]->inPorts[-1].triggeredActivityType =
106.2029 +              netlist->activityTypes[PING_PONG_ACTIVITY];
106.2030 +\end{verbatim}\end{small}
106.2031 +
106.2032 +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. 
106.2033 +
106.2034 +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:
106.2035 +\begin{small}\begin{verbatim}
106.2036 +      //elem 0, out-port 0 to elem 1, in-port 0
106.2037 +   commPaths[0]= malloc(sizeof(HWSimCommPath));
106.2038 +   setCommPathValuesTo(commPaths[0],0,0,1,0);
106.2039 +   commPaths[0]->hasFixedTiming  = TRUE;
106.2040 +   commPaths[0]->fixedFlightTime = 10; //all time is stated in (integer) units
106.2041 +
106.2042 +      //elem 1, out-port 0 to elem 0, in-port 0
106.2043 +   commPaths[1]= malloc(sizeof(HWSimCommPath));
106.2044 +   setCommPathValuesTo(commPaths[1], 1,0,0,0);
106.2045 +   commPaths[1]->hasFixedTiming  = TRUE;
106.2046 +   commPaths[1]->fixedFlightTime = 10; //all time is stated in (integer) units
106.2047 +\end{verbatim}\end{small}
106.2048 +
106.2049 +done building netlist, return it
106.2050 +\begin{small}\begin{verbatim}
106.2051 +   return netlist;
106.2052 + }
106.2053 +\end{verbatim}\end{small}
106.2054 +
106.2055 +The macro that sets the connections inside a comm path struct
106.2056 +\begin{small}\begin{verbatim}
106.2057 +#define setCommPathValuesTo( commPath, fromElIdx, outPort, toElIdx, inPort)\
106.2058 +do{\
106.2059 +   commPath->idxOfFromElem     = fromElIdx; \
106.2060 +   commPath->idxOfFromOutPort  = outPort; \
106.2061 +   commPath->idxOfToElem       = toElIdx; \
106.2062 +   commPath->idxOfToInPort     = inPort; \
106.2063 + }while(0); //macro magic for namespace
106.2064 +\end{verbatim}\end{small}
106.2065 +
106.2066 +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.
106.2067 +\begin{small}\begin{verbatim}
106.2068 +HWSimElem *
106.2069 +createAPingPongElem( HWSimNetlist *netlist )
106.2070 + { HWSimElem *elem;
106.2071 +   elem = malloc( sizeof(HWSimElem) );
106.2072 +   elem->numInPorts  = 1;
106.2073 +   elem->numOutPorts = 1;
106.2074 +   elem->inPorts = HWSim_ext__make_inPortsArray( elem->numInPorts );
106.2075 +   elem->inPorts[-1].triggeredActivityType = IDLE_SPAN; //reset port
106.2076 +   elem->inPorts[0].triggeredActivityType  = netlist->activityTypes[PING_PONG_ACTIVITY];
106.2077 +        return elem;
106.2078 + }
106.2079 +\end{verbatim}\end{small}
106.2080 +
106.2081 +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. 
106.2082 +\begin{small}\begin{verbatim}
106.2083 +HWSimActivityType *
106.2084 +createPingPongActivityType( )
106.2085 + { HWSimActivityType *pingPongActivityType;
106.2086 +   pingPongActivityType = malloc( sizeof(HWSimActivityType) );
106.2087 +   
106.2088 +   pingPongActivityType->hasBehavior   = TRUE;
106.2089 +   pingPongActivityType->hasTiming     = TRUE;
106.2090 +   pingPongActivityType->timingIsFixed = TRUE;
106.2091 +   pingPongActivityType->fixedTime     = 10;
106.2092 +   pingPongActivityType->behaviorFn    = &pingPongElem_PingActivity_behavior;
106.2093 +   return pingPongActivityType;
106.2094 + }
106.2095 +\end{verbatim} \end{small}
106.2096 +
106.2097 +
106.2098 +=========
106.2099 +
106.2100 +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.
106.2101 +
106.2102 +Here is the behavior function from the ping-pong example:
106.2103 +\begin{small}\begin{verbatim} 
106.2104 +void
106.2105 +pingPongElem_PingActivity_behavior( HWSimActivityInst *activityInst )
106.2106 + {    //NO_MSG is #define'd to NULL, and PORT0 to 0
106.2107 +   HWSim__send_comm_on_port_and_idle( NO_MSG, PORT0, activityInst );
106.2108 + }
106.2109 +\end{verbatim}\end{small}
106.2110 +
106.2111 +There are four ways a behavior can end:
106.2112 +\begin{description}
106.2113 +\item end, no continuation: 
106.2114 +\begin{small}\begin{verbatim} HWSim__end_activity_then_idle( HWSimActivityInst *endingActivityInstance )\end{verbatim}\end{small}
106.2115 +\item end, with continuation: 
106.2116 +\begin{small}\begin{verbatim} HWSim__end_activity_then_cont( HWSimActivityInst *endingActivityInstance,
106.2117 +                                HWSimActivityType *continuationActivityType)\end{verbatim}\end{small}
106.2118 +\item end by sending a communication, with no continuation: 
106.2119 +\begin{small}\begin{verbatim} HWSim__send_comm_on_port_then_idle( void *msg, int32 outPort, 
106.2120 +                                HWSimActivityInst *endingActivityInstance)\end{verbatim}\end{small}
106.2121 +\item end by sending a communication, with continuation: 
106.2122 +\begin{small}\begin{verbatim} HWSim__send_comm_on_port_then_cont( void *msg, int32 outPort, 
106.2123 +                                HWSimActivityInst *endingActivityInstance
106.2124 +                                HWSimActivityType *continuationActivityType)\end{verbatim}\end{small}
106.2125 +
106.2126 +
106.2127 +=============
106.2128 +
106.2129 +
106.2130 +\subsection{Activity Timing Functions}
106.2131 +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.
106.2132 +
106.2133 +Here's an example:
106.2134 +\begin{small}\begin{verbatim} 
106.2135 +HWSimTimeSpan
106.2136 +sampleElem_sampleActivity_timing( HWSimActivityInst *activityInst )
106.2137 + {
106.2138 +   return doSomethingWithStateOfElem( sendingActivity->elem->elemState );
106.2139 + }
106.2140 +\end{verbatim}\end{small}
106.2141 +
106.2142 +\subsection{Calculating the time-in-flight of a communication path}
106.2143 +
106.2144 +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.
106.2145 +
106.2146 +\begin{small}\begin{verbatim}
106.2147 +HWSimTimeSpan
106.2148 +commPath_TimeSpanCalc( HWSimCommPath *commPath, HWSimActivityInst *sendingActivity )
106.2149 + { return doSomethingWithStateOfPathAndElem( commPath, sendingActivity->elem->elemState );
106.2150 + }
106.2151 +\end{verbatim}\end{small}
106.2152 +
106.2153 +
106.2154 +
106.2155 +
   107.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/VMS__Full_conf_paper_3_short.pdf has changed
   108.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   108.2 +++ b/0__Papers/VMS/VMS__Foundation_Paper/VMS__Full_conference_version/latex/VMS__Full_conf_paper_3_short.tex	Sat Aug 03 19:24:22 2013 -0700
   108.3 @@ -0,0 +1,448 @@
   108.4 +%-----------------------------------------------------------------------------
   108.5 +%
   108.6 +%               Template for sigplanconf LaTeX Class
   108.7 +%
   108.8 +% Name:         sigplanconf-template.tex
   108.9 +%
  108.10 +% Purpose:      A template for sigplanconf.cls, which is a LaTeX 2e class
  108.11 +%               file for SIGPLAN conference proceedings.
  108.12 +%
  108.13 +% Guide:        Refer to "Author's Guide to the ACM SIGPLAN Class,"
  108.14 +%               sigplanconf-guide.pdf
  108.15 +%
  108.16 +% Author:       Paul C. Anagnostopoulos
  108.17 +%               Windfall Software
  108.18 +%               978 371-2316
  108.19 +%               paul@windfall.com
  108.20 +%
  108.21 +% Created:      15 February 2005
  108.22 +%
  108.23 +%-----------------------------------------------------------------------------
  108.24 +
  108.25 +
  108.26 +\documentclass[preprint]{sigplanconf}
  108.27 +
  108.28 +% The following \documentclass options may be useful:
  108.29 +%
  108.30 +% 10pt          To set in 10-point type instead of 9-point.
  108.31 +% 11pt          To set in 11-point type instead of 9-point.
  108.32 +% authoryear    To obtain author/year citation style instead of numeric.
  108.33 +\usepackage{amssymb,graphicx,calc,ifthen,subfig,dblfloatfix,fixltx2e}
  108.34 +
  108.35 +
  108.36 +% correct bad hyphenation here
  108.37 +\hyphenation{op-tical net-works semi-conduc-tor}
  108.38 +
  108.39 +\usepackage{wasysym}
  108.40 +
  108.41 +\begin{document}
  108.42 +
  108.43 +\bibliographystyle{plain}
  108.44 +%
  108.45 +
  108.46 +\conferenceinfo{WXYZ '05}{date, City.} 
  108.47 +\copyrightyear{2005} 
  108.48 +\copyrightdata{[to be supplied]} 
  108.49 +
  108.50 +\titlebanner{banner above paper title}        % These are ignored unless
  108.51 +\preprintfooter{short description of paper}   % 'preprint' option specified.
  108.52 +
  108.53 +
  108.54 +\title{A Proto-Runtime Approach to Domain Specific Languages}
  108.55 +
  108.56 +
  108.57 +\authorinfo{Sean Halle}
  108.58 +           {Open Source Research Institute, INRIA,
  108.59 +           and TU Berlin}
  108.60 +           {seanhalle@opensourceresearchinstitute.org}
  108.61 +\authorinfo{Merten Sach}
  108.62 +           {TU Berlin}
  108.63 +           {msach@mailbox.tu-berlin.de}
  108.64 +\authorinfo{Albert Cohen}
  108.65 +           {Ecole Normal Supereur, and INRIA}
  108.66 +           {albert.cohen@inria.fr}
  108.67 +
  108.68 +\maketitle
  108.69 +
  108.70 +
  108.71 +\begin{abstract}
  108.72 + 
  108.73 +?
  108.74 +replace lang-specific with interface, centralize services, minimize effort to create, give language control over hardware assignment..  side benefits: multi-lang, perf-tuning, debugging
  108.75 +
  108.76 +?
  108.77 +
  108.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.
  108.79 +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.
  108.80 +As a result, new parallel constructs are written using sequential reasoning, and languages can be mixed within
  108.81 +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.
  108.82 +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.
  108.83 +\end{abstract}
  108.84 +
  108.85 +
  108.86 +
  108.87 +
  108.88 +
  108.89 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  108.90 +\section{Background and Motivation}
  108.91 +\label{sec:intro}
  108.92 +
  108.93 +[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.]
  108.94 +
  108.95 +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. 
  108.96 +
  108.97 +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. 
  108.98 +
  108.99 +Many believe that these can be overcome with the use of Domain-Specific Languages []. But 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.
 108.100 +
 108.101 +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.  
 108.102 +
 108.103 +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. 
 108.104 +
 108.105 +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. 
 108.106 +
 108.107 +We claim the following benefits of the proto-runtime approach, each of which is  supported in the indicated section of  the paper:
 108.108 +
 108.109 +\begin{itemize}
 108.110 +
 108.111 +\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}).
 108.112 +
 108.113 +\item The proto-runtime approach modularizes the runtime (\S\ref{sec:Proposal}).
 108.114 +
 108.115 +%\item The modularization  is consistent with patterns that appear to be fundamental to parallel computation and runtimes (\S\ ). 
 108.116 +
 108.117 +\item The modularization  cleanly separates runtime internals from the language-specific logic (\S\ref{sec:Proposal} ). 
 108.118 +
 108.119 +\item The modularization gives the language control
 108.120 +over timing and placement of executing work (\S\ref{sec:Proposal}).
 108.121 +
 108.122 +\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}).
 108.123 +
 108.124 +\begin{itemize}
 108.125 +
 108.126 +
 108.127 +\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\ ).
 108.128 +
 108.129 +\item Part of the time reduction is due to encapsulation of hardware aspects inside the hardware-oriented module (\S \ref{sec:intro}).
 108.130 +
 108.131 +\item Part of the time reduction is due to  reuse of the performance-tuning effort for runtime internals (\S\ ).  
 108.132 +
 108.133 +\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\ ). 
 108.134 +
 108.135 +
 108.136 +\end{itemize}
 108.137 +
 108.138 +\item
 108.139 +
 108.140 +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\ ).
 108.141 +
 108.142 +\begin{itemize}
 108.143 +
 108.144 +\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\ ).
 108.145 +
 108.146 +\end{itemize}
 108.147 +
 108.148 +\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\ ).
 108.149 +
 108.150 +\end{itemize}
 108.151 +
 108.152 +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{sec:DSLHypothesis}). We focus on the role that  runtime implementation effort plays in the adoption of eDSLs  \S, 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 ), and tie them to how a runtime is modularized (\S ), covering how each claimed benefit is provided. 
 108.153 +We then show overhead measurements (\S ) and implementation time measurements (\S ), which indicate that the proto-runtime approach is performance competitive while significantly reducing implementation and porting effort.
 108.154 +With that  understanding in hand, we then discuss  how the approach compares to related work (\S ), and finally, we highlight the main conclusions drawn from the research (\S ).
 108.155 +
 108.156 +
 108.157 +
 108.158 +
 108.159 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 108.160 +%
 108.161 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 108.162 +\section{Background: The eDSL Hypothesis}
 108.163 +
 108.164 +%[[Hypothesis: Embedded-style DSLs -\textgreater\ high productivity + low learning curve + low app-port + low disruption]]
 108.165 +
 108.166 +%[[Bridge: Few users-\textgreater\ must be quick time to create + low effort to lang-port + high perf across targets]]
 108.167 +
 108.168 +%[[Bridge: effort to create =  runtime + effort port = runtime + perf on new target = runtime]]
 108.169 +
 108.170 +%[[Bridge: big picture = langs * runtimes -\textgreater runtime effort critical]]
 108.171 +
 108.172 +Domain Specific Languages have been around for a while [], and recently have been suggested as a good approach for parallel programming[][stanford PPL].
 108.173 +
 108.174 +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.
 108.175 +
 108.176 +
 108.177 +\subsection{Embedding a DSL into a base language}
 108.178 +
 108.179 +A style of domain language, which we feel has good applicability to parallel software development, 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 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.
 108.180 +
 108.181 +
 108.182 +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) library that becomes linked, at run time, to a runtime implementation that has been tuned to the hardware it is running on.
 108.183 +
 108.184 +   
 108.185 +\subsection{Low learning curve, high productivity, and portability}
 108.186 +DSLs are generally quick to learn because the domain experts are already familiar with the concepts expressed by the custom syntax, especially for  those who are \textit{not} expert programmers. Embedded style DSLs further reduce learning curve because they have relatively few constructs, and require no new development tools nor development procedures. Together, these should  meet the goal of  a low learning curve for switching to parallel software development.
 108.187 +
 108.188 +Productivity can be enhanced by a well designed syntax, which can simplify the application code, modularize it, and encapsulate  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.
 108.189 +
 108.190 +Perhaps the most important productivity enhancement comes from hiding parallelism aspects inside the custom DSL constructs. The language takes advantage of the domain patterns to present a familar 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.
 108.191 + 
 108.192 +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.
 108.193 +
 108.194 +\subsection{Low disruption and easy adoption}
 108.195 +
 108.196 +Using an eDSL tends to have low disruption because the base language remains the same, along with most of the development tools and practices.
 108.197 + Constructs from the eDSL can be mixed into existing sequential code, incrementally replacing the high computation sections, while continuing with the same development  practices.\subsection{ Few users means the effort of eDSLs must be low}
 108.198 +
 108.199 +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.
 108.200 +
 108.201 +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.  
 108.202 +
 108.203 +The effort to be reduced falls into three categories:
 108.204 +
 108.205 +\begin{enumerate}
 108.206 +\item effort to explore the design and create the eDSL syntax
 108.207 +\item effort to create the runtime that embodies the eDSL behavior
 108.208 +\item effort to performance tune the eDSL on particular hardware
 108.209 +\end{itemize}    
 108.210 +
 108.211 +
 108.212 +\subsection{Critical areas of effort in the big picture}
 108.213 +
 108.214 +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.
 108.215 +
 108.216 +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. 
 108.217 +
 108.218 +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.
 108.219 +
 108.220 +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:
 108.221 +
 108.222 +\begin{itemize}
 108.223 +\item shared coherent memory multi-core single-chip machine
 108.224 +\item shared coherent memory multi-core multi-chip machine
 108.225 +\item independent address space coprocessor (GPU)
 108.226 +\item a network of nodes of the above categories
 108.227 +\item a machine with a hierarchy of sub-networks
 108.228 +\end{itemize}
 108.229 +
 108.230 +
 108.231 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 108.232 +%
 108.233 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 108.234 +\section{Our Proposal} \label{sec:Proposal}
 108.235 +
 108.236 +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
 108.237 +the top two modules, which plug in via the interface. The hardware specific module presents the same interface
 108.238 +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.  
 108.239 +
 108.240 +\begin{figure}[ht]
 108.241 +  \centering
 108.242 +  \includegraphics[width = 1.5in, height = 1.1in]{../figures/proto-runtime__modules.pdf}
 108.243 +  \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. }
 108.244 +  \label{fig:PR_three_pieces}
 108.245 +\end{figure}
 108.246 +
 108.247 +
 108.248 +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.
 108.249 +
 108.250 +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.
 108.251 +
 108.252 +One additional benefit is giving control to the language, to choose when and where it wishes work to execute.
 108.253 +This feature simplifies implementation of languages
 108.254 +that have features related to scheduling behavior.
 108.255 +It also enables the language implementor to use sophisticated
 108.256 +methods for choosing placement of virtual processors
 108.257 +(threads) and tasks, which can significantly impact
 108.258 +application performance.  
 108.259 +
 108.260 +In this paper, we present work that applies to coherent
 108.261 +shared memory machines, both single chip and multiple chip. Extensions beyond this are currently in progress, to address multiple-address-space machines and hierarchical
 108.262 +heterogeneous collections of processors, which will appear in future papers.
 108.263 +
 108.264 +\subsection{Breakdown of the modules}
 108.265 +
 108.266 +The language is broken into two parts, as seen in Fig
 108.267 +X. One is a thin wrapper library that
 108.268 +invokes the runtime and the other is a set of modules that are part of the runtime.
 108.269 +
 108.270 +
 108.271 +
 108.272 +\begin{figure}[ht]
 108.273 +  \centering
 108.274 +  \includegraphics[width = 2.8in, height = 1.1in]{../figures/proto-runtime__modules_lang_breakdown.pdf}
 108.275 +  \caption{Shows how the code of the language implementation
 108.276 +  is broken into two pieces. The first is a thin wrapper
 108.277 +  that invokes the runtime, the other is a dynamic
 108.278 +  library that plugs into the runtime.}
 108.279 +  \label{fig:langBreakdown}
 108.280 +\end{figure}
 108.281 +  
 108.282 +The runtime itself consists of three modules connected via
 108.283 +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
 108.284 +this the \textit{proto-runtime}.
 108.285 +It's job is to enforce the interface that the language modules see.
 108.286 +
 108.287 +
 108.288 +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
 108.289 +constructs, the other module provides logic for choosing which work to execute on
 108.290 +which hardware resource.
 108.291 +
 108.292 +The plugin collects the two language modules into a dynamic library that is implemented, compiled, and distributed separately from any application executables. This is how a non-changing application executable is able to invoke plugin code that can change between machines.    The executable contains only symbols of plugin functions, and during the run those are linked to specific functions' implementations. 
 108.293 +
 108.294 +In order to provide such modularization, we rely upon something we call a tie-point as the primitive upon which synchronization constructs are built. The low-level nature of a tie-point places them below the level of  constructs such as a mutex. Instead, a mutex is implemented on top of tie-points. 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
 108.295 +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.  
 108.296 +
 108.297 +
 108.298 +
 108.299 +
 108.300 +
 108.301 +\subsection{The origin of tie-points.}\label{subsec:TiePoints}
 108.302 +
 108.303 +
 108.304 +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 establishes a number of independent timelines. It then controls which timelines are actively progressing relative to the others.
 108.305 +
 108.306 +For example, take a thread library.  It provides a command to create a thread, and 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 causes the thread to block, which means the associated timeline suspends; it stops
 108.307 +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.
 108.308 +
 108.309 +To build up to tie-points, we look at the nature of points on
 108.310 +a single timeline, by reviewing mutex behavior in detail. We see the timeline shown in Fig X.  Thread 1, which is timeline 1, tries to acquire the mutex, M,
 108.311 +by executing the acquire command. Timeline 1 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.
 108.312 +
 108.313 +
 108.314 +\begin{figure}[ht]
 108.315 +  \centering
 108.316 +  \includegraphics[width = 2.8in, height = 0.8in]
 108.317 +  {../figures/PR__timeline_single.pdf}
 108.318 +  \caption{The timeline suspends at 1.S and resumes
 108.319 +  at 1.R. From the viewpoint of the timeline, the gap collapses into a single point.}
 108.320 +  \label{fig:langBreakdown}
 108.321 +\end{figure}
 108.322 +
 108.323 +
 108.324 +Now, a tie-point is seen as the linkage between such collapsed points on
 108.325 +two timelines. In Fig X, timeline A is still there, suspends still at 1.S and resumes at 1.R.  However, now there is a second timeline, timeline 2B.  It executes the release command at point 2.S, which suspends timeline B, performs the behavior of the release command
 108.326 +inside the gap, then resumes timeline B at 2.R. The behavior of the release
 108.327 +command causes the end of suspend in the first timeline.  That causality ties the two collapsed points in the two timelines together.
 108.328 +
 108.329 +
 108.330 +\begin{figure}[ht]
 108.331 +  \centering
 108.332 +  \includegraphics[width = 2.8in, height = 1.35in]
 108.333 +  {../figures/PR__timeline_dual.pdf}
 108.334 +  \caption{Two  timelines with a causal relationship.
 108.335 +Activity that takes place during the gap in timeline
 108.336 +B causes resume of timeline A. This ties point 2 on
 108.337 +timeline B to point 1 on timeline A.}
 108.338 +  \label{fig:langBreakdown}
 108.339 +\end{figure}
 108.340 +
 108.341 +
 108.342 +
 108.343 +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
 108.344 +guarantee makes both agree on the order of events,\textit{
 108.345 +relative to the mutual tied point}. Any operation that executes before the point in the second timeline, 2.S, is visible immediately after the point in the first timeline, 1.R.  In addition, nothing
 108.346 +in the first timeline happening after the tie-point is visible in the second
 108.347 +timeline before the tie-point. 
 108.348 +
 108.349 +Just that guarantee defines it as a half tie-point.  A full tie-point adds the dual guarantee from timeline
 108.350 +B to A. Namely, for a full tie-point, anything before the tie-point  in timeline A is  visible in timeline B after the tie-point,
 108.351 +and nothing in timeline B after the tie-point is visible in A before the tie-point.
 108.352 +
 108.353 +A tie-point is the primitive mechanism that the proto-runtime implements. It does not involve any notion of dependency nor constraint semantics.  All it 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.
 108.354 +
 108.355 +It is up to the language to supply the behavior that happens inside
 108.356 +the gaps. This behavior is what decides which timelines get tied together. It is that decision making, of which timelines to tie together, that implements the
 108.357 +semantics of a synchronization construct.
 108.358 +
 108.359 +A formal treatment of tie-points is beyond the scope of this paper. However, a formal framework has been substantially completed and
 108.360 +will be published in a future paper.  
 108.361 +
 108.362 +
 108.363 +
 108.364 +\subsection{Tie-points within a proto-runtime}
 108.365 +
 108.366 + In Fig X we didn't say what entity executes  the behavior that takes place in the gaps in the timelines.  This is what the proto-runtime does. It provides
 108.367 +primitives that suspend a timeline and then cause behavior supplied by the language
 108.368 +plugin to execute in the gap. This plugin behavior chooses which timelines remain suspended versus which resume  execution, or start execution. 
 108.369 +  
 108.370 +As such, the plugin behavior that runs in the proto-runtime when one timeline
 108.371 +suspends is what chooses another timeline to resume as a consequence. That
 108.372 +choice establishes causality between the suspensions of the two timelines,
 108.373 +and thus creates the tie between the two collapsed timeline points. The proto-runtime
 108.374 +code module provides the suspend and resume primitives, while the running proto-runtime instance
 108.375 +executes the plugin behavior.
 108.376 +
 108.377 +The running proto-runtime instance is also known as the Master, while the application timelines
 108.378 +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. 
 108.379 +
 108.380 +\subsection{More about the proto-runtime}
 108.381 +
 108.382 +The proto-runtime provides the following primitives, for use by language
 108.383 +plugins:
 108.384 +\begin{itemize}
 108.385 +\item create a virtual processor (which has a suspendible timeline)
 108.386 +\item create a task (which has an atomic timeline that runs to completion)
 108.387 +\item automatically convert a task to a virtual processor, as needed
 108.388 +\item trigger choosing which virtual processor or task to begin execution on an offered
 108.389 +core
 108.390 +\item suspend a timeline, then invoke a   function to handle the suspension -- handler executes in the Master, with supplied parameters 
 108.391 +\item end a timeline
 108.392 +
 108.393 +\end{itemize}
 108.394 +
 108.395 +Virtual processors and tasks, both, have associated timelines. The reason for having both is a practical one, as tasks are simpler, with less overhead,
 108.396 +and many languages have the semantics of short, atomic, units of work that
 108.397 +are not intended to suspend. Thus, tasks are treated differently inside the
 108.398 +proto-runtime, and incur less overhead to create and run.
 108.399 +
 108.400 +A special feature of the proto-runtime is that if a task happens to execute
 108.401 +a language command that causes suspension, then the proto-runtime automatically
 108.402 +converts that task to a virtual processor. This helps support the mixing of different
 108.403 +languages within the same program.
 108.404 +
 108.405 +The proto-runtime involves the language into the process of choosing which core a given task
 108.406 +or virtual processor executes on. The proto-runtime maintains control, but offers free cores to the plugin, which 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.
 108.407 +
 108.408 +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
 108.409 +can be communicated from the wrapper library to the plugin. 
 108.410 +
 108.411 +
 108.412 +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 that 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.  
 108.413 +
 108.414 + 
 108.415 + 
 108.416 +
 108.417 +
 108.418 +
 108.419 +\subsection{What happens at different times within the
 108.420 +big picture}
 108.421 +
 108.422 +To get a handle on the big picture,  we describe three different paths through time:
 108.423 +one for development of proto-runtime code, one for
 108.424 +development of language implementation, and one for
 108.425 +application development. 
 108.426 +
 108.427 +The proto-runtime code is developed separately from
 108.428 +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.
 108.429 +
 108.430 +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. 
 108.431 +
 108.432 +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. 
 108.433 +
 108.434 +The wrapper library, however, is not
 108.435 +installed on the machine where code runs. Rather, it
 108.436 +is only used during development of an application,
 108.437 +and remains independent of hardware.
 108.438 + 
 108.439 +The application, ideally, is developed only once. It makes calls to the wrapper library, which in turn invokes the dynamic libraries of the language and proto-runtime.  
 108.440 +When an application is executed, the loader binds the
 108.441 +dynamic libraries, connecting them to the application.
 108.442 + In this way, a single,
 108.443 +unchanging, executable gains access to machine-specific implementations of language and proto-runtime.  
 108.444 +
 108.445 +However, the success of the compile-once approach has
 108.446 +limits in practice. Each machine's characteristics determine the size of unit of work that gives the best performance. When too small, overhead in the runtime system required to create the work, manage constraints, and perform assignment becomes larger than the work
 108.447 +itself. When units become too large, not enough units exist to keep all the cores busy. Thankfully, the range between is large 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 code. 
 108.448 +
 108.449 +\end{document}
 108.450 +
 108.451 +
   109.1 Binary file 0__Papers/Vote_Bucks/MSW_A4_format.doc has changed
   110.1 Binary file 1__Presentations/11__3__LCPC_11/VMS_presentation_for_LCPC_11.odp has changed
   111.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   111.2 +++ b/1__Presentations/13__Jy_01__DSLDI/DSL_on_top_of_Thds.svg	Sat Aug 03 19:24:22 2013 -0700
   111.3 @@ -0,0 +1,341 @@
   111.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   111.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   111.6 +
   111.7 +<svg
   111.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   111.9 +   xmlns:cc="http://creativecommons.org/ns#"
  111.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  111.11 +   xmlns:svg="http://www.w3.org/2000/svg"
  111.12 +   xmlns="http://www.w3.org/2000/svg"
  111.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  111.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  111.15 +   width="744.09448819"
  111.16 +   height="1052.3622047"
  111.17 +   id="svg2"
  111.18 +   sodipodi:version="0.32"
  111.19 +   inkscape:version="0.48.2 r9819"
  111.20 +   sodipodi:docname="DSL_on_top_of_Thds.svg"
  111.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
  111.22 +   version="1.1">
  111.23 +  <defs
  111.24 +     id="defs4">
  111.25 +    <marker
  111.26 +       inkscape:stockid="Arrow2Mend"
  111.27 +       orient="auto"
  111.28 +       refY="0.0"
  111.29 +       refX="0.0"
  111.30 +       id="Arrow2Mend"
  111.31 +       style="overflow:visible;">
  111.32 +      <path
  111.33 +         id="path4008"
  111.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
  111.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 "
  111.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
  111.37 +    </marker>
  111.38 +    <inkscape:perspective
  111.39 +       sodipodi:type="inkscape:persp3d"
  111.40 +       inkscape:vp_x="0 : 526.18109 : 1"
  111.41 +       inkscape:vp_y="0 : 1000 : 0"
  111.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
  111.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
  111.44 +       id="perspective10" />
  111.45 +    <inkscape:perspective
  111.46 +       id="perspective12172"
  111.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
  111.48 +       inkscape:vp_z="1 : 0.5 : 1"
  111.49 +       inkscape:vp_y="0 : 1000 : 0"
  111.50 +       inkscape:vp_x="0 : 0.5 : 1"
  111.51 +       sodipodi:type="inkscape:persp3d" />
  111.52 +    <inkscape:perspective
  111.53 +       id="perspective12937"
  111.54 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
  111.55 +       inkscape:vp_z="1 : 0.5 : 1"
  111.56 +       inkscape:vp_y="0 : 1000 : 0"
  111.57 +       inkscape:vp_x="0 : 0.5 : 1"
  111.58 +       sodipodi:type="inkscape:persp3d" />
  111.59 +  </defs>
  111.60 +  <sodipodi:namedview
  111.61 +     id="base"
  111.62 +     pagecolor="#ffffff"
  111.63 +     bordercolor="#666666"
  111.64 +     borderopacity="1.0"
  111.65 +     gridtolerance="10000"
  111.66 +     guidetolerance="10"
  111.67 +     objecttolerance="10"
  111.68 +     inkscape:pageopacity="0.0"
  111.69 +     inkscape:pageshadow="2"
  111.70 +     inkscape:zoom="1.553811"
  111.71 +     inkscape:cx="381.80397"
  111.72 +     inkscape:cy="563.31961"
  111.73 +     inkscape:document-units="px"
  111.74 +     inkscape:current-layer="layer1"
  111.75 +     showgrid="false"
  111.76 +     inkscape:window-width="1600"
  111.77 +     inkscape:window-height="848"
  111.78 +     inkscape:window-x="-8"
  111.79 +     inkscape:window-y="-8"
  111.80 +     inkscape:window-maximized="1" />
  111.81 +  <metadata
  111.82 +     id="metadata7">
  111.83 +    <rdf:RDF>
  111.84 +      <cc:Work
  111.85 +         rdf:about="">
  111.86 +        <dc:format>image/svg+xml</dc:format>
  111.87 +        <dc:type
  111.88 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  111.89 +        <dc:title></dc:title>
  111.90 +      </cc:Work>
  111.91 +    </rdf:RDF>
  111.92 +  </metadata>
  111.93 +  <g
  111.94 +     inkscape:label="Layer 1"
  111.95 +     inkscape:groupmode="layer"
  111.96 +     id="layer1">
  111.97 +    <text
  111.98 +       sodipodi:linespacing="100%"
  111.99 +       id="text12985"
 111.100 +       y="527.55029"
 111.101 +       x="169.00162"
 111.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"
 111.103 +       xml:space="preserve"><tspan
 111.104 +         y="527.55029"
 111.105 +         x="170.50552"
 111.106 +         sodipodi:role="line"
 111.107 +         id="tspan12989"
 111.108 +         style="text-align:center;text-anchor:middle">Thd </tspan><tspan
 111.109 +         y="537.55029"
 111.110 +         x="169.00162"
 111.111 +         sodipodi:role="line"
 111.112 +         style="text-align:center;text-anchor:middle"
 111.113 +         id="tspan4800">Construct</tspan><tspan
 111.114 +         id="tspan3149"
 111.115 +         y="547.55029"
 111.116 +         x="169.00162"
 111.117 +         sodipodi:role="line"
 111.118 +         style="text-align:center;text-anchor:middle">Behavior</tspan></text>
 111.119 +    <rect
 111.120 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 111.121 +       id="rect12971"
 111.122 +       width="131.7012"
 111.123 +       height="114.03358"
 111.124 +       x="130.30118"
 111.125 +       y="513.65302" />
 111.126 +    <text
 111.127 +       xml:space="preserve"
 111.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"
 111.129 +       x="196.33487"
 111.130 +       y="595.20319"
 111.131 +       id="text12973"
 111.132 +       sodipodi:linespacing="100%"><tspan
 111.133 +         sodipodi:role="line"
 111.134 +         id="tspan12975"
 111.135 +         x="196.33487"
 111.136 +         y="595.20319"
 111.137 +         style="text-align:center;text-anchor:middle">Hardware Specific</tspan><tspan
 111.138 +         sodipodi:role="line"
 111.139 +         x="196.33487"
 111.140 +         y="605.20319"
 111.141 +         id="tspan3089"
 111.142 +         style="font-size:12px;text-align:center;text-anchor:middle" /></text>
 111.143 +    <text
 111.144 +       sodipodi:linespacing="100%"
 111.145 +       id="text12985-7"
 111.146 +       y="527.52588"
 111.147 +       x="229.1481"
 111.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"
 111.149 +       xml:space="preserve"><tspan
 111.150 +         y="527.52588"
 111.151 +         x="229.1481"
 111.152 +         id="tspan12987-4"
 111.153 +         sodipodi:role="line"
 111.154 +         style="text-align:center;text-anchor:middle">Assignment</tspan><tspan
 111.155 +         id="tspan3151"
 111.156 +         y="537.52588"
 111.157 +         x="229.1481"
 111.158 +         sodipodi:role="line"
 111.159 +         style="text-align:center;text-anchor:middle">of Work</tspan><tspan
 111.160 +         id="tspan3153"
 111.161 +         y="547.52588"
 111.162 +         x="229.1481"
 111.163 +         sodipodi:role="line"
 111.164 +         style="text-align:center;text-anchor:middle">onto Cores</tspan></text>
 111.165 +    <text
 111.166 +       xml:space="preserve"
 111.167 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 111.168 +       x="197.00162"
 111.169 +       y="439.55029"
 111.170 +       id="text4710"
 111.171 +       sodipodi:linespacing="100%"><tspan
 111.172 +         style="text-align:center;text-anchor:middle"
 111.173 +         id="tspan4712"
 111.174 +         sodipodi:role="line"
 111.175 +         x="198.50552"
 111.176 +         y="439.55029">DSL </tspan><tspan
 111.177 +         style="text-align:center;text-anchor:middle"
 111.178 +         sodipodi:role="line"
 111.179 +         x="197.00162"
 111.180 +         y="449.55029"
 111.181 +         id="tspan4796">Construct</tspan><tspan
 111.182 +         style="text-align:center;text-anchor:middle"
 111.183 +         sodipodi:role="line"
 111.184 +         x="197.00162"
 111.185 +         y="459.55029"
 111.186 +         id="tspan4714">Behavior</tspan></text>
 111.187 +    <text
 111.188 +       sodipodi:linespacing="100%"
 111.189 +       id="text4746"
 111.190 +       y="527.55029"
 111.191 +       x="343.00162"
 111.192 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 111.193 +       xml:space="preserve"><tspan
 111.194 +         y="527.55029"
 111.195 +         x="344.50552"
 111.196 +         sodipodi:role="line"
 111.197 +         id="tspan4748"
 111.198 +         style="text-align:center;text-anchor:middle">DSL </tspan><tspan
 111.199 +         y="537.55029"
 111.200 +         x="343.00162"
 111.201 +         sodipodi:role="line"
 111.202 +         style="text-align:center;text-anchor:middle"
 111.203 +         id="tspan4798">Construct</tspan><tspan
 111.204 +         id="tspan4750"
 111.205 +         y="547.55029"
 111.206 +         x="343.00162"
 111.207 +         sodipodi:role="line"
 111.208 +         style="text-align:center;text-anchor:middle">Behavior</tspan></text>
 111.209 +    <rect
 111.210 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 111.211 +       id="rect4752"
 111.212 +       width="131.7012"
 111.213 +       height="52.250008"
 111.214 +       x="310.30118"
 111.215 +       y="575.43658" />
 111.216 +    <text
 111.217 +       xml:space="preserve"
 111.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"
 111.219 +       x="376.33487"
 111.220 +       y="595.20319"
 111.221 +       id="text4754"
 111.222 +       sodipodi:linespacing="100%"><tspan
 111.223 +         sodipodi:role="line"
 111.224 +         id="tspan4756"
 111.225 +         x="376.33487"
 111.226 +         y="595.20319"
 111.227 +         style="text-align:center;text-anchor:middle">Hardware Specific</tspan><tspan
 111.228 +         sodipodi:role="line"
 111.229 +         x="376.33487"
 111.230 +         y="605.20319"
 111.231 +         style="text-align:center;text-anchor:middle"
 111.232 +         id="tspan4758" /><tspan
 111.233 +         sodipodi:role="line"
 111.234 +         x="376.33487"
 111.235 +         y="616.76843"
 111.236 +         id="tspan4760"
 111.237 +         style="font-size:12px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text>
 111.238 +    <text
 111.239 +       sodipodi:linespacing="100%"
 111.240 +       id="text4762"
 111.241 +       y="527.52588"
 111.242 +       x="409.1481"
 111.243 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 111.244 +       xml:space="preserve"><tspan
 111.245 +         y="527.52588"
 111.246 +         x="409.1481"
 111.247 +         id="tspan4764"
 111.248 +         sodipodi:role="line"
 111.249 +         style="text-align:center;text-anchor:middle">Assignment</tspan><tspan
 111.250 +         id="tspan4766"
 111.251 +         y="537.52588"
 111.252 +         x="409.1481"
 111.253 +         sodipodi:role="line"
 111.254 +         style="text-align:center;text-anchor:middle">of Work</tspan><tspan
 111.255 +         id="tspan4768"
 111.256 +         y="547.52588"
 111.257 +         x="409.1481"
 111.258 +         sodipodi:role="line"
 111.259 +         style="text-align:center;text-anchor:middle">onto Cores</tspan></text>
 111.260 +    <text
 111.261 +       xml:space="preserve"
 111.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 111.263 +       x="376.3902"
 111.264 +       y="573.19415"
 111.265 +       id="text4770"
 111.266 +       sodipodi:linespacing="100%"><tspan
 111.267 +         sodipodi:role="line"
 111.268 +         x="376.3902"
 111.269 +         y="573.19415"
 111.270 +         id="tspan4772"
 111.271 +         style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text>
 111.272 +    <rect
 111.273 +       y="-575.43658"
 111.274 +       x="310.30118"
 111.275 +       height="9.1641436"
 111.276 +       width="131.7012"
 111.277 +       id="rect4774"
 111.278 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 111.279 +       transform="scale(1,-1)" />
 111.280 +    <rect
 111.281 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 111.282 +       id="rect4776"
 111.283 +       width="65.276405"
 111.284 +       height="52.250008"
 111.285 +       x="310.40247"
 111.286 +       y="513.58252" />
 111.287 +    <rect
 111.288 +       y="513.58252"
 111.289 +       x="376.40247"
 111.290 +       height="52.250008"
 111.291 +       width="65.276405"
 111.292 +       id="rect4778"
 111.293 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
 111.294 +    <text
 111.295 +       sodipodi:linespacing="100%"
 111.296 +       id="text4780"
 111.297 +       y="477.20319"
 111.298 +       x="198.33487"
 111.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"
 111.300 +       xml:space="preserve"><tspan
 111.301 +         style="text-align:center;text-anchor:middle"
 111.302 +         y="477.20319"
 111.303 +         x="198.33487"
 111.304 +         id="tspan4782"
 111.305 +         sodipodi:role="line">Hardware</tspan><tspan
 111.306 +         style="text-align:center;text-anchor:middle"
 111.307 +         y="487.20319"
 111.308 +         x="198.33487"
 111.309 +         sodipodi:role="line"
 111.310 +         id="tspan4786">Specific Choices</tspan><tspan
 111.311 +         style="font-size:12px;text-align:center;text-anchor:middle"
 111.312 +         id="tspan4784"
 111.313 +         y="497.20319"
 111.314 +         x="198.33487"
 111.315 +         sodipodi:role="line" /></text>
 111.316 +    <rect
 111.317 +       transform="scale(1,-1)"
 111.318 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 111.319 +       id="rect4788"
 111.320 +       width="131.7012"
 111.321 +       height="9.1641436"
 111.322 +       x="130.30118"
 111.323 +       y="-513.43658" />
 111.324 +    <text
 111.325 +       sodipodi:linespacing="100%"
 111.326 +       id="text4790"
 111.327 +       y="511.19415"
 111.328 +       x="196.3902"
 111.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"
 111.330 +       xml:space="preserve"><tspan
 111.331 +         style="font-size:8px;text-align:center;text-anchor:middle"
 111.332 +         id="tspan4792"
 111.333 +         y="511.19415"
 111.334 +         x="196.3902"
 111.335 +         sodipodi:role="line">Thd Interface</tspan></text>
 111.336 +    <rect
 111.337 +       y="417.97049"
 111.338 +       x="130.30118"
 111.339 +       height="86.35968"
 111.340 +       width="131.7012"
 111.341 +       id="rect4794"
 111.342 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
 111.343 +  </g>
 111.344 +</svg>
   112.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   112.2 +++ b/1__Presentations/13__Jy_01__DSLDI/Level_of_lang_fig.svg	Sat Aug 03 19:24:22 2013 -0700
   112.3 @@ -0,0 +1,156 @@
   112.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   112.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   112.6 +
   112.7 +<svg
   112.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   112.9 +   xmlns:cc="http://creativecommons.org/ns#"
  112.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  112.11 +   xmlns:svg="http://www.w3.org/2000/svg"
  112.12 +   xmlns="http://www.w3.org/2000/svg"
  112.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  112.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  112.15 +   width="744.09448819"
  112.16 +   height="1052.3622047"
  112.17 +   id="svg2"
  112.18 +   sodipodi:version="0.32"
  112.19 +   inkscape:version="0.48.2 r9819"
  112.20 +   sodipodi:docname="Level_of_lang_fig.svg"
  112.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
  112.22 +   version="1.1">
  112.23 +  <defs
  112.24 +     id="defs4">
  112.25 +    <marker
  112.26 +       inkscape:stockid="Arrow2Mend"
  112.27 +       orient="auto"
  112.28 +       refY="0.0"
  112.29 +       refX="0.0"
  112.30 +       id="Arrow2Mend"
  112.31 +       style="overflow:visible;">
  112.32 +      <path
  112.33 +         id="path4008"
  112.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
  112.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 "
  112.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
  112.37 +    </marker>
  112.38 +    <inkscape:perspective
  112.39 +       sodipodi:type="inkscape:persp3d"
  112.40 +       inkscape:vp_x="0 : 526.18109 : 1"
  112.41 +       inkscape:vp_y="0 : 1000 : 0"
  112.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
  112.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
  112.44 +       id="perspective10" />
  112.45 +    <inkscape:perspective
  112.46 +       id="perspective11923"
  112.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
  112.48 +       inkscape:vp_z="1 : 0.5 : 1"
  112.49 +       inkscape:vp_y="0 : 1000 : 0"
  112.50 +       inkscape:vp_x="0 : 0.5 : 1"
  112.51 +       sodipodi:type="inkscape:persp3d" />
  112.52 +  </defs>
  112.53 +  <sodipodi:namedview
  112.54 +     id="base"
  112.55 +     pagecolor="#ffffff"
  112.56 +     bordercolor="#666666"
  112.57 +     borderopacity="1.0"
  112.58 +     gridtolerance="10000"
  112.59 +     guidetolerance="10"
  112.60 +     objecttolerance="10"
  112.61 +     inkscape:pageopacity="0.0"
  112.62 +     inkscape:pageshadow="2"
  112.63 +     inkscape:zoom="1.3364318"
  112.64 +     inkscape:cx="362.39987"
  112.65 +     inkscape:cy="550.40126"
  112.66 +     inkscape:document-units="px"
  112.67 +     inkscape:current-layer="layer1"
  112.68 +     showgrid="false"
  112.69 +     inkscape:window-width="1317"
  112.70 +     inkscape:window-height="832"
  112.71 +     inkscape:window-x="7"
  112.72 +     inkscape:window-y="0"
  112.73 +     inkscape:window-maximized="0" />
  112.74 +  <metadata
  112.75 +     id="metadata7">
  112.76 +    <rdf:RDF>
  112.77 +      <cc:Work
  112.78 +         rdf:about="">
  112.79 +        <dc:format>image/svg+xml</dc:format>
  112.80 +        <dc:type
  112.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  112.82 +        <dc:title></dc:title>
  112.83 +      </cc:Work>
  112.84 +    </rdf:RDF>
  112.85 +  </metadata>
  112.86 +  <g
  112.87 +     inkscape:label="Layer 1"
  112.88 +     inkscape:groupmode="layer"
  112.89 +     id="layer1">
  112.90 +    <text
  112.91 +       xml:space="preserve"
  112.92 +       style="font-size:26.76311111px;font-style: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"
  112.93 +       x="579.24304"
  112.94 +       y="681.2489"
  112.95 +       id="text11005"
  112.96 +       sodipodi:linespacing="100%"
  112.97 +       transform="scale(0.97144411,1.0293953)"><tspan
  112.98 +         id="tspan11007"
  112.99 +         sodipodi:role="line"
 112.100 +         x="579.24304"
 112.101 +         y="681.2489">HW</tspan></text>
 112.102 +    <path
 112.103 +       id="path3046"
 112.104 +       d="m 380.30862,475.64298 c 179.56076,0 179.56076,0 179.56076,0"
 112.105 +       style="fill:#800000;stroke:#800000;stroke-width:3.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
 112.106 +       inkscape:connector-curvature="0" />
 112.107 +    <path
 112.108 +       inkscape:connector-curvature="0"
 112.109 +       style="fill:#800000;stroke:#800000;stroke-width:3.0999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
 112.110 +       d="m 380.30862,696.04155 c 179.56076,0 179.56076,0 179.56076,0"
 112.111 +       id="path3048" />
 112.112 +    <path
 112.113 +       inkscape:connector-curvature="0"
 112.114 +       style="fill:#800000;stroke:#800000;stroke-width:3.0999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:37.19999886,37.19999886;stroke-dashoffset:0;marker-end:none"
 112.115 +       d="m 380.30862,640.94191 c 179.56076,0 179.56076,0 179.56076,0"
 112.116 +       id="path3050" />
 112.117 +    <path
 112.118 +       id="path3052"
 112.119 +       d="m 380.30862,585.84227 c 179.56076,0 179.56076,0 179.56076,0"
 112.120 +       style="fill:#800000;stroke:#800000;stroke-width:3.0999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none"
 112.121 +       inkscape:connector-curvature="0" />
 112.122 +    <text
 112.123 +       sodipodi:linespacing="100%"
 112.124 +       id="text3054"
 112.125 +       y="627.72272"
 112.126 +       x="579.24304"
 112.127 +       style="font-size:26.76311111px;font-style: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"
 112.128 +       xml:space="preserve"
 112.129 +       transform="scale(0.97144411,1.0293953)"><tspan
 112.130 +         y="627.72272"
 112.131 +         x="579.24304"
 112.132 +         sodipodi:role="line"
 112.133 +         id="tspan3056">PRT</tspan></text>
 112.134 +    <text
 112.135 +       xml:space="preserve"
 112.136 +       style="font-size:26.76311111px;font-style: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"
 112.137 +       x="579.24304"
 112.138 +       y="574.19647"
 112.139 +       id="text3058"
 112.140 +       sodipodi:linespacing="100%"
 112.141 +       transform="scale(0.97144411,1.0293953)"><tspan
 112.142 +         id="tspan3060"
 112.143 +         sodipodi:role="line"
 112.144 +         x="579.24304"
 112.145 +         y="574.19647">Threads</tspan></text>
 112.146 +    <text
 112.147 +       sodipodi:linespacing="100%"
 112.148 +       id="text3062"
 112.149 +       y="467.14404"
 112.150 +       x="579.24304"
 112.151 +       style="font-size:26.76311111px;font-style: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"
 112.152 +       xml:space="preserve"
 112.153 +       transform="scale(0.97144411,1.0293953)"><tspan
 112.154 +         y="467.14404"
 112.155 +         x="579.24304"
 112.156 +         sodipodi:role="line"
 112.157 +         id="tspan3064">DSL</tspan></text>
 112.158 +  </g>
 112.159 +</svg>
   113.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   113.2 +++ b/1__Presentations/13__Jy_01__DSLDI/PRT__modules.svg	Sat Aug 03 19:24:22 2013 -0700
   113.3 @@ -0,0 +1,228 @@
   113.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   113.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   113.6 +
   113.7 +<svg
   113.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   113.9 +   xmlns:cc="http://creativecommons.org/ns#"
  113.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  113.11 +   xmlns:svg="http://www.w3.org/2000/svg"
  113.12 +   xmlns="http://www.w3.org/2000/svg"
  113.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  113.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  113.15 +   width="744.09448819"
  113.16 +   height="1052.3622047"
  113.17 +   id="svg2"
  113.18 +   sodipodi:version="0.32"
  113.19 +   inkscape:version="0.48.2 r9819"
  113.20 +   sodipodi:docname="PRT__modules.svg"
  113.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
  113.22 +   version="1.1">
  113.23 +  <defs
  113.24 +     id="defs4">
  113.25 +    <marker
  113.26 +       inkscape:stockid="Arrow2Mend"
  113.27 +       orient="auto"
  113.28 +       refY="0.0"
  113.29 +       refX="0.0"
  113.30 +       id="Arrow2Mend"
  113.31 +       style="overflow:visible;">
  113.32 +      <path
  113.33 +         id="path4008"
  113.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
  113.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 "
  113.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
  113.37 +    </marker>
  113.38 +    <inkscape:perspective
  113.39 +       sodipodi:type="inkscape:persp3d"
  113.40 +       inkscape:vp_x="0 : 526.18109 : 1"
  113.41 +       inkscape:vp_y="0 : 1000 : 0"
  113.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
  113.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
  113.44 +       id="perspective10" />
  113.45 +    <inkscape:perspective
  113.46 +       id="perspective12172"
  113.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
  113.48 +       inkscape:vp_z="1 : 0.5 : 1"
  113.49 +       inkscape:vp_y="0 : 1000 : 0"
  113.50 +       inkscape:vp_x="0 : 0.5 : 1"
  113.51 +       sodipodi:type="inkscape:persp3d" />
  113.52 +    <inkscape:perspective
  113.53 +       id="perspective12937"
  113.54 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
  113.55 +       inkscape:vp_z="1 : 0.5 : 1"
  113.56 +       inkscape:vp_y="0 : 1000 : 0"
  113.57 +       inkscape:vp_x="0 : 0.5 : 1"
  113.58 +       sodipodi:type="inkscape:persp3d" />
  113.59 +  </defs>
  113.60 +  <sodipodi:namedview
  113.61 +     id="base"
  113.62 +     pagecolor="#ffffff"
  113.63 +     bordercolor="#666666"
  113.64 +     borderopacity="1.0"
  113.65 +     gridtolerance="10000"
  113.66 +     guidetolerance="10"
  113.67 +     objecttolerance="10"
  113.68 +     inkscape:pageopacity="0.0"
  113.69 +     inkscape:pageshadow="2"
  113.70 +     inkscape:zoom="1.553811"
  113.71 +     inkscape:cx="381.80397"
  113.72 +     inkscape:cy="586.15006"
  113.73 +     inkscape:document-units="px"
  113.74 +     inkscape:current-layer="layer1"
  113.75 +     showgrid="false"
  113.76 +     inkscape:window-width="1600"
  113.77 +     inkscape:window-height="848"
  113.78 +     inkscape:window-x="-8"
  113.79 +     inkscape:window-y="-8"
  113.80 +     inkscape:window-maximized="1" />
  113.81 +  <metadata
  113.82 +     id="metadata7">
  113.83 +    <rdf:RDF>
  113.84 +      <cc:Work
  113.85 +         rdf:about="">
  113.86 +        <dc:format>image/svg+xml</dc:format>
  113.87 +        <dc:type
  113.88 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  113.89 +        <dc:title></dc:title>
  113.90 +      </cc:Work>
  113.91 +    </rdf:RDF>
  113.92 +  </metadata>
  113.93 +  <g
  113.94 +     inkscape:label="Layer 1"
  113.95 +     inkscape:groupmode="layer"
  113.96 +     id="layer1">
  113.97 +    <rect
  113.98 +       y="417.82236"
  113.99 +       x="127.32263"
 113.100 +       height="69.307014"
 113.101 +       width="137.26534"
 113.102 +       id="rect12977"
 113.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" />
 113.104 +    <text
 113.105 +       sodipodi:linespacing="100%"
 113.106 +       id="text12979"
 113.107 +       y="399.76575"
 113.108 +       x="195.84009"
 113.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"
 113.110 +       xml:space="preserve"><tspan
 113.111 +         y="399.76575"
 113.112 +         x="195.84009"
 113.113 +         sodipodi:role="line"
 113.114 +         id="tspan3291"
 113.115 +         style="font-size:18px;text-align:center;text-anchor:middle">runtime system</tspan></text>
 113.116 +    <text
 113.117 +       sodipodi:linespacing="100%"
 113.118 +       id="text12985"
 113.119 +       y="447.55026"
 113.120 +       x="163.00162"
 113.121 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 113.122 +       xml:space="preserve"><tspan
 113.123 +         y="447.55026"
 113.124 +         x="163.00162"
 113.125 +         sodipodi:role="line"
 113.126 +         id="tspan12989"
 113.127 +         style="text-align:center;text-anchor:middle">Construct</tspan><tspan
 113.128 +         id="tspan3149"
 113.129 +         y="457.55026"
 113.130 +         x="163.00162"
 113.131 +         sodipodi:role="line"
 113.132 +         style="text-align:center;text-anchor:middle">Behavior</tspan></text>
 113.133 +    <rect
 113.134 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 113.135 +       id="rect12971"
 113.136 +       width="131.7012"
 113.137 +       height="52.250008"
 113.138 +       x="130.30118"
 113.139 +       y="495.43658" />
 113.140 +    <text
 113.141 +       xml:space="preserve"
 113.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"
 113.143 +       x="196.33487"
 113.144 +       y="515.20319"
 113.145 +       id="text12973"
 113.146 +       sodipodi:linespacing="100%"><tspan
 113.147 +         sodipodi:role="line"
 113.148 +         id="tspan12975"
 113.149 +         x="196.33487"
 113.150 +         y="515.20319"
 113.151 +         style="text-align:center;text-anchor:middle">Hardware Specific</tspan><tspan
 113.152 +         sodipodi:role="line"
 113.153 +         x="196.33487"
 113.154 +         y="525.20319"
 113.155 +         style="text-align:center;text-anchor:middle"
 113.156 +         id="tspan3155" /><tspan
 113.157 +         sodipodi:role="line"
 113.158 +         x="196.33487"
 113.159 +         y="536.76843"
 113.160 +         id="tspan3089"
 113.161 +         style="font-size:12px;text-align:center;text-anchor:middle">(Proto-Runtime)</tspan></text>
 113.162 +    <text
 113.163 +       sodipodi:linespacing="100%"
 113.164 +       id="text12985-7"
 113.165 +       y="447.52585"
 113.166 +       x="229.1481"
 113.167 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 113.168 +       xml:space="preserve"><tspan
 113.169 +         y="447.52585"
 113.170 +         x="229.1481"
 113.171 +         id="tspan12987-4"
 113.172 +         sodipodi:role="line"
 113.173 +         style="text-align:center;text-anchor:middle">Assignment</tspan><tspan
 113.174 +         id="tspan3151"
 113.175 +         y="457.52585"
 113.176 +         x="229.1481"
 113.177 +         sodipodi:role="line"
 113.178 +         style="text-align:center;text-anchor:middle">of Work</tspan><tspan
 113.179 +         id="tspan3153"
 113.180 +         y="467.52585"
 113.181 +         x="229.1481"
 113.182 +         sodipodi:role="line"
 113.183 +         style="text-align:center;text-anchor:middle">onto Cores</tspan></text>
 113.184 +    <text
 113.185 +       xml:space="preserve"
 113.186 +       style="font-size:10px;font-style: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"
 113.187 +       x="193.25641"
 113.188 +       y="426.6572"
 113.189 +       id="text12985-8"
 113.190 +       sodipodi:linespacing="100%"><tspan
 113.191 +         style="text-align:center;text-anchor:middle;fill:#800000"
 113.192 +         id="tspan12989-4"
 113.193 +         sodipodi:role="line"
 113.194 +         x="193.25641"
 113.195 +         y="426.6572">Language Plug-in</tspan></text>
 113.196 +    <text
 113.197 +       xml:space="preserve"
 113.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"
 113.199 +       x="196.3902"
 113.200 +       y="493.19415"
 113.201 +       id="text12973-5"
 113.202 +       sodipodi:linespacing="100%"><tspan
 113.203 +         sodipodi:role="line"
 113.204 +         x="196.3902"
 113.205 +         y="493.19415"
 113.206 +         id="tspan3089-7"
 113.207 +         style="font-size:8px;text-align:center;text-anchor:middle">Hardware Abstraction Interface</tspan></text>
 113.208 +    <rect
 113.209 +       y="-495.43658"
 113.210 +       x="130.30118"
 113.211 +       height="9.1641436"
 113.212 +       width="131.7012"
 113.213 +       id="rect3204"
 113.214 +       style="fill:none;stroke:#000000;stroke-width:1.08018136;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 113.215 +       transform="scale(1,-1)" />
 113.216 +    <rect
 113.217 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
 113.218 +       id="rect3217"
 113.219 +       width="65.276405"
 113.220 +       height="52.250008"
 113.221 +       x="130.40247"
 113.222 +       y="433.58255" />
 113.223 +    <rect
 113.224 +       y="433.58255"
 113.225 +       x="196.40247"
 113.226 +       height="52.250008"
 113.227 +       width="65.276405"
 113.228 +       id="rect3219"
 113.229 +       style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
 113.230 +  </g>
 113.231 +</svg>
   114.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   114.2 +++ b/1__Presentations/13__Jy_01__DSLDI/PR__timeline_dual.svg	Sat Aug 03 19:24:22 2013 -0700
   114.3 @@ -0,0 +1,446 @@
   114.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   114.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   114.6 +
   114.7 +<svg
   114.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   114.9 +   xmlns:cc="http://creativecommons.org/ns#"
  114.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  114.11 +   xmlns:svg="http://www.w3.org/2000/svg"
  114.12 +   xmlns="http://www.w3.org/2000/svg"
  114.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  114.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  114.15 +   width="744.09448819"
  114.16 +   height="1052.3622047"
  114.17 +   id="svg2"
  114.18 +   sodipodi:version="0.32"
  114.19 +   inkscape:version="0.48.2 r9819"
  114.20 +   sodipodi:docname="PR__timeline_dual.svg"
  114.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
  114.22 +   version="1.1">
  114.23 +  <defs
  114.24 +     id="defs4">
  114.25 +    <marker
  114.26 +       inkscape:stockid="Arrow2Mend"
  114.27 +       orient="auto"
  114.28 +       refY="0.0"
  114.29 +       refX="0.0"
  114.30 +       id="Arrow2Mend"
  114.31 +       style="overflow:visible;">
  114.32 +      <path
  114.33 +         id="path4008"
  114.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
  114.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 "
  114.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
  114.37 +    </marker>
  114.38 +    <inkscape:perspective
  114.39 +       sodipodi:type="inkscape:persp3d"
  114.40 +       inkscape:vp_x="0 : 526.18109 : 1"
  114.41 +       inkscape:vp_y="0 : 1000 : 0"
  114.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
  114.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
  114.44 +       id="perspective10" />
  114.45 +    <inkscape:perspective
  114.46 +       id="perspective11923"
  114.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
  114.48 +       inkscape:vp_z="1 : 0.5 : 1"
  114.49 +       inkscape:vp_y="0 : 1000 : 0"
  114.50 +       inkscape:vp_x="0 : 0.5 : 1"
  114.51 +       sodipodi:type="inkscape:persp3d" />
  114.52 +  </defs>
  114.53 +  <sodipodi:namedview
  114.54 +     id="base"
  114.55 +     pagecolor="#ffffff"
  114.56 +     bordercolor="#666666"
  114.57 +     borderopacity="1.0"
  114.58 +     gridtolerance="10000"
  114.59 +     guidetolerance="10"
  114.60 +     objecttolerance="10"
  114.61 +     inkscape:pageopacity="0.0"
  114.62 +     inkscape:pageshadow="2"
  114.63 +     inkscape:zoom="1.3364318"
  114.64 +     inkscape:cx="331.64634"
  114.65 +     inkscape:cy="652.12596"
  114.66 +     inkscape:document-units="px"
  114.67 +     inkscape:current-layer="layer1"
  114.68 +     showgrid="false"
  114.69 +     inkscape:window-width="1317"
  114.70 +     inkscape:window-height="878"
  114.71 +     inkscape:window-x="7"
  114.72 +     inkscape:window-y="1"
  114.73 +     inkscape:window-maximized="0" />
  114.74 +  <metadata
  114.75 +     id="metadata7">
  114.76 +    <rdf:RDF>
  114.77 +      <cc:Work
  114.78 +         rdf:about="">
  114.79 +        <dc:format>image/svg+xml</dc:format>
  114.80 +        <dc:type
  114.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  114.82 +        <dc:title></dc:title>
  114.83 +      </cc:Work>
  114.84 +    </rdf:RDF>
  114.85 +  </metadata>
  114.86 +  <g
  114.87 +     inkscape:label="Layer 1"
  114.88 +     inkscape:groupmode="layer"
  114.89 +     id="layer1">
  114.90 +    <path
  114.91 +       id="path7353"
  114.92 +       d="m 196.98465,281.37498 c 69.82336,0 69.82336,0 69.82336,0"
  114.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"
  114.94 +       inkscape:connector-curvature="0" />
  114.95 +    <g
  114.96 +       transform="translate(-32,-120)"
  114.97 +       id="g7355"
  114.98 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
  114.99 +      <path
 114.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"
 114.101 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
 114.102 +         id="path7357"
 114.103 +         inkscape:connector-curvature="0" />
 114.104 +      <text
 114.105 +         sodipodi:linespacing="100%"
 114.106 +         id="text7359"
 114.107 +         y="376.52615"
 114.108 +         x="298.7023"
 114.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"
 114.110 +         xml:space="preserve"><tspan
 114.111 +           y="376.52615"
 114.112 +           x="298.7023"
 114.113 +           id="tspan7361"
 114.114 +           sodipodi:role="line"
 114.115 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
 114.116 +           y="385.74353"
 114.117 +           x="298.7023"
 114.118 +           sodipodi:role="line"
 114.119 +           id="tspan7363"
 114.120 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.S)</tspan></text>
 114.121 +    </g>
 114.122 +    <g
 114.123 +       transform="translate(-60,-120)"
 114.124 +       id="g7365"
 114.125 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
 114.126 +      <path
 114.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"
 114.128 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
 114.129 +         id="path7367"
 114.130 +         inkscape:connector-curvature="0" />
 114.131 +      <text
 114.132 +         sodipodi:linespacing="100%"
 114.133 +         id="text7369"
 114.134 +         y="376.52615"
 114.135 +         x="378.7023"
 114.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"
 114.137 +         xml:space="preserve"><tspan
 114.138 +           y="376.52615"
 114.139 +           x="380.20621"
 114.140 +           id="tspan7371"
 114.141 +           sodipodi:role="line"
 114.142 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
 114.143 +             style="font-size:10px"
 114.144 +             id="tspan8087">Resume </tspan></tspan><tspan
 114.145 +           y="385.74353"
 114.146 +           x="378.7023"
 114.147 +           sodipodi:role="line"
 114.148 +           id="tspan7373"
 114.149 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 2.R)</tspan></text>
 114.150 +    </g>
 114.151 +    <text
 114.152 +       sodipodi:linespacing="100%"
 114.153 +       id="text7375"
 114.154 +       y="285.27441"
 114.155 +       x="352.7023"
 114.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"
 114.157 +       xml:space="preserve"><tspan
 114.158 +         y="285.27441"
 114.159 +         x="352.7023"
 114.160 +         sodipodi:role="line"
 114.161 +         id="tspan7379">Timeline B</tspan></text>
 114.162 +    <path
 114.163 +       inkscape:connector-curvature="0"
 114.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"
 114.165 +       d="m 320.08408,281.37498 c 27.45405,0 27.45405,0 27.45405,0"
 114.166 +       id="path7387" />
 114.167 +    <path
 114.168 +       id="path8089"
 114.169 +       d="m 195.41471,317.37498 c 151.68424,0 151.68424,0 151.68424,0"
 114.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)"
 114.171 +       inkscape:connector-curvature="0" />
 114.172 +    <text
 114.173 +       xml:space="preserve"
 114.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"
 114.175 +       x="352.7023"
 114.176 +       y="320.02267"
 114.177 +       id="text8091"
 114.178 +       sodipodi:linespacing="100%"><tspan
 114.179 +         id="tspan8093"
 114.180 +         sodipodi:role="line"
 114.181 +         x="352.7023"
 114.182 +         y="320.02267">Physical time</tspan></text>
 114.183 +    <path
 114.184 +       inkscape:connector-curvature="0"
 114.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"
 114.186 +       d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0"
 114.187 +       id="path8095" />
 114.188 +    <g
 114.189 +       id="g8097"
 114.190 +       transform="translate(-70,-180)"
 114.191 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
 114.192 +      <path
 114.193 +         inkscape:connector-curvature="0"
 114.194 +         id="path8099"
 114.195 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
 114.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" />
 114.197 +      <text
 114.198 +         xml:space="preserve"
 114.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"
 114.200 +         x="298.7023"
 114.201 +         y="376.52615"
 114.202 +         id="text8101"
 114.203 +         sodipodi:linespacing="100%"><tspan
 114.204 +           style="font-size:10px;text-align:center;text-anchor:middle"
 114.205 +           sodipodi:role="line"
 114.206 +           id="tspan8103"
 114.207 +           x="298.7023"
 114.208 +           y="376.52615">Suspend</tspan><tspan
 114.209 +           style="font-size:9px;text-align:center;text-anchor:middle"
 114.210 +           id="tspan8105"
 114.211 +           sodipodi:role="line"
 114.212 +           x="298.7023"
 114.213 +           y="385.74353">(Point 1.S)</tspan></text>
 114.214 +    </g>
 114.215 +    <g
 114.216 +       id="g8107"
 114.217 +       transform="translate(-60,-180)"
 114.218 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
 114.219 +      <path
 114.220 +         inkscape:connector-curvature="0"
 114.221 +         id="path8109"
 114.222 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
 114.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" />
 114.224 +      <text
 114.225 +         xml:space="preserve"
 114.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"
 114.227 +         x="378.7023"
 114.228 +         y="376.52615"
 114.229 +         id="text8111"
 114.230 +         sodipodi:linespacing="100%"><tspan
 114.231 +           style="font-size:9px;text-align:center;text-anchor:middle"
 114.232 +           sodipodi:role="line"
 114.233 +           id="tspan8113"
 114.234 +           x="380.20621"
 114.235 +           y="376.52615"><tspan
 114.236 +             id="tspan8115"
 114.237 +             style="font-size:10px">Resume </tspan></tspan><tspan
 114.238 +           style="font-size:9px;text-align:center;text-anchor:middle"
 114.239 +           id="tspan8117"
 114.240 +           sodipodi:role="line"
 114.241 +           x="378.7023"
 114.242 +           y="385.74353">(Point 1.R)</tspan></text>
 114.243 +    </g>
 114.244 +    <text
 114.245 +       xml:space="preserve"
 114.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"
 114.247 +       x="352.7023"
 114.248 +       y="225.27441"
 114.249 +       id="text8119"
 114.250 +       sodipodi:linespacing="100%"><tspan
 114.251 +         id="tspan8121"
 114.252 +         sodipodi:role="line"
 114.253 +         x="352.7023"
 114.254 +         y="225.27441">Timeline A</tspan></text>
 114.255 +    <path
 114.256 +       id="path8123"
 114.257 +       d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0"
 114.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"
 114.259 +       inkscape:connector-curvature="0" />
 114.260 +    <path
 114.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)"
 114.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"
 114.263 +       id="path8125"
 114.264 +       inkscape:connector-curvature="0"
 114.265 +       sodipodi:nodetypes="csc" />
 114.266 +    <path
 114.267 +       sodipodi:nodetypes="csc"
 114.268 +       inkscape:connector-curvature="0"
 114.269 +       id="path5550"
 114.270 +       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"
 114.271 +       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)" />
 114.272 +    <path
 114.273 +       inkscape:connector-curvature="0"
 114.274 +       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"
 114.275 +       d="m 196.98465,461.37498 c 69.82336,0 69.82336,0 69.82336,0"
 114.276 +       id="path5552" />
 114.277 +    <g
 114.278 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
 114.279 +       id="g5554"
 114.280 +       transform="translate(-32,60)">
 114.281 +      <path
 114.282 +         inkscape:connector-curvature="0"
 114.283 +         id="path5556"
 114.284 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
 114.285 +         style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
 114.286 +      <text
 114.287 +         xml:space="preserve"
 114.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 114.289 +         x="298.7023"
 114.290 +         y="376.52615"
 114.291 +         id="text5558"
 114.292 +         sodipodi:linespacing="100%"><tspan
 114.293 +           style="font-size:10px;text-align:center;text-anchor:middle"
 114.294 +           sodipodi:role="line"
 114.295 +           id="tspan5560"
 114.296 +           x="298.7023"
 114.297 +           y="376.52615">Suspend</tspan><tspan
 114.298 +           style="font-size:9px;text-align:center;text-anchor:middle"
 114.299 +           id="tspan5562"
 114.300 +           sodipodi:role="line"
 114.301 +           x="298.7023"
 114.302 +           y="385.74353">(Point 2.S)</tspan></text>
 114.303 +    </g>
 114.304 +    <g
 114.305 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
 114.306 +       id="g5564"
 114.307 +       transform="translate(-60,60)">
 114.308 +      <path
 114.309 +         inkscape:connector-curvature="0"
 114.310 +         id="path5566"
 114.311 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
 114.312 +         style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
 114.313 +      <text
 114.314 +         xml:space="preserve"
 114.315 +         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 114.316 +         x="378.7023"
 114.317 +         y="376.52615"
 114.318 +         id="text5568"
 114.319 +         sodipodi:linespacing="100%"><tspan
 114.320 +           style="font-size:9px;text-align:center;text-anchor:middle"
 114.321 +           sodipodi:role="line"
 114.322 +           id="tspan5570"
 114.323 +           x="380.20621"
 114.324 +           y="376.52615"><tspan
 114.325 +             id="tspan5572"
 114.326 +             style="font-size:10px">Resume </tspan></tspan><tspan
 114.327 +           style="font-size:9px;text-align:center;text-anchor:middle"
 114.328 +           id="tspan5574"
 114.329 +           sodipodi:role="line"
 114.330 +           x="378.7023"
 114.331 +           y="385.74353">(Point 2.R)</tspan></text>
 114.332 +    </g>
 114.333 +    <text
 114.334 +       xml:space="preserve"
 114.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:#800000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 114.336 +       x="352.7023"
 114.337 +       y="465.27441"
 114.338 +       id="text5576"
 114.339 +       sodipodi:linespacing="100%"><tspan
 114.340 +         id="tspan5578"
 114.341 +         sodipodi:role="line"
 114.342 +         x="352.7023"
 114.343 +         y="465.27441">Timeline B</tspan></text>
 114.344 +    <path
 114.345 +       id="path5580"
 114.346 +       d="m 320.08408,461.37498 c 27.45405,0 27.45405,0 27.45405,0"
 114.347 +       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)"
 114.348 +       inkscape:connector-curvature="0" />
 114.349 +    <path
 114.350 +       inkscape:connector-curvature="0"
 114.351 +       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)"
 114.352 +       d="m 195.41471,497.37498 c 151.68424,0 151.68424,0 151.68424,0"
 114.353 +       id="path5582" />
 114.354 +    <text
 114.355 +       sodipodi:linespacing="100%"
 114.356 +       id="text5584"
 114.357 +       y="500.02267"
 114.358 +       x="352.7023"
 114.359 +       style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 114.360 +       xml:space="preserve"><tspan
 114.361 +         y="500.02267"
 114.362 +         x="352.7023"
 114.363 +         sodipodi:role="line"
 114.364 +         id="tspan5586">Physical time</tspan></text>
 114.365 +    <path
 114.366 +       id="path5588"
 114.367 +       d="m 195.92204,401.37498 c 33.06652,0 33.06652,0 33.06652,0"
 114.368 +       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"
 114.369 +       inkscape:connector-curvature="0" />
 114.370 +    <g
 114.371 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
 114.372 +       transform="translate(-70,0)"
 114.373 +       id="g5590">
 114.374 +      <path
 114.375 +         style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
 114.376 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
 114.377 +         id="path5592"
 114.378 +         inkscape:connector-curvature="0" />
 114.379 +      <text
 114.380 +         sodipodi:linespacing="100%"
 114.381 +         id="text5594"
 114.382 +         y="376.52615"
 114.383 +         x="298.7023"
 114.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"
 114.385 +         xml:space="preserve"><tspan
 114.386 +           y="376.52615"
 114.387 +           x="298.7023"
 114.388 +           id="tspan5596"
 114.389 +           sodipodi:role="line"
 114.390 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
 114.391 +           y="385.74353"
 114.392 +           x="298.7023"
 114.393 +           sodipodi:role="line"
 114.394 +           id="tspan5598"
 114.395 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text>
 114.396 +    </g>
 114.397 +    <g
 114.398 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
 114.399 +       transform="translate(-60,0)"
 114.400 +       id="g5600">
 114.401 +      <path
 114.402 +         style="fill:none;stroke:#000000;stroke-width:1.79999995;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
 114.403 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
 114.404 +         id="path5602"
 114.405 +         inkscape:connector-curvature="0" />
 114.406 +      <text
 114.407 +         sodipodi:linespacing="100%"
 114.408 +         id="text5604"
 114.409 +         y="376.52615"
 114.410 +         x="378.7023"
 114.411 +         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
 114.412 +         xml:space="preserve"><tspan
 114.413 +           y="376.52615"
 114.414 +           x="380.20621"
 114.415 +           id="tspan5606"
 114.416 +           sodipodi:role="line"
 114.417 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
 114.418 +             style="font-size:10px"
 114.419 +             id="tspan5608">Resume </tspan></tspan><tspan
 114.420 +           y="385.74353"
 114.421 +           x="378.7023"
 114.422 +           sodipodi:role="line"
 114.423 +           id="tspan5610"
 114.424 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text>
 114.425 +    </g>
 114.426 +    <text
 114.427 +       sodipodi:linespacing="100%"
 114.428 +       id="text5612"
 114.429 +       y="405.27441"
 114.430 +       x="352.7023"
 114.431 +       style="font-size:10px;font-style: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"
 114.432 +       xml:space="preserve"><tspan
 114.433 +         y="405.27441"
 114.434 +         x="352.7023"
 114.435 +         sodipodi:role="line"
 114.436 +         id="tspan5614">Timeline A</tspan></text>
 114.437 +    <path
 114.438 +       inkscape:connector-curvature="0"
 114.439 +       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)"
 114.440 +       d="m 320.08408,401.37498 c 27.45405,0 27.45405,0 27.45405,0"
 114.441 +       id="path5616" />
 114.442 +    <path
 114.443 +       sodipodi:nodetypes="csc"
 114.444 +       inkscape:connector-curvature="0"
 114.445 +       id="path5618"
 114.446 +       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"
 114.447 +       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)" />
 114.448 +  </g>
 114.449 +</svg>
   115.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   115.2 +++ b/1__Presentations/13__Jy_01__DSLDI/PR__timeline_single.svg	Sat Aug 03 19:24:22 2013 -0700
   115.3 @@ -0,0 +1,306 @@
   115.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   115.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   115.6 +
   115.7 +<svg
   115.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   115.9 +   xmlns:cc="http://creativecommons.org/ns#"
  115.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  115.11 +   xmlns:svg="http://www.w3.org/2000/svg"
  115.12 +   xmlns="http://www.w3.org/2000/svg"
  115.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  115.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  115.15 +   width="744.09448819"
  115.16 +   height="1052.3622047"
  115.17 +   id="svg2"
  115.18 +   sodipodi:version="0.32"
  115.19 +   inkscape:version="0.48.2 r9819"
  115.20 +   sodipodi:docname="PR__timeline_single.svg"
  115.21 +   inkscape:output_extension="org.inkscape.output.svg.inkscape"
  115.22 +   version="1.1">
  115.23 +  <defs
  115.24 +     id="defs4">
  115.25 +    <marker
  115.26 +       inkscape:stockid="Arrow2Mend"
  115.27 +       orient="auto"
  115.28 +       refY="0.0"
  115.29 +       refX="0.0"
  115.30 +       id="Arrow2Mend"
  115.31 +       style="overflow:visible;">
  115.32 +      <path
  115.33 +         id="path4008"
  115.34 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
  115.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 "
  115.36 +         transform="scale(0.6) rotate(180) translate(0,0)" />
  115.37 +    </marker>
  115.38 +    <inkscape:perspective
  115.39 +       sodipodi:type="inkscape:persp3d"
  115.40 +       inkscape:vp_x="0 : 526.18109 : 1"
  115.41 +       inkscape:vp_y="0 : 1000 : 0"
  115.42 +       inkscape:vp_z="744.09448 : 526.18109 : 1"
  115.43 +       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
  115.44 +       id="perspective10" />
  115.45 +    <inkscape:perspective
  115.46 +       id="perspective11923"
  115.47 +       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
  115.48 +       inkscape:vp_z="1 : 0.5 : 1"
  115.49 +       inkscape:vp_y="0 : 1000 : 0"
  115.50 +       inkscape:vp_x="0 : 0.5 : 1"
  115.51 +       sodipodi:type="inkscape:persp3d" />
  115.52 +  </defs>
  115.53 +  <sodipodi:namedview
  115.54 +     id="base"
  115.55 +     pagecolor="#ffffff"
  115.56 +     bordercolor="#666666"
  115.57 +     borderopacity="1.0"
  115.58 +     gridtolerance="10000"
  115.59 +     guidetolerance="10"
  115.60 +     objecttolerance="10"
  115.61 +     inkscape:pageopacity="0.0"
  115.62 +     inkscape:pageshadow="2"
  115.63 +     inkscape:zoom="3.5576235"
  115.64 +     inkscape:cx="365.33771"
  115.65 +     inkscape:cy="706.58767"
  115.66 +     inkscape:document-units="px"
  115.67 +     inkscape:current-layer="layer1"
  115.68 +     showgrid="false"
  115.69 +     inkscape:window-width="1600"
  115.70 +     inkscape:window-height="848"
  115.71 +     inkscape:window-x="-8"
  115.72 +     inkscape:window-y="-8"
  115.73 +     inkscape:window-maximized="0" />
  115.74 +  <metadata
  115.75 +     id="metadata7">
  115.76 +    <rdf:RDF>
  115.77 +      <cc:Work
  115.78 +         rdf:about="">
  115.79 +        <dc:format>image/svg+xml</dc:format>
  115.80 +        <dc:type
  115.81 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  115.82 +        <dc:title></dc:title>
  115.83 +      </cc:Work>
  115.84 +    </rdf:RDF>
  115.85 +  </metadata>
  115.86 +  <g
  115.87 +     inkscape:label="Layer 1"
  115.88 +     inkscape:groupmode="layer"
  115.89 +     id="layer1">
  115.90 +    <path
  115.91 +       id="path8089"
  115.92 +       d="m 195.41471,257.37498 c 151.68424,0 151.68424,0 151.68424,0"
  115.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)"
  115.94 +       inkscape:connector-curvature="0" />
  115.95 +    <text
  115.96 +       xml:space="preserve"
  115.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"
  115.98 +       x="352.7023"
  115.99 +       y="260.77094"
 115.100 +       id="text8091"
 115.101 +       sodipodi:linespacing="100%"><tspan
 115.102 +         id="tspan8093"
 115.103 +         sodipodi:role="line"
 115.104 +         x="352.7023"
 115.105 +         y="260.77094">Physical time</tspan></text>
 115.106 +    <path
 115.107 +       inkscape:connector-curvature="0"
 115.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"
 115.109 +       d="m 195.92204,221.37498 c 33.06652,0 33.06652,0 33.06652,0"
 115.110 +       id="path8095" />
 115.111 +    <g
 115.112 +       id="g8097"
 115.113 +       transform="translate(-70,-180)"
 115.114 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none">
 115.115 +      <path
 115.116 +         inkscape:connector-curvature="0"
 115.117 +         id="path8099"
 115.118 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
 115.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" />
 115.120 +      <text
 115.121 +         xml:space="preserve"
 115.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"
 115.123 +         x="298.7023"
 115.124 +         y="376.52615"
 115.125 +         id="text8101"
 115.126 +         sodipodi:linespacing="100%"><tspan
 115.127 +           style="font-size:10px;text-align:center;text-anchor:middle"
 115.128 +           sodipodi:role="line"
 115.129 +           id="tspan8103"
 115.130 +           x="298.7023"
 115.131 +           y="376.52615">Suspend</tspan><tspan
 115.132 +           style="font-size:9px;text-align:center;text-anchor:middle"
 115.133 +           id="tspan8105"
 115.134 +           sodipodi:role="line"
 115.135 +           x="298.7023"
 115.136 +           y="385.74353">(Point 1.S)</tspan></text>
 115.137 +    </g>
 115.138 +    <g
 115.139 +       id="g8107"
 115.140 +       transform="translate(-60,-180)"
 115.141 +       style="stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">
 115.142 +      <path
 115.143 +         inkscape:connector-curvature="0"
 115.144 +         id="path8109"
 115.145 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
 115.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" />
 115.147 +      <text
 115.148 +         xml:space="preserve"
 115.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"
 115.150 +         x="378.7023"
 115.151 +         y="376.52615"
 115.152 +         id="text8111"
 115.153 +         sodipodi:linespacing="100%"><tspan
 115.154 +           style="font-size:9px;text-align:center;text-anchor:middle;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"
 115.155 +           sodipodi:role="line"
 115.156 +           id="tspan8113"
 115.157 +           x="380.20621"
 115.158 +           y="376.52615"><tspan
 115.159 +             id="tspan8115"
 115.160 +             style="font-size:10px;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none">Resume </tspan></tspan><tspan
 115.161 +           style="font-size:9px;text-align:center;text-anchor:middle;stroke-width:1.8;stroke-miterlimit:4;stroke-dasharray:none"
 115.162 +           id="tspan8117"
 115.163 +           sodipodi:role="line"
 115.164 +           x="378.7023"
 115.165 +           y="385.74353">(Point 1.R)</tspan></text>
 115.166 +    </g>
 115.167 +    <text
 115.168 +       xml:space="preserve"
 115.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"
 115.170 +       x="352.7023"
 115.171 +       y="224.52615"
 115.172 +       id="text8119"
 115.173 +       sodipodi:linespacing="100%"><tspan
 115.174 +         id="tspan8121"
 115.175 +         sodipodi:role="line"
 115.176 +         x="352.7023"
 115.177 +         y="224.52615">Timeline A</tspan></text>
 115.178 +    <path
 115.179 +       id="path8123"
 115.180 +       d="m 320.08408,221.37498 c 27.45405,0 27.45405,0 27.45405,0"
 115.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"
 115.182 +       inkscape:connector-curvature="0" />
 115.183 +    <path
 115.184 +       inkscape:connector-curvature="0"
 115.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)"
 115.186 +       d="m 195.41471,377.37498 c 151.68424,0 151.68424,0 151.68424,0"
 115.187 +       id="path5836" />
 115.188 +    <text
 115.189 +       sodipodi:linespacing="100%"
 115.190 +       id="text5838"
 115.191 +       y="380.77094"
 115.192 +       x="352.7023"
 115.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"
 115.194 +       xml:space="preserve"><tspan
 115.195 +         y="380.77094"
 115.196 +         x="352.7023"
 115.197 +         sodipodi:role="line"
 115.198 +         id="tspan5840">Physical time</tspan></text>
 115.199 +    <path
 115.200 +       id="path5842"
 115.201 +       d="m 195.92204,341.37498 c 33.06652,0 33.06652,0 33.06652,0"
 115.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"
 115.203 +       inkscape:connector-curvature="0" />
 115.204 +    <g
 115.205 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
 115.206 +       transform="translate(-70,-60)"
 115.207 +       id="g5844">
 115.208 +      <path
 115.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"
 115.210 +         d="m 298.82881,392.82004 c 0,19.38279 0,19.38279 0,19.38279"
 115.211 +         id="path5846"
 115.212 +         inkscape:connector-curvature="0" />
 115.213 +      <text
 115.214 +         sodipodi:linespacing="100%"
 115.215 +         id="text5848"
 115.216 +         y="376.52615"
 115.217 +         x="298.7023"
 115.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"
 115.219 +         xml:space="preserve"><tspan
 115.220 +           y="376.52615"
 115.221 +           x="298.7023"
 115.222 +           id="tspan5850"
 115.223 +           sodipodi:role="line"
 115.224 +           style="font-size:10px;text-align:center;text-anchor:middle">Suspend</tspan><tspan
 115.225 +           y="385.74353"
 115.226 +           x="298.7023"
 115.227 +           sodipodi:role="line"
 115.228 +           id="tspan5852"
 115.229 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.S)</tspan></text>
 115.230 +    </g>
 115.231 +    <g
 115.232 +       style="stroke-width:1.79999995;stroke-miterlimit:4;stroke-dasharray:none"
 115.233 +       transform="translate(-60,-60)"
 115.234 +       id="g5854">
 115.235 +      <path
 115.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"
 115.237 +         d="m 378.82881,392.77746 c 0,19.15152 0,19.15152 0,19.15152"
 115.238 +         id="path5856"
 115.239 +         inkscape:connector-curvature="0" />
 115.240 +      <text
 115.241 +         sodipodi:linespacing="100%"
 115.242 +         id="text5858"
 115.243 +         y="376.52615"
 115.244 +         x="378.7023"
 115.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"
 115.246 +         xml:space="preserve"><tspan
 115.247 +           y="376.52615"
 115.248 +           x="380.20621"
 115.249 +           id="tspan5860"
 115.250 +           sodipodi:role="line"
 115.251 +           style="font-size:9px;text-align:center;text-anchor:middle"><tspan
 115.252 +             style="font-size:10px"
 115.253 +             id="tspan5862">Resume </tspan></tspan><tspan
 115.254 +           y="385.74353"
 115.255 +           x="378.7023"
 115.256 +           sodipodi:role="line"
 115.257 +           id="tspan5864"
 115.258 +           style="font-size:9px;text-align:center;text-anchor:middle">(Point 1.R)</tspan></text>
 115.259 +    </g>
 115.260 +    <text
 115.261 +       sodipodi:linespacing="100%"
 115.262 +       id="text5866"
 115.263 +       y="344.52615"
 115.264 +       x="352.7023"
 115.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"
 115.266 +       xml:space="preserve"><tspan
 115.267 +         y="344.52615"
 115.268 +         x="352.7023"
 115.269 +         sodipodi:role="line"
 115.270 +         id="tspan5868">Timeline A</tspan></text>
 115.271 +    <path
 115.272 +       inkscape:connector-curvature="0"
 115.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)"
 115.274 +       d="m 320.08408,341.37498 c 27.45405,0 27.45405,0 27.45405,0"
 115.275 +       id="path5870" />
 115.276 +    <path
 115.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"
 115.278 +       d="m 248.81439,338.09818 c 0,9.22856 0,9.22856 0,9.22856"
 115.279 +       id="path5846-1"
 115.280 +       inkscape:connector-curvature="0" />
 115.281 +    <path
 115.282 +       inkscape:connector-curvature="0"
 115.283 +       id="path6664"
 115.284 +       d="m 266.81439,338.09818 c 0,9.22856 0,9.22856 0,9.22856"
 115.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" />
 115.286 +    <path
 115.287 +       inkscape:connector-curvature="0"
 115.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"
 115.289 +       d="m 249.92204,341.37498 c 16.089,0 16.089,0 16.089,0"
 115.290 +       id="path6666" />
 115.291 +    <text
 115.292 +       xml:space="preserve"
 115.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"
 115.294 +       x="244.7023"
 115.295 +       y="356.52615"
 115.296 +       id="text6668"
 115.297 +       sodipodi:linespacing="100%"><tspan
 115.298 +         sodipodi:role="line"
 115.299 +         x="244.7023"
 115.300 +         y="356.52615"
 115.301 +         style="font-size:8px;fill:#999999"
 115.302 +         id="tspan6674">Hidden</tspan><tspan
 115.303 +         sodipodi:role="line"
 115.304 +         x="244.7023"
 115.305 +         y="364.52615"
 115.306 +         id="tspan6672"
 115.307 +         style="font-size:8px;fill:#999999">meta-comm</tspan></text>
 115.308 +  </g>
 115.309 +</svg>
   116.1 Binary file 1__Presentations/13__Jy_01__DSLDI/ProtoRuntime_expl.odp has changed
   117.1 Binary file 1__Presentations/13__Jy_01__DSLDI/ProtoRuntime_expl.pdf has changed
   118.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   118.2 +++ b/1__Presentations/13__Jy_01__DSLDI/software_stack_PRT.svg	Sat Aug 03 19:24:22 2013 -0700
   118.3 @@ -0,0 +1,2209 @@
   118.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
   118.5 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
   118.6 +
   118.7 +<svg
   118.8 +   xmlns:dc="http://purl.org/dc/elements/1.1/"
   118.9 +   xmlns:cc="http://creativecommons.org/ns#"
  118.10 +   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  118.11 +   xmlns:svg="http://www.w3.org/2000/svg"
  118.12 +   xmlns="http://www.w3.org/2000/svg"
  118.13 +   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  118.14 +   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  118.15 +   width="744.09448819"
  118.16 +   height="1052.3622047"
  118.17 +   id="svg2"
  118.18 +   version="1.1"
  118.19 +   inkscape:version="0.48.2 r9819"
  118.20 +   sodipodi:docname="software_stack_PRT.svg">
  118.21 +  <defs
  118.22 +     id="defs4">
  118.23 +    <marker
  118.24 +       inkscape:stockid="Arrow2Mend"
  118.25 +       orient="auto"
  118.26 +       refY="0.0"
  118.27 +       refX="0.0"
  118.28 +       id="Arrow2Mend"
  118.29 +       style="overflow:visible;">
  118.30 +      <path
  118.31 +         id="path12287"
  118.32 +         style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
  118.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 "
  118.34 +         transform="scale(0.6) rotate(180) translate(0,0)" />
  118.35 +    </marker>
  118.36 +    <marker
  118.37 +       inkscape:stockid="Arrow1Mend"
  118.38 +       orient="auto"
  118.39 +       refY="0.0"
  118.40 +       refX="0.0"
  118.41 +       id="Arrow1Mend"
  118.42 +       style="overflow:visible;">
  118.43 +      <path
  118.44 +         id="path12269"
  118.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 "
  118.46 +         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
  118.47 +         transform="scale(0.4) rotate(180) translate(10,0)" />
  118.48 +    </marker>
  118.49 +  </defs>
  118.50 +  <sodipodi:namedview
  118.51 +     id="base"
  118.52 +     pagecolor="#ffffff"
  118.53 +     bordercolor="#666666"
  118.54 +     borderopacity="1.0"
  118.55 +     inkscape:pageopacity="0.0"
  118.56 +     inkscape:pageshadow="2"
  118.57 +     inkscape:zoom="1.89"
  118.58 +     inkscape:cx="374.11139"
  118.59 +     inkscape:cy="538.12457"
  118.60 +     inkscape:document-units="px"
  118.61 +     inkscape:current-layer="layer1"
  118.62 +     showgrid="false"
  118.63 +     inkscape:window-width="1600"
  118.64 +     inkscape:window-height="848"
  118.65 +     inkscape:window-x="-8"
  118.66 +     inkscape:window-y="-8"
  118.67 +     inkscape:window-maximized="1"
  118.68 +     showguides="true"
  118.69 +     inkscape:guide-bbox="true" />
  118.70 +  <metadata
  118.71 +     id="metadata7">
  118.72 +    <rdf:RDF>
  118.73 +      <cc:Work
  118.74 +         rdf:about="">
  118.75 +        <dc:format>image/svg+xml</dc:format>
  118.76 +        <dc:type
  118.77 +           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  118.78 +        <dc:title></dc:title>
  118.79 +      </cc:Work>
  118.80 +    </rdf:RDF>
  118.81 +  </metadata>
  118.82 +  <g
  118.83 +     inkscape:label="Layer 1"
  118.84 +     inkscape:groupmode="layer"
  118.85 +     id="layer1">
  118.86 +    <path
  118.87 +       inkscape:connector-curvature="0"
  118.88 +       id="5"
  118.89 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
  118.90 +       d="m 312.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" />
  118.91 +    <path
  118.92 +       inkscape:connector-curvature="0"
  118.93 +       id="6"
  118.94 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
  118.95 +       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" />
  118.96 +    <path
  118.97 +       inkscape:connector-curvature="0"
  118.98 +       id="7"
  118.99 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.100 +       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" />
 118.101 +    <path
 118.102 +       inkscape:connector-curvature="0"
 118.103 +       id="8"
 118.104 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.105 +       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" />
 118.106 +    <path
 118.107 +       inkscape:connector-curvature="0"
 118.108 +       id="9"
 118.109 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.110 +       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" />
 118.111 +    <path
 118.112 +       inkscape:connector-curvature="0"
 118.113 +       id="10"
 118.114 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.115 +       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" />
 118.116 +    <path
 118.117 +       inkscape:connector-curvature="0"
 118.118 +       id="11"
 118.119 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.120 +       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" />
 118.121 +    <path
 118.122 +       inkscape:connector-curvature="0"
 118.123 +       id="12"
 118.124 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.125 +       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" />
 118.126 +    <path
 118.127 +       inkscape:connector-curvature="0"
 118.128 +       id="13"
 118.129 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.130 +       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" />
 118.131 +    <path
 118.132 +       inkscape:connector-curvature="0"
 118.133 +       id="14"
 118.134 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.135 +       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" />
 118.136 +    <path
 118.137 +       inkscape:connector-curvature="0"
 118.138 +       id="15"
 118.139 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.140 +       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" />
 118.141 +    <path
 118.142 +       inkscape:connector-curvature="0"
 118.143 +       id="16"
 118.144 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.145 +       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" />
 118.146 +    <path
 118.147 +       inkscape:connector-curvature="0"
 118.148 +       id="17"
 118.149 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.150 +       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" />
 118.151 +    <path
 118.152 +       inkscape:connector-curvature="0"
 118.153 +       id="18"
 118.154 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.155 +       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" />
 118.156 +    <path
 118.157 +       inkscape:connector-curvature="0"
 118.158 +       id="19"
 118.159 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.160 +       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" />
 118.161 +    <path
 118.162 +       inkscape:connector-curvature="0"
 118.163 +       id="20"
 118.164 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.165 +       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" />
 118.166 +    <path
 118.167 +       inkscape:connector-curvature="0"
 118.168 +       id="21"
 118.169 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.170 +       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" />
 118.171 +    <path
 118.172 +       inkscape:connector-curvature="0"
 118.173 +       id="22"
 118.174 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.175 +       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" />
 118.176 +    <path
 118.177 +       inkscape:connector-curvature="0"
 118.178 +       id="31"
 118.179 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.180 +       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" />
 118.181 +    <path
 118.182 +       inkscape:connector-curvature="0"
 118.183 +       id="32"
 118.184 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.185 +       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" />
 118.186 +    <path
 118.187 +       inkscape:connector-curvature="0"
 118.188 +       id="33"
 118.189 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.190 +       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" />
 118.191 +    <path
 118.192 +       inkscape:connector-curvature="0"
 118.193 +       id="34"
 118.194 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.195 +       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" />
 118.196 +    <path
 118.197 +       inkscape:connector-curvature="0"
 118.198 +       id="35"
 118.199 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.200 +       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" />
 118.201 +    <path
 118.202 +       inkscape:connector-curvature="0"
 118.203 +       id="36"
 118.204 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.205 +       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" />
 118.206 +    <path
 118.207 +       inkscape:connector-curvature="0"
 118.208 +       id="38"
 118.209 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.210 +       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" />
 118.211 +    <path
 118.212 +       inkscape:connector-curvature="0"
 118.213 +       id="39"
 118.214 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.215 +       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" />
 118.216 +    <path
 118.217 +       inkscape:connector-curvature="0"
 118.218 +       id="40"
 118.219 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.220 +       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" />
 118.221 +    <path
 118.222 +       inkscape:connector-curvature="0"
 118.223 +       id="41"
 118.224 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.225 +       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" />
 118.226 +    <path
 118.227 +       inkscape:connector-curvature="0"
 118.228 +       id="42"
 118.229 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.230 +       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" />
 118.231 +    <path
 118.232 +       inkscape:connector-curvature="0"
 118.233 +       id="50"
 118.234 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.235 +       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" />
 118.236 +    <path
 118.237 +       inkscape:connector-curvature="0"
 118.238 +       id="51"
 118.239 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.240 +       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" />
 118.241 +    <path
 118.242 +       inkscape:connector-curvature="0"
 118.243 +       id="52"
 118.244 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.245 +       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" />
 118.246 +    <path
 118.247 +       inkscape:connector-curvature="0"
 118.248 +       id="53"
 118.249 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.250 +       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" />
 118.251 +    <path
 118.252 +       inkscape:connector-curvature="0"
 118.253 +       id="54"
 118.254 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.255 +       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" />
 118.256 +    <path
 118.257 +       inkscape:connector-curvature="0"
 118.258 +       id="55"
 118.259 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.260 +       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" />
 118.261 +    <path
 118.262 +       inkscape:connector-curvature="0"
 118.263 +       id="56"
 118.264 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.265 +       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" />
 118.266 +    <path
 118.267 +       inkscape:connector-curvature="0"
 118.268 +       id="57"
 118.269 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.270 +       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" />
 118.271 +    <path
 118.272 +       inkscape:connector-curvature="0"
 118.273 +       id="58"
 118.274 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.275 +       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" />
 118.276 +    <path
 118.277 +       inkscape:connector-curvature="0"
 118.278 +       id="59"
 118.279 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.280 +       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" />
 118.281 +    <path
 118.282 +       inkscape:connector-curvature="0"
 118.283 +       id="60"
 118.284 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.285 +       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" />
 118.286 +    <path
 118.287 +       inkscape:connector-curvature="0"
 118.288 +       id="61"
 118.289 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.290 +       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" />
 118.291 +    <path
 118.292 +       inkscape:connector-curvature="0"
 118.293 +       id="62"
 118.294 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.295 +       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" />
 118.296 +    <path
 118.297 +       inkscape:connector-curvature="0"
 118.298 +       id="63"
 118.299 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.300 +       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" />
 118.301 +    <path
 118.302 +       inkscape:connector-curvature="0"
 118.303 +       id="73"
 118.304 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.305 +       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" />
 118.306 +    <path
 118.307 +       inkscape:connector-curvature="0"
 118.308 +       id="74"
 118.309 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.310 +       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" />
 118.311 +    <path
 118.312 +       inkscape:connector-curvature="0"
 118.313 +       id="75"
 118.314 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.315 +       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" />
 118.316 +    <path
 118.317 +       inkscape:connector-curvature="0"
 118.318 +       id="76"
 118.319 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.320 +       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" />
 118.321 +    <path
 118.322 +       inkscape:connector-curvature="0"
 118.323 +       id="77"
 118.324 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.325 +       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" />
 118.326 +    <path
 118.327 +       inkscape:connector-curvature="0"
 118.328 +       id="78"
 118.329 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.330 +       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" />
 118.331 +    <path
 118.332 +       inkscape:connector-curvature="0"
 118.333 +       id="79"
 118.334 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.335 +       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" />
 118.336 +    <path
 118.337 +       inkscape:connector-curvature="0"
 118.338 +       id="80"
 118.339 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.340 +       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" />
 118.341 +    <path
 118.342 +       inkscape:connector-curvature="0"
 118.343 +       id="81"
 118.344 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.345 +       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" />
 118.346 +    <path
 118.347 +       inkscape:connector-curvature="0"
 118.348 +       id="82"
 118.349 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.350 +       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" />
 118.351 +    <path
 118.352 +       inkscape:connector-curvature="0"
 118.353 +       id="83"
 118.354 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.355 +       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" />
 118.356 +    <path
 118.357 +       inkscape:connector-curvature="0"
 118.358 +       id="84"
 118.359 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.360 +       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" />
 118.361 +    <path
 118.362 +       inkscape:connector-curvature="0"
 118.363 +       id="85"
 118.364 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.365 +       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" />
 118.366 +    <path
 118.367 +       inkscape:connector-curvature="0"
 118.368 +       id="86"
 118.369 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.370 +       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" />
 118.371 +    <path
 118.372 +       inkscape:connector-curvature="0"
 118.373 +       id="95"
 118.374 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.375 +       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" />
 118.376 +    <path
 118.377 +       inkscape:connector-curvature="0"
 118.378 +       id="96"
 118.379 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.380 +       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" />
 118.381 +    <path
 118.382 +       inkscape:connector-curvature="0"
 118.383 +       id="97"
 118.384 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.385 +       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" />
 118.386 +    <path
 118.387 +       inkscape:connector-curvature="0"
 118.388 +       id="98"
 118.389 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.390 +       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" />
 118.391 +    <path
 118.392 +       inkscape:connector-curvature="0"
 118.393 +       id="99"
 118.394 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.395 +       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" />
 118.396 +    <path
 118.397 +       inkscape:connector-curvature="0"
 118.398 +       id="100"
 118.399 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.400 +       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" />
 118.401 +    <path
 118.402 +       inkscape:connector-curvature="0"
 118.403 +       id="101"
 118.404 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.405 +       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" />
 118.406 +    <path
 118.407 +       inkscape:connector-curvature="0"
 118.408 +       id="102"
 118.409 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.410 +       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" />
 118.411 +    <path
 118.412 +       inkscape:connector-curvature="0"
 118.413 +       id="103"
 118.414 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.415 +       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" />
 118.416 +    <path
 118.417 +       inkscape:connector-curvature="0"
 118.418 +       id="104"
 118.419 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.420 +       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" />
 118.421 +    <path
 118.422 +       inkscape:connector-curvature="0"
 118.423 +       id="105"
 118.424 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.425 +       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" />
 118.426 +    <path
 118.427 +       inkscape:connector-curvature="0"
 118.428 +       id="106"
 118.429 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.430 +       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" />
 118.431 +    <path
 118.432 +       inkscape:connector-curvature="0"
 118.433 +       id="107"
 118.434 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.435 +       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" />
 118.436 +    <path
 118.437 +       inkscape:connector-curvature="0"
 118.438 +       id="108"
 118.439 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.440 +       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" />
 118.441 +    <path
 118.442 +       inkscape:connector-curvature="0"
 118.443 +       id="114"
 118.444 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.445 +       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" />
 118.446 +    <path
 118.447 +       inkscape:connector-curvature="0"
 118.448 +       id="115"
 118.449 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.450 +       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" />
 118.451 +    <path
 118.452 +       inkscape:connector-curvature="0"
 118.453 +       id="116"
 118.454 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.455 +       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" />
 118.456 +    <path
 118.457 +       inkscape:connector-curvature="0"
 118.458 +       id="117"
 118.459 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.460 +       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" />
 118.461 +    <path
 118.462 +       inkscape:connector-curvature="0"
 118.463 +       id="118"
 118.464 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.465 +       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" />
 118.466 +    <path
 118.467 +       inkscape:connector-curvature="0"
 118.468 +       id="119"
 118.469 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.470 +       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" />
 118.471 +    <path
 118.472 +       inkscape:connector-curvature="0"
 118.473 +       id="120"
 118.474 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.475 +       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" />
 118.476 +    <path
 118.477 +       inkscape:connector-curvature="0"
 118.478 +       id="121"
 118.479 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.480 +       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" />
 118.481 +    <path
 118.482 +       inkscape:connector-curvature="0"
 118.483 +       id="122"
 118.484 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.485 +       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" />
 118.486 +    <path
 118.487 +       inkscape:connector-curvature="0"
 118.488 +       id="123"
 118.489 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.490 +       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" />
 118.491 +    <path
 118.492 +       inkscape:connector-curvature="0"
 118.493 +       id="124"
 118.494 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.495 +       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" />
 118.496 +    <path
 118.497 +       inkscape:connector-curvature="0"
 118.498 +       id="125"
 118.499 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.500 +       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" />
 118.501 +    <path
 118.502 +       inkscape:connector-curvature="0"
 118.503 +       id="126"
 118.504 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.505 +       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" />
 118.506 +    <path
 118.507 +       inkscape:connector-curvature="0"
 118.508 +       id="127"
 118.509 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.510 +       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" />
 118.511 +    <path
 118.512 +       inkscape:connector-curvature="0"
 118.513 +       id="137"
 118.514 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.515 +       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" />
 118.516 +    <path
 118.517 +       inkscape:connector-curvature="0"
 118.518 +       id="138"
 118.519 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.520 +       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" />
 118.521 +    <path
 118.522 +       inkscape:connector-curvature="0"
 118.523 +       id="139"
 118.524 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.525 +       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" />
 118.526 +    <path
 118.527 +       inkscape:connector-curvature="0"
 118.528 +       id="140"
 118.529 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.530 +       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" />
 118.531 +    <path
 118.532 +       inkscape:connector-curvature="0"
 118.533 +       id="141"
 118.534 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.535 +       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" />
 118.536 +    <path
 118.537 +       inkscape:connector-curvature="0"
 118.538 +       id="142"
 118.539 +       style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.540 +       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" />
 118.541 +    <path
 118.542 +       inkscape:connector-curvature="0"
 118.543 +       id="143"
 118.544 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.545 +       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" />
 118.546 +    <path
 118.547 +       inkscape:connector-curvature="0"
 118.548 +       id="144"
 118.549 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.550 +       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" />
 118.551 +    <path
 118.552 +       inkscape:connector-curvature="0"
 118.553 +       id="145"
 118.554 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.555 +       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" />
 118.556 +    <path
 118.557 +       inkscape:connector-curvature="0"
 118.558 +       id="146"
 118.559 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.560 +       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" />
 118.561 +    <path
 118.562 +       inkscape:connector-curvature="0"
 118.563 +       id="147"
 118.564 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.565 +       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" />
 118.566 +    <path
 118.567 +       inkscape:connector-curvature="0"
 118.568 +       id="148"
 118.569 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.570 +       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" />
 118.571 +    <path
 118.572 +       inkscape:connector-curvature="0"
 118.573 +       id="149"
 118.574 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.575 +       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" />
 118.576 +    <path
 118.577 +       inkscape:connector-curvature="0"
 118.578 +       id="150"
 118.579 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.580 +       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" />
 118.581 +    <path
 118.582 +       inkscape:connector-curvature="0"
 118.583 +       id="151"
 118.584 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.585 +       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" />
 118.586 +    <path
 118.587 +       inkscape:connector-curvature="0"
 118.588 +       id="152"
 118.589 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.590 +       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" />
 118.591 +    <path
 118.592 +       inkscape:connector-curvature="0"
 118.593 +       id="153"
 118.594 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.595 +       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" />
 118.596 +    <path
 118.597 +       inkscape:connector-curvature="0"
 118.598 +       id="154"
 118.599 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.600 +       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" />
 118.601 +    <path
 118.602 +       inkscape:connector-curvature="0"
 118.603 +       id="190"
 118.604 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.605 +       d="m 366.58037,412.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" />
 118.606 +    <path
 118.607 +       inkscape:connector-curvature="0"
 118.608 +       id="191"
 118.609 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.610 +       d="m 383.77147,420.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" />
 118.611 +    <path
 118.612 +       inkscape:connector-curvature="0"
 118.613 +       id="192"
 118.614 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.615 +       d="m 396.67087,413.30647 -0.0727,11.39856 -0.58194,0 -0.58191,0 0.0727,-11.39856 0.58193,0 0.58193,0 z" />
 118.616 +    <path
 118.617 +       inkscape:connector-curvature="0"
 118.618 +       id="193"
 118.619 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.620 +       d="m 398.8046,420.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" />
 118.621 +    <path
 118.622 +       inkscape:connector-curvature="0"
 118.623 +       id="194"
 118.624 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.625 +       d="m 426.20369,413.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" />
 118.626 +    <path
 118.627 +       inkscape:connector-curvature="0"
 118.628 +       id="195"
 118.629 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.630 +       d="m 411.60701,423.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" />
 118.631 +    <path
 118.632 +       inkscape:connector-curvature="0"
 118.633 +       id="384"
 118.634 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.635 +       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" />
 118.636 +    <path
 118.637 +       inkscape:connector-curvature="0"
 118.638 +       id="385"
 118.639 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.640 +       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" />
 118.641 +    <path
 118.642 +       inkscape:connector-curvature="0"
 118.643 +       id="386"
 118.644 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.645 +       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" />
 118.646 +    <path
 118.647 +       inkscape:connector-curvature="0"
 118.648 +       id="387"
 118.649 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.650 +       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" />
 118.651 +    <path
 118.652 +       inkscape:connector-curvature="0"
 118.653 +       id="388"
 118.654 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.655 +       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" />
 118.656 +    <path
 118.657 +       inkscape:connector-curvature="0"
 118.658 +       id="389"
 118.659 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.660 +       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" />
 118.661 +    <path
 118.662 +       inkscape:connector-curvature="0"
 118.663 +       id="390"
 118.664 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.665 +       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" />
 118.666 +    <path
 118.667 +       inkscape:connector-curvature="0"
 118.668 +       id="391"
 118.669 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.670 +       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" />
 118.671 +    <path
 118.672 +       inkscape:connector-curvature="0"
 118.673 +       id="392"
 118.674 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.675 +       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" />
 118.676 +    <path
 118.677 +       inkscape:connector-curvature="0"
 118.678 +       id="393"
 118.679 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.680 +       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" />
 118.681 +    <path
 118.682 +       inkscape:connector-curvature="0"
 118.683 +       id="394"
 118.684 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.685 +       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" />
 118.686 +    <path
 118.687 +       inkscape:connector-curvature="0"
 118.688 +       id="395"
 118.689 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.690 +       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" />
 118.691 +    <path
 118.692 +       inkscape:connector-curvature="0"
 118.693 +       id="396"
 118.694 +       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.695 +       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" />
 118.696 +    <path
 118.697 +       inkscape:connector-curvature="0"
 118.698 +       id="397"
 118.699 +       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.700 +       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" />
 118.701 +    <path
 118.702 +       inkscape:connector-curvature="0"
 118.703 +       id="398"
 118.704 +       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.705 +       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" />
 118.706 +    <path
 118.707 +       inkscape:connector-curvature="0"
 118.708 +       id="399"
 118.709 +       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.710 +       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" />
 118.711 +    <path
 118.712 +       inkscape:connector-curvature="0"
 118.713 +       id="400"
 118.714 +       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.715 +       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" />
 118.716 +    <path
 118.717 +       inkscape:connector-curvature="0"
 118.718 +       id="401"
 118.719 +       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.720 +       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" />
 118.721 +    <path
 118.722 +       inkscape:connector-curvature="0"
 118.723 +       id="402"
 118.724 +       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.725 +       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" />
 118.726 +    <path
 118.727 +       inkscape:connector-curvature="0"
 118.728 +       id="403"
 118.729 +       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.730 +       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" />
 118.731 +    <path
 118.732 +       inkscape:connector-curvature="0"
 118.733 +       id="404"
 118.734 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.735 +       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" />
 118.736 +    <path
 118.737 +       inkscape:connector-curvature="0"
 118.738 +       id="405"
 118.739 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.740 +       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" />
 118.741 +    <path
 118.742 +       inkscape:connector-curvature="0"
 118.743 +       id="406"
 118.744 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.745 +       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" />
 118.746 +    <path
 118.747 +       inkscape:connector-curvature="0"
 118.748 +       id="407"
 118.749 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.750 +       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" />
 118.751 +    <path
 118.752 +       inkscape:connector-curvature="0"
 118.753 +       id="408"
 118.754 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.755 +       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" />
 118.756 +    <path
 118.757 +       inkscape:connector-curvature="0"
 118.758 +       id="409"
 118.759 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.760 +       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" />
 118.761 +    <path
 118.762 +       inkscape:connector-curvature="0"
 118.763 +       id="410"
 118.764 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.765 +       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" />
 118.766 +    <path
 118.767 +       inkscape:connector-curvature="0"
 118.768 +       id="411"
 118.769 +       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.770 +       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" />
 118.771 +    <path
 118.772 +       inkscape:connector-curvature="0"
 118.773 +       id="415"
 118.774 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.775 +       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" />
 118.776 +    <path
 118.777 +       inkscape:connector-curvature="0"
 118.778 +       id="416"
 118.779 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.780 +       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" />
 118.781 +    <path
 118.782 +       inkscape:connector-curvature="0"
 118.783 +       id="417"
 118.784 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.785 +       d="m 298.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" />
 118.786 +    <path
 118.787 +       inkscape:connector-curvature="0"
 118.788 +       id="418"
 118.789 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.790 +       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" />
 118.791 +    <path
 118.792 +       inkscape:connector-curvature="0"
 118.793 +       id="419"
 118.794 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.795 +       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" />
 118.796 +    <path
 118.797 +       inkscape:connector-curvature="0"
 118.798 +       id="420"
 118.799 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.800 +       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" />
 118.801 +    <path
 118.802 +       inkscape:connector-curvature="0"
 118.803 +       id="421"
 118.804 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.805 +       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" />
 118.806 +    <path
 118.807 +       inkscape:connector-curvature="0"
 118.808 +       id="422"
 118.809 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.810 +       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" />
 118.811 +    <path
 118.812 +       inkscape:connector-curvature="0"
 118.813 +       id="423"
 118.814 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.815 +       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" />
 118.816 +    <path
 118.817 +       inkscape:connector-curvature="0"
 118.818 +       id="424"
 118.819 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.820 +       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" />
 118.821 +    <path
 118.822 +       inkscape:connector-curvature="0"
 118.823 +       id="425"
 118.824 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.825 +       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" />
 118.826 +    <path
 118.827 +       inkscape:connector-curvature="0"
 118.828 +       id="426"
 118.829 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.830 +       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" />
 118.831 +    <path
 118.832 +       inkscape:connector-curvature="0"
 118.833 +       id="427"
 118.834 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.835 +       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" />
 118.836 +    <path
 118.837 +       inkscape:connector-curvature="0"
 118.838 +       id="428"
 118.839 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.840 +       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" />
 118.841 +    <path
 118.842 +       inkscape:connector-curvature="0"
 118.843 +       id="429"
 118.844 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.845 +       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" />
 118.846 +    <path
 118.847 +       inkscape:connector-curvature="0"
 118.848 +       id="430"
 118.849 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.850 +       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" />
 118.851 +    <path
 118.852 +       inkscape:connector-curvature="0"
 118.853 +       id="431"
 118.854 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.855 +       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" />
 118.856 +    <path
 118.857 +       inkscape:connector-curvature="0"
 118.858 +       id="432"
 118.859 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.860 +       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" />
 118.861 +    <path
 118.862 +       inkscape:connector-curvature="0"
 118.863 +       id="436"
 118.864 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.865 +       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" />
 118.866 +    <path
 118.867 +       inkscape:connector-curvature="0"
 118.868 +       id="437"
 118.869 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.870 +       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" />
 118.871 +    <path
 118.872 +       inkscape:connector-curvature="0"
 118.873 +       id="438"
 118.874 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.875 +       d="m 462.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" />
 118.876 +    <path
 118.877 +       inkscape:connector-curvature="0"
 118.878 +       id="439"
 118.879 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.880 +       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" />
 118.881 +    <path
 118.882 +       inkscape:connector-curvature="0"
 118.883 +       id="440"
 118.884 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.885 +       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" />
 118.886 +    <path
 118.887 +       inkscape:connector-curvature="0"
 118.888 +       id="441"
 118.889 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.890 +       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" />
 118.891 +    <path
 118.892 +       inkscape:connector-curvature="0"
 118.893 +       id="442"
 118.894 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.895 +       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" />
 118.896 +    <path
 118.897 +       inkscape:connector-curvature="0"
 118.898 +       id="443"
 118.899 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.900 +       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" />
 118.901 +    <path
 118.902 +       inkscape:connector-curvature="0"
 118.903 +       id="444"
 118.904 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.905 +       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" />
 118.906 +    <path
 118.907 +       inkscape:connector-curvature="0"
 118.908 +       id="445"
 118.909 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.910 +       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" />
 118.911 +    <path
 118.912 +       inkscape:connector-curvature="0"
 118.913 +       id="446"
 118.914 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.915 +       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" />
 118.916 +    <path
 118.917 +       inkscape:connector-curvature="0"
 118.918 +       id="447"
 118.919 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.920 +       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" />
 118.921 +    <path
 118.922 +       inkscape:connector-curvature="0"
 118.923 +       id="448"
 118.924 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.925 +       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" />
 118.926 +    <path
 118.927 +       inkscape:connector-curvature="0"
 118.928 +       id="449"
 118.929 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.930 +       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" />
 118.931 +    <path
 118.932 +       inkscape:connector-curvature="0"
 118.933 +       id="450"
 118.934 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.935 +       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" />
 118.936 +    <path
 118.937 +       inkscape:connector-curvature="0"
 118.938 +       id="451"
 118.939 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.940 +       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" />
 118.941 +    <path
 118.942 +       inkscape:connector-curvature="0"
 118.943 +       id="452"
 118.944 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.945 +       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" />
 118.946 +    <path
 118.947 +       inkscape:connector-curvature="0"
 118.948 +       id="453"
 118.949 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.950 +       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" />
 118.951 +    <path
 118.952 +       inkscape:connector-curvature="0"
 118.953 +       id="457"
 118.954 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.955 +       d="m 476.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" />
 118.956 +    <path
 118.957 +       inkscape:connector-curvature="0"
 118.958 +       id="458"
 118.959 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.960 +       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" />
 118.961 +    <path
 118.962 +       inkscape:connector-curvature="0"
 118.963 +       id="459"
 118.964 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.965 +       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" />
 118.966 +    <path
 118.967 +       inkscape:connector-curvature="0"
 118.968 +       id="460"
 118.969 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.970 +       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" />
 118.971 +    <path
 118.972 +       inkscape:connector-curvature="0"
 118.973 +       id="461"
 118.974 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.975 +       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" />
 118.976 +    <path
 118.977 +       inkscape:connector-curvature="0"
 118.978 +       id="462"
 118.979 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.980 +       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" />
 118.981 +    <path
 118.982 +       inkscape:connector-curvature="0"
 118.983 +       id="463"
 118.984 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.985 +       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" />
 118.986 +    <path
 118.987 +       inkscape:connector-curvature="0"
 118.988 +       id="464"
 118.989 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.990 +       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" />
 118.991 +    <path
 118.992 +       inkscape:connector-curvature="0"
 118.993 +       id="465"
 118.994 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
 118.995 +       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" />
 118.996 +    <path
 118.997 +       inkscape:connector-curvature="0"
 118.998 +       id="466"
 118.999 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1000 +       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" />
118.1001 +    <path
118.1002 +       inkscape:connector-curvature="0"
118.1003 +       id="467"
118.1004 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1005 +       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" />
118.1006 +    <path
118.1007 +       inkscape:connector-curvature="0"
118.1008 +       id="468"
118.1009 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1010 +       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" />
118.1011 +    <path
118.1012 +       inkscape:connector-curvature="0"
118.1013 +       id="469"
118.1014 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1015 +       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" />
118.1016 +    <path
118.1017 +       inkscape:connector-curvature="0"
118.1018 +       id="470"
118.1019 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1020 +       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" />
118.1021 +    <path
118.1022 +       inkscape:connector-curvature="0"
118.1023 +       id="471"
118.1024 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1025 +       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" />
118.1026 +    <path
118.1027 +       inkscape:connector-curvature="0"
118.1028 +       id="472"
118.1029 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1030 +       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" />
118.1031 +    <path
118.1032 +       inkscape:connector-curvature="0"
118.1033 +       id="473"
118.1034 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1035 +       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" />
118.1036 +    <path
118.1037 +       inkscape:connector-curvature="0"
118.1038 +       id="474"
118.1039 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1040 +       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" />
118.1041 +    <path
118.1042 +       inkscape:connector-curvature="0"
118.1043 +       id="478"
118.1044 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1045 +       d="m 550.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" />
118.1046 +    <path
118.1047 +       inkscape:connector-curvature="0"
118.1048 +       id="479"
118.1049 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1050 +       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" />
118.1051 +    <path
118.1052 +       inkscape:connector-curvature="0"
118.1053 +       id="480"
118.1054 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1055 +       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" />
118.1056 +    <path
118.1057 +       inkscape:connector-curvature="0"
118.1058 +       id="481"
118.1059 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1060 +       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" />
118.1061 +    <path
118.1062 +       inkscape:connector-curvature="0"
118.1063 +       id="482"
118.1064 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1065 +       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" />
118.1066 +    <path
118.1067 +       inkscape:connector-curvature="0"
118.1068 +       id="483"
118.1069 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1070 +       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" />
118.1071 +    <path
118.1072 +       inkscape:connector-curvature="0"
118.1073 +       id="484"
118.1074 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1075 +       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" />
118.1076 +    <path
118.1077 +       inkscape:connector-curvature="0"
118.1078 +       id="485"
118.1079 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1080 +       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" />
118.1081 +    <path
118.1082 +       inkscape:connector-curvature="0"
118.1083 +       id="486"
118.1084 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1085 +       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" />
118.1086 +    <path
118.1087 +       inkscape:connector-curvature="0"
118.1088 +       id="487"
118.1089 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1090 +       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" />
118.1091 +    <path
118.1092 +       inkscape:connector-curvature="0"
118.1093 +       id="488"
118.1094 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1095 +       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" />
118.1096 +    <path
118.1097 +       inkscape:connector-curvature="0"
118.1098 +       id="489"
118.1099 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1100 +       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" />
118.1101 +    <path
118.1102 +       inkscape:connector-curvature="0"
118.1103 +       id="490"
118.1104 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1105 +       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" />
118.1106 +    <path
118.1107 +       inkscape:connector-curvature="0"
118.1108 +       id="491"
118.1109 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1110 +       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" />
118.1111 +    <path
118.1112 +       inkscape:connector-curvature="0"
118.1113 +       id="492"
118.1114 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1115 +       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" />
118.1116 +    <path
118.1117 +       inkscape:connector-curvature="0"
118.1118 +       id="493"
118.1119 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1120 +       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" />
118.1121 +    <path
118.1122 +       inkscape:connector-curvature="0"
118.1123 +       id="494"
118.1124 +       style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1125 +       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" />
118.1126 +    <path
118.1127 +       inkscape:connector-curvature="0"
118.1128 +       id="495"
118.1129 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1130 +       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" />
118.1131 +    <path
118.1132 +       inkscape:connector-curvature="0"
118.1133 +       id="563"
118.1134 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1135 +       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" />
118.1136 +    <path
118.1137 +       inkscape:connector-curvature="0"
118.1138 +       id="564"
118.1139 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1140 +       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" />
118.1141 +    <path
118.1142 +       inkscape:connector-curvature="0"
118.1143 +       id="565"
118.1144 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1145 +       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" />
118.1146 +    <path
118.1147 +       inkscape:connector-curvature="0"
118.1148 +       id="566"
118.1149 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1150 +       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" />
118.1151 +    <path
118.1152 +       inkscape:connector-curvature="0"
118.1153 +       id="567"
118.1154 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1155 +       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" />
118.1156 +    <path
118.1157 +       inkscape:connector-curvature="0"
118.1158 +       id="568"
118.1159 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1160 +       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" />
118.1161 +    <path
118.1162 +       inkscape:connector-curvature="0"
118.1163 +       id="570"
118.1164 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1165 +       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" />
118.1166 +    <path
118.1167 +       inkscape:connector-curvature="0"
118.1168 +       id="571"
118.1169 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1170 +       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" />
118.1171 +    <path
118.1172 +       inkscape:connector-curvature="0"
118.1173 +       id="572"
118.1174 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1175 +       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" />
118.1176 +    <path
118.1177 +       inkscape:connector-curvature="0"
118.1178 +       id="573"
118.1179 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1180 +       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" />
118.1181 +    <path
118.1182 +       inkscape:connector-curvature="0"
118.1183 +       id="574"
118.1184 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1185 +       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" />
118.1186 +    <path
118.1187 +       inkscape:connector-curvature="0"
118.1188 +       id="575"
118.1189 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1190 +       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" />
118.1191 +    <path
118.1192 +       inkscape:connector-curvature="0"
118.1193 +       id="576"
118.1194 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1195 +       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" />
118.1196 +    <path
118.1197 +       inkscape:connector-curvature="0"
118.1198 +       id="577"
118.1199 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1200 +       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" />
118.1201 +    <path
118.1202 +       inkscape:connector-curvature="0"
118.1203 +       id="578"
118.1204 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1205 +       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" />
118.1206 +    <path
118.1207 +       inkscape:connector-curvature="0"
118.1208 +       id="579"
118.1209 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1210 +       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" />
118.1211 +    <path
118.1212 +       inkscape:connector-curvature="0"
118.1213 +       id="580"
118.1214 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1215 +       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" />
118.1216 +    <path
118.1217 +       inkscape:connector-curvature="0"
118.1218 +       id="598"
118.1219 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1220 +       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" />
118.1221 +    <path
118.1222 +       inkscape:connector-curvature="0"
118.1223 +       id="599"
118.1224 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1225 +       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" />
118.1226 +    <text
118.1227 +       xml:space="preserve"
118.1228 +       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"
118.1229 +       x="570.58966"
118.1230 +       y="449.09607"
118.1231 +       id="text5053"
118.1232 +       sodipodi:linespacing="125%"><tspan
118.1233 +         sodipodi:role="line"
118.1234 +         id="tspan5055"
118.1235 +         x="570.58966"
118.1236 +         y="449.09607">Lang Syntax</tspan></text>
118.1237 +    <rect
118.1238 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 1;stroke-dashoffset:0"
118.1239 +       id="rect5088"
118.1240 +       width="53.784859"
118.1241 +       height="12.350597"
118.1242 +       x="567.80878"
118.1243 +       y="439.52637" />
118.1244 +    <g
118.1245 +       id="g11409"
118.1246 +       transform="translate(18.42735,0)">
118.1247 +      <text
118.1248 +         xml:space="preserve"
118.1249 +         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"
118.1250 +         x="552.58966"
118.1251 +         y="513.97961"
118.1252 +         id="text5057"
118.1253 +         sodipodi:linespacing="125%"><tspan
118.1254 +           sodipodi:role="line"
118.1255 +           id="tspan5059"
118.1256 +           x="552.58966"
118.1257 +           y="513.97961">Request Intf</tspan></text>
118.1258 +      <rect
118.1259 +         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"
118.1260 +         id="rect5090"
118.1261 +         width="52.938667"
118.1262 +         height="12.350597"
118.1263 +         x="549.80878"
118.1264 +         y="504.41" />
118.1265 +    </g>
118.1266 +    <g
118.1267 +       id="g11399"
118.1268 +       transform="translate(-29.57265,13.57265)">
118.1269 +      <text
118.1270 +         sodipodi:linespacing="125%"
118.1271 +         id="text5061"
118.1272 +         y="565.97961"
118.1273 +         x="616.58966"
118.1274 +         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"
118.1275 +         xml:space="preserve"><tspan
118.1276 +           y="565.97961"
118.1277 +           x="616.58966"
118.1278 +           id="tspan5063"
118.1279 +           sodipodi:role="line">PRT Intf</tspan></text>
118.1280 +      <rect
118.1281 +         y="556.40991"
118.1282 +         x="613.80878"
118.1283 +         height="12.350597"
118.1284 +         width="37.162453"
118.1285 +         id="rect5092"
118.1286 +         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" />
118.1287 +    </g>
118.1288 +    <g
118.1289 +       id="g11404"
118.1290 +       transform="translate(-8.5641025,0.42735043)">
118.1291 +      <text
118.1292 +         sodipodi:linespacing="125%"
118.1293 +         id="text5065"
118.1294 +         y="609.58124"
118.1295 +         x="616.58966"
118.1296 +         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"
118.1297 +         xml:space="preserve"><tspan
118.1298 +           y="609.58124"
118.1299 +           x="616.58966"
118.1300 +           id="tspan5067"
118.1301 +           sodipodi:role="line">ISA</tspan></text>
118.1302 +      <rect
118.1303 +         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"
118.1304 +         id="rect5094"
118.1305 +         width="15.990735"
118.1306 +         height="12.350597"
118.1307 +         x="613.80878"
118.1308 +         y="600.01154" />
118.1309 +    </g>
118.1310 +    <path
118.1311 +       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"
118.1312 +       d="m 149.50538,446.07322 419.95554,0 0,0 0,0"
118.1313 +       id="path5864"
118.1314 +       inkscape:connector-curvature="0" />
118.1315 +    <path
118.1316 +       inkscape:connector-curvature="0"
118.1317 +       id="path5866"
118.1318 +       d="m 149.43272,510.92792 417.39372,0 0,0 0,0"
118.1319 +       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" />
118.1320 +    <path
118.1321 +       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"
118.1322 +       d="m 149.74889,576.50057 433.61341,0 0,0 0,0"
118.1323 +       id="path5868"
118.1324 +       inkscape:connector-curvature="0" />
118.1325 +    <path
118.1326 +       inkscape:connector-curvature="0"
118.1327 +       id="path5870"
118.1328 +       d="m 150.01815,606.92792 454.52761,0 0,0 0,0"
118.1329 +       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" />
118.1330 +    <path
118.1331 +       inkscape:connector-curvature="0"
118.1332 +       id="path5872"
118.1333 +       d="m 149.79599,396.92792 471.66496,0 0,0 0,0"
118.1334 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1335 +    <path
118.1336 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1337 +       d="m 149.79599,624.92792 471.66496,0 0,0 0,0"
118.1338 +       id="path5874"
118.1339 +       inkscape:connector-curvature="0" />
118.1340 +    <text
118.1341 +       xml:space="preserve"
118.1342 +       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"
118.1343 +       x="495.74597"
118.1344 +       y="-651.70679"
118.1345 +       id="text11414"
118.1346 +       sodipodi:linespacing="125%"
118.1347 +       transform="matrix(0,1,-1,0,0,0)"><tspan
118.1348 +         sodipodi:role="line"
118.1349 +         id="tspan11416"
118.1350 +         x="495.74597"
118.1351 +         y="-651.70679"
118.1352 +         style="font-size:18px">Interface</tspan></text>
118.1353 +    <text
118.1354 +       xml:space="preserve"
118.1355 +       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"
118.1356 +       x="-548.71796"
118.1357 +       y="141.05817"
118.1358 +       id="text11418"
118.1359 +       sodipodi:linespacing="125%"
118.1360 +       transform="matrix(0,-1,1,0,0,0)"><tspan
118.1361 +         sodipodi:role="line"
118.1362 +         id="tspan11420"
118.1363 +         x="-548.71796"
118.1364 +         y="141.05817"
118.1365 +         style="font-size:18px">Layer</tspan></text>
118.1366 +    <path
118.1367 +       inkscape:connector-curvature="0"
118.1368 +       id="path12247"
118.1369 +       d="m 243.82877,575.78262 100.97409,0 0,0 0,0"
118.1370 +       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" />
118.1371 +    <path
118.1372 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
118.1373 +       d="m 303.00855,475.78099 12.82051,8.11965"
118.1374 +       id="path12255"
118.1375 +       inkscape:connector-curvature="0"
118.1376 +       sodipodi:nodetypes="cc" />
118.1377 +    <g
118.1378 +       id="g12738"
118.1379 +       transform="translate(-2,0.8547008)">
118.1380 +      <rect
118.1381 +         style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
118.1382 +         id="rect12740"
118.1383 +         width="41.452991"
118.1384 +         height="12.393162"
118.1385 +         x="299.65811"
118.1386 +         y="483.71259" />
118.1387 +      <text
118.1388 +         sodipodi:linespacing="125%"
118.1389 +         id="text12742"
118.1390 +         y="492.81934"
118.1391 +         x="300.78931"
118.1392 +         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"
118.1393 +         xml:space="preserve"><tspan
118.1394 +           style="fill:#ff7f2a"
118.1395 +           y="492.81934"
118.1396 +           x="300.78931"
118.1397 +           id="tspan12744"
118.1398 +           sodipodi:role="line">Specializer</tspan></text>
118.1399 +    </g>
118.1400 +    <path
118.1401 +       sodipodi:nodetypes="cc"
118.1402 +       inkscape:connector-curvature="0"
118.1403 +       id="path12746"
118.1404 +       d="m 282.42388,475.78099 -12.82051,8.11965"
118.1405 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
118.1406 +    <g
118.1407 +       transform="translate(-50,0.8547008)"
118.1408 +       id="g12748">
118.1409 +      <rect
118.1410 +         y="483.71259"
118.1411 +         x="299.65811"
118.1412 +         height="12.393162"
118.1413 +         width="41.452991"
118.1414 +         id="rect12750"
118.1415 +         style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
118.1416 +      <text
118.1417 +         xml:space="preserve"
118.1418 +         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"
118.1419 +         x="300.78931"
118.1420 +         y="492.81934"
118.1421 +         id="text12752"
118.1422 +         sodipodi:linespacing="125%"><tspan
118.1423 +           style="fill:#ff0000"
118.1424 +           sodipodi:role="line"
118.1425 +           id="tspan12754"
118.1426 +           x="300.78931"
118.1427 +           y="492.81934">Specializer</tspan></text>
118.1428 +    </g>
118.1429 +    <path
118.1430 +       sodipodi:nodetypes="cc"
118.1431 +       inkscape:connector-curvature="0"
118.1432 +       id="path13516"
118.1433 +       d="m 405.00855,475.78099 12.82051,8.11965"
118.1434 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
118.1435 +    <g
118.1436 +       transform="translate(100,0.8547008)"
118.1437 +       id="g13526">
118.1438 +      <rect
118.1439 +         y="483.71259"
118.1440 +         x="299.65811"
118.1441 +         height="12.393162"
118.1442 +         width="41.452991"
118.1443 +         id="rect13528"
118.1444 +         style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
118.1445 +      <text
118.1446 +         xml:space="preserve"
118.1447 +         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"
118.1448 +         x="300.78931"
118.1449 +         y="492.81934"
118.1450 +         id="text13530"
118.1451 +         sodipodi:linespacing="125%"><tspan
118.1452 +           style="fill:#ff7f2a"
118.1453 +           sodipodi:role="line"
118.1454 +           id="tspan13532"
118.1455 +           x="300.78931"
118.1456 +           y="492.81934">Specializer</tspan></text>
118.1457 +    </g>
118.1458 +    <path
118.1459 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
118.1460 +       d="m 384.42388,475.78099 -12.82051,8.11965"
118.1461 +       id="path13534"
118.1462 +       inkscape:connector-curvature="0"
118.1463 +       sodipodi:nodetypes="cc" />
118.1464 +    <g
118.1465 +       id="g13536"
118.1466 +       transform="translate(52,0.8547008)">
118.1467 +      <rect
118.1468 +         style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
118.1469 +         id="rect13538"
118.1470 +         width="41.452991"
118.1471 +         height="12.393162"
118.1472 +         x="299.65811"
118.1473 +         y="483.71259" />
118.1474 +      <text
118.1475 +         sodipodi:linespacing="125%"
118.1476 +         id="text13540"
118.1477 +         y="492.81934"
118.1478 +         x="300.78931"
118.1479 +         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"
118.1480 +         xml:space="preserve"><tspan
118.1481 +           style="fill:#ff0000"
118.1482 +           y="492.81934"
118.1483 +           x="300.78931"
118.1484 +           id="tspan13542"
118.1485 +           sodipodi:role="line">Specializer</tspan></text>
118.1486 +    </g>
118.1487 +    <path
118.1488 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
118.1489 +       d="m 507.00855,475.78099 12.82051,8.11965"
118.1490 +       id="path13550"
118.1491 +       inkscape:connector-curvature="0"
118.1492 +       sodipodi:nodetypes="cc" />
118.1493 +    <rect
118.1494 +       y="454.18875"
118.1495 +       x="475.65811"
118.1496 +       height="21.916971"
118.1497 +       width="41.452991"
118.1498 +       id="rect13554"
118.1499 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
118.1500 +    <text
118.1501 +       xml:space="preserve"
118.1502 +       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"
118.1503 +       x="479.21664"
118.1504 +       y="472.81934"
118.1505 +       id="text13556"
118.1506 +       sodipodi:linespacing="125%"><tspan
118.1507 +         sodipodi:role="line"
118.1508 +         id="tspan13558"
118.1509 +         x="479.21664"
118.1510 +         y="472.81934"
118.1511 +         style="fill:#800080">Toolchain</tspan></text>
118.1512 +    <g
118.1513 +       id="g13560"
118.1514 +       transform="translate(202,0.8547008)">
118.1515 +      <rect
118.1516 +         style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
118.1517 +         id="rect13562"
118.1518 +         width="41.452991"
118.1519 +         height="12.393162"
118.1520 +         x="299.65811"
118.1521 +         y="483.71259" />
118.1522 +      <text
118.1523 +         sodipodi:linespacing="125%"
118.1524 +         id="text13564"
118.1525 +         y="492.81934"
118.1526 +         x="300.78931"
118.1527 +         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"
118.1528 +         xml:space="preserve"><tspan
118.1529 +           style="fill:#ff7f2a"
118.1530 +           y="492.81934"
118.1531 +           x="300.78931"
118.1532 +           id="tspan13566"
118.1533 +           sodipodi:role="line">Specializer</tspan></text>
118.1534 +    </g>
118.1535 +    <path
118.1536 +       sodipodi:nodetypes="cc"
118.1537 +       inkscape:connector-curvature="0"
118.1538 +       id="path13568"
118.1539 +       d="m 486.42388,475.78099 -12.82051,8.11965"
118.1540 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
118.1541 +    <g
118.1542 +       transform="translate(154,0.8547008)"
118.1543 +       id="g13570">
118.1544 +      <rect
118.1545 +         y="483.71259"
118.1546 +         x="299.65811"
118.1547 +         height="12.393162"
118.1548 +         width="41.452991"
118.1549 +         id="rect13572"
118.1550 +         style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
118.1551 +      <text
118.1552 +         xml:space="preserve"
118.1553 +         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"
118.1554 +         x="300.78931"
118.1555 +         y="492.81934"
118.1556 +         id="text13574"
118.1557 +         sodipodi:linespacing="125%"><tspan
118.1558 +           style="fill:#ff0000"
118.1559 +           sodipodi:role="line"
118.1560 +           id="tspan13576"
118.1561 +           x="300.78931"
118.1562 +           y="492.81934">Specializer</tspan></text>
118.1563 +    </g>
118.1564 +    <path
118.1565 +       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"
118.1566 +       d="m 446.68347,575.78262 100.97409,0 0,0 0,0"
118.1567 +       id="path13580"
118.1568 +       inkscape:connector-curvature="0" />
118.1569 +    <text
118.1570 +       sodipodi:linespacing="125%"
118.1571 +       id="text4733"
118.1572 +       y="590.5202"
118.1573 +       x="149.67584"
118.1574 +       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"
118.1575 +       xml:space="preserve"><tspan
118.1576 +         style="font-size:13px;font-weight:normal;-inkscape-font-specification:Trebuchet MS"
118.1577 +         y="590.5202"
118.1578 +         x="149.67584"
118.1579 +         sodipodi:role="line"
118.1580 +         id="tspan4737">Proto-</tspan></text>
118.1581 +    <text
118.1582 +       xml:space="preserve"
118.1583 +       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"
118.1584 +       x="149.67584"
118.1585 +       y="602.5202"
118.1586 +       id="text4741"
118.1587 +       sodipodi:linespacing="125%"><tspan
118.1588 +         id="tspan4743"
118.1589 +         sodipodi:role="line"
118.1590 +         x="149.67584"
118.1591 +         y="602.5202"
118.1592 +         style="font-size:13px;font-weight:normal;-inkscape-font-specification:Trebuchet MS">Runtime</tspan></text>
118.1593 +    <text
118.1594 +       sodipodi:linespacing="125%"
118.1595 +       id="text4745"
118.1596 +       y="620.5202"
118.1597 +       x="149.67584"
118.1598 +       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"
118.1599 +       xml:space="preserve"><tspan
118.1600 +         style="font-size:13px;font-weight:normal;-inkscape-font-specification:Trebuchet MS"
118.1601 +         y="620.5202"
118.1602 +         x="149.67584"
118.1603 +         sodipodi:role="line"
118.1604 +         id="tspan4747">Hardware</tspan></text>
118.1605 +    <text
118.1606 +       xml:space="preserve"
118.1607 +       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"
118.1608 +       x="149.67584"
118.1609 +       y="542.5202"
118.1610 +       id="text4749"
118.1611 +       sodipodi:linespacing="125%"><tspan
118.1612 +         id="tspan4751"
118.1613 +         sodipodi:role="line"
118.1614 +         x="149.67584"
118.1615 +         y="542.5202"
118.1616 +         style="font-size:13px;font-weight:normal;-inkscape-font-specification:Trebuchet MS">Language</tspan></text>
118.1617 +    <text
118.1618 +       sodipodi:linespacing="125%"
118.1619 +       id="text4753"
118.1620 +       y="554.5202"
118.1621 +       x="149.67584"
118.1622 +       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"
118.1623 +       xml:space="preserve"><tspan
118.1624 +         style="font-size:13px;font-weight:normal;-inkscape-font-specification:Trebuchet MS"
118.1625 +         y="554.5202"
118.1626 +         x="149.67584"
118.1627 +         sodipodi:role="line"
118.1628 +         id="tspan4755">Plugin</tspan></text>
118.1629 +    <text
118.1630 +       sodipodi:linespacing="125%"
118.1631 +       id="text4757"
118.1632 +       y="482.5202"
118.1633 +       x="149.67584"
118.1634 +       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"
118.1635 +       xml:space="preserve"><tspan
118.1636 +         style="font-size:13px;font-weight:normal;-inkscape-font-specification:Trebuchet MS"
118.1637 +         y="482.5202"
118.1638 +         x="149.67584"
118.1639 +         sodipodi:role="line"
118.1640 +         id="tspan4759">Language</tspan></text>
118.1641 +    <text
118.1642 +       xml:space="preserve"
118.1643 +       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"
118.1644 +       x="149.67584"
118.1645 +       y="494.5202"
118.1646 +       id="text4761"
118.1647 +       sodipodi:linespacing="125%"><tspan
118.1648 +         id="tspan4763"
118.1649 +         sodipodi:role="line"
118.1650 +         x="149.67584"
118.1651 +         y="494.5202"
118.1652 +         style="font-size:13px;font-weight:normal;-inkscape-font-specification:Trebuchet MS">Toolchain</tspan></text>
118.1653 +    <text
118.1654 +       sodipodi:linespacing="125%"
118.1655 +       id="text4769"
118.1656 +       y="414.5202"
118.1657 +       x="149.67584"
118.1658 +       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"
118.1659 +       xml:space="preserve"><tspan
118.1660 +         style="font-size:13px;font-weight:normal;-inkscape-font-specification:Trebuchet MS"
118.1661 +         y="414.5202"
118.1662 +         x="149.67584"
118.1663 +         sodipodi:role="line"
118.1664 +         id="tspan4771">Application</tspan></text>
118.1665 +    <path
118.1666 +       d="m 214.28486,532.64946 0,23.24944 -0.63042,0 -0.60618,0 0,-23.24944 0.60618,0 0.63042,0 z"
118.1667 +       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none"
118.1668 +       id="path4773"
118.1669 +       inkscape:connector-curvature="0" />
118.1670 +    <text
118.1671 +       sodipodi:linespacing="125%"
118.1672 +       id="text5271"
118.1673 +       y="498.5202"
118.1674 +       x="595.58405"
118.1675 +       style="font-size:11px;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"
118.1676 +       xml:space="preserve"><tspan
118.1677 +         style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Xpress SF;-inkscape-font-specification:Xpress SF"
118.1678 +         y="498.5202"
118.1679 +         x="595.58405"
118.1680 +         sodipodi:role="line"
118.1681 +         id="tspan5273">Executable</tspan></text>
118.1682 +    <text
118.1683 +       xml:space="preserve"
118.1684 +       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"
118.1685 +       x="589.67584"
118.1686 +       y="434.5202"
118.1687 +       id="text5275"
118.1688 +       sodipodi:linespacing="125%"><tspan
118.1689 +         id="tspan5277"
118.1690 +         sodipodi:role="line"
118.1691 +         x="589.67584"
118.1692 +         y="434.5202"
118.1693 +         style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Xpress SF;-inkscape-font-specification:Xpress SF">Source Code</tspan></text>
118.1694 +    <text
118.1695 +       xml:space="preserve"
118.1696 +       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"
118.1697 +       x="606.43365"
118.1698 +       y="528.5202"
118.1699 +       id="text5279"
118.1700 +       sodipodi:linespacing="125%"><tspan
118.1701 +         id="tspan5281"
118.1702 +         sodipodi:role="line"
118.1703 +         x="606.43365"
118.1704 +         y="528.5202"
118.1705 +         style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Xpress SF;-inkscape-font-specification:Xpress SF">Runtime</tspan></text>
118.1706 +    <text
118.1707 +       xml:space="preserve"
118.1708 +       style="font-size:11px;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"
118.1709 +       x="601.0636"
118.1710 +       y="462.5202"
118.1711 +       id="text6129"
118.1712 +       sodipodi:linespacing="125%"><tspan
118.1713 +         id="tspan6131"
118.1714 +         sodipodi:role="line"
118.1715 +         x="601.0636"
118.1716 +         y="462.5202"
118.1717 +         style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Xpress SF;-inkscape-font-specification:Xpress SF">Toolchain</tspan></text>
118.1718 +    <g
118.1719 +       id="g6133"
118.1720 +       transform="matrix(0.25335872,0,0,0.44105307,460.34347,310.90235)">
118.1721 +      <path
118.1722 +         inkscape:connector-curvature="0"
118.1723 +         id="path6135"
118.1724 +         d="m 657.61111,437.75107 c 0,19.44445 0,19.44445 0,19.44445"
118.1725 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1726 +      <path
118.1727 +         sodipodi:nodetypes="cc"
118.1728 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1729 +         d="m 651.37501,457.22329 c 14.58334,15.97223 14.58334,15.97223 14.58334,15.97223"
118.1730 +         id="path6137"
118.1731 +         inkscape:connector-curvature="0" />
118.1732 +      <path
118.1733 +         inkscape:connector-curvature="0"
118.1734 +         id="path6139"
118.1735 +         d="m 679.95835,457.22329 c -14.58334,15.97223 -14.58334,15.97223 -14.58334,15.97223"
118.1736 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1737 +         sodipodi:nodetypes="cc" />
118.1738 +      <path
118.1739 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1740 +         d="m 652.2361,457.4733 c 5.89524,0 5.89524,0 5.89524,0"
118.1741 +         id="path6141"
118.1742 +         inkscape:connector-curvature="0" />
118.1743 +      <path
118.1744 +         inkscape:connector-curvature="0"
118.1745 +         id="path6143"
118.1746 +         d="m 673.54166,457.4733 c 5.89524,0 5.89524,0 5.89524,0"
118.1747 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1748 +      <path
118.1749 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1750 +         d="m 673.95833,437.75107 c 0,19.44445 0,19.44445 0,19.44445"
118.1751 +         id="path6145"
118.1752 +         inkscape:connector-curvature="0" />
118.1753 +      <path
118.1754 +         inkscape:connector-curvature="0"
118.1755 +         id="path6147"
118.1756 +         d="m 658.2361,438.43164 c 15.8786,0 15.8786,0 15.8786,0"
118.1757 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1758 +    </g>
118.1759 +    <g
118.1760 +       transform="matrix(0.25335872,0,0,-0.44105307,468.34347,712.67814)"
118.1761 +       id="g6165">
118.1762 +      <path
118.1763 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1764 +         d="m 657.61111,437.75107 c 0,19.44445 0,19.44445 0,19.44445"
118.1765 +         id="path6167"
118.1766 +         inkscape:connector-curvature="0" />
118.1767 +      <path
118.1768 +         inkscape:connector-curvature="0"
118.1769 +         id="path6169"
118.1770 +         d="m 651.37501,457.22329 c 14.58334,15.97223 14.58334,15.97223 14.58334,15.97223"
118.1771 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1772 +         sodipodi:nodetypes="cc" />
118.1773 +      <path
118.1774 +         sodipodi:nodetypes="cc"
118.1775 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1776 +         d="m 679.95835,457.22329 c -14.58334,15.97223 -14.58334,15.97223 -14.58334,15.97223"
118.1777 +         id="path6171"
118.1778 +         inkscape:connector-curvature="0" />
118.1779 +      <path
118.1780 +         inkscape:connector-curvature="0"
118.1781 +         id="path6173"
118.1782 +         d="m 652.2361,457.4733 c 5.89524,0 5.89524,0 5.89524,0"
118.1783 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1784 +      <path
118.1785 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1786 +         d="m 673.54166,457.4733 c 5.89524,0 5.89524,0 5.89524,0"
118.1787 +         id="path6175"
118.1788 +         inkscape:connector-curvature="0" />
118.1789 +      <path
118.1790 +         inkscape:connector-curvature="0"
118.1791 +         id="path6177"
118.1792 +         d="m 673.95833,437.75107 c 0,19.44445 0,19.44445 0,19.44445"
118.1793 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1794 +      <path
118.1795 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1796 +         d="m 658.2361,438.43164 c 15.8786,0 15.8786,0 15.8786,0"
118.1797 +         id="path6179"
118.1798 +         inkscape:connector-curvature="0" />
118.1799 +    </g>
118.1800 +    <g
118.1801 +       transform="matrix(0.25335872,0,0,0.44105307,460.34347,244.90235)"
118.1802 +       id="g6181">
118.1803 +      <path
118.1804 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1805 +         d="m 657.61111,437.75107 c 0,19.44445 0,19.44445 0,19.44445"
118.1806 +         id="path6183"
118.1807 +         inkscape:connector-curvature="0" />
118.1808 +      <path
118.1809 +         inkscape:connector-curvature="0"
118.1810 +         id="path6185"
118.1811 +         d="m 651.37501,457.22329 c 14.58334,15.97223 14.58334,15.97223 14.58334,15.97223"
118.1812 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1813 +         sodipodi:nodetypes="cc" />
118.1814 +      <path
118.1815 +         sodipodi:nodetypes="cc"
118.1816 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1817 +         d="m 679.95835,457.22329 c -14.58334,15.97223 -14.58334,15.97223 -14.58334,15.97223"
118.1818 +         id="path6187"
118.1819 +         inkscape:connector-curvature="0" />
118.1820 +      <path
118.1821 +         inkscape:connector-curvature="0"
118.1822 +         id="path6189"
118.1823 +         d="m 652.2361,457.4733 c 5.89524,0 5.89524,0 5.89524,0"
118.1824 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1825 +      <path
118.1826 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1827 +         d="m 673.54166,457.4733 c 5.89524,0 5.89524,0 5.89524,0"
118.1828 +         id="path6191"
118.1829 +         inkscape:connector-curvature="0" />
118.1830 +      <path
118.1831 +         inkscape:connector-curvature="0"
118.1832 +         id="path6193"
118.1833 +         d="m 673.95833,437.75107 c 0,19.44445 0,19.44445 0,19.44445"
118.1834 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1835 +      <path
118.1836 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1837 +         d="m 658.2361,438.43164 c 15.8786,0 15.8786,0 15.8786,0"
118.1838 +         id="path6195"
118.1839 +         inkscape:connector-curvature="0" />
118.1840 +    </g>
118.1841 +    <g
118.1842 +       transform="matrix(0.25335872,0,0,0.44105307,460.34347,374.90235)"
118.1843 +       id="g6197">
118.1844 +      <path
118.1845 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1846 +         d="m 657.61111,437.75107 c 0,19.44445 0,19.44445 0,19.44445"
118.1847 +         id="path6199"
118.1848 +         inkscape:connector-curvature="0" />
118.1849 +      <path
118.1850 +         inkscape:connector-curvature="0"
118.1851 +         id="path6201"
118.1852 +         d="m 651.37501,457.22329 c 14.58334,15.97223 14.58334,15.97223 14.58334,15.97223"
118.1853 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1854 +         sodipodi:nodetypes="cc" />
118.1855 +      <path
118.1856 +         sodipodi:nodetypes="cc"
118.1857 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1858 +         d="m 679.95835,457.22329 c -14.58334,15.97223 -14.58334,15.97223 -14.58334,15.97223"
118.1859 +         id="path6203"
118.1860 +         inkscape:connector-curvature="0" />
118.1861 +      <path
118.1862 +         inkscape:connector-curvature="0"
118.1863 +         id="path6205"
118.1864 +         d="m 652.2361,457.4733 c 5.89524,0 5.89524,0 5.89524,0"
118.1865 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1866 +      <path
118.1867 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1868 +         d="m 673.54166,457.4733 c 5.89524,0 5.89524,0 5.89524,0"
118.1869 +         id="path6207"
118.1870 +         inkscape:connector-curvature="0" />
118.1871 +      <path
118.1872 +         inkscape:connector-curvature="0"
118.1873 +         id="path6209"
118.1874 +         d="m 673.95833,437.75107 c 0,19.44445 0,19.44445 0,19.44445"
118.1875 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1876 +      <path
118.1877 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1878 +         d="m 658.2361,438.43164 c 15.8786,0 15.8786,0 15.8786,0"
118.1879 +         id="path6211"
118.1880 +         inkscape:connector-curvature="0" />
118.1881 +    </g>
118.1882 +    <g
118.1883 +       id="g6213"
118.1884 +       transform="matrix(0.25335872,0,0,-0.44105307,468.34347,776.67814)">
118.1885 +      <path
118.1886 +         inkscape:connector-curvature="0"
118.1887 +         id="path6215"
118.1888 +         d="m 657.61111,437.75107 c 0,19.44445 0,19.44445 0,19.44445"
118.1889 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1890 +      <path
118.1891 +         sodipodi:nodetypes="cc"
118.1892 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1893 +         d="m 651.37501,457.22329 c 14.58334,15.97223 14.58334,15.97223 14.58334,15.97223"
118.1894 +         id="path6217"
118.1895 +         inkscape:connector-curvature="0" />
118.1896 +      <path
118.1897 +         inkscape:connector-curvature="0"
118.1898 +         id="path6219"
118.1899 +         d="m 679.95835,457.22329 c -14.58334,15.97223 -14.58334,15.97223 -14.58334,15.97223"
118.1900 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1901 +         sodipodi:nodetypes="cc" />
118.1902 +      <path
118.1903 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1904 +         d="m 652.2361,457.4733 c 5.89524,0 5.89524,0 5.89524,0"
118.1905 +         id="path6221"
118.1906 +         inkscape:connector-curvature="0" />
118.1907 +      <path
118.1908 +         inkscape:connector-curvature="0"
118.1909 +         id="path6223"
118.1910 +         d="m 673.54166,457.4733 c 5.89524,0 5.89524,0 5.89524,0"
118.1911 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1912 +      <path
118.1913 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
118.1914 +         d="m 673.95833,437.75107 c 0,19.44445 0,19.44445 0,19.44445"
118.1915 +         id="path6225"
118.1916 +         inkscape:connector-curvature="0" />
118.1917 +      <path
118.1918 +         inkscape:connector-curvature="0"
118.1919 +         id="path6227"
118.1920 +         d="m 658.2361,438.43164 c 15.8786,0 15.8786,0 15.8786,0"
118.1921 +         style="fill:none;stroke:#000000;stroke-width:2.99148369px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
118.1922 +    </g>
118.1923 +    <text
118.1924 +       sodipodi:linespacing="125%"
118.1925 +       id="text6229"
118.1926 +       y="564.5202"
118.1927 +       x="615.02844"
118.1928 +       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"
118.1929 +       xml:space="preserve"><tspan
118.1930 +         style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Xpress SF;-inkscape-font-specification:Xpress SF"
118.1931 +         y="564.5202"
118.1932 +         x="615.02844"
118.1933 +         sodipodi:role="line"
118.1934 +         id="tspan6231">Plugin</tspan></text>
118.1935 +    <text
118.1936 +       xml:space="preserve"
118.1937 +       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"
118.1938 +       x="605.17816"
118.1939 +       y="592.5202"
118.1940 +       id="text6233"
118.1941 +       sodipodi:linespacing="125%"><tspan
118.1942 +         id="tspan6235"
118.1943 +         sodipodi:role="line"
118.1944 +         x="605.17816"
118.1945 +         y="592.5202"
118.1946 +         style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Xpress SF;-inkscape-font-specification:Xpress SF">Proto-RT</tspan></text>
118.1947 +    <text
118.1948 +       sodipodi:linespacing="125%"
118.1949 +       id="text12752-4"
118.1950 +       y="600.63922"
118.1951 +       x="245.119"
118.1952 +       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"
118.1953 +       xml:space="preserve"><tspan
118.1954 +         y="600.63922"
118.1955 +         x="245.119"
118.1956 +         id="tspan12754-6"
118.1957 +         sodipodi:role="line"
118.1958 +         style="font-size:7px;fill:#ff0000">Proto-RT</tspan></text>
118.1959 +    <text
118.1960 +       xml:space="preserve"
118.1961 +       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"
118.1962 +       x="319.11899"
118.1963 +       y="600.63922"
118.1964 +       id="text6258"
118.1965 +       sodipodi:linespacing="125%"><tspan
118.1966 +         style="font-size:7px;fill:#ff0000"
118.1967 +         sodipodi:role="line"
118.1968 +         id="tspan6260"
118.1969 +         x="319.11899"
118.1970 +         y="600.63922">Proto-RT</tspan></text>
118.1971 +    <text
118.1972 +       sodipodi:linespacing="125%"
118.1973 +       id="text6262"
118.1974 +       y="600.63922"
118.1975 +       x="409.6481"
118.1976 +       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:#ff6600;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
118.1977 +       xml:space="preserve"><tspan
118.1978 +         y="600.63922"
118.1979 +         x="409.6481"
118.1980 +         id="tspan6264"
118.1981 +         sodipodi:role="line"
118.1982 +         style="font-size:7px;fill:#ff6600">Proto-RT</tspan></text>
118.1983 +    <text
118.1984 +       xml:space="preserve"
118.1985 +       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:#ff6600;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
118.1986 +       x="483.6481"
118.1987 +       y="600.63922"
118.1988 +       id="text6266"
118.1989 +       sodipodi:linespacing="125%"><tspan
118.1990 +         style="font-size:7px;fill:#ff6600"
118.1991 +         sodipodi:role="line"
118.1992 +         id="tspan6268"
118.1993 +         x="483.6481"
118.1994 +         y="600.63922">Proto-RT</tspan></text>
118.1995 +    <text
118.1996 +       sodipodi:linespacing="125%"
118.1997 +       id="text6270"
118.1998 +       y="600.63922"
118.1999 +       x="557.64807"
118.2000 +       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:#ff6600;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
118.2001 +       xml:space="preserve"><tspan
118.2002 +         y="600.63922"
118.2003 +         x="557.64807"
118.2004 +         id="tspan6272"
118.2005 +         sodipodi:role="line"
118.2006 +         style="font-size:7px;fill:#ff6600">Proto-RT</tspan></text>
118.2007 +    <text
118.2008 +       xml:space="preserve"
118.2009 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#800080;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2010 +       x="484.30685"
118.2011 +       y="463.55795"
118.2012 +       id="text5916"
118.2013 +       sodipodi:linespacing="125%"><tspan
118.2014 +         sodipodi:role="line"
118.2015 +         id="tspan5918"
118.2016 +         x="484.30685"
118.2017 +         y="463.55795"
118.2018 +         style="font-size:10px;font-weight:normal;fill:#800080;-inkscape-font-specification:Sans">DSL2</tspan></text>
118.2019 +    <text
118.2020 +       sodipodi:linespacing="125%"
118.2021 +       id="text5920"
118.2022 +       y="541.55798"
118.2023 +       x="216.95236"
118.2024 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008080;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2025 +       xml:space="preserve"><tspan
118.2026 +         style="font-size:8px;font-weight:normal;fill:#008080;-inkscape-font-specification:Sans"
118.2027 +         y="541.55798"
118.2028 +         x="216.95236"
118.2029 +         id="tspan5922"
118.2030 +         sodipodi:role="line">OpenMP</tspan></text>
118.2031 +    <text
118.2032 +       xml:space="preserve"
118.2033 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2034 +       x="282.53976"
118.2035 +       y="542.0871"
118.2036 +       id="text5924"
118.2037 +       sodipodi:linespacing="125%"><tspan
118.2038 +         sodipodi:role="line"
118.2039 +         id="tspan5926"
118.2040 +         x="282.53976"
118.2041 +         y="542.0871"
118.2042 +         style="font-size:8px;font-weight:normal;fill:#0000ff;-inkscape-font-specification:Sans">DSL1</tspan></text>
118.2043 +    <text
118.2044 +       sodipodi:linespacing="125%"
118.2045 +       id="text5928"
118.2046 +       y="542.0871"
118.2047 +       x="341.36508"
118.2048 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#800080;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2049 +       xml:space="preserve"><tspan
118.2050 +         style="font-size:8px;font-weight:normal;fill:#800080;-inkscape-font-specification:Sans"
118.2051 +         y="542.0871"
118.2052 +         x="341.36508"
118.2053 +         id="tspan5930"
118.2054 +         sodipodi:role="line">DSL2</tspan></text>
118.2055 +    <text
118.2056 +       xml:space="preserve"
118.2057 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008080;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2058 +       x="421.48148"
118.2059 +       y="541.55798"
118.2060 +       id="text5932"
118.2061 +       sodipodi:linespacing="125%"><tspan
118.2062 +         sodipodi:role="line"
118.2063 +         id="tspan5934"
118.2064 +         x="421.48148"
118.2065 +         y="541.55798"
118.2066 +         style="font-size:8px;font-weight:normal;fill:#008080;-inkscape-font-specification:Sans">OpenMP</tspan></text>
118.2067 +    <text
118.2068 +       sodipodi:linespacing="125%"
118.2069 +       id="text5936"
118.2070 +       y="542.0871"
118.2071 +       x="487.06888"
118.2072 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2073 +       xml:space="preserve"><tspan
118.2074 +         style="font-size:8px;font-weight:normal;fill:#0000ff;-inkscape-font-specification:Sans"
118.2075 +         y="542.0871"
118.2076 +         x="487.06888"
118.2077 +         id="tspan5938"
118.2078 +         sodipodi:role="line">DSL1</tspan></text>
118.2079 +    <text
118.2080 +       xml:space="preserve"
118.2081 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#800080;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2082 +       x="545.89423"
118.2083 +       y="542.0871"
118.2084 +       id="text5940"
118.2085 +       sodipodi:linespacing="125%"><tspan
118.2086 +         sodipodi:role="line"
118.2087 +         id="tspan5942"
118.2088 +         x="545.89423"
118.2089 +         y="542.0871"
118.2090 +         style="font-size:8px;font-weight:normal;fill:#800080;-inkscape-font-specification:Sans">DSL2</tspan></text>
118.2091 +    <rect
118.2092 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
118.2093 +       id="rect6491"
118.2094 +       width="41.452991"
118.2095 +       height="21.916971"
118.2096 +       x="375.65811"
118.2097 +       y="454.18875" />
118.2098 +    <text
118.2099 +       sodipodi:linespacing="125%"
118.2100 +       id="text6493"
118.2101 +       y="472.81934"
118.2102 +       x="379.21664"
118.2103 +       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:#0000ff;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
118.2104 +       xml:space="preserve"><tspan
118.2105 +         style="fill:#0000ff"
118.2106 +         y="472.81934"
118.2107 +         x="379.21664"
118.2108 +         id="tspan6495"
118.2109 +         sodipodi:role="line">Toolchain</tspan></text>
118.2110 +    <rect
118.2111 +       y="454.18875"
118.2112 +       x="271.65811"
118.2113 +       height="21.916971"
118.2114 +       width="41.452991"
118.2115 +       id="rect6505"
118.2116 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
118.2117 +    <text
118.2118 +       xml:space="preserve"
118.2119 +       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:#008080;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS"
118.2120 +       x="275.21664"
118.2121 +       y="472.81934"
118.2122 +       id="text6507"
118.2123 +       sodipodi:linespacing="125%"><tspan
118.2124 +         sodipodi:role="line"
118.2125 +         id="tspan6509"
118.2126 +         x="275.21664"
118.2127 +         y="472.81934"
118.2128 +         style="fill:#008080">Toolchain</tspan></text>
118.2129 +    <text
118.2130 +       xml:space="preserve"
118.2131 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008080;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2132 +       x="272.30685"
118.2133 +       y="463.55795"
118.2134 +       id="text6513"
118.2135 +       sodipodi:linespacing="125%"><tspan
118.2136 +         sodipodi:role="line"
118.2137 +         id="tspan6515"
118.2138 +         x="272.30685"
118.2139 +         y="463.55795"
118.2140 +         style="font-size:10px;font-weight:normal;fill:#008080;-inkscape-font-specification:Sans">OpenMP</tspan></text>
118.2141 +    <text
118.2142 +       sodipodi:linespacing="125%"
118.2143 +       id="text6517"
118.2144 +       y="409.55795"
118.2145 +       x="312.30685"
118.2146 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008080;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2147 +       xml:space="preserve"><tspan
118.2148 +         style="font-size:10px;font-weight:normal;fill:#008080;-inkscape-font-specification:Sans"
118.2149 +         y="409.55795"
118.2150 +         x="312.30685"
118.2151 +         id="tspan6519"
118.2152 +         sodipodi:role="line">App<tspan
118.2153 +   style="fill:#0000ff"
118.2154 +   id="tspan7986">lica</tspan><tspan
118.2155 +   style="fill:#800080"
118.2156 +   id="tspan7988">tions</tspan><tspan
118.2157 +   style="fill:#0000ff"
118.2158 +   id="tspan6529">   that </tspan><tspan
118.2159 +   style="fill:#800080"
118.2160 +   id="tspan6531">  mix</tspan>    lan<tspan
118.2161 +   style="fill:#0000ff"
118.2162 +   id="tspan6533">gua</tspan><tspan
118.2163 +   style="fill:#800080"
118.2164 +   id="tspan6535">ges</tspan></tspan></text>
118.2165 +    <text
118.2166 +       xml:space="preserve"
118.2167 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2168 +       x="384.30685"
118.2169 +       y="463.55795"
118.2170 +       id="text6521"
118.2171 +       sodipodi:linespacing="125%"><tspan
118.2172 +         sodipodi:role="line"
118.2173 +         id="tspan6523"
118.2174 +         x="384.30685"
118.2175 +         y="463.55795"
118.2176 +         style="font-size:10px;font-weight:normal;fill:#0000ff;-inkscape-font-specification:Sans">DSL1</tspan></text>
118.2177 +    <rect
118.2178 +       style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
118.2179 +       id="rect6553"
118.2180 +       width="256.79691"
118.2181 +       height="9.2185583"
118.2182 +       x="267.65811"
118.2183 +       y="424.88715" />
118.2184 +    <path
118.2185 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
118.2186 +       d="m 293.82011,434.90029 c 0,18.6218 0,18.6218 0,18.6218"
118.2187 +       id="path6555"
118.2188 +       inkscape:connector-curvature="0" />
118.2189 +    <path
118.2190 +       inkscape:connector-curvature="0"
118.2191 +       id="path7523"
118.2192 +       d="m 395.82011,434.90029 c 0,18.6218 0,18.6218 0,18.6218"
118.2193 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" />
118.2194 +    <path
118.2195 +       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
118.2196 +       d="m 497.82011,434.90029 c 0,18.6218 0,18.6218 0,18.6218"
118.2197 +       id="path7525"
118.2198 +       inkscape:connector-curvature="0" />
118.2199 +    <text
118.2200 +       xml:space="preserve"
118.2201 +       style="font-size:12px;font-style:normal;font-weight:bold;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans Bold"
118.2202 +       x="280.83597"
118.2203 +       y="432.61618"
118.2204 +       id="text7527"
118.2205 +       sodipodi:linespacing="125%"><tspan
118.2206 +         sodipodi:role="line"
118.2207 +         id="tspan7529"
118.2208 +         x="280.83597"
118.2209 +         y="432.61618"
118.2210 +         style="font-size:8px;font-weight:normal;fill:#000000;-inkscape-font-specification:Sans">Development tool that translates syntax and directs to toolchains</tspan></text>
118.2211 +  </g>
118.2212 +</svg>
   119.1 Binary file 1__Presentations/13__My_07__ACG_on_protoruntime_for_CWI/ProtoRuntime_expl.odp has changed
   120.1 Binary file 9__Owned_by_Others/armin/kronawitter-m.pdf has changed
   121.1 Binary file CVs/13_Jy__ERCIM_CV/ERCIM_CV.pdf has changed
   122.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   122.2 +++ b/CVs/13_Jy__ERCIM_CV/ERCIM_CV.tex	Sat Aug 03 19:24:22 2013 -0700
   122.3 @@ -0,0 +1,205 @@
   122.4 +%&latex
   122.5 +%% Derived from: `cvctan.tex'
   122.6 +
   122.7 +\documentclass[a4paper]{article}
   122.8 +
   122.9 +\usepackage{tabularx}
  122.10 +
  122.11 +%\usepackage{doublespace}
  122.12 +%\setstretch{1.1}
  122.13 +
  122.14 +%\usepackage{ae}
  122.15 +\usepackage[T1]{fontenc}
  122.16 +\usepackage{CV}
  122.17 +
  122.18 +
  122.19 +\oddsidemargin 0in
  122.20 +\evensidemargin 0in
  122.21 +\textwidth\paperwidth
  122.22 +\advance \textwidth by -2in
  122.23 +\topmargin 0in
  122.24 +\textheight\paperheight
  122.25 +\advance\textheight -2in
  122.26 +\headheight 0pt
  122.27 +\headsep 0pt
  122.28 +\footskip 0pt
  122.29 +
  122.30 +
  122.31 +%%%%%%%%%%%%%%%%%%%%%%
  122.32 +\begin{document}
  122.33 +
  122.34 +\pagestyle{empty}
  122.35 +\bibliographystyle{plain}
  122.36 +%Ueberschrift
  122.37 +\begin{center}
  122.38 +\huge{\textsc{Curriculum Vitae}}
  122.39 +\vspace{\baselineskip}
  122.40 +
  122.41 +\Large{\textsc{Sean Halle}}
  122.42 +\end{center}
  122.43 +%\vspace{1.5\baselineskip}
  122.44 +
  122.45 +\section{}
  122.46 +\noindent\hspace*{\tabcolsep}
  122.47 +\begin{minipage}{0.4\linewidth}
  122.48 +
  122.49 +{\large{\textsc{Address}}}\\
  122.50 +Carolina Macgillavrylaan 1976 \\
  122.51 +1098XE Amsterdam\\[3pt]
  122.52 +Tel~: +31 616 434 534~\\
  122.53 +EMail~: \texttt{seanhalle@yahoo.com}
  122.54 +\end{minipage}
  122.55 +\begin{minipage}{0.4\linewidth}
  122.56 +
  122.57 +{\large{\textsc{Personal Details}}}\\
  122.58 +Nationality: US\\
  122.59 +Gender: Male\\
  122.60 +\\
  122.61 +
  122.62 +\end{minipage}
  122.63 +
  122.64 +\section{Overview/Summary} Sean is a researcher, and former entrepreneur.  As an undergraduate and masters student, his research at UC Berkeley demonstrated the first evidence of secure communication using chaos, spread spectrum communication using a chaotic carrier signal, and gain from perturbation of chaotic circuits, with a total of 680+ citations to these papers.  He left with his Masters in 1994, to pursue starting a company with technology developed during a graduate course, eventually founding a fabless chip company around a massively parallel MIMD-SIMD low-power processor for graphics (ProSide), in 1997.  After the company's demise, he switched to software and worked his way up the chain, ending at Chief Software Architect at Nevik in 2000.  The dot-com crash precipitated a return to academia to start his PhD in 2003, where he worked on parallelism, developing a theory of parallel computation, and a performance-portable software stack. As part of this, in 2008 he was invited by Albert Cohen to work in Paris at INRIA, the national computer science research institute for France, concentrating on new parallel languages for high productivity and high performance portability.  This led to BLIS and proto-runtime, two technologies that became the basis of his dissertation, for which he received his PhD in 2011.  He subsequently
  122.65 +advanced the proto-runtime work as a post-doc at TU
  122.66 +Berlin, and is currently advancing it further as an
  122.67 +ERCIM fellow at CWI in Amsterdam.
  122.68 +
  122.69 +
  122.70 +
  122.71 +\section{Education}
  122.72 +
  122.73 +\begin{CV}
  122.74 +\item[May 1992:] UC Berkeley, BSEE, Dept. of Electrical Engineering and Computer Science.
  122.75 +\item[May 1994:] UC Berkeley, MSEE,  Dept. of Electrical Engineering and Computer Science.
  122.76 +
  122.77 +Thesis on \emph{Experimental Chaos}.  Published the first papers in the field on "Gain from Chaos," "Spread Spectrum Communication Using Chaos," and "Secure Communication Using Chaos." The papers, combined, have garnered in excess of 450 citations. Advisor: Leon O Chua.
  122.78 +
  122.79 +\item[June 2011:] UC Santa Cruz, PhD,  Dept. of Computer Engineering.
  122.80 +
  122.81 +Dissertation on \emph{theory of parallel computation and tools for delivering performance-portable parallel software}. Advisors: Albert Cohen (INRIA, Paris), and Jose Renau (UC Santa Cruz).
  122.82 +
  122.83 +\end{CV}
  122.84 +
  122.85 +
  122.86 +\section{Experience}
  122.87 +
  122.88 +\begin{CV}
  122.89 +
  122.90 +
  122.91 +\item[Apr '13 to Apr '14:]  ERCIM Fellow at CWI in
  122.92 +Amsterdam.
  122.93 +
  122.94 + Implementing the Reo language on top of proto-runtime,
  122.95 + and extending proto-runtime to distributed machines,
  122.96 + developing on the Netherlands' national supercomputer. 
  122.97 +
  122.98 +\item[Jun '11 to Jun '12:]  Post-doctorate researcher at Technical University Berlin.
  122.99 +
 122.100 + Oversaw 6 students who  worked  on: verifying the Holistic Model of Parallel Computation (proposed in Dissertation), design of a low-power GPU that is free from programming and application restrictions, improvement of proto-runtime, and implementation of the HWSim language on top of proto-runtime. 
 122.101 +
 122.102 +\item[Apr '08 to Apr '11:]  INRIA, Paris and Ecole Normale Supereur: Performed research on Portable High Performance Parallelism.  
 122.103 +
 122.104 +In 2008-2009 period demonstrated DKU and BLIS framework in Java and in C, running on multi-core shared memory machines, a heterogeneous collection of them and on the Cell processor.  In 2010 and 2011 designed WorkTable language for high productivity parallel coding for Enterprise applications, and HWSim for high-performance simulation of hardware designs, using parallel host machines. In 2011 delivered Virtualized Master-Slave (VMS), a hardware abstraction to simplify creation and implementation of domain-specific parallel languages, and the basis of a software stack for performant-portable parallel software.  The work there formed the main results in his dissertation.
 122.105 +
 122.106 +\item[Sept '03 to Apr '08:] UC Santa Cruz: Performed research on a theory of parallel computation, and developed a programming system for performance-portable software called CodeTime, in addition to an analytic performance model for out-of-order pipelines.
 122.107 +
 122.108 +\item[Apr '02 to Sept '03:]  Freelance: In anticipation of starting a fabless chip company, architected an ultra low power multi-threaded high-throughput processor.  Developed a detailed analytic model of the processor.  Wrote behavioral code and a test suite to demonstrate its performance.  Pursued series-A funding.  
 122.109 +
 122.110 +\item[Dec '00 to Apr '02:] Nevik Networks: As Chief Software Architect, designed and was responsible for the team implementing a telecom abstraction layer that provides web-based end-customer provisioning of big-iron class 5 switches as well as soft-switches.  Led development, drove requirements gathering and scoping of the product.
 122.111 +
 122.112 +\item[Dec '99 to Dec '00:] SRI International:  A member of SRI's enterprise software consulting spin-off.  Designed a high speed trading system for Deutsche Bank's fixed income securities market.  Co-architected, for American Century, an integrated financial system.  Contributed papers analyzing and detailing electronic exchanges.  Technical lead on implementation of a financial planning services exchange.
 122.113 +
 122.114 +\item[Apr '99 to Dec '99:] Cisco Systems, contract:  Member of web based ordering tool team (\$15 Billion in orders annually via this tool).  Added functionality via modifying front-end servlet code, back-end business logic, and Oracle database tables.
 122.115 +
 122.116 +\item[Apr '98 to Mar '99:] Sun Microsystems, JavaSoft division,  contract:   Participated in debug of the AWT portion of the Java language for the 1.2 release.  Contributed to specification of the automated GUI testing API that later appeared in release 1.5.  Developed automated testing tools.
 122.117 +
 122.118 +\item[Mar '96 to Dec '97:] ProSide Inc.  Acquired funding for a novel architecture fusing SIMD and SPMD of his design.  Targeted at 3D graphics, was also a general "loop accelerator" that appeared as smart-memory.  Developed base programming language and tools.
 122.119 +
 122.120 +\item[Jan '95 to Jan '96:] Digital Equipment Corporation:  Held position created for him by Dan Dobberpuhl to evaluate advanced technologies for use in Alpha processors.  Evaluated adiabatic logic, Time-Stationary Computation, and other low power, high speed technologies.  Invented five new logic families and a novel division technique based on deduction.  Designed high speed pseudo-self-timed array multiplier for low cost Alpha core and StrongArm VLIW co-processor using a combination of static, domino, and differential cascode (DCVSL) logic.
 122.121 +
 122.122 +
 122.123 +\end{CV}
 122.124 +
 122.125 +\pagebreak
 122.126 +\section{Personal References}
 122.127 +
 122.128 +\noindent These persons are familiar with my professional qualifications and my character:
 122.129 +
 122.130 +\begin{table}[ht]
 122.131 +\begin{tabular}{@{}lll@{}}
 122.132 +\textbf{Prof. Albert Cohen} \\
 122.133 +Thesis supervisor & Phone: & +33-1-44-32-21-67\\
 122.134 +Department d'Informatiqe & Email & albert.cohen@inria.fr\\
 122.135 +Ecole Normale Superieure \\
 122.136 +45 rue d'Ulm\\
 122.137 +75005 Paris\\
 122.138 +France
 122.139 +\end{tabular}
 122.140 +
 122.141 +\vspace{.15in}
 122.142 +\begin{tabular}{@{}lll@{}}
 122.143 +\textbf{Prof. Jose Renau} \\
 122.144 +Thesis supervisor & Phone: & +1-831-459-1847\\
 122.145 + 1156 High Street MS: SOE2 & Email & renau@soe.ucsc.edu\\
 122.146 +Santa Cruz, CA 95064 \\
 122.147 +USA
 122.148 +\end{tabular}
 122.149 +
 122.150 +
 122.151 +\vspace{.15in}
 122.152 +\begin{tabular}{@{}lll@{}}
 122.153 +\textbf{Prof. Farhad Arbab} \\
 122.154 +Principle Investigator & Phone: & +31 30 314 73131\\
 122.155 +CWI & Email &  Farhad.Arbab@cwi.nl\\
 122.156 +Science Park 123 \\
 122.157 +1098XG Amsterdam\\
 122.158 +Netherlands
 122.159 +\end{tabular}
 122.160 +
 122.161 +\end{table}
 122.162 +
 122.163 +\cite{BLISHome,
 122.164 +HotPar10_w_BLIS,
 122.165 +HotPar11_w_Stack,
 122.166 +PStackHome,
 122.167 +VMS_LCPC_11,
 122.168 +VMSHome,
 122.169 +WorkTableHome,
 122.170 +BaCTiLTechRep,
 122.171 +CIPTechRep,
 122.172 +CTOSTechRep,
 122.173 +CTPlatformTechRep,
 122.174 +CTRTTechRep,
 122.175 +DKUTechRep_09,
 122.176 +EQNLangTechRep,
 122.177 +GainFromChaos_Halle_92,
 122.178 +MentalFrameworkTechRep_06,
 122.179 +Halle_GainFromChaos_pub,
 122.180 +Halle_Secure_pub,
 122.181 +Halle_SpreadSpect_pub}
 122.182 +
 122.183 +\bibliography{bib_for_papers_apr_2012}
 122.184 +
 122.185 +
 122.186 +
 122.187 +\end{document}
 122.188 +
 122.189 +
 122.190 +
 122.191 +
 122.192 +
 122.193 +%Tabellen
 122.194 +\begin{table}[htbp] \centering%
 122.195 +\begin{tabular}{lll}\hline\hline
 122.196 +1 & 2 & 3 \\ \hline
 122.197 +1 & \multicolumn{2}{c}{2} \\
 122.198 +\hline
 122.199 +\end{tabular}
 122.200 +\caption{Titel\label{Tabelle: Label}}
 122.201 +\end{table}
 122.202 +
 122.203 +
 122.204 +
 122.205 +
 122.206 +
 122.207 +
 122.208 +
   123.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   123.2 +++ b/CVs/13_Jy__ERCIM_CV/bib_for_papers_apr_2012.bib	Sat Aug 03 19:24:22 2013 -0700
   123.3 @@ -0,0 +1,916 @@
   123.4 +@techrep{SyncConstr_impl_w_distr_coherence_HW_Utah_96,
   123.5 +	author = {Carter, J. B. and Kuo, C.-C. and Kuramkote, R.},
   123.6 +	title = { A comparison of software and hardware synchronization mechanisms for distributed shared memory multiprocessors},
   123.7 +	institution = {University of Utah, Salt Lake City, UT},
   123.8 +	year = 1996,
   123.9 +	url = {http://www.cs.utah.edu/research/techreports/1996/pdf/UUCS-96-011.pdf},
  123.10 +	number = {UUCS-96-011}
  123.11 +}
  123.12 +@Article{SWCoherence_Hill_SW_for_shared_coherence_w_HW_support_93,
  123.13 +	author = {Hill, Mark D. and Larus, James R. and Reinhardt, Steven K. and Wood, David A.},
  123.14 +	title = {Cooperative shared memory: software and hardware for scalable multiprocessors},
  123.15 +	journal = {ACM Trans. Comput. Syst.},
  123.16 +	volume = 11,
  123.17 +	number = 4,
  123.18 +	year = 1993,
  123.19 +	pages = {300--318}
  123.20 +}
  123.21 +@InProceedings{SWCache_MIT_embedSW_manages_cache_w_HW_supp,
  123.22 +	author = {Chiou, Derek and Jain, Prabhat and Rudolph, Larry and Devadas, Srinivas},
  123.23 +	title = {Application-specific memory management for embedded systems using software-controlled caches},
  123.24 +	booktitle = {DAC},
  123.25 +	year = 2000,
  123.26 +	pages = {416--419}
  123.27 +}
  123.28 +@InProceedings{SWCache_instr_trig_HW_supp_04,
  123.29 +	author = {Janapsatya, Andhi and Parameswaran, Sri and Ignjatovic, A.},
  123.30 +	title = {Hardware/software managed scratchpad memory for embedded system},
  123.31 +	booktitle = {Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design},
  123.32 +	series = {ICCAD '04},
  123.33 +	year = 2004,
  123.34 +	pages = {370--377}
  123.35 +}
  123.36 +@InProceedings{SWCache_arch_supp_OS_policy_06,
  123.37 +	author = {Rafique, Nauman and Lim, Won-Taek and Thottethodi, Mithuna},
  123.38 +	title = {Architectural support for operating system-driven CMP cache management},
  123.39 +	booktitle = {Proceedings of the 15th international conference on Parallel architectures and compilation techniques},
  123.40 +	series = {PACT '06},
  123.41 +	year = 2006,
  123.42 +	pages = {2--12}
  123.43 +}
  123.44 +@InProceedings{SWCoherence_on_Distr_Mem_90,
  123.45 +	author = {Bennett, J.K. and Carter, J.B. and Zwaenepoel, W.},
  123.46 +	booktitle = {Computer Architecture, 1990. Proceedings., 17th Annual International Symposium on},
  123.47 +	title = {Adaptive software cache management for distributed shared memory architectures},
  123.48 +	year = 1990,
  123.49 +	pages = {125 -134}
  123.50 +}
  123.51 +@InProceedings{Charm_runtime_opt_10,
  123.52 +	author = {Mei, Chao and Zheng, Gengbin and Gioachin, Filippo and Kal{\'e}, Laxmikant V.},
  123.53 +	title = {Optimizing a parallel runtime system for multicore clusters: a case study},
  123.54 +	booktitle = {The 2010 TeraGrid Conference},
  123.55 +	year = 2010,
  123.56 +	pages = {12:1--12:8}
  123.57 +}
  123.58 +@InProceedings{TCC_Hammond_ISCA_04,
  123.59 +	author = {Hammond, Lance and al, et},
  123.60 +	title = {Transactional Memory Coherence and Consistency},
  123.61 +	series = {ISCA '04},
  123.62 +	pages = {102--},
  123.63 +	booktitle = {},
  123.64 +	year = {}
  123.65 +}
  123.66 +@Misc{WorkTableHome,
  123.67 +	author = {Halle, Sean},
  123.68 +	note = {http://musictwodotoh.com/worktable/content/refman.pdf},
  123.69 +	title = {The WorkTable Language Reference Manual},
  123.70 +	year = 2012
  123.71 +}
  123.72 +@Misc{HWSimHome,
  123.73 +	author = {Halle, Sean and Hausers, Stefan},
  123.74 +	note = {http://musictwodotoh.com/hwsim/content/refman.pdf},
  123.75 +	title = {The HWSim Language Reference Manual},
  123.76 +	year = 2012
  123.77 +}
  123.78 +@Article{Lamport78,
  123.79 +	author = {Lamport, Leslie},
  123.80 +	title = {Time, clocks, and the ordering of events in a distributed system},
  123.81 +	journal = {Commun. ACM},
  123.82 +	volume = 21,
  123.83 +	issue = 7,
  123.84 +	year = 1978,
  123.85 +	pages = {558--565}
  123.86 +}
  123.87 +@Article{Lamport87,
  123.88 +	author = {Lamport, Leslie},
  123.89 +	title = {A fast mutual exclusion algorithm},
  123.90 +	journal = {ACM Trans. Comput. Syst.},
  123.91 +	volume = 5,
  123.92 +	issue = 1,
  123.93 +	year = 1987,
  123.94 +	pages = {1--11}
  123.95 +}
  123.96 +@InProceedings{Dijkstra67,
  123.97 +	author = {Dijkstra, Edsger W.},
  123.98 +	title = {The structure of the "{THE}"-multiprogramming system},
  123.99 +	booktitle = {Proceedings of the first ACM symposium on Operating System Principles},
 123.100 +	series = {SOSP '67},
 123.101 +	year = 1967,
 123.102 +	pages = {10.1--10.6}
 123.103 +}
 123.104 +@Article{Conway63,
 123.105 +	author = {Conway, Melvin E.},
 123.106 +	title = {Design of a separable transition-diagram compiler},
 123.107 +	journal = {Commun. ACM},
 123.108 +	volume = 6,
 123.109 +	issue = 7,
 123.110 +	year = 1963,
 123.111 +	pages = {396--408}
 123.112 +}
 123.113 +@Book{ComponentModel00,
 123.114 +	author = {G Leavens and M Sitaraman (eds)},
 123.115 +	title = {Foundations of Component-Based Systems},
 123.116 +	publisher = {Cambridge University Press},
 123.117 +	year = 2000
 123.118 +}
 123.119 +@Misc{Hewitt10,
 123.120 +	author = {Carl Hewitt},
 123.121 +	title = {Actor Model of Computation},
 123.122 +	year = 2010,
 123.123 +	note = {http://arxiv.org/abs/1008.1459}
 123.124 +}
 123.125 +@Article{Actors97,
 123.126 +	author = {Agha,G. and Mason,I. and Smith,S. and Talcott,C.},
 123.127 +	title = {A foundation for actor computation},
 123.128 +	journal = {Journal of Functional Programming},
 123.129 +	volume = 7,
 123.130 +	number = 01,
 123.131 +	pages = {1-72},
 123.132 +	year = 1997
 123.133 +}
 123.134 +@Article{SchedActivations,
 123.135 +	author = {Anderson, Thomas E. and Bershad, Brian N. and Lazowska, Edward D. and Levy, Henry M.},
 123.136 +	title = {Scheduler activations: effective kernel support for the user-level management of parallelism},
 123.137 +	journal = {ACM Trans. Comput. Syst.},
 123.138 +	volume = 10,
 123.139 +	issue = 1,
 123.140 +	month = {February},
 123.141 +	year = 1992,
 123.142 +	pages = {53--79}
 123.143 +}
 123.144 +@InProceedings{BOMinManticore,
 123.145 +	author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam and Xiao, Yingqi},
 123.146 +	title = {Manticore: a heterogeneous parallel language},
 123.147 +	booktitle = {Proceedings of the 2007 workshop on Declarative aspects of multicore programming},
 123.148 +	series = {DAMP '07},
 123.149 +	year = 2007,
 123.150 +	pages = {37--44},
 123.151 +	numpages = 8
 123.152 +}
 123.153 +@TechReport{Halle_GainFromChaos_TechRep,
 123.154 +	author = {Halle, K.S. and Chua, Leon O. and Anishchenko, V.S. and Safonova, M.A.},
 123.155 +	title = {Signal Amplification via Chaos: Experimental Evidence},
 123.156 +	institution = {EECS Department, University of California, Berkeley},
 123.157 +	year = 1992,
 123.158 +	url = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/2223.html},
 123.159 +	number = {UCB/ERL M92/130}
 123.160 +}
 123.161 +@Article{Halle_GainFromChaos_pub,
 123.162 +	author = {K.S. Halle and Leon O. Chua and V.S. Anishchenko and M.A. Safonova},
 123.163 +	title = {Signal Amplification via Chaos: Experimental Evidence},
 123.164 +	journal = {Int. J. of Bifurcation and Chaos },
 123.165 +	pages = {290-308},
 123.166 +	year = 1993
 123.167 +}
 123.168 +@Article{Halle_SpreadSpect_pub,
 123.169 +	author = {K.S. Halle and C.W. Wu and M. Itoh and L. O. Chua},
 123.170 +	title = {Spread Spectrum Communication Through Modulation of Chaos},
 123.171 +	journal = {Int. J. of Bifurcation and Chaos },
 123.172 +	pages = {469-477},
 123.173 +	year = 1993,
 123.174 +	note = {cited by 232}
 123.175 +}
 123.176 +@Article{Halle_Secure_pub,
 123.177 +	author = {V. Kocarev and K.S. Halle and K. Eckert and L. O. Chua and V. Parlitz},
 123.178 +	title = {Experimental Demonstration of Secure Communications Via Chaotic Synchronization},
 123.179 +	journal = {Int. J. of Bifurcation and Chaos },
 123.180 +	pages = {709-713},
 123.181 +	year = 1992,
 123.182 +	note = {cited by 457}
 123.183 +}
 123.184 +@InProceedings{HotPar10_w_BLIS,
 123.185 +	author = {Sean Halle and Albert Cohen},
 123.186 +	booktitle = {HOTPAR '10: USENIX Workshop on Hot Topics in Parallelism},
 123.187 +	month = {June},
 123.188 +	title = {Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware},
 123.189 +	year = 2010
 123.190 +}
 123.191 +@InProceedings{HotPar11_w_Stack,
 123.192 +	author = {Sean Halle and Albert Cohen},
 123.193 +	booktitle = {HOTPAR '11: USENIX Workshop on Hot Topics in Parallelism},
 123.194 +	month = {May},
 123.195 +	title = {Support of Collective Effort Towards Performance Portability},
 123.196 +	year = 2011
 123.197 +}
 123.198 +@Article{VMS_LCPC_11,
 123.199 +	author = {Sean Halle and Albert Cohen},
 123.200 +	title = {A Mutable Hardware Abstraction to Replace Threads},
 123.201 +	journal = {24th International Workshop on Languages and Compilers for Parallel Languages (LCPC11)},
 123.202 +	year = 2011
 123.203 +}
 123.204 +@Misc{StackTechRep_10,
 123.205 +	author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert},
 123.206 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf},
 123.207 +	title = {A Framework to Support Research on Portable High Performance Parallelism},
 123.208 +	year = 2010
 123.209 +}
 123.210 +@Misc{CTBigStepSemTechRep_06,
 123.211 +	author = {Halle, Sean},
 123.212 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-11.pdf},
 123.213 +	title = {The Big-Step Operational Semantics of CodeTime Circuits},
 123.214 +	year = 2006
 123.215 +}
 123.216 +@Misc{MentalFrameworkTechRep_06,
 123.217 +	author = {Halle, Sean},
 123.218 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-12.pdf},
 123.219 +	title = {A Mental Framework for use in Creating Hardware Independent Parallel Languages},
 123.220 +	year = 2006
 123.221 +}
 123.222 +@Misc{DKUTechRep_09,
 123.223 +	author = {Halle, Sean and Cohen, Albert},
 123.224 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-06.pdf},
 123.225 +	title = {DKU Pattern for Performance Portable Parallel Software},
 123.226 +	year = 2009
 123.227 +}
 123.228 +@Misc{EQNLangTechRep,
 123.229 +	author = {Halle, Sean},
 123.230 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-16.pdf},
 123.231 +	title = {An Extensible Parallel Language},
 123.232 +	year = 2009
 123.233 +}
 123.234 +@Misc{CTOSTechRep,
 123.235 +	author = {Halle, Sean},
 123.236 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-15.pdf},
 123.237 +	title = {A Hardware-Independent Parallel Operating System Abstraction Layer for Parallelism},
 123.238 +	year = 2009
 123.239 +}
 123.240 +@Misc{SideEffectsTechRep,
 123.241 +	author = {Halle, Sean and Cohen, Albert},
 123.242 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-14.pdf},
 123.243 +	title = {Parallel Language Extensions for Side Effects},
 123.244 +	year = 2009
 123.245 +}
 123.246 +@Misc{BaCTiLTechRep,
 123.247 +	author = {Halle, Sean},
 123.248 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-08.pdf},
 123.249 +	title = {BaCTiL: Base CodeTime Language},
 123.250 +	year = 2006
 123.251 +}
 123.252 +@Misc{CTPlatformTechRep,
 123.253 +	author = {Halle, Sean},
 123.254 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-09.pdf},
 123.255 +	title = {The Elements of the CodeTime Software Platform},
 123.256 +	year = 2006
 123.257 +}
 123.258 +@Misc{CTRTTechRep,
 123.259 +	author = {Halle, Sean},
 123.260 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-10.pdf},
 123.261 +	title = {A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform},
 123.262 +	year = 2006
 123.263 +}
 123.264 +@Misc{CIPTechRep,
 123.265 +	author = {Halle, Sean},
 123.266 +	note = {http://www.soe.ucsc.edu/share/technical-reports/2005/ucsc-crl-05-05.pdf},
 123.267 +	title = {The Case for an Integrated Software Platform for {HEC} Illustrated Using the CodeTime Platform},
 123.268 +	year = 2005
 123.269 +}
 123.270 +@Misc{DKU_Infra_site,
 123.271 +	author = {Sean Halle and Albert Cohen},
 123.272 +	note = {http://omp.musictwodotoh.com},
 123.273 +	title = {{DKU} infrastructure server}
 123.274 +}
 123.275 +@Misc{DKUSourceForge,
 123.276 +	author = {Sean Halle and Albert Cohen},
 123.277 +	month = {November},
 123.278 +	note = {http://dku.sourceforge.net},
 123.279 +	title = {{DKU} website},
 123.280 +	year = 2008
 123.281 +}
 123.282 +@Misc{BLISHome,
 123.283 +	author = {Sean Halle and Albert Cohen},
 123.284 +	month = {November},
 123.285 +	note = {http://blisplatform.sourceforge.net},
 123.286 +	title = {{BLIS} website},
 123.287 +	year = 2008
 123.288 +}
 123.289 +@Misc{VMSHome,
 123.290 +	author = {Sean Halle and Merten Sach and Ben Juurlink and Albert Cohen},
 123.291 +	note = {http://virtualizedmasterslave.org},
 123.292 +	title = {{VMS} Home Page},
 123.293 +	year = 2010
 123.294 +}
 123.295 +@Misc{PStackHome,
 123.296 +	author = {Sean Halle},
 123.297 +	note = {http://pstack.sourceforge.net},
 123.298 +	title = {{PStack} Home Page -- A Software Stack for Performantly Portable Parallelism},
 123.299 +	year = 2012
 123.300 +}
 123.301 +@Misc{DeblockingCode,
 123.302 +	note = {http://dku.svn.sourceforge.net/viewvc/dku/branches/DKU\_C\_\_Deblocking\_\_orig/},
 123.303 +	title = {{DKU-ized Deblocking Filter} code}
 123.304 +}
 123.305 +@Misc{SampleBLISCode,
 123.306 +	note = {http://dku.sourceforge.net/SampleCode.htm},
 123.307 +	title = {{Sample BLIS Code}}
 123.308 +}
 123.309 +@Misc{OMPHome,
 123.310 +	note = {http://www.openmediaplatform.eu/},
 123.311 +	title = {{Open Media Platform} homepage}
 123.312 +}
 123.313 +@Misc{MapReduceHome,
 123.314 +	author = {Google Corp.},
 123.315 +	note = {http://labs.google.com/papers/mapreduce.html},
 123.316 +	title = {{MapReduce} Home page}
 123.317 +}
 123.318 +@Misc{TBBHome,
 123.319 +	author = {Intel Corp.},
 123.320 +	note = {http://www.threadingbuildingblocks.org},
 123.321 +	title = {{TBB} Home page}
 123.322 +}
 123.323 +@Misc{HPFWikipedia,
 123.324 +	author = {Wikipedia},
 123.325 +	note = {http://en.wikipedia.org/wiki/High_Performance_Fortran},
 123.326 +	title = {{HPF} wikipedia page}
 123.327 +}
 123.328 +@Misc{OpenMPHome,
 123.329 +	author = {{OpenMP} organization},
 123.330 +	note = {http://www.openmp.org},
 123.331 +	title = {{OpenMP} Home page}
 123.332 +}
 123.333 +@Misc{MPIHome,
 123.334 +	author = {open-mpi organization},
 123.335 +	note = {http://www.open-mpi.org},
 123.336 +	title = {{Open MPI} Home page}
 123.337 +}
 123.338 +@Misc{OpenCLHome,
 123.339 +	author = {Kronos Group},
 123.340 +	note = {http://www.khronos.org/opencl},
 123.341 +	title = {{OpenCL} Home page}
 123.342 +}
 123.343 +@Misc{CILKHome,
 123.344 +	author = {Cilk group at MIT},
 123.345 +	note = {http://supertech.csail.mit.edu/cilk/},
 123.346 +	title = {{CILK} homepage}
 123.347 +}
 123.348 +@InProceedings{Fri98,
 123.349 +	author = {M. Frigo and C. E. Leiserson and K. H. Randall},
 123.350 +	title = {The Implementation of the Cilk-5 Multithreaded Language},
 123.351 +	booktitle = {PLDI '98: Proceedings of the 1998 ACM SIGPLAN conference on Programming language design and implementation},
 123.352 +	pages = {212--223},
 123.353 +	year = 1998,
 123.354 +	address = {Montreal, Quebec},
 123.355 +	month = jun
 123.356 +}
 123.357 +@Misc{TitaniumHome,
 123.358 +	note = {http://titanium.cs.berkeley.edu},
 123.359 +	title = {{Titanium} homepage}
 123.360 +}
 123.361 +@InProceedings{CnCInHotPar,
 123.362 +	author = {Knobe, Kathleen},
 123.363 +	booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism},
 123.364 +	title = {Ease of Use with Concurrent Collections {(CnC)}},
 123.365 +	year = 2009
 123.366 +}
 123.367 +@Misc{CnCHome,
 123.368 +	author = {Intel Corp.},
 123.369 +	note = {http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/},
 123.370 +	title = {{CnC} homepage}
 123.371 +}
 123.372 +@Misc{SpiralHome,
 123.373 +	author = {Spiral Group at CMU},
 123.374 +	note = {http://www.spiral.net},
 123.375 +	title = {{Spiral} homepage}
 123.376 +}
 123.377 +@Misc{ScalaHome,
 123.378 +	author = {Scala organization},
 123.379 +	note = {http://www.scala-lang.org/},
 123.380 +	title = {{Scala} homepage}
 123.381 +}
 123.382 +@Misc{UPCHome,
 123.383 +	author = {UPC group at UC Berkeley},
 123.384 +	note = {http://upc.lbl.gov/},
 123.385 +	title = {{Unified Parallel C} homepage}
 123.386 +}
 123.387 +@Misc{SuifHome,
 123.388 +	note = {http://suif.stanford.edu},
 123.389 +	title = {{Suif} Parallelizing compiler homepage}
 123.390 +}
 123.391 +@Article{SEJITS,
 123.392 +	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.393 +	title = {SEJITS: Getting Productivity AND Performance With Selective Embedded JIT Specialization},
 123.394 +	journal = {First Workshop on Programmable Models for Emerging Architecture at the 18th International Conference on Parallel Architectures and Compilation Techniques },
 123.395 +	year = 2009
 123.396 +}
 123.397 +@InProceedings{Arnaldo3D,
 123.398 +	author = {Azevedo, Arnaldo and Meenderinck, Cor and Juurlink, Ben and Terechko, Andrei and Hoogerbrugge, Jan and Alvarez, Mauricio and Ramirez, Alex},
 123.399 +	title = {Parallel H.264 Decoding on an Embedded Multicore Processor},
 123.400 +	booktitle = {HiPEAC '09: Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers},
 123.401 +	year = 2009,
 123.402 +	pages = {404--418}
 123.403 +}
 123.404 +@Article{NarayananGPUSched,
 123.405 +	author = {Narayanan Sundaram and Anand Raghunathan and Srimat T. Chakradhar},
 123.406 +	title = {A framework for efficient and scalable execution of domain-specific templates on GPUs},
 123.407 +	journal = {International Parallel and Distributed Processing Symposium {(IPDPS)}},
 123.408 +	year = 2009,
 123.409 +	pages = {1-12}
 123.410 +}
 123.411 +@InProceedings{PolyForGPU,
 123.412 +	author = {Baskaran, Muthu Manikandan and Bondhugula, Uday and Krishnamoorthy, Sriram and Ramanujam, J. and Rountev, Atanas and Sadayappan, P.},
 123.413 +	title = {A compiler framework for optimization of affine loop nests for gpgpus},
 123.414 +	booktitle = {ICS '08: Proceedings of the 22nd annual international conference on Supercomputing},
 123.415 +	year = 2008,
 123.416 +	pages = {225--234}
 123.417 +}
 123.418 +@InProceedings{Loulou08,
 123.419 +	author = {Pouchet, Louis-No\"{e}l and Bastoul, C\'{e}dric and Cohen, Albert and Cavazos, John},
 123.420 +	title = {Iterative optimization in the polyhedral model: part ii, multidimensional time},
 123.421 +	booktitle = {ACM SIGPLAN conference on Programming language design and implementation {(PLDI)} },
 123.422 +	year = 2008,
 123.423 +	pages = {90--100}
 123.424 +}
 123.425 +@InProceedings{MergeInHotPar,
 123.426 +	author = {Michael D. Linderman and James Balfour and Teresa H. Meng and William J. Dally},
 123.427 +	booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism},
 123.428 +	month = {March},
 123.429 +	title = {Embracing Heterogeneity \- Parallel Programming for Changing Hardware},
 123.430 +	year = 2009
 123.431 +}
 123.432 +@InProceedings{GaloisRef,
 123.433 +	author = {Kulkarni, Milind and Pingali, Keshav and Walter, Bruce and Ramanarayanan, Ganesh and Bala, Kavita and Chew, L. Paul},
 123.434 +	title = {Optimistic parallelism requires abstractions},
 123.435 +	booktitle = {PLDI '07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation},
 123.436 +	year = 2007,
 123.437 +	pages = {211--222}
 123.438 +}
 123.439 +@Book{Allen2002,
 123.440 +	author = {Kennedy, Ken and Allen, John R.},
 123.441 +	title = {Optimizing compilers for modern architectures: a dependence-based approach},
 123.442 +	year = 2002,
 123.443 +	publisher = {Morgan Kaufmann Publishers Inc.}
 123.444 +}
 123.445 +@Misc{Stephens95,
 123.446 +	author = {R. Stephens},
 123.447 +	title = {A Survey Of Stream Processing},
 123.448 +	year = 1995
 123.449 +}
 123.450 +@InProceedings{Palatin06,
 123.451 +	author = {P Palatin and Y Lhuillier and O Temam},
 123.452 +	title = {CAPSULE: Hardware-assisted parallel execution of componentbased programs},
 123.453 +	booktitle = {In Proceedings of the 39th Annual International Symposium on Microarchitecture},
 123.454 +	year = 2006,
 123.455 +	pages = {247--258}
 123.456 +}
 123.457 +@InProceedings{Sequioa06,
 123.458 +	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.459 +	title = {Sequoia: programming the memory hierarchy},
 123.460 +	booktitle = {SC '06: Proceedings of the 2006 ACM/IEEE conference on Supercomputing},
 123.461 +	year = 2006,
 123.462 +	pages = 83
 123.463 +}
 123.464 +@Book{Cole89,
 123.465 +	author = {M Cole},
 123.466 +	title = {Algorithmic skeletons: Structured management of parallel computation},
 123.467 +	publisher = {Pitman},
 123.468 +	year = 1989
 123.469 +}
 123.470 +@InProceedings{Ginhac98,
 123.471 +	author = {Dominique Ginhac and Jocelyn Serot and Jean Pierre Derutin},
 123.472 +	title = {Fast prototyping of image processing applications using functional skeletons on a MIMD-DM architecture},
 123.473 +	booktitle = {In IAPR Workshop on Machine Vision and Applications},
 123.474 +	year = 1998,
 123.475 +	pages = {468--471}
 123.476 +}
 123.477 +@InProceedings{Serot08MetaParallel,
 123.478 +	author = {Serot, Jocelyn and Falcou, Joel},
 123.479 +	title = {Functional Meta-programming for Parallel Skeletons},
 123.480 +	booktitle = {ICCS '08: Proceedings of the 8th international conference on Computational Science, Part I},
 123.481 +	year = 2008,
 123.482 +	pages = {154--163}
 123.483 +}
 123.484 +@InProceedings{Darlington93,
 123.485 +	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.486 +	title = {Parallel programming using skeleton functions},
 123.487 +	booktitle = {},
 123.488 +	year = 1993,
 123.489 +	pages = {146--160},
 123.490 +	publisher = {Springer-Verlag}
 123.491 +}
 123.492 +@Article{Asanovic06BerkeleyView,
 123.493 +	title = {{The landscape of parallel computing research: A view from berkeley}},
 123.494 +	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.495 +	journal = {Electrical Engineering and Computer Sciences, University of California at Berkeley, Technical Report No. UCB/EECS-2006-183, December},
 123.496 +	volume = 18,
 123.497 +	number = {2006-183},
 123.498 +	pages = 19,
 123.499 +	year = 2006
 123.500 +}
 123.501 +@Misc{BerkeleyPattLang,
 123.502 +	note = {http://parlab.eecs.berkeley.edu/wiki/patterns},
 123.503 +	title = {{Berkeley Pattern Language}}
 123.504 +}
 123.505 +@Book{Mattson04Patterns,
 123.506 +	title = {{Patterns for parallel programming}},
 123.507 +	author = {Mattson, T. and Sanders, B. and Massingill, B.},
 123.508 +	year = 2004,
 123.509 +	publisher = {Addison-Wesley Professional}
 123.510 +}
 123.511 +@Article{Skillicorn98,
 123.512 +	title = {{Models and languages for parallel computation}},
 123.513 +	author = {Skillicorn, D.B. and Talia, D.},
 123.514 +	journal = {ACM Computing Surveys (CSUR)},
 123.515 +	volume = 30,
 123.516 +	number = 2,
 123.517 +	pages = {123--169},
 123.518 +	year = 1998
 123.519 +}
 123.520 +@Conference{Blelloch93NESL,
 123.521 +	title = {{Implementation of a portable nested data-parallel language}},
 123.522 +	author = {Blelloch, G.E. and Hardwick, J.C. and Chatterjee, S. and Sipelstein, J. and Zagha, M.},
 123.523 +	booktitle = {Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming},
 123.524 +	pages = {102--111},
 123.525 +	year = 1993,
 123.526 +	organization = {ACM New York, NY, USA}
 123.527 +}
 123.528 +@Article{McgrawSisal,
 123.529 +	title = {{SISAL: Streams and iteration in a single assignment language: Reference manual version 1.2}},
 123.530 +	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.531 +	journal = {Manual M-146, Rev},
 123.532 +	volume = 1
 123.533 +}
 123.534 +@Article{Gelernter85Linda,
 123.535 +	title = {{Generative communication in Linda}},
 123.536 +	author = {Gelernter, D.},
 123.537 +	journal = {ACM Transactions on Programming Languages and Systems (TOPLAS)},
 123.538 +	volume = 7,
 123.539 +	number = 1,
 123.540 +	pages = {80--112},
 123.541 +	year = 1985
 123.542 +}
 123.543 +@Article{Lin94ZPL,
 123.544 +	title = {{ZPL: An array sublanguage}},
 123.545 +	author = {Lin, C. and Snyder, L.},
 123.546 +	journal = {Lecture Notes in Computer Science},
 123.547 +	volume = 768,
 123.548 +	pages = {96--114},
 123.549 +	year = 1994
 123.550 +}
 123.551 +@Article{baecker97,
 123.552 +	author = {Ron Baecker and Chris DiGiano and Aaron Marcus},
 123.553 +	title = {Software visualization for debugging},
 123.554 +	journal = {Communications of the ACM},
 123.555 +	volume = 40,
 123.556 +	number = 4,
 123.557 +	year = 1997,
 123.558 +	issn = {0001-0782},
 123.559 +	pages = {44--54},
 123.560 +	publisher = {ACM Press}
 123.561 +}
 123.562 +@Article{ball96,
 123.563 +	author = {T. A. Ball and S. G. Eick},
 123.564 +	title = {Software Visualization in the Large},
 123.565 +	journal = {IEEE Computer},
 123.566 +	volume = 29,
 123.567 +	number = 4,
 123.568 +	year = 1996,
 123.569 +	month = {apr},
 123.570 +	pages = {33--43}
 123.571 +}
 123.572 +@Book{berry89,
 123.573 +	title = {{The chemical abstract machine}},
 123.574 +	author = {Berry, G. and Boudol, G.},
 123.575 +	year = 1989,
 123.576 +	publisher = {ACM Press}
 123.577 +}
 123.578 +@Article{blumofe95,
 123.579 +	author = {Robert D. Blumofe and Christopher F. Joerg and Bradley C. Kuszmaul and Charles E. Leiserson and Keith H. Randall and Yuli Zhou},
 123.580 +	title = {Cilk: an efficient multithreaded runtime system},
 123.581 +	journal = {SIGPLAN Not.},
 123.582 +	volume = 30,
 123.583 +	number = 8,
 123.584 +	year = 1995,
 123.585 +	pages = {207--216}
 123.586 +}
 123.587 +@Article{burch90,
 123.588 +	title = {{Symbolic model checking: 10^{20} states and beyond}},
 123.589 +	author = {Burch, JR and Clarke, EM and McMillan, KL and Dill, DL and Hwang, LJ},
 123.590 +	journal = {Logic in Computer Science, 1990. LICS'90, Proceedings},
 123.591 +	pages = {428--439},
 123.592 +	year = 1990
 123.593 +}
 123.594 +@Article{chamberlain98,
 123.595 +	author = {B. Chamberlain and S. Choi and E. Lewis and C. Lin and L. Snyder and W. Weathersby},
 123.596 +	title = {ZPL's WYSIWYG Performance Model},
 123.597 +	journal = {hips},
 123.598 +	volume = 00,
 123.599 +	year = 1998,
 123.600 +	isbn = {0-8186-8412-7},
 123.601 +	pages = 50
 123.602 +}
 123.603 +@Article{church41,
 123.604 +	author = {A. Church},
 123.605 +	title = {The Calculi of Lambda-Conversion},
 123.606 +	journal = {Annals of Mathematics Studies},
 123.607 +	number = 6,
 123.608 +	year = 1941,
 123.609 +	publisher = {Princeton University}
 123.610 +}
 123.611 +@Misc{CodeTimeSite,
 123.612 +	author = {Sean Halle},
 123.613 +	key = {CodeTime},
 123.614 +	title = {Homepage for The CodeTime Parallel Software Platform},
 123.615 +	note = {{\ttfamily http://codetime.sourceforge.net}}
 123.616 +}
 123.617 +@Misc{CodeTimePlatform,
 123.618 +	author = {Sean Halle},
 123.619 +	key = {CodeTime},
 123.620 +	title = {The CodeTime Parallel Software Platform},
 123.621 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Platform.pdf}}
 123.622 +}
 123.623 +@Misc{CodeTimeVS,
 123.624 +	author = {Sean Halle},
 123.625 +	key = {CodeTime},
 123.626 +	title = {The Specification of the CodeTime Platform's Virtual Server},
 123.627 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Virtual\_Server.pdf}}
 123.628 +}
 123.629 +@Misc{CodeTimeOS,
 123.630 +	author = {Sean Halle},
 123.631 +	key = {CodeTime},
 123.632 +	title = {A Hardware Independent OS},
 123.633 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_OS.pdf}}
 123.634 +}
 123.635 +@Misc{CodeTimeSem,
 123.636 +	author = {Sean Halle},
 123.637 +	key = {CodeTime},
 123.638 +	title = {The Big-Step Operational Semantics of the CodeTime Computational Model},
 123.639 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Semantics.pdf}}
 123.640 +}
 123.641 +@Misc{CodeTimeTh,
 123.642 +	author = {Sean Halle},
 123.643 +	key = {CodeTime},
 123.644 +	title = {A Mental Framework for Use in Creating Hardware-Independent Parallel Languages},
 123.645 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTiime\_Theoretical\_Framework.pdf}}
 123.646 +}
 123.647 +@Misc{CodeTimeTh1,
 123.648 +	author = {Sean Halle},
 123.649 +	key = {CodeTime},
 123.650 +	title = {The CodeTime Parallel Software Platform},
 123.651 +	note = {{\ttfamily http://codetime.sourceforge.net}}
 123.652 +}
 123.653 +@Misc{CodeTimeTh2,
 123.654 +	author = {Sean Halle},
 123.655 +	key = {CodeTime},
 123.656 +	title = {The CodeTime Parallel Software Platform},
 123.657 +	note = {{\ttfamily http://codetime.sourceforge.net}}
 123.658 +}
 123.659 +@Misc{CodeTimeRT,
 123.660 +	author = {Sean Halle},
 123.661 +	key = {CodeTime},
 123.662 +	title = {The CodeTime Parallel Software Platform},
 123.663 +	note = {{\ttfamily http://codetime.sourceforge.net}}
 123.664 +}
 123.665 +@Misc{CodeTimeWebSite,
 123.666 +	author = {Sean Halle},
 123.667 +	key = {CodeTime},
 123.668 +	title = {The CodeTime Parallel Software Platform},
 123.669 +	note = {{\ttfamily http://codetime.sourceforge.net}}
 123.670 +}
 123.671 +@Misc{CodeTimeBaCTiL,
 123.672 +	author = {Sean Halle},
 123.673 +	key = {CodeTime},
 123.674 +	title = {The Base CodeTime Language},
 123.675 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_BaCTiL.pdf}}
 123.676 +}
 123.677 +@Misc{CodeTimeCert,
 123.678 +	author = {Sean Halle},
 123.679 +	key = {CodeTime},
 123.680 +	title = {The CodeTime Certification Strategy},
 123.681 +	note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Certification.pdf}}
 123.682 +}
 123.683 +@InProceedings{ducournau94,
 123.684 +	author = {R. Ducournau and M. Habib and M. Huchard and M. L. Mugnier},
 123.685 +	title = {Proposal for a monotonic multiple inheritance linearization},
 123.686 +	booktitle = {OOPSLA '94: Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications},
 123.687 +	year = 1994,
 123.688 +	pages = {164--175},
 123.689 +	publisher = {ACM Press}
 123.690 +}
 123.691 +@Article{emerson91,
 123.692 +	title = {{Tree automata, mu-calculus and determinacy}},
 123.693 +	author = {Emerson, EA and Jutla, CS},
 123.694 +	journal = {Proceedings of the 32nd Symposium on Foundations of Computer Science},
 123.695 +	pages = {368--377},
 123.696 +	year = 1991
 123.697 +}
 123.698 +@Article{fortune78,
 123.699 +	title = {{Parallelism in random access machines}},
 123.700 +	author = {Fortune, S. and Wyllie, J.},
 123.701 +	journal = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing},
 123.702 +	pages = {114--118},
 123.703 +	year = 1978,
 123.704 +	publisher = {ACM Press New York, NY, USA}
 123.705 +}
 123.706 +@Book{goldberg83,
 123.707 +	title = {{Smalltalk-80: the language and its implementation}},
 123.708 +	author = {Goldberg, A. and Robson, D.},
 123.709 +	year = 1983,
 123.710 +	publisher = {Addison-Wesley}
 123.711 +}
 123.712 +@InProceedings{goldschlager78,
 123.713 +	author = {Leslie M. Goldschlager},
 123.714 +	title = {A unified approach to models of synchronous parallel machines},
 123.715 +	booktitle = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing},
 123.716 +	year = 1978,
 123.717 +	pages = {89--94},
 123.718 +	location = {San Diego, California, United States},
 123.719 +	doi = {http://doi.acm.org/10.1145/800133.804336},
 123.720 +	publisher = {ACM Press}
 123.721 +}
 123.722 +@Book{gosling96,
 123.723 +	author = {J. Gosling and B. Joy and G. Steele and G. Bracha},
 123.724 +	title = {The Java Language Specification},
 123.725 +	publisher = {Addison-Wesley},
 123.726 +	year = 1996
 123.727 +}
 123.728 +@Article{hasselbring00,
 123.729 +	author = {Wilhelm Hasselbring},
 123.730 +	title = {Programming languages and systems for prototyping concurrent applications},
 123.731 +	journal = {ACM Comput. Surv.},
 123.732 +	volume = 32,
 123.733 +	number = 1,
 123.734 +	year = 2000,
 123.735 +	issn = {0360-0300},
 123.736 +	pages = {43--79},
 123.737 +	doi = {http://doi.acm.org/10.1145/349194.349199},
 123.738 +	publisher = {ACM Press},
 123.739 +	address = {New York, NY, USA}
 123.740 +}
 123.741 +@Article{hoare78,
 123.742 +	author = {C. A. R. Hoare},
 123.743 +	title = {Communicating Sequential Processes},
 123.744 +	journal = {Communications of the ACM},
 123.745 +	year = 1978,
 123.746 +	volume = 21,
 123.747 +	number = 8,
 123.748 +	pages = {666-677}
 123.749 +}
 123.750 +@Article{huth,
 123.751 +	title = {{A Unifying Framework for Model Checking Labeled Kripke Structures, Modal Transition Systems, and Interval Transition Systems}},
 123.752 +	author = {Huth, M.},
 123.753 +	journal = {Proceedings of the 19th International Conference on the Foundations of Software Technology \& Theoretical Computer Science, Lecture Notes in Computer Science},
 123.754 +	pages = {369--380},
 123.755 +	publisher = {Springer-Verlag}
 123.756 +}
 123.757 +@Article{johnston04,
 123.758 +	author = {Wesley M. Johnston and J. R. Paul Hanna and Richard J. Millar},
 123.759 +	title = {Advances in dataflow programming languages},
 123.760 +	journal = {ACM Comput. Surv.},
 123.761 +	volume = 36,
 123.762 +	number = 1,
 123.763 +	year = 2004,
 123.764 +	issn = {0360-0300},
 123.765 +	pages = {1--34},
 123.766 +	doi = {http://doi.acm.org/10.1145/1013208.1013209},
 123.767 +	publisher = {ACM Press},
 123.768 +	address = {New York, NY, USA}
 123.769 +}
 123.770 +@Book{koelbel93,
 123.771 +	author = {C. H. Koelbel and D. Loveman and R. Schreiber and G. Steele Jr},
 123.772 +	title = {High Performance Fortran Handbook},
 123.773 +	year = 1993,
 123.774 +	publisher = {MIT Press}
 123.775 +}
 123.776 +@Article{kozen83,
 123.777 +	title = {{Results on the Propositional mu-Calculus}},
 123.778 +	author = {Kozen, D.},
 123.779 +	journal = {TCS},
 123.780 +	volume = 27,
 123.781 +	pages = {333--354},
 123.782 +	year = 1983
 123.783 +}
 123.784 +@Article{kripke63,
 123.785 +	title = {{Semantical analysis of modal logic}},
 123.786 +	author = {Kripke, S.},
 123.787 +	journal = {Zeitschrift fur Mathematische Logik und Grundlagen der Mathematik},
 123.788 +	volume = 9,
 123.789 +	pages = {67--96},
 123.790 +	year = 1963
 123.791 +}
 123.792 +@Book{mcGraw85,
 123.793 +	author = {J McGraw and S. Skedzielewski and S. Allan and R Odefoeft},
 123.794 +	title = {SISAL: Streams and Iteration in a Single-Assignment Language: Reference Manual Version 1.2},
 123.795 +	note = {Manual M-146 Rev. 1},
 123.796 +	publisher = {Lawrence Livermore National Laboratory},
 123.797 +	year = 1985
 123.798 +}
 123.799 +@Book{milner80,
 123.800 +	title = {{A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science}},
 123.801 +	author = {Milner, R.},
 123.802 +	year = 1980,
 123.803 +	publisher = {Springer-Verlag}
 123.804 +}
 123.805 +@Article{milner92,
 123.806 +	title = {{A calculus of mobile processes, parts I and II}},
 123.807 +	author = {Milner, R. and Parrow, J. and Walker, D.},
 123.808 +	journal = {Information and Computation},
 123.809 +	volume = 100,
 123.810 +	number = 1,
 123.811 +	pages = {1--40 and 41--77},
 123.812 +	year = 1992,
 123.813 +	publisher = {Academic Press}
 123.814 +}
 123.815 +@Book{milner99,
 123.816 +	author = {Robin Milner},
 123.817 +	title = {Communicating and Mobile Systems: The pi-Calculus},
 123.818 +	publisher = {Cambridge University Press},
 123.819 +	year = 1999
 123.820 +}
 123.821 +@Book{MPIForum94,
 123.822 +	author = {M. P. I. Forum},
 123.823 +	title = {MPI: A Message-Passing Interface Standard},
 123.824 +	year = 1994
 123.825 +}
 123.826 +@Article{petri62,
 123.827 +	title = {{Fundamentals of a theory of asynchronous information flow}},
 123.828 +	author = {Petri, C.A.},
 123.829 +	journal = {Proc. IFIP Congress},
 123.830 +	volume = 62,
 123.831 +	pages = {386--390},
 123.832 +	year = 1962
 123.833 +}
 123.834 +@Book{pierce02,
 123.835 +	title = {Types and Programming Languages},
 123.836 +	author = {Pierce, B. C.},
 123.837 +	year = 2002,
 123.838 +	publisher = {MIT Press}
 123.839 +}
 123.840 +@Article{price,
 123.841 +	author = {B. A. Price and R. M. Baecker and L. S. Small},
 123.842 +	title = {A Principled Taxonomy of Software Visualization},
 123.843 +	journal = {Journal of Visual Languages and Computing},
 123.844 +	volume = 4,
 123.845 +	number = 3,
 123.846 +	pages = {211--266}
 123.847 +}
 123.848 +@Misc{pythonWebSite,
 123.849 +	key = {Python},
 123.850 +	title = {The Python Software Foundation Mission Statement},
 123.851 +	note = {{\ttfamily http://www.python.org/psf/mission.html}}
 123.852 +}
 123.853 +@Unpublished{reed03,
 123.854 +	editor = {Daniel A. Reed},
 123.855 +	title = {Workshop on The Roadmap for the Revitalization of High-End Computing},
 123.856 +	day = {16--18},
 123.857 +	month = {jun},
 123.858 +	year = 2003,
 123.859 +	note = {Available at {\ttfamily http://www.cra.org/reports/supercomputing.web.pdf}}
 123.860 +}
 123.861 +@Article{reeves84,
 123.862 +	author = {A. P. Reeves},
 123.863 +	title = {Parallel Pascal -- An Extended Pascal for Parallel Computers},
 123.864 +	journal = {Journal of Parallel and Distributed Computing},
 123.865 +	volume = 1,
 123.866 +	number = {},
 123.867 +	year = 1984,
 123.868 +	month = {aug},
 123.869 +	pages = {64--80}
 123.870 +}
 123.871 +@Article{skillicorn98,
 123.872 +	author = {David B. Skillicorn and Domenico Talia},
 123.873 +	title = {Models and languages for parallel computation},
 123.874 +	journal = {ACM Comput. Surv.},
 123.875 +	volume = 30,
 123.876 +	number = 2,
 123.877 +	year = 1998,
 123.878 +	issn = {0360-0300},
 123.879 +	pages = {123--169},
 123.880 +	doi = {http://doi.acm.org/10.1145/280277.280278},
 123.881 +	publisher = {ACM Press},
 123.882 +	address = {New York, NY, USA}
 123.883 +}
 123.884 +@Article{stefik86,
 123.885 +	title = {Object Oriented Programming: Themes and Variations},
 123.886 +	author = {Stefik, M. and Bobrow, D. G.},
 123.887 +	journal = {The AI Magazine},
 123.888 +	volume = 6,
 123.889 +	number = 4,
 123.890 +	year = 1986
 123.891 +}
 123.892 +@Book{stirling92,
 123.893 +	title = {{Modal and Temporal Logics}},
 123.894 +	author = {Stirling, C.},
 123.895 +	year = 1992,
 123.896 +	publisher = {University of Edinburgh, Department of Computer Science}
 123.897 +}
 123.898 +@Misc{TitaniumWebSite,
 123.899 +	author = {Paul Hilfinger and et. al.},
 123.900 +	title = {The Titanium Project Home Page},
 123.901 +	note = {{\ttfamily http://www.cs.berkeley.edu/projects/titanium}}
 123.902 +}
 123.903 +@Misc{turing38,
 123.904 +	author = {A. Turing},
 123.905 +	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},
 123.906 +	year = 1938
 123.907 +}
 123.908 +@Book{vonNeumann45,
 123.909 +	title = {First Draft of a Report on the EDVAC},
 123.910 +	author = {J. von Neumann},
 123.911 +	year = 1945,
 123.912 +	publisher = {United States Army Ordnance Department}
 123.913 +}
 123.914 +@Book{winskel93,
 123.915 +	title = {{The Formal Semantics of Programming Languages}},
 123.916 +	author = {Winskel, G.},
 123.917 +	year = 1993,
 123.918 +	publisher = {MIT Press}
 123.919 +}
   124.1 Binary file CVs/13_Jy__ERCIM_CV/publication_list.pdf has changed
   125.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
   125.2 +++ b/CVs/13_Jy__ERCIM_CV/publication_list.tex	Sat Aug 03 19:24:22 2013 -0700
   125.3 @@ -0,0 +1,91 @@
   125.4 +%&latex
   125.5 +%% Derived from: `cvctan.tex'
   125.6 +
   125.7 +\documentclass[a4paper]{article}
   125.8 +
   125.9 +\usepackage{tabularx}
  125.10 +
  125.11 +%\usepackage{doublespace}
  125.12 +%\setstretch{1.1}
  125.13 +
  125.14 +%\usepackage{ae}
  125.15 +\usepackage[T1]{fontenc}
  125.16 +\usepackage{CV}
  125.17 +
  125.18 +
  125.19 +\oddsidemargin 0in
  125.20 +\evensidemargin 0in
  125.21 +\textwidth\paperwidth
  125.22 +\advance \textwidth by -2in
  125.23 +\topmargin 0in
  125.24 +\textheight\paperheight
  125.25 +\advance\textheight -2in
  125.26 +\headheight 0pt
  125.27 +\headsep 0pt
  125.28 +\footskip 0pt
  125.29 +
  125.30 +
  125.31 +%%%%%%%%%%%%%%%%%%%%%%
  125.32 +\begin{document}
  125.33 +
  125.34 +\pagestyle{empty}
  125.35 +\bibliographystyle{plain}
  125.36 +%Ueberschrift
  125.37 +\begin{center}
  125.38 +\huge{\textsc{Publication List}}
  125.39 +\vspace{\baselineskip}
  125.40 +
  125.41 +\Large{\textsc{Sean Halle}}
  125.42 +\end{center}
  125.43 +%\vspace{1.5\baselineskip}
  125.44 +
  125.45 +
  125.46 +\section{Overview} Sean has produced a large body of work, however due to a number of factors has only recently begun concentrating on publishing in major conferences and journals.  As such, most of the publications in the list are technical reports, or papers downloadable from development websites.
  125.47 +
  125.48 +
  125.49 +\cite{BLISHome,
  125.50 +HotPar10_w_BLIS,
  125.51 +HotPar11_w_Stack,
  125.52 +PStackHome,
  125.53 +VMS_LCPC_11,
  125.54 +VMSHome,
  125.55 +WorkTableHome,
  125.56 +BaCTiLTechRep,
  125.57 +CIPTechRep,
  125.58 +CTOSTechRep,
  125.59 +CTPlatformTechRep,
  125.60 +CTRTTechRep,
  125.61 +DKUTechRep_09,
  125.62 +EQNLangTechRep,
  125.63 +GainFromChaos_Halle_92,
  125.64 +MentalFrameworkTechRep_06,
  125.65 +Halle_GainFromChaos_pub,
  125.66 +Halle_Secure_pub,
  125.67 +Halle_SpreadSpect_pub}
  125.68 +
  125.69 +\bibliography{bib_for_papers_apr_2012}
  125.70 +
  125.71 +
  125.72 +
  125.73 +\end{document}
  125.74 +
  125.75 +
  125.76 +
  125.77 +
  125.78 +
  125.79 +%Tabellen
  125.80 +\begin{table}[htbp] \centering%
  125.81 +\begin{tabular}{lll}\hline\hline
  125.82 +1 & 2 & 3 \\ \hline
  125.83 +1 & \multicolumn{2}{c}{2} \\
  125.84 +\hline
  125.85 +\end{tabular}
  125.86 +\caption{Titel\label{Tabelle: Label}}
  125.87 +\end{table}
  125.88 +
  125.89 +
  125.90 +
  125.91 +
  125.92 +
  125.93 +
  125.94 +