Mercurial > cgi-bin > hgwebdir.cgi > VMS > 0__Writings > kshalle
changeset 10:fdd66fbc9403
Added some starts on papers and did some organizing, moving among folders
line diff
1.1 Binary file 0__Papers/LPGPU__Arch/First_arch_paper/figures/Chip_plus_mem_sys.pdf has changed
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/0__Papers/LPGPU__Arch/First_arch_paper/figures/Chip_plus_mem_sys.svg Sun Mar 11 09:26:44 2012 -0700 2.3 @@ -0,0 +1,3056 @@ 2.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 2.6 + 2.7 +<svg 2.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 2.9 + xmlns:cc="http://creativecommons.org/ns#" 2.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 2.11 + xmlns:svg="http://www.w3.org/2000/svg" 2.12 + xmlns="http://www.w3.org/2000/svg" 2.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 2.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 2.15 + width="744.09448819" 2.16 + height="1052.3622047" 2.17 + id="svg2" 2.18 + sodipodi:version="0.32" 2.19 + inkscape:version="0.48.1 " 2.20 + sodipodi:docname="Chip_plus_mem_sys.svg" 2.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 2.22 + version="1.1"> 2.23 + <defs 2.24 + id="defs4"> 2.25 + <marker 2.26 + inkscape:stockid="Arrow2Mstart" 2.27 + orient="auto" 2.28 + refY="0.0" 2.29 + refX="0.0" 2.30 + id="Arrow2Mstart" 2.31 + style="overflow:visible"> 2.32 + <path 2.33 + id="path5492" 2.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" 2.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 " 2.36 + transform="scale(0.6) translate(0,0)" /> 2.37 + </marker> 2.38 + <marker 2.39 + inkscape:stockid="Arrow2Mend" 2.40 + orient="auto" 2.41 + refY="0.0" 2.42 + refX="0.0" 2.43 + id="Arrow2Mend" 2.44 + style="overflow:visible;"> 2.45 + <path 2.46 + id="path3563" 2.47 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 2.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 " 2.49 + transform="scale(0.6) rotate(180) translate(0,0)" /> 2.50 + </marker> 2.51 + <marker 2.52 + inkscape:stockid="TriangleOutM" 2.53 + orient="auto" 2.54 + refY="0.0" 2.55 + refX="0.0" 2.56 + id="TriangleOutM" 2.57 + style="overflow:visible"> 2.58 + <path 2.59 + id="path3682" 2.60 + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " 2.61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 2.62 + transform="scale(0.4)" /> 2.63 + </marker> 2.64 + <marker 2.65 + inkscape:stockid="Arrow2Lend" 2.66 + orient="auto" 2.67 + refY="0.0" 2.68 + refX="0.0" 2.69 + id="Arrow2Lend" 2.70 + style="overflow:visible;"> 2.71 + <path 2.72 + id="path3557" 2.73 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 2.74 + 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 " 2.75 + transform="scale(1.1) rotate(180) translate(1,0)" /> 2.76 + </marker> 2.77 + <marker 2.78 + inkscape:stockid="Arrow1Mstart" 2.79 + orient="auto" 2.80 + refY="0.0" 2.81 + refX="0.0" 2.82 + id="Arrow1Mstart" 2.83 + style="overflow:visible"> 2.84 + <path 2.85 + id="path3542" 2.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 " 2.87 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 2.88 + transform="scale(0.4) translate(10,0)" /> 2.89 + </marker> 2.90 + <marker 2.91 + inkscape:stockid="Arrow1Lend" 2.92 + orient="auto" 2.93 + refY="0.0" 2.94 + refX="0.0" 2.95 + id="Arrow1Lend" 2.96 + style="overflow:visible;"> 2.97 + <path 2.98 + id="path3539" 2.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 " 2.100 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 2.101 + transform="scale(0.8) rotate(180) translate(12.5,0)" /> 2.102 + </marker> 2.103 + <marker 2.104 + inkscape:stockid="Arrow1Lstart" 2.105 + orient="auto" 2.106 + refY="0.0" 2.107 + refX="0.0" 2.108 + id="Arrow1Lstart" 2.109 + style="overflow:visible"> 2.110 + <path 2.111 + id="path3536" 2.112 + 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 " 2.113 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 2.114 + transform="scale(0.8) translate(12.5,0)" /> 2.115 + </marker> 2.116 + <inkscape:perspective 2.117 + sodipodi:type="inkscape:persp3d" 2.118 + inkscape:vp_x="0 : 526.18109 : 1" 2.119 + inkscape:vp_y="0 : 1000 : 0" 2.120 + inkscape:vp_z="744.09448 : 526.18109 : 1" 2.121 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 2.122 + id="perspective10" /> 2.123 + <inkscape:perspective 2.124 + id="perspective4311" 2.125 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.126 + inkscape:vp_z="1 : 0.5 : 1" 2.127 + inkscape:vp_y="0 : 1000 : 0" 2.128 + inkscape:vp_x="0 : 0.5 : 1" 2.129 + sodipodi:type="inkscape:persp3d" /> 2.130 + <inkscape:perspective 2.131 + id="perspective4336" 2.132 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.133 + inkscape:vp_z="1 : 0.5 : 1" 2.134 + inkscape:vp_y="0 : 1000 : 0" 2.135 + inkscape:vp_x="0 : 0.5 : 1" 2.136 + sodipodi:type="inkscape:persp3d" /> 2.137 + <inkscape:perspective 2.138 + id="perspective4365" 2.139 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.140 + inkscape:vp_z="1 : 0.5 : 1" 2.141 + inkscape:vp_y="0 : 1000 : 0" 2.142 + inkscape:vp_x="0 : 0.5 : 1" 2.143 + sodipodi:type="inkscape:persp3d" /> 2.144 + <marker 2.145 + inkscape:stockid="Arrow2Mend" 2.146 + orient="auto" 2.147 + refY="0" 2.148 + refX="0" 2.149 + id="Arrow2Mend-9" 2.150 + style="overflow:visible"> 2.151 + <path 2.152 + id="path3563-4" 2.153 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.154 + 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" 2.155 + transform="scale(-0.6,-0.6)" /> 2.156 + </marker> 2.157 + <inkscape:perspective 2.158 + id="perspective4423" 2.159 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.160 + inkscape:vp_z="1 : 0.5 : 1" 2.161 + inkscape:vp_y="0 : 1000 : 0" 2.162 + inkscape:vp_x="0 : 0.5 : 1" 2.163 + sodipodi:type="inkscape:persp3d" /> 2.164 + <marker 2.165 + inkscape:stockid="Arrow2Mend" 2.166 + orient="auto" 2.167 + refY="0" 2.168 + refX="0" 2.169 + id="Arrow2Mend-8" 2.170 + style="overflow:visible"> 2.171 + <path 2.172 + id="path3563-2" 2.173 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.174 + 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" 2.175 + transform="scale(-0.6,-0.6)" /> 2.176 + </marker> 2.177 + <inkscape:perspective 2.178 + id="perspective4461" 2.179 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.180 + inkscape:vp_z="1 : 0.5 : 1" 2.181 + inkscape:vp_y="0 : 1000 : 0" 2.182 + inkscape:vp_x="0 : 0.5 : 1" 2.183 + sodipodi:type="inkscape:persp3d" /> 2.184 + <inkscape:perspective 2.185 + id="perspective14081" 2.186 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.187 + inkscape:vp_z="1 : 0.5 : 1" 2.188 + inkscape:vp_y="0 : 1000 : 0" 2.189 + inkscape:vp_x="0 : 0.5 : 1" 2.190 + sodipodi:type="inkscape:persp3d" /> 2.191 + <inkscape:perspective 2.192 + id="perspective14206" 2.193 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.194 + inkscape:vp_z="1 : 0.5 : 1" 2.195 + inkscape:vp_y="0 : 1000 : 0" 2.196 + inkscape:vp_x="0 : 0.5 : 1" 2.197 + sodipodi:type="inkscape:persp3d" /> 2.198 + <inkscape:perspective 2.199 + id="perspective14299" 2.200 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.201 + inkscape:vp_z="1 : 0.5 : 1" 2.202 + inkscape:vp_y="0 : 1000 : 0" 2.203 + inkscape:vp_x="0 : 0.5 : 1" 2.204 + sodipodi:type="inkscape:persp3d" /> 2.205 + <inkscape:perspective 2.206 + id="perspective16915" 2.207 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.208 + inkscape:vp_z="1 : 0.5 : 1" 2.209 + inkscape:vp_y="0 : 1000 : 0" 2.210 + inkscape:vp_x="0 : 0.5 : 1" 2.211 + sodipodi:type="inkscape:persp3d" /> 2.212 + <inkscape:perspective 2.213 + id="perspective16946" 2.214 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.215 + inkscape:vp_z="1 : 0.5 : 1" 2.216 + inkscape:vp_y="0 : 1000 : 0" 2.217 + inkscape:vp_x="0 : 0.5 : 1" 2.218 + sodipodi:type="inkscape:persp3d" /> 2.219 + <inkscape:perspective 2.220 + id="perspective17789" 2.221 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.222 + inkscape:vp_z="1 : 0.5 : 1" 2.223 + inkscape:vp_y="0 : 1000 : 0" 2.224 + inkscape:vp_x="0 : 0.5 : 1" 2.225 + sodipodi:type="inkscape:persp3d" /> 2.226 + <inkscape:perspective 2.227 + id="perspective17820" 2.228 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.229 + inkscape:vp_z="1 : 0.5 : 1" 2.230 + inkscape:vp_y="0 : 1000 : 0" 2.231 + inkscape:vp_x="0 : 0.5 : 1" 2.232 + sodipodi:type="inkscape:persp3d" /> 2.233 + <marker 2.234 + inkscape:stockid="Arrow2Mend" 2.235 + orient="auto" 2.236 + refY="0" 2.237 + refX="0" 2.238 + id="Arrow2Mend-8-2" 2.239 + style="overflow:visible"> 2.240 + <path 2.241 + id="path3563-2-3" 2.242 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.243 + 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" 2.244 + transform="scale(-0.6,-0.6)" /> 2.245 + </marker> 2.246 + <inkscape:perspective 2.247 + id="perspective17848" 2.248 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.249 + inkscape:vp_z="1 : 0.5 : 1" 2.250 + inkscape:vp_y="0 : 1000 : 0" 2.251 + inkscape:vp_x="0 : 0.5 : 1" 2.252 + sodipodi:type="inkscape:persp3d" /> 2.253 + <inkscape:perspective 2.254 + id="perspective17891" 2.255 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.256 + inkscape:vp_z="1 : 0.5 : 1" 2.257 + inkscape:vp_y="0 : 1000 : 0" 2.258 + inkscape:vp_x="0 : 0.5 : 1" 2.259 + sodipodi:type="inkscape:persp3d" /> 2.260 + <marker 2.261 + inkscape:stockid="Arrow2Mend" 2.262 + orient="auto" 2.263 + refY="0" 2.264 + refX="0" 2.265 + id="Arrow2Mend-8-7" 2.266 + style="overflow:visible"> 2.267 + <path 2.268 + id="path3563-2-8" 2.269 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.270 + 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" 2.271 + transform="scale(-0.6,-0.6)" /> 2.272 + </marker> 2.273 + <inkscape:perspective 2.274 + id="perspective17925" 2.275 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.276 + inkscape:vp_z="1 : 0.5 : 1" 2.277 + inkscape:vp_y="0 : 1000 : 0" 2.278 + inkscape:vp_x="0 : 0.5 : 1" 2.279 + sodipodi:type="inkscape:persp3d" /> 2.280 + <inkscape:perspective 2.281 + id="perspective17996" 2.282 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.283 + inkscape:vp_z="1 : 0.5 : 1" 2.284 + inkscape:vp_y="0 : 1000 : 0" 2.285 + inkscape:vp_x="0 : 0.5 : 1" 2.286 + sodipodi:type="inkscape:persp3d" /> 2.287 + <inkscape:perspective 2.288 + id="perspective18039" 2.289 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.290 + inkscape:vp_z="1 : 0.5 : 1" 2.291 + inkscape:vp_y="0 : 1000 : 0" 2.292 + inkscape:vp_x="0 : 0.5 : 1" 2.293 + sodipodi:type="inkscape:persp3d" /> 2.294 + <inkscape:perspective 2.295 + id="perspective18073" 2.296 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.297 + inkscape:vp_z="1 : 0.5 : 1" 2.298 + inkscape:vp_y="0 : 1000 : 0" 2.299 + inkscape:vp_x="0 : 0.5 : 1" 2.300 + sodipodi:type="inkscape:persp3d" /> 2.301 + <inkscape:perspective 2.302 + id="perspective4016" 2.303 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.304 + inkscape:vp_z="1 : 0.5 : 1" 2.305 + inkscape:vp_y="0 : 1000 : 0" 2.306 + inkscape:vp_x="0 : 0.5 : 1" 2.307 + sodipodi:type="inkscape:persp3d" /> 2.308 + <inkscape:perspective 2.309 + id="perspective4046" 2.310 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.311 + inkscape:vp_z="1 : 0.5 : 1" 2.312 + inkscape:vp_y="0 : 1000 : 0" 2.313 + inkscape:vp_x="0 : 0.5 : 1" 2.314 + sodipodi:type="inkscape:persp3d" /> 2.315 + <inkscape:perspective 2.316 + id="perspective4071" 2.317 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.318 + inkscape:vp_z="1 : 0.5 : 1" 2.319 + inkscape:vp_y="0 : 1000 : 0" 2.320 + inkscape:vp_x="0 : 0.5 : 1" 2.321 + sodipodi:type="inkscape:persp3d" /> 2.322 + <inkscape:perspective 2.323 + id="perspective4101" 2.324 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.325 + inkscape:vp_z="1 : 0.5 : 1" 2.326 + inkscape:vp_y="0 : 1000 : 0" 2.327 + inkscape:vp_x="0 : 0.5 : 1" 2.328 + sodipodi:type="inkscape:persp3d" /> 2.329 + <inkscape:perspective 2.330 + id="perspective5945" 2.331 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.332 + inkscape:vp_z="1 : 0.5 : 1" 2.333 + inkscape:vp_y="0 : 1000 : 0" 2.334 + inkscape:vp_x="0 : 0.5 : 1" 2.335 + sodipodi:type="inkscape:persp3d" /> 2.336 + <inkscape:perspective 2.337 + id="perspective3139" 2.338 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.339 + inkscape:vp_z="1 : 0.5 : 1" 2.340 + inkscape:vp_y="0 : 1000 : 0" 2.341 + inkscape:vp_x="0 : 0.5 : 1" 2.342 + sodipodi:type="inkscape:persp3d" /> 2.343 + <inkscape:perspective 2.344 + id="perspective3161" 2.345 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 2.346 + inkscape:vp_z="1 : 0.5 : 1" 2.347 + inkscape:vp_y="0 : 1000 : 0" 2.348 + inkscape:vp_x="0 : 0.5 : 1" 2.349 + sodipodi:type="inkscape:persp3d" /> 2.350 + <marker 2.351 + inkscape:stockid="Arrow2Mend" 2.352 + orient="auto" 2.353 + refY="0" 2.354 + refX="0" 2.355 + id="Arrow2Mend-8-7-0" 2.356 + style="overflow:visible"> 2.357 + <path 2.358 + inkscape:connector-curvature="0" 2.359 + id="path3563-2-8-4" 2.360 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.361 + 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" 2.362 + transform="scale(-0.6,-0.6)" /> 2.363 + </marker> 2.364 + <marker 2.365 + inkscape:stockid="Arrow2Mend" 2.366 + orient="auto" 2.367 + refY="0" 2.368 + refX="0" 2.369 + id="marker12725" 2.370 + style="overflow:visible"> 2.371 + <path 2.372 + inkscape:connector-curvature="0" 2.373 + id="path12727" 2.374 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.375 + 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" 2.376 + transform="scale(-0.6,-0.6)" /> 2.377 + </marker> 2.378 + <marker 2.379 + inkscape:stockid="Arrow2Mend" 2.380 + orient="auto" 2.381 + refY="0" 2.382 + refX="0" 2.383 + id="marker12729" 2.384 + style="overflow:visible"> 2.385 + <path 2.386 + inkscape:connector-curvature="0" 2.387 + id="path12731" 2.388 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.389 + 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" 2.390 + transform="scale(-0.6,-0.6)" /> 2.391 + </marker> 2.392 + <marker 2.393 + inkscape:stockid="Arrow2Mend" 2.394 + orient="auto" 2.395 + refY="0" 2.396 + refX="0" 2.397 + id="marker12733" 2.398 + style="overflow:visible"> 2.399 + <path 2.400 + inkscape:connector-curvature="0" 2.401 + id="path12735" 2.402 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.403 + 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" 2.404 + transform="scale(-0.6,-0.6)" /> 2.405 + </marker> 2.406 + <marker 2.407 + inkscape:stockid="Arrow2Mend" 2.408 + orient="auto" 2.409 + refY="0" 2.410 + refX="0" 2.411 + id="marker12737" 2.412 + style="overflow:visible"> 2.413 + <path 2.414 + inkscape:connector-curvature="0" 2.415 + id="path12739" 2.416 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.417 + 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" 2.418 + transform="scale(-0.6,-0.6)" /> 2.419 + </marker> 2.420 + <marker 2.421 + inkscape:stockid="Arrow2Mend" 2.422 + orient="auto" 2.423 + refY="0" 2.424 + refX="0" 2.425 + id="marker12741" 2.426 + style="overflow:visible"> 2.427 + <path 2.428 + inkscape:connector-curvature="0" 2.429 + id="path12743" 2.430 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.431 + 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" 2.432 + transform="scale(-0.6,-0.6)" /> 2.433 + </marker> 2.434 + <marker 2.435 + inkscape:stockid="Arrow2Mend" 2.436 + orient="auto" 2.437 + refY="0" 2.438 + refX="0" 2.439 + id="marker12745" 2.440 + style="overflow:visible"> 2.441 + <path 2.442 + inkscape:connector-curvature="0" 2.443 + id="path12747" 2.444 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.445 + 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" 2.446 + transform="scale(-0.6,-0.6)" /> 2.447 + </marker> 2.448 + <marker 2.449 + inkscape:stockid="Arrow2Mend" 2.450 + orient="auto" 2.451 + refY="0" 2.452 + refX="0" 2.453 + id="marker12749" 2.454 + style="overflow:visible"> 2.455 + <path 2.456 + inkscape:connector-curvature="0" 2.457 + id="path12751" 2.458 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.459 + 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" 2.460 + transform="scale(-0.6,-0.6)" /> 2.461 + </marker> 2.462 + <marker 2.463 + inkscape:stockid="Arrow2Mend" 2.464 + orient="auto" 2.465 + refY="0" 2.466 + refX="0" 2.467 + id="marker12753" 2.468 + style="overflow:visible"> 2.469 + <path 2.470 + inkscape:connector-curvature="0" 2.471 + id="path12755" 2.472 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.473 + 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" 2.474 + transform="scale(-0.6,-0.6)" /> 2.475 + </marker> 2.476 + <marker 2.477 + inkscape:stockid="Arrow2Mend" 2.478 + orient="auto" 2.479 + refY="0" 2.480 + refX="0" 2.481 + id="marker12757" 2.482 + style="overflow:visible"> 2.483 + <path 2.484 + inkscape:connector-curvature="0" 2.485 + id="path12759" 2.486 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.487 + 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" 2.488 + transform="scale(-0.6,-0.6)" /> 2.489 + </marker> 2.490 + <marker 2.491 + inkscape:stockid="Arrow2Mend" 2.492 + orient="auto" 2.493 + refY="0" 2.494 + refX="0" 2.495 + id="marker12761" 2.496 + style="overflow:visible"> 2.497 + <path 2.498 + inkscape:connector-curvature="0" 2.499 + id="path12763" 2.500 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.501 + 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" 2.502 + transform="scale(-0.6,-0.6)" /> 2.503 + </marker> 2.504 + <marker 2.505 + inkscape:stockid="Arrow2Mend" 2.506 + orient="auto" 2.507 + refY="0" 2.508 + refX="0" 2.509 + id="marker12765" 2.510 + style="overflow:visible"> 2.511 + <path 2.512 + inkscape:connector-curvature="0" 2.513 + id="path12767" 2.514 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.515 + 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" 2.516 + transform="scale(-0.6,-0.6)" /> 2.517 + </marker> 2.518 + <marker 2.519 + inkscape:stockid="Arrow2Mend" 2.520 + orient="auto" 2.521 + refY="0" 2.522 + refX="0" 2.523 + id="marker12769" 2.524 + style="overflow:visible"> 2.525 + <path 2.526 + inkscape:connector-curvature="0" 2.527 + id="path12771" 2.528 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.529 + 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" 2.530 + transform="scale(-0.6,-0.6)" /> 2.531 + </marker> 2.532 + <marker 2.533 + inkscape:stockid="Arrow2Mend" 2.534 + orient="auto" 2.535 + refY="0" 2.536 + refX="0" 2.537 + id="marker12773" 2.538 + style="overflow:visible"> 2.539 + <path 2.540 + inkscape:connector-curvature="0" 2.541 + id="path12775" 2.542 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.543 + 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" 2.544 + transform="scale(-0.6,-0.6)" /> 2.545 + </marker> 2.546 + <marker 2.547 + inkscape:stockid="Arrow2Mend" 2.548 + orient="auto" 2.549 + refY="0" 2.550 + refX="0" 2.551 + id="marker12777" 2.552 + style="overflow:visible"> 2.553 + <path 2.554 + inkscape:connector-curvature="0" 2.555 + id="path12779" 2.556 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.557 + 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" 2.558 + transform="scale(-0.6,-0.6)" /> 2.559 + </marker> 2.560 + <marker 2.561 + inkscape:stockid="Arrow2Mend" 2.562 + orient="auto" 2.563 + refY="0" 2.564 + refX="0" 2.565 + id="marker12781" 2.566 + style="overflow:visible"> 2.567 + <path 2.568 + inkscape:connector-curvature="0" 2.569 + id="path12783" 2.570 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.571 + 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" 2.572 + transform="scale(-0.6,-0.6)" /> 2.573 + </marker> 2.574 + <marker 2.575 + inkscape:stockid="Arrow2Mend" 2.576 + orient="auto" 2.577 + refY="0" 2.578 + refX="0" 2.579 + id="marker12785" 2.580 + style="overflow:visible"> 2.581 + <path 2.582 + inkscape:connector-curvature="0" 2.583 + id="path12787" 2.584 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.585 + 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" 2.586 + transform="scale(-0.6,-0.6)" /> 2.587 + </marker> 2.588 + <marker 2.589 + inkscape:stockid="Arrow2Mend" 2.590 + orient="auto" 2.591 + refY="0" 2.592 + refX="0" 2.593 + id="marker12789" 2.594 + style="overflow:visible"> 2.595 + <path 2.596 + inkscape:connector-curvature="0" 2.597 + id="path12791" 2.598 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.599 + 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" 2.600 + transform="scale(-0.6,-0.6)" /> 2.601 + </marker> 2.602 + <marker 2.603 + inkscape:stockid="Arrow2Mend" 2.604 + orient="auto" 2.605 + refY="0" 2.606 + refX="0" 2.607 + id="marker12793" 2.608 + style="overflow:visible"> 2.609 + <path 2.610 + inkscape:connector-curvature="0" 2.611 + id="path12795" 2.612 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.613 + 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" 2.614 + transform="scale(-0.6,-0.6)" /> 2.615 + </marker> 2.616 + <marker 2.617 + inkscape:stockid="Arrow2Mend" 2.618 + orient="auto" 2.619 + refY="0" 2.620 + refX="0" 2.621 + id="marker12797" 2.622 + style="overflow:visible"> 2.623 + <path 2.624 + inkscape:connector-curvature="0" 2.625 + id="path12799" 2.626 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.627 + 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" 2.628 + transform="scale(-0.6,-0.6)" /> 2.629 + </marker> 2.630 + <marker 2.631 + inkscape:stockid="Arrow2Mend" 2.632 + orient="auto" 2.633 + refY="0" 2.634 + refX="0" 2.635 + id="marker12801" 2.636 + style="overflow:visible"> 2.637 + <path 2.638 + inkscape:connector-curvature="0" 2.639 + id="path12803" 2.640 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.641 + 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" 2.642 + transform="scale(-0.6,-0.6)" /> 2.643 + </marker> 2.644 + <marker 2.645 + inkscape:stockid="Arrow2Mend" 2.646 + orient="auto" 2.647 + refY="0" 2.648 + refX="0" 2.649 + id="marker12805" 2.650 + style="overflow:visible"> 2.651 + <path 2.652 + inkscape:connector-curvature="0" 2.653 + id="path12807" 2.654 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.655 + 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" 2.656 + transform="scale(-0.6,-0.6)" /> 2.657 + </marker> 2.658 + <marker 2.659 + inkscape:stockid="Arrow2Mend" 2.660 + orient="auto" 2.661 + refY="0" 2.662 + refX="0" 2.663 + id="marker12809" 2.664 + style="overflow:visible"> 2.665 + <path 2.666 + inkscape:connector-curvature="0" 2.667 + id="path12811" 2.668 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.669 + 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" 2.670 + transform="scale(-0.6,-0.6)" /> 2.671 + </marker> 2.672 + <marker 2.673 + inkscape:stockid="Arrow2Mend" 2.674 + orient="auto" 2.675 + refY="0" 2.676 + refX="0" 2.677 + id="marker12813" 2.678 + style="overflow:visible"> 2.679 + <path 2.680 + inkscape:connector-curvature="0" 2.681 + id="path12815" 2.682 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.683 + 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" 2.684 + transform="scale(-0.6,-0.6)" /> 2.685 + </marker> 2.686 + <marker 2.687 + inkscape:stockid="Arrow2Mend" 2.688 + orient="auto" 2.689 + refY="0" 2.690 + refX="0" 2.691 + id="marker12817" 2.692 + style="overflow:visible"> 2.693 + <path 2.694 + inkscape:connector-curvature="0" 2.695 + id="path12819" 2.696 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.697 + 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" 2.698 + transform="scale(-0.6,-0.6)" /> 2.699 + </marker> 2.700 + <marker 2.701 + inkscape:stockid="Arrow2Mend" 2.702 + orient="auto" 2.703 + refY="0" 2.704 + refX="0" 2.705 + id="marker12821" 2.706 + style="overflow:visible"> 2.707 + <path 2.708 + inkscape:connector-curvature="0" 2.709 + id="path12823" 2.710 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.711 + 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" 2.712 + transform="scale(-0.6,-0.6)" /> 2.713 + </marker> 2.714 + <marker 2.715 + inkscape:stockid="Arrow2Mend" 2.716 + orient="auto" 2.717 + refY="0" 2.718 + refX="0" 2.719 + id="marker12825" 2.720 + style="overflow:visible"> 2.721 + <path 2.722 + inkscape:connector-curvature="0" 2.723 + id="path12827" 2.724 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.725 + 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" 2.726 + transform="scale(-0.6,-0.6)" /> 2.727 + </marker> 2.728 + <marker 2.729 + inkscape:stockid="Arrow2Mend" 2.730 + orient="auto" 2.731 + refY="0" 2.732 + refX="0" 2.733 + id="marker12829" 2.734 + style="overflow:visible"> 2.735 + <path 2.736 + inkscape:connector-curvature="0" 2.737 + id="path12831" 2.738 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.739 + 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" 2.740 + transform="scale(-0.6,-0.6)" /> 2.741 + </marker> 2.742 + <marker 2.743 + inkscape:stockid="Arrow2Mend" 2.744 + orient="auto" 2.745 + refY="0" 2.746 + refX="0" 2.747 + id="marker12833" 2.748 + style="overflow:visible"> 2.749 + <path 2.750 + inkscape:connector-curvature="0" 2.751 + id="path12835" 2.752 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.753 + 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" 2.754 + transform="scale(-0.6,-0.6)" /> 2.755 + </marker> 2.756 + <marker 2.757 + inkscape:stockid="Arrow2Mend" 2.758 + orient="auto" 2.759 + refY="0" 2.760 + refX="0" 2.761 + id="marker12837" 2.762 + style="overflow:visible"> 2.763 + <path 2.764 + inkscape:connector-curvature="0" 2.765 + id="path12839" 2.766 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.767 + 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" 2.768 + transform="scale(-0.6,-0.6)" /> 2.769 + </marker> 2.770 + <marker 2.771 + inkscape:stockid="Arrow2Mend" 2.772 + orient="auto" 2.773 + refY="0" 2.774 + refX="0" 2.775 + id="marker12841" 2.776 + style="overflow:visible"> 2.777 + <path 2.778 + inkscape:connector-curvature="0" 2.779 + id="path12843" 2.780 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.781 + 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" 2.782 + transform="scale(-0.6,-0.6)" /> 2.783 + </marker> 2.784 + <marker 2.785 + inkscape:stockid="Arrow2Mend" 2.786 + orient="auto" 2.787 + refY="0" 2.788 + refX="0" 2.789 + id="marker12845" 2.790 + style="overflow:visible"> 2.791 + <path 2.792 + inkscape:connector-curvature="0" 2.793 + id="path12847" 2.794 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.795 + 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" 2.796 + transform="scale(-0.6,-0.6)" /> 2.797 + </marker> 2.798 + <marker 2.799 + inkscape:stockid="Arrow2Mend" 2.800 + orient="auto" 2.801 + refY="0" 2.802 + refX="0" 2.803 + id="marker12849" 2.804 + style="overflow:visible"> 2.805 + <path 2.806 + inkscape:connector-curvature="0" 2.807 + id="path12851" 2.808 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.809 + 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" 2.810 + transform="scale(-0.6,-0.6)" /> 2.811 + </marker> 2.812 + <marker 2.813 + inkscape:stockid="Arrow2Mend" 2.814 + orient="auto" 2.815 + refY="0" 2.816 + refX="0" 2.817 + id="marker12853" 2.818 + style="overflow:visible"> 2.819 + <path 2.820 + inkscape:connector-curvature="0" 2.821 + id="path12855" 2.822 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.823 + 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" 2.824 + transform="scale(-0.6,-0.6)" /> 2.825 + </marker> 2.826 + <marker 2.827 + inkscape:stockid="Arrow2Mend" 2.828 + orient="auto" 2.829 + refY="0" 2.830 + refX="0" 2.831 + id="marker12857" 2.832 + style="overflow:visible"> 2.833 + <path 2.834 + inkscape:connector-curvature="0" 2.835 + id="path12859" 2.836 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.837 + 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" 2.838 + transform="scale(-0.6,-0.6)" /> 2.839 + </marker> 2.840 + <marker 2.841 + inkscape:stockid="Arrow2Mend" 2.842 + orient="auto" 2.843 + refY="0" 2.844 + refX="0" 2.845 + id="marker12861" 2.846 + style="overflow:visible"> 2.847 + <path 2.848 + inkscape:connector-curvature="0" 2.849 + id="path12863" 2.850 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 2.851 + 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" 2.852 + transform="scale(-0.6,-0.6)" /> 2.853 + </marker> 2.854 + </defs> 2.855 + <sodipodi:namedview 2.856 + id="base" 2.857 + pagecolor="#ffffff" 2.858 + bordercolor="#666666" 2.859 + borderopacity="1.0" 2.860 + gridtolerance="10000" 2.861 + guidetolerance="10" 2.862 + objecttolerance="10" 2.863 + inkscape:pageopacity="0.0" 2.864 + inkscape:pageshadow="2" 2.865 + inkscape:zoom="1.28" 2.866 + inkscape:cx="532.74389" 2.867 + inkscape:cy="349.97659" 2.868 + inkscape:document-units="px" 2.869 + inkscape:current-layer="layer1" 2.870 + showgrid="false" 2.871 + inkscape:window-width="1600" 2.872 + inkscape:window-height="848" 2.873 + inkscape:window-x="-8" 2.874 + inkscape:window-y="-8" 2.875 + inkscape:window-maximized="1" /> 2.876 + <metadata 2.877 + id="metadata7"> 2.878 + <rdf:RDF> 2.879 + <cc:Work 2.880 + rdf:about=""> 2.881 + <dc:format>image/svg+xml</dc:format> 2.882 + <dc:type 2.883 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 2.884 + <dc:title /> 2.885 + </cc:Work> 2.886 + </rdf:RDF> 2.887 + </metadata> 2.888 + <g 2.889 + inkscape:label="Layer 1" 2.890 + inkscape:groupmode="layer" 2.891 + id="layer1"> 2.892 + <text 2.893 + xml:space="preserve" 2.894 + style="font-size:14.09755802px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.895 + x="76.152191" 2.896 + y="376.30783" 2.897 + id="text3191" 2.898 + sodipodi:linespacing="100%" 2.899 + transform="scale(0.7715821,1.2960384)"><tspan 2.900 + id="tspan3195" 2.901 + sodipodi:role="line" 2.902 + x="76.152191" 2.903 + y="376.30783" 2.904 + style="font-size:22.05818939px;text-align:center;text-anchor:middle" /></text> 2.905 + <g 2.906 + id="g5620"> 2.907 + <text 2.908 + transform="scale(0.82746283,1.2085135)" 2.909 + sodipodi:linespacing="100%" 2.910 + id="text4565" 2.911 + y="495.27399" 2.912 + x="459.63635" 2.913 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.914 + xml:space="preserve"><tspan 2.915 + id="tspan17992" 2.916 + y="495.27399" 2.917 + x="459.63635" 2.918 + sodipodi:role="line" 2.919 + style="font-size:18px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">GP Core</tspan><tspan 2.920 + y="513.27399" 2.921 + x="459.63635" 2.922 + sodipodi:role="line" 2.923 + style="font-size:18px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 2.924 + id="tspan3478">(Runs Linux)</tspan></text> 2.925 + <rect 2.926 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.927 + id="rect4571" 2.928 + width="178.76964" 2.929 + height="46.376812" 2.930 + x="291.20938" 2.931 + y="580.39368" /> 2.932 + </g> 2.933 + <g 2.934 + id="g4592" 2.935 + transform="translate(-9.0231106,0)"> 2.936 + <g 2.937 + transform="translate(28,-220)" 2.938 + id="g3209"> 2.939 + <g 2.940 + transform="translate(-7.6972,42)" 2.941 + id="g3211"> 2.942 + <text 2.943 + xml:space="preserve" 2.944 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.945 + x="274.98383" 2.946 + y="534.73431" 2.947 + id="text3213" 2.948 + sodipodi:linespacing="100%" 2.949 + transform="scale(0.82746283,1.2085135)"><tspan 2.950 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.951 + sodipodi:role="line" 2.952 + x="274.98383" 2.953 + y="534.73431" 2.954 + id="tspan3215">DDR</tspan></text> 2.955 + <rect 2.956 + y="627.93683" 2.957 + x="212.75778" 2.958 + height="27.668646" 2.959 + width="30.827999" 2.960 + id="rect3217" 2.961 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.962 + </g> 2.963 + <g 2.964 + id="g3259" 2.965 + transform="translate(32.3028,42)"> 2.966 + <text 2.967 + transform="scale(0.82746283,1.2085135)" 2.968 + sodipodi:linespacing="100%" 2.969 + id="text3261" 2.970 + y="534.73431" 2.971 + x="274.98383" 2.972 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.973 + xml:space="preserve"><tspan 2.974 + id="tspan3263" 2.975 + y="534.73431" 2.976 + x="274.98383" 2.977 + sodipodi:role="line" 2.978 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.979 + <rect 2.980 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.981 + id="rect3265" 2.982 + width="30.827999" 2.983 + height="27.668646" 2.984 + x="212.75778" 2.985 + y="627.93683" /> 2.986 + </g> 2.987 + <g 2.988 + transform="translate(72.3028,42)" 2.989 + id="g3267"> 2.990 + <text 2.991 + xml:space="preserve" 2.992 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.993 + x="274.98383" 2.994 + y="534.73431" 2.995 + id="text3269" 2.996 + sodipodi:linespacing="100%" 2.997 + transform="scale(0.82746283,1.2085135)"><tspan 2.998 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.999 + sodipodi:role="line" 2.1000 + x="274.98383" 2.1001 + y="534.73431" 2.1002 + id="tspan3271">DDR</tspan></text> 2.1003 + <rect 2.1004 + y="627.93683" 2.1005 + x="212.75778" 2.1006 + height="27.668646" 2.1007 + width="30.827999" 2.1008 + id="rect3273" 2.1009 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1010 + </g> 2.1011 + <g 2.1012 + id="g3275" 2.1013 + transform="translate(112.3028,42)"> 2.1014 + <text 2.1015 + transform="scale(0.82746283,1.2085135)" 2.1016 + sodipodi:linespacing="100%" 2.1017 + id="text3277" 2.1018 + y="534.73431" 2.1019 + x="274.98383" 2.1020 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1021 + xml:space="preserve"><tspan 2.1022 + id="tspan3279" 2.1023 + y="534.73431" 2.1024 + x="274.98383" 2.1025 + sodipodi:role="line" 2.1026 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1027 + <rect 2.1028 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1029 + id="rect3281" 2.1030 + width="30.827999" 2.1031 + height="27.668646" 2.1032 + x="212.75778" 2.1033 + y="627.93683" /> 2.1034 + </g> 2.1035 + <g 2.1036 + transform="translate(152.3028,42)" 2.1037 + id="g3283"> 2.1038 + <text 2.1039 + xml:space="preserve" 2.1040 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1041 + x="274.98383" 2.1042 + y="534.73431" 2.1043 + id="text3285" 2.1044 + sodipodi:linespacing="100%" 2.1045 + transform="scale(0.82746283,1.2085135)"><tspan 2.1046 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1047 + sodipodi:role="line" 2.1048 + x="274.98383" 2.1049 + y="534.73431" 2.1050 + id="tspan3287">DDR</tspan></text> 2.1051 + <rect 2.1052 + y="627.93683" 2.1053 + x="212.75778" 2.1054 + height="27.668646" 2.1055 + width="30.827999" 2.1056 + id="rect3289" 2.1057 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1058 + </g> 2.1059 + <g 2.1060 + id="g3291" 2.1061 + transform="translate(192.3028,42)"> 2.1062 + <text 2.1063 + transform="scale(0.82746283,1.2085135)" 2.1064 + sodipodi:linespacing="100%" 2.1065 + id="text3293" 2.1066 + y="534.73431" 2.1067 + x="274.98383" 2.1068 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1069 + xml:space="preserve"><tspan 2.1070 + id="tspan3295" 2.1071 + y="534.73431" 2.1072 + x="274.98383" 2.1073 + sodipodi:role="line" 2.1074 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1075 + <rect 2.1076 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1077 + id="rect3297" 2.1078 + width="30.827999" 2.1079 + height="27.668646" 2.1080 + x="212.75778" 2.1081 + y="627.93683" /> 2.1082 + </g> 2.1083 + <g 2.1084 + transform="translate(232.3028,42)" 2.1085 + id="g3299"> 2.1086 + <text 2.1087 + xml:space="preserve" 2.1088 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1089 + x="274.98383" 2.1090 + y="534.73431" 2.1091 + id="text3301" 2.1092 + sodipodi:linespacing="100%" 2.1093 + transform="scale(0.82746283,1.2085135)"><tspan 2.1094 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1095 + sodipodi:role="line" 2.1096 + x="274.98383" 2.1097 + y="534.73431" 2.1098 + id="tspan3303">DDR</tspan></text> 2.1099 + <rect 2.1100 + y="627.93683" 2.1101 + x="212.75778" 2.1102 + height="27.668646" 2.1103 + width="30.827999" 2.1104 + id="rect3305" 2.1105 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1106 + </g> 2.1107 + <g 2.1108 + id="g3307" 2.1109 + transform="translate(272.3028,42)"> 2.1110 + <text 2.1111 + transform="scale(0.82746283,1.2085135)" 2.1112 + sodipodi:linespacing="100%" 2.1113 + id="text3309" 2.1114 + y="534.73431" 2.1115 + x="274.98383" 2.1116 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1117 + xml:space="preserve"><tspan 2.1118 + id="tspan3311" 2.1119 + y="534.73431" 2.1120 + x="274.98383" 2.1121 + sodipodi:role="line" 2.1122 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1123 + <rect 2.1124 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1125 + id="rect3313" 2.1126 + width="30.827999" 2.1127 + height="27.668646" 2.1128 + x="212.75778" 2.1129 + y="627.93683" /> 2.1130 + </g> 2.1131 + <g 2.1132 + id="g3315" 2.1133 + transform="translate(-7.6972,2)"> 2.1134 + <text 2.1135 + transform="scale(0.82746283,1.2085135)" 2.1136 + sodipodi:linespacing="100%" 2.1137 + id="text3317" 2.1138 + y="534.73431" 2.1139 + x="274.98383" 2.1140 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1141 + xml:space="preserve"><tspan 2.1142 + id="tspan3319" 2.1143 + y="534.73431" 2.1144 + x="274.98383" 2.1145 + sodipodi:role="line" 2.1146 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1147 + <rect 2.1148 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1149 + id="rect3321" 2.1150 + width="30.827999" 2.1151 + height="27.668646" 2.1152 + x="212.75778" 2.1153 + y="627.93683" /> 2.1154 + </g> 2.1155 + <g 2.1156 + transform="translate(32.3028,2)" 2.1157 + id="g3323"> 2.1158 + <text 2.1159 + xml:space="preserve" 2.1160 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1161 + x="274.98383" 2.1162 + y="534.73431" 2.1163 + id="text3325" 2.1164 + sodipodi:linespacing="100%" 2.1165 + transform="scale(0.82746283,1.2085135)"><tspan 2.1166 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1167 + sodipodi:role="line" 2.1168 + x="274.98383" 2.1169 + y="534.73431" 2.1170 + id="tspan3327">DDR</tspan></text> 2.1171 + <rect 2.1172 + y="627.93683" 2.1173 + x="212.75778" 2.1174 + height="27.668646" 2.1175 + width="30.827999" 2.1176 + id="rect3329" 2.1177 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1178 + </g> 2.1179 + <g 2.1180 + id="g3331" 2.1181 + transform="translate(72.3028,2)"> 2.1182 + <text 2.1183 + transform="scale(0.82746283,1.2085135)" 2.1184 + sodipodi:linespacing="100%" 2.1185 + id="text3333" 2.1186 + y="534.73431" 2.1187 + x="274.98383" 2.1188 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1189 + xml:space="preserve"><tspan 2.1190 + id="tspan3335" 2.1191 + y="534.73431" 2.1192 + x="274.98383" 2.1193 + sodipodi:role="line" 2.1194 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1195 + <rect 2.1196 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1197 + id="rect3337" 2.1198 + width="30.827999" 2.1199 + height="27.668646" 2.1200 + x="212.75778" 2.1201 + y="627.93683" /> 2.1202 + </g> 2.1203 + <g 2.1204 + transform="translate(112.3028,2)" 2.1205 + id="g3339"> 2.1206 + <text 2.1207 + xml:space="preserve" 2.1208 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1209 + x="274.98383" 2.1210 + y="534.73431" 2.1211 + id="text3341" 2.1212 + sodipodi:linespacing="100%" 2.1213 + transform="scale(0.82746283,1.2085135)"><tspan 2.1214 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1215 + sodipodi:role="line" 2.1216 + x="274.98383" 2.1217 + y="534.73431" 2.1218 + id="tspan3343">DDR</tspan></text> 2.1219 + <rect 2.1220 + y="627.93683" 2.1221 + x="212.75778" 2.1222 + height="27.668646" 2.1223 + width="30.827999" 2.1224 + id="rect3345" 2.1225 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1226 + </g> 2.1227 + <g 2.1228 + id="g3347" 2.1229 + transform="translate(152.3028,2)"> 2.1230 + <text 2.1231 + transform="scale(0.82746283,1.2085135)" 2.1232 + sodipodi:linespacing="100%" 2.1233 + id="text3349" 2.1234 + y="534.73431" 2.1235 + x="274.98383" 2.1236 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1237 + xml:space="preserve"><tspan 2.1238 + id="tspan3351" 2.1239 + y="534.73431" 2.1240 + x="274.98383" 2.1241 + sodipodi:role="line" 2.1242 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1243 + <rect 2.1244 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1245 + id="rect3353" 2.1246 + width="30.827999" 2.1247 + height="27.668646" 2.1248 + x="212.75778" 2.1249 + y="627.93683" /> 2.1250 + </g> 2.1251 + <g 2.1252 + transform="translate(192.3028,2)" 2.1253 + id="g3355"> 2.1254 + <text 2.1255 + xml:space="preserve" 2.1256 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1257 + x="274.98383" 2.1258 + y="534.73431" 2.1259 + id="text3357" 2.1260 + sodipodi:linespacing="100%" 2.1261 + transform="scale(0.82746283,1.2085135)"><tspan 2.1262 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1263 + sodipodi:role="line" 2.1264 + x="274.98383" 2.1265 + y="534.73431" 2.1266 + id="tspan3359">DDR</tspan></text> 2.1267 + <rect 2.1268 + y="627.93683" 2.1269 + x="212.75778" 2.1270 + height="27.668646" 2.1271 + width="30.827999" 2.1272 + id="rect3361" 2.1273 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1274 + </g> 2.1275 + <g 2.1276 + id="g3363" 2.1277 + transform="translate(232.3028,2)"> 2.1278 + <text 2.1279 + transform="scale(0.82746283,1.2085135)" 2.1280 + sodipodi:linespacing="100%" 2.1281 + id="text3365" 2.1282 + y="534.73431" 2.1283 + x="274.98383" 2.1284 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1285 + xml:space="preserve"><tspan 2.1286 + id="tspan3367" 2.1287 + y="534.73431" 2.1288 + x="274.98383" 2.1289 + sodipodi:role="line" 2.1290 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1291 + <rect 2.1292 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1293 + id="rect3369" 2.1294 + width="30.827999" 2.1295 + height="27.668646" 2.1296 + x="212.75778" 2.1297 + y="627.93683" /> 2.1298 + </g> 2.1299 + <g 2.1300 + transform="translate(272.3028,2)" 2.1301 + id="g3371"> 2.1302 + <text 2.1303 + xml:space="preserve" 2.1304 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1305 + x="274.98383" 2.1306 + y="534.73431" 2.1307 + id="text3373" 2.1308 + sodipodi:linespacing="100%" 2.1309 + transform="scale(0.82746283,1.2085135)"><tspan 2.1310 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1311 + sodipodi:role="line" 2.1312 + x="274.98383" 2.1313 + y="534.73431" 2.1314 + id="tspan3375">DDR</tspan></text> 2.1315 + <rect 2.1316 + y="627.93683" 2.1317 + x="212.75778" 2.1318 + height="27.668646" 2.1319 + width="30.827999" 2.1320 + id="rect3377" 2.1321 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1322 + </g> 2.1323 + <g 2.1324 + transform="translate(-7.6972,-38)" 2.1325 + id="g3379"> 2.1326 + <text 2.1327 + xml:space="preserve" 2.1328 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1329 + x="274.98383" 2.1330 + y="534.73431" 2.1331 + id="text3381" 2.1332 + sodipodi:linespacing="100%" 2.1333 + transform="scale(0.82746283,1.2085135)"><tspan 2.1334 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1335 + sodipodi:role="line" 2.1336 + x="274.98383" 2.1337 + y="534.73431" 2.1338 + id="tspan3383">DDR</tspan></text> 2.1339 + <rect 2.1340 + y="627.93683" 2.1341 + x="212.75778" 2.1342 + height="27.668646" 2.1343 + width="30.827999" 2.1344 + id="rect3385" 2.1345 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1346 + </g> 2.1347 + <g 2.1348 + id="g3387" 2.1349 + transform="translate(32.3028,-38)"> 2.1350 + <text 2.1351 + transform="scale(0.82746283,1.2085135)" 2.1352 + sodipodi:linespacing="100%" 2.1353 + id="text3389" 2.1354 + y="534.73431" 2.1355 + x="274.98383" 2.1356 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1357 + xml:space="preserve"><tspan 2.1358 + id="tspan3391" 2.1359 + y="534.73431" 2.1360 + x="274.98383" 2.1361 + sodipodi:role="line" 2.1362 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1363 + <rect 2.1364 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1365 + id="rect3393" 2.1366 + width="30.827999" 2.1367 + height="27.668646" 2.1368 + x="212.75778" 2.1369 + y="627.93683" /> 2.1370 + </g> 2.1371 + <g 2.1372 + transform="translate(72.3028,-38)" 2.1373 + id="g3395"> 2.1374 + <text 2.1375 + xml:space="preserve" 2.1376 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1377 + x="274.98383" 2.1378 + y="534.73431" 2.1379 + id="text3397" 2.1380 + sodipodi:linespacing="100%" 2.1381 + transform="scale(0.82746283,1.2085135)"><tspan 2.1382 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1383 + sodipodi:role="line" 2.1384 + x="274.98383" 2.1385 + y="534.73431" 2.1386 + id="tspan3399">DDR</tspan></text> 2.1387 + <rect 2.1388 + y="627.93683" 2.1389 + x="212.75778" 2.1390 + height="27.668646" 2.1391 + width="30.827999" 2.1392 + id="rect3401" 2.1393 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1394 + </g> 2.1395 + <g 2.1396 + id="g3403" 2.1397 + transform="translate(112.3028,-38)"> 2.1398 + <text 2.1399 + transform="scale(0.82746283,1.2085135)" 2.1400 + sodipodi:linespacing="100%" 2.1401 + id="text3405" 2.1402 + y="534.73431" 2.1403 + x="274.98383" 2.1404 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1405 + xml:space="preserve"><tspan 2.1406 + id="tspan3407" 2.1407 + y="534.73431" 2.1408 + x="274.98383" 2.1409 + sodipodi:role="line" 2.1410 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1411 + <rect 2.1412 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1413 + id="rect3409" 2.1414 + width="30.827999" 2.1415 + height="27.668646" 2.1416 + x="212.75778" 2.1417 + y="627.93683" /> 2.1418 + </g> 2.1419 + <g 2.1420 + transform="translate(152.3028,-38)" 2.1421 + id="g3411"> 2.1422 + <text 2.1423 + xml:space="preserve" 2.1424 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1425 + x="274.98383" 2.1426 + y="534.73431" 2.1427 + id="text3413" 2.1428 + sodipodi:linespacing="100%" 2.1429 + transform="scale(0.82746283,1.2085135)"><tspan 2.1430 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1431 + sodipodi:role="line" 2.1432 + x="274.98383" 2.1433 + y="534.73431" 2.1434 + id="tspan3415">DDR</tspan></text> 2.1435 + <rect 2.1436 + y="627.93683" 2.1437 + x="212.75778" 2.1438 + height="27.668646" 2.1439 + width="30.827999" 2.1440 + id="rect3417" 2.1441 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1442 + </g> 2.1443 + <g 2.1444 + id="g3419" 2.1445 + transform="translate(192.3028,-38)"> 2.1446 + <text 2.1447 + transform="scale(0.82746283,1.2085135)" 2.1448 + sodipodi:linespacing="100%" 2.1449 + id="text3421" 2.1450 + y="534.73431" 2.1451 + x="274.98383" 2.1452 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1453 + xml:space="preserve"><tspan 2.1454 + id="tspan3423" 2.1455 + y="534.73431" 2.1456 + x="274.98383" 2.1457 + sodipodi:role="line" 2.1458 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1459 + <rect 2.1460 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1461 + id="rect3425" 2.1462 + width="30.827999" 2.1463 + height="27.668646" 2.1464 + x="212.75778" 2.1465 + y="627.93683" /> 2.1466 + </g> 2.1467 + <g 2.1468 + transform="translate(232.3028,-38)" 2.1469 + id="g3427"> 2.1470 + <text 2.1471 + xml:space="preserve" 2.1472 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1473 + x="274.98383" 2.1474 + y="534.73431" 2.1475 + id="text3429" 2.1476 + sodipodi:linespacing="100%" 2.1477 + transform="scale(0.82746283,1.2085135)"><tspan 2.1478 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1479 + sodipodi:role="line" 2.1480 + x="274.98383" 2.1481 + y="534.73431" 2.1482 + id="tspan3431">DDR</tspan></text> 2.1483 + <rect 2.1484 + y="627.93683" 2.1485 + x="212.75778" 2.1486 + height="27.668646" 2.1487 + width="30.827999" 2.1488 + id="rect3433" 2.1489 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1490 + </g> 2.1491 + <g 2.1492 + id="g3435" 2.1493 + transform="translate(272.3028,-38)"> 2.1494 + <text 2.1495 + transform="scale(0.82746283,1.2085135)" 2.1496 + sodipodi:linespacing="100%" 2.1497 + id="text3437" 2.1498 + y="534.73431" 2.1499 + x="274.98383" 2.1500 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1501 + xml:space="preserve"><tspan 2.1502 + id="tspan3439" 2.1503 + y="534.73431" 2.1504 + x="274.98383" 2.1505 + sodipodi:role="line" 2.1506 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 2.1507 + <rect 2.1508 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1509 + id="rect3441" 2.1510 + width="30.827999" 2.1511 + height="27.668646" 2.1512 + x="212.75778" 2.1513 + y="627.93683" /> 2.1514 + </g> 2.1515 + <path 2.1516 + sodipodi:nodetypes="cc" 2.1517 + inkscape:connector-curvature="0" 2.1518 + id="path3445" 2.1519 + d="m 221.02564,616.73825 0,122.22222" 2.1520 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 2.1521 + <path 2.1522 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 2.1523 + d="m 261.02564,616.73825 0,122.22222" 2.1524 + id="path4499" 2.1525 + inkscape:connector-curvature="0" 2.1526 + sodipodi:nodetypes="cc" /> 2.1527 + <path 2.1528 + sodipodi:nodetypes="cc" 2.1529 + inkscape:connector-curvature="0" 2.1530 + id="path4501" 2.1531 + d="m 301.02564,616.73825 0,122.22222" 2.1532 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 2.1533 + <path 2.1534 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 2.1535 + d="m 341.02564,616.73825 0,122.22222" 2.1536 + id="path4503" 2.1537 + inkscape:connector-curvature="0" 2.1538 + sodipodi:nodetypes="cc" /> 2.1539 + <path 2.1540 + sodipodi:nodetypes="cc" 2.1541 + inkscape:connector-curvature="0" 2.1542 + id="path4505" 2.1543 + d="m 381.02564,616.73825 0,122.22222" 2.1544 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 2.1545 + <path 2.1546 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 2.1547 + d="m 421.02564,616.73825 0,122.22222" 2.1548 + id="path4507" 2.1549 + inkscape:connector-curvature="0" 2.1550 + sodipodi:nodetypes="cc" /> 2.1551 + <path 2.1552 + sodipodi:nodetypes="cc" 2.1553 + inkscape:connector-curvature="0" 2.1554 + id="path4509" 2.1555 + d="m 461.02564,616.73825 0,122.22222" 2.1556 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 2.1557 + <path 2.1558 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 2.1559 + d="m 501.02564,616.73825 0,122.22222" 2.1560 + id="path4511" 2.1561 + inkscape:connector-curvature="0" 2.1562 + sodipodi:nodetypes="cc" /> 2.1563 + <g 2.1564 + id="g4519" 2.1565 + transform="translate(0,-4)"> 2.1566 + <path 2.1567 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 2.1568 + d="m 213.29914,724.15705 15.38462,-7.6923" 2.1569 + id="path4513" 2.1570 + inkscape:connector-curvature="0" 2.1571 + sodipodi:nodetypes="cc" /> 2.1572 + <text 2.1573 + xml:space="preserve" 2.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:Xpress SF;-inkscape-font-specification:Xpress SF" 2.1575 + x="204.61539" 2.1576 + y="725.64423" 2.1577 + id="text4515" 2.1578 + sodipodi:linespacing="125%"><tspan 2.1579 + sodipodi:role="line" 2.1580 + id="tspan4517" 2.1581 + x="204.61539" 2.1582 + y="725.64423">8</tspan></text> 2.1583 + </g> 2.1584 + <g 2.1585 + transform="translate(40,-4)" 2.1586 + id="g4524"> 2.1587 + <path 2.1588 + sodipodi:nodetypes="cc" 2.1589 + inkscape:connector-curvature="0" 2.1590 + id="path4526" 2.1591 + d="m 213.29914,724.15705 15.38462,-7.6923" 2.1592 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 2.1593 + <text 2.1594 + sodipodi:linespacing="125%" 2.1595 + id="text4528" 2.1596 + y="725.64423" 2.1597 + x="204.61539" 2.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:Xpress SF;-inkscape-font-specification:Xpress SF" 2.1599 + xml:space="preserve"><tspan 2.1600 + y="725.64423" 2.1601 + x="204.61539" 2.1602 + id="tspan4530" 2.1603 + sodipodi:role="line">8</tspan></text> 2.1604 + </g> 2.1605 + <g 2.1606 + id="g4532" 2.1607 + transform="translate(80,-4)"> 2.1608 + <path 2.1609 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 2.1610 + d="m 213.29914,724.15705 15.38462,-7.6923" 2.1611 + id="path4534" 2.1612 + inkscape:connector-curvature="0" 2.1613 + sodipodi:nodetypes="cc" /> 2.1614 + <text 2.1615 + xml:space="preserve" 2.1616 + 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" 2.1617 + x="204.61539" 2.1618 + y="725.64423" 2.1619 + id="text4536" 2.1620 + sodipodi:linespacing="125%"><tspan 2.1621 + sodipodi:role="line" 2.1622 + id="tspan4538" 2.1623 + x="204.61539" 2.1624 + y="725.64423">8</tspan></text> 2.1625 + </g> 2.1626 + <g 2.1627 + transform="translate(120,-4)" 2.1628 + id="g4540"> 2.1629 + <path 2.1630 + sodipodi:nodetypes="cc" 2.1631 + inkscape:connector-curvature="0" 2.1632 + id="path4542" 2.1633 + d="m 213.29914,724.15705 15.38462,-7.6923" 2.1634 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 2.1635 + <text 2.1636 + sodipodi:linespacing="125%" 2.1637 + id="text4544" 2.1638 + y="725.64423" 2.1639 + x="204.61539" 2.1640 + 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" 2.1641 + xml:space="preserve"><tspan 2.1642 + y="725.64423" 2.1643 + x="204.61539" 2.1644 + id="tspan4546" 2.1645 + sodipodi:role="line">8</tspan></text> 2.1646 + </g> 2.1647 + <g 2.1648 + id="g4548" 2.1649 + transform="translate(160,-4)"> 2.1650 + <path 2.1651 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 2.1652 + d="m 213.29914,724.15705 15.38462,-7.6923" 2.1653 + id="path4550" 2.1654 + inkscape:connector-curvature="0" 2.1655 + sodipodi:nodetypes="cc" /> 2.1656 + <text 2.1657 + xml:space="preserve" 2.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:Xpress SF;-inkscape-font-specification:Xpress SF" 2.1659 + x="204.61539" 2.1660 + y="725.64423" 2.1661 + id="text4552" 2.1662 + sodipodi:linespacing="125%"><tspan 2.1663 + sodipodi:role="line" 2.1664 + id="tspan4554" 2.1665 + x="204.61539" 2.1666 + y="725.64423">8</tspan></text> 2.1667 + </g> 2.1668 + <g 2.1669 + transform="translate(200,-4)" 2.1670 + id="g4556"> 2.1671 + <path 2.1672 + sodipodi:nodetypes="cc" 2.1673 + inkscape:connector-curvature="0" 2.1674 + id="path4558" 2.1675 + d="m 213.29914,724.15705 15.38462,-7.6923" 2.1676 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 2.1677 + <text 2.1678 + sodipodi:linespacing="125%" 2.1679 + id="text4560" 2.1680 + y="725.64423" 2.1681 + x="204.61539" 2.1682 + 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" 2.1683 + xml:space="preserve"><tspan 2.1684 + y="725.64423" 2.1685 + x="204.61539" 2.1686 + id="tspan4562" 2.1687 + sodipodi:role="line">8</tspan></text> 2.1688 + </g> 2.1689 + <g 2.1690 + id="g4564" 2.1691 + transform="translate(240,-4)"> 2.1692 + <path 2.1693 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 2.1694 + d="m 213.29914,724.15705 15.38462,-7.6923" 2.1695 + id="path4566" 2.1696 + inkscape:connector-curvature="0" 2.1697 + sodipodi:nodetypes="cc" /> 2.1698 + <text 2.1699 + xml:space="preserve" 2.1700 + 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" 2.1701 + x="204.61539" 2.1702 + y="725.64423" 2.1703 + id="text4568" 2.1704 + sodipodi:linespacing="125%"><tspan 2.1705 + sodipodi:role="line" 2.1706 + id="tspan4570" 2.1707 + x="204.61539" 2.1708 + y="725.64423">8</tspan></text> 2.1709 + </g> 2.1710 + <g 2.1711 + transform="translate(280,-4)" 2.1712 + id="g4572"> 2.1713 + <path 2.1714 + sodipodi:nodetypes="cc" 2.1715 + inkscape:connector-curvature="0" 2.1716 + id="path4574" 2.1717 + d="m 213.29914,724.15705 15.38462,-7.6923" 2.1718 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 2.1719 + <text 2.1720 + sodipodi:linespacing="125%" 2.1721 + id="text4576" 2.1722 + y="725.64423" 2.1723 + x="204.61539" 2.1724 + 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" 2.1725 + xml:space="preserve"><tspan 2.1726 + y="725.64423" 2.1727 + x="204.61539" 2.1728 + id="tspan4578" 2.1729 + sodipodi:role="line">8</tspan></text> 2.1730 + </g> 2.1731 + </g> 2.1732 + <g 2.1733 + id="g4580" 2.1734 + transform="translate(28,60)"> 2.1735 + <text 2.1736 + transform="scale(0.82746283,1.2085135)" 2.1737 + sodipodi:linespacing="100%" 2.1738 + id="text4582" 2.1739 + y="399.2883" 2.1740 + x="436.08875" 2.1741 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1742 + xml:space="preserve"><tspan 2.1743 + y="399.2883" 2.1744 + x="436.08875" 2.1745 + sodipodi:role="line" 2.1746 + style="font-size:17.99999999px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1747 + id="tspan4586">Mem Ctlr</tspan></text> 2.1748 + <rect 2.1749 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1750 + id="rect4588" 2.1751 + width="310.39359" 2.1752 + height="27.760727" 2.1753 + x="205.73933" 2.1754 + y="460.28409" /> 2.1755 + </g> 2.1756 + </g> 2.1757 + <rect 2.1758 + style="fill:none;stroke:#000000;stroke-width:1.8006357;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.20254278,1.8006357;stroke-dashoffset:0" 2.1759 + id="rect4905" 2.1760 + width="403.92484" 2.1761 + height="387.93829" 2.1762 + x="178.63179" 2.1763 + y="510.72516" /> 2.1764 + <text 2.1765 + transform="scale(0.82746283,1.2085135)" 2.1766 + sodipodi:linespacing="100%" 2.1767 + id="text5614" 2.1768 + y="263.58441" 2.1769 + x="459.63635" 2.1770 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1771 + xml:space="preserve"><tspan 2.1772 + y="263.58441" 2.1773 + x="459.63635" 2.1774 + sodipodi:role="line" 2.1775 + style="font-size:24px;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1" 2.1776 + id="tspan5618">Chip plus Memory System</tspan></text> 2.1777 + <g 2.1778 + id="g11906" 2.1779 + transform="translate(-3.6245461,-6)"> 2.1780 + <g 2.1781 + transform="translate(424,0)" 2.1782 + id="g5281"> 2.1783 + <g 2.1784 + id="g5283" 2.1785 + transform="translate(0.41662025,0)"> 2.1786 + <text 2.1787 + transform="scale(0.82746283,1.2085135)" 2.1788 + sodipodi:linespacing="100%" 2.1789 + id="text5285" 2.1790 + y="565.94647" 2.1791 + x="120.5689" 2.1792 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1793 + xml:space="preserve"><tspan 2.1794 + id="tspan5287" 2.1795 + y="565.94647" 2.1796 + x="120.5689" 2.1797 + sodipodi:role="line" 2.1798 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 2.1799 + <rect 2.1800 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1801 + id="rect5289" 2.1802 + width="52.911961" 2.1803 + height="17.632017" 2.1804 + x="73.346153" 2.1805 + y="669.93683" /> 2.1806 + </g> 2.1807 + <g 2.1808 + id="g5301" 2.1809 + transform="translate(0.17152214,-24)"> 2.1810 + <rect 2.1811 + y="716.99664" 2.1812 + x="71.385368" 2.1813 + height="11.42933" 2.1814 + width="57.323727" 2.1815 + id="rect5303" 2.1816 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1817 + <text 2.1818 + xml:space="preserve" 2.1819 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1820 + x="120.69847" 2.1821 + y="600.67786" 2.1822 + id="text5305" 2.1823 + sodipodi:linespacing="100%" 2.1824 + transform="scale(0.82746283,1.2085135)"><tspan 2.1825 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 2.1826 + sodipodi:role="line" 2.1827 + x="120.69847" 2.1828 + y="600.67786" 2.1829 + id="tspan5307">Pipelines</tspan></text> 2.1830 + </g> 2.1831 + <g 2.1832 + id="g5309" 2.1833 + transform="translate(4.171504,8.546988)"> 2.1834 + <g 2.1835 + id="g5311" 2.1836 + transform="translate(-227.6972,42)"> 2.1837 + <rect 2.1838 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1839 + id="rect5313" 2.1840 + width="40.22971" 2.1841 + height="11.42933" 2.1842 + x="-668.27917" 2.1843 + y="280.02979" 2.1844 + transform="matrix(0,-1,1,0,0,0)" /> 2.1845 + </g> 2.1846 + <text 2.1847 + xml:space="preserve" 2.1848 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1849 + x="-834.42664" 2.1850 + y="51.305866" 2.1851 + id="text5315" 2.1852 + sodipodi:linespacing="100%" 2.1853 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 2.1854 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 2.1855 + sodipodi:role="line" 2.1856 + x="-834.42664" 2.1857 + y="51.305866" 2.1858 + id="tspan5317">Net Intf</tspan></text> 2.1859 + </g> 2.1860 + <g 2.1861 + transform="translate(0.41662025,40)" 2.1862 + id="g11783"> 2.1863 + <text 2.1864 + xml:space="preserve" 2.1865 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1866 + x="120.5689" 2.1867 + y="565.94647" 2.1868 + id="text11785" 2.1869 + sodipodi:linespacing="100%" 2.1870 + transform="scale(0.82746283,1.2085135)"><tspan 2.1871 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1872 + sodipodi:role="line" 2.1873 + x="120.5689" 2.1874 + y="565.94647" 2.1875 + id="tspan11787">Local Mem</tspan></text> 2.1876 + <rect 2.1877 + y="669.93683" 2.1878 + x="73.346153" 2.1879 + height="17.632017" 2.1880 + width="52.911961" 2.1881 + id="rect11789" 2.1882 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1883 + </g> 2.1884 + <rect 2.1885 + y="665.42114" 2.1886 + x="51.887772" 2.1887 + height="66.069519" 2.1888 + width="96.661964" 2.1889 + id="rect11789-5" 2.1890 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1891 + <g 2.1892 + transform="translate(80.171504,8.546988)" 2.1893 + id="g12275"> 2.1894 + <g 2.1895 + transform="translate(-227.6972,42)" 2.1896 + id="g12277"> 2.1897 + <rect 2.1898 + transform="matrix(0,-1,1,0,0,0)" 2.1899 + y="280.02979" 2.1900 + x="-668.27917" 2.1901 + height="11.42933" 2.1902 + width="40.22971" 2.1903 + id="rect12279" 2.1904 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1905 + </g> 2.1906 + <text 2.1907 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 2.1908 + sodipodi:linespacing="100%" 2.1909 + id="text12281" 2.1910 + y="51.305866" 2.1911 + x="-834.42664" 2.1912 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1913 + xml:space="preserve"><tspan 2.1914 + id="tspan12283" 2.1915 + y="51.305866" 2.1916 + x="-834.42664" 2.1917 + sodipodi:role="line" 2.1918 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 2.1919 + </g> 2.1920 + </g> 2.1921 + <g 2.1922 + id="g12285" 2.1923 + transform="translate(284,0)"> 2.1924 + <g 2.1925 + transform="translate(0.41662025,0)" 2.1926 + id="g12287"> 2.1927 + <text 2.1928 + xml:space="preserve" 2.1929 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1930 + x="120.5689" 2.1931 + y="565.94647" 2.1932 + id="text12289" 2.1933 + sodipodi:linespacing="100%" 2.1934 + transform="scale(0.82746283,1.2085135)"><tspan 2.1935 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.1936 + sodipodi:role="line" 2.1937 + x="120.5689" 2.1938 + y="565.94647" 2.1939 + id="tspan12291">Local Mem</tspan></text> 2.1940 + <rect 2.1941 + y="669.93683" 2.1942 + x="73.346153" 2.1943 + height="17.632017" 2.1944 + width="52.911961" 2.1945 + id="rect12293" 2.1946 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1947 + </g> 2.1948 + <g 2.1949 + transform="translate(0.17152214,-24)" 2.1950 + id="g12295"> 2.1951 + <rect 2.1952 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.1953 + id="rect12297" 2.1954 + width="57.323727" 2.1955 + height="11.42933" 2.1956 + x="71.385368" 2.1957 + y="716.99664" /> 2.1958 + <text 2.1959 + transform="scale(0.82746283,1.2085135)" 2.1960 + sodipodi:linespacing="100%" 2.1961 + id="text12299" 2.1962 + y="600.67786" 2.1963 + x="120.69847" 2.1964 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1965 + xml:space="preserve"><tspan 2.1966 + id="tspan12301" 2.1967 + y="600.67786" 2.1968 + x="120.69847" 2.1969 + sodipodi:role="line" 2.1970 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Pipelines</tspan></text> 2.1971 + </g> 2.1972 + <g 2.1973 + transform="translate(4.171504,8.546988)" 2.1974 + id="g12303"> 2.1975 + <g 2.1976 + transform="translate(-227.6972,42)" 2.1977 + id="g12305"> 2.1978 + <rect 2.1979 + transform="matrix(0,-1,1,0,0,0)" 2.1980 + y="280.02979" 2.1981 + x="-668.27917" 2.1982 + height="11.42933" 2.1983 + width="40.22971" 2.1984 + id="rect12307" 2.1985 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.1986 + </g> 2.1987 + <text 2.1988 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 2.1989 + sodipodi:linespacing="100%" 2.1990 + id="text12309" 2.1991 + y="51.305866" 2.1992 + x="-834.42664" 2.1993 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.1994 + xml:space="preserve"><tspan 2.1995 + id="tspan12311" 2.1996 + y="51.305866" 2.1997 + x="-834.42664" 2.1998 + sodipodi:role="line" 2.1999 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 2.2000 + </g> 2.2001 + <g 2.2002 + id="g12313" 2.2003 + transform="translate(0.41662025,40)"> 2.2004 + <text 2.2005 + transform="scale(0.82746283,1.2085135)" 2.2006 + sodipodi:linespacing="100%" 2.2007 + id="text12315" 2.2008 + y="565.94647" 2.2009 + x="120.5689" 2.2010 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2011 + xml:space="preserve"><tspan 2.2012 + id="tspan12317" 2.2013 + y="565.94647" 2.2014 + x="120.5689" 2.2015 + sodipodi:role="line" 2.2016 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 2.2017 + <rect 2.2018 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2019 + id="rect12319" 2.2020 + width="52.911961" 2.2021 + height="17.632017" 2.2022 + x="73.346153" 2.2023 + y="669.93683" /> 2.2024 + </g> 2.2025 + <rect 2.2026 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2027 + id="rect12321" 2.2028 + width="96.661964" 2.2029 + height="66.069519" 2.2030 + x="51.887772" 2.2031 + y="665.42114" /> 2.2032 + <g 2.2033 + id="g12323" 2.2034 + transform="translate(80.171504,8.546988)"> 2.2035 + <g 2.2036 + id="g12325" 2.2037 + transform="translate(-227.6972,42)"> 2.2038 + <rect 2.2039 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2040 + id="rect12327" 2.2041 + width="40.22971" 2.2042 + height="11.42933" 2.2043 + x="-668.27917" 2.2044 + y="280.02979" 2.2045 + transform="matrix(0,-1,1,0,0,0)" /> 2.2046 + </g> 2.2047 + <text 2.2048 + xml:space="preserve" 2.2049 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2050 + x="-834.42664" 2.2051 + y="51.305866" 2.2052 + id="text12329" 2.2053 + sodipodi:linespacing="100%" 2.2054 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 2.2055 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 2.2056 + sodipodi:role="line" 2.2057 + x="-834.42664" 2.2058 + y="51.305866" 2.2059 + id="tspan12331">Net Intf</tspan></text> 2.2060 + </g> 2.2061 + </g> 2.2062 + <g 2.2063 + transform="translate(144,0)" 2.2064 + id="g12333"> 2.2065 + <g 2.2066 + id="g12335" 2.2067 + transform="translate(0.41662025,0)"> 2.2068 + <text 2.2069 + transform="scale(0.82746283,1.2085135)" 2.2070 + sodipodi:linespacing="100%" 2.2071 + id="text12337" 2.2072 + y="565.94647" 2.2073 + x="120.5689" 2.2074 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2075 + xml:space="preserve"><tspan 2.2076 + id="tspan12339" 2.2077 + y="565.94647" 2.2078 + x="120.5689" 2.2079 + sodipodi:role="line" 2.2080 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 2.2081 + <rect 2.2082 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2083 + id="rect12341" 2.2084 + width="52.911961" 2.2085 + height="17.632017" 2.2086 + x="73.346153" 2.2087 + y="669.93683" /> 2.2088 + </g> 2.2089 + <g 2.2090 + id="g12343" 2.2091 + transform="translate(0.17152214,-24)"> 2.2092 + <rect 2.2093 + y="716.99664" 2.2094 + x="71.385368" 2.2095 + height="11.42933" 2.2096 + width="57.323727" 2.2097 + id="rect12345" 2.2098 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2099 + <text 2.2100 + xml:space="preserve" 2.2101 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2102 + x="120.69847" 2.2103 + y="600.67786" 2.2104 + id="text12347" 2.2105 + sodipodi:linespacing="100%" 2.2106 + transform="scale(0.82746283,1.2085135)"><tspan 2.2107 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 2.2108 + sodipodi:role="line" 2.2109 + x="120.69847" 2.2110 + y="600.67786" 2.2111 + id="tspan12349">Pipelines</tspan></text> 2.2112 + </g> 2.2113 + <g 2.2114 + id="g12351" 2.2115 + transform="translate(4.171504,8.546988)"> 2.2116 + <g 2.2117 + id="g12353" 2.2118 + transform="translate(-227.6972,42)"> 2.2119 + <rect 2.2120 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2121 + id="rect12355" 2.2122 + width="40.22971" 2.2123 + height="11.42933" 2.2124 + x="-668.27917" 2.2125 + y="280.02979" 2.2126 + transform="matrix(0,-1,1,0,0,0)" /> 2.2127 + </g> 2.2128 + <text 2.2129 + xml:space="preserve" 2.2130 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2131 + x="-834.42664" 2.2132 + y="51.305866" 2.2133 + id="text12357" 2.2134 + sodipodi:linespacing="100%" 2.2135 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 2.2136 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 2.2137 + sodipodi:role="line" 2.2138 + x="-834.42664" 2.2139 + y="51.305866" 2.2140 + id="tspan12359">Net Intf</tspan></text> 2.2141 + </g> 2.2142 + <g 2.2143 + transform="translate(0.41662025,40)" 2.2144 + id="g12361"> 2.2145 + <text 2.2146 + xml:space="preserve" 2.2147 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2148 + x="120.5689" 2.2149 + y="565.94647" 2.2150 + id="text12363" 2.2151 + sodipodi:linespacing="100%" 2.2152 + transform="scale(0.82746283,1.2085135)"><tspan 2.2153 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.2154 + sodipodi:role="line" 2.2155 + x="120.5689" 2.2156 + y="565.94647" 2.2157 + id="tspan12365">Local Mem</tspan></text> 2.2158 + <rect 2.2159 + y="669.93683" 2.2160 + x="73.346153" 2.2161 + height="17.632017" 2.2162 + width="52.911961" 2.2163 + id="rect12367" 2.2164 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2165 + </g> 2.2166 + <rect 2.2167 + y="665.42114" 2.2168 + x="51.887772" 2.2169 + height="66.069519" 2.2170 + width="96.661964" 2.2171 + id="rect12369" 2.2172 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2173 + <g 2.2174 + transform="translate(80.171504,8.546988)" 2.2175 + id="g12371"> 2.2176 + <g 2.2177 + transform="translate(-227.6972,42)" 2.2178 + id="g12373"> 2.2179 + <rect 2.2180 + transform="matrix(0,-1,1,0,0,0)" 2.2181 + y="280.02979" 2.2182 + x="-668.27917" 2.2183 + height="11.42933" 2.2184 + width="40.22971" 2.2185 + id="rect12375" 2.2186 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2187 + </g> 2.2188 + <text 2.2189 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 2.2190 + sodipodi:linespacing="100%" 2.2191 + id="text12377" 2.2192 + y="51.305866" 2.2193 + x="-834.42664" 2.2194 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2195 + xml:space="preserve"><tspan 2.2196 + id="tspan12379" 2.2197 + y="51.305866" 2.2198 + x="-834.42664" 2.2199 + sodipodi:role="line" 2.2200 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 2.2201 + </g> 2.2202 + </g> 2.2203 + </g> 2.2204 + <g 2.2205 + id="g12381" 2.2206 + transform="translate(-3.6245461,74)"> 2.2207 + <g 2.2208 + id="g12383" 2.2209 + transform="translate(424,0)"> 2.2210 + <g 2.2211 + transform="translate(0.41662025,0)" 2.2212 + id="g12385"> 2.2213 + <text 2.2214 + xml:space="preserve" 2.2215 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2216 + x="120.5689" 2.2217 + y="565.94647" 2.2218 + id="text12387" 2.2219 + sodipodi:linespacing="100%" 2.2220 + transform="scale(0.82746283,1.2085135)"><tspan 2.2221 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.2222 + sodipodi:role="line" 2.2223 + x="120.5689" 2.2224 + y="565.94647" 2.2225 + id="tspan12389">Local Mem</tspan></text> 2.2226 + <rect 2.2227 + y="669.93683" 2.2228 + x="73.346153" 2.2229 + height="17.632017" 2.2230 + width="52.911961" 2.2231 + id="rect12391" 2.2232 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2233 + </g> 2.2234 + <g 2.2235 + transform="translate(0.17152214,-24)" 2.2236 + id="g12393"> 2.2237 + <rect 2.2238 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2239 + id="rect12395" 2.2240 + width="57.323727" 2.2241 + height="11.42933" 2.2242 + x="71.385368" 2.2243 + y="716.99664" /> 2.2244 + <text 2.2245 + transform="scale(0.82746283,1.2085135)" 2.2246 + sodipodi:linespacing="100%" 2.2247 + id="text12397" 2.2248 + y="600.67786" 2.2249 + x="120.69847" 2.2250 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2251 + xml:space="preserve"><tspan 2.2252 + id="tspan12399" 2.2253 + y="600.67786" 2.2254 + x="120.69847" 2.2255 + sodipodi:role="line" 2.2256 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Pipelines</tspan></text> 2.2257 + </g> 2.2258 + <g 2.2259 + transform="translate(4.171504,8.546988)" 2.2260 + id="g12401"> 2.2261 + <g 2.2262 + transform="translate(-227.6972,42)" 2.2263 + id="g12403"> 2.2264 + <rect 2.2265 + transform="matrix(0,-1,1,0,0,0)" 2.2266 + y="280.02979" 2.2267 + x="-668.27917" 2.2268 + height="11.42933" 2.2269 + width="40.22971" 2.2270 + id="rect12405" 2.2271 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2272 + </g> 2.2273 + <text 2.2274 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 2.2275 + sodipodi:linespacing="100%" 2.2276 + id="text12407" 2.2277 + y="51.305866" 2.2278 + x="-834.42664" 2.2279 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2280 + xml:space="preserve"><tspan 2.2281 + id="tspan12409" 2.2282 + y="51.305866" 2.2283 + x="-834.42664" 2.2284 + sodipodi:role="line" 2.2285 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 2.2286 + </g> 2.2287 + <g 2.2288 + id="g12411" 2.2289 + transform="translate(0.41662025,40)"> 2.2290 + <text 2.2291 + transform="scale(0.82746283,1.2085135)" 2.2292 + sodipodi:linespacing="100%" 2.2293 + id="text12413" 2.2294 + y="565.94647" 2.2295 + x="120.5689" 2.2296 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2297 + xml:space="preserve"><tspan 2.2298 + id="tspan12415" 2.2299 + y="565.94647" 2.2300 + x="120.5689" 2.2301 + sodipodi:role="line" 2.2302 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 2.2303 + <rect 2.2304 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2305 + id="rect12417" 2.2306 + width="52.911961" 2.2307 + height="17.632017" 2.2308 + x="73.346153" 2.2309 + y="669.93683" /> 2.2310 + </g> 2.2311 + <rect 2.2312 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2313 + id="rect12419" 2.2314 + width="96.661964" 2.2315 + height="66.069519" 2.2316 + x="51.887772" 2.2317 + y="665.42114" /> 2.2318 + <g 2.2319 + id="g12421" 2.2320 + transform="translate(80.171504,8.546988)"> 2.2321 + <g 2.2322 + id="g12423" 2.2323 + transform="translate(-227.6972,42)"> 2.2324 + <rect 2.2325 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2326 + id="rect12425" 2.2327 + width="40.22971" 2.2328 + height="11.42933" 2.2329 + x="-668.27917" 2.2330 + y="280.02979" 2.2331 + transform="matrix(0,-1,1,0,0,0)" /> 2.2332 + </g> 2.2333 + <text 2.2334 + xml:space="preserve" 2.2335 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2336 + x="-834.42664" 2.2337 + y="51.305866" 2.2338 + id="text12427" 2.2339 + sodipodi:linespacing="100%" 2.2340 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 2.2341 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 2.2342 + sodipodi:role="line" 2.2343 + x="-834.42664" 2.2344 + y="51.305866" 2.2345 + id="tspan12429">Net Intf</tspan></text> 2.2346 + </g> 2.2347 + </g> 2.2348 + <g 2.2349 + transform="translate(284,0)" 2.2350 + id="g12431"> 2.2351 + <g 2.2352 + id="g12433" 2.2353 + transform="translate(0.41662025,0)"> 2.2354 + <text 2.2355 + transform="scale(0.82746283,1.2085135)" 2.2356 + sodipodi:linespacing="100%" 2.2357 + id="text12435" 2.2358 + y="565.94647" 2.2359 + x="120.5689" 2.2360 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2361 + xml:space="preserve"><tspan 2.2362 + id="tspan12437" 2.2363 + y="565.94647" 2.2364 + x="120.5689" 2.2365 + sodipodi:role="line" 2.2366 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 2.2367 + <rect 2.2368 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2369 + id="rect12439" 2.2370 + width="52.911961" 2.2371 + height="17.632017" 2.2372 + x="73.346153" 2.2373 + y="669.93683" /> 2.2374 + </g> 2.2375 + <g 2.2376 + id="g12441" 2.2377 + transform="translate(0.17152214,-24)"> 2.2378 + <rect 2.2379 + y="716.99664" 2.2380 + x="71.385368" 2.2381 + height="11.42933" 2.2382 + width="57.323727" 2.2383 + id="rect12443" 2.2384 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2385 + <text 2.2386 + xml:space="preserve" 2.2387 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2388 + x="120.69847" 2.2389 + y="600.67786" 2.2390 + id="text12445" 2.2391 + sodipodi:linespacing="100%" 2.2392 + transform="scale(0.82746283,1.2085135)"><tspan 2.2393 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 2.2394 + sodipodi:role="line" 2.2395 + x="120.69847" 2.2396 + y="600.67786" 2.2397 + id="tspan12447">Pipelines</tspan></text> 2.2398 + </g> 2.2399 + <g 2.2400 + id="g12449" 2.2401 + transform="translate(4.171504,8.546988)"> 2.2402 + <g 2.2403 + id="g12451" 2.2404 + transform="translate(-227.6972,42)"> 2.2405 + <rect 2.2406 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2407 + id="rect12453" 2.2408 + width="40.22971" 2.2409 + height="11.42933" 2.2410 + x="-668.27917" 2.2411 + y="280.02979" 2.2412 + transform="matrix(0,-1,1,0,0,0)" /> 2.2413 + </g> 2.2414 + <text 2.2415 + xml:space="preserve" 2.2416 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2417 + x="-834.42664" 2.2418 + y="51.305866" 2.2419 + id="text12455" 2.2420 + sodipodi:linespacing="100%" 2.2421 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 2.2422 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 2.2423 + sodipodi:role="line" 2.2424 + x="-834.42664" 2.2425 + y="51.305866" 2.2426 + id="tspan12457">Net Intf</tspan></text> 2.2427 + </g> 2.2428 + <g 2.2429 + transform="translate(0.41662025,40)" 2.2430 + id="g12459"> 2.2431 + <text 2.2432 + xml:space="preserve" 2.2433 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2434 + x="120.5689" 2.2435 + y="565.94647" 2.2436 + id="text12461" 2.2437 + sodipodi:linespacing="100%" 2.2438 + transform="scale(0.82746283,1.2085135)"><tspan 2.2439 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.2440 + sodipodi:role="line" 2.2441 + x="120.5689" 2.2442 + y="565.94647" 2.2443 + id="tspan12463">Local Mem</tspan></text> 2.2444 + <rect 2.2445 + y="669.93683" 2.2446 + x="73.346153" 2.2447 + height="17.632017" 2.2448 + width="52.911961" 2.2449 + id="rect12465" 2.2450 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2451 + </g> 2.2452 + <rect 2.2453 + y="665.42114" 2.2454 + x="51.887772" 2.2455 + height="66.069519" 2.2456 + width="96.661964" 2.2457 + id="rect12467" 2.2458 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2459 + <g 2.2460 + transform="translate(80.171504,8.546988)" 2.2461 + id="g12469"> 2.2462 + <g 2.2463 + transform="translate(-227.6972,42)" 2.2464 + id="g12471"> 2.2465 + <rect 2.2466 + transform="matrix(0,-1,1,0,0,0)" 2.2467 + y="280.02979" 2.2468 + x="-668.27917" 2.2469 + height="11.42933" 2.2470 + width="40.22971" 2.2471 + id="rect12473" 2.2472 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2473 + </g> 2.2474 + <text 2.2475 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 2.2476 + sodipodi:linespacing="100%" 2.2477 + id="text12475" 2.2478 + y="51.305866" 2.2479 + x="-834.42664" 2.2480 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2481 + xml:space="preserve"><tspan 2.2482 + id="tspan12477" 2.2483 + y="51.305866" 2.2484 + x="-834.42664" 2.2485 + sodipodi:role="line" 2.2486 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 2.2487 + </g> 2.2488 + </g> 2.2489 + <g 2.2490 + id="g12479" 2.2491 + transform="translate(144,0)"> 2.2492 + <g 2.2493 + transform="translate(0.41662025,0)" 2.2494 + id="g12481"> 2.2495 + <text 2.2496 + xml:space="preserve" 2.2497 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2498 + x="120.5689" 2.2499 + y="565.94647" 2.2500 + id="text12483" 2.2501 + sodipodi:linespacing="100%" 2.2502 + transform="scale(0.82746283,1.2085135)"><tspan 2.2503 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.2504 + sodipodi:role="line" 2.2505 + x="120.5689" 2.2506 + y="565.94647" 2.2507 + id="tspan12485">Local Mem</tspan></text> 2.2508 + <rect 2.2509 + y="669.93683" 2.2510 + x="73.346153" 2.2511 + height="17.632017" 2.2512 + width="52.911961" 2.2513 + id="rect12487" 2.2514 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2515 + </g> 2.2516 + <g 2.2517 + transform="translate(0.17152214,-24)" 2.2518 + id="g12489"> 2.2519 + <rect 2.2520 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2521 + id="rect12491" 2.2522 + width="57.323727" 2.2523 + height="11.42933" 2.2524 + x="71.385368" 2.2525 + y="716.99664" /> 2.2526 + <text 2.2527 + transform="scale(0.82746283,1.2085135)" 2.2528 + sodipodi:linespacing="100%" 2.2529 + id="text12493" 2.2530 + y="600.67786" 2.2531 + x="120.69847" 2.2532 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2533 + xml:space="preserve"><tspan 2.2534 + id="tspan12495" 2.2535 + y="600.67786" 2.2536 + x="120.69847" 2.2537 + sodipodi:role="line" 2.2538 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Pipelines</tspan></text> 2.2539 + </g> 2.2540 + <g 2.2541 + transform="translate(4.171504,8.546988)" 2.2542 + id="g12497"> 2.2543 + <g 2.2544 + transform="translate(-227.6972,42)" 2.2545 + id="g12499"> 2.2546 + <rect 2.2547 + transform="matrix(0,-1,1,0,0,0)" 2.2548 + y="280.02979" 2.2549 + x="-668.27917" 2.2550 + height="11.42933" 2.2551 + width="40.22971" 2.2552 + id="rect12501" 2.2553 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2554 + </g> 2.2555 + <text 2.2556 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 2.2557 + sodipodi:linespacing="100%" 2.2558 + id="text12503" 2.2559 + y="51.305866" 2.2560 + x="-834.42664" 2.2561 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2562 + xml:space="preserve"><tspan 2.2563 + id="tspan12505" 2.2564 + y="51.305866" 2.2565 + x="-834.42664" 2.2566 + sodipodi:role="line" 2.2567 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 2.2568 + </g> 2.2569 + <g 2.2570 + id="g12507" 2.2571 + transform="translate(0.41662025,40)"> 2.2572 + <text 2.2573 + transform="scale(0.82746283,1.2085135)" 2.2574 + sodipodi:linespacing="100%" 2.2575 + id="text12509" 2.2576 + y="565.94647" 2.2577 + x="120.5689" 2.2578 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2579 + xml:space="preserve"><tspan 2.2580 + id="tspan12511" 2.2581 + y="565.94647" 2.2582 + x="120.5689" 2.2583 + sodipodi:role="line" 2.2584 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 2.2585 + <rect 2.2586 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2587 + id="rect12513" 2.2588 + width="52.911961" 2.2589 + height="17.632017" 2.2590 + x="73.346153" 2.2591 + y="669.93683" /> 2.2592 + </g> 2.2593 + <rect 2.2594 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2595 + id="rect12515" 2.2596 + width="96.661964" 2.2597 + height="66.069519" 2.2598 + x="51.887772" 2.2599 + y="665.42114" /> 2.2600 + <g 2.2601 + id="g12517" 2.2602 + transform="translate(80.171504,8.546988)"> 2.2603 + <g 2.2604 + id="g12519" 2.2605 + transform="translate(-227.6972,42)"> 2.2606 + <rect 2.2607 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2608 + id="rect12521" 2.2609 + width="40.22971" 2.2610 + height="11.42933" 2.2611 + x="-668.27917" 2.2612 + y="280.02979" 2.2613 + transform="matrix(0,-1,1,0,0,0)" /> 2.2614 + </g> 2.2615 + <text 2.2616 + xml:space="preserve" 2.2617 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2618 + x="-834.42664" 2.2619 + y="51.305866" 2.2620 + id="text12523" 2.2621 + sodipodi:linespacing="100%" 2.2622 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 2.2623 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 2.2624 + sodipodi:role="line" 2.2625 + x="-834.42664" 2.2626 + y="51.305866" 2.2627 + id="tspan12525">Net Intf</tspan></text> 2.2628 + </g> 2.2629 + </g> 2.2630 + </g> 2.2631 + <g 2.2632 + transform="translate(-3.6245461,154)" 2.2633 + id="g12527"> 2.2634 + <g 2.2635 + transform="translate(424,0)" 2.2636 + id="g12529"> 2.2637 + <g 2.2638 + id="g12531" 2.2639 + transform="translate(0.41662025,0)"> 2.2640 + <text 2.2641 + transform="scale(0.82746283,1.2085135)" 2.2642 + sodipodi:linespacing="100%" 2.2643 + id="text12533" 2.2644 + y="565.94647" 2.2645 + x="120.5689" 2.2646 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2647 + xml:space="preserve"><tspan 2.2648 + id="tspan12535" 2.2649 + y="565.94647" 2.2650 + x="120.5689" 2.2651 + sodipodi:role="line" 2.2652 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 2.2653 + <rect 2.2654 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2655 + id="rect12537" 2.2656 + width="52.911961" 2.2657 + height="17.632017" 2.2658 + x="73.346153" 2.2659 + y="669.93683" /> 2.2660 + </g> 2.2661 + <g 2.2662 + id="g12539" 2.2663 + transform="translate(0.17152214,-24)"> 2.2664 + <rect 2.2665 + y="716.99664" 2.2666 + x="71.385368" 2.2667 + height="11.42933" 2.2668 + width="57.323727" 2.2669 + id="rect12541" 2.2670 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2671 + <text 2.2672 + xml:space="preserve" 2.2673 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2674 + x="120.69847" 2.2675 + y="600.67786" 2.2676 + id="text12543" 2.2677 + sodipodi:linespacing="100%" 2.2678 + transform="scale(0.82746283,1.2085135)"><tspan 2.2679 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 2.2680 + sodipodi:role="line" 2.2681 + x="120.69847" 2.2682 + y="600.67786" 2.2683 + id="tspan12545">Pipelines</tspan></text> 2.2684 + </g> 2.2685 + <g 2.2686 + id="g12547" 2.2687 + transform="translate(4.171504,8.546988)"> 2.2688 + <g 2.2689 + id="g12549" 2.2690 + transform="translate(-227.6972,42)"> 2.2691 + <rect 2.2692 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2693 + id="rect12551" 2.2694 + width="40.22971" 2.2695 + height="11.42933" 2.2696 + x="-668.27917" 2.2697 + y="280.02979" 2.2698 + transform="matrix(0,-1,1,0,0,0)" /> 2.2699 + </g> 2.2700 + <text 2.2701 + xml:space="preserve" 2.2702 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2703 + x="-834.42664" 2.2704 + y="51.305866" 2.2705 + id="text12553" 2.2706 + sodipodi:linespacing="100%" 2.2707 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 2.2708 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 2.2709 + sodipodi:role="line" 2.2710 + x="-834.42664" 2.2711 + y="51.305866" 2.2712 + id="tspan12555">Net Intf</tspan></text> 2.2713 + </g> 2.2714 + <g 2.2715 + transform="translate(0.41662025,40)" 2.2716 + id="g12557"> 2.2717 + <text 2.2718 + xml:space="preserve" 2.2719 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2720 + x="120.5689" 2.2721 + y="565.94647" 2.2722 + id="text12559" 2.2723 + sodipodi:linespacing="100%" 2.2724 + transform="scale(0.82746283,1.2085135)"><tspan 2.2725 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.2726 + sodipodi:role="line" 2.2727 + x="120.5689" 2.2728 + y="565.94647" 2.2729 + id="tspan12561">Local Mem</tspan></text> 2.2730 + <rect 2.2731 + y="669.93683" 2.2732 + x="73.346153" 2.2733 + height="17.632017" 2.2734 + width="52.911961" 2.2735 + id="rect12563" 2.2736 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2737 + </g> 2.2738 + <rect 2.2739 + y="665.42114" 2.2740 + x="51.887772" 2.2741 + height="66.069519" 2.2742 + width="96.661964" 2.2743 + id="rect12565" 2.2744 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2745 + <g 2.2746 + transform="translate(80.171504,8.546988)" 2.2747 + id="g12567"> 2.2748 + <g 2.2749 + transform="translate(-227.6972,42)" 2.2750 + id="g12569"> 2.2751 + <rect 2.2752 + transform="matrix(0,-1,1,0,0,0)" 2.2753 + y="280.02979" 2.2754 + x="-668.27917" 2.2755 + height="11.42933" 2.2756 + width="40.22971" 2.2757 + id="rect12571" 2.2758 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2759 + </g> 2.2760 + <text 2.2761 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 2.2762 + sodipodi:linespacing="100%" 2.2763 + id="text12573" 2.2764 + y="51.305866" 2.2765 + x="-834.42664" 2.2766 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2767 + xml:space="preserve"><tspan 2.2768 + id="tspan12575" 2.2769 + y="51.305866" 2.2770 + x="-834.42664" 2.2771 + sodipodi:role="line" 2.2772 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 2.2773 + </g> 2.2774 + </g> 2.2775 + <g 2.2776 + id="g12577" 2.2777 + transform="translate(284,0)"> 2.2778 + <g 2.2779 + transform="translate(0.41662025,0)" 2.2780 + id="g12579"> 2.2781 + <text 2.2782 + xml:space="preserve" 2.2783 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2784 + x="120.5689" 2.2785 + y="565.94647" 2.2786 + id="text12581" 2.2787 + sodipodi:linespacing="100%" 2.2788 + transform="scale(0.82746283,1.2085135)"><tspan 2.2789 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.2790 + sodipodi:role="line" 2.2791 + x="120.5689" 2.2792 + y="565.94647" 2.2793 + id="tspan12583">Local Mem</tspan></text> 2.2794 + <rect 2.2795 + y="669.93683" 2.2796 + x="73.346153" 2.2797 + height="17.632017" 2.2798 + width="52.911961" 2.2799 + id="rect12585" 2.2800 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2801 + </g> 2.2802 + <g 2.2803 + transform="translate(0.17152214,-24)" 2.2804 + id="g12587"> 2.2805 + <rect 2.2806 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2807 + id="rect12589" 2.2808 + width="57.323727" 2.2809 + height="11.42933" 2.2810 + x="71.385368" 2.2811 + y="716.99664" /> 2.2812 + <text 2.2813 + transform="scale(0.82746283,1.2085135)" 2.2814 + sodipodi:linespacing="100%" 2.2815 + id="text12591" 2.2816 + y="600.67786" 2.2817 + x="120.69847" 2.2818 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2819 + xml:space="preserve"><tspan 2.2820 + id="tspan12593" 2.2821 + y="600.67786" 2.2822 + x="120.69847" 2.2823 + sodipodi:role="line" 2.2824 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Pipelines</tspan></text> 2.2825 + </g> 2.2826 + <g 2.2827 + transform="translate(4.171504,8.546988)" 2.2828 + id="g12595"> 2.2829 + <g 2.2830 + transform="translate(-227.6972,42)" 2.2831 + id="g12597"> 2.2832 + <rect 2.2833 + transform="matrix(0,-1,1,0,0,0)" 2.2834 + y="280.02979" 2.2835 + x="-668.27917" 2.2836 + height="11.42933" 2.2837 + width="40.22971" 2.2838 + id="rect12599" 2.2839 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2840 + </g> 2.2841 + <text 2.2842 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 2.2843 + sodipodi:linespacing="100%" 2.2844 + id="text12601" 2.2845 + y="51.305866" 2.2846 + x="-834.42664" 2.2847 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2848 + xml:space="preserve"><tspan 2.2849 + id="tspan12603" 2.2850 + y="51.305866" 2.2851 + x="-834.42664" 2.2852 + sodipodi:role="line" 2.2853 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 2.2854 + </g> 2.2855 + <g 2.2856 + id="g12605" 2.2857 + transform="translate(0.41662025,40)"> 2.2858 + <text 2.2859 + transform="scale(0.82746283,1.2085135)" 2.2860 + sodipodi:linespacing="100%" 2.2861 + id="text12607" 2.2862 + y="565.94647" 2.2863 + x="120.5689" 2.2864 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2865 + xml:space="preserve"><tspan 2.2866 + id="tspan12609" 2.2867 + y="565.94647" 2.2868 + x="120.5689" 2.2869 + sodipodi:role="line" 2.2870 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 2.2871 + <rect 2.2872 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2873 + id="rect12611" 2.2874 + width="52.911961" 2.2875 + height="17.632017" 2.2876 + x="73.346153" 2.2877 + y="669.93683" /> 2.2878 + </g> 2.2879 + <rect 2.2880 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2881 + id="rect12613" 2.2882 + width="96.661964" 2.2883 + height="66.069519" 2.2884 + x="51.887772" 2.2885 + y="665.42114" /> 2.2886 + <g 2.2887 + id="g12615" 2.2888 + transform="translate(80.171504,8.546988)"> 2.2889 + <g 2.2890 + id="g12617" 2.2891 + transform="translate(-227.6972,42)"> 2.2892 + <rect 2.2893 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2894 + id="rect12619" 2.2895 + width="40.22971" 2.2896 + height="11.42933" 2.2897 + x="-668.27917" 2.2898 + y="280.02979" 2.2899 + transform="matrix(0,-1,1,0,0,0)" /> 2.2900 + </g> 2.2901 + <text 2.2902 + xml:space="preserve" 2.2903 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2904 + x="-834.42664" 2.2905 + y="51.305866" 2.2906 + id="text12621" 2.2907 + sodipodi:linespacing="100%" 2.2908 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 2.2909 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 2.2910 + sodipodi:role="line" 2.2911 + x="-834.42664" 2.2912 + y="51.305866" 2.2913 + id="tspan12623">Net Intf</tspan></text> 2.2914 + </g> 2.2915 + </g> 2.2916 + <g 2.2917 + transform="translate(144,0)" 2.2918 + id="g12625"> 2.2919 + <g 2.2920 + id="g12627" 2.2921 + transform="translate(0.41662025,0)"> 2.2922 + <text 2.2923 + transform="scale(0.82746283,1.2085135)" 2.2924 + sodipodi:linespacing="100%" 2.2925 + id="text12629" 2.2926 + y="565.94647" 2.2927 + x="120.5689" 2.2928 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2929 + xml:space="preserve"><tspan 2.2930 + id="tspan12631" 2.2931 + y="565.94647" 2.2932 + x="120.5689" 2.2933 + sodipodi:role="line" 2.2934 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 2.2935 + <rect 2.2936 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2937 + id="rect12633" 2.2938 + width="52.911961" 2.2939 + height="17.632017" 2.2940 + x="73.346153" 2.2941 + y="669.93683" /> 2.2942 + </g> 2.2943 + <g 2.2944 + id="g12635" 2.2945 + transform="translate(0.17152214,-24)"> 2.2946 + <rect 2.2947 + y="716.99664" 2.2948 + x="71.385368" 2.2949 + height="11.42933" 2.2950 + width="57.323727" 2.2951 + id="rect12637" 2.2952 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.2953 + <text 2.2954 + xml:space="preserve" 2.2955 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2956 + x="120.69847" 2.2957 + y="600.67786" 2.2958 + id="text12639" 2.2959 + sodipodi:linespacing="100%" 2.2960 + transform="scale(0.82746283,1.2085135)"><tspan 2.2961 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 2.2962 + sodipodi:role="line" 2.2963 + x="120.69847" 2.2964 + y="600.67786" 2.2965 + id="tspan12641">Pipelines</tspan></text> 2.2966 + </g> 2.2967 + <g 2.2968 + id="g12643" 2.2969 + transform="translate(4.171504,8.546988)"> 2.2970 + <g 2.2971 + id="g12645" 2.2972 + transform="translate(-227.6972,42)"> 2.2973 + <rect 2.2974 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 2.2975 + id="rect12647" 2.2976 + width="40.22971" 2.2977 + height="11.42933" 2.2978 + x="-668.27917" 2.2979 + y="280.02979" 2.2980 + transform="matrix(0,-1,1,0,0,0)" /> 2.2981 + </g> 2.2982 + <text 2.2983 + xml:space="preserve" 2.2984 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.2985 + x="-834.42664" 2.2986 + y="51.305866" 2.2987 + id="text12649" 2.2988 + sodipodi:linespacing="100%" 2.2989 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 2.2990 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 2.2991 + sodipodi:role="line" 2.2992 + x="-834.42664" 2.2993 + y="51.305866" 2.2994 + id="tspan12651">Net Intf</tspan></text> 2.2995 + </g> 2.2996 + <g 2.2997 + transform="translate(0.41662025,40)" 2.2998 + id="g12653"> 2.2999 + <text 2.3000 + xml:space="preserve" 2.3001 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.3002 + x="120.5689" 2.3003 + y="565.94647" 2.3004 + id="text12655" 2.3005 + sodipodi:linespacing="100%" 2.3006 + transform="scale(0.82746283,1.2085135)"><tspan 2.3007 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 2.3008 + sodipodi:role="line" 2.3009 + x="120.5689" 2.3010 + y="565.94647" 2.3011 + id="tspan12657">Local Mem</tspan></text> 2.3012 + <rect 2.3013 + y="669.93683" 2.3014 + x="73.346153" 2.3015 + height="17.632017" 2.3016 + width="52.911961" 2.3017 + id="rect12659" 2.3018 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.3019 + </g> 2.3020 + <rect 2.3021 + y="665.42114" 2.3022 + x="51.887772" 2.3023 + height="66.069519" 2.3024 + width="96.661964" 2.3025 + id="rect12661" 2.3026 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.3027 + <g 2.3028 + transform="translate(80.171504,8.546988)" 2.3029 + id="g12663"> 2.3030 + <g 2.3031 + transform="translate(-227.6972,42)" 2.3032 + id="g12665"> 2.3033 + <rect 2.3034 + transform="matrix(0,-1,1,0,0,0)" 2.3035 + y="280.02979" 2.3036 + x="-668.27917" 2.3037 + height="11.42933" 2.3038 + width="40.22971" 2.3039 + id="rect12667" 2.3040 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 2.3041 + </g> 2.3042 + <text 2.3043 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 2.3044 + sodipodi:linespacing="100%" 2.3045 + id="text12669" 2.3046 + y="51.305866" 2.3047 + x="-834.42664" 2.3048 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 2.3049 + xml:space="preserve"><tspan 2.3050 + id="tspan12671" 2.3051 + y="51.305866" 2.3052 + x="-834.42664" 2.3053 + sodipodi:role="line" 2.3054 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 2.3055 + </g> 2.3056 + </g> 2.3057 + </g> 2.3058 + </g> 2.3059 +</svg>
3.1 Binary file 0__Papers/LPGPU__Arch/First_arch_paper/figures/CtxtU_plus_Pipe.pdf has changed
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/0__Papers/LPGPU__Arch/First_arch_paper/figures/CtxtU_plus_Pipe.svg Sun Mar 11 09:26:44 2012 -0700 4.3 @@ -0,0 +1,1099 @@ 4.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 4.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 4.6 + 4.7 +<svg 4.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 4.9 + xmlns:cc="http://creativecommons.org/ns#" 4.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 4.11 + xmlns:svg="http://www.w3.org/2000/svg" 4.12 + xmlns="http://www.w3.org/2000/svg" 4.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 4.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 4.15 + id="svg2" 4.16 + version="1.1" 4.17 + inkscape:version="0.48.1 " 4.18 + width="765" 4.19 + height="990" 4.20 + xml:space="preserve" 4.21 + sodipodi:docname="CtxtU_plus_Pipe.svg"><metadata 4.22 + id="metadata8"><rdf:RDF><cc:Work 4.23 + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type 4.24 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs 4.25 + id="defs6"><clipPath 4.26 + clipPathUnits="userSpaceOnUse" 4.27 + id="clipPath16"><path 4.28 + d="m 0,-0.1 612.1,0 0,792.1 L 0,792 0,-0.1 z" 4.29 + clip-rule="evenodd" 4.30 + id="path18" /></clipPath></defs><sodipodi:namedview 4.31 + pagecolor="#ffffff" 4.32 + bordercolor="#666666" 4.33 + borderopacity="1" 4.34 + objecttolerance="10" 4.35 + gridtolerance="10" 4.36 + guidetolerance="10" 4.37 + inkscape:pageopacity="0" 4.38 + inkscape:pageshadow="2" 4.39 + inkscape:window-width="640" 4.40 + inkscape:window-height="480" 4.41 + id="namedview4" 4.42 + showgrid="false" 4.43 + inkscape:zoom="0.29393939" 4.44 + inkscape:cx="382.49999" 4.45 + inkscape:cy="494.99999" 4.46 + inkscape:window-x="0" 4.47 + inkscape:window-y="0" 4.48 + inkscape:window-maximized="0" 4.49 + inkscape:current-layer="g10" /><g 4.50 + id="g10" 4.51 + inkscape:groupmode="layer" 4.52 + inkscape:label="SThd_Port Technical" 4.53 + transform="matrix(1.25,0,0,-1.25,0,990)"><path 4.54 + d="M 306,0 0,0 0,792 612,792 612,0 306,0 z" 4.55 + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.56 + id="path20" 4.57 + inkscape:connector-curvature="0" /><g 4.58 + id="g22"><path 4.59 + d="m 163.5,643.1 -78.3,0 c -0.1,0 -0.2,0.1 -0.2,0.1 l 0,39.6 c 0,0 0.1,0.1 0.2,0.1 l 156.7,0 c 0.1,0 0.2,-0.1 0.2,-0.1 l 0,-39.6 c 0,0 -0.1,-0.1 -0.2,-0.1 l -78.4,0 z" 4.60 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.61 + id="path24" 4.62 + inkscape:connector-curvature="0" /></g><g 4.63 + id="g26"><path 4.64 + d="m 85,545.4 157.5,0" 4.65 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.66 + id="path28" 4.67 + inkscape:connector-curvature="0" /></g><g 4.68 + id="g30"><path 4.69 + d="m 85,525.5 157.5,0" 4.70 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.71 + id="path32" 4.72 + inkscape:connector-curvature="0" /></g><g 4.73 + id="g34"><path 4.74 + d="m 85,505.6 157.5,0" 4.75 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.76 + id="path36" 4.77 + inkscape:connector-curvature="0" /></g><g 4.78 + id="g38"><path 4.79 + d="m 85,485.7 157.5,0" 4.80 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.81 + id="path40" 4.82 + inkscape:connector-curvature="0" /></g><g 4.83 + id="g42"><path 4.84 + d="m 85,466 157.5,0" 4.85 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.86 + id="path44" 4.87 + inkscape:connector-curvature="0" /></g><g 4.88 + id="g46"><path 4.89 + d="m 85,446.1 157.5,0" 4.90 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.91 + id="path48" 4.92 + inkscape:connector-curvature="0" /></g><g 4.93 + id="g50"><path 4.94 + d="m 85,426.2 157.5,0" 4.95 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.96 + id="path52" 4.97 + inkscape:connector-curvature="0" /></g><g 4.98 + id="g54"><path 4.99 + d="m 85,406.4 157.5,0" 4.100 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.101 + id="path56" 4.102 + inkscape:connector-curvature="0" /></g><g 4.103 + id="g58"><path 4.104 + d="m 85,386.6 157.5,0" 4.105 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.106 + id="path60" 4.107 + inkscape:connector-curvature="0" /></g><g 4.108 + id="g62"><path 4.109 + d="m 85,366.7 157.5,0" 4.110 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.111 + id="path64" 4.112 + inkscape:connector-curvature="0" /></g><g 4.113 + id="g66"><path 4.114 + d="m 85,346.9 157.5,0" 4.115 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.116 + id="path68" 4.117 + inkscape:connector-curvature="0" /></g><g 4.118 + id="g70"><text 4.119 + transform="matrix(1,0,0,-1,111.9,653.2)" 4.120 + id="text72"><tspan 4.121 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.122 + x="0 14.712 26.712 32.712002 40.703999 46.703999 62.712002 73.32 83.928001 95.928001" 4.123 + y="0" 4.124 + sodipodi:role="line" 4.125 + id="tspan74">L1 I Cache</tspan></text> 4.126 + 4.127 +</g><g 4.128 + id="g76"><path 4.129 + d="m 200.3,565.3 0,-239.2" 4.130 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.131 + id="path78" 4.132 + inkscape:connector-curvature="0" /></g><g 4.133 + id="g80"><path 4.134 + d="m 157.8,565.3 0,-239.2" 4.135 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.136 + id="path82" 4.137 + inkscape:connector-curvature="0" /></g><g 4.138 + id="g84"><path 4.139 + d="m 118,565.3 0,-239.2" 4.140 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.141 + id="path86" 4.142 + inkscape:connector-curvature="0" /></g><g 4.143 + id="g88"><path 4.144 + d="m 92.5,565.3 0,-239.2" 4.145 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.146 + id="path90" 4.147 + inkscape:connector-curvature="0" /></g><g 4.148 + id="g92"><path 4.149 + d="m 101,565.3 0,-239.2" 4.150 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.151 + id="path94" 4.152 + inkscape:connector-curvature="0" /></g><g 4.153 + id="g96"><path 4.154 + d="m 109.5,565.3 0,-239.2" 4.155 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.156 + id="path98" 4.157 + inkscape:connector-curvature="0" /></g><g 4.158 + id="g100"><text 4.159 + transform="matrix(1,0,0,-1,163.8,318)" 4.160 + id="text102"><tspan 4.161 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.162 + x="0 6.6999998 11.7 15 18.299999 23.9" 4.163 + y="0" 4.164 + sodipodi:role="line" 4.165 + id="tspan104">CurrPC</tspan></text> 4.166 + 4.167 +</g><g 4.168 + id="g106"><text 4.169 + transform="matrix(1,0,0,-1,121.3,318)" 4.170 + id="text108"><tspan 4.171 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.172 + x="0 7.3000002 11.7 18.9 24.5" 4.173 + y="0" 4.174 + sodipodi:role="line" 4.175 + id="tspan110">NewPC</tspan></text> 4.176 + 4.177 +</g><g 4.178 + id="g112"><text 4.179 + transform="matrix(1,0,0,-1,212,318)" 4.180 + id="text114"><tspan 4.181 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.182 + x="0 3.3 8.3000002 12.2 14.9" 4.183 + y="0" 4.184 + sodipodi:role="line" 4.185 + id="tspan116">Instr</tspan></text> 4.186 + 4.187 +</g><g 4.188 + id="g118"><text 4.189 + transform="matrix(1,0,0,-1,90,318)" 4.190 + id="text120"><tspan 4.191 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.192 + x="0 5.5999999 8.3000002 12.8 15.5" 4.193 + y="0" 4.194 + sodipodi:role="line" 4.195 + id="tspan122">State</tspan></text> 4.196 + 4.197 +</g><g 4.198 + id="g124"><text 4.199 + transform="matrix(-0.01745,0.99984,0.99984,0.01745,82.3,416.6)" 4.200 + id="text126"><tspan 4.201 + style="font-size:9.99992275px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.202 + x="0 6.0999527 11.099915 14.399889 18.799854 23.29982 28.299782 30.799761 36.899715 41.899677 46.299641 50.799606 53.499588 56.299564 61.299526 66.299484" 4.203 + y="0" 4.204 + sodipodi:role="line" 4.205 + id="tspan128">Thread Locations</tspan></text> 4.206 + 4.207 +</g><g 4.208 + id="g130"><text 4.209 + transform="matrix(1,0,0,-1,191,720.6)" 4.210 + id="text132"><tspan 4.211 + style="font-size:32px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.212 + x="0 10.688 26.688 35.584 49.695999 60.383999 76.384003 90.592003 99.487999 111.904 119.904 135.90401 146.592 154.592 168.8 176.8 194.592 203.48801 212.384 226.592" 4.213 + y="0" 4.214 + sodipodi:role="line" 4.215 + id="tspan134">Internals of a Slice</tspan></text> 4.216 + 4.217 +</g><g 4.218 + id="g136"><path 4.219 + d="m 100.6,209.9 -38.7,0 c 0,0 -0.1,0 -0.1,0.1 l 0,38.3 c 0,0 0.1,0.1 0.1,0.1 l 77.4,0 c 0.1,0 0.1,-0.1 0.1,-0.1 l 0,-38.3 c 0,-0.1 0,-0.1 -0.1,-0.1 l -38.7,0 z" 4.220 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.221 + id="path138" 4.222 + inkscape:connector-curvature="0" /></g><g 4.223 + id="g140"><text 4.224 + transform="matrix(0,1,1,0,133.3,168.2)" 4.225 + id="text142"><tspan 4.226 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.227 + x="0 6.0999999 11.1 16.700001 19.4 25 27.700001 32.200001 34.900002" 4.228 + y="0" 4.229 + sodipodi:role="line" 4.230 + id="tspan144">LdStState</tspan></text> 4.231 + 4.232 +</g><g 4.233 + id="g146"><text 4.234 + transform="matrix(0,1,1,0,113.5,168.6)" 4.235 + id="text148"><tspan 4.236 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.237 + x="0 5.5999999 8.3000002 13.4 17.799999 23.299999 26.1 30.5 33.299999" 4.238 + y="0" 4.239 + sodipodi:role="line" 4.240 + id="tspan150">PipeState</tspan></text> 4.241 + 4.242 +</g><g 4.243 + id="g152"><text 4.244 + transform="matrix(0,1,1,0,93.7,168.1)" 4.245 + id="text154"><tspan 4.246 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.247 + x="0 3.3 8.8000002 14.4 17.1 21.6 24.299999" 4.248 + y="0" 4.249 + sodipodi:role="line" 4.250 + id="tspan156">IFState</tspan></text> 4.251 + 4.252 +</g><g 4.253 + id="g158"><text 4.254 + transform="matrix(0,1,1,0,73.8,168.9)" 4.255 + id="text160"><tspan 4.256 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.257 + x="0 6.0999999 8.8999996 12.2 16.6 22.200001 24.9 29.4 32.099998" 4.258 + y="0" 4.259 + sodipodi:role="line" 4.260 + id="tspan162">LifeState</tspan></text> 4.261 + 4.262 +</g><g 4.263 + id="g164"><path 4.264 + d="m 80.9,248.4 0,-39.3" 4.265 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.266 + id="path166" 4.267 + inkscape:connector-curvature="0" /></g><g 4.268 + id="g168"><path 4.269 + d="m 100.8,248.4 0,-39.3" 4.270 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.271 + id="path170" 4.272 + inkscape:connector-curvature="0" /></g><g 4.273 + id="g172"><path 4.274 + d="m 120.7,248.4 0,-39.3" 4.275 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.276 + id="path174" 4.277 + inkscape:connector-curvature="0" /></g><g 4.278 + id="g176"><text 4.279 + transform="matrix(1,0,0,-1,69.5,265.4)" 4.280 + id="text178"><tspan 4.281 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.282 + x="0 6.0999999 11.1 16.1 20.6 25.6 30.6 35 40 42.5 49.799999 52.5 57 64.199997" 4.283 + y="0" 4.284 + sodipodi:role="line" 4.285 + id="tspan180">Expanded View </tspan></text> 4.286 + 4.287 +</g><g 4.288 + id="g182"><text 4.289 + transform="matrix(1,0,0,-1,69.5,254.2)" 4.290 + id="text184"><tspan 4.291 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.292 + x="0 5 8.3000002 10.8 16.4 19.1 23.6 26.299999" 4.293 + y="0" 4.294 + sodipodi:role="line" 4.295 + id="tspan186">of State</tspan></text> 4.296 + 4.297 +</g><g 4.298 + id="g188"><path 4.299 + d="m 163.5,327.3 -78.3,0 c -0.1,0 -0.2,0 -0.2,0.1 l 0,237.7 c 0,0.1 0.1,0.2 0.2,0.2 l 156.7,0 c 0.1,0 0.2,-0.1 0.2,-0.2 l 0,-237.7 c 0,-0.1 -0.1,-0.1 -0.2,-0.1 l -78.4,0 z" 4.300 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.301 + id="path190" 4.302 + inkscape:connector-curvature="0" /></g><g 4.303 + id="g192"><path 4.304 + d="m 351.5,525.5 157.5,0" 4.305 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.306 + id="path194" 4.307 + inkscape:connector-curvature="0" /></g><g 4.308 + id="g196"><path 4.309 + d="m 351.5,485.7 157.5,0" 4.310 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.311 + id="path198" 4.312 + inkscape:connector-curvature="0" /></g><g 4.313 + id="g200"><path 4.314 + d="m 351.5,446.1 157.5,0" 4.315 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.316 + id="path202" 4.317 + inkscape:connector-curvature="0" /></g><g 4.318 + id="g204"><path 4.319 + d="m 351.5,369.5 157.5,0" 4.320 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.321 + id="path206" 4.322 + inkscape:connector-curvature="0" /></g><g 4.323 + id="g208"><path 4.324 + d="m 432.7,565.3 0,-239.2" 4.325 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.326 + id="path210" 4.327 + inkscape:connector-curvature="0" /></g><g 4.328 + id="g212" /><g 4.329 + id="g214"><text 4.330 + transform="matrix(-0.01745,0.99984,0.99984,0.01745,521.2,475.3)" 4.331 + id="text216"><tspan 4.332 + style="font-size:9.99992275px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.333 + x="0 5.4999576 8.2999353 13.299897 17.699863 20.199844 25.799801 28.599779 32.999744 37.999706 42.399673" 4.334 + y="0" 4.335 + sodipodi:role="line" 4.336 + id="tspan218">Pipe Stages</tspan></text> 4.337 + 4.338 +</g><g 4.339 + id="g220"><text 4.340 + transform="matrix(-0.01745,0.99984,0.99984,0.01745,532.9,445.5)" 4.341 + id="text222"><tspan 4.342 + style="font-size:9.99992275px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.343 + x="0 3.2999744 6.5999489 10.999915 18.299858 22.699825 25.9998 28.599779 31.299757 36.299721 40.699684 45.699646 48.199627 53.199589 55.69957 61.899521 66.899483 70.199455 74.599426 78.99939 84.09935 86.599327 92.69928 97.699242 102.09921 105.99918" 4.344 + y="0" 4.345 + sodipodi:role="line" 4.346 + id="tspan224">(fewer than # Thread Locs)</tspan></text> 4.347 + 4.348 +</g><g 4.349 + id="g226"><path 4.350 + d="m 430,327.3 -78.4,0 c 0,0 -0.1,0 -0.1,0.1 l 0,237.7 c 0,0.1 0.1,0.2 0.1,0.2 l 156.8,0 c 0.1,0 0.1,-0.1 0.1,-0.2 l 0,-237.7 c 0,-0.1 0,-0.1 -0.1,-0.1 l -78.4,0 z" 4.351 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.352 + id="path228" 4.353 + inkscape:connector-curvature="0" /></g><g 4.354 + id="g230"><path 4.355 + d="m 425.1,213.4 -74.4,0 c -0.1,0 -0.1,0.1 -0.1,0.1 l 0,31.2 c 0,0 0,0.1 0.1,0.1 l 148.8,0 c 0.1,0 0.1,-0.1 0.1,-0.1 l 0,-31.2 c 0,0 0,-0.1 -0.1,-0.1 l -74.4,0 z" 4.356 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.357 + id="path232" 4.358 + inkscape:connector-curvature="0" /></g><g 4.359 + id="g234"><text 4.360 + transform="matrix(1,0,0,-1,384.1,220.7)" 4.361 + id="text236"><tspan 4.362 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.363 + x="0 16.007999 26.615999 38.616001 44.616001 58.007999 68.615997 75.311996" 4.364 + y="0" 4.365 + sodipodi:role="line" 4.366 + id="tspan238">Reg Sets</tspan></text> 4.367 + 4.368 +</g><g 4.369 + id="g240"><path 4.370 + d="M 82.4,315.9 66.5,272.6" 4.371 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.372 + id="path242" 4.373 + inkscape:connector-curvature="0" /></g><g 4.374 + id="g244"><path 4.375 + d="m 120.4,315.9 15.9,-43.3" 4.376 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.377 + id="path246" 4.378 + inkscape:connector-curvature="0" /></g><path 4.379 + d="m 138.7,641.8 5,-10.1 -10.1,0 5.1,10.1 z" 4.380 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.381 + id="path248" 4.382 + inkscape:connector-curvature="0" /><path 4.383 + d="m 138.3,565.3 0,68.4 0.7,0 0,-68.4 -0.7,0 z" 4.384 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.385 + id="path250" 4.386 + inkscape:connector-curvature="0" /><path 4.387 + d="m 223.8,565.3 -5.1,10 10.1,0 -5,-10 z" 4.388 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.389 + id="path252" 4.390 + inkscape:connector-curvature="0" /><path 4.391 + d="m 224.2,641.8 0,-68.5 -0.8,0 0,68.5 0.8,0 z" 4.392 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.393 + id="path254" 4.394 + inkscape:connector-curvature="0" /><path 4.395 + d="m 352.1,555.1 -10,-5 0,10.1 10,-5.1 z" 4.396 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.397 + id="path256" 4.398 + inkscape:connector-curvature="0" /><path 4.399 + d="m 243.3,555.6 100.8,-0.1 0,-0.7 -100.8,0.1 0,0.7 z" 4.400 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.401 + id="path258" 4.402 + inkscape:connector-curvature="0" /><g 4.403 + id="g260"><path 4.404 + d="m 163.6,288.4 -104.1,0 c 0,0 -0.1,0 -0.1,0.1 l 0,312.8 c 0,0 0.1,0.1 0.1,0.1 l 208.2,0 c 0,0 0.1,-0.1 0.1,-0.1 l 0,-312.8 c 0,-0.1 -0.1,-0.1 -0.1,-0.1 l -104.1,0 z" 4.405 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.406 + id="path262" 4.407 + inkscape:connector-curvature="0" /></g><g 4.408 + id="g264"><text 4.409 + transform="matrix(1,0,0,-1,121.8,575.2)" 4.410 + id="text266"><tspan 4.411 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.412 + x="0 10.998 19.997999 25.992001 33.984001 41.976002 50.976002 55.476002 68.472 77.472 82.475998" 4.413 + y="0" 4.414 + sodipodi:role="line" 4.415 + id="tspan268">Thread Unit</tspan></text> 4.416 + 4.417 +</g><g 4.418 + id="g270"><text 4.419 + transform="matrix(1,0,0,-1,362.3,544.1)" 4.420 + id="text272"><tspan 4.421 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.422 + x="0 7.3000002 11.7 16.1 21.1 26.1" 4.423 + y="0" 4.424 + sodipodi:role="line" 4.425 + id="tspan274">Decode</tspan></text> 4.426 + 4.427 +</g><g 4.428 + id="g276"><text 4.429 + transform="matrix(1,0,0,-1,362.3,504.5)" 4.430 + id="text278"><tspan 4.431 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.432 + x="0 6.6999998 10.6 15.6 18.1 21.4 25.799999 28.6 33" 4.433 + y="0" 4.434 + sodipodi:role="line" 4.435 + id="tspan280">Rs1 fetch</tspan></text> 4.436 + 4.437 +</g><g 4.438 + id="g282"><text 4.439 + transform="matrix(1,0,0,-1,362.3,464.7)" 4.440 + id="text284"><tspan 4.441 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.442 + x="0 6.6999998 10.6 15.6 18.1 21.4 25.799999 28.6 33" 4.443 + y="0" 4.444 + sodipodi:role="line" 4.445 + id="tspan286">Rs2 fetch</tspan></text> 4.446 + 4.447 +</g><g 4.448 + id="g288"><text 4.449 + transform="matrix(1,0,0,-1,362.3,405.3)" 4.450 + id="text290"><tspan 4.451 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.452 + x="0 6.0999999 11.1 15.6 20 25 27.700001 30.5 35.5" 4.453 + y="0" 4.454 + sodipodi:role="line" 4.455 + id="tspan292">Execution</tspan></text> 4.456 + 4.457 +</g><g 4.458 + id="g294"><text 4.459 + transform="matrix(1,0,0,-1,362.3,345.7)" 4.460 + id="text296"><tspan 4.461 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.462 + x="0 9.5 12.8 15.6 18.299999 22.799999 25.299999 31.9 36.400002 40.799999" 4.463 + y="0" 4.464 + sodipodi:role="line" 4.465 + id="tspan298">Write Back</tspan></text> 4.466 + 4.467 +</g><path 4.468 + d="m 268.5,360.3 10.1,5 0,-10.1 -10.1,5.1 z" 4.469 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.470 + id="path300" 4.471 + inkscape:connector-curvature="0" /><path 4.472 + d="m 351.4,359.9 -74.8,0 0,0.7 74.8,0 0,-0.7 z" 4.473 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.474 + id="path302" 4.475 + inkscape:connector-curvature="0" /><path 4.476 + d="m 428.2,245.9 -5,10.1 10.1,0 -5.1,-10.1 z" 4.477 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.478 + id="path304" 4.479 + inkscape:connector-curvature="0" /><path 4.480 + d="m 428.6,326.6 0,-72.6 -0.7,0 0,72.6 0.7,0 z" 4.481 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.482 + id="path306" 4.483 + inkscape:connector-curvature="0" /><path 4.484 + d="m 487.8,327 5,-10.1 -10.1,0 5.1,10.1 z" 4.485 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.486 + id="path308" 4.487 + inkscape:connector-curvature="0" /><path 4.488 + d="m 487.4,246.5 0,72.4 0.8,0 0,-72.4 -0.8,0 z" 4.489 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.490 + id="path310" 4.491 + inkscape:connector-curvature="0" /><g 4.492 + id="g312"><text 4.493 + transform="matrix(0,1,1,0,425.6,258.7)" 4.494 + id="text314"><tspan 4.495 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.496 + x="0 9.5 16.200001 18.700001 24.299999 26.799999 34.099998 38.5 41.200001" 4.497 + y="0" 4.498 + sodipodi:role="line" 4.499 + id="tspan316">WB + Data</tspan></text> 4.500 + 4.501 +</g><g 4.502 + id="g318"><text 4.503 + transform="matrix(0,1,1,0,436.8,258.7)" 4.504 + id="text320"><tspan 4.505 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.506 + x="0 5.5999999 11.8 16.700001" 4.507 + y="0" 4.508 + sodipodi:role="line" 4.509 + id="tspan322">+Thd</tspan></text> 4.510 + 4.511 +</g><g 4.512 + id="g324"><text 4.513 + transform="matrix(0,1,1,0,485.1,255.8)" 4.514 + id="text326"><tspan 4.515 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.516 + x="0 6.6999998 10.6 15.6 18.1 24.799999 29.799999 34.799999 37.599998 42 47 49.700001" 4.517 + y="0" 4.518 + sodipodi:role="line" 4.519 + id="tspan328">Rs2 Contents</tspan></text> 4.520 + 4.521 +</g><g 4.522 + id="g330"><text 4.523 + transform="matrix(1,0,0,-1,277.2,363.3)" 4.524 + id="text332"><tspan 4.525 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.526 + x="0 3.3 8.3000002 12.2 14.9 18.299999 21.6 26.6 32.700001 37.700001 43.299999 46 48.5 54.099998 60.200001 65.300003" 4.527 + y="0" 4.528 + sodipodi:role="line" 4.529 + id="tspan334">InstrInLdSt +Thd</tspan></text> 4.530 + 4.531 +</g><g 4.532 + id="g336"><text 4.533 + transform="matrix(0,1,1,0,136.5,601.7)" 4.534 + id="text338"><tspan 4.535 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.536 + x="0 7.3000002 11.7 19 24.5" 4.537 + y="0" 4.538 + sodipodi:role="line" 4.539 + id="tspan340">NewPC</tspan></text> 4.540 + 4.541 +</g><g 4.542 + id="g342"><text 4.543 + transform="matrix(0,1,1,0,147.7,601.7)" 4.544 + id="text344"><tspan 4.545 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.546 + x="0 5.6999998 8.1999998 14.3 19.299999" 4.547 + y="0" 4.548 + sodipodi:role="line" 4.549 + id="tspan346">+ Thd</tspan></text> 4.550 + 4.551 +</g><g 4.552 + id="g348" /><g 4.553 + id="g350"><text 4.554 + transform="matrix(0,1,1,0,221.7,604.1)" 4.555 + id="text352"><tspan 4.556 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.557 + x="0 3.3 8.3000002 12.2 14.9" 4.558 + y="0" 4.559 + sodipodi:role="line" 4.560 + id="tspan354">Instr</tspan></text> 4.561 + 4.562 +</g><g 4.563 + id="g356"><text 4.564 + transform="matrix(0,1,1,0,232.9,601.6)" 4.565 + id="text358"><tspan 4.566 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.567 + x="0 5.5999999 8.1000004 14.2 19.200001" 4.568 + y="0" 4.569 + sodipodi:role="line" 4.570 + id="tspan360">+ Thd</tspan></text> 4.571 + 4.572 +</g><g 4.573 + id="g362" /><g 4.574 + id="g364"><text 4.575 + transform="matrix(1,0,0,-1,273.8,556.1)" 4.576 + id="text366"><tspan 4.577 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.578 + x="0 3.3 8.3000002 12.2 14.9 18.299999 20.700001 26.4 28.9 34.400002 41.099998 43.599998 49.200001 51.799999 57.900002 62.900002" 4.579 + y="0" 4.580 + sodipodi:role="line" 4.581 + id="tspan368">Instr + PC + Thd</tspan></text> 4.582 + 4.583 +</g><path 4.584 + d="m 269.1,535.3 10.1,5.1 0,-10.1 -10.1,5 z" 4.585 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.586 + id="path370" 4.587 + inkscape:connector-curvature="0" /><path 4.588 + d="m 352.1,535 -74.9,0 0,0.7 74.9,0 0,-0.7 z" 4.589 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.590 + id="path372" 4.591 + inkscape:connector-curvature="0" /><g 4.592 + id="g374"><text 4.593 + transform="matrix(1,0,0,-1,282.9,536.3)" 4.594 + id="text376"><tspan 4.595 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.596 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 41.799999 47.900002 52.900002" 4.597 + y="0" 4.598 + sodipodi:role="line" 4.599 + id="tspan378">NewPC + Thd</tspan></text> 4.600 + 4.601 +</g><g 4.602 + id="g380"><text 4.603 + transform="matrix(1,0,0,-1,382.6,575.2)" 4.604 + id="text382"><tspan 4.605 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.606 + x="0 5.994 14.994 19.997999 27.99 36.990002 44.981998 50.976002 55.476002 65.484001 70.487999 79.487999" 4.607 + y="0" 4.608 + sodipodi:role="line" 4.609 + id="tspan384">Integer Pipe</tspan></text> 4.610 + 4.611 +</g><g 4.612 + id="g386"><path 4.613 + d="m 216.9,84.8 -38.2,0 c 0,0 -0.1,0 -0.1,0.1 l 0,31.1 c 0,0.1 0.1,0.1 0.1,0.1 l 76.3,0 c 0.1,0 0.1,0 0.1,-0.1 l 0,-31.1 c 0,-0.1 0,-0.1 -0.1,-0.1 l -38.1,0 z" 4.614 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.615 + id="path388" 4.616 + inkscape:connector-curvature="0" /></g><g 4.617 + id="g390"><path 4.618 + d="m 349.4,84.8 -40.3,0 c -0.1,0 -0.1,0 -0.1,0.1 l 0,31.1 c 0,0.1 0,0.1 0.1,0.1 l 80.6,0 c 0,0 0.1,0 0.1,-0.1 l 0,-31.1 c 0,-0.1 -0.1,-0.1 -0.1,-0.1 l -40.3,0 z" 4.619 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.620 + id="path392" 4.621 + inkscape:connector-curvature="0" /></g><path 4.622 + d="m 397,245.1 -5,10.1 10.1,0 -5.1,-10.1 z" 4.623 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.624 + id="path394" 4.625 + inkscape:connector-curvature="0" /><path 4.626 + d="m 397.4,325.9 0,-72.7 -0.7,0 0,72.7 0.7,0 z" 4.627 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.628 + id="path396" 4.629 + inkscape:connector-curvature="0" /><g 4.630 + id="g398"><text 4.631 + transform="matrix(0,1,1,0,394.4,258)" 4.632 + id="text400"><tspan 4.633 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.634 + x="0 6.6999998 10.6 15.6 18.1 23.700001 26.200001 33.5 37.900002 40.599998" 4.635 + y="0" 4.636 + sodipodi:role="line" 4.637 + id="tspan402">Rs2 + Data</tspan></text> 4.638 + 4.639 +</g><g 4.640 + id="g404"><text 4.641 + transform="matrix(0,1,1,0,405.6,258)" 4.642 + id="text406"><tspan 4.643 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.644 + x="0 5.5999999 11.8 16.799999" 4.645 + y="0" 4.646 + sodipodi:role="line" 4.647 + id="tspan408">+Thd</tspan></text> 4.648 + 4.649 +</g><path 4.650 + d="m 365.9,245.1 -5.1,10.1 10.1,0 -5,-10.1 z" 4.651 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.652 + id="path410" 4.653 + inkscape:connector-curvature="0" /><path 4.654 + d="m 366.2,325.9 0,-72.7 -0.7,0 0,72.7 0.7,0 z" 4.655 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.656 + id="path412" 4.657 + inkscape:connector-curvature="0" /><g 4.658 + id="g414"><text 4.659 + transform="matrix(0,1,1,0,363.2,258)" 4.660 + id="text416"><tspan 4.661 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.662 + x="0 6.6999998 10.6" 4.663 + y="0" 4.664 + sodipodi:role="line" 4.665 + id="tspan418">Rs1</tspan></text> 4.666 + 4.667 +</g><g 4.668 + id="g420"><text 4.669 + transform="matrix(0,1,1,0,374.4,258)" 4.670 + id="text422"><tspan 4.671 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.672 + x="0 5.5999999 11.8 16.799999" 4.673 + y="0" 4.674 + sodipodi:role="line" 4.675 + id="tspan424">+Thd</tspan></text> 4.676 + 4.677 +</g><path 4.678 + d="m 467.9,326.3 5.1,-10.1 -10.1,0 5,10.1 z" 4.679 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.680 + id="path426" 4.681 + inkscape:connector-curvature="0" /><path 4.682 + d="m 467.6,245.8 0,72.4 0.7,0 0,-72.4 -0.7,0 z" 4.683 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.684 + id="path428" 4.685 + inkscape:connector-curvature="0" /><g 4.686 + id="g430"><text 4.687 + transform="matrix(0,1,1,0,465.3,255.1)" 4.688 + id="text432"><tspan 4.689 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.690 + x="0 6.6999998 10.6 15.6 18.1 24.799999 29.799999 34.799999 37.5 41.900002 46.900002 49.700001" 4.691 + y="0" 4.692 + sodipodi:role="line" 4.693 + id="tspan434">Rs1 Contents</tspan></text> 4.694 + 4.695 +</g><g 4.696 + id="g436"><text 4.697 + transform="matrix(1,0,0,-1,430,67.3)" 4.698 + id="text438"><tspan 4.699 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.700 + x="0 5.8045001 10.602 13.205 18.506001 21.108999 23.512501 30.4095 35.112 37.515499 42.911499 45.210499 51.508999 55.708 60.505501 62.909 68.209999 70.613503 77.510498 82.212997 87.010498 90.211998" 4.701 + y="0" 4.702 + sodipodi:role="line" 4.703 + id="tspan440">Ld/St Op + Reg + Addr </tspan></text> 4.704 + 4.705 +</g><g 4.706 + id="g442"><text 4.707 + transform="matrix(1,0,0,-1,430,56.6)" 4.708 + id="text444"><tspan 4.709 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.710 + x="0 5.3959999 7.6950002 14.592 18.791 21.393999 25.593 27.9965 33.392502 35.691502 41.495998 46.293499 50.995998 53.399502 58.795502 61.199001 66.5 69.102997 71.706001 75.904999 80.103996 83.305496 90.202499" 4.711 + y="0" 4.712 + sodipodi:role="line" 4.713 + id="tspan446">+ Data + Thd + SliceID </tspan></text> 4.714 + 4.715 +</g><g 4.716 + id="g448" /><g 4.717 + id="g450"><text 4.718 + transform="matrix(1,0,0,-1,468,45.9)" 4.719 + id="text452"><tspan 4.720 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.721 + x="0 5.8045001 10.602 12.901 18.7055 23.503 28.804001 31.407 33.810501 40.7075 45.41 48.108002" 4.722 + y="0" 4.723 + sodipodi:role="line" 4.724 + id="tspan454">To LdSt Unit</tspan></text> 4.725 + 4.726 +</g><path 4.727 + d="m 356.7,177.5 -147.8,0 c 0,0 -0.1,0.1 -0.1,0.1 l 0,2.5 c 0,0 0.1,0.1 0.1,0.1 l 295.7,0 c 0,0 0.1,-0.1 0.1,-0.1 l 0,-2.5 c 0,0 -0.1,-0.1 -0.1,-0.1 l -147.9,0 z" 4.728 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.729 + id="path456" 4.730 + inkscape:connector-curvature="0" /><g 4.731 + id="g458"><path 4.732 + d="m 356.7,177.5 -147.8,0 c 0,0 -0.1,0.1 -0.1,0.1 l 0,2.5 c 0,0 0.1,0.1 0.1,0.1 l 295.7,0 c 0,0 0.1,-0.1 0.1,-0.1 l 0,-2.5 c 0,0 -0.1,-0.1 -0.1,-0.1 l -147.9,0 z" 4.733 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.734 + id="path460" 4.735 + inkscape:connector-curvature="0" /></g><path 4.736 + d="m 425.1,213.4 5.1,-10.1 -10.1,0 5,10.1 z" 4.737 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.738 + id="path462" 4.739 + inkscape:connector-curvature="0" /><path 4.740 + d="m 425.2,180.2 -5.1,10.1 10.1,0 -5,-10.1 z" 4.741 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.742 + id="path464" 4.743 + inkscape:connector-curvature="0" /><path 4.744 + d="m 425.1,205.3 0,-8.5 0.1,0 0,-8.6" 4.745 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.746 + id="path466" 4.747 + inkscape:connector-curvature="0" /><g 4.748 + id="g468"><path 4.749 + d="m 474.6,84.8 -33.1,0 c 0,0 -0.1,0 -0.1,0.1 l 0,31.1 c 0,0.1 0.1,0.1 0.1,0.1 l 66.1,0 c 0.1,0 0.1,0 0.1,-0.1 l 0,-31.1 c 0,-0.1 0,-0.1 -0.1,-0.1 l -33,0 z" 4.750 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.751 + id="path470" 4.752 + inkscape:connector-curvature="0" /></g><g 4.753 + id="g472"><text 4.754 + transform="matrix(1,0,0,-1,316.9,95)" 4.755 + id="text474"><tspan 4.756 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.757 + x="0 7.296 13.296 19.992001 23.292 26.292 37.596001 42.995998 46.296001 51.599998 57.599998 62.903999" 4.758 + y="0" 4.759 + sodipodi:role="line" 4.760 + id="tspan476">LdSt Watcher</tspan></text> 4.761 + 4.762 +</g><g 4.763 + id="g478"><text 4.764 + transform="matrix(1,0,0,-1,183.7,95)" 4.765 + id="text480"><tspan 4.766 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.767 + x="0 8.0039997 13.308 22.608 25.608 33.612 36.911999 40.212002 43.212002 51.911999 57.911999 61.212002" 4.768 + y="0" 4.769 + sodipodi:role="line" 4.770 + id="tspan482">Rem Ctl Unit</tspan></text> 4.771 + 4.772 +</g><g 4.773 + id="g484"><text 4.774 + transform="matrix(1,0,0,-1,453,95)" 4.775 + id="text486"><tspan 4.776 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.777 + x="0 10.704 16.704 20.004 23.304001 26.604 35.304001 38.604" 4.778 + y="0" 4.779 + sodipodi:role="line" 4.780 + id="tspan488">Mult/Div</tspan></text> 4.781 + 4.782 +</g><path 4.783 + d="m 361.4,177.5 5,-10.1 -10.1,0 5.1,10.1 z" 4.784 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.785 + id="path490" 4.786 + inkscape:connector-curvature="0" /><path 4.787 + d="m 361.4,169.5 0,-53.4 0,0" 4.788 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.789 + id="path492" 4.790 + inkscape:connector-curvature="0" /><path 4.791 + d="m 479.6,167.1 0,-0.2 0,0 0,-0.3 -0.1,-0.1 -0.2,-0.2 -0.2,0 -9,0 -0.2,0 -0.2,0.2 -0.1,0.1 -0.1,0.3 0,0 0.1,0.2 4.5,10.1 0.2,0.2 0.3,0.1 0.3,-0.1 0.2,-0.3 4.5,-10 z" 4.792 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.793 + id="path494" 4.794 + inkscape:connector-curvature="0" /><path 4.795 + d="m 474.6,168.5 0,-52.4 0,0" 4.796 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.797 + id="path496" 4.798 + inkscape:connector-curvature="0" /><path 4.799 + d="m 226.8,177.5 5,-10.1 -10,0 5,10.1 z" 4.800 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.801 + id="path498" 4.802 + inkscape:connector-curvature="0" /><path 4.803 + d="m 226.8,169.5 0,-15.4 -0.1,0 0,-38 0,0" 4.804 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.805 + id="path500" 4.806 + inkscape:connector-curvature="0" /><path 4.807 + d="m 269.9,492.8 10.1,5 0,-10 -10.1,5 z" 4.808 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.809 + id="path502" 4.810 + inkscape:connector-curvature="0" /><path 4.811 + d="m 352.9,492.4 -74.9,0 0,0.8 74.9,0 0,-0.8 z" 4.812 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.813 + id="path504" 4.814 + inkscape:connector-curvature="0" /><g 4.815 + id="g506"><text 4.816 + transform="matrix(1,0,0,-1,283.6,493.8)" 4.817 + id="text508"><tspan 4.818 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.819 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 41.799999 47.900002 53" 4.820 + y="0" 4.821 + sodipodi:role="line" 4.822 + id="tspan510">NewPC + Thd</tspan></text> 4.823 + 4.824 +</g><path 4.825 + d="m 269.2,339.7 10.1,5.1 0,-10.1 -10.1,5 z" 4.826 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.827 + id="path512" 4.828 + inkscape:connector-curvature="0" /><path 4.829 + d="m 352.2,339.4 -74.9,0 0,0.7 74.9,0 0,-0.7 z" 4.830 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.831 + id="path514" 4.832 + inkscape:connector-curvature="0" /><g 4.833 + id="g516"><text 4.834 + transform="matrix(1,0,0,-1,283.6,340.7)" 4.835 + id="text518"><tspan 4.836 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.837 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 41.799999 47.900002 53" 4.838 + y="0" 4.839 + sodipodi:role="line" 4.840 + id="tspan520">NewPC + Thd</tspan></text> 4.841 + 4.842 +</g><path 4.843 + d="m 507.7,100.4 10.1,5.1 0,-10.1 -10.1,5 z" 4.844 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.845 + id="path522" 4.846 + inkscape:connector-curvature="0" /><path 4.847 + d="m 508.5,436.3 23,0 0,-335.9 -15.7,0" 4.848 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.849 + id="path524" 4.850 + inkscape:connector-curvature="0" /><g 4.851 + id="g526"><text 4.852 + transform="matrix(0,1,1,0,224.3,124.7)" 4.853 + id="text528"><tspan 4.854 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.855 + x="0 6.6999998 11.1 16.200001 18.700001 24.299999 26.799999 34 38.5 41.200001" 4.856 + y="0" 4.857 + sodipodi:role="line" 4.858 + id="tspan530">Reg + Data</tspan></text> 4.859 + 4.860 +</g><g 4.861 + id="g532"><text 4.862 + transform="matrix(0,1,1,0,235.5,124.7)" 4.863 + id="text534"><tspan 4.864 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.865 + x="0 5.5999999 11.8 16.799999" 4.866 + y="0" 4.867 + sodipodi:role="line" 4.868 + id="tspan536">+Thd</tspan></text> 4.869 + 4.870 +</g><g 4.871 + id="g538"><text 4.872 + transform="matrix(0,1,1,0,360.4,124.7)" 4.873 + id="text540"><tspan 4.874 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.875 + x="0 6.6999998 11.1 16.1 18.6 24.200001 26.799999 34 38.400002 41.200001" 4.876 + y="0" 4.877 + sodipodi:role="line" 4.878 + id="tspan542">Reg + Data</tspan></text> 4.879 + 4.880 +</g><g 4.881 + id="g544"><text 4.882 + transform="matrix(0,1,1,0,371.6,124.7)" 4.883 + id="text546"><tspan 4.884 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.885 + x="0 5.5999999 11.8 16.700001" 4.886 + y="0" 4.887 + sodipodi:role="line" 4.888 + id="tspan548">+Thd</tspan></text> 4.889 + 4.890 +</g><g 4.891 + id="g550"><text 4.892 + transform="matrix(0,1,1,0,473.8,124.7)" 4.893 + id="text552"><tspan 4.894 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.895 + x="0 6.6999998 11.1 16.1 18.6 24.200001 26.700001 34 38.400002 41.200001" 4.896 + y="0" 4.897 + sodipodi:role="line" 4.898 + id="tspan554">Reg + Data</tspan></text> 4.899 + 4.900 +</g><g 4.901 + id="g556"><text 4.902 + transform="matrix(0,1,1,0,485,124.7)" 4.903 + id="text558"><tspan 4.904 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.905 + x="0 5.5999999 11.7 16.700001" 4.906 + y="0" 4.907 + sodipodi:role="line" 4.908 + id="tspan560">+Thd</tspan></text> 4.909 + 4.910 +</g><path 4.911 + d="m 248,116.1 -5,10.1 10,0 -5,-10.1 z" 4.912 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.913 + id="path562" 4.914 + inkscape:connector-curvature="0" /><path 4.915 + d="m 248.1,177.5 0,-23.4 -0.1,0 0,-29.9" 4.916 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.917 + id="path564" 4.918 + inkscape:connector-curvature="0" /><g 4.919 + id="g566"><text 4.920 + transform="matrix(0,1,1,0,247,125.9)" 4.921 + id="text568"><tspan 4.922 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.923 + x="0 7.3000002 11.7 14.4" 4.924 + y="0" 4.925 + sodipodi:role="line" 4.926 + id="tspan570">Data</tspan></text> 4.927 + 4.928 +</g><path 4.929 + d="m 523.8,47.1 -5.4,9.9 10.1,0.3 -4.7,-10.2 z" 4.930 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.931 + id="path572" 4.932 + inkscape:connector-curvature="0" /><path 4.933 + d="m 508.5,344.2 14.9,0 0,-289.4" 4.934 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.935 + id="path574" 4.936 + inkscape:connector-curvature="0" /><path 4.937 + d="m 184.2,288.4 5.1,-10.1 -10.1,0 5,10.1 z" 4.938 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.939 + id="path576" 4.940 + inkscape:connector-curvature="0" /><path 4.941 + d="m 184.3,116.1 0,86.1 -0.1,0 0,78.1" 4.942 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.943 + id="path578" 4.944 + inkscape:connector-curvature="0" /><path 4.945 + d="m 233.8,288.4 5.1,-10.1 -10.1,0 5,10.1 z" 4.946 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.947 + id="path580" 4.948 + inkscape:connector-curvature="0" /><path 4.949 + d="m 328.4,116.1 0,93.2 -94.6,0 0,71" 4.950 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.951 + id="path582" 4.952 + inkscape:connector-curvature="0" /><g 4.953 + id="g584"><text 4.954 + transform="matrix(0,1,1,0,232.8,212.6)" 4.955 + id="text586"><tspan 4.956 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.957 + x="0 6.1999998 11.1 16.700001 19.5 26.700001 31.700001 36.700001 41.200001 43.700001 49.299999 51.799999 57.900002 62.900002" 4.958 + y="0" 4.959 + sodipodi:role="line" 4.960 + id="tspan588">LdStDone + Thd</tspan></text> 4.961 + 4.962 +</g><g 4.963 + id="g590"><text 4.964 + transform="matrix(0,1,1,0,181.8,135.4)" 4.965 + id="text592"><tspan 4.966 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.967 + x="0 6.6999998 14.4 19.4 21.9 27.5 30 35.599998 42.299999 44.799999 50.400002 52.900002 56.200001 61.200001 65.099998 67.800003 71.199997 73.699997 79.300003 81.800003 87.300003 91.800003 94.5 100.1 102.9 107.3 110.1 115 118.9 121.4 127 129.5 135.7 140.7" 4.968 + y="0" 4.969 + sodipodi:role="line" 4.970 + id="tspan594">Cmd + PC + Instr + SetStatus + Thd</tspan></text> 4.971 + 4.972 +</g><g 4.973 + id="g596"><text 4.974 + transform="matrix(0,1,1,0,196,206.1)" 4.975 + id="text598"><tspan 4.976 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.977 + x="0 5.5999999 12.3 14.8 20.4 22.9 26.200001 31.200001 35.099998 37.900002 41.200001 43.700001 49.299999 51.799999 55.700001 58.400002 62.900002 65.599998 70.599998" 4.978 + y="0" 4.979 + sodipodi:role="line" 4.980 + id="tspan600">PC + Instr + status</tspan></text> 4.981 + 4.982 +</g><path 4.983 + d="m 217.1,49.6 -61.1,0 c 0,0 -0.1,0 -0.1,0.1 l 0,2.4 c 0,0.1 0.1,0.1 0.1,0.1 l 122.2,0 c 0,0 0.1,0 0.1,-0.1 l 0,-2.4 c 0,-0.1 -0.1,-0.1 -0.1,-0.1 l -61.1,0 z" 4.984 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.985 + id="path602" 4.986 + inkscape:connector-curvature="0" /><g 4.987 + id="g604"><path 4.988 + d="m 217.1,49.6 -61.1,0 c 0,0 -0.1,0 -0.1,0.1 l 0,2.4 c 0,0.1 0.1,0.1 0.1,0.1 l 122.2,0 c 0,0 0.1,0 0.1,-0.1 l 0,-2.4 c 0,-0.1 -0.1,-0.1 -0.1,-0.1 l -61.1,0 z" 4.989 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.990 + id="path606" 4.991 + inkscape:connector-curvature="0" /></g><path 4.992 + d="m 216.9,84.8 5,-10.1 -10.1,0 5.1,10.1 z" 4.993 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.994 + id="path608" 4.995 + inkscape:connector-curvature="0" /><path 4.996 + d="m 217.1,52.2 -5.1,10.1 10.1,0 -5,-10.1 z" 4.997 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.998 + id="path610" 4.999 + inkscape:connector-curvature="0" /><path 4.1000 + d="m 216.9,76.7 0,-8.2 0.2,0 0,-8.2" 4.1001 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.1002 + id="path612" 4.1003 + inkscape:connector-curvature="0" /><path 4.1004 + d="m 349.4,84.8 5,-10.1 -10.1,0 5.1,10.1 z" 4.1005 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.1006 + id="path614" 4.1007 + inkscape:connector-curvature="0" /><path 4.1008 + d="m 349.2,45.3 0,19.7 0.2,0 0,11.7" 4.1009 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.1010 + id="path616" 4.1011 + inkscape:connector-curvature="0" /><g 4.1012 + id="g618"><text 4.1013 + transform="matrix(1,0,0,-1,350.6,67.3)" 4.1014 + id="text620"><tspan 4.1015 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.1016 + x="0 6.2985001 10.4975 15.2 17.6035 22.9995 25.403 32.205002 36.403999 39.102001 43.206001 45.609501 51.005501" 4.1017 + y="0" 4.1018 + sodipodi:role="line" 4.1019 + id="tspan622">Reg + Data + </tspan></text> 4.1020 + 4.1021 +</g><g 4.1022 + id="g624"><text 4.1023 + transform="matrix(1,0,0,-1,350.6,56.6)" 4.1024 + id="text626"><tspan 4.1025 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.1026 + x="0 5.8045001 10.602 15.3045 17.708 23.104 25.403 30.704 33.402 36.005001 40.203999 44.403 47.6045 54.406502" 4.1027 + y="0" 4.1028 + sodipodi:role="line" 4.1029 + id="tspan628">Thd + SliceID </tspan></text> 4.1030 + 4.1031 +</g><g 4.1032 + id="g630"><text 4.1033 + transform="matrix(1,0,0,-1,350.6,45.9)" 4.1034 + id="text632"><tspan 4.1035 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.1036 + x="0 5.3010001 8.5024996 13.205 20.500999 22.904499 28.709 33.411499 38.712502 41.4105 43.709499 50.606499 55.403999 58.007" 4.1037 + y="0" 4.1038 + sodipodi:role="line" 4.1039 + id="tspan634">From LdSt Unit</tspan></text> 4.1040 + 4.1041 +</g><path 4.1042 + d="m 338.1,84.7 5,-10.1 -10.1,0 5.1,10.1 z" 4.1043 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.1044 + id="path636" 4.1045 + inkscape:connector-curvature="0" /><path 4.1046 + d="m 337.9,45.3 0,19.7 0.2,0 0,11.6" 4.1047 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.1048 + id="path638" 4.1049 + inkscape:connector-curvature="0" /><path 4.1050 + d="m 326.7,84.7 5.1,-10.1 -10.1,0 5,10.1 z" 4.1051 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.1052 + id="path640" 4.1053 + inkscape:connector-curvature="0" /><path 4.1054 + d="m 326.6,45.3 0,19.7 0.1,0 0,11.6" 4.1055 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.1056 + id="path642" 4.1057 + inkscape:connector-curvature="0" /><path 4.1058 + d="m 315.4,84.7 5,-10.1 -10.1,0 5.1,10.1 z" 4.1059 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.1060 + id="path644" 4.1061 + inkscape:connector-curvature="0" /><path 4.1062 + d="m 315.2,45.3 0,19.7 0.2,0 0,11.6" 4.1063 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.1064 + id="path646" 4.1065 + inkscape:connector-curvature="0" /><g 4.1066 + id="g648"><text 4.1067 + transform="matrix(1,0,0,-1,228.8,53.2)" 4.1068 + id="text650"><tspan 4.1069 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.1070 + x="0 6.2985001 10.4975 17.793501 20.092501 26.495501 29.098499 31.7015 34.105 40.4035 45.105999" 4.1071 + y="0" 4.1072 + sodipodi:role="line" 4.1073 + id="tspan652">Rem Ctl Bus</tspan></text> 4.1074 + 4.1075 +</g><path 4.1076 + d="m 198.5,116.1 -5.1,10.1 10.1,0 -5,-10.1 z" 4.1077 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 4.1078 + id="path654" 4.1079 + inkscape:connector-curvature="0" /><path 4.1080 + d="m 198.4,288.4 0,-86.2 0.1,0 0,-78" 4.1081 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 4.1082 + id="path656" 4.1083 + inkscape:connector-curvature="0" /><g 4.1084 + id="g658"><text 4.1085 + transform="matrix(1,0,0,-1,25.8,28.7)" 4.1086 + id="text660"><tspan 4.1087 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.1088 + x="0 6 9.3000002 15.3 21.299999 24.6 30.6" 4.1089 + y="0" 4.1090 + sodipodi:role="line" 4.1091 + id="tspan662">6/16/03</tspan></text> 4.1092 + 4.1093 +</g><g 4.1094 + id="g670"><text 4.1095 + transform="matrix(1,0,0,-1,336.6,27.3)" 4.1096 + id="text672"><tspan 4.1097 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 4.1098 + x="0" 4.1099 + y="0" 4.1100 + id="tspan674">2</tspan></text> 4.1101 + 4.1102 +</g></g></svg> 4.1103 \ No newline at end of file
5.1 Binary file 0__Papers/LPGPU__Arch/First_arch_paper/figures/FSMs_in_Ctxt_Unit.pdf has changed
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2 +++ b/0__Papers/LPGPU__Arch/First_arch_paper/figures/FSMs_in_Ctxt_Unit.svg Sun Mar 11 09:26:44 2012 -0700 6.3 @@ -0,0 +1,746 @@ 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 + id="svg2" 6.16 + version="1.1" 6.17 + inkscape:version="0.48.1 " 6.18 + width="990" 6.19 + height="765" 6.20 + xml:space="preserve" 6.21 + sodipodi:docname="FSMs_in_Ctxt_Unit.svg"><metadata 6.22 + id="metadata8"><rdf:RDF><cc:Work 6.23 + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type 6.24 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs 6.25 + id="defs6"><clipPath 6.26 + clipPathUnits="userSpaceOnUse" 6.27 + id="clipPath16"><path 6.28 + d="M 0,0 792,0 792,612 0,612 0,0 z" 6.29 + clip-rule="evenodd" 6.30 + id="path18" /></clipPath></defs><sodipodi:namedview 6.31 + pagecolor="#ffffff" 6.32 + bordercolor="#666666" 6.33 + borderopacity="1" 6.34 + objecttolerance="10" 6.35 + gridtolerance="10" 6.36 + guidetolerance="10" 6.37 + inkscape:pageopacity="0" 6.38 + inkscape:pageshadow="2" 6.39 + inkscape:window-width="750" 6.40 + inkscape:window-height="829" 6.41 + id="namedview4" 6.42 + showgrid="false" 6.43 + inkscape:zoom="0.38039216" 6.44 + inkscape:cx="495" 6.45 + inkscape:cy="382.5" 6.46 + inkscape:window-x="0" 6.47 + inkscape:window-y="0" 6.48 + inkscape:window-maximized="0" 6.49 + inkscape:current-layer="g10" /><g 6.50 + id="g10" 6.51 + inkscape:groupmode="layer" 6.52 + inkscape:label="SThd_Land Technical" 6.53 + transform="matrix(1.25,0,0,-1.25,0,765)"><g 6.54 + id="g24"><path 6.55 + d="m 104.8,469.8 c 28.3,0 49.9,-14.4 49.9,-33.2 0,-18.9 -21.6,-33.2 -49.9,-33.2 -28.3,0 -49.9,14.3 -49.9,33.2 0,18.8 21.6,33.2 49.9,33.2 z" 6.56 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.57 + id="path26" 6.58 + inkscape:connector-curvature="0" /></g><g 6.59 + id="g28"><text 6.60 + transform="matrix(1,0,0,-1,175.1,475.9)" 6.61 + id="text30"><tspan 6.62 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.63 + x="0 8.0880003 21.384001 34.68 41.352001 52.032001 58.703999 69.384003" 6.64 + y="0" 6.65 + sodipodi:role="line" 6.66 + id="tspan32">IFState:</tspan></text> 6.67 + 6.68 + 6.69 +</g><g 6.70 + id="g34"><text 6.71 + transform="matrix(1,0,0,-1,61.6,429)" 6.72 + id="text36"><tspan 6.73 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.74 + x="0 11.988 19.962 28.044001 37.043999 46.223999 56.231998 65.232002 71.225998 77.220001" 6.75 + y="0" 6.76 + sodipodi:role="line" 6.77 + id="tspan38">ReadyForIF</tspan></text> 6.78 + 6.79 + 6.80 +</g><g 6.81 + id="g40"><text 6.82 + transform="matrix(1,0,0,-1,294,428.1)" 6.83 + id="text42"><tspan 6.84 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.85 + x="0 5.994 14.994 20.988001" 6.86 + y="0" 6.87 + sodipodi:role="line" 6.88 + id="tspan44">InIF</tspan></text> 6.89 + 6.90 + 6.91 +</g><g 6.92 + id="g46"><path 6.93 + d="m 155.9,436 96.7,-0.1" 6.94 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.95 + id="path48" 6.96 + inkscape:connector-curvature="0" /></g><path 6.97 + d="m 257.4,435.9 -6,-3 0,6 6,-3 z" 6.98 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.99 + id="path50" 6.100 + inkscape:connector-curvature="0" /><g 6.101 + id="g52"><path 6.102 + d="m 308.8,469.8 c 28.3,0 49.9,-14.4 49.9,-33.2 0,-18.9 -21.6,-33.2 -49.9,-33.2 -28.3,0 -49.9,14.3 -49.9,33.2 0,18.8 21.6,33.2 49.9,33.2 z" 6.103 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.104 + id="path54" 6.105 + inkscape:connector-curvature="0" /></g><g 6.106 + id="g56"><path 6.107 + d="m 203.9,387.5 c 28.3,0 49.9,-14.3 49.9,-33.1 0,-18.8 -21.6,-33.2 -49.9,-33.2 -28.3,0 -49.9,14.4 -49.9,33.2 0,18.8 21.6,33.1 49.9,33.1 z" 6.108 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.109 + id="path58" 6.110 + inkscape:connector-curvature="0" /></g><g 6.111 + id="g60"><path 6.112 + d="m 309,402.2 c -16.1,-42.3 -39.7,-43 -50.4,-45.6" 6.113 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.114 + id="path62" 6.115 + inkscape:connector-curvature="0" /></g><path 6.116 + d="m 254,355.7 5.3,4.1 1.1,-5.8 -6.4,1.7 z" 6.117 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.118 + id="path64" 6.119 + inkscape:connector-curvature="0" /><g 6.120 + id="g66"><path 6.121 + d="m 152.2,354.4 c -51.5,19.9 -44.8,34.8 -45.3,43.6" 6.122 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.123 + id="path68" 6.124 + inkscape:connector-curvature="0" /></g><path 6.125 + d="m 107.1,402.5 2.9,-6 -6,0.1 3.1,5.9 z" 6.126 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.127 + id="path70" 6.128 + inkscape:connector-curvature="0" /><g 6.129 + id="g72"><text 6.130 + transform="matrix(1,0,0,-1,160.7,345.9)" 6.131 + id="text74"><tspan 6.132 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.133 + x="0 12.996 21.996 30.996 38.970001 55.944 60.93 65.916 74.916 80.910004" 6.134 + y="0" 6.135 + sodipodi:role="line" 6.136 + id="tspan76">DoneWithIF</tspan></text> 6.137 + 6.138 + 6.139 +</g><g 6.140 + id="g78"><text 6.141 + transform="matrix(1,0,0,-1,161.9,450.5)" 6.142 + id="text80"><tspan 6.143 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.144 + x="0 7.9920001 13.992 19.992001 24.684 29.879999 35.964001 38.964001 42.863998 46.860001 52.860001 62.16 65.160004 71.160004 77.160004 83.160004" 6.145 + y="0" 6.146 + sodipodi:role="line" 6.147 + id="tspan82">Chosen from pool</tspan></text> 6.148 + 6.149 + 6.150 +</g><g 6.151 + id="g84" /><g 6.152 + id="g86"><text 6.153 + transform="matrix(1,0,0,-1,164.9,436.2)" 6.154 + id="text88"><tspan 6.155 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.156 + x="0 6 9.8999996 12.9 16.284 22.284 26.184 31.488001 36.792 42.792 47.484001 50.484001 54.383999 59.688 64.991997 70.991997" 6.157 + y="0" 6.158 + sodipodi:role="line" 6.159 + id="tspan90">of threads ready</tspan></text> 6.160 + 6.161 + 6.162 +</g><g 6.163 + id="g92"><text 6.164 + transform="matrix(1,0,0,-1,272.5,348.4)" 6.165 + id="text94"><tspan 6.166 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.167 + x="0 3.6960001 11.688 16.992001 22.296 28.296 33.599998 36.599998 42.599998 47.796001 52.487999 55.487999 60.792 66.792 76.176003 82.176003 85.475998 90.779999 94.164001 99.360001" 6.168 + y="0" 6.169 + sodipodi:role="line" 6.170 + id="tspan96">ICache has completed</tspan></text> 6.171 + 6.172 + 6.173 +</g><g 6.174 + id="g98" /><g 6.175 + id="g100"><text 6.176 + transform="matrix(1,0,0,-1,284.5,334)" 6.177 + id="text102"><tspan 6.178 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.179 + x="0 3.6960001 9.6960001 14.388 17.688 21.684 27.684 32.987999 36.287998 39.672001 45.672001 51.672001 54.672001 61.271999 66.575996 69.875999 75.18 81.18" 6.180 + y="0" 6.181 + sodipodi:role="line" 6.182 + id="tspan104">Instruction Fetch </tspan></text> 6.183 + 6.184 + 6.185 +</g><g 6.186 + id="g106"><text 6.187 + transform="matrix(1,0,0,-1,40,368.3)" 6.188 + id="text108"><tspan 6.189 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.190 + x="0 11.388 17.388 22.584 28.667999 31.667999 40.271999 45.576 54.18 60.863998 68.952003 71.952003 75.251999" 6.191 + y="0" 6.192 + sodipodi:role="line" 6.193 + id="tspan110">When NewPC is</tspan></text> 6.194 + 6.195 + 6.196 +</g><g 6.197 + id="g112" /><g 6.198 + id="g114"><text 6.199 + transform="matrix(1,0,0,-1,43,353.9)" 6.200 + id="text116"><tspan 6.201 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.202 + x="0 4.6919999 9.8879995 15.888 19.271999 22.271999 28.271999 33.875999 36.875999 40.259998 46.259998 51.563999 54.563999 60.563999 63.863998 69.863998 75.167999" 6.203 + y="0" 6.204 + sodipodi:role="line" 6.205 + id="tspan118">sent by the pipe </tspan></text> 6.206 + 6.207 + 6.208 +</g><g 6.209 + id="g120"><text 6.210 + xml:space="preserve" 6.211 + style="font-size:10.39999962px;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" 6.212 + x="255.79402" 6.213 + y="-532.95746" 6.214 + id="text3840" 6.215 + sodipodi:linespacing="125%" 6.216 + transform="scale(1,-1)"><tspan 6.217 + sodipodi:role="line" 6.218 + id="tspan3842" 6.219 + x="255.79402" 6.220 + y="-532.95746" 6.221 + style="font-size:32px;font-family:Times New Roman;-inkscape-font-specification:Times New Roman">FSMs In Ctxt Unit</tspan></text> 6.222 + 6.223 + 6.224 +</g><g 6.225 + id="g126"><path 6.226 + d="m 490.9,469.8 c 31.1,0 54.9,-14.4 54.9,-33.2 0,-18.9 -23.8,-33.2 -54.9,-33.2 -31.1,0 -54.9,14.3 -54.9,33.2 0,18.8 23.8,33.2 54.9,33.2 z" 6.227 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.228 + id="path128" 6.229 + inkscape:connector-curvature="0" /></g><g 6.230 + id="g130"><text 6.231 + transform="matrix(1,0,0,-1,552.2,475.9)" 6.232 + id="text132"><tspan 6.233 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.234 + x="0 13.368 20.040001 32.040001 42.720001 56.015999 62.688 73.367996 80.040001 90.720001" 6.235 + y="0" 6.236 + sodipodi:role="line" 6.237 + id="tspan134">PipeState:</tspan></text> 6.238 + 6.239 + 6.240 +</g><g 6.241 + id="g136"><text 6.242 + transform="matrix(1,0,0,-1,441.5,429)" 6.243 + id="text138"><tspan 6.244 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.245 + x="0 11.988 19.962 28.044001 36.936001 46.223999 56.124001 65.124001 71.208 81.108002 86.183998 95.075996" 6.246 + y="0" 6.247 + sodipodi:role="line" 6.248 + id="tspan140">ReadyForPipe</tspan></text> 6.249 + 6.250 + 6.251 +</g><g 6.252 + id="g142"><text 6.253 + transform="matrix(1,0,0,-1,685.2,428.1)" 6.254 + id="text144"><tspan 6.255 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.256 + x="0 6.0840001 14.976 24.983999 29.969999 39.060001" 6.257 + y="0" 6.258 + sodipodi:role="line" 6.259 + id="tspan146">InPipe</tspan></text> 6.260 + 6.261 + 6.262 +</g><g 6.263 + id="g148"><path 6.264 + d="m 547.1,436 96.6,-0.1" 6.265 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.266 + id="path150" 6.267 + inkscape:connector-curvature="0" /></g><path 6.268 + d="m 648.5,435.9 -5.9,-3 0,6 5.9,-3 z" 6.269 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.270 + id="path152" 6.271 + inkscape:connector-curvature="0" /><g 6.272 + id="g154"><path 6.273 + d="m 700,469.8 c 28.3,0 50,-14.4 50,-33.2 0,-18.9 -21.7,-33.2 -50,-33.2 -28.3,0 -49.9,14.3 -49.9,33.2 0,18.8 21.6,33.2 49.9,33.2 z" 6.274 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.275 + id="path156" 6.276 + inkscape:connector-curvature="0" /></g><g 6.277 + id="g158"><path 6.278 + d="m 595.9,387.5 c 31.1,0 54.8,-14.3 54.8,-33.1 0,-18.8 -23.7,-33.2 -54.8,-33.2 -31.1,0 -54.9,14.4 -54.9,33.2 0,18.8 23.8,33.1 54.9,33.1 z" 6.279 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.280 + id="path160" 6.281 + inkscape:connector-curvature="0" /></g><g 6.282 + id="g162"><path 6.283 + d="M 700.2,402.1 C 686,359.8 665.9,359.4 656.2,356.6" 6.284 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.285 + id="path164" 6.286 + inkscape:connector-curvature="0" /></g><path 6.287 + d="m 651.7,355.6 5.1,4.3 1.4,-5.8 -6.5,1.5 z" 6.288 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.289 + id="path166" 6.290 + inkscape:connector-curvature="0" /><g 6.291 + id="g168"><path 6.292 + d="m 540.4,354.4 c -54.3,19.9 -47.2,34.8 -47.8,43.6" 6.293 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.294 + id="path170" 6.295 + inkscape:connector-curvature="0" /></g><path 6.296 + d="m 492.8,402.5 2.9,-6 -6,0.1 3.1,5.9 z" 6.297 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.298 + id="path172" 6.299 + inkscape:connector-curvature="0" /><g 6.300 + id="g174"><text 6.301 + transform="matrix(1,0,0,-1,543.5,345.9)" 6.302 + id="text176"><tspan 6.303 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.304 + x="0 12.996 21.996 30.996 38.970001 55.872002 60.948002 65.933998 74.933998 84.942001 89.928001 98.928001" 6.305 + y="0" 6.306 + sodipodi:role="line" 6.307 + id="tspan178">DoneWithPipe</tspan></text> 6.308 + 6.309 + 6.310 +</g><g 6.311 + id="g180"><text 6.312 + transform="matrix(1,0,0,-1,553.1,450.5)" 6.313 + id="text182"><tspan 6.314 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.315 + x="0 7.9920001 13.992 19.992001 24.684 29.988001 35.987999 38.987999 42.984001 46.883999 52.883999 62.268002 65.267998 71.267998 77.267998 83.267998" 6.316 + y="0" 6.317 + sodipodi:role="line" 6.318 + id="tspan184">Chosen from pool</tspan></text> 6.319 + 6.320 + 6.321 +</g><g 6.322 + id="g186" /><g 6.323 + id="g188"><text 6.324 + transform="matrix(1,0,0,-1,556.1,436.2)" 6.325 + id="text190"><tspan 6.326 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.327 + x="0 6 9.9960003 12.996 16.296 22.296 26.292 31.596001 36.900002 42.804001 47.495998 50.495998 54.492001 59.796001 64.991997 70.991997" 6.328 + y="0" 6.329 + sodipodi:role="line" 6.330 + id="tspan192">of threads ready</tspan></text> 6.331 + 6.332 + 6.333 +</g><g 6.334 + id="g194" /><g 6.335 + id="g196"><text 6.336 + transform="matrix(1,0,0,-1,678.6,356.9)" 6.337 + id="text198"><tspan 6.338 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.339 + x="0 6.684 10.068 16.068001 21.372 24.275999 28.968 32.352001 38.256001 44.256001 49.452 52.835999 57.528" 6.340 + y="0" 6.341 + sodipodi:role="line" 6.342 + id="tspan200">Pipe signals </tspan></text> 6.343 + 6.344 + 6.345 +</g><g 6.346 + id="g202"><text 6.347 + transform="matrix(1,0,0,-1,663.6,342.5)" 6.348 + id="text204"><tspan 6.349 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.350 + x="0 3.6960001 9.6960001 14.388 17.771999 21.672001 27.672001 32.976002 36.360001 39.66 45.66 51.66 54.66 58.043999 62.639999 65.723999 71.723999 77.627998 83.711998 88.907997" 6.351 + y="0" 6.352 + sodipodi:role="line" 6.353 + id="tspan206">Instruction is done </tspan></text> 6.354 + 6.355 + 6.356 +</g><g 6.357 + id="g208"><text 6.358 + transform="matrix(1,0,0,-1,405.7,376.8)" 6.359 + id="text210"><tspan 6.360 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.361 + x="0 11.388 17.388 22.691999 28.691999 31.691999 40.296001 46.296001 52.380001 57.576 68.963997 72.348 75.648003 81.648003 85.452003" 6.362 + y="0" 6.363 + sodipodi:role="line" 6.364 + id="tspan212">When DoneWithIF</tspan></text> 6.365 + 6.366 + 6.367 +</g><g 6.368 + id="g214" /><g 6.369 + id="g216"><text 6.370 + transform="matrix(1,0,0,-1,414.7,362.4)" 6.371 + id="text218"><tspan 6.372 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.373 + x="0 5.3039999 11.304 17.304001 20.304001 28.992001 34.992001 38.292 41.987999 47.987999 55.091999 61.091999 67.776001 71.160004" 6.374 + y="0" 6.375 + sodipodi:role="line" 6.376 + id="tspan220">and NotInLdSt </tspan></text> 6.377 + 6.378 + 6.379 +</g><g 6.380 + id="g222" /><g 6.381 + id="g224"><text 6.382 + transform="matrix(1,0,0,-1,444.7,348)" 6.383 + id="text226"><tspan 6.384 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.385 + x="0 8.6879997" 6.386 + y="0" 6.387 + sodipodi:role="line" 6.388 + id="tspan228">OR</tspan></text> 6.389 + 6.390 + 6.391 +</g><g 6.392 + id="g230" /><g 6.393 + id="g232"><text 6.394 + transform="matrix(1,0,0,-1,414.7,333.6)" 6.395 + id="text234"><tspan 6.396 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.397 + x="0 3.9960001 9.9960003 13.992 19.188 24.492001 30.492001 33.492001 39.492001 45.192001 48.192001 55.487999 61.487999 67.487999 74.592003" 6.398 + y="0" 6.399 + sodipodi:role="line" 6.400 + id="tspan236">forced by ThdLd</tspan></text> 6.401 + 6.402 + 6.403 +</g><g 6.404 + id="g238"><text 6.405 + transform="matrix(1,0,0,-1,405.7,319.3)" 6.406 + id="text240"><tspan 6.407 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.408 + x="0 5.3039999 9.9960003 12.996 17.688 23.688 29.688 35.688 38.688 43.883999 48.576 51.576 60.264 66.264 69.564003 73.367996 79.272003 86.375999 92.375999 99.167999" 6.409 + y="0" 6.410 + sodipodi:role="line" 6.411 + id="tspan242">as soon as NotInLdSt</tspan></text> 6.412 + 6.413 + 6.414 +</g><g 6.415 + id="g244"><text 6.416 + transform="matrix(1,0,0,-1,172.4,235)" 6.417 + id="text246"><tspan 6.418 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.419 + x="0 14.592 21.264 29.256001 39.863998 53.231998 59.903999 70.512001 77.279999 87.888" 6.420 + y="0" 6.421 + sodipodi:role="line" 6.422 + id="tspan248">LifeState:</tspan></text> 6.423 + 6.424 + 6.425 +</g><g 6.426 + id="g250"><text 6.427 + transform="matrix(1,0,0,-1,269.9,188.3)" 6.428 + id="text252"><tspan 6.429 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.430 + x="0 11.088 20.087999 28.062 37.062 42.138 51.138" 6.431 + y="0" 6.432 + sodipodi:role="line" 6.433 + id="tspan254">Loading</tspan></text> 6.434 + 6.435 + 6.436 +</g><g 6.437 + id="g256"><path 6.438 + d="m 157,194.7 96.7,-0.1" 6.439 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.440 + id="path258" 6.441 + inkscape:connector-curvature="0" /></g><path 6.442 + d="m 258.5,194.6 -6,-2.9 0,5.9 6,-3 z" 6.443 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.444 + id="path260" 6.445 + inkscape:connector-curvature="0" /><g 6.446 + id="g262"><path 6.447 + d="m 298.3,228.8 c 22.4,0 39.4,-14.4 39.4,-33.2 0,-18.9 -17,-33.2 -39.4,-33.2 -22.3,0 -39.4,14.3 -39.4,33.2 0,18.8 17.1,33.2 39.4,33.2 z" 6.448 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.449 + id="path264" 6.450 + inkscape:connector-curvature="0" /></g><g 6.451 + id="g266"><text 6.452 + transform="matrix(1,0,0,-1,156.3,209.5)" 6.453 + id="text268"><tspan 6.454 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.455 + x="0 11.388 17.388 22.691999 28.691999 31.691999 38.987999 44.987999 50.987999 58.091999 64.092003 66.996002 71.688004 75.071999 80.975998 86.975998 92.171997" 6.456 + y="0" 6.457 + sodipodi:role="line" 6.458 + id="tspan270">When ThdLd signal</tspan></text> 6.459 + 6.460 + 6.461 +</g><g 6.462 + id="g272" /><g 6.463 + id="g274"><text 6.464 + transform="matrix(1,0,0,-1,174.3,195.2)" 6.465 + id="text276"><tspan 6.466 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.467 + x="0 3.3 7.9920001 10.992 14.988 20.184 25.488001 30.792 34.175999 40.175999 45.372002" 6.468 + y="0" 6.469 + sodipodi:role="line" 6.470 + id="tspan278">is received</tspan></text> 6.471 + 6.472 + 6.473 +</g><g 6.474 + id="g280"><text 6.475 + transform="matrix(1,0,0,-1,48.5,144.3)" 6.476 + id="text282"><tspan 6.477 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.478 + x="0 11.388 17.388 22.584 28.667999 31.667999 38.964001 44.964001 50.964001 57.647999 61.032001" 6.479 + y="0" 6.480 + sodipodi:role="line" 6.481 + id="tspan284">When ThdSt </tspan></text> 6.482 + 6.483 + 6.484 +</g><g 6.485 + id="g286" /><g 6.486 + id="g288"><text 6.487 + transform="matrix(1,0,0,-1,54.5,129.9)" 6.488 + id="text290"><tspan 6.489 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.490 + x="0 7.9920001 13.992 23.375999 29.375999 32.759998 37.956001 41.34 46.644001 51.240002" 6.491 + y="0" 6.492 + sodipodi:role="line" 6.493 + id="tspan292">Completes </tspan></text> 6.494 + 6.495 + 6.496 +</g><g 6.497 + id="g294"><text 6.498 + transform="matrix(1,0,0,-1,95,189)" 6.499 + id="text296"><tspan 6.500 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.501 + x="0 10.98 24.966 33.858002 38.933998" 6.502 + y="0" 6.503 + sodipodi:role="line" 6.504 + id="tspan298">Empty</tspan></text> 6.505 + 6.506 + 6.507 +</g><g 6.508 + id="g300"><path 6.509 + d="m 116.9,228.8 c 22.4,0 39.5,-14.4 39.5,-33.2 0,-18.9 -17.1,-33.2 -39.5,-33.2 -22.4,0 -39.4,14.3 -39.4,33.2 0,18.8 17,33.2 39.4,33.2 z" 6.510 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.511 + id="path302" 6.512 + inkscape:connector-curvature="0" /></g><g 6.513 + id="g304"><path 6.514 + d="m 161.4,90.3 96.7,-0.2" 6.515 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.516 + id="path306" 6.517 + inkscape:connector-curvature="0" /></g><path 6.518 + d="m 156.6,90.3 6,2.9 0,-5.9 -6,3 z" 6.519 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.520 + id="path308" 6.521 + inkscape:connector-curvature="0" /><text 6.522 + transform="scale(1,-1)" 6.523 + id="text310" 6.524 + x="162.7" 6.525 + y="-104.7"><tspan 6.526 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.527 + x="162.7 174.004 180.088 185.284 191.284 194.284 201.67599 207.67599 213.58 220.37199 223.672 226.672 231.364 234.748 240.65201 246.556 251.86" 6.528 + y="-104.7" 6.529 + sodipodi:role="line" 6.530 + id="tspan312">When ThdSt signal</tspan></text> 6.531 + 6.532 + 6.533 +<text 6.534 + transform="scale(1,-1)" 6.535 + id="text314" 6.536 + x="180.7" 6.537 + y="-90.300003"><tspan 6.538 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.539 + x="180.7 184 188.692 191.692 195.592 200.896 206.2 211.504 214.888 220.79199 226.09599" 6.540 + y="-90.300003" 6.541 + sodipodi:role="line" 6.542 + id="tspan316">is received</tspan></text> 6.543 + 6.544 + 6.545 +<g 6.546 + id="g318"><text 6.547 + transform="matrix(1,0,0,-1,94.6,85.4)" 6.548 + id="text320"><tspan 6.549 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.550 + x="0 9.8999996 17.982 26.982 31.968 40.967999" 6.551 + y="0" 6.552 + sodipodi:role="line" 6.553 + id="tspan322">Saving</tspan></text> 6.554 + 6.555 + 6.556 +</g><g 6.557 + id="g324"><path 6.558 + d="m 116.9,126.6 c 22.4,0 39.5,-14.3 39.5,-33.2 0,-18.8 -17.1,-33.2 -39.5,-33.2 -22.4,0 -39.4,14.4 -39.4,33.2 0,18.9 17,33.2 39.4,33.2 z" 6.559 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.560 + id="path326" 6.561 + inkscape:connector-curvature="0" /></g><g 6.562 + id="g328"><text 6.563 + transform="matrix(1,0,0,-1,275.3,85.7)" 6.564 + id="text330"><tspan 6.565 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.566 + x="0 12.906 20.988001 25.974001 30.959999 40.049999" 6.567 + y="0" 6.568 + sodipodi:role="line" 6.569 + id="tspan332">Active</tspan></text> 6.570 + 6.571 + 6.572 +</g><g 6.573 + id="g334"><path 6.574 + d="m 298.4,125 c 22.4,0 39.5,-14.4 39.5,-33.2 0,-18.8 -17.1,-33.2 -39.5,-33.2 -22.3,0 -39.4,14.4 -39.4,33.2 0,18.8 17.1,33.2 39.4,33.2 z" 6.575 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.576 + id="path336" 6.577 + inkscape:connector-curvature="0" /></g><g 6.578 + id="g338"><path 6.579 + d="m 117.8,157.2 0.1,-30.8" 6.580 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.581 + id="path340" 6.582 + inkscape:connector-curvature="0" /></g><path 6.583 + d="m 117.8,162 3,-6 -6,0 3,6 z" 6.584 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.585 + id="path342" 6.586 + inkscape:connector-curvature="0" /><text 6.587 + transform="scale(1,-1)" 6.588 + id="text344" 6.589 + x="306.5" 6.590 + y="-143.7"><tspan 6.591 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.592 + x="306.5 317.888 323.888 329.19199 335.19199 338.19199 345.48801 351.48801 357.48801 364.59201 370.59201" 6.593 + y="-143.7" 6.594 + sodipodi:role="line" 6.595 + id="tspan346">When ThdLd </tspan></text> 6.596 + 6.597 + 6.598 +<text 6.599 + transform="scale(1,-1)" 6.600 + id="text348" 6.601 + x="312.5" 6.602 + y="-129.3"><tspan 6.603 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.604 + x="312.5 320.58801 326.58801 335.888 341.888 345.272 350.57599 353.87601 359.17999 363.87201" 6.605 + y="-129.3" 6.606 + sodipodi:role="line" 6.607 + id="tspan350">Completes </tspan></text> 6.608 + 6.609 + 6.610 +<g 6.611 + id="g352"><path 6.612 + d="m 299.3,161.3 0,-30.8" 6.613 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.614 + id="path354" 6.615 + inkscape:connector-curvature="0" /></g><path 6.616 + d="m 299.4,125.7 -3,6 5.9,0 -2.9,-6 z" 6.617 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.618 + id="path356" 6.619 + inkscape:connector-curvature="0" /><text 6.620 + transform="scale(1,-1)" 6.621 + id="text358" 6.622 + x="549.40002" 6.623 + y="-229.3"><tspan 6.624 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.625 + x="549.40002 563.992 575.992 589.35999 596.03198 609.328 616 626.67999 633.35199 644.03198" 6.626 + y="-229.3" 6.627 + sodipodi:role="line" 6.628 + id="tspan360">LdStState:</tspan></text> 6.629 + 6.630 + 6.631 +<g 6.632 + id="g362"><text 6.633 + transform="matrix(1,0,0,-1,661.1,142.9)" 6.634 + id="text364"><tspan 6.635 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.636 + x="0 5.994 14.994 25.974001 34.973999 44.981998" 6.637 + y="0" 6.638 + sodipodi:role="line" 6.639 + id="tspan366">InLdSt</tspan></text> 6.640 + 6.641 + 6.642 +</g><g 6.643 + id="g368"><path 6.644 + d="m 683.8,183.4 c 22.3,0 39.4,-14.4 39.4,-33.2 0,-18.8 -17.1,-33.2 -39.4,-33.2 -22.4,0 -39.5,14.4 -39.5,33.2 0,18.8 17.1,33.2 39.5,33.2 z" 6.645 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.646 + id="path370" 6.647 + inkscape:connector-curvature="0" /></g><g 6.648 + id="g372"><text 6.649 + transform="matrix(1,0,0,-1,550.2,192.5)" 6.650 + id="text374"><tspan 6.651 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.652 + x="0 11.388 17.388 22.691999 28.691999 31.691999 35.388 41.388 48.492001 54.492001 61.175999 64.559998 67.559998 72.155998 75.540001 81.444 87.444 92.748001" 6.653 + y="0" 6.654 + sodipodi:role="line" 6.655 + id="tspan376">When InLdSt signal</tspan></text> 6.656 + 6.657 + 6.658 +</g><g 6.659 + id="g378" /><g 6.660 + id="g380"><text 6.661 + transform="matrix(1,0,0,-1,553.2,178.2)" 6.662 + id="text382"><tspan 6.663 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.664 + x="0 3.9960001 9.3000002 14.496 19.799999 23.184 29.184 34.487999 40.487999 43.391998 47.388 51.383999 57.383999 66.683998 69.683998 76.475998 79.776001 85.776001" 6.665 + y="0" 6.666 + sodipodi:role="line" 6.667 + id="tspan384">received from Pipe</tspan></text> 6.668 + 6.669 + 6.670 +</g><g 6.671 + id="g386"><text 6.672 + transform="matrix(1,0,0,-1,463.5,140.8)" 6.673 + id="text388"><tspan 6.674 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.675 + x="0 12.906 21.996 26.982 32.976002 41.976002 52.956001 61.956001 71.963997" 6.676 + y="0" 6.677 + sodipodi:role="line" 6.678 + id="tspan390">NotInLdSt</tspan></text> 6.679 + 6.680 + 6.681 +</g><g 6.682 + id="g392"><path 6.683 + d="m 499.7,183.4 c 23.9,0 42.2,-14.4 42.2,-33.2 0,-18.8 -18.3,-33.2 -42.2,-33.2 -23.9,0 -42.2,14.4 -42.2,33.2 0,18.8 18.3,33.2 42.2,33.2 z" 6.684 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 6.685 + id="path394" 6.686 + inkscape:connector-curvature="0" /></g><g 6.687 + id="g396"><path 6.688 + d="m 539.6,161.7 c 59.3,25 90,8 102.7,2.9" 6.689 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.690 + id="path398" 6.691 + inkscape:connector-curvature="0" /></g><path 6.692 + d="m 646.4,162.9 -6.6,-0.5 2.2,5.5 4.4,-5 z" 6.693 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.694 + id="path400" 6.695 + inkscape:connector-curvature="0" /><g 6.696 + id="g402"><path 6.697 + d="M 542.6,138.2 C 599.9,108 645,139.4 645,139.4" 6.698 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 6.699 + id="path404" 6.700 + inkscape:connector-curvature="0" /></g><path 6.701 + d="m 538.2,140.6 6.7,-0.2 -2.9,-5.2 -3.8,5.4 z" 6.702 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 6.703 + id="path406" 6.704 + inkscape:connector-curvature="0" /><g 6.705 + id="g408"><text 6.706 + transform="matrix(1,0,0,-1,524.7,107.4)" 6.707 + id="text410"><tspan 6.708 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.709 + x="0 8.6879997 14.592 20.676001 25.872 37.355999 40.655998 44.040001 50.040001 57.035999 63.035999 69.828003 73.127998 76.127998 80.124001 84.120003 90.024002 99.407997 102.408 109.512 115.512 122.196 125.58 134.18401 140.18401 143.56799" 6.710 + y="0" 6.711 + sodipodi:role="line" 6.712 + id="tspan412">DoneWithLdSt from LdStUnit</tspan></text> 6.713 + 6.714 + 6.715 +</g><g 6.716 + id="g414" /><g 6.717 + id="g416"><text 6.718 + transform="matrix(1,0,0,-1,587.7,93)" 6.719 + id="text418"><tspan 6.720 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.721 + x="0 8.6879997" 6.722 + y="0" 6.723 + sodipodi:role="line" 6.724 + id="tspan420">OR</tspan></text> 6.725 + 6.726 + 6.727 +</g><g 6.728 + id="g422" /><g 6.729 + id="g424"><text 6.730 + transform="matrix(1,0,0,-1,545.7,78.6)" 6.731 + id="text426"><tspan 6.732 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.733 + x="0 6.684 14.772 21.875999 27.875999 30.875999 34.776001 38.771999 44.771999 54.071999 57.071999 64.176003 70.176003 76.968002 80.267998 88.872002 94.956001 98.255997" 6.734 + y="0" 6.735 + sodipodi:role="line" 6.736 + id="tspan428">PCLd from LdStUnit</tspan></text> 6.737 + 6.738 + 6.739 +</g><g 6.740 + id="g436"><text 6.741 + transform="matrix(1,0,0,-1,333.4,24.3)" 6.742 + id="text438"><tspan 6.743 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 6.744 + x="0" 6.745 + y="0" 6.746 + id="tspan440">6</tspan></text> 6.747 + 6.748 + 6.749 +</g></g></svg> 6.750 \ No newline at end of file
7.1 Binary file 0__Papers/LPGPU__Arch/First_arch_paper/figures/Integer_Pipeline_Control.pdf has changed
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/0__Papers/LPGPU__Arch/First_arch_paper/figures/Integer_Pipeline_Control.svg Sun Mar 11 09:26:44 2012 -0700 8.3 @@ -0,0 +1,1616 @@ 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 + id="svg2" 8.16 + version="1.1" 8.17 + inkscape:version="0.48.1 " 8.18 + width="765" 8.19 + height="990" 8.20 + xml:space="preserve" 8.21 + sodipodi:docname="Integer_Pipeline_Activity_triggers.svg"><metadata 8.22 + id="metadata8"><rdf:RDF><cc:Work 8.23 + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type 8.24 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs 8.25 + id="defs6"><clipPath 8.26 + clipPathUnits="userSpaceOnUse" 8.27 + id="clipPath16"><path 8.28 + d="m 0,-0.1 612.1,0 0,792.1 L 0,792 0,-0.1 z" 8.29 + clip-rule="evenodd" 8.30 + id="path18" /></clipPath></defs><sodipodi:namedview 8.31 + pagecolor="#ffffff" 8.32 + bordercolor="#666666" 8.33 + borderopacity="1" 8.34 + objecttolerance="10" 8.35 + gridtolerance="10" 8.36 + guidetolerance="10" 8.37 + inkscape:pageopacity="0" 8.38 + inkscape:pageshadow="2" 8.39 + inkscape:window-width="640" 8.40 + inkscape:window-height="480" 8.41 + id="namedview4" 8.42 + showgrid="false" 8.43 + inkscape:zoom="0.70737049" 8.44 + inkscape:cx="382.49999" 8.45 + inkscape:cy="55.343538" 8.46 + inkscape:window-x="0" 8.47 + inkscape:window-y="0" 8.48 + inkscape:window-maximized="0" 8.49 + inkscape:current-layer="g10" /><g 8.50 + id="g10" 8.51 + inkscape:groupmode="layer" 8.52 + inkscape:label="SThd_Port Technical" 8.53 + transform="matrix(1.25,0,0,-1.25,0,990)"><path 8.54 + d="M 306,0 0,0 0,792 612,792 612,0 306,0 z" 8.55 + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" 8.56 + id="path20" 8.57 + inkscape:connector-curvature="0" /><g 8.58 + id="g22"><text 8.59 + transform="matrix(1,0,0,-1,205.1,726.1)" 8.60 + id="text24"><tspan 8.61 + style="font-size:32px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.62 + x="0 10.688 26.688 35.584 49.695999 65.792 79.903999 90.592003 98.592003 116.384 125.28 141.28 155.48801 164.384 173.18401 189.18401" 8.63 + y="0" 8.64 + sodipodi:role="line" 8.65 + id="tspan26">Integer Pipeline</tspan></text> 8.66 + 8.67 +</g><g 8.68 + id="g28"><path 8.69 + d="m 82.4,616.3 454.5,0" 8.70 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.71 + id="path30" 8.72 + inkscape:connector-curvature="0" /></g><g 8.73 + id="g32"><path 8.74 + d="M 309,61 82.2,61 c 0,0 -0.1,0.1 -0.1,0.1 l 0,634.6 c 0,0 0.1,0.1 0.1,0.1 l 453.5,0 c 0.1,0 0.2,-0.1 0.2,-0.1 l 0,-634.6 c 0,0 -0.1,-0.1 -0.2,-0.1 L 309,61 z" 8.75 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.76 + id="path34" 8.77 + inkscape:connector-curvature="0" /></g><g 8.78 + id="g36" /><g 8.79 + id="g38"><text 8.80 + transform="matrix(1,0,0,-1,148.1,677.6)" 8.81 + id="text40"><tspan 8.82 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.83 + x="0 7.1999998 10" 8.84 + y="0" 8.85 + sodipodi:role="line" 8.86 + id="tspan42">All</tspan></text> 8.87 + 8.88 +</g><g 8.89 + id="g44"><text 8.90 + transform="matrix(1,0,0,-1,90.6,666.4)" 8.91 + id="text46"><tspan 8.92 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.93 + x="0 6.6999998 11.1 15.6 20 22.799999 27.700001 32.200001 34.700001 38 43 46.900002 49.599998 52.900002 57.900002 62.400002 65.099998 67.900002 72.900002 77.900002 82.900002 88.5 91 96.599998 103.2 105.8 111.4 113.9 120 125" 8.94 + y="0" 8.95 + sodipodi:role="line" 8.96 + id="tspan48">Receive Instruction + PC + Thd</tspan></text> 8.97 + 8.98 +</g><g 8.99 + id="g50"><path 8.100 + d="m 82.4,576.6 454.5,0" 8.101 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.102 + id="path52" 8.103 + inkscape:connector-curvature="0" /></g><g 8.104 + id="g54"><path 8.105 + d="m 82.4,537 454.5,0" 8.106 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.107 + id="path56" 8.108 + inkscape:connector-curvature="0" /></g><g 8.109 + id="g58"><path 8.110 + d="m 82.4,497.3 454.5,0" 8.111 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.112 + id="path60" 8.113 + inkscape:connector-curvature="0" /></g><g 8.114 + id="g62"><path 8.115 + d="m 82.4,457.6 454.5,0" 8.116 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.117 + id="path64" 8.118 + inkscape:connector-curvature="0" /></g><g 8.119 + id="g66"><path 8.120 + d="m 82.4,417.9 454.5,0" 8.121 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.122 + id="path68" 8.123 + inkscape:connector-curvature="0" /></g><g 8.124 + id="g70"><path 8.125 + d="m 82.4,378.3 454.5,0" 8.126 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.127 + id="path72" 8.128 + inkscape:connector-curvature="0" /></g><g 8.129 + id="g74"><path 8.130 + d="m 82.4,338.5 454.5,0" 8.131 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.132 + id="path76" 8.133 + inkscape:connector-curvature="0" /></g><g 8.134 + id="g78"><path 8.135 + d="m 82.4,298.9 454.5,0" 8.136 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.137 + id="path80" 8.138 + inkscape:connector-curvature="0" /></g><g 8.139 + id="g82"><path 8.140 + d="m 82.4,259.1 454.5,0" 8.141 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.142 + id="path84" 8.143 + inkscape:connector-curvature="0" /></g><g 8.144 + id="g86"><path 8.145 + d="m 82.4,219.5 454.5,0" 8.146 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.147 + id="path88" 8.148 + inkscape:connector-curvature="0" /></g><g 8.149 + id="g90"><path 8.150 + d="m 82.4,179.7 454.5,0" 8.151 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.152 + id="path92" 8.153 + inkscape:connector-curvature="0" /></g><g 8.154 + id="g94"><path 8.155 + d="m 82.4,140.1 454.5,0" 8.156 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.157 + id="path96" 8.158 + inkscape:connector-curvature="0" /></g><g 8.159 + id="g98"><path 8.160 + d="m 82.4,100.4 454.5,0" 8.161 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.162 + id="path100" 8.163 + inkscape:connector-curvature="0" /></g><g 8.164 + id="g102"><path 8.165 + d="m 82.4,656 454.5,0" 8.166 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.167 + id="path104" 8.168 + inkscape:connector-curvature="0" /></g><g 8.169 + id="g106" /><g 8.170 + id="g108"><text 8.171 + transform="matrix(1,0,0,-1,353.5,677)" 8.172 + id="text110"><tspan 8.173 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.174 + x="0 7.3000002 10" 8.175 + y="0" 8.176 + sodipodi:role="line" 8.177 + id="tspan112">All</tspan></text> 8.178 + 8.179 +</g><g 8.180 + id="g114"><text 8.181 + transform="matrix(1,0,0,-1,318.5,665.8)" 8.182 + id="text116"><tspan 8.183 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.184 + x="0 7.3000002 11.7 16.1 21.1 26.1 30.6 33.299999 35.799999 40.799999 45.200001 49.700001 54.700001 57.200001 63.900002 67.699997 72.699997" 8.185 + y="0" 8.186 + sodipodi:role="line" 8.187 + id="tspan118">Decode: need Rs1?</tspan></text> 8.188 + 8.189 +</g><g 8.190 + id="g120" /><g 8.191 + id="g122"><text 8.192 + transform="matrix(1,0,0,-1,489.3,677.6)" 8.193 + id="text124"><tspan 8.194 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.195 + x="0 7.1999998 10" 8.196 + y="0" 8.197 + sodipodi:role="line" 8.198 + id="tspan126">All</tspan></text> 8.199 + 8.200 +</g><g 8.201 + id="g128"><text 8.202 + transform="matrix(1,0,0,-1,464.3,666.4)" 8.203 + id="text130"><tspan 8.204 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.205 + x="0 5.5 8.3000002 12.7 16.1 18.799999 21.299999 26.9 33.5 39.200001 41.700001 46.700001 49.200001 53.599998 58 60.799999" 8.206 + y="0" 8.207 + sodipodi:role="line" 8.208 + id="tspan132">Start PC+ 4 calc</tspan></text> 8.209 + 8.210 +</g><g 8.211 + id="g134"><path 8.212 + d="m 228.6,695.6 0,-39.5" 8.213 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.214 + id="path136" 8.215 + inkscape:connector-curvature="0" /></g><g 8.216 + id="g138"><path 8.217 + d="m 455.4,695.5 0,-39.5" 8.218 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.219 + id="path140" 8.220 + inkscape:connector-curvature="0" /></g><g 8.221 + id="g142" /><g 8.222 + id="g144"><text 8.223 + transform="matrix(1,0,0,-1,111.5,637.9)" 8.224 + id="text146"><tspan 8.225 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.226 + x="0 5 9.5 13.9 18.9 21.4 28.1 32" 8.227 + y="0" 8.228 + sodipodi:role="line" 8.229 + id="tspan148">need Rs1</tspan></text> 8.230 + 8.231 +</g><g 8.232 + id="g150"><text 8.233 + transform="matrix(1,0,0,-1,89,626.7)" 8.234 + id="text152"><tspan 8.235 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.236 + x="0 7.6999998 14.4 18.299999 20.799999 26.5 28.9 35.099998 40.099998 45.099998 47.599998 50.299999 55.299999 57.799999 64.5 68.900002 73.900002" 8.237 + y="0" 8.238 + sodipodi:role="line" 8.239 + id="tspan154">&Rs + Thd to RegF</tspan></text> 8.240 + 8.241 +</g><g 8.242 + id="g156"><path 8.243 + d="m 174.8,655.9 0,-39.5" 8.244 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.245 + id="path158" 8.246 + inkscape:connector-curvature="0" /></g><g 8.247 + id="g160"><path 8.248 + d="m 310.8,695.5 0,-39.5" 8.249 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.250 + id="path162" 8.251 + inkscape:connector-curvature="0" /></g><g 8.252 + id="g164"><path 8.253 + d="m 455.4,655.7 0,-39.4" 8.254 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.255 + id="path166" 8.256 + inkscape:connector-curvature="0" /></g><g 8.257 + id="g168" /><g 8.258 + id="g170"><text 8.259 + transform="matrix(1,0,0,-1,489.3,637.9)" 8.260 + id="text172"><tspan 8.261 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.262 + x="0 7.1999998 10" 8.263 + y="0" 8.264 + sodipodi:role="line" 8.265 + id="tspan174">All</tspan></text> 8.266 + 8.267 +</g><g 8.268 + id="g176"><text 8.269 + transform="matrix(1,0,0,-1,464.3,626.7)" 8.270 + id="text178"><tspan 8.271 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.272 + x="0 5.5 12.2 17.200001 19.700001 25.4 28.700001 33.700001 39.200001 45.900002 48.400002 54 56.5" 8.273 + y="0" 8.274 + sodipodi:role="line" 8.275 + id="tspan180">PC1 <- PC + 4</tspan></text> 8.276 + 8.277 +</g><g 8.278 + id="g182" /><g 8.279 + id="g184"><text 8.280 + transform="matrix(1,0,0,-1,137.9,598.2)" 8.281 + id="text186"><tspan 8.282 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.283 + x="0 3.9000001 6.4000001 8.3000002 10.8 14.7 21.9" 8.284 + y="0" 8.285 + sodipodi:role="line" 8.286 + id="tspan188">J | JAL</tspan></text> 8.287 + 8.288 +</g><g 8.289 + id="g190"><text 8.290 + transform="matrix(1,0,0,-1,90.4,587)" 8.291 + id="text192"><tspan 8.292 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.293 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002 62.400002 65.800003 70.699997 75.699997 78.5 83.5 88.5 91.800003 99.5 102.9 110.5" 8.294 + y="0" 8.295 + sodipodi:role="line" 8.296 + id="tspan194">NewPC <- PC1[31:30]&Imm</tspan></text> 8.297 + 8.298 +</g><g 8.299 + id="g196"><path 8.300 + d="m 299.5,616.1 0,-39.5" 8.301 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.302 + id="path198" 8.303 + inkscape:connector-curvature="0" /></g><g 8.304 + id="g200"><text 8.305 + transform="matrix(1,0,0,-1,218,598.2)" 8.306 + id="text202"><tspan 8.307 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.308 + x="0 7.3000002 12.3 15 17.5 22 26.9 29.700001 32.400002 35 38.299999 41 46 53.299999 55.799999 59.099998 64.099998 68 70.699997" 8.309 + y="0" 8.310 + sodipodi:role="line" 8.311 + id="tspan204">Not cntl flow Instr</tspan></text> 8.312 + 8.313 +</g><g 8.314 + id="g206" /><g 8.315 + id="g208"><text 8.316 + transform="matrix(1,0,0,-1,223,587)" 8.317 + id="text210"><tspan 8.318 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.319 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002" 8.320 + y="0" 8.321 + sodipodi:role="line" 8.322 + id="tspan212">NewPC <- PC1</tspan></text> 8.323 + 8.324 +</g><g 8.325 + id="g214"><text 8.326 + transform="matrix(1,0,0,-1,67.6,669.4)" 8.327 + id="text216"><tspan 8.328 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.329 + x="0" 8.330 + y="0" 8.331 + id="tspan218">0</tspan></text> 8.332 + 8.333 +</g><g 8.334 + id="g220"><text 8.335 + transform="matrix(1,0,0,-1,67.6,632.5)" 8.336 + id="text222"><tspan 8.337 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.338 + x="0" 8.339 + y="0" 8.340 + id="tspan224">1</tspan></text> 8.341 + 8.342 +</g><g 8.343 + id="g226"><text 8.344 + transform="matrix(1,0,0,-1,67.6,592.9)" 8.345 + id="text228"><tspan 8.346 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.347 + x="0" 8.348 + y="0" 8.349 + id="tspan230">2</tspan></text> 8.350 + 8.351 +</g><g 8.352 + id="g232"><text 8.353 + transform="matrix(1,0,0,-1,67.6,553.2)" 8.354 + id="text234"><tspan 8.355 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.356 + x="0" 8.357 + y="0" 8.358 + id="tspan236">3</tspan></text> 8.359 + 8.360 +</g><g 8.361 + id="g238"><text 8.362 + transform="matrix(1,0,0,-1,67.6,513.5)" 8.363 + id="text240"><tspan 8.364 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.365 + x="0" 8.366 + y="0" 8.367 + id="tspan242">4</tspan></text> 8.368 + 8.369 +</g><g 8.370 + id="g244"><text 8.371 + transform="matrix(1,0,0,-1,67.6,473.8)" 8.372 + id="text246"><tspan 8.373 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.374 + x="0" 8.375 + y="0" 8.376 + id="tspan248">5</tspan></text> 8.377 + 8.378 +</g><g 8.379 + id="g250"><text 8.380 + transform="matrix(1,0,0,-1,67.6,431.2)" 8.381 + id="text252"><tspan 8.382 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.383 + x="0" 8.384 + y="0" 8.385 + id="tspan254">6</tspan></text> 8.386 + 8.387 +</g><g 8.388 + id="g256"><text 8.389 + transform="matrix(1,0,0,-1,67.6,391.5)" 8.390 + id="text258"><tspan 8.391 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.392 + x="0" 8.393 + y="0" 8.394 + id="tspan260">7</tspan></text> 8.395 + 8.396 +</g><g 8.397 + id="g262"><text 8.398 + transform="matrix(1,0,0,-1,67.6,351.8)" 8.399 + id="text264"><tspan 8.400 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.401 + x="0" 8.402 + y="0" 8.403 + id="tspan266">8</tspan></text> 8.404 + 8.405 +</g><g 8.406 + id="g268"><text 8.407 + transform="matrix(1,0,0,-1,67.6,312)" 8.408 + id="text270"><tspan 8.409 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.410 + x="0" 8.411 + y="0" 8.412 + id="tspan272">9</tspan></text> 8.413 + 8.414 +</g><g 8.415 + id="g274"><text 8.416 + transform="matrix(1,0,0,-1,59.1,272.4)" 8.417 + id="text276"><tspan 8.418 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.419 + x="0 9" 8.420 + y="0" 8.421 + sodipodi:role="line" 8.422 + id="tspan278">10</tspan></text> 8.423 + 8.424 +</g><g 8.425 + id="g280"><text 8.426 + transform="matrix(1,0,0,-1,59.1,229.8)" 8.427 + id="text282"><tspan 8.428 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.429 + x="0 9" 8.430 + y="0" 8.431 + sodipodi:role="line" 8.432 + id="tspan284">11</tspan></text> 8.433 + 8.434 +</g><g 8.435 + id="g286"><text 8.436 + transform="matrix(1,0,0,-1,59.1,190.1)" 8.437 + id="text288"><tspan 8.438 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.439 + x="0 9" 8.440 + y="0" 8.441 + sodipodi:role="line" 8.442 + id="tspan290">12</tspan></text> 8.443 + 8.444 +</g><g 8.445 + id="g292"><text 8.446 + transform="matrix(1,0,0,-1,59.1,150.4)" 8.447 + id="text294"><tspan 8.448 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.449 + x="0 9" 8.450 + y="0" 8.451 + sodipodi:role="line" 8.452 + id="tspan296">13</tspan></text> 8.453 + 8.454 +</g><g 8.455 + id="g298"><text 8.456 + transform="matrix(1,0,0,-1,59.1,110.6)" 8.457 + id="text300"><tspan 8.458 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.459 + x="0 9" 8.460 + y="0" 8.461 + sodipodi:role="line" 8.462 + id="tspan302">14</tspan></text> 8.463 + 8.464 +</g><g 8.465 + id="g304"><text 8.466 + transform="matrix(1,0,0,-1,59.1,73.8)" 8.467 + id="text306"><tspan 8.468 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.469 + x="0 9" 8.470 + y="0" 8.471 + sodipodi:role="line" 8.472 + id="tspan308">15</tspan></text> 8.473 + 8.474 +</g><g 8.475 + id="g310"><path 8.476 + d="m 231.4,497 0,-39.5" 8.477 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.478 + id="path312" 8.479 + inkscape:connector-curvature="0" /></g><g 8.480 + id="g314" /><g 8.481 + id="g316"><text 8.482 + transform="matrix(1,0,0,-1,486.5,598.2)" 8.483 + id="text318"><tspan 8.484 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.485 + x="0 6.6999998 10 14.4" 8.486 + y="0" 8.487 + sodipodi:role="line" 8.488 + id="tspan320">Brch</tspan></text> 8.489 + 8.490 +</g><g 8.491 + id="g322"><text 8.492 + transform="matrix(1,0,0,-1,461.5,587)" 8.493 + id="text324"><tspan 8.494 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.495 + x="0 5.5999999 8.3000002 12.8 16.1 18.799999 21.299999 26.9 33.599998 38.599998 41.099998 46.700001 49.200001 52.5 60.200001" 8.496 + y="0" 8.497 + sodipodi:role="line" 8.498 + id="tspan326">Start PC1 + Imm</tspan></text> 8.499 + 8.500 +</g><g 8.501 + id="g328"><path 8.502 + d="m 455.4,616.1 0,-39.5" 8.503 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.504 + id="path330" 8.505 + inkscape:connector-curvature="0" /></g><g 8.506 + id="g332" /><g 8.507 + id="g334"><text 8.508 + transform="matrix(1,0,0,-1,354.1,643.6)" 8.509 + id="text336"><tspan 8.510 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.511 + x="0 7.3000002 10" 8.512 + y="0" 8.513 + sodipodi:role="line" 8.514 + id="tspan338">All</tspan></text> 8.515 + 8.516 +</g><g 8.517 + id="g340"><text 8.518 + transform="matrix(1,0,0,-1,314.1,632.4)" 8.519 + id="text342"><tspan 8.520 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.521 + x="0 5.5999999 10.6 13.3 16.6 19.4 21.9 26.299999 31.299999 36.299999 38.799999 44.400002 47.099998 52.099998 57.099998 59.599998 64.099998 69.099998 71.800003 76.300003 81.199997" 8.522 + y="0" 8.523 + sodipodi:role="line" 8.524 + id="tspan344">Shift and Sign extend</tspan></text> 8.525 + 8.526 +</g><g 8.527 + id="g346" /><g 8.528 + id="g348"><text 8.529 + transform="matrix(1,0,0,-1,339.1,621.2)" 8.530 + id="text350"><tspan 8.531 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.532 + x="0 6.6999998 10 14.4 19.5 21.9 25.299999 32.900002" 8.533 + y="0" 8.534 + sodipodi:role="line" 8.535 + id="tspan352">Brch Imm</tspan></text> 8.536 + 8.537 +</g><g 8.538 + id="g354" /><g 8.539 + id="g356"><text 8.540 + transform="matrix(1,0,0,-1,228.4,518.7)" 8.541 + id="text358"><tspan 8.542 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.543 + x="0 6.6999998 10 14.4 19.5 22 24.700001 29.799999 34.799999 39.299999 41.799999 48.5 55.700001" 8.544 + y="0" 8.545 + sodipodi:role="line" 8.546 + id="tspan360">Brch type COP</tspan></text> 8.547 + 8.548 +</g><g 8.549 + id="g362"><text 8.550 + transform="matrix(1,0,0,-1,220.9,507.5)" 8.551 + id="text364"><tspan 8.552 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.553 + x="0 7.6999998 14.4 17 22.6 25.1 31.200001 36.200001 41.200001 43.700001 46.400002 51.5 53.900002 60.599998 65.099998 70.099998" 8.554 + y="0" 8.555 + sodipodi:role="line" 8.556 + id="tspan366">&C + Thd to RegF</tspan></text> 8.557 + 8.558 +</g><g 8.559 + id="g368" /><g 8.560 + id="g370"><text 8.561 + transform="matrix(1,0,0,-1,315.5,518.7)" 8.562 + id="text372"><tspan 8.563 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.564 + x="0 5 9.3999996 13.9 18.9 21.4 28.1 31.9 36.900002 39.400002 41.400002 43.900002 49.400002" 8.565 + y="0" 8.566 + sodipodi:role="line" 8.567 + id="tspan374">need Rs2 | St</tspan></text> 8.568 + 8.569 +</g><g 8.570 + id="g376"><text 8.571 + transform="matrix(1,0,0,-1,303,507.5)" 8.572 + id="text378"><tspan 8.573 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.574 + x="0 7.6999998 14.4 17.200001 19.700001 25.299999 27.799999 33.900002 38.900002 43.900002 46.400002 49.200001 54.200001 56.700001 63.400002 67.800003 72.800003" 8.575 + y="0" 8.576 + sodipodi:role="line" 8.577 + id="tspan380">&Rt + Thd to RegF</tspan></text> 8.578 + 8.579 +</g><g 8.580 + id="g382"><text 8.581 + transform="matrix(1,0,0,-1,167,479)" 8.582 + id="text384"><tspan 8.583 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.584 + x="0 3.3 6.5999999 9.1000004 12.4 16.9 19.6 24.1 29 33.5 38.5 41 47.700001 51.599998" 8.585 + y="0" 8.586 + sodipodi:role="line" 8.587 + id="tspan386">If fetched Rs1</tspan></text> 8.588 + 8.589 +</g><g 8.590 + id="g388"><text 8.591 + transform="matrix(1,0,0,-1,167,467.8)" 8.592 + id="text390"><tspan 8.593 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.594 + x="0 7.1999998 12.2 19.5 22 27.6 30.9 33.400002 38.400002 45.099998" 8.595 + y="0" 8.596 + sodipodi:role="line" 8.597 + id="tspan392">OpA <- *Rs</tspan></text> 8.598 + 8.599 +</g><g 8.600 + id="g394"><path 8.601 + d="m 157.7,497 0,-39.5" 8.602 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.603 + id="path396" 8.604 + inkscape:connector-curvature="0" /></g><g 8.605 + id="g398" /><g 8.606 + id="g400"><text 8.607 + transform="matrix(1,0,0,-1,486.1,518.9)" 8.608 + id="text402"><tspan 8.609 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.610 + x="0 6.6999998 10 14.4" 8.611 + y="0" 8.612 + sodipodi:role="line" 8.613 + id="tspan404">Brch</tspan></text> 8.614 + 8.615 +</g><g 8.616 + id="g406"><text 8.617 + transform="matrix(1,0,0,-1,458.6,507.7)" 8.618 + id="text408"><tspan 8.619 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.620 + x="0 5.5 12.2 17.299999 22.9 26.200001 28.700001 34.200001 40.900002 45.900002 48.400002 54 56.5 59.900002 67.5" 8.621 + y="0" 8.622 + sodipodi:role="line" 8.623 + id="tspan410">PC2<- PC1 + Imm</tspan></text> 8.624 + 8.625 +</g><g 8.626 + id="g412"><path 8.627 + d="m 455.4,576.4 0,-39.5" 8.628 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.629 + id="path414" 8.630 + inkscape:connector-curvature="0" /></g><g 8.631 + id="g416" /><g 8.632 + id="g418"><text 8.633 + transform="matrix(1,0,0,-1,103,399.6)" 8.634 + id="text420"><tspan 8.635 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.636 + x="0 3.9000001 10.6 13.1 15 17.5 21.4 28.6 34.799999" 8.637 + y="0" 8.638 + sodipodi:role="line" 8.639 + id="tspan422">JR | JALR</tspan></text> 8.640 + 8.641 +</g><g 8.642 + id="g424"><text 8.643 + transform="matrix(1,0,0,-1,90.5,388.4)" 8.644 + id="text426"><tspan 8.645 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.646 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 52.400002 57.400002" 8.647 + y="0" 8.648 + sodipodi:role="line" 8.649 + id="tspan428">NewPC <- OpA</tspan></text> 8.650 + 8.651 +</g><g 8.652 + id="g430"><text 8.653 + transform="matrix(1,0,0,-1,152.9,360.5)" 8.654 + id="text432"><tspan 8.655 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.656 + x="0 6.0999999 8.8999996 12.8 15.5 18.799999 21.299999 27.4 32.400002 35 36.900002 39.400002 44.900002 47.700001 50.200001 52.099998 54.599998 61.900002 68 75.300003 78.599998 86.300003" 8.657 + y="0" 8.658 + sodipodi:role="line" 8.659 + id="tspan434">Elsif Ld | St | ALUImm</tspan></text> 8.660 + 8.661 +</g><g 8.662 + id="g436" /><g 8.663 + id="g438"><text 8.664 + transform="matrix(1,0,0,-1,155.4,349.3)" 8.665 + id="text440"><tspan 8.666 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.667 + x="0 7.3000002 12.2 18.9 21.4 27.1 30.4 32.900002 36.700001 39.5 44.5 49.5 52 56.400002 61.400002 64.199997 66.699997 70 77.699997" 8.668 + y="0" 8.669 + sodipodi:role="line" 8.670 + id="tspan442">OpB <- sign ext Imm</tspan></text> 8.671 + 8.672 +</g><g 8.673 + id="g444" /><g 8.674 + id="g446"><text 8.675 + transform="matrix(1,0,0,-1,467.1,365.5)" 8.676 + id="text448"><tspan 8.677 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.678 + x="0 6.6999998 10 14.4 19.4 24.4 31.1 35.599998 40.599998 45.5 47.5 50 53.900002 60.599998 63.099998" 8.679 + y="0" 8.680 + sodipodi:role="line" 8.681 + id="tspan450">Brch1Reg | JR |</tspan></text> 8.682 + 8.683 +</g><g 8.684 + id="g452"><text 8.685 + transform="matrix(1,0,0,-1,464.6,354.3)" 8.686 + id="text454"><tspan 8.687 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.688 + x="0 6.6999998 10 14.4 19.4 26.1 33.400002 38.900002 41.400002 43.400002 45.900002 49.700001 57 63.099998" 8.689 + y="0" 8.690 + sodipodi:role="line" 8.691 + id="tspan456">BrchCOP | JALR</tspan></text> 8.692 + 8.693 +</g><g 8.694 + id="g458" /><g 8.695 + id="g460"><text 8.696 + transform="matrix(1,0,0,-1,469.6,343.1)" 8.697 + id="text462"><tspan 8.698 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.699 + x="0 3.3 8.3000002 12.2 14.9 18.200001 25.5 30.5 35.5 39.900002 42.400002 46.299999 50.700001 55.700001" 8.700 + y="0" 8.701 + sodipodi:role="line" 8.702 + id="tspan464">InstrDone sent</tspan></text> 8.703 + 8.704 +</g><g 8.705 + id="g466"><text 8.706 + transform="matrix(1,0,0,-1,90.5,359.9)" 8.707 + id="text468"><tspan 8.708 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.709 + x="0 3.3 6.5999999 9.1000004 12.5 16.9 19.6 24.1 29.1 33.5 38.5 41 47.700001 51.599998" 8.710 + y="0" 8.711 + sodipodi:role="line" 8.712 + id="tspan470">If fetched Rs2</tspan></text> 8.713 + 8.714 +</g><g 8.715 + id="g472" /><g 8.716 + id="g474"><text 8.717 + transform="matrix(1,0,0,-1,93,348.7)" 8.718 + id="text476"><tspan 8.719 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.720 + x="0 7.3000002 12.3 18.9 21.4 27.1 30.4 32.900002 37.900002 44.599998" 8.721 + y="0" 8.722 + sodipodi:role="line" 8.723 + id="tspan478">OpB <- *Rt</tspan></text> 8.724 + 8.725 +</g><g 8.726 + id="g480" /><g 8.727 + id="g482"><text 8.728 + transform="matrix(1,0,0,-1,269.3,359.9)" 8.729 + id="text484"><tspan 8.730 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.731 + x="0 5.5999999" 8.732 + y="0" 8.733 + sodipodi:role="line" 8.734 + id="tspan486">St</tspan></text> 8.735 + 8.736 +</g><g 8.737 + id="g488"><text 8.738 + transform="matrix(1,0,0,-1,249.3,348.7)" 8.739 + id="text490"><tspan 8.740 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.741 + x="0 7.3000002 12.3 17.799999 20.6 23.1 28.700001 32 34.5 39.5 46.200001" 8.742 + y="0" 8.743 + sodipodi:role="line" 8.744 + id="tspan492">OpSt <- *Rt</tspan></text> 8.745 + 8.746 +</g><g 8.747 + id="g494"><path 8.748 + d="m 461,377.7 0,-39.3" 8.749 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.750 + id="path496" 8.751 + inkscape:connector-curvature="0" /></g><g 8.752 + id="g498"><path 8.753 + d="m 302.3,377.7 0,-39.4" 8.754 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.755 + id="path500" 8.756 + inkscape:connector-curvature="0" /></g><g 8.757 + id="g502" /><g 8.758 + id="g504"><text 8.759 + transform="matrix(1,0,0,-1,291.3,397.6)" 8.760 + id="text506"><tspan 8.761 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.762 + x="0 5.5999999 10.6 13.3 16.6" 8.763 + y="0" 8.764 + sodipodi:role="line" 8.765 + id="tspan508">Shift</tspan></text> 8.766 + 8.767 +</g><g 8.768 + id="g510"><text 8.769 + transform="matrix(1,0,0,-1,268.8,386.4)" 8.770 + id="text512"><tspan 8.771 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.772 + x="0 7.3000002 12.3 19.5 22 27.6 30.9 33.5 39 44 47.299999 55" 8.773 + y="0" 8.774 + sodipodi:role="line" 8.775 + id="tspan514">OpA <- ShImm</tspan></text> 8.776 + 8.777 +</g><g 8.778 + id="g516" /><g 8.779 + id="g518"><text 8.780 + transform="matrix(1,0,0,-1,115.6,320.1)" 8.781 + id="text520"><tspan 8.782 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.783 + x="0 7.3000002 10 12.8 15.2 19.700001 24.700001 29.1 33.599998 38.5 41.299999 43.799999 47.700001 52.700001 55.400002 58.799999 61.5" 8.784 + y="0" 8.785 + sodipodi:role="line" 8.786 + id="tspan522">All except shift </tspan></text> 8.787 + 8.788 +</g><g 8.789 + id="g524"><text 8.790 + transform="matrix(1,0,0,-1,90.6,308.9)" 8.791 + id="text526"><tspan 8.792 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.793 + x="0 6.0999999 11.1 17.799999 22.200001 26.1 28.6 34.200001 37.599998 40 47.299999 52.299999 59.599998 62 69.300003 75.400002 82.699997 89.900002 94.900002 97.400002 104.7 109.7" 8.794 + y="0" 8.795 + sodipodi:role="line" 8.796 + id="tspan528">ExRes <- OpA ALUOp OpB</tspan></text> 8.797 + 8.798 +</g><g 8.799 + id="g530" /><g 8.800 + id="g532"><text 8.801 + transform="matrix(1,0,0,-1,262.8,320.1)" 8.802 + id="text534"><tspan 8.803 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.804 + x="0 5.5999999 10.6 13.3 16.6" 8.805 + y="0" 8.806 + sodipodi:role="line" 8.807 + id="tspan536">Shift</tspan></text> 8.808 + 8.809 +</g><g 8.810 + id="g538"><text 8.811 + transform="matrix(1,0,0,-1,215.3,308.9)" 8.812 + id="text540"><tspan 8.813 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.814 + x="0 6.0999999 11.1 17.799999 22.200001 26.1 28.6 34.200001 37.599998 40 47.299999 52.299999 59 61.5 65.400002 70.400002 73.099998 76.400002 79.199997 83.599998 88.599998 91.099998 98.400002 103.4" 8.815 + y="0" 8.816 + sodipodi:role="line" 8.817 + id="tspan542">ExRes <- OpB shifted OpA</tspan></text> 8.818 + 8.819 +</g><g 8.820 + id="g544" /><g 8.821 + id="g546"><text 8.822 + transform="matrix(1,0,0,-1,100.3,280.3)" 8.823 + id="text548"><tspan 8.824 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.825 + x="0 7.1999998 10" 8.826 + y="0" 8.827 + sodipodi:role="line" 8.828 + id="tspan550">All</tspan></text> 8.829 + 8.830 +</g><g 8.831 + id="g552"><text 8.832 + transform="matrix(1,0,0,-1,87.8,269.1)" 8.833 + id="text554"><tspan 8.834 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.835 + x="0 4.4000001 9.3999996 14.4 17.200001 19.9 24.9 29.9" 8.836 + y="0" 8.837 + sodipodi:role="line" 8.838 + id="tspan556">continue</tspan></text> 8.839 + 8.840 +</g><g 8.841 + id="g558" /><g 8.842 + id="g560"><text 8.843 + transform="matrix(1,0,0,-1,100.3,240.6)" 8.844 + id="text562"><tspan 8.845 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.846 + x="0 7.1999998 10" 8.847 + y="0" 8.848 + sodipodi:role="line" 8.849 + id="tspan564">All</tspan></text> 8.850 + 8.851 +</g><g 8.852 + id="g566"><text 8.853 + transform="matrix(1,0,0,-1,87.8,229.4)" 8.854 + id="text568"><tspan 8.855 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.856 + x="0 4.4000001 9.3999996 14.4 17.200001 19.9 24.9 29.9" 8.857 + y="0" 8.858 + sodipodi:role="line" 8.859 + id="tspan570">continue</tspan></text> 8.860 + 8.861 +</g><g 8.862 + id="g572" /><g 8.863 + id="g574"><text 8.864 + transform="matrix(1,0,0,-1,100.3,203.7)" 8.865 + id="text576"><tspan 8.866 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.867 + x="0 7.1999998 10" 8.868 + y="0" 8.869 + sodipodi:role="line" 8.870 + id="tspan578">All</tspan></text> 8.871 + 8.872 +</g><g 8.873 + id="g580"><text 8.874 + transform="matrix(1,0,0,-1,87.8,192.5)" 8.875 + id="text582"><tspan 8.876 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.877 + x="0 4.4000001 9.3999996 14.4 17.200001 19.9 24.9 29.9" 8.878 + y="0" 8.879 + sodipodi:role="line" 8.880 + id="tspan584">continue</tspan></text> 8.881 + 8.882 +</g><g 8.883 + id="g586"><text 8.884 + transform="matrix(1,0,0,-1,90.6,161.2)" 8.885 + id="text588"><tspan 8.886 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.887 + x="0 7.3000002 10 12.8 15.2 19.700001 24.700001 29.1 33.599998 38.5 41.299999 43.799999 51 53.799999 58.799999 61.599998 66.599998 71 73.5 77.900002 82.900002 87.900002 90.400002 99.300003 104.3 107.1 109.8 112.6 117.5 120.3" 8.888 + y="0" 8.889 + sodipodi:role="line" 8.890 + id="tspan590">All except Divide and Multiply</tspan></text> 8.891 + 8.892 +</g><g 8.893 + id="g592" /><g 8.894 + id="g594"><text 8.895 + transform="matrix(1,0,0,-1,113.1,150)" 8.896 + id="text596"><tspan 8.897 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.898 + x="0 3.3 6.0999999 11.1 13.8 17.700001 22.700001 25.200001 32.400002 38.599998 45.799999 48.299999 53.299999 58.299999 62.799999 66.099998 70.5 73.199997 76 81" 8.899 + y="0" 8.900 + sodipodi:role="line" 8.901 + id="tspan598">finish ALU operation</tspan></text> 8.902 + 8.903 +</g><g 8.904 + id="g600" /><g 8.905 + id="g602"><text 8.906 + transform="matrix(1,0,0,-1,334.9,166.8)" 8.907 + id="text604"><tspan 8.908 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.909 + x="0 7.3000002 10 15 17.799999 22.799999 27.200001 29.700001 34.099998 39.099998 44.099998 46.599998 55.5 60.5 63.299999 66 68.800003 73.800003 76.5" 8.910 + y="0" 8.911 + sodipodi:role="line" 8.912 + id="tspan606">Divide and Multiply</tspan></text> 8.913 + 8.914 +</g><g 8.915 + id="g608" /><g 8.916 + id="g610"><text 8.917 + transform="matrix(1,0,0,-1,242.4,155.6)" 8.918 + id="text612"><tspan 8.919 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.920 + x="0 3.3 7.8000002 12.2 17.200001 21.6 26.1 28.799999 31.299999 36.299999 41.299999 44.099998 46.799999 49.599998 52.099998 57.099998 62.099998 67.099998 71.5 74 76.5 79.300003 84.300003 88.699997 93.699997 96.199997 103.5 105.9 109.3 113.7 117.6 122.6 125.3 128.10001 131.89999 134.5 139.5 145 148.3 153.3 161 163.5 170.8 173.3 175.8 180.8 184.60001 189.10001 191.60001 197.7 202.7 208.3 211 218.3 223.3 226 228.8 230.60001 234.39999 237 243.7 248.10001 253.10001 258.70001 261.10001 266.10001 271.20001 274.5 277.20001 279.70001" 8.921 + y="0" 8.922 + sodipodi:role="line" 8.923 + id="tspan614">reapeat until done, then Q results. From Q, use LdStUnit's RegF port, </tspan></text> 8.924 + 8.925 +</g><g 8.926 + id="g616"><text 8.927 + transform="matrix(1,0,0,-1,232.4,144.4)" 8.928 + id="text618"><tspan 8.929 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.930 + x="0 7.3000002 12.3 16.700001 21.700001 24.200001 27.5 30.799999 35.299999 39.700001 42.200001 47.200001 52.799999 57.200001 62.200001 67.199997 69.699997 77.5 83.599998 88.599998 91.099998 93 95.5 103.3 110.5 113.3 115.8 121.4 123.9 130 135 141.7 146.10001 150 152.5 158.10001 160.60001 166.8 171.8 176.8 179.3 184.3 191.5 195.89999 200.39999 205.39999 207.89999 210.60001 217.89999 222.89999 225.39999 232.60001 235.89999 238.7 241.39999 245.89999 249.8 252.3 254.8 260.29999 263.10001 267.5 270.29999 273 275.5 278.29999 281.60001 284.10001 287.39999 292.39999 295.10001 297.89999" 8.931 + y="0" 8.932 + sodipodi:role="line" 8.933 + id="tspan620">when free. Send &Lo | &Hi + ExRes + Thd. Need two writes. Stall if full.</tspan></text> 8.934 + 8.935 +</g><g 8.936 + id="g622"><path 8.937 + d="m 129.4,258.6 0,-39.5" 8.938 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.939 + id="path624" 8.940 + inkscape:connector-curvature="0" /></g><g 8.941 + id="g626"><path 8.942 + d="m 129.4,219 0,-39.5" 8.943 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.944 + id="path628" 8.945 + inkscape:connector-curvature="0" /></g><g 8.946 + id="g630"><path 8.947 + d="m 225.8,179.3 0,-39.6" 8.948 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.949 + id="path632" 8.950 + inkscape:connector-curvature="0" /></g><g 8.951 + id="g634"><text 8.952 + transform="matrix(1,0,0,-1,89.1,127.2)" 8.953 + id="text636"><tspan 8.954 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.955 + x="0 7.1999998 13.4 20.6 23.1 26.4 31.4 36.400002 41.400002 43.900002 47.200001 54.900002 62.599998 65.900002 68.400002 70.400002 72.900002 78.400002 83.400002 86.199997 89.5" 8.956 + y="0" 8.957 + sodipodi:role="line" 8.958 + id="tspan638">ALU (non Imm) | Shift</tspan></text> 8.959 + 8.960 +</g><g 8.961 + id="g640" /><g 8.962 + id="g642"><text 8.963 + transform="matrix(1,0,0,-1,91.6,116)" 8.964 + id="text644"><tspan 8.965 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.966 + x="0 6.0999999 11.1 17.799999 22.200001 26.1 28.6 34.200001 36.700001 44.5 51.200001 56.200001 58.700001 64.300003 66.800003 72.900002 77.900002 82.900002" 8.967 + y="0" 8.968 + sodipodi:role="line" 8.969 + id="tspan646">ExRes + &Rd + Thd </tspan></text> 8.970 + 8.971 +</g><g 8.972 + id="g648" /><g 8.973 + id="g650"><text 8.974 + transform="matrix(1,0,0,-1,101.6,104.8)" 8.975 + id="text652"><tspan 8.976 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.977 + x="0 2.7 7.6999998 10.3 16.9 21.4 26.4 31.9 34.400002 37.799999 45 48.299999 51 53.799999 58.200001" 8.978 + y="0" 8.979 + sodipodi:role="line" 8.980 + id="tspan654">to RegF (write)</tspan></text> 8.981 + 8.982 +</g><g 8.983 + id="g656" /><g 8.984 + id="g658"><text 8.985 + transform="matrix(1,0,0,-1,334.5,127.2)" 8.986 + id="text660"><tspan 8.987 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.988 + x="0 6.0999999 11.1 13.6 15.6 18 23.6" 8.989 + y="0" 8.990 + sodipodi:role="line" 8.991 + id="tspan662">Ld | St</tspan></text> 8.992 + 8.993 +</g><g 8.994 + id="g664"><text 8.995 + transform="matrix(1,0,0,-1,292,116)" 8.996 + id="text666"><tspan 8.997 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.998 + x="0 6.0999999 11.1 17.799999 22.200001 26.1 31.1 36.700001 39.299999 47 53.700001 56.400002 58.900002 60.900002 63.400002 70.599998 75.599998 81.199997 83.900002 86.400002 92.099998 94.599998 100.7 105.7" 8.999 + y="0" 8.1000 + sodipodi:role="line" 8.1001 + id="tspan668">ExRes + &Rt | OpSt + Thd</tspan></text> 8.1002 + 8.1003 +</g><g 8.1004 + id="g670"><text 8.1005 + transform="matrix(1,0,0,-1,292,104.8)" 8.1006 + id="text672"><tspan 8.1007 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1008 + x="0 5.5999999 8.1000004 13.7 16.4 19.200001 23.6 28.1 31.4 38.599998 41.099998 46.700001 49.200001 56.5 61.5 64 66.800003 71.699997 74.199997 80.400002 85.400002 90.900002 93.699997 100.9 105.9 108.7" 8.1009 + y="0" 8.1010 + sodipodi:role="line" 8.1011 + id="tspan674">+ SliceID + Op to LdStUnit</tspan></text> 8.1012 + 8.1013 +</g><g 8.1014 + id="g676"><path 8.1015 + d="m 245.6,377.7 0,-39.4" 8.1016 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1017 + id="path678" 8.1018 + inkscape:connector-curvature="0" /></g><g 8.1019 + id="g680" /><g 8.1020 + id="g682"><text 8.1021 + transform="matrix(1,0,0,-1,461.1,127.2)" 8.1022 + id="text684"><tspan 8.1023 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1024 + x="0 6.6999998 10 14.4 19.4 24.4 31.1 35.599998" 8.1025 + y="0" 8.1026 + sodipodi:role="line" 8.1027 + id="tspan686">Brch2Reg</tspan></text> 8.1028 + 8.1029 +</g><g 8.1030 + id="g688"><text 8.1031 + transform="matrix(1,0,0,-1,433.6,116)" 8.1032 + id="text690"><tspan 8.1033 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1034 + x="0 7.1999998 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002 62.299999 64.900002 67.599998 70.900002 73.400002 76.699997 81.199997 83.900002 87.800003 92.199997" 8.1035 + y="0" 8.1036 + sodipodi:role="line" 8.1037 + id="tspan692">NewPC <- PC1 if false </tspan></text> 8.1038 + 8.1039 +</g><g 8.1040 + id="g694"><text 8.1041 + transform="matrix(1,0,0,-1,433.6,104.8)" 8.1042 + id="text696"><tspan 8.1043 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1044 + x="0 7.1999998 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002 62.299999 64.900002 67.599998 70.900002 73.400002 76.199997 79.5 84.5" 8.1045 + y="0" 8.1046 + sodipodi:role="line" 8.1047 + id="tspan698">NewPC <- PC2 if true</tspan></text> 8.1048 + 8.1049 +</g><g 8.1050 + id="g700" /><g 8.1051 + id="g702"><text 8.1052 + transform="matrix(1,0,0,-1,209.1,79)" 8.1053 + id="text704"><tspan 8.1054 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1055 + x="0 7.1999998 10 15 19.4 22.700001 25.200001 28.6 33.5 37.400002 40.200001 43.5" 8.1056 + y="0" 8.1057 + sodipodi:role="line" 8.1058 + id="tspan706">Other Instrs</tspan></text> 8.1059 + 8.1060 +</g><g 8.1061 + id="g708"><text 8.1062 + transform="matrix(1,0,0,-1,204.1,67.8)" 8.1063 + id="text710"><tspan 8.1064 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1065 + x="0 3.3 8.3000002 12.2 14.9 18.200001 25.5 30.5 35.5 39.900002 42.400002 46.299999 50.700001 55.799999" 8.1066 + y="0" 8.1067 + sodipodi:role="line" 8.1068 + id="tspan712">InstrDone sent</tspan></text> 8.1069 + 8.1070 +</g><g 8.1071 + id="g714"><path 8.1072 + d="m 268.2,99.8 0,-39.4" 8.1073 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1074 + id="path716" 8.1075 + inkscape:connector-curvature="0" /></g><g 8.1076 + id="g718" /><g 8.1077 + id="g720"><text 8.1078 + transform="matrix(1,0,0,-1,263.9,676.9)" 8.1079 + id="text722"><tspan 8.1080 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1081 + x="0 7.3000002 10" 8.1082 + y="0" 8.1083 + sodipodi:role="line" 8.1084 + id="tspan724">All</tspan></text> 8.1085 + 8.1086 +</g><g 8.1087 + id="g726"><text 8.1088 + transform="matrix(1,0,0,-1,236.4,665.7)" 8.1089 + id="text728"><tspan 8.1090 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1091 + x="0 7.3000002 11.7 16.1 18.9 23.9 28.299999 31.1 33.599998 40.299999 45.299999 50.299999 55.299999 58 62.5" 8.1092 + y="0" 8.1093 + sodipodi:role="line" 8.1094 + id="tspan730">Decide: Bubble?</tspan></text> 8.1095 + 8.1096 +</g><g 8.1097 + id="g732"><path 8.1098 + d="m 455.4,536.6 0,-39.5" 8.1099 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1100 + id="path734" 8.1101 + inkscape:connector-curvature="0" /></g><g 8.1102 + id="g736" /><g 8.1103 + id="g738"><text 8.1104 + transform="matrix(1,0,0,-1,486.5,558.5)" 8.1105 + id="text740"><tspan 8.1106 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1107 + x="0 6.6999998 10 14.4" 8.1108 + y="0" 8.1109 + sodipodi:role="line" 8.1110 + id="tspan742">Brch</tspan></text> 8.1111 + 8.1112 +</g><g 8.1113 + id="g744"><text 8.1114 + transform="matrix(1,0,0,-1,461.5,547.3)" 8.1115 + id="text746"><tspan 8.1116 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1117 + x="0 4.5 9.3999996 14.4 17.200001 19.700001 22.200001 27.799999 34.400002 39.400002 41.900002 47.599998 50.099998 53.400002 61.099998" 8.1118 + y="0" 8.1119 + sodipodi:role="line" 8.1120 + id="tspan748">cont. PC1 + Imm</tspan></text> 8.1121 + 8.1122 +</g><g 8.1123 + id="g750"><path 8.1124 + d="m 401.5,695.5 0,-39.5" 8.1125 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1126 + id="path752" 8.1127 + inkscape:connector-curvature="0" /></g><g 8.1128 + id="g754"><path 8.1129 + d="m 395.9,377.7 0,-39.4" 8.1130 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1131 + id="path756" 8.1132 + inkscape:connector-curvature="0" /></g><g 8.1133 + id="g758" /><g 8.1134 + id="g760"><text 8.1135 + transform="matrix(1,0,0,-1,112.6,524.4)" 8.1136 + id="text762"><tspan 8.1137 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1138 + x="0 3.9000001 11.1 17.299999 19.700001 21.700001 24.200001 30.9 35.900002 43.099998 49.200001 51.799999 53.700001 56.200001 60.099998 67.300003 73.400002" 8.1139 + y="0" 8.1140 + sodipodi:role="line" 8.1141 + id="tspan764">JAL | B*AL | JALR</tspan></text> 8.1142 + 8.1143 +</g><g 8.1144 + id="g766"><text 8.1145 + transform="matrix(1,0,0,-1,87.6,513.2)" 8.1146 + id="text768"><tspan 8.1147 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1148 + x="0 5 10 12.5 14.4 16.9 24.700001 31.4 36.400002 38.900002 44.5 47 52.5 59.200001 64.300003 66.699997 72.400002 74.900002 81 86 91 93.5 96.199997 101.2 103.7 110.4 114.9 119.9" 8.1149 + y="0" 8.1150 + sodipodi:role="line" 8.1151 + id="tspan770">31 | &Rd + PC1 + Thd to RegF</tspan></text> 8.1152 + 8.1153 +</g><g 8.1154 + id="g772" /><g 8.1155 + id="g774"><text 8.1156 + transform="matrix(1,0,0,-1,117.6,502)" 8.1157 + id="text776"><tspan 8.1158 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1159 + x="0 3.3 10.6 13.8 16.6 19.4 23.799999 26.299999 31.299999 36.299999 40.700001 44 48.5 51.200001 54 59 64" 8.1160 + y="0" 8.1161 + sodipodi:role="line" 8.1162 + id="tspan778">(write operation)</tspan></text> 8.1163 + 8.1164 +</g><g 8.1165 + id="g780" /><g 8.1166 + id="g782"><text 8.1167 + transform="matrix(1,0,0,-1,203.4,127.2)" 8.1168 + id="text784"><tspan 8.1169 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1170 + x="0 7.1999998 13.4 20.6 23.9 31.6 39.299999 41.799999 43.700001 46.200001 52.400002 59.599998" 8.1171 + y="0" 8.1172 + sodipodi:role="line" 8.1173 + id="tspan786">ALUImm | LUI</tspan></text> 8.1174 + 8.1175 +</g><g 8.1176 + id="g788" /><g 8.1177 + id="g790"><text 8.1178 + transform="matrix(1,0,0,-1,190.9,116)" 8.1179 + id="text792"><tspan 8.1180 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1181 + x="0 6.0999999 11.1 17.799999 22.200001 26.1 28.6 34.200001 36.700001 44.5 51.200001 53.900002 56.400002 62 64.599998 70.699997 75.699997 80.699997" 8.1182 + y="0" 8.1183 + sodipodi:role="line" 8.1184 + id="tspan794">ExRes + &Rt + Thd </tspan></text> 8.1185 + 8.1186 +</g><g 8.1187 + id="g796" /><g 8.1188 + id="g798"><text 8.1189 + transform="matrix(1,0,0,-1,200.9,104.8)" 8.1190 + id="text800"><tspan 8.1191 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1192 + x="0 2.7 7.6999998 10.3 16.9 21.4 26.4 31.9 34.400002 37.700001 45 48.299999 51 53.799999 58.200001" 8.1193 + y="0" 8.1194 + sodipodi:role="line" 8.1195 + id="tspan802">to RegF (write)</tspan></text> 8.1196 + 8.1197 +</g><g 8.1198 + id="g804" /><g 8.1199 + id="g806"><text 8.1200 + transform="matrix(1,0,0,-1,404.5,359.7)" 8.1201 + id="text808"><tspan 8.1202 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1203 + x="0 6.0999999 13.4 16.700001 19.200001 21.1 23.6 29.700001 34.700001 37.200001 39.200001 41.700001 47.200001" 8.1204 + y="0" 8.1205 + sodipodi:role="line" 8.1206 + id="tspan810">LUI | Ld | St</tspan></text> 8.1207 + 8.1208 +</g><g 8.1209 + id="g812"><text 8.1210 + transform="matrix(1,0,0,-1,399.5,348.5)" 8.1211 + id="text814"><tspan 8.1212 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1213 + x="0 7.1999998 13.4 20.6 27.9 32.900002 35.400002 41 44.299999 46.799999 51.200001 56.200001" 8.1214 + y="0" 8.1215 + sodipodi:role="line" 8.1216 + id="tspan816">ALUOp <- add</tspan></text> 8.1217 + 8.1218 +</g><g 8.1219 + id="g818" /><g 8.1220 + id="g820"><text 8.1221 + transform="matrix(1,0,0,-1,115.6,439.1)" 8.1222 + id="text822"><tspan 8.1223 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1224 + x="0 6.0999999 13.4" 8.1225 + y="0" 8.1226 + sodipodi:role="line" 8.1227 + id="tspan824">LUI</tspan></text> 8.1228 + 8.1229 +</g><g 8.1230 + id="g826"><text 8.1231 + transform="matrix(1,0,0,-1,90.6,427.9)" 8.1232 + id="text828"><tspan 8.1233 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1234 + x="0 7.3000002 12.2 19.5 22 27.6 30.9 33.400002 36.700001 44.400002 52.099998 54.599998 62.400002 64.900002" 8.1235 + y="0" 8.1236 + sodipodi:role="line" 8.1237 + id="tspan830">OpA <- Imm & 0</tspan></text> 8.1238 + 8.1239 +</g><g 8.1240 + id="g832" /><g 8.1241 + id="g834"><text 8.1242 + transform="matrix(1,0,0,-1,108,478.9)" 8.1243 + id="text836"><tspan 8.1244 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1245 + x="0 3.9000001 6.4000001 8.3000002 10.8 14.7 21.9" 8.1246 + y="0" 8.1247 + sodipodi:role="line" 8.1248 + id="tspan838">J | JAL</tspan></text> 8.1249 + 8.1250 +</g><g 8.1251 + id="g840"><text 8.1252 + transform="matrix(1,0,0,-1,90.5,467.7)" 8.1253 + id="text842"><tspan 8.1254 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1255 + x="0 3.3 8.3000002 12.2 14.9 18.299999 25.5 30.5 35.5 40 42.400002 46.299999 50.799999 55.799999" 8.1256 + y="0" 8.1257 + sodipodi:role="line" 8.1258 + id="tspan844">InstrDone sent</tspan></text> 8.1259 + 8.1260 +</g><g 8.1261 + id="g846"><path 8.1262 + d="m 163.4,457.4 0,-39.5" 8.1263 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1264 + id="path848" 8.1265 + inkscape:connector-curvature="0" /></g><g 8.1266 + id="g850"><text 8.1267 + transform="matrix(1,0,0,-1,345.6,478.9)" 8.1268 + id="text852"><tspan 8.1269 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1270 + x="0 7.3000002 12.2 15 19.4 22.200001 24.700001 29.1 34.099998 38.599998 43 48 50.5 53.299999 58.299999 60.700001 64.099998 66.800003 71.800003 76.300003 79 81.5 86.5 90.900002 94.800003 97.599998 102.6 107.6 110.1 112.8 116.1 118.6 123.1 128.10001 133.10001 138.10001 143.10001 148.10001 150.60001 154.39999 157.2 161.60001 166.60001 171.10001" 8.1271 + y="0" 8.1272 + sodipodi:role="line" 8.1273 + id="tspan854">Note: check in final design if enough stages</tspan></text> 8.1274 + 8.1275 +</g><g 8.1276 + id="g856" /><g 8.1277 + id="g858"><text 8.1278 + transform="matrix(1,0,0,-1,360.6,467.7)" 8.1279 + id="text860"><tspan 8.1280 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1281 + x="0 2.7 7.6999998 10.3 16.4 21.4 26.4 33.599998 36.099998 39.400002 44.400002 47.799999 50.299999 54.099998 61.400002 67.5 70 77.199997 80.599998 83.300003 86.099998 90.5 93 95.699997 100.7 103.2 107.7 112.7 120.4 125.4 128.10001 132.60001 135.3" 8.1282 + y="0" 8.1283 + sodipodi:role="line" 8.1284 + id="tspan862">in ThdU for JAL write to complete</tspan></text> 8.1285 + 8.1286 +</g><g 8.1287 + id="g864"><text 8.1288 + transform="matrix(1,0,0,-1,385.4,518.5)" 8.1289 + id="text866"><tspan 8.1290 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1291 + x="0 6.0999999 13.4 16.700001 19.200001 21.1 23.6 30.299999 33.599998 38.099998 43.099998 48.099998 54.700001 59.200001" 8.1292 + y="0" 8.1293 + sodipodi:role="line" 8.1294 + id="tspan868">LUI | Brch1Reg</tspan></text> 8.1295 + 8.1296 +</g><g 8.1297 + id="g870" /><g 8.1298 + id="g872"><text 8.1299 + transform="matrix(1,0,0,-1,400.4,507.3)" 8.1300 + id="text874"><tspan 8.1301 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1302 + x="0 7.6999998 14.4 17.200001 19.700001 25.299999 27.799999" 8.1303 + y="0" 8.1304 + sodipodi:role="line" 8.1305 + id="tspan876">&Rt = 0</tspan></text> 8.1306 + 8.1307 +</g><g 8.1308 + id="g878"><path 8.1309 + d="m 333.5,417.6 0,-39.5" 8.1310 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1311 + id="path880" 8.1312 + inkscape:connector-curvature="0" /></g><g 8.1313 + id="g882"><path 8.1314 + d="m 421.4,417.5 0,-39.5" 8.1315 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1316 + id="path884" 8.1317 + inkscape:connector-curvature="0" /></g><g 8.1318 + id="g886" /><g 8.1319 + id="g888"><text 8.1320 + transform="matrix(1,0,0,-1,331.1,359.6)" 8.1321 + id="text890"><tspan 8.1322 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1323 + x="0 6.6999998 10 14.4 19.5 24.4 31.1 35.599998" 8.1324 + y="0" 8.1325 + sodipodi:role="line" 8.1326 + id="tspan892">Brch2Reg</tspan></text> 8.1327 + 8.1328 +</g><g 8.1329 + id="g894" /><g 8.1330 + id="g896"><text 8.1331 + transform="matrix(1,0,0,-1,308.6,348.4)" 8.1332 + id="text898"><tspan 8.1333 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1334 + x="0 7.3000002 13.4 20.6 27.9 32.900002 35.400002 41 44.299999 46.799999 53.5 58.5 66.199997 71.199997 75.599998 79" 8.1335 + y="0" 8.1336 + sodipodi:role="line" 8.1337 + id="tspan900">ALUOp <- Compare</tspan></text> 8.1338 + 8.1339 +</g><g 8.1340 + id="g902"><path 8.1341 + d="m 217.2,536.6 0,-39.5" 8.1342 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1343 + id="path904" 8.1344 + inkscape:connector-curvature="0" /></g><g 8.1345 + id="g906"><path 8.1346 + d="m 129.4,298.4 0,-39.5" 8.1347 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1348 + id="path908" 8.1349 + inkscape:connector-curvature="0" /></g><g 8.1350 + id="g910"><path 8.1351 + d="m 407.1,655.7 0,-39.4" 8.1352 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1353 + id="path912" 8.1354 + inkscape:connector-curvature="0" /></g><g 8.1355 + id="g914" /><g 8.1356 + id="g916"><text 8.1357 + transform="matrix(1,0,0,-1,370.4,405.1)" 8.1358 + id="text918"><tspan 8.1359 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1360 + x="0 7.3000002 10" 8.1361 + y="0" 8.1362 + sodipodi:role="line" 8.1363 + id="tspan920">All</tspan></text> 8.1364 + 8.1365 +</g><g 8.1366 + id="g922"><text 8.1367 + transform="matrix(1,0,0,-1,342.9,393.9)" 8.1368 + id="text924"><tspan 8.1369 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1370 + x="0 7.3000002 11.7 16.1 21.1 26.1 30.6 33.299999 35.799999 43.099998 49.200001 56.400002 63.700001" 8.1371 + y="0" 8.1372 + sodipodi:role="line" 8.1373 + id="tspan926">Decode: ALUOp</tspan></text> 8.1374 + 8.1375 +</g><g 8.1376 + id="g928" /><g 8.1377 + id="g930"><text 8.1378 + transform="matrix(1,0,0,-1,365.4,382.7)" 8.1379 + id="text932"><tspan 8.1380 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1381 + x="0 5 9.5 14.4 17.200001" 8.1382 + y="0" 8.1383 + sodipodi:role="line" 8.1384 + id="tspan934">begin</tspan></text> 8.1385 + 8.1386 +</g><g 8.1387 + id="g936"><path 8.1388 + d="m 262.6,417.4 0,-39.5" 8.1389 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1390 + id="path938" 8.1391 + inkscape:connector-curvature="0" /></g><g 8.1392 + id="g940"><path 8.1393 + d="m 308,655.7 0,-39.4" 8.1394 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1395 + id="path942" 8.1396 + inkscape:connector-curvature="0" /></g><g 8.1397 + id="g944" /><g 8.1398 + id="g946"><text 8.1399 + transform="matrix(1,0,0,-1,133.1,79)" 8.1400 + id="text948"><tspan 8.1401 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1402 + x="0 6.0999999 11.1 13.6 15.5 18 23.6" 8.1403 + y="0" 8.1404 + sodipodi:role="line" 8.1405 + id="tspan950">Ld | St</tspan></text> 8.1406 + 8.1407 +</g><g 8.1408 + id="g952"><text 8.1409 + transform="matrix(1,0,0,-1,90.6,67.8)" 8.1410 + id="text954"><tspan 8.1411 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1412 + x="0 3.3 8.3000002 14.4 19.4 25 27.700001 30.200001 34.700001 39.700001 44.700001 47.200001 50.5 55.5 59.400002 62.099998 65.400002 72.699997 77.699997 82.699997 87.099998 89.599998 93.5 97.900002 102.9" 8.1413 + y="0" 8.1414 + sodipodi:role="line" 8.1415 + id="tspan956">InLdSt and InstrDone sent</tspan></text> 8.1416 + 8.1417 +</g><g 8.1418 + id="g958"><path 8.1419 + d="m 279.6,139.5 0,-39.5" 8.1420 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1421 + id="path960" 8.1422 + inkscape:connector-curvature="0" /></g><g 8.1423 + id="g962"><path 8.1424 + d="m 415.6,139.5 0,-39.5" 8.1425 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1426 + id="path964" 8.1427 + inkscape:connector-curvature="0" /></g><g 8.1428 + id="g966"><text 8.1429 + transform="matrix(1,0,0,-1,170,439.1)" 8.1430 + id="text968"><tspan 8.1431 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1432 + x="0 6.6999998 10 14.4 19.4 24.4 31.1 35.599998 40.599998 45.5 47.5 50 56.700001 60 64.400002 69.400002 76.099998 83.400002" 8.1433 + y="0" 8.1434 + sodipodi:role="line" 8.1435 + id="tspan970">Brch1Reg | BrchCOP</tspan></text> 8.1436 + 8.1437 +</g><g 8.1438 + id="g972" /><g 8.1439 + id="g974"><text 8.1440 + transform="matrix(1,0,0,-1,185,427.9)" 8.1441 + id="text976"><tspan 8.1442 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1443 + x="0 3.3 7.6999998 11.6 16.6 19.4 24.4 28.799999 31.299999 36.299999 39.599998 44 49.099998 53.5" 8.1444 + y="0" 8.1445 + sodipodi:role="line" 8.1446 + id="tspan978">resolve branch</tspan></text> 8.1447 + 8.1448 +</g><g 8.1449 + id="g980"><path 8.1450 + d="m 262.6,457.3 0,-39.6" 8.1451 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1452 + id="path982" 8.1453 + inkscape:connector-curvature="0" /></g><g 8.1454 + id="g984" /><g 8.1455 + id="g986"><text 8.1456 + transform="matrix(1,0,0,-1,169.4,405)" 8.1457 + id="text988"><tspan 8.1458 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1459 + x="0 6.6999998 10 14.4 19.4 24.4 31.1 35.599998 40.599998 43.099998 45 47.5 54.200001 57.5 61.900002 66.900002 73.599998 80.900002" 8.1460 + y="0" 8.1461 + sodipodi:role="line" 8.1462 + id="tspan990">Brch1Reg | BrchCOP</tspan></text> 8.1463 + 8.1464 +</g><g 8.1465 + id="g992"><text 8.1466 + transform="matrix(1,0,0,-1,164.4,393.8)" 8.1467 + id="text994"><tspan 8.1468 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1469 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002 62.400002 64.900002 67.599998 71 73.5 76.800003 81.199997 83.900002 87.800003 92.199997" 8.1470 + y="0" 8.1471 + sodipodi:role="line" 8.1472 + id="tspan996">NewPC <- PC1 if false </tspan></text> 8.1473 + 8.1474 +</g><g 8.1475 + id="g998"><text 8.1476 + transform="matrix(1,0,0,-1,164.4,382.6)" 8.1477 + id="text1000"><tspan 8.1478 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1479 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002 62.400002 64.900002 67.599998 71 73.5 76.199997 79.5 84.5" 8.1480 + y="0" 8.1481 + sodipodi:role="line" 8.1482 + id="tspan1002">NewPC <- PC2 if true</tspan></text> 8.1483 + 8.1484 +</g><g 8.1485 + id="g1004" /><g 8.1486 + id="g1006"><text 8.1487 + transform="matrix(1,0,0,-1,210.1,637.9)" 8.1488 + id="text1008"><tspan 8.1489 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1490 + x="0 7.3000002 10" 8.1491 + y="0" 8.1492 + sodipodi:role="line" 8.1493 + id="tspan1010">All</tspan></text> 8.1494 + 8.1495 +</g><g 8.1496 + id="g1012"><text 8.1497 + transform="matrix(1,0,0,-1,182.6,626.7)" 8.1498 + id="text1014"><tspan 8.1499 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1500 + x="0 6.6999998 11.7 16.700001 19.5 22.200001 27.200001 32.200001 36.599998 39.099998 44.099998 48.599998 53 58 63" 8.1501 + y="0" 8.1502 + sodipodi:role="line" 8.1503 + id="tspan1016">Continue decode</tspan></text> 8.1504 + 8.1505 +</g><g 8.1506 + id="g1018"><path 8.1507 + d="m 254.1,655.7 0,-39.4" 8.1508 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1509 + id="path1020" 8.1510 + inkscape:connector-curvature="0" /></g><g 8.1511 + id="g1022" /><g 8.1512 + id="g1024"><text 8.1513 + transform="matrix(1,0,0,-1,329.9,598.1)" 8.1514 + id="text1026"><tspan 8.1515 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1516 + x="0 7.3000002 10" 8.1517 + y="0" 8.1518 + sodipodi:role="line" 8.1519 + id="tspan1028">All</tspan></text> 8.1520 + 8.1521 +</g><g 8.1522 + id="g1030"><text 8.1523 + transform="matrix(1,0,0,-1,307.4,586.9)" 8.1524 + id="text1032"><tspan 8.1525 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1526 + x="0 5.5 8.3000002 13.3 16.1 19.9 24.9 27.4 32.400002 36.900002 41.299999 46.299999 51.299999" 8.1527 + y="0" 8.1528 + sodipodi:role="line" 8.1529 + id="tspan1034">Finish decode</tspan></text> 8.1530 + 8.1531 +</g><g 8.1532 + id="g1036"><path 8.1533 + d="m 370.4,616.1 0,-39.5" 8.1534 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1535 + id="path1038" 8.1536 + inkscape:connector-curvature="0" /></g><g 8.1537 + id="g1040"><text 8.1538 + transform="matrix(1,0,0,-1,87.9,47.7)" 8.1539 + id="text1042"><tspan 8.1540 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1541 + x="0 7.3000002 12.2 15 19.4 22.200001 24.700001 31.9 36.400002 39.099998 41.900002 44.400002 49.400002 54.400002 57.099998 59.900002 62.599998 65.099998 67.900002 72.900002 76.800003 79.5 82.800003 87.800003 92.199997 95 97.699997 102.8 107.7 110.2 114.7 119.1 121.9 126.9 131.3 134.10001 136.8 141.89999 144.39999 152.10001 156.60001 161.60001 166 169.89999 172.39999 175.10001 177.89999 180.39999 183.10001 188.10001 190.89999 195.89999 198.39999 204.5 209.5 215.10001 217.8 225.10001 230.10001 232.8 235.60001 238.10001 243.10001 247.5 250.8 255.8 259.10001 263.60001 266.10001 269.89999 274.39999 279.39999 284.39999 287.10001 292.10001 297.10001 299.60001 302.89999 307.89999 314.10001 319.10001 324.60001 327.39999 329.89999 333.20001 338.79999 341.29999 347.39999 352.39999 356.89999 361.29999 366.29999 369.10001 371.79999 376.79999 381.79999" 8.1542 + y="0" 8.1543 + sodipodi:role="line" 8.1544 + id="tspan1044">Note: wait until instruction actually makes it into LdStUnit before sending InLdSt -> Exceptions</tspan></text> 8.1545 + 8.1546 +</g><g 8.1547 + id="g1046"><path 8.1548 + d="m 333.5,338 0,-39.5" 8.1549 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1550 + id="path1048" 8.1551 + inkscape:connector-curvature="0" /></g><g 8.1552 + id="g1050"><text 8.1553 + transform="matrix(1,0,0,-1,238,478.7)" 8.1554 + id="text1052"><tspan 8.1555 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1556 + x="0 6.6999998 10 14.4 19.4 24.4 31.1 35.599998 40.599998 45.5 47.5 50 56.700001 60 64.400002 69.400002 76.099998 83.400002" 8.1557 + y="0" 8.1558 + sodipodi:role="line" 8.1559 + id="tspan1054">Brch1Reg | BrchCOP</tspan></text> 8.1560 + 8.1561 +</g><g 8.1562 + id="g1056" /><g 8.1563 + id="g1058"><text 8.1564 + transform="matrix(1,0,0,-1,250.5,467.5)" 8.1565 + id="text1060"><tspan 8.1566 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1567 + x="0 7.3000002 11.7 16.1 21.1 26.1 30.6 33 38.099998 41.400002 45.799999 50.799999 58.099998" 8.1568 + y="0" 8.1569 + sodipodi:role="line" 8.1570 + id="tspan1062">Decode brchOp</tspan></text> 8.1571 + 8.1572 +</g><g 8.1573 + id="g1064"><path 8.1574 + d="m 330.6,497 0,-39.5" 8.1575 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 8.1576 + id="path1066" 8.1577 + inkscape:connector-curvature="0" /></g><g 8.1578 + id="g1068"><text 8.1579 + transform="matrix(1,0,0,-1,320.1,82)" 8.1580 + id="text1070"><tspan 8.1581 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1582 + x="0 7.1999998 12.2 15 19.4 22.200001 24.700001 29.1 34.099998 38.5 43 48 50.5 53.299999 58.200001 60.700001 64.099998 66.800003 71.800003 76.199997 79 81.5 86.5 90.900002 94.800003 97.599998 102.5 107.6 110.1 112.8 116.1 118.6 123 128.10001 133 138.10001 143.10001 148 150.60001 154.39999 157.2 161.60001 166.60001 171.10001" 8.1583 + y="0" 8.1584 + sodipodi:role="line" 8.1585 + id="tspan1072">Note: check in final design if enough stages</tspan></text> 8.1586 + 8.1587 +</g><g 8.1588 + id="g1074" /><g 8.1589 + id="g1076"><text 8.1590 + transform="matrix(1,0,0,-1,345.1,70.8)" 8.1591 + id="text1078"><tspan 8.1592 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1593 + x="0 2.7 7.6999998 10.3 16.4 21.4 26.4 33.599998 36.099998 39.400002 44.400002 47.799999 50.200001 59.700001 66.400002 68.900002 71.699997 76.699997 79.199997 83.599998 88.599998 96.300003 101.3 104 108.5 111.2" 8.1594 + y="0" 8.1595 + sodipodi:role="line" 8.1596 + id="tspan1080">in ThdU for WB to complete</tspan></text> 8.1597 + 8.1598 +</g><g 8.1599 + id="g1082"><text 8.1600 + transform="matrix(1,0,0,-1,28.6,31.5)" 8.1601 + id="text1084"><tspan 8.1602 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1603 + x="0 6 9.3000002 15.3 21.299999 24.6 30.6" 8.1604 + y="0" 8.1605 + sodipodi:role="line" 8.1606 + id="tspan1086">6/16/03</tspan></text> 8.1607 + 8.1608 +</g><g 8.1609 + id="g1088"> 8.1610 +</g><g 8.1611 + id="g1094"><text 8.1612 + transform="matrix(1,0,0,-1,318.8,27.3)" 8.1613 + id="text1096"><tspan 8.1614 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 8.1615 + x="0" 8.1616 + y="0" 8.1617 + id="tspan1098">3</tspan></text> 8.1618 + 8.1619 +</g></g></svg> 8.1620 \ No newline at end of file
9.1 Binary file 0__Papers/LPGPU__Arch/First_arch_paper/figures/Worker_Core.pdf has changed
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2 +++ b/0__Papers/LPGPU__Arch/First_arch_paper/figures/Worker_Core.svg Sun Mar 11 09:26:44 2012 -0700 10.3 @@ -0,0 +1,2017 @@ 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.1 " 10.20 + sodipodi:docname="Worker_Core.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="Arrow2Mstart" 10.27 + orient="auto" 10.28 + refY="0.0" 10.29 + refX="0.0" 10.30 + id="Arrow2Mstart" 10.31 + style="overflow:visible"> 10.32 + <path 10.33 + id="path5492" 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) translate(0,0)" /> 10.37 + </marker> 10.38 + <marker 10.39 + inkscape:stockid="Arrow2Mend" 10.40 + orient="auto" 10.41 + refY="0.0" 10.42 + refX="0.0" 10.43 + id="Arrow2Mend" 10.44 + style="overflow:visible;"> 10.45 + <path 10.46 + id="path3563" 10.47 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 10.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 " 10.49 + transform="scale(0.6) rotate(180) translate(0,0)" /> 10.50 + </marker> 10.51 + <marker 10.52 + inkscape:stockid="TriangleOutM" 10.53 + orient="auto" 10.54 + refY="0.0" 10.55 + refX="0.0" 10.56 + id="TriangleOutM" 10.57 + style="overflow:visible"> 10.58 + <path 10.59 + id="path3682" 10.60 + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " 10.61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 10.62 + transform="scale(0.4)" /> 10.63 + </marker> 10.64 + <marker 10.65 + inkscape:stockid="Arrow2Lend" 10.66 + orient="auto" 10.67 + refY="0.0" 10.68 + refX="0.0" 10.69 + id="Arrow2Lend" 10.70 + style="overflow:visible;"> 10.71 + <path 10.72 + id="path3557" 10.73 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 10.74 + 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.75 + transform="scale(1.1) rotate(180) translate(1,0)" /> 10.76 + </marker> 10.77 + <marker 10.78 + inkscape:stockid="Arrow1Mstart" 10.79 + orient="auto" 10.80 + refY="0.0" 10.81 + refX="0.0" 10.82 + id="Arrow1Mstart" 10.83 + style="overflow:visible"> 10.84 + <path 10.85 + id="path3542" 10.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 " 10.87 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 10.88 + transform="scale(0.4) translate(10,0)" /> 10.89 + </marker> 10.90 + <marker 10.91 + inkscape:stockid="Arrow1Lend" 10.92 + orient="auto" 10.93 + refY="0.0" 10.94 + refX="0.0" 10.95 + id="Arrow1Lend" 10.96 + style="overflow:visible;"> 10.97 + <path 10.98 + id="path3539" 10.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 " 10.100 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 10.101 + transform="scale(0.8) rotate(180) translate(12.5,0)" /> 10.102 + </marker> 10.103 + <marker 10.104 + inkscape:stockid="Arrow1Lstart" 10.105 + orient="auto" 10.106 + refY="0.0" 10.107 + refX="0.0" 10.108 + id="Arrow1Lstart" 10.109 + style="overflow:visible"> 10.110 + <path 10.111 + id="path3536" 10.112 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " 10.113 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 10.114 + transform="scale(0.8) translate(12.5,0)" /> 10.115 + </marker> 10.116 + <inkscape:perspective 10.117 + sodipodi:type="inkscape:persp3d" 10.118 + inkscape:vp_x="0 : 526.18109 : 1" 10.119 + inkscape:vp_y="0 : 1000 : 0" 10.120 + inkscape:vp_z="744.09448 : 526.18109 : 1" 10.121 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 10.122 + id="perspective10" /> 10.123 + <inkscape:perspective 10.124 + id="perspective4311" 10.125 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.126 + inkscape:vp_z="1 : 0.5 : 1" 10.127 + inkscape:vp_y="0 : 1000 : 0" 10.128 + inkscape:vp_x="0 : 0.5 : 1" 10.129 + sodipodi:type="inkscape:persp3d" /> 10.130 + <inkscape:perspective 10.131 + id="perspective4336" 10.132 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.133 + inkscape:vp_z="1 : 0.5 : 1" 10.134 + inkscape:vp_y="0 : 1000 : 0" 10.135 + inkscape:vp_x="0 : 0.5 : 1" 10.136 + sodipodi:type="inkscape:persp3d" /> 10.137 + <inkscape:perspective 10.138 + id="perspective4365" 10.139 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.140 + inkscape:vp_z="1 : 0.5 : 1" 10.141 + inkscape:vp_y="0 : 1000 : 0" 10.142 + inkscape:vp_x="0 : 0.5 : 1" 10.143 + sodipodi:type="inkscape:persp3d" /> 10.144 + <marker 10.145 + inkscape:stockid="Arrow2Mend" 10.146 + orient="auto" 10.147 + refY="0" 10.148 + refX="0" 10.149 + id="Arrow2Mend-9" 10.150 + style="overflow:visible"> 10.151 + <path 10.152 + id="path3563-4" 10.153 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.154 + 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" 10.155 + transform="scale(-0.6,-0.6)" /> 10.156 + </marker> 10.157 + <inkscape:perspective 10.158 + id="perspective4423" 10.159 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.160 + inkscape:vp_z="1 : 0.5 : 1" 10.161 + inkscape:vp_y="0 : 1000 : 0" 10.162 + inkscape:vp_x="0 : 0.5 : 1" 10.163 + sodipodi:type="inkscape:persp3d" /> 10.164 + <marker 10.165 + inkscape:stockid="Arrow2Mend" 10.166 + orient="auto" 10.167 + refY="0" 10.168 + refX="0" 10.169 + id="Arrow2Mend-8" 10.170 + style="overflow:visible"> 10.171 + <path 10.172 + id="path3563-2" 10.173 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.174 + 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" 10.175 + transform="scale(-0.6,-0.6)" /> 10.176 + </marker> 10.177 + <inkscape:perspective 10.178 + id="perspective4461" 10.179 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.180 + inkscape:vp_z="1 : 0.5 : 1" 10.181 + inkscape:vp_y="0 : 1000 : 0" 10.182 + inkscape:vp_x="0 : 0.5 : 1" 10.183 + sodipodi:type="inkscape:persp3d" /> 10.184 + <inkscape:perspective 10.185 + id="perspective14081" 10.186 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.187 + inkscape:vp_z="1 : 0.5 : 1" 10.188 + inkscape:vp_y="0 : 1000 : 0" 10.189 + inkscape:vp_x="0 : 0.5 : 1" 10.190 + sodipodi:type="inkscape:persp3d" /> 10.191 + <inkscape:perspective 10.192 + id="perspective14206" 10.193 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.194 + inkscape:vp_z="1 : 0.5 : 1" 10.195 + inkscape:vp_y="0 : 1000 : 0" 10.196 + inkscape:vp_x="0 : 0.5 : 1" 10.197 + sodipodi:type="inkscape:persp3d" /> 10.198 + <inkscape:perspective 10.199 + id="perspective14299" 10.200 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.201 + inkscape:vp_z="1 : 0.5 : 1" 10.202 + inkscape:vp_y="0 : 1000 : 0" 10.203 + inkscape:vp_x="0 : 0.5 : 1" 10.204 + sodipodi:type="inkscape:persp3d" /> 10.205 + <inkscape:perspective 10.206 + id="perspective16915" 10.207 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.208 + inkscape:vp_z="1 : 0.5 : 1" 10.209 + inkscape:vp_y="0 : 1000 : 0" 10.210 + inkscape:vp_x="0 : 0.5 : 1" 10.211 + sodipodi:type="inkscape:persp3d" /> 10.212 + <inkscape:perspective 10.213 + id="perspective16946" 10.214 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.215 + inkscape:vp_z="1 : 0.5 : 1" 10.216 + inkscape:vp_y="0 : 1000 : 0" 10.217 + inkscape:vp_x="0 : 0.5 : 1" 10.218 + sodipodi:type="inkscape:persp3d" /> 10.219 + <inkscape:perspective 10.220 + id="perspective17789" 10.221 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.222 + inkscape:vp_z="1 : 0.5 : 1" 10.223 + inkscape:vp_y="0 : 1000 : 0" 10.224 + inkscape:vp_x="0 : 0.5 : 1" 10.225 + sodipodi:type="inkscape:persp3d" /> 10.226 + <inkscape:perspective 10.227 + id="perspective17820" 10.228 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.229 + inkscape:vp_z="1 : 0.5 : 1" 10.230 + inkscape:vp_y="0 : 1000 : 0" 10.231 + inkscape:vp_x="0 : 0.5 : 1" 10.232 + sodipodi:type="inkscape:persp3d" /> 10.233 + <marker 10.234 + inkscape:stockid="Arrow2Mend" 10.235 + orient="auto" 10.236 + refY="0" 10.237 + refX="0" 10.238 + id="Arrow2Mend-8-2" 10.239 + style="overflow:visible"> 10.240 + <path 10.241 + id="path3563-2-3" 10.242 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.243 + 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" 10.244 + transform="scale(-0.6,-0.6)" /> 10.245 + </marker> 10.246 + <inkscape:perspective 10.247 + id="perspective17848" 10.248 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.249 + inkscape:vp_z="1 : 0.5 : 1" 10.250 + inkscape:vp_y="0 : 1000 : 0" 10.251 + inkscape:vp_x="0 : 0.5 : 1" 10.252 + sodipodi:type="inkscape:persp3d" /> 10.253 + <inkscape:perspective 10.254 + id="perspective17891" 10.255 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.256 + inkscape:vp_z="1 : 0.5 : 1" 10.257 + inkscape:vp_y="0 : 1000 : 0" 10.258 + inkscape:vp_x="0 : 0.5 : 1" 10.259 + sodipodi:type="inkscape:persp3d" /> 10.260 + <marker 10.261 + inkscape:stockid="Arrow2Mend" 10.262 + orient="auto" 10.263 + refY="0" 10.264 + refX="0" 10.265 + id="Arrow2Mend-8-7" 10.266 + style="overflow:visible"> 10.267 + <path 10.268 + id="path3563-2-8" 10.269 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.270 + 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" 10.271 + transform="scale(-0.6,-0.6)" /> 10.272 + </marker> 10.273 + <inkscape:perspective 10.274 + id="perspective17925" 10.275 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.276 + inkscape:vp_z="1 : 0.5 : 1" 10.277 + inkscape:vp_y="0 : 1000 : 0" 10.278 + inkscape:vp_x="0 : 0.5 : 1" 10.279 + sodipodi:type="inkscape:persp3d" /> 10.280 + <inkscape:perspective 10.281 + id="perspective17996" 10.282 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.283 + inkscape:vp_z="1 : 0.5 : 1" 10.284 + inkscape:vp_y="0 : 1000 : 0" 10.285 + inkscape:vp_x="0 : 0.5 : 1" 10.286 + sodipodi:type="inkscape:persp3d" /> 10.287 + <inkscape:perspective 10.288 + id="perspective18039" 10.289 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.290 + inkscape:vp_z="1 : 0.5 : 1" 10.291 + inkscape:vp_y="0 : 1000 : 0" 10.292 + inkscape:vp_x="0 : 0.5 : 1" 10.293 + sodipodi:type="inkscape:persp3d" /> 10.294 + <inkscape:perspective 10.295 + id="perspective18073" 10.296 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.297 + inkscape:vp_z="1 : 0.5 : 1" 10.298 + inkscape:vp_y="0 : 1000 : 0" 10.299 + inkscape:vp_x="0 : 0.5 : 1" 10.300 + sodipodi:type="inkscape:persp3d" /> 10.301 + <inkscape:perspective 10.302 + id="perspective4016" 10.303 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.304 + inkscape:vp_z="1 : 0.5 : 1" 10.305 + inkscape:vp_y="0 : 1000 : 0" 10.306 + inkscape:vp_x="0 : 0.5 : 1" 10.307 + sodipodi:type="inkscape:persp3d" /> 10.308 + <inkscape:perspective 10.309 + id="perspective4046" 10.310 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.311 + inkscape:vp_z="1 : 0.5 : 1" 10.312 + inkscape:vp_y="0 : 1000 : 0" 10.313 + inkscape:vp_x="0 : 0.5 : 1" 10.314 + sodipodi:type="inkscape:persp3d" /> 10.315 + <inkscape:perspective 10.316 + id="perspective4071" 10.317 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.318 + inkscape:vp_z="1 : 0.5 : 1" 10.319 + inkscape:vp_y="0 : 1000 : 0" 10.320 + inkscape:vp_x="0 : 0.5 : 1" 10.321 + sodipodi:type="inkscape:persp3d" /> 10.322 + <inkscape:perspective 10.323 + id="perspective4101" 10.324 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.325 + inkscape:vp_z="1 : 0.5 : 1" 10.326 + inkscape:vp_y="0 : 1000 : 0" 10.327 + inkscape:vp_x="0 : 0.5 : 1" 10.328 + sodipodi:type="inkscape:persp3d" /> 10.329 + <inkscape:perspective 10.330 + id="perspective5945" 10.331 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.332 + inkscape:vp_z="1 : 0.5 : 1" 10.333 + inkscape:vp_y="0 : 1000 : 0" 10.334 + inkscape:vp_x="0 : 0.5 : 1" 10.335 + sodipodi:type="inkscape:persp3d" /> 10.336 + <inkscape:perspective 10.337 + id="perspective3139" 10.338 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.339 + inkscape:vp_z="1 : 0.5 : 1" 10.340 + inkscape:vp_y="0 : 1000 : 0" 10.341 + inkscape:vp_x="0 : 0.5 : 1" 10.342 + sodipodi:type="inkscape:persp3d" /> 10.343 + <inkscape:perspective 10.344 + id="perspective3161" 10.345 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 10.346 + inkscape:vp_z="1 : 0.5 : 1" 10.347 + inkscape:vp_y="0 : 1000 : 0" 10.348 + inkscape:vp_x="0 : 0.5 : 1" 10.349 + sodipodi:type="inkscape:persp3d" /> 10.350 + <marker 10.351 + inkscape:stockid="Arrow2Mend" 10.352 + orient="auto" 10.353 + refY="0" 10.354 + refX="0" 10.355 + id="Arrow2Mend-8-7-0" 10.356 + style="overflow:visible"> 10.357 + <path 10.358 + inkscape:connector-curvature="0" 10.359 + id="path3563-2-8-4" 10.360 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.361 + 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" 10.362 + transform="scale(-0.6,-0.6)" /> 10.363 + </marker> 10.364 + <marker 10.365 + inkscape:stockid="Arrow2Mend" 10.366 + orient="auto" 10.367 + refY="0" 10.368 + refX="0" 10.369 + id="marker12725" 10.370 + style="overflow:visible"> 10.371 + <path 10.372 + inkscape:connector-curvature="0" 10.373 + id="path12727" 10.374 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.375 + 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" 10.376 + transform="scale(-0.6,-0.6)" /> 10.377 + </marker> 10.378 + <marker 10.379 + inkscape:stockid="Arrow2Mend" 10.380 + orient="auto" 10.381 + refY="0" 10.382 + refX="0" 10.383 + id="marker12729" 10.384 + style="overflow:visible"> 10.385 + <path 10.386 + inkscape:connector-curvature="0" 10.387 + id="path12731" 10.388 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.389 + 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" 10.390 + transform="scale(-0.6,-0.6)" /> 10.391 + </marker> 10.392 + <marker 10.393 + inkscape:stockid="Arrow2Mend" 10.394 + orient="auto" 10.395 + refY="0" 10.396 + refX="0" 10.397 + id="marker12733" 10.398 + style="overflow:visible"> 10.399 + <path 10.400 + inkscape:connector-curvature="0" 10.401 + id="path12735" 10.402 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.403 + 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" 10.404 + transform="scale(-0.6,-0.6)" /> 10.405 + </marker> 10.406 + <marker 10.407 + inkscape:stockid="Arrow2Mend" 10.408 + orient="auto" 10.409 + refY="0" 10.410 + refX="0" 10.411 + id="marker12737" 10.412 + style="overflow:visible"> 10.413 + <path 10.414 + inkscape:connector-curvature="0" 10.415 + id="path12739" 10.416 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.417 + 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" 10.418 + transform="scale(-0.6,-0.6)" /> 10.419 + </marker> 10.420 + <marker 10.421 + inkscape:stockid="Arrow2Mend" 10.422 + orient="auto" 10.423 + refY="0" 10.424 + refX="0" 10.425 + id="marker12741" 10.426 + style="overflow:visible"> 10.427 + <path 10.428 + inkscape:connector-curvature="0" 10.429 + id="path12743" 10.430 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.431 + 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" 10.432 + transform="scale(-0.6,-0.6)" /> 10.433 + </marker> 10.434 + <marker 10.435 + inkscape:stockid="Arrow2Mend" 10.436 + orient="auto" 10.437 + refY="0" 10.438 + refX="0" 10.439 + id="marker12745" 10.440 + style="overflow:visible"> 10.441 + <path 10.442 + inkscape:connector-curvature="0" 10.443 + id="path12747" 10.444 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.445 + 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" 10.446 + transform="scale(-0.6,-0.6)" /> 10.447 + </marker> 10.448 + <marker 10.449 + inkscape:stockid="Arrow2Mend" 10.450 + orient="auto" 10.451 + refY="0" 10.452 + refX="0" 10.453 + id="marker12749" 10.454 + style="overflow:visible"> 10.455 + <path 10.456 + inkscape:connector-curvature="0" 10.457 + id="path12751" 10.458 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.459 + 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" 10.460 + transform="scale(-0.6,-0.6)" /> 10.461 + </marker> 10.462 + <marker 10.463 + inkscape:stockid="Arrow2Mend" 10.464 + orient="auto" 10.465 + refY="0" 10.466 + refX="0" 10.467 + id="marker12753" 10.468 + style="overflow:visible"> 10.469 + <path 10.470 + inkscape:connector-curvature="0" 10.471 + id="path12755" 10.472 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.473 + 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" 10.474 + transform="scale(-0.6,-0.6)" /> 10.475 + </marker> 10.476 + <marker 10.477 + inkscape:stockid="Arrow2Mend" 10.478 + orient="auto" 10.479 + refY="0" 10.480 + refX="0" 10.481 + id="marker12757" 10.482 + style="overflow:visible"> 10.483 + <path 10.484 + inkscape:connector-curvature="0" 10.485 + id="path12759" 10.486 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.487 + 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" 10.488 + transform="scale(-0.6,-0.6)" /> 10.489 + </marker> 10.490 + <marker 10.491 + inkscape:stockid="Arrow2Mend" 10.492 + orient="auto" 10.493 + refY="0" 10.494 + refX="0" 10.495 + id="marker12761" 10.496 + style="overflow:visible"> 10.497 + <path 10.498 + inkscape:connector-curvature="0" 10.499 + id="path12763" 10.500 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.501 + 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" 10.502 + transform="scale(-0.6,-0.6)" /> 10.503 + </marker> 10.504 + <marker 10.505 + inkscape:stockid="Arrow2Mend" 10.506 + orient="auto" 10.507 + refY="0" 10.508 + refX="0" 10.509 + id="marker12765" 10.510 + style="overflow:visible"> 10.511 + <path 10.512 + inkscape:connector-curvature="0" 10.513 + id="path12767" 10.514 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.515 + 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" 10.516 + transform="scale(-0.6,-0.6)" /> 10.517 + </marker> 10.518 + <marker 10.519 + inkscape:stockid="Arrow2Mend" 10.520 + orient="auto" 10.521 + refY="0" 10.522 + refX="0" 10.523 + id="marker12769" 10.524 + style="overflow:visible"> 10.525 + <path 10.526 + inkscape:connector-curvature="0" 10.527 + id="path12771" 10.528 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.529 + 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" 10.530 + transform="scale(-0.6,-0.6)" /> 10.531 + </marker> 10.532 + <marker 10.533 + inkscape:stockid="Arrow2Mend" 10.534 + orient="auto" 10.535 + refY="0" 10.536 + refX="0" 10.537 + id="marker12773" 10.538 + style="overflow:visible"> 10.539 + <path 10.540 + inkscape:connector-curvature="0" 10.541 + id="path12775" 10.542 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.543 + 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" 10.544 + transform="scale(-0.6,-0.6)" /> 10.545 + </marker> 10.546 + <marker 10.547 + inkscape:stockid="Arrow2Mend" 10.548 + orient="auto" 10.549 + refY="0" 10.550 + refX="0" 10.551 + id="marker12777" 10.552 + style="overflow:visible"> 10.553 + <path 10.554 + inkscape:connector-curvature="0" 10.555 + id="path12779" 10.556 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.557 + 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" 10.558 + transform="scale(-0.6,-0.6)" /> 10.559 + </marker> 10.560 + <marker 10.561 + inkscape:stockid="Arrow2Mend" 10.562 + orient="auto" 10.563 + refY="0" 10.564 + refX="0" 10.565 + id="marker12781" 10.566 + style="overflow:visible"> 10.567 + <path 10.568 + inkscape:connector-curvature="0" 10.569 + id="path12783" 10.570 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.571 + 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" 10.572 + transform="scale(-0.6,-0.6)" /> 10.573 + </marker> 10.574 + <marker 10.575 + inkscape:stockid="Arrow2Mend" 10.576 + orient="auto" 10.577 + refY="0" 10.578 + refX="0" 10.579 + id="marker12785" 10.580 + style="overflow:visible"> 10.581 + <path 10.582 + inkscape:connector-curvature="0" 10.583 + id="path12787" 10.584 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.585 + 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" 10.586 + transform="scale(-0.6,-0.6)" /> 10.587 + </marker> 10.588 + <marker 10.589 + inkscape:stockid="Arrow2Mend" 10.590 + orient="auto" 10.591 + refY="0" 10.592 + refX="0" 10.593 + id="marker12789" 10.594 + style="overflow:visible"> 10.595 + <path 10.596 + inkscape:connector-curvature="0" 10.597 + id="path12791" 10.598 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.599 + 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" 10.600 + transform="scale(-0.6,-0.6)" /> 10.601 + </marker> 10.602 + <marker 10.603 + inkscape:stockid="Arrow2Mend" 10.604 + orient="auto" 10.605 + refY="0" 10.606 + refX="0" 10.607 + id="marker12793" 10.608 + style="overflow:visible"> 10.609 + <path 10.610 + inkscape:connector-curvature="0" 10.611 + id="path12795" 10.612 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.613 + 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" 10.614 + transform="scale(-0.6,-0.6)" /> 10.615 + </marker> 10.616 + <marker 10.617 + inkscape:stockid="Arrow2Mend" 10.618 + orient="auto" 10.619 + refY="0" 10.620 + refX="0" 10.621 + id="marker12797" 10.622 + style="overflow:visible"> 10.623 + <path 10.624 + inkscape:connector-curvature="0" 10.625 + id="path12799" 10.626 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.627 + 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" 10.628 + transform="scale(-0.6,-0.6)" /> 10.629 + </marker> 10.630 + <marker 10.631 + inkscape:stockid="Arrow2Mend" 10.632 + orient="auto" 10.633 + refY="0" 10.634 + refX="0" 10.635 + id="marker12801" 10.636 + style="overflow:visible"> 10.637 + <path 10.638 + inkscape:connector-curvature="0" 10.639 + id="path12803" 10.640 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.641 + 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" 10.642 + transform="scale(-0.6,-0.6)" /> 10.643 + </marker> 10.644 + <marker 10.645 + inkscape:stockid="Arrow2Mend" 10.646 + orient="auto" 10.647 + refY="0" 10.648 + refX="0" 10.649 + id="marker12805" 10.650 + style="overflow:visible"> 10.651 + <path 10.652 + inkscape:connector-curvature="0" 10.653 + id="path12807" 10.654 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.655 + 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" 10.656 + transform="scale(-0.6,-0.6)" /> 10.657 + </marker> 10.658 + <marker 10.659 + inkscape:stockid="Arrow2Mend" 10.660 + orient="auto" 10.661 + refY="0" 10.662 + refX="0" 10.663 + id="marker12809" 10.664 + style="overflow:visible"> 10.665 + <path 10.666 + inkscape:connector-curvature="0" 10.667 + id="path12811" 10.668 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.669 + 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" 10.670 + transform="scale(-0.6,-0.6)" /> 10.671 + </marker> 10.672 + <marker 10.673 + inkscape:stockid="Arrow2Mend" 10.674 + orient="auto" 10.675 + refY="0" 10.676 + refX="0" 10.677 + id="marker12813" 10.678 + style="overflow:visible"> 10.679 + <path 10.680 + inkscape:connector-curvature="0" 10.681 + id="path12815" 10.682 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.683 + 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" 10.684 + transform="scale(-0.6,-0.6)" /> 10.685 + </marker> 10.686 + <marker 10.687 + inkscape:stockid="Arrow2Mend" 10.688 + orient="auto" 10.689 + refY="0" 10.690 + refX="0" 10.691 + id="marker12817" 10.692 + style="overflow:visible"> 10.693 + <path 10.694 + inkscape:connector-curvature="0" 10.695 + id="path12819" 10.696 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.697 + 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" 10.698 + transform="scale(-0.6,-0.6)" /> 10.699 + </marker> 10.700 + <marker 10.701 + inkscape:stockid="Arrow2Mend" 10.702 + orient="auto" 10.703 + refY="0" 10.704 + refX="0" 10.705 + id="marker12821" 10.706 + style="overflow:visible"> 10.707 + <path 10.708 + inkscape:connector-curvature="0" 10.709 + id="path12823" 10.710 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.711 + 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" 10.712 + transform="scale(-0.6,-0.6)" /> 10.713 + </marker> 10.714 + <marker 10.715 + inkscape:stockid="Arrow2Mend" 10.716 + orient="auto" 10.717 + refY="0" 10.718 + refX="0" 10.719 + id="marker12825" 10.720 + style="overflow:visible"> 10.721 + <path 10.722 + inkscape:connector-curvature="0" 10.723 + id="path12827" 10.724 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.725 + 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" 10.726 + transform="scale(-0.6,-0.6)" /> 10.727 + </marker> 10.728 + <marker 10.729 + inkscape:stockid="Arrow2Mend" 10.730 + orient="auto" 10.731 + refY="0" 10.732 + refX="0" 10.733 + id="marker12829" 10.734 + style="overflow:visible"> 10.735 + <path 10.736 + inkscape:connector-curvature="0" 10.737 + id="path12831" 10.738 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.739 + 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" 10.740 + transform="scale(-0.6,-0.6)" /> 10.741 + </marker> 10.742 + <marker 10.743 + inkscape:stockid="Arrow2Mend" 10.744 + orient="auto" 10.745 + refY="0" 10.746 + refX="0" 10.747 + id="marker12833" 10.748 + style="overflow:visible"> 10.749 + <path 10.750 + inkscape:connector-curvature="0" 10.751 + id="path12835" 10.752 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.753 + 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" 10.754 + transform="scale(-0.6,-0.6)" /> 10.755 + </marker> 10.756 + <marker 10.757 + inkscape:stockid="Arrow2Mend" 10.758 + orient="auto" 10.759 + refY="0" 10.760 + refX="0" 10.761 + id="marker12837" 10.762 + style="overflow:visible"> 10.763 + <path 10.764 + inkscape:connector-curvature="0" 10.765 + id="path12839" 10.766 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.767 + 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" 10.768 + transform="scale(-0.6,-0.6)" /> 10.769 + </marker> 10.770 + <marker 10.771 + inkscape:stockid="Arrow2Mend" 10.772 + orient="auto" 10.773 + refY="0" 10.774 + refX="0" 10.775 + id="marker12841" 10.776 + style="overflow:visible"> 10.777 + <path 10.778 + inkscape:connector-curvature="0" 10.779 + id="path12843" 10.780 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.781 + 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" 10.782 + transform="scale(-0.6,-0.6)" /> 10.783 + </marker> 10.784 + <marker 10.785 + inkscape:stockid="Arrow2Mend" 10.786 + orient="auto" 10.787 + refY="0" 10.788 + refX="0" 10.789 + id="marker12845" 10.790 + style="overflow:visible"> 10.791 + <path 10.792 + inkscape:connector-curvature="0" 10.793 + id="path12847" 10.794 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.795 + 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" 10.796 + transform="scale(-0.6,-0.6)" /> 10.797 + </marker> 10.798 + <marker 10.799 + inkscape:stockid="Arrow2Mend" 10.800 + orient="auto" 10.801 + refY="0" 10.802 + refX="0" 10.803 + id="marker12849" 10.804 + style="overflow:visible"> 10.805 + <path 10.806 + inkscape:connector-curvature="0" 10.807 + id="path12851" 10.808 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.809 + 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" 10.810 + transform="scale(-0.6,-0.6)" /> 10.811 + </marker> 10.812 + <marker 10.813 + inkscape:stockid="Arrow2Mend" 10.814 + orient="auto" 10.815 + refY="0" 10.816 + refX="0" 10.817 + id="marker12853" 10.818 + style="overflow:visible"> 10.819 + <path 10.820 + inkscape:connector-curvature="0" 10.821 + id="path12855" 10.822 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.823 + 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" 10.824 + transform="scale(-0.6,-0.6)" /> 10.825 + </marker> 10.826 + <marker 10.827 + inkscape:stockid="Arrow2Mend" 10.828 + orient="auto" 10.829 + refY="0" 10.830 + refX="0" 10.831 + id="marker12857" 10.832 + style="overflow:visible"> 10.833 + <path 10.834 + inkscape:connector-curvature="0" 10.835 + id="path12859" 10.836 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.837 + 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" 10.838 + transform="scale(-0.6,-0.6)" /> 10.839 + </marker> 10.840 + <marker 10.841 + inkscape:stockid="Arrow2Mend" 10.842 + orient="auto" 10.843 + refY="0" 10.844 + refX="0" 10.845 + id="marker12861" 10.846 + style="overflow:visible"> 10.847 + <path 10.848 + inkscape:connector-curvature="0" 10.849 + id="path12863" 10.850 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 10.851 + 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" 10.852 + transform="scale(-0.6,-0.6)" /> 10.853 + </marker> 10.854 + </defs> 10.855 + <sodipodi:namedview 10.856 + id="base" 10.857 + pagecolor="#ffffff" 10.858 + bordercolor="#666666" 10.859 + borderopacity="1.0" 10.860 + gridtolerance="10000" 10.861 + guidetolerance="10" 10.862 + objecttolerance="10" 10.863 + inkscape:pageopacity="0.0" 10.864 + inkscape:pageshadow="2" 10.865 + inkscape:zoom="1.1103093" 10.866 + inkscape:cx="362.79168" 10.867 + inkscape:cy="436.2115" 10.868 + inkscape:document-units="px" 10.869 + inkscape:current-layer="layer1" 10.870 + showgrid="false" 10.871 + inkscape:window-width="1600" 10.872 + inkscape:window-height="848" 10.873 + inkscape:window-x="-8" 10.874 + inkscape:window-y="-8" 10.875 + inkscape:window-maximized="1" /> 10.876 + <metadata 10.877 + id="metadata7"> 10.878 + <rdf:RDF> 10.879 + <cc:Work 10.880 + rdf:about=""> 10.881 + <dc:format>image/svg+xml</dc:format> 10.882 + <dc:type 10.883 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 10.884 + <dc:title></dc:title> 10.885 + </cc:Work> 10.886 + </rdf:RDF> 10.887 + </metadata> 10.888 + <g 10.889 + inkscape:label="Layer 1" 10.890 + inkscape:groupmode="layer" 10.891 + id="layer1"> 10.892 + <text 10.893 + xml:space="preserve" 10.894 + style="font-size:14.09755802px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.895 + x="76.152191" 10.896 + y="376.30783" 10.897 + id="text3191" 10.898 + sodipodi:linespacing="100%" 10.899 + transform="scale(0.7715821,1.2960384)"><tspan 10.900 + id="tspan3195" 10.901 + sodipodi:role="line" 10.902 + x="76.152191" 10.903 + y="376.30783" 10.904 + style="font-size:22.05818939px;text-align:center;text-anchor:middle" /></text> 10.905 + <g 10.906 + id="g5127" 10.907 + transform="translate(502.54696,-7.9829121)"> 10.908 + <g 10.909 + id="g5129" 10.910 + transform="translate(-227.6972,42)"> 10.911 + <rect 10.912 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.913 + id="rect5131" 10.914 + width="40.22971" 10.915 + height="11.42933" 10.916 + x="-668.27917" 10.917 + y="280.02979" 10.918 + transform="matrix(0,-1,1,0,0,0)" /> 10.919 + </g> 10.920 + <text 10.921 + xml:space="preserve" 10.922 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.923 + x="-834.42664" 10.924 + y="51.305866" 10.925 + id="text5133" 10.926 + sodipodi:linespacing="100%" 10.927 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.928 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 10.929 + sodipodi:role="line" 10.930 + x="-834.42664" 10.931 + y="51.305866" 10.932 + id="tspan5135">Net Intf</tspan></text> 10.933 + </g> 10.934 + <text 10.935 + transform="scale(0.82746283,1.2085135)" 10.936 + sodipodi:linespacing="100%" 10.937 + id="text5614" 10.938 + y="404.25412" 10.939 + x="460.25208" 10.940 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.941 + xml:space="preserve"><tspan 10.942 + y="404.25412" 10.943 + x="460.25208" 10.944 + sodipodi:role="line" 10.945 + style="font-size:24px;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1" 10.946 + id="tspan5618">Worker Core</tspan></text> 10.947 + <g 10.948 + id="g5885" 10.949 + transform="translate(17.231876,-174.82812)"> 10.950 + <g 10.951 + id="g5903" 10.952 + transform="translate(80,160)"> 10.953 + <text 10.954 + xml:space="preserve" 10.955 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.956 + x="-689.91699" 10.957 + y="220.9987" 10.958 + id="text5905" 10.959 + sodipodi:linespacing="100%" 10.960 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.961 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.962 + sodipodi:role="line" 10.963 + x="-689.91699" 10.964 + y="220.9987" 10.965 + id="tspan5907">Mem Array</tspan></text> 10.966 + <rect 10.967 + y="541.71765" 10.968 + x="248.55019" 10.969 + height="58.297375" 10.970 + width="29.62429" 10.971 + id="rect5909" 10.972 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.973 + <rect 10.974 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.975 + id="rect6254" 10.976 + width="29.62429" 10.977 + height="11.813" 10.978 + x="248.55019" 10.979 + y="599.76453" /> 10.980 + <text 10.981 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.982 + sodipodi:linespacing="100%" 10.983 + id="text6256" 10.984 + y="220.9987" 10.985 + x="-732.42303" 10.986 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.987 + xml:space="preserve"><tspan 10.988 + id="tspan6258" 10.989 + y="220.9987" 10.990 + x="-732.42303" 10.991 + sodipodi:role="line" 10.992 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 10.993 + </g> 10.994 + <g 10.995 + transform="translate(120,160)" 10.996 + id="g6260"> 10.997 + <text 10.998 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.999 + sodipodi:linespacing="100%" 10.1000 + id="text6262" 10.1001 + y="220.9987" 10.1002 + x="-689.91699" 10.1003 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1004 + xml:space="preserve"><tspan 10.1005 + id="tspan6264" 10.1006 + y="220.9987" 10.1007 + x="-689.91699" 10.1008 + sodipodi:role="line" 10.1009 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 10.1010 + <rect 10.1011 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1012 + id="rect6266" 10.1013 + width="29.62429" 10.1014 + height="58.297375" 10.1015 + x="248.55019" 10.1016 + y="541.71765" /> 10.1017 + <rect 10.1018 + y="599.76453" 10.1019 + x="248.55019" 10.1020 + height="11.813" 10.1021 + width="29.62429" 10.1022 + id="rect6268" 10.1023 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1024 + <text 10.1025 + xml:space="preserve" 10.1026 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1027 + x="-732.42303" 10.1028 + y="220.9987" 10.1029 + id="text6270" 10.1030 + sodipodi:linespacing="100%" 10.1031 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1032 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1033 + sodipodi:role="line" 10.1034 + x="-732.42303" 10.1035 + y="220.9987" 10.1036 + id="tspan6272">Q</tspan></text> 10.1037 + </g> 10.1038 + <g 10.1039 + id="g6274" 10.1040 + transform="translate(160,160)"> 10.1041 + <text 10.1042 + xml:space="preserve" 10.1043 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1044 + x="-689.91699" 10.1045 + y="220.9987" 10.1046 + id="text6276" 10.1047 + sodipodi:linespacing="100%" 10.1048 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1049 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1050 + sodipodi:role="line" 10.1051 + x="-689.91699" 10.1052 + y="220.9987" 10.1053 + id="tspan6278">Mem Array</tspan></text> 10.1054 + <rect 10.1055 + y="541.71765" 10.1056 + x="248.55019" 10.1057 + height="58.297375" 10.1058 + width="29.62429" 10.1059 + id="rect6280" 10.1060 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1061 + <rect 10.1062 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1063 + id="rect6282" 10.1064 + width="29.62429" 10.1065 + height="11.813" 10.1066 + x="248.55019" 10.1067 + y="599.76453" /> 10.1068 + <text 10.1069 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1070 + sodipodi:linespacing="100%" 10.1071 + id="text6284" 10.1072 + y="220.9987" 10.1073 + x="-732.42303" 10.1074 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1075 + xml:space="preserve"><tspan 10.1076 + id="tspan6286" 10.1077 + y="220.9987" 10.1078 + x="-732.42303" 10.1079 + sodipodi:role="line" 10.1080 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 10.1081 + </g> 10.1082 + <g 10.1083 + transform="translate(200,160)" 10.1084 + id="g6288"> 10.1085 + <text 10.1086 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1087 + sodipodi:linespacing="100%" 10.1088 + id="text6290" 10.1089 + y="220.9987" 10.1090 + x="-689.91699" 10.1091 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1092 + xml:space="preserve"><tspan 10.1093 + id="tspan6292" 10.1094 + y="220.9987" 10.1095 + x="-689.91699" 10.1096 + sodipodi:role="line" 10.1097 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 10.1098 + <rect 10.1099 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1100 + id="rect6294" 10.1101 + width="29.62429" 10.1102 + height="58.297375" 10.1103 + x="248.55019" 10.1104 + y="541.71765" /> 10.1105 + <rect 10.1106 + y="599.76453" 10.1107 + x="248.55019" 10.1108 + height="11.813" 10.1109 + width="29.62429" 10.1110 + id="rect6296" 10.1111 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1112 + <text 10.1113 + xml:space="preserve" 10.1114 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1115 + x="-732.42303" 10.1116 + y="220.9987" 10.1117 + id="text6298" 10.1118 + sodipodi:linespacing="100%" 10.1119 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1120 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1121 + sodipodi:role="line" 10.1122 + x="-732.42303" 10.1123 + y="220.9987" 10.1124 + id="tspan6300">Q</tspan></text> 10.1125 + </g> 10.1126 + <g 10.1127 + id="g6302" 10.1128 + transform="translate(240,160)"> 10.1129 + <text 10.1130 + xml:space="preserve" 10.1131 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1132 + x="-689.91699" 10.1133 + y="220.9987" 10.1134 + id="text6304" 10.1135 + sodipodi:linespacing="100%" 10.1136 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1137 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1138 + sodipodi:role="line" 10.1139 + x="-689.91699" 10.1140 + y="220.9987" 10.1141 + id="tspan6306">Mem Array</tspan></text> 10.1142 + <rect 10.1143 + y="541.71765" 10.1144 + x="248.55019" 10.1145 + height="58.297375" 10.1146 + width="29.62429" 10.1147 + id="rect6308" 10.1148 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1149 + <rect 10.1150 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1151 + id="rect6310" 10.1152 + width="29.62429" 10.1153 + height="11.813" 10.1154 + x="248.55019" 10.1155 + y="599.76453" /> 10.1156 + <text 10.1157 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1158 + sodipodi:linespacing="100%" 10.1159 + id="text6312" 10.1160 + y="220.9987" 10.1161 + x="-732.42303" 10.1162 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1163 + xml:space="preserve"><tspan 10.1164 + id="tspan6314" 10.1165 + y="220.9987" 10.1166 + x="-732.42303" 10.1167 + sodipodi:role="line" 10.1168 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 10.1169 + </g> 10.1170 + <g 10.1171 + transform="translate(40,160)" 10.1172 + id="g6316"> 10.1173 + <text 10.1174 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1175 + sodipodi:linespacing="100%" 10.1176 + id="text6318" 10.1177 + y="220.9987" 10.1178 + x="-689.91699" 10.1179 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1180 + xml:space="preserve"><tspan 10.1181 + id="tspan6320" 10.1182 + y="220.9987" 10.1183 + x="-689.91699" 10.1184 + sodipodi:role="line" 10.1185 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 10.1186 + <rect 10.1187 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1188 + id="rect6322" 10.1189 + width="29.62429" 10.1190 + height="58.297375" 10.1191 + x="248.55019" 10.1192 + y="541.71765" /> 10.1193 + <rect 10.1194 + y="599.76453" 10.1195 + x="248.55019" 10.1196 + height="11.813" 10.1197 + width="29.62429" 10.1198 + id="rect6324" 10.1199 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1200 + <text 10.1201 + xml:space="preserve" 10.1202 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1203 + x="-732.42303" 10.1204 + y="220.9987" 10.1205 + id="text6326" 10.1206 + sodipodi:linespacing="100%" 10.1207 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1208 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1209 + sodipodi:role="line" 10.1210 + x="-732.42303" 10.1211 + y="220.9987" 10.1212 + id="tspan6328">Q</tspan></text> 10.1213 + </g> 10.1214 + <g 10.1215 + id="g6330" 10.1216 + transform="translate(0,160)"> 10.1217 + <text 10.1218 + xml:space="preserve" 10.1219 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1220 + x="-689.91699" 10.1221 + y="220.9987" 10.1222 + id="text6332" 10.1223 + sodipodi:linespacing="100%" 10.1224 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1225 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1226 + sodipodi:role="line" 10.1227 + x="-689.91699" 10.1228 + y="220.9987" 10.1229 + id="tspan6334">Mem Array</tspan></text> 10.1230 + <rect 10.1231 + y="541.71765" 10.1232 + x="248.55019" 10.1233 + height="58.297375" 10.1234 + width="29.62429" 10.1235 + id="rect6336" 10.1236 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1237 + <rect 10.1238 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1239 + id="rect6338" 10.1240 + width="29.62429" 10.1241 + height="11.813" 10.1242 + x="248.55019" 10.1243 + y="599.76453" /> 10.1244 + <text 10.1245 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1246 + sodipodi:linespacing="100%" 10.1247 + id="text6340" 10.1248 + y="220.9987" 10.1249 + x="-732.42303" 10.1250 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1251 + xml:space="preserve"><tspan 10.1252 + id="tspan6342" 10.1253 + y="220.9987" 10.1254 + x="-732.42303" 10.1255 + sodipodi:role="line" 10.1256 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 10.1257 + </g> 10.1258 + <g 10.1259 + transform="translate(-40,160)" 10.1260 + id="g6344"> 10.1261 + <text 10.1262 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1263 + sodipodi:linespacing="100%" 10.1264 + id="text6346" 10.1265 + y="220.9987" 10.1266 + x="-689.91699" 10.1267 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1268 + xml:space="preserve"><tspan 10.1269 + id="tspan6348" 10.1270 + y="220.9987" 10.1271 + x="-689.91699" 10.1272 + sodipodi:role="line" 10.1273 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 10.1274 + <rect 10.1275 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1276 + id="rect6350" 10.1277 + width="29.62429" 10.1278 + height="58.297375" 10.1279 + x="248.55019" 10.1280 + y="541.71765" /> 10.1281 + <rect 10.1282 + y="599.76453" 10.1283 + x="248.55019" 10.1284 + height="11.813" 10.1285 + width="29.62429" 10.1286 + id="rect6352" 10.1287 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1288 + <text 10.1289 + xml:space="preserve" 10.1290 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1291 + x="-732.42303" 10.1292 + y="220.9987" 10.1293 + id="text6354" 10.1294 + sodipodi:linespacing="100%" 10.1295 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1296 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1297 + sodipodi:role="line" 10.1298 + x="-732.42303" 10.1299 + y="220.9987" 10.1300 + id="tspan6356">Q</tspan></text> 10.1301 + </g> 10.1302 + </g> 10.1303 + <path 10.1304 + sodipodi:nodetypes="cc" 10.1305 + inkscape:connector-curvature="0" 10.1306 + id="path5961" 10.1307 + d="m 219.55419,622.9039 322.08004,0" 10.1308 + style="fill:none;stroke:#000000;stroke-width:1.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 10.1309 + <g 10.1310 + transform="translate(280.54698,-30)" 10.1311 + id="g5976"> 10.1312 + <rect 10.1313 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1314 + id="rect5978" 10.1315 + width="57.323727" 10.1316 + height="11.42933" 10.1317 + x="71.385368" 10.1318 + y="716.99664" /> 10.1319 + <text 10.1320 + transform="scale(0.82746283,1.2085135)" 10.1321 + sodipodi:linespacing="100%" 10.1322 + id="text5980" 10.1323 + y="600.67786" 10.1324 + x="120.69847" 10.1325 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1326 + xml:space="preserve"><tspan 10.1327 + id="tspan5982" 10.1328 + y="600.67786" 10.1329 + x="120.69847" 10.1330 + sodipodi:role="line" 10.1331 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Vector RegFile</tspan></text> 10.1332 + </g> 10.1333 + <path 10.1334 + style="fill:none;stroke:#000000;stroke-width:1.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 10.1335 + d="m 219.55419,608.9039 322.08004,0" 10.1336 + id="path5984" 10.1337 + inkscape:connector-curvature="0" 10.1338 + sodipodi:nodetypes="cc" /> 10.1339 + <g 10.1340 + id="g6172" 10.1341 + transform="translate(0,16)"> 10.1342 + <rect 10.1343 + y="688.99664" 10.1344 + x="272.71356" 10.1345 + height="20.804331" 10.1346 + width="53.873981" 10.1347 + id="rect6017" 10.1348 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1349 + <text 10.1350 + xml:space="preserve" 10.1351 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1352 + x="454.87146" 10.1353 + y="582.47363" 10.1354 + id="text6019" 10.1355 + sodipodi:linespacing="100%" 10.1356 + transform="scale(0.82746283,1.2085135)"><tspan 10.1357 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 10.1358 + sodipodi:role="line" 10.1359 + x="454.87146" 10.1360 + y="582.47363" 10.1361 + id="tspan6021">Vector Unit</tspan></text> 10.1362 + <rect 10.1363 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1364 + id="rect6026" 10.1365 + width="53.873981" 10.1366 + height="20.804331" 10.1367 + x="327.06662" 10.1368 + y="688.99664" /> 10.1369 + <rect 10.1370 + y="688.99664" 10.1371 + x="381.41965" 10.1372 + height="20.804331" 10.1373 + width="53.873981" 10.1374 + id="rect6028" 10.1375 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1376 + <rect 10.1377 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1378 + id="rect6030" 10.1379 + width="53.873981" 10.1380 + height="20.804331" 10.1381 + x="435.77271" 10.1382 + y="688.99664" /> 10.1383 + </g> 10.1384 + <rect 10.1385 + y="510.72516" 10.1386 + x="178.63179" 10.1387 + height="351.25189" 10.1388 + width="403.92484" 10.1389 + id="rect6056" 10.1390 + style="fill:none;stroke:#000000;stroke-width:1.8006357;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.20254279, 1.8006357;stroke-dashoffset:0" /> 10.1391 + <g 10.1392 + transform="translate(142.54696,-7.9829121)" 10.1393 + id="g6058"> 10.1394 + <g 10.1395 + transform="translate(-227.6972,42)" 10.1396 + id="g6060"> 10.1397 + <rect 10.1398 + transform="matrix(0,-1,1,0,0,0)" 10.1399 + y="280.02979" 10.1400 + x="-668.27917" 10.1401 + height="11.42933" 10.1402 + width="40.22971" 10.1403 + id="rect6062" 10.1404 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1405 + </g> 10.1406 + <text 10.1407 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1408 + sodipodi:linespacing="100%" 10.1409 + id="text6064" 10.1410 + y="51.305866" 10.1411 + x="-834.42664" 10.1412 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1413 + xml:space="preserve"><tspan 10.1414 + id="tspan6066" 10.1415 + y="51.305866" 10.1416 + x="-834.42664" 10.1417 + sodipodi:role="line" 10.1418 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 10.1419 + </g> 10.1420 + <g 10.1421 + id="g6106" 10.1422 + transform="translate(87.721709,0)"> 10.1423 + <g 10.1424 + transform="translate(-80,0)" 10.1425 + id="g5999"> 10.1426 + <rect 10.1427 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1428 + id="rect6001" 10.1429 + width="57.323727" 10.1430 + height="11.42933" 10.1431 + x="351.93234" 10.1432 + y="658.99664" /> 10.1433 + <text 10.1434 + transform="scale(0.82746283,1.2085135)" 10.1435 + sodipodi:linespacing="100%" 10.1436 + id="text6003" 10.1437 + y="552.685" 10.1438 + x="459.74329" 10.1439 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1440 + xml:space="preserve"><tspan 10.1441 + id="tspan6005" 10.1442 + y="552.685" 10.1443 + x="459.74329" 10.1444 + sodipodi:role="line" 10.1445 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Int Pipeline</tspan></text> 10.1446 + </g> 10.1447 + <g 10.1448 + transform="translate(200.54698,-74)" 10.1449 + id="g6040"> 10.1450 + <rect 10.1451 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1452 + id="rect6042" 10.1453 + width="57.323727" 10.1454 + height="11.42933" 10.1455 + x="71.385368" 10.1456 + y="716.99664" /> 10.1457 + <text 10.1458 + transform="scale(0.82746283,1.2085135)" 10.1459 + sodipodi:linespacing="100%" 10.1460 + id="text6044" 10.1461 + y="600.67786" 10.1462 + x="120.69847" 10.1463 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1464 + xml:space="preserve"><tspan 10.1465 + id="tspan6046" 10.1466 + y="600.67786" 10.1467 + x="120.69847" 10.1468 + sodipodi:role="line" 10.1469 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">RegFile</tspan></text> 10.1470 + </g> 10.1471 + <g 10.1472 + transform="matrix(1,0,0,0.97332721,1.609375,17.882132)" 10.1473 + id="g6085"> 10.1474 + <rect 10.1475 + y="254.87955" 10.1476 + x="-670.42596" 10.1477 + height="11.42933" 10.1478 + width="28.417477" 10.1479 + id="rect6070" 10.1480 + style="fill:none;stroke:#000000;stroke-width:1.82514107;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1481 + transform="matrix(0,-1,1,0,0,0)" /> 10.1482 + <text 10.1483 + xml:space="preserve" 10.1484 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1485 + x="-793.40521" 10.1486 + y="219.20868" 10.1487 + id="text6072" 10.1488 + sodipodi:linespacing="100%" 10.1489 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1490 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 10.1491 + sodipodi:role="line" 10.1492 + x="-793.40521" 10.1493 + y="219.20868" 10.1494 + id="tspan6074">Ctxt U</tspan></text> 10.1495 + </g> 10.1496 + </g> 10.1497 + <g 10.1498 + transform="translate(-12.278291,0)" 10.1499 + id="g6120"> 10.1500 + <g 10.1501 + id="g6122" 10.1502 + transform="translate(-80,0)"> 10.1503 + <rect 10.1504 + y="658.99664" 10.1505 + x="351.93234" 10.1506 + height="11.42933" 10.1507 + width="57.323727" 10.1508 + id="rect6124" 10.1509 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1510 + <text 10.1511 + xml:space="preserve" 10.1512 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1513 + x="459.74329" 10.1514 + y="552.685" 10.1515 + id="text6126" 10.1516 + sodipodi:linespacing="100%" 10.1517 + transform="scale(0.82746283,1.2085135)"><tspan 10.1518 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 10.1519 + sodipodi:role="line" 10.1520 + x="459.74329" 10.1521 + y="552.685" 10.1522 + id="tspan6128">Int Pipeline</tspan></text> 10.1523 + </g> 10.1524 + <g 10.1525 + id="g6130" 10.1526 + transform="translate(200.54698,-74)"> 10.1527 + <rect 10.1528 + y="716.99664" 10.1529 + x="71.385368" 10.1530 + height="11.42933" 10.1531 + width="57.323727" 10.1532 + id="rect6132" 10.1533 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1534 + <text 10.1535 + xml:space="preserve" 10.1536 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1537 + x="120.69847" 10.1538 + y="600.67786" 10.1539 + id="text6134" 10.1540 + sodipodi:linespacing="100%" 10.1541 + transform="scale(0.82746283,1.2085135)"><tspan 10.1542 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 10.1543 + sodipodi:role="line" 10.1544 + x="120.69847" 10.1545 + y="600.67786" 10.1546 + id="tspan6136">RegFile</tspan></text> 10.1547 + </g> 10.1548 + <g 10.1549 + id="g6138" 10.1550 + transform="matrix(1,0,0,0.97332721,1.609375,17.882132)"> 10.1551 + <rect 10.1552 + transform="matrix(0,-1,1,0,0,0)" 10.1553 + style="fill:none;stroke:#000000;stroke-width:1.82514107;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1554 + id="rect6140" 10.1555 + width="28.417477" 10.1556 + height="11.42933" 10.1557 + x="-670.42596" 10.1558 + y="254.87955" /> 10.1559 + <text 10.1560 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1561 + sodipodi:linespacing="100%" 10.1562 + id="text6142" 10.1563 + y="219.20868" 10.1564 + x="-793.40521" 10.1565 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1566 + xml:space="preserve"><tspan 10.1567 + id="tspan6144" 10.1568 + y="219.20868" 10.1569 + x="-793.40521" 10.1570 + sodipodi:role="line" 10.1571 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Ctxt U</tspan></text> 10.1572 + </g> 10.1573 + </g> 10.1574 + <g 10.1575 + id="g6146" 10.1576 + transform="translate(187.72171,0)"> 10.1577 + <g 10.1578 + transform="translate(-80,0)" 10.1579 + id="g6148"> 10.1580 + <rect 10.1581 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1582 + id="rect6150" 10.1583 + width="57.323727" 10.1584 + height="11.42933" 10.1585 + x="351.93234" 10.1586 + y="658.99664" /> 10.1587 + <text 10.1588 + transform="scale(0.82746283,1.2085135)" 10.1589 + sodipodi:linespacing="100%" 10.1590 + id="text6152" 10.1591 + y="552.685" 10.1592 + x="459.74329" 10.1593 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1594 + xml:space="preserve"><tspan 10.1595 + id="tspan6154" 10.1596 + y="552.685" 10.1597 + x="459.74329" 10.1598 + sodipodi:role="line" 10.1599 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Int Pipeline</tspan></text> 10.1600 + </g> 10.1601 + <g 10.1602 + transform="translate(200.54698,-74)" 10.1603 + id="g6156"> 10.1604 + <rect 10.1605 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1606 + id="rect6158" 10.1607 + width="57.323727" 10.1608 + height="11.42933" 10.1609 + x="71.385368" 10.1610 + y="716.99664" /> 10.1611 + <text 10.1612 + transform="scale(0.82746283,1.2085135)" 10.1613 + sodipodi:linespacing="100%" 10.1614 + id="text6160" 10.1615 + y="600.67786" 10.1616 + x="120.69847" 10.1617 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1618 + xml:space="preserve"><tspan 10.1619 + id="tspan6162" 10.1620 + y="600.67786" 10.1621 + x="120.69847" 10.1622 + sodipodi:role="line" 10.1623 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">RegFile</tspan></text> 10.1624 + </g> 10.1625 + <g 10.1626 + transform="matrix(1,0,0,0.97332721,1.609375,17.882132)" 10.1627 + id="g6164"> 10.1628 + <rect 10.1629 + y="254.87955" 10.1630 + x="-670.42596" 10.1631 + height="11.42933" 10.1632 + width="28.417477" 10.1633 + id="rect6166" 10.1634 + style="fill:none;stroke:#000000;stroke-width:1.82514107;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1635 + transform="matrix(0,-1,1,0,0,0)" /> 10.1636 + <text 10.1637 + xml:space="preserve" 10.1638 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1639 + x="-793.40521" 10.1640 + y="219.20868" 10.1641 + id="text6168" 10.1642 + sodipodi:linespacing="100%" 10.1643 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1644 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 10.1645 + sodipodi:role="line" 10.1646 + x="-793.40521" 10.1647 + y="219.20868" 10.1648 + id="tspan6170">Ctxt U</tspan></text> 10.1649 + </g> 10.1650 + </g> 10.1651 + <g 10.1652 + transform="translate(17.231876,71.426023)" 10.1653 + id="g6358"> 10.1654 + <g 10.1655 + transform="translate(240,160)" 10.1656 + id="g6416"> 10.1657 + <text 10.1658 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1659 + sodipodi:linespacing="100%" 10.1660 + id="text6418" 10.1661 + y="220.9987" 10.1662 + x="-704.41931" 10.1663 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1664 + xml:space="preserve"><tspan 10.1665 + id="tspan6420" 10.1666 + y="220.9987" 10.1667 + x="-704.41931" 10.1668 + sodipodi:role="line" 10.1669 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 10.1670 + <rect 10.1671 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1672 + id="rect6422" 10.1673 + width="29.62429" 10.1674 + height="58.297375" 10.1675 + x="248.55019" 10.1676 + y="553.3775" /> 10.1677 + <rect 10.1678 + y="541.76453" 10.1679 + x="248.55019" 10.1680 + height="11.813" 10.1681 + width="29.62429" 10.1682 + id="rect6424" 10.1683 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1684 + <text 10.1685 + xml:space="preserve" 10.1686 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1687 + x="-661.9668" 10.1688 + y="220.9987" 10.1689 + id="text6426" 10.1690 + sodipodi:linespacing="100%" 10.1691 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1692 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1693 + sodipodi:role="line" 10.1694 + x="-661.9668" 10.1695 + y="220.9987" 10.1696 + id="tspan6428">Q</tspan></text> 10.1697 + </g> 10.1698 + <g 10.1699 + id="g6476" 10.1700 + transform="translate(200,160)"> 10.1701 + <text 10.1702 + xml:space="preserve" 10.1703 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1704 + x="-704.41931" 10.1705 + y="220.9987" 10.1706 + id="text6478" 10.1707 + sodipodi:linespacing="100%" 10.1708 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1709 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1710 + sodipodi:role="line" 10.1711 + x="-704.41931" 10.1712 + y="220.9987" 10.1713 + id="tspan6480">Mem Array</tspan></text> 10.1714 + <rect 10.1715 + y="553.3775" 10.1716 + x="248.55019" 10.1717 + height="58.297375" 10.1718 + width="29.62429" 10.1719 + id="rect6482" 10.1720 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1721 + <rect 10.1722 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1723 + id="rect6484" 10.1724 + width="29.62429" 10.1725 + height="11.813" 10.1726 + x="248.55019" 10.1727 + y="541.76453" /> 10.1728 + <text 10.1729 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1730 + sodipodi:linespacing="100%" 10.1731 + id="text6486" 10.1732 + y="220.9987" 10.1733 + x="-661.9668" 10.1734 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1735 + xml:space="preserve"><tspan 10.1736 + id="tspan6488" 10.1737 + y="220.9987" 10.1738 + x="-661.9668" 10.1739 + sodipodi:role="line" 10.1740 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 10.1741 + </g> 10.1742 + <g 10.1743 + transform="translate(160,160)" 10.1744 + id="g6490"> 10.1745 + <text 10.1746 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1747 + sodipodi:linespacing="100%" 10.1748 + id="text6492" 10.1749 + y="220.9987" 10.1750 + x="-704.41931" 10.1751 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1752 + xml:space="preserve"><tspan 10.1753 + id="tspan6494" 10.1754 + y="220.9987" 10.1755 + x="-704.41931" 10.1756 + sodipodi:role="line" 10.1757 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 10.1758 + <rect 10.1759 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1760 + id="rect6496" 10.1761 + width="29.62429" 10.1762 + height="58.297375" 10.1763 + x="248.55019" 10.1764 + y="553.3775" /> 10.1765 + <rect 10.1766 + y="541.76453" 10.1767 + x="248.55019" 10.1768 + height="11.813" 10.1769 + width="29.62429" 10.1770 + id="rect6498" 10.1771 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1772 + <text 10.1773 + xml:space="preserve" 10.1774 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1775 + x="-661.9668" 10.1776 + y="220.9987" 10.1777 + id="text6500" 10.1778 + sodipodi:linespacing="100%" 10.1779 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1780 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1781 + sodipodi:role="line" 10.1782 + x="-661.9668" 10.1783 + y="220.9987" 10.1784 + id="tspan6502">Q</tspan></text> 10.1785 + </g> 10.1786 + <g 10.1787 + id="g6504" 10.1788 + transform="translate(120,160)"> 10.1789 + <text 10.1790 + xml:space="preserve" 10.1791 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1792 + x="-704.41931" 10.1793 + y="220.9987" 10.1794 + id="text6506" 10.1795 + sodipodi:linespacing="100%" 10.1796 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1797 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1798 + sodipodi:role="line" 10.1799 + x="-704.41931" 10.1800 + y="220.9987" 10.1801 + id="tspan6508">Mem Array</tspan></text> 10.1802 + <rect 10.1803 + y="553.3775" 10.1804 + x="248.55019" 10.1805 + height="58.297375" 10.1806 + width="29.62429" 10.1807 + id="rect6510" 10.1808 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1809 + <rect 10.1810 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1811 + id="rect6512" 10.1812 + width="29.62429" 10.1813 + height="11.813" 10.1814 + x="248.55019" 10.1815 + y="541.76453" /> 10.1816 + <text 10.1817 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1818 + sodipodi:linespacing="100%" 10.1819 + id="text6514" 10.1820 + y="220.9987" 10.1821 + x="-661.9668" 10.1822 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1823 + xml:space="preserve"><tspan 10.1824 + id="tspan6516" 10.1825 + y="220.9987" 10.1826 + x="-661.9668" 10.1827 + sodipodi:role="line" 10.1828 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 10.1829 + </g> 10.1830 + <g 10.1831 + transform="translate(80,160)" 10.1832 + id="g6518"> 10.1833 + <text 10.1834 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1835 + sodipodi:linespacing="100%" 10.1836 + id="text6520" 10.1837 + y="220.9987" 10.1838 + x="-704.41931" 10.1839 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1840 + xml:space="preserve"><tspan 10.1841 + id="tspan6522" 10.1842 + y="220.9987" 10.1843 + x="-704.41931" 10.1844 + sodipodi:role="line" 10.1845 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 10.1846 + <rect 10.1847 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1848 + id="rect6524" 10.1849 + width="29.62429" 10.1850 + height="58.297375" 10.1851 + x="248.55019" 10.1852 + y="553.3775" /> 10.1853 + <rect 10.1854 + y="541.76453" 10.1855 + x="248.55019" 10.1856 + height="11.813" 10.1857 + width="29.62429" 10.1858 + id="rect6526" 10.1859 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1860 + <text 10.1861 + xml:space="preserve" 10.1862 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1863 + x="-661.9668" 10.1864 + y="220.9987" 10.1865 + id="text6528" 10.1866 + sodipodi:linespacing="100%" 10.1867 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1868 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1869 + sodipodi:role="line" 10.1870 + x="-661.9668" 10.1871 + y="220.9987" 10.1872 + id="tspan6530">Q</tspan></text> 10.1873 + </g> 10.1874 + <g 10.1875 + id="g6532" 10.1876 + transform="translate(40,160)"> 10.1877 + <text 10.1878 + xml:space="preserve" 10.1879 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1880 + x="-704.41931" 10.1881 + y="220.9987" 10.1882 + id="text6534" 10.1883 + sodipodi:linespacing="100%" 10.1884 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1885 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1886 + sodipodi:role="line" 10.1887 + x="-704.41931" 10.1888 + y="220.9987" 10.1889 + id="tspan6536">Mem Array</tspan></text> 10.1890 + <rect 10.1891 + y="553.3775" 10.1892 + x="248.55019" 10.1893 + height="58.297375" 10.1894 + width="29.62429" 10.1895 + id="rect6538" 10.1896 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1897 + <rect 10.1898 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1899 + id="rect6540" 10.1900 + width="29.62429" 10.1901 + height="11.813" 10.1902 + x="248.55019" 10.1903 + y="541.76453" /> 10.1904 + <text 10.1905 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1906 + sodipodi:linespacing="100%" 10.1907 + id="text6542" 10.1908 + y="220.9987" 10.1909 + x="-661.9668" 10.1910 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1911 + xml:space="preserve"><tspan 10.1912 + id="tspan6544" 10.1913 + y="220.9987" 10.1914 + x="-661.9668" 10.1915 + sodipodi:role="line" 10.1916 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 10.1917 + </g> 10.1918 + <g 10.1919 + transform="translate(0,160)" 10.1920 + id="g6546"> 10.1921 + <text 10.1922 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1923 + sodipodi:linespacing="100%" 10.1924 + id="text6548" 10.1925 + y="220.9987" 10.1926 + x="-704.41931" 10.1927 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1928 + xml:space="preserve"><tspan 10.1929 + id="tspan6550" 10.1930 + y="220.9987" 10.1931 + x="-704.41931" 10.1932 + sodipodi:role="line" 10.1933 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 10.1934 + <rect 10.1935 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1936 + id="rect6552" 10.1937 + width="29.62429" 10.1938 + height="58.297375" 10.1939 + x="248.55019" 10.1940 + y="553.3775" /> 10.1941 + <rect 10.1942 + y="541.76453" 10.1943 + x="248.55019" 10.1944 + height="11.813" 10.1945 + width="29.62429" 10.1946 + id="rect6554" 10.1947 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1948 + <text 10.1949 + xml:space="preserve" 10.1950 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1951 + x="-661.9668" 10.1952 + y="220.9987" 10.1953 + id="text6556" 10.1954 + sodipodi:linespacing="100%" 10.1955 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1956 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1957 + sodipodi:role="line" 10.1958 + x="-661.9668" 10.1959 + y="220.9987" 10.1960 + id="tspan6558">Q</tspan></text> 10.1961 + </g> 10.1962 + <g 10.1963 + id="g6560" 10.1964 + transform="translate(-40,160)"> 10.1965 + <text 10.1966 + xml:space="preserve" 10.1967 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1968 + x="-704.41931" 10.1969 + y="220.9987" 10.1970 + id="text6562" 10.1971 + sodipodi:linespacing="100%" 10.1972 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 10.1973 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 10.1974 + sodipodi:role="line" 10.1975 + x="-704.41931" 10.1976 + y="220.9987" 10.1977 + id="tspan6564">Mem Array</tspan></text> 10.1978 + <rect 10.1979 + y="553.3775" 10.1980 + x="248.55019" 10.1981 + height="58.297375" 10.1982 + width="29.62429" 10.1983 + id="rect6566" 10.1984 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 10.1985 + <rect 10.1986 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 10.1987 + id="rect6568" 10.1988 + width="29.62429" 10.1989 + height="11.813" 10.1990 + x="248.55019" 10.1991 + y="541.76453" /> 10.1992 + <text 10.1993 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 10.1994 + sodipodi:linespacing="100%" 10.1995 + id="text6570" 10.1996 + y="220.9987" 10.1997 + x="-661.9668" 10.1998 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1999 + xml:space="preserve"><tspan 10.2000 + id="tspan6572" 10.2001 + y="220.9987" 10.2002 + x="-661.9668" 10.2003 + sodipodi:role="line" 10.2004 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 10.2005 + </g> 10.2006 + </g> 10.2007 + <path 10.2008 + style="fill:none;stroke:#000000;stroke-width:1.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 10.2009 + d="m 219.55419,746.98921 322.08004,0" 10.2010 + id="path6472" 10.2011 + inkscape:connector-curvature="0" 10.2012 + sodipodi:nodetypes="cc" /> 10.2013 + <path 10.2014 + sodipodi:nodetypes="cc" 10.2015 + inkscape:connector-curvature="0" 10.2016 + id="path6474" 10.2017 + d="m 219.55419,760.98921 322.08004,0" 10.2018 + style="fill:none;stroke:#000000;stroke-width:1.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 10.2019 + </g> 10.2020 +</svg>
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 11.2 +++ b/0__Papers/LPGPU__Arch/First_arch_paper/latex/LPGPU__first_arch_paper.tex Sun Mar 11 09:26:44 2012 -0700 11.3 @@ -0,0 +1,246 @@ 11.4 +%&latex 11.5 +%% Derived from: `accept.tex' (from acmconf.dtx), 11.6 + 11.7 +\documentclass[submit]{acmconf} 11.8 + 11.9 +\CopyrightText{\copyright ACM 2000, ....., used with the \texttt{box} option.} 11.10 +\IfFileExists{graphicx.sty}{\usepackage{graphicx}}{} 11.11 +\ConferenceName{1. Conference on Designing a \LaTeX2e Class for 11.12 + Typesetting ACM Papers, Hawaii 2000} 11.13 +\ConferenceShortName{CONF-2000} 11.14 + 11.15 +\def\XX{More text should follow, but keep in mind that a limit of 6 11.16 + pages has been set, including figures and references. More text 11.17 + should follow, but keep in mind that a limit of 6 pages has been 11.18 + set, including figures and references. More text should follow, but 11.19 + keep in mind that a limit of 6 pages set, including figures 11.20 + and references. More text should follow, but keep in mind that a 11.21 + limit of 6 pages has been set, including figures and references. 11.22 + \par 11.23 +} 11.24 + 11.25 +\usepackage[USenglish,UKenglish]{babel} 11.26 +\begin{document} 11.27 + 11.28 +%+Title 11.29 +\date{31. December 1999} 11.30 +\title{A New Intuitionistic Proof of Usability\\ 11.31 + of the Recommended Style File for the ACM Conference Papers} 11.32 +\author{\Author{J\"urgen Vollmer\thanks{Happy \LaTeX{}ing}}\\ 11.33 + \Address{Karlsruhe}\\ 11.34 + \Email{Juergen.Vollmer@acm.org}\\ 11.35 + \and 11.36 + \Author{Mickey Mouse}\\ 11.37 + \Address{Enthausen University}\\ 11.38 + \Email{Mickey.Mouse@entenhausen.org} 11.39 + } 11.40 +%-Title 11.41 +\maketitle 11.42 +%+Abstract 11.43 +\begin{abstract} 11.44 + This document demonstrates how to use the \LaTeX2e \verb|acmconf| 11.45 + class by exhibiting itself as an example. You are expected to be 11.46 + familiar with~\cite{Lam94}. The best way to use this file is to use 11.47 + it as a template, i.e., replace the prose in it by your 11.48 + own\footnote{And may use footnotes.}. 11.49 +\end{abstract} 11.50 +%-Abstract 11.51 + 11.52 +%+Keywords 11.53 +\begin{keywords} 11.54 +\LaTeX2e-class, ACM proceedings 11.55 +\end{keywords} 11.56 +%-Keywords 11.57 + 11.58 + 11.59 +\section{Introduction} 11.60 +\(\cos (\frac{a}{b})\) 11.61 +To understand this file read the \emph{source} and not the typeset 11.62 +version. If you are reading this in the typeset version you might as 11.63 +well stop --- it is not supposed to make sense. 11.64 + 11.65 +\section{The Story Begins\ldots} 11.66 +A real article is supposed to have some deep results and good 11.67 +explanations. That, however, is your job and not mine so you should 11.68 +replace this text with something more appropriate\footnote{Another a 11.69 + footnote}.. 11.70 + 11.71 +\section{Some often used \LaTeX\ commands} 11.72 + 11.73 +\subsection{\texttt{emph}, etc.} 11.74 +Text may be set as \emph{emph}.\\ 11.75 +Text may be set as \texttt{texttt}.\\ 11.76 +Text may be set as \underline{unterline}.\\ 11.77 +Text may be set as \textbf{textbf}.\\ 11.78 +Text may be set as \textrm{textrm}.\\ 11.79 +Text may be set as {\tiny tiny}.\\ 11.80 +Text may be set as {\scriptsize scriptsize}.\\ 11.81 +Text may be set as {\footnotesize footnotesize}.\\ 11.82 +Text may be set as {\normalfont normalsize}.\\ 11.83 +Text may be set as {\large large}.\\ 11.84 +Text may be set as {\Large Large}.\\ 11.85 +Text may be set as {\LARGE LARGE}.\\ 11.86 +Text may be set as {\huge huge}.\\ 11.87 +Text may be set as {\Huge Huge}.\\ 11.88 +Text may have$^{\textrm{super}}$ and$_{\textrm{sub}}$scripts. 11.89 + 11.90 +\subsection{\texttt{itemize}} 11.91 +\begin{itemize} 11.92 +\item\(f\) More text should follow, but keep in mind that a limit of 6 11.93 + pages has been set, including figures and references. More text 11.94 + should follow, but keep in mind that a limit of 6 pages has been 11.95 + set, including figures and references. 11.96 +\item More text should follow, but keep in mind that a limit of 6 11.97 + pages has been set, including figures and references. More text 11.98 + should follow, but keep in mind that a limit of 6 pages has been 11.99 + set, including figures and references. 11.100 +\end{itemize} 11.101 + 11.102 +\subsection{\texttt{enumerate}} 11.103 +\begin{enumerate} 11.104 +\item More text should follow, but keep in mind that a limit of 6 11.105 + pages has been set, including figures and references. More text 11.106 + should follow, but keep in mind that a limit of 6 pages has been 11.107 + set, including figures and references. 11.108 +\item More text should follow, but keep in mind that a limit of 6 11.109 + pages has been set, including figures and references. More text 11.110 + should follow, but keep in mind that a limit of 6 pages has been 11.111 + set, including figures and references. 11.112 + 11.113 +\end{enumerate} 11.114 + 11.115 +\subsection{\texttt{description}} 11.116 +\begin{description} 11.117 +\item[Foo] More text should follow, but keep in mind that a limit of 6 11.118 + pages has been set, including figures and references. More text 11.119 + should follow, but keep in mind that a limit of 6 pages has been 11.120 + set, including figures and references. 11.121 +\item[Bar] More text should follow, but keep in mind that a limit of 6 11.122 + pages has been set, including figures and references. More text 11.123 + should follow, but keep in mind that a limit of 6 pages has been 11.124 + set, including figures and references. 11.125 +\end{description} 11.126 + 11.127 +\subsection{\texttt{center} and \texttt{tabular}} 11.128 +\begin{center} 11.129 +\begin{tabular}{|l|c|r|}\hline 11.130 +left & center & right \\\hline\hline 11.131 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\ 11.132 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\\cline{3-3} 11.133 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\\cline{2-2} 11.134 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\\cline{1-2} 11.135 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\\hline 11.136 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\\hline 11.137 +1 & \multicolumn{2}{|c|}{2} \\\hline 11.138 +\end{tabular} 11.139 +\end{center} 11.140 + 11.141 +\subsection{\texttt{figure} and Postscript pictures} 11.142 +Have a look to to figure~\ref{fig-1} and~\ref{fig-2}. 11.143 + 11.144 +\begin{figure} 11.145 +\hrule 11.146 +Nice Postscript, isn't it? 11.147 +\begin{center} 11.148 +\IfFileExists{graphicx.sty}{ 11.149 + \includegraphics{body.eps} 11.150 +}{ 11.151 + Sorry, package \texttt{graphicx} not present. 11.152 +} 11.153 +\end{center} 11.154 + 11.155 +Same, a little bit smaller: 11.156 +\begin{center} 11.157 +\IfFileExists{graphicx.sty}{ 11.158 + \includegraphics[scale=.5]{body.eps} 11.159 + }{ 11.160 + Sorry, package \texttt{graphicx} not present. 11.161 +} 11.162 +\end{center} 11.163 +\caption{\label{fig-1}This is a nice floating figure} 11.164 +\hrule 11.165 +\end{figure} 11.166 + 11.167 +\begin{figure*} 11.168 +\hrule 11.169 +This figure uses both columns, using \texttt{figure*} 11.170 +\begin{center} 11.171 +\IfFileExists{graphicx.sty}{ 11.172 + \includegraphics[scale=.5]{body.eps} 11.173 + \hspace{1cm} 11.174 + \includegraphics[scale=.5]{body.eps} 11.175 +}{ 11.176 + Sorry, package \texttt{graphicx} not present. 11.177 +} 11.178 +\end{center} 11.179 +\caption{\label{fig-2}This is a nice floating figure} 11.180 +\hrule 11.181 +\end{figure*} 11.182 + 11.183 +\section{The Story Continues 1} 11.184 + 11.185 +This is a \verb+\section+. 11.186 + 11.187 +\XX\XX 11.188 + 11.189 +\subsection{The Story Continues 2} 11.190 + 11.191 +This is a \verb+\subsection+. 11.192 + 11.193 +\XX\XX 11.194 + 11.195 +\subsubsection{The Story Continues 3} 11.196 + 11.197 +This is a \verb+\subsubsection+. 11.198 + 11.199 +\XX\XX 11.200 + 11.201 +\subsubsubsection{The Story Continues 4} 11.202 + 11.203 +This is a \verb+\subsubsubsection+. 11.204 + 11.205 +\XX\XX 11.206 + 11.207 +\subsubsubsubsection{The Story Continues 5} 11.208 + 11.209 +This is a \verb+\subsubsubsubsection+. 11.210 + 11.211 +\XX\XX 11.212 + 11.213 +\paragraph{The Story Continues 6} 11.214 + 11.215 +This is a \verb+\paragraph+. 11.216 +\XX\XX 11.217 + 11.218 +\subparagraph{The Story Continues 7} 11.219 +This is a \verb+\subparagraph+. 11.220 +\XX\XX\XX 11.221 + 11.222 +\section{Conclusion} 11.223 +The end, at last! In this example there really are no results or 11.224 +points to summarize but I trust your article has more food for though 11.225 +and thus will need a conclusion. 11.226 + 11.227 +\appendix 11.228 +\section{Appendices} 11.229 +If you have any, appendices might go here. Note that appendices 11.230 +should not be used to circumvent the word count limit. 11.231 + 11.232 +This is "doing it by hand" --- you might be better off using BibTeX. 11.233 + 11.234 +%+Bibliography 11.235 +\begin{thebibliography}{X} 11.236 +\bibitem[1]{Lam94} Leslie Lamport: {\em \LaTeX, A Document 11.237 + Preparation System,} Addison Wesley~1994. 11.238 +\end{thebibliography} 11.239 +%-Bibliography 11.240 + 11.241 +\IfPrepare{ 11.242 + \tableofcontents 11.243 + \listoffigures 11.244 + \listoftables 11.245 +}{} 11.246 + 11.247 +\end{document} 11.248 + 11.249 +
12.1 Binary file 0__Papers/PStack/HotPar_2012/figures/Portability_stack_combined.pdf has changed
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 13.2 +++ b/0__Papers/PStack/HotPar_2012/figures/Portability_stack_combined.pdf.bb Sun Mar 11 09:26:44 2012 -0700 13.3 @@ -0,0 +1,9 @@ 13.4 +%!PS-Adobe-3.0 EPSF-3.0 13.5 +%%Creator: PDF2EPS - BaKoMa TeX Portable Document Format (PDF) Import Filter. 13.6 +%%Title: ..\figures\Portability_stack_combined.pdf 13.7 +%%CreationDate: Tue Jan 31 15:19:44 2012 13.8 +%%LanguageLevel: 3 13.9 +%%DocumentData: Clean7Bit 13.10 +%%BoundingBox: 0 0 412 168 13.11 +%%Rotate: 0 13.12 +%%EndComments
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 14.2 +++ b/0__Papers/PStack/HotPar_2012/figures/Portability_stack_combined.svg Sun Mar 11 09:26:44 2012 -0700 14.3 @@ -0,0 +1,2693 @@ 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 + version="1.1" 14.19 + inkscape:version="0.48.1 " 14.20 + sodipodi:docname="Portability_stack_combined.svg"> 14.21 + <defs 14.22 + id="defs4"> 14.23 + <marker 14.24 + inkscape:stockid="Arrow2Mend" 14.25 + orient="auto" 14.26 + refY="0.0" 14.27 + refX="0.0" 14.28 + id="Arrow2Mend" 14.29 + style="overflow:visible;"> 14.30 + <path 14.31 + id="path12287" 14.32 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 14.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 " 14.34 + transform="scale(0.6) rotate(180) translate(0,0)" /> 14.35 + </marker> 14.36 + <marker 14.37 + inkscape:stockid="Arrow1Mend" 14.38 + orient="auto" 14.39 + refY="0.0" 14.40 + refX="0.0" 14.41 + id="Arrow1Mend" 14.42 + style="overflow:visible;"> 14.43 + <path 14.44 + id="path12269" 14.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 " 14.46 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 14.47 + transform="scale(0.4) rotate(180) translate(10,0)" /> 14.48 + </marker> 14.49 + </defs> 14.50 + <sodipodi:namedview 14.51 + id="base" 14.52 + pagecolor="#ffffff" 14.53 + bordercolor="#666666" 14.54 + borderopacity="1.0" 14.55 + inkscape:pageopacity="0.0" 14.56 + inkscape:pageshadow="2" 14.57 + inkscape:zoom="2.34" 14.58 + inkscape:cx="402.79936" 14.59 + inkscape:cy="581.58338" 14.60 + inkscape:document-units="px" 14.61 + inkscape:current-layer="layer1" 14.62 + showgrid="false" 14.63 + inkscape:window-width="1600" 14.64 + inkscape:window-height="848" 14.65 + inkscape:window-x="-8" 14.66 + inkscape:window-y="-8" 14.67 + inkscape:window-maximized="1" /> 14.68 + <metadata 14.69 + id="metadata7"> 14.70 + <rdf:RDF> 14.71 + <cc:Work 14.72 + rdf:about=""> 14.73 + <dc:format>image/svg+xml</dc:format> 14.74 + <dc:type 14.75 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 14.76 + <dc:title></dc:title> 14.77 + </cc:Work> 14.78 + </rdf:RDF> 14.79 + </metadata> 14.80 + <g 14.81 + inkscape:label="Layer 1" 14.82 + inkscape:groupmode="layer" 14.83 + id="layer1"> 14.84 + <path 14.85 + inkscape:connector-curvature="0" 14.86 + id="2" 14.87 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.89 + <path 14.90 + inkscape:connector-curvature="0" 14.91 + id="3" 14.92 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.94 + <path 14.95 + inkscape:connector-curvature="0" 14.96 + id="4" 14.97 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.99 + <path 14.100 + inkscape:connector-curvature="0" 14.101 + id="5" 14.102 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.104 + <path 14.105 + inkscape:connector-curvature="0" 14.106 + id="6" 14.107 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.109 + <path 14.110 + inkscape:connector-curvature="0" 14.111 + id="7" 14.112 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.114 + <path 14.115 + inkscape:connector-curvature="0" 14.116 + id="8" 14.117 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.119 + <path 14.120 + inkscape:connector-curvature="0" 14.121 + id="9" 14.122 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.124 + <path 14.125 + inkscape:connector-curvature="0" 14.126 + id="10" 14.127 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.129 + <path 14.130 + inkscape:connector-curvature="0" 14.131 + id="11" 14.132 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.134 + <path 14.135 + inkscape:connector-curvature="0" 14.136 + id="12" 14.137 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.139 + <path 14.140 + inkscape:connector-curvature="0" 14.141 + id="13" 14.142 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.144 + <path 14.145 + inkscape:connector-curvature="0" 14.146 + id="14" 14.147 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.149 + <path 14.150 + inkscape:connector-curvature="0" 14.151 + id="15" 14.152 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.154 + <path 14.155 + inkscape:connector-curvature="0" 14.156 + id="16" 14.157 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.159 + <path 14.160 + inkscape:connector-curvature="0" 14.161 + id="17" 14.162 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.164 + <path 14.165 + inkscape:connector-curvature="0" 14.166 + id="18" 14.167 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.169 + <path 14.170 + inkscape:connector-curvature="0" 14.171 + id="19" 14.172 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.174 + <path 14.175 + inkscape:connector-curvature="0" 14.176 + id="20" 14.177 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.179 + <path 14.180 + inkscape:connector-curvature="0" 14.181 + id="21" 14.182 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.184 + <path 14.185 + inkscape:connector-curvature="0" 14.186 + id="22" 14.187 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.189 + <path 14.190 + inkscape:connector-curvature="0" 14.191 + id="23" 14.192 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.194 + <path 14.195 + inkscape:connector-curvature="0" 14.196 + id="24" 14.197 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.199 + <path 14.200 + inkscape:connector-curvature="0" 14.201 + id="25" 14.202 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.204 + <path 14.205 + inkscape:connector-curvature="0" 14.206 + id="26" 14.207 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.209 + <path 14.210 + inkscape:connector-curvature="0" 14.211 + id="27" 14.212 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.214 + <path 14.215 + inkscape:connector-curvature="0" 14.216 + id="28" 14.217 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.219 + <path 14.220 + inkscape:connector-curvature="0" 14.221 + id="29" 14.222 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.224 + <path 14.225 + inkscape:connector-curvature="0" 14.226 + id="30" 14.227 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.229 + <path 14.230 + inkscape:connector-curvature="0" 14.231 + id="31" 14.232 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.234 + <path 14.235 + inkscape:connector-curvature="0" 14.236 + id="32" 14.237 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.239 + <path 14.240 + inkscape:connector-curvature="0" 14.241 + id="33" 14.242 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.244 + <path 14.245 + inkscape:connector-curvature="0" 14.246 + id="34" 14.247 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.249 + <path 14.250 + inkscape:connector-curvature="0" 14.251 + id="35" 14.252 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.254 + <path 14.255 + inkscape:connector-curvature="0" 14.256 + id="36" 14.257 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.259 + <path 14.260 + inkscape:connector-curvature="0" 14.261 + id="38" 14.262 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.264 + <path 14.265 + inkscape:connector-curvature="0" 14.266 + id="39" 14.267 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.269 + <path 14.270 + inkscape:connector-curvature="0" 14.271 + id="40" 14.272 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.274 + <path 14.275 + inkscape:connector-curvature="0" 14.276 + id="41" 14.277 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.279 + <path 14.280 + inkscape:connector-curvature="0" 14.281 + id="42" 14.282 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.284 + <path 14.285 + inkscape:connector-curvature="0" 14.286 + id="43" 14.287 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.289 + <path 14.290 + inkscape:connector-curvature="0" 14.291 + id="44" 14.292 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.294 + <path 14.295 + inkscape:connector-curvature="0" 14.296 + id="45" 14.297 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.299 + <path 14.300 + inkscape:connector-curvature="0" 14.301 + id="46" 14.302 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.304 + <path 14.305 + inkscape:connector-curvature="0" 14.306 + id="47" 14.307 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.308 + d="m 292.25866,542.49203 0,-5.21078 0.65468,0 0,5.21078 -0.65468,0 z" /> 14.309 + <path 14.310 + inkscape:connector-curvature="0" 14.311 + id="48" 14.312 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.314 + <path 14.315 + inkscape:connector-curvature="0" 14.316 + id="49" 14.317 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.319 + <path 14.320 + inkscape:connector-curvature="0" 14.321 + id="50" 14.322 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.324 + <path 14.325 + inkscape:connector-curvature="0" 14.326 + id="51" 14.327 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.329 + <path 14.330 + inkscape:connector-curvature="0" 14.331 + id="52" 14.332 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.334 + <path 14.335 + inkscape:connector-curvature="0" 14.336 + id="53" 14.337 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.339 + <path 14.340 + inkscape:connector-curvature="0" 14.341 + id="54" 14.342 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.344 + <path 14.345 + inkscape:connector-curvature="0" 14.346 + id="55" 14.347 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.349 + <path 14.350 + inkscape:connector-curvature="0" 14.351 + id="56" 14.352 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.354 + <path 14.355 + inkscape:connector-curvature="0" 14.356 + id="57" 14.357 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.359 + <path 14.360 + inkscape:connector-curvature="0" 14.361 + id="58" 14.362 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.364 + <path 14.365 + inkscape:connector-curvature="0" 14.366 + id="59" 14.367 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.369 + <path 14.370 + inkscape:connector-curvature="0" 14.371 + id="60" 14.372 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.374 + <path 14.375 + inkscape:connector-curvature="0" 14.376 + id="61" 14.377 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.379 + <path 14.380 + inkscape:connector-curvature="0" 14.381 + id="62" 14.382 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.384 + <path 14.385 + inkscape:connector-curvature="0" 14.386 + id="63" 14.387 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.389 + <path 14.390 + inkscape:connector-curvature="0" 14.391 + id="64" 14.392 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.394 + <path 14.395 + inkscape:connector-curvature="0" 14.396 + id="65" 14.397 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.399 + <path 14.400 + inkscape:connector-curvature="0" 14.401 + id="66" 14.402 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.404 + <path 14.405 + inkscape:connector-curvature="0" 14.406 + id="67" 14.407 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.409 + <path 14.410 + inkscape:connector-curvature="0" 14.411 + id="68" 14.412 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.414 + <path 14.415 + inkscape:connector-curvature="0" 14.416 + id="69" 14.417 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.419 + <path 14.420 + inkscape:connector-curvature="0" 14.421 + id="70" 14.422 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.424 + <path 14.425 + inkscape:connector-curvature="0" 14.426 + id="71" 14.427 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.429 + <path 14.430 + inkscape:connector-curvature="0" 14.431 + id="72" 14.432 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.434 + <path 14.435 + inkscape:connector-curvature="0" 14.436 + id="73" 14.437 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.439 + <path 14.440 + inkscape:connector-curvature="0" 14.441 + id="74" 14.442 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.444 + <path 14.445 + inkscape:connector-curvature="0" 14.446 + id="75" 14.447 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.449 + <path 14.450 + inkscape:connector-curvature="0" 14.451 + id="76" 14.452 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.454 + <path 14.455 + inkscape:connector-curvature="0" 14.456 + id="77" 14.457 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.459 + <path 14.460 + inkscape:connector-curvature="0" 14.461 + id="78" 14.462 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.464 + <path 14.465 + inkscape:connector-curvature="0" 14.466 + id="79" 14.467 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.469 + <path 14.470 + inkscape:connector-curvature="0" 14.471 + id="80" 14.472 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.474 + <path 14.475 + inkscape:connector-curvature="0" 14.476 + id="81" 14.477 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.479 + <path 14.480 + inkscape:connector-curvature="0" 14.481 + id="82" 14.482 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.484 + <path 14.485 + inkscape:connector-curvature="0" 14.486 + id="83" 14.487 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.489 + <path 14.490 + inkscape:connector-curvature="0" 14.491 + id="84" 14.492 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.494 + <path 14.495 + inkscape:connector-curvature="0" 14.496 + id="85" 14.497 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.499 + <path 14.500 + inkscape:connector-curvature="0" 14.501 + id="86" 14.502 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.504 + <path 14.505 + inkscape:connector-curvature="0" 14.506 + id="87" 14.507 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.509 + <path 14.510 + inkscape:connector-curvature="0" 14.511 + id="88" 14.512 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.514 + <path 14.515 + inkscape:connector-curvature="0" 14.516 + id="89" 14.517 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.519 + <path 14.520 + inkscape:connector-curvature="0" 14.521 + id="90" 14.522 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.524 + <path 14.525 + inkscape:connector-curvature="0" 14.526 + id="91" 14.527 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.529 + <path 14.530 + inkscape:connector-curvature="0" 14.531 + id="92" 14.532 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.534 + <path 14.535 + inkscape:connector-curvature="0" 14.536 + id="93" 14.537 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.539 + <path 14.540 + inkscape:connector-curvature="0" 14.541 + id="94" 14.542 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.544 + <path 14.545 + inkscape:connector-curvature="0" 14.546 + id="95" 14.547 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.549 + <path 14.550 + inkscape:connector-curvature="0" 14.551 + id="96" 14.552 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.554 + <path 14.555 + inkscape:connector-curvature="0" 14.556 + id="97" 14.557 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.559 + <path 14.560 + inkscape:connector-curvature="0" 14.561 + id="98" 14.562 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.564 + <path 14.565 + inkscape:connector-curvature="0" 14.566 + id="99" 14.567 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.569 + <path 14.570 + inkscape:connector-curvature="0" 14.571 + id="100" 14.572 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.574 + <path 14.575 + inkscape:connector-curvature="0" 14.576 + id="101" 14.577 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.579 + <path 14.580 + inkscape:connector-curvature="0" 14.581 + id="102" 14.582 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.584 + <path 14.585 + inkscape:connector-curvature="0" 14.586 + id="103" 14.587 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.589 + <path 14.590 + inkscape:connector-curvature="0" 14.591 + id="104" 14.592 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.594 + <path 14.595 + inkscape:connector-curvature="0" 14.596 + id="105" 14.597 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.599 + <path 14.600 + inkscape:connector-curvature="0" 14.601 + id="106" 14.602 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.604 + <path 14.605 + inkscape:connector-curvature="0" 14.606 + id="107" 14.607 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.609 + <path 14.610 + inkscape:connector-curvature="0" 14.611 + id="108" 14.612 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.614 + <path 14.615 + inkscape:connector-curvature="0" 14.616 + id="109" 14.617 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.619 + <path 14.620 + inkscape:connector-curvature="0" 14.621 + id="110" 14.622 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.624 + <path 14.625 + inkscape:connector-curvature="0" 14.626 + id="111" 14.627 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.628 + d="m 497.24262,542.49203 0,-5.21078 0.65467,0 0,5.21078 -0.65467,0 z" /> 14.629 + <path 14.630 + inkscape:connector-curvature="0" 14.631 + id="112" 14.632 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.634 + <path 14.635 + inkscape:connector-curvature="0" 14.636 + id="113" 14.637 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.639 + <path 14.640 + inkscape:connector-curvature="0" 14.641 + id="114" 14.642 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.644 + <path 14.645 + inkscape:connector-curvature="0" 14.646 + id="115" 14.647 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.649 + <path 14.650 + inkscape:connector-curvature="0" 14.651 + id="116" 14.652 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.654 + <path 14.655 + inkscape:connector-curvature="0" 14.656 + id="117" 14.657 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.659 + <path 14.660 + inkscape:connector-curvature="0" 14.661 + id="118" 14.662 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.664 + <path 14.665 + inkscape:connector-curvature="0" 14.666 + id="119" 14.667 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.669 + <path 14.670 + inkscape:connector-curvature="0" 14.671 + id="120" 14.672 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.674 + <path 14.675 + inkscape:connector-curvature="0" 14.676 + id="121" 14.677 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.679 + <path 14.680 + inkscape:connector-curvature="0" 14.681 + id="122" 14.682 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.684 + <path 14.685 + inkscape:connector-curvature="0" 14.686 + id="123" 14.687 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.689 + <path 14.690 + inkscape:connector-curvature="0" 14.691 + id="124" 14.692 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.694 + <path 14.695 + inkscape:connector-curvature="0" 14.696 + id="125" 14.697 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.699 + <path 14.700 + inkscape:connector-curvature="0" 14.701 + id="126" 14.702 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.704 + <path 14.705 + inkscape:connector-curvature="0" 14.706 + id="127" 14.707 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.709 + <path 14.710 + inkscape:connector-curvature="0" 14.711 + id="128" 14.712 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.714 + <path 14.715 + inkscape:connector-curvature="0" 14.716 + id="129" 14.717 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.719 + <path 14.720 + inkscape:connector-curvature="0" 14.721 + id="130" 14.722 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.724 + <path 14.725 + inkscape:connector-curvature="0" 14.726 + id="131" 14.727 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.729 + <path 14.730 + inkscape:connector-curvature="0" 14.731 + id="132" 14.732 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.734 + <path 14.735 + inkscape:connector-curvature="0" 14.736 + id="133" 14.737 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.739 + <path 14.740 + inkscape:connector-curvature="0" 14.741 + id="134" 14.742 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.744 + <path 14.745 + inkscape:connector-curvature="0" 14.746 + id="135" 14.747 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.749 + <path 14.750 + inkscape:connector-curvature="0" 14.751 + id="136" 14.752 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.754 + <path 14.755 + inkscape:connector-curvature="0" 14.756 + id="137" 14.757 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.759 + <path 14.760 + inkscape:connector-curvature="0" 14.761 + id="138" 14.762 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.764 + <path 14.765 + inkscape:connector-curvature="0" 14.766 + id="139" 14.767 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.769 + <path 14.770 + inkscape:connector-curvature="0" 14.771 + id="140" 14.772 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.774 + <path 14.775 + inkscape:connector-curvature="0" 14.776 + id="141" 14.777 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.779 + <path 14.780 + inkscape:connector-curvature="0" 14.781 + id="142" 14.782 + style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.784 + <path 14.785 + inkscape:connector-curvature="0" 14.786 + id="143" 14.787 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.789 + <path 14.790 + inkscape:connector-curvature="0" 14.791 + id="144" 14.792 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.794 + <path 14.795 + inkscape:connector-curvature="0" 14.796 + id="145" 14.797 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.799 + <path 14.800 + inkscape:connector-curvature="0" 14.801 + id="146" 14.802 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.804 + <path 14.805 + inkscape:connector-curvature="0" 14.806 + id="147" 14.807 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.809 + <path 14.810 + inkscape:connector-curvature="0" 14.811 + id="148" 14.812 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.814 + <path 14.815 + inkscape:connector-curvature="0" 14.816 + id="149" 14.817 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.819 + <path 14.820 + inkscape:connector-curvature="0" 14.821 + id="150" 14.822 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.824 + <path 14.825 + inkscape:connector-curvature="0" 14.826 + id="151" 14.827 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.829 + <path 14.830 + inkscape:connector-curvature="0" 14.831 + id="152" 14.832 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.834 + <path 14.835 + inkscape:connector-curvature="0" 14.836 + id="153" 14.837 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.839 + <path 14.840 + inkscape:connector-curvature="0" 14.841 + id="154" 14.842 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.844 + <path 14.845 + inkscape:connector-curvature="0" 14.846 + id="190" 14.847 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.849 + <path 14.850 + inkscape:connector-curvature="0" 14.851 + id="191" 14.852 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.854 + <path 14.855 + inkscape:connector-curvature="0" 14.856 + id="192" 14.857 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.859 + <path 14.860 + inkscape:connector-curvature="0" 14.861 + id="193" 14.862 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.864 + <path 14.865 + inkscape:connector-curvature="0" 14.866 + id="194" 14.867 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.869 + <path 14.870 + inkscape:connector-curvature="0" 14.871 + id="195" 14.872 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.874 + <path 14.875 + inkscape:connector-curvature="0" 14.876 + id="220" 14.877 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.879 + <path 14.880 + inkscape:connector-curvature="0" 14.881 + id="221" 14.882 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.884 + <path 14.885 + inkscape:connector-curvature="0" 14.886 + id="222" 14.887 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.889 + <path 14.890 + inkscape:connector-curvature="0" 14.891 + id="223" 14.892 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.894 + <path 14.895 + inkscape:connector-curvature="0" 14.896 + id="224" 14.897 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.899 + <path 14.900 + inkscape:connector-curvature="0" 14.901 + id="225" 14.902 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.904 + <path 14.905 + inkscape:connector-curvature="0" 14.906 + id="226" 14.907 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.909 + <path 14.910 + inkscape:connector-curvature="0" 14.911 + id="227" 14.912 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.914 + <path 14.915 + inkscape:connector-curvature="0" 14.916 + id="228" 14.917 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.919 + <path 14.920 + inkscape:connector-curvature="0" 14.921 + id="229" 14.922 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.924 + <path 14.925 + inkscape:connector-curvature="0" 14.926 + id="230" 14.927 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.929 + <path 14.930 + inkscape:connector-curvature="0" 14.931 + id="231" 14.932 + style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.934 + <path 14.935 + inkscape:connector-curvature="0" 14.936 + id="264" 14.937 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.939 + <path 14.940 + inkscape:connector-curvature="0" 14.941 + id="265" 14.942 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.944 + <path 14.945 + inkscape:connector-curvature="0" 14.946 + id="266" 14.947 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.949 + <path 14.950 + inkscape:connector-curvature="0" 14.951 + id="267" 14.952 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.954 + <path 14.955 + inkscape:connector-curvature="0" 14.956 + id="268" 14.957 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.959 + <path 14.960 + inkscape:connector-curvature="0" 14.961 + id="269" 14.962 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.964 + <path 14.965 + inkscape:connector-curvature="0" 14.966 + id="294" 14.967 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.969 + <path 14.970 + inkscape:connector-curvature="0" 14.971 + id="295" 14.972 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.974 + <path 14.975 + inkscape:connector-curvature="0" 14.976 + id="296" 14.977 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.979 + <path 14.980 + inkscape:connector-curvature="0" 14.981 + id="297" 14.982 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.984 + <path 14.985 + inkscape:connector-curvature="0" 14.986 + id="298" 14.987 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.989 + <path 14.990 + inkscape:connector-curvature="0" 14.991 + id="299" 14.992 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.994 + <path 14.995 + inkscape:connector-curvature="0" 14.996 + id="300" 14.997 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.999 + <path 14.1000 + inkscape:connector-curvature="0" 14.1001 + id="301" 14.1002 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1004 + <path 14.1005 + inkscape:connector-curvature="0" 14.1006 + id="302" 14.1007 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1009 + <path 14.1010 + inkscape:connector-curvature="0" 14.1011 + id="303" 14.1012 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1014 + <path 14.1015 + inkscape:connector-curvature="0" 14.1016 + id="304" 14.1017 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1019 + <path 14.1020 + inkscape:connector-curvature="0" 14.1021 + id="305" 14.1022 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1024 + <path 14.1025 + inkscape:connector-curvature="0" 14.1026 + id="366" 14.1027 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1029 + <path 14.1030 + inkscape:connector-curvature="0" 14.1031 + id="367" 14.1032 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1034 + <path 14.1035 + inkscape:connector-curvature="0" 14.1036 + id="368" 14.1037 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1039 + <path 14.1040 + inkscape:connector-curvature="0" 14.1041 + id="369" 14.1042 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1044 + <path 14.1045 + inkscape:connector-curvature="0" 14.1046 + id="370" 14.1047 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1049 + <path 14.1050 + inkscape:connector-curvature="0" 14.1051 + id="371" 14.1052 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1054 + <path 14.1055 + inkscape:connector-curvature="0" 14.1056 + id="372" 14.1057 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1059 + <path 14.1060 + inkscape:connector-curvature="0" 14.1061 + id="373" 14.1062 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1064 + <path 14.1065 + inkscape:connector-curvature="0" 14.1066 + id="374" 14.1067 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1069 + <path 14.1070 + inkscape:connector-curvature="0" 14.1071 + id="375" 14.1072 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1074 + <path 14.1075 + inkscape:connector-curvature="0" 14.1076 + id="376" 14.1077 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1079 + <path 14.1080 + inkscape:connector-curvature="0" 14.1081 + id="377" 14.1082 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1084 + <path 14.1085 + inkscape:connector-curvature="0" 14.1086 + id="378" 14.1087 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1089 + <path 14.1090 + inkscape:connector-curvature="0" 14.1091 + id="379" 14.1092 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1094 + <path 14.1095 + inkscape:connector-curvature="0" 14.1096 + id="380" 14.1097 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1099 + <path 14.1100 + inkscape:connector-curvature="0" 14.1101 + id="381" 14.1102 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1104 + <path 14.1105 + inkscape:connector-curvature="0" 14.1106 + id="382" 14.1107 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1109 + <path 14.1110 + inkscape:connector-curvature="0" 14.1111 + id="383" 14.1112 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1114 + <path 14.1115 + inkscape:connector-curvature="0" 14.1116 + id="384" 14.1117 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1119 + <path 14.1120 + inkscape:connector-curvature="0" 14.1121 + id="385" 14.1122 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1124 + <path 14.1125 + inkscape:connector-curvature="0" 14.1126 + id="386" 14.1127 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1129 + <path 14.1130 + inkscape:connector-curvature="0" 14.1131 + id="387" 14.1132 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1134 + <path 14.1135 + inkscape:connector-curvature="0" 14.1136 + id="388" 14.1137 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1139 + <path 14.1140 + inkscape:connector-curvature="0" 14.1141 + id="389" 14.1142 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1144 + <path 14.1145 + inkscape:connector-curvature="0" 14.1146 + id="390" 14.1147 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1149 + <path 14.1150 + inkscape:connector-curvature="0" 14.1151 + id="391" 14.1152 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1154 + <path 14.1155 + inkscape:connector-curvature="0" 14.1156 + id="392" 14.1157 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1159 + <path 14.1160 + inkscape:connector-curvature="0" 14.1161 + id="393" 14.1162 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1164 + <path 14.1165 + inkscape:connector-curvature="0" 14.1166 + id="394" 14.1167 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1169 + <path 14.1170 + inkscape:connector-curvature="0" 14.1171 + id="395" 14.1172 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1174 + <path 14.1175 + inkscape:connector-curvature="0" 14.1176 + id="396" 14.1177 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1179 + <path 14.1180 + inkscape:connector-curvature="0" 14.1181 + id="397" 14.1182 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1184 + <path 14.1185 + inkscape:connector-curvature="0" 14.1186 + id="398" 14.1187 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1189 + <path 14.1190 + inkscape:connector-curvature="0" 14.1191 + id="399" 14.1192 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1194 + <path 14.1195 + inkscape:connector-curvature="0" 14.1196 + id="400" 14.1197 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1199 + <path 14.1200 + inkscape:connector-curvature="0" 14.1201 + id="401" 14.1202 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1204 + <path 14.1205 + inkscape:connector-curvature="0" 14.1206 + id="402" 14.1207 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1209 + <path 14.1210 + inkscape:connector-curvature="0" 14.1211 + id="403" 14.1212 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1214 + <path 14.1215 + inkscape:connector-curvature="0" 14.1216 + id="404" 14.1217 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1219 + <path 14.1220 + inkscape:connector-curvature="0" 14.1221 + id="405" 14.1222 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1224 + <path 14.1225 + inkscape:connector-curvature="0" 14.1226 + id="406" 14.1227 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1229 + <path 14.1230 + inkscape:connector-curvature="0" 14.1231 + id="407" 14.1232 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1234 + <path 14.1235 + inkscape:connector-curvature="0" 14.1236 + id="408" 14.1237 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1239 + <path 14.1240 + inkscape:connector-curvature="0" 14.1241 + id="409" 14.1242 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1244 + <path 14.1245 + inkscape:connector-curvature="0" 14.1246 + id="410" 14.1247 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1249 + <path 14.1250 + inkscape:connector-curvature="0" 14.1251 + id="411" 14.1252 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1254 + <path 14.1255 + inkscape:connector-curvature="0" 14.1256 + id="412" 14.1257 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1259 + <path 14.1260 + inkscape:connector-curvature="0" 14.1261 + id="413" 14.1262 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1264 + <path 14.1265 + inkscape:connector-curvature="0" 14.1266 + id="414" 14.1267 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1269 + <path 14.1270 + inkscape:connector-curvature="0" 14.1271 + id="415" 14.1272 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1274 + <path 14.1275 + inkscape:connector-curvature="0" 14.1276 + id="416" 14.1277 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1279 + <path 14.1280 + inkscape:connector-curvature="0" 14.1281 + id="417" 14.1282 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1284 + <path 14.1285 + inkscape:connector-curvature="0" 14.1286 + id="418" 14.1287 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1289 + <path 14.1290 + inkscape:connector-curvature="0" 14.1291 + id="419" 14.1292 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1294 + <path 14.1295 + inkscape:connector-curvature="0" 14.1296 + id="420" 14.1297 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1299 + <path 14.1300 + inkscape:connector-curvature="0" 14.1301 + id="421" 14.1302 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1304 + <path 14.1305 + inkscape:connector-curvature="0" 14.1306 + id="422" 14.1307 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1309 + <path 14.1310 + inkscape:connector-curvature="0" 14.1311 + id="423" 14.1312 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1314 + <path 14.1315 + inkscape:connector-curvature="0" 14.1316 + id="424" 14.1317 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1319 + <path 14.1320 + inkscape:connector-curvature="0" 14.1321 + id="425" 14.1322 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1324 + <path 14.1325 + inkscape:connector-curvature="0" 14.1326 + id="426" 14.1327 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1329 + <path 14.1330 + inkscape:connector-curvature="0" 14.1331 + id="427" 14.1332 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1334 + <path 14.1335 + inkscape:connector-curvature="0" 14.1336 + id="428" 14.1337 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1339 + <path 14.1340 + inkscape:connector-curvature="0" 14.1341 + id="429" 14.1342 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1344 + <path 14.1345 + inkscape:connector-curvature="0" 14.1346 + id="430" 14.1347 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1349 + <path 14.1350 + inkscape:connector-curvature="0" 14.1351 + id="431" 14.1352 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1354 + <path 14.1355 + inkscape:connector-curvature="0" 14.1356 + id="432" 14.1357 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1359 + <path 14.1360 + inkscape:connector-curvature="0" 14.1361 + id="433" 14.1362 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1364 + <path 14.1365 + inkscape:connector-curvature="0" 14.1366 + id="434" 14.1367 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1369 + <path 14.1370 + inkscape:connector-curvature="0" 14.1371 + id="435" 14.1372 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1374 + <path 14.1375 + inkscape:connector-curvature="0" 14.1376 + id="436" 14.1377 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1379 + <path 14.1380 + inkscape:connector-curvature="0" 14.1381 + id="437" 14.1382 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1384 + <path 14.1385 + inkscape:connector-curvature="0" 14.1386 + id="438" 14.1387 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1389 + <path 14.1390 + inkscape:connector-curvature="0" 14.1391 + id="439" 14.1392 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1394 + <path 14.1395 + inkscape:connector-curvature="0" 14.1396 + id="440" 14.1397 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1399 + <path 14.1400 + inkscape:connector-curvature="0" 14.1401 + id="441" 14.1402 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1404 + <path 14.1405 + inkscape:connector-curvature="0" 14.1406 + id="442" 14.1407 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1409 + <path 14.1410 + inkscape:connector-curvature="0" 14.1411 + id="443" 14.1412 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1414 + <path 14.1415 + inkscape:connector-curvature="0" 14.1416 + id="444" 14.1417 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1419 + <path 14.1420 + inkscape:connector-curvature="0" 14.1421 + id="445" 14.1422 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1424 + <path 14.1425 + inkscape:connector-curvature="0" 14.1426 + id="446" 14.1427 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1429 + <path 14.1430 + inkscape:connector-curvature="0" 14.1431 + id="447" 14.1432 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1434 + <path 14.1435 + inkscape:connector-curvature="0" 14.1436 + id="448" 14.1437 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1439 + <path 14.1440 + inkscape:connector-curvature="0" 14.1441 + id="449" 14.1442 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1444 + <path 14.1445 + inkscape:connector-curvature="0" 14.1446 + id="450" 14.1447 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1449 + <path 14.1450 + inkscape:connector-curvature="0" 14.1451 + id="451" 14.1452 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1454 + <path 14.1455 + inkscape:connector-curvature="0" 14.1456 + id="452" 14.1457 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1459 + <path 14.1460 + inkscape:connector-curvature="0" 14.1461 + id="453" 14.1462 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1464 + <path 14.1465 + inkscape:connector-curvature="0" 14.1466 + id="454" 14.1467 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1469 + <path 14.1470 + inkscape:connector-curvature="0" 14.1471 + id="455" 14.1472 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1474 + <path 14.1475 + inkscape:connector-curvature="0" 14.1476 + id="456" 14.1477 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1479 + <path 14.1480 + inkscape:connector-curvature="0" 14.1481 + id="457" 14.1482 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1484 + <path 14.1485 + inkscape:connector-curvature="0" 14.1486 + id="458" 14.1487 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1489 + <path 14.1490 + inkscape:connector-curvature="0" 14.1491 + id="459" 14.1492 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1494 + <path 14.1495 + inkscape:connector-curvature="0" 14.1496 + id="460" 14.1497 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1499 + <path 14.1500 + inkscape:connector-curvature="0" 14.1501 + id="461" 14.1502 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1504 + <path 14.1505 + inkscape:connector-curvature="0" 14.1506 + id="462" 14.1507 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1509 + <path 14.1510 + inkscape:connector-curvature="0" 14.1511 + id="463" 14.1512 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1514 + <path 14.1515 + inkscape:connector-curvature="0" 14.1516 + id="464" 14.1517 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1519 + <path 14.1520 + inkscape:connector-curvature="0" 14.1521 + id="465" 14.1522 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1524 + <path 14.1525 + inkscape:connector-curvature="0" 14.1526 + id="466" 14.1527 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1529 + <path 14.1530 + inkscape:connector-curvature="0" 14.1531 + id="467" 14.1532 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1534 + <path 14.1535 + inkscape:connector-curvature="0" 14.1536 + id="468" 14.1537 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1539 + <path 14.1540 + inkscape:connector-curvature="0" 14.1541 + id="469" 14.1542 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1544 + <path 14.1545 + inkscape:connector-curvature="0" 14.1546 + id="470" 14.1547 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1549 + <path 14.1550 + inkscape:connector-curvature="0" 14.1551 + id="471" 14.1552 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1554 + <path 14.1555 + inkscape:connector-curvature="0" 14.1556 + id="472" 14.1557 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1559 + <path 14.1560 + inkscape:connector-curvature="0" 14.1561 + id="473" 14.1562 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1564 + <path 14.1565 + inkscape:connector-curvature="0" 14.1566 + id="474" 14.1567 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1569 + <path 14.1570 + inkscape:connector-curvature="0" 14.1571 + id="475" 14.1572 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1574 + <path 14.1575 + inkscape:connector-curvature="0" 14.1576 + id="476" 14.1577 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1579 + <path 14.1580 + inkscape:connector-curvature="0" 14.1581 + id="477" 14.1582 + style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1584 + <path 14.1585 + inkscape:connector-curvature="0" 14.1586 + id="478" 14.1587 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1589 + <path 14.1590 + inkscape:connector-curvature="0" 14.1591 + id="479" 14.1592 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1594 + <path 14.1595 + inkscape:connector-curvature="0" 14.1596 + id="480" 14.1597 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1599 + <path 14.1600 + inkscape:connector-curvature="0" 14.1601 + id="481" 14.1602 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1604 + <path 14.1605 + inkscape:connector-curvature="0" 14.1606 + id="482" 14.1607 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1609 + <path 14.1610 + inkscape:connector-curvature="0" 14.1611 + id="483" 14.1612 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1614 + <path 14.1615 + inkscape:connector-curvature="0" 14.1616 + id="484" 14.1617 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1619 + <path 14.1620 + inkscape:connector-curvature="0" 14.1621 + id="485" 14.1622 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1624 + <path 14.1625 + inkscape:connector-curvature="0" 14.1626 + id="486" 14.1627 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1629 + <path 14.1630 + inkscape:connector-curvature="0" 14.1631 + id="487" 14.1632 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1634 + <path 14.1635 + inkscape:connector-curvature="0" 14.1636 + id="488" 14.1637 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1639 + <path 14.1640 + inkscape:connector-curvature="0" 14.1641 + id="489" 14.1642 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1644 + <path 14.1645 + inkscape:connector-curvature="0" 14.1646 + id="490" 14.1647 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1649 + <path 14.1650 + inkscape:connector-curvature="0" 14.1651 + id="491" 14.1652 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1654 + <path 14.1655 + inkscape:connector-curvature="0" 14.1656 + id="492" 14.1657 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1659 + <path 14.1660 + inkscape:connector-curvature="0" 14.1661 + id="493" 14.1662 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1664 + <path 14.1665 + inkscape:connector-curvature="0" 14.1666 + id="494" 14.1667 + style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1669 + <path 14.1670 + inkscape:connector-curvature="0" 14.1671 + id="495" 14.1672 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1674 + <g 14.1675 + id="g4970" 14.1676 + transform="translate(0,3.3686829)"> 14.1677 + <path 14.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" 14.1679 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1680 + id="533" 14.1681 + inkscape:connector-curvature="0" /> 14.1682 + <path 14.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" 14.1684 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1685 + id="534" 14.1686 + inkscape:connector-curvature="0" /> 14.1687 + <path 14.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" 14.1689 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1690 + id="535" 14.1691 + inkscape:connector-curvature="0" /> 14.1692 + <path 14.1693 + d="m 175.14576,441.33435 0,-8.86555 1.1881,0 0,8.86555 -1.1881,0 z" 14.1694 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1695 + id="536" 14.1696 + inkscape:connector-curvature="0" /> 14.1697 + <path 14.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" 14.1699 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1700 + id="537" 14.1701 + inkscape:connector-curvature="0" /> 14.1702 + <path 14.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" 14.1704 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1705 + id="538" 14.1706 + inkscape:connector-curvature="0" /> 14.1707 + <path 14.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" 14.1709 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1710 + id="539" 14.1711 + inkscape:connector-curvature="0" /> 14.1712 + <path 14.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" 14.1714 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1715 + id="540" 14.1716 + inkscape:connector-curvature="0" /> 14.1717 + <path 14.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" 14.1719 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1720 + id="541" 14.1721 + inkscape:connector-curvature="0" /> 14.1722 + <path 14.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" 14.1724 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1725 + id="542" 14.1726 + inkscape:connector-curvature="0" /> 14.1727 + <path 14.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" 14.1729 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1730 + id="543" 14.1731 + inkscape:connector-curvature="0" /> 14.1732 + </g> 14.1733 + <g 14.1734 + id="g5020" 14.1735 + transform="translate(0,9.3637848)"> 14.1736 + <path 14.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" 14.1738 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1739 + id="544" 14.1740 + inkscape:connector-curvature="0" /> 14.1741 + <path 14.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" 14.1743 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1744 + id="545" 14.1745 + inkscape:connector-curvature="0" /> 14.1746 + <path 14.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" 14.1748 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1749 + id="546" 14.1750 + inkscape:connector-curvature="0" /> 14.1751 + <path 14.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" 14.1753 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1754 + id="547" 14.1755 + inkscape:connector-curvature="0" /> 14.1756 + <path 14.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" 14.1758 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1759 + id="548" 14.1760 + inkscape:connector-curvature="0" /> 14.1761 + <path 14.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" 14.1763 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1764 + id="549" 14.1765 + inkscape:connector-curvature="0" /> 14.1766 + <path 14.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" 14.1768 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1769 + id="550" 14.1770 + inkscape:connector-curvature="0" /> 14.1771 + <path 14.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" 14.1773 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1774 + id="551" 14.1775 + inkscape:connector-curvature="0" /> 14.1776 + <path 14.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" 14.1778 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1779 + id="552" 14.1780 + inkscape:connector-curvature="0" /> 14.1781 + <path 14.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" 14.1783 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1784 + id="553" 14.1785 + inkscape:connector-curvature="0" /> 14.1786 + <path 14.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" 14.1788 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1789 + id="554" 14.1790 + inkscape:connector-curvature="0" /> 14.1791 + <path 14.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" 14.1793 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1794 + id="555" 14.1795 + inkscape:connector-curvature="0" /> 14.1796 + <path 14.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" 14.1798 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1799 + id="556" 14.1800 + inkscape:connector-curvature="0" /> 14.1801 + <path 14.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" 14.1803 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1804 + id="557" 14.1805 + inkscape:connector-curvature="0" /> 14.1806 + <path 14.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" 14.1808 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1809 + id="558" 14.1810 + inkscape:connector-curvature="0" /> 14.1811 + <path 14.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" 14.1813 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1814 + id="559" 14.1815 + inkscape:connector-curvature="0" /> 14.1816 + <path 14.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" 14.1818 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1819 + id="560" 14.1820 + inkscape:connector-curvature="0" /> 14.1821 + <path 14.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" 14.1823 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1824 + id="561" 14.1825 + inkscape:connector-curvature="0" /> 14.1826 + <path 14.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" 14.1828 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1829 + id="562" 14.1830 + inkscape:connector-curvature="0" /> 14.1831 + </g> 14.1832 + <path 14.1833 + inkscape:connector-curvature="0" 14.1834 + id="563" 14.1835 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1837 + <path 14.1838 + inkscape:connector-curvature="0" 14.1839 + id="564" 14.1840 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1842 + <path 14.1843 + inkscape:connector-curvature="0" 14.1844 + id="565" 14.1845 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1847 + <path 14.1848 + inkscape:connector-curvature="0" 14.1849 + id="566" 14.1850 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1852 + <path 14.1853 + inkscape:connector-curvature="0" 14.1854 + id="567" 14.1855 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1857 + <path 14.1858 + inkscape:connector-curvature="0" 14.1859 + id="568" 14.1860 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1862 + <path 14.1863 + inkscape:connector-curvature="0" 14.1864 + id="570" 14.1865 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1867 + <path 14.1868 + inkscape:connector-curvature="0" 14.1869 + id="571" 14.1870 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1872 + <path 14.1873 + inkscape:connector-curvature="0" 14.1874 + id="572" 14.1875 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1877 + <path 14.1878 + inkscape:connector-curvature="0" 14.1879 + id="573" 14.1880 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1882 + <path 14.1883 + inkscape:connector-curvature="0" 14.1884 + id="574" 14.1885 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1887 + <path 14.1888 + inkscape:connector-curvature="0" 14.1889 + id="575" 14.1890 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1892 + <path 14.1893 + inkscape:connector-curvature="0" 14.1894 + id="576" 14.1895 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1897 + <path 14.1898 + inkscape:connector-curvature="0" 14.1899 + id="577" 14.1900 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1902 + <path 14.1903 + inkscape:connector-curvature="0" 14.1904 + id="578" 14.1905 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1907 + <path 14.1908 + inkscape:connector-curvature="0" 14.1909 + id="579" 14.1910 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1912 + <path 14.1913 + inkscape:connector-curvature="0" 14.1914 + id="580" 14.1915 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.1917 + <g 14.1918 + id="g4983" 14.1919 + transform="translate(0,6.7406311)"> 14.1920 + <path 14.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" 14.1922 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1923 + id="581" 14.1924 + inkscape:connector-curvature="0" /> 14.1925 + <path 14.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" 14.1927 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1928 + id="582" 14.1929 + inkscape:connector-curvature="0" /> 14.1930 + <path 14.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" 14.1932 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1933 + id="583" 14.1934 + inkscape:connector-curvature="0" /> 14.1935 + <path 14.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" 14.1937 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1938 + id="584" 14.1939 + inkscape:connector-curvature="0" /> 14.1940 + <path 14.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" 14.1942 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1943 + id="585" 14.1944 + inkscape:connector-curvature="0" /> 14.1945 + <path 14.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" 14.1947 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1948 + id="586" 14.1949 + inkscape:connector-curvature="0" /> 14.1950 + <path 14.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" 14.1952 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1953 + id="587" 14.1954 + inkscape:connector-curvature="0" /> 14.1955 + <path 14.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" 14.1957 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1958 + id="588" 14.1959 + inkscape:connector-curvature="0" /> 14.1960 + <path 14.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" 14.1962 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1963 + id="589" 14.1964 + inkscape:connector-curvature="0" /> 14.1965 + <path 14.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" 14.1967 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1968 + id="590" 14.1969 + inkscape:connector-curvature="0" /> 14.1970 + <path 14.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" 14.1972 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1973 + id="591" 14.1974 + inkscape:connector-curvature="0" /> 14.1975 + <path 14.1976 + d="m 174.0304,487.25353 0,-8.86556 1.18811,0 0,8.86556 -1.18811,0 z" 14.1977 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1978 + id="592" 14.1979 + inkscape:connector-curvature="0" /> 14.1980 + <path 14.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" 14.1982 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1983 + id="593" 14.1984 + inkscape:connector-curvature="0" /> 14.1985 + <path 14.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" 14.1987 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1988 + id="594" 14.1989 + inkscape:connector-curvature="0" /> 14.1990 + <path 14.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" 14.1992 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1993 + id="595" 14.1994 + inkscape:connector-curvature="0" /> 14.1995 + <path 14.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" 14.1997 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.1998 + id="596" 14.1999 + inkscape:connector-curvature="0" /> 14.2000 + <path 14.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" 14.2002 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2003 + id="597" 14.2004 + inkscape:connector-curvature="0" /> 14.2005 + </g> 14.2006 + <path 14.2007 + inkscape:connector-curvature="0" 14.2008 + id="598" 14.2009 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.2011 + <path 14.2012 + inkscape:connector-curvature="0" 14.2013 + id="599" 14.2014 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.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" /> 14.2016 + <g 14.2017 + id="g5002" 14.2018 + transform="translate(0.42735043,9.8529205)"> 14.2019 + <path 14.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" 14.2021 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2022 + id="37" 14.2023 + inkscape:connector-curvature="0" /> 14.2024 + <path 14.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" 14.2026 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2027 + id="606" 14.2028 + inkscape:connector-curvature="0" /> 14.2029 + <path 14.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" 14.2031 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2032 + id="607" 14.2033 + inkscape:connector-curvature="0" /> 14.2034 + <path 14.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" 14.2036 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2037 + id="608" 14.2038 + inkscape:connector-curvature="0" /> 14.2039 + <path 14.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" 14.2041 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2042 + id="609" 14.2043 + inkscape:connector-curvature="0" /> 14.2044 + <path 14.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" 14.2046 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2047 + id="610" 14.2048 + inkscape:connector-curvature="0" /> 14.2049 + <path 14.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" 14.2051 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2052 + id="611" 14.2053 + inkscape:connector-curvature="0" /> 14.2054 + <path 14.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" 14.2056 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2057 + id="612" 14.2058 + inkscape:connector-curvature="0" /> 14.2059 + <path 14.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" 14.2061 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2062 + id="613" 14.2063 + inkscape:connector-curvature="0" /> 14.2064 + <path 14.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" 14.2066 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2067 + id="614" 14.2068 + inkscape:connector-curvature="0" /> 14.2069 + <path 14.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" 14.2071 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2072 + id="615" 14.2073 + inkscape:connector-curvature="0" /> 14.2074 + <path 14.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" 14.2076 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2077 + id="616" 14.2078 + inkscape:connector-curvature="0" /> 14.2079 + <path 14.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" 14.2081 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2082 + id="617" 14.2083 + inkscape:connector-curvature="0" /> 14.2084 + <path 14.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" 14.2086 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2087 + id="618" 14.2088 + inkscape:connector-curvature="0" /> 14.2089 + <path 14.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" 14.2091 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2092 + id="619" 14.2093 + inkscape:connector-curvature="0" /> 14.2094 + <path 14.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" 14.2096 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2097 + id="620" 14.2098 + inkscape:connector-curvature="0" /> 14.2099 + </g> 14.2100 + <g 14.2101 + id="g5041" 14.2102 + transform="translate(0.42735043,3)"> 14.2103 + <path 14.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" 14.2105 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2106 + id="621" 14.2107 + inkscape:connector-curvature="0" /> 14.2108 + <path 14.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" 14.2110 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2111 + id="622" 14.2112 + inkscape:connector-curvature="0" /> 14.2113 + <path 14.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" 14.2115 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2116 + id="623" 14.2117 + inkscape:connector-curvature="0" /> 14.2118 + <path 14.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" 14.2120 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2121 + id="624" 14.2122 + inkscape:connector-curvature="0" /> 14.2123 + <path 14.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" 14.2125 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2126 + id="625" 14.2127 + inkscape:connector-curvature="0" /> 14.2128 + <path 14.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" 14.2130 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2131 + id="626" 14.2132 + inkscape:connector-curvature="0" /> 14.2133 + <path 14.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" 14.2135 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2136 + id="627" 14.2137 + inkscape:connector-curvature="0" /> 14.2138 + <path 14.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" 14.2140 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2141 + id="628" 14.2142 + inkscape:connector-curvature="0" /> 14.2143 + </g> 14.2144 + <path 14.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" 14.2146 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2147 + id="path4926" 14.2148 + inkscape:connector-curvature="0" /> 14.2149 + <path 14.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" 14.2151 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2152 + id="path4928" 14.2153 + inkscape:connector-curvature="0" /> 14.2154 + <path 14.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" 14.2156 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2157 + id="path4930" 14.2158 + inkscape:connector-curvature="0" /> 14.2159 + <path 14.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" 14.2161 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2162 + id="path4932" 14.2163 + inkscape:connector-curvature="0" /> 14.2164 + <path 14.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" 14.2166 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2167 + id="path4934" 14.2168 + inkscape:connector-curvature="0" /> 14.2169 + <path 14.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" 14.2171 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2172 + id="path4936" 14.2173 + inkscape:connector-curvature="0" /> 14.2174 + <path 14.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" 14.2176 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2177 + id="path4938" 14.2178 + inkscape:connector-curvature="0" /> 14.2179 + <path 14.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" 14.2181 + style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2182 + id="path4940" 14.2183 + inkscape:connector-curvature="0" /> 14.2184 + <path 14.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" 14.2186 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2187 + id="path4942" 14.2188 + inkscape:connector-curvature="0" /> 14.2189 + <path 14.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" 14.2191 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2192 + id="path4944" 14.2193 + inkscape:connector-curvature="0" /> 14.2194 + <path 14.2195 + d="m 394.94462,423.27483 0,-5.77164 0.7274,0 0,5.77164 -0.7274,0 z" 14.2196 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2197 + id="path4946" 14.2198 + inkscape:connector-curvature="0" /> 14.2199 + <path 14.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" 14.2201 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2202 + id="path4948" 14.2203 + inkscape:connector-curvature="0" /> 14.2204 + <path 14.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" 14.2206 + style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2207 + id="path4950" 14.2208 + inkscape:connector-curvature="0" /> 14.2209 + <path 14.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" 14.2211 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2212 + id="path4952" 14.2213 + inkscape:connector-curvature="0" /> 14.2214 + <path 14.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" 14.2216 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2217 + id="path4954" 14.2218 + inkscape:connector-curvature="0" /> 14.2219 + <path 14.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" 14.2221 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2222 + id="path4956" 14.2223 + inkscape:connector-curvature="0" /> 14.2224 + <path 14.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" 14.2226 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2227 + id="path4958" 14.2228 + inkscape:connector-curvature="0" /> 14.2229 + <path 14.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" 14.2231 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2232 + id="path4960" 14.2233 + inkscape:connector-curvature="0" /> 14.2234 + <path 14.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" 14.2236 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2237 + id="path4962" 14.2238 + inkscape:connector-curvature="0" /> 14.2239 + <path 14.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" 14.2241 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2242 + id="path4964" 14.2243 + inkscape:connector-curvature="0" /> 14.2244 + <path 14.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" 14.2246 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2247 + id="path4966" 14.2248 + inkscape:connector-curvature="0" /> 14.2249 + <path 14.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" 14.2251 + style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 14.2252 + id="path4968" 14.2253 + inkscape:connector-curvature="0" /> 14.2254 + <g 14.2255 + id="g11392" 14.2256 + transform="translate(420,8.7179488)"> 14.2257 + <text 14.2258 + sodipodi:linespacing="125%" 14.2259 + id="text5053" 14.2260 + y="450.37811" 14.2261 + x="150.58965" 14.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" 14.2263 + xml:space="preserve"><tspan 14.2264 + y="450.37811" 14.2265 + x="150.58965" 14.2266 + id="tspan5055" 14.2267 + sodipodi:role="line">Lang Syntax</tspan></text> 14.2268 + <rect 14.2269 + y="440.80841" 14.2270 + x="147.80876" 14.2271 + height="12.350597" 14.2272 + width="53.784859" 14.2273 + id="rect5088" 14.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" /> 14.2275 + </g> 14.2276 + <g 14.2277 + id="g11409" 14.2278 + transform="translate(18.42735,0)"> 14.2279 + <text 14.2280 + xml:space="preserve" 14.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" 14.2282 + x="552.58966" 14.2283 + y="513.97961" 14.2284 + id="text5057" 14.2285 + sodipodi:linespacing="125%"><tspan 14.2286 + sodipodi:role="line" 14.2287 + id="tspan5059" 14.2288 + x="552.58966" 14.2289 + y="513.97961">Request Intf</tspan></text> 14.2290 + <rect 14.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" 14.2292 + id="rect5090" 14.2293 + width="52.938667" 14.2294 + height="12.350597" 14.2295 + x="549.80878" 14.2296 + y="504.41" /> 14.2297 + </g> 14.2298 + <g 14.2299 + id="g11399" 14.2300 + transform="translate(-29.57265,13.57265)"> 14.2301 + <text 14.2302 + sodipodi:linespacing="125%" 14.2303 + id="text5061" 14.2304 + y="565.97961" 14.2305 + x="616.58966" 14.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" 14.2307 + xml:space="preserve"><tspan 14.2308 + y="565.97961" 14.2309 + x="616.58966" 14.2310 + id="tspan5063" 14.2311 + sodipodi:role="line">VMS Intf</tspan></text> 14.2312 + <rect 14.2313 + y="556.40991" 14.2314 + x="613.80878" 14.2315 + height="12.350597" 14.2316 + width="37.162453" 14.2317 + id="rect5092" 14.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" /> 14.2319 + </g> 14.2320 + <g 14.2321 + id="g11404" 14.2322 + transform="translate(-8.5641025,0.42735043)"> 14.2323 + <text 14.2324 + sodipodi:linespacing="125%" 14.2325 + id="text5065" 14.2326 + y="609.58124" 14.2327 + x="616.58966" 14.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" 14.2329 + xml:space="preserve"><tspan 14.2330 + y="609.58124" 14.2331 + x="616.58966" 14.2332 + id="tspan5067" 14.2333 + sodipodi:role="line">ISA</tspan></text> 14.2334 + <rect 14.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" 14.2336 + id="rect5094" 14.2337 + width="15.990735" 14.2338 + height="12.350597" 14.2339 + x="613.80878" 14.2340 + y="600.01154" /> 14.2341 + </g> 14.2342 + <path 14.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" 14.2344 + d="m 149.50538,456.07322 419.95554,0 0,0 0,0" 14.2345 + id="path5864" 14.2346 + inkscape:connector-curvature="0" /> 14.2347 + <path 14.2348 + inkscape:connector-curvature="0" 14.2349 + id="path5866" 14.2350 + d="m 149.43272,510.92792 417.39372,0 0,0 0,0" 14.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" /> 14.2352 + <path 14.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" 14.2354 + d="m 149.74889,576.50057 433.61341,0 0,0 0,0" 14.2355 + id="path5868" 14.2356 + inkscape:connector-curvature="0" /> 14.2357 + <path 14.2358 + inkscape:connector-curvature="0" 14.2359 + id="path5870" 14.2360 + d="m 150.01815,606.92792 454.52761,0 0,0 0,0" 14.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" /> 14.2362 + <path 14.2363 + inkscape:connector-curvature="0" 14.2364 + id="path5872" 14.2365 + d="m 149.79599,426.92792 471.66496,0 0,0 0,0" 14.2366 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 14.2367 + <path 14.2368 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 14.2369 + d="m 149.79599,624.92792 471.66496,0 0,0 0,0" 14.2370 + id="path5874" 14.2371 + inkscape:connector-curvature="0" /> 14.2372 + <text 14.2373 + xml:space="preserve" 14.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" 14.2375 + x="495.74597" 14.2376 + y="-629.70679" 14.2377 + id="text11414" 14.2378 + sodipodi:linespacing="125%" 14.2379 + transform="matrix(0,1,-1,0,0,0)"><tspan 14.2380 + sodipodi:role="line" 14.2381 + id="tspan11416" 14.2382 + x="495.74597" 14.2383 + y="-629.70679" 14.2384 + style="font-size:18px">Interface</tspan></text> 14.2385 + <text 14.2386 + xml:space="preserve" 14.2387 + 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" 14.2388 + x="-548.71796" 14.2389 + y="141.05817" 14.2390 + id="text11418" 14.2391 + sodipodi:linespacing="125%" 14.2392 + transform="matrix(0,-1,1,0,0,0)"><tspan 14.2393 + sodipodi:role="line" 14.2394 + id="tspan11420" 14.2395 + x="-548.71796" 14.2396 + y="141.05817" 14.2397 + style="font-size:18px">Layer</tspan></text> 14.2398 + <path 14.2399 + inkscape:connector-curvature="0" 14.2400 + id="path12247" 14.2401 + d="m 243.82877,575.78262 100.97409,0 0,0 0,0" 14.2402 + 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" /> 14.2403 + <g 14.2404 + id="g13494"> 14.2405 + <path 14.2406 + inkscape:connector-curvature="0" 14.2407 + id="path11477" 14.2408 + d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 14.2409 + 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" /> 14.2410 + <path 14.2411 + sodipodi:nodetypes="cc" 14.2412 + inkscape:connector-curvature="0" 14.2413 + id="path12255" 14.2414 + d="m 303.00855,475.78099 12.82051,8.11965" 14.2415 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 14.2416 + <g 14.2417 + transform="translate(-28,-20)" 14.2418 + id="g12725"> 14.2419 + <rect 14.2420 + y="483.71259" 14.2421 + x="299.65811" 14.2422 + height="12.393162" 14.2423 + width="41.452991" 14.2424 + id="rect12249" 14.2425 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 14.2426 + <text 14.2427 + xml:space="preserve" 14.2428 + 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" 14.2429 + x="303.21664" 14.2430 + y="492.81934" 14.2431 + id="text12721" 14.2432 + sodipodi:linespacing="125%"><tspan 14.2433 + sodipodi:role="line" 14.2434 + id="tspan12723" 14.2435 + x="303.21664" 14.2436 + y="492.81934" 14.2437 + style="fill:#008000">Toolchain</tspan></text> 14.2438 + </g> 14.2439 + <g 14.2440 + transform="translate(-2,0.8547008)" 14.2441 + id="g12738"> 14.2442 + <rect 14.2443 + y="483.71259" 14.2444 + x="299.65811" 14.2445 + height="12.393162" 14.2446 + width="41.452991" 14.2447 + id="rect12740" 14.2448 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 14.2449 + <text 14.2450 + xml:space="preserve" 14.2451 + 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" 14.2452 + x="300.78931" 14.2453 + y="492.81934" 14.2454 + id="text12742" 14.2455 + sodipodi:linespacing="125%"><tspan 14.2456 + sodipodi:role="line" 14.2457 + id="tspan12744" 14.2458 + x="300.78931" 14.2459 + y="492.81934" 14.2460 + style="fill:#ff7f2a">Specializer</tspan></text> 14.2461 + </g> 14.2462 + <path 14.2463 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 14.2464 + d="m 282.42388,475.78099 -12.82051,8.11965" 14.2465 + id="path12746" 14.2466 + inkscape:connector-curvature="0" 14.2467 + sodipodi:nodetypes="cc" /> 14.2468 + <g 14.2469 + id="g12748" 14.2470 + transform="translate(-50,0.8547008)"> 14.2471 + <rect 14.2472 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 14.2473 + id="rect12750" 14.2474 + width="41.452991" 14.2475 + height="12.393162" 14.2476 + x="299.65811" 14.2477 + y="483.71259" /> 14.2478 + <text 14.2479 + sodipodi:linespacing="125%" 14.2480 + id="text12752" 14.2481 + y="492.81934" 14.2482 + x="300.78931" 14.2483 + 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" 14.2484 + xml:space="preserve"><tspan 14.2485 + y="492.81934" 14.2486 + x="300.78931" 14.2487 + id="tspan12754" 14.2488 + sodipodi:role="line" 14.2489 + style="fill:#ff0000">Specializer</tspan></text> 14.2490 + </g> 14.2491 + <path 14.2492 + sodipodi:nodetypes="cc" 14.2493 + 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)" 14.2494 + d="m 292.0558,457.01631 0,5.71571" 14.2495 + id="path12756" 14.2496 + inkscape:connector-curvature="0" /> 14.2497 + </g> 14.2498 + <g 14.2499 + id="g13512" 14.2500 + transform="translate(102,0)"> 14.2501 + <path 14.2502 + 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" 14.2503 + d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 14.2504 + id="path13514" 14.2505 + inkscape:connector-curvature="0" /> 14.2506 + <path 14.2507 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 14.2508 + d="m 303.00855,475.78099 12.82051,8.11965" 14.2509 + id="path13516" 14.2510 + inkscape:connector-curvature="0" 14.2511 + sodipodi:nodetypes="cc" /> 14.2512 + <g 14.2513 + id="g13518" 14.2514 + transform="translate(-28,-20)"> 14.2515 + <rect 14.2516 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 14.2517 + id="rect13520" 14.2518 + width="41.452991" 14.2519 + height="12.393162" 14.2520 + x="299.65811" 14.2521 + y="483.71259" /> 14.2522 + <text 14.2523 + sodipodi:linespacing="125%" 14.2524 + id="text13522" 14.2525 + y="492.81934" 14.2526 + x="303.21664" 14.2527 + 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" 14.2528 + xml:space="preserve"><tspan 14.2529 + y="492.81934" 14.2530 + x="303.21664" 14.2531 + id="tspan13524" 14.2532 + sodipodi:role="line" 14.2533 + style="fill:#0000ff">Toolchain</tspan></text> 14.2534 + </g> 14.2535 + <g 14.2536 + id="g13526" 14.2537 + transform="translate(-2,0.8547008)"> 14.2538 + <rect 14.2539 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 14.2540 + id="rect13528" 14.2541 + width="41.452991" 14.2542 + height="12.393162" 14.2543 + x="299.65811" 14.2544 + y="483.71259" /> 14.2545 + <text 14.2546 + sodipodi:linespacing="125%" 14.2547 + id="text13530" 14.2548 + y="492.81934" 14.2549 + x="300.78931" 14.2550 + 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" 14.2551 + xml:space="preserve"><tspan 14.2552 + y="492.81934" 14.2553 + x="300.78931" 14.2554 + id="tspan13532" 14.2555 + sodipodi:role="line" 14.2556 + style="fill:#ff7f2a">Specializer</tspan></text> 14.2557 + </g> 14.2558 + <path 14.2559 + sodipodi:nodetypes="cc" 14.2560 + inkscape:connector-curvature="0" 14.2561 + id="path13534" 14.2562 + d="m 282.42388,475.78099 -12.82051,8.11965" 14.2563 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 14.2564 + <g 14.2565 + transform="translate(-50,0.8547008)" 14.2566 + id="g13536"> 14.2567 + <rect 14.2568 + y="483.71259" 14.2569 + x="299.65811" 14.2570 + height="12.393162" 14.2571 + width="41.452991" 14.2572 + id="rect13538" 14.2573 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 14.2574 + <text 14.2575 + xml:space="preserve" 14.2576 + 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" 14.2577 + x="300.78931" 14.2578 + y="492.81934" 14.2579 + id="text13540" 14.2580 + sodipodi:linespacing="125%"><tspan 14.2581 + sodipodi:role="line" 14.2582 + id="tspan13542" 14.2583 + x="300.78931" 14.2584 + y="492.81934" 14.2585 + style="fill:#ff0000">Specializer</tspan></text> 14.2586 + </g> 14.2587 + <path 14.2588 + inkscape:connector-curvature="0" 14.2589 + id="path13544" 14.2590 + d="m 292.0558,457.01631 0,5.71571" 14.2591 + 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)" 14.2592 + sodipodi:nodetypes="cc" /> 14.2593 + </g> 14.2594 + <g 14.2595 + transform="translate(204,0)" 14.2596 + id="g13546"> 14.2597 + <path 14.2598 + inkscape:connector-curvature="0" 14.2599 + id="path13548" 14.2600 + d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 14.2601 + 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" /> 14.2602 + <path 14.2603 + sodipodi:nodetypes="cc" 14.2604 + inkscape:connector-curvature="0" 14.2605 + id="path13550" 14.2606 + d="m 303.00855,475.78099 12.82051,8.11965" 14.2607 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 14.2608 + <g 14.2609 + transform="translate(-28,-20)" 14.2610 + id="g13552"> 14.2611 + <rect 14.2612 + y="483.71259" 14.2613 + x="299.65811" 14.2614 + height="12.393162" 14.2615 + width="41.452991" 14.2616 + id="rect13554" 14.2617 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 14.2618 + <text 14.2619 + xml:space="preserve" 14.2620 + 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" 14.2621 + x="303.21664" 14.2622 + y="492.81934" 14.2623 + id="text13556" 14.2624 + sodipodi:linespacing="125%"><tspan 14.2625 + sodipodi:role="line" 14.2626 + id="tspan13558" 14.2627 + x="303.21664" 14.2628 + y="492.81934" 14.2629 + style="fill:#800080">Toolchain</tspan></text> 14.2630 + </g> 14.2631 + <g 14.2632 + transform="translate(-2,0.8547008)" 14.2633 + id="g13560"> 14.2634 + <rect 14.2635 + y="483.71259" 14.2636 + x="299.65811" 14.2637 + height="12.393162" 14.2638 + width="41.452991" 14.2639 + id="rect13562" 14.2640 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 14.2641 + <text 14.2642 + xml:space="preserve" 14.2643 + 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" 14.2644 + x="300.78931" 14.2645 + y="492.81934" 14.2646 + id="text13564" 14.2647 + sodipodi:linespacing="125%"><tspan 14.2648 + sodipodi:role="line" 14.2649 + id="tspan13566" 14.2650 + x="300.78931" 14.2651 + y="492.81934" 14.2652 + style="fill:#ff7f2a">Specializer</tspan></text> 14.2653 + </g> 14.2654 + <path 14.2655 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 14.2656 + d="m 282.42388,475.78099 -12.82051,8.11965" 14.2657 + id="path13568" 14.2658 + inkscape:connector-curvature="0" 14.2659 + sodipodi:nodetypes="cc" /> 14.2660 + <g 14.2661 + id="g13570" 14.2662 + transform="translate(-50,0.8547008)"> 14.2663 + <rect 14.2664 + style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 14.2665 + id="rect13572" 14.2666 + width="41.452991" 14.2667 + height="12.393162" 14.2668 + x="299.65811" 14.2669 + y="483.71259" /> 14.2670 + <text 14.2671 + sodipodi:linespacing="125%" 14.2672 + id="text13574" 14.2673 + y="492.81934" 14.2674 + x="300.78931" 14.2675 + 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" 14.2676 + xml:space="preserve"><tspan 14.2677 + y="492.81934" 14.2678 + x="300.78931" 14.2679 + id="tspan13576" 14.2680 + sodipodi:role="line" 14.2681 + style="fill:#ff0000">Specializer</tspan></text> 14.2682 + </g> 14.2683 + <path 14.2684 + sodipodi:nodetypes="cc" 14.2685 + 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)" 14.2686 + d="m 292.0558,457.01631 0,5.71571" 14.2687 + id="path13578" 14.2688 + inkscape:connector-curvature="0" /> 14.2689 + </g> 14.2690 + <path 14.2691 + 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" 14.2692 + d="m 446.68347,575.78262 100.97409,0 0,0 0,0" 14.2693 + id="path13580" 14.2694 + inkscape:connector-curvature="0" /> 14.2695 + </g> 14.2696 +</svg>
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 15.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/cray1_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps Sun Mar 11 09:26:44 2012 -0700 15.3 @@ -0,0 +1,1135 @@ 15.4 +%!PS-Adobe-2.0 15.5 +%%Title: cray1_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps 15.6 +%%Creator: gnuplot 4.4 patchlevel 2 15.7 +%%CreationDate: Thu Jan 26 18:06:46 2012 15.8 +%%DocumentFonts: (atend) 15.9 +%%BoundingBox: 251 50 554 482 15.10 +%%Orientation: Landscape 15.11 +%%Pages: (atend) 15.12 +%%EndComments 15.13 +%%BeginProlog 15.14 +/gnudict 256 dict def 15.15 +gnudict begin 15.16 +% 15.17 +% The following true/false flags may be edited by hand if desired. 15.18 +% The unit line width and grayscale image gamma correction may also be changed. 15.19 +% 15.20 +/Color true def 15.21 +/Blacktext false def 15.22 +/Solid false def 15.23 +/Dashlength 1 def 15.24 +/Landscape true def 15.25 +/Level1 false def 15.26 +/Rounded false def 15.27 +/ClipToBoundingBox false def 15.28 +/TransparentPatterns false def 15.29 +/gnulinewidth 5.000 def 15.30 +/userlinewidth gnulinewidth def 15.31 +/Gamma 1.0 def 15.32 +% 15.33 +/vshift -46 def 15.34 +/dl1 { 15.35 + 10.0 Dashlength mul mul 15.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 15.37 +} def 15.38 +/dl2 { 15.39 + 10.0 Dashlength mul mul 15.40 + Rounded { currentlinewidth 0.75 mul add } if 15.41 +} def 15.42 +/hpt_ 31.5 def 15.43 +/vpt_ 31.5 def 15.44 +/hpt hpt_ def 15.45 +/vpt vpt_ def 15.46 +Level1 {} { 15.47 +/SDict 10 dict def 15.48 +systemdict /pdfmark known not { 15.49 + userdict /pdfmark systemdict /cleartomark get put 15.50 +} if 15.51 +SDict begin [ 15.52 + /Title (cray1_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps) 15.53 + /Subject (gnuplot plot) 15.54 + /Creator (gnuplot 4.4 patchlevel 2) 15.55 + /Author (msach) 15.56 +% /Producer (gnuplot) 15.57 +% /Keywords () 15.58 + /CreationDate (Thu Jan 26 18:06:46 2012) 15.59 + /DOCINFO pdfmark 15.60 +end 15.61 +} ifelse 15.62 +/doclip { 15.63 + ClipToBoundingBox { 15.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 15.65 + clip 15.66 + } if 15.67 +} def 15.68 +% 15.69 +% Gnuplot Prolog Version 4.4 (August 2010) 15.70 +% 15.71 +%/SuppressPDFMark true def 15.72 +% 15.73 +/M {moveto} bind def 15.74 +/L {lineto} bind def 15.75 +/R {rmoveto} bind def 15.76 +/V {rlineto} bind def 15.77 +/N {newpath moveto} bind def 15.78 +/Z {closepath} bind def 15.79 +/C {setrgbcolor} bind def 15.80 +/f {rlineto fill} bind def 15.81 +/g {setgray} bind def 15.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 15.83 +/vpt2 vpt 2 mul def 15.84 +/hpt2 hpt 2 mul def 15.85 +/Lshow {currentpoint stroke M 0 vshift R 15.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 15.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 15.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 15.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 15.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 15.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 15.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 15.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 15.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 15.95 +/BL {stroke userlinewidth 2 mul setlinewidth 15.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 15.97 +/AL {stroke userlinewidth 2 div setlinewidth 15.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 15.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 15.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 15.101 +/PL {stroke userlinewidth setlinewidth 15.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 15.103 +3.8 setmiterlimit 15.104 +% Default Line colors 15.105 +/LCw {1 1 1} def 15.106 +/LCb {0 0 0} def 15.107 +/LCa {0 0 0} def 15.108 +/LC0 {1 0 0} def 15.109 +/LC1 {0 1 0} def 15.110 +/LC2 {0 0 1} def 15.111 +/LC3 {1 0 1} def 15.112 +/LC4 {0 1 1} def 15.113 +/LC5 {1 1 0} def 15.114 +/LC6 {0 0 0} def 15.115 +/LC7 {1 0.3 0} def 15.116 +/LC8 {0.5 0.5 0.5} def 15.117 +% Default Line Types 15.118 +/LTw {PL [] 1 setgray} def 15.119 +/LTb {BL [] LCb DL} def 15.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 15.121 +/LT0 {PL [] LC0 DL} def 15.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 15.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 15.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 15.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 15.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 15.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 15.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 15.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 15.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 15.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 15.132 + hpt neg vpt neg V hpt vpt neg V 15.133 + hpt vpt V hpt neg vpt V closepath stroke 15.134 + Pnt} def 15.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 15.136 + currentpoint stroke M 15.137 + hpt neg vpt neg R hpt2 0 V stroke 15.138 + } def 15.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 15.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 15.141 + hpt2 neg 0 V closepath stroke 15.142 + Pnt} def 15.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 15.144 + hpt2 vpt2 neg V currentpoint stroke M 15.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 15.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 15.147 + hpt neg vpt -1.62 mul V 15.148 + hpt 2 mul 0 V 15.149 + hpt neg vpt 1.62 mul V closepath stroke 15.150 + Pnt} def 15.151 +/Star {2 copy Pls Crs} def 15.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 15.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 15.154 + hpt2 neg 0 V closepath fill} def 15.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 15.156 + hpt neg vpt -1.62 mul V 15.157 + hpt 2 mul 0 V 15.158 + hpt neg vpt 1.62 mul V closepath fill} def 15.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 15.160 + hpt neg vpt 1.62 mul V 15.161 + hpt 2 mul 0 V 15.162 + hpt neg vpt -1.62 mul V closepath stroke 15.163 + Pnt} def 15.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 15.165 + hpt neg vpt 1.62 mul V 15.166 + hpt 2 mul 0 V 15.167 + hpt neg vpt -1.62 mul V closepath fill} def 15.168 +/DiaF {stroke [] 0 setdash vpt add M 15.169 + hpt neg vpt neg V hpt vpt neg V 15.170 + hpt vpt V hpt neg vpt V closepath fill} def 15.171 +/Pent {stroke [] 0 setdash 2 copy gsave 15.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 15.173 + closepath stroke grestore Pnt} def 15.174 +/PentF {stroke [] 0 setdash gsave 15.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 15.176 + closepath fill grestore} def 15.177 +/Circle {stroke [] 0 setdash 2 copy 15.178 + hpt 0 360 arc stroke Pnt} def 15.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 15.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 15.181 +/C1 {BL [] 0 setdash 2 copy moveto 15.182 + 2 copy vpt 0 90 arc closepath fill 15.183 + vpt 0 360 arc closepath} bind def 15.184 +/C2 {BL [] 0 setdash 2 copy moveto 15.185 + 2 copy vpt 90 180 arc closepath fill 15.186 + vpt 0 360 arc closepath} bind def 15.187 +/C3 {BL [] 0 setdash 2 copy moveto 15.188 + 2 copy vpt 0 180 arc closepath fill 15.189 + vpt 0 360 arc closepath} bind def 15.190 +/C4 {BL [] 0 setdash 2 copy moveto 15.191 + 2 copy vpt 180 270 arc closepath fill 15.192 + vpt 0 360 arc closepath} bind def 15.193 +/C5 {BL [] 0 setdash 2 copy moveto 15.194 + 2 copy vpt 0 90 arc 15.195 + 2 copy moveto 15.196 + 2 copy vpt 180 270 arc closepath fill 15.197 + vpt 0 360 arc} bind def 15.198 +/C6 {BL [] 0 setdash 2 copy moveto 15.199 + 2 copy vpt 90 270 arc closepath fill 15.200 + vpt 0 360 arc closepath} bind def 15.201 +/C7 {BL [] 0 setdash 2 copy moveto 15.202 + 2 copy vpt 0 270 arc closepath fill 15.203 + vpt 0 360 arc closepath} bind def 15.204 +/C8 {BL [] 0 setdash 2 copy moveto 15.205 + 2 copy vpt 270 360 arc closepath fill 15.206 + vpt 0 360 arc closepath} bind def 15.207 +/C9 {BL [] 0 setdash 2 copy moveto 15.208 + 2 copy vpt 270 450 arc closepath fill 15.209 + vpt 0 360 arc closepath} bind def 15.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 15.211 + 2 copy moveto 15.212 + 2 copy vpt 90 180 arc closepath fill 15.213 + vpt 0 360 arc closepath} bind def 15.214 +/C11 {BL [] 0 setdash 2 copy moveto 15.215 + 2 copy vpt 0 180 arc closepath fill 15.216 + 2 copy moveto 15.217 + 2 copy vpt 270 360 arc closepath fill 15.218 + vpt 0 360 arc closepath} bind def 15.219 +/C12 {BL [] 0 setdash 2 copy moveto 15.220 + 2 copy vpt 180 360 arc closepath fill 15.221 + vpt 0 360 arc closepath} bind def 15.222 +/C13 {BL [] 0 setdash 2 copy moveto 15.223 + 2 copy vpt 0 90 arc closepath fill 15.224 + 2 copy moveto 15.225 + 2 copy vpt 180 360 arc closepath fill 15.226 + vpt 0 360 arc closepath} bind def 15.227 +/C14 {BL [] 0 setdash 2 copy moveto 15.228 + 2 copy vpt 90 360 arc closepath fill 15.229 + vpt 0 360 arc} bind def 15.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 15.231 + vpt 0 360 arc closepath} bind def 15.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 15.233 + neg 0 rlineto closepath} bind def 15.234 +/Square {dup Rec} bind def 15.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 15.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 15.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 15.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 15.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 15.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 15.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 15.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 15.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 15.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 15.245 + 2 copy vpt Square fill Bsquare} bind def 15.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 15.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 15.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 15.249 + Bsquare} bind def 15.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 15.251 + Bsquare} bind def 15.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 15.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 15.254 + 2 copy vpt Square fill Bsquare} bind def 15.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 15.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 15.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 15.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 15.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 15.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 15.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 15.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 15.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 15.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 15.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 15.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 15.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 15.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 15.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 15.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 15.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 15.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 15.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 15.274 +/DiaE {stroke [] 0 setdash vpt add M 15.275 + hpt neg vpt neg V hpt vpt neg V 15.276 + hpt vpt V hpt neg vpt V closepath stroke} def 15.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 15.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 15.279 + hpt2 neg 0 V closepath stroke} def 15.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 15.281 + hpt neg vpt -1.62 mul V 15.282 + hpt 2 mul 0 V 15.283 + hpt neg vpt 1.62 mul V closepath stroke} def 15.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 15.285 + hpt neg vpt 1.62 mul V 15.286 + hpt 2 mul 0 V 15.287 + hpt neg vpt -1.62 mul V closepath stroke} def 15.288 +/PentE {stroke [] 0 setdash gsave 15.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 15.290 + closepath stroke grestore} def 15.291 +/CircE {stroke [] 0 setdash 15.292 + hpt 0 360 arc stroke} def 15.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 15.294 +/DiaW {stroke [] 0 setdash vpt add M 15.295 + hpt neg vpt neg V hpt vpt neg V 15.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 15.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 15.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 15.299 + hpt2 neg 0 V Opaque stroke} def 15.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 15.301 + hpt neg vpt -1.62 mul V 15.302 + hpt 2 mul 0 V 15.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 15.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 15.305 + hpt neg vpt 1.62 mul V 15.306 + hpt 2 mul 0 V 15.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 15.308 +/PentW {stroke [] 0 setdash gsave 15.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 15.310 + Opaque stroke grestore} def 15.311 +/CircW {stroke [] 0 setdash 15.312 + hpt 0 360 arc Opaque stroke} def 15.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 15.314 +/Density { 15.315 + /Fillden exch def 15.316 + currentrgbcolor 15.317 + /ColB exch def /ColG exch def /ColR exch def 15.318 + /ColR ColR Fillden mul Fillden sub 1 add def 15.319 + /ColG ColG Fillden mul Fillden sub 1 add def 15.320 + /ColB ColB Fillden mul Fillden sub 1 add def 15.321 + ColR ColG ColB setrgbcolor} def 15.322 +/BoxColFill {gsave Rec PolyFill} def 15.323 +/PolyFill {gsave Density fill grestore grestore} def 15.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 15.325 +% 15.326 +% PostScript Level 1 Pattern Fill routine for rectangles 15.327 +% Usage: x y w h s a XX PatternFill 15.328 +% x,y = lower left corner of box to be filled 15.329 +% w,h = width and height of box 15.330 +% a = angle in degrees between lines and x-axis 15.331 +% XX = 0/1 for no/yes cross-hatch 15.332 +% 15.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 15.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 15.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 15.336 + gsave 1 setgray fill grestore clip 15.337 + currentlinewidth 0.5 mul setlinewidth 15.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 15.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 15.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 15.341 + {PFa 4 get mul 0 M 0 PFs V} for 15.342 + 0 PFa 6 get ne { 15.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 15.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 15.345 + } if 15.346 + stroke grestore} def 15.347 +% 15.348 +/languagelevel where 15.349 + {pop languagelevel} {1} ifelse 15.350 + 2 lt 15.351 + {/InterpretLevel1 true def} 15.352 + {/InterpretLevel1 Level1 def} 15.353 + ifelse 15.354 +% 15.355 +% PostScript level 2 pattern fill definitions 15.356 +% 15.357 +/Level2PatternFill { 15.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 15.359 + bind def 15.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 15.361 +<< Tile8x8 15.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 15.363 +>> matrix makepattern 15.364 +/Pat1 exch def 15.365 +<< Tile8x8 15.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 15.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 15.368 +>> matrix makepattern 15.369 +/Pat2 exch def 15.370 +<< Tile8x8 15.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 15.372 + 8 8 L 8 0 L 0 0 L fill} 15.373 +>> matrix makepattern 15.374 +/Pat3 exch def 15.375 +<< Tile8x8 15.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 15.377 + 0 12 M 12 0 L stroke} 15.378 +>> matrix makepattern 15.379 +/Pat4 exch def 15.380 +<< Tile8x8 15.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 15.382 + 0 -4 M 12 8 L stroke} 15.383 +>> matrix makepattern 15.384 +/Pat5 exch def 15.385 +<< Tile8x8 15.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 15.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 15.388 +>> matrix makepattern 15.389 +/Pat6 exch def 15.390 +<< Tile8x8 15.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 15.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 15.393 +>> matrix makepattern 15.394 +/Pat7 exch def 15.395 +<< Tile8x8 15.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 15.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 15.398 +>> matrix makepattern 15.399 +/Pat8 exch def 15.400 +<< Tile8x8 15.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 15.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 15.403 +>> matrix makepattern 15.404 +/Pat9 exch def 15.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 15.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 15.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 15.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 15.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 15.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 15.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 15.412 +} def 15.413 +% 15.414 +% 15.415 +%End of PostScript Level 2 code 15.416 +% 15.417 +/PatternBgnd { 15.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 15.419 +} def 15.420 +% 15.421 +% Substitute for Level 2 pattern fill codes with 15.422 +% grayscale if Level 2 support is not selected. 15.423 +% 15.424 +/Level1PatternFill { 15.425 +/Pattern1 {0.250 Density} bind def 15.426 +/Pattern2 {0.500 Density} bind def 15.427 +/Pattern3 {0.750 Density} bind def 15.428 +/Pattern4 {0.125 Density} bind def 15.429 +/Pattern5 {0.375 Density} bind def 15.430 +/Pattern6 {0.625 Density} bind def 15.431 +/Pattern7 {0.875 Density} bind def 15.432 +} def 15.433 +% 15.434 +% Now test for support of Level 2 code 15.435 +% 15.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 15.437 +% 15.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 15.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 15.440 +currentdict end definefont pop 15.441 +/MFshow { 15.442 + { dup 5 get 3 ge 15.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 15.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 15.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 15.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 15.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 15.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 15.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 15.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 15.451 + pop aload pop M} ifelse }ifelse }ifelse } 15.452 + ifelse } 15.453 + forall} def 15.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 15.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 15.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 15.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 15.458 +/MLshow { currentpoint stroke M 15.459 + 0 exch R 15.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 15.461 +/MRshow { currentpoint stroke M 15.462 + exch dup MFwidth neg 3 -1 roll R 15.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 15.464 +/MCshow { currentpoint stroke M 15.465 + exch dup MFwidth -2 div 3 -1 roll R 15.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 15.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 15.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 15.469 +end 15.470 +%%EndProlog 15.471 +%%Page: 1 1 15.472 +gnudict begin 15.473 +gsave 15.474 +doclip 15.475 +50 50 translate 15.476 +0.100 0.100 scale 15.477 +90 rotate 15.478 +0 -5040 translate 15.479 +0 setgray 15.480 +newpath 15.481 +(Helvetica) findfont 140 scalefont setfont 15.482 +1.000 UL 15.483 +LTb 15.484 +602 448 M 15.485 +63 0 V 15.486 +stroke 15.487 +518 448 M 15.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 15.489 +] -46.7 MRshow 15.490 +1.000 UL 15.491 +LTb 15.492 +602 715 M 15.493 +63 0 V 15.494 +stroke 15.495 +518 715 M 15.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 15.497 +] -46.7 MRshow 15.498 +1.000 UL 15.499 +LTb 15.500 +602 983 M 15.501 +63 0 V 15.502 +stroke 15.503 +518 983 M 15.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 15.505 +] -46.7 MRshow 15.506 +1.000 UL 15.507 +LTb 15.508 +602 1250 M 15.509 +63 0 V 15.510 +stroke 15.511 +518 1250 M 15.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 15.513 +] -46.7 MRshow 15.514 +1.000 UL 15.515 +LTb 15.516 +602 1518 M 15.517 +63 0 V 15.518 +stroke 15.519 +518 1518 M 15.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 15.521 +] -46.7 MRshow 15.522 +1.000 UL 15.523 +LTb 15.524 +602 1785 M 15.525 +63 0 V 15.526 +stroke 15.527 +518 1785 M 15.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 15.529 +] -46.7 MRshow 15.530 +1.000 UL 15.531 +LTb 15.532 +602 2053 M 15.533 +63 0 V 15.534 +stroke 15.535 +518 2053 M 15.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 15.537 +] -46.7 MRshow 15.538 +1.000 UL 15.539 +LTb 15.540 +602 2320 M 15.541 +63 0 V 15.542 +stroke 15.543 +518 2320 M 15.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 15.545 +] -46.7 MRshow 15.546 +1.000 UL 15.547 +LTb 15.548 +602 2588 M 15.549 +63 0 V 15.550 +stroke 15.551 +518 2588 M 15.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 15.553 +] -46.7 MRshow 15.554 +1.000 UL 15.555 +LTb 15.556 +602 2855 M 15.557 +63 0 V 15.558 +stroke 15.559 +518 2855 M 15.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 15.561 +] -46.7 MRshow 15.562 +1.000 UL 15.563 +LTb 15.564 +602 448 M 15.565 +0 63 V 15.566 +stroke 15.567 +602 308 M 15.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 15.569 +] -46.7 MCshow 15.570 +1.000 UL 15.571 +LTb 15.572 +1035 448 M 15.573 +0 63 V 15.574 +stroke 15.575 +1035 308 M 15.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 15.577 +] -46.7 MCshow 15.578 +1.000 UL 15.579 +LTb 15.580 +1468 448 M 15.581 +0 63 V 15.582 +stroke 15.583 +1468 308 M 15.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 15.585 +] -46.7 MCshow 15.586 +1.000 UL 15.587 +LTb 15.588 +1901 448 M 15.589 +0 63 V 15.590 +stroke 15.591 +1901 308 M 15.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 15.593 +] -46.7 MCshow 15.594 +1.000 UL 15.595 +LTb 15.596 +2335 448 M 15.597 +0 63 V 15.598 +stroke 15.599 +2335 308 M 15.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 15.601 +] -46.7 MCshow 15.602 +1.000 UL 15.603 +LTb 15.604 +2768 448 M 15.605 +0 63 V 15.606 +stroke 15.607 +2768 308 M 15.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 15.609 +] -46.7 MCshow 15.610 +1.000 UL 15.611 +LTb 15.612 +3201 448 M 15.613 +0 63 V 15.614 +stroke 15.615 +3201 308 M 15.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 15.617 +] -46.7 MCshow 15.618 +1.000 UL 15.619 +LTb 15.620 +3634 448 M 15.621 +0 63 V 15.622 +stroke 15.623 +3634 308 M 15.624 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 15.625 +] -46.7 MCshow 15.626 +1.000 UL 15.627 +LTb 15.628 +4067 448 M 15.629 +0 63 V 15.630 +stroke 15.631 +4067 308 M 15.632 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 15.633 +] -46.7 MCshow 15.634 +1.000 UL 15.635 +LTb 15.636 +1.000 UL 15.637 +LTb 15.638 +602 2855 M 15.639 +602 448 L 15.640 +3465 0 V 15.641 +0 2407 R 15.642 +-3465 0 R 15.643 +stroke 15.644 +LCb setrgbcolor 15.645 +112 1651 M 15.646 +currentpoint gsave translate -270 rotate 0 0 moveto 15.647 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 15.648 +] -46.7 MCshow 15.649 +grestore 15.650 +LTb 15.651 +LCb setrgbcolor 15.652 +2334 98 M 15.653 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 15.654 +] -46.7 MCshow 15.655 +LTb 15.656 +1.000 UP 15.657 +1.000 UL 15.658 +LTb 15.659 +LCb setrgbcolor 15.660 +3538 2919 M 15.661 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 15.662 +] -46.7 MCshow 15.663 +LTb 15.664 +1.000 UL 15.665 +LTb 15.666 +2793 2289 N 15.667 +0 700 V 15.668 +1491 0 V 15.669 +0 -700 V 15.670 +-1491 0 V 15.671 +Z stroke 15.672 +2793 2849 M 15.673 +1491 0 V 15.674 +% Begin plot #1 15.675 +stroke 15.676 +4.000 UL 15.677 +LT5 15.678 +LC7 setrgbcolor 15.679 +LCb setrgbcolor 15.680 +3717 2779 M 15.681 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 15.682 +] -46.7 MRshow 15.683 +LT5 15.684 +LC7 setrgbcolor 15.685 +3801 2779 M 15.686 +399 0 V 15.687 +775 2855 M 15.688 +28 -401 V 15.689 +924 1709 L 15.690 +249 -553 V 15.691 +1658 827 L 15.692 +2629 643 L 15.693 +4067 572 L 15.694 +% End plot #1 15.695 +% Begin plot #2 15.696 +stroke 15.697 +LT6 15.698 +LCb setrgbcolor 15.699 +3717 2639 M 15.700 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 15.701 +] -46.7 MRshow 15.702 +LT6 15.703 +3801 2639 M 15.704 +399 0 V 15.705 +1064 2855 M 15.706 +111 -618 V 15.707 +488 -826 V 15.708 +2631 949 L 15.709 +4067 767 L 15.710 +% End plot #2 15.711 +% Begin plot #3 15.712 +stroke 15.713 +LT7 15.714 +LC1 setrgbcolor 15.715 +LCb setrgbcolor 15.716 +3717 2499 M 15.717 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 15.718 +] -46.7 MRshow 15.719 +LT7 15.720 +LC1 setrgbcolor 15.721 +3801 2499 M 15.722 +399 0 V 15.723 +2210 2855 M 15.724 +429 -685 V 15.725 +4067 1557 L 15.726 +% End plot #3 15.727 +% Begin plot #4 15.728 +stroke 15.729 +LT8 15.730 +LCb setrgbcolor 15.731 +3717 2359 M 15.732 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 15.733 +] -46.7 MRshow 15.734 +LT8 15.735 +3801 2359 M 15.736 +399 0 V 15.737 +% End plot #4 15.738 +stroke 15.739 +1.000 UL 15.740 +LTb 15.741 +602 2855 M 15.742 +602 448 L 15.743 +3465 0 V 15.744 +0 2407 R 15.745 +-3465 0 R 15.746 +1.000 UP 15.747 +602 448 M 15.748 +63 0 V 15.749 +stroke 15.750 +518 448 M 15.751 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 15.752 +] -46.7 MRshow 15.753 +1.000 UL 15.754 +LTb 15.755 +602 715 M 15.756 +63 0 V 15.757 +stroke 15.758 +518 715 M 15.759 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 15.760 +] -46.7 MRshow 15.761 +1.000 UL 15.762 +LTb 15.763 +602 983 M 15.764 +63 0 V 15.765 +stroke 15.766 +518 983 M 15.767 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 15.768 +] -46.7 MRshow 15.769 +1.000 UL 15.770 +LTb 15.771 +602 1250 M 15.772 +63 0 V 15.773 +stroke 15.774 +518 1250 M 15.775 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 15.776 +] -46.7 MRshow 15.777 +1.000 UL 15.778 +LTb 15.779 +602 1518 M 15.780 +63 0 V 15.781 +stroke 15.782 +518 1518 M 15.783 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 15.784 +] -46.7 MRshow 15.785 +1.000 UL 15.786 +LTb 15.787 +602 1785 M 15.788 +63 0 V 15.789 +stroke 15.790 +518 1785 M 15.791 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 15.792 +] -46.7 MRshow 15.793 +1.000 UL 15.794 +LTb 15.795 +602 2053 M 15.796 +63 0 V 15.797 +stroke 15.798 +518 2053 M 15.799 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 15.800 +] -46.7 MRshow 15.801 +1.000 UL 15.802 +LTb 15.803 +602 2320 M 15.804 +63 0 V 15.805 +stroke 15.806 +518 2320 M 15.807 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 15.808 +] -46.7 MRshow 15.809 +1.000 UL 15.810 +LTb 15.811 +602 2588 M 15.812 +63 0 V 15.813 +stroke 15.814 +518 2588 M 15.815 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 15.816 +] -46.7 MRshow 15.817 +1.000 UL 15.818 +LTb 15.819 +602 2855 M 15.820 +63 0 V 15.821 +stroke 15.822 +518 2855 M 15.823 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 15.824 +] -46.7 MRshow 15.825 +1.000 UL 15.826 +LTb 15.827 +602 448 M 15.828 +0 63 V 15.829 +stroke 15.830 +602 308 M 15.831 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 15.832 +] -46.7 MCshow 15.833 +1.000 UL 15.834 +LTb 15.835 +1035 448 M 15.836 +0 63 V 15.837 +stroke 15.838 +1035 308 M 15.839 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 15.840 +] -46.7 MCshow 15.841 +1.000 UL 15.842 +LTb 15.843 +1468 448 M 15.844 +0 63 V 15.845 +stroke 15.846 +1468 308 M 15.847 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 15.848 +] -46.7 MCshow 15.849 +1.000 UL 15.850 +LTb 15.851 +1901 448 M 15.852 +0 63 V 15.853 +stroke 15.854 +1901 308 M 15.855 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 15.856 +] -46.7 MCshow 15.857 +1.000 UL 15.858 +LTb 15.859 +2335 448 M 15.860 +0 63 V 15.861 +stroke 15.862 +2335 308 M 15.863 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 15.864 +] -46.7 MCshow 15.865 +1.000 UL 15.866 +LTb 15.867 +2768 448 M 15.868 +0 63 V 15.869 +stroke 15.870 +2768 308 M 15.871 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 15.872 +] -46.7 MCshow 15.873 +1.000 UL 15.874 +LTb 15.875 +3201 448 M 15.876 +0 63 V 15.877 +stroke 15.878 +3201 308 M 15.879 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 15.880 +] -46.7 MCshow 15.881 +1.000 UL 15.882 +LTb 15.883 +3634 448 M 15.884 +0 63 V 15.885 +stroke 15.886 +3634 308 M 15.887 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 15.888 +] -46.7 MCshow 15.889 +1.000 UL 15.890 +LTb 15.891 +4067 448 M 15.892 +0 63 V 15.893 +stroke 15.894 +4067 308 M 15.895 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 15.896 +] -46.7 MCshow 15.897 +1.000 UL 15.898 +LTb 15.899 +1.000 UL 15.900 +LTb 15.901 +602 2855 M 15.902 +602 448 L 15.903 +3465 0 V 15.904 +0 2407 R 15.905 +-3465 0 R 15.906 +stroke 15.907 +LCb setrgbcolor 15.908 +112 1651 M 15.909 +currentpoint gsave translate -270 rotate 0 0 moveto 15.910 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 15.911 +] -46.7 MCshow 15.912 +grestore 15.913 +LTb 15.914 +LCb setrgbcolor 15.915 +2334 98 M 15.916 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 15.917 +] -46.7 MCshow 15.918 +LTb 15.919 +1.000 UP 15.920 +1.000 UL 15.921 +LTb 15.922 +LCb setrgbcolor 15.923 +2022 2919 M 15.924 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 15.925 +] -46.7 MCshow 15.926 +LTb 15.927 +1.000 UL 15.928 +LTb 15.929 +1277 2289 N 15.930 +0 700 V 15.931 +1491 0 V 15.932 +0 -700 V 15.933 +-1491 0 V 15.934 +Z stroke 15.935 +1277 2849 M 15.936 +1491 0 V 15.937 +% Begin plot #1 15.938 +stroke 15.939 +4.000 UL 15.940 +LT1 15.941 +LCa setrgbcolor 15.942 +602 715 M 15.943 +35 0 V 15.944 +35 0 V 15.945 +35 0 V 15.946 +35 0 V 15.947 +35 0 V 15.948 +35 0 V 15.949 +35 0 V 15.950 +35 0 V 15.951 +35 0 V 15.952 +35 0 V 15.953 +35 0 V 15.954 +35 0 V 15.955 +35 0 V 15.956 +35 0 V 15.957 +35 0 V 15.958 +35 0 V 15.959 +35 0 V 15.960 +35 0 V 15.961 +35 0 V 15.962 +35 0 V 15.963 +35 0 V 15.964 +35 0 V 15.965 +35 0 V 15.966 +35 0 V 15.967 +35 0 V 15.968 +35 0 V 15.969 +35 0 V 15.970 +35 0 V 15.971 +35 0 V 15.972 +35 0 V 15.973 +35 0 V 15.974 +35 0 V 15.975 +35 0 V 15.976 +35 0 V 15.977 +35 0 V 15.978 +35 0 V 15.979 +35 0 V 15.980 +35 0 V 15.981 +35 0 V 15.982 +35 0 V 15.983 +35 0 V 15.984 +35 0 V 15.985 +35 0 V 15.986 +35 0 V 15.987 +35 0 V 15.988 +35 0 V 15.989 +35 0 V 15.990 +35 0 V 15.991 +35 0 V 15.992 +35 0 V 15.993 +35 0 V 15.994 +35 0 V 15.995 +35 0 V 15.996 +35 0 V 15.997 +35 0 V 15.998 +35 0 V 15.999 +35 0 V 15.1000 +35 0 V 15.1001 +35 0 V 15.1002 +35 0 V 15.1003 +35 0 V 15.1004 +35 0 V 15.1005 +35 0 V 15.1006 +35 0 V 15.1007 +35 0 V 15.1008 +35 0 V 15.1009 +35 0 V 15.1010 +35 0 V 15.1011 +35 0 V 15.1012 +35 0 V 15.1013 +35 0 V 15.1014 +35 0 V 15.1015 +35 0 V 15.1016 +35 0 V 15.1017 +35 0 V 15.1018 +35 0 V 15.1019 +35 0 V 15.1020 +35 0 V 15.1021 +35 0 V 15.1022 +35 0 V 15.1023 +35 0 V 15.1024 +35 0 V 15.1025 +35 0 V 15.1026 +35 0 V 15.1027 +35 0 V 15.1028 +35 0 V 15.1029 +35 0 V 15.1030 +35 0 V 15.1031 +35 0 V 15.1032 +35 0 V 15.1033 +35 0 V 15.1034 +35 0 V 15.1035 +35 0 V 15.1036 +35 0 V 15.1037 +35 0 V 15.1038 +35 0 V 15.1039 +35 0 V 15.1040 +35 0 V 15.1041 +35 0 V 15.1042 +% End plot #1 15.1043 +% Begin plot #2 15.1044 +stroke 15.1045 +LT0 15.1046 +LCb setrgbcolor 15.1047 +2201 2779 M 15.1048 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 15.1049 +] -46.7 MRshow 15.1050 +LT0 15.1051 +2285 2779 M 15.1052 +399 0 V 15.1053 +692 1306 M 15.1054 +18 -111 V 15.1055 +31 -149 V 15.1056 +801 842 L 15.1057 +922 697 L 15.1058 +1172 589 L 15.1059 +486 -65 V 15.1060 +970 -37 V 15.1061 +4067 473 L 15.1062 +% End plot #2 15.1063 +% Begin plot #3 15.1064 +stroke 15.1065 +LT2 15.1066 +LCb setrgbcolor 15.1067 +2201 2639 M 15.1068 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 15.1069 +] -46.7 MRshow 15.1070 +LT2 15.1071 +2285 2639 M 15.1072 +399 0 V 15.1073 +692 1319 M 15.1074 +18 -134 V 15.1075 +30 -176 V 15.1076 +801 845 L 15.1077 +922 690 L 15.1078 +1173 582 L 15.1079 +485 -60 V 15.1080 +970 -36 V 15.1081 +4067 472 L 15.1082 +% End plot #3 15.1083 +% Begin plot #4 15.1084 +stroke 15.1085 +LT3 15.1086 +LCb setrgbcolor 15.1087 +2201 2499 M 15.1088 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 15.1089 +] -46.7 MRshow 15.1090 +LT3 15.1091 +2285 2499 M 15.1092 +399 0 V 15.1093 +693 1386 M 15.1094 +18 -167 V 15.1095 +30 -161 V 15.1096 +801 865 L 15.1097 +923 711 L 15.1098 +1173 595 L 15.1099 +485 -67 V 15.1100 +970 -39 V 15.1101 +4067 474 L 15.1102 +% End plot #4 15.1103 +% Begin plot #5 15.1104 +stroke 15.1105 +LT4 15.1106 +LCb setrgbcolor 15.1107 +2201 2359 M 15.1108 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 15.1109 +] -46.7 MRshow 15.1110 +LT4 15.1111 +2285 2359 M 15.1112 +399 0 V 15.1113 +692 1425 M 15.1114 +19 -158 V 15.1115 +30 -179 V 15.1116 +802 892 L 15.1117 +923 725 L 15.1118 +1173 602 L 15.1119 +485 -70 V 15.1120 +970 -40 V 15.1121 +4067 476 L 15.1122 +% End plot #5 15.1123 +stroke 15.1124 +1.000 UL 15.1125 +LTb 15.1126 +602 2855 M 15.1127 +602 448 L 15.1128 +3465 0 V 15.1129 +0 2407 R 15.1130 +-3465 0 R 15.1131 +1.000 UP 15.1132 +stroke 15.1133 +grestore 15.1134 +end 15.1135 +showpage 15.1136 +%%Trailer 15.1137 +%%DocumentFonts: Helvetica 15.1138 +%%Pages: 1
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 16.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps Sun Mar 11 09:26:44 2012 -0700 16.3 @@ -0,0 +1,818 @@ 16.4 +%!PS-Adobe-2.0 16.5 +%%Title: cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps 16.6 +%%Creator: gnuplot 4.4 patchlevel 2 16.7 +%%CreationDate: Thu Jan 26 18:08:51 2012 16.8 +%%DocumentFonts: (atend) 16.9 +%%BoundingBox: 251 50 554 482 16.10 +%%Orientation: Landscape 16.11 +%%Pages: (atend) 16.12 +%%EndComments 16.13 +%%BeginProlog 16.14 +/gnudict 256 dict def 16.15 +gnudict begin 16.16 +% 16.17 +% The following true/false flags may be edited by hand if desired. 16.18 +% The unit line width and grayscale image gamma correction may also be changed. 16.19 +% 16.20 +/Color true def 16.21 +/Blacktext false def 16.22 +/Solid false def 16.23 +/Dashlength 1 def 16.24 +/Landscape true def 16.25 +/Level1 false def 16.26 +/Rounded false def 16.27 +/ClipToBoundingBox false def 16.28 +/TransparentPatterns false def 16.29 +/gnulinewidth 5.000 def 16.30 +/userlinewidth gnulinewidth def 16.31 +/Gamma 1.0 def 16.32 +% 16.33 +/vshift -46 def 16.34 +/dl1 { 16.35 + 10.0 Dashlength mul mul 16.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 16.37 +} def 16.38 +/dl2 { 16.39 + 10.0 Dashlength mul mul 16.40 + Rounded { currentlinewidth 0.75 mul add } if 16.41 +} def 16.42 +/hpt_ 31.5 def 16.43 +/vpt_ 31.5 def 16.44 +/hpt hpt_ def 16.45 +/vpt vpt_ def 16.46 +Level1 {} { 16.47 +/SDict 10 dict def 16.48 +systemdict /pdfmark known not { 16.49 + userdict /pdfmark systemdict /cleartomark get put 16.50 +} if 16.51 +SDict begin [ 16.52 + /Title (cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps) 16.53 + /Subject (gnuplot plot) 16.54 + /Creator (gnuplot 4.4 patchlevel 2) 16.55 + /Author (msach) 16.56 +% /Producer (gnuplot) 16.57 +% /Keywords () 16.58 + /CreationDate (Thu Jan 26 18:08:51 2012) 16.59 + /DOCINFO pdfmark 16.60 +end 16.61 +} ifelse 16.62 +/doclip { 16.63 + ClipToBoundingBox { 16.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 16.65 + clip 16.66 + } if 16.67 +} def 16.68 +% 16.69 +% Gnuplot Prolog Version 4.4 (August 2010) 16.70 +% 16.71 +%/SuppressPDFMark true def 16.72 +% 16.73 +/M {moveto} bind def 16.74 +/L {lineto} bind def 16.75 +/R {rmoveto} bind def 16.76 +/V {rlineto} bind def 16.77 +/N {newpath moveto} bind def 16.78 +/Z {closepath} bind def 16.79 +/C {setrgbcolor} bind def 16.80 +/f {rlineto fill} bind def 16.81 +/g {setgray} bind def 16.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 16.83 +/vpt2 vpt 2 mul def 16.84 +/hpt2 hpt 2 mul def 16.85 +/Lshow {currentpoint stroke M 0 vshift R 16.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 16.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 16.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 16.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 16.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 16.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 16.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 16.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 16.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 16.95 +/BL {stroke userlinewidth 2 mul setlinewidth 16.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 16.97 +/AL {stroke userlinewidth 2 div setlinewidth 16.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 16.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 16.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 16.101 +/PL {stroke userlinewidth setlinewidth 16.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 16.103 +3.8 setmiterlimit 16.104 +% Default Line colors 16.105 +/LCw {1 1 1} def 16.106 +/LCb {0 0 0} def 16.107 +/LCa {0 0 0} def 16.108 +/LC0 {1 0 0} def 16.109 +/LC1 {0 1 0} def 16.110 +/LC2 {0 0 1} def 16.111 +/LC3 {1 0 1} def 16.112 +/LC4 {0 1 1} def 16.113 +/LC5 {1 1 0} def 16.114 +/LC6 {0 0 0} def 16.115 +/LC7 {1 0.3 0} def 16.116 +/LC8 {0.5 0.5 0.5} def 16.117 +% Default Line Types 16.118 +/LTw {PL [] 1 setgray} def 16.119 +/LTb {BL [] LCb DL} def 16.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 16.121 +/LT0 {PL [] LC0 DL} def 16.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 16.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 16.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 16.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 16.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 16.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 16.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 16.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 16.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 16.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 16.132 + hpt neg vpt neg V hpt vpt neg V 16.133 + hpt vpt V hpt neg vpt V closepath stroke 16.134 + Pnt} def 16.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 16.136 + currentpoint stroke M 16.137 + hpt neg vpt neg R hpt2 0 V stroke 16.138 + } def 16.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 16.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 16.141 + hpt2 neg 0 V closepath stroke 16.142 + Pnt} def 16.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 16.144 + hpt2 vpt2 neg V currentpoint stroke M 16.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 16.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 16.147 + hpt neg vpt -1.62 mul V 16.148 + hpt 2 mul 0 V 16.149 + hpt neg vpt 1.62 mul V closepath stroke 16.150 + Pnt} def 16.151 +/Star {2 copy Pls Crs} def 16.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 16.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 16.154 + hpt2 neg 0 V closepath fill} def 16.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 16.156 + hpt neg vpt -1.62 mul V 16.157 + hpt 2 mul 0 V 16.158 + hpt neg vpt 1.62 mul V closepath fill} def 16.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 16.160 + hpt neg vpt 1.62 mul V 16.161 + hpt 2 mul 0 V 16.162 + hpt neg vpt -1.62 mul V closepath stroke 16.163 + Pnt} def 16.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 16.165 + hpt neg vpt 1.62 mul V 16.166 + hpt 2 mul 0 V 16.167 + hpt neg vpt -1.62 mul V closepath fill} def 16.168 +/DiaF {stroke [] 0 setdash vpt add M 16.169 + hpt neg vpt neg V hpt vpt neg V 16.170 + hpt vpt V hpt neg vpt V closepath fill} def 16.171 +/Pent {stroke [] 0 setdash 2 copy gsave 16.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 16.173 + closepath stroke grestore Pnt} def 16.174 +/PentF {stroke [] 0 setdash gsave 16.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 16.176 + closepath fill grestore} def 16.177 +/Circle {stroke [] 0 setdash 2 copy 16.178 + hpt 0 360 arc stroke Pnt} def 16.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 16.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 16.181 +/C1 {BL [] 0 setdash 2 copy moveto 16.182 + 2 copy vpt 0 90 arc closepath fill 16.183 + vpt 0 360 arc closepath} bind def 16.184 +/C2 {BL [] 0 setdash 2 copy moveto 16.185 + 2 copy vpt 90 180 arc closepath fill 16.186 + vpt 0 360 arc closepath} bind def 16.187 +/C3 {BL [] 0 setdash 2 copy moveto 16.188 + 2 copy vpt 0 180 arc closepath fill 16.189 + vpt 0 360 arc closepath} bind def 16.190 +/C4 {BL [] 0 setdash 2 copy moveto 16.191 + 2 copy vpt 180 270 arc closepath fill 16.192 + vpt 0 360 arc closepath} bind def 16.193 +/C5 {BL [] 0 setdash 2 copy moveto 16.194 + 2 copy vpt 0 90 arc 16.195 + 2 copy moveto 16.196 + 2 copy vpt 180 270 arc closepath fill 16.197 + vpt 0 360 arc} bind def 16.198 +/C6 {BL [] 0 setdash 2 copy moveto 16.199 + 2 copy vpt 90 270 arc closepath fill 16.200 + vpt 0 360 arc closepath} bind def 16.201 +/C7 {BL [] 0 setdash 2 copy moveto 16.202 + 2 copy vpt 0 270 arc closepath fill 16.203 + vpt 0 360 arc closepath} bind def 16.204 +/C8 {BL [] 0 setdash 2 copy moveto 16.205 + 2 copy vpt 270 360 arc closepath fill 16.206 + vpt 0 360 arc closepath} bind def 16.207 +/C9 {BL [] 0 setdash 2 copy moveto 16.208 + 2 copy vpt 270 450 arc closepath fill 16.209 + vpt 0 360 arc closepath} bind def 16.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 16.211 + 2 copy moveto 16.212 + 2 copy vpt 90 180 arc closepath fill 16.213 + vpt 0 360 arc closepath} bind def 16.214 +/C11 {BL [] 0 setdash 2 copy moveto 16.215 + 2 copy vpt 0 180 arc closepath fill 16.216 + 2 copy moveto 16.217 + 2 copy vpt 270 360 arc closepath fill 16.218 + vpt 0 360 arc closepath} bind def 16.219 +/C12 {BL [] 0 setdash 2 copy moveto 16.220 + 2 copy vpt 180 360 arc closepath fill 16.221 + vpt 0 360 arc closepath} bind def 16.222 +/C13 {BL [] 0 setdash 2 copy moveto 16.223 + 2 copy vpt 0 90 arc closepath fill 16.224 + 2 copy moveto 16.225 + 2 copy vpt 180 360 arc closepath fill 16.226 + vpt 0 360 arc closepath} bind def 16.227 +/C14 {BL [] 0 setdash 2 copy moveto 16.228 + 2 copy vpt 90 360 arc closepath fill 16.229 + vpt 0 360 arc} bind def 16.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 16.231 + vpt 0 360 arc closepath} bind def 16.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 16.233 + neg 0 rlineto closepath} bind def 16.234 +/Square {dup Rec} bind def 16.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 16.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 16.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 16.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 16.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 16.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 16.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 16.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 16.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 16.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 16.245 + 2 copy vpt Square fill Bsquare} bind def 16.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 16.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 16.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 16.249 + Bsquare} bind def 16.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 16.251 + Bsquare} bind def 16.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 16.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 16.254 + 2 copy vpt Square fill Bsquare} bind def 16.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 16.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 16.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 16.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 16.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 16.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 16.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 16.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 16.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 16.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 16.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 16.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 16.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 16.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 16.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 16.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 16.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 16.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 16.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 16.274 +/DiaE {stroke [] 0 setdash vpt add M 16.275 + hpt neg vpt neg V hpt vpt neg V 16.276 + hpt vpt V hpt neg vpt V closepath stroke} def 16.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 16.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 16.279 + hpt2 neg 0 V closepath stroke} def 16.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 16.281 + hpt neg vpt -1.62 mul V 16.282 + hpt 2 mul 0 V 16.283 + hpt neg vpt 1.62 mul V closepath stroke} def 16.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 16.285 + hpt neg vpt 1.62 mul V 16.286 + hpt 2 mul 0 V 16.287 + hpt neg vpt -1.62 mul V closepath stroke} def 16.288 +/PentE {stroke [] 0 setdash gsave 16.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 16.290 + closepath stroke grestore} def 16.291 +/CircE {stroke [] 0 setdash 16.292 + hpt 0 360 arc stroke} def 16.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 16.294 +/DiaW {stroke [] 0 setdash vpt add M 16.295 + hpt neg vpt neg V hpt vpt neg V 16.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 16.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 16.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 16.299 + hpt2 neg 0 V Opaque stroke} def 16.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 16.301 + hpt neg vpt -1.62 mul V 16.302 + hpt 2 mul 0 V 16.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 16.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 16.305 + hpt neg vpt 1.62 mul V 16.306 + hpt 2 mul 0 V 16.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 16.308 +/PentW {stroke [] 0 setdash gsave 16.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 16.310 + Opaque stroke grestore} def 16.311 +/CircW {stroke [] 0 setdash 16.312 + hpt 0 360 arc Opaque stroke} def 16.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 16.314 +/Density { 16.315 + /Fillden exch def 16.316 + currentrgbcolor 16.317 + /ColB exch def /ColG exch def /ColR exch def 16.318 + /ColR ColR Fillden mul Fillden sub 1 add def 16.319 + /ColG ColG Fillden mul Fillden sub 1 add def 16.320 + /ColB ColB Fillden mul Fillden sub 1 add def 16.321 + ColR ColG ColB setrgbcolor} def 16.322 +/BoxColFill {gsave Rec PolyFill} def 16.323 +/PolyFill {gsave Density fill grestore grestore} def 16.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 16.325 +% 16.326 +% PostScript Level 1 Pattern Fill routine for rectangles 16.327 +% Usage: x y w h s a XX PatternFill 16.328 +% x,y = lower left corner of box to be filled 16.329 +% w,h = width and height of box 16.330 +% a = angle in degrees between lines and x-axis 16.331 +% XX = 0/1 for no/yes cross-hatch 16.332 +% 16.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 16.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 16.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 16.336 + gsave 1 setgray fill grestore clip 16.337 + currentlinewidth 0.5 mul setlinewidth 16.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 16.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 16.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 16.341 + {PFa 4 get mul 0 M 0 PFs V} for 16.342 + 0 PFa 6 get ne { 16.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 16.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 16.345 + } if 16.346 + stroke grestore} def 16.347 +% 16.348 +/languagelevel where 16.349 + {pop languagelevel} {1} ifelse 16.350 + 2 lt 16.351 + {/InterpretLevel1 true def} 16.352 + {/InterpretLevel1 Level1 def} 16.353 + ifelse 16.354 +% 16.355 +% PostScript level 2 pattern fill definitions 16.356 +% 16.357 +/Level2PatternFill { 16.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 16.359 + bind def 16.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 16.361 +<< Tile8x8 16.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 16.363 +>> matrix makepattern 16.364 +/Pat1 exch def 16.365 +<< Tile8x8 16.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 16.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 16.368 +>> matrix makepattern 16.369 +/Pat2 exch def 16.370 +<< Tile8x8 16.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 16.372 + 8 8 L 8 0 L 0 0 L fill} 16.373 +>> matrix makepattern 16.374 +/Pat3 exch def 16.375 +<< Tile8x8 16.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 16.377 + 0 12 M 12 0 L stroke} 16.378 +>> matrix makepattern 16.379 +/Pat4 exch def 16.380 +<< Tile8x8 16.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 16.382 + 0 -4 M 12 8 L stroke} 16.383 +>> matrix makepattern 16.384 +/Pat5 exch def 16.385 +<< Tile8x8 16.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 16.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 16.388 +>> matrix makepattern 16.389 +/Pat6 exch def 16.390 +<< Tile8x8 16.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 16.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 16.393 +>> matrix makepattern 16.394 +/Pat7 exch def 16.395 +<< Tile8x8 16.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 16.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 16.398 +>> matrix makepattern 16.399 +/Pat8 exch def 16.400 +<< Tile8x8 16.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 16.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 16.403 +>> matrix makepattern 16.404 +/Pat9 exch def 16.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 16.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 16.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 16.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 16.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 16.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 16.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 16.412 +} def 16.413 +% 16.414 +% 16.415 +%End of PostScript Level 2 code 16.416 +% 16.417 +/PatternBgnd { 16.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 16.419 +} def 16.420 +% 16.421 +% Substitute for Level 2 pattern fill codes with 16.422 +% grayscale if Level 2 support is not selected. 16.423 +% 16.424 +/Level1PatternFill { 16.425 +/Pattern1 {0.250 Density} bind def 16.426 +/Pattern2 {0.500 Density} bind def 16.427 +/Pattern3 {0.750 Density} bind def 16.428 +/Pattern4 {0.125 Density} bind def 16.429 +/Pattern5 {0.375 Density} bind def 16.430 +/Pattern6 {0.625 Density} bind def 16.431 +/Pattern7 {0.875 Density} bind def 16.432 +} def 16.433 +% 16.434 +% Now test for support of Level 2 code 16.435 +% 16.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 16.437 +% 16.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 16.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 16.440 +currentdict end definefont pop 16.441 +/MFshow { 16.442 + { dup 5 get 3 ge 16.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 16.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 16.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 16.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 16.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 16.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 16.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 16.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 16.451 + pop aload pop M} ifelse }ifelse }ifelse } 16.452 + ifelse } 16.453 + forall} def 16.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 16.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 16.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 16.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 16.458 +/MLshow { currentpoint stroke M 16.459 + 0 exch R 16.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 16.461 +/MRshow { currentpoint stroke M 16.462 + exch dup MFwidth neg 3 -1 roll R 16.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 16.464 +/MCshow { currentpoint stroke M 16.465 + exch dup MFwidth -2 div 3 -1 roll R 16.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 16.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 16.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 16.469 +end 16.470 +%%EndProlog 16.471 +%%Page: 1 1 16.472 +gnudict begin 16.473 +gsave 16.474 +doclip 16.475 +50 50 translate 16.476 +0.100 0.100 scale 16.477 +90 rotate 16.478 +0 -5040 translate 16.479 +0 setgray 16.480 +newpath 16.481 +(Helvetica) findfont 140 scalefont setfont 16.482 +1.000 UL 16.483 +LTb 16.484 +518 448 M 16.485 +63 0 V 16.486 +stroke 16.487 +434 448 M 16.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 16.489 +] -46.7 MRshow 16.490 +1.000 UL 16.491 +LTb 16.492 +518 792 M 16.493 +63 0 V 16.494 +stroke 16.495 +434 792 M 16.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 16.497 +] -46.7 MRshow 16.498 +1.000 UL 16.499 +LTb 16.500 +518 1136 M 16.501 +63 0 V 16.502 +stroke 16.503 +434 1136 M 16.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 16.505 +] -46.7 MRshow 16.506 +1.000 UL 16.507 +LTb 16.508 +518 1480 M 16.509 +63 0 V 16.510 +stroke 16.511 +434 1480 M 16.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 16.513 +] -46.7 MRshow 16.514 +1.000 UL 16.515 +LTb 16.516 +518 1823 M 16.517 +63 0 V 16.518 +stroke 16.519 +434 1823 M 16.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 16.521 +] -46.7 MRshow 16.522 +1.000 UL 16.523 +LTb 16.524 +518 2167 M 16.525 +63 0 V 16.526 +stroke 16.527 +434 2167 M 16.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 16.529 +] -46.7 MRshow 16.530 +1.000 UL 16.531 +LTb 16.532 +518 2511 M 16.533 +63 0 V 16.534 +stroke 16.535 +434 2511 M 16.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 16.537 +] -46.7 MRshow 16.538 +1.000 UL 16.539 +LTb 16.540 +518 2855 M 16.541 +63 0 V 16.542 +stroke 16.543 +434 2855 M 16.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 16.545 +] -46.7 MRshow 16.546 +1.000 UL 16.547 +LTb 16.548 +518 448 M 16.549 +0 63 V 16.550 +stroke 16.551 +518 308 M 16.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 16.553 +] -46.7 MCshow 16.554 +1.000 UL 16.555 +LTb 16.556 +962 448 M 16.557 +0 63 V 16.558 +stroke 16.559 +962 308 M 16.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 16.561 +] -46.7 MCshow 16.562 +1.000 UL 16.563 +LTb 16.564 +1405 448 M 16.565 +0 63 V 16.566 +stroke 16.567 +1405 308 M 16.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 16.569 +] -46.7 MCshow 16.570 +1.000 UL 16.571 +LTb 16.572 +1849 448 M 16.573 +0 63 V 16.574 +stroke 16.575 +1849 308 M 16.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 16.577 +] -46.7 MCshow 16.578 +1.000 UL 16.579 +LTb 16.580 +2293 448 M 16.581 +0 63 V 16.582 +stroke 16.583 +2293 308 M 16.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 16.585 +] -46.7 MCshow 16.586 +1.000 UL 16.587 +LTb 16.588 +2736 448 M 16.589 +0 63 V 16.590 +stroke 16.591 +2736 308 M 16.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 16.593 +] -46.7 MCshow 16.594 +1.000 UL 16.595 +LTb 16.596 +3180 448 M 16.597 +0 63 V 16.598 +stroke 16.599 +3180 308 M 16.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 16.601 +] -46.7 MCshow 16.602 +1.000 UL 16.603 +LTb 16.604 +3623 448 M 16.605 +0 63 V 16.606 +stroke 16.607 +3623 308 M 16.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 16.609 +] -46.7 MCshow 16.610 +1.000 UL 16.611 +LTb 16.612 +4067 448 M 16.613 +0 63 V 16.614 +stroke 16.615 +4067 308 M 16.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 16.617 +] -46.7 MCshow 16.618 +1.000 UL 16.619 +LTb 16.620 +1.000 UL 16.621 +LTb 16.622 +518 2855 M 16.623 +518 448 L 16.624 +3549 0 V 16.625 +0 2407 R 16.626 +-3549 0 R 16.627 +stroke 16.628 +LCb setrgbcolor 16.629 +112 1651 M 16.630 +currentpoint gsave translate -270 rotate 0 0 moveto 16.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 16.632 +] -46.7 MCshow 16.633 +grestore 16.634 +LTb 16.635 +LCb setrgbcolor 16.636 +2292 98 M 16.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 16.638 +] -46.7 MCshow 16.639 +LTb 16.640 +1.000 UP 16.641 +1.000 UL 16.642 +LTb 16.643 +1.000 UL 16.644 +LTb 16.645 +2798 2538 N 16.646 +0 420 V 16.647 +1491 0 V 16.648 +0 -420 V 16.649 +-1491 0 V 16.650 +Z stroke 16.651 +2798 2958 M 16.652 +1491 0 V 16.653 +% Begin plot #1 16.654 +stroke 16.655 +4.000 UL 16.656 +LT1 16.657 +LCa setrgbcolor 16.658 +518 792 M 16.659 +36 0 V 16.660 +36 0 V 16.661 +36 0 V 16.662 +35 0 V 16.663 +36 0 V 16.664 +36 0 V 16.665 +36 0 V 16.666 +36 0 V 16.667 +36 0 V 16.668 +35 0 V 16.669 +36 0 V 16.670 +36 0 V 16.671 +36 0 V 16.672 +36 0 V 16.673 +36 0 V 16.674 +36 0 V 16.675 +35 0 V 16.676 +36 0 V 16.677 +36 0 V 16.678 +36 0 V 16.679 +36 0 V 16.680 +36 0 V 16.681 +36 0 V 16.682 +35 0 V 16.683 +36 0 V 16.684 +36 0 V 16.685 +36 0 V 16.686 +36 0 V 16.687 +36 0 V 16.688 +35 0 V 16.689 +36 0 V 16.690 +36 0 V 16.691 +36 0 V 16.692 +36 0 V 16.693 +36 0 V 16.694 +36 0 V 16.695 +35 0 V 16.696 +36 0 V 16.697 +36 0 V 16.698 +36 0 V 16.699 +36 0 V 16.700 +36 0 V 16.701 +35 0 V 16.702 +36 0 V 16.703 +36 0 V 16.704 +36 0 V 16.705 +36 0 V 16.706 +36 0 V 16.707 +36 0 V 16.708 +35 0 V 16.709 +36 0 V 16.710 +36 0 V 16.711 +36 0 V 16.712 +36 0 V 16.713 +36 0 V 16.714 +36 0 V 16.715 +35 0 V 16.716 +36 0 V 16.717 +36 0 V 16.718 +36 0 V 16.719 +36 0 V 16.720 +36 0 V 16.721 +35 0 V 16.722 +36 0 V 16.723 +36 0 V 16.724 +36 0 V 16.725 +36 0 V 16.726 +36 0 V 16.727 +36 0 V 16.728 +35 0 V 16.729 +36 0 V 16.730 +36 0 V 16.731 +36 0 V 16.732 +36 0 V 16.733 +36 0 V 16.734 +35 0 V 16.735 +36 0 V 16.736 +36 0 V 16.737 +36 0 V 16.738 +36 0 V 16.739 +36 0 V 16.740 +36 0 V 16.741 +35 0 V 16.742 +36 0 V 16.743 +36 0 V 16.744 +36 0 V 16.745 +36 0 V 16.746 +36 0 V 16.747 +36 0 V 16.748 +35 0 V 16.749 +36 0 V 16.750 +36 0 V 16.751 +36 0 V 16.752 +36 0 V 16.753 +36 0 V 16.754 +35 0 V 16.755 +36 0 V 16.756 +36 0 V 16.757 +36 0 V 16.758 +% End plot #1 16.759 +% Begin plot #2 16.760 +stroke 16.761 +LT1 16.762 +LCb setrgbcolor 16.763 +3722 2888 M 16.764 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 16.765 +] -46.7 MRshow 16.766 +LT1 16.767 +3806 2888 M 16.768 +399 0 V 16.769 +746 2855 M 16.770 +848 2069 L 16.771 +255 -711 V 16.772 +1600 935 L 16.773 +2594 699 L 16.774 +4067 607 L 16.775 +% End plot #2 16.776 +% Begin plot #3 16.777 +stroke 16.778 +LT2 16.779 +LCb setrgbcolor 16.780 +3722 2748 M 16.781 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 16.782 +] -46.7 MRshow 16.783 +LT2 16.784 +3806 2748 M 16.785 +399 0 V 16.786 +1089 2855 M 16.787 +15 -106 V 16.788 +1605 1686 L 16.789 +991 -594 V 16.790 +4067 858 L 16.791 +% End plot #3 16.792 +% Begin plot #4 16.793 +stroke 16.794 +LT3 16.795 +LCb setrgbcolor 16.796 +3722 2608 M 16.797 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 16.798 +] -46.7 MRshow 16.799 +LT3 16.800 +3806 2608 M 16.801 +399 0 V 16.802 +2508 2855 M 16.803 +97 -193 V 16.804 +4067 1874 L 16.805 +% End plot #4 16.806 +stroke 16.807 +1.000 UL 16.808 +LTb 16.809 +518 2855 M 16.810 +518 448 L 16.811 +3549 0 V 16.812 +0 2407 R 16.813 +-3549 0 R 16.814 +1.000 UP 16.815 +stroke 16.816 +grestore 16.817 +end 16.818 +showpage 16.819 +%%Trailer 16.820 +%%DocumentFonts: Helvetica 16.821 +%%Pages: 1
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps Sun Mar 11 09:26:44 2012 -0700 17.3 @@ -0,0 +1,851 @@ 17.4 +%!PS-Adobe-2.0 17.5 +%%Title: cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps 17.6 +%%Creator: gnuplot 4.4 patchlevel 2 17.7 +%%CreationDate: Thu Jan 26 18:09:54 2012 17.8 +%%DocumentFonts: (atend) 17.9 +%%BoundingBox: 251 50 554 482 17.10 +%%Orientation: Landscape 17.11 +%%Pages: (atend) 17.12 +%%EndComments 17.13 +%%BeginProlog 17.14 +/gnudict 256 dict def 17.15 +gnudict begin 17.16 +% 17.17 +% The following true/false flags may be edited by hand if desired. 17.18 +% The unit line width and grayscale image gamma correction may also be changed. 17.19 +% 17.20 +/Color true def 17.21 +/Blacktext false def 17.22 +/Solid false def 17.23 +/Dashlength 1 def 17.24 +/Landscape true def 17.25 +/Level1 false def 17.26 +/Rounded false def 17.27 +/ClipToBoundingBox false def 17.28 +/TransparentPatterns false def 17.29 +/gnulinewidth 5.000 def 17.30 +/userlinewidth gnulinewidth def 17.31 +/Gamma 1.0 def 17.32 +% 17.33 +/vshift -46 def 17.34 +/dl1 { 17.35 + 10.0 Dashlength mul mul 17.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 17.37 +} def 17.38 +/dl2 { 17.39 + 10.0 Dashlength mul mul 17.40 + Rounded { currentlinewidth 0.75 mul add } if 17.41 +} def 17.42 +/hpt_ 31.5 def 17.43 +/vpt_ 31.5 def 17.44 +/hpt hpt_ def 17.45 +/vpt vpt_ def 17.46 +Level1 {} { 17.47 +/SDict 10 dict def 17.48 +systemdict /pdfmark known not { 17.49 + userdict /pdfmark systemdict /cleartomark get put 17.50 +} if 17.51 +SDict begin [ 17.52 + /Title (cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps) 17.53 + /Subject (gnuplot plot) 17.54 + /Creator (gnuplot 4.4 patchlevel 2) 17.55 + /Author (msach) 17.56 +% /Producer (gnuplot) 17.57 +% /Keywords () 17.58 + /CreationDate (Thu Jan 26 18:09:54 2012) 17.59 + /DOCINFO pdfmark 17.60 +end 17.61 +} ifelse 17.62 +/doclip { 17.63 + ClipToBoundingBox { 17.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 17.65 + clip 17.66 + } if 17.67 +} def 17.68 +% 17.69 +% Gnuplot Prolog Version 4.4 (August 2010) 17.70 +% 17.71 +%/SuppressPDFMark true def 17.72 +% 17.73 +/M {moveto} bind def 17.74 +/L {lineto} bind def 17.75 +/R {rmoveto} bind def 17.76 +/V {rlineto} bind def 17.77 +/N {newpath moveto} bind def 17.78 +/Z {closepath} bind def 17.79 +/C {setrgbcolor} bind def 17.80 +/f {rlineto fill} bind def 17.81 +/g {setgray} bind def 17.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 17.83 +/vpt2 vpt 2 mul def 17.84 +/hpt2 hpt 2 mul def 17.85 +/Lshow {currentpoint stroke M 0 vshift R 17.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 17.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 17.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 17.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 17.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 17.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 17.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 17.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 17.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 17.95 +/BL {stroke userlinewidth 2 mul setlinewidth 17.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 17.97 +/AL {stroke userlinewidth 2 div setlinewidth 17.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 17.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 17.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 17.101 +/PL {stroke userlinewidth setlinewidth 17.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 17.103 +3.8 setmiterlimit 17.104 +% Default Line colors 17.105 +/LCw {1 1 1} def 17.106 +/LCb {0 0 0} def 17.107 +/LCa {0 0 0} def 17.108 +/LC0 {1 0 0} def 17.109 +/LC1 {0 1 0} def 17.110 +/LC2 {0 0 1} def 17.111 +/LC3 {1 0 1} def 17.112 +/LC4 {0 1 1} def 17.113 +/LC5 {1 1 0} def 17.114 +/LC6 {0 0 0} def 17.115 +/LC7 {1 0.3 0} def 17.116 +/LC8 {0.5 0.5 0.5} def 17.117 +% Default Line Types 17.118 +/LTw {PL [] 1 setgray} def 17.119 +/LTb {BL [] LCb DL} def 17.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 17.121 +/LT0 {PL [] LC0 DL} def 17.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 17.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 17.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 17.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 17.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 17.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 17.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 17.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 17.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 17.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 17.132 + hpt neg vpt neg V hpt vpt neg V 17.133 + hpt vpt V hpt neg vpt V closepath stroke 17.134 + Pnt} def 17.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 17.136 + currentpoint stroke M 17.137 + hpt neg vpt neg R hpt2 0 V stroke 17.138 + } def 17.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 17.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 17.141 + hpt2 neg 0 V closepath stroke 17.142 + Pnt} def 17.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 17.144 + hpt2 vpt2 neg V currentpoint stroke M 17.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 17.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 17.147 + hpt neg vpt -1.62 mul V 17.148 + hpt 2 mul 0 V 17.149 + hpt neg vpt 1.62 mul V closepath stroke 17.150 + Pnt} def 17.151 +/Star {2 copy Pls Crs} def 17.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 17.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 17.154 + hpt2 neg 0 V closepath fill} def 17.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 17.156 + hpt neg vpt -1.62 mul V 17.157 + hpt 2 mul 0 V 17.158 + hpt neg vpt 1.62 mul V closepath fill} def 17.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 17.160 + hpt neg vpt 1.62 mul V 17.161 + hpt 2 mul 0 V 17.162 + hpt neg vpt -1.62 mul V closepath stroke 17.163 + Pnt} def 17.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 17.165 + hpt neg vpt 1.62 mul V 17.166 + hpt 2 mul 0 V 17.167 + hpt neg vpt -1.62 mul V closepath fill} def 17.168 +/DiaF {stroke [] 0 setdash vpt add M 17.169 + hpt neg vpt neg V hpt vpt neg V 17.170 + hpt vpt V hpt neg vpt V closepath fill} def 17.171 +/Pent {stroke [] 0 setdash 2 copy gsave 17.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 17.173 + closepath stroke grestore Pnt} def 17.174 +/PentF {stroke [] 0 setdash gsave 17.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 17.176 + closepath fill grestore} def 17.177 +/Circle {stroke [] 0 setdash 2 copy 17.178 + hpt 0 360 arc stroke Pnt} def 17.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 17.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 17.181 +/C1 {BL [] 0 setdash 2 copy moveto 17.182 + 2 copy vpt 0 90 arc closepath fill 17.183 + vpt 0 360 arc closepath} bind def 17.184 +/C2 {BL [] 0 setdash 2 copy moveto 17.185 + 2 copy vpt 90 180 arc closepath fill 17.186 + vpt 0 360 arc closepath} bind def 17.187 +/C3 {BL [] 0 setdash 2 copy moveto 17.188 + 2 copy vpt 0 180 arc closepath fill 17.189 + vpt 0 360 arc closepath} bind def 17.190 +/C4 {BL [] 0 setdash 2 copy moveto 17.191 + 2 copy vpt 180 270 arc closepath fill 17.192 + vpt 0 360 arc closepath} bind def 17.193 +/C5 {BL [] 0 setdash 2 copy moveto 17.194 + 2 copy vpt 0 90 arc 17.195 + 2 copy moveto 17.196 + 2 copy vpt 180 270 arc closepath fill 17.197 + vpt 0 360 arc} bind def 17.198 +/C6 {BL [] 0 setdash 2 copy moveto 17.199 + 2 copy vpt 90 270 arc closepath fill 17.200 + vpt 0 360 arc closepath} bind def 17.201 +/C7 {BL [] 0 setdash 2 copy moveto 17.202 + 2 copy vpt 0 270 arc closepath fill 17.203 + vpt 0 360 arc closepath} bind def 17.204 +/C8 {BL [] 0 setdash 2 copy moveto 17.205 + 2 copy vpt 270 360 arc closepath fill 17.206 + vpt 0 360 arc closepath} bind def 17.207 +/C9 {BL [] 0 setdash 2 copy moveto 17.208 + 2 copy vpt 270 450 arc closepath fill 17.209 + vpt 0 360 arc closepath} bind def 17.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 17.211 + 2 copy moveto 17.212 + 2 copy vpt 90 180 arc closepath fill 17.213 + vpt 0 360 arc closepath} bind def 17.214 +/C11 {BL [] 0 setdash 2 copy moveto 17.215 + 2 copy vpt 0 180 arc closepath fill 17.216 + 2 copy moveto 17.217 + 2 copy vpt 270 360 arc closepath fill 17.218 + vpt 0 360 arc closepath} bind def 17.219 +/C12 {BL [] 0 setdash 2 copy moveto 17.220 + 2 copy vpt 180 360 arc closepath fill 17.221 + vpt 0 360 arc closepath} bind def 17.222 +/C13 {BL [] 0 setdash 2 copy moveto 17.223 + 2 copy vpt 0 90 arc closepath fill 17.224 + 2 copy moveto 17.225 + 2 copy vpt 180 360 arc closepath fill 17.226 + vpt 0 360 arc closepath} bind def 17.227 +/C14 {BL [] 0 setdash 2 copy moveto 17.228 + 2 copy vpt 90 360 arc closepath fill 17.229 + vpt 0 360 arc} bind def 17.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 17.231 + vpt 0 360 arc closepath} bind def 17.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 17.233 + neg 0 rlineto closepath} bind def 17.234 +/Square {dup Rec} bind def 17.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 17.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 17.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 17.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 17.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 17.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 17.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 17.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 17.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 17.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 17.245 + 2 copy vpt Square fill Bsquare} bind def 17.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 17.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 17.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 17.249 + Bsquare} bind def 17.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 17.251 + Bsquare} bind def 17.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 17.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 17.254 + 2 copy vpt Square fill Bsquare} bind def 17.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 17.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 17.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 17.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 17.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 17.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 17.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 17.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 17.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 17.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 17.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 17.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 17.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 17.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 17.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 17.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 17.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 17.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 17.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 17.274 +/DiaE {stroke [] 0 setdash vpt add M 17.275 + hpt neg vpt neg V hpt vpt neg V 17.276 + hpt vpt V hpt neg vpt V closepath stroke} def 17.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 17.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 17.279 + hpt2 neg 0 V closepath stroke} def 17.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 17.281 + hpt neg vpt -1.62 mul V 17.282 + hpt 2 mul 0 V 17.283 + hpt neg vpt 1.62 mul V closepath stroke} def 17.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 17.285 + hpt neg vpt 1.62 mul V 17.286 + hpt 2 mul 0 V 17.287 + hpt neg vpt -1.62 mul V closepath stroke} def 17.288 +/PentE {stroke [] 0 setdash gsave 17.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 17.290 + closepath stroke grestore} def 17.291 +/CircE {stroke [] 0 setdash 17.292 + hpt 0 360 arc stroke} def 17.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 17.294 +/DiaW {stroke [] 0 setdash vpt add M 17.295 + hpt neg vpt neg V hpt vpt neg V 17.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 17.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 17.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 17.299 + hpt2 neg 0 V Opaque stroke} def 17.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 17.301 + hpt neg vpt -1.62 mul V 17.302 + hpt 2 mul 0 V 17.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 17.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 17.305 + hpt neg vpt 1.62 mul V 17.306 + hpt 2 mul 0 V 17.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 17.308 +/PentW {stroke [] 0 setdash gsave 17.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 17.310 + Opaque stroke grestore} def 17.311 +/CircW {stroke [] 0 setdash 17.312 + hpt 0 360 arc Opaque stroke} def 17.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 17.314 +/Density { 17.315 + /Fillden exch def 17.316 + currentrgbcolor 17.317 + /ColB exch def /ColG exch def /ColR exch def 17.318 + /ColR ColR Fillden mul Fillden sub 1 add def 17.319 + /ColG ColG Fillden mul Fillden sub 1 add def 17.320 + /ColB ColB Fillden mul Fillden sub 1 add def 17.321 + ColR ColG ColB setrgbcolor} def 17.322 +/BoxColFill {gsave Rec PolyFill} def 17.323 +/PolyFill {gsave Density fill grestore grestore} def 17.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 17.325 +% 17.326 +% PostScript Level 1 Pattern Fill routine for rectangles 17.327 +% Usage: x y w h s a XX PatternFill 17.328 +% x,y = lower left corner of box to be filled 17.329 +% w,h = width and height of box 17.330 +% a = angle in degrees between lines and x-axis 17.331 +% XX = 0/1 for no/yes cross-hatch 17.332 +% 17.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 17.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 17.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 17.336 + gsave 1 setgray fill grestore clip 17.337 + currentlinewidth 0.5 mul setlinewidth 17.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 17.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 17.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 17.341 + {PFa 4 get mul 0 M 0 PFs V} for 17.342 + 0 PFa 6 get ne { 17.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 17.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 17.345 + } if 17.346 + stroke grestore} def 17.347 +% 17.348 +/languagelevel where 17.349 + {pop languagelevel} {1} ifelse 17.350 + 2 lt 17.351 + {/InterpretLevel1 true def} 17.352 + {/InterpretLevel1 Level1 def} 17.353 + ifelse 17.354 +% 17.355 +% PostScript level 2 pattern fill definitions 17.356 +% 17.357 +/Level2PatternFill { 17.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 17.359 + bind def 17.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 17.361 +<< Tile8x8 17.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 17.363 +>> matrix makepattern 17.364 +/Pat1 exch def 17.365 +<< Tile8x8 17.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 17.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 17.368 +>> matrix makepattern 17.369 +/Pat2 exch def 17.370 +<< Tile8x8 17.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 17.372 + 8 8 L 8 0 L 0 0 L fill} 17.373 +>> matrix makepattern 17.374 +/Pat3 exch def 17.375 +<< Tile8x8 17.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 17.377 + 0 12 M 12 0 L stroke} 17.378 +>> matrix makepattern 17.379 +/Pat4 exch def 17.380 +<< Tile8x8 17.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 17.382 + 0 -4 M 12 8 L stroke} 17.383 +>> matrix makepattern 17.384 +/Pat5 exch def 17.385 +<< Tile8x8 17.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 17.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 17.388 +>> matrix makepattern 17.389 +/Pat6 exch def 17.390 +<< Tile8x8 17.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 17.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 17.393 +>> matrix makepattern 17.394 +/Pat7 exch def 17.395 +<< Tile8x8 17.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 17.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 17.398 +>> matrix makepattern 17.399 +/Pat8 exch def 17.400 +<< Tile8x8 17.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 17.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 17.403 +>> matrix makepattern 17.404 +/Pat9 exch def 17.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 17.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 17.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 17.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 17.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 17.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 17.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 17.412 +} def 17.413 +% 17.414 +% 17.415 +%End of PostScript Level 2 code 17.416 +% 17.417 +/PatternBgnd { 17.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 17.419 +} def 17.420 +% 17.421 +% Substitute for Level 2 pattern fill codes with 17.422 +% grayscale if Level 2 support is not selected. 17.423 +% 17.424 +/Level1PatternFill { 17.425 +/Pattern1 {0.250 Density} bind def 17.426 +/Pattern2 {0.500 Density} bind def 17.427 +/Pattern3 {0.750 Density} bind def 17.428 +/Pattern4 {0.125 Density} bind def 17.429 +/Pattern5 {0.375 Density} bind def 17.430 +/Pattern6 {0.625 Density} bind def 17.431 +/Pattern7 {0.875 Density} bind def 17.432 +} def 17.433 +% 17.434 +% Now test for support of Level 2 code 17.435 +% 17.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 17.437 +% 17.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 17.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 17.440 +currentdict end definefont pop 17.441 +/MFshow { 17.442 + { dup 5 get 3 ge 17.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 17.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 17.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 17.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 17.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 17.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 17.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 17.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 17.451 + pop aload pop M} ifelse }ifelse }ifelse } 17.452 + ifelse } 17.453 + forall} def 17.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 17.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 17.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 17.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 17.458 +/MLshow { currentpoint stroke M 17.459 + 0 exch R 17.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 17.461 +/MRshow { currentpoint stroke M 17.462 + exch dup MFwidth neg 3 -1 roll R 17.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 17.464 +/MCshow { currentpoint stroke M 17.465 + exch dup MFwidth -2 div 3 -1 roll R 17.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 17.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 17.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 17.469 +end 17.470 +%%EndProlog 17.471 +%%Page: 1 1 17.472 +gnudict begin 17.473 +gsave 17.474 +doclip 17.475 +50 50 translate 17.476 +0.100 0.100 scale 17.477 +90 rotate 17.478 +0 -5040 translate 17.479 +0 setgray 17.480 +newpath 17.481 +(Helvetica) findfont 140 scalefont setfont 17.482 +1.000 UL 17.483 +LTb 17.484 +518 448 M 17.485 +63 0 V 17.486 +stroke 17.487 +434 448 M 17.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 17.489 +] -46.7 MRshow 17.490 +1.000 UL 17.491 +LTb 17.492 +518 792 M 17.493 +63 0 V 17.494 +stroke 17.495 +434 792 M 17.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 17.497 +] -46.7 MRshow 17.498 +1.000 UL 17.499 +LTb 17.500 +518 1136 M 17.501 +63 0 V 17.502 +stroke 17.503 +434 1136 M 17.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 17.505 +] -46.7 MRshow 17.506 +1.000 UL 17.507 +LTb 17.508 +518 1480 M 17.509 +63 0 V 17.510 +stroke 17.511 +434 1480 M 17.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 17.513 +] -46.7 MRshow 17.514 +1.000 UL 17.515 +LTb 17.516 +518 1823 M 17.517 +63 0 V 17.518 +stroke 17.519 +434 1823 M 17.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 17.521 +] -46.7 MRshow 17.522 +1.000 UL 17.523 +LTb 17.524 +518 2167 M 17.525 +63 0 V 17.526 +stroke 17.527 +434 2167 M 17.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 17.529 +] -46.7 MRshow 17.530 +1.000 UL 17.531 +LTb 17.532 +518 2511 M 17.533 +63 0 V 17.534 +stroke 17.535 +434 2511 M 17.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 17.537 +] -46.7 MRshow 17.538 +1.000 UL 17.539 +LTb 17.540 +518 2855 M 17.541 +63 0 V 17.542 +stroke 17.543 +434 2855 M 17.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 17.545 +] -46.7 MRshow 17.546 +1.000 UL 17.547 +LTb 17.548 +518 448 M 17.549 +0 63 V 17.550 +stroke 17.551 +518 308 M 17.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 17.553 +] -46.7 MCshow 17.554 +1.000 UL 17.555 +LTb 17.556 +962 448 M 17.557 +0 63 V 17.558 +stroke 17.559 +962 308 M 17.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 17.561 +] -46.7 MCshow 17.562 +1.000 UL 17.563 +LTb 17.564 +1405 448 M 17.565 +0 63 V 17.566 +stroke 17.567 +1405 308 M 17.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 17.569 +] -46.7 MCshow 17.570 +1.000 UL 17.571 +LTb 17.572 +1849 448 M 17.573 +0 63 V 17.574 +stroke 17.575 +1849 308 M 17.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 17.577 +] -46.7 MCshow 17.578 +1.000 UL 17.579 +LTb 17.580 +2293 448 M 17.581 +0 63 V 17.582 +stroke 17.583 +2293 308 M 17.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 17.585 +] -46.7 MCshow 17.586 +1.000 UL 17.587 +LTb 17.588 +2736 448 M 17.589 +0 63 V 17.590 +stroke 17.591 +2736 308 M 17.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 17.593 +] -46.7 MCshow 17.594 +1.000 UL 17.595 +LTb 17.596 +3180 448 M 17.597 +0 63 V 17.598 +stroke 17.599 +3180 308 M 17.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 17.601 +] -46.7 MCshow 17.602 +1.000 UL 17.603 +LTb 17.604 +3623 448 M 17.605 +0 63 V 17.606 +stroke 17.607 +3623 308 M 17.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 17.609 +] -46.7 MCshow 17.610 +1.000 UL 17.611 +LTb 17.612 +4067 448 M 17.613 +0 63 V 17.614 +stroke 17.615 +4067 308 M 17.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 17.617 +] -46.7 MCshow 17.618 +1.000 UL 17.619 +LTb 17.620 +1.000 UL 17.621 +LTb 17.622 +518 2855 M 17.623 +518 448 L 17.624 +3549 0 V 17.625 +0 2407 R 17.626 +-3549 0 R 17.627 +stroke 17.628 +LCb setrgbcolor 17.629 +112 1651 M 17.630 +currentpoint gsave translate -270 rotate 0 0 moveto 17.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 17.632 +] -46.7 MCshow 17.633 +grestore 17.634 +LTb 17.635 +LCb setrgbcolor 17.636 +2292 98 M 17.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 17.638 +] -46.7 MCshow 17.639 +LTb 17.640 +1.000 UP 17.641 +1.000 UL 17.642 +LTb 17.643 +1.000 UL 17.644 +LTb 17.645 +2492 2232 N 17.646 +0 560 V 17.647 +1491 0 V 17.648 +0 -560 V 17.649 +-1491 0 V 17.650 +Z stroke 17.651 +2492 2792 M 17.652 +1491 0 V 17.653 +% Begin plot #1 17.654 +stroke 17.655 +4.000 UL 17.656 +LT1 17.657 +LCa setrgbcolor 17.658 +518 792 M 17.659 +36 0 V 17.660 +36 0 V 17.661 +36 0 V 17.662 +35 0 V 17.663 +36 0 V 17.664 +36 0 V 17.665 +36 0 V 17.666 +36 0 V 17.667 +36 0 V 17.668 +35 0 V 17.669 +36 0 V 17.670 +36 0 V 17.671 +36 0 V 17.672 +36 0 V 17.673 +36 0 V 17.674 +36 0 V 17.675 +35 0 V 17.676 +36 0 V 17.677 +36 0 V 17.678 +36 0 V 17.679 +36 0 V 17.680 +36 0 V 17.681 +36 0 V 17.682 +35 0 V 17.683 +36 0 V 17.684 +36 0 V 17.685 +36 0 V 17.686 +36 0 V 17.687 +36 0 V 17.688 +35 0 V 17.689 +36 0 V 17.690 +36 0 V 17.691 +36 0 V 17.692 +36 0 V 17.693 +36 0 V 17.694 +36 0 V 17.695 +35 0 V 17.696 +36 0 V 17.697 +36 0 V 17.698 +36 0 V 17.699 +36 0 V 17.700 +36 0 V 17.701 +35 0 V 17.702 +36 0 V 17.703 +36 0 V 17.704 +36 0 V 17.705 +36 0 V 17.706 +36 0 V 17.707 +36 0 V 17.708 +35 0 V 17.709 +36 0 V 17.710 +36 0 V 17.711 +36 0 V 17.712 +36 0 V 17.713 +36 0 V 17.714 +36 0 V 17.715 +35 0 V 17.716 +36 0 V 17.717 +36 0 V 17.718 +36 0 V 17.719 +36 0 V 17.720 +36 0 V 17.721 +35 0 V 17.722 +36 0 V 17.723 +36 0 V 17.724 +36 0 V 17.725 +36 0 V 17.726 +36 0 V 17.727 +36 0 V 17.728 +35 0 V 17.729 +36 0 V 17.730 +36 0 V 17.731 +36 0 V 17.732 +36 0 V 17.733 +36 0 V 17.734 +35 0 V 17.735 +36 0 V 17.736 +36 0 V 17.737 +36 0 V 17.738 +36 0 V 17.739 +36 0 V 17.740 +36 0 V 17.741 +35 0 V 17.742 +36 0 V 17.743 +36 0 V 17.744 +36 0 V 17.745 +36 0 V 17.746 +36 0 V 17.747 +36 0 V 17.748 +35 0 V 17.749 +36 0 V 17.750 +36 0 V 17.751 +36 0 V 17.752 +36 0 V 17.753 +36 0 V 17.754 +35 0 V 17.755 +36 0 V 17.756 +36 0 V 17.757 +36 0 V 17.758 +% End plot #1 17.759 +% Begin plot #2 17.760 +stroke 17.761 +LT1 17.762 +LCb setrgbcolor 17.763 +3416 2722 M 17.764 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 17.765 +] -46.7 MRshow 17.766 +LT1 17.767 +3500 2722 M 17.768 +399 0 V 17.769 +610 1551 M 17.770 +19 -143 V 17.771 +31 -191 V 17.772 +722 955 L 17.773 +846 769 L 17.774 +1102 629 L 17.775 +497 -83 V 17.776 +994 -48 V 17.777 +4067 480 L 17.778 +% End plot #2 17.779 +% Begin plot #3 17.780 +stroke 17.781 +LT2 17.782 +LCb setrgbcolor 17.783 +3416 2582 M 17.784 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 17.785 +] -46.7 MRshow 17.786 +LT2 17.787 +3500 2582 M 17.788 +399 0 V 17.789 +610 1568 M 17.790 +19 -173 V 17.791 +31 -226 V 17.792 +722 958 L 17.793 +846 759 L 17.794 +1102 621 L 17.795 +497 -78 V 17.796 +994 -46 V 17.797 +4067 479 L 17.798 +% End plot #3 17.799 +% Begin plot #4 17.800 +stroke 17.801 +LT3 17.802 +LCb setrgbcolor 17.803 +3416 2442 M 17.804 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 17.805 +] -46.7 MRshow 17.806 +LT3 17.807 +3500 2442 M 17.808 +399 0 V 17.809 +611 1654 M 17.810 +18 -214 V 17.811 +31 -208 V 17.812 +722 984 L 17.813 +847 786 L 17.814 +1103 636 L 17.815 +496 -85 V 17.816 +994 -50 V 17.817 +4067 482 L 17.818 +% End plot #4 17.819 +% Begin plot #5 17.820 +stroke 17.821 +LT4 17.822 +LCb setrgbcolor 17.823 +3416 2302 M 17.824 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 17.825 +] -46.7 MRshow 17.826 +LT4 17.827 +3500 2302 M 17.828 +399 0 V 17.829 +611 1704 M 17.830 +18 -203 V 17.831 +31 -230 V 17.832 +63 -252 V 17.833 +846 804 L 17.834 +1103 645 L 17.835 +497 -89 V 17.836 +993 -52 V 17.837 +4067 484 L 17.838 +% End plot #5 17.839 +stroke 17.840 +1.000 UL 17.841 +LTb 17.842 +518 2855 M 17.843 +518 448 L 17.844 +3549 0 V 17.845 +0 2407 R 17.846 +-3549 0 R 17.847 +1.000 UP 17.848 +stroke 17.849 +grestore 17.850 +end 17.851 +showpage 17.852 +%%Trailer 17.853 +%%DocumentFonts: Helvetica 17.854 +%%Pages: 1
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 18.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps Sun Mar 11 09:26:44 2012 -0700 18.3 @@ -0,0 +1,819 @@ 18.4 +%!PS-Adobe-2.0 18.5 +%%Title: vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps 18.6 +%%Creator: gnuplot 4.4 patchlevel 2 18.7 +%%CreationDate: Thu Jan 26 18:11:43 2012 18.8 +%%DocumentFonts: (atend) 18.9 +%%BoundingBox: 251 50 554 482 18.10 +%%Orientation: Landscape 18.11 +%%Pages: (atend) 18.12 +%%EndComments 18.13 +%%BeginProlog 18.14 +/gnudict 256 dict def 18.15 +gnudict begin 18.16 +% 18.17 +% The following true/false flags may be edited by hand if desired. 18.18 +% The unit line width and grayscale image gamma correction may also be changed. 18.19 +% 18.20 +/Color true def 18.21 +/Blacktext false def 18.22 +/Solid false def 18.23 +/Dashlength 1 def 18.24 +/Landscape true def 18.25 +/Level1 false def 18.26 +/Rounded false def 18.27 +/ClipToBoundingBox false def 18.28 +/TransparentPatterns false def 18.29 +/gnulinewidth 5.000 def 18.30 +/userlinewidth gnulinewidth def 18.31 +/Gamma 1.0 def 18.32 +% 18.33 +/vshift -46 def 18.34 +/dl1 { 18.35 + 10.0 Dashlength mul mul 18.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 18.37 +} def 18.38 +/dl2 { 18.39 + 10.0 Dashlength mul mul 18.40 + Rounded { currentlinewidth 0.75 mul add } if 18.41 +} def 18.42 +/hpt_ 31.5 def 18.43 +/vpt_ 31.5 def 18.44 +/hpt hpt_ def 18.45 +/vpt vpt_ def 18.46 +Level1 {} { 18.47 +/SDict 10 dict def 18.48 +systemdict /pdfmark known not { 18.49 + userdict /pdfmark systemdict /cleartomark get put 18.50 +} if 18.51 +SDict begin [ 18.52 + /Title (vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps) 18.53 + /Subject (gnuplot plot) 18.54 + /Creator (gnuplot 4.4 patchlevel 2) 18.55 + /Author (msach) 18.56 +% /Producer (gnuplot) 18.57 +% /Keywords () 18.58 + /CreationDate (Thu Jan 26 18:11:43 2012) 18.59 + /DOCINFO pdfmark 18.60 +end 18.61 +} ifelse 18.62 +/doclip { 18.63 + ClipToBoundingBox { 18.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 18.65 + clip 18.66 + } if 18.67 +} def 18.68 +% 18.69 +% Gnuplot Prolog Version 4.4 (August 2010) 18.70 +% 18.71 +%/SuppressPDFMark true def 18.72 +% 18.73 +/M {moveto} bind def 18.74 +/L {lineto} bind def 18.75 +/R {rmoveto} bind def 18.76 +/V {rlineto} bind def 18.77 +/N {newpath moveto} bind def 18.78 +/Z {closepath} bind def 18.79 +/C {setrgbcolor} bind def 18.80 +/f {rlineto fill} bind def 18.81 +/g {setgray} bind def 18.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 18.83 +/vpt2 vpt 2 mul def 18.84 +/hpt2 hpt 2 mul def 18.85 +/Lshow {currentpoint stroke M 0 vshift R 18.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 18.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 18.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 18.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 18.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 18.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 18.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 18.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 18.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 18.95 +/BL {stroke userlinewidth 2 mul setlinewidth 18.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 18.97 +/AL {stroke userlinewidth 2 div setlinewidth 18.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 18.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 18.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 18.101 +/PL {stroke userlinewidth setlinewidth 18.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 18.103 +3.8 setmiterlimit 18.104 +% Default Line colors 18.105 +/LCw {1 1 1} def 18.106 +/LCb {0 0 0} def 18.107 +/LCa {0 0 0} def 18.108 +/LC0 {1 0 0} def 18.109 +/LC1 {0 1 0} def 18.110 +/LC2 {0 0 1} def 18.111 +/LC3 {1 0 1} def 18.112 +/LC4 {0 1 1} def 18.113 +/LC5 {1 1 0} def 18.114 +/LC6 {0 0 0} def 18.115 +/LC7 {1 0.3 0} def 18.116 +/LC8 {0.5 0.5 0.5} def 18.117 +% Default Line Types 18.118 +/LTw {PL [] 1 setgray} def 18.119 +/LTb {BL [] LCb DL} def 18.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 18.121 +/LT0 {PL [] LC0 DL} def 18.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 18.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 18.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 18.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 18.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 18.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 18.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 18.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 18.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 18.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 18.132 + hpt neg vpt neg V hpt vpt neg V 18.133 + hpt vpt V hpt neg vpt V closepath stroke 18.134 + Pnt} def 18.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 18.136 + currentpoint stroke M 18.137 + hpt neg vpt neg R hpt2 0 V stroke 18.138 + } def 18.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 18.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 18.141 + hpt2 neg 0 V closepath stroke 18.142 + Pnt} def 18.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 18.144 + hpt2 vpt2 neg V currentpoint stroke M 18.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 18.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 18.147 + hpt neg vpt -1.62 mul V 18.148 + hpt 2 mul 0 V 18.149 + hpt neg vpt 1.62 mul V closepath stroke 18.150 + Pnt} def 18.151 +/Star {2 copy Pls Crs} def 18.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 18.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 18.154 + hpt2 neg 0 V closepath fill} def 18.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 18.156 + hpt neg vpt -1.62 mul V 18.157 + hpt 2 mul 0 V 18.158 + hpt neg vpt 1.62 mul V closepath fill} def 18.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 18.160 + hpt neg vpt 1.62 mul V 18.161 + hpt 2 mul 0 V 18.162 + hpt neg vpt -1.62 mul V closepath stroke 18.163 + Pnt} def 18.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 18.165 + hpt neg vpt 1.62 mul V 18.166 + hpt 2 mul 0 V 18.167 + hpt neg vpt -1.62 mul V closepath fill} def 18.168 +/DiaF {stroke [] 0 setdash vpt add M 18.169 + hpt neg vpt neg V hpt vpt neg V 18.170 + hpt vpt V hpt neg vpt V closepath fill} def 18.171 +/Pent {stroke [] 0 setdash 2 copy gsave 18.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 18.173 + closepath stroke grestore Pnt} def 18.174 +/PentF {stroke [] 0 setdash gsave 18.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 18.176 + closepath fill grestore} def 18.177 +/Circle {stroke [] 0 setdash 2 copy 18.178 + hpt 0 360 arc stroke Pnt} def 18.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 18.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 18.181 +/C1 {BL [] 0 setdash 2 copy moveto 18.182 + 2 copy vpt 0 90 arc closepath fill 18.183 + vpt 0 360 arc closepath} bind def 18.184 +/C2 {BL [] 0 setdash 2 copy moveto 18.185 + 2 copy vpt 90 180 arc closepath fill 18.186 + vpt 0 360 arc closepath} bind def 18.187 +/C3 {BL [] 0 setdash 2 copy moveto 18.188 + 2 copy vpt 0 180 arc closepath fill 18.189 + vpt 0 360 arc closepath} bind def 18.190 +/C4 {BL [] 0 setdash 2 copy moveto 18.191 + 2 copy vpt 180 270 arc closepath fill 18.192 + vpt 0 360 arc closepath} bind def 18.193 +/C5 {BL [] 0 setdash 2 copy moveto 18.194 + 2 copy vpt 0 90 arc 18.195 + 2 copy moveto 18.196 + 2 copy vpt 180 270 arc closepath fill 18.197 + vpt 0 360 arc} bind def 18.198 +/C6 {BL [] 0 setdash 2 copy moveto 18.199 + 2 copy vpt 90 270 arc closepath fill 18.200 + vpt 0 360 arc closepath} bind def 18.201 +/C7 {BL [] 0 setdash 2 copy moveto 18.202 + 2 copy vpt 0 270 arc closepath fill 18.203 + vpt 0 360 arc closepath} bind def 18.204 +/C8 {BL [] 0 setdash 2 copy moveto 18.205 + 2 copy vpt 270 360 arc closepath fill 18.206 + vpt 0 360 arc closepath} bind def 18.207 +/C9 {BL [] 0 setdash 2 copy moveto 18.208 + 2 copy vpt 270 450 arc closepath fill 18.209 + vpt 0 360 arc closepath} bind def 18.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 18.211 + 2 copy moveto 18.212 + 2 copy vpt 90 180 arc closepath fill 18.213 + vpt 0 360 arc closepath} bind def 18.214 +/C11 {BL [] 0 setdash 2 copy moveto 18.215 + 2 copy vpt 0 180 arc closepath fill 18.216 + 2 copy moveto 18.217 + 2 copy vpt 270 360 arc closepath fill 18.218 + vpt 0 360 arc closepath} bind def 18.219 +/C12 {BL [] 0 setdash 2 copy moveto 18.220 + 2 copy vpt 180 360 arc closepath fill 18.221 + vpt 0 360 arc closepath} bind def 18.222 +/C13 {BL [] 0 setdash 2 copy moveto 18.223 + 2 copy vpt 0 90 arc closepath fill 18.224 + 2 copy moveto 18.225 + 2 copy vpt 180 360 arc closepath fill 18.226 + vpt 0 360 arc closepath} bind def 18.227 +/C14 {BL [] 0 setdash 2 copy moveto 18.228 + 2 copy vpt 90 360 arc closepath fill 18.229 + vpt 0 360 arc} bind def 18.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 18.231 + vpt 0 360 arc closepath} bind def 18.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 18.233 + neg 0 rlineto closepath} bind def 18.234 +/Square {dup Rec} bind def 18.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 18.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 18.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 18.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 18.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 18.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 18.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 18.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 18.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 18.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 18.245 + 2 copy vpt Square fill Bsquare} bind def 18.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 18.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 18.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 18.249 + Bsquare} bind def 18.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 18.251 + Bsquare} bind def 18.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 18.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 18.254 + 2 copy vpt Square fill Bsquare} bind def 18.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 18.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 18.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 18.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 18.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 18.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 18.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 18.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 18.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 18.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 18.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 18.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 18.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 18.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 18.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 18.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 18.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 18.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 18.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 18.274 +/DiaE {stroke [] 0 setdash vpt add M 18.275 + hpt neg vpt neg V hpt vpt neg V 18.276 + hpt vpt V hpt neg vpt V closepath stroke} def 18.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 18.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 18.279 + hpt2 neg 0 V closepath stroke} def 18.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 18.281 + hpt neg vpt -1.62 mul V 18.282 + hpt 2 mul 0 V 18.283 + hpt neg vpt 1.62 mul V closepath stroke} def 18.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 18.285 + hpt neg vpt 1.62 mul V 18.286 + hpt 2 mul 0 V 18.287 + hpt neg vpt -1.62 mul V closepath stroke} def 18.288 +/PentE {stroke [] 0 setdash gsave 18.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 18.290 + closepath stroke grestore} def 18.291 +/CircE {stroke [] 0 setdash 18.292 + hpt 0 360 arc stroke} def 18.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 18.294 +/DiaW {stroke [] 0 setdash vpt add M 18.295 + hpt neg vpt neg V hpt vpt neg V 18.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 18.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 18.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 18.299 + hpt2 neg 0 V Opaque stroke} def 18.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 18.301 + hpt neg vpt -1.62 mul V 18.302 + hpt 2 mul 0 V 18.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 18.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 18.305 + hpt neg vpt 1.62 mul V 18.306 + hpt 2 mul 0 V 18.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 18.308 +/PentW {stroke [] 0 setdash gsave 18.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 18.310 + Opaque stroke grestore} def 18.311 +/CircW {stroke [] 0 setdash 18.312 + hpt 0 360 arc Opaque stroke} def 18.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 18.314 +/Density { 18.315 + /Fillden exch def 18.316 + currentrgbcolor 18.317 + /ColB exch def /ColG exch def /ColR exch def 18.318 + /ColR ColR Fillden mul Fillden sub 1 add def 18.319 + /ColG ColG Fillden mul Fillden sub 1 add def 18.320 + /ColB ColB Fillden mul Fillden sub 1 add def 18.321 + ColR ColG ColB setrgbcolor} def 18.322 +/BoxColFill {gsave Rec PolyFill} def 18.323 +/PolyFill {gsave Density fill grestore grestore} def 18.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 18.325 +% 18.326 +% PostScript Level 1 Pattern Fill routine for rectangles 18.327 +% Usage: x y w h s a XX PatternFill 18.328 +% x,y = lower left corner of box to be filled 18.329 +% w,h = width and height of box 18.330 +% a = angle in degrees between lines and x-axis 18.331 +% XX = 0/1 for no/yes cross-hatch 18.332 +% 18.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 18.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 18.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 18.336 + gsave 1 setgray fill grestore clip 18.337 + currentlinewidth 0.5 mul setlinewidth 18.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 18.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 18.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 18.341 + {PFa 4 get mul 0 M 0 PFs V} for 18.342 + 0 PFa 6 get ne { 18.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 18.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 18.345 + } if 18.346 + stroke grestore} def 18.347 +% 18.348 +/languagelevel where 18.349 + {pop languagelevel} {1} ifelse 18.350 + 2 lt 18.351 + {/InterpretLevel1 true def} 18.352 + {/InterpretLevel1 Level1 def} 18.353 + ifelse 18.354 +% 18.355 +% PostScript level 2 pattern fill definitions 18.356 +% 18.357 +/Level2PatternFill { 18.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 18.359 + bind def 18.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 18.361 +<< Tile8x8 18.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 18.363 +>> matrix makepattern 18.364 +/Pat1 exch def 18.365 +<< Tile8x8 18.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 18.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 18.368 +>> matrix makepattern 18.369 +/Pat2 exch def 18.370 +<< Tile8x8 18.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 18.372 + 8 8 L 8 0 L 0 0 L fill} 18.373 +>> matrix makepattern 18.374 +/Pat3 exch def 18.375 +<< Tile8x8 18.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 18.377 + 0 12 M 12 0 L stroke} 18.378 +>> matrix makepattern 18.379 +/Pat4 exch def 18.380 +<< Tile8x8 18.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 18.382 + 0 -4 M 12 8 L stroke} 18.383 +>> matrix makepattern 18.384 +/Pat5 exch def 18.385 +<< Tile8x8 18.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 18.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 18.388 +>> matrix makepattern 18.389 +/Pat6 exch def 18.390 +<< Tile8x8 18.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 18.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 18.393 +>> matrix makepattern 18.394 +/Pat7 exch def 18.395 +<< Tile8x8 18.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 18.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 18.398 +>> matrix makepattern 18.399 +/Pat8 exch def 18.400 +<< Tile8x8 18.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 18.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 18.403 +>> matrix makepattern 18.404 +/Pat9 exch def 18.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 18.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 18.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 18.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 18.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 18.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 18.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 18.412 +} def 18.413 +% 18.414 +% 18.415 +%End of PostScript Level 2 code 18.416 +% 18.417 +/PatternBgnd { 18.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 18.419 +} def 18.420 +% 18.421 +% Substitute for Level 2 pattern fill codes with 18.422 +% grayscale if Level 2 support is not selected. 18.423 +% 18.424 +/Level1PatternFill { 18.425 +/Pattern1 {0.250 Density} bind def 18.426 +/Pattern2 {0.500 Density} bind def 18.427 +/Pattern3 {0.750 Density} bind def 18.428 +/Pattern4 {0.125 Density} bind def 18.429 +/Pattern5 {0.375 Density} bind def 18.430 +/Pattern6 {0.625 Density} bind def 18.431 +/Pattern7 {0.875 Density} bind def 18.432 +} def 18.433 +% 18.434 +% Now test for support of Level 2 code 18.435 +% 18.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 18.437 +% 18.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 18.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 18.440 +currentdict end definefont pop 18.441 +/MFshow { 18.442 + { dup 5 get 3 ge 18.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 18.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 18.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 18.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 18.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 18.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 18.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 18.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 18.451 + pop aload pop M} ifelse }ifelse }ifelse } 18.452 + ifelse } 18.453 + forall} def 18.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 18.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 18.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 18.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 18.458 +/MLshow { currentpoint stroke M 18.459 + 0 exch R 18.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 18.461 +/MRshow { currentpoint stroke M 18.462 + exch dup MFwidth neg 3 -1 roll R 18.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 18.464 +/MCshow { currentpoint stroke M 18.465 + exch dup MFwidth -2 div 3 -1 roll R 18.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 18.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 18.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 18.469 +end 18.470 +%%EndProlog 18.471 +%%Page: 1 1 18.472 +gnudict begin 18.473 +gsave 18.474 +doclip 18.475 +50 50 translate 18.476 +0.100 0.100 scale 18.477 +90 rotate 18.478 +0 -5040 translate 18.479 +0 setgray 18.480 +newpath 18.481 +(Helvetica) findfont 140 scalefont setfont 18.482 +1.000 UL 18.483 +LTb 18.484 +518 448 M 18.485 +63 0 V 18.486 +stroke 18.487 +434 448 M 18.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 18.489 +] -46.7 MRshow 18.490 +1.000 UL 18.491 +LTb 18.492 +518 792 M 18.493 +63 0 V 18.494 +stroke 18.495 +434 792 M 18.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 18.497 +] -46.7 MRshow 18.498 +1.000 UL 18.499 +LTb 18.500 +518 1136 M 18.501 +63 0 V 18.502 +stroke 18.503 +434 1136 M 18.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 18.505 +] -46.7 MRshow 18.506 +1.000 UL 18.507 +LTb 18.508 +518 1480 M 18.509 +63 0 V 18.510 +stroke 18.511 +434 1480 M 18.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 18.513 +] -46.7 MRshow 18.514 +1.000 UL 18.515 +LTb 18.516 +518 1823 M 18.517 +63 0 V 18.518 +stroke 18.519 +434 1823 M 18.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 18.521 +] -46.7 MRshow 18.522 +1.000 UL 18.523 +LTb 18.524 +518 2167 M 18.525 +63 0 V 18.526 +stroke 18.527 +434 2167 M 18.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 18.529 +] -46.7 MRshow 18.530 +1.000 UL 18.531 +LTb 18.532 +518 2511 M 18.533 +63 0 V 18.534 +stroke 18.535 +434 2511 M 18.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 18.537 +] -46.7 MRshow 18.538 +1.000 UL 18.539 +LTb 18.540 +518 2855 M 18.541 +63 0 V 18.542 +stroke 18.543 +434 2855 M 18.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 18.545 +] -46.7 MRshow 18.546 +1.000 UL 18.547 +LTb 18.548 +518 448 M 18.549 +0 63 V 18.550 +stroke 18.551 +518 308 M 18.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 18.553 +] -46.7 MCshow 18.554 +1.000 UL 18.555 +LTb 18.556 +962 448 M 18.557 +0 63 V 18.558 +stroke 18.559 +962 308 M 18.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 18.561 +] -46.7 MCshow 18.562 +1.000 UL 18.563 +LTb 18.564 +1405 448 M 18.565 +0 63 V 18.566 +stroke 18.567 +1405 308 M 18.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 18.569 +] -46.7 MCshow 18.570 +1.000 UL 18.571 +LTb 18.572 +1849 448 M 18.573 +0 63 V 18.574 +stroke 18.575 +1849 308 M 18.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 18.577 +] -46.7 MCshow 18.578 +1.000 UL 18.579 +LTb 18.580 +2293 448 M 18.581 +0 63 V 18.582 +stroke 18.583 +2293 308 M 18.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 18.585 +] -46.7 MCshow 18.586 +1.000 UL 18.587 +LTb 18.588 +2736 448 M 18.589 +0 63 V 18.590 +stroke 18.591 +2736 308 M 18.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 18.593 +] -46.7 MCshow 18.594 +1.000 UL 18.595 +LTb 18.596 +3180 448 M 18.597 +0 63 V 18.598 +stroke 18.599 +3180 308 M 18.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 18.601 +] -46.7 MCshow 18.602 +1.000 UL 18.603 +LTb 18.604 +3623 448 M 18.605 +0 63 V 18.606 +stroke 18.607 +3623 308 M 18.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 18.609 +] -46.7 MCshow 18.610 +1.000 UL 18.611 +LTb 18.612 +4067 448 M 18.613 +0 63 V 18.614 +stroke 18.615 +4067 308 M 18.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 18.617 +] -46.7 MCshow 18.618 +1.000 UL 18.619 +LTb 18.620 +1.000 UL 18.621 +LTb 18.622 +518 2855 M 18.623 +518 448 L 18.624 +3549 0 V 18.625 +0 2407 R 18.626 +-3549 0 R 18.627 +stroke 18.628 +LCb setrgbcolor 18.629 +112 1651 M 18.630 +currentpoint gsave translate -270 rotate 0 0 moveto 18.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 18.632 +] -46.7 MCshow 18.633 +grestore 18.634 +LTb 18.635 +LCb setrgbcolor 18.636 +2292 98 M 18.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 18.638 +] -46.7 MCshow 18.639 +LTb 18.640 +1.000 UP 18.641 +1.000 UL 18.642 +LTb 18.643 +1.000 UL 18.644 +LTb 18.645 +2492 2372 N 18.646 +0 420 V 18.647 +1491 0 V 18.648 +0 -420 V 18.649 +-1491 0 V 18.650 +Z stroke 18.651 +2492 2792 M 18.652 +1491 0 V 18.653 +% Begin plot #1 18.654 +stroke 18.655 +3.000 UL 18.656 +LT1 18.657 +LCa setrgbcolor 18.658 +518 792 M 18.659 +36 0 V 18.660 +36 0 V 18.661 +36 0 V 18.662 +35 0 V 18.663 +36 0 V 18.664 +36 0 V 18.665 +36 0 V 18.666 +36 0 V 18.667 +36 0 V 18.668 +35 0 V 18.669 +36 0 V 18.670 +36 0 V 18.671 +36 0 V 18.672 +36 0 V 18.673 +36 0 V 18.674 +36 0 V 18.675 +35 0 V 18.676 +36 0 V 18.677 +36 0 V 18.678 +36 0 V 18.679 +36 0 V 18.680 +36 0 V 18.681 +36 0 V 18.682 +35 0 V 18.683 +36 0 V 18.684 +36 0 V 18.685 +36 0 V 18.686 +36 0 V 18.687 +36 0 V 18.688 +35 0 V 18.689 +36 0 V 18.690 +36 0 V 18.691 +36 0 V 18.692 +36 0 V 18.693 +36 0 V 18.694 +36 0 V 18.695 +35 0 V 18.696 +36 0 V 18.697 +36 0 V 18.698 +36 0 V 18.699 +36 0 V 18.700 +36 0 V 18.701 +35 0 V 18.702 +36 0 V 18.703 +36 0 V 18.704 +36 0 V 18.705 +36 0 V 18.706 +36 0 V 18.707 +36 0 V 18.708 +35 0 V 18.709 +36 0 V 18.710 +36 0 V 18.711 +36 0 V 18.712 +36 0 V 18.713 +36 0 V 18.714 +36 0 V 18.715 +35 0 V 18.716 +36 0 V 18.717 +36 0 V 18.718 +36 0 V 18.719 +36 0 V 18.720 +36 0 V 18.721 +35 0 V 18.722 +36 0 V 18.723 +36 0 V 18.724 +36 0 V 18.725 +36 0 V 18.726 +36 0 V 18.727 +36 0 V 18.728 +35 0 V 18.729 +36 0 V 18.730 +36 0 V 18.731 +36 0 V 18.732 +36 0 V 18.733 +36 0 V 18.734 +35 0 V 18.735 +36 0 V 18.736 +36 0 V 18.737 +36 0 V 18.738 +36 0 V 18.739 +36 0 V 18.740 +36 0 V 18.741 +35 0 V 18.742 +36 0 V 18.743 +36 0 V 18.744 +36 0 V 18.745 +36 0 V 18.746 +36 0 V 18.747 +36 0 V 18.748 +35 0 V 18.749 +36 0 V 18.750 +36 0 V 18.751 +36 0 V 18.752 +36 0 V 18.753 +36 0 V 18.754 +35 0 V 18.755 +36 0 V 18.756 +36 0 V 18.757 +36 0 V 18.758 +% End plot #1 18.759 +% Begin plot #2 18.760 +stroke 18.761 +4.000 UL 18.762 +LT1 18.763 +LCb setrgbcolor 18.764 +3416 2722 M 18.765 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 18.766 +] -46.7 MRshow 18.767 +LT1 18.768 +3500 2722 M 18.769 +399 0 V 18.770 +715 2855 M 18.771 +58 -684 V 18.772 +984 1411 L 18.773 +1411 947 L 18.774 +2263 700 L 18.775 +3965 573 L 18.776 +% End plot #2 18.777 +% Begin plot #3 18.778 +stroke 18.779 +LT2 18.780 +LCb setrgbcolor 18.781 +3416 2582 M 18.782 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 18.783 +] -46.7 MRshow 18.784 +LT2 18.785 +3500 2582 M 18.786 +399 0 V 18.787 +947 2855 M 18.788 +38 -338 V 18.789 +427 -979 V 18.790 +849 -507 V 18.791 +3969 747 L 18.792 +% End plot #3 18.793 +% Begin plot #4 18.794 +stroke 18.795 +LT3 18.796 +LCb setrgbcolor 18.797 +3416 2442 M 18.798 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 18.799 +] -46.7 MRshow 18.800 +LT3 18.801 +3500 2442 M 18.802 +399 0 V 18.803 +2070 2855 M 18.804 +197 -434 V 18.805 +3969 1446 L 18.806 +% End plot #4 18.807 +stroke 18.808 +1.000 UL 18.809 +LTb 18.810 +518 2855 M 18.811 +518 448 L 18.812 +3549 0 V 18.813 +0 2407 R 18.814 +-3549 0 R 18.815 +1.000 UP 18.816 +stroke 18.817 +grestore 18.818 +end 18.819 +showpage 18.820 +%%Trailer 18.821 +%%DocumentFonts: Helvetica 18.822 +%%Pages: 1
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 19.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps Sun Mar 11 09:26:44 2012 -0700 19.3 @@ -0,0 +1,852 @@ 19.4 +%!PS-Adobe-2.0 19.5 +%%Title: vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps 19.6 +%%Creator: gnuplot 4.4 patchlevel 2 19.7 +%%CreationDate: Thu Jan 26 18:12:20 2012 19.8 +%%DocumentFonts: (atend) 19.9 +%%BoundingBox: 251 50 554 482 19.10 +%%Orientation: Landscape 19.11 +%%Pages: (atend) 19.12 +%%EndComments 19.13 +%%BeginProlog 19.14 +/gnudict 256 dict def 19.15 +gnudict begin 19.16 +% 19.17 +% The following true/false flags may be edited by hand if desired. 19.18 +% The unit line width and grayscale image gamma correction may also be changed. 19.19 +% 19.20 +/Color true def 19.21 +/Blacktext false def 19.22 +/Solid false def 19.23 +/Dashlength 1 def 19.24 +/Landscape true def 19.25 +/Level1 false def 19.26 +/Rounded false def 19.27 +/ClipToBoundingBox false def 19.28 +/TransparentPatterns false def 19.29 +/gnulinewidth 5.000 def 19.30 +/userlinewidth gnulinewidth def 19.31 +/Gamma 1.0 def 19.32 +% 19.33 +/vshift -46 def 19.34 +/dl1 { 19.35 + 10.0 Dashlength mul mul 19.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 19.37 +} def 19.38 +/dl2 { 19.39 + 10.0 Dashlength mul mul 19.40 + Rounded { currentlinewidth 0.75 mul add } if 19.41 +} def 19.42 +/hpt_ 31.5 def 19.43 +/vpt_ 31.5 def 19.44 +/hpt hpt_ def 19.45 +/vpt vpt_ def 19.46 +Level1 {} { 19.47 +/SDict 10 dict def 19.48 +systemdict /pdfmark known not { 19.49 + userdict /pdfmark systemdict /cleartomark get put 19.50 +} if 19.51 +SDict begin [ 19.52 + /Title (vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps) 19.53 + /Subject (gnuplot plot) 19.54 + /Creator (gnuplot 4.4 patchlevel 2) 19.55 + /Author (msach) 19.56 +% /Producer (gnuplot) 19.57 +% /Keywords () 19.58 + /CreationDate (Thu Jan 26 18:12:20 2012) 19.59 + /DOCINFO pdfmark 19.60 +end 19.61 +} ifelse 19.62 +/doclip { 19.63 + ClipToBoundingBox { 19.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 19.65 + clip 19.66 + } if 19.67 +} def 19.68 +% 19.69 +% Gnuplot Prolog Version 4.4 (August 2010) 19.70 +% 19.71 +%/SuppressPDFMark true def 19.72 +% 19.73 +/M {moveto} bind def 19.74 +/L {lineto} bind def 19.75 +/R {rmoveto} bind def 19.76 +/V {rlineto} bind def 19.77 +/N {newpath moveto} bind def 19.78 +/Z {closepath} bind def 19.79 +/C {setrgbcolor} bind def 19.80 +/f {rlineto fill} bind def 19.81 +/g {setgray} bind def 19.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 19.83 +/vpt2 vpt 2 mul def 19.84 +/hpt2 hpt 2 mul def 19.85 +/Lshow {currentpoint stroke M 0 vshift R 19.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 19.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 19.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 19.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 19.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 19.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 19.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 19.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 19.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 19.95 +/BL {stroke userlinewidth 2 mul setlinewidth 19.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 19.97 +/AL {stroke userlinewidth 2 div setlinewidth 19.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 19.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 19.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 19.101 +/PL {stroke userlinewidth setlinewidth 19.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 19.103 +3.8 setmiterlimit 19.104 +% Default Line colors 19.105 +/LCw {1 1 1} def 19.106 +/LCb {0 0 0} def 19.107 +/LCa {0 0 0} def 19.108 +/LC0 {1 0 0} def 19.109 +/LC1 {0 1 0} def 19.110 +/LC2 {0 0 1} def 19.111 +/LC3 {1 0 1} def 19.112 +/LC4 {0 1 1} def 19.113 +/LC5 {1 1 0} def 19.114 +/LC6 {0 0 0} def 19.115 +/LC7 {1 0.3 0} def 19.116 +/LC8 {0.5 0.5 0.5} def 19.117 +% Default Line Types 19.118 +/LTw {PL [] 1 setgray} def 19.119 +/LTb {BL [] LCb DL} def 19.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 19.121 +/LT0 {PL [] LC0 DL} def 19.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 19.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 19.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 19.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 19.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 19.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 19.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 19.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 19.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 19.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 19.132 + hpt neg vpt neg V hpt vpt neg V 19.133 + hpt vpt V hpt neg vpt V closepath stroke 19.134 + Pnt} def 19.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 19.136 + currentpoint stroke M 19.137 + hpt neg vpt neg R hpt2 0 V stroke 19.138 + } def 19.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 19.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 19.141 + hpt2 neg 0 V closepath stroke 19.142 + Pnt} def 19.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 19.144 + hpt2 vpt2 neg V currentpoint stroke M 19.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 19.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 19.147 + hpt neg vpt -1.62 mul V 19.148 + hpt 2 mul 0 V 19.149 + hpt neg vpt 1.62 mul V closepath stroke 19.150 + Pnt} def 19.151 +/Star {2 copy Pls Crs} def 19.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 19.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 19.154 + hpt2 neg 0 V closepath fill} def 19.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 19.156 + hpt neg vpt -1.62 mul V 19.157 + hpt 2 mul 0 V 19.158 + hpt neg vpt 1.62 mul V closepath fill} def 19.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 19.160 + hpt neg vpt 1.62 mul V 19.161 + hpt 2 mul 0 V 19.162 + hpt neg vpt -1.62 mul V closepath stroke 19.163 + Pnt} def 19.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 19.165 + hpt neg vpt 1.62 mul V 19.166 + hpt 2 mul 0 V 19.167 + hpt neg vpt -1.62 mul V closepath fill} def 19.168 +/DiaF {stroke [] 0 setdash vpt add M 19.169 + hpt neg vpt neg V hpt vpt neg V 19.170 + hpt vpt V hpt neg vpt V closepath fill} def 19.171 +/Pent {stroke [] 0 setdash 2 copy gsave 19.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 19.173 + closepath stroke grestore Pnt} def 19.174 +/PentF {stroke [] 0 setdash gsave 19.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 19.176 + closepath fill grestore} def 19.177 +/Circle {stroke [] 0 setdash 2 copy 19.178 + hpt 0 360 arc stroke Pnt} def 19.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 19.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 19.181 +/C1 {BL [] 0 setdash 2 copy moveto 19.182 + 2 copy vpt 0 90 arc closepath fill 19.183 + vpt 0 360 arc closepath} bind def 19.184 +/C2 {BL [] 0 setdash 2 copy moveto 19.185 + 2 copy vpt 90 180 arc closepath fill 19.186 + vpt 0 360 arc closepath} bind def 19.187 +/C3 {BL [] 0 setdash 2 copy moveto 19.188 + 2 copy vpt 0 180 arc closepath fill 19.189 + vpt 0 360 arc closepath} bind def 19.190 +/C4 {BL [] 0 setdash 2 copy moveto 19.191 + 2 copy vpt 180 270 arc closepath fill 19.192 + vpt 0 360 arc closepath} bind def 19.193 +/C5 {BL [] 0 setdash 2 copy moveto 19.194 + 2 copy vpt 0 90 arc 19.195 + 2 copy moveto 19.196 + 2 copy vpt 180 270 arc closepath fill 19.197 + vpt 0 360 arc} bind def 19.198 +/C6 {BL [] 0 setdash 2 copy moveto 19.199 + 2 copy vpt 90 270 arc closepath fill 19.200 + vpt 0 360 arc closepath} bind def 19.201 +/C7 {BL [] 0 setdash 2 copy moveto 19.202 + 2 copy vpt 0 270 arc closepath fill 19.203 + vpt 0 360 arc closepath} bind def 19.204 +/C8 {BL [] 0 setdash 2 copy moveto 19.205 + 2 copy vpt 270 360 arc closepath fill 19.206 + vpt 0 360 arc closepath} bind def 19.207 +/C9 {BL [] 0 setdash 2 copy moveto 19.208 + 2 copy vpt 270 450 arc closepath fill 19.209 + vpt 0 360 arc closepath} bind def 19.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 19.211 + 2 copy moveto 19.212 + 2 copy vpt 90 180 arc closepath fill 19.213 + vpt 0 360 arc closepath} bind def 19.214 +/C11 {BL [] 0 setdash 2 copy moveto 19.215 + 2 copy vpt 0 180 arc closepath fill 19.216 + 2 copy moveto 19.217 + 2 copy vpt 270 360 arc closepath fill 19.218 + vpt 0 360 arc closepath} bind def 19.219 +/C12 {BL [] 0 setdash 2 copy moveto 19.220 + 2 copy vpt 180 360 arc closepath fill 19.221 + vpt 0 360 arc closepath} bind def 19.222 +/C13 {BL [] 0 setdash 2 copy moveto 19.223 + 2 copy vpt 0 90 arc closepath fill 19.224 + 2 copy moveto 19.225 + 2 copy vpt 180 360 arc closepath fill 19.226 + vpt 0 360 arc closepath} bind def 19.227 +/C14 {BL [] 0 setdash 2 copy moveto 19.228 + 2 copy vpt 90 360 arc closepath fill 19.229 + vpt 0 360 arc} bind def 19.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 19.231 + vpt 0 360 arc closepath} bind def 19.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 19.233 + neg 0 rlineto closepath} bind def 19.234 +/Square {dup Rec} bind def 19.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 19.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 19.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 19.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 19.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 19.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 19.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 19.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 19.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 19.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 19.245 + 2 copy vpt Square fill Bsquare} bind def 19.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 19.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 19.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 19.249 + Bsquare} bind def 19.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 19.251 + Bsquare} bind def 19.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 19.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 19.254 + 2 copy vpt Square fill Bsquare} bind def 19.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 19.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 19.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 19.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 19.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 19.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 19.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 19.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 19.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 19.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 19.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 19.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 19.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 19.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 19.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 19.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 19.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 19.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 19.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 19.274 +/DiaE {stroke [] 0 setdash vpt add M 19.275 + hpt neg vpt neg V hpt vpt neg V 19.276 + hpt vpt V hpt neg vpt V closepath stroke} def 19.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 19.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 19.279 + hpt2 neg 0 V closepath stroke} def 19.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 19.281 + hpt neg vpt -1.62 mul V 19.282 + hpt 2 mul 0 V 19.283 + hpt neg vpt 1.62 mul V closepath stroke} def 19.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 19.285 + hpt neg vpt 1.62 mul V 19.286 + hpt 2 mul 0 V 19.287 + hpt neg vpt -1.62 mul V closepath stroke} def 19.288 +/PentE {stroke [] 0 setdash gsave 19.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 19.290 + closepath stroke grestore} def 19.291 +/CircE {stroke [] 0 setdash 19.292 + hpt 0 360 arc stroke} def 19.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 19.294 +/DiaW {stroke [] 0 setdash vpt add M 19.295 + hpt neg vpt neg V hpt vpt neg V 19.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 19.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 19.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 19.299 + hpt2 neg 0 V Opaque stroke} def 19.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 19.301 + hpt neg vpt -1.62 mul V 19.302 + hpt 2 mul 0 V 19.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 19.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 19.305 + hpt neg vpt 1.62 mul V 19.306 + hpt 2 mul 0 V 19.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 19.308 +/PentW {stroke [] 0 setdash gsave 19.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 19.310 + Opaque stroke grestore} def 19.311 +/CircW {stroke [] 0 setdash 19.312 + hpt 0 360 arc Opaque stroke} def 19.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 19.314 +/Density { 19.315 + /Fillden exch def 19.316 + currentrgbcolor 19.317 + /ColB exch def /ColG exch def /ColR exch def 19.318 + /ColR ColR Fillden mul Fillden sub 1 add def 19.319 + /ColG ColG Fillden mul Fillden sub 1 add def 19.320 + /ColB ColB Fillden mul Fillden sub 1 add def 19.321 + ColR ColG ColB setrgbcolor} def 19.322 +/BoxColFill {gsave Rec PolyFill} def 19.323 +/PolyFill {gsave Density fill grestore grestore} def 19.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 19.325 +% 19.326 +% PostScript Level 1 Pattern Fill routine for rectangles 19.327 +% Usage: x y w h s a XX PatternFill 19.328 +% x,y = lower left corner of box to be filled 19.329 +% w,h = width and height of box 19.330 +% a = angle in degrees between lines and x-axis 19.331 +% XX = 0/1 for no/yes cross-hatch 19.332 +% 19.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 19.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 19.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 19.336 + gsave 1 setgray fill grestore clip 19.337 + currentlinewidth 0.5 mul setlinewidth 19.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 19.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 19.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 19.341 + {PFa 4 get mul 0 M 0 PFs V} for 19.342 + 0 PFa 6 get ne { 19.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 19.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 19.345 + } if 19.346 + stroke grestore} def 19.347 +% 19.348 +/languagelevel where 19.349 + {pop languagelevel} {1} ifelse 19.350 + 2 lt 19.351 + {/InterpretLevel1 true def} 19.352 + {/InterpretLevel1 Level1 def} 19.353 + ifelse 19.354 +% 19.355 +% PostScript level 2 pattern fill definitions 19.356 +% 19.357 +/Level2PatternFill { 19.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 19.359 + bind def 19.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 19.361 +<< Tile8x8 19.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 19.363 +>> matrix makepattern 19.364 +/Pat1 exch def 19.365 +<< Tile8x8 19.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 19.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 19.368 +>> matrix makepattern 19.369 +/Pat2 exch def 19.370 +<< Tile8x8 19.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 19.372 + 8 8 L 8 0 L 0 0 L fill} 19.373 +>> matrix makepattern 19.374 +/Pat3 exch def 19.375 +<< Tile8x8 19.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 19.377 + 0 12 M 12 0 L stroke} 19.378 +>> matrix makepattern 19.379 +/Pat4 exch def 19.380 +<< Tile8x8 19.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 19.382 + 0 -4 M 12 8 L stroke} 19.383 +>> matrix makepattern 19.384 +/Pat5 exch def 19.385 +<< Tile8x8 19.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 19.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 19.388 +>> matrix makepattern 19.389 +/Pat6 exch def 19.390 +<< Tile8x8 19.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 19.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 19.393 +>> matrix makepattern 19.394 +/Pat7 exch def 19.395 +<< Tile8x8 19.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 19.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 19.398 +>> matrix makepattern 19.399 +/Pat8 exch def 19.400 +<< Tile8x8 19.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 19.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 19.403 +>> matrix makepattern 19.404 +/Pat9 exch def 19.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 19.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 19.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 19.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 19.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 19.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 19.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 19.412 +} def 19.413 +% 19.414 +% 19.415 +%End of PostScript Level 2 code 19.416 +% 19.417 +/PatternBgnd { 19.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 19.419 +} def 19.420 +% 19.421 +% Substitute for Level 2 pattern fill codes with 19.422 +% grayscale if Level 2 support is not selected. 19.423 +% 19.424 +/Level1PatternFill { 19.425 +/Pattern1 {0.250 Density} bind def 19.426 +/Pattern2 {0.500 Density} bind def 19.427 +/Pattern3 {0.750 Density} bind def 19.428 +/Pattern4 {0.125 Density} bind def 19.429 +/Pattern5 {0.375 Density} bind def 19.430 +/Pattern6 {0.625 Density} bind def 19.431 +/Pattern7 {0.875 Density} bind def 19.432 +} def 19.433 +% 19.434 +% Now test for support of Level 2 code 19.435 +% 19.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 19.437 +% 19.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 19.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 19.440 +currentdict end definefont pop 19.441 +/MFshow { 19.442 + { dup 5 get 3 ge 19.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 19.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 19.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 19.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 19.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 19.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 19.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 19.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 19.451 + pop aload pop M} ifelse }ifelse }ifelse } 19.452 + ifelse } 19.453 + forall} def 19.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 19.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 19.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 19.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 19.458 +/MLshow { currentpoint stroke M 19.459 + 0 exch R 19.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 19.461 +/MRshow { currentpoint stroke M 19.462 + exch dup MFwidth neg 3 -1 roll R 19.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 19.464 +/MCshow { currentpoint stroke M 19.465 + exch dup MFwidth -2 div 3 -1 roll R 19.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 19.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 19.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 19.469 +end 19.470 +%%EndProlog 19.471 +%%Page: 1 1 19.472 +gnudict begin 19.473 +gsave 19.474 +doclip 19.475 +50 50 translate 19.476 +0.100 0.100 scale 19.477 +90 rotate 19.478 +0 -5040 translate 19.479 +0 setgray 19.480 +newpath 19.481 +(Helvetica) findfont 140 scalefont setfont 19.482 +1.000 UL 19.483 +LTb 19.484 +518 448 M 19.485 +63 0 V 19.486 +stroke 19.487 +434 448 M 19.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 19.489 +] -46.7 MRshow 19.490 +1.000 UL 19.491 +LTb 19.492 +518 792 M 19.493 +63 0 V 19.494 +stroke 19.495 +434 792 M 19.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 19.497 +] -46.7 MRshow 19.498 +1.000 UL 19.499 +LTb 19.500 +518 1136 M 19.501 +63 0 V 19.502 +stroke 19.503 +434 1136 M 19.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 19.505 +] -46.7 MRshow 19.506 +1.000 UL 19.507 +LTb 19.508 +518 1480 M 19.509 +63 0 V 19.510 +stroke 19.511 +434 1480 M 19.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 19.513 +] -46.7 MRshow 19.514 +1.000 UL 19.515 +LTb 19.516 +518 1823 M 19.517 +63 0 V 19.518 +stroke 19.519 +434 1823 M 19.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 19.521 +] -46.7 MRshow 19.522 +1.000 UL 19.523 +LTb 19.524 +518 2167 M 19.525 +63 0 V 19.526 +stroke 19.527 +434 2167 M 19.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 19.529 +] -46.7 MRshow 19.530 +1.000 UL 19.531 +LTb 19.532 +518 2511 M 19.533 +63 0 V 19.534 +stroke 19.535 +434 2511 M 19.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 19.537 +] -46.7 MRshow 19.538 +1.000 UL 19.539 +LTb 19.540 +518 2855 M 19.541 +63 0 V 19.542 +stroke 19.543 +434 2855 M 19.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 19.545 +] -46.7 MRshow 19.546 +1.000 UL 19.547 +LTb 19.548 +518 448 M 19.549 +0 63 V 19.550 +stroke 19.551 +518 308 M 19.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 19.553 +] -46.7 MCshow 19.554 +1.000 UL 19.555 +LTb 19.556 +962 448 M 19.557 +0 63 V 19.558 +stroke 19.559 +962 308 M 19.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 19.561 +] -46.7 MCshow 19.562 +1.000 UL 19.563 +LTb 19.564 +1405 448 M 19.565 +0 63 V 19.566 +stroke 19.567 +1405 308 M 19.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 19.569 +] -46.7 MCshow 19.570 +1.000 UL 19.571 +LTb 19.572 +1849 448 M 19.573 +0 63 V 19.574 +stroke 19.575 +1849 308 M 19.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 19.577 +] -46.7 MCshow 19.578 +1.000 UL 19.579 +LTb 19.580 +2293 448 M 19.581 +0 63 V 19.582 +stroke 19.583 +2293 308 M 19.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 19.585 +] -46.7 MCshow 19.586 +1.000 UL 19.587 +LTb 19.588 +2736 448 M 19.589 +0 63 V 19.590 +stroke 19.591 +2736 308 M 19.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 19.593 +] -46.7 MCshow 19.594 +1.000 UL 19.595 +LTb 19.596 +3180 448 M 19.597 +0 63 V 19.598 +stroke 19.599 +3180 308 M 19.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 19.601 +] -46.7 MCshow 19.602 +1.000 UL 19.603 +LTb 19.604 +3623 448 M 19.605 +0 63 V 19.606 +stroke 19.607 +3623 308 M 19.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 19.609 +] -46.7 MCshow 19.610 +1.000 UL 19.611 +LTb 19.612 +4067 448 M 19.613 +0 63 V 19.614 +stroke 19.615 +4067 308 M 19.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 19.617 +] -46.7 MCshow 19.618 +1.000 UL 19.619 +LTb 19.620 +1.000 UL 19.621 +LTb 19.622 +518 2855 M 19.623 +518 448 L 19.624 +3549 0 V 19.625 +0 2407 R 19.626 +-3549 0 R 19.627 +stroke 19.628 +LCb setrgbcolor 19.629 +112 1651 M 19.630 +currentpoint gsave translate -270 rotate 0 0 moveto 19.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 19.632 +] -46.7 MCshow 19.633 +grestore 19.634 +LTb 19.635 +LCb setrgbcolor 19.636 +2292 98 M 19.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 19.638 +] -46.7 MCshow 19.639 +LTb 19.640 +1.000 UP 19.641 +1.000 UL 19.642 +LTb 19.643 +1.000 UL 19.644 +LTb 19.645 +2492 2232 N 19.646 +0 560 V 19.647 +1491 0 V 19.648 +0 -560 V 19.649 +-1491 0 V 19.650 +Z stroke 19.651 +2492 2792 M 19.652 +1491 0 V 19.653 +% Begin plot #1 19.654 +stroke 19.655 +3.000 UL 19.656 +LT1 19.657 +LCa setrgbcolor 19.658 +518 792 M 19.659 +36 0 V 19.660 +36 0 V 19.661 +36 0 V 19.662 +35 0 V 19.663 +36 0 V 19.664 +36 0 V 19.665 +36 0 V 19.666 +36 0 V 19.667 +36 0 V 19.668 +35 0 V 19.669 +36 0 V 19.670 +36 0 V 19.671 +36 0 V 19.672 +36 0 V 19.673 +36 0 V 19.674 +36 0 V 19.675 +35 0 V 19.676 +36 0 V 19.677 +36 0 V 19.678 +36 0 V 19.679 +36 0 V 19.680 +36 0 V 19.681 +36 0 V 19.682 +35 0 V 19.683 +36 0 V 19.684 +36 0 V 19.685 +36 0 V 19.686 +36 0 V 19.687 +36 0 V 19.688 +35 0 V 19.689 +36 0 V 19.690 +36 0 V 19.691 +36 0 V 19.692 +36 0 V 19.693 +36 0 V 19.694 +36 0 V 19.695 +35 0 V 19.696 +36 0 V 19.697 +36 0 V 19.698 +36 0 V 19.699 +36 0 V 19.700 +36 0 V 19.701 +35 0 V 19.702 +36 0 V 19.703 +36 0 V 19.704 +36 0 V 19.705 +36 0 V 19.706 +36 0 V 19.707 +36 0 V 19.708 +35 0 V 19.709 +36 0 V 19.710 +36 0 V 19.711 +36 0 V 19.712 +36 0 V 19.713 +36 0 V 19.714 +36 0 V 19.715 +35 0 V 19.716 +36 0 V 19.717 +36 0 V 19.718 +36 0 V 19.719 +36 0 V 19.720 +36 0 V 19.721 +35 0 V 19.722 +36 0 V 19.723 +36 0 V 19.724 +36 0 V 19.725 +36 0 V 19.726 +36 0 V 19.727 +36 0 V 19.728 +35 0 V 19.729 +36 0 V 19.730 +36 0 V 19.731 +36 0 V 19.732 +36 0 V 19.733 +36 0 V 19.734 +35 0 V 19.735 +36 0 V 19.736 +36 0 V 19.737 +36 0 V 19.738 +36 0 V 19.739 +36 0 V 19.740 +36 0 V 19.741 +35 0 V 19.742 +36 0 V 19.743 +36 0 V 19.744 +36 0 V 19.745 +36 0 V 19.746 +36 0 V 19.747 +36 0 V 19.748 +35 0 V 19.749 +36 0 V 19.750 +36 0 V 19.751 +36 0 V 19.752 +36 0 V 19.753 +36 0 V 19.754 +35 0 V 19.755 +36 0 V 19.756 +36 0 V 19.757 +36 0 V 19.758 +% End plot #1 19.759 +% Begin plot #2 19.760 +stroke 19.761 +4.000 UL 19.762 +LT1 19.763 +LCb setrgbcolor 19.764 +3416 2722 M 19.765 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 19.766 +] -46.7 MRshow 19.767 +LT1 19.768 +3500 2722 M 19.769 +399 0 V 19.770 +572 2677 M 19.771 +16 -429 V 19.772 +24 -559 V 19.773 +55 -454 V 19.774 +774 920 L 19.775 +987 706 L 19.776 +1411 563 L 19.777 +852 -54 V 19.778 +3966 478 L 19.779 +% End plot #2 19.780 +% Begin plot #3 19.781 +stroke 19.782 +LT2 19.783 +LCb setrgbcolor 19.784 +3416 2582 M 19.785 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 19.786 +] -46.7 MRshow 19.787 +LT2 19.788 +3500 2582 M 19.789 +399 0 V 19.790 +571 2168 M 19.791 +17 -436 V 19.792 +24 -217 V 19.793 +55 -464 V 19.794 +774 801 L 19.795 +986 651 L 19.796 +1412 549 L 19.797 +852 -55 V 19.798 +3966 472 L 19.799 +% End plot #3 19.800 +% Begin plot #4 19.801 +stroke 19.802 +LT3 19.803 +LCb setrgbcolor 19.804 +3416 2442 M 19.805 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 19.806 +] -46.7 MRshow 19.807 +LT3 19.808 +3500 2442 M 19.809 +399 0 V 19.810 +572 2234 M 19.811 +16 -381 V 19.812 +26 -417 V 19.813 +53 -317 V 19.814 +773 823 L 19.815 +987 656 L 19.816 +1412 553 L 19.817 +852 -51 V 19.818 +3968 472 L 19.819 +% End plot #4 19.820 +% Begin plot #5 19.821 +stroke 19.822 +LT4 19.823 +LCb setrgbcolor 19.824 +3416 2302 M 19.825 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 19.826 +] -46.7 MRshow 19.827 +LT4 19.828 +3500 2302 M 19.829 +399 0 V 19.830 +572 2389 M 19.831 +14 -445 V 19.832 +27 -449 V 19.833 +54 -383 V 19.834 +772 837 L 19.835 +985 659 L 19.836 +1411 552 L 19.837 +853 -52 V 19.838 +3968 473 L 19.839 +% End plot #5 19.840 +stroke 19.841 +1.000 UL 19.842 +LTb 19.843 +518 2855 M 19.844 +518 448 L 19.845 +3549 0 V 19.846 +0 2407 R 19.847 +-3549 0 R 19.848 +1.000 UP 19.849 +stroke 19.850 +grestore 19.851 +end 19.852 +showpage 19.853 +%%Trailer 19.854 +%%DocumentFonts: Helvetica 19.855 +%%Pages: 1
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 20.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps Sun Mar 11 09:26:44 2012 -0700 20.3 @@ -0,0 +1,699 @@ 20.4 +%!PS-Adobe-2.0 20.5 +%%Title: xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps 20.6 +%%Creator: gnuplot 4.4 patchlevel 2 20.7 +%%CreationDate: Thu Jan 26 18:22:29 2012 20.8 +%%DocumentFonts: (atend) 20.9 +%%BoundingBox: 251 50 554 482 20.10 +%%Orientation: Landscape 20.11 +%%Pages: (atend) 20.12 +%%EndComments 20.13 +%%BeginProlog 20.14 +/gnudict 256 dict def 20.15 +gnudict begin 20.16 +% 20.17 +% The following true/false flags may be edited by hand if desired. 20.18 +% The unit line width and grayscale image gamma correction may also be changed. 20.19 +% 20.20 +/Color true def 20.21 +/Blacktext false def 20.22 +/Solid false def 20.23 +/Dashlength 1 def 20.24 +/Landscape true def 20.25 +/Level1 false def 20.26 +/Rounded false def 20.27 +/ClipToBoundingBox false def 20.28 +/TransparentPatterns false def 20.29 +/gnulinewidth 5.000 def 20.30 +/userlinewidth gnulinewidth def 20.31 +/Gamma 1.0 def 20.32 +% 20.33 +/vshift -46 def 20.34 +/dl1 { 20.35 + 10.0 Dashlength mul mul 20.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 20.37 +} def 20.38 +/dl2 { 20.39 + 10.0 Dashlength mul mul 20.40 + Rounded { currentlinewidth 0.75 mul add } if 20.41 +} def 20.42 +/hpt_ 31.5 def 20.43 +/vpt_ 31.5 def 20.44 +/hpt hpt_ def 20.45 +/vpt vpt_ def 20.46 +Level1 {} { 20.47 +/SDict 10 dict def 20.48 +systemdict /pdfmark known not { 20.49 + userdict /pdfmark systemdict /cleartomark get put 20.50 +} if 20.51 +SDict begin [ 20.52 + /Title (xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 20.53 + /Subject (gnuplot plot) 20.54 + /Creator (gnuplot 4.4 patchlevel 2) 20.55 + /Author (msach) 20.56 +% /Producer (gnuplot) 20.57 +% /Keywords () 20.58 + /CreationDate (Thu Jan 26 18:22:29 2012) 20.59 + /DOCINFO pdfmark 20.60 +end 20.61 +} ifelse 20.62 +/doclip { 20.63 + ClipToBoundingBox { 20.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 20.65 + clip 20.66 + } if 20.67 +} def 20.68 +% 20.69 +% Gnuplot Prolog Version 4.4 (August 2010) 20.70 +% 20.71 +%/SuppressPDFMark true def 20.72 +% 20.73 +/M {moveto} bind def 20.74 +/L {lineto} bind def 20.75 +/R {rmoveto} bind def 20.76 +/V {rlineto} bind def 20.77 +/N {newpath moveto} bind def 20.78 +/Z {closepath} bind def 20.79 +/C {setrgbcolor} bind def 20.80 +/f {rlineto fill} bind def 20.81 +/g {setgray} bind def 20.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 20.83 +/vpt2 vpt 2 mul def 20.84 +/hpt2 hpt 2 mul def 20.85 +/Lshow {currentpoint stroke M 0 vshift R 20.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 20.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 20.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 20.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 20.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 20.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 20.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 20.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 20.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 20.95 +/BL {stroke userlinewidth 2 mul setlinewidth 20.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 20.97 +/AL {stroke userlinewidth 2 div setlinewidth 20.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 20.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 20.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 20.101 +/PL {stroke userlinewidth setlinewidth 20.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 20.103 +3.8 setmiterlimit 20.104 +% Default Line colors 20.105 +/LCw {1 1 1} def 20.106 +/LCb {0 0 0} def 20.107 +/LCa {0 0 0} def 20.108 +/LC0 {1 0 0} def 20.109 +/LC1 {0 1 0} def 20.110 +/LC2 {0 0 1} def 20.111 +/LC3 {1 0 1} def 20.112 +/LC4 {0 1 1} def 20.113 +/LC5 {1 1 0} def 20.114 +/LC6 {0 0 0} def 20.115 +/LC7 {1 0.3 0} def 20.116 +/LC8 {0.5 0.5 0.5} def 20.117 +% Default Line Types 20.118 +/LTw {PL [] 1 setgray} def 20.119 +/LTb {BL [] LCb DL} def 20.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 20.121 +/LT0 {PL [] LC0 DL} def 20.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 20.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 20.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 20.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 20.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 20.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 20.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 20.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 20.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 20.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 20.132 + hpt neg vpt neg V hpt vpt neg V 20.133 + hpt vpt V hpt neg vpt V closepath stroke 20.134 + Pnt} def 20.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 20.136 + currentpoint stroke M 20.137 + hpt neg vpt neg R hpt2 0 V stroke 20.138 + } def 20.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 20.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 20.141 + hpt2 neg 0 V closepath stroke 20.142 + Pnt} def 20.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 20.144 + hpt2 vpt2 neg V currentpoint stroke M 20.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 20.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 20.147 + hpt neg vpt -1.62 mul V 20.148 + hpt 2 mul 0 V 20.149 + hpt neg vpt 1.62 mul V closepath stroke 20.150 + Pnt} def 20.151 +/Star {2 copy Pls Crs} def 20.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 20.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 20.154 + hpt2 neg 0 V closepath fill} def 20.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 20.156 + hpt neg vpt -1.62 mul V 20.157 + hpt 2 mul 0 V 20.158 + hpt neg vpt 1.62 mul V closepath fill} def 20.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 20.160 + hpt neg vpt 1.62 mul V 20.161 + hpt 2 mul 0 V 20.162 + hpt neg vpt -1.62 mul V closepath stroke 20.163 + Pnt} def 20.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 20.165 + hpt neg vpt 1.62 mul V 20.166 + hpt 2 mul 0 V 20.167 + hpt neg vpt -1.62 mul V closepath fill} def 20.168 +/DiaF {stroke [] 0 setdash vpt add M 20.169 + hpt neg vpt neg V hpt vpt neg V 20.170 + hpt vpt V hpt neg vpt V closepath fill} def 20.171 +/Pent {stroke [] 0 setdash 2 copy gsave 20.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 20.173 + closepath stroke grestore Pnt} def 20.174 +/PentF {stroke [] 0 setdash gsave 20.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 20.176 + closepath fill grestore} def 20.177 +/Circle {stroke [] 0 setdash 2 copy 20.178 + hpt 0 360 arc stroke Pnt} def 20.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 20.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 20.181 +/C1 {BL [] 0 setdash 2 copy moveto 20.182 + 2 copy vpt 0 90 arc closepath fill 20.183 + vpt 0 360 arc closepath} bind def 20.184 +/C2 {BL [] 0 setdash 2 copy moveto 20.185 + 2 copy vpt 90 180 arc closepath fill 20.186 + vpt 0 360 arc closepath} bind def 20.187 +/C3 {BL [] 0 setdash 2 copy moveto 20.188 + 2 copy vpt 0 180 arc closepath fill 20.189 + vpt 0 360 arc closepath} bind def 20.190 +/C4 {BL [] 0 setdash 2 copy moveto 20.191 + 2 copy vpt 180 270 arc closepath fill 20.192 + vpt 0 360 arc closepath} bind def 20.193 +/C5 {BL [] 0 setdash 2 copy moveto 20.194 + 2 copy vpt 0 90 arc 20.195 + 2 copy moveto 20.196 + 2 copy vpt 180 270 arc closepath fill 20.197 + vpt 0 360 arc} bind def 20.198 +/C6 {BL [] 0 setdash 2 copy moveto 20.199 + 2 copy vpt 90 270 arc closepath fill 20.200 + vpt 0 360 arc closepath} bind def 20.201 +/C7 {BL [] 0 setdash 2 copy moveto 20.202 + 2 copy vpt 0 270 arc closepath fill 20.203 + vpt 0 360 arc closepath} bind def 20.204 +/C8 {BL [] 0 setdash 2 copy moveto 20.205 + 2 copy vpt 270 360 arc closepath fill 20.206 + vpt 0 360 arc closepath} bind def 20.207 +/C9 {BL [] 0 setdash 2 copy moveto 20.208 + 2 copy vpt 270 450 arc closepath fill 20.209 + vpt 0 360 arc closepath} bind def 20.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 20.211 + 2 copy moveto 20.212 + 2 copy vpt 90 180 arc closepath fill 20.213 + vpt 0 360 arc closepath} bind def 20.214 +/C11 {BL [] 0 setdash 2 copy moveto 20.215 + 2 copy vpt 0 180 arc closepath fill 20.216 + 2 copy moveto 20.217 + 2 copy vpt 270 360 arc closepath fill 20.218 + vpt 0 360 arc closepath} bind def 20.219 +/C12 {BL [] 0 setdash 2 copy moveto 20.220 + 2 copy vpt 180 360 arc closepath fill 20.221 + vpt 0 360 arc closepath} bind def 20.222 +/C13 {BL [] 0 setdash 2 copy moveto 20.223 + 2 copy vpt 0 90 arc closepath fill 20.224 + 2 copy moveto 20.225 + 2 copy vpt 180 360 arc closepath fill 20.226 + vpt 0 360 arc closepath} bind def 20.227 +/C14 {BL [] 0 setdash 2 copy moveto 20.228 + 2 copy vpt 90 360 arc closepath fill 20.229 + vpt 0 360 arc} bind def 20.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 20.231 + vpt 0 360 arc closepath} bind def 20.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 20.233 + neg 0 rlineto closepath} bind def 20.234 +/Square {dup Rec} bind def 20.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 20.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 20.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 20.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 20.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 20.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 20.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 20.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 20.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 20.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 20.245 + 2 copy vpt Square fill Bsquare} bind def 20.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 20.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 20.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 20.249 + Bsquare} bind def 20.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 20.251 + Bsquare} bind def 20.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 20.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 20.254 + 2 copy vpt Square fill Bsquare} bind def 20.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 20.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 20.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 20.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 20.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 20.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 20.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 20.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 20.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 20.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 20.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 20.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 20.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 20.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 20.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 20.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 20.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 20.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 20.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 20.274 +/DiaE {stroke [] 0 setdash vpt add M 20.275 + hpt neg vpt neg V hpt vpt neg V 20.276 + hpt vpt V hpt neg vpt V closepath stroke} def 20.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 20.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 20.279 + hpt2 neg 0 V closepath stroke} def 20.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 20.281 + hpt neg vpt -1.62 mul V 20.282 + hpt 2 mul 0 V 20.283 + hpt neg vpt 1.62 mul V closepath stroke} def 20.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 20.285 + hpt neg vpt 1.62 mul V 20.286 + hpt 2 mul 0 V 20.287 + hpt neg vpt -1.62 mul V closepath stroke} def 20.288 +/PentE {stroke [] 0 setdash gsave 20.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 20.290 + closepath stroke grestore} def 20.291 +/CircE {stroke [] 0 setdash 20.292 + hpt 0 360 arc stroke} def 20.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 20.294 +/DiaW {stroke [] 0 setdash vpt add M 20.295 + hpt neg vpt neg V hpt vpt neg V 20.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 20.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 20.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 20.299 + hpt2 neg 0 V Opaque stroke} def 20.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 20.301 + hpt neg vpt -1.62 mul V 20.302 + hpt 2 mul 0 V 20.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 20.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 20.305 + hpt neg vpt 1.62 mul V 20.306 + hpt 2 mul 0 V 20.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 20.308 +/PentW {stroke [] 0 setdash gsave 20.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 20.310 + Opaque stroke grestore} def 20.311 +/CircW {stroke [] 0 setdash 20.312 + hpt 0 360 arc Opaque stroke} def 20.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 20.314 +/Density { 20.315 + /Fillden exch def 20.316 + currentrgbcolor 20.317 + /ColB exch def /ColG exch def /ColR exch def 20.318 + /ColR ColR Fillden mul Fillden sub 1 add def 20.319 + /ColG ColG Fillden mul Fillden sub 1 add def 20.320 + /ColB ColB Fillden mul Fillden sub 1 add def 20.321 + ColR ColG ColB setrgbcolor} def 20.322 +/BoxColFill {gsave Rec PolyFill} def 20.323 +/PolyFill {gsave Density fill grestore grestore} def 20.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 20.325 +% 20.326 +% PostScript Level 1 Pattern Fill routine for rectangles 20.327 +% Usage: x y w h s a XX PatternFill 20.328 +% x,y = lower left corner of box to be filled 20.329 +% w,h = width and height of box 20.330 +% a = angle in degrees between lines and x-axis 20.331 +% XX = 0/1 for no/yes cross-hatch 20.332 +% 20.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 20.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 20.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 20.336 + gsave 1 setgray fill grestore clip 20.337 + currentlinewidth 0.5 mul setlinewidth 20.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 20.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 20.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 20.341 + {PFa 4 get mul 0 M 0 PFs V} for 20.342 + 0 PFa 6 get ne { 20.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 20.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 20.345 + } if 20.346 + stroke grestore} def 20.347 +% 20.348 +/languagelevel where 20.349 + {pop languagelevel} {1} ifelse 20.350 + 2 lt 20.351 + {/InterpretLevel1 true def} 20.352 + {/InterpretLevel1 Level1 def} 20.353 + ifelse 20.354 +% 20.355 +% PostScript level 2 pattern fill definitions 20.356 +% 20.357 +/Level2PatternFill { 20.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 20.359 + bind def 20.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 20.361 +<< Tile8x8 20.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 20.363 +>> matrix makepattern 20.364 +/Pat1 exch def 20.365 +<< Tile8x8 20.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 20.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 20.368 +>> matrix makepattern 20.369 +/Pat2 exch def 20.370 +<< Tile8x8 20.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 20.372 + 8 8 L 8 0 L 0 0 L fill} 20.373 +>> matrix makepattern 20.374 +/Pat3 exch def 20.375 +<< Tile8x8 20.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 20.377 + 0 12 M 12 0 L stroke} 20.378 +>> matrix makepattern 20.379 +/Pat4 exch def 20.380 +<< Tile8x8 20.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 20.382 + 0 -4 M 12 8 L stroke} 20.383 +>> matrix makepattern 20.384 +/Pat5 exch def 20.385 +<< Tile8x8 20.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 20.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 20.388 +>> matrix makepattern 20.389 +/Pat6 exch def 20.390 +<< Tile8x8 20.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 20.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 20.393 +>> matrix makepattern 20.394 +/Pat7 exch def 20.395 +<< Tile8x8 20.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 20.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 20.398 +>> matrix makepattern 20.399 +/Pat8 exch def 20.400 +<< Tile8x8 20.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 20.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 20.403 +>> matrix makepattern 20.404 +/Pat9 exch def 20.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 20.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 20.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 20.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 20.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 20.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 20.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 20.412 +} def 20.413 +% 20.414 +% 20.415 +%End of PostScript Level 2 code 20.416 +% 20.417 +/PatternBgnd { 20.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 20.419 +} def 20.420 +% 20.421 +% Substitute for Level 2 pattern fill codes with 20.422 +% grayscale if Level 2 support is not selected. 20.423 +% 20.424 +/Level1PatternFill { 20.425 +/Pattern1 {0.250 Density} bind def 20.426 +/Pattern2 {0.500 Density} bind def 20.427 +/Pattern3 {0.750 Density} bind def 20.428 +/Pattern4 {0.125 Density} bind def 20.429 +/Pattern5 {0.375 Density} bind def 20.430 +/Pattern6 {0.625 Density} bind def 20.431 +/Pattern7 {0.875 Density} bind def 20.432 +} def 20.433 +% 20.434 +% Now test for support of Level 2 code 20.435 +% 20.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 20.437 +% 20.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 20.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 20.440 +currentdict end definefont pop 20.441 +/MFshow { 20.442 + { dup 5 get 3 ge 20.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 20.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 20.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 20.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 20.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 20.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 20.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 20.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 20.451 + pop aload pop M} ifelse }ifelse }ifelse } 20.452 + ifelse } 20.453 + forall} def 20.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 20.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 20.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 20.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 20.458 +/MLshow { currentpoint stroke M 20.459 + 0 exch R 20.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 20.461 +/MRshow { currentpoint stroke M 20.462 + exch dup MFwidth neg 3 -1 roll R 20.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 20.464 +/MCshow { currentpoint stroke M 20.465 + exch dup MFwidth -2 div 3 -1 roll R 20.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 20.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 20.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 20.469 +end 20.470 +%%EndProlog 20.471 +%%Page: 1 1 20.472 +gnudict begin 20.473 +gsave 20.474 +doclip 20.475 +50 50 translate 20.476 +0.100 0.100 scale 20.477 +90 rotate 20.478 +0 -5040 translate 20.479 +0 setgray 20.480 +newpath 20.481 +(Helvetica) findfont 140 scalefont setfont 20.482 +1.000 UL 20.483 +LTb 20.484 +686 922 M 20.485 +63 0 V 20.486 +stroke 20.487 +602 922 M 20.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 20.489 +] -46.7 MRshow 20.490 +1.000 UL 20.491 +LTb 20.492 +686 1405 M 20.493 +63 0 V 20.494 +stroke 20.495 +602 1405 M 20.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 20.497 +] -46.7 MRshow 20.498 +1.000 UL 20.499 +LTb 20.500 +686 1888 M 20.501 +63 0 V 20.502 +stroke 20.503 +602 1888 M 20.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 20.505 +] -46.7 MRshow 20.506 +1.000 UL 20.507 +LTb 20.508 +686 2372 M 20.509 +63 0 V 20.510 +stroke 20.511 +602 2372 M 20.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 20.513 +] -46.7 MRshow 20.514 +1.000 UL 20.515 +LTb 20.516 +686 2855 M 20.517 +63 0 V 20.518 +stroke 20.519 +602 2855 M 20.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 20.521 +] -46.7 MRshow 20.522 +1.000 UL 20.523 +LTb 20.524 +686 448 M 20.525 +0 63 V 20.526 +stroke 20.527 +686 308 M 20.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 20.529 +] -46.7 MCshow 20.530 +1.000 UL 20.531 +LTb 20.532 +1109 448 M 20.533 +0 63 V 20.534 +stroke 20.535 +1109 308 M 20.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 20.537 +] -46.7 MCshow 20.538 +1.000 UL 20.539 +LTb 20.540 +1531 448 M 20.541 +0 63 V 20.542 +stroke 20.543 +1531 308 M 20.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 20.545 +] -46.7 MCshow 20.546 +1.000 UL 20.547 +LTb 20.548 +1954 448 M 20.549 +0 63 V 20.550 +stroke 20.551 +1954 308 M 20.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 20.553 +] -46.7 MCshow 20.554 +1.000 UL 20.555 +LTb 20.556 +2377 448 M 20.557 +0 63 V 20.558 +stroke 20.559 +2377 308 M 20.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 20.561 +] -46.7 MCshow 20.562 +1.000 UL 20.563 +LTb 20.564 +2799 448 M 20.565 +0 63 V 20.566 +stroke 20.567 +2799 308 M 20.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 20.569 +] -46.7 MCshow 20.570 +1.000 UL 20.571 +LTb 20.572 +3222 448 M 20.573 +0 63 V 20.574 +stroke 20.575 +3222 308 M 20.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 20.577 +] -46.7 MCshow 20.578 +1.000 UL 20.579 +LTb 20.580 +3644 448 M 20.581 +0 63 V 20.582 +stroke 20.583 +3644 308 M 20.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 20.585 +] -46.7 MCshow 20.586 +1.000 UL 20.587 +LTb 20.588 +4067 448 M 20.589 +0 63 V 20.590 +stroke 20.591 +4067 308 M 20.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 20.593 +] -46.7 MCshow 20.594 +1.000 UL 20.595 +LTb 20.596 +1.000 UL 20.597 +LTb 20.598 +686 2855 M 20.599 +686 448 L 20.600 +3381 0 V 20.601 +0 2407 R 20.602 +-3381 0 R 20.603 +stroke 20.604 +LCb setrgbcolor 20.605 +112 1651 M 20.606 +currentpoint gsave translate -270 rotate 0 0 moveto 20.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 20.608 +] -46.7 MCshow 20.609 +grestore 20.610 +LTb 20.611 +LCb setrgbcolor 20.612 +2376 98 M 20.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 20.614 +] -46.7 MCshow 20.615 +LTb 20.616 +1.000 UP 20.617 +1.000 UL 20.618 +LTb 20.619 +1.000 UL 20.620 +LTb 20.621 +770 511 N 20.622 +0 560 V 20.623 +1491 0 V 20.624 +0 -560 V 20.625 +770 511 L 20.626 +Z stroke 20.627 +770 1071 M 20.628 +1491 0 V 20.629 +% Begin plot #1 20.630 +stroke 20.631 +4.000 UL 20.632 +LT0 20.633 +LCb setrgbcolor 20.634 +1694 1001 M 20.635 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 20.636 +] -46.7 MRshow 20.637 +LT0 20.638 +1778 1001 M 20.639 +399 0 V 20.640 +1735 2855 M 20.641 +662 -919 V 20.642 +4067 1238 L 20.643 +% End plot #1 20.644 +% Begin plot #2 20.645 +stroke 20.646 +LT1 20.647 +LCb setrgbcolor 20.648 +1694 861 M 20.649 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 20.650 +] -46.7 MRshow 20.651 +LT1 20.652 +1778 861 M 20.653 +399 0 V 20.654 +1748 2855 M 20.655 +2555 1723 L 20.656 +4067 1065 L 20.657 +% End plot #2 20.658 +% Begin plot #3 20.659 +stroke 20.660 +LT2 20.661 +LCb setrgbcolor 20.662 +1694 721 M 20.663 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 20.664 +] -46.7 MRshow 20.665 +LT2 20.666 +1778 721 M 20.667 +399 0 V 20.668 +1420 2855 M 20.669 +170 -542 V 20.670 +784 -867 V 20.671 +3986 870 L 20.672 +% End plot #3 20.673 +% Begin plot #4 20.674 +stroke 20.675 +LT3 20.676 +LCb setrgbcolor 20.677 +1694 581 M 20.678 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 20.679 +] -46.7 MRshow 20.680 +LT3 20.681 +1778 581 M 20.682 +399 0 V 20.683 +1802 2855 M 20.684 +572 -574 V 20.685 +4007 1207 L 20.686 +% End plot #4 20.687 +stroke 20.688 +1.000 UL 20.689 +LTb 20.690 +686 2855 M 20.691 +686 448 L 20.692 +3381 0 V 20.693 +0 2407 R 20.694 +-3381 0 R 20.695 +1.000 UP 20.696 +stroke 20.697 +grestore 20.698 +end 20.699 +showpage 20.700 +%%Trailer 20.701 +%%DocumentFonts: Helvetica 20.702 +%%Pages: 1
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 21.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps Sun Mar 11 09:26:44 2012 -0700 21.3 @@ -0,0 +1,695 @@ 21.4 +%!PS-Adobe-2.0 21.5 +%%Title: xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps 21.6 +%%Creator: gnuplot 4.4 patchlevel 2 21.7 +%%CreationDate: Thu Jan 26 18:23:26 2012 21.8 +%%DocumentFonts: (atend) 21.9 +%%BoundingBox: 251 50 554 482 21.10 +%%Orientation: Landscape 21.11 +%%Pages: (atend) 21.12 +%%EndComments 21.13 +%%BeginProlog 21.14 +/gnudict 256 dict def 21.15 +gnudict begin 21.16 +% 21.17 +% The following true/false flags may be edited by hand if desired. 21.18 +% The unit line width and grayscale image gamma correction may also be changed. 21.19 +% 21.20 +/Color true def 21.21 +/Blacktext false def 21.22 +/Solid false def 21.23 +/Dashlength 1 def 21.24 +/Landscape true def 21.25 +/Level1 false def 21.26 +/Rounded false def 21.27 +/ClipToBoundingBox false def 21.28 +/TransparentPatterns false def 21.29 +/gnulinewidth 5.000 def 21.30 +/userlinewidth gnulinewidth def 21.31 +/Gamma 1.0 def 21.32 +% 21.33 +/vshift -46 def 21.34 +/dl1 { 21.35 + 10.0 Dashlength mul mul 21.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 21.37 +} def 21.38 +/dl2 { 21.39 + 10.0 Dashlength mul mul 21.40 + Rounded { currentlinewidth 0.75 mul add } if 21.41 +} def 21.42 +/hpt_ 31.5 def 21.43 +/vpt_ 31.5 def 21.44 +/hpt hpt_ def 21.45 +/vpt vpt_ def 21.46 +Level1 {} { 21.47 +/SDict 10 dict def 21.48 +systemdict /pdfmark known not { 21.49 + userdict /pdfmark systemdict /cleartomark get put 21.50 +} if 21.51 +SDict begin [ 21.52 + /Title (xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 21.53 + /Subject (gnuplot plot) 21.54 + /Creator (gnuplot 4.4 patchlevel 2) 21.55 + /Author (msach) 21.56 +% /Producer (gnuplot) 21.57 +% /Keywords () 21.58 + /CreationDate (Thu Jan 26 18:23:26 2012) 21.59 + /DOCINFO pdfmark 21.60 +end 21.61 +} ifelse 21.62 +/doclip { 21.63 + ClipToBoundingBox { 21.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 21.65 + clip 21.66 + } if 21.67 +} def 21.68 +% 21.69 +% Gnuplot Prolog Version 4.4 (August 2010) 21.70 +% 21.71 +%/SuppressPDFMark true def 21.72 +% 21.73 +/M {moveto} bind def 21.74 +/L {lineto} bind def 21.75 +/R {rmoveto} bind def 21.76 +/V {rlineto} bind def 21.77 +/N {newpath moveto} bind def 21.78 +/Z {closepath} bind def 21.79 +/C {setrgbcolor} bind def 21.80 +/f {rlineto fill} bind def 21.81 +/g {setgray} bind def 21.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 21.83 +/vpt2 vpt 2 mul def 21.84 +/hpt2 hpt 2 mul def 21.85 +/Lshow {currentpoint stroke M 0 vshift R 21.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 21.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 21.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 21.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 21.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 21.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 21.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 21.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 21.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 21.95 +/BL {stroke userlinewidth 2 mul setlinewidth 21.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 21.97 +/AL {stroke userlinewidth 2 div setlinewidth 21.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 21.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 21.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 21.101 +/PL {stroke userlinewidth setlinewidth 21.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 21.103 +3.8 setmiterlimit 21.104 +% Default Line colors 21.105 +/LCw {1 1 1} def 21.106 +/LCb {0 0 0} def 21.107 +/LCa {0 0 0} def 21.108 +/LC0 {1 0 0} def 21.109 +/LC1 {0 1 0} def 21.110 +/LC2 {0 0 1} def 21.111 +/LC3 {1 0 1} def 21.112 +/LC4 {0 1 1} def 21.113 +/LC5 {1 1 0} def 21.114 +/LC6 {0 0 0} def 21.115 +/LC7 {1 0.3 0} def 21.116 +/LC8 {0.5 0.5 0.5} def 21.117 +% Default Line Types 21.118 +/LTw {PL [] 1 setgray} def 21.119 +/LTb {BL [] LCb DL} def 21.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 21.121 +/LT0 {PL [] LC0 DL} def 21.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 21.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 21.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 21.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 21.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 21.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 21.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 21.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 21.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 21.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 21.132 + hpt neg vpt neg V hpt vpt neg V 21.133 + hpt vpt V hpt neg vpt V closepath stroke 21.134 + Pnt} def 21.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 21.136 + currentpoint stroke M 21.137 + hpt neg vpt neg R hpt2 0 V stroke 21.138 + } def 21.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 21.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 21.141 + hpt2 neg 0 V closepath stroke 21.142 + Pnt} def 21.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 21.144 + hpt2 vpt2 neg V currentpoint stroke M 21.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 21.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 21.147 + hpt neg vpt -1.62 mul V 21.148 + hpt 2 mul 0 V 21.149 + hpt neg vpt 1.62 mul V closepath stroke 21.150 + Pnt} def 21.151 +/Star {2 copy Pls Crs} def 21.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 21.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 21.154 + hpt2 neg 0 V closepath fill} def 21.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 21.156 + hpt neg vpt -1.62 mul V 21.157 + hpt 2 mul 0 V 21.158 + hpt neg vpt 1.62 mul V closepath fill} def 21.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 21.160 + hpt neg vpt 1.62 mul V 21.161 + hpt 2 mul 0 V 21.162 + hpt neg vpt -1.62 mul V closepath stroke 21.163 + Pnt} def 21.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 21.165 + hpt neg vpt 1.62 mul V 21.166 + hpt 2 mul 0 V 21.167 + hpt neg vpt -1.62 mul V closepath fill} def 21.168 +/DiaF {stroke [] 0 setdash vpt add M 21.169 + hpt neg vpt neg V hpt vpt neg V 21.170 + hpt vpt V hpt neg vpt V closepath fill} def 21.171 +/Pent {stroke [] 0 setdash 2 copy gsave 21.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 21.173 + closepath stroke grestore Pnt} def 21.174 +/PentF {stroke [] 0 setdash gsave 21.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 21.176 + closepath fill grestore} def 21.177 +/Circle {stroke [] 0 setdash 2 copy 21.178 + hpt 0 360 arc stroke Pnt} def 21.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 21.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 21.181 +/C1 {BL [] 0 setdash 2 copy moveto 21.182 + 2 copy vpt 0 90 arc closepath fill 21.183 + vpt 0 360 arc closepath} bind def 21.184 +/C2 {BL [] 0 setdash 2 copy moveto 21.185 + 2 copy vpt 90 180 arc closepath fill 21.186 + vpt 0 360 arc closepath} bind def 21.187 +/C3 {BL [] 0 setdash 2 copy moveto 21.188 + 2 copy vpt 0 180 arc closepath fill 21.189 + vpt 0 360 arc closepath} bind def 21.190 +/C4 {BL [] 0 setdash 2 copy moveto 21.191 + 2 copy vpt 180 270 arc closepath fill 21.192 + vpt 0 360 arc closepath} bind def 21.193 +/C5 {BL [] 0 setdash 2 copy moveto 21.194 + 2 copy vpt 0 90 arc 21.195 + 2 copy moveto 21.196 + 2 copy vpt 180 270 arc closepath fill 21.197 + vpt 0 360 arc} bind def 21.198 +/C6 {BL [] 0 setdash 2 copy moveto 21.199 + 2 copy vpt 90 270 arc closepath fill 21.200 + vpt 0 360 arc closepath} bind def 21.201 +/C7 {BL [] 0 setdash 2 copy moveto 21.202 + 2 copy vpt 0 270 arc closepath fill 21.203 + vpt 0 360 arc closepath} bind def 21.204 +/C8 {BL [] 0 setdash 2 copy moveto 21.205 + 2 copy vpt 270 360 arc closepath fill 21.206 + vpt 0 360 arc closepath} bind def 21.207 +/C9 {BL [] 0 setdash 2 copy moveto 21.208 + 2 copy vpt 270 450 arc closepath fill 21.209 + vpt 0 360 arc closepath} bind def 21.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 21.211 + 2 copy moveto 21.212 + 2 copy vpt 90 180 arc closepath fill 21.213 + vpt 0 360 arc closepath} bind def 21.214 +/C11 {BL [] 0 setdash 2 copy moveto 21.215 + 2 copy vpt 0 180 arc closepath fill 21.216 + 2 copy moveto 21.217 + 2 copy vpt 270 360 arc closepath fill 21.218 + vpt 0 360 arc closepath} bind def 21.219 +/C12 {BL [] 0 setdash 2 copy moveto 21.220 + 2 copy vpt 180 360 arc closepath fill 21.221 + vpt 0 360 arc closepath} bind def 21.222 +/C13 {BL [] 0 setdash 2 copy moveto 21.223 + 2 copy vpt 0 90 arc closepath fill 21.224 + 2 copy moveto 21.225 + 2 copy vpt 180 360 arc closepath fill 21.226 + vpt 0 360 arc closepath} bind def 21.227 +/C14 {BL [] 0 setdash 2 copy moveto 21.228 + 2 copy vpt 90 360 arc closepath fill 21.229 + vpt 0 360 arc} bind def 21.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 21.231 + vpt 0 360 arc closepath} bind def 21.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 21.233 + neg 0 rlineto closepath} bind def 21.234 +/Square {dup Rec} bind def 21.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 21.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 21.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 21.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 21.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 21.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 21.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 21.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 21.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 21.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 21.245 + 2 copy vpt Square fill Bsquare} bind def 21.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 21.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 21.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 21.249 + Bsquare} bind def 21.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 21.251 + Bsquare} bind def 21.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 21.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 21.254 + 2 copy vpt Square fill Bsquare} bind def 21.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 21.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 21.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 21.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 21.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 21.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 21.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 21.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 21.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 21.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 21.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 21.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 21.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 21.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 21.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 21.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 21.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 21.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 21.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 21.274 +/DiaE {stroke [] 0 setdash vpt add M 21.275 + hpt neg vpt neg V hpt vpt neg V 21.276 + hpt vpt V hpt neg vpt V closepath stroke} def 21.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 21.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 21.279 + hpt2 neg 0 V closepath stroke} def 21.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 21.281 + hpt neg vpt -1.62 mul V 21.282 + hpt 2 mul 0 V 21.283 + hpt neg vpt 1.62 mul V closepath stroke} def 21.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 21.285 + hpt neg vpt 1.62 mul V 21.286 + hpt 2 mul 0 V 21.287 + hpt neg vpt -1.62 mul V closepath stroke} def 21.288 +/PentE {stroke [] 0 setdash gsave 21.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 21.290 + closepath stroke grestore} def 21.291 +/CircE {stroke [] 0 setdash 21.292 + hpt 0 360 arc stroke} def 21.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 21.294 +/DiaW {stroke [] 0 setdash vpt add M 21.295 + hpt neg vpt neg V hpt vpt neg V 21.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 21.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 21.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 21.299 + hpt2 neg 0 V Opaque stroke} def 21.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 21.301 + hpt neg vpt -1.62 mul V 21.302 + hpt 2 mul 0 V 21.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 21.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 21.305 + hpt neg vpt 1.62 mul V 21.306 + hpt 2 mul 0 V 21.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 21.308 +/PentW {stroke [] 0 setdash gsave 21.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 21.310 + Opaque stroke grestore} def 21.311 +/CircW {stroke [] 0 setdash 21.312 + hpt 0 360 arc Opaque stroke} def 21.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 21.314 +/Density { 21.315 + /Fillden exch def 21.316 + currentrgbcolor 21.317 + /ColB exch def /ColG exch def /ColR exch def 21.318 + /ColR ColR Fillden mul Fillden sub 1 add def 21.319 + /ColG ColG Fillden mul Fillden sub 1 add def 21.320 + /ColB ColB Fillden mul Fillden sub 1 add def 21.321 + ColR ColG ColB setrgbcolor} def 21.322 +/BoxColFill {gsave Rec PolyFill} def 21.323 +/PolyFill {gsave Density fill grestore grestore} def 21.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 21.325 +% 21.326 +% PostScript Level 1 Pattern Fill routine for rectangles 21.327 +% Usage: x y w h s a XX PatternFill 21.328 +% x,y = lower left corner of box to be filled 21.329 +% w,h = width and height of box 21.330 +% a = angle in degrees between lines and x-axis 21.331 +% XX = 0/1 for no/yes cross-hatch 21.332 +% 21.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 21.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 21.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 21.336 + gsave 1 setgray fill grestore clip 21.337 + currentlinewidth 0.5 mul setlinewidth 21.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 21.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 21.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 21.341 + {PFa 4 get mul 0 M 0 PFs V} for 21.342 + 0 PFa 6 get ne { 21.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 21.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 21.345 + } if 21.346 + stroke grestore} def 21.347 +% 21.348 +/languagelevel where 21.349 + {pop languagelevel} {1} ifelse 21.350 + 2 lt 21.351 + {/InterpretLevel1 true def} 21.352 + {/InterpretLevel1 Level1 def} 21.353 + ifelse 21.354 +% 21.355 +% PostScript level 2 pattern fill definitions 21.356 +% 21.357 +/Level2PatternFill { 21.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 21.359 + bind def 21.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 21.361 +<< Tile8x8 21.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 21.363 +>> matrix makepattern 21.364 +/Pat1 exch def 21.365 +<< Tile8x8 21.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 21.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 21.368 +>> matrix makepattern 21.369 +/Pat2 exch def 21.370 +<< Tile8x8 21.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 21.372 + 8 8 L 8 0 L 0 0 L fill} 21.373 +>> matrix makepattern 21.374 +/Pat3 exch def 21.375 +<< Tile8x8 21.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 21.377 + 0 12 M 12 0 L stroke} 21.378 +>> matrix makepattern 21.379 +/Pat4 exch def 21.380 +<< Tile8x8 21.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 21.382 + 0 -4 M 12 8 L stroke} 21.383 +>> matrix makepattern 21.384 +/Pat5 exch def 21.385 +<< Tile8x8 21.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 21.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 21.388 +>> matrix makepattern 21.389 +/Pat6 exch def 21.390 +<< Tile8x8 21.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 21.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 21.393 +>> matrix makepattern 21.394 +/Pat7 exch def 21.395 +<< Tile8x8 21.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 21.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 21.398 +>> matrix makepattern 21.399 +/Pat8 exch def 21.400 +<< Tile8x8 21.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 21.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 21.403 +>> matrix makepattern 21.404 +/Pat9 exch def 21.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 21.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 21.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 21.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 21.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 21.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 21.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 21.412 +} def 21.413 +% 21.414 +% 21.415 +%End of PostScript Level 2 code 21.416 +% 21.417 +/PatternBgnd { 21.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 21.419 +} def 21.420 +% 21.421 +% Substitute for Level 2 pattern fill codes with 21.422 +% grayscale if Level 2 support is not selected. 21.423 +% 21.424 +/Level1PatternFill { 21.425 +/Pattern1 {0.250 Density} bind def 21.426 +/Pattern2 {0.500 Density} bind def 21.427 +/Pattern3 {0.750 Density} bind def 21.428 +/Pattern4 {0.125 Density} bind def 21.429 +/Pattern5 {0.375 Density} bind def 21.430 +/Pattern6 {0.625 Density} bind def 21.431 +/Pattern7 {0.875 Density} bind def 21.432 +} def 21.433 +% 21.434 +% Now test for support of Level 2 code 21.435 +% 21.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 21.437 +% 21.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 21.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 21.440 +currentdict end definefont pop 21.441 +/MFshow { 21.442 + { dup 5 get 3 ge 21.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 21.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 21.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 21.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 21.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 21.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 21.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 21.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 21.451 + pop aload pop M} ifelse }ifelse }ifelse } 21.452 + ifelse } 21.453 + forall} def 21.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 21.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 21.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 21.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 21.458 +/MLshow { currentpoint stroke M 21.459 + 0 exch R 21.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 21.461 +/MRshow { currentpoint stroke M 21.462 + exch dup MFwidth neg 3 -1 roll R 21.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 21.464 +/MCshow { currentpoint stroke M 21.465 + exch dup MFwidth -2 div 3 -1 roll R 21.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 21.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 21.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 21.469 +end 21.470 +%%EndProlog 21.471 +%%Page: 1 1 21.472 +gnudict begin 21.473 +gsave 21.474 +doclip 21.475 +50 50 translate 21.476 +0.100 0.100 scale 21.477 +90 rotate 21.478 +0 -5040 translate 21.479 +0 setgray 21.480 +newpath 21.481 +(Helvetica) findfont 140 scalefont setfont 21.482 +1.000 UL 21.483 +LTb 21.484 +686 922 M 21.485 +63 0 V 21.486 +stroke 21.487 +602 922 M 21.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 21.489 +] -46.7 MRshow 21.490 +1.000 UL 21.491 +LTb 21.492 +686 1405 M 21.493 +63 0 V 21.494 +stroke 21.495 +602 1405 M 21.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 21.497 +] -46.7 MRshow 21.498 +1.000 UL 21.499 +LTb 21.500 +686 1888 M 21.501 +63 0 V 21.502 +stroke 21.503 +602 1888 M 21.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 21.505 +] -46.7 MRshow 21.506 +1.000 UL 21.507 +LTb 21.508 +686 2372 M 21.509 +63 0 V 21.510 +stroke 21.511 +602 2372 M 21.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 21.513 +] -46.7 MRshow 21.514 +1.000 UL 21.515 +LTb 21.516 +686 2855 M 21.517 +63 0 V 21.518 +stroke 21.519 +602 2855 M 21.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 21.521 +] -46.7 MRshow 21.522 +1.000 UL 21.523 +LTb 21.524 +686 448 M 21.525 +0 63 V 21.526 +stroke 21.527 +686 308 M 21.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 21.529 +] -46.7 MCshow 21.530 +1.000 UL 21.531 +LTb 21.532 +1109 448 M 21.533 +0 63 V 21.534 +stroke 21.535 +1109 308 M 21.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 21.537 +] -46.7 MCshow 21.538 +1.000 UL 21.539 +LTb 21.540 +1531 448 M 21.541 +0 63 V 21.542 +stroke 21.543 +1531 308 M 21.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 21.545 +] -46.7 MCshow 21.546 +1.000 UL 21.547 +LTb 21.548 +1954 448 M 21.549 +0 63 V 21.550 +stroke 21.551 +1954 308 M 21.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 21.553 +] -46.7 MCshow 21.554 +1.000 UL 21.555 +LTb 21.556 +2377 448 M 21.557 +0 63 V 21.558 +stroke 21.559 +2377 308 M 21.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 21.561 +] -46.7 MCshow 21.562 +1.000 UL 21.563 +LTb 21.564 +2799 448 M 21.565 +0 63 V 21.566 +stroke 21.567 +2799 308 M 21.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 21.569 +] -46.7 MCshow 21.570 +1.000 UL 21.571 +LTb 21.572 +3222 448 M 21.573 +0 63 V 21.574 +stroke 21.575 +3222 308 M 21.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 21.577 +] -46.7 MCshow 21.578 +1.000 UL 21.579 +LTb 21.580 +3644 448 M 21.581 +0 63 V 21.582 +stroke 21.583 +3644 308 M 21.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 21.585 +] -46.7 MCshow 21.586 +1.000 UL 21.587 +LTb 21.588 +4067 448 M 21.589 +0 63 V 21.590 +stroke 21.591 +4067 308 M 21.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 21.593 +] -46.7 MCshow 21.594 +1.000 UL 21.595 +LTb 21.596 +1.000 UL 21.597 +LTb 21.598 +686 2855 M 21.599 +686 448 L 21.600 +3381 0 V 21.601 +0 2407 R 21.602 +-3381 0 R 21.603 +stroke 21.604 +LCb setrgbcolor 21.605 +112 1651 M 21.606 +currentpoint gsave translate -270 rotate 0 0 moveto 21.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 21.608 +] -46.7 MCshow 21.609 +grestore 21.610 +LTb 21.611 +LCb setrgbcolor 21.612 +2376 98 M 21.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 21.614 +] -46.7 MCshow 21.615 +LTb 21.616 +1.000 UP 21.617 +1.000 UL 21.618 +LTb 21.619 +1.000 UL 21.620 +LTb 21.621 +770 511 N 21.622 +0 560 V 21.623 +1491 0 V 21.624 +0 -560 V 21.625 +770 511 L 21.626 +Z stroke 21.627 +770 1071 M 21.628 +1491 0 V 21.629 +% Begin plot #1 21.630 +stroke 21.631 +4.000 UL 21.632 +LT0 21.633 +LCb setrgbcolor 21.634 +1694 1001 M 21.635 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 21.636 +] -46.7 MRshow 21.637 +LT0 21.638 +1778 1001 M 21.639 +399 0 V 21.640 +154 1854 R 21.641 +25 -124 V 21.642 +3985 1744 L 21.643 +% End plot #1 21.644 +% Begin plot #2 21.645 +stroke 21.646 +LT1 21.647 +LCb setrgbcolor 21.648 +1694 861 M 21.649 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 21.650 +] -46.7 MRshow 21.651 +LT1 21.652 +1778 861 M 21.653 +399 0 V 21.654 +% End plot #2 21.655 +% Begin plot #3 21.656 +stroke 21.657 +LT2 21.658 +LCb setrgbcolor 21.659 +1694 721 M 21.660 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 21.661 +] -46.7 MRshow 21.662 +LT2 21.663 +1778 721 M 21.664 +399 0 V 21.665 +618 2134 R 21.666 +476 -856 V 21.667 +796 -271 V 21.668 +% End plot #3 21.669 +% Begin plot #4 21.670 +stroke 21.671 +LT3 21.672 +LCb setrgbcolor 21.673 +1694 581 M 21.674 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 21.675 +] -46.7 MRshow 21.676 +LT3 21.677 +1778 581 M 21.678 +399 0 V 21.679 +166 2274 R 21.680 +586 -716 V 21.681 +4067 1495 L 21.682 +% End plot #4 21.683 +stroke 21.684 +1.000 UL 21.685 +LTb 21.686 +686 2855 M 21.687 +686 448 L 21.688 +3381 0 V 21.689 +0 2407 R 21.690 +-3381 0 R 21.691 +1.000 UP 21.692 +stroke 21.693 +grestore 21.694 +end 21.695 +showpage 21.696 +%%Trailer 21.697 +%%DocumentFonts: Helvetica 21.698 +%%Pages: 1
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 22.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-dist.eps Sun Mar 11 09:26:44 2012 -0700 22.3 @@ -0,0 +1,948 @@ 22.4 +%!PS-Adobe-2.0 22.5 +%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-dist.eps 22.6 +%%Creator: gnuplot 4.4 patchlevel 2 22.7 +%%CreationDate: Thu Jan 26 18:30:24 2012 22.8 +%%DocumentFonts: (atend) 22.9 +%%BoundingBox: 251 50 554 482 22.10 +%%Orientation: Landscape 22.11 +%%Pages: (atend) 22.12 +%%EndComments 22.13 +%%BeginProlog 22.14 +/gnudict 256 dict def 22.15 +gnudict begin 22.16 +% 22.17 +% The following true/false flags may be edited by hand if desired. 22.18 +% The unit line width and grayscale image gamma correction may also be changed. 22.19 +% 22.20 +/Color true def 22.21 +/Blacktext false def 22.22 +/Solid false def 22.23 +/Dashlength 1 def 22.24 +/Landscape true def 22.25 +/Level1 false def 22.26 +/Rounded false def 22.27 +/ClipToBoundingBox false def 22.28 +/TransparentPatterns false def 22.29 +/gnulinewidth 5.000 def 22.30 +/userlinewidth gnulinewidth def 22.31 +/Gamma 1.0 def 22.32 +% 22.33 +/vshift -46 def 22.34 +/dl1 { 22.35 + 10.0 Dashlength mul mul 22.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 22.37 +} def 22.38 +/dl2 { 22.39 + 10.0 Dashlength mul mul 22.40 + Rounded { currentlinewidth 0.75 mul add } if 22.41 +} def 22.42 +/hpt_ 31.5 def 22.43 +/vpt_ 31.5 def 22.44 +/hpt hpt_ def 22.45 +/vpt vpt_ def 22.46 +Level1 {} { 22.47 +/SDict 10 dict def 22.48 +systemdict /pdfmark known not { 22.49 + userdict /pdfmark systemdict /cleartomark get put 22.50 +} if 22.51 +SDict begin [ 22.52 + /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-dist.eps) 22.53 + /Subject (gnuplot plot) 22.54 + /Creator (gnuplot 4.4 patchlevel 2) 22.55 + /Author (msach) 22.56 +% /Producer (gnuplot) 22.57 +% /Keywords () 22.58 + /CreationDate (Thu Jan 26 18:30:24 2012) 22.59 + /DOCINFO pdfmark 22.60 +end 22.61 +} ifelse 22.62 +/doclip { 22.63 + ClipToBoundingBox { 22.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 22.65 + clip 22.66 + } if 22.67 +} def 22.68 +% 22.69 +% Gnuplot Prolog Version 4.4 (August 2010) 22.70 +% 22.71 +%/SuppressPDFMark true def 22.72 +% 22.73 +/M {moveto} bind def 22.74 +/L {lineto} bind def 22.75 +/R {rmoveto} bind def 22.76 +/V {rlineto} bind def 22.77 +/N {newpath moveto} bind def 22.78 +/Z {closepath} bind def 22.79 +/C {setrgbcolor} bind def 22.80 +/f {rlineto fill} bind def 22.81 +/g {setgray} bind def 22.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 22.83 +/vpt2 vpt 2 mul def 22.84 +/hpt2 hpt 2 mul def 22.85 +/Lshow {currentpoint stroke M 0 vshift R 22.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 22.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 22.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 22.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 22.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 22.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 22.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 22.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 22.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 22.95 +/BL {stroke userlinewidth 2 mul setlinewidth 22.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 22.97 +/AL {stroke userlinewidth 2 div setlinewidth 22.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 22.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 22.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 22.101 +/PL {stroke userlinewidth setlinewidth 22.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 22.103 +3.8 setmiterlimit 22.104 +% Default Line colors 22.105 +/LCw {1 1 1} def 22.106 +/LCb {0 0 0} def 22.107 +/LCa {0 0 0} def 22.108 +/LC0 {1 0 0} def 22.109 +/LC1 {0 1 0} def 22.110 +/LC2 {0 0 1} def 22.111 +/LC3 {1 0 1} def 22.112 +/LC4 {0 1 1} def 22.113 +/LC5 {1 1 0} def 22.114 +/LC6 {0 0 0} def 22.115 +/LC7 {1 0.3 0} def 22.116 +/LC8 {0.5 0.5 0.5} def 22.117 +% Default Line Types 22.118 +/LTw {PL [] 1 setgray} def 22.119 +/LTb {BL [] LCb DL} def 22.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 22.121 +/LT0 {PL [] LC0 DL} def 22.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 22.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 22.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 22.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 22.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 22.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 22.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 22.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 22.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 22.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 22.132 + hpt neg vpt neg V hpt vpt neg V 22.133 + hpt vpt V hpt neg vpt V closepath stroke 22.134 + Pnt} def 22.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 22.136 + currentpoint stroke M 22.137 + hpt neg vpt neg R hpt2 0 V stroke 22.138 + } def 22.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 22.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 22.141 + hpt2 neg 0 V closepath stroke 22.142 + Pnt} def 22.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 22.144 + hpt2 vpt2 neg V currentpoint stroke M 22.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 22.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 22.147 + hpt neg vpt -1.62 mul V 22.148 + hpt 2 mul 0 V 22.149 + hpt neg vpt 1.62 mul V closepath stroke 22.150 + Pnt} def 22.151 +/Star {2 copy Pls Crs} def 22.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 22.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 22.154 + hpt2 neg 0 V closepath fill} def 22.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 22.156 + hpt neg vpt -1.62 mul V 22.157 + hpt 2 mul 0 V 22.158 + hpt neg vpt 1.62 mul V closepath fill} def 22.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 22.160 + hpt neg vpt 1.62 mul V 22.161 + hpt 2 mul 0 V 22.162 + hpt neg vpt -1.62 mul V closepath stroke 22.163 + Pnt} def 22.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 22.165 + hpt neg vpt 1.62 mul V 22.166 + hpt 2 mul 0 V 22.167 + hpt neg vpt -1.62 mul V closepath fill} def 22.168 +/DiaF {stroke [] 0 setdash vpt add M 22.169 + hpt neg vpt neg V hpt vpt neg V 22.170 + hpt vpt V hpt neg vpt V closepath fill} def 22.171 +/Pent {stroke [] 0 setdash 2 copy gsave 22.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 22.173 + closepath stroke grestore Pnt} def 22.174 +/PentF {stroke [] 0 setdash gsave 22.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 22.176 + closepath fill grestore} def 22.177 +/Circle {stroke [] 0 setdash 2 copy 22.178 + hpt 0 360 arc stroke Pnt} def 22.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 22.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 22.181 +/C1 {BL [] 0 setdash 2 copy moveto 22.182 + 2 copy vpt 0 90 arc closepath fill 22.183 + vpt 0 360 arc closepath} bind def 22.184 +/C2 {BL [] 0 setdash 2 copy moveto 22.185 + 2 copy vpt 90 180 arc closepath fill 22.186 + vpt 0 360 arc closepath} bind def 22.187 +/C3 {BL [] 0 setdash 2 copy moveto 22.188 + 2 copy vpt 0 180 arc closepath fill 22.189 + vpt 0 360 arc closepath} bind def 22.190 +/C4 {BL [] 0 setdash 2 copy moveto 22.191 + 2 copy vpt 180 270 arc closepath fill 22.192 + vpt 0 360 arc closepath} bind def 22.193 +/C5 {BL [] 0 setdash 2 copy moveto 22.194 + 2 copy vpt 0 90 arc 22.195 + 2 copy moveto 22.196 + 2 copy vpt 180 270 arc closepath fill 22.197 + vpt 0 360 arc} bind def 22.198 +/C6 {BL [] 0 setdash 2 copy moveto 22.199 + 2 copy vpt 90 270 arc closepath fill 22.200 + vpt 0 360 arc closepath} bind def 22.201 +/C7 {BL [] 0 setdash 2 copy moveto 22.202 + 2 copy vpt 0 270 arc closepath fill 22.203 + vpt 0 360 arc closepath} bind def 22.204 +/C8 {BL [] 0 setdash 2 copy moveto 22.205 + 2 copy vpt 270 360 arc closepath fill 22.206 + vpt 0 360 arc closepath} bind def 22.207 +/C9 {BL [] 0 setdash 2 copy moveto 22.208 + 2 copy vpt 270 450 arc closepath fill 22.209 + vpt 0 360 arc closepath} bind def 22.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 22.211 + 2 copy moveto 22.212 + 2 copy vpt 90 180 arc closepath fill 22.213 + vpt 0 360 arc closepath} bind def 22.214 +/C11 {BL [] 0 setdash 2 copy moveto 22.215 + 2 copy vpt 0 180 arc closepath fill 22.216 + 2 copy moveto 22.217 + 2 copy vpt 270 360 arc closepath fill 22.218 + vpt 0 360 arc closepath} bind def 22.219 +/C12 {BL [] 0 setdash 2 copy moveto 22.220 + 2 copy vpt 180 360 arc closepath fill 22.221 + vpt 0 360 arc closepath} bind def 22.222 +/C13 {BL [] 0 setdash 2 copy moveto 22.223 + 2 copy vpt 0 90 arc closepath fill 22.224 + 2 copy moveto 22.225 + 2 copy vpt 180 360 arc closepath fill 22.226 + vpt 0 360 arc closepath} bind def 22.227 +/C14 {BL [] 0 setdash 2 copy moveto 22.228 + 2 copy vpt 90 360 arc closepath fill 22.229 + vpt 0 360 arc} bind def 22.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 22.231 + vpt 0 360 arc closepath} bind def 22.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 22.233 + neg 0 rlineto closepath} bind def 22.234 +/Square {dup Rec} bind def 22.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 22.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 22.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 22.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 22.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 22.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 22.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 22.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 22.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 22.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 22.245 + 2 copy vpt Square fill Bsquare} bind def 22.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 22.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 22.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 22.249 + Bsquare} bind def 22.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 22.251 + Bsquare} bind def 22.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 22.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 22.254 + 2 copy vpt Square fill Bsquare} bind def 22.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 22.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 22.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 22.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 22.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 22.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 22.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 22.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 22.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 22.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 22.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 22.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 22.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 22.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 22.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 22.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 22.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 22.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 22.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 22.274 +/DiaE {stroke [] 0 setdash vpt add M 22.275 + hpt neg vpt neg V hpt vpt neg V 22.276 + hpt vpt V hpt neg vpt V closepath stroke} def 22.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 22.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 22.279 + hpt2 neg 0 V closepath stroke} def 22.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 22.281 + hpt neg vpt -1.62 mul V 22.282 + hpt 2 mul 0 V 22.283 + hpt neg vpt 1.62 mul V closepath stroke} def 22.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 22.285 + hpt neg vpt 1.62 mul V 22.286 + hpt 2 mul 0 V 22.287 + hpt neg vpt -1.62 mul V closepath stroke} def 22.288 +/PentE {stroke [] 0 setdash gsave 22.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 22.290 + closepath stroke grestore} def 22.291 +/CircE {stroke [] 0 setdash 22.292 + hpt 0 360 arc stroke} def 22.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 22.294 +/DiaW {stroke [] 0 setdash vpt add M 22.295 + hpt neg vpt neg V hpt vpt neg V 22.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 22.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 22.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 22.299 + hpt2 neg 0 V Opaque stroke} def 22.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 22.301 + hpt neg vpt -1.62 mul V 22.302 + hpt 2 mul 0 V 22.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 22.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 22.305 + hpt neg vpt 1.62 mul V 22.306 + hpt 2 mul 0 V 22.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 22.308 +/PentW {stroke [] 0 setdash gsave 22.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 22.310 + Opaque stroke grestore} def 22.311 +/CircW {stroke [] 0 setdash 22.312 + hpt 0 360 arc Opaque stroke} def 22.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 22.314 +/Density { 22.315 + /Fillden exch def 22.316 + currentrgbcolor 22.317 + /ColB exch def /ColG exch def /ColR exch def 22.318 + /ColR ColR Fillden mul Fillden sub 1 add def 22.319 + /ColG ColG Fillden mul Fillden sub 1 add def 22.320 + /ColB ColB Fillden mul Fillden sub 1 add def 22.321 + ColR ColG ColB setrgbcolor} def 22.322 +/BoxColFill {gsave Rec PolyFill} def 22.323 +/PolyFill {gsave Density fill grestore grestore} def 22.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 22.325 +% 22.326 +% PostScript Level 1 Pattern Fill routine for rectangles 22.327 +% Usage: x y w h s a XX PatternFill 22.328 +% x,y = lower left corner of box to be filled 22.329 +% w,h = width and height of box 22.330 +% a = angle in degrees between lines and x-axis 22.331 +% XX = 0/1 for no/yes cross-hatch 22.332 +% 22.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 22.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 22.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 22.336 + gsave 1 setgray fill grestore clip 22.337 + currentlinewidth 0.5 mul setlinewidth 22.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 22.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 22.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 22.341 + {PFa 4 get mul 0 M 0 PFs V} for 22.342 + 0 PFa 6 get ne { 22.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 22.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 22.345 + } if 22.346 + stroke grestore} def 22.347 +% 22.348 +/languagelevel where 22.349 + {pop languagelevel} {1} ifelse 22.350 + 2 lt 22.351 + {/InterpretLevel1 true def} 22.352 + {/InterpretLevel1 Level1 def} 22.353 + ifelse 22.354 +% 22.355 +% PostScript level 2 pattern fill definitions 22.356 +% 22.357 +/Level2PatternFill { 22.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 22.359 + bind def 22.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 22.361 +<< Tile8x8 22.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 22.363 +>> matrix makepattern 22.364 +/Pat1 exch def 22.365 +<< Tile8x8 22.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 22.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 22.368 +>> matrix makepattern 22.369 +/Pat2 exch def 22.370 +<< Tile8x8 22.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 22.372 + 8 8 L 8 0 L 0 0 L fill} 22.373 +>> matrix makepattern 22.374 +/Pat3 exch def 22.375 +<< Tile8x8 22.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 22.377 + 0 12 M 12 0 L stroke} 22.378 +>> matrix makepattern 22.379 +/Pat4 exch def 22.380 +<< Tile8x8 22.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 22.382 + 0 -4 M 12 8 L stroke} 22.383 +>> matrix makepattern 22.384 +/Pat5 exch def 22.385 +<< Tile8x8 22.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 22.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 22.388 +>> matrix makepattern 22.389 +/Pat6 exch def 22.390 +<< Tile8x8 22.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 22.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 22.393 +>> matrix makepattern 22.394 +/Pat7 exch def 22.395 +<< Tile8x8 22.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 22.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 22.398 +>> matrix makepattern 22.399 +/Pat8 exch def 22.400 +<< Tile8x8 22.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 22.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 22.403 +>> matrix makepattern 22.404 +/Pat9 exch def 22.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 22.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 22.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 22.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 22.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 22.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 22.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 22.412 +} def 22.413 +% 22.414 +% 22.415 +%End of PostScript Level 2 code 22.416 +% 22.417 +/PatternBgnd { 22.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 22.419 +} def 22.420 +% 22.421 +% Substitute for Level 2 pattern fill codes with 22.422 +% grayscale if Level 2 support is not selected. 22.423 +% 22.424 +/Level1PatternFill { 22.425 +/Pattern1 {0.250 Density} bind def 22.426 +/Pattern2 {0.500 Density} bind def 22.427 +/Pattern3 {0.750 Density} bind def 22.428 +/Pattern4 {0.125 Density} bind def 22.429 +/Pattern5 {0.375 Density} bind def 22.430 +/Pattern6 {0.625 Density} bind def 22.431 +/Pattern7 {0.875 Density} bind def 22.432 +} def 22.433 +% 22.434 +% Now test for support of Level 2 code 22.435 +% 22.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 22.437 +% 22.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 22.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 22.440 +currentdict end definefont pop 22.441 +/MFshow { 22.442 + { dup 5 get 3 ge 22.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 22.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 22.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 22.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 22.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 22.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 22.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 22.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 22.451 + pop aload pop M} ifelse }ifelse }ifelse } 22.452 + ifelse } 22.453 + forall} def 22.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 22.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 22.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 22.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 22.458 +/MLshow { currentpoint stroke M 22.459 + 0 exch R 22.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 22.461 +/MRshow { currentpoint stroke M 22.462 + exch dup MFwidth neg 3 -1 roll R 22.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 22.464 +/MCshow { currentpoint stroke M 22.465 + exch dup MFwidth -2 div 3 -1 roll R 22.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 22.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 22.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 22.469 +end 22.470 +%%EndProlog 22.471 +%%Page: 1 1 22.472 +gnudict begin 22.473 +gsave 22.474 +doclip 22.475 +50 50 translate 22.476 +0.100 0.100 scale 22.477 +90 rotate 22.478 +0 -5040 translate 22.479 +0 setgray 22.480 +newpath 22.481 +(Helvetica) findfont 140 scalefont setfont 22.482 +1.000 UL 22.483 +LTb 22.484 +686 922 M 22.485 +63 0 V 22.486 +stroke 22.487 +602 922 M 22.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 22.489 +] -46.7 MRshow 22.490 +1.000 UL 22.491 +LTb 22.492 +686 1405 M 22.493 +63 0 V 22.494 +stroke 22.495 +602 1405 M 22.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 22.497 +] -46.7 MRshow 22.498 +1.000 UL 22.499 +LTb 22.500 +686 1888 M 22.501 +63 0 V 22.502 +stroke 22.503 +602 1888 M 22.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 22.505 +] -46.7 MRshow 22.506 +1.000 UL 22.507 +LTb 22.508 +686 2372 M 22.509 +63 0 V 22.510 +stroke 22.511 +602 2372 M 22.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 22.513 +] -46.7 MRshow 22.514 +1.000 UL 22.515 +LTb 22.516 +686 2855 M 22.517 +63 0 V 22.518 +stroke 22.519 +602 2855 M 22.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 22.521 +] -46.7 MRshow 22.522 +1.000 UL 22.523 +LTb 22.524 +686 448 M 22.525 +0 63 V 22.526 +stroke 22.527 +686 308 M 22.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 22.529 +] -46.7 MCshow 22.530 +1.000 UL 22.531 +LTb 22.532 +1109 448 M 22.533 +0 63 V 22.534 +stroke 22.535 +1109 308 M 22.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 22.537 +] -46.7 MCshow 22.538 +1.000 UL 22.539 +LTb 22.540 +1531 448 M 22.541 +0 63 V 22.542 +stroke 22.543 +1531 308 M 22.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 22.545 +] -46.7 MCshow 22.546 +1.000 UL 22.547 +LTb 22.548 +1954 448 M 22.549 +0 63 V 22.550 +stroke 22.551 +1954 308 M 22.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 22.553 +] -46.7 MCshow 22.554 +1.000 UL 22.555 +LTb 22.556 +2377 448 M 22.557 +0 63 V 22.558 +stroke 22.559 +2377 308 M 22.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 22.561 +] -46.7 MCshow 22.562 +1.000 UL 22.563 +LTb 22.564 +2799 448 M 22.565 +0 63 V 22.566 +stroke 22.567 +2799 308 M 22.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 22.569 +] -46.7 MCshow 22.570 +1.000 UL 22.571 +LTb 22.572 +3222 448 M 22.573 +0 63 V 22.574 +stroke 22.575 +3222 308 M 22.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 22.577 +] -46.7 MCshow 22.578 +1.000 UL 22.579 +LTb 22.580 +3644 448 M 22.581 +0 63 V 22.582 +stroke 22.583 +3644 308 M 22.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 22.585 +] -46.7 MCshow 22.586 +1.000 UL 22.587 +LTb 22.588 +4067 448 M 22.589 +0 63 V 22.590 +stroke 22.591 +4067 308 M 22.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 22.593 +] -46.7 MCshow 22.594 +1.000 UL 22.595 +LTb 22.596 +1.000 UL 22.597 +LTb 22.598 +686 2855 M 22.599 +686 448 L 22.600 +3381 0 V 22.601 +0 2407 R 22.602 +-3381 0 R 22.603 +stroke 22.604 +LCb setrgbcolor 22.605 +112 1651 M 22.606 +currentpoint gsave translate -270 rotate 0 0 moveto 22.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 22.608 +] -46.7 MCshow 22.609 +grestore 22.610 +LTb 22.611 +LCb setrgbcolor 22.612 +2376 98 M 22.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 22.614 +] -46.7 MCshow 22.615 +LTb 22.616 +1.000 UP 22.617 +1.000 UL 22.618 +LTb 22.619 +LCb setrgbcolor 22.620 +3532 2882 M 22.621 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 22.622 +] -46.7 MCshow 22.623 +LTb 22.624 +1.000 UL 22.625 +LTb 22.626 +2787 2252 N 22.627 +0 700 V 22.628 +1491 0 V 22.629 +0 -700 V 22.630 +-1491 0 V 22.631 +Z stroke 22.632 +2787 2812 M 22.633 +1491 0 V 22.634 +% Begin plot #1 22.635 +stroke 22.636 +4.000 UL 22.637 +LT5 22.638 +LC7 setrgbcolor 22.639 +LCb setrgbcolor 22.640 +3711 2742 M 22.641 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 22.642 +] -46.7 MRshow 22.643 +LT5 22.644 +LC7 setrgbcolor 22.645 +3795 2742 M 22.646 +399 0 V 22.647 +1735 2855 M 22.648 +662 -919 V 22.649 +4067 1238 L 22.650 +% End plot #1 22.651 +% Begin plot #2 22.652 +stroke 22.653 +LT6 22.654 +LCb setrgbcolor 22.655 +3711 2602 M 22.656 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 22.657 +] -46.7 MRshow 22.658 +LT6 22.659 +3795 2602 M 22.660 +399 0 V 22.661 +1748 2855 M 22.662 +2555 1723 L 22.663 +4067 1065 L 22.664 +% End plot #2 22.665 +% Begin plot #3 22.666 +stroke 22.667 +LT7 22.668 +LC1 setrgbcolor 22.669 +LCb setrgbcolor 22.670 +3711 2462 M 22.671 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 22.672 +] -46.7 MRshow 22.673 +LT7 22.674 +LC1 setrgbcolor 22.675 +3795 2462 M 22.676 +399 0 V 22.677 +1420 2855 M 22.678 +170 -542 V 22.679 +784 -867 V 22.680 +3986 870 L 22.681 +% End plot #3 22.682 +% Begin plot #4 22.683 +stroke 22.684 +LT8 22.685 +LCb setrgbcolor 22.686 +3711 2322 M 22.687 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 22.688 +] -46.7 MRshow 22.689 +LT8 22.690 +3795 2322 M 22.691 +399 0 V 22.692 +1802 2855 M 22.693 +572 -574 V 22.694 +4007 1207 L 22.695 +% End plot #4 22.696 +stroke 22.697 +1.000 UL 22.698 +LTb 22.699 +686 2855 M 22.700 +686 448 L 22.701 +3381 0 V 22.702 +0 2407 R 22.703 +-3381 0 R 22.704 +1.000 UP 22.705 +686 922 M 22.706 +63 0 V 22.707 +stroke 22.708 +602 922 M 22.709 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 22.710 +] -46.7 MRshow 22.711 +1.000 UL 22.712 +LTb 22.713 +686 1405 M 22.714 +63 0 V 22.715 +stroke 22.716 +602 1405 M 22.717 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 22.718 +] -46.7 MRshow 22.719 +1.000 UL 22.720 +LTb 22.721 +686 1888 M 22.722 +63 0 V 22.723 +stroke 22.724 +602 1888 M 22.725 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 22.726 +] -46.7 MRshow 22.727 +1.000 UL 22.728 +LTb 22.729 +686 2372 M 22.730 +63 0 V 22.731 +stroke 22.732 +602 2372 M 22.733 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 22.734 +] -46.7 MRshow 22.735 +1.000 UL 22.736 +LTb 22.737 +686 2855 M 22.738 +63 0 V 22.739 +stroke 22.740 +602 2855 M 22.741 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 22.742 +] -46.7 MRshow 22.743 +1.000 UL 22.744 +LTb 22.745 +686 448 M 22.746 +0 63 V 22.747 +stroke 22.748 +686 308 M 22.749 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 22.750 +] -46.7 MCshow 22.751 +1.000 UL 22.752 +LTb 22.753 +1109 448 M 22.754 +0 63 V 22.755 +stroke 22.756 +1109 308 M 22.757 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 22.758 +] -46.7 MCshow 22.759 +1.000 UL 22.760 +LTb 22.761 +1531 448 M 22.762 +0 63 V 22.763 +stroke 22.764 +1531 308 M 22.765 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 22.766 +] -46.7 MCshow 22.767 +1.000 UL 22.768 +LTb 22.769 +1954 448 M 22.770 +0 63 V 22.771 +stroke 22.772 +1954 308 M 22.773 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 22.774 +] -46.7 MCshow 22.775 +1.000 UL 22.776 +LTb 22.777 +2377 448 M 22.778 +0 63 V 22.779 +stroke 22.780 +2377 308 M 22.781 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 22.782 +] -46.7 MCshow 22.783 +1.000 UL 22.784 +LTb 22.785 +2799 448 M 22.786 +0 63 V 22.787 +stroke 22.788 +2799 308 M 22.789 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 22.790 +] -46.7 MCshow 22.791 +1.000 UL 22.792 +LTb 22.793 +3222 448 M 22.794 +0 63 V 22.795 +stroke 22.796 +3222 308 M 22.797 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 22.798 +] -46.7 MCshow 22.799 +1.000 UL 22.800 +LTb 22.801 +3644 448 M 22.802 +0 63 V 22.803 +stroke 22.804 +3644 308 M 22.805 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 22.806 +] -46.7 MCshow 22.807 +1.000 UL 22.808 +LTb 22.809 +4067 448 M 22.810 +0 63 V 22.811 +stroke 22.812 +4067 308 M 22.813 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 22.814 +] -46.7 MCshow 22.815 +1.000 UL 22.816 +LTb 22.817 +1.000 UL 22.818 +LTb 22.819 +686 2855 M 22.820 +686 448 L 22.821 +3381 0 V 22.822 +0 2407 R 22.823 +-3381 0 R 22.824 +stroke 22.825 +LCb setrgbcolor 22.826 +112 1651 M 22.827 +currentpoint gsave translate -270 rotate 0 0 moveto 22.828 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 22.829 +] -46.7 MCshow 22.830 +grestore 22.831 +LTb 22.832 +LCb setrgbcolor 22.833 +2376 98 M 22.834 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 22.835 +] -46.7 MCshow 22.836 +LTb 22.837 +1.000 UP 22.838 +1.000 UL 22.839 +LTb 22.840 +LCb setrgbcolor 22.841 +1546 1238 M 22.842 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 22.843 +] -46.7 MCshow 22.844 +LTb 22.845 +1.000 UL 22.846 +LTb 22.847 +801 608 N 22.848 +0 700 V 22.849 +1491 0 V 22.850 +0 -700 V 22.851 +801 608 L 22.852 +Z stroke 22.853 +801 1168 M 22.854 +1491 0 V 22.855 +% Begin plot #1 22.856 +stroke 22.857 +4.000 UL 22.858 +LT0 22.859 +LCb setrgbcolor 22.860 +1725 1098 M 22.861 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 22.862 +] -46.7 MRshow 22.863 +LT0 22.864 +1809 1098 M 22.865 +399 0 V 22.866 +743 626 M 22.867 +22 -61 V 22.868 +39 -36 V 22.869 +75 -37 V 22.870 +154 -17 V 22.871 +303 -13 V 22.872 +609 -7 V 22.873 +1218 -2 V 22.874 +904 -1 V 22.875 +% End plot #1 22.876 +% Begin plot #2 22.877 +stroke 22.878 +LT2 22.879 +LCb setrgbcolor 22.880 +1725 958 M 22.881 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 22.882 +] -46.7 MRshow 22.883 +LT2 22.884 +1809 958 M 22.885 +399 0 V 22.886 +743 575 M 22.887 +24 4 V 22.888 +36 -82 V 22.889 +76 -20 V 22.890 +153 -6 V 22.891 +303 -12 V 22.892 +609 -4 V 22.893 +1217 -4 V 22.894 +906 -1 V 22.895 +% End plot #2 22.896 +% Begin plot #3 22.897 +stroke 22.898 +LT3 22.899 +LCb setrgbcolor 22.900 +1725 818 M 22.901 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 22.902 +] -46.7 MRshow 22.903 +LT3 22.904 +1809 818 M 22.905 +399 0 V 22.906 +742 581 M 22.907 +24 -38 V 22.908 +39 -9 V 22.909 +76 -41 V 22.910 +151 -19 V 22.911 +304 -11 V 22.912 +610 -7 V 22.913 +1216 -5 V 22.914 +905 -1 V 22.915 +% End plot #3 22.916 +% Begin plot #4 22.917 +stroke 22.918 +LT4 22.919 +LCb setrgbcolor 22.920 +1725 678 M 22.921 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 22.922 +] -46.7 MRshow 22.923 +LT4 22.924 +1809 678 M 22.925 +399 0 V 22.926 +743 589 M 22.927 +23 -41 V 22.928 +38 -29 V 22.929 +77 -20 V 22.930 +151 -28 V 22.931 +303 -12 V 22.932 +610 -4 V 22.933 +1217 -4 V 22.934 +905 0 V 22.935 +% End plot #4 22.936 +stroke 22.937 +1.000 UL 22.938 +LTb 22.939 +686 2855 M 22.940 +686 448 L 22.941 +3381 0 V 22.942 +0 2407 R 22.943 +-3381 0 R 22.944 +1.000 UP 22.945 +stroke 22.946 +grestore 22.947 +end 22.948 +showpage 22.949 +%%Trailer 22.950 +%%DocumentFonts: Helvetica 22.951 +%%Pages: 1
23.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 23.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps Sun Mar 11 09:26:44 2012 -0700 23.3 @@ -0,0 +1,884 @@ 23.4 +%!PS-Adobe-2.0 23.5 +%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps 23.6 +%%Creator: gnuplot 4.4 patchlevel 2 23.7 +%%CreationDate: Thu Jan 26 18:45:12 2012 23.8 +%%DocumentFonts: (atend) 23.9 +%%BoundingBox: 251 50 554 482 23.10 +%%Orientation: Landscape 23.11 +%%Pages: (atend) 23.12 +%%EndComments 23.13 +%%BeginProlog 23.14 +/gnudict 256 dict def 23.15 +gnudict begin 23.16 +% 23.17 +% The following true/false flags may be edited by hand if desired. 23.18 +% The unit line width and grayscale image gamma correction may also be changed. 23.19 +% 23.20 +/Color true def 23.21 +/Blacktext false def 23.22 +/Solid false def 23.23 +/Dashlength 1 def 23.24 +/Landscape true def 23.25 +/Level1 false def 23.26 +/Rounded false def 23.27 +/ClipToBoundingBox false def 23.28 +/TransparentPatterns false def 23.29 +/gnulinewidth 5.000 def 23.30 +/userlinewidth gnulinewidth def 23.31 +/Gamma 1.0 def 23.32 +% 23.33 +/vshift -46 def 23.34 +/dl1 { 23.35 + 10.0 Dashlength mul mul 23.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 23.37 +} def 23.38 +/dl2 { 23.39 + 10.0 Dashlength mul mul 23.40 + Rounded { currentlinewidth 0.75 mul add } if 23.41 +} def 23.42 +/hpt_ 31.5 def 23.43 +/vpt_ 31.5 def 23.44 +/hpt hpt_ def 23.45 +/vpt vpt_ def 23.46 +Level1 {} { 23.47 +/SDict 10 dict def 23.48 +systemdict /pdfmark known not { 23.49 + userdict /pdfmark systemdict /cleartomark get put 23.50 +} if 23.51 +SDict begin [ 23.52 + /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps) 23.53 + /Subject (gnuplot plot) 23.54 + /Creator (gnuplot 4.4 patchlevel 2) 23.55 + /Author (msach) 23.56 +% /Producer (gnuplot) 23.57 +% /Keywords () 23.58 + /CreationDate (Thu Jan 26 18:45:12 2012) 23.59 + /DOCINFO pdfmark 23.60 +end 23.61 +} ifelse 23.62 +/doclip { 23.63 + ClipToBoundingBox { 23.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 23.65 + clip 23.66 + } if 23.67 +} def 23.68 +% 23.69 +% Gnuplot Prolog Version 4.4 (August 2010) 23.70 +% 23.71 +%/SuppressPDFMark true def 23.72 +% 23.73 +/M {moveto} bind def 23.74 +/L {lineto} bind def 23.75 +/R {rmoveto} bind def 23.76 +/V {rlineto} bind def 23.77 +/N {newpath moveto} bind def 23.78 +/Z {closepath} bind def 23.79 +/C {setrgbcolor} bind def 23.80 +/f {rlineto fill} bind def 23.81 +/g {setgray} bind def 23.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 23.83 +/vpt2 vpt 2 mul def 23.84 +/hpt2 hpt 2 mul def 23.85 +/Lshow {currentpoint stroke M 0 vshift R 23.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 23.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 23.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 23.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 23.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 23.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 23.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 23.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 23.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 23.95 +/BL {stroke userlinewidth 2 mul setlinewidth 23.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 23.97 +/AL {stroke userlinewidth 2 div setlinewidth 23.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 23.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 23.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 23.101 +/PL {stroke userlinewidth setlinewidth 23.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 23.103 +3.8 setmiterlimit 23.104 +% Default Line colors 23.105 +/LCw {1 1 1} def 23.106 +/LCb {0 0 0} def 23.107 +/LCa {0 0 0} def 23.108 +/LC0 {1 0 0} def 23.109 +/LC1 {0 1 0} def 23.110 +/LC2 {0 0 1} def 23.111 +/LC3 {1 0 1} def 23.112 +/LC4 {0 1 1} def 23.113 +/LC5 {1 1 0} def 23.114 +/LC6 {0 0 0} def 23.115 +/LC7 {1 0.3 0} def 23.116 +/LC8 {0.5 0.5 0.5} def 23.117 +% Default Line Types 23.118 +/LTw {PL [] 1 setgray} def 23.119 +/LTb {BL [] LCb DL} def 23.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 23.121 +/LT0 {PL [] LC0 DL} def 23.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 23.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 23.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 23.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 23.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 23.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 23.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 23.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 23.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 23.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 23.132 + hpt neg vpt neg V hpt vpt neg V 23.133 + hpt vpt V hpt neg vpt V closepath stroke 23.134 + Pnt} def 23.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 23.136 + currentpoint stroke M 23.137 + hpt neg vpt neg R hpt2 0 V stroke 23.138 + } def 23.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 23.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 23.141 + hpt2 neg 0 V closepath stroke 23.142 + Pnt} def 23.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 23.144 + hpt2 vpt2 neg V currentpoint stroke M 23.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 23.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 23.147 + hpt neg vpt -1.62 mul V 23.148 + hpt 2 mul 0 V 23.149 + hpt neg vpt 1.62 mul V closepath stroke 23.150 + Pnt} def 23.151 +/Star {2 copy Pls Crs} def 23.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 23.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 23.154 + hpt2 neg 0 V closepath fill} def 23.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 23.156 + hpt neg vpt -1.62 mul V 23.157 + hpt 2 mul 0 V 23.158 + hpt neg vpt 1.62 mul V closepath fill} def 23.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 23.160 + hpt neg vpt 1.62 mul V 23.161 + hpt 2 mul 0 V 23.162 + hpt neg vpt -1.62 mul V closepath stroke 23.163 + Pnt} def 23.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 23.165 + hpt neg vpt 1.62 mul V 23.166 + hpt 2 mul 0 V 23.167 + hpt neg vpt -1.62 mul V closepath fill} def 23.168 +/DiaF {stroke [] 0 setdash vpt add M 23.169 + hpt neg vpt neg V hpt vpt neg V 23.170 + hpt vpt V hpt neg vpt V closepath fill} def 23.171 +/Pent {stroke [] 0 setdash 2 copy gsave 23.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 23.173 + closepath stroke grestore Pnt} def 23.174 +/PentF {stroke [] 0 setdash gsave 23.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 23.176 + closepath fill grestore} def 23.177 +/Circle {stroke [] 0 setdash 2 copy 23.178 + hpt 0 360 arc stroke Pnt} def 23.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 23.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 23.181 +/C1 {BL [] 0 setdash 2 copy moveto 23.182 + 2 copy vpt 0 90 arc closepath fill 23.183 + vpt 0 360 arc closepath} bind def 23.184 +/C2 {BL [] 0 setdash 2 copy moveto 23.185 + 2 copy vpt 90 180 arc closepath fill 23.186 + vpt 0 360 arc closepath} bind def 23.187 +/C3 {BL [] 0 setdash 2 copy moveto 23.188 + 2 copy vpt 0 180 arc closepath fill 23.189 + vpt 0 360 arc closepath} bind def 23.190 +/C4 {BL [] 0 setdash 2 copy moveto 23.191 + 2 copy vpt 180 270 arc closepath fill 23.192 + vpt 0 360 arc closepath} bind def 23.193 +/C5 {BL [] 0 setdash 2 copy moveto 23.194 + 2 copy vpt 0 90 arc 23.195 + 2 copy moveto 23.196 + 2 copy vpt 180 270 arc closepath fill 23.197 + vpt 0 360 arc} bind def 23.198 +/C6 {BL [] 0 setdash 2 copy moveto 23.199 + 2 copy vpt 90 270 arc closepath fill 23.200 + vpt 0 360 arc closepath} bind def 23.201 +/C7 {BL [] 0 setdash 2 copy moveto 23.202 + 2 copy vpt 0 270 arc closepath fill 23.203 + vpt 0 360 arc closepath} bind def 23.204 +/C8 {BL [] 0 setdash 2 copy moveto 23.205 + 2 copy vpt 270 360 arc closepath fill 23.206 + vpt 0 360 arc closepath} bind def 23.207 +/C9 {BL [] 0 setdash 2 copy moveto 23.208 + 2 copy vpt 270 450 arc closepath fill 23.209 + vpt 0 360 arc closepath} bind def 23.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 23.211 + 2 copy moveto 23.212 + 2 copy vpt 90 180 arc closepath fill 23.213 + vpt 0 360 arc closepath} bind def 23.214 +/C11 {BL [] 0 setdash 2 copy moveto 23.215 + 2 copy vpt 0 180 arc closepath fill 23.216 + 2 copy moveto 23.217 + 2 copy vpt 270 360 arc closepath fill 23.218 + vpt 0 360 arc closepath} bind def 23.219 +/C12 {BL [] 0 setdash 2 copy moveto 23.220 + 2 copy vpt 180 360 arc closepath fill 23.221 + vpt 0 360 arc closepath} bind def 23.222 +/C13 {BL [] 0 setdash 2 copy moveto 23.223 + 2 copy vpt 0 90 arc closepath fill 23.224 + 2 copy moveto 23.225 + 2 copy vpt 180 360 arc closepath fill 23.226 + vpt 0 360 arc closepath} bind def 23.227 +/C14 {BL [] 0 setdash 2 copy moveto 23.228 + 2 copy vpt 90 360 arc closepath fill 23.229 + vpt 0 360 arc} bind def 23.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 23.231 + vpt 0 360 arc closepath} bind def 23.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 23.233 + neg 0 rlineto closepath} bind def 23.234 +/Square {dup Rec} bind def 23.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 23.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 23.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 23.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 23.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 23.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 23.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 23.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 23.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 23.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 23.245 + 2 copy vpt Square fill Bsquare} bind def 23.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 23.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 23.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 23.249 + Bsquare} bind def 23.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 23.251 + Bsquare} bind def 23.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 23.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 23.254 + 2 copy vpt Square fill Bsquare} bind def 23.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 23.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 23.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 23.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 23.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 23.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 23.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 23.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 23.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 23.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 23.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 23.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 23.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 23.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 23.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 23.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 23.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 23.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 23.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 23.274 +/DiaE {stroke [] 0 setdash vpt add M 23.275 + hpt neg vpt neg V hpt vpt neg V 23.276 + hpt vpt V hpt neg vpt V closepath stroke} def 23.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 23.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 23.279 + hpt2 neg 0 V closepath stroke} def 23.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 23.281 + hpt neg vpt -1.62 mul V 23.282 + hpt 2 mul 0 V 23.283 + hpt neg vpt 1.62 mul V closepath stroke} def 23.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 23.285 + hpt neg vpt 1.62 mul V 23.286 + hpt 2 mul 0 V 23.287 + hpt neg vpt -1.62 mul V closepath stroke} def 23.288 +/PentE {stroke [] 0 setdash gsave 23.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 23.290 + closepath stroke grestore} def 23.291 +/CircE {stroke [] 0 setdash 23.292 + hpt 0 360 arc stroke} def 23.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 23.294 +/DiaW {stroke [] 0 setdash vpt add M 23.295 + hpt neg vpt neg V hpt vpt neg V 23.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 23.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 23.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 23.299 + hpt2 neg 0 V Opaque stroke} def 23.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 23.301 + hpt neg vpt -1.62 mul V 23.302 + hpt 2 mul 0 V 23.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 23.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 23.305 + hpt neg vpt 1.62 mul V 23.306 + hpt 2 mul 0 V 23.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 23.308 +/PentW {stroke [] 0 setdash gsave 23.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 23.310 + Opaque stroke grestore} def 23.311 +/CircW {stroke [] 0 setdash 23.312 + hpt 0 360 arc Opaque stroke} def 23.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 23.314 +/Density { 23.315 + /Fillden exch def 23.316 + currentrgbcolor 23.317 + /ColB exch def /ColG exch def /ColR exch def 23.318 + /ColR ColR Fillden mul Fillden sub 1 add def 23.319 + /ColG ColG Fillden mul Fillden sub 1 add def 23.320 + /ColB ColB Fillden mul Fillden sub 1 add def 23.321 + ColR ColG ColB setrgbcolor} def 23.322 +/BoxColFill {gsave Rec PolyFill} def 23.323 +/PolyFill {gsave Density fill grestore grestore} def 23.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 23.325 +% 23.326 +% PostScript Level 1 Pattern Fill routine for rectangles 23.327 +% Usage: x y w h s a XX PatternFill 23.328 +% x,y = lower left corner of box to be filled 23.329 +% w,h = width and height of box 23.330 +% a = angle in degrees between lines and x-axis 23.331 +% XX = 0/1 for no/yes cross-hatch 23.332 +% 23.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 23.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 23.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 23.336 + gsave 1 setgray fill grestore clip 23.337 + currentlinewidth 0.5 mul setlinewidth 23.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 23.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 23.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 23.341 + {PFa 4 get mul 0 M 0 PFs V} for 23.342 + 0 PFa 6 get ne { 23.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 23.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 23.345 + } if 23.346 + stroke grestore} def 23.347 +% 23.348 +/languagelevel where 23.349 + {pop languagelevel} {1} ifelse 23.350 + 2 lt 23.351 + {/InterpretLevel1 true def} 23.352 + {/InterpretLevel1 Level1 def} 23.353 + ifelse 23.354 +% 23.355 +% PostScript level 2 pattern fill definitions 23.356 +% 23.357 +/Level2PatternFill { 23.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 23.359 + bind def 23.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 23.361 +<< Tile8x8 23.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 23.363 +>> matrix makepattern 23.364 +/Pat1 exch def 23.365 +<< Tile8x8 23.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 23.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 23.368 +>> matrix makepattern 23.369 +/Pat2 exch def 23.370 +<< Tile8x8 23.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 23.372 + 8 8 L 8 0 L 0 0 L fill} 23.373 +>> matrix makepattern 23.374 +/Pat3 exch def 23.375 +<< Tile8x8 23.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 23.377 + 0 12 M 12 0 L stroke} 23.378 +>> matrix makepattern 23.379 +/Pat4 exch def 23.380 +<< Tile8x8 23.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 23.382 + 0 -4 M 12 8 L stroke} 23.383 +>> matrix makepattern 23.384 +/Pat5 exch def 23.385 +<< Tile8x8 23.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 23.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 23.388 +>> matrix makepattern 23.389 +/Pat6 exch def 23.390 +<< Tile8x8 23.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 23.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 23.393 +>> matrix makepattern 23.394 +/Pat7 exch def 23.395 +<< Tile8x8 23.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 23.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 23.398 +>> matrix makepattern 23.399 +/Pat8 exch def 23.400 +<< Tile8x8 23.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 23.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 23.403 +>> matrix makepattern 23.404 +/Pat9 exch def 23.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 23.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 23.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 23.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 23.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 23.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 23.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 23.412 +} def 23.413 +% 23.414 +% 23.415 +%End of PostScript Level 2 code 23.416 +% 23.417 +/PatternBgnd { 23.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 23.419 +} def 23.420 +% 23.421 +% Substitute for Level 2 pattern fill codes with 23.422 +% grayscale if Level 2 support is not selected. 23.423 +% 23.424 +/Level1PatternFill { 23.425 +/Pattern1 {0.250 Density} bind def 23.426 +/Pattern2 {0.500 Density} bind def 23.427 +/Pattern3 {0.750 Density} bind def 23.428 +/Pattern4 {0.125 Density} bind def 23.429 +/Pattern5 {0.375 Density} bind def 23.430 +/Pattern6 {0.625 Density} bind def 23.431 +/Pattern7 {0.875 Density} bind def 23.432 +} def 23.433 +% 23.434 +% Now test for support of Level 2 code 23.435 +% 23.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 23.437 +% 23.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 23.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 23.440 +currentdict end definefont pop 23.441 +/MFshow { 23.442 + { dup 5 get 3 ge 23.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 23.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 23.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 23.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 23.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 23.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 23.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 23.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 23.451 + pop aload pop M} ifelse }ifelse }ifelse } 23.452 + ifelse } 23.453 + forall} def 23.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 23.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 23.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 23.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 23.458 +/MLshow { currentpoint stroke M 23.459 + 0 exch R 23.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 23.461 +/MRshow { currentpoint stroke M 23.462 + exch dup MFwidth neg 3 -1 roll R 23.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 23.464 +/MCshow { currentpoint stroke M 23.465 + exch dup MFwidth -2 div 3 -1 roll R 23.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 23.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 23.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 23.469 +end 23.470 +%%EndProlog 23.471 +%%Page: 1 1 23.472 +gnudict begin 23.473 +gsave 23.474 +doclip 23.475 +50 50 translate 23.476 +0.100 0.100 scale 23.477 +90 rotate 23.478 +0 -5040 translate 23.479 +0 setgray 23.480 +newpath 23.481 +(Helvetica) findfont 140 scalefont setfont 23.482 +1.000 UL 23.483 +LTb 23.484 +686 922 M 23.485 +63 0 V 23.486 +stroke 23.487 +602 922 M 23.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 23.489 +] -46.7 MRshow 23.490 +1.000 UL 23.491 +LTb 23.492 +686 1405 M 23.493 +63 0 V 23.494 +stroke 23.495 +602 1405 M 23.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 23.497 +] -46.7 MRshow 23.498 +1.000 UL 23.499 +LTb 23.500 +686 1888 M 23.501 +63 0 V 23.502 +stroke 23.503 +602 1888 M 23.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 23.505 +] -46.7 MRshow 23.506 +1.000 UL 23.507 +LTb 23.508 +686 2372 M 23.509 +63 0 V 23.510 +stroke 23.511 +602 2372 M 23.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 23.513 +] -46.7 MRshow 23.514 +1.000 UL 23.515 +LTb 23.516 +686 2855 M 23.517 +63 0 V 23.518 +stroke 23.519 +602 2855 M 23.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 23.521 +] -46.7 MRshow 23.522 +1.000 UL 23.523 +LTb 23.524 +686 448 M 23.525 +0 63 V 23.526 +stroke 23.527 +686 308 M 23.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 23.529 +] -46.7 MCshow 23.530 +1.000 UL 23.531 +LTb 23.532 +1159 448 M 23.533 +0 63 V 23.534 +stroke 23.535 +1159 308 M 23.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 23.537 +] -46.7 MCshow 23.538 +1.000 UL 23.539 +LTb 23.540 +1631 448 M 23.541 +0 63 V 23.542 +stroke 23.543 +1631 308 M 23.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 23.545 +] -46.7 MCshow 23.546 +1.000 UL 23.547 +LTb 23.548 +2104 448 M 23.549 +0 63 V 23.550 +stroke 23.551 +2104 308 M 23.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 23.553 +] -46.7 MCshow 23.554 +1.000 UL 23.555 +LTb 23.556 +2576 448 M 23.557 +0 63 V 23.558 +stroke 23.559 +2576 308 M 23.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 23.561 +] -46.7 MCshow 23.562 +1.000 UL 23.563 +LTb 23.564 +1.000 UL 23.565 +LTb 23.566 +686 2855 M 23.567 +686 448 L 23.568 +1890 0 V 23.569 +0 2407 R 23.570 +-1890 0 R 23.571 +stroke 23.572 +LCb setrgbcolor 23.573 +112 1651 M 23.574 +currentpoint gsave translate -270 rotate 0 0 moveto 23.575 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 23.576 +] -46.7 MCshow 23.577 +grestore 23.578 +LTb 23.579 +LCb setrgbcolor 23.580 +1631 98 M 23.581 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 23.582 +] -46.7 MCshow 23.583 +LTb 23.584 +1.000 UP 23.585 +1.000 UL 23.586 +LTb 23.587 +LCb setrgbcolor 23.588 +3489 2785 M 23.589 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 23.590 +] -46.7 MCshow 23.591 +LTb 23.592 +1.000 UL 23.593 +LTb 23.594 +2744 2155 N 23.595 +0 700 V 23.596 +1491 0 V 23.597 +0 -700 V 23.598 +-1491 0 V 23.599 +Z stroke 23.600 +2744 2715 M 23.601 +1491 0 V 23.602 +% Begin plot #1 23.603 +stroke 23.604 +4.000 UL 23.605 +LT5 23.606 +LC7 setrgbcolor 23.607 +LCb setrgbcolor 23.608 +3668 2645 M 23.609 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 23.610 +] -46.7 MRshow 23.611 +LT5 23.612 +LC7 setrgbcolor 23.613 +3752 2645 M 23.614 +399 0 V 23.615 +1272 2855 M 23.616 +371 -919 V 23.617 +933 -698 V 23.618 +% End plot #1 23.619 +% Begin plot #2 23.620 +stroke 23.621 +LT6 23.622 +LCb setrgbcolor 23.623 +3668 2505 M 23.624 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 23.625 +] -46.7 MRshow 23.626 +LT6 23.627 +3752 2505 M 23.628 +399 0 V 23.629 +1280 2855 M 23.630 +1731 1723 L 23.631 +845 -658 V 23.632 +% End plot #2 23.633 +% Begin plot #3 23.634 +stroke 23.635 +LT7 23.636 +LC1 setrgbcolor 23.637 +LCb setrgbcolor 23.638 +3668 2365 M 23.639 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 23.640 +] -46.7 MRshow 23.641 +LT7 23.642 +LC1 setrgbcolor 23.643 +3752 2365 M 23.644 +399 0 V 23.645 +1096 2855 M 23.646 +95 -542 V 23.647 +439 -867 V 23.648 +2531 870 L 23.649 +% End plot #3 23.650 +% Begin plot #4 23.651 +stroke 23.652 +LT8 23.653 +LCb setrgbcolor 23.654 +3668 2225 M 23.655 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 23.656 +] -46.7 MRshow 23.657 +LT8 23.658 +3752 2225 M 23.659 +399 0 V 23.660 +1310 2855 M 23.661 +320 -574 V 23.662 +2543 1207 L 23.663 +% End plot #4 23.664 +stroke 23.665 +1.000 UL 23.666 +LTb 23.667 +686 2855 M 23.668 +686 448 L 23.669 +1890 0 V 23.670 +0 2407 R 23.671 +-1890 0 R 23.672 +1.000 UP 23.673 +686 922 M 23.674 +63 0 V 23.675 +stroke 23.676 +602 922 M 23.677 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 23.678 +] -46.7 MRshow 23.679 +1.000 UL 23.680 +LTb 23.681 +686 1405 M 23.682 +63 0 V 23.683 +stroke 23.684 +602 1405 M 23.685 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 23.686 +] -46.7 MRshow 23.687 +1.000 UL 23.688 +LTb 23.689 +686 1888 M 23.690 +63 0 V 23.691 +stroke 23.692 +602 1888 M 23.693 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 23.694 +] -46.7 MRshow 23.695 +1.000 UL 23.696 +LTb 23.697 +686 2372 M 23.698 +63 0 V 23.699 +stroke 23.700 +602 2372 M 23.701 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 23.702 +] -46.7 MRshow 23.703 +1.000 UL 23.704 +LTb 23.705 +686 2855 M 23.706 +63 0 V 23.707 +stroke 23.708 +602 2855 M 23.709 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 23.710 +] -46.7 MRshow 23.711 +1.000 UL 23.712 +LTb 23.713 +686 448 M 23.714 +0 63 V 23.715 +stroke 23.716 +686 308 M 23.717 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 23.718 +] -46.7 MCshow 23.719 +1.000 UL 23.720 +LTb 23.721 +1159 448 M 23.722 +0 63 V 23.723 +stroke 23.724 +1159 308 M 23.725 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 23.726 +] -46.7 MCshow 23.727 +1.000 UL 23.728 +LTb 23.729 +1631 448 M 23.730 +0 63 V 23.731 +stroke 23.732 +1631 308 M 23.733 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 23.734 +] -46.7 MCshow 23.735 +1.000 UL 23.736 +LTb 23.737 +2104 448 M 23.738 +0 63 V 23.739 +stroke 23.740 +2104 308 M 23.741 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 23.742 +] -46.7 MCshow 23.743 +1.000 UL 23.744 +LTb 23.745 +2576 448 M 23.746 +0 63 V 23.747 +stroke 23.748 +2576 308 M 23.749 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 23.750 +] -46.7 MCshow 23.751 +1.000 UL 23.752 +LTb 23.753 +1.000 UL 23.754 +LTb 23.755 +686 2855 M 23.756 +686 448 L 23.757 +1890 0 V 23.758 +0 2407 R 23.759 +-1890 0 R 23.760 +stroke 23.761 +LCb setrgbcolor 23.762 +112 1651 M 23.763 +currentpoint gsave translate -270 rotate 0 0 moveto 23.764 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 23.765 +] -46.7 MCshow 23.766 +grestore 23.767 +LTb 23.768 +LCb setrgbcolor 23.769 +1631 98 M 23.770 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 23.771 +] -46.7 MCshow 23.772 +LTb 23.773 +1.000 UP 23.774 +1.000 UL 23.775 +LTb 23.776 +LCb setrgbcolor 23.777 +3489 1931 M 23.778 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 23.779 +] -46.7 MCshow 23.780 +LTb 23.781 +1.000 UL 23.782 +LTb 23.783 +2744 1301 N 23.784 +0 700 V 23.785 +1491 0 V 23.786 +0 -700 V 23.787 +-1491 0 V 23.788 +Z stroke 23.789 +2744 1861 M 23.790 +1491 0 V 23.791 +% Begin plot #1 23.792 +stroke 23.793 +4.000 UL 23.794 +LT0 23.795 +LCb setrgbcolor 23.796 +3668 1791 M 23.797 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 23.798 +] -46.7 MRshow 23.799 +LT0 23.800 +3752 1791 M 23.801 +399 0 V 23.802 +718 626 M 23.803 +12 -61 V 23.804 +22 -36 V 23.805 +42 -37 V 23.806 +86 -17 V 23.807 +169 -13 V 23.808 +341 -7 V 23.809 +681 -2 V 23.810 +505 -1 V 23.811 +% End plot #1 23.812 +% Begin plot #2 23.813 +stroke 23.814 +LT2 23.815 +LCb setrgbcolor 23.816 +3668 1651 M 23.817 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 23.818 +] -46.7 MRshow 23.819 +LT2 23.820 +3752 1651 M 23.821 +399 0 V 23.822 +718 575 M 23.823 +13 4 V 23.824 +20 -82 V 23.825 +43 -20 V 23.826 +85 -6 V 23.827 +170 -12 V 23.828 +340 -4 V 23.829 +681 -4 V 23.830 +506 -1 V 23.831 +% End plot #2 23.832 +% Begin plot #3 23.833 +stroke 23.834 +LT3 23.835 +LCb setrgbcolor 23.836 +3668 1511 M 23.837 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 23.838 +] -46.7 MRshow 23.839 +LT3 23.840 +3752 1511 M 23.841 +399 0 V 23.842 +717 581 M 23.843 +13 -38 V 23.844 +23 -9 V 23.845 +42 -41 V 23.846 +85 -19 V 23.847 +169 -11 V 23.848 +341 -7 V 23.849 +680 -5 V 23.850 +506 -1 V 23.851 +% End plot #3 23.852 +% Begin plot #4 23.853 +stroke 23.854 +LT4 23.855 +LCb setrgbcolor 23.856 +3668 1371 M 23.857 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 23.858 +] -46.7 MRshow 23.859 +LT4 23.860 +3752 1371 M 23.861 +399 0 V 23.862 +718 589 M 23.863 +13 -41 V 23.864 +21 -29 V 23.865 +43 -20 V 23.866 +85 -28 V 23.867 +169 -12 V 23.868 +341 -4 V 23.869 +680 -4 V 23.870 +506 0 V 23.871 +% End plot #4 23.872 +stroke 23.873 +1.000 UL 23.874 +LTb 23.875 +686 2855 M 23.876 +686 448 L 23.877 +1890 0 V 23.878 +0 2407 R 23.879 +-1890 0 R 23.880 +1.000 UP 23.881 +stroke 23.882 +grestore 23.883 +end 23.884 +showpage 23.885 +%%Trailer 23.886 +%%DocumentFonts: Helvetica 23.887 +%%Pages: 1
24.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 24.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps Sun Mar 11 09:26:44 2012 -0700 24.3 @@ -0,0 +1,948 @@ 24.4 +%!PS-Adobe-2.0 24.5 +%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps 24.6 +%%Creator: gnuplot 4.4 patchlevel 2 24.7 +%%CreationDate: Thu Jan 26 18:32:06 2012 24.8 +%%DocumentFonts: (atend) 24.9 +%%BoundingBox: 251 50 554 482 24.10 +%%Orientation: Landscape 24.11 +%%Pages: (atend) 24.12 +%%EndComments 24.13 +%%BeginProlog 24.14 +/gnudict 256 dict def 24.15 +gnudict begin 24.16 +% 24.17 +% The following true/false flags may be edited by hand if desired. 24.18 +% The unit line width and grayscale image gamma correction may also be changed. 24.19 +% 24.20 +/Color true def 24.21 +/Blacktext false def 24.22 +/Solid false def 24.23 +/Dashlength 1 def 24.24 +/Landscape true def 24.25 +/Level1 false def 24.26 +/Rounded false def 24.27 +/ClipToBoundingBox false def 24.28 +/TransparentPatterns false def 24.29 +/gnulinewidth 5.000 def 24.30 +/userlinewidth gnulinewidth def 24.31 +/Gamma 1.0 def 24.32 +% 24.33 +/vshift -46 def 24.34 +/dl1 { 24.35 + 10.0 Dashlength mul mul 24.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 24.37 +} def 24.38 +/dl2 { 24.39 + 10.0 Dashlength mul mul 24.40 + Rounded { currentlinewidth 0.75 mul add } if 24.41 +} def 24.42 +/hpt_ 31.5 def 24.43 +/vpt_ 31.5 def 24.44 +/hpt hpt_ def 24.45 +/vpt vpt_ def 24.46 +Level1 {} { 24.47 +/SDict 10 dict def 24.48 +systemdict /pdfmark known not { 24.49 + userdict /pdfmark systemdict /cleartomark get put 24.50 +} if 24.51 +SDict begin [ 24.52 + /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps) 24.53 + /Subject (gnuplot plot) 24.54 + /Creator (gnuplot 4.4 patchlevel 2) 24.55 + /Author (msach) 24.56 +% /Producer (gnuplot) 24.57 +% /Keywords () 24.58 + /CreationDate (Thu Jan 26 18:32:06 2012) 24.59 + /DOCINFO pdfmark 24.60 +end 24.61 +} ifelse 24.62 +/doclip { 24.63 + ClipToBoundingBox { 24.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 24.65 + clip 24.66 + } if 24.67 +} def 24.68 +% 24.69 +% Gnuplot Prolog Version 4.4 (August 2010) 24.70 +% 24.71 +%/SuppressPDFMark true def 24.72 +% 24.73 +/M {moveto} bind def 24.74 +/L {lineto} bind def 24.75 +/R {rmoveto} bind def 24.76 +/V {rlineto} bind def 24.77 +/N {newpath moveto} bind def 24.78 +/Z {closepath} bind def 24.79 +/C {setrgbcolor} bind def 24.80 +/f {rlineto fill} bind def 24.81 +/g {setgray} bind def 24.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 24.83 +/vpt2 vpt 2 mul def 24.84 +/hpt2 hpt 2 mul def 24.85 +/Lshow {currentpoint stroke M 0 vshift R 24.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 24.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 24.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 24.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 24.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 24.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 24.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 24.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 24.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 24.95 +/BL {stroke userlinewidth 2 mul setlinewidth 24.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 24.97 +/AL {stroke userlinewidth 2 div setlinewidth 24.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 24.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 24.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 24.101 +/PL {stroke userlinewidth setlinewidth 24.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 24.103 +3.8 setmiterlimit 24.104 +% Default Line colors 24.105 +/LCw {1 1 1} def 24.106 +/LCb {0 0 0} def 24.107 +/LCa {0 0 0} def 24.108 +/LC0 {1 0 0} def 24.109 +/LC1 {0 1 0} def 24.110 +/LC2 {0 0 1} def 24.111 +/LC3 {1 0 1} def 24.112 +/LC4 {0 1 1} def 24.113 +/LC5 {1 1 0} def 24.114 +/LC6 {0 0 0} def 24.115 +/LC7 {1 0.3 0} def 24.116 +/LC8 {0.5 0.5 0.5} def 24.117 +% Default Line Types 24.118 +/LTw {PL [] 1 setgray} def 24.119 +/LTb {BL [] LCb DL} def 24.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 24.121 +/LT0 {PL [] LC0 DL} def 24.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 24.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 24.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 24.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 24.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 24.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 24.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 24.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 24.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 24.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 24.132 + hpt neg vpt neg V hpt vpt neg V 24.133 + hpt vpt V hpt neg vpt V closepath stroke 24.134 + Pnt} def 24.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 24.136 + currentpoint stroke M 24.137 + hpt neg vpt neg R hpt2 0 V stroke 24.138 + } def 24.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 24.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 24.141 + hpt2 neg 0 V closepath stroke 24.142 + Pnt} def 24.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 24.144 + hpt2 vpt2 neg V currentpoint stroke M 24.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 24.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 24.147 + hpt neg vpt -1.62 mul V 24.148 + hpt 2 mul 0 V 24.149 + hpt neg vpt 1.62 mul V closepath stroke 24.150 + Pnt} def 24.151 +/Star {2 copy Pls Crs} def 24.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 24.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 24.154 + hpt2 neg 0 V closepath fill} def 24.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 24.156 + hpt neg vpt -1.62 mul V 24.157 + hpt 2 mul 0 V 24.158 + hpt neg vpt 1.62 mul V closepath fill} def 24.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 24.160 + hpt neg vpt 1.62 mul V 24.161 + hpt 2 mul 0 V 24.162 + hpt neg vpt -1.62 mul V closepath stroke 24.163 + Pnt} def 24.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 24.165 + hpt neg vpt 1.62 mul V 24.166 + hpt 2 mul 0 V 24.167 + hpt neg vpt -1.62 mul V closepath fill} def 24.168 +/DiaF {stroke [] 0 setdash vpt add M 24.169 + hpt neg vpt neg V hpt vpt neg V 24.170 + hpt vpt V hpt neg vpt V closepath fill} def 24.171 +/Pent {stroke [] 0 setdash 2 copy gsave 24.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 24.173 + closepath stroke grestore Pnt} def 24.174 +/PentF {stroke [] 0 setdash gsave 24.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 24.176 + closepath fill grestore} def 24.177 +/Circle {stroke [] 0 setdash 2 copy 24.178 + hpt 0 360 arc stroke Pnt} def 24.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 24.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 24.181 +/C1 {BL [] 0 setdash 2 copy moveto 24.182 + 2 copy vpt 0 90 arc closepath fill 24.183 + vpt 0 360 arc closepath} bind def 24.184 +/C2 {BL [] 0 setdash 2 copy moveto 24.185 + 2 copy vpt 90 180 arc closepath fill 24.186 + vpt 0 360 arc closepath} bind def 24.187 +/C3 {BL [] 0 setdash 2 copy moveto 24.188 + 2 copy vpt 0 180 arc closepath fill 24.189 + vpt 0 360 arc closepath} bind def 24.190 +/C4 {BL [] 0 setdash 2 copy moveto 24.191 + 2 copy vpt 180 270 arc closepath fill 24.192 + vpt 0 360 arc closepath} bind def 24.193 +/C5 {BL [] 0 setdash 2 copy moveto 24.194 + 2 copy vpt 0 90 arc 24.195 + 2 copy moveto 24.196 + 2 copy vpt 180 270 arc closepath fill 24.197 + vpt 0 360 arc} bind def 24.198 +/C6 {BL [] 0 setdash 2 copy moveto 24.199 + 2 copy vpt 90 270 arc closepath fill 24.200 + vpt 0 360 arc closepath} bind def 24.201 +/C7 {BL [] 0 setdash 2 copy moveto 24.202 + 2 copy vpt 0 270 arc closepath fill 24.203 + vpt 0 360 arc closepath} bind def 24.204 +/C8 {BL [] 0 setdash 2 copy moveto 24.205 + 2 copy vpt 270 360 arc closepath fill 24.206 + vpt 0 360 arc closepath} bind def 24.207 +/C9 {BL [] 0 setdash 2 copy moveto 24.208 + 2 copy vpt 270 450 arc closepath fill 24.209 + vpt 0 360 arc closepath} bind def 24.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 24.211 + 2 copy moveto 24.212 + 2 copy vpt 90 180 arc closepath fill 24.213 + vpt 0 360 arc closepath} bind def 24.214 +/C11 {BL [] 0 setdash 2 copy moveto 24.215 + 2 copy vpt 0 180 arc closepath fill 24.216 + 2 copy moveto 24.217 + 2 copy vpt 270 360 arc closepath fill 24.218 + vpt 0 360 arc closepath} bind def 24.219 +/C12 {BL [] 0 setdash 2 copy moveto 24.220 + 2 copy vpt 180 360 arc closepath fill 24.221 + vpt 0 360 arc closepath} bind def 24.222 +/C13 {BL [] 0 setdash 2 copy moveto 24.223 + 2 copy vpt 0 90 arc closepath fill 24.224 + 2 copy moveto 24.225 + 2 copy vpt 180 360 arc closepath fill 24.226 + vpt 0 360 arc closepath} bind def 24.227 +/C14 {BL [] 0 setdash 2 copy moveto 24.228 + 2 copy vpt 90 360 arc closepath fill 24.229 + vpt 0 360 arc} bind def 24.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 24.231 + vpt 0 360 arc closepath} bind def 24.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 24.233 + neg 0 rlineto closepath} bind def 24.234 +/Square {dup Rec} bind def 24.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 24.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 24.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 24.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 24.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 24.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 24.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 24.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 24.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 24.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 24.245 + 2 copy vpt Square fill Bsquare} bind def 24.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 24.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 24.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 24.249 + Bsquare} bind def 24.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 24.251 + Bsquare} bind def 24.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 24.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 24.254 + 2 copy vpt Square fill Bsquare} bind def 24.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 24.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 24.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 24.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 24.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 24.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 24.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 24.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 24.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 24.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 24.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 24.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 24.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 24.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 24.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 24.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 24.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 24.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 24.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 24.274 +/DiaE {stroke [] 0 setdash vpt add M 24.275 + hpt neg vpt neg V hpt vpt neg V 24.276 + hpt vpt V hpt neg vpt V closepath stroke} def 24.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 24.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 24.279 + hpt2 neg 0 V closepath stroke} def 24.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 24.281 + hpt neg vpt -1.62 mul V 24.282 + hpt 2 mul 0 V 24.283 + hpt neg vpt 1.62 mul V closepath stroke} def 24.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 24.285 + hpt neg vpt 1.62 mul V 24.286 + hpt 2 mul 0 V 24.287 + hpt neg vpt -1.62 mul V closepath stroke} def 24.288 +/PentE {stroke [] 0 setdash gsave 24.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 24.290 + closepath stroke grestore} def 24.291 +/CircE {stroke [] 0 setdash 24.292 + hpt 0 360 arc stroke} def 24.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 24.294 +/DiaW {stroke [] 0 setdash vpt add M 24.295 + hpt neg vpt neg V hpt vpt neg V 24.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 24.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 24.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 24.299 + hpt2 neg 0 V Opaque stroke} def 24.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 24.301 + hpt neg vpt -1.62 mul V 24.302 + hpt 2 mul 0 V 24.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 24.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 24.305 + hpt neg vpt 1.62 mul V 24.306 + hpt 2 mul 0 V 24.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 24.308 +/PentW {stroke [] 0 setdash gsave 24.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 24.310 + Opaque stroke grestore} def 24.311 +/CircW {stroke [] 0 setdash 24.312 + hpt 0 360 arc Opaque stroke} def 24.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 24.314 +/Density { 24.315 + /Fillden exch def 24.316 + currentrgbcolor 24.317 + /ColB exch def /ColG exch def /ColR exch def 24.318 + /ColR ColR Fillden mul Fillden sub 1 add def 24.319 + /ColG ColG Fillden mul Fillden sub 1 add def 24.320 + /ColB ColB Fillden mul Fillden sub 1 add def 24.321 + ColR ColG ColB setrgbcolor} def 24.322 +/BoxColFill {gsave Rec PolyFill} def 24.323 +/PolyFill {gsave Density fill grestore grestore} def 24.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 24.325 +% 24.326 +% PostScript Level 1 Pattern Fill routine for rectangles 24.327 +% Usage: x y w h s a XX PatternFill 24.328 +% x,y = lower left corner of box to be filled 24.329 +% w,h = width and height of box 24.330 +% a = angle in degrees between lines and x-axis 24.331 +% XX = 0/1 for no/yes cross-hatch 24.332 +% 24.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 24.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 24.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 24.336 + gsave 1 setgray fill grestore clip 24.337 + currentlinewidth 0.5 mul setlinewidth 24.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 24.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 24.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 24.341 + {PFa 4 get mul 0 M 0 PFs V} for 24.342 + 0 PFa 6 get ne { 24.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 24.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 24.345 + } if 24.346 + stroke grestore} def 24.347 +% 24.348 +/languagelevel where 24.349 + {pop languagelevel} {1} ifelse 24.350 + 2 lt 24.351 + {/InterpretLevel1 true def} 24.352 + {/InterpretLevel1 Level1 def} 24.353 + ifelse 24.354 +% 24.355 +% PostScript level 2 pattern fill definitions 24.356 +% 24.357 +/Level2PatternFill { 24.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 24.359 + bind def 24.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 24.361 +<< Tile8x8 24.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 24.363 +>> matrix makepattern 24.364 +/Pat1 exch def 24.365 +<< Tile8x8 24.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 24.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 24.368 +>> matrix makepattern 24.369 +/Pat2 exch def 24.370 +<< Tile8x8 24.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 24.372 + 8 8 L 8 0 L 0 0 L fill} 24.373 +>> matrix makepattern 24.374 +/Pat3 exch def 24.375 +<< Tile8x8 24.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 24.377 + 0 12 M 12 0 L stroke} 24.378 +>> matrix makepattern 24.379 +/Pat4 exch def 24.380 +<< Tile8x8 24.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 24.382 + 0 -4 M 12 8 L stroke} 24.383 +>> matrix makepattern 24.384 +/Pat5 exch def 24.385 +<< Tile8x8 24.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 24.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 24.388 +>> matrix makepattern 24.389 +/Pat6 exch def 24.390 +<< Tile8x8 24.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 24.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 24.393 +>> matrix makepattern 24.394 +/Pat7 exch def 24.395 +<< Tile8x8 24.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 24.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 24.398 +>> matrix makepattern 24.399 +/Pat8 exch def 24.400 +<< Tile8x8 24.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 24.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 24.403 +>> matrix makepattern 24.404 +/Pat9 exch def 24.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 24.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 24.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 24.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 24.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 24.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 24.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 24.412 +} def 24.413 +% 24.414 +% 24.415 +%End of PostScript Level 2 code 24.416 +% 24.417 +/PatternBgnd { 24.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 24.419 +} def 24.420 +% 24.421 +% Substitute for Level 2 pattern fill codes with 24.422 +% grayscale if Level 2 support is not selected. 24.423 +% 24.424 +/Level1PatternFill { 24.425 +/Pattern1 {0.250 Density} bind def 24.426 +/Pattern2 {0.500 Density} bind def 24.427 +/Pattern3 {0.750 Density} bind def 24.428 +/Pattern4 {0.125 Density} bind def 24.429 +/Pattern5 {0.375 Density} bind def 24.430 +/Pattern6 {0.625 Density} bind def 24.431 +/Pattern7 {0.875 Density} bind def 24.432 +} def 24.433 +% 24.434 +% Now test for support of Level 2 code 24.435 +% 24.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 24.437 +% 24.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 24.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 24.440 +currentdict end definefont pop 24.441 +/MFshow { 24.442 + { dup 5 get 3 ge 24.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 24.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 24.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 24.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 24.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 24.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 24.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 24.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 24.451 + pop aload pop M} ifelse }ifelse }ifelse } 24.452 + ifelse } 24.453 + forall} def 24.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 24.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 24.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 24.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 24.458 +/MLshow { currentpoint stroke M 24.459 + 0 exch R 24.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 24.461 +/MRshow { currentpoint stroke M 24.462 + exch dup MFwidth neg 3 -1 roll R 24.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 24.464 +/MCshow { currentpoint stroke M 24.465 + exch dup MFwidth -2 div 3 -1 roll R 24.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 24.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 24.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 24.469 +end 24.470 +%%EndProlog 24.471 +%%Page: 1 1 24.472 +gnudict begin 24.473 +gsave 24.474 +doclip 24.475 +50 50 translate 24.476 +0.100 0.100 scale 24.477 +90 rotate 24.478 +0 -5040 translate 24.479 +0 setgray 24.480 +newpath 24.481 +(Helvetica) findfont 140 scalefont setfont 24.482 +1.000 UL 24.483 +LTb 24.484 +686 922 M 24.485 +63 0 V 24.486 +stroke 24.487 +602 922 M 24.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 24.489 +] -46.7 MRshow 24.490 +1.000 UL 24.491 +LTb 24.492 +686 1405 M 24.493 +63 0 V 24.494 +stroke 24.495 +602 1405 M 24.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 24.497 +] -46.7 MRshow 24.498 +1.000 UL 24.499 +LTb 24.500 +686 1888 M 24.501 +63 0 V 24.502 +stroke 24.503 +602 1888 M 24.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 24.505 +] -46.7 MRshow 24.506 +1.000 UL 24.507 +LTb 24.508 +686 2372 M 24.509 +63 0 V 24.510 +stroke 24.511 +602 2372 M 24.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 24.513 +] -46.7 MRshow 24.514 +1.000 UL 24.515 +LTb 24.516 +686 2855 M 24.517 +63 0 V 24.518 +stroke 24.519 +602 2855 M 24.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 24.521 +] -46.7 MRshow 24.522 +1.000 UL 24.523 +LTb 24.524 +686 448 M 24.525 +0 63 V 24.526 +stroke 24.527 +686 308 M 24.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 24.529 +] -46.7 MCshow 24.530 +1.000 UL 24.531 +LTb 24.532 +1109 448 M 24.533 +0 63 V 24.534 +stroke 24.535 +1109 308 M 24.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 24.537 +] -46.7 MCshow 24.538 +1.000 UL 24.539 +LTb 24.540 +1531 448 M 24.541 +0 63 V 24.542 +stroke 24.543 +1531 308 M 24.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 24.545 +] -46.7 MCshow 24.546 +1.000 UL 24.547 +LTb 24.548 +1954 448 M 24.549 +0 63 V 24.550 +stroke 24.551 +1954 308 M 24.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 24.553 +] -46.7 MCshow 24.554 +1.000 UL 24.555 +LTb 24.556 +2377 448 M 24.557 +0 63 V 24.558 +stroke 24.559 +2377 308 M 24.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 24.561 +] -46.7 MCshow 24.562 +1.000 UL 24.563 +LTb 24.564 +2799 448 M 24.565 +0 63 V 24.566 +stroke 24.567 +2799 308 M 24.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 24.569 +] -46.7 MCshow 24.570 +1.000 UL 24.571 +LTb 24.572 +3222 448 M 24.573 +0 63 V 24.574 +stroke 24.575 +3222 308 M 24.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 24.577 +] -46.7 MCshow 24.578 +1.000 UL 24.579 +LTb 24.580 +3644 448 M 24.581 +0 63 V 24.582 +stroke 24.583 +3644 308 M 24.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 24.585 +] -46.7 MCshow 24.586 +1.000 UL 24.587 +LTb 24.588 +4067 448 M 24.589 +0 63 V 24.590 +stroke 24.591 +4067 308 M 24.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 24.593 +] -46.7 MCshow 24.594 +1.000 UL 24.595 +LTb 24.596 +1.000 UL 24.597 +LTb 24.598 +686 2855 M 24.599 +686 448 L 24.600 +3381 0 V 24.601 +0 2407 R 24.602 +-3381 0 R 24.603 +stroke 24.604 +LCb setrgbcolor 24.605 +112 1651 M 24.606 +currentpoint gsave translate -270 rotate 0 0 moveto 24.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 24.608 +] -46.7 MCshow 24.609 +grestore 24.610 +LTb 24.611 +LCb setrgbcolor 24.612 +2376 98 M 24.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 24.614 +] -46.7 MCshow 24.615 +LTb 24.616 +1.000 UP 24.617 +1.000 UL 24.618 +LTb 24.619 +LCb setrgbcolor 24.620 +3532 2882 M 24.621 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 24.622 +] -46.7 MCshow 24.623 +LTb 24.624 +1.000 UL 24.625 +LTb 24.626 +2787 2252 N 24.627 +0 700 V 24.628 +1491 0 V 24.629 +0 -700 V 24.630 +-1491 0 V 24.631 +Z stroke 24.632 +2787 2812 M 24.633 +1491 0 V 24.634 +% Begin plot #1 24.635 +stroke 24.636 +4.000 UL 24.637 +LT5 24.638 +LC7 setrgbcolor 24.639 +LCb setrgbcolor 24.640 +3711 2742 M 24.641 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 24.642 +] -46.7 MRshow 24.643 +LT5 24.644 +LC7 setrgbcolor 24.645 +3795 2742 M 24.646 +399 0 V 24.647 +1735 2855 M 24.648 +662 -919 V 24.649 +4067 1238 L 24.650 +% End plot #1 24.651 +% Begin plot #2 24.652 +stroke 24.653 +LT6 24.654 +LCb setrgbcolor 24.655 +3711 2602 M 24.656 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 24.657 +] -46.7 MRshow 24.658 +LT6 24.659 +3795 2602 M 24.660 +399 0 V 24.661 +1748 2855 M 24.662 +2555 1723 L 24.663 +4067 1065 L 24.664 +% End plot #2 24.665 +% Begin plot #3 24.666 +stroke 24.667 +LT7 24.668 +LC1 setrgbcolor 24.669 +LCb setrgbcolor 24.670 +3711 2462 M 24.671 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 24.672 +] -46.7 MRshow 24.673 +LT7 24.674 +LC1 setrgbcolor 24.675 +3795 2462 M 24.676 +399 0 V 24.677 +1420 2855 M 24.678 +170 -542 V 24.679 +784 -867 V 24.680 +3986 870 L 24.681 +% End plot #3 24.682 +% Begin plot #4 24.683 +stroke 24.684 +LT8 24.685 +LCb setrgbcolor 24.686 +3711 2322 M 24.687 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 24.688 +] -46.7 MRshow 24.689 +LT8 24.690 +3795 2322 M 24.691 +399 0 V 24.692 +1802 2855 M 24.693 +572 -574 V 24.694 +4007 1207 L 24.695 +% End plot #4 24.696 +stroke 24.697 +1.000 UL 24.698 +LTb 24.699 +686 2855 M 24.700 +686 448 L 24.701 +3381 0 V 24.702 +0 2407 R 24.703 +-3381 0 R 24.704 +1.000 UP 24.705 +686 922 M 24.706 +63 0 V 24.707 +stroke 24.708 +602 922 M 24.709 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 24.710 +] -46.7 MRshow 24.711 +1.000 UL 24.712 +LTb 24.713 +686 1405 M 24.714 +63 0 V 24.715 +stroke 24.716 +602 1405 M 24.717 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 24.718 +] -46.7 MRshow 24.719 +1.000 UL 24.720 +LTb 24.721 +686 1888 M 24.722 +63 0 V 24.723 +stroke 24.724 +602 1888 M 24.725 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 24.726 +] -46.7 MRshow 24.727 +1.000 UL 24.728 +LTb 24.729 +686 2372 M 24.730 +63 0 V 24.731 +stroke 24.732 +602 2372 M 24.733 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 24.734 +] -46.7 MRshow 24.735 +1.000 UL 24.736 +LTb 24.737 +686 2855 M 24.738 +63 0 V 24.739 +stroke 24.740 +602 2855 M 24.741 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 24.742 +] -46.7 MRshow 24.743 +1.000 UL 24.744 +LTb 24.745 +686 448 M 24.746 +0 63 V 24.747 +stroke 24.748 +686 308 M 24.749 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 24.750 +] -46.7 MCshow 24.751 +1.000 UL 24.752 +LTb 24.753 +1109 448 M 24.754 +0 63 V 24.755 +stroke 24.756 +1109 308 M 24.757 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 24.758 +] -46.7 MCshow 24.759 +1.000 UL 24.760 +LTb 24.761 +1531 448 M 24.762 +0 63 V 24.763 +stroke 24.764 +1531 308 M 24.765 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 24.766 +] -46.7 MCshow 24.767 +1.000 UL 24.768 +LTb 24.769 +1954 448 M 24.770 +0 63 V 24.771 +stroke 24.772 +1954 308 M 24.773 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 24.774 +] -46.7 MCshow 24.775 +1.000 UL 24.776 +LTb 24.777 +2377 448 M 24.778 +0 63 V 24.779 +stroke 24.780 +2377 308 M 24.781 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 24.782 +] -46.7 MCshow 24.783 +1.000 UL 24.784 +LTb 24.785 +2799 448 M 24.786 +0 63 V 24.787 +stroke 24.788 +2799 308 M 24.789 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 24.790 +] -46.7 MCshow 24.791 +1.000 UL 24.792 +LTb 24.793 +3222 448 M 24.794 +0 63 V 24.795 +stroke 24.796 +3222 308 M 24.797 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 24.798 +] -46.7 MCshow 24.799 +1.000 UL 24.800 +LTb 24.801 +3644 448 M 24.802 +0 63 V 24.803 +stroke 24.804 +3644 308 M 24.805 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 24.806 +] -46.7 MCshow 24.807 +1.000 UL 24.808 +LTb 24.809 +4067 448 M 24.810 +0 63 V 24.811 +stroke 24.812 +4067 308 M 24.813 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 24.814 +] -46.7 MCshow 24.815 +1.000 UL 24.816 +LTb 24.817 +1.000 UL 24.818 +LTb 24.819 +686 2855 M 24.820 +686 448 L 24.821 +3381 0 V 24.822 +0 2407 R 24.823 +-3381 0 R 24.824 +stroke 24.825 +LCb setrgbcolor 24.826 +112 1651 M 24.827 +currentpoint gsave translate -270 rotate 0 0 moveto 24.828 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 24.829 +] -46.7 MCshow 24.830 +grestore 24.831 +LTb 24.832 +LCb setrgbcolor 24.833 +2376 98 M 24.834 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 24.835 +] -46.7 MCshow 24.836 +LTb 24.837 +1.000 UP 24.838 +1.000 UL 24.839 +LTb 24.840 +LCb setrgbcolor 24.841 +3532 2108 M 24.842 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 24.843 +] -46.7 MCshow 24.844 +LTb 24.845 +1.000 UL 24.846 +LTb 24.847 +2787 1478 N 24.848 +0 700 V 24.849 +1491 0 V 24.850 +0 -700 V 24.851 +-1491 0 V 24.852 +Z stroke 24.853 +2787 2038 M 24.854 +1491 0 V 24.855 +% Begin plot #1 24.856 +stroke 24.857 +4.000 UL 24.858 +LT0 24.859 +LCb setrgbcolor 24.860 +3711 1968 M 24.861 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 24.862 +] -46.7 MRshow 24.863 +LT0 24.864 +3795 1968 M 24.865 +399 0 V 24.866 +743 626 M 24.867 +22 -61 V 24.868 +39 -36 V 24.869 +75 -37 V 24.870 +154 -17 V 24.871 +303 -13 V 24.872 +609 -7 V 24.873 +1218 -2 V 24.874 +904 -1 V 24.875 +% End plot #1 24.876 +% Begin plot #2 24.877 +stroke 24.878 +LT2 24.879 +LCb setrgbcolor 24.880 +3711 1828 M 24.881 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 24.882 +] -46.7 MRshow 24.883 +LT2 24.884 +3795 1828 M 24.885 +399 0 V 24.886 +743 575 M 24.887 +24 4 V 24.888 +36 -82 V 24.889 +76 -20 V 24.890 +153 -6 V 24.891 +303 -12 V 24.892 +609 -4 V 24.893 +1217 -4 V 24.894 +906 -1 V 24.895 +% End plot #2 24.896 +% Begin plot #3 24.897 +stroke 24.898 +LT3 24.899 +LCb setrgbcolor 24.900 +3711 1688 M 24.901 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 24.902 +] -46.7 MRshow 24.903 +LT3 24.904 +3795 1688 M 24.905 +399 0 V 24.906 +742 581 M 24.907 +24 -38 V 24.908 +39 -9 V 24.909 +76 -41 V 24.910 +151 -19 V 24.911 +304 -11 V 24.912 +610 -7 V 24.913 +1216 -5 V 24.914 +905 -1 V 24.915 +% End plot #3 24.916 +% Begin plot #4 24.917 +stroke 24.918 +LT4 24.919 +LCb setrgbcolor 24.920 +3711 1548 M 24.921 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 24.922 +] -46.7 MRshow 24.923 +LT4 24.924 +3795 1548 M 24.925 +399 0 V 24.926 +743 589 M 24.927 +23 -41 V 24.928 +38 -29 V 24.929 +77 -20 V 24.930 +151 -28 V 24.931 +303 -12 V 24.932 +610 -4 V 24.933 +1217 -4 V 24.934 +905 0 V 24.935 +% End plot #4 24.936 +stroke 24.937 +1.000 UL 24.938 +LTb 24.939 +686 2855 M 24.940 +686 448 L 24.941 +3381 0 V 24.942 +0 2407 R 24.943 +-3381 0 R 24.944 +1.000 UP 24.945 +stroke 24.946 +grestore 24.947 +end 24.948 +showpage 24.949 +%%Trailer 24.950 +%%DocumentFonts: Helvetica 24.951 +%%Pages: 1
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 25.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps Sun Mar 11 09:26:44 2012 -0700 25.3 @@ -0,0 +1,844 @@ 25.4 +%!PS-Adobe-2.0 25.5 +%%Title: xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps 25.6 +%%Creator: gnuplot 4.4 patchlevel 2 25.7 +%%CreationDate: Thu Jan 26 18:23:52 2012 25.8 +%%DocumentFonts: (atend) 25.9 +%%BoundingBox: 251 50 554 482 25.10 +%%Orientation: Landscape 25.11 +%%Pages: (atend) 25.12 +%%EndComments 25.13 +%%BeginProlog 25.14 +/gnudict 256 dict def 25.15 +gnudict begin 25.16 +% 25.17 +% The following true/false flags may be edited by hand if desired. 25.18 +% The unit line width and grayscale image gamma correction may also be changed. 25.19 +% 25.20 +/Color true def 25.21 +/Blacktext false def 25.22 +/Solid false def 25.23 +/Dashlength 1 def 25.24 +/Landscape true def 25.25 +/Level1 false def 25.26 +/Rounded false def 25.27 +/ClipToBoundingBox false def 25.28 +/TransparentPatterns false def 25.29 +/gnulinewidth 5.000 def 25.30 +/userlinewidth gnulinewidth def 25.31 +/Gamma 1.0 def 25.32 +% 25.33 +/vshift -46 def 25.34 +/dl1 { 25.35 + 10.0 Dashlength mul mul 25.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 25.37 +} def 25.38 +/dl2 { 25.39 + 10.0 Dashlength mul mul 25.40 + Rounded { currentlinewidth 0.75 mul add } if 25.41 +} def 25.42 +/hpt_ 31.5 def 25.43 +/vpt_ 31.5 def 25.44 +/hpt hpt_ def 25.45 +/vpt vpt_ def 25.46 +Level1 {} { 25.47 +/SDict 10 dict def 25.48 +systemdict /pdfmark known not { 25.49 + userdict /pdfmark systemdict /cleartomark get put 25.50 +} if 25.51 +SDict begin [ 25.52 + /Title (xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 25.53 + /Subject (gnuplot plot) 25.54 + /Creator (gnuplot 4.4 patchlevel 2) 25.55 + /Author (msach) 25.56 +% /Producer (gnuplot) 25.57 +% /Keywords () 25.58 + /CreationDate (Thu Jan 26 18:23:52 2012) 25.59 + /DOCINFO pdfmark 25.60 +end 25.61 +} ifelse 25.62 +/doclip { 25.63 + ClipToBoundingBox { 25.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 25.65 + clip 25.66 + } if 25.67 +} def 25.68 +% 25.69 +% Gnuplot Prolog Version 4.4 (August 2010) 25.70 +% 25.71 +%/SuppressPDFMark true def 25.72 +% 25.73 +/M {moveto} bind def 25.74 +/L {lineto} bind def 25.75 +/R {rmoveto} bind def 25.76 +/V {rlineto} bind def 25.77 +/N {newpath moveto} bind def 25.78 +/Z {closepath} bind def 25.79 +/C {setrgbcolor} bind def 25.80 +/f {rlineto fill} bind def 25.81 +/g {setgray} bind def 25.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 25.83 +/vpt2 vpt 2 mul def 25.84 +/hpt2 hpt 2 mul def 25.85 +/Lshow {currentpoint stroke M 0 vshift R 25.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 25.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 25.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 25.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 25.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 25.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 25.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 25.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 25.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 25.95 +/BL {stroke userlinewidth 2 mul setlinewidth 25.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 25.97 +/AL {stroke userlinewidth 2 div setlinewidth 25.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 25.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 25.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 25.101 +/PL {stroke userlinewidth setlinewidth 25.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 25.103 +3.8 setmiterlimit 25.104 +% Default Line colors 25.105 +/LCw {1 1 1} def 25.106 +/LCb {0 0 0} def 25.107 +/LCa {0 0 0} def 25.108 +/LC0 {1 0 0} def 25.109 +/LC1 {0 1 0} def 25.110 +/LC2 {0 0 1} def 25.111 +/LC3 {1 0 1} def 25.112 +/LC4 {0 1 1} def 25.113 +/LC5 {1 1 0} def 25.114 +/LC6 {0 0 0} def 25.115 +/LC7 {1 0.3 0} def 25.116 +/LC8 {0.5 0.5 0.5} def 25.117 +% Default Line Types 25.118 +/LTw {PL [] 1 setgray} def 25.119 +/LTb {BL [] LCb DL} def 25.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 25.121 +/LT0 {PL [] LC0 DL} def 25.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 25.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 25.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 25.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 25.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 25.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 25.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 25.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 25.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 25.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 25.132 + hpt neg vpt neg V hpt vpt neg V 25.133 + hpt vpt V hpt neg vpt V closepath stroke 25.134 + Pnt} def 25.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 25.136 + currentpoint stroke M 25.137 + hpt neg vpt neg R hpt2 0 V stroke 25.138 + } def 25.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 25.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 25.141 + hpt2 neg 0 V closepath stroke 25.142 + Pnt} def 25.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 25.144 + hpt2 vpt2 neg V currentpoint stroke M 25.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 25.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 25.147 + hpt neg vpt -1.62 mul V 25.148 + hpt 2 mul 0 V 25.149 + hpt neg vpt 1.62 mul V closepath stroke 25.150 + Pnt} def 25.151 +/Star {2 copy Pls Crs} def 25.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 25.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 25.154 + hpt2 neg 0 V closepath fill} def 25.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 25.156 + hpt neg vpt -1.62 mul V 25.157 + hpt 2 mul 0 V 25.158 + hpt neg vpt 1.62 mul V closepath fill} def 25.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 25.160 + hpt neg vpt 1.62 mul V 25.161 + hpt 2 mul 0 V 25.162 + hpt neg vpt -1.62 mul V closepath stroke 25.163 + Pnt} def 25.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 25.165 + hpt neg vpt 1.62 mul V 25.166 + hpt 2 mul 0 V 25.167 + hpt neg vpt -1.62 mul V closepath fill} def 25.168 +/DiaF {stroke [] 0 setdash vpt add M 25.169 + hpt neg vpt neg V hpt vpt neg V 25.170 + hpt vpt V hpt neg vpt V closepath fill} def 25.171 +/Pent {stroke [] 0 setdash 2 copy gsave 25.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 25.173 + closepath stroke grestore Pnt} def 25.174 +/PentF {stroke [] 0 setdash gsave 25.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 25.176 + closepath fill grestore} def 25.177 +/Circle {stroke [] 0 setdash 2 copy 25.178 + hpt 0 360 arc stroke Pnt} def 25.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 25.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 25.181 +/C1 {BL [] 0 setdash 2 copy moveto 25.182 + 2 copy vpt 0 90 arc closepath fill 25.183 + vpt 0 360 arc closepath} bind def 25.184 +/C2 {BL [] 0 setdash 2 copy moveto 25.185 + 2 copy vpt 90 180 arc closepath fill 25.186 + vpt 0 360 arc closepath} bind def 25.187 +/C3 {BL [] 0 setdash 2 copy moveto 25.188 + 2 copy vpt 0 180 arc closepath fill 25.189 + vpt 0 360 arc closepath} bind def 25.190 +/C4 {BL [] 0 setdash 2 copy moveto 25.191 + 2 copy vpt 180 270 arc closepath fill 25.192 + vpt 0 360 arc closepath} bind def 25.193 +/C5 {BL [] 0 setdash 2 copy moveto 25.194 + 2 copy vpt 0 90 arc 25.195 + 2 copy moveto 25.196 + 2 copy vpt 180 270 arc closepath fill 25.197 + vpt 0 360 arc} bind def 25.198 +/C6 {BL [] 0 setdash 2 copy moveto 25.199 + 2 copy vpt 90 270 arc closepath fill 25.200 + vpt 0 360 arc closepath} bind def 25.201 +/C7 {BL [] 0 setdash 2 copy moveto 25.202 + 2 copy vpt 0 270 arc closepath fill 25.203 + vpt 0 360 arc closepath} bind def 25.204 +/C8 {BL [] 0 setdash 2 copy moveto 25.205 + 2 copy vpt 270 360 arc closepath fill 25.206 + vpt 0 360 arc closepath} bind def 25.207 +/C9 {BL [] 0 setdash 2 copy moveto 25.208 + 2 copy vpt 270 450 arc closepath fill 25.209 + vpt 0 360 arc closepath} bind def 25.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 25.211 + 2 copy moveto 25.212 + 2 copy vpt 90 180 arc closepath fill 25.213 + vpt 0 360 arc closepath} bind def 25.214 +/C11 {BL [] 0 setdash 2 copy moveto 25.215 + 2 copy vpt 0 180 arc closepath fill 25.216 + 2 copy moveto 25.217 + 2 copy vpt 270 360 arc closepath fill 25.218 + vpt 0 360 arc closepath} bind def 25.219 +/C12 {BL [] 0 setdash 2 copy moveto 25.220 + 2 copy vpt 180 360 arc closepath fill 25.221 + vpt 0 360 arc closepath} bind def 25.222 +/C13 {BL [] 0 setdash 2 copy moveto 25.223 + 2 copy vpt 0 90 arc closepath fill 25.224 + 2 copy moveto 25.225 + 2 copy vpt 180 360 arc closepath fill 25.226 + vpt 0 360 arc closepath} bind def 25.227 +/C14 {BL [] 0 setdash 2 copy moveto 25.228 + 2 copy vpt 90 360 arc closepath fill 25.229 + vpt 0 360 arc} bind def 25.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 25.231 + vpt 0 360 arc closepath} bind def 25.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 25.233 + neg 0 rlineto closepath} bind def 25.234 +/Square {dup Rec} bind def 25.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 25.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 25.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 25.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 25.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 25.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 25.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 25.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 25.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 25.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 25.245 + 2 copy vpt Square fill Bsquare} bind def 25.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 25.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 25.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 25.249 + Bsquare} bind def 25.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 25.251 + Bsquare} bind def 25.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 25.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 25.254 + 2 copy vpt Square fill Bsquare} bind def 25.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 25.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 25.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 25.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 25.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 25.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 25.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 25.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 25.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 25.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 25.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 25.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 25.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 25.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 25.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 25.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 25.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 25.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 25.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 25.274 +/DiaE {stroke [] 0 setdash vpt add M 25.275 + hpt neg vpt neg V hpt vpt neg V 25.276 + hpt vpt V hpt neg vpt V closepath stroke} def 25.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 25.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 25.279 + hpt2 neg 0 V closepath stroke} def 25.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 25.281 + hpt neg vpt -1.62 mul V 25.282 + hpt 2 mul 0 V 25.283 + hpt neg vpt 1.62 mul V closepath stroke} def 25.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 25.285 + hpt neg vpt 1.62 mul V 25.286 + hpt 2 mul 0 V 25.287 + hpt neg vpt -1.62 mul V closepath stroke} def 25.288 +/PentE {stroke [] 0 setdash gsave 25.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 25.290 + closepath stroke grestore} def 25.291 +/CircE {stroke [] 0 setdash 25.292 + hpt 0 360 arc stroke} def 25.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 25.294 +/DiaW {stroke [] 0 setdash vpt add M 25.295 + hpt neg vpt neg V hpt vpt neg V 25.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 25.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 25.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 25.299 + hpt2 neg 0 V Opaque stroke} def 25.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 25.301 + hpt neg vpt -1.62 mul V 25.302 + hpt 2 mul 0 V 25.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 25.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 25.305 + hpt neg vpt 1.62 mul V 25.306 + hpt 2 mul 0 V 25.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 25.308 +/PentW {stroke [] 0 setdash gsave 25.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 25.310 + Opaque stroke grestore} def 25.311 +/CircW {stroke [] 0 setdash 25.312 + hpt 0 360 arc Opaque stroke} def 25.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 25.314 +/Density { 25.315 + /Fillden exch def 25.316 + currentrgbcolor 25.317 + /ColB exch def /ColG exch def /ColR exch def 25.318 + /ColR ColR Fillden mul Fillden sub 1 add def 25.319 + /ColG ColG Fillden mul Fillden sub 1 add def 25.320 + /ColB ColB Fillden mul Fillden sub 1 add def 25.321 + ColR ColG ColB setrgbcolor} def 25.322 +/BoxColFill {gsave Rec PolyFill} def 25.323 +/PolyFill {gsave Density fill grestore grestore} def 25.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 25.325 +% 25.326 +% PostScript Level 1 Pattern Fill routine for rectangles 25.327 +% Usage: x y w h s a XX PatternFill 25.328 +% x,y = lower left corner of box to be filled 25.329 +% w,h = width and height of box 25.330 +% a = angle in degrees between lines and x-axis 25.331 +% XX = 0/1 for no/yes cross-hatch 25.332 +% 25.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 25.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 25.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 25.336 + gsave 1 setgray fill grestore clip 25.337 + currentlinewidth 0.5 mul setlinewidth 25.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 25.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 25.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 25.341 + {PFa 4 get mul 0 M 0 PFs V} for 25.342 + 0 PFa 6 get ne { 25.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 25.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 25.345 + } if 25.346 + stroke grestore} def 25.347 +% 25.348 +/languagelevel where 25.349 + {pop languagelevel} {1} ifelse 25.350 + 2 lt 25.351 + {/InterpretLevel1 true def} 25.352 + {/InterpretLevel1 Level1 def} 25.353 + ifelse 25.354 +% 25.355 +% PostScript level 2 pattern fill definitions 25.356 +% 25.357 +/Level2PatternFill { 25.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 25.359 + bind def 25.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 25.361 +<< Tile8x8 25.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 25.363 +>> matrix makepattern 25.364 +/Pat1 exch def 25.365 +<< Tile8x8 25.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 25.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 25.368 +>> matrix makepattern 25.369 +/Pat2 exch def 25.370 +<< Tile8x8 25.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 25.372 + 8 8 L 8 0 L 0 0 L fill} 25.373 +>> matrix makepattern 25.374 +/Pat3 exch def 25.375 +<< Tile8x8 25.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 25.377 + 0 12 M 12 0 L stroke} 25.378 +>> matrix makepattern 25.379 +/Pat4 exch def 25.380 +<< Tile8x8 25.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 25.382 + 0 -4 M 12 8 L stroke} 25.383 +>> matrix makepattern 25.384 +/Pat5 exch def 25.385 +<< Tile8x8 25.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 25.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 25.388 +>> matrix makepattern 25.389 +/Pat6 exch def 25.390 +<< Tile8x8 25.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 25.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 25.393 +>> matrix makepattern 25.394 +/Pat7 exch def 25.395 +<< Tile8x8 25.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 25.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 25.398 +>> matrix makepattern 25.399 +/Pat8 exch def 25.400 +<< Tile8x8 25.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 25.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 25.403 +>> matrix makepattern 25.404 +/Pat9 exch def 25.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 25.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 25.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 25.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 25.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 25.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 25.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 25.412 +} def 25.413 +% 25.414 +% 25.415 +%End of PostScript Level 2 code 25.416 +% 25.417 +/PatternBgnd { 25.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 25.419 +} def 25.420 +% 25.421 +% Substitute for Level 2 pattern fill codes with 25.422 +% grayscale if Level 2 support is not selected. 25.423 +% 25.424 +/Level1PatternFill { 25.425 +/Pattern1 {0.250 Density} bind def 25.426 +/Pattern2 {0.500 Density} bind def 25.427 +/Pattern3 {0.750 Density} bind def 25.428 +/Pattern4 {0.125 Density} bind def 25.429 +/Pattern5 {0.375 Density} bind def 25.430 +/Pattern6 {0.625 Density} bind def 25.431 +/Pattern7 {0.875 Density} bind def 25.432 +} def 25.433 +% 25.434 +% Now test for support of Level 2 code 25.435 +% 25.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 25.437 +% 25.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 25.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 25.440 +currentdict end definefont pop 25.441 +/MFshow { 25.442 + { dup 5 get 3 ge 25.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 25.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 25.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 25.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 25.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 25.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 25.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 25.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 25.451 + pop aload pop M} ifelse }ifelse }ifelse } 25.452 + ifelse } 25.453 + forall} def 25.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 25.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 25.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 25.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 25.458 +/MLshow { currentpoint stroke M 25.459 + 0 exch R 25.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 25.461 +/MRshow { currentpoint stroke M 25.462 + exch dup MFwidth neg 3 -1 roll R 25.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 25.464 +/MCshow { currentpoint stroke M 25.465 + exch dup MFwidth -2 div 3 -1 roll R 25.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 25.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 25.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 25.469 +end 25.470 +%%EndProlog 25.471 +%%Page: 1 1 25.472 +gnudict begin 25.473 +gsave 25.474 +doclip 25.475 +50 50 translate 25.476 +0.100 0.100 scale 25.477 +90 rotate 25.478 +0 -5040 translate 25.479 +0 setgray 25.480 +newpath 25.481 +(Helvetica) findfont 140 scalefont setfont 25.482 +1.000 UL 25.483 +LTb 25.484 +518 448 M 25.485 +63 0 V 25.486 +stroke 25.487 +434 448 M 25.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 25.489 +] -46.7 MRshow 25.490 +1.000 UL 25.491 +LTb 25.492 +518 792 M 25.493 +63 0 V 25.494 +stroke 25.495 +434 792 M 25.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 25.497 +] -46.7 MRshow 25.498 +1.000 UL 25.499 +LTb 25.500 +518 1136 M 25.501 +63 0 V 25.502 +stroke 25.503 +434 1136 M 25.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 25.505 +] -46.7 MRshow 25.506 +1.000 UL 25.507 +LTb 25.508 +518 1480 M 25.509 +63 0 V 25.510 +stroke 25.511 +434 1480 M 25.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 25.513 +] -46.7 MRshow 25.514 +1.000 UL 25.515 +LTb 25.516 +518 1823 M 25.517 +63 0 V 25.518 +stroke 25.519 +434 1823 M 25.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 25.521 +] -46.7 MRshow 25.522 +1.000 UL 25.523 +LTb 25.524 +518 2167 M 25.525 +63 0 V 25.526 +stroke 25.527 +434 2167 M 25.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 25.529 +] -46.7 MRshow 25.530 +1.000 UL 25.531 +LTb 25.532 +518 2511 M 25.533 +63 0 V 25.534 +stroke 25.535 +434 2511 M 25.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 25.537 +] -46.7 MRshow 25.538 +1.000 UL 25.539 +LTb 25.540 +518 2855 M 25.541 +63 0 V 25.542 +stroke 25.543 +434 2855 M 25.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 25.545 +] -46.7 MRshow 25.546 +1.000 UL 25.547 +LTb 25.548 +518 448 M 25.549 +0 63 V 25.550 +stroke 25.551 +518 308 M 25.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 25.553 +] -46.7 MCshow 25.554 +1.000 UL 25.555 +LTb 25.556 +962 448 M 25.557 +0 63 V 25.558 +stroke 25.559 +962 308 M 25.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 25.561 +] -46.7 MCshow 25.562 +1.000 UL 25.563 +LTb 25.564 +1405 448 M 25.565 +0 63 V 25.566 +stroke 25.567 +1405 308 M 25.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 25.569 +] -46.7 MCshow 25.570 +1.000 UL 25.571 +LTb 25.572 +1849 448 M 25.573 +0 63 V 25.574 +stroke 25.575 +1849 308 M 25.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 25.577 +] -46.7 MCshow 25.578 +1.000 UL 25.579 +LTb 25.580 +2293 448 M 25.581 +0 63 V 25.582 +stroke 25.583 +2293 308 M 25.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 25.585 +] -46.7 MCshow 25.586 +1.000 UL 25.587 +LTb 25.588 +2736 448 M 25.589 +0 63 V 25.590 +stroke 25.591 +2736 308 M 25.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 25.593 +] -46.7 MCshow 25.594 +1.000 UL 25.595 +LTb 25.596 +3180 448 M 25.597 +0 63 V 25.598 +stroke 25.599 +3180 308 M 25.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 25.601 +] -46.7 MCshow 25.602 +1.000 UL 25.603 +LTb 25.604 +3623 448 M 25.605 +0 63 V 25.606 +stroke 25.607 +3623 308 M 25.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 25.609 +] -46.7 MCshow 25.610 +1.000 UL 25.611 +LTb 25.612 +4067 448 M 25.613 +0 63 V 25.614 +stroke 25.615 +4067 308 M 25.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 25.617 +] -46.7 MCshow 25.618 +1.000 UL 25.619 +LTb 25.620 +1.000 UL 25.621 +LTb 25.622 +518 2855 M 25.623 +518 448 L 25.624 +3549 0 V 25.625 +0 2407 R 25.626 +-3549 0 R 25.627 +stroke 25.628 +LCb setrgbcolor 25.629 +112 1651 M 25.630 +currentpoint gsave translate -270 rotate 0 0 moveto 25.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 25.632 +] -46.7 MCshow 25.633 +grestore 25.634 +LTb 25.635 +LCb setrgbcolor 25.636 +2292 98 M 25.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 25.638 +] -46.7 MCshow 25.639 +LTb 25.640 +1.000 UP 25.641 +1.000 UL 25.642 +LTb 25.643 +1.000 UL 25.644 +LTb 25.645 +2492 2232 N 25.646 +0 560 V 25.647 +1491 0 V 25.648 +0 -560 V 25.649 +-1491 0 V 25.650 +Z stroke 25.651 +2492 2792 M 25.652 +1491 0 V 25.653 +% Begin plot #1 25.654 +stroke 25.655 +4.000 UL 25.656 +LT1 25.657 +LCa setrgbcolor 25.658 +518 792 M 25.659 +36 0 V 25.660 +36 0 V 25.661 +36 0 V 25.662 +35 0 V 25.663 +36 0 V 25.664 +36 0 V 25.665 +36 0 V 25.666 +36 0 V 25.667 +36 0 V 25.668 +35 0 V 25.669 +36 0 V 25.670 +36 0 V 25.671 +36 0 V 25.672 +36 0 V 25.673 +36 0 V 25.674 +36 0 V 25.675 +35 0 V 25.676 +36 0 V 25.677 +36 0 V 25.678 +36 0 V 25.679 +36 0 V 25.680 +36 0 V 25.681 +36 0 V 25.682 +35 0 V 25.683 +36 0 V 25.684 +36 0 V 25.685 +36 0 V 25.686 +36 0 V 25.687 +36 0 V 25.688 +35 0 V 25.689 +36 0 V 25.690 +36 0 V 25.691 +36 0 V 25.692 +36 0 V 25.693 +36 0 V 25.694 +36 0 V 25.695 +35 0 V 25.696 +36 0 V 25.697 +36 0 V 25.698 +36 0 V 25.699 +36 0 V 25.700 +36 0 V 25.701 +35 0 V 25.702 +36 0 V 25.703 +36 0 V 25.704 +36 0 V 25.705 +36 0 V 25.706 +36 0 V 25.707 +36 0 V 25.708 +35 0 V 25.709 +36 0 V 25.710 +36 0 V 25.711 +36 0 V 25.712 +36 0 V 25.713 +36 0 V 25.714 +36 0 V 25.715 +35 0 V 25.716 +36 0 V 25.717 +36 0 V 25.718 +36 0 V 25.719 +36 0 V 25.720 +36 0 V 25.721 +35 0 V 25.722 +36 0 V 25.723 +36 0 V 25.724 +36 0 V 25.725 +36 0 V 25.726 +36 0 V 25.727 +36 0 V 25.728 +35 0 V 25.729 +36 0 V 25.730 +36 0 V 25.731 +36 0 V 25.732 +36 0 V 25.733 +36 0 V 25.734 +35 0 V 25.735 +36 0 V 25.736 +36 0 V 25.737 +36 0 V 25.738 +36 0 V 25.739 +36 0 V 25.740 +36 0 V 25.741 +35 0 V 25.742 +36 0 V 25.743 +36 0 V 25.744 +36 0 V 25.745 +36 0 V 25.746 +36 0 V 25.747 +36 0 V 25.748 +35 0 V 25.749 +36 0 V 25.750 +36 0 V 25.751 +36 0 V 25.752 +36 0 V 25.753 +36 0 V 25.754 +35 0 V 25.755 +36 0 V 25.756 +36 0 V 25.757 +36 0 V 25.758 +% End plot #1 25.759 +% Begin plot #2 25.760 +stroke 25.761 +LT1 25.762 +LCb setrgbcolor 25.763 +3416 2722 M 25.764 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 25.765 +] -46.7 MRshow 25.766 +LT1 25.767 +3500 2722 M 25.768 +399 0 V 25.769 +670 2855 M 25.770 +51 -852 V 25.771 +882 1405 L 25.772 +1200 930 L 25.773 +1839 705 L 25.774 +3118 625 L 25.775 +949 -39 V 25.776 +% End plot #2 25.777 +% Begin plot #3 25.778 +stroke 25.779 +LT2 25.780 +LCb setrgbcolor 25.781 +3416 2582 M 25.782 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 25.783 +] -46.7 MRshow 25.784 +LT2 25.785 +3500 2582 M 25.786 +399 0 V 25.787 +632 2855 M 25.788 +8 -651 V 25.789 +80 -714 V 25.790 +881 1280 L 25.791 +1200 856 L 25.792 +1839 682 L 25.793 +3116 544 L 25.794 +951 -19 V 25.795 +% End plot #3 25.796 +% Begin plot #4 25.797 +stroke 25.798 +LT3 25.799 +LCb setrgbcolor 25.800 +3416 2442 M 25.801 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 25.802 +] -46.7 MRshow 25.803 +LT3 25.804 +3500 2442 M 25.805 +399 0 V 25.806 +678 2855 M 25.807 +45 -823 V 25.808 +882 1374 L 25.809 +1200 997 L 25.810 +1840 716 L 25.811 +3117 544 L 25.812 +950 -16 V 25.813 +% End plot #4 25.814 +% Begin plot #5 25.815 +stroke 25.816 +LT4 25.817 +LCb setrgbcolor 25.818 +3416 2302 M 25.819 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 25.820 +] -46.7 MRshow 25.821 +LT4 25.822 +3500 2302 M 25.823 +399 0 V 25.824 +656 2855 M 25.825 +67 -607 V 25.826 +881 1260 L 25.827 +1200 822 L 25.828 +1840 687 L 25.829 +3117 564 L 25.830 +950 -21 V 25.831 +% End plot #5 25.832 +stroke 25.833 +1.000 UL 25.834 +LTb 25.835 +518 2855 M 25.836 +518 448 L 25.837 +3549 0 V 25.838 +0 2407 R 25.839 +-3549 0 R 25.840 +1.000 UP 25.841 +stroke 25.842 +grestore 25.843 +end 25.844 +showpage 25.845 +%%Trailer 25.846 +%%DocumentFonts: Helvetica 25.847 +%%Pages: 1
26.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 26.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps Sun Mar 11 09:26:44 2012 -0700 26.3 @@ -0,0 +1,821 @@ 26.4 +%!PS-Adobe-2.0 26.5 +%%Title: xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps 26.6 +%%Creator: gnuplot 4.4 patchlevel 2 26.7 +%%CreationDate: Thu Jan 26 18:25:10 2012 26.8 +%%DocumentFonts: (atend) 26.9 +%%BoundingBox: 251 50 554 482 26.10 +%%Orientation: Landscape 26.11 +%%Pages: (atend) 26.12 +%%EndComments 26.13 +%%BeginProlog 26.14 +/gnudict 256 dict def 26.15 +gnudict begin 26.16 +% 26.17 +% The following true/false flags may be edited by hand if desired. 26.18 +% The unit line width and grayscale image gamma correction may also be changed. 26.19 +% 26.20 +/Color true def 26.21 +/Blacktext false def 26.22 +/Solid false def 26.23 +/Dashlength 1 def 26.24 +/Landscape true def 26.25 +/Level1 false def 26.26 +/Rounded false def 26.27 +/ClipToBoundingBox false def 26.28 +/TransparentPatterns false def 26.29 +/gnulinewidth 5.000 def 26.30 +/userlinewidth gnulinewidth def 26.31 +/Gamma 1.0 def 26.32 +% 26.33 +/vshift -46 def 26.34 +/dl1 { 26.35 + 10.0 Dashlength mul mul 26.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 26.37 +} def 26.38 +/dl2 { 26.39 + 10.0 Dashlength mul mul 26.40 + Rounded { currentlinewidth 0.75 mul add } if 26.41 +} def 26.42 +/hpt_ 31.5 def 26.43 +/vpt_ 31.5 def 26.44 +/hpt hpt_ def 26.45 +/vpt vpt_ def 26.46 +Level1 {} { 26.47 +/SDict 10 dict def 26.48 +systemdict /pdfmark known not { 26.49 + userdict /pdfmark systemdict /cleartomark get put 26.50 +} if 26.51 +SDict begin [ 26.52 + /Title (xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 26.53 + /Subject (gnuplot plot) 26.54 + /Creator (gnuplot 4.4 patchlevel 2) 26.55 + /Author (msach) 26.56 +% /Producer (gnuplot) 26.57 +% /Keywords () 26.58 + /CreationDate (Thu Jan 26 18:25:10 2012) 26.59 + /DOCINFO pdfmark 26.60 +end 26.61 +} ifelse 26.62 +/doclip { 26.63 + ClipToBoundingBox { 26.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 26.65 + clip 26.66 + } if 26.67 +} def 26.68 +% 26.69 +% Gnuplot Prolog Version 4.4 (August 2010) 26.70 +% 26.71 +%/SuppressPDFMark true def 26.72 +% 26.73 +/M {moveto} bind def 26.74 +/L {lineto} bind def 26.75 +/R {rmoveto} bind def 26.76 +/V {rlineto} bind def 26.77 +/N {newpath moveto} bind def 26.78 +/Z {closepath} bind def 26.79 +/C {setrgbcolor} bind def 26.80 +/f {rlineto fill} bind def 26.81 +/g {setgray} bind def 26.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 26.83 +/vpt2 vpt 2 mul def 26.84 +/hpt2 hpt 2 mul def 26.85 +/Lshow {currentpoint stroke M 0 vshift R 26.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 26.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 26.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 26.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 26.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 26.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 26.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 26.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 26.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 26.95 +/BL {stroke userlinewidth 2 mul setlinewidth 26.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 26.97 +/AL {stroke userlinewidth 2 div setlinewidth 26.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 26.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 26.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 26.101 +/PL {stroke userlinewidth setlinewidth 26.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 26.103 +3.8 setmiterlimit 26.104 +% Default Line colors 26.105 +/LCw {1 1 1} def 26.106 +/LCb {0 0 0} def 26.107 +/LCa {0 0 0} def 26.108 +/LC0 {1 0 0} def 26.109 +/LC1 {0 1 0} def 26.110 +/LC2 {0 0 1} def 26.111 +/LC3 {1 0 1} def 26.112 +/LC4 {0 1 1} def 26.113 +/LC5 {1 1 0} def 26.114 +/LC6 {0 0 0} def 26.115 +/LC7 {1 0.3 0} def 26.116 +/LC8 {0.5 0.5 0.5} def 26.117 +% Default Line Types 26.118 +/LTw {PL [] 1 setgray} def 26.119 +/LTb {BL [] LCb DL} def 26.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 26.121 +/LT0 {PL [] LC0 DL} def 26.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 26.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 26.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 26.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 26.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 26.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 26.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 26.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 26.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 26.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 26.132 + hpt neg vpt neg V hpt vpt neg V 26.133 + hpt vpt V hpt neg vpt V closepath stroke 26.134 + Pnt} def 26.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 26.136 + currentpoint stroke M 26.137 + hpt neg vpt neg R hpt2 0 V stroke 26.138 + } def 26.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 26.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 26.141 + hpt2 neg 0 V closepath stroke 26.142 + Pnt} def 26.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 26.144 + hpt2 vpt2 neg V currentpoint stroke M 26.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 26.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 26.147 + hpt neg vpt -1.62 mul V 26.148 + hpt 2 mul 0 V 26.149 + hpt neg vpt 1.62 mul V closepath stroke 26.150 + Pnt} def 26.151 +/Star {2 copy Pls Crs} def 26.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 26.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 26.154 + hpt2 neg 0 V closepath fill} def 26.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 26.156 + hpt neg vpt -1.62 mul V 26.157 + hpt 2 mul 0 V 26.158 + hpt neg vpt 1.62 mul V closepath fill} def 26.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 26.160 + hpt neg vpt 1.62 mul V 26.161 + hpt 2 mul 0 V 26.162 + hpt neg vpt -1.62 mul V closepath stroke 26.163 + Pnt} def 26.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 26.165 + hpt neg vpt 1.62 mul V 26.166 + hpt 2 mul 0 V 26.167 + hpt neg vpt -1.62 mul V closepath fill} def 26.168 +/DiaF {stroke [] 0 setdash vpt add M 26.169 + hpt neg vpt neg V hpt vpt neg V 26.170 + hpt vpt V hpt neg vpt V closepath fill} def 26.171 +/Pent {stroke [] 0 setdash 2 copy gsave 26.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 26.173 + closepath stroke grestore Pnt} def 26.174 +/PentF {stroke [] 0 setdash gsave 26.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 26.176 + closepath fill grestore} def 26.177 +/Circle {stroke [] 0 setdash 2 copy 26.178 + hpt 0 360 arc stroke Pnt} def 26.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 26.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 26.181 +/C1 {BL [] 0 setdash 2 copy moveto 26.182 + 2 copy vpt 0 90 arc closepath fill 26.183 + vpt 0 360 arc closepath} bind def 26.184 +/C2 {BL [] 0 setdash 2 copy moveto 26.185 + 2 copy vpt 90 180 arc closepath fill 26.186 + vpt 0 360 arc closepath} bind def 26.187 +/C3 {BL [] 0 setdash 2 copy moveto 26.188 + 2 copy vpt 0 180 arc closepath fill 26.189 + vpt 0 360 arc closepath} bind def 26.190 +/C4 {BL [] 0 setdash 2 copy moveto 26.191 + 2 copy vpt 180 270 arc closepath fill 26.192 + vpt 0 360 arc closepath} bind def 26.193 +/C5 {BL [] 0 setdash 2 copy moveto 26.194 + 2 copy vpt 0 90 arc 26.195 + 2 copy moveto 26.196 + 2 copy vpt 180 270 arc closepath fill 26.197 + vpt 0 360 arc} bind def 26.198 +/C6 {BL [] 0 setdash 2 copy moveto 26.199 + 2 copy vpt 90 270 arc closepath fill 26.200 + vpt 0 360 arc closepath} bind def 26.201 +/C7 {BL [] 0 setdash 2 copy moveto 26.202 + 2 copy vpt 0 270 arc closepath fill 26.203 + vpt 0 360 arc closepath} bind def 26.204 +/C8 {BL [] 0 setdash 2 copy moveto 26.205 + 2 copy vpt 270 360 arc closepath fill 26.206 + vpt 0 360 arc closepath} bind def 26.207 +/C9 {BL [] 0 setdash 2 copy moveto 26.208 + 2 copy vpt 270 450 arc closepath fill 26.209 + vpt 0 360 arc closepath} bind def 26.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 26.211 + 2 copy moveto 26.212 + 2 copy vpt 90 180 arc closepath fill 26.213 + vpt 0 360 arc closepath} bind def 26.214 +/C11 {BL [] 0 setdash 2 copy moveto 26.215 + 2 copy vpt 0 180 arc closepath fill 26.216 + 2 copy moveto 26.217 + 2 copy vpt 270 360 arc closepath fill 26.218 + vpt 0 360 arc closepath} bind def 26.219 +/C12 {BL [] 0 setdash 2 copy moveto 26.220 + 2 copy vpt 180 360 arc closepath fill 26.221 + vpt 0 360 arc closepath} bind def 26.222 +/C13 {BL [] 0 setdash 2 copy moveto 26.223 + 2 copy vpt 0 90 arc closepath fill 26.224 + 2 copy moveto 26.225 + 2 copy vpt 180 360 arc closepath fill 26.226 + vpt 0 360 arc closepath} bind def 26.227 +/C14 {BL [] 0 setdash 2 copy moveto 26.228 + 2 copy vpt 90 360 arc closepath fill 26.229 + vpt 0 360 arc} bind def 26.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 26.231 + vpt 0 360 arc closepath} bind def 26.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 26.233 + neg 0 rlineto closepath} bind def 26.234 +/Square {dup Rec} bind def 26.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 26.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 26.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 26.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 26.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 26.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 26.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 26.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 26.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 26.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 26.245 + 2 copy vpt Square fill Bsquare} bind def 26.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 26.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 26.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 26.249 + Bsquare} bind def 26.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 26.251 + Bsquare} bind def 26.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 26.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 26.254 + 2 copy vpt Square fill Bsquare} bind def 26.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 26.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 26.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 26.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 26.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 26.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 26.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 26.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 26.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 26.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 26.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 26.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 26.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 26.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 26.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 26.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 26.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 26.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 26.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 26.274 +/DiaE {stroke [] 0 setdash vpt add M 26.275 + hpt neg vpt neg V hpt vpt neg V 26.276 + hpt vpt V hpt neg vpt V closepath stroke} def 26.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 26.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 26.279 + hpt2 neg 0 V closepath stroke} def 26.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 26.281 + hpt neg vpt -1.62 mul V 26.282 + hpt 2 mul 0 V 26.283 + hpt neg vpt 1.62 mul V closepath stroke} def 26.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 26.285 + hpt neg vpt 1.62 mul V 26.286 + hpt 2 mul 0 V 26.287 + hpt neg vpt -1.62 mul V closepath stroke} def 26.288 +/PentE {stroke [] 0 setdash gsave 26.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 26.290 + closepath stroke grestore} def 26.291 +/CircE {stroke [] 0 setdash 26.292 + hpt 0 360 arc stroke} def 26.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 26.294 +/DiaW {stroke [] 0 setdash vpt add M 26.295 + hpt neg vpt neg V hpt vpt neg V 26.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 26.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 26.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 26.299 + hpt2 neg 0 V Opaque stroke} def 26.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 26.301 + hpt neg vpt -1.62 mul V 26.302 + hpt 2 mul 0 V 26.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 26.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 26.305 + hpt neg vpt 1.62 mul V 26.306 + hpt 2 mul 0 V 26.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 26.308 +/PentW {stroke [] 0 setdash gsave 26.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 26.310 + Opaque stroke grestore} def 26.311 +/CircW {stroke [] 0 setdash 26.312 + hpt 0 360 arc Opaque stroke} def 26.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 26.314 +/Density { 26.315 + /Fillden exch def 26.316 + currentrgbcolor 26.317 + /ColB exch def /ColG exch def /ColR exch def 26.318 + /ColR ColR Fillden mul Fillden sub 1 add def 26.319 + /ColG ColG Fillden mul Fillden sub 1 add def 26.320 + /ColB ColB Fillden mul Fillden sub 1 add def 26.321 + ColR ColG ColB setrgbcolor} def 26.322 +/BoxColFill {gsave Rec PolyFill} def 26.323 +/PolyFill {gsave Density fill grestore grestore} def 26.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 26.325 +% 26.326 +% PostScript Level 1 Pattern Fill routine for rectangles 26.327 +% Usage: x y w h s a XX PatternFill 26.328 +% x,y = lower left corner of box to be filled 26.329 +% w,h = width and height of box 26.330 +% a = angle in degrees between lines and x-axis 26.331 +% XX = 0/1 for no/yes cross-hatch 26.332 +% 26.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 26.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 26.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 26.336 + gsave 1 setgray fill grestore clip 26.337 + currentlinewidth 0.5 mul setlinewidth 26.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 26.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 26.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 26.341 + {PFa 4 get mul 0 M 0 PFs V} for 26.342 + 0 PFa 6 get ne { 26.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 26.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 26.345 + } if 26.346 + stroke grestore} def 26.347 +% 26.348 +/languagelevel where 26.349 + {pop languagelevel} {1} ifelse 26.350 + 2 lt 26.351 + {/InterpretLevel1 true def} 26.352 + {/InterpretLevel1 Level1 def} 26.353 + ifelse 26.354 +% 26.355 +% PostScript level 2 pattern fill definitions 26.356 +% 26.357 +/Level2PatternFill { 26.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 26.359 + bind def 26.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 26.361 +<< Tile8x8 26.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 26.363 +>> matrix makepattern 26.364 +/Pat1 exch def 26.365 +<< Tile8x8 26.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 26.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 26.368 +>> matrix makepattern 26.369 +/Pat2 exch def 26.370 +<< Tile8x8 26.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 26.372 + 8 8 L 8 0 L 0 0 L fill} 26.373 +>> matrix makepattern 26.374 +/Pat3 exch def 26.375 +<< Tile8x8 26.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 26.377 + 0 12 M 12 0 L stroke} 26.378 +>> matrix makepattern 26.379 +/Pat4 exch def 26.380 +<< Tile8x8 26.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 26.382 + 0 -4 M 12 8 L stroke} 26.383 +>> matrix makepattern 26.384 +/Pat5 exch def 26.385 +<< Tile8x8 26.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 26.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 26.388 +>> matrix makepattern 26.389 +/Pat6 exch def 26.390 +<< Tile8x8 26.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 26.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 26.393 +>> matrix makepattern 26.394 +/Pat7 exch def 26.395 +<< Tile8x8 26.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 26.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 26.398 +>> matrix makepattern 26.399 +/Pat8 exch def 26.400 +<< Tile8x8 26.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 26.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 26.403 +>> matrix makepattern 26.404 +/Pat9 exch def 26.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 26.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 26.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 26.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 26.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 26.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 26.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 26.412 +} def 26.413 +% 26.414 +% 26.415 +%End of PostScript Level 2 code 26.416 +% 26.417 +/PatternBgnd { 26.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 26.419 +} def 26.420 +% 26.421 +% Substitute for Level 2 pattern fill codes with 26.422 +% grayscale if Level 2 support is not selected. 26.423 +% 26.424 +/Level1PatternFill { 26.425 +/Pattern1 {0.250 Density} bind def 26.426 +/Pattern2 {0.500 Density} bind def 26.427 +/Pattern3 {0.750 Density} bind def 26.428 +/Pattern4 {0.125 Density} bind def 26.429 +/Pattern5 {0.375 Density} bind def 26.430 +/Pattern6 {0.625 Density} bind def 26.431 +/Pattern7 {0.875 Density} bind def 26.432 +} def 26.433 +% 26.434 +% Now test for support of Level 2 code 26.435 +% 26.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 26.437 +% 26.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 26.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 26.440 +currentdict end definefont pop 26.441 +/MFshow { 26.442 + { dup 5 get 3 ge 26.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 26.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 26.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 26.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 26.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 26.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 26.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 26.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 26.451 + pop aload pop M} ifelse }ifelse }ifelse } 26.452 + ifelse } 26.453 + forall} def 26.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 26.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 26.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 26.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 26.458 +/MLshow { currentpoint stroke M 26.459 + 0 exch R 26.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 26.461 +/MRshow { currentpoint stroke M 26.462 + exch dup MFwidth neg 3 -1 roll R 26.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 26.464 +/MCshow { currentpoint stroke M 26.465 + exch dup MFwidth -2 div 3 -1 roll R 26.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 26.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 26.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 26.469 +end 26.470 +%%EndProlog 26.471 +%%Page: 1 1 26.472 +gnudict begin 26.473 +gsave 26.474 +doclip 26.475 +50 50 translate 26.476 +0.100 0.100 scale 26.477 +90 rotate 26.478 +0 -5040 translate 26.479 +0 setgray 26.480 +newpath 26.481 +(Helvetica) findfont 140 scalefont setfont 26.482 +1.000 UL 26.483 +LTb 26.484 +518 448 M 26.485 +63 0 V 26.486 +stroke 26.487 +434 448 M 26.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 26.489 +] -46.7 MRshow 26.490 +1.000 UL 26.491 +LTb 26.492 +518 792 M 26.493 +63 0 V 26.494 +stroke 26.495 +434 792 M 26.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 26.497 +] -46.7 MRshow 26.498 +1.000 UL 26.499 +LTb 26.500 +518 1136 M 26.501 +63 0 V 26.502 +stroke 26.503 +434 1136 M 26.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 26.505 +] -46.7 MRshow 26.506 +1.000 UL 26.507 +LTb 26.508 +518 1480 M 26.509 +63 0 V 26.510 +stroke 26.511 +434 1480 M 26.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 26.513 +] -46.7 MRshow 26.514 +1.000 UL 26.515 +LTb 26.516 +518 1823 M 26.517 +63 0 V 26.518 +stroke 26.519 +434 1823 M 26.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 26.521 +] -46.7 MRshow 26.522 +1.000 UL 26.523 +LTb 26.524 +518 2167 M 26.525 +63 0 V 26.526 +stroke 26.527 +434 2167 M 26.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 26.529 +] -46.7 MRshow 26.530 +1.000 UL 26.531 +LTb 26.532 +518 2511 M 26.533 +63 0 V 26.534 +stroke 26.535 +434 2511 M 26.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 26.537 +] -46.7 MRshow 26.538 +1.000 UL 26.539 +LTb 26.540 +518 2855 M 26.541 +63 0 V 26.542 +stroke 26.543 +434 2855 M 26.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 26.545 +] -46.7 MRshow 26.546 +1.000 UL 26.547 +LTb 26.548 +518 448 M 26.549 +0 63 V 26.550 +stroke 26.551 +518 308 M 26.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 26.553 +] -46.7 MCshow 26.554 +1.000 UL 26.555 +LTb 26.556 +962 448 M 26.557 +0 63 V 26.558 +stroke 26.559 +962 308 M 26.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 26.561 +] -46.7 MCshow 26.562 +1.000 UL 26.563 +LTb 26.564 +1405 448 M 26.565 +0 63 V 26.566 +stroke 26.567 +1405 308 M 26.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 26.569 +] -46.7 MCshow 26.570 +1.000 UL 26.571 +LTb 26.572 +1849 448 M 26.573 +0 63 V 26.574 +stroke 26.575 +1849 308 M 26.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 26.577 +] -46.7 MCshow 26.578 +1.000 UL 26.579 +LTb 26.580 +2293 448 M 26.581 +0 63 V 26.582 +stroke 26.583 +2293 308 M 26.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 26.585 +] -46.7 MCshow 26.586 +1.000 UL 26.587 +LTb 26.588 +2736 448 M 26.589 +0 63 V 26.590 +stroke 26.591 +2736 308 M 26.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 26.593 +] -46.7 MCshow 26.594 +1.000 UL 26.595 +LTb 26.596 +3180 448 M 26.597 +0 63 V 26.598 +stroke 26.599 +3180 308 M 26.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 26.601 +] -46.7 MCshow 26.602 +1.000 UL 26.603 +LTb 26.604 +3623 448 M 26.605 +0 63 V 26.606 +stroke 26.607 +3623 308 M 26.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 26.609 +] -46.7 MCshow 26.610 +1.000 UL 26.611 +LTb 26.612 +4067 448 M 26.613 +0 63 V 26.614 +stroke 26.615 +4067 308 M 26.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 26.617 +] -46.7 MCshow 26.618 +1.000 UL 26.619 +LTb 26.620 +1.000 UL 26.621 +LTb 26.622 +518 2855 M 26.623 +518 448 L 26.624 +3549 0 V 26.625 +0 2407 R 26.626 +-3549 0 R 26.627 +stroke 26.628 +LCb setrgbcolor 26.629 +112 1651 M 26.630 +currentpoint gsave translate -270 rotate 0 0 moveto 26.631 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 26.632 +] -46.7 MCshow 26.633 +grestore 26.634 +LTb 26.635 +LCb setrgbcolor 26.636 +2292 98 M 26.637 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 26.638 +] -46.7 MCshow 26.639 +LTb 26.640 +1.000 UP 26.641 +1.000 UL 26.642 +LTb 26.643 +1.000 UL 26.644 +LTb 26.645 +2492 2372 N 26.646 +0 420 V 26.647 +1491 0 V 26.648 +0 -420 V 26.649 +-1491 0 V 26.650 +Z stroke 26.651 +2492 2792 M 26.652 +1491 0 V 26.653 +% Begin plot #1 26.654 +stroke 26.655 +4.000 UL 26.656 +LT1 26.657 +LCa setrgbcolor 26.658 +518 792 M 26.659 +36 0 V 26.660 +36 0 V 26.661 +36 0 V 26.662 +35 0 V 26.663 +36 0 V 26.664 +36 0 V 26.665 +36 0 V 26.666 +36 0 V 26.667 +36 0 V 26.668 +35 0 V 26.669 +36 0 V 26.670 +36 0 V 26.671 +36 0 V 26.672 +36 0 V 26.673 +36 0 V 26.674 +36 0 V 26.675 +35 0 V 26.676 +36 0 V 26.677 +36 0 V 26.678 +36 0 V 26.679 +36 0 V 26.680 +36 0 V 26.681 +36 0 V 26.682 +35 0 V 26.683 +36 0 V 26.684 +36 0 V 26.685 +36 0 V 26.686 +36 0 V 26.687 +36 0 V 26.688 +35 0 V 26.689 +36 0 V 26.690 +36 0 V 26.691 +36 0 V 26.692 +36 0 V 26.693 +36 0 V 26.694 +36 0 V 26.695 +35 0 V 26.696 +36 0 V 26.697 +36 0 V 26.698 +36 0 V 26.699 +36 0 V 26.700 +36 0 V 26.701 +35 0 V 26.702 +36 0 V 26.703 +36 0 V 26.704 +36 0 V 26.705 +36 0 V 26.706 +36 0 V 26.707 +36 0 V 26.708 +35 0 V 26.709 +36 0 V 26.710 +36 0 V 26.711 +36 0 V 26.712 +36 0 V 26.713 +36 0 V 26.714 +36 0 V 26.715 +35 0 V 26.716 +36 0 V 26.717 +36 0 V 26.718 +36 0 V 26.719 +36 0 V 26.720 +36 0 V 26.721 +35 0 V 26.722 +36 0 V 26.723 +36 0 V 26.724 +36 0 V 26.725 +36 0 V 26.726 +36 0 V 26.727 +36 0 V 26.728 +35 0 V 26.729 +36 0 V 26.730 +36 0 V 26.731 +36 0 V 26.732 +36 0 V 26.733 +36 0 V 26.734 +35 0 V 26.735 +36 0 V 26.736 +36 0 V 26.737 +36 0 V 26.738 +36 0 V 26.739 +36 0 V 26.740 +36 0 V 26.741 +35 0 V 26.742 +36 0 V 26.743 +36 0 V 26.744 +36 0 V 26.745 +36 0 V 26.746 +36 0 V 26.747 +36 0 V 26.748 +35 0 V 26.749 +36 0 V 26.750 +36 0 V 26.751 +36 0 V 26.752 +36 0 V 26.753 +36 0 V 26.754 +35 0 V 26.755 +36 0 V 26.756 +36 0 V 26.757 +36 0 V 26.758 +% End plot #1 26.759 +% Begin plot #2 26.760 +stroke 26.761 +LT1 26.762 +LCb setrgbcolor 26.763 +3416 2722 M 26.764 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 26.765 +] -46.7 MRshow 26.766 +LT1 26.767 +3500 2722 M 26.768 +399 0 V 26.769 +1143 2855 M 26.770 +119 -356 V 26.771 +1884 1393 L 26.772 +3173 986 L 26.773 +4067 875 L 26.774 +% End plot #2 26.775 +% Begin plot #3 26.776 +stroke 26.777 +LT2 26.778 +LCb setrgbcolor 26.779 +3416 2582 M 26.780 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 26.781 +] -46.7 MRshow 26.782 +LT2 26.783 +3500 2582 M 26.784 +399 0 V 26.785 +938 2855 M 26.786 +11 -154 V 26.787 +298 -610 V 26.788 +661 -716 V 26.789 +3205 912 L 26.790 +862 -78 V 26.791 +% End plot #3 26.792 +% Begin plot #4 26.793 +stroke 26.794 +LT3 26.795 +LCb setrgbcolor 26.796 +3416 2442 M 26.797 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 26.798 +] -46.7 MRshow 26.799 +LT3 26.800 +3500 2442 M 26.801 +399 0 V 26.802 +933 2855 M 26.803 +7 -106 V 26.804 +316 -533 V 26.805 +639 -908 V 26.806 +3183 912 L 26.807 +884 -75 V 26.808 +% End plot #4 26.809 +stroke 26.810 +1.000 UL 26.811 +LTb 26.812 +518 2855 M 26.813 +518 448 L 26.814 +3549 0 V 26.815 +0 2407 R 26.816 +-3549 0 R 26.817 +1.000 UP 26.818 +stroke 26.819 +grestore 26.820 +end 26.821 +showpage 26.822 +%%Trailer 26.823 +%%DocumentFonts: Helvetica 26.824 +%%Pages: 1
27.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 27.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/vms_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps Sun Mar 11 09:26:44 2012 -0700 27.3 @@ -0,0 +1,1319 @@ 27.4 +%!PS-Adobe-2.0 27.5 +%%Title: vms_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps 27.6 +%%Creator: gnuplot 4.4 patchlevel 2 27.7 +%%CreationDate: Thu Jan 26 18:20:37 2012 27.8 +%%DocumentFonts: (atend) 27.9 +%%BoundingBox: 251 50 554 482 27.10 +%%Orientation: Landscape 27.11 +%%Pages: (atend) 27.12 +%%EndComments 27.13 +%%BeginProlog 27.14 +/gnudict 256 dict def 27.15 +gnudict begin 27.16 +% 27.17 +% The following true/false flags may be edited by hand if desired. 27.18 +% The unit line width and grayscale image gamma correction may also be changed. 27.19 +% 27.20 +/Color true def 27.21 +/Blacktext false def 27.22 +/Solid false def 27.23 +/Dashlength 1 def 27.24 +/Landscape true def 27.25 +/Level1 false def 27.26 +/Rounded false def 27.27 +/ClipToBoundingBox false def 27.28 +/TransparentPatterns false def 27.29 +/gnulinewidth 5.000 def 27.30 +/userlinewidth gnulinewidth def 27.31 +/Gamma 1.0 def 27.32 +% 27.33 +/vshift -46 def 27.34 +/dl1 { 27.35 + 10.0 Dashlength mul mul 27.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 27.37 +} def 27.38 +/dl2 { 27.39 + 10.0 Dashlength mul mul 27.40 + Rounded { currentlinewidth 0.75 mul add } if 27.41 +} def 27.42 +/hpt_ 31.5 def 27.43 +/vpt_ 31.5 def 27.44 +/hpt hpt_ def 27.45 +/vpt vpt_ def 27.46 +Level1 {} { 27.47 +/SDict 10 dict def 27.48 +systemdict /pdfmark known not { 27.49 + userdict /pdfmark systemdict /cleartomark get put 27.50 +} if 27.51 +SDict begin [ 27.52 + /Title (vms_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps) 27.53 + /Subject (gnuplot plot) 27.54 + /Creator (gnuplot 4.4 patchlevel 2) 27.55 + /Author (msach) 27.56 +% /Producer (gnuplot) 27.57 +% /Keywords () 27.58 + /CreationDate (Thu Jan 26 18:20:37 2012) 27.59 + /DOCINFO pdfmark 27.60 +end 27.61 +} ifelse 27.62 +/doclip { 27.63 + ClipToBoundingBox { 27.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 27.65 + clip 27.66 + } if 27.67 +} def 27.68 +% 27.69 +% Gnuplot Prolog Version 4.4 (August 2010) 27.70 +% 27.71 +%/SuppressPDFMark true def 27.72 +% 27.73 +/M {moveto} bind def 27.74 +/L {lineto} bind def 27.75 +/R {rmoveto} bind def 27.76 +/V {rlineto} bind def 27.77 +/N {newpath moveto} bind def 27.78 +/Z {closepath} bind def 27.79 +/C {setrgbcolor} bind def 27.80 +/f {rlineto fill} bind def 27.81 +/g {setgray} bind def 27.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 27.83 +/vpt2 vpt 2 mul def 27.84 +/hpt2 hpt 2 mul def 27.85 +/Lshow {currentpoint stroke M 0 vshift R 27.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 27.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 27.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 27.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 27.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 27.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 27.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 27.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 27.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 27.95 +/BL {stroke userlinewidth 2 mul setlinewidth 27.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 27.97 +/AL {stroke userlinewidth 2 div setlinewidth 27.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 27.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 27.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 27.101 +/PL {stroke userlinewidth setlinewidth 27.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 27.103 +3.8 setmiterlimit 27.104 +% Default Line colors 27.105 +/LCw {1 1 1} def 27.106 +/LCb {0 0 0} def 27.107 +/LCa {0 0 0} def 27.108 +/LC0 {1 0 0} def 27.109 +/LC1 {0 1 0} def 27.110 +/LC2 {0 0 1} def 27.111 +/LC3 {1 0 1} def 27.112 +/LC4 {0 1 1} def 27.113 +/LC5 {1 1 0} def 27.114 +/LC6 {0 0 0} def 27.115 +/LC7 {1 0.3 0} def 27.116 +/LC8 {0.5 0.5 0.5} def 27.117 +% Default Line Types 27.118 +/LTw {PL [] 1 setgray} def 27.119 +/LTb {BL [] LCb DL} def 27.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 27.121 +/LT0 {PL [] LC0 DL} def 27.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 27.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 27.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 27.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 27.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 27.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 27.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 27.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 27.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 27.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 27.132 + hpt neg vpt neg V hpt vpt neg V 27.133 + hpt vpt V hpt neg vpt V closepath stroke 27.134 + Pnt} def 27.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 27.136 + currentpoint stroke M 27.137 + hpt neg vpt neg R hpt2 0 V stroke 27.138 + } def 27.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 27.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 27.141 + hpt2 neg 0 V closepath stroke 27.142 + Pnt} def 27.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 27.144 + hpt2 vpt2 neg V currentpoint stroke M 27.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 27.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 27.147 + hpt neg vpt -1.62 mul V 27.148 + hpt 2 mul 0 V 27.149 + hpt neg vpt 1.62 mul V closepath stroke 27.150 + Pnt} def 27.151 +/Star {2 copy Pls Crs} def 27.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 27.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 27.154 + hpt2 neg 0 V closepath fill} def 27.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 27.156 + hpt neg vpt -1.62 mul V 27.157 + hpt 2 mul 0 V 27.158 + hpt neg vpt 1.62 mul V closepath fill} def 27.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 27.160 + hpt neg vpt 1.62 mul V 27.161 + hpt 2 mul 0 V 27.162 + hpt neg vpt -1.62 mul V closepath stroke 27.163 + Pnt} def 27.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 27.165 + hpt neg vpt 1.62 mul V 27.166 + hpt 2 mul 0 V 27.167 + hpt neg vpt -1.62 mul V closepath fill} def 27.168 +/DiaF {stroke [] 0 setdash vpt add M 27.169 + hpt neg vpt neg V hpt vpt neg V 27.170 + hpt vpt V hpt neg vpt V closepath fill} def 27.171 +/Pent {stroke [] 0 setdash 2 copy gsave 27.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 27.173 + closepath stroke grestore Pnt} def 27.174 +/PentF {stroke [] 0 setdash gsave 27.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 27.176 + closepath fill grestore} def 27.177 +/Circle {stroke [] 0 setdash 2 copy 27.178 + hpt 0 360 arc stroke Pnt} def 27.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 27.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 27.181 +/C1 {BL [] 0 setdash 2 copy moveto 27.182 + 2 copy vpt 0 90 arc closepath fill 27.183 + vpt 0 360 arc closepath} bind def 27.184 +/C2 {BL [] 0 setdash 2 copy moveto 27.185 + 2 copy vpt 90 180 arc closepath fill 27.186 + vpt 0 360 arc closepath} bind def 27.187 +/C3 {BL [] 0 setdash 2 copy moveto 27.188 + 2 copy vpt 0 180 arc closepath fill 27.189 + vpt 0 360 arc closepath} bind def 27.190 +/C4 {BL [] 0 setdash 2 copy moveto 27.191 + 2 copy vpt 180 270 arc closepath fill 27.192 + vpt 0 360 arc closepath} bind def 27.193 +/C5 {BL [] 0 setdash 2 copy moveto 27.194 + 2 copy vpt 0 90 arc 27.195 + 2 copy moveto 27.196 + 2 copy vpt 180 270 arc closepath fill 27.197 + vpt 0 360 arc} bind def 27.198 +/C6 {BL [] 0 setdash 2 copy moveto 27.199 + 2 copy vpt 90 270 arc closepath fill 27.200 + vpt 0 360 arc closepath} bind def 27.201 +/C7 {BL [] 0 setdash 2 copy moveto 27.202 + 2 copy vpt 0 270 arc closepath fill 27.203 + vpt 0 360 arc closepath} bind def 27.204 +/C8 {BL [] 0 setdash 2 copy moveto 27.205 + 2 copy vpt 270 360 arc closepath fill 27.206 + vpt 0 360 arc closepath} bind def 27.207 +/C9 {BL [] 0 setdash 2 copy moveto 27.208 + 2 copy vpt 270 450 arc closepath fill 27.209 + vpt 0 360 arc closepath} bind def 27.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 27.211 + 2 copy moveto 27.212 + 2 copy vpt 90 180 arc closepath fill 27.213 + vpt 0 360 arc closepath} bind def 27.214 +/C11 {BL [] 0 setdash 2 copy moveto 27.215 + 2 copy vpt 0 180 arc closepath fill 27.216 + 2 copy moveto 27.217 + 2 copy vpt 270 360 arc closepath fill 27.218 + vpt 0 360 arc closepath} bind def 27.219 +/C12 {BL [] 0 setdash 2 copy moveto 27.220 + 2 copy vpt 180 360 arc closepath fill 27.221 + vpt 0 360 arc closepath} bind def 27.222 +/C13 {BL [] 0 setdash 2 copy moveto 27.223 + 2 copy vpt 0 90 arc closepath fill 27.224 + 2 copy moveto 27.225 + 2 copy vpt 180 360 arc closepath fill 27.226 + vpt 0 360 arc closepath} bind def 27.227 +/C14 {BL [] 0 setdash 2 copy moveto 27.228 + 2 copy vpt 90 360 arc closepath fill 27.229 + vpt 0 360 arc} bind def 27.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 27.231 + vpt 0 360 arc closepath} bind def 27.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 27.233 + neg 0 rlineto closepath} bind def 27.234 +/Square {dup Rec} bind def 27.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 27.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 27.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 27.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 27.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 27.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 27.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 27.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 27.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 27.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 27.245 + 2 copy vpt Square fill Bsquare} bind def 27.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 27.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 27.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 27.249 + Bsquare} bind def 27.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 27.251 + Bsquare} bind def 27.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 27.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 27.254 + 2 copy vpt Square fill Bsquare} bind def 27.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 27.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 27.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 27.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 27.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 27.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 27.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 27.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 27.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 27.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 27.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 27.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 27.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 27.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 27.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 27.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 27.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 27.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 27.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 27.274 +/DiaE {stroke [] 0 setdash vpt add M 27.275 + hpt neg vpt neg V hpt vpt neg V 27.276 + hpt vpt V hpt neg vpt V closepath stroke} def 27.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 27.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 27.279 + hpt2 neg 0 V closepath stroke} def 27.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 27.281 + hpt neg vpt -1.62 mul V 27.282 + hpt 2 mul 0 V 27.283 + hpt neg vpt 1.62 mul V closepath stroke} def 27.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 27.285 + hpt neg vpt 1.62 mul V 27.286 + hpt 2 mul 0 V 27.287 + hpt neg vpt -1.62 mul V closepath stroke} def 27.288 +/PentE {stroke [] 0 setdash gsave 27.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 27.290 + closepath stroke grestore} def 27.291 +/CircE {stroke [] 0 setdash 27.292 + hpt 0 360 arc stroke} def 27.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 27.294 +/DiaW {stroke [] 0 setdash vpt add M 27.295 + hpt neg vpt neg V hpt vpt neg V 27.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 27.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 27.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 27.299 + hpt2 neg 0 V Opaque stroke} def 27.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 27.301 + hpt neg vpt -1.62 mul V 27.302 + hpt 2 mul 0 V 27.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 27.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 27.305 + hpt neg vpt 1.62 mul V 27.306 + hpt 2 mul 0 V 27.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 27.308 +/PentW {stroke [] 0 setdash gsave 27.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 27.310 + Opaque stroke grestore} def 27.311 +/CircW {stroke [] 0 setdash 27.312 + hpt 0 360 arc Opaque stroke} def 27.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 27.314 +/Density { 27.315 + /Fillden exch def 27.316 + currentrgbcolor 27.317 + /ColB exch def /ColG exch def /ColR exch def 27.318 + /ColR ColR Fillden mul Fillden sub 1 add def 27.319 + /ColG ColG Fillden mul Fillden sub 1 add def 27.320 + /ColB ColB Fillden mul Fillden sub 1 add def 27.321 + ColR ColG ColB setrgbcolor} def 27.322 +/BoxColFill {gsave Rec PolyFill} def 27.323 +/PolyFill {gsave Density fill grestore grestore} def 27.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 27.325 +% 27.326 +% PostScript Level 1 Pattern Fill routine for rectangles 27.327 +% Usage: x y w h s a XX PatternFill 27.328 +% x,y = lower left corner of box to be filled 27.329 +% w,h = width and height of box 27.330 +% a = angle in degrees between lines and x-axis 27.331 +% XX = 0/1 for no/yes cross-hatch 27.332 +% 27.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 27.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 27.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 27.336 + gsave 1 setgray fill grestore clip 27.337 + currentlinewidth 0.5 mul setlinewidth 27.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 27.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 27.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 27.341 + {PFa 4 get mul 0 M 0 PFs V} for 27.342 + 0 PFa 6 get ne { 27.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 27.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 27.345 + } if 27.346 + stroke grestore} def 27.347 +% 27.348 +/languagelevel where 27.349 + {pop languagelevel} {1} ifelse 27.350 + 2 lt 27.351 + {/InterpretLevel1 true def} 27.352 + {/InterpretLevel1 Level1 def} 27.353 + ifelse 27.354 +% 27.355 +% PostScript level 2 pattern fill definitions 27.356 +% 27.357 +/Level2PatternFill { 27.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 27.359 + bind def 27.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 27.361 +<< Tile8x8 27.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 27.363 +>> matrix makepattern 27.364 +/Pat1 exch def 27.365 +<< Tile8x8 27.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 27.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 27.368 +>> matrix makepattern 27.369 +/Pat2 exch def 27.370 +<< Tile8x8 27.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 27.372 + 8 8 L 8 0 L 0 0 L fill} 27.373 +>> matrix makepattern 27.374 +/Pat3 exch def 27.375 +<< Tile8x8 27.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 27.377 + 0 12 M 12 0 L stroke} 27.378 +>> matrix makepattern 27.379 +/Pat4 exch def 27.380 +<< Tile8x8 27.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 27.382 + 0 -4 M 12 8 L stroke} 27.383 +>> matrix makepattern 27.384 +/Pat5 exch def 27.385 +<< Tile8x8 27.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 27.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 27.388 +>> matrix makepattern 27.389 +/Pat6 exch def 27.390 +<< Tile8x8 27.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 27.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 27.393 +>> matrix makepattern 27.394 +/Pat7 exch def 27.395 +<< Tile8x8 27.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 27.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 27.398 +>> matrix makepattern 27.399 +/Pat8 exch def 27.400 +<< Tile8x8 27.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 27.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 27.403 +>> matrix makepattern 27.404 +/Pat9 exch def 27.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 27.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 27.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 27.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 27.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 27.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 27.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 27.412 +} def 27.413 +% 27.414 +% 27.415 +%End of PostScript Level 2 code 27.416 +% 27.417 +/PatternBgnd { 27.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 27.419 +} def 27.420 +% 27.421 +% Substitute for Level 2 pattern fill codes with 27.422 +% grayscale if Level 2 support is not selected. 27.423 +% 27.424 +/Level1PatternFill { 27.425 +/Pattern1 {0.250 Density} bind def 27.426 +/Pattern2 {0.500 Density} bind def 27.427 +/Pattern3 {0.750 Density} bind def 27.428 +/Pattern4 {0.125 Density} bind def 27.429 +/Pattern5 {0.375 Density} bind def 27.430 +/Pattern6 {0.625 Density} bind def 27.431 +/Pattern7 {0.875 Density} bind def 27.432 +} def 27.433 +% 27.434 +% Now test for support of Level 2 code 27.435 +% 27.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 27.437 +% 27.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 27.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 27.440 +currentdict end definefont pop 27.441 +/MFshow { 27.442 + { dup 5 get 3 ge 27.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 27.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 27.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 27.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 27.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 27.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 27.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 27.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 27.451 + pop aload pop M} ifelse }ifelse }ifelse } 27.452 + ifelse } 27.453 + forall} def 27.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 27.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 27.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 27.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 27.458 +/MLshow { currentpoint stroke M 27.459 + 0 exch R 27.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 27.461 +/MRshow { currentpoint stroke M 27.462 + exch dup MFwidth neg 3 -1 roll R 27.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 27.464 +/MCshow { currentpoint stroke M 27.465 + exch dup MFwidth -2 div 3 -1 roll R 27.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 27.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 27.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 27.469 +end 27.470 +%%EndProlog 27.471 +%%Page: 1 1 27.472 +gnudict begin 27.473 +gsave 27.474 +doclip 27.475 +50 50 translate 27.476 +0.100 0.100 scale 27.477 +90 rotate 27.478 +0 -5040 translate 27.479 +0 setgray 27.480 +newpath 27.481 +(Helvetica) findfont 140 scalefont setfont 27.482 +1.000 UL 27.483 +LTb 27.484 +602 448 M 27.485 +63 0 V 27.486 +stroke 27.487 +518 448 M 27.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 27.489 +] -46.7 MRshow 27.490 +1.000 UL 27.491 +LTb 27.492 +602 715 M 27.493 +63 0 V 27.494 +stroke 27.495 +518 715 M 27.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 27.497 +] -46.7 MRshow 27.498 +1.000 UL 27.499 +LTb 27.500 +602 983 M 27.501 +63 0 V 27.502 +stroke 27.503 +518 983 M 27.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 27.505 +] -46.7 MRshow 27.506 +1.000 UL 27.507 +LTb 27.508 +602 1250 M 27.509 +63 0 V 27.510 +stroke 27.511 +518 1250 M 27.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 27.513 +] -46.7 MRshow 27.514 +1.000 UL 27.515 +LTb 27.516 +602 1518 M 27.517 +63 0 V 27.518 +stroke 27.519 +518 1518 M 27.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 27.521 +] -46.7 MRshow 27.522 +1.000 UL 27.523 +LTb 27.524 +602 1785 M 27.525 +63 0 V 27.526 +stroke 27.527 +518 1785 M 27.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 27.529 +] -46.7 MRshow 27.530 +1.000 UL 27.531 +LTb 27.532 +602 2053 M 27.533 +63 0 V 27.534 +stroke 27.535 +518 2053 M 27.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 27.537 +] -46.7 MRshow 27.538 +1.000 UL 27.539 +LTb 27.540 +602 2320 M 27.541 +63 0 V 27.542 +stroke 27.543 +518 2320 M 27.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 27.545 +] -46.7 MRshow 27.546 +1.000 UL 27.547 +LTb 27.548 +602 2588 M 27.549 +63 0 V 27.550 +stroke 27.551 +518 2588 M 27.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 27.553 +] -46.7 MRshow 27.554 +1.000 UL 27.555 +LTb 27.556 +602 2855 M 27.557 +63 0 V 27.558 +stroke 27.559 +518 2855 M 27.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 27.561 +] -46.7 MRshow 27.562 +1.000 UL 27.563 +LTb 27.564 +602 448 M 27.565 +0 63 V 27.566 +stroke 27.567 +602 308 M 27.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 27.569 +] -46.7 MCshow 27.570 +1.000 UL 27.571 +LTb 27.572 +1035 448 M 27.573 +0 63 V 27.574 +stroke 27.575 +1035 308 M 27.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 27.577 +] -46.7 MCshow 27.578 +1.000 UL 27.579 +LTb 27.580 +1468 448 M 27.581 +0 63 V 27.582 +stroke 27.583 +1468 308 M 27.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 27.585 +] -46.7 MCshow 27.586 +1.000 UL 27.587 +LTb 27.588 +1901 448 M 27.589 +0 63 V 27.590 +stroke 27.591 +1901 308 M 27.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 27.593 +] -46.7 MCshow 27.594 +1.000 UL 27.595 +LTb 27.596 +2335 448 M 27.597 +0 63 V 27.598 +stroke 27.599 +2335 308 M 27.600 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 27.601 +] -46.7 MCshow 27.602 +1.000 UL 27.603 +LTb 27.604 +2768 448 M 27.605 +0 63 V 27.606 +stroke 27.607 +2768 308 M 27.608 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 27.609 +] -46.7 MCshow 27.610 +1.000 UL 27.611 +LTb 27.612 +3201 448 M 27.613 +0 63 V 27.614 +stroke 27.615 +3201 308 M 27.616 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 27.617 +] -46.7 MCshow 27.618 +1.000 UL 27.619 +LTb 27.620 +3634 448 M 27.621 +0 63 V 27.622 +stroke 27.623 +3634 308 M 27.624 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 27.625 +] -46.7 MCshow 27.626 +1.000 UL 27.627 +LTb 27.628 +4067 448 M 27.629 +0 63 V 27.630 +stroke 27.631 +4067 308 M 27.632 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 27.633 +] -46.7 MCshow 27.634 +1.000 UL 27.635 +LTb 27.636 +1.000 UL 27.637 +LTb 27.638 +602 2855 M 27.639 +602 448 L 27.640 +3465 0 V 27.641 +0 2407 R 27.642 +-3465 0 R 27.643 +stroke 27.644 +LCb setrgbcolor 27.645 +112 1651 M 27.646 +currentpoint gsave translate -270 rotate 0 0 moveto 27.647 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 27.648 +] -46.7 MCshow 27.649 +grestore 27.650 +LTb 27.651 +LCb setrgbcolor 27.652 +2334 98 M 27.653 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 27.654 +] -46.7 MCshow 27.655 +LTb 27.656 +1.000 UP 27.657 +1.000 UL 27.658 +LTb 27.659 +% Begin plot #1 27.660 +3.000 UL 27.661 +LT1 27.662 +LCa setrgbcolor 27.663 +602 715 M 27.664 +35 0 V 27.665 +35 0 V 27.666 +35 0 V 27.667 +35 0 V 27.668 +35 0 V 27.669 +35 0 V 27.670 +35 0 V 27.671 +35 0 V 27.672 +35 0 V 27.673 +35 0 V 27.674 +35 0 V 27.675 +35 0 V 27.676 +35 0 V 27.677 +35 0 V 27.678 +35 0 V 27.679 +35 0 V 27.680 +35 0 V 27.681 +35 0 V 27.682 +35 0 V 27.683 +35 0 V 27.684 +35 0 V 27.685 +35 0 V 27.686 +35 0 V 27.687 +35 0 V 27.688 +35 0 V 27.689 +35 0 V 27.690 +35 0 V 27.691 +35 0 V 27.692 +35 0 V 27.693 +35 0 V 27.694 +35 0 V 27.695 +35 0 V 27.696 +35 0 V 27.697 +35 0 V 27.698 +35 0 V 27.699 +35 0 V 27.700 +35 0 V 27.701 +35 0 V 27.702 +35 0 V 27.703 +35 0 V 27.704 +35 0 V 27.705 +35 0 V 27.706 +35 0 V 27.707 +35 0 V 27.708 +35 0 V 27.709 +35 0 V 27.710 +35 0 V 27.711 +35 0 V 27.712 +35 0 V 27.713 +35 0 V 27.714 +35 0 V 27.715 +35 0 V 27.716 +35 0 V 27.717 +35 0 V 27.718 +35 0 V 27.719 +35 0 V 27.720 +35 0 V 27.721 +35 0 V 27.722 +35 0 V 27.723 +35 0 V 27.724 +35 0 V 27.725 +35 0 V 27.726 +35 0 V 27.727 +35 0 V 27.728 +35 0 V 27.729 +35 0 V 27.730 +35 0 V 27.731 +35 0 V 27.732 +35 0 V 27.733 +35 0 V 27.734 +35 0 V 27.735 +35 0 V 27.736 +35 0 V 27.737 +35 0 V 27.738 +35 0 V 27.739 +35 0 V 27.740 +35 0 V 27.741 +35 0 V 27.742 +35 0 V 27.743 +35 0 V 27.744 +35 0 V 27.745 +35 0 V 27.746 +35 0 V 27.747 +35 0 V 27.748 +35 0 V 27.749 +35 0 V 27.750 +35 0 V 27.751 +35 0 V 27.752 +35 0 V 27.753 +35 0 V 27.754 +35 0 V 27.755 +35 0 V 27.756 +35 0 V 27.757 +35 0 V 27.758 +35 0 V 27.759 +35 0 V 27.760 +35 0 V 27.761 +35 0 V 27.762 +35 0 V 27.763 +% End plot #1 27.764 +stroke 27.765 +1.000 UL 27.766 +LTb 27.767 +602 2855 M 27.768 +602 448 L 27.769 +3465 0 V 27.770 +0 2407 R 27.771 +-3465 0 R 27.772 +1.000 UP 27.773 +602 448 M 27.774 +63 0 V 27.775 +stroke 27.776 +518 448 M 27.777 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 27.778 +] -46.7 MRshow 27.779 +1.000 UL 27.780 +LTb 27.781 +602 715 M 27.782 +63 0 V 27.783 +stroke 27.784 +518 715 M 27.785 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 27.786 +] -46.7 MRshow 27.787 +1.000 UL 27.788 +LTb 27.789 +602 983 M 27.790 +63 0 V 27.791 +stroke 27.792 +518 983 M 27.793 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 27.794 +] -46.7 MRshow 27.795 +1.000 UL 27.796 +LTb 27.797 +602 1250 M 27.798 +63 0 V 27.799 +stroke 27.800 +518 1250 M 27.801 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 27.802 +] -46.7 MRshow 27.803 +1.000 UL 27.804 +LTb 27.805 +602 1518 M 27.806 +63 0 V 27.807 +stroke 27.808 +518 1518 M 27.809 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 27.810 +] -46.7 MRshow 27.811 +1.000 UL 27.812 +LTb 27.813 +602 1785 M 27.814 +63 0 V 27.815 +stroke 27.816 +518 1785 M 27.817 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 27.818 +] -46.7 MRshow 27.819 +1.000 UL 27.820 +LTb 27.821 +602 2053 M 27.822 +63 0 V 27.823 +stroke 27.824 +518 2053 M 27.825 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 27.826 +] -46.7 MRshow 27.827 +1.000 UL 27.828 +LTb 27.829 +602 2320 M 27.830 +63 0 V 27.831 +stroke 27.832 +518 2320 M 27.833 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 27.834 +] -46.7 MRshow 27.835 +1.000 UL 27.836 +LTb 27.837 +602 2588 M 27.838 +63 0 V 27.839 +stroke 27.840 +518 2588 M 27.841 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 27.842 +] -46.7 MRshow 27.843 +1.000 UL 27.844 +LTb 27.845 +602 2855 M 27.846 +63 0 V 27.847 +stroke 27.848 +518 2855 M 27.849 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 27.850 +] -46.7 MRshow 27.851 +1.000 UL 27.852 +LTb 27.853 +602 448 M 27.854 +0 63 V 27.855 +stroke 27.856 +602 308 M 27.857 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 27.858 +] -46.7 MCshow 27.859 +1.000 UL 27.860 +LTb 27.861 +1035 448 M 27.862 +0 63 V 27.863 +stroke 27.864 +1035 308 M 27.865 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 27.866 +] -46.7 MCshow 27.867 +1.000 UL 27.868 +LTb 27.869 +1468 448 M 27.870 +0 63 V 27.871 +stroke 27.872 +1468 308 M 27.873 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 27.874 +] -46.7 MCshow 27.875 +1.000 UL 27.876 +LTb 27.877 +1901 448 M 27.878 +0 63 V 27.879 +stroke 27.880 +1901 308 M 27.881 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 27.882 +] -46.7 MCshow 27.883 +1.000 UL 27.884 +LTb 27.885 +2335 448 M 27.886 +0 63 V 27.887 +stroke 27.888 +2335 308 M 27.889 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 27.890 +] -46.7 MCshow 27.891 +1.000 UL 27.892 +LTb 27.893 +2768 448 M 27.894 +0 63 V 27.895 +stroke 27.896 +2768 308 M 27.897 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 27.898 +] -46.7 MCshow 27.899 +1.000 UL 27.900 +LTb 27.901 +3201 448 M 27.902 +0 63 V 27.903 +stroke 27.904 +3201 308 M 27.905 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 27.906 +] -46.7 MCshow 27.907 +1.000 UL 27.908 +LTb 27.909 +3634 448 M 27.910 +0 63 V 27.911 +stroke 27.912 +3634 308 M 27.913 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 27.914 +] -46.7 MCshow 27.915 +1.000 UL 27.916 +LTb 27.917 +4067 448 M 27.918 +0 63 V 27.919 +stroke 27.920 +4067 308 M 27.921 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 27.922 +] -46.7 MCshow 27.923 +1.000 UL 27.924 +LTb 27.925 +1.000 UL 27.926 +LTb 27.927 +602 2855 M 27.928 +602 448 L 27.929 +3465 0 V 27.930 +0 2407 R 27.931 +-3465 0 R 27.932 +stroke 27.933 +LCb setrgbcolor 27.934 +112 1651 M 27.935 +currentpoint gsave translate -270 rotate 0 0 moveto 27.936 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 27.937 +] -46.7 MCshow 27.938 +grestore 27.939 +LTb 27.940 +LCb setrgbcolor 27.941 +2334 98 M 27.942 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 27.943 +] -46.7 MCshow 27.944 +LTb 27.945 +1.000 UP 27.946 +1.000 UL 27.947 +LTb 27.948 +LCb setrgbcolor 27.949 +3538 2919 M 27.950 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 27.951 +] -46.7 MCshow 27.952 +LTb 27.953 +1.000 UL 27.954 +LTb 27.955 +2793 2289 N 27.956 +0 700 V 27.957 +1491 0 V 27.958 +0 -700 V 27.959 +-1491 0 V 27.960 +Z stroke 27.961 +2793 2849 M 27.962 +1491 0 V 27.963 +% Begin plot #1 27.964 +stroke 27.965 +4.000 UL 27.966 +LT5 27.967 +LC7 setrgbcolor 27.968 +LCb setrgbcolor 27.969 +3717 2779 M 27.970 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 27.971 +] -46.7 MRshow 27.972 +LT5 27.973 +LC7 setrgbcolor 27.974 +3801 2779 M 27.975 +399 0 V 27.976 +742 2855 M 27.977 +2 -67 V 27.978 +851 1788 L 27.979 +206 -591 V 27.980 +1473 836 L 27.981 +2306 644 L 27.982 +3967 545 L 27.983 +% End plot #1 27.984 +% Begin plot #2 27.985 +stroke 27.986 +LT6 27.987 +LCb setrgbcolor 27.988 +3717 2639 M 27.989 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 27.990 +] -46.7 MRshow 27.991 +LT6 27.992 +3801 2639 M 27.993 +399 0 V 27.994 +946 2855 M 27.995 +112 -798 V 27.996 +417 -761 V 27.997 +2304 901 L 27.998 +3971 681 L 27.999 +% End plot #2 27.1000 +% Begin plot #3 27.1001 +stroke 27.1002 +LT7 27.1003 +LC1 setrgbcolor 27.1004 +LCb setrgbcolor 27.1005 +3717 2499 M 27.1006 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 27.1007 +] -46.7 MRshow 27.1008 +LT7 27.1009 +LC1 setrgbcolor 27.1010 +3801 2499 M 27.1011 +399 0 V 27.1012 +1813 2855 M 27.1013 +496 -872 V 27.1014 +3972 1224 L 27.1015 +% End plot #3 27.1016 +% Begin plot #4 27.1017 +stroke 27.1018 +LT8 27.1019 +LCb setrgbcolor 27.1020 +3717 2359 M 27.1021 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 27.1022 +] -46.7 MRshow 27.1023 +LT8 27.1024 +3801 2359 M 27.1025 +399 0 V 27.1026 +% End plot #4 27.1027 +stroke 27.1028 +1.000 UL 27.1029 +LTb 27.1030 +602 2855 M 27.1031 +602 448 L 27.1032 +3465 0 V 27.1033 +0 2407 R 27.1034 +-3465 0 R 27.1035 +1.000 UP 27.1036 +602 448 M 27.1037 +63 0 V 27.1038 +stroke 27.1039 +518 448 M 27.1040 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 27.1041 +] -46.7 MRshow 27.1042 +1.000 UL 27.1043 +LTb 27.1044 +602 715 M 27.1045 +63 0 V 27.1046 +stroke 27.1047 +518 715 M 27.1048 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 27.1049 +] -46.7 MRshow 27.1050 +1.000 UL 27.1051 +LTb 27.1052 +602 983 M 27.1053 +63 0 V 27.1054 +stroke 27.1055 +518 983 M 27.1056 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 27.1057 +] -46.7 MRshow 27.1058 +1.000 UL 27.1059 +LTb 27.1060 +602 1250 M 27.1061 +63 0 V 27.1062 +stroke 27.1063 +518 1250 M 27.1064 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 27.1065 +] -46.7 MRshow 27.1066 +1.000 UL 27.1067 +LTb 27.1068 +602 1518 M 27.1069 +63 0 V 27.1070 +stroke 27.1071 +518 1518 M 27.1072 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 27.1073 +] -46.7 MRshow 27.1074 +1.000 UL 27.1075 +LTb 27.1076 +602 1785 M 27.1077 +63 0 V 27.1078 +stroke 27.1079 +518 1785 M 27.1080 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 27.1081 +] -46.7 MRshow 27.1082 +1.000 UL 27.1083 +LTb 27.1084 +602 2053 M 27.1085 +63 0 V 27.1086 +stroke 27.1087 +518 2053 M 27.1088 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 27.1089 +] -46.7 MRshow 27.1090 +1.000 UL 27.1091 +LTb 27.1092 +602 2320 M 27.1093 +63 0 V 27.1094 +stroke 27.1095 +518 2320 M 27.1096 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 27.1097 +] -46.7 MRshow 27.1098 +1.000 UL 27.1099 +LTb 27.1100 +602 2588 M 27.1101 +63 0 V 27.1102 +stroke 27.1103 +518 2588 M 27.1104 +[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 27.1105 +] -46.7 MRshow 27.1106 +1.000 UL 27.1107 +LTb 27.1108 +602 2855 M 27.1109 +63 0 V 27.1110 +stroke 27.1111 +518 2855 M 27.1112 +[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 27.1113 +] -46.7 MRshow 27.1114 +1.000 UL 27.1115 +LTb 27.1116 +602 448 M 27.1117 +0 63 V 27.1118 +stroke 27.1119 +602 308 M 27.1120 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 27.1121 +] -46.7 MCshow 27.1122 +1.000 UL 27.1123 +LTb 27.1124 +1035 448 M 27.1125 +0 63 V 27.1126 +stroke 27.1127 +1035 308 M 27.1128 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 27.1129 +] -46.7 MCshow 27.1130 +1.000 UL 27.1131 +LTb 27.1132 +1468 448 M 27.1133 +0 63 V 27.1134 +stroke 27.1135 +1468 308 M 27.1136 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 27.1137 +] -46.7 MCshow 27.1138 +1.000 UL 27.1139 +LTb 27.1140 +1901 448 M 27.1141 +0 63 V 27.1142 +stroke 27.1143 +1901 308 M 27.1144 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 27.1145 +] -46.7 MCshow 27.1146 +1.000 UL 27.1147 +LTb 27.1148 +2335 448 M 27.1149 +0 63 V 27.1150 +stroke 27.1151 +2335 308 M 27.1152 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 27.1153 +] -46.7 MCshow 27.1154 +1.000 UL 27.1155 +LTb 27.1156 +2768 448 M 27.1157 +0 63 V 27.1158 +stroke 27.1159 +2768 308 M 27.1160 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 27.1161 +] -46.7 MCshow 27.1162 +1.000 UL 27.1163 +LTb 27.1164 +3201 448 M 27.1165 +0 63 V 27.1166 +stroke 27.1167 +3201 308 M 27.1168 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 27.1169 +] -46.7 MCshow 27.1170 +1.000 UL 27.1171 +LTb 27.1172 +3634 448 M 27.1173 +0 63 V 27.1174 +stroke 27.1175 +3634 308 M 27.1176 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 27.1177 +] -46.7 MCshow 27.1178 +1.000 UL 27.1179 +LTb 27.1180 +4067 448 M 27.1181 +0 63 V 27.1182 +stroke 27.1183 +4067 308 M 27.1184 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 27.1185 +] -46.7 MCshow 27.1186 +1.000 UL 27.1187 +LTb 27.1188 +1.000 UL 27.1189 +LTb 27.1190 +602 2855 M 27.1191 +602 448 L 27.1192 +3465 0 V 27.1193 +0 2407 R 27.1194 +-3465 0 R 27.1195 +stroke 27.1196 +LCb setrgbcolor 27.1197 +112 1651 M 27.1198 +currentpoint gsave translate -270 rotate 0 0 moveto 27.1199 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 27.1200 +] -46.7 MCshow 27.1201 +grestore 27.1202 +LTb 27.1203 +LCb setrgbcolor 27.1204 +2334 98 M 27.1205 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 27.1206 +] -46.7 MCshow 27.1207 +LTb 27.1208 +1.000 UP 27.1209 +1.000 UL 27.1210 +LTb 27.1211 +LCb setrgbcolor 27.1212 +2022 2919 M 27.1213 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 27.1214 +] -46.7 MCshow 27.1215 +LTb 27.1216 +1.000 UL 27.1217 +LTb 27.1218 +1277 2289 N 27.1219 +0 700 V 27.1220 +1491 0 V 27.1221 +0 -700 V 27.1222 +-1491 0 V 27.1223 +Z stroke 27.1224 +1277 2849 M 27.1225 +1491 0 V 27.1226 +% Begin plot #1 27.1227 +stroke 27.1228 +4.000 UL 27.1229 +LT0 27.1230 +LCb setrgbcolor 27.1231 +2201 2779 M 27.1232 +[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 27.1233 +] -46.7 MRshow 27.1234 +LT0 27.1235 +2285 2779 M 27.1236 +399 0 V 27.1237 +654 2182 M 27.1238 +16 -334 V 27.1239 +24 -434 V 27.1240 +54 -354 V 27.1241 +852 815 L 27.1242 +1060 648 L 27.1243 +1474 537 L 27.1244 +832 -41 V 27.1245 +3969 471 L 27.1246 +% End plot #1 27.1247 +% Begin plot #2 27.1248 +stroke 27.1249 +LT2 27.1250 +LCb setrgbcolor 27.1251 +2201 2639 M 27.1252 +[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 27.1253 +] -46.7 MRshow 27.1254 +LT2 27.1255 +2285 2639 M 27.1256 +399 0 V 27.1257 +654 1786 M 27.1258 +16 -339 V 27.1259 +24 -169 V 27.1260 +748 917 L 27.1261 +852 723 L 27.1262 +1059 606 L 27.1263 +416 -79 V 27.1264 +832 -43 V 27.1265 +3969 467 L 27.1266 +% End plot #2 27.1267 +% Begin plot #3 27.1268 +stroke 27.1269 +LT3 27.1270 +LCb setrgbcolor 27.1271 +2201 2499 M 27.1272 +[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 27.1273 +] -46.7 MRshow 27.1274 +LT3 27.1275 +2285 2499 M 27.1276 +399 0 V 27.1277 +654 1837 M 27.1278 +16 -296 V 27.1279 +26 -324 V 27.1280 +748 970 L 27.1281 +851 740 L 27.1282 +1059 610 L 27.1283 +416 -81 V 27.1284 +832 -39 V 27.1285 +3970 466 L 27.1286 +% End plot #3 27.1287 +% Begin plot #4 27.1288 +stroke 27.1289 +LT4 27.1290 +LCb setrgbcolor 27.1291 +2201 2359 M 27.1292 +[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 27.1293 +] -46.7 MRshow 27.1294 +LT4 27.1295 +2285 2359 M 27.1296 +399 0 V 27.1297 +654 1958 M 27.1298 +14 -347 V 27.1299 +26 -349 V 27.1300 +748 965 L 27.1301 +850 751 L 27.1302 +1058 612 L 27.1303 +416 -83 V 27.1304 +833 -41 V 27.1305 +3970 467 L 27.1306 +% End plot #4 27.1307 +stroke 27.1308 +1.000 UL 27.1309 +LTb 27.1310 +602 2855 M 27.1311 +602 448 L 27.1312 +3465 0 V 27.1313 +0 2407 R 27.1314 +-3465 0 R 27.1315 +1.000 UP 27.1316 +stroke 27.1317 +grestore 27.1318 +end 27.1319 +showpage 27.1320 +%%Trailer 27.1321 +%%DocumentFonts: Helvetica 27.1322 +%%Pages: 1
28.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 28.2 +++ b/0__Papers/PStack/HotPar_2012/figures/plots_exec_vs_task_size/xoanon_pthread_vthread_40core_80_160_320_640thds__o30000__perfCtrs.eps Sun Mar 11 09:26:44 2012 -0700 28.3 @@ -0,0 +1,948 @@ 28.4 +%!PS-Adobe-2.0 28.5 +%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.eps 28.6 +%%Creator: gnuplot 4.4 patchlevel 2 28.7 +%%CreationDate: Thu Jan 26 18:27:40 2012 28.8 +%%DocumentFonts: (atend) 28.9 +%%BoundingBox: 251 50 554 482 28.10 +%%Orientation: Landscape 28.11 +%%Pages: (atend) 28.12 +%%EndComments 28.13 +%%BeginProlog 28.14 +/gnudict 256 dict def 28.15 +gnudict begin 28.16 +% 28.17 +% The following true/false flags may be edited by hand if desired. 28.18 +% The unit line width and grayscale image gamma correction may also be changed. 28.19 +% 28.20 +/Color true def 28.21 +/Blacktext false def 28.22 +/Solid false def 28.23 +/Dashlength 1 def 28.24 +/Landscape true def 28.25 +/Level1 false def 28.26 +/Rounded false def 28.27 +/ClipToBoundingBox false def 28.28 +/TransparentPatterns false def 28.29 +/gnulinewidth 5.000 def 28.30 +/userlinewidth gnulinewidth def 28.31 +/Gamma 1.0 def 28.32 +% 28.33 +/vshift -46 def 28.34 +/dl1 { 28.35 + 10.0 Dashlength mul mul 28.36 + Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 28.37 +} def 28.38 +/dl2 { 28.39 + 10.0 Dashlength mul mul 28.40 + Rounded { currentlinewidth 0.75 mul add } if 28.41 +} def 28.42 +/hpt_ 31.5 def 28.43 +/vpt_ 31.5 def 28.44 +/hpt hpt_ def 28.45 +/vpt vpt_ def 28.46 +Level1 {} { 28.47 +/SDict 10 dict def 28.48 +systemdict /pdfmark known not { 28.49 + userdict /pdfmark systemdict /cleartomark get put 28.50 +} if 28.51 +SDict begin [ 28.52 + /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.eps) 28.53 + /Subject (gnuplot plot) 28.54 + /Creator (gnuplot 4.4 patchlevel 2) 28.55 + /Author (msach) 28.56 +% /Producer (gnuplot) 28.57 +% /Keywords () 28.58 + /CreationDate (Thu Jan 26 18:27:40 2012) 28.59 + /DOCINFO pdfmark 28.60 +end 28.61 +} ifelse 28.62 +/doclip { 28.63 + ClipToBoundingBox { 28.64 + newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 28.65 + clip 28.66 + } if 28.67 +} def 28.68 +% 28.69 +% Gnuplot Prolog Version 4.4 (August 2010) 28.70 +% 28.71 +%/SuppressPDFMark true def 28.72 +% 28.73 +/M {moveto} bind def 28.74 +/L {lineto} bind def 28.75 +/R {rmoveto} bind def 28.76 +/V {rlineto} bind def 28.77 +/N {newpath moveto} bind def 28.78 +/Z {closepath} bind def 28.79 +/C {setrgbcolor} bind def 28.80 +/f {rlineto fill} bind def 28.81 +/g {setgray} bind def 28.82 +/Gshow {show} def % May be redefined later in the file to support UTF-8 28.83 +/vpt2 vpt 2 mul def 28.84 +/hpt2 hpt 2 mul def 28.85 +/Lshow {currentpoint stroke M 0 vshift R 28.86 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 28.87 +/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 28.88 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 28.89 +/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 28.90 + Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 28.91 +/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 28.92 + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 28.93 +/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 28.94 + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 28.95 +/BL {stroke userlinewidth 2 mul setlinewidth 28.96 + Rounded {1 setlinejoin 1 setlinecap} if} def 28.97 +/AL {stroke userlinewidth 2 div setlinewidth 28.98 + Rounded {1 setlinejoin 1 setlinecap} if} def 28.99 +/UL {dup gnulinewidth mul /userlinewidth exch def 28.100 + dup 1 lt {pop 1} if 10 mul /udl exch def} def 28.101 +/PL {stroke userlinewidth setlinewidth 28.102 + Rounded {1 setlinejoin 1 setlinecap} if} def 28.103 +3.8 setmiterlimit 28.104 +% Default Line colors 28.105 +/LCw {1 1 1} def 28.106 +/LCb {0 0 0} def 28.107 +/LCa {0 0 0} def 28.108 +/LC0 {1 0 0} def 28.109 +/LC1 {0 1 0} def 28.110 +/LC2 {0 0 1} def 28.111 +/LC3 {1 0 1} def 28.112 +/LC4 {0 1 1} def 28.113 +/LC5 {1 1 0} def 28.114 +/LC6 {0 0 0} def 28.115 +/LC7 {1 0.3 0} def 28.116 +/LC8 {0.5 0.5 0.5} def 28.117 +% Default Line Types 28.118 +/LTw {PL [] 1 setgray} def 28.119 +/LTb {BL [] LCb DL} def 28.120 +/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 28.121 +/LT0 {PL [] LC0 DL} def 28.122 +/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 28.123 +/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 28.124 +/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 28.125 +/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 28.126 +/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 28.127 +/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 28.128 +/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 28.129 +/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 28.130 +/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 28.131 +/Dia {stroke [] 0 setdash 2 copy vpt add M 28.132 + hpt neg vpt neg V hpt vpt neg V 28.133 + hpt vpt V hpt neg vpt V closepath stroke 28.134 + Pnt} def 28.135 +/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 28.136 + currentpoint stroke M 28.137 + hpt neg vpt neg R hpt2 0 V stroke 28.138 + } def 28.139 +/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 28.140 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 28.141 + hpt2 neg 0 V closepath stroke 28.142 + Pnt} def 28.143 +/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 28.144 + hpt2 vpt2 neg V currentpoint stroke M 28.145 + hpt2 neg 0 R hpt2 vpt2 V stroke} def 28.146 +/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 28.147 + hpt neg vpt -1.62 mul V 28.148 + hpt 2 mul 0 V 28.149 + hpt neg vpt 1.62 mul V closepath stroke 28.150 + Pnt} def 28.151 +/Star {2 copy Pls Crs} def 28.152 +/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 28.153 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 28.154 + hpt2 neg 0 V closepath fill} def 28.155 +/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 28.156 + hpt neg vpt -1.62 mul V 28.157 + hpt 2 mul 0 V 28.158 + hpt neg vpt 1.62 mul V closepath fill} def 28.159 +/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 28.160 + hpt neg vpt 1.62 mul V 28.161 + hpt 2 mul 0 V 28.162 + hpt neg vpt -1.62 mul V closepath stroke 28.163 + Pnt} def 28.164 +/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 28.165 + hpt neg vpt 1.62 mul V 28.166 + hpt 2 mul 0 V 28.167 + hpt neg vpt -1.62 mul V closepath fill} def 28.168 +/DiaF {stroke [] 0 setdash vpt add M 28.169 + hpt neg vpt neg V hpt vpt neg V 28.170 + hpt vpt V hpt neg vpt V closepath fill} def 28.171 +/Pent {stroke [] 0 setdash 2 copy gsave 28.172 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 28.173 + closepath stroke grestore Pnt} def 28.174 +/PentF {stroke [] 0 setdash gsave 28.175 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 28.176 + closepath fill grestore} def 28.177 +/Circle {stroke [] 0 setdash 2 copy 28.178 + hpt 0 360 arc stroke Pnt} def 28.179 +/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 28.180 +/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 28.181 +/C1 {BL [] 0 setdash 2 copy moveto 28.182 + 2 copy vpt 0 90 arc closepath fill 28.183 + vpt 0 360 arc closepath} bind def 28.184 +/C2 {BL [] 0 setdash 2 copy moveto 28.185 + 2 copy vpt 90 180 arc closepath fill 28.186 + vpt 0 360 arc closepath} bind def 28.187 +/C3 {BL [] 0 setdash 2 copy moveto 28.188 + 2 copy vpt 0 180 arc closepath fill 28.189 + vpt 0 360 arc closepath} bind def 28.190 +/C4 {BL [] 0 setdash 2 copy moveto 28.191 + 2 copy vpt 180 270 arc closepath fill 28.192 + vpt 0 360 arc closepath} bind def 28.193 +/C5 {BL [] 0 setdash 2 copy moveto 28.194 + 2 copy vpt 0 90 arc 28.195 + 2 copy moveto 28.196 + 2 copy vpt 180 270 arc closepath fill 28.197 + vpt 0 360 arc} bind def 28.198 +/C6 {BL [] 0 setdash 2 copy moveto 28.199 + 2 copy vpt 90 270 arc closepath fill 28.200 + vpt 0 360 arc closepath} bind def 28.201 +/C7 {BL [] 0 setdash 2 copy moveto 28.202 + 2 copy vpt 0 270 arc closepath fill 28.203 + vpt 0 360 arc closepath} bind def 28.204 +/C8 {BL [] 0 setdash 2 copy moveto 28.205 + 2 copy vpt 270 360 arc closepath fill 28.206 + vpt 0 360 arc closepath} bind def 28.207 +/C9 {BL [] 0 setdash 2 copy moveto 28.208 + 2 copy vpt 270 450 arc closepath fill 28.209 + vpt 0 360 arc closepath} bind def 28.210 +/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 28.211 + 2 copy moveto 28.212 + 2 copy vpt 90 180 arc closepath fill 28.213 + vpt 0 360 arc closepath} bind def 28.214 +/C11 {BL [] 0 setdash 2 copy moveto 28.215 + 2 copy vpt 0 180 arc closepath fill 28.216 + 2 copy moveto 28.217 + 2 copy vpt 270 360 arc closepath fill 28.218 + vpt 0 360 arc closepath} bind def 28.219 +/C12 {BL [] 0 setdash 2 copy moveto 28.220 + 2 copy vpt 180 360 arc closepath fill 28.221 + vpt 0 360 arc closepath} bind def 28.222 +/C13 {BL [] 0 setdash 2 copy moveto 28.223 + 2 copy vpt 0 90 arc closepath fill 28.224 + 2 copy moveto 28.225 + 2 copy vpt 180 360 arc closepath fill 28.226 + vpt 0 360 arc closepath} bind def 28.227 +/C14 {BL [] 0 setdash 2 copy moveto 28.228 + 2 copy vpt 90 360 arc closepath fill 28.229 + vpt 0 360 arc} bind def 28.230 +/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 28.231 + vpt 0 360 arc closepath} bind def 28.232 +/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 28.233 + neg 0 rlineto closepath} bind def 28.234 +/Square {dup Rec} bind def 28.235 +/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 28.236 +/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 28.237 +/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 28.238 +/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 28.239 +/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 28.240 +/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 28.241 +/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 28.242 + exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 28.243 +/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 28.244 +/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 28.245 + 2 copy vpt Square fill Bsquare} bind def 28.246 +/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 28.247 +/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 28.248 +/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 28.249 + Bsquare} bind def 28.250 +/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 28.251 + Bsquare} bind def 28.252 +/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 28.253 +/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 28.254 + 2 copy vpt Square fill Bsquare} bind def 28.255 +/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 28.256 + 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 28.257 +/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 28.258 +/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 28.259 +/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 28.260 +/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 28.261 +/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 28.262 +/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 28.263 +/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 28.264 +/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 28.265 +/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 28.266 +/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 28.267 +/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 28.268 +/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 28.269 +/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 28.270 +/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 28.271 +/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 28.272 +/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 28.273 +/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 28.274 +/DiaE {stroke [] 0 setdash vpt add M 28.275 + hpt neg vpt neg V hpt vpt neg V 28.276 + hpt vpt V hpt neg vpt V closepath stroke} def 28.277 +/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 28.278 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 28.279 + hpt2 neg 0 V closepath stroke} def 28.280 +/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 28.281 + hpt neg vpt -1.62 mul V 28.282 + hpt 2 mul 0 V 28.283 + hpt neg vpt 1.62 mul V closepath stroke} def 28.284 +/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 28.285 + hpt neg vpt 1.62 mul V 28.286 + hpt 2 mul 0 V 28.287 + hpt neg vpt -1.62 mul V closepath stroke} def 28.288 +/PentE {stroke [] 0 setdash gsave 28.289 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 28.290 + closepath stroke grestore} def 28.291 +/CircE {stroke [] 0 setdash 28.292 + hpt 0 360 arc stroke} def 28.293 +/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 28.294 +/DiaW {stroke [] 0 setdash vpt add M 28.295 + hpt neg vpt neg V hpt vpt neg V 28.296 + hpt vpt V hpt neg vpt V Opaque stroke} def 28.297 +/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 28.298 + 0 vpt2 neg V hpt2 0 V 0 vpt2 V 28.299 + hpt2 neg 0 V Opaque stroke} def 28.300 +/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 28.301 + hpt neg vpt -1.62 mul V 28.302 + hpt 2 mul 0 V 28.303 + hpt neg vpt 1.62 mul V Opaque stroke} def 28.304 +/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 28.305 + hpt neg vpt 1.62 mul V 28.306 + hpt 2 mul 0 V 28.307 + hpt neg vpt -1.62 mul V Opaque stroke} def 28.308 +/PentW {stroke [] 0 setdash gsave 28.309 + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 28.310 + Opaque stroke grestore} def 28.311 +/CircW {stroke [] 0 setdash 28.312 + hpt 0 360 arc Opaque stroke} def 28.313 +/BoxFill {gsave Rec 1 setgray fill grestore} def 28.314 +/Density { 28.315 + /Fillden exch def 28.316 + currentrgbcolor 28.317 + /ColB exch def /ColG exch def /ColR exch def 28.318 + /ColR ColR Fillden mul Fillden sub 1 add def 28.319 + /ColG ColG Fillden mul Fillden sub 1 add def 28.320 + /ColB ColB Fillden mul Fillden sub 1 add def 28.321 + ColR ColG ColB setrgbcolor} def 28.322 +/BoxColFill {gsave Rec PolyFill} def 28.323 +/PolyFill {gsave Density fill grestore grestore} def 28.324 +/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 28.325 +% 28.326 +% PostScript Level 1 Pattern Fill routine for rectangles 28.327 +% Usage: x y w h s a XX PatternFill 28.328 +% x,y = lower left corner of box to be filled 28.329 +% w,h = width and height of box 28.330 +% a = angle in degrees between lines and x-axis 28.331 +% XX = 0/1 for no/yes cross-hatch 28.332 +% 28.333 +/PatternFill {gsave /PFa [ 9 2 roll ] def 28.334 + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 28.335 + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 28.336 + gsave 1 setgray fill grestore clip 28.337 + currentlinewidth 0.5 mul setlinewidth 28.338 + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 28.339 + 0 0 M PFa 5 get rotate PFs -2 div dup translate 28.340 + 0 1 PFs PFa 4 get div 1 add floor cvi 28.341 + {PFa 4 get mul 0 M 0 PFs V} for 28.342 + 0 PFa 6 get ne { 28.343 + 0 1 PFs PFa 4 get div 1 add floor cvi 28.344 + {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 28.345 + } if 28.346 + stroke grestore} def 28.347 +% 28.348 +/languagelevel where 28.349 + {pop languagelevel} {1} ifelse 28.350 + 2 lt 28.351 + {/InterpretLevel1 true def} 28.352 + {/InterpretLevel1 Level1 def} 28.353 + ifelse 28.354 +% 28.355 +% PostScript level 2 pattern fill definitions 28.356 +% 28.357 +/Level2PatternFill { 28.358 +/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 28.359 + bind def 28.360 +/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 28.361 +<< Tile8x8 28.362 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 28.363 +>> matrix makepattern 28.364 +/Pat1 exch def 28.365 +<< Tile8x8 28.366 + /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 28.367 + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 28.368 +>> matrix makepattern 28.369 +/Pat2 exch def 28.370 +<< Tile8x8 28.371 + /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 28.372 + 8 8 L 8 0 L 0 0 L fill} 28.373 +>> matrix makepattern 28.374 +/Pat3 exch def 28.375 +<< Tile8x8 28.376 + /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 28.377 + 0 12 M 12 0 L stroke} 28.378 +>> matrix makepattern 28.379 +/Pat4 exch def 28.380 +<< Tile8x8 28.381 + /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 28.382 + 0 -4 M 12 8 L stroke} 28.383 +>> matrix makepattern 28.384 +/Pat5 exch def 28.385 +<< Tile8x8 28.386 + /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 28.387 + 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 28.388 +>> matrix makepattern 28.389 +/Pat6 exch def 28.390 +<< Tile8x8 28.391 + /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 28.392 + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 28.393 +>> matrix makepattern 28.394 +/Pat7 exch def 28.395 +<< Tile8x8 28.396 + /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 28.397 + 12 0 M -4 8 L 12 4 M 0 10 L stroke} 28.398 +>> matrix makepattern 28.399 +/Pat8 exch def 28.400 +<< Tile8x8 28.401 + /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 28.402 + -4 0 M 12 8 L -4 4 M 8 10 L stroke} 28.403 +>> matrix makepattern 28.404 +/Pat9 exch def 28.405 +/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 28.406 +/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 28.407 +/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 28.408 +/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 28.409 +/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 28.410 +/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 28.411 +/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 28.412 +} def 28.413 +% 28.414 +% 28.415 +%End of PostScript Level 2 code 28.416 +% 28.417 +/PatternBgnd { 28.418 + TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 28.419 +} def 28.420 +% 28.421 +% Substitute for Level 2 pattern fill codes with 28.422 +% grayscale if Level 2 support is not selected. 28.423 +% 28.424 +/Level1PatternFill { 28.425 +/Pattern1 {0.250 Density} bind def 28.426 +/Pattern2 {0.500 Density} bind def 28.427 +/Pattern3 {0.750 Density} bind def 28.428 +/Pattern4 {0.125 Density} bind def 28.429 +/Pattern5 {0.375 Density} bind def 28.430 +/Pattern6 {0.625 Density} bind def 28.431 +/Pattern7 {0.875 Density} bind def 28.432 +} def 28.433 +% 28.434 +% Now test for support of Level 2 code 28.435 +% 28.436 +Level1 {Level1PatternFill} {Level2PatternFill} ifelse 28.437 +% 28.438 +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 28.439 +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 28.440 +currentdict end definefont pop 28.441 +/MFshow { 28.442 + { dup 5 get 3 ge 28.443 + { 5 get 3 eq {gsave} {grestore} ifelse } 28.444 + {dup dup 0 get findfont exch 1 get scalefont setfont 28.445 + [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 28.446 + get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 28.447 + {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 28.448 + get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 28.449 + dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 28.450 + show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 28.451 + pop aload pop M} ifelse }ifelse }ifelse } 28.452 + ifelse } 28.453 + forall} def 28.454 +/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 28.455 +/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 28.456 + {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 28.457 + 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 28.458 +/MLshow { currentpoint stroke M 28.459 + 0 exch R 28.460 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 28.461 +/MRshow { currentpoint stroke M 28.462 + exch dup MFwidth neg 3 -1 roll R 28.463 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 28.464 +/MCshow { currentpoint stroke M 28.465 + exch dup MFwidth -2 div 3 -1 roll R 28.466 + Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 28.467 +/XYsave { [( ) 1 2 true false 3 ()] } bind def 28.468 +/XYrestore { [( ) 1 2 true false 4 ()] } bind def 28.469 +end 28.470 +%%EndProlog 28.471 +%%Page: 1 1 28.472 +gnudict begin 28.473 +gsave 28.474 +doclip 28.475 +50 50 translate 28.476 +0.100 0.100 scale 28.477 +90 rotate 28.478 +0 -5040 translate 28.479 +0 setgray 28.480 +newpath 28.481 +(Helvetica) findfont 140 scalefont setfont 28.482 +1.000 UL 28.483 +LTb 28.484 +686 922 M 28.485 +63 0 V 28.486 +stroke 28.487 +602 922 M 28.488 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 28.489 +] -46.7 MRshow 28.490 +1.000 UL 28.491 +LTb 28.492 +686 1405 M 28.493 +63 0 V 28.494 +stroke 28.495 +602 1405 M 28.496 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 28.497 +] -46.7 MRshow 28.498 +1.000 UL 28.499 +LTb 28.500 +686 1888 M 28.501 +63 0 V 28.502 +stroke 28.503 +602 1888 M 28.504 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 28.505 +] -46.7 MRshow 28.506 +1.000 UL 28.507 +LTb 28.508 +686 2372 M 28.509 +63 0 V 28.510 +stroke 28.511 +602 2372 M 28.512 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 28.513 +] -46.7 MRshow 28.514 +1.000 UL 28.515 +LTb 28.516 +686 2855 M 28.517 +63 0 V 28.518 +stroke 28.519 +602 2855 M 28.520 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 28.521 +] -46.7 MRshow 28.522 +1.000 UL 28.523 +LTb 28.524 +686 448 M 28.525 +0 63 V 28.526 +stroke 28.527 +686 308 M 28.528 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 28.529 +] -46.7 MCshow 28.530 +1.000 UL 28.531 +LTb 28.532 +1109 448 M 28.533 +0 63 V 28.534 +stroke 28.535 +1109 308 M 28.536 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 28.537 +] -46.7 MCshow 28.538 +1.000 UL 28.539 +LTb 28.540 +1531 448 M 28.541 +0 63 V 28.542 +stroke 28.543 +1531 308 M 28.544 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 28.545 +] -46.7 MCshow 28.546 +1.000 UL 28.547 +LTb 28.548 +1954 448 M 28.549 +0 63 V 28.550 +stroke 28.551 +1954 308 M 28.552 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 28.553 +] -46.7 MCshow 28.554 +1.000 UL 28.555 +LTb 28.556 +2377 448 M 28.557 +0 63 V 28.558 +stroke 28.559 +2377 308 M 28.560 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 28.561 +] -46.7 MCshow 28.562 +1.000 UL 28.563 +LTb 28.564 +2799 448 M 28.565 +0 63 V 28.566 +stroke 28.567 +2799 308 M 28.568 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 28.569 +] -46.7 MCshow 28.570 +1.000 UL 28.571 +LTb 28.572 +3222 448 M 28.573 +0 63 V 28.574 +stroke 28.575 +3222 308 M 28.576 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 28.577 +] -46.7 MCshow 28.578 +1.000 UL 28.579 +LTb 28.580 +3644 448 M 28.581 +0 63 V 28.582 +stroke 28.583 +3644 308 M 28.584 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 28.585 +] -46.7 MCshow 28.586 +1.000 UL 28.587 +LTb 28.588 +4067 448 M 28.589 +0 63 V 28.590 +stroke 28.591 +4067 308 M 28.592 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 28.593 +] -46.7 MCshow 28.594 +1.000 UL 28.595 +LTb 28.596 +1.000 UL 28.597 +LTb 28.598 +686 2855 M 28.599 +686 448 L 28.600 +3381 0 V 28.601 +0 2407 R 28.602 +-3381 0 R 28.603 +stroke 28.604 +LCb setrgbcolor 28.605 +112 1651 M 28.606 +currentpoint gsave translate -270 rotate 0 0 moveto 28.607 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 28.608 +] -46.7 MCshow 28.609 +grestore 28.610 +LTb 28.611 +LCb setrgbcolor 28.612 +2376 98 M 28.613 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 28.614 +] -46.7 MCshow 28.615 +LTb 28.616 +1.000 UP 28.617 +1.000 UL 28.618 +LTb 28.619 +LCb setrgbcolor 28.620 +3532 2882 M 28.621 +[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 28.622 +] -46.7 MCshow 28.623 +LTb 28.624 +1.000 UL 28.625 +LTb 28.626 +2787 2252 N 28.627 +0 700 V 28.628 +1491 0 V 28.629 +0 -700 V 28.630 +-1491 0 V 28.631 +Z stroke 28.632 +2787 2812 M 28.633 +1491 0 V 28.634 +% Begin plot #1 28.635 +stroke 28.636 +4.000 UL 28.637 +LT5 28.638 +LC7 setrgbcolor 28.639 +LCb setrgbcolor 28.640 +3711 2742 M 28.641 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 28.642 +] -46.7 MRshow 28.643 +LT5 28.644 +LC7 setrgbcolor 28.645 +3795 2742 M 28.646 +399 0 V 28.647 +1735 2855 M 28.648 +662 -919 V 28.649 +4067 1238 L 28.650 +% End plot #1 28.651 +% Begin plot #2 28.652 +stroke 28.653 +LT6 28.654 +LCb setrgbcolor 28.655 +3711 2602 M 28.656 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 28.657 +] -46.7 MRshow 28.658 +LT6 28.659 +3795 2602 M 28.660 +399 0 V 28.661 +1748 2855 M 28.662 +2555 1723 L 28.663 +4067 1065 L 28.664 +% End plot #2 28.665 +% Begin plot #3 28.666 +stroke 28.667 +LT7 28.668 +LC1 setrgbcolor 28.669 +LCb setrgbcolor 28.670 +3711 2462 M 28.671 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 28.672 +] -46.7 MRshow 28.673 +LT7 28.674 +LC1 setrgbcolor 28.675 +3795 2462 M 28.676 +399 0 V 28.677 +1420 2855 M 28.678 +170 -542 V 28.679 +784 -867 V 28.680 +3986 870 L 28.681 +% End plot #3 28.682 +% Begin plot #4 28.683 +stroke 28.684 +LT8 28.685 +LCb setrgbcolor 28.686 +3711 2322 M 28.687 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 28.688 +] -46.7 MRshow 28.689 +LT8 28.690 +3795 2322 M 28.691 +399 0 V 28.692 +1802 2855 M 28.693 +572 -574 V 28.694 +4007 1207 L 28.695 +% End plot #4 28.696 +stroke 28.697 +1.000 UL 28.698 +LTb 28.699 +686 2855 M 28.700 +686 448 L 28.701 +3381 0 V 28.702 +0 2407 R 28.703 +-3381 0 R 28.704 +1.000 UP 28.705 +686 922 M 28.706 +63 0 V 28.707 +stroke 28.708 +602 922 M 28.709 +[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 28.710 +] -46.7 MRshow 28.711 +1.000 UL 28.712 +LTb 28.713 +686 1405 M 28.714 +63 0 V 28.715 +stroke 28.716 +602 1405 M 28.717 +[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 28.718 +] -46.7 MRshow 28.719 +1.000 UL 28.720 +LTb 28.721 +686 1888 M 28.722 +63 0 V 28.723 +stroke 28.724 +602 1888 M 28.725 +[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 28.726 +] -46.7 MRshow 28.727 +1.000 UL 28.728 +LTb 28.729 +686 2372 M 28.730 +63 0 V 28.731 +stroke 28.732 +602 2372 M 28.733 +[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 28.734 +] -46.7 MRshow 28.735 +1.000 UL 28.736 +LTb 28.737 +686 2855 M 28.738 +63 0 V 28.739 +stroke 28.740 +602 2855 M 28.741 +[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 28.742 +] -46.7 MRshow 28.743 +1.000 UL 28.744 +LTb 28.745 +686 448 M 28.746 +0 63 V 28.747 +stroke 28.748 +686 308 M 28.749 +[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 28.750 +] -46.7 MCshow 28.751 +1.000 UL 28.752 +LTb 28.753 +1109 448 M 28.754 +0 63 V 28.755 +stroke 28.756 +1109 308 M 28.757 +[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 28.758 +] -46.7 MCshow 28.759 +1.000 UL 28.760 +LTb 28.761 +1531 448 M 28.762 +0 63 V 28.763 +stroke 28.764 +1531 308 M 28.765 +[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 28.766 +] -46.7 MCshow 28.767 +1.000 UL 28.768 +LTb 28.769 +1954 448 M 28.770 +0 63 V 28.771 +stroke 28.772 +1954 308 M 28.773 +[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 28.774 +] -46.7 MCshow 28.775 +1.000 UL 28.776 +LTb 28.777 +2377 448 M 28.778 +0 63 V 28.779 +stroke 28.780 +2377 308 M 28.781 +[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 28.782 +] -46.7 MCshow 28.783 +1.000 UL 28.784 +LTb 28.785 +2799 448 M 28.786 +0 63 V 28.787 +stroke 28.788 +2799 308 M 28.789 +[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 28.790 +] -46.7 MCshow 28.791 +1.000 UL 28.792 +LTb 28.793 +3222 448 M 28.794 +0 63 V 28.795 +stroke 28.796 +3222 308 M 28.797 +[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 28.798 +] -46.7 MCshow 28.799 +1.000 UL 28.800 +LTb 28.801 +3644 448 M 28.802 +0 63 V 28.803 +stroke 28.804 +3644 308 M 28.805 +[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 28.806 +] -46.7 MCshow 28.807 +1.000 UL 28.808 +LTb 28.809 +4067 448 M 28.810 +0 63 V 28.811 +stroke 28.812 +4067 308 M 28.813 +[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 28.814 +] -46.7 MCshow 28.815 +1.000 UL 28.816 +LTb 28.817 +1.000 UL 28.818 +LTb 28.819 +686 2855 M 28.820 +686 448 L 28.821 +3381 0 V 28.822 +0 2407 R 28.823 +-3381 0 R 28.824 +stroke 28.825 +LCb setrgbcolor 28.826 +112 1651 M 28.827 +currentpoint gsave translate -270 rotate 0 0 moveto 28.828 +[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 28.829 +] -46.7 MCshow 28.830 +grestore 28.831 +LTb 28.832 +LCb setrgbcolor 28.833 +2376 98 M 28.834 +[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 28.835 +] -46.7 MCshow 28.836 +LTb 28.837 +1.000 UP 28.838 +1.000 UL 28.839 +LTb 28.840 +LCb setrgbcolor 28.841 +2011 2882 M 28.842 +[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 28.843 +] -46.7 MCshow 28.844 +LTb 28.845 +1.000 UL 28.846 +LTb 28.847 +1266 2252 N 28.848 +0 700 V 28.849 +1491 0 V 28.850 +0 -700 V 28.851 +-1491 0 V 28.852 +Z stroke 28.853 +1266 2812 M 28.854 +1491 0 V 28.855 +% Begin plot #1 28.856 +stroke 28.857 +4.000 UL 28.858 +LT0 28.859 +LCb setrgbcolor 28.860 +2190 2742 M 28.861 +[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 28.862 +] -46.7 MRshow 28.863 +LT0 28.864 +2274 2742 M 28.865 +399 0 V 28.866 +743 626 M 28.867 +22 -61 V 28.868 +39 -36 V 28.869 +75 -37 V 28.870 +154 -17 V 28.871 +303 -13 V 28.872 +609 -7 V 28.873 +1218 -2 V 28.874 +904 -1 V 28.875 +% End plot #1 28.876 +% Begin plot #2 28.877 +stroke 28.878 +LT2 28.879 +LCb setrgbcolor 28.880 +2190 2602 M 28.881 +[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 28.882 +] -46.7 MRshow 28.883 +LT2 28.884 +2274 2602 M 28.885 +399 0 V 28.886 +743 575 M 28.887 +24 4 V 28.888 +36 -82 V 28.889 +76 -20 V 28.890 +153 -6 V 28.891 +303 -12 V 28.892 +609 -4 V 28.893 +1217 -4 V 28.894 +906 -1 V 28.895 +% End plot #2 28.896 +% Begin plot #3 28.897 +stroke 28.898 +LT3 28.899 +LCb setrgbcolor 28.900 +2190 2462 M 28.901 +[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 28.902 +] -46.7 MRshow 28.903 +LT3 28.904 +2274 2462 M 28.905 +399 0 V 28.906 +742 581 M 28.907 +24 -38 V 28.908 +39 -9 V 28.909 +76 -41 V 28.910 +151 -19 V 28.911 +304 -11 V 28.912 +610 -7 V 28.913 +1216 -5 V 28.914 +905 -1 V 28.915 +% End plot #3 28.916 +% Begin plot #4 28.917 +stroke 28.918 +LT4 28.919 +LCb setrgbcolor 28.920 +2190 2322 M 28.921 +[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 28.922 +] -46.7 MRshow 28.923 +LT4 28.924 +2274 2322 M 28.925 +399 0 V 28.926 +743 589 M 28.927 +23 -41 V 28.928 +38 -29 V 28.929 +77 -20 V 28.930 +151 -28 V 28.931 +303 -12 V 28.932 +610 -4 V 28.933 +1217 -4 V 28.934 +905 0 V 28.935 +% End plot #4 28.936 +stroke 28.937 +1.000 UL 28.938 +LTb 28.939 +686 2855 M 28.940 +686 448 L 28.941 +3381 0 V 28.942 +0 2407 R 28.943 +-3381 0 R 28.944 +1.000 UP 28.945 +stroke 28.946 +grestore 28.947 +end 28.948 +showpage 28.949 +%%Trailer 28.950 +%%DocumentFonts: Helvetica 28.951 +%%Pages: 1
29.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 29.2 +++ b/0__Papers/PStack/HotPar_2012/helpers/07_F_26__The_Questions__blank.txt Sun Mar 11 09:26:44 2012 -0700 29.3 @@ -0,0 +1,100 @@ 29.4 + 29.5 + 29.6 +1) What are the problems the authors are trying to solve? 29.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. 29.8 + 29.9 +The problem is 29.10 + 29.11 +A priority domain for deciding the value of some proposed solution to this problem is 29.12 + 29.13 +The value of this solution is determined by 29.14 + 29.15 + 29.16 + 29.17 +2) What "things" does the proposed solution to this problem enable? 29.18 + What benefit to reader is bought by each "thing", & what related to the "thing", gives the benefit. 29.19 + What details are unique about the proposed solution that enables the thing that gives benefit? 29.20 + How does that uniqueness enable or achieve the thing? 29.21 + 29.22 +It enables 29.23 + 29.24 +The benefit to me is 29.25 + 29.26 +Unique details of solution that enable the thing gives benefit are 29.27 + 29.28 +The uniqueness enables the thing that gives benefit by 29.29 + 29.30 + 29.31 + 29.32 +3) What are the fundamentals underlying the problem? 29.33 + What makes this problem hard? 29.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 29.35 +How does the proposed solution work within/relate to/address/take advantage of/deal with the fundamentals underlying the problem? 29.36 + 29.37 +The fundamentals are 29.38 + 29.39 +The hard part is 29.40 + 29.41 +The basic elements are 29.42 + 29.43 +The proposed solution 29.44 + 29.45 + 29.46 + 29.47 +4) What are other approaches and conventional wisdom to solving these problems? 29.48 + What benefits enabled by the proposed solution are not enabled by other work, and vice versa? 29.49 + How does each approach address something the others miss? 29.50 + Try to suggest groupings or categories for the various approaches. 29.51 + Try to suggest ways multiple approaches may be combined to get more pros with fewer cons. 29.52 + 29.53 +Other approaches are 29.54 + 29.55 +A benefit enabled by the proposed that is not enabled by other work is 29.56 + 29.57 +Categories: 29.58 + 29.59 +Combining: 29.60 + 29.61 + 29.62 + 29.63 +5) What is/are the unique main "things" that enable what the proposed solution does? 29.64 + Sketch the details of each of these "things". 29.65 + Did you detect any drawbacks, not stated in the paper, from the details? 29.66 + Did you see any really cool techniques? 29.67 + 29.68 +Unique main "things" are 29.69 + 29.70 +Drawbacks from details: 29.71 + 29.72 +Idea of 29.73 + 29.74 + 29.75 + 29.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? 29.77 + 29.78 +They have to show 29.79 + 29.80 + 29.81 + 29.82 +7) What results did they show? 29.83 + Did they show results in all the needed aspects (which were left out)? 29.84 + Were the testing method and results shown good enough to convince you? 29.85 + Did you detect any cons, not stated in the paper, from the results? 29.86 + 29.87 +They showed 29.88 + 29.89 +Con.. 29.90 + 29.91 + 29.92 + 29.93 +8) How do you think this work may provide some value to you in your future research? 29.94 + 29.95 +The work my provide value for me 29.96 + 29.97 + 29.98 + 29.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). 29.100 + 29.101 +1) 29.102 + 29.103 + 29.104 \ No newline at end of file
30.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 30.2 +++ b/0__Papers/PStack/HotPar_2012/helpers/bib_for_papers.bib Sun Mar 11 09:26:44 2012 -0700 30.3 @@ -0,0 +1,1257 @@ 30.4 + 30.5 + 30.6 + 30.7 +"" 30.8 +@Article{, 30.9 + author = {}, 30.10 + title = {}, 30.11 + journal = {}, 30.12 + volume = {}, 30.13 + number = {}, 30.14 + year = {}, 30.15 + pages = {} 30.16 +} 30.17 + 30.18 + 30.19 + 30.20 +"" 30.21 +@Book{, 30.22 + author = {}, 30.23 + title = {}, 30.24 + publisher = {}, 30.25 + year = {}, 30.26 + pages = {} 30.27 +} 30.28 + 30.29 + 30.30 + 30.31 +"" 30.32 +@misc{, 30.33 + author = {}, 30.34 + title = {}, 30.35 + url = {} 30.36 +} 30.37 + 30.38 + 30.39 +"Lamport paper with clock sync" 30.40 +@article{Lamport78, 30.41 + author = {Lamport, Leslie}, 30.42 + title = {Time, clocks, and the ordering of events in a distributed system}, 30.43 + journal = {Commun. ACM}, 30.44 + volume = {21}, 30.45 + issue = {7}, 30.46 + year = {1978}, 30.47 + pages = {558--565}, 30.48 + } 30.49 + 30.50 +"Lamport paper with mutex lock algorithm" 30.51 +@article{Lamport87, 30.52 + author = {Lamport, Leslie}, 30.53 + title = {A fast mutual exclusion algorithm}, 30.54 + journal = {ACM Trans. Comput. Syst.}, 30.55 + volume = {5}, 30.56 + issue = {1}, 30.57 + year = {1987}, 30.58 + pages = {1--11} 30.59 +} 30.60 + 30.61 +"Dijkstra semaphore definition paper" 30.62 +@inproceedings{Dijkstra67, 30.63 + author = {Dijkstra, Edsger W.}, 30.64 + title = {The structure of the "{THE}"-multiprogramming system}, 30.65 + booktitle = {Proceedings of the first ACM symposium on Operating System Principles}, 30.66 + series = {SOSP '67}, 30.67 + year = {1967}, 30.68 + pages = {10.1--10.6} 30.69 + } 30.70 + 30.71 +"Original coroutine paper" 30.72 +@article{Conway63, 30.73 + author = {Conway, Melvin E.}, 30.74 + title = {Design of a separable transition-diagram compiler}, 30.75 + journal = {Commun. ACM}, 30.76 + volume = {6}, 30.77 + issue = {7}, 30.78 + year = {1963}, 30.79 + pages = {396--408} 30.80 +} 30.81 + 30.82 +"Component model book Leavens G, Sitaraman M(eds.). Foundations of Component-Based Systems. Cambridge University Press: Cambridge, 2000" 30.83 +@Book{ComponentModel00, 30.84 + author = {G Leavens and M Sitaraman (eds)}, 30.85 + title = {Foundations of Component-Based Systems}, 30.86 + publisher = {Cambridge University Press}, 30.87 + year = {2000} 30.88 +} 30.89 + 30.90 + 30.91 +"Hewitt Actors Ref on ArXiv" 30.92 +@misc{Hewitt10, 30.93 + author = {Carl Hewitt}, 30.94 + title = {Actor Model of Computation}, 30.95 + year = {2010}, 30.96 + note = {http://arxiv.org/abs/1008.1459} 30.97 +} 30.98 + 30.99 +"Actors paper -- AGHA has a 1985 tech report looks like it introduces Actors as an execution model..?" 30.100 +@article{Actors97, 30.101 +author = {Agha,G. and Mason,I. and Smith,S. and Talcott,C.}, 30.102 +title = {A foundation for actor computation}, 30.103 +journal = {Journal of Functional Programming}, 30.104 +volume = {7}, 30.105 +number = {01}, 30.106 +pages = {1-72}, 30.107 +year = {1997}, 30.108 +} 30.109 + 30.110 +"Scheduler Activations: M onto N thread technique" 30.111 +@article{SchedActivations, 30.112 + author = {Anderson, Thomas E. and Bershad, Brian N. and Lazowska, Edward D. and Levy, Henry M.}, 30.113 + title = {Scheduler activations: effective kernel support for the user-level management of parallelism}, 30.114 + journal = {ACM Trans. Comput. Syst.}, 30.115 + volume = {10}, 30.116 + issue = {1}, 30.117 + month = {February}, 30.118 + year = {1992}, 30.119 + pages = {53--79} 30.120 +} 30.121 + 30.122 +"BOM in Manticore project: functional language for scheduling and concurrency" 30.123 +@inproceedings{BOMinManticore, 30.124 + author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam and Xiao, Yingqi}, 30.125 + title = {Manticore: a heterogeneous parallel language}, 30.126 + booktitle = {Proceedings of the 2007 workshop on Declarative aspects of multicore programming}, 30.127 + series = {DAMP '07}, 30.128 + year = {2007}, 30.129 + pages = {37--44}, 30.130 + numpages = {8} 30.131 +} 30.132 + 30.133 + 30.134 +//===================================== 30.135 +"Gain from Chaos tech report" 30.136 +@techreport 30.137 + {Halle92, 30.138 + Author = {Halle, K.S. and Chua, Leon O. and Anishchenko, V.S. and Safonova, M.A.}, 30.139 + Title = {Signal Amplification via Chaos: Experimental Evidence}, 30.140 + Institution = {EECS Department, University of California, Berkeley}, 30.141 + Year = {1992}, 30.142 + URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/2223.html}, 30.143 + Number = {UCB/ERL M92/130} 30.144 +} 30.145 + 30.146 + 30.147 +Reprinted in: 30.148 +Madan, R. N. (1993) Chua’s Circuit : A Paradigm for Chaos, World Scientific, Singapore. 30.149 +"Signal Amplification via Chaos: Experimental Evidence" 30.150 +K.S. Halle, Leon O. Chua, V.S. Anishchenko and M.A. Safonova 30.151 +pgs 290-308 30.152 + 30.153 + 30.154 +"Spread Spectrum Communication Through Modulation of Chaos" 30.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. 30.156 +cited by 232 30.157 + 30.158 + 30.159 +"Experimental Demonstration of Secure Communications Via Chaotic Synchronization" 30.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. 30.161 + 30.162 + 30.163 +//========================================== 30.164 + 30.165 +"BLIS 2010 HotPar: Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware" 30.166 +@inproceedings 30.167 + {BLISInHotPar, 30.168 + author = {Sean Halle and Albert Cohen}, 30.169 + booktitle = {HOTPAR '10: USENIX Workshop on Hot Topics in Parallelism}, 30.170 + month = {June}, 30.171 + title = {Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware}, 30.172 + year = {2010} 30.173 + } 30.174 + 30.175 +"2011 HotPar: " 30.176 +@inproceedings 30.177 + {HotPar11, 30.178 + author = {Sean Halle and Albert Cohen}, 30.179 + booktitle = {HOTPAR '11: USENIX Workshop on Hot Topics in Parallelism}, 30.180 + month = {May}, 30.181 + title = {}, 30.182 + year = {2011} 30.183 + } 30.184 + 30.185 +"VMS in LCPC 2011" 30.186 +@article{VMSLCPC, 30.187 + author = {Sean Halle and Albert Cohen}, 30.188 + title = {A Mutable Hardware Abstraction to Replace Threads}, 30.189 + journal = {24th International Workshop on Languages and Compilers for Parallel Languages (LCPC11)}, 30.190 + year = {2011} 30.191 +} 30.192 + 30.193 + 30.194 +"A Framework to Support Research on Portable High Performance Parallelism" 30.195 +@misc{FrameworkTechRep, 30.196 + Author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert}, 30.197 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf}, 30.198 + Title = {A Framework to Support Research on Portable High Performance Parallelism}, 30.199 + Year = 2010 30.200 +} 30.201 + 30.202 +"DKU Pattern for Performance Portable Parallel Software" 30.203 +@misc{DKUTechRep, 30.204 + Author = {Halle, Sean and Cohen, Albert}, 30.205 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-06.pdf}, 30.206 + Title = {DKU Pattern for Performance Portable Parallel Software}, 30.207 + Year = 2009 30.208 +} 30.209 + 30.210 +"An Extensible Parallel Language" 30.211 +@misc{EQNLangTechRep, 30.212 + Author = {Halle, Sean}, 30.213 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-16.pdf}, 30.214 + Title = {An Extensible Parallel Language}, 30.215 + Year = 2009 30.216 +} 30.217 + 30.218 +"A Hardware-Independent Parallel Operating System Abstraction Layer" 30.219 +@misc{CTOSTechRep, 30.220 + Author = {Halle, Sean}, 30.221 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-15.pdf}, 30.222 + Title = {A Hardware-Independent Parallel Operating System Abstraction LayerParallelism}, 30.223 + Year = 2009 30.224 +} 30.225 + 30.226 +"Parallel Language Extensions for Side Effects" 30.227 +@misc{SideEffectsTechRep, 30.228 + Author = {Halle, Sean and Cohen, Albert}, 30.229 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-14.pdf}, 30.230 + Title = {Parallel Language Extensions for Side Effects}, 30.231 + Year = 2009 30.232 +} 30.233 + 30.234 + 30.235 +"BaCTiL: Base CodeTime Language" 30.236 +@misc{BaCTiLTechRep, 30.237 + Author = {Halle, Sean}, 30.238 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-08.pdf}, 30.239 + Title = {BaCTiL: Base CodeTime Language}, 30.240 + Year = 2006 30.241 +} 30.242 + 30.243 + 30.244 +"The Elements of the CodeTime Software Platform" 30.245 +@misc{CTPlatformTechRep, 30.246 + Author = {Halle, Sean}, 30.247 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-09.pdf}, 30.248 + Title = {The Elements of the CodeTime Software Platform}, 30.249 + Year = 2006 30.250 +} 30.251 + 30.252 + 30.253 +"A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform" 30.254 +@misc{CTRTTechRep, 30.255 + Author = {Halle, Sean}, 30.256 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-10.pdf}, 30.257 + Title = {A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform}, 30.258 + Year = 2006 30.259 +} 30.260 + 30.261 + 30.262 +"The Big-Step Operational Semantics of CodeTime Circuits" 30.263 +@misc{FrameworkTechRep, 30.264 + Author = {Halle, Sean}, 30.265 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-11.pdf}, 30.266 + Title = {The Big-Step Operational Semantics of CodeTime Circuits}, 30.267 + Year = 2006 30.268 +} 30.269 + 30.270 + 30.271 +"A Mental Framework for use in Creating Hardware Independent Parallel Languages" 30.272 +@misc{FrameworkTechRep, 30.273 + Author = {Halle, Sean}, 30.274 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-12.pdf}, 30.275 + Title = {A Mental Framework for use in Creating Hardware Independent Parallel Languages}, 30.276 + Year = 2006 30.277 +} 30.278 + 30.279 + 30.280 +"The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform" 30.281 +@misc{CIPTechRep, 30.282 + Author = {Halle, Sean}, 30.283 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2005/ucsc-crl-05-05.pdf}, 30.284 + Title = {The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform}, 30.285 + Year = 2005 30.286 +} 30.287 + 30.288 +//========================================== 30.289 + 30.290 + 30.291 +"OMP Hompe page" 30.292 +@misc{OMPHome, 30.293 + Note = {http://www.openmediaplatform.eu/}, 30.294 + Title = {{Open Media Platform} homepage}, 30.295 +} 30.296 + 30.297 +"The OMP infrastructure site" 30.298 +@misc{Halle2008, 30.299 + Author = {Sean Halle and Albert Cohen}, 30.300 + Note = {http://omp.musictwodotoh.com}, 30.301 + Title = {{DKU} infrastructure server} 30.302 +} 30.303 + 30.304 + 30.305 + 30.306 +"The DKU sourceforge site" 30.307 +@misc{DKUSourceForge, 30.308 + Author = {Sean Halle and Albert Cohen}, 30.309 + Month = {November}, 30.310 + Note = {http://dku.sourceforge.net}, 30.311 + Title = {{DKU} website}, 30.312 + Year = {2008} 30.313 +} 30.314 + 30.315 + 30.316 +"The BLIS sourceforge site" 30.317 +@misc{BLISHome, 30.318 + Author = {Sean Halle and Albert Cohen}, 30.319 + Month = {November}, 30.320 + Note = {http://blisplatform.sourceforge.net}, 30.321 + Title = {{BLIS} website}, 30.322 + Year = {2008} 30.323 +} 30.324 + 30.325 + 30.326 +"The VMS Home page" 30.327 +@misc{VMSHome, 30.328 + Author = {Sean Halle and Merten Sach and Ben Juurlink and Albert Cohen}, 30.329 + Note = {http://virtualizedmasterslave.org}, 30.330 + Title = {{VMS} Home Page}, 30.331 + Year = {2010} 30.332 +} 30.333 + 30.334 + 30.335 +"The PStack Home page" 30.336 +@misc{PStackHome, 30.337 + Author = {Sean Halle}, 30.338 + Note = {http://pstack.sourceforge.net}, 30.339 + Title = {{PStack} Home Page}, 30.340 + Year = {2012} 30.341 +} 30.342 + 30.343 + 30.344 +"Deblocking code in SVN" 30.345 +@misc{DeblockingCode, 30.346 + Note = {http://dku.svn.sourceforge.net/viewvc/dku/branches/DKU\_C\_\_Deblocking\_\_orig/}, 30.347 + Title ={{DKU-ized Deblocking Filter} code} 30.348 +} 30.349 + 30.350 + 30.351 + 30.352 +"Sample code on BLIS site" 30.353 +@misc{SampleBLISCode, 30.354 + Note = {http://dku.sourceforge.net/SampleCode.htm}, 30.355 + Title ={{Sample BLIS Code}} 30.356 +} 30.357 + 30.358 +"Framework Technical Report" 30.359 +@misc{FrameworkTechRep, 30.360 + Author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert}, 30.361 + Note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf}, 30.362 + Title = {A Framework to Support Research on Portable High Performance Parallelism} 30.363 +} 30.364 + 30.365 +"Map reduce" 30.366 +@misc{MapReduceHome, 30.367 + Author = {Google Corp.}, 30.368 + Note = {http://labs.google.com/papers/mapreduce.html}, 30.369 + Title = {{MapReduce} Home page}, 30.370 +} 30.371 + 30.372 + 30.373 +"TBB Thread Building Blocks" 30.374 +@misc{TBBHome, 30.375 + Author = {Intel Corp.}, 30.376 + Note = {http://www.threadingbuildingblocks.org}, 30.377 + Title = {{TBB} Home page}, 30.378 +} 30.379 + 30.380 + 30.381 +"HPF Wikipedia entry" 30.382 +@misc{HPFWikipedia, 30.383 + Author = {Wikipedia}, 30.384 + Note = {http://en.wikipedia.org/wiki/High_Performance_Fortran}, 30.385 + Title = {{HPF} wikipedia page}, 30.386 +} 30.387 + 30.388 + 30.389 +"OpenMP Home page" 30.390 +@misc{OpenMPHome, 30.391 + Author = {{OpenMP} organization}, 30.392 + Note = {http://www.openmp.org}, 30.393 + Title = {{OpenMP} Home page} 30.394 +} 30.395 + 30.396 + 30.397 + 30.398 +"Open MPI Home page" 30.399 +@misc{MPIHome, 30.400 + Author = {open-mpi organization}, 30.401 + Note = {http://www.open-mpi.org}, 30.402 + Title = {{Open MPI} Home page} 30.403 +} 30.404 + 30.405 +"OpenCL Home page" 30.406 +@misc{OpenCLHome, 30.407 + Author = {Kronos Group}, 30.408 + Note = {http://www.khronos.org/opencl}, 30.409 + Title = {{OpenCL} Home page} 30.410 +} 30.411 + 30.412 + 30.413 +"CILK Hompe page" 30.414 +@misc{CILKHome, 30.415 + Author = {Cilk group at MIT}, 30.416 + Note = {http://supertech.csail.mit.edu/cilk/}, 30.417 + Title = {{CILK} homepage}, 30.418 +} 30.419 + 30.420 +@InProceedings{Fri98, 30.421 + author = {M. Frigo and C. E. Leiserson and K. H. Randall}, 30.422 + title = {The Implementation of the Cilk-5 Multithreaded Language}, 30.423 + booktitle = {PLDI '98: Proceedings of the 1998 ACM SIGPLAN conference on Programming language design and implementation}, 30.424 + pages = {212--223}, 30.425 + year = 1998, 30.426 + address = {Montreal, Quebec}, 30.427 + month = jun 30.428 +} 30.429 + 30.430 + 30.431 +"Titanium Hompe page" 30.432 +@misc{TitaniumHome, 30.433 + Note = {http://titanium.cs.berkeley.edu}, 30.434 + Title = {{Titanium} homepage} 30.435 +} 30.436 + 30.437 + 30.438 +"CnC in HotPar" 30.439 +@inproceedings{CnCInHotPar, 30.440 + author = {Knobe, Kathleen}, 30.441 + booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 30.442 + month = {March}, 30.443 + title = {Ease of Use with Concurrent Collections {(CnC)}}, 30.444 + year = {2009} 30.445 +} 30.446 + 30.447 + 30.448 +"CnC Hompe page" 30.449 +@misc{CnCHome, 30.450 + Author = {Intel Corp.}, 30.451 + Note = {http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/}, 30.452 + Title = {{CnC} homepage}, 30.453 +} 30.454 + 30.455 +"Spiral Home page" 30.456 +@misc{SpiralHome, 30.457 + Author = {Spiral Group at CMU}, 30.458 + Note = {http://www.spiral.net}, 30.459 + Title = {{Spiral} homepage}, 30.460 +} 30.461 + 30.462 + 30.463 +"Scala Hompe page" 30.464 +@misc{ScalaHome, 30.465 + Author = {Scala organization}, 30.466 + Note = {http://www.scala-lang.org/}, 30.467 + Title = {{Scala} homepage}, 30.468 +} 30.469 + 30.470 + 30.471 + 30.472 + 30.473 +"UPC Hompe page" 30.474 +@misc{UPCHome, 30.475 + Author = {UPC group at UC Berkeley}, 30.476 + Note = {http://upc.lbl.gov/}, 30.477 + Title = {{Unified Parallel C} homepage}, 30.478 +} 30.479 + 30.480 + 30.481 +"Suif Hompe page" 30.482 +@misc{SuifHome, 30.483 + Note = {http://suif.stanford.edu}, 30.484 + Title = {{Suif} Parallelizing compiler homepage}, 30.485 +} 30.486 + 30.487 + 30.488 + 30.489 +"SEJITS" 30.490 +@article{SEJITS, 30.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}, 30.492 + title = {SEJITS: Getting Productivity AND Performance With Selective Embedded JIT Specialization}, 30.493 + journal = {First Workshop on Programmable Models for Emerging Architecture at the 18th International Conference on Parallel Architectures and Compilation Techniques }, 30.494 + year = {2009} 30.495 +} 30.496 + 30.497 + 30.498 +"Arnaldo 3D parallel on NXP chip" 30.499 +@inproceedings{Arnaldo3D, 30.500 + author = {Azevedo, Arnaldo and Meenderinck, Cor and Juurlink, Ben and Terechko, Andrei and Hoogerbrugge, Jan and Alvarez, Mauricio and Ramirez, Alex}, 30.501 + title = {Parallel H.264 Decoding on an Embedded Multicore Processor}, 30.502 + booktitle = {HiPEAC '09: Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers}, 30.503 + year = {2009}, 30.504 + pages = {404--418} 30.505 + } 30.506 + 30.507 + 30.508 +"Narayanan's GPU scheduling tool" 30.509 +@article{NarayananGPUSched, 30.510 + author = {Narayanan Sundaram and Anand Raghunathan and Srimat T. Chakradhar}, 30.511 + title = {A framework for efficient and scalable execution of domain-specific templates on GPUs}, 30.512 + journal ={International Parallel and Distributed Processing Symposium {(IPDPS)}}, 30.513 + year = {2009}, 30.514 + pages = {1-12}, 30.515 +} 30.516 + 30.517 +"Polyhedral for GPU from Ohio State" 30.518 +@inproceedings{PolyForGPU, 30.519 + author = {Baskaran, Muthu Manikandan and Bondhugula, Uday and Krishnamoorthy, Sriram and Ramanujam, J. and Rountev, Atanas and Sadayappan, P.}, 30.520 + title = {A compiler framework for optimization of affine loop nests for gpgpus}, 30.521 + booktitle = {ICS '08: Proceedings of the 22nd annual international conference on Supercomputing}, 30.522 + year = {2008}, 30.523 + pages = {225--234}, 30.524 + } 30.525 + 30.526 +"Loulou's Polyhedral loop-nest optimization paper in PLDI 08" 30.527 +@inproceedings{Loulou08, 30.528 + author = {Pouchet, Louis-No\"{e}l and Bastoul, C\'{e}dric and Cohen, Albert and Cavazos, John}, 30.529 + title = {Iterative optimization in the polyhedral model: part ii, multidimensional time}, 30.530 + booktitle = {ACM SIGPLAN conference on Programming language design and implementation {(PLDI)} }, 30.531 + year = {2008}, 30.532 + pages = {90--100}, 30.533 + } 30.534 + 30.535 + 30.536 +"Merge in HotPar" 30.537 +@inproceedings{MergeInHotPar, 30.538 + author = {Michael D. Linderman and James Balfour and Teresa H. Meng and William J. Dally}, 30.539 + booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 30.540 + month = {March}, 30.541 + title = {Embracing Heterogeneity \- Parallel Programming for Changing Hardware}, 30.542 + year = {2009} 30.543 +} 30.544 + 30.545 + 30.546 +"Galois system for irregular problems" 30.547 +@inproceedings{GaloisRef, 30.548 + author = {Kulkarni, Milind and Pingali, Keshav and Walter, Bruce and Ramanarayanan, Ganesh and Bala, Kavita and Chew, L. Paul}, 30.549 + title = {Optimistic parallelism requires abstractions}, 30.550 + booktitle = {PLDI '07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation}, 30.551 + year = {2007}, 30.552 + pages = {211--222} 30.553 +} 30.554 + 30.555 +"Cool compiler book that talks about balancing task size with machine characteristics.. the one Amit had" 30.556 +@book{Allen2002, 30.557 + author = {Kennedy, Ken and Allen, John R.}, 30.558 + title = {Optimizing compilers for modern architectures: a dependence-based approach}, 30.559 + year = {2002}, 30.560 + publisher = {Morgan Kaufmann Publishers Inc.} 30.561 + } 30.562 + 30.563 + 30.564 +"Streaming languages and tools survery paper" 30.565 +@MISC{Stephens95, 30.566 + author = {R. Stephens}, 30.567 + title = {A Survey Of Stream Processing}, 30.568 + year = {1995} 30.569 +} 30.570 + 30.571 + 30.572 +"Capsule" 30.573 +@INPROCEEDINGS{Palatin06, 30.574 + author = {P Palatin and Y Lhuillier and O Temam}, 30.575 + title = {CAPSULE: Hardware-assisted parallel execution of componentbased programs}, 30.576 + booktitle = {In Proceedings of the 39th Annual International Symposium on Microarchitecture}, 30.577 + year = {2006}, 30.578 + pages = {247--258} 30.579 +} 30.580 + 30.581 +"Sequioa" 30.582 +@inproceedings{Sequioa06, 30.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}, 30.584 + title = {Sequoia: programming the memory hierarchy}, 30.585 + booktitle = {SC '06: Proceedings of the 2006 ACM/IEEE conference on Supercomputing}, 30.586 + year = {2006}, 30.587 + pages = {83} 30.588 + } 30.589 + 30.590 + 30.591 + 30.592 + 30.593 +"Cole meta skeletons book" 30.594 +@Book{Cole89, 30.595 + author = {M Cole}, 30.596 + title = {Algorithmic skeletons: Structured management of parallel computation}, 30.597 + publisher = {Pitman}, 30.598 + year = {1989} 30.599 +} 30.600 + 30.601 + 30.602 +"Meta programming skeletons example" 30.603 +@INPROCEEDINGS{Ginhac98, 30.604 + author = {Dominique Ginhac and Jocelyn Serot and Jean Pierre Derutin}, 30.605 + title = {Fast prototyping of image processing applications using functional skeletons on a MIMD-DM architecture}, 30.606 + booktitle = {In IAPR Workshop on Machine Vision and Applications}, 30.607 + year = {1998}, 30.608 + pages = {468--471} 30.609 +} 30.610 + 30.611 + 30.612 +"Parallel Skeletons meta programming" 30.613 +@inproceedings{Serot08MetaParallel, 30.614 + author = {Serot, Jocelyn and Falcou, Joel}, 30.615 + title = {Functional Meta-programming for Parallel Skeletons}, 30.616 + booktitle = {ICCS '08: Proceedings of the 8th international conference on Computational Science, Part I}, 30.617 + year = {2008}, 30.618 + pages = {154--163} 30.619 + } 30.620 + 30.621 + 30.622 +"Random skeletons for parallel programming article with lots of citations" 30.623 +@INPROCEEDINGS{Darlington93, 30.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}, 30.625 + title = {Parallel programming using skeleton functions}, 30.626 + booktitle = {}, 30.627 + year = {1993}, 30.628 + pages = {146--160}, 30.629 + publisher = {Springer-Verlag} 30.630 +} 30.631 + 30.632 + 30.633 +"View from Berkeley paper" 30.634 +@article{Asanovic06BerkeleyView, 30.635 + title={{The landscape of parallel computing research: A view from berkeley}}, 30.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}, 30.637 + journal={Electrical Engineering and Computer Sciences, University of California at Berkeley, Technical Report No. UCB/EECS-2006-183, December}, 30.638 + volume={18}, 30.639 + number={2006-183}, 30.640 + pages={19}, 30.641 + year={2006}, 30.642 +} 30.643 + 30.644 + 30.645 + 30.646 + 30.647 +"Berkeley Pattern Language" 30.648 +@misc{BerkeleyPattLang, 30.649 + Note = {http://parlab.eecs.berkeley.edu/wiki/patterns}, 30.650 + Title = {{Berkeley Pattern Language}} 30.651 +} 30.652 + 30.653 + 30.654 +"Keutzer reccomended Parallel Prog Patterns book" 30.655 +@book{Mattson04Patterns, 30.656 + title={{Patterns for parallel programming}}, 30.657 + author={Mattson, T. and Sanders, B. and Massingill, B.}, 30.658 + year={2004}, 30.659 + publisher={Addison-Wesley Professional} 30.660 +} 30.661 + 30.662 + 30.663 +"Skillicorn Parallel Languages Survery book" 30.664 +@article{Skillicorn98, 30.665 + title={{Models and languages for parallel computation}}, 30.666 + author={Skillicorn, D.B. and Talia, D.}, 30.667 + journal={ACM Computing Surveys (CSUR)}, 30.668 + volume={30}, 30.669 + number={2}, 30.670 + pages={123--169}, 30.671 + year={1998} 30.672 +} 30.673 + 30.674 + 30.675 + 30.676 +"NESL language" 30.677 +@conference{Blelloch93NESL, 30.678 + title={{Implementation of a portable nested data-parallel language}}, 30.679 + author={Blelloch, G.E. and Hardwick, J.C. and Chatterjee, S. and Sipelstein, J. and Zagha, M.}, 30.680 + booktitle={Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming}, 30.681 + pages={102--111}, 30.682 + year={1993}, 30.683 + organization={ACM New York, NY, USA} 30.684 +} 30.685 + 30.686 + 30.687 +"Sisal" 30.688 +@article{McgrawSisal, 30.689 + title={{SISAL: Streams and iteration in a single assignment language: Reference manual version 1.2}}, 30.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.}, 30.691 + journal={Manual M-146, Rev}, 30.692 + volume={1} 30.693 +} 30.694 + 30.695 + 30.696 +"Linda" 30.697 +@article{Gelernter85Linda, 30.698 + title={{Generative communication in Linda}}, 30.699 + author={Gelernter, D.}, 30.700 + journal={ACM Transactions on Programming Languages and Systems (TOPLAS)}, 30.701 + volume={7}, 30.702 + number={1}, 30.703 + pages={80--112}, 30.704 + year={1985} 30.705 +} 30.706 + 30.707 + 30.708 +"ZPL" 30.709 +@article{Lin94ZPL, 30.710 + title={{ZPL: An array sublanguage}}, 30.711 + author={Lin, C. and Snyder, L.}, 30.712 + journal={Lecture Notes in Computer Science}, 30.713 + volume={768}, 30.714 + pages={96--114}, 30.715 + year={1994} 30.716 +} 30.717 + 30.718 + 30.719 + 30.720 + 30.721 +// Visual programming 30.722 +@article 30.723 + { baecker97, 30.724 + author = {Ron Baecker and Chris DiGiano and Aaron Marcus}, 30.725 + title = {Software visualization for debugging}, 30.726 + journal = {Communications of the ACM}, 30.727 + volume = {40}, 30.728 + number = {4}, 30.729 + year = {1997}, 30.730 + issn = {0001-0782}, 30.731 + pages = {44--54}, 30.732 + publisher = {ACM Press} 30.733 + } 30.734 + 30.735 + 30.736 +// Visual programming 30.737 +@article 30.738 + { ball96, 30.739 + author = {T. A. Ball and S. G. Eick}, 30.740 + title = {Software Visualization in the Large}, 30.741 + journal ={IEEE Computer}, 30.742 + volume = {29}, 30.743 + number = {4}, 30.744 + year = {1996}, 30.745 + month = {apr}, 30.746 + pages = {33--43} 30.747 + } 30.748 + 30.749 + 30.750 +// Milner references this, Chemical Abstract Machine 30.751 +@book 30.752 + {berry89, 30.753 + title={{The chemical abstract machine}}, 30.754 + author={Berry, G. and Boudol, G.}, 30.755 + year={1989}, 30.756 + publisher={ACM Press} 30.757 +} 30.758 + 30.759 + 30.760 +// Cilk reference 30.761 +@article 30.762 + {blumofe95, 30.763 + author = {Robert D. Blumofe and Christopher F. Joerg and Bradley C. Kuszmaul and Charles E. Leiserson and Keith H. Randall and Yuli Zhou}, 30.764 + title = {Cilk: an efficient multithreaded runtime system}, 30.765 + journal = {SIGPLAN Not.}, 30.766 + volume = {30}, 30.767 + number = {8}, 30.768 + year = {1995}, 30.769 + pages = {207--216} 30.770 + } 30.771 + 30.772 + 30.773 +// this has 1440 citations, so throwing it in.. 30.774 +// The complexity of symbolic checking of program correctness 30.775 +@article 30.776 + {burch90, 30.777 + title={{Symbolic model checking: 10^{20} states and beyond}}, 30.778 + author={Burch, JR and Clarke, EM and McMillan, KL and Dill, DL and Hwang, LJ}, 30.779 + journal={Logic in Computer Science, 1990. LICS'90, Proceedings}, 30.780 + pages={428--439}, 30.781 + year={1990} 30.782 +} 30.783 + 30.784 +@article 30.785 + {chamberlain98, 30.786 +author = {B. Chamberlain and S. Choi and E. Lewis and C. Lin and L. Snyder and W. Weathersby}, 30.787 +title = {ZPL's WYSIWYG Performance Model}, 30.788 +journal = {hips}, 30.789 +volume = {00}, 30.790 +year = {1998}, 30.791 +isbn = {0-8186-8412-7}, 30.792 +pages = {50} 30.793 +} 30.794 + 30.795 + 30.796 + 30.797 +// from http://libweb.princeton.edu/libraries/firestone/rbsc/aids/church/church1.html#1 30.798 +@article{church41, 30.799 + author={A. Church}, 30.800 + title={The Calculi of Lambda-Conversion}, 30.801 + journal={Annals of Mathematics Studies}, 30.802 + number={6}, 30.803 + year={1941}, 30.804 + publisher={Princeton University} 30.805 +} 30.806 + 30.807 + 30.808 +@misc 30.809 + { CodeTimeSite, 30.810 + author = {Sean Halle}, 30.811 + key = {CodeTime}, 30.812 + title = {Homepage for The CodeTime Parallel Software Platform}, 30.813 + note = {{\ttfamily http://codetime.sourceforge.net}} 30.814 + } 30.815 + 30.816 + 30.817 + 30.818 +@misc 30.819 + { CodeTimePlatform, 30.820 + author = {Sean Halle}, 30.821 + key = {CodeTime}, 30.822 + title = {The CodeTime Parallel Software Platform}, 30.823 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Platform.pdf}} 30.824 + } 30.825 + 30.826 + 30.827 +@misc 30.828 + { CodeTimeVS, 30.829 + author = {Sean Halle}, 30.830 + key = {CodeTime}, 30.831 + title = {The Specification of the CodeTime Platform's Virtual Server}, 30.832 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Virtual\_Server.pdf}} 30.833 + } 30.834 + 30.835 + 30.836 +@misc 30.837 + { CodeTimeOS, 30.838 + author = {Sean Halle}, 30.839 + key = {CodeTime}, 30.840 + title = {A Hardware Independent OS}, 30.841 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_OS.pdf}} 30.842 + } 30.843 + 30.844 + 30.845 +@misc 30.846 + { CodeTimeSem, 30.847 + author = {Sean Halle}, 30.848 + key = {CodeTime}, 30.849 + title = {The Big-Step Operational Semantics of the CodeTime Computational Model}, 30.850 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Semantics.pdf}} 30.851 + } 30.852 + 30.853 + 30.854 +@misc 30.855 + { CodeTimeTh, 30.856 + author = {Sean Halle}, 30.857 + key = {CodeTime}, 30.858 + title = {A Mental Framework for Use in Creating Hardware-Independent Parallel Languages}, 30.859 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTiime\_Theoretical\_Framework.pdf}} 30.860 + } 30.861 + 30.862 + 30.863 +@misc 30.864 + { CodeTimeTh1, 30.865 + author = {Sean Halle}, 30.866 + key = {CodeTime}, 30.867 + title = {The CodeTime Parallel Software Platform}, 30.868 + note = {{\ttfamily http://codetime.sourceforge.net}} 30.869 + } 30.870 + 30.871 + 30.872 +@misc 30.873 + { CodeTimeTh2, 30.874 + author = {Sean Halle}, 30.875 + key = {CodeTime}, 30.876 + title = {The CodeTime Parallel Software Platform}, 30.877 + note = {{\ttfamily http://codetime.sourceforge.net}} 30.878 + } 30.879 + 30.880 + 30.881 +@misc 30.882 + { CodeTimeRT, 30.883 + author = {Sean Halle}, 30.884 + key = {CodeTime}, 30.885 + title = {The CodeTime Parallel Software Platform}, 30.886 + note = {{\ttfamily http://codetime.sourceforge.net}} 30.887 + } 30.888 + 30.889 + 30.890 +@misc 30.891 + { CodeTimeWebSite 30.892 + author = {Sean Halle}, 30.893 + key = {CodeTime}, 30.894 + title = {The CodeTime Parallel Software Platform}, 30.895 + note = {{\ttfamily http://codetime.sourceforge.net}} 30.896 + } 30.897 + 30.898 + 30.899 +@misc 30.900 + { CodeTimeBaCTiL, 30.901 + author = {Sean Halle}, 30.902 + key = {CodeTime}, 30.903 + title = {The Base CodeTime Language}, 30.904 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_BaCTiL.pdf}} 30.905 + } 30.906 + 30.907 +@misc 30.908 + { CodeTimeCert, 30.909 + author = {Sean Halle}, 30.910 + key = {CodeTime}, 30.911 + title = {The CodeTime Certification Strategy}, 30.912 + note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Certification.pdf}} 30.913 + } 30.914 + 30.915 + 30.916 +// Multiple inheritance: explains issues well and references LOOPS and CLOS 30.917 +@inproceedings{ducournau94, 30.918 + author = {R. Ducournau and M. Habib and M. Huchard and M. L. Mugnier}, 30.919 + title = {Proposal for a monotonic multiple inheritance linearization}, 30.920 + booktitle = {OOPSLA '94: Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications}, 30.921 + year = {1994}, 30.922 + pages = {164--175}, 30.923 + publisher = {ACM Press} 30.924 +} 30.925 + 30.926 + 30.927 +// 252 Citations, shows equivalence of mu-calculus and (nondeterministic) tree automata, 30.928 +// so cited as foundation a lot 30.929 +@article{emerson91, 30.930 + title={{Tree automata, mu-calculus and determinacy}}, 30.931 + author={Emerson, EA and Jutla, CS}, 30.932 + journal={Proceedings of the 32nd Symposium on Foundations of Computer Science}, 30.933 + pages={368--377}, 30.934 + year={1991} 30.935 +} 30.936 + 30.937 + 30.938 +// Introducs PRAM model, at same time, in same conference as 30.939 +@article{fortune78, 30.940 + title={{Parallelism in random access machines}}, 30.941 + author={Fortune, S. and Wyllie, J.}, 30.942 + journal={STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 30.943 + pages={114--118}, 30.944 + year={1978}, 30.945 + publisher={ACM Press New York, NY, USA} 30.946 +} 30.947 + 30.948 + 30.949 + 30.950 +// Smalltalk reference 30.951 +@book{goldberg83, 30.952 + title={{Smalltalk-80: the language and its implementation}}, 30.953 + author={Goldberg, A. and Robson, D.}, 30.954 + year={1983}, 30.955 + publisher={Addison-Wesley} 30.956 +} 30.957 + 30.958 + 30.959 +// also introduces PRAM model, apparently independently 30.960 +@inproceedings{goldschlager78, 30.961 + author = {Leslie M. Goldschlager}, 30.962 + title = {A unified approach to models of synchronous parallel machines}, 30.963 + booktitle = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 30.964 + year = {1978}, 30.965 + pages = {89--94}, 30.966 + location = {San Diego, California, United States}, 30.967 + doi = {http://doi.acm.org/10.1145/800133.804336}, 30.968 + publisher = {ACM Press}, 30.969 +} 30.970 + 30.971 + 30.972 +// Java spec 30.973 +@book 30.974 + { gosling96, 30.975 + author = {J. Gosling and B. Joy and G. Steele and G. Bracha}, 30.976 + title = {The Java Language Specification}, 30.977 + publisher = {Addison-Wesley}, 30.978 + year = {1996} 30.979 + } 30.980 + 30.981 + 30.982 +// Survey of prototyping parallel apps 30.983 +@article{hasselbring00, 30.984 + author = {Wilhelm Hasselbring}, 30.985 + title = {Programming languages and systems for prototyping concurrent applications}, 30.986 + journal = {ACM Comput. Surv.}, 30.987 + volume = {32}, 30.988 + number = {1}, 30.989 + year = {2000}, 30.990 + issn = {0360-0300}, 30.991 + pages = {43--79}, 30.992 + doi = {http://doi.acm.org/10.1145/349194.349199}, 30.993 + publisher = {ACM Press}, 30.994 + address = {New York, NY, USA}, 30.995 + } 30.996 + 30.997 + 30.998 +// Original CSP paper 30.999 +@article{hoare78, 30.1000 + author={C. A. R. Hoare}, 30.1001 + title={Communicating Sequential Processes}, 30.1002 + journal={Communications of the ACM}, 30.1003 + year={1978}, 30.1004 + volume={21}, 30.1005 + number={8}, 30.1006 + pages={666-677} 30.1007 +} 30.1008 + 30.1009 + 30.1010 +// 8 citations.. probably from self.. want a paper that ties areas together.. 30.1011 +// This paper does a beautiful job.. 30.1012 +@article{huth, 30.1013 + title={{A Unifying Framework for Model Checking Labeled Kripke Structures, Modal Transition Systems, and Interval Transition Systems}}, 30.1014 + author={Huth, M.}, 30.1015 + journal={Proceedings of the 19th International Conference on the Foundations of Software Technology \& Theoretical Computer Science, Lecture Notes in Computer Science}, 30.1016 + pages={369--380}, 30.1017 + publisher={Springer-Verlag} 30.1018 +} 30.1019 + 30.1020 + 30.1021 +// Dataflow advances survey, includes large grain dataflow 30.1022 +@article 30.1023 + { johnston04, 30.1024 + author = {Wesley M. Johnston and J. R. Paul Hanna and Richard J. Millar}, 30.1025 + title = {Advances in dataflow programming languages}, 30.1026 + journal = {ACM Comput. Surv.}, 30.1027 + volume = {36}, 30.1028 + number = {1}, 30.1029 + year = {2004}, 30.1030 + issn = {0360-0300}, 30.1031 + pages = {1--34}, 30.1032 + doi = {http://doi.acm.org/10.1145/1013208.1013209}, 30.1033 + publisher = {ACM Press}, 30.1034 + address = {New York, NY, USA} 30.1035 + } 30.1036 + 30.1037 + 30.1038 +@book 30.1039 + { koelbel93, 30.1040 + author = {C. H. Koelbel and D. Loveman and R. Schreiber and G. Steele Jr}, 30.1041 + title = {High Performance Fortran Handbook}, 30.1042 + year = {1993}, 30.1043 + publisher = {MIT Press} 30.1044 + } 30.1045 + 30.1046 + 30.1047 +// mu calculus paper with 430 citations 30.1048 +@article{kozen83, 30.1049 + title={{Results on the Propositional mu-Calculus}}, 30.1050 + author={Kozen, D.}, 30.1051 + journal={TCS}, 30.1052 + volume={27}, 30.1053 + pages={333--354}, 30.1054 + year={1983} 30.1055 +} 30.1056 + 30.1057 + 30.1058 +// original kripke structure paper 30.1059 +@article{kripke63, 30.1060 + title={{Semantical analysis of modal logic}}, 30.1061 + author={Kripke, S.}, 30.1062 + journal={Zeitschrift fur Mathematische Logik und Grundlagen der Mathematik}, 30.1063 + volume={9}, 30.1064 + pages={67--96}, 30.1065 + year={1963} 30.1066 +} 30.1067 + 30.1068 + 30.1069 +@book 30.1070 + { mcGraw85, 30.1071 + author = {J McGraw and S. Skedzielewski and S. Allan and R Odefoeft}, 30.1072 + title = {SISAL: Streams and Iteration in a Single-Assignment Language: Reference Manual Version 1.2}, 30.1073 + note = {Manual M-146 Rev. 1}, 30.1074 + publisher = {Lawrence Livermore National Laboratory}, 30.1075 + year = {1985} 30.1076 + } 30.1077 + 30.1078 + 30.1079 +// Milner's own citation to development of CCS 30.1080 +@book{milner80, 30.1081 + title={{A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science}}, 30.1082 + author={Milner, R.}, 30.1083 + year={1980}, 30.1084 + publisher={Springer-Verlag} 30.1085 +} 30.1086 + 30.1087 + 30.1088 +// Milner's own pi-calculus reference 30.1089 +@article{milner92, 30.1090 + title={{A calculus of mobile processes, parts I and II}}, 30.1091 + author={Milner, R. and Parrow, J. and Walker, D.}, 30.1092 + journal={Information and Computation}, 30.1093 + volume={100}, 30.1094 + number={1}, 30.1095 + pages={1--40 and 41--77}, 30.1096 + year={1992}, 30.1097 + publisher={Academic Press} 30.1098 +} 30.1099 + 30.1100 + 30.1101 +// more recent Pi calculus reference 30.1102 +@book 30.1103 + { milner99, 30.1104 + author = {Robin Milner}, 30.1105 + title = {Communicating and Mobile Systems: The pi-Calculus}, 30.1106 + publisher = {Cambridge University Press}, 30.1107 + year = {1999} 30.1108 + } 30.1109 + 30.1110 + 30.1111 +// MPI reference 30.1112 +@book 30.1113 + { MPIForum94, 30.1114 + author = {M. P. I. Forum}, 30.1115 + title = {MPI: A Message-Passing Interface Standard}, 30.1116 + year = {1994} 30.1117 + } 30.1118 + 30.1119 + 30.1120 +// Petri nets original citation 30.1121 +@article{petri62, 30.1122 + title={{Fundamentals of a theory of asynchronous information flow}}, 30.1123 + author={Petri, C.A.}, 30.1124 + journal={Proc. IFIP Congress}, 30.1125 + volume={62}, 30.1126 + pages={386--390}, 30.1127 + year={1962} 30.1128 +} 30.1129 + 30.1130 + 30.1131 +// Pierce Type system book 30.1132 +@book{pierce02, 30.1133 + title={Types and Programming Languages}, 30.1134 + author={Pierce, B. C.}, 30.1135 + year={2002}, 30.1136 + publisher={MIT Press} 30.1137 +} 30.1138 + 30.1139 + 30.1140 +// Survey of Visual programming 30.1141 +@Article 30.1142 + { price, 30.1143 + author = {B. A. Price and R. M. Baecker and L. S. Small}, 30.1144 + title = {A Principled Taxonomy of Software Visualization}, 30.1145 + journal ={Journal of Visual Languages and Computing}, 30.1146 + volume = {4}, 30.1147 + number = {3}, 30.1148 + pages = {211--266} 30.1149 + } 30.1150 + 30.1151 + 30.1152 + 30.1153 +@misc 30.1154 + { pythonWebSite, 30.1155 + key = {Python}, 30.1156 + title = {The Python Software Foundation Mission Statement}, 30.1157 + note = {{\ttfamily http://www.python.org/psf/mission.html}} 30.1158 + } 30.1159 + 30.1160 + 30.1161 +// Roadmap for Revitalization of High End Computing 30.1162 +@unpublished 30.1163 + { reed03, 30.1164 + editor = {Daniel A. Reed}, 30.1165 + title = {Workshop on The Roadmap for the Revitalization of High-End Computing}, 30.1166 + day = {16--18}, 30.1167 + month = {jun}, 30.1168 + year = {2003}, 30.1169 + note = {Available at {\ttfamily http://www.cra.org/reports/supercomputing.web.pdf}} 30.1170 + } 30.1171 + 30.1172 + 30.1173 +// Parallel Pascal 30.1174 +@Article 30.1175 + { reeves84, 30.1176 + author = {A. P. Reeves}, 30.1177 + title = {Parallel Pascal -- An Extended Pascal for Parallel Computers}, 30.1178 + journal = {Journal of Parallel and Distributed Computing}, 30.1179 + volume = {1}, 30.1180 + number = {}, 30.1181 + year = {1984}, 30.1182 + month = {aug}, 30.1183 + pages = {64--80} 30.1184 + } 30.1185 + 30.1186 + 30.1187 +// Survey of parallel langs and models 30.1188 +@article{skillicorn98, 30.1189 + author = {David B. Skillicorn and Domenico Talia}, 30.1190 + title = {Models and languages for parallel computation}, 30.1191 + journal = {ACM Comput. Surv.}, 30.1192 + volume = {30}, 30.1193 + number = {2}, 30.1194 + year = {1998}, 30.1195 + issn = {0360-0300}, 30.1196 + pages = {123--169}, 30.1197 + doi = {http://doi.acm.org/10.1145/280277.280278}, 30.1198 + publisher = {ACM Press}, 30.1199 + address = {New York, NY, USA}, 30.1200 + } 30.1201 + 30.1202 + 30.1203 +// LOOPS ref for multiple inheritance issues 30.1204 +@article{stefik86, 30.1205 + title={Object Oriented Programming: Themes and Variations}, 30.1206 + author={Stefik, M. and Bobrow, D. G.}, 30.1207 + journal={The AI Magazine}, 30.1208 + volume={6}, 30.1209 + number={4}, 30.1210 + year={1986} 30.1211 +} 30.1212 + 30.1213 + 30.1214 +// 240 citations to this book, so seems safe.. covers modal logics which is superset 30.1215 +// of temporal logics 30.1216 +@book{stirling92, 30.1217 + title={{Modal and Temporal Logics}}, 30.1218 + author={Stirling, C.}, 30.1219 + year={1992}, 30.1220 + publisher={University of Edinburgh, Department of Computer Science} 30.1221 +} 30.1222 + 30.1223 + 30.1224 +// Titanium website 30.1225 +@misc 30.1226 + { TitaniumWebSite, 30.1227 + author = {Paul Hilfinger and et. al.}, 30.1228 + title = {The Titanium Project Home Page}, 30.1229 + note = {{\ttfamily http://www.cs.berkeley.edu/projects/titanium}} 30.1230 + } 30.1231 + 30.1232 + 30.1233 +// website with scans of original work by Turing 30.1234 +@misc{turing38, 30.1235 + author={A. Turing}, 30.1236 + note={http://www.turingarchive.org/intro/, and 30.1237 +http://www.turing.org.uk/sources/biblio4.html, and 30.1238 +http://web.comlab.ox.ac.uk/oucl/research/areas/ieg/e-library/sources/tp2-ie.pdf}, 30.1239 + year={1938} 30.1240 +} 30.1241 + 30.1242 + 30.1243 +// First mention of von Neumann's architecture ideas 30.1244 +@book{vonNeumann45, 30.1245 + title={First Draft of a Report on the EDVAC}, 30.1246 + author={J. von Neumann}, 30.1247 + year={1945}, 30.1248 + publisher={United States Army Ordnance Department} 30.1249 +} 30.1250 + 30.1251 + 30.1252 +// The 203 Glynn Winskel book for Formal Semantics 30.1253 +@book{winskel93, 30.1254 + title={{The Formal Semantics of Programming Languages}}, 30.1255 + author={Winskel, G.}, 30.1256 + year={1993}, 30.1257 + publisher={MIT Press} 30.1258 +} 30.1259 + 30.1260 +
31.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 31.2 +++ b/0__Papers/PStack/HotPar_2012/helpers/plain.bst Sun Mar 11 09:26:44 2012 -0700 31.3 @@ -0,0 +1,1098 @@ 31.4 +% BibTeX standard bibliography style `plain' 31.5 + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. 31.6 + % Copyright (C) 1985, all rights reserved. 31.7 + % Copying of this file is authorized only if either 31.8 + % (1) you make absolutely no changes to your copy, including name, or 31.9 + % (2) if you do make changes, you name it something other than 31.10 + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst. 31.11 + % This restriction helps ensure that all standard styles are identical. 31.12 + % The file btxbst.doc has the documentation for this style. 31.13 + 31.14 +ENTRY 31.15 + { address 31.16 + author 31.17 + booktitle 31.18 + chapter 31.19 + edition 31.20 + editor 31.21 + howpublished 31.22 + institution 31.23 + journal 31.24 + key 31.25 + month 31.26 + note 31.27 + number 31.28 + organization 31.29 + pages 31.30 + publisher 31.31 + school 31.32 + series 31.33 + title 31.34 + type 31.35 + volume 31.36 + year 31.37 + } 31.38 + {} 31.39 + { label } 31.40 + 31.41 +INTEGERS { output.state before.all mid.sentence after.sentence after.block } 31.42 + 31.43 +FUNCTION {init.state.consts} 31.44 +{ #0 'before.all := 31.45 + #1 'mid.sentence := 31.46 + #2 'after.sentence := 31.47 + #3 'after.block := 31.48 +} 31.49 + 31.50 +STRINGS { s t } 31.51 + 31.52 +FUNCTION {output.nonnull} 31.53 +{ 's := 31.54 + output.state mid.sentence = 31.55 + { ", " * write$ } 31.56 + { output.state after.block = 31.57 + { add.period$ write$ 31.58 + newline$ 31.59 + "\newblock " write$ 31.60 + } 31.61 + { output.state before.all = 31.62 + 'write$ 31.63 + { add.period$ " " * write$ } 31.64 + if$ 31.65 + } 31.66 + if$ 31.67 + mid.sentence 'output.state := 31.68 + } 31.69 + if$ 31.70 + s 31.71 +} 31.72 + 31.73 +FUNCTION {output} 31.74 +{ duplicate$ empty$ 31.75 + 'pop$ 31.76 + 'output.nonnull 31.77 + if$ 31.78 +} 31.79 + 31.80 +FUNCTION {output.check} 31.81 +{ 't := 31.82 + duplicate$ empty$ 31.83 + { pop$ "empty " t * " in " * cite$ * warning$ } 31.84 + 'output.nonnull 31.85 + if$ 31.86 +} 31.87 + 31.88 +FUNCTION {output.bibitem} 31.89 +{ newline$ 31.90 + "\bibitem{" write$ 31.91 + cite$ write$ 31.92 + "}" write$ 31.93 + newline$ 31.94 + "" 31.95 + before.all 'output.state := 31.96 +} 31.97 + 31.98 +FUNCTION {fin.entry} 31.99 +{ add.period$ 31.100 + write$ 31.101 + newline$ 31.102 +} 31.103 + 31.104 +FUNCTION {new.block} 31.105 +{ output.state before.all = 31.106 + 'skip$ 31.107 + { after.block 'output.state := } 31.108 + if$ 31.109 +} 31.110 + 31.111 +FUNCTION {new.sentence} 31.112 +{ output.state after.block = 31.113 + 'skip$ 31.114 + { output.state before.all = 31.115 + 'skip$ 31.116 + { after.sentence 'output.state := } 31.117 + if$ 31.118 + } 31.119 + if$ 31.120 +} 31.121 + 31.122 +FUNCTION {not} 31.123 +{ { #0 } 31.124 + { #1 } 31.125 + if$ 31.126 +} 31.127 + 31.128 +FUNCTION {and} 31.129 +{ 'skip$ 31.130 + { pop$ #0 } 31.131 + if$ 31.132 +} 31.133 + 31.134 +FUNCTION {or} 31.135 +{ { pop$ #1 } 31.136 + 'skip$ 31.137 + if$ 31.138 +} 31.139 + 31.140 +FUNCTION {new.block.checka} 31.141 +{ empty$ 31.142 + 'skip$ 31.143 + 'new.block 31.144 + if$ 31.145 +} 31.146 + 31.147 +FUNCTION {new.block.checkb} 31.148 +{ empty$ 31.149 + swap$ empty$ 31.150 + and 31.151 + 'skip$ 31.152 + 'new.block 31.153 + if$ 31.154 +} 31.155 + 31.156 +FUNCTION {new.sentence.checka} 31.157 +{ empty$ 31.158 + 'skip$ 31.159 + 'new.sentence 31.160 + if$ 31.161 +} 31.162 + 31.163 +FUNCTION {new.sentence.checkb} 31.164 +{ empty$ 31.165 + swap$ empty$ 31.166 + and 31.167 + 'skip$ 31.168 + 'new.sentence 31.169 + if$ 31.170 +} 31.171 + 31.172 +FUNCTION {field.or.null} 31.173 +{ duplicate$ empty$ 31.174 + { pop$ "" } 31.175 + 'skip$ 31.176 + if$ 31.177 +} 31.178 + 31.179 +FUNCTION {emphasize} 31.180 +{ duplicate$ empty$ 31.181 + { pop$ "" } 31.182 + { "{\em " swap$ * "}" * } 31.183 + if$ 31.184 +} 31.185 + 31.186 +INTEGERS { nameptr namesleft numnames } 31.187 + 31.188 +FUNCTION {format.names} 31.189 +{ 's := 31.190 + #1 'nameptr := 31.191 + s num.names$ 'numnames := 31.192 + numnames 'namesleft := 31.193 + { namesleft #0 > } 31.194 + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := 31.195 + nameptr #1 > 31.196 + { namesleft #1 > 31.197 + { ", " * t * } 31.198 + { numnames #2 > 31.199 + { "," * } 31.200 + 'skip$ 31.201 + if$ 31.202 + t "others" = 31.203 + { " et~al." * } 31.204 + { " and " * t * } 31.205 + if$ 31.206 + } 31.207 + if$ 31.208 + } 31.209 + 't 31.210 + if$ 31.211 + nameptr #1 + 'nameptr := 31.212 + namesleft #1 - 'namesleft := 31.213 + } 31.214 + while$ 31.215 +} 31.216 + 31.217 +FUNCTION {format.authors} 31.218 +{ author empty$ 31.219 + { "" } 31.220 + { author format.names } 31.221 + if$ 31.222 +} 31.223 + 31.224 +FUNCTION {format.editors} 31.225 +{ editor empty$ 31.226 + { "" } 31.227 + { editor format.names 31.228 + editor num.names$ #1 > 31.229 + { ", editors" * } 31.230 + { ", editor" * } 31.231 + if$ 31.232 + } 31.233 + if$ 31.234 +} 31.235 + 31.236 +FUNCTION {format.title} 31.237 +{ title empty$ 31.238 + { "" } 31.239 + { title "t" change.case$ } 31.240 + if$ 31.241 +} 31.242 + 31.243 +FUNCTION {n.dashify} 31.244 +{ 't := 31.245 + "" 31.246 + { t empty$ not } 31.247 + { t #1 #1 substring$ "-" = 31.248 + { t #1 #2 substring$ "--" = not 31.249 + { "--" * 31.250 + t #2 global.max$ substring$ 't := 31.251 + } 31.252 + { { t #1 #1 substring$ "-" = } 31.253 + { "-" * 31.254 + t #2 global.max$ substring$ 't := 31.255 + } 31.256 + while$ 31.257 + } 31.258 + if$ 31.259 + } 31.260 + { t #1 #1 substring$ * 31.261 + t #2 global.max$ substring$ 't := 31.262 + } 31.263 + if$ 31.264 + } 31.265 + while$ 31.266 +} 31.267 + 31.268 +FUNCTION {format.date} 31.269 +{ year empty$ 31.270 + { month empty$ 31.271 + { "" } 31.272 + { "there's a month but no year in " cite$ * warning$ 31.273 + month 31.274 + } 31.275 + if$ 31.276 + } 31.277 + { month empty$ 31.278 + 'year 31.279 + { month " " * year * } 31.280 + if$ 31.281 + } 31.282 + if$ 31.283 +} 31.284 + 31.285 +FUNCTION {format.btitle} 31.286 +{ title emphasize 31.287 +} 31.288 + 31.289 +FUNCTION {tie.or.space.connect} 31.290 +{ duplicate$ text.length$ #3 < 31.291 + { "~" } 31.292 + { " " } 31.293 + if$ 31.294 + swap$ * * 31.295 +} 31.296 + 31.297 +FUNCTION {either.or.check} 31.298 +{ empty$ 31.299 + 'pop$ 31.300 + { "can't use both " swap$ * " fields in " * cite$ * warning$ } 31.301 + if$ 31.302 +} 31.303 + 31.304 +FUNCTION {format.bvolume} 31.305 +{ volume empty$ 31.306 + { "" } 31.307 + { "volume" volume tie.or.space.connect 31.308 + series empty$ 31.309 + 'skip$ 31.310 + { " of " * series emphasize * } 31.311 + if$ 31.312 + "volume and number" number either.or.check 31.313 + } 31.314 + if$ 31.315 +} 31.316 + 31.317 +FUNCTION {format.number.series} 31.318 +{ volume empty$ 31.319 + { number empty$ 31.320 + { series field.or.null } 31.321 + { output.state mid.sentence = 31.322 + { "number" } 31.323 + { "Number" } 31.324 + if$ 31.325 + number tie.or.space.connect 31.326 + series empty$ 31.327 + { "there's a number but no series in " cite$ * warning$ } 31.328 + { " in " * series * } 31.329 + if$ 31.330 + } 31.331 + if$ 31.332 + } 31.333 + { "" } 31.334 + if$ 31.335 +} 31.336 + 31.337 +FUNCTION {format.edition} 31.338 +{ edition empty$ 31.339 + { "" } 31.340 + { output.state mid.sentence = 31.341 + { edition "l" change.case$ " edition" * } 31.342 + { edition "t" change.case$ " edition" * } 31.343 + if$ 31.344 + } 31.345 + if$ 31.346 +} 31.347 + 31.348 +INTEGERS { multiresult } 31.349 + 31.350 +FUNCTION {multi.page.check} 31.351 +{ 't := 31.352 + #0 'multiresult := 31.353 + { multiresult not 31.354 + t empty$ not 31.355 + and 31.356 + } 31.357 + { t #1 #1 substring$ 31.358 + duplicate$ "-" = 31.359 + swap$ duplicate$ "," = 31.360 + swap$ "+" = 31.361 + or or 31.362 + { #1 'multiresult := } 31.363 + { t #2 global.max$ substring$ 't := } 31.364 + if$ 31.365 + } 31.366 + while$ 31.367 + multiresult 31.368 +} 31.369 + 31.370 +FUNCTION {format.pages} 31.371 +{ pages empty$ 31.372 + { "" } 31.373 + { pages multi.page.check 31.374 + { "pages" pages n.dashify tie.or.space.connect } 31.375 + { "page" pages tie.or.space.connect } 31.376 + if$ 31.377 + } 31.378 + if$ 31.379 +} 31.380 + 31.381 +FUNCTION {format.vol.num.pages} 31.382 +{ volume field.or.null 31.383 + number empty$ 31.384 + 'skip$ 31.385 + { "(" number * ")" * * 31.386 + volume empty$ 31.387 + { "there's a number but no volume in " cite$ * warning$ } 31.388 + 'skip$ 31.389 + if$ 31.390 + } 31.391 + if$ 31.392 + pages empty$ 31.393 + 'skip$ 31.394 + { duplicate$ empty$ 31.395 + { pop$ format.pages } 31.396 + { ":" * pages n.dashify * } 31.397 + if$ 31.398 + } 31.399 + if$ 31.400 +} 31.401 + 31.402 +FUNCTION {format.chapter.pages} 31.403 +{ chapter empty$ 31.404 + 'format.pages 31.405 + { type empty$ 31.406 + { "chapter" } 31.407 + { type "l" change.case$ } 31.408 + if$ 31.409 + chapter tie.or.space.connect 31.410 + pages empty$ 31.411 + 'skip$ 31.412 + { ", " * format.pages * } 31.413 + if$ 31.414 + } 31.415 + if$ 31.416 +} 31.417 + 31.418 +FUNCTION {format.in.ed.booktitle} 31.419 +{ booktitle empty$ 31.420 + { "" } 31.421 + { editor empty$ 31.422 + { "In " booktitle emphasize * } 31.423 + { "In " format.editors * ", " * booktitle emphasize * } 31.424 + if$ 31.425 + } 31.426 + if$ 31.427 +} 31.428 + 31.429 +FUNCTION {empty.misc.check} 31.430 +{ author empty$ title empty$ howpublished empty$ 31.431 + month empty$ year empty$ note empty$ 31.432 + and and and and and 31.433 + key empty$ not and 31.434 + { "all relevant fields are empty in " cite$ * warning$ } 31.435 + 'skip$ 31.436 + if$ 31.437 +} 31.438 + 31.439 +FUNCTION {format.thesis.type} 31.440 +{ type empty$ 31.441 + 'skip$ 31.442 + { pop$ 31.443 + type "t" change.case$ 31.444 + } 31.445 + if$ 31.446 +} 31.447 + 31.448 +FUNCTION {format.tr.number} 31.449 +{ type empty$ 31.450 + { "Technical Report" } 31.451 + 'type 31.452 + if$ 31.453 + number empty$ 31.454 + { "t" change.case$ } 31.455 + { number tie.or.space.connect } 31.456 + if$ 31.457 +} 31.458 + 31.459 +FUNCTION {format.article.crossref} 31.460 +{ key empty$ 31.461 + { journal empty$ 31.462 + { "need key or journal for " cite$ * " to crossref " * crossref * 31.463 + warning$ 31.464 + "" 31.465 + } 31.466 + { "In {\em " journal * "\/}" * } 31.467 + if$ 31.468 + } 31.469 + { "In " key * } 31.470 + if$ 31.471 + " \cite{" * crossref * "}" * 31.472 +} 31.473 + 31.474 +FUNCTION {format.crossref.editor} 31.475 +{ editor #1 "{vv~}{ll}" format.name$ 31.476 + editor num.names$ duplicate$ 31.477 + #2 > 31.478 + { pop$ " et~al." * } 31.479 + { #2 < 31.480 + 'skip$ 31.481 + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 31.482 + { " et~al." * } 31.483 + { " and " * editor #2 "{vv~}{ll}" format.name$ * } 31.484 + if$ 31.485 + } 31.486 + if$ 31.487 + } 31.488 + if$ 31.489 +} 31.490 + 31.491 +FUNCTION {format.book.crossref} 31.492 +{ volume empty$ 31.493 + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 31.494 + "In " 31.495 + } 31.496 + { "Volume" volume tie.or.space.connect 31.497 + " of " * 31.498 + } 31.499 + if$ 31.500 + editor empty$ 31.501 + editor field.or.null author field.or.null = 31.502 + or 31.503 + { key empty$ 31.504 + { series empty$ 31.505 + { "need editor, key, or series for " cite$ * " to crossref " * 31.506 + crossref * warning$ 31.507 + "" * 31.508 + } 31.509 + { "{\em " * series * "\/}" * } 31.510 + if$ 31.511 + } 31.512 + { key * } 31.513 + if$ 31.514 + } 31.515 + { format.crossref.editor * } 31.516 + if$ 31.517 + " \cite{" * crossref * "}" * 31.518 +} 31.519 + 31.520 +FUNCTION {format.incoll.inproc.crossref} 31.521 +{ editor empty$ 31.522 + editor field.or.null author field.or.null = 31.523 + or 31.524 + { key empty$ 31.525 + { booktitle empty$ 31.526 + { "need editor, key, or booktitle for " cite$ * " to crossref " * 31.527 + crossref * warning$ 31.528 + "" 31.529 + } 31.530 + { "In {\em " booktitle * "\/}" * } 31.531 + if$ 31.532 + } 31.533 + { "In " key * } 31.534 + if$ 31.535 + } 31.536 + { "In " format.crossref.editor * } 31.537 + if$ 31.538 + " \cite{" * crossref * "}" * 31.539 +} 31.540 + 31.541 +FUNCTION {article} 31.542 +{ output.bibitem 31.543 + format.authors "author" output.check 31.544 + new.block 31.545 + format.title "title" output.check 31.546 + new.block 31.547 + crossref missing$ 31.548 + { journal emphasize "journal" output.check 31.549 + format.vol.num.pages output 31.550 + format.date "year" output.check 31.551 + } 31.552 + { format.article.crossref output.nonnull 31.553 + format.pages output 31.554 + } 31.555 + if$ 31.556 + new.block 31.557 + note output 31.558 + fin.entry 31.559 +} 31.560 + 31.561 +FUNCTION {book} 31.562 +{ output.bibitem 31.563 + author empty$ 31.564 + { format.editors "author and editor" output.check } 31.565 + { format.authors output.nonnull 31.566 + crossref missing$ 31.567 + { "author and editor" editor either.or.check } 31.568 + 'skip$ 31.569 + if$ 31.570 + } 31.571 + if$ 31.572 + new.block 31.573 + format.btitle "title" output.check 31.574 + crossref missing$ 31.575 + { format.bvolume output 31.576 + new.block 31.577 + format.number.series output 31.578 + new.sentence 31.579 + publisher "publisher" output.check 31.580 + address output 31.581 + } 31.582 + { new.block 31.583 + format.book.crossref output.nonnull 31.584 + } 31.585 + if$ 31.586 + format.edition output 31.587 + format.date "year" output.check 31.588 + new.block 31.589 + note output 31.590 + fin.entry 31.591 +} 31.592 + 31.593 +FUNCTION {booklet} 31.594 +{ output.bibitem 31.595 + format.authors output 31.596 + new.block 31.597 + format.title "title" output.check 31.598 + howpublished address new.block.checkb 31.599 + howpublished output 31.600 + address output 31.601 + format.date output 31.602 + new.block 31.603 + note output 31.604 + fin.entry 31.605 +} 31.606 + 31.607 +FUNCTION {inbook} 31.608 +{ output.bibitem 31.609 + author empty$ 31.610 + { format.editors "author and editor" output.check } 31.611 + { format.authors output.nonnull 31.612 + crossref missing$ 31.613 + { "author and editor" editor either.or.check } 31.614 + 'skip$ 31.615 + if$ 31.616 + } 31.617 + if$ 31.618 + new.block 31.619 + format.btitle "title" output.check 31.620 + crossref missing$ 31.621 + { format.bvolume output 31.622 + format.chapter.pages "chapter and pages" output.check 31.623 + new.block 31.624 + format.number.series output 31.625 + new.sentence 31.626 + publisher "publisher" output.check 31.627 + address output 31.628 + } 31.629 + { format.chapter.pages "chapter and pages" output.check 31.630 + new.block 31.631 + format.book.crossref output.nonnull 31.632 + } 31.633 + if$ 31.634 + format.edition output 31.635 + format.date "year" output.check 31.636 + new.block 31.637 + note output 31.638 + fin.entry 31.639 +} 31.640 + 31.641 +FUNCTION {incollection} 31.642 +{ output.bibitem 31.643 + format.authors "author" output.check 31.644 + new.block 31.645 + format.title "title" output.check 31.646 + new.block 31.647 + crossref missing$ 31.648 + { format.in.ed.booktitle "booktitle" output.check 31.649 + format.bvolume output 31.650 + format.number.series output 31.651 + format.chapter.pages output 31.652 + new.sentence 31.653 + publisher "publisher" output.check 31.654 + address output 31.655 + format.edition output 31.656 + format.date "year" output.check 31.657 + } 31.658 + { format.incoll.inproc.crossref output.nonnull 31.659 + format.chapter.pages output 31.660 + } 31.661 + if$ 31.662 + new.block 31.663 + note output 31.664 + fin.entry 31.665 +} 31.666 + 31.667 +FUNCTION {inproceedings} 31.668 +{ output.bibitem 31.669 + format.authors "author" output.check 31.670 + new.block 31.671 + format.title "title" output.check 31.672 + new.block 31.673 + crossref missing$ 31.674 + { format.in.ed.booktitle "booktitle" output.check 31.675 + format.bvolume output 31.676 + format.number.series output 31.677 + format.pages output 31.678 + address empty$ 31.679 + { organization publisher new.sentence.checkb 31.680 + organization output 31.681 + publisher output 31.682 + format.date "year" output.check 31.683 + } 31.684 + { address output.nonnull 31.685 + format.date "year" output.check 31.686 + new.sentence 31.687 + organization output 31.688 + publisher output 31.689 + } 31.690 + if$ 31.691 + } 31.692 + { format.incoll.inproc.crossref output.nonnull 31.693 + format.pages output 31.694 + } 31.695 + if$ 31.696 + new.block 31.697 + note output 31.698 + fin.entry 31.699 +} 31.700 + 31.701 +FUNCTION {conference} { inproceedings } 31.702 + 31.703 +FUNCTION {manual} 31.704 +{ output.bibitem 31.705 + author empty$ 31.706 + { organization empty$ 31.707 + 'skip$ 31.708 + { organization output.nonnull 31.709 + address output 31.710 + } 31.711 + if$ 31.712 + } 31.713 + { format.authors output.nonnull } 31.714 + if$ 31.715 + new.block 31.716 + format.btitle "title" output.check 31.717 + author empty$ 31.718 + { organization empty$ 31.719 + { address new.block.checka 31.720 + address output 31.721 + } 31.722 + 'skip$ 31.723 + if$ 31.724 + } 31.725 + { organization address new.block.checkb 31.726 + organization output 31.727 + address output 31.728 + } 31.729 + if$ 31.730 + format.edition output 31.731 + format.date output 31.732 + new.block 31.733 + note output 31.734 + fin.entry 31.735 +} 31.736 + 31.737 +FUNCTION {mastersthesis} 31.738 +{ output.bibitem 31.739 + format.authors "author" output.check 31.740 + new.block 31.741 + format.title "title" output.check 31.742 + new.block 31.743 + "Master's thesis" format.thesis.type output.nonnull 31.744 + school "school" output.check 31.745 + address output 31.746 + format.date "year" output.check 31.747 + new.block 31.748 + note output 31.749 + fin.entry 31.750 +} 31.751 + 31.752 +FUNCTION {misc} 31.753 +{ output.bibitem 31.754 + format.authors output 31.755 + title howpublished new.block.checkb 31.756 + format.title output 31.757 + howpublished new.block.checka 31.758 + howpublished output 31.759 + format.date output 31.760 + new.block 31.761 + note output 31.762 + fin.entry 31.763 + empty.misc.check 31.764 +} 31.765 + 31.766 +FUNCTION {phdthesis} 31.767 +{ output.bibitem 31.768 + format.authors "author" output.check 31.769 + new.block 31.770 + format.btitle "title" output.check 31.771 + new.block 31.772 + "PhD thesis" format.thesis.type output.nonnull 31.773 + school "school" output.check 31.774 + address output 31.775 + format.date "year" output.check 31.776 + new.block 31.777 + note output 31.778 + fin.entry 31.779 +} 31.780 + 31.781 +FUNCTION {proceedings} 31.782 +{ output.bibitem 31.783 + editor empty$ 31.784 + { organization output } 31.785 + { format.editors output.nonnull } 31.786 + if$ 31.787 + new.block 31.788 + format.btitle "title" output.check 31.789 + format.bvolume output 31.790 + format.number.series output 31.791 + address empty$ 31.792 + { editor empty$ 31.793 + { publisher new.sentence.checka } 31.794 + { organization publisher new.sentence.checkb 31.795 + organization output 31.796 + } 31.797 + if$ 31.798 + publisher output 31.799 + format.date "year" output.check 31.800 + } 31.801 + { address output.nonnull 31.802 + format.date "year" output.check 31.803 + new.sentence 31.804 + editor empty$ 31.805 + 'skip$ 31.806 + { organization output } 31.807 + if$ 31.808 + publisher output 31.809 + } 31.810 + if$ 31.811 + new.block 31.812 + note output 31.813 + fin.entry 31.814 +} 31.815 + 31.816 +FUNCTION {techreport} 31.817 +{ output.bibitem 31.818 + format.authors "author" output.check 31.819 + new.block 31.820 + format.title "title" output.check 31.821 + new.block 31.822 + format.tr.number output.nonnull 31.823 + institution "institution" output.check 31.824 + address output 31.825 + format.date "year" output.check 31.826 + new.block 31.827 + note output 31.828 + fin.entry 31.829 +} 31.830 + 31.831 +FUNCTION {unpublished} 31.832 +{ output.bibitem 31.833 + format.authors "author" output.check 31.834 + new.block 31.835 + format.title "title" output.check 31.836 + new.block 31.837 + note "note" output.check 31.838 + format.date output 31.839 + fin.entry 31.840 +} 31.841 + 31.842 +FUNCTION {default.type} { misc } 31.843 + 31.844 +MACRO {jan} {"January"} 31.845 + 31.846 +MACRO {feb} {"February"} 31.847 + 31.848 +MACRO {mar} {"March"} 31.849 + 31.850 +MACRO {apr} {"April"} 31.851 + 31.852 +MACRO {may} {"May"} 31.853 + 31.854 +MACRO {jun} {"June"} 31.855 + 31.856 +MACRO {jul} {"July"} 31.857 + 31.858 +MACRO {aug} {"August"} 31.859 + 31.860 +MACRO {sep} {"September"} 31.861 + 31.862 +MACRO {oct} {"October"} 31.863 + 31.864 +MACRO {nov} {"November"} 31.865 + 31.866 +MACRO {dec} {"December"} 31.867 + 31.868 +MACRO {acmcs} {"ACM Computing Surveys"} 31.869 + 31.870 +MACRO {acta} {"Acta Informatica"} 31.871 + 31.872 +MACRO {cacm} {"Communications of the ACM"} 31.873 + 31.874 +MACRO {ibmjrd} {"IBM Journal of Research and Development"} 31.875 + 31.876 +MACRO {ibmsj} {"IBM Systems Journal"} 31.877 + 31.878 +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 31.879 + 31.880 +MACRO {ieeetc} {"IEEE Transactions on Computers"} 31.881 + 31.882 +MACRO {ieeetcad} 31.883 + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 31.884 + 31.885 +MACRO {ipl} {"Information Processing Letters"} 31.886 + 31.887 +MACRO {jacm} {"Journal of the ACM"} 31.888 + 31.889 +MACRO {jcss} {"Journal of Computer and System Sciences"} 31.890 + 31.891 +MACRO {scp} {"Science of Computer Programming"} 31.892 + 31.893 +MACRO {sicomp} {"SIAM Journal on Computing"} 31.894 + 31.895 +MACRO {tocs} {"ACM Transactions on Computer Systems"} 31.896 + 31.897 +MACRO {tods} {"ACM Transactions on Database Systems"} 31.898 + 31.899 +MACRO {tog} {"ACM Transactions on Graphics"} 31.900 + 31.901 +MACRO {toms} {"ACM Transactions on Mathematical Software"} 31.902 + 31.903 +MACRO {toois} {"ACM Transactions on Office Information Systems"} 31.904 + 31.905 +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 31.906 + 31.907 +MACRO {tcs} {"Theoretical Computer Science"} 31.908 + 31.909 +READ 31.910 + 31.911 +FUNCTION {sortify} 31.912 +{ purify$ 31.913 + "l" change.case$ 31.914 +} 31.915 + 31.916 +INTEGERS { len } 31.917 + 31.918 +FUNCTION {chop.word} 31.919 +{ 's := 31.920 + 'len := 31.921 + s #1 len substring$ = 31.922 + { s len #1 + global.max$ substring$ } 31.923 + 's 31.924 + if$ 31.925 +} 31.926 + 31.927 +FUNCTION {sort.format.names} 31.928 +{ 's := 31.929 + #1 'nameptr := 31.930 + "" 31.931 + s num.names$ 'numnames := 31.932 + numnames 'namesleft := 31.933 + { namesleft #0 > } 31.934 + { nameptr #1 > 31.935 + { " " * } 31.936 + 'skip$ 31.937 + if$ 31.938 + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := 31.939 + nameptr numnames = t "others" = and 31.940 + { "et al" * } 31.941 + { t sortify * } 31.942 + if$ 31.943 + nameptr #1 + 'nameptr := 31.944 + namesleft #1 - 'namesleft := 31.945 + } 31.946 + while$ 31.947 +} 31.948 + 31.949 +FUNCTION {sort.format.title} 31.950 +{ 't := 31.951 + "A " #2 31.952 + "An " #3 31.953 + "The " #4 t chop.word 31.954 + chop.word 31.955 + chop.word 31.956 + sortify 31.957 + #1 global.max$ substring$ 31.958 +} 31.959 + 31.960 +FUNCTION {author.sort} 31.961 +{ author empty$ 31.962 + { key empty$ 31.963 + { "to sort, need author or key in " cite$ * warning$ 31.964 + "" 31.965 + } 31.966 + { key sortify } 31.967 + if$ 31.968 + } 31.969 + { author sort.format.names } 31.970 + if$ 31.971 +} 31.972 + 31.973 +FUNCTION {author.editor.sort} 31.974 +{ author empty$ 31.975 + { editor empty$ 31.976 + { key empty$ 31.977 + { "to sort, need author, editor, or key in " cite$ * warning$ 31.978 + "" 31.979 + } 31.980 + { key sortify } 31.981 + if$ 31.982 + } 31.983 + { editor sort.format.names } 31.984 + if$ 31.985 + } 31.986 + { author sort.format.names } 31.987 + if$ 31.988 +} 31.989 + 31.990 +FUNCTION {author.organization.sort} 31.991 +{ author empty$ 31.992 + { organization empty$ 31.993 + { key empty$ 31.994 + { "to sort, need author, organization, or key in " cite$ * warning$ 31.995 + "" 31.996 + } 31.997 + { key sortify } 31.998 + if$ 31.999 + } 31.1000 + { "The " #4 organization chop.word sortify } 31.1001 + if$ 31.1002 + } 31.1003 + { author sort.format.names } 31.1004 + if$ 31.1005 +} 31.1006 + 31.1007 +FUNCTION {editor.organization.sort} 31.1008 +{ editor empty$ 31.1009 + { organization empty$ 31.1010 + { key empty$ 31.1011 + { "to sort, need editor, organization, or key in " cite$ * warning$ 31.1012 + "" 31.1013 + } 31.1014 + { key sortify } 31.1015 + if$ 31.1016 + } 31.1017 + { "The " #4 organization chop.word sortify } 31.1018 + if$ 31.1019 + } 31.1020 + { editor sort.format.names } 31.1021 + if$ 31.1022 +} 31.1023 + 31.1024 +FUNCTION {presort} 31.1025 +{ type$ "book" = 31.1026 + type$ "inbook" = 31.1027 + or 31.1028 + 'author.editor.sort 31.1029 + { type$ "proceedings" = 31.1030 + 'editor.organization.sort 31.1031 + { type$ "manual" = 31.1032 + 'author.organization.sort 31.1033 + 'author.sort 31.1034 + if$ 31.1035 + } 31.1036 + if$ 31.1037 + } 31.1038 + if$ 31.1039 + " " 31.1040 + * 31.1041 + year field.or.null sortify 31.1042 + * 31.1043 + " " 31.1044 + * 31.1045 + title field.or.null 31.1046 + sort.format.title 31.1047 + * 31.1048 + #1 entry.max$ substring$ 31.1049 + 'sort.key$ := 31.1050 +} 31.1051 + 31.1052 +ITERATE {presort} 31.1053 + 31.1054 +SORT 31.1055 + 31.1056 +STRINGS { longest.label } 31.1057 + 31.1058 +INTEGERS { number.label longest.label.width } 31.1059 + 31.1060 +FUNCTION {initialize.longest.label} 31.1061 +{ "" 'longest.label := 31.1062 + #1 'number.label := 31.1063 + #0 'longest.label.width := 31.1064 +} 31.1065 + 31.1066 +FUNCTION {longest.label.pass} 31.1067 +{ number.label int.to.str$ 'label := 31.1068 + number.label #1 + 'number.label := 31.1069 + label width$ longest.label.width > 31.1070 + { label 'longest.label := 31.1071 + label width$ 'longest.label.width := 31.1072 + } 31.1073 + 'skip$ 31.1074 + if$ 31.1075 +} 31.1076 + 31.1077 +EXECUTE {initialize.longest.label} 31.1078 + 31.1079 +ITERATE {longest.label.pass} 31.1080 + 31.1081 +FUNCTION {begin.bib} 31.1082 +{ preamble$ empty$ 31.1083 + 'skip$ 31.1084 + { preamble$ write$ newline$ } 31.1085 + if$ 31.1086 + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ 31.1087 +} 31.1088 + 31.1089 +EXECUTE {begin.bib} 31.1090 + 31.1091 +EXECUTE {init.state.consts} 31.1092 + 31.1093 +ITERATE {call.type$} 31.1094 + 31.1095 +FUNCTION {end.bib} 31.1096 +{ newline$ 31.1097 + "\end{thebibliography}" write$ newline$ 31.1098 +} 31.1099 + 31.1100 +EXECUTE {end.bib} 31.1101 +
32.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 32.2 +++ b/0__Papers/PStack/HotPar_2012/helpers/url.sty Sun Mar 11 09:26:44 2012 -0700 32.3 @@ -0,0 +1,325 @@ 32.4 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@triumf.ca 32.5 +% Copyright 1996-1999 Donald Arseneau, Vancouver, Canada. 32.6 +% This program can be used, distributed, and modified under the terms 32.7 +% of the LaTeX Project Public License. 32.8 +% 32.9 +% A form of \verb that allows linebreaks at certain characters or 32.10 +% combinations of characters, accepts reconfiguration, and can usually 32.11 +% be used in the argument to another command. It is intended for email 32.12 +% addresses, hypertext links, directories/paths, etc., which normally 32.13 +% have no spaces. The font may be selected using the \urlstyle command, 32.14 +% and new url-like commands can be defined using \urldef. 32.15 +% 32.16 +% Usage: Conditions: 32.17 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 32.18 +% "\", it can't be used in the argument to another command. 32.19 +% The argument must not contain unbalanced braces. 32.20 +% \url| | ...where "|" is any character not used in the argument and not 32.21 +% "{" or a space. The same restrictions as above except that the 32.22 +% argument may contain unbalanced braces. 32.23 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 32.24 +% what characters it contains. 32.25 +% 32.26 +% See further instructions after "\endinput" 32.27 +% 32.28 +\def\Url@ttdo{% style assignments for tt fonts or T1 encoding 32.29 +\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]% 32.30 + \do\)\do\,\do\?\do\'\do\+\do\=}% 32.31 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 32.32 +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary) 32.33 +\def\UrlSpecials{\do\ {\ }}% 32.34 +\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually 32.35 +} 32.36 +\def\Url@do{% style assignments for OT1 fonts except tt 32.37 +\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}% 32.38 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 32.39 +\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character 32.40 +\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_% 32.41 + \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do 32.42 + \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do 32.43 + \ {\ }}% 32.44 +\def\UrlOrds{\do\'\do\"\do\-}% 32.45 +} 32.46 +\def\url@ttstyle{% 32.47 +\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo 32.48 +} 32.49 +\def\url@rmstyle{% 32.50 +\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do 32.51 +} 32.52 +\def\url@sfstyle{% 32.53 +\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do 32.54 +} 32.55 +\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else 32.56 + \url@rmstyle \fi \def\UrlFont{}} 32.57 + 32.58 +\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{} 32.59 +\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{} 32.60 + 32.61 +\def\Url{% 32.62 + \begingroup \let\url@moving\relax\relax \endgroup 32.63 + \ifmmode\@nomatherr$\fi 32.64 + \UrlFont $\fam\z@ \textfont\z@\font 32.65 + \let\do\@makeother \dospecials % verbatim catcodes 32.66 + \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces 32.67 + \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip 32.68 + \@tempcnta\fam\multiply\@tempcnta\@cclvi 32.69 + \let\do\set@mathcode \UrlOrds % ordinary characters that were special 32.70 + \advance\@tempcnta 8192 \UrlBreaks % bin 32.71 + \advance\@tempcnta 4096 \UrlBigBreaks % rel 32.72 + \advance\@tempcnta 4096 \UrlNoBreaks % open 32.73 + \let\do\set@mathact \UrlSpecials % active 32.74 + \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures 32.75 + \@ifnextchar\bgroup\Url@z\Url@y} 32.76 + 32.77 +\def\Url@y#1{\catcode`{11 \catcode`}11 32.78 + \def\@tempa##1#1{\Url@z{##1}}\@tempa} 32.79 +\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook 32.80 + \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup} 32.81 +\def\Url@Hook{\UrlLeft} 32.82 +\let\UrlRight\@empty 32.83 +\let\UrlLeft\@empty 32.84 + 32.85 +\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@} 32.86 +\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}} 32.87 +\def\set@mathnolig#1{\ifnum\mathcode`#1<32768 32.88 + \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}% 32.89 + \mathcode`#132768 \fi} 32.90 + 32.91 +\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup 32.92 + \def\Url@z{\Url@def{#1}{#2}}#2} 32.93 +\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax 32.94 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 32.95 + \def#1{#2{#3}}} 32.96 +\else 32.97 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 32.98 + \DeclareRobustCommand{#1}{#2{#3}}} 32.99 +\fi 32.100 + 32.101 +\def\urlstyle#1{\csname url@#1style\endcsname} 32.102 + 32.103 +% Sample (and default) configuration: 32.104 +% 32.105 +\newcommand\url{\begingroup \Url} 32.106 +% 32.107 +% picTeX defines \path, so declare it optionally: 32.108 +\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{} 32.109 +% 32.110 +% too many styles define \email like \address, so I will not define it. 32.111 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 32.112 + 32.113 +% Process LaTeX \package options 32.114 +% 32.115 +\urlstyle{tt} 32.116 +\let\Url@sppen\@M 32.117 +\def\do@url@hyp{}% by default, no breaks after hyphens 32.118 + 32.119 +\@ifundefined{ProvidesPackage}{}{ 32.120 + \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space 32.121 + Verb mode for urls, email addresses, and file names] 32.122 + \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens 32.123 + \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later 32.124 + \DeclareOption{spaces}{\let\Url@sppen\relpenalty} 32.125 + \DeclareOption{T1}{\let\Url@do\Url@ttdo} 32.126 + \ProcessOptions 32.127 +\ifx\Url@Hook\relax % [obeyspaces] was declared 32.128 + \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft 32.129 + \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th} 32.130 + \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain} 32.131 + \def\Url@nosp\,#1\Url@retain{} 32.132 +\fi 32.133 +} 32.134 + 32.135 +\edef\url@moving{\csname Url Error\endcsname} 32.136 +\expandafter\edef\url@moving 32.137 + {\csname url used in a moving argument.\endcsname} 32.138 +\expandafter\expandafter\expandafter \let \url@moving\undefined 32.139 + 32.140 +\endinput 32.141 +% 32.142 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@reg.triumf.ca 32.143 +% 32.144 +% This package defines "\url", a form of "\verb" that allows linebreaks, 32.145 +% and can often be used in the argument to another command. It can be 32.146 +% configured to print in different formats, and is particularly useful for 32.147 +% hypertext links, email addresses, directories/paths, etc. The font may 32.148 +% be selected using the "\urlstyle" command and pre-defined text can be 32.149 +% stored with the "\urldef" command. New url-like commands can be defined, 32.150 +% and a "\path" command is provided this way. 32.151 +% 32.152 +% Usage: Conditions: 32.153 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 32.154 +% "\", it can't be used in the argument to another command. 32.155 +% The argument must not contain unbalanced braces. 32.156 +% \url| | ...where "|" is any character not used in the argument and not 32.157 +% "{" or a space. The same restrictions as above except that the 32.158 +% argument may contain unbalanced braces. 32.159 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 32.160 +% what characters it contains. 32.161 +% 32.162 +% The "\url" command is fragile, and its argument is likely to be very 32.163 +% fragile, but a defined-url is robust. 32.164 +% 32.165 +% Package Option: obeyspaces 32.166 +% Ordinarily, all spaces are ignored in the url-text. The "[obeyspaces]" 32.167 +% option allows spaces, but may introduce spurious spaces when a url 32.168 +% containing "\" characters is given in the argument to another command. 32.169 +% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}", 32.170 +% and if you need both spaces and backslashes, use a `defined-url' for 32.171 +% anything with "\". 32.172 +% 32.173 +% Package Option: hyphens 32.174 +% Ordinarily, breaks are not allowed after "-" characters because this 32.175 +% leads to confusion. (Is the "-" part of the address or just a hyphen?) 32.176 +% The package option "[hyphens]" allows breaks after explicit hyphen 32.177 +% characters. The "\url" command will *never ever* hyphenate words. 32.178 +% 32.179 +% Package Option: spaces 32.180 +% Likewise, breaks are not usually allowed after spaces under the 32.181 +% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]" 32.182 +% will allow breaks at those spaces. 32.183 +% 32.184 +% Package Option: T1 32.185 +% This signifies that you will be using T1-encoded fonts which contain 32.186 +% some characters missing from most older (OT1) encoded TeX fonts. This 32.187 +% changes the default definition for "\urlstyle{rm}". 32.188 +% 32.189 +% Defining a defined-url: 32.190 +% Take for example the email address "myself%node@gateway.net" which could 32.191 +% not be given (using "\url" or "\verb") in a caption or parbox due to the 32.192 +% percent sign. This address can be predefined with 32.193 +% \urldef{\myself}\url{myself%node@gateway.net} or 32.194 +% \urldef{\myself}\url|myself%node@gateway.net| 32.195 +% and then you may use "\myself" instead of "\url{myself%node@gateway.net}" 32.196 +% in an argument, and even in a moving argument like a caption because a 32.197 +% defined-url is robust. 32.198 +% 32.199 +% Style: 32.200 +% You can switch the style of printing using "\urlstyle{tt}", where "tt" 32.201 +% can be any defined style. The pre-defined styles are "tt", "rm", "sf", 32.202 +% and "same" which all allow the same linebreaks but different fonts -- 32.203 +% the first three select a specific font and the "same" style uses the 32.204 +% current text font. You can define your own styles with different fonts 32.205 +% and/or line-breaking by following the explanations below. The "\url" 32.206 +% command follows whatever the currently-set style dictates. 32.207 +% 32.208 +% Alternate commands: 32.209 +% It may be desireable to have different things treated differently, each 32.210 +% in a predefined style; e.g., if you want directory paths to always be 32.211 +% in tt and email addresses to be rm, then you would define new url-like 32.212 +% commands as follows: 32.213 +% 32.214 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 32.215 +% \newcommand\directory{\begingroup \urlstyle{tt}\Url} 32.216 +% 32.217 +% You must follow this format closely, and NOTE that the final command is 32.218 +% "\Url", not "\url". In fact, the "\directory" example is exactly the 32.219 +% "\path" definition which is pre-defined in the package. If you look 32.220 +% above, you will see that "\url" is defined with 32.221 +% \newcommand\url{\begingroup \Url} 32.222 +% I.e., using whatever url-style has been selected. 32.223 +% 32.224 +% You can make a defined-url for these other styles, using the usual 32.225 +% "\urldef" command as in this example: 32.226 +% 32.227 +% \urldef{\myself}{\email}{myself%node.domain@gateway.net} 32.228 +% 32.229 +% which makes "\myself" act like "\email{myself%node.domain@gateway.net}", 32.230 +% if the "\email" command is defined as above. The "\myself" command 32.231 +% would then be robust. 32.232 +% 32.233 +% Defining styles: 32.234 +% Before describing how to customize the printing style, it is best to 32.235 +% mention something about the unusual implementation of "\url". Although 32.236 +% the material is textual in nature, and the font specification required 32.237 +% is a text-font command, the text is actually typeset in *math* mode. 32.238 +% This allows the context-sensitive linebreaking, but also accounts for 32.239 +% the default behavior of ignoring spaces. Now on to defining styles. 32.240 +% 32.241 +% To change the font or the list of characters that allow linebreaks, you 32.242 +% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc. 32.243 +% directly in the document, but it is better to define a new `url-style' 32.244 +% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines 32.245 +% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and 32.246 +% "\UrlFont". 32.247 +% 32.248 +% Changing font: 32.249 +% The "\UrlFont" command selects the font. The definition of "\UrlFont" 32.250 +% done by the pre-defined styles varies to cope with a variety of LaTeX 32.251 +% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}". 32.252 +% Depending on the font selected, some characters may need to be defined 32.253 +% in the "\UrlSpecials" list because many fonts don't contain all the 32.254 +% standard input characters. 32.255 +% 32.256 +% Changing linebreaks: 32.257 +% The list of characters that allow line-breaks is given by "\UrlBreaks" 32.258 +% and "\UrlBigBreaks", which have the format "\do\c" for character "c". 32.259 +% The differences are that `BigBreaks' have a lower penalty and have 32.260 +% different breakpoints when in sequence (as in "http://"): `BigBreaks' 32.261 +% are treated as mathrels while `Breaks' are mathbins (see The TeXbook, 32.262 +% p.170). In particular, a series of `BigBreak' characters will break at 32.263 +% the end and only at the end; a series of `Break' characters will break 32.264 +% after the first and after every following *pair*; there will be no 32.265 +% break after a `Break' character if a `BigBreak' follows. In the case 32.266 +% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' -- 32.267 +% the breaks are the same in either case; but for DECnet nodes with "::" 32.268 +% it is important to prevent breaks *between* the colons, and that is why 32.269 +% colons are `BigBreaks'. 32.270 +% 32.271 +% It is possible for characters to prevent breaks after the next following 32.272 +% character (I use this for parentheses). Specify these in "\UrlNoBreaks". 32.273 +% 32.274 +% You can do arbitrarily complex things with characters by making them 32.275 +% active in math mode (mathcode hex-8000) and specifying the definition(s) 32.276 +% in "\UrlSpecials". This is used in the rm and sf styles for OT1 font 32.277 +% encoding to handle several characters that are not present in those 32.278 +% computer-modern style fonts. See the definition of "\Url@do", which 32.279 +% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing 32.280 +% characters via "\UrlSpecials". The nominal format for setting each 32.281 +% special character "c" is: "\do\c{<definition>}", but you can include 32.282 +% other definitions too. 32.283 +% 32.284 +% 32.285 +% If all this sounds confusing ... well, it is! But I hope you won't need 32.286 +% to redefine breakpoints -- the default assignments seem to work well for 32.287 +% a wide variety of applications. If you do need to make changes, you can 32.288 +% test for breakpoints using regular math mode and the characters "+=(a". 32.289 +% 32.290 +% Yet more flexibility: 32.291 +% You can also customize the verbatim text by defining "\UrlRight" and/or 32.292 +% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "< >", define 32.293 +% 32.294 +% \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}% 32.295 +% \urlstyle{tt}\Url} 32.296 +% 32.297 +% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim. 32.298 +% This lets you use formatting commands there, but you must be careful not 32.299 +% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly. 32.300 +% You can also define "\UrlLeft" to reprocess the verbatim text, but the 32.301 +% format of the definition is special: 32.302 +% 32.303 +% \def\UrlLeft#1\UrlRight{ ... do things with #1 ... } 32.304 +% 32.305 +% Yes, that is "#1" followed by "\UrlRight" then the definition. For 32.306 +% example, to put a hyperTeX hypertext link in the DVI file: 32.307 +% 32.308 +% \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}} 32.309 +% 32.310 +% Using this technique, url.sty can provide a convenient interface for 32.311 +% performing various operations on verbatim text. You don't even need 32.312 +% to print out the argument! For greatest efficiency in such obscure 32.313 +% applications, you can define a null url-style where all the lists like 32.314 +% "\UrlBreaks" are empty. 32.315 +% 32.316 +% Revision History: 32.317 +% ver 1.1 6-Feb-1996: 32.318 +% Fix hyphens that wouldn't break and ligatures that weren't suppressed. 32.319 +% ver 1.2 19-Oct-1996: 32.320 +% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight". 32.321 +% ver 1.3 21-Jul-1997: 32.322 +% Prohibit spaces as delimiter characters; change ascii tilde in OT1. 32.323 +% ver 1.4 02-Mar-1999 32.324 +% LaTeX license; moving-argument-error 32.325 +% The End 32.326 + 32.327 +Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 32.328 +:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
33.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 33.2 +++ b/0__Papers/PStack/HotPar_2012/helpers/usetex-v1-anon.cls Sun Mar 11 09:26:44 2012 -0700 33.3 @@ -0,0 +1,363 @@ 33.4 +\NeedsTeXFormat{LaTeX2e} 33.5 +\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class] 33.6 + 33.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 33.8 +% 33.9 +% To use this style file, do this: 33.10 +% 33.11 +% \documentclass{usetex-v1} 33.12 +% 33.13 +% The following definitions are modifications of standard article.cls 33.14 +% definitions, arranged to do a better job of matching the Usenix 33.15 +% guidelines. and make for convenient Usenix paper writing 33.16 +% 33.17 +% Choose the appropriate option: 33.18 +% 33.19 +% 1. workingdraft: 33.20 +% 33.21 +% For initial submission and shepherding. Features prominent 33.22 +% date, notice of draft status, page numbers, and annotation 33.23 +% facilities. 33.24 +% 33.25 +% 2. proof: 33.26 +% 33.27 +% A galley proof identical to the final copy except for page 33.28 +% numbering and proof date on the bottom. Annotations are 33.29 +% removed. 33.30 +% 33.31 +% 3. webversion: 33.32 +% 33.33 +% A web-publishable version, uses \docstatus{} to indicate 33.34 +% publication information (where and when paper was published), 33.35 +% and page numbers. 33.36 +% 33.37 +% 4. finalversion: 33.38 +% 33.39 +% The final camera-ready-copy (CRC) version of the paper. 33.40 +% Published in conference proceedings. This doesn't include 33.41 +% page numbers, annotations, or draft status (Usenix adds 33.42 +% headers, footers, and page numbers onto the CRC). 33.43 +% 33.44 +% If several are used, the last one in this list wins 33.45 +% 33.46 + 33.47 +% 33.48 +% In addition, the option "endnotes" permits the use of the 33.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 33.50 +% documents. In this case, be sure to include a 33.51 +% \makeendnotes command at the end of your document or 33.52 +% the endnotes will not actually appear. 33.53 +% 33.54 + 33.55 +\newif\if@draftcopy \newif\ifworkingdraft 33.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 33.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 33.58 +\newif\ifwebversion 33.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 33.60 +\DeclareOption{finalversion}{} 33.61 +\newif\ifhasendnotes 33.62 +\DeclareOption{endnotes}{\hasendnotestrue} 33.63 + 33.64 +% pass all other options to the article class 33.65 +\DeclareOption*{% 33.66 + \PassOptionsToClass{\CurrentOption}{article}% 33.67 +} 33.68 + 33.69 +% actually process the options 33.70 +\ProcessOptions 33.71 + 33.72 +% usetex is based on article 33.73 +\LoadClass[twocolumn]{article} 33.74 + 33.75 +% Footnotes are not currently allowed, but 33.76 +% endnotes (while a bad idea) are. 33.77 +\ifhasendnotes 33.78 + \RequirePackage{endnotes} 33.79 +\fi 33.80 + 33.81 +% save any provided document status information 33.82 +\def\@docstatus{} 33.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 33.84 + 33.85 +\ifworkingdraft 33.86 + 33.87 + % formatting helper for draft notes 33.88 + \newcommand{\@noteleader[1]}{% 33.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 33.90 + \bfseries\itshape 33.91 + } 33.92 + 33.93 + % put a small anonymous editing note in the draft copy 33.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 33.95 + 33.96 + % put a small attributed editing note in the draft copy 33.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 33.98 + 33.99 + % put an attributed editing note paragraph in the draft copy 33.100 + \newenvironment{ednote}[1] 33.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 33.102 + 33.103 + % mark a spot where work has been left off for later 33.104 + \newcommand{\HERE}{% 33.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 33.106 + 33.107 +\else 33.108 + 33.109 + % dummy versions of editing commands to produce warnings 33.110 + 33.111 + \newcommand{\edannote}[1]{\@latex@warning 33.112 + {Leftover edannote command in final version ignored}} 33.113 + 33.114 + \newcommand{\edatnote}[1]{\@latex@warning 33.115 + {Leftover edatnote command in final version ignored}} 33.116 + 33.117 + \newsavebox{\@discard} 33.118 + \newenvironment{ednote}[1]{\@latex@warning 33.119 + {Leftover ednote environment in final version ignored}% 33.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 33.121 + 33.122 + \newcommand{\HERE}{\@latex@warning 33.123 + {Leftover HERE command in final version ignored}} 33.124 + 33.125 +\fi 33.126 + 33.127 +% set up the footers appropriately 33.128 +\def\@setfoot{% 33.129 + \ifwebversion 33.130 + % webversions get whatever status the author says 33.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 33.132 + \else 33.133 + % all other drafts get the standard draft footer 33.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 33.135 + \fi 33.136 + \gdef\@oddfoot{\@evenfoot}% 33.137 +} 33.138 + 33.139 +% 33.140 +% Usenix wants no page numbers for submitted papers, so that 33.141 +% they can number them themselves. Drafts should have 33.142 +% numbered pages, so they can be edited. 33.143 +% 33.144 +\if@draftcopy 33.145 + % Compute a date and time for the draft for use 33.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 33.147 + % 33.148 + % Time code adapted from custom-bib/makebst.tex 33.149 + % Copyright 1993-1999 Patrick W Daly 33.150 + % Max-Planck-Institut f\"ur Aeronomie 33.151 + % E-mail: daly@linmp.mpg.de 33.152 + \newcount\hour 33.153 + \hour=\time 33.154 + \divide\hour by 60 33.155 + \newcount\minute 33.156 + \minute=\hour 33.157 + \multiply\minute by 60 33.158 + \advance\minute by -\time 33.159 + \multiply\minute by -1 33.160 + \newcommand{\@draftdate} 33.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 33.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 33.163 + \pagestyle{plain} 33.164 + \@setfoot 33.165 +\else 33.166 + \pagestyle{empty} 33.167 +\fi 33.168 + 33.169 +% Times-Roman font is nice if you can get it (requires NFSS, 33.170 +% which is in latex2e). 33.171 +\usepackage{times} 33.172 + 33.173 +% endnote support, as described at 33.174 +% http://www.lyx.org/help/footnotes.php 33.175 +\ifhasendnotes 33.176 + \typeout 33.177 + {Warning: endnotes support is deprecated (see documentation for details)} 33.178 + \let\footnote=\endnote 33.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 33.180 + \parindent=0pt\parskip=\baselineskip 33.181 + \@theenmark. } 33.182 + \newcommand{\makeendnotes}{ 33.183 + \begingroup 33.184 + \def\enotesize{\normalsize} 33.185 + \theendnotes 33.186 + \endgroup 33.187 + } 33.188 +\else 33.189 + \long\gdef\footnote{\@latex@error 33.190 + {Deprecated footnote command (see documentation for details)}} 33.191 + \long\gdef\endnote{\@latex@error 33.192 + {Deprecated endnote command (see documentation for details)}} 33.193 +\fi 33.194 + 33.195 +% 33.196 +% Usenix margins 33.197 +% Gives active areas of 6.45" x 9.0" 33.198 +% 33.199 +\setlength{\textheight}{9.0in} 33.200 +\setlength{\columnsep}{0.25in} 33.201 +\setlength{\textwidth}{6.45in} 33.202 +%\setlength{\footskip}{0.0in} 33.203 +%\setlength{\footheight}{0.0in} 33.204 +\setlength{\topmargin}{0.0in} 33.205 +\setlength{\headheight}{0.0in} 33.206 +\setlength{\headsep}{0.0in} 33.207 +\setlength{\evensidemargin}{0.0in} 33.208 +\setlength{\oddsidemargin}{0.0in} 33.209 +\setlength{\marginparsep}{1.5em} 33.210 +\setlength{\marginparwidth}{0.35in} 33.211 + 33.212 +% The standard maketitle insists on 33.213 +% messing with the style of the first page. 33.214 +% Thus, we will wrap maketitle with code to put 33.215 +% things right again. 33.216 +\let \save@maketitle=\maketitle 33.217 +\def\maketitle{ 33.218 + \save@maketitle 33.219 + \if@draftcopy 33.220 + \@specialpagefalse 33.221 + \else 33.222 + \thispagestyle{empty} 33.223 + \fi 33.224 +} 33.225 + 33.226 +% 33.227 +% Usenix titles are in 14-point bold type, with no date, and with no 33.228 +% change in the empty page headers. The author section is 33.229 +% 12 point roman and italic: see below. 33.230 +% 33.231 +\def\@maketitle{% 33.232 + \newpage 33.233 + \null 33.234 +% \vskip 3ex% 33.235 + \begin{center}% 33.236 +% \let \footnote \thanks 33.237 + {\Large \bf \@title \par}% % use 14 pt bold 33.238 +% \vskip 2ex% 33.239 + {\large 33.240 +% \lineskip .5ex% 33.241 +% \begin{tabular}[t]{c}% 33.242 +% \@author 33.243 +% \end{tabular}\par 33.244 + }% 33.245 + \ifworkingdraft 33.246 + \vskip 0.5ex 33.247 + \textbf{Draft of \@draftdate} 33.248 + \vskip 0.5ex 33.249 + \fi 33.250 + \ifwebversion 33.251 + \vskip 0.5ex 33.252 + \textit{Authors and affiliation elided for review.} 33.253 + \vskip 0.5ex 33.254 + \fi 33.255 + \end{center}% 33.256 + \par 33.257 +% \vskip 2ex 33.258 +} 33.259 + 33.260 +% 33.261 +% The author section 33.262 +% should have names in Roman, address in 33.263 +% italic, e-mail/http in typewriter. 33.264 +% This is enforced by use of these macros 33.265 +% 33.266 +\def\authname#1{{#1}\\} 33.267 +\def\authaddr#1{\itshape{#1}\\} 33.268 +\def\authurl#1{{\normalsize #1}\\} 33.269 + 33.270 +% 33.271 +% The abstract is preceded by a 12-pt bold centered heading 33.272 +% 33.273 +\def\abstract{\begin{center}% 33.274 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 33.275 + \end{center}} 33.276 +\def\endabstract{} 33.277 + 33.278 +% 33.279 +% Main section titles are 12-pt bold. Lower divisions can 33.280 +% be same size or smaller: we choose same. 33.281 +% Main section leading is tight. Subsection leading is even 33.282 +% slightly tighter. All lower divisions are formatted like subsections. 33.283 +% 33.284 +\newcommand\@sectionfont{\reset@font\large\bf} 33.285 +\newlength\@sectionaboveskip 33.286 +\setlength\@sectionaboveskip{-0.7\baselineskip 33.287 + plus -0.1\baselineskip 33.288 + minus -0.1\baselineskip} 33.289 +\newlength\@sectionbelowskip 33.290 +\setlength\@sectionbelowskip{0.3\baselineskip 33.291 + plus 0.1\baselineskip} 33.292 +\newlength\@subsectionaboveskip 33.293 +\setlength\@subsectionaboveskip{-0.5\baselineskip 33.294 + plus -0.1\baselineskip} 33.295 +\renewcommand\section{\@startsection {section}{1}{\z@}% 33.296 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 33.297 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 33.298 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 33.299 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 33.300 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 33.301 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 33.302 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 33.303 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 33.304 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 33.305 + {-1.0em}% 33.306 + {\normalfont\normalsize\bfseries}} 33.307 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 33.308 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 33.309 + {-1.0em}% 33.310 + {\normalfont\normalsize\bfseries}} 33.311 + 33.312 +% List items need to be tightened up. 33.313 +% There must be a better way than copying 33.314 +% the definitions to modify the list environment... 33.315 +\def\@itemspacings{\listparindent=\parindent 33.316 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 33.317 +% now make envs use itemspacings 33.318 +\def\itemize{% 33.319 + \ifnum \@itemdepth >\thr@@\@toodeep\else 33.320 + \advance\@itemdepth\@ne 33.321 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 33.322 + \expandafter 33.323 + \list 33.324 + \csname\@itemitem\endcsname 33.325 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 33.326 + \fi} 33.327 +\def\enumerate{% 33.328 + \ifnum \@enumdepth >\thr@@\@toodeep\else 33.329 + \advance\@enumdepth\@ne 33.330 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 33.331 + \expandafter 33.332 + \list 33.333 + \csname label\@enumctr\endcsname 33.334 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 33.335 + \fi} 33.336 +\def\description{% 33.337 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 33.338 + \@itemspacings\let\makelabel\descriptionlabel}} 33.339 + 33.340 +% Bibliography items need to be tightened up. 33.341 +% Again, there must be a better way than copying 33.342 +% the definitions to modify the list environment... 33.343 +\def\thebibliography#1% 33.344 + {\section*{\refname}% 33.345 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 33.346 + \list{\@biblabel{\@arabic\c@enumiv}}% 33.347 + {\settowidth\labelwidth{\@biblabel{#1}}% 33.348 + \leftmargin\labelwidth 33.349 + \advance\leftmargin\labelsep 33.350 + \@openbib@code 33.351 + \usecounter{enumiv}% 33.352 + \let\p@enumiv\@empty 33.353 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 33.354 + \parsep=0pt}% pack entries 33.355 + \sloppy 33.356 + \hbadness=8000% mostly don't whine about bibliography fmt 33.357 + \clubpenalty=4000% 33.358 + \@clubpenalty=\clubpenalty 33.359 + \widowpenalty=4000% 33.360 + \sfcode`\.\@m} 33.361 + 33.362 +% Floating bodies need to be tightened up. 33.363 +\setlength\textfloatsep{14pt plus 2pt} 33.364 +\setlength\dbltextfloatsep{\textfloatsep} 33.365 +\setlength\intextsep{0.8\textfloatsep} 33.366 +\setlength\abovecaptionskip{8pt minus 2pt}
34.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 34.2 +++ b/0__Papers/PStack/HotPar_2012/helpers/usetex-v1.cls Sun Mar 11 09:26:44 2012 -0700 34.3 @@ -0,0 +1,357 @@ 34.4 +\NeedsTeXFormat{LaTeX2e} 34.5 +\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] 34.6 + 34.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 34.8 +% 34.9 +% To use this style file, do this: 34.10 +% 34.11 +% \documentclass{usetex-v1} 34.12 +% 34.13 +% The following definitions are modifications of standard article.cls 34.14 +% definitions, arranged to do a better job of matching the Usenix 34.15 +% guidelines. and make for convenient Usenix paper writing 34.16 +% 34.17 +% Choose the appropriate option: 34.18 +% 34.19 +% 1. workingdraft: 34.20 +% 34.21 +% For initial submission and shepherding. Features prominent 34.22 +% date, notice of draft status, page numbers, and annotation 34.23 +% facilities. 34.24 +% 34.25 +% 2. proof: 34.26 +% 34.27 +% A galley proof identical to the final copy except for page 34.28 +% numbering and proof date on the bottom. Annotations are 34.29 +% removed. 34.30 +% 34.31 +% 3. webversion: 34.32 +% 34.33 +% A web-publishable version, uses \docstatus{} to indicate 34.34 +% publication information (where and when paper was published), 34.35 +% and page numbers. 34.36 +% 34.37 +% 4. finalversion: 34.38 +% 34.39 +% The final camera-ready-copy (CRC) version of the paper. 34.40 +% Published in conference proceedings. This doesn't include 34.41 +% page numbers, annotations, or draft status (Usenix adds 34.42 +% headers, footers, and page numbers onto the CRC). 34.43 +% 34.44 +% If several are used, the last one in this list wins 34.45 +% 34.46 + 34.47 +% 34.48 +% In addition, the option "endnotes" permits the use of the 34.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 34.50 +% documents. In this case, be sure to include a 34.51 +% \makeendnotes command at the end of your document or 34.52 +% the endnotes will not actually appear. 34.53 +% 34.54 + 34.55 +\newif\if@draftcopy \newif\ifworkingdraft 34.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 34.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 34.58 +\newif\ifwebversion 34.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 34.60 +\DeclareOption{finalversion}{} 34.61 +\newif\ifhasendnotes 34.62 +\DeclareOption{endnotes}{\hasendnotestrue} 34.63 + 34.64 +% pass all other options to the article class 34.65 +\DeclareOption*{% 34.66 + \PassOptionsToClass{\CurrentOption}{article}% 34.67 +} 34.68 + 34.69 +% actually process the options 34.70 +\ProcessOptions 34.71 + 34.72 +% usetex is based on article 34.73 +\LoadClass[twocolumn]{article} 34.74 + 34.75 +% Footnotes are not currently allowed, but 34.76 +% endnotes (while a bad idea) are. 34.77 +\ifhasendnotes 34.78 + \RequirePackage{endnotes} 34.79 +\fi 34.80 + 34.81 +% save any provided document status information 34.82 +\def\@docstatus{} 34.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 34.84 + 34.85 +\ifworkingdraft 34.86 + 34.87 + % formatting helper for draft notes 34.88 + \newcommand{\@noteleader[1]}{% 34.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 34.90 + \bfseries\itshape 34.91 + } 34.92 + 34.93 + % put a small anonymous editing note in the draft copy 34.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 34.95 + 34.96 + % put a small attributed editing note in the draft copy 34.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 34.98 + 34.99 + % put an attributed editing note paragraph in the draft copy 34.100 + \newenvironment{ednote}[1] 34.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 34.102 + 34.103 + % mark a spot where work has been left off for later 34.104 + \newcommand{\HERE}{% 34.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 34.106 + 34.107 +\else 34.108 + 34.109 + % dummy versions of editing commands to produce warnings 34.110 + 34.111 + \newcommand{\edannote}[1]{\@latex@warning 34.112 + {Leftover edannote command in final version ignored}} 34.113 + 34.114 + \newcommand{\edatnote}[1]{\@latex@warning 34.115 + {Leftover edatnote command in final version ignored}} 34.116 + 34.117 + \newsavebox{\@discard} 34.118 + \newenvironment{ednote}[1]{\@latex@warning 34.119 + {Leftover ednote environment in final version ignored}% 34.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 34.121 + 34.122 + \newcommand{\HERE}{\@latex@warning 34.123 + {Leftover HERE command in final version ignored}} 34.124 + 34.125 +\fi 34.126 + 34.127 +% set up the footers appropriately 34.128 +\def\@setfoot{% 34.129 + \ifwebversion 34.130 + % webversions get whatever status the author says 34.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 34.132 + \else 34.133 + % all other drafts get the standard draft footer 34.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 34.135 + \fi 34.136 + \gdef\@oddfoot{\@evenfoot}% 34.137 +} 34.138 + 34.139 +% 34.140 +% Usenix wants no page numbers for submitted papers, so that 34.141 +% they can number them themselves. Drafts should have 34.142 +% numbered pages, so they can be edited. 34.143 +% 34.144 +\if@draftcopy 34.145 + % Compute a date and time for the draft for use 34.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 34.147 + % 34.148 + % Time code adapted from custom-bib/makebst.tex 34.149 + % Copyright 1993-1999 Patrick W Daly 34.150 + % Max-Planck-Institut f\"ur Aeronomie 34.151 + % E-mail: daly@linmp.mpg.de 34.152 + \newcount\hour 34.153 + \hour=\time 34.154 + \divide\hour by 60 34.155 + \newcount\minute 34.156 + \minute=\hour 34.157 + \multiply\minute by 60 34.158 + \advance\minute by -\time 34.159 + \multiply\minute by -1 34.160 + \newcommand{\@draftdate} 34.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 34.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 34.163 + \pagestyle{plain} 34.164 + \@setfoot 34.165 +\else 34.166 + \pagestyle{empty} 34.167 +\fi 34.168 + 34.169 +% Times-Roman font is nice if you can get it (requires NFSS, 34.170 +% which is in latex2e). 34.171 +\usepackage{times} 34.172 + 34.173 +% endnote support, as described at 34.174 +% http://www.lyx.org/help/footnotes.php 34.175 +\ifhasendnotes 34.176 + \typeout 34.177 + {Warning: endnotes support is deprecated (see documentation for details)} 34.178 + \let\footnote=\endnote 34.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 34.180 + \parindent=0pt\parskip=\baselineskip 34.181 + \@theenmark. } 34.182 + \newcommand{\makeendnotes}{ 34.183 + \begingroup 34.184 + \def\enotesize{\normalsize} 34.185 + \theendnotes 34.186 + \endgroup 34.187 + } 34.188 +\else 34.189 + \long\gdef\footnote{\@latex@error 34.190 + {Deprecated footnote command (see documentation for details)}} 34.191 + \long\gdef\endnote{\@latex@error 34.192 + {Deprecated endnote command (see documentation for details)}} 34.193 +\fi 34.194 + 34.195 +% 34.196 +% Usenix margins 34.197 +% Gives active areas of 6.45" x 9.0" 34.198 +% 34.199 +\setlength{\textheight}{9.0in} 34.200 +\setlength{\columnsep}{0.25in} 34.201 +\setlength{\textwidth}{6.45in} 34.202 +%\setlength{\footskip}{0.0in} 34.203 +%\setlength{\footheight}{0.0in} 34.204 +\setlength{\topmargin}{0.0in} 34.205 +\setlength{\headheight}{0.0in} 34.206 +\setlength{\headsep}{0.0in} 34.207 +\setlength{\evensidemargin}{0.0in} 34.208 +\setlength{\oddsidemargin}{0.0in} 34.209 +\setlength{\marginparsep}{1.5em} 34.210 +\setlength{\marginparwidth}{0.35in} 34.211 + 34.212 +% The standard maketitle insists on 34.213 +% messing with the style of the first page. 34.214 +% Thus, we will wrap maketitle with code to put 34.215 +% things right again. 34.216 +\let \save@maketitle=\maketitle 34.217 +\def\maketitle{ 34.218 + \save@maketitle 34.219 + \if@draftcopy 34.220 + \@specialpagefalse 34.221 + \else 34.222 + \thispagestyle{empty} 34.223 + \fi 34.224 +} 34.225 + 34.226 +% 34.227 +% Usenix titles are in 14-point bold type, with no date, and with no 34.228 +% change in the empty page headers. The author section is 34.229 +% 12 point roman and italic: see below. 34.230 +% 34.231 +\def\@maketitle{% 34.232 + \newpage 34.233 + \null 34.234 + \vskip 3ex% 34.235 + \begin{center}% 34.236 + \let \footnote \thanks 34.237 + {\Large \bf \@title \par}% % use 14 pt bold 34.238 + \vskip 2ex% 34.239 + {\large 34.240 + \lineskip .5ex% 34.241 + \begin{tabular}[t]{c}% 34.242 + \@author 34.243 + \end{tabular}\par}% 34.244 + \ifworkingdraft 34.245 + \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex 34.246 + \fi 34.247 + \ifwebversion 34.248 + \vskip 3ex \textbf{\@docstatus} \vskip 3ex 34.249 + \fi 34.250 + \end{center}% 34.251 + \par 34.252 + \vskip 2ex} 34.253 + 34.254 +% 34.255 +% The author section 34.256 +% should have names in Roman, address in 34.257 +% italic, e-mail/http in typewriter. 34.258 +% This is enforced by use of these macros 34.259 +% 34.260 +\def\authname#1{{#1}\\} 34.261 +\def\authaddr#1{\itshape{#1}\\} 34.262 +\def\authurl#1{{\normalsize #1}\\} 34.263 + 34.264 +% 34.265 +% The abstract is preceded by a 12-pt bold centered heading 34.266 +% 34.267 +\def\abstract{\begin{center}% 34.268 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 34.269 + \end{center}} 34.270 +\def\endabstract{} 34.271 + 34.272 +% 34.273 +% Main section titles are 12-pt bold. Lower divisions can 34.274 +% be same size or smaller: we choose same. 34.275 +% Main section leading is tight. Subsection leading is even 34.276 +% slightly tighter. All lower divisions are formatted like subsections. 34.277 +% 34.278 +\newcommand\@sectionfont{\reset@font\large\bf} 34.279 +\newlength\@sectionaboveskip 34.280 +\setlength\@sectionaboveskip{-0.7\baselineskip 34.281 + plus -0.1\baselineskip 34.282 + minus -0.1\baselineskip} 34.283 +\newlength\@sectionbelowskip 34.284 +\setlength\@sectionbelowskip{0.3\baselineskip 34.285 + plus 0.1\baselineskip} 34.286 +\newlength\@subsectionaboveskip 34.287 +\setlength\@subsectionaboveskip{-0.5\baselineskip 34.288 + plus -0.1\baselineskip} 34.289 +\renewcommand\section{\@startsection {section}{1}{\z@}% 34.290 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 34.291 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 34.292 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 34.293 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 34.294 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 34.295 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 34.296 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 34.297 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 34.298 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 34.299 + {-1.0em}% 34.300 + {\normalfont\normalsize\bfseries}} 34.301 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 34.302 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 34.303 + {-1.0em}% 34.304 + {\normalfont\normalsize\bfseries}} 34.305 + 34.306 +% List items need to be tightened up. 34.307 +% There must be a better way than copying 34.308 +% the definitions to modify the list environment... 34.309 +\def\@itemspacings{\listparindent=\parindent 34.310 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 34.311 +% now make envs use itemspacings 34.312 +\def\itemize{% 34.313 + \ifnum \@itemdepth >\thr@@\@toodeep\else 34.314 + \advance\@itemdepth\@ne 34.315 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 34.316 + \expandafter 34.317 + \list 34.318 + \csname\@itemitem\endcsname 34.319 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 34.320 + \fi} 34.321 +\def\enumerate{% 34.322 + \ifnum \@enumdepth >\thr@@\@toodeep\else 34.323 + \advance\@enumdepth\@ne 34.324 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 34.325 + \expandafter 34.326 + \list 34.327 + \csname label\@enumctr\endcsname 34.328 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 34.329 + \fi} 34.330 +\def\description{% 34.331 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 34.332 + \@itemspacings\let\makelabel\descriptionlabel}} 34.333 + 34.334 +% Bibliography items need to be tightened up. 34.335 +% Again, there must be a better way than copying 34.336 +% the definitions to modify the list environment... 34.337 +\def\thebibliography#1% 34.338 + {\section*{\refname}% 34.339 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 34.340 + \list{\@biblabel{\@arabic\c@enumiv}}% 34.341 + {\settowidth\labelwidth{\@biblabel{#1}}% 34.342 + \leftmargin\labelwidth 34.343 + \advance\leftmargin\labelsep 34.344 + \@openbib@code 34.345 + \usecounter{enumiv}% 34.346 + \let\p@enumiv\@empty 34.347 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 34.348 + \parsep=0pt}% pack entries 34.349 + \sloppy 34.350 + \hbadness=8000% mostly don't whine about bibliography fmt 34.351 + \clubpenalty=4000% 34.352 + \@clubpenalty=\clubpenalty 34.353 + \widowpenalty=4000% 34.354 + \sfcode`\.\@m} 34.355 + 34.356 +% Floating bodies need to be tightened up. 34.357 +\setlength\textfloatsep{14pt plus 2pt} 34.358 +\setlength\dbltextfloatsep{\textfloatsep} 34.359 +\setlength\intextsep{0.8\textfloatsep} 34.360 +\setlength\abovecaptionskip{8pt minus 2pt}
35.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 35.2 +++ b/0__Papers/PStack/HotPar_2012/latex/11_Dc_27__HW_abstr_for_port_stack.tex Sun Mar 11 09:26:44 2012 -0700 35.3 @@ -0,0 +1,1474 @@ 35.4 +%&latex 35.5 + 35.6 + 35.7 +\documentclass[conference]{../helpers/llncs} 35.8 +% 35.9 + 35.10 +%\usepackage{geometry} %chgs the margins and layout! 35.11 +\usepackage{makeidx,amssymb,graphicx,calc,ifthen} 35.12 +% 35.13 + 35.14 +% *** CITATION PACKAGES *** 35.15 +% 35.16 +%\usepackage{cite} 35.17 +% cite.sty was written by Donald Arseneau 35.18 +% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package 35.19 +% \cite{} output to follow that of IEEE. Loading the cite package will 35.20 +% result in citation numbers being automatically sorted and properly 35.21 +% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using 35.22 +% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's 35.23 +% \cite will automatically add leading space, if needed. Use cite.sty's 35.24 +% noadjust option (cite.sty V3.8 and later) if you want to turn this off. 35.25 +% cite.sty is already installed on most LaTeX systems. Be sure and use 35.26 +% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does 35.27 +% not currently provide for hyperlinked citations. 35.28 +% The latest version can be obtained at: 35.29 +% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ 35.30 +% The documentation is contained in the cite.sty file itself. 35.31 + 35.32 + 35.33 + 35.34 + 35.35 + 35.36 + 35.37 +% *** GRAPHICS RELATED PACKAGES *** 35.38 +% 35.39 +%\ifCLASSINFOpdf 35.40 + % \usepackage[pdftex]{graphicx} 35.41 + % declare the path(s) where your graphic files are 35.42 + % \graphicspath{{../pdf/}{../jpeg/}} 35.43 + % and their extensions so you won't have to specify these with 35.44 + % every instance of \includegraphics 35.45 + % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} 35.46 +%\else 35.47 + % or other class option (dvipsone, dvipdf, if not using dvips). graphicx 35.48 + % will default to the driver specified in the system graphics.cfg if no 35.49 + % driver is specified. 35.50 + % \usepackage[dvips]{graphicx} 35.51 + % declare the path(s) where your graphic files are 35.52 + % \graphicspath{{../eps/}} 35.53 + % and their extensions so you won't have to specify these with 35.54 + % every instance of \includegraphics 35.55 + % \DeclareGraphicsExtensions{.eps} 35.56 +%\fi 35.57 +% graphicx was written by David Carlisle and Sebastian Rahtz. It is 35.58 +% required if you want graphics, photos, etc. graphicx.sty is already 35.59 +% installed on most LaTeX systems. The latest version and documentation can 35.60 +% be obtained at: 35.61 +% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ 35.62 +% Another good source of documentation is "Using Imported Graphics in 35.63 +% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or 35.64 +% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ 35.65 +% 35.66 +% latex, and pdflatex in dvi mode, support graphics in encapsulated 35.67 +% postscript (.eps) format. pdflatex in pdf mode supports graphics 35.68 +% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure 35.69 +% that all non-photo figures use a vector format (.eps, .pdf, .mps) and 35.70 +% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats 35.71 +% which can result in "jaggedy"/blurry rendering of lines and letters as 35.72 +% well as large increases in file sizes. 35.73 +% 35.74 +% You can find documentation about the pdfTeX application at: 35.75 +% http://www.tug.org/applications/pdftex 35.76 + 35.77 + 35.78 + 35.79 + 35.80 + 35.81 +% *** MATH PACKAGES *** 35.82 +% 35.83 +%\usepackage[cmex10]{amsmath} 35.84 +% A popular package from the American Mathematical Society that provides 35.85 +% many useful and powerful commands for dealing with mathematics. If using 35.86 +% it, be sure to load this package with the cmex10 option to ensure that 35.87 +% only type 1 fonts will utilized at all point sizes. Without this option, 35.88 +% it is possible that some math symbols, particularly those within 35.89 +% footnotes, will be rendered in bitmap form which will result in a 35.90 +% document that can not be IEEE Xplore compliant! 35.91 +% 35.92 +% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 35.93 +% thus preventing page breaks from occurring within multiline equations. Use: 35.94 +%\interdisplaylinepenalty=2500 35.95 +% after loading amsmath to restore such page breaks as IEEEtran.cls normally 35.96 +% does. amsmath.sty is already installed on most LaTeX systems. The latest 35.97 +% version and documentation can be obtained at: 35.98 +% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ 35.99 + 35.100 + 35.101 + 35.102 + 35.103 + 35.104 +% *** SPECIALIZED LIST PACKAGES *** 35.105 +% 35.106 +%\usepackage{algorithmic} 35.107 +% algorithmic.sty was written by Peter Williams and Rogerio Brito. 35.108 +% This package provides an algorithmic environment fo describing algorithms. 35.109 +% You can use the algorithmic environment in-text or within a figure 35.110 +% environment to provide for a floating algorithm. Do NOT use the algorithm 35.111 +% floating environment provided by algorithm.sty (by the same authors) or 35.112 +% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated 35.113 +% algorithm float types and packages that provide these will not provide 35.114 +% correct IEEE style captions. The latest version and documentation of 35.115 +% algorithmic.sty can be obtained at: 35.116 +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ 35.117 +% There is also a support site at: 35.118 +% http://algorithms.berlios.de/index.html 35.119 +% Also of interest may be the (relatively newer and more customizable) 35.120 +% algorithmicx.sty package by Szasz Janos: 35.121 +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ 35.122 + 35.123 + 35.124 + 35.125 + 35.126 +% *** ALIGNMENT PACKAGES *** 35.127 +% 35.128 +%\usepackage{array} 35.129 +% Frank Mittelbach's and David Carlisle's array.sty patches and improves 35.130 +% the standard LaTeX2e array and tabular environments to provide better 35.131 +% appearance and additional user controls. As the default LaTeX2e table 35.132 +% generation code is lacking to the point of almost being broken with 35.133 +% respect to the quality of the end results, all users are strongly 35.134 +% advised to use an enhanced (at the very least that provided by array.sty) 35.135 +% set of table tools. array.sty is already installed on most systems. The 35.136 +% latest version and documentation can be obtained at: 35.137 +% http://www.ctan.org/tex-archive/macros/latex/required/tools/ 35.138 + 35.139 + 35.140 +%\usepackage{mdwmath} 35.141 +%\usepackage{mdwtab} 35.142 +% Also highly recommended is Mark Wooding's extremely powerful MDW tools, 35.143 +% especially mdwmath.sty and mdwtab.sty which are used to format equations 35.144 +% and tables, respectively. The MDWtools set is already installed on most 35.145 +% LaTeX systems. The lastest version and documentation is available at: 35.146 +% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ 35.147 + 35.148 + 35.149 +% IEEEtran contains the IEEEeqnarray family of commands that can be used to 35.150 +% generate multiline equations as well as matrices, tables, etc., of high 35.151 +% quality. 35.152 + 35.153 + 35.154 +%\usepackage{eqparbox} 35.155 +% Also of notable interest is Scott Pakin's eqparbox package for creating 35.156 +% (automatically sized) equal width boxes - aka "natural width parboxes". 35.157 +% Available at: 35.158 +% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ 35.159 + 35.160 + 35.161 + 35.162 + 35.163 + 35.164 +% *** SUBFIGURE PACKAGES *** 35.165 +%\usepackage[tight,footnotesize]{subfigure} 35.166 +% subfigure.sty was written by Steven Douglas Cochran. This package makes it 35.167 +% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE 35.168 +% work, it is a good idea to load it with the tight package option to reduce 35.169 +% the amount of white space around the subfigures. subfigure.sty is already 35.170 +% installed on most LaTeX systems. The latest version and documentation can 35.171 +% be obtained at: 35.172 +% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ 35.173 +% subfigure.sty has been superceeded by subfig.sty. 35.174 + 35.175 + 35.176 + 35.177 +%\usepackage[caption=false]{caption} 35.178 +%\usepackage[font=footnotesize]{subfig} 35.179 +% subfig.sty, also written by Steven Douglas Cochran, is the modern 35.180 +% replacement for subfigure.sty. However, subfig.sty requires and 35.181 +% automatically loads Axel Sommerfeldt's caption.sty which will override 35.182 +% IEEEtran.cls handling of captions and this will result in nonIEEE style 35.183 +% figure/table captions. To prevent this problem, be sure and preload 35.184 +% caption.sty with its "caption=false" package option. This is will preserve 35.185 +% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later 35.186 +% (recommended due to many improvements over 1.2) of subfig.sty supports 35.187 +% the caption=false option directly: 35.188 +%\usepackage[caption=false,font=footnotesize]{subfig} 35.189 +% 35.190 +% The latest version and documentation can be obtained at: 35.191 +% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ 35.192 +% The latest version and documentation of caption.sty can be obtained at: 35.193 +% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ 35.194 + 35.195 + 35.196 + 35.197 + 35.198 +% *** FLOAT PACKAGES *** 35.199 +% 35.200 +%\usepackage{fixltx2e} 35.201 +% fixltx2e, the successor to the earlier fix2col.sty, was written by 35.202 +% Frank Mittelbach and David Carlisle. This package corrects a few problems 35.203 +% in the LaTeX2e kernel, the most notable of which is that in current 35.204 +% LaTeX2e releases, the ordering of single and double column floats is not 35.205 +% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a 35.206 +% single column figure to be placed prior to an earlier double column 35.207 +% figure. The latest version and documentation can be found at: 35.208 +% http://www.ctan.org/tex-archive/macros/latex/base/ 35.209 + 35.210 + 35.211 + 35.212 +%\usepackage{stfloats} 35.213 +% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e 35.214 +% the ability to do double column floats at the bottom of the page as well 35.215 +% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in 35.216 +% LaTeX2e). It also provides a command: 35.217 +%\fnbelowfloat 35.218 +% to enable the placement of footnotes below bottom floats (the standard 35.219 +% LaTeX2e kernel puts them above bottom floats). This is an invasive package 35.220 +% which rewrites many portions of the LaTeX2e float routines. It may not work 35.221 +% with other packages that modify the LaTeX2e float routines. The latest 35.222 +% version and documentation can be obtained at: 35.223 +% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ 35.224 +% Documentation is contained in the stfloats.sty comments as well as in the 35.225 +% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE 35.226 +% does not allow \baselineskip to stretch. Authors submitting work to the 35.227 +% IEEE should note that IEEE rarely uses double column equations and 35.228 +% that authors should try to avoid such use. Do not be tempted to use the 35.229 +% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does 35.230 +% not format its papers in such ways. 35.231 + 35.232 + 35.233 + 35.234 + 35.235 + 35.236 +% *** PDF, URL AND HYPERLINK PACKAGES *** 35.237 +% 35.238 +%\usepackage{url} 35.239 +% url.sty was written by Donald Arseneau. It provides better support for 35.240 +% handling and breaking URLs. url.sty is already installed on most LaTeX 35.241 +% systems. The latest version can be obtained at: 35.242 +% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ 35.243 +% Read the url.sty source comments for usage information. Basically, 35.244 +% \url{my_url_here}. 35.245 + 35.246 + 35.247 + 35.248 + 35.249 + 35.250 +% *** Do not adjust lengths that control margins, column widths, etc. *** 35.251 +% *** Do not use packages that alter fonts (such as pslatex). *** 35.252 +% There should be no need to do such things with IEEEtran.cls V1.6 and later. 35.253 +% (Unless specifically asked to do so by the journal or conference you plan 35.254 +% to submit to, of course. ) 35.255 + 35.256 + 35.257 +% correct bad hyphenation here 35.258 +\hyphenation{op-tical net-works semi-conduc-tor} 35.259 + 35.260 + 35.261 +\begin{document} 35.262 + 35.263 +\bibliographystyle{plain} 35.264 +% 35.265 + 35.266 +\title{A Hardware Abstraction Suitable for Use at the Base of a Portability Software Stack} 35.267 + 35.268 +\author{Sean Halle \and Merten Sach \and BJ} 35.269 +\institute{Technical University Berlin, Germany} 35.270 + 35.271 +\maketitle 35.272 +% 35.273 + 35.274 +\begin{abstract} 35.275 +Proposals for a software stack that supports performant portability\cite{} rely on the assumption, among others, that a suitable hardware abstraction exists for the bottom layer. The abstraction must have certain properties: it must be invisible to upper layers; it must simplify language implementation, in part by hiding details of synchronization and details of network; and at the same time enable high performance, in part by giving the language control over task placement and exposing memory hierarchy, communication times, and other major performance-related aspects of the hardware. 35.276 + 35.277 +In this paper, we show that an abstraction called Virtualized Master-Slave, or VMS \cite{} 35.278 +satisfies these criteria, and we provide recent measurements to support the case. 35.279 + 35.280 +\end{abstract} 35.281 + 35.282 +\section{Motivation} 35.283 + 35.284 +As stated in the call for papers, wide uptake of high efficiency parallel architectures ``requires new parallel programming paradigms, new methods of application design, new structures for system software, and new models of interaction among applications, compilers, operating systems, and hardware." In short, a new software stack, and players in research and industry organized to supply the pieces of the stack. The goal of the stack is to make parallel programming the same order of productivity as sequential programming, and to give parallel code similar portability onto newer generations of hardware that sequential code enjoyed. 35.285 + 35.286 +The benefit from such a stack is reducing the cost of parallel software, by making it just as productive as sequential coding, and by allowing code to be written once then run performantly across hardware targets, including unknown future architectures. 35.287 + 35.288 +A recent proposal for achieving this, known as PStack\cite{}, calls for a software stack having a layer of languages (toolchains) at the top, a layer of language runtimes below that, and a hardware abstraction layer at the bottom\cite{}. 35.289 + 35.290 +The languages must be designed to capture all information required to specialize the code for high performance across hardware. A computation model, called The Holistic Model\cite{}, suggests that such a canonical set of information exists. PStack proposes to develop the constructs that gather the information, where some constructs are in the form of specialization helpers such as task-resizers and layout modifiers. The application implements the specialization helpers, thereby encoding information about data structures and how to manipulate them. The seeds of such an approach were laid with work on DKU\cite{}, which demonstrated the success of task-resizing constructs. 35.291 + 35.292 +The proposal also suggests the use of the BLIS\cite{} approach for managing multiple toolchains, where each one specializes to a different target. The management includes the install process, during which the correct toolchain output is paired to the installation target. Further specialization can thus naturally be added during installation, when exact hardware details are known. If required, runtime tuning and optimization also fit within the approach. 35.293 + 35.294 +The top layer of the software stack is thus the combination of constructs and managed toolchains. 35.295 +Below that, in the middle of the stack, a collection of runtime systems acts as a sort of cross-bar switch, connecting the languages above to a standard hardware abstraction below. 35.296 + 35.297 +The purpose of the bottom abstraction is to minimize the effort to create the runtimes in the middle layer. It must both hide hardware details and uniform-ize runtime implementation. However, it must not hide performance-critical information from the runtime, which holds the scheduler that decides when tasks become free and where to execute them. Such scheduling choices need to know the communication paths and memory pools in the hardware, along with latency, bandwidth, capacity and performance. 35.298 + 35.299 +A single abstraction can't both hide details and expose those required by the runtimes to attain high performance. Instead, PStack calls for a family of abstractions, one for each major type of architecture, including a``hierarchy'' abstraction used to glue together heterogeneous hardware. In each, only the details critical to performance are exposed to the scheduler in the runtime, thus keeping the number of abstractions needed manageably small, on the order of tens in total. 35.300 + 35.301 +This paper's contribution is showing how the Virtualized Master-Slave abstraction\cite{} fits the criteria for the bottom of such a portability software stack. This includes recent performance results for VMS on a variety of hardware platforms over a selection of benchmarks. 35.302 + 35.303 + 35.304 +\section{Background on PStack and VMS} 35.305 + 35.306 +Describe details of bottom of software stack and details of how cross-bar works, tie to the need for low-work runtime impl, and the need for reuse of runtime code across languages. 35.307 + 35.308 +Describe how VMS fulfills those needs. Details of its interface, details of its impl on multi-core, details of differences on different machines. 35.309 +Leave as-is for 1x4 and 1x2 -- make entirely different impl for 2x4 and another for 4x10 35.310 + 35.311 +\section{Description of How VMS Fits PStack's Requirements} 35.312 + 35.313 +\section{Experimental Setup} 35.314 + 35.315 +\section{Results} 35.316 + 35.317 +\subsection{Performance Results} 35.318 +Figure X shows the execution time versus task-size curve for Vthread, while Figure X shows the same for pthread, both executed on the SandyBridge 1x4 machine. The 2x point occurs near X cycles for Vthread, nearly independently from the number of threads created. Meanwhile, it occurs near X for pthread, for a small number of threads, showing that pthreads has X times higher overhead in the best case. However, pthreads degrades rapidly as the number of threads is increased. The system crashes with more than X threads, at which point the overhead of pthreads is X times higher than Vthread (not shown on graph because it's too large). 35.319 + 35.320 +When moving to multi-socket machines, things change, as seen in figures X and X. The central master-lock in the VMS implementation creates a bottleneck for small task sizes. This causes Vthread to have only a X advantage over pthread for small task sizes. However, Vthread overhead remains independent of number of threads. 35.321 + 35.322 +Likewise, the benchmarks for ray tracking, matrix multiply, and kmeans clustering show that Vthread outperforms pthreads. They nearly match for large work sizes, but Vthread significantly outperforms for small work sizes, as seen in Figures X and X. 35.323 + 35.324 + 35.325 +\begin{figure}[ht] 35.326 +\mbox{\subfigure{\includegraphics[width=3in]{fig1.pdf}}\quad 35.327 +\subfigure{\includegraphics[width=2.3in, angle = -90]{../figures/plots_exec_vs_task_size_v3/cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps}} 35.328 + 35.329 + \caption 35.330 + {Execution time / total work vs size of a task. The smaller the task, the smaller the distance between scheduling events. When the ratio reaches 2, the scheduling overhead exactly equals the task size. 35.331 + } 35.332 +\label{figCray1Vthread} 35.333 +\end{figure} 35.334 + 35.335 + \includegraphics[width=2.3in, angle = -90]{../figures/plots_exec_vs_task_size_v3/cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps} 35.336 +\subsection{Implementation Time Results} 35.337 +As seen in a previous paper on VMS\citation{}, VMS makes runtime implementation quick and easy. The results are re-printed here to support the claim that VMS meets the PStack requirement of reducing runtime implementation effort. These compare to weeks or months to learn code of a pre-existing multi-threaded runtime, modify it, and debug the multi-threaded implementation. 35.338 + 35.339 +Implementation time is reduced by the uniform natrue of VMS-based runtimes, freedom from details hidden by the VMS interface, the helper facilities VMS provides, VMS's debugging facilities, and freedom from multi-threading issues due to VMS's tie-point ordering guarantee. When combined, they lead to the fast implementation times seen in Table X. 35.340 + 35.341 + 35.342 + 35.343 +\section{Future Work and Conclusion} 35.344 +A semester long 35.345 + 35.346 + 35.347 + 35.348 +\section{Planning} 35.349 + 35.350 + (6.5" x 9" 10pt 2 col) 35.351 + 35.352 +require new parallel programming paradigms, new methods of application design, new structures for system software, and new models of interaction among applications, compilers, operating systems, and hardware. 35.353 + 35.354 +what benefits performant portability will bring 35.355 + 35.356 +abstraction must have certain properties to fulfill its role in stack. Contribution of paper is new results confirming suitability of VMS to be that abstraction. 35.357 + 35.358 +The Need: background on portability stack -- the end-goal sought, the fundamentals involved in any solution to provide it, how proposed stack from last year is updated to accord with those fundamentals in achieving end-goal. The elements of the stack. What function/role each element serves. 35.359 + 35.360 +Describe details of bottom of software stack and details of how cross-bar works, and the need for low-work runtime impl, and the need for reuse of runtime code across languages. 35.361 + 35.362 +what need in bottom, to support eco-system\cite{} 35.363 + 35.364 + Many runtime systems are implemented -- for each language, one runtime for each variant of the abstraction. 35.365 + 35.366 +Expect domain-specific languages -- these embed new behaviors into base language. Different from library because cannot understand the behavior of the call based on the base language alone. The runtime system provides behavior beyond the base language. This approach makes for quick creation of languages specialized to narrow domains. 35.367 + 35.368 +This approach is likely to fail without performant portability for its user's benefit, and a low-cost way to implement it for the language provider. 35.369 + 35.370 +In effect, just about the only purpose and criteria for judgement of the base abstraction is its ability to reduce effort, and its ability to support the portability features of the upper layers. 35.371 + 35.372 +Effort has two aspects: in implementing a new language, and in porting existing languages to new hardware. 35.373 + 35.374 +Support for upper layers is 35.375 + 35.376 +Hence, the two primary aspects of the base hardware abstraction are its ability to reduce the effort of implementing the set of runtime systems for a given language, and its ability to reduce the number of such runtime systems. 35.377 + 35.378 +for abstraction in bottom layer, here's VMS, detailed in LCPC paper, with new results that show it can, indeed, fulfil the base abstraction role for the class of multi-core hardware. 35.379 + 35.380 + 35.381 + 35.382 + 35.383 + 35.384 + 35.385 + 35.386 + 35.387 + 35.388 + 35.389 + 35.390 + 35.391 + 35.392 + 35.393 + 35.394 + 35.395 + 35.396 + 35.397 +Describe details of bottom of software stack and details of how cross-bar works, tie to the need for low-work runtime impl, and the need for reuse of runtime code across languages. 35.398 + 35.399 +Describe how VMS fulfills those needs. Details of its interface, details of its impl on multi-core, details of differences on different machines. 35.400 +Leave as-is for 1x4 and 1x2 -- make entirely different impl for 2x4 and another for 4x10 35.401 +? 35.402 +\section{old stuff} 35.403 + 35.404 +A common theme among parallel language designers, parallel OS implementers and parallel hardware architects is the need for a clean, portable hardware abstraction. Locks, with thread-constructs built above them, have failed due to interrelated issues: requiring system-wide quorum on each acquisition of a lock, limited semantics of lock-hardware, and its black-box nature which freezes out the OS and language runtimes. 35.405 + 35.406 + We argue that lock-oriented hardware plays a major role in the failure to achieve top-to-bottom integrated cooperation between application, langauge runtime, hardware management in the OS, and the hardware itself. We further argue that this kind of integration is a necessary (but not sufficient) requirement for efficient portability of applications. Both arguments are expounded upon in the dissertation of Halle[]. 35.407 + 35.408 +We further claim that every application-level synchronization or parallelism construct is a coupling, of semantic-behavior to a mechanism that orders events among application timelines. Even the CAS instruction combines compare and swap semantics with an order-establishing hardware mechanism. The mechanism guarantees that CAS instructions from different cores receive a sequential ordering, and is implemented in the memory system, where it establishes sole access of one core to the specified address, Meanwhile, the "Compare and swap" semantics may be implemented in the core, providing the behavior of the access. When several kinds of lock-establishing instruction are available, they all use the same memory-system hardware to establish ordering, and simply implement different behavior on top of it. The OS or language runtime code then use these instructions to establish ordering among the cores, and implement semantics of more complex constructs on top of that. 35.409 + 35.410 +What would happen, then, if the semantic-behavior were separated from the establishment of ordering? In this case, the order-establishment mechanism would have no behavior usable in a program. It would have to be coupled with code fragments that add semantic behavior. 35.411 + 35.412 +Such a separation is what this paper proposes, and presents an implementation in user-space for multi-core shared memory processors, 35.413 + 35.414 + 35.415 + 35.416 +? 35.417 + 35.418 +a rich interface between scheduling and hardware that enables adaptation to target hardware characteristics for higher performance, and integration into a cross-language framework 35.419 + 35.420 + ? 35.421 + 35.422 + This abstraction is not directly usable by application 35.423 + programmers. Instead, application-visible behavior is implemented 35.424 +in a semantical plugin, and then invoked via a language or library 35.425 + that uses the plugin. The main benefit is that parallel language 35.426 + runtimes become simpler to implement, because they use sequential 35.427 + algorithms for the parallel semantics. This is possible because the 35.428 + abstraction makes available a virtual time in which events in 35.429 + different program time-lines are sequentialized. The parallel 35.430 + semantics relate events in different time-lines via relating the 35.431 + sequentialized versions within the virtual time-line. 35.432 + 35.433 +? 35.434 + 35.435 +Thread parallelism constructs have been well documented to be 35.436 +difficult to program with. They directly expose low-level concurrency 35.437 +to the programmer. Arbitrary non-deterministic behavior and deadlocks 35.438 +can arise from improperly synchronized code. Efficient execution 35.439 +requires non-blocking algorithms whose correctness requires deep 35.440 +understanding of weakly consistent memory models. In addition, the 35.441 +operating system abstraction for threads comes with a very high 35.442 +context-switching and synchronization overhead. 35.443 + 35.444 +%% AC. The following is wrong. 35.445 +%\paragraph{\bf Problems with threads: } Thread parallelism constructs have been well documented to be difficult to program with. In addition, threads are problematic when one has multiple physical cores because the thread abstraction hides the hardware, disabling control over placement of tasks. High performance requires such control. Hence, not only are threads difficult to use directly in applications, but they prevent easier parallelism constructs from being built on top of them that have high performance. 35.446 + 35.447 +%\paragraph{\bf Partial solution: } To deal with this, in practice, a language's runtime turns off 35.448 + 35.449 +\paragraph*{A partial solution.} 35.450 + 35.451 +To deal with the last problem, a parallel language's runtime turns off 35.452 +operating system threads by pinning one to each physical core. This 35.453 +way, the custom runtime is assured that the software thread is 35.454 +one-to-one with a physical core. It then implements a user-level 35.455 +thread package that lets it control which OS thread a computational 35.456 +task is assigned to. Finally, the runtime then implements the 35.457 +language's parallel semantics in terms of those user threads. 35.458 + 35.459 +The user-level threading approach addresses the system overhead issue, 35.460 +but it still hides important events such as input-output or 35.461 +node-to-node communications in a cluster. 35.462 +%% AC. Irrelevant for a parallelism-centric paper 35.463 +%software faults, and other hardware events 35.464 +Hence, the more scalable runtimes need to coordinate task assignment 35.465 +to cores with application access of input and output, memory 35.466 +allocation over non-uniform cache and memory hierarchies, offloading 35.467 +to hardware accelerators, power management, and inter-node 35.468 +communication in a cluster. The user-level threading approach also 35.469 +makes the parallel runtime implementation cumbersome, error-prone and 35.470 +complex, because it is still written in terms of threads. 35.471 + 35.472 +Overall, parallel language implementations must deal with a number of 35.473 +challenges normally deferred to the operating system, and they still 35.474 +suffer from the complexity of non-blocking shared memory 35.475 +concurrency. 35.476 + 35.477 +Ideally, the OS would provide a mutable hardware abstraction, 35.478 +along with a selection of customizations or mutations that provide convenient 35.479 +parallelism constructs for applications to use. It should allow 35.480 +languages to provide their own parallel semantics. The language 35.481 +runtime would then provide a secure way for the runtime to access 35.482 +kernel-only hardware mechanisms. It could interact directly with the 35.483 +kernel to manage physical resources, in a low-overhead way. 35.484 +One benefit of this arrangement is the chance to implement a 35.485 +language's runtime directly as a plugin, which gives it the ability to 35.486 +control which task is assigned to which processing element at which 35.487 +time. This enables high performance and low-energy data affinity 35.488 +techniques. For example, the runtime could track data within the 35.489 +memory hierarchy and assign tasks to locations close to their consumed 35.490 +data. 35.491 + 35.492 +% \paragraph{\bf Support for portability: } This separation between 35.493 +% application executable and language runtime also supports 35.494 +% portability. It packages the language-specific scheduler into a 35.495 +% separate machine-specific module that is separately installed. The 35.496 +% scheduler is thus optimized for the combination of language with 35.497 +% hardware. This isn't a full solution to portability but it is a needed 35.498 +% precursor. 35.499 + 35.500 +% An interesting portability technique enabled by a separate 35.501 +% language-plus-hardware specific runtime is tracking which cores are 35.502 +% likely to already have data in the cache which a new task requires as 35.503 +% input. It could place tasks where the input data is likely to reside, 35.504 +% reducing communication to increase performance and power efficiency. 35.505 + 35.506 +\paragraph*{Contribution.} 35.507 + 35.508 +We show in this paper the definition and implementation of such a 35.509 +mutable hardware abstraction, albeit at user-level rather than in 35.510 +the kernel. It lets a language runtime be implemented as 35.511 +a plugin, which includes parallelism constructs and assignment of 35.512 +tasks to cores. 35.513 + 35.514 +We focus in this introductory paper on the definition of the 35.515 +abstraction and its support for parallelism constructs, postponing 35.516 +exploration of assignment of tasks onto cores and other performance 35.517 +optimizations to following papers. This paper establishes a definition 35.518 +of multiple time-lines in a program, and a virtual time that 35.519 +sequentializes events within those. It demonstrates three sets of 35.520 +parallelism constructs: synchronous \texttt{send}-\texttt{receive} 35.521 +motivated by process calculi; \texttt{spawn} and \texttt{sync} from 35.522 +Cilk {\cite{Fri98,CILKHome}}; and \texttt{mutex} and \texttt{condition 35.523 + variable} from pthreads. The assignment policy we implemented with 35.524 +them is simply first-come first-served. 35.525 + 35.526 +We call the abstraction Virtualized Master-Slave, or VMS. It is 35.527 +essentially a definition of virtualized time on parallel hardware. It 35.528 +exports facilities, to a plugin, to create virtual processors and 35.529 +control how their timelines relate to each other, and relate to 35.530 +physical time. It also exports facilities, for a library to use, to 35.531 +suspend a virtual processor and interact with the plugin. The plugin 35.532 +embodies most of a language's runtime, while the library is the 35.533 +application's gateway to that runtime. 35.534 + 35.535 +\paragraph*{Organization of paper.} 35.536 + 35.537 +Section~\ref{secAbsModel} provide the original concepts and 35.538 +definitions of VMS. Section~\ref{secInternal} focuses on the 35.539 +implementation, describing the elements and how they interact, then 35.540 +relating them back to the theoretical definition. 35.541 +Section~\ref{secApp} takes the point of view of the application code, 35.542 +studying the usage and implementation of parallel language constructs 35.543 +as a VMS plugin. To wrap up, measurements of effectiveness appear in 35.544 +Section~\ref{secResults} and conclusions in 35.545 +Section~\ref{secConclusion}. 35.546 + 35.547 +\section{Background and Related Work} 35.548 + 35.549 +All synchronization constructs establish an ordering between program timelines. We formalize this with the notion of a tie-point and provide a hardware-neutral interface for establishing tie-points. To build synchronization constructs such as locks, condition variables, send-receive, spawn-sync, and so on, we couple the tie-point interface with a virtual timeline that establishes a global ordering of events from software timelines. The combination simplifies implementing synchronization primitives by allowing sequential algorithms to be used, without a performance penalty. 35.550 + 35.551 +This approach has the benefit of separating the semantics of synchronization from the mapping, of software timelines onto physical-core timelines. The hardware used to perform the mapping is hidden below the interface, and controlled by the runtime by invoking the interface, This improves portability, allows reuse, and shifts runtimes down into the OS kernel level, providing performance benefits. 35.552 +The language runtime gains secure access to all kernel level hardware mechanisms, and hardware resources are managed by dialog between runtime and interface, potentially alleviating a major challenge in parallel OS architecture. The semantics of the tie-point interface makes such a dialog practical, portable, and efficient, as opposed to current issues caused by the semantics of lock hardware such as TAS and CAS instructions. 35.553 + 35.554 +In this paper, we introduce the approach with a user-level implementation, deferring Linux integration and hardware support to future papers. 35.555 +We focus on the formal model of tie-points, details of our proof-of-concept implementation, 35.556 +and connecting these to application code. 35.557 + 35.558 + 35.559 + 35.560 + We demonstrate 35.561 + the low overhead of the interface and quickness to implement a runtime on three sets 35.562 + of parallelism constructs: rendez-vous style \texttt{send} and 35.563 + \texttt{receive}; Cilk style \texttt{spawn} and \texttt{sync}, which 35.564 + have similar performance to Cilk 5.4; and \texttt{mutex} and 35.565 + \texttt{condition variable} constructs from pthreads, which have 80x 35.566 + lower overhead than Linux thread operations. Development time 35.567 + averaged just over one day per set as opposed to weeks for equivalent lock-based implementations. 35.568 + 35.569 + 35.570 + 35.571 +User-level thread packages and most parallel language runtimes have to 35.572 +side-step OS threads, by pinning one to each core, which effectively 35.573 +gives the user-level package control over the core. Our VMS 35.574 +implementation also does this. We are not claiming in this paper to 35.575 +have the OS level implementation of VMS that is possible -- but just 35.576 +the user-space version. 35.577 + 35.578 +\paragraph*{Related work.} 35.579 + 35.580 +The most closely related work is Scheduler Activations 35.581 +\cite{SchedActivations}, which also allows modifying concurrency 35.582 +constructs and controlling assignment of virtual processors onto 35.583 +cores. However it has no virtual time to guarantee globally consistent 35.584 +sequentialization, and no interface for plugins. 35.585 + 35.586 +BOM \cite{BOMinManticore}, which is used in Manticore to express 35.587 +scheduling policies and synchronization, also bears resemblances to 35.588 +VMS, but at a higher level of abstraction. BOM is a functional 35.589 +language, rather than a primitive abstraction meant to sit at the 35.590 +hardware-software boundary as VMS is. 35.591 + 35.592 +Coroutines is a high-performance means of switching between 35.593 +tasks. Coroutine scheduling and stack handling techniques were well 35.594 +suited to the user-space implementation of VMS. 35.595 + 35.596 +Other related work either provides an abstraction of the thread model, 35.597 +or is a full language with specific parallelism constructs. As a 35.598 +protypic example of user-level threads, Cilk {\cite{Fri98,CILKHome}} 35.599 +provides a simplified abstraction with an efficient scheduling and 35.600 +load balancing algorithm, but limited to fork-join concurrency. OpenMP 35.601 +{\cite{OpenMPHome}} is a typical example of a parallel extension of 35.602 +sequential languages; it allows creating tasks and controlling their 35.603 +execution order. We claim that both Cilk and OpenMP, as well as most 35.604 +thread abstractions or parallel languages may be implemented via 35.605 +plugins to VMS, with similar performance. 35.606 + 35.607 +In contrast to thread abstractions and parallel programming languages, 35.608 +VMS doesn't impose its own low-level concurrency semantics as a 35.609 +programming model, but rather takes preferred ones as plugins. This 35.610 +makes it not a language itself, but a \emph{support} mechanism to 35.611 +implement language runtimes. Parallelism constructs may be implemented 35.612 +as VMS plugins, easily, quickly, and with high performance as 35.613 +indicated in Section~\ref{secResults}. 35.614 + 35.615 +This work presents a first incarnation and evaluation of VMS. We plan 35.616 +to explore the embedding into VMS of a variety of parallel languages, 35.617 +with a special interest for coordination languages 35.618 +\cite{Gelernter85Linda,CnCInHotPar,CnCHome}. We will also explore 35.619 +VMS's compatibility with different concurrent semantics 35.620 +\cite{Kah74,hoare78,milner99,Hewitt10,Actors97}. One particularly 35.621 +important application would be to use VMS to facilitate the design and 35.622 +implementation of the emerging hybrid programming models, such as 35.623 +MPI+OpenMP, or OpenMP+OpenCL \cite{Car10,OpenCLHome}. 35.624 + 35.625 +\paragraph*{Virtual Processor (VP).} 35.626 + 35.627 +We want to avoid the confusion associated with the various 35.628 +interpretation for the the terms ``thread'' and ``task'' so will use 35.629 +the term \emph{Virtual Processor} (VP), which we define as state in 35.630 +combination with the ability to animate code or an additional level of 35.631 +virtual processors. The state consists of a program counter, a stack 35.632 +with its contents, a pointer to top of stack, and a pointer to the 35.633 +current stack frame. 35.634 + 35.635 +\section{Abstract Definition of VMS} 35.636 +\label{secAbsModel} 35.637 + 35.638 +We start with an intuitive overview, then precise the definitions and 35.639 +properties in the following sub-sections. 35.640 + 35.641 +\paragraph*{Intuitive Overview.} 35.642 + 35.643 +VMS is concerned primarily with time and guarantees about it. This is 35.644 +because parallelism constructs control how the time-lines of different 35.645 +virtual processors intersect. They also guarantee relations of time 35.646 +lines to hardware events. 35.647 + 35.648 +As an example, consider a program that writes into a data structure in 35.649 +one time-line, then calls a \texttt{send} construct, meanwhile in a 35.650 +different time-line it calls the \texttt{receive} construct then reads 35.651 +the data structure. The constructs should guarantee that all data 35.652 +written before the \texttt{send} is readable in the other time-line 35.653 +after the \texttt{receive}. 35.654 + 35.655 +%% AC. Too early. 35.656 +% VMS provides a primitive guarantee that 35.657 +% plugin code builds upon to provide such higher-level guarantees. The 35.658 +% primitive guarantee is defined in Section~\ref{scTime}, after the 35.659 +% necessary vocabulary is established. 35.660 + 35.661 +To support parallelism constructs, VMS provides: primitive operations 35.662 +to create and suspend VPs; a way for plugged-in code to control when 35.663 +each VP is (re)started; and time-related guarantees. These are 35.664 +enforced on all hardware, be it shared memory or distributed, with 35.665 +strong memory consistency or weak. 35.666 + 35.667 +\paragraph*{Definition in three parts.} 35.668 + 35.669 +The definition we give is for VMS \emph{with plugins present}. Hence, 35.670 +the definition includes the behavior of any parallelism construct 35.671 +implementable with VMS. We give the abstract definition in three 35.672 +parts: a definition of the elements of a VMS computation system; a 35.673 +definition of time and the key VMS guarantee; and a definition of 35.674 +virtual processor scheduling states and transitions between them. 35.675 + 35.676 +%% AC. Too early, Master has not been defined. I renamed VMS-core into 35.677 +%% VMS afterwards, finding no ambiguity. 35.678 +% The Master mentioned in the definition is an abstract entity, with a 35.679 +% plugin present. In practice, this Master entity is implemented as part 35.680 +% of a core VMS, and plugins later added. This VMS-core is the hardware 35.681 +% abstraction. It hides the physical hardware behind an interface that 35.682 +% creates virtual processors and enforces well-defined time-behavior. 35.683 + 35.684 +\subsection{The Elements of a VMS Computation System} 35.685 + 35.686 +\begin{itemize} 35.687 +\item A VMS program has multiple VPs, which are Slaves, each with an 35.688 + independent time-line. 35.689 +\item A schedule of Slaves is generated by a Master entity, from 35.690 + within separate time-line(s). 35.691 +\item A schedule is defined as the set of points at which VPs are 35.692 + (re)animated. 35.693 +\item All semantic parallelism behavior is invoked via communication 35.694 + with the Master. 35.695 +\item Communication with the Master happens by using a VMS primitive, 35.696 + which causes \emph{voluntary} suspension of the program's VP. 35.697 +\end{itemize} 35.698 + 35.699 +What is important here is that the choice of which VP is animated, at 35.700 +which point, happens in a separate time-line; and that the VPs suspend 35.701 +voluntarily for each parallelism construct. This means that 35.702 +\emph{scheduling is separated from the program code}, the key point. 35.703 + 35.704 +The Master entity appears to be a single entity to the slaves, but may 35.705 +be implemented by multiple Master VPs hidden inside the VMS 35.706 +implementation. 35.707 + 35.708 +VPs use the Master as an intermediary to: semantically communicate 35.709 +with each other; cause creation of new program VPs; and to influence 35.710 +re-animation of VPs. As a subtlety, notice that hardware mechanisms, 35.711 +such as coherent shared memory, allow communication to take place that 35.712 +is not visible to the parallelism constructs. This is not allowed with 35.713 +VMS: parallelism constructs of the language, and through them VMS 35.714 +primitives, must be separately called in order to make use of shared 35.715 +variable communication safe. 35.716 + 35.717 +%% AC. Calling memory a processing element only adds confusion. 35.718 +% {\bf Definitions:\ }VMS is intended only for hardware systems that 35.719 +% consist of processing elements connected by communication. We define 35.720 +% a memory-space to be a processing element, albeit without the ability 35.721 +% to transform data. 35.722 + 35.723 +We define a \emph{physical core} to be a processing element executing 35.724 +a sequential stream of instructions. 35.725 + 35.726 +We define a program-time as the sequence of instructions animated by a 35.727 +Slave VP, which is eventually animated by a physical core. A Slave VP 35.728 +has associated \emph{scheduling state} that, among other things, 35.729 +relates to how its program-time progresses relative to physical time 35.730 +on the cores. 35.731 + 35.732 +\subsection{Time in VMS} 35.733 +\label{secTime} 35.734 + 35.735 +VMS has three levels of time: \emph{Program time}, \emph{Master time}, 35.736 +and \emph{Virtual time}. 35.737 + 35.738 +\begin{itemize} 35.739 +\item Program time is local to a Slave VP, measured in instruction 35.740 + executions. 35.741 +\item Master time is hidden from the program and is independent from 35.742 + all Program times. 35.743 +\item Virtual time is the ordered set of changes in scheduling state 35.744 + of Slave VPs. 35.745 +\end{itemize} 35.746 + 35.747 +What is most important here is that Virtual time defines a global 35.748 +sequential ordering. This ordering is consistent with the key VMS 35.749 +guarantee (given below), and each point in it is computed within 35.750 +Master time. 35.751 + 35.752 +Also, the independence between program times and master time has 35.753 +subtle advantages. It enables elegant enforcement of the VMS 35.754 +guarantee, and implementation simplifications that become clear after 35.755 +gaining deep implementation knowledge. 35.756 + 35.757 +In VMS, each event relevant to parallel semantics is tied to a 35.758 +transition of the state of a Slave VP. This means that implementing 35.759 +the behavior of parallel semantics is equivalent to controlling the 35.760 +order of transitions of state of virtual processors. 35.761 + 35.762 +\paragraph*{Definition.} 35.763 + 35.764 +The stream of instructions in a given program-time is broken into a 35.765 +number of \emph{trace-segments}, separated by suspension points. Each 35.766 +trace-segment is animated by a single physical core, but not 35.767 +necessarily the same core as animated the other trace segments. A 35.768 +suspend point is created by a Slave VP executing the ``suspend'' 35.769 +primitive provided by VMS. A suspend point has no duration in program 35.770 +time, but has distinct start and end points in virtual time. The 35.771 +end-suspension points of two different program times can be tied 35.772 +together within virtual time, which is called a \emph{tie point} and 35.773 +has special significance to parallel constructs. The physical time of 35.774 +a core has no relationship to any program time, except for the various 35.775 +time-guarantees in this definition of VMS. 35.776 + 35.777 +\begin{figure}[ht] 35.778 + \includegraphics[width=5in]{../figures/Time_in_VMS_1.eps} 35.779 + \caption 35.780 + {Mapping program time onto Virtual time. \ The 35.781 + Master controls creation of new program time lines, and ending suspend 35.782 + points. Here, it has ended two suspend points at a common tie-point. 35.783 + } 35.784 +\label{figTimeMapping} 35.785 +\end{figure} 35.786 + 35.787 +\paragraph*{Relating time-lines to each other.} 35.788 + 35.789 +Figure \ref{figTimeMapping} illustrates how trace-segments relate to 35.790 +suspend points, and map onto virtual time. A trace segment starts in 35.791 +virtual time where suspend is ended, as seen. In fact, the two trace 35.792 +segments shown have a common start-point within virtual time. This is 35.793 +because the parallelism semantics chose to start them at the same 35.794 +point -- this is what a tie point is. A key note is that the lengths 35.795 +in virtual time have no relation to the lengths in program-time. The 35.796 +only defined feature is that those two trace-segments have a common 35.797 +start-point in virtual time. This means that the two suspend points 35.798 +are considered to be tied together. 35.799 + 35.800 +\paragraph*{The key VMS guarantee.} 35.801 + 35.802 +Being tied together means that all physical events that can be 35.803 +observed by both program-times are covered by the key VMS guarantee: 35.804 +any events triggered before the common suspend point in one program 35.805 +time are guaranteed visible in the other program time after the common 35.806 +suspend point. They {\em{might}} be visible before, but it's not 35.807 +guaranteed. In addition, events triggered after the common suspend 35.808 +point in one are guaranteed not visible before the common suspend 35.809 +point in the other. This two-part guarantee is a fundamental design 35.810 +property of VMS. 35.811 + 35.812 +Intuitively, a tie-point separates before it from after such that tied 35.813 +program times agree (illustrated with code in Section \ref{secApp} 35.814 +Figure \ref{figAnimVP}). But the subtlety is that events triggered 35.815 +before the tie-point, {\em{might}} be visible to the other before, and 35.816 +ones triggered after {\em{might not}} be visible to the other after -- 35.817 +physical events triggered before are only guaranteed visible 35.818 +{\em{after}} the tie point, and events after are only guaranteed 35.819 +{\em{not}} visible {\em{before}} the tie point. 35.820 + 35.821 +This is a form of bounded non-determinism. The pattern of suspension 35.822 +end-points determines which trace-segments overlap in Virtual time, 35.823 +and events triggered in one might be visible in overlapped ones. But 35.824 +no guarantees cover these. If one segment tries to observe, it will 35.825 +see events triggered by overlapped segments in non-deterministic 35.826 +order. 35.827 + 35.828 +The VMS implementation defines which physical events are covered by 35.829 +the key VMS guarantee (reads/writes, network communication, DMA, I/O). 35.830 + 35.831 +\paragraph*{Globally consistent sequential order.} 35.832 + 35.833 +VMS maps suspend-start, suspend-end, and hence tie-points, to a 35.834 +globally-consistent sequential order in Virtual time. This enables one 35.835 +of VMS's key benefits: sequential algorithms for parallel constructs. 35.836 + 35.837 +Tie points define parallel behavior, so an implementation of how to 35.838 +choose tie points equals an implementation of parallel constructs. The 35.839 +Master chooses tie-points, so plugging code to choose tie-points into 35.840 +the Master equals plugging in parallel constructs. 35.841 + 35.842 +\subsection{Scheduling State} 35.843 + 35.844 +Scheduling state is used in VMS to organize internal activity, for 35.845 +enforcing the guarantees. 35.846 + 35.847 +\begin{itemize} 35.848 +\item VPs have three scheduling states: {\em{Animated}}, 35.849 + {\em{Blocked}}, {\em{Ready}}; see Figure~\ref{figStates}. 35.850 +\item VPs in Animated are {\em{allowed}} to advance Program time with 35.851 + (core-local) physical time. 35.852 +\item VPs in Blocked and Ready do not advance their Program time. 35.853 +\item Animated has two physical states: {\em{Progressing}} and 35.854 + {\em{Stalled}}. 35.855 +\item VPs in Progressing advance Program time with (core-local) 35.856 + physical time, those in Stalled do not (allowing non-semantic 35.857 + suspend). 35.858 +\item Scheduling states are defined in Virtual time only. 35.859 +\item Progressing and Stalled are defined in (core-local) physical 35.860 + time only; the distinction is invisible in Virtual time. 35.861 +\end{itemize} 35.862 + 35.863 +\begin{figure}[h!tb] 35.864 +\begin{minipage}{.55\textwidth} 35.865 + \includegraphics[width=\textwidth]{../figures/Scheduling_states_2.eps} 35.866 + \caption{Scheduling states of a slave VP in the VMS model.} 35.867 + \label{figStates} 35.868 +\end{minipage} 35.869 +\hfill 35.870 +\begin{minipage}{.43\textwidth} 35.871 + \includegraphics[width=\textwidth]{../figures/VMS-core__plugins.eps} 35.872 + \caption 35.873 + { 35.874 + The Master, split into a generic core and a language-specific plugin. 35.875 + The core encapsulates the hardware and remains the same across applications. 35.876 + The plugin is part of the parallelism-construct implementation. 35.877 + } 35.878 + \label{figMasterSplit} 35.879 +\end{minipage} 35.880 +\end{figure} 35.881 + 35.882 + 35.883 +Some important points: (1) only VPs Animated can trigger physical 35.884 +events that are seen in other program time-lines; (2) the distinction 35.885 +between Blocked vs Stalled is that a VP has to explicitly execute a 35.886 +VMS primitive operation to enter Blocked, making it part of the 35.887 +semantics of parallelism constructs. In contrast, Stalled happens 35.888 +invisibly, with no effect on semantic behavior. It is due to hardware 35.889 +events hidden inside VMS, such as interrupts. 35.890 + 35.891 +The Ready state is used to separate the parallelism-construct behavior 35.892 +from the scheduling behavior. It acts as a ``staging area'' for 35.893 +scheduling. VPs placed into this state are {\em{allowed}} to be 35.894 +animated, then the scheduler decides when and where. 35.895 + 35.896 +An essential and illustrative point is that actions {\em{outside}} a 35.897 +given Program time cause the VP to transition 35.898 +Blocked$\rightarrow$Ready, which contrasts to lock algorithms where 35.899 +the concurrency-related behavior takes place {\em{inside}} program 35.900 +time. 35.901 + 35.902 +\paragraph*{Transition Between Slave Scheduling States.} 35.903 + 35.904 +\begin{itemize} 35.905 +\item VPs transition states as shown in Figure \ref{figStates}. 35.906 +\item Animated$\rightarrow$Blocked is caused by a Slave VP 35.907 + executing the Suspend VMS primitive. 35.908 +\item Blocked$\rightarrow$Ready is determined by the semantics 35.909 + implemented in the plugin. 35.910 +\item Ready$\rightarrow$Animated is determined by the scheduler in the 35.911 + plugin. 35.912 +\item Transitions in scheduling state have a globally consistent order 35.913 + in Virtual time. 35.914 +\end{itemize} 35.915 + 35.916 +The parallelism primitives executed by a program do not control change 35.917 +in scheduling states. They merely communicate messages to the Master, 35.918 +via a VMS supplied primitive. Inside the Master, the plugin's 35.919 +parallelism construct implementation processes the message. Based on 35.920 +that, it performs changes in state from Blocked$\rightarrow$Ready, 35.921 +creates new VPs, and dissipates existing VPs. Most communication from 35.922 +Slave to Master requires the VP to suspend when it sends the 35.923 +message. A few messages, like creating new Slave may be sent without 35.924 +suspending. 35.925 + 35.926 +The suspend primitive decouples local physical time from Virtual time. 35.927 +Execution causes immediate transition to Stalled in physical time, 35.928 +then the Master performs Animated$\rightarrow$Blocked, fixing that 35.929 +transition in Virtual time. The only relationship is causality. This 35.930 +weak relation is what allows suspension-points to be serialized in 35.931 +Virtual time, which in turn is what allows using sequential algorithms 35.932 +to implement parallelism constructs. 35.933 + 35.934 +\subsection{Plugins} 35.935 + 35.936 +The Master entity has two parts, a generic core part and a plugin 35.937 +(Figure \ref{figMasterSplit}). The core part of the Master is 35.938 +implemented as part of VMS itself. The plugin supplies two functions: 35.939 +the communication-handler and the scheduler, both having a standard 35.940 +prototype. The communication-handler implements the parallelism 35.941 +constructs, while scheduler assigns VPs to cores. 35.942 + 35.943 +An \emph{instance} of a plugin is created as part of initializing an 35.944 +application, and the instance holds the semantic and scheduling state 35.945 +for that run of the application. This state, combined with the virtual 35.946 +processor states of the slaves created during that application run, 35.947 +represents progress of the work of the application. For example, 35.948 +multi-tasking is performed simply by the Master switching among 35.949 +plugin instances when it has a resource to offer to a scheduler. The 35.950 +parallelism-semantic state holds all information needed to resume 35.951 +(hardware state, such as TLB and cache-tags is inside VMS). 35.952 + 35.953 +\section{Internal Workings of Our Implementation} 35.954 +\label{secInternal} 35.955 + 35.956 +We name the elements of our example implementation and describe their 35.957 +logical function, then relate them to the abstract model. We then step 35.958 +through the operation of the elements. 35.959 + 35.960 +\paragraph*{Elements and their logical function.} 35.961 + 35.962 +As illustrated in Figure~\ref{figInternals}, our VMS implementation is 35.963 +organized around physical cores. Each core has its own {\em{master 35.964 + virtual-processor}}, \texttt{masterVP}, and a {\em{physical-core 35.965 + controller}}, which communicate via a set of scheduling slots, 35.966 +\texttt{schedSlot}. The Master in the abstract definition is 35.967 +implemented by the multiple \texttt{masterVP}s plus a particular 35.968 +plugin instance with its shared parallelism-semantic state (seen at 35.969 +the top). 35.970 + 35.971 +On a given core, only one of: the core-controller, \texttt{masterVP}, 35.972 +or a slave VP, is animated at any point in local physical time. Each 35.973 +\texttt{masterVP} animates the same function, called 35.974 +\texttt{master\_loop}, and each slave VP animates a function from the 35.975 +application, starting with the top-level function the slave is created 35.976 +with, and following its call sequence. The core controller is 35.977 +implemented here as a Linux pthread that runs the \texttt{core\_loop} 35.978 +function. 35.979 + 35.980 +Switching between VPs is done by executing a VMS primitive that 35.981 +suspends the VP. This switches the physical core over to the 35.982 +controller, by jumping to the start of the \texttt{core\_loop} 35.983 +function, which chooses the next VP and switches to that (switching is 35.984 +detailed in Section \ref{secApp} Figure \ref{figAssembly}). 35.985 + 35.986 +\paragraph*{Relation to abstract model.} 35.987 + 35.988 +We chose to implement the Master entity of the model by a set of 35.989 +\texttt{masterVP}s, plus plugin functions and shared 35.990 +parallelism-semantic state. VMS consists of this implementation of the 35.991 +Master, plus the core-controllers, plus the VMS primitive libraries, 35.992 +for creating new VPs and dissipating existing VPs, suspending VPs, and 35.993 +communicating from slave VP to Master. In Figure~\ref{figInternals}, 35.994 +everything in green is part of VMS, while the plugin is in red, and 35.995 +application code appears as blue, inside the slave VP. 35.996 + 35.997 +Virtual time in the model is implemented via a combination of four 35.998 +things: a \texttt{masterLock} (not shown) that guarantees non-overlap 35.999 +of \texttt{masterVP} trace-segments; the \texttt{master\_loop} which 35.1000 +performs transition Animated$\rightarrow$Blocked; the 35.1001 +\texttt{comm\_handler\_fn} which performs Blocked$\rightarrow$Ready 35.1002 +and the \texttt{scheduler\_fn} which performs 35.1003 +Ready$\rightarrow$Animated. \ Each state transition is one step of 35.1004 +Virtual time; is guaranteed sequential by the non-overlap of 35.1005 +\texttt{masterVP} trace segments; and is global due to being in 35.1006 +parallelism-semantic state that is shared (top of 35.1007 +Figure~\ref{figInternals}). 35.1008 + 35.1009 +Transitions Progressing$\rightleftarrows$Stalled within the Animated 35.1010 +state are invisible to the parallelism semantics, the Master, and 35.1011 +Virtual time, and so have no effect on the elements seen. 35.1012 + 35.1013 +\begin{figure*}[h!tb] 35.1014 + \centerline{\includegraphics[width=5in]{../figures/VMS-core__internal_workings.eps}} 35.1015 + \caption 35.1016 + { Internal elements of our example VMS implementation 35.1017 + } 35.1018 + \label{figInternals} 35.1019 +\end{figure*} 35.1020 + 35.1021 +\paragraph*{Steps of operation.} 35.1022 + 35.1023 +The steps of operation are numbered, in Figure \ref{figInternals}. 35.1024 +Taking them in order: 35.1025 + 35.1026 +\begin{enumerate} 35.1027 +\item \texttt{master\_loop} scans the scheduling slots to see which 35.1028 + ones' slaves have suspended since the previous scan. 35.1029 +\item It hands these to the \texttt{comm\_handler\_fn} plugged in 35.1030 +(which equals transition Animated$\rightarrow$Blocked). 35.1031 +\item The VP has a request attached, and data in it causes the 35.1032 + \texttt{comm\_handler\_fn} to manipulate data structures in the 35.1033 + shared parallelism-semantic state. These structures hold all the 35.1034 + slaves in the blocked state (code-level detail and example will 35.1035 + come in Figure~\ref{figReqHdlr}, Section~\ref{secApp}). 35.1036 +\item Some requests cause slaves to be moved to a \texttt{readyQ} on 35.1037 + one of the cores (Blocked$\rightarrow$Ready). Which core's 35.1038 + \texttt{readyQ} receives the slave is under plugin control, 35.1039 + determined by a combination of request contents, semantic state and 35.1040 + physical machine state. 35.1041 +\item During the scan, the \texttt{master\_loop} also looks for empty 35.1042 + slots, and for each calls the \texttt{scheduler\_fn} plugged in. It 35.1043 + chooses a slave from the \texttt{readyQ} on the core animating 35.1044 + \texttt{master\_loop}. 35.1045 +\item The \texttt{master\_loop} then places the slave VP's pointer 35.1046 + into the scheduling slot (Ready$\rightarrow$Animated), making it 35.1047 + available to the \texttt{core\_loop}. 35.1048 +\item When done with the scan, \texttt{masterVP} suspends, switching 35.1049 + animation back to the \texttt{core\_loop}. 35.1050 +\item \texttt{core\_loop} takes slave VPs out of the slots. 35.1051 +\item Then \texttt{core\_loop} switches animation to these slave VPs. 35.1052 +\item When a slave self-suspends, animation returns to the 35.1053 + \texttt{core\_loop} (detail in code in Figure 9), which picks 35.1054 + another. 35.1055 +\item Until all slots are empty and the \texttt{core\_loop} switches 35.1056 + animation to the \texttt{masterVP}. 35.1057 +\end{enumerate} 35.1058 + 35.1059 +\paragraph*{Enabling sequential implementation of parallelism semantics.} 35.1060 + 35.1061 +All these steps happen on each core separately, but 35.1062 +%% AC. Cannot be both an essential property of VMS and "un this particular..." 35.1063 +% in this particular implementation 35.1064 +we use a central \texttt{masterLock} to ensure that 35.1065 +only one core's \texttt{masterVP} can be active at any time. This 35.1066 +guarantees non-overlap of trace-segments from different 35.1067 +\texttt{masterVP}s, allowing the plugins to use sequential algorithms, 35.1068 +without a performance penalty, as verified in 35.1069 +Section~\ref{secResults}. 35.1070 + 35.1071 +Relating this to the abstract model: the parallelism-semantic behavior 35.1072 +of the Master is implemented by the communication handler, in the 35.1073 +plugin. It thus runs in the Master time referred to, in the model, in 35.1074 +Section \ref{secAbsModel}. Requests are sent to the Master by 35.1075 +self-suspension of the slaves, but sit idle until the other slaves in 35.1076 +the scheduling slots have also run. This is the passive behavior of 35.1077 +requests that was noted in Section~\ref{secAbsModel}, which allows the 35.1078 +\texttt{masterVP}s to remain suspended until needed. This in turn 35.1079 +enables the \texttt{masterVP}s from different cores to be 35.1080 +non-overlapped. It is the non-overlap that enables the algorithms for 35.1081 +the parallelism semantics to be sequential. 35.1082 + 35.1083 +\section{Code Level View} 35.1084 +\label{secApp} 35.1085 + 35.1086 +To relate the abstract model and the internal elements to application 35.1087 +code and parallelism-library code, we give code snippets that 35.1088 +illustrate key features. We start with the application then work down 35.1089 +through the sequence of calls, to the plugin, using our SSR 35.1090 +{\cite{VMSHome}} parallelism-library as an example. 35.1091 + 35.1092 +In general, applications are either written in terms of a parallel 35.1093 +language that has its own syntax, or a base language with a 35.1094 +parallelism library, which is often called an {\em{embedded 35.1095 + language}}. Our demonstrators, VCilk {\cite{VMSHome}}, Vthread, 35.1096 +and SSR, are all parallelism libraries. A parallel language would 35.1097 +follow the standard practice of performing source-to-source transform, 35.1098 +from custom syntax into C plus parallelism-library calls. 35.1099 + 35.1100 +\paragraph*{SSR.} 35.1101 + 35.1102 +SSR stands for Synchronous Send-Receive, and details of its calls and 35.1103 +internal implementation will be given throughout this section. It has 35.1104 +two types of construct. The first, called {\em{from-to}} has two 35.1105 +calls: \texttt{SSR\_send\_from\_to} and 35.1106 +\texttt{SSR\_receive\_from\_to}, both of which specify the sending VP 35.1107 +as well as the receiving VP. \ The other, called {\em{of-type}} also 35.1108 +has two calls: \texttt{SSR\_\_send\_of\_type\_to} and 35.1109 +\texttt{SSR\_\_receive\_of\_type}, which allow a receiver to accept 35.1110 +from anonymous senders, but select according to type of message. 35.1111 + 35.1112 +% An example of a double column floating figure using two subfigures. 35.1113 +% (The subfig.sty package must be loaded for this to work.) 35.1114 +% The subfigure \label commands are set within each subfloat command, the 35.1115 +% \label for the overall figure must come after \caption. 35.1116 +% \hfil must be used as a separator to get equal spacing. 35.1117 +% The subfigure.sty package works much the same way, except \subfigure is 35.1118 +% used instead of \subfloat. 35.1119 +% 35.1120 +%\begin{figure*}[!t] 35.1121 +%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% 35.1122 +%\label{fig_first_case}} 35.1123 +%\hfil 35.1124 +%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% 35.1125 +%\label{fig_second_case}}} 35.1126 +%\caption{Simulation results} 35.1127 +%\label{fig_sim} 35.1128 +%\end{figure*} 35.1129 +% 35.1130 +% Note that often IEEE papers with subfigures do not employ subfigure 35.1131 +% captions (using the optional argument to \subfloat), but instead will 35.1132 +% reference/describe all of them (a), (b), etc., within the main caption. 35.1133 + 35.1134 +\paragraph*{Application view.} 35.1135 + 35.1136 +Figure~\ref{figAnimVP} shows snippets of application code, which use 35.1137 +the SSR parallelism library. The most important feature is that all 35.1138 +calls take a pointer to the VP that is animating the call. This is 35.1139 +seen at the top of the figure where slave VP creation takes a pointer 35.1140 +to the VP asking for creation. Below that is the standard prototype 35.1141 +for top level functions, showing that the function receives a pointer 35.1142 +to the VP it is the top level function for. 35.1143 + 35.1144 +The pointer is placed on the stack by VMS when it creates the VP, and 35.1145 +is the means by which the application comes into possession of the 35.1146 +pointer. This animating VP is passed to all library calls made from 35.1147 +there. For example, the bottom shows a pointer to the animating VP 35.1148 +placed in the position of sender in the \texttt{send} construct call. 35.1149 +Correspondingly, for the \texttt{receive} construct, the position of 35.1150 +receiving VP is filled by the VP animating the call. 35.1151 + 35.1152 +\begin{figure}[h!tb] 35.1153 +{\noindent 35.1154 +{\footnotesize 35.1155 +{\small Creating a new processor:} 35.1156 +\begin{verbatim} 35.1157 +newProcessor = SSR__create_procr( &top_VP_fn, paramsPtr, animatingVP ); 35.1158 +\end{verbatim} 35.1159 + 35.1160 +{\small prototype for the top level function:} 35.1161 +\begin{verbatim} 35.1162 +top_VP_fn( void *parameterStrucPtr, VirtProcr *animatingVP ); 35.1163 +\end{verbatim} 35.1164 + 35.1165 +{\small handing animating VP to parallelism constructs:} 35.1166 +\begin{verbatim} 35.1167 +SSR__send_from_to( messagePtr, animatingVP, receivingVP ); 35.1168 +messagePtr = SSR__receive_from_to( sendingVP, animatingVP ); 35.1169 +\end{verbatim} 35.1170 +} 35.1171 +} 35.1172 +\caption 35.1173 +{Application code snippets showing that all calls to the parallelism library 35.1174 +take the VP animating that call as a parameter. 35.1175 +} 35.1176 +\label{figAnimVP} 35.1177 +\end{figure} 35.1178 + 35.1179 +Relating these to the internal elements of our implementation, the 35.1180 +\texttt{animatingVP} suspends inside each of these calls, passing a 35.1181 +request (generated in the library) to one of the \texttt{masterVP}s. 35.1182 +The \texttt{masterVP} then calls the \texttt{comm-handler} plugin, and 35.1183 +so on, as described in Section \ref{secInternal}. 35.1184 + 35.1185 +For the \texttt{SSR\_\_create\_processor} call, the comm-handler in 35.1186 +turn calls a VMS primitive to perform the creation. The primitive 35.1187 +places a pointer to the newly created VP onto its stack, so that when 35.1188 +\texttt{top\_VP\_fn} is later animated, it sees the VP-pointer as a 35.1189 +parameter passed to it. \ All application code is either such a 35.1190 +top-level function, or has one at the root of the call-stack. 35.1191 + 35.1192 +The send and receive calls both suspend their animating VP. When both 35.1193 +have been called, the communication handler pairs them up and resumes 35.1194 +both. This ties time-lines together, invoking the VMS guarantee. Both 35.1195 +application-functions know, because of the VMS guarantee 35.1196 +(Section~\ref{secAbsModel}), that writes to shared variables made 35.1197 +before the send call by the sender are visible to the receiver after 35.1198 +the receive call. This is the programmer's view of tying together the 35.1199 +local time-lines of two different VPs, as defined in 35.1200 +Section~\ref{secAbsModel}. 35.1201 + 35.1202 +\paragraph*{Concurrency-library view.} 35.1203 + 35.1204 +A parallelism library function, in general, only creates a request, 35.1205 +sends it, and returns, as seen below. To send a request, it uses the 35.1206 +combined request-and-suspend VMS primitive that attaches the request 35.1207 +then suspends the VP. The primitive requires the pointer to the VP, 35.1208 +to attach the request and to suspend it. 35.1209 + 35.1210 +In Figure~\ref{figImplLib}, notice that the request's data is on the 35.1211 +stack of the virtual processor that's animating the call, which is the 35.1212 +\texttt{receiveVP}. The \texttt{VMS\_\_send\_sem\_request} suspends 35.1213 +this VP, which changes the physical core's stack pointer to a 35.1214 +different stack. So the request data is guaranteed to remain 35.1215 +undisturbed while the VP is suspended. 35.1216 + 35.1217 +Figure~\ref{figAssembly} shows the implementation of the VMS suspend 35.1218 +primitive. As seen in Figure \ref{figInternals}, suspending the 35.1219 +\texttt{receiveVP} involves switching to the \texttt{core\_loop}. In 35.1220 +our implementation, this is done by switching to the stack of the 35.1221 +pthread pinned to the physical core and then jumping to the 35.1222 +start-point of \texttt{core\_loop}. 35.1223 + 35.1224 +This code uses standard techniques commonly employed in co-routine 35.1225 +implementations. Tuning effort spent in \texttt{core\_loop} is 35.1226 +inherited by all applications. 35.1227 + 35.1228 +\begin{figure}[h!tb] 35.1229 +{\noindent 35.1230 +{\footnotesize 35.1231 +\begin{verbatim} 35.1232 +void * SSR__receive_from_to( VirtProcr *sendVP, VirtProcr *receiveVP ) 35.1233 + { SSRSemReq reqData; 35.1234 + reqData.receiveVP = receiveVP; 35.1235 + reqData.sendVP = sendVP; 35.1236 + reqData.reqType = receive_from_to; 35.1237 + VMS__send_sem_request( &reqData, receiveVP ); 35.1238 + return receiveVP->dataReturnedFromRequest; 35.1239 + } 35.1240 +\end{verbatim} 35.1241 +} 35.1242 +} 35.1243 +\caption{Implementation of SSR's receive\_from\_to library function.} 35.1244 +\label{figImplLib} 35.1245 + 35.1246 +{\noindent 35.1247 +{\footnotesize 35.1248 +\begin{verbatim} 35.1249 +VMS__suspend_procr( VirtProcr *animatingVP ) 35.1250 + { animatingVP->resumeInstrAddr = &&ResumePt; //GCC takes addr of label 35.1251 + animatingVP->schedSlotAssignedTo->isNewlySuspended = TRUE; //for master_loop to see 35.1252 + <assembly code stores current physical core's stack reg into animatingVP struct> 35.1253 + <assembly code loads stack reg with core_loop stackPtr, which was saved into animatingVP> 35.1254 + <assembly code jmps to core_loop start instr addr, which was also saved into animatingVP> 35.1255 + ResumePt: 35.1256 + return; 35.1257 + } 35.1258 +\end{verbatim} 35.1259 +} 35.1260 +} 35.1261 + \caption 35.1262 +{Implementation of VMS suspend processor. 35.1263 +Re-animating the virtual processor reverses this sequence. \ It saves the 35.1264 +\texttt{core\_loop}'s resume instr-addr and stack ptr into the VP structure, 35.1265 +then loads the VP's stack ptr and jmps to its \texttt{resumeInstrAddr}. 35.1266 +} 35.1267 +\label{figAssembly} 35.1268 + 35.1269 +{\noindent 35.1270 +{\footnotesize 35.1271 +\begin{verbatim} 35.1272 +handle_receive_from_to( VirtProcr *requestingVP, SSRSemReq *reqData, SSRSemEnv *semEnv ) 35.1273 + { commHashTbl = semEnv->communicatingVPHashTable; 35.1274 + key[0] = reqData->receiveVP; key[1] = reqData->sendVP; //send uses same key 35.1275 + waitingReqData = lookup_and_remove( key, commHashTbl ); //get waiting request 35.1276 + if( waitingReqData != NULL ) 35.1277 + { resume_virt_procr( waitingReqData->sendVP ); 35.1278 + resume_virt_procr( waitingReqData->receiveVP ); 35.1279 + } 35.1280 + else 35.1281 + insert( key, reqData, commHashTbl ); //receive is first to arrive, make it wait 35.1282 + } 35.1283 +\end{verbatim} 35.1284 +} 35.1285 +} 35.1286 + \caption 35.1287 +{Pseudo-code of communication-handler for 35.1288 +\texttt{receive\_from\_to} request type. The \texttt{semEnv} is a pointer 35.1289 +to the shared parallel semantic state seen at the top of 35.1290 +Figure~\ref{figInternals}. 35.1291 +} 35.1292 +\label{figReqHdlr} 35.1293 +\end{figure} 35.1294 + 35.1295 +\paragraph*{Plugin view.} 35.1296 + 35.1297 +SSR's communication handler dispatches on the \texttt{reqType} field 35.1298 +of the request data, as set by the \texttt{SSR\_\_receive\_from\_to} 35.1299 +code. It calls the handler code in Figure \ref{figReqHdlr}. This 35.1300 +constructs a hash-key, by concatenating the from-VP's pointer with the 35.1301 +to-VP's pointer. Then it looks-up that key in the hash-table that SSR 35.1302 +uses to match sends with receives, which is in the shared semantic 35.1303 +state seen at the top of Figure \ref{figInternals} in 35.1304 +Section~\ref{secInternal}. 35.1305 + 35.1306 +The most important feature in Figure~\ref{figReqHdlr} is that both 35.1307 +send and receive will construct the same key, so will find the same 35.1308 +hash entry. Whichever request is handled first in Virtual time will 35.1309 +see the hash entry empty, and save itself in that entry. The second 35.1310 +to arrive sees the waiting request and then resumes both VPs, by 35.1311 +putting them into their \texttt{readyQ}s. 35.1312 + 35.1313 +Access to the shared hash table can be considered private, as in a 35.1314 +sequential algorithm. This is because our VMS-core implementation 35.1315 +ensures that only one handler on one core is executing at a time. 35.1316 + 35.1317 +\section{Results} 35.1318 +\label{secResults} 35.1319 + 35.1320 +We implemented blocked dense matrix multiplication with right 35.1321 +sub-matrices copied to transposed form, and ran it on a 4-core 35.1322 +Core2Quad 2.4Ghz processor. 35.1323 + 35.1324 +\paragraph*{Implementation-time.} 35.1325 + 35.1326 +As shown in Table~\ref{tabPersonDaysLang}, time to implement the three 35.1327 +parallel libraries averages 2 days each. As an example of 35.1328 +productivity, adding nested transactions, parallel singleton, and 35.1329 +atomic function-execution to SSR required a single afternoon, totaling 35.1330 +less than 100 lines of C code. 35.1331 + 35.1332 +\paragraph*{Execution Performance.} 35.1333 + 35.1334 +Performance of VMS is seen in Table~\ref{tabOverheadCycles}. The code 35.1335 +is not optimized, but rather written to be easy to understand and 35.1336 +modify. The majority of the plugin time is lost to cache misses 35.1337 +because the shared parallelism-semantic state moves between cores on a 35.1338 +majority of accesses. Acquisition of the master lock is slow due to 35.1339 +the hardware implementing the CAS instruction. 35.1340 + 35.1341 +Existing techniques will likely improve performance, such as 35.1342 +localizing semantic data to cores, splitting malloc across the cores, 35.1343 +pre-allocating slabs that are recycled, and pre-fetching. However, in 35.1344 +many cases, several hundred nano-seconds per task is as optimal as the 35.1345 +applications can benefit from. 35.1346 + 35.1347 +\begin{table}[h!tb] 35.1348 +\begin{minipage}{.35\textwidth} 35.1349 +\begin{tabular}{|l|l|l|l|} 35.1350 + \cline{2-4} 35.1351 + \multicolumn{1}{l|}{} & SSR & Vthread & VCilk\\ 35.1352 + \cline{2-4} 35.1353 + \noalign{\vskip2pt} 35.1354 + \hline 35.1355 + Design & 4 & 1 & 0.5\\ 35.1356 + Code & 2 & 0.5 & 0.5\\ 35.1357 + Test & 1 & 0.5 & 0.5\\ 35.1358 + L.O.C. & 470 & 290 & 310\\ 35.1359 + \hline 35.1360 +\end{tabular} 35.1361 +\caption 35.1362 +{Person-days to design, code, and 35.1363 + test each parallelism library. L.O.C. is lines of (original) C code, 35.1364 + excluding libraries and comments. 35.1365 +} 35.1366 +\label{tabPersonDaysLang} 35.1367 +\end{minipage} 35.1368 +\hspace{-.05\textwidth} 35.1369 +\begin{minipage}[t]{.7\textwidth} 35.1370 +\hfill 35.1371 +\begin{tabular}{|l|l|r|r|} 35.1372 +\cline{3-4} 35.1373 +\multicolumn{2}{l|}{} & comp only & comp + mem\\ 35.1374 +\cline{3-4} 35.1375 +\noalign{\vskip2pt} 35.1376 +\hline 35.1377 +VMS Only & \texttt{master\_loop} & 91 & 110\\ 35.1378 +& switch VPs & 77 & 130\\ 35.1379 +& (malloc) & 160 & 2300\\ 35.1380 +& (create VP) & 540 & 3800\\ 35.1381 +\hline 35.1382 +Language: & & & \\ 35.1383 +\quad SSR & plugin -- concur & 190 & 540\\ 35.1384 +& plugin -- all & 530 & 2200\\ 35.1385 +& lock & & 250\\ 35.1386 +\quad Vthread & plugin -- concur & 66 & 710\\ 35.1387 +& plugin -- all & 180 & 1500\\ 35.1388 +& lock & & 250\\ 35.1389 +\quad VCilk & plugin -- concur & 65 & 260\\ 35.1390 +& plugin -- all & 330 & 1800\\ 35.1391 +& lock & & 250\\ 35.1392 +\hline 35.1393 +\end{tabular} 35.1394 +\caption 35.1395 +{Cycles of overhead, per scheduled 35.1396 + slave. ``comp only'' is perfect memory, ``comp + mem'' is actual cycles. 35.1397 + ``Plugin-concur'' only concurrency requests, ``plugin-all'' includes 35.1398 + create and malloc requests. Two significant digits due to variability. 35.1399 +} 35.1400 +\label{tabOverheadCycles} 35.1401 +\end{minipage} 35.1402 + 35.1403 +\vskip-1.5cm 35.1404 +\begin{tabular}{|l|lr|} 35.1405 +\hline 35.1406 + Matrix size&Lang.&sec.\\ 35.1407 +[2pt]\hline 35.1408 + $81\times81$ & Cilk & 0.017\\ 35.1409 + & VCilk & 0.008\\ 35.1410 +\hline 35.1411 + $324\times324$ & Cilk & 0.13\\ 35.1412 + & VCilk & 0.13\\ 35.1413 +\hline 35.1414 + $648\times648$ & Cilk & 0.71\\ 35.1415 + & VCilk & 0.85\\ 35.1416 +\hline 35.1417 + $1296\times1296$ & Cilk & 4.8\\ 35.1418 + & VCilk & 6.2 \\ 35.1419 +[2pt]\hline 35.1420 +\end{tabular} 35.1421 +\hfill 35.1422 +\begin{tabular}{|l|r|r|r|r|} 35.1423 +\multicolumn{5}{l}{}\\ 35.1424 +\multicolumn{5}{l}{}\\ 35.1425 +\multicolumn{5}{l}{}\\ 35.1426 +\hline 35.1427 + operation & \multicolumn{2}{c|}{Vthread} & pthread & ratio\\ 35.1428 + & comp only & total & & \\ 35.1429 +[2pt]\hline 35.1430 + mutex\_lock & 85 & 1050 & 50,000 & 48:1\\ 35.1431 + mutex\_unlock & 85 & 610 & 45,000 & 74:1\\ 35.1432 + cond\_wait & 85 & 850 & 60,000 & 71:1\\ 35.1433 + cond\_signal & 90 & 650 & 60,000 & 92:1\\ 35.1434 +\hline 35.1435 +\end{tabular} 35.1436 +\caption 35.1437 +{On left, exe time in seconds for MM. To the right, overhead for 35.1438 + pthread vs. Vthread. First column is cycles 35.1439 + for perfect memory and second is total measured cycles. pthread cycles are 35.1440 + deduced from round-trip experiments. 35.1441 +} 35.1442 +\label{tabHeadToHead} 35.1443 +\end{table} 35.1444 + 35.1445 +\paragraph*{Head to head.} 35.1446 + 35.1447 +We compare our implementation of the \texttt{spawn} and \texttt{sync} 35.1448 +constructs against Cilk 5.4, on the top in Table~\ref{tabHeadToHead}, 35.1449 +which shows that the same application code has similar 35.1450 +performance. For large matrices, Cilk 5.4's better use of the memory 35.1451 +hierarchy (the workstealing algorithm) achieves 23\% better 35.1452 +performance. However, for small matrices, VCilk is better, with a 35.1453 +factor 2 lower overhead. Cilk 5.4 does not allow controlling the 35.1454 +number of spawn events it actually executes, and chooses to run 35.1455 +smaller matrices sequentially, limiting our comparison. 35.1456 + 35.1457 +When comparing to pthreads, our VMS based implementation has more than 35.1458 +an order of magnitude better overhead per invocation of mutex or 35.1459 +condition variable functionality, as seen on the bottom of Table 35.1460 +\ref{tabHeadToHead}. Applications that inherently have short trace 35.1461 +segments will synchronize often and benefit the most from Vthread. 35.1462 + 35.1463 +\section{Conclusion} 35.1464 +\label{secConclusion} 35.1465 + 35.1466 +We have shown an alternative to the thread model that enables 35.1467 +easier-to-use parallelism constructs by splitting the scheduler open, 35.1468 +to accept new parallelism constructs in the form of plugins. This 35.1469 +gives the language control over assigning virtual processors to 35.1470 +physical cores, for performance, debugging, and flexibility 35.1471 +benefits. Parallelism constructs of programming languages can be 35.1472 +implemented using sequential algorithms, within a matter of days, 35.1473 +while maintaining low run-time overhead. 35.1474 + 35.1475 +\bibliography{../helpers/bib_for_papers} 35.1476 + 35.1477 +\end{document}
36.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 36.2 +++ b/0__Papers/PStack/HotPar_2012/latex/12_Ja_20__HotPar_Abstr_for_PStack.aux Sun Mar 11 09:26:44 2012 -0700 36.3 @@ -0,0 +1,55 @@ 36.4 +\relax 36.5 +\bibstyle{plain} 36.6 +\citation{PStackHome} 36.7 +\citation{VMSHome} 36.8 +\citation{PStackHome} 36.9 +\citation{OpenMPHome} 36.10 +\citation{TBBHome} 36.11 +\citation{OpenCLHome} 36.12 +\citation{Sequioa06} 36.13 +\citation{SEJITS} 36.14 +\@writefile{toc}{\contentsline {section}{\numberline {1}Motivation}{1}} 36.15 +\@writefile{toc}{\contentsline {section}{\numberline {2}Context: PStack}{1}} 36.16 +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}PStack elements}{1}} 36.17 +\citation{HolisticHome} 36.18 +\citation{DKUSourceForge} 36.19 +\citation{BLISHome} 36.20 +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}How VMS influences the stack}{2}} 36.21 +\@writefile{toc}{\contentsline {section}{\numberline {3}Requirements}{2}} 36.22 +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Top Layer: Language Requirements}{2}} 36.23 +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Middle Layer: Runtime Requirements}{2}} 36.24 +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Bottom Layer: Abstraction Requirements}{2}} 36.25 +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Depiction of PStack, with layers named on the left, and interfaces between layers named on the right. At the top are toolchains plus specializers, in the middle are runtimes connecting languages to hardware, and below that are hardware abstractions that collect similar hardware below a single interface and simplify runtime implementation. }}{3}} 36.26 +\newlabel{figPStack}{{1}{3}} 36.27 +\@writefile{toc}{\contentsline {section}{\numberline {4}Relating VMS Details to Requirements}{3}} 36.28 +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Top-layer}{3}} 36.29 +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Interface from top to middle}{3}} 36.30 +\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Middle layer}{3}} 36.31 +\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Interface from middle to bottom}{4}} 36.32 +\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Bottom layer}{4}} 36.33 +\@writefile{toc}{\contentsline {section}{\numberline {5}Experimental Setup}{4}} 36.34 +\@writefile{toc}{\contentsline {section}{\numberline {6}Results}{4}} 36.35 +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Performance Results}{4}} 36.36 +\citation{VMSLCPC} 36.37 +\bibdata{../helpers/bib_for_papers} 36.38 +\bibcite{SEJITS}{1} 36.39 +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces ${\begingroup ExecutionTime\endgroup \over WorkTime}$ vs $TaskTime$ on the 1x2 machine. It shows results for Vthread and pthread on the same axes, for 8 through 512 threads. The Vthread curves cluster, appearing as the bottom-most, while the pthread curves for 8, 32, and 128 are above it. The results for pthread with 512 threads land outside the plot. }}{5}} 36.40 +\newlabel{figCray1Results}{{2}{5}} 36.41 +\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces ${\begingroup ExecutionTime\endgroup \over WorkTime}$ vs $TaskTime$ on the 1x4 machine. The results are similar to Figure 2\hbox {}. }}{5}} 36.42 +\newlabel{figVMSResults}{{3}{5}} 36.43 +\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces ${\begingroup ExecutionTime\endgroup \over WorkTime}$ vs $TaskTime$ on the 4x10 machine. The Vthread results are difficult to see, at the bottom of the plot, while the pthread results appear in the middle. The runs start at 80 threads, which is the number of hardware contexts in the machine. }}{5}} 36.44 +\newlabel{figXoanonResults}{{4}{5}} 36.45 +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Implementation Time Results}{5}} 36.46 +\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Person-days to design, code, and test each of three sets of parallelism constructs. L.O.C. is lines of (original) C code, excluding libraries and comments. }}{5}} 36.47 +\newlabel{tabPersonDaysLang}{{1}{5}} 36.48 +\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{5}} 36.49 +\bibcite{TBBHome}{2} 36.50 +\bibcite{Sequioa06}{3} 36.51 +\bibcite{OpenCLHome}{4} 36.52 +\bibcite{PStackHome}{5} 36.53 +\bibcite{BLISHome}{6} 36.54 +\bibcite{DKUSourceForge}{7} 36.55 +\bibcite{VMSLCPC}{8} 36.56 +\bibcite{VMSHome}{9} 36.57 +\bibcite{OpenMPHome}{10} 36.58 +
37.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 37.2 +++ b/0__Papers/PStack/HotPar_2012/latex/12_Ja_20__HotPar_Abstr_for_PStack.bbl Sun Mar 11 09:26:44 2012 -0700 37.3 @@ -0,0 +1,61 @@ 37.4 +\begin{thebibliography}{10} 37.5 + 37.6 +\bibitem{SEJITS} 37.7 +B.~Catanzaro, S.~Kamil, Y.~Lee, K.~Asanovic, J.~Demmel, K.~Keutzer, J.~Shalf, 37.8 + K.~Yelick, and A.~Fox. 37.9 +\newblock Sejits: Getting productivity and performance with selective embedded 37.10 + jit specialization. 37.11 +\newblock {\em First Workshop on Programmable Models for Emerging Architecture 37.12 + at the 18th International Conference on Parallel Architectures and 37.13 + Compilation Techniques}, 2009. 37.14 + 37.15 +\bibitem{TBBHome} 37.16 +Intel Corp. 37.17 +\newblock {TBB} home page. 37.18 +\newblock http://www.threadingbuildingblocks.org. 37.19 + 37.20 +\bibitem{Sequioa06} 37.21 +Kayvon Fatahalian, Daniel~Reiter Horn, Timothy~J. Knight, Larkhoon Leem, Mike 37.22 + Houston, Ji~Young Park, Mattan Erez, Manman Ren, Alex Aiken, William~J. 37.23 + Dally, and Pat Hanrahan. 37.24 +\newblock Sequoia: programming the memory hierarchy. 37.25 +\newblock In {\em SC '06: Proceedings of the 2006 ACM/IEEE conference on 37.26 + Supercomputing}, page~83, 2006. 37.27 + 37.28 +\bibitem{OpenCLHome} 37.29 +Kronos Group. 37.30 +\newblock {OpenCL} home page. 37.31 +\newblock http://www.khronos.org/opencl. 37.32 + 37.33 +\bibitem{PStackHome} 37.34 +Sean Halle. 37.35 +\newblock {PStack} home page, 2012. 37.36 +\newblock http://pstack.sourceforge.net. 37.37 + 37.38 +\bibitem{BLISHome} 37.39 +Sean Halle and Albert Cohen. 37.40 +\newblock {BLIS} website, November 2008. 37.41 +\newblock http://blisplatform.sourceforge.net. 37.42 + 37.43 +\bibitem{DKUSourceForge} 37.44 +Sean Halle and Albert Cohen. 37.45 +\newblock {DKU} website, November 2008. 37.46 +\newblock http://dku.sourceforge.net. 37.47 + 37.48 +\bibitem{VMSLCPC} 37.49 +Sean Halle and Albert Cohen. 37.50 +\newblock A mutable hardware abstraction to replace threads. 37.51 +\newblock {\em 24th International Workshop on Languages and Compilers for 37.52 + Parallel Languages (LCPC11)}, 2011. 37.53 + 37.54 +\bibitem{VMSHome} 37.55 +Sean Halle, Merten Sach, Ben Juurlink, and Albert Cohen. 37.56 +\newblock {VMS} home page, 2010. 37.57 +\newblock http://virtualizedmasterslave.org. 37.58 + 37.59 +\bibitem{OpenMPHome} 37.60 +{OpenMP} organization. 37.61 +\newblock {OpenMP} home page. 37.62 +\newblock http://www.openmp.org. 37.63 + 37.64 +\end{thebibliography}
38.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 38.2 +++ b/0__Papers/PStack/HotPar_2012/latex/12_Ja_20__HotPar_Abstr_for_PStack.blg Sun Mar 11 09:26:44 2012 -0700 38.3 @@ -0,0 +1,22 @@ 38.4 +This is 8-bit Big BibTeX version 0.99c 38.5 +Implementation: WIN32 Console, BaKoMa TNS bound. 38.6 +Release version: 3.71 (18 Aug 1996) 38.7 + 38.8 +The top-level auxiliary file: 12_Ja_20__HotPar_Abstr_for_PStack.aux 38.9 +The style file: plain.bst 38.10 +Database file #1: ../helpers/bib_for_papers.bib 38.11 +I was expecting a `,' or a `}'---line 889 of file ../helpers/bib_for_papers.bib 38.12 + : 38.13 + : author = {Sean Halle}, 38.14 +(Error may have been on previous line) 38.15 +I'm skipping whatever remains of this entry 38.16 +Warning--I didn't find a database entry for "HolisticHome" 38.17 + 38.18 +Here's how much of BibTeX's memory you used: 38.19 + Cites: 10 out of 7500 38.20 + Fields: 56 out of 125000 38.21 + Hash table: 34850 out of 35000 38.22 + Strings: 552 out of 30000 38.23 + String pool: 5561 out of 750000 38.24 + Wizard functions: 2118 out of 10000 38.25 +(There was 1 error message)
39.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 39.2 +++ b/0__Papers/PStack/HotPar_2012/latex/12_Ja_20__HotPar_Abstr_for_PStack.ddf Sun Mar 11 09:26:44 2012 -0700 39.3 @@ -0,0 +1,2 @@ 39.4 +[MakeIndex] 39.5 +.idx=.ind
40.1 Binary file 0__Papers/PStack/HotPar_2012/latex/12_Ja_20__HotPar_Abstr_for_PStack.pdf has changed
41.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 41.2 +++ b/0__Papers/PStack/HotPar_2012/latex/12_Ja_20__HotPar_Abstr_for_PStack.tex Sun Mar 11 09:26:44 2012 -0700 41.3 @@ -0,0 +1,346 @@ 41.4 +% template-v1.tex: LaTeX2e template for Usenix papers. 41.5 +% Version: usetex-v1, 31-Oct-2002 41.6 +% Revision history at end. 41.7 + 41.8 +\documentclass[finalversion,endnotes]{usetex-v1} 41.9 +% Choose the appropriate option: 41.10 +% 41.11 +% 1. workingdraft: 41.12 +% 41.13 +% For initial submission and shepherding. Features prominent 41.14 +% date, notice of draft status, page numbers, and annotation 41.15 +% facilities. The three supported annotation macros are: 41.16 +% \edannote{text} -- anonymous annotation note 41.17 +% \begin{ednote}{who} -- annotation note attributed 41.18 +% text to ``who'' 41.19 +% \end{ednote} 41.20 +% \HERE -- a marker that can be left 41.21 +% in the text and easily 41.22 +% searched for later 41.23 +% 2. proof: 41.24 +% 41.25 +% A galley proof identical to the final copy except for page 41.26 +% numbering and proof date on the bottom. Annotations are 41.27 +% removed. 41.28 +% 41.29 +% 3. webversion: 41.30 +% 41.31 +% A web-publishable version, uses \docstatus{} to indicate 41.32 +% publication information (where and when paper was published), 41.33 +% and page numbers. 41.34 +% 41.35 +% 4. finalversion: 41.36 +% 41.37 +% The final camera-ready-copy (CRC) version of the paper. 41.38 +% Published in conference proceedings. This doesn't include 41.39 +% page numbers, annotations, or draft status (Usenix adds 41.40 +% headers, footers, and page numbers onto the CRC). 41.41 +% 41.42 +% If several are used, the last one in this list wins 41.43 +% 41.44 + 41.45 +% 41.46 +% In addition, the option "endnotes" permits the use of the 41.47 +% otherwise-disabled, Usenix-deprecated footnote{} command in 41.48 +% documents. In this case, be sure to include a 41.49 +% \makeendnotes command at the end of your document or 41.50 +% the endnotes will not actually appear. 41.51 +% 41.52 +% 41.53 +%%======================================================================= 41.54 + 41.55 +% These packages are optional, but useful 41.56 +\usepackage{epsfig} % postscript figures 41.57 +\usepackage{url} % \url{} command with good linebreaks 41.58 + 41.59 +%\usepackage{geometry} %chgs the margins and layout! 41.60 +\usepackage{graphicx,calc,ifthen,makeidx,amssymb,makeidx} 41.61 +\usepackage[tight,footnotesize]{subfigure} 41.62 + 41.63 +\graphicspath{{../figures/}} 41.64 + 41.65 +%======================================================================= 41.66 + 41.67 +\begin{document} 41.68 + 41.69 +\bibliographystyle{plain} 41.70 + 41.71 +\title{Supporting the Performant-Portability Software Stack with the Virtualized Master-Slave Abstraction} 41.72 + 41.73 +\docstatus{Submitted to HotPar 2012} 41.74 + 41.75 +% authors. separate groupings with \and. 41.76 +\author{ 41.77 +\authname{{Sean Halle \ \ \ \ \ \ \ \ Merten Sach \ \ \ \ \ \ \ \ Ben Juurlink}} 41.78 +\authaddr{{Technical University Berlin, Germany}} 41.79 +\authemail{{first.last@tu-berlin.de}} 41.80 +} 41.81 + 41.82 +%\authurl{\url{http://www.aes.tu-berlin.de/menue/home/parameter/en/}} 41.83 + 41.84 + 41.85 +\maketitle 41.86 + 41.87 +%======================================================================= 41.88 + 41.89 +\begin{abstract} 41.90 +The HotPar 2012 call for papers states that wide uptake of high efficiency parallel architectures ``requires new parallel programming paradigms, new methods of application design, new structures for system software, and new models of interaction among applications, compilers, operating systems, and hardware." In short, a new software stack, and a way to organize players in research and industry to supply the pieces of the stack. 41.91 + 41.92 +A recently proposed candidate for such a software stack\cite{PStackHome} relies in part on the assumption that a suitable hardware abstraction exists for the bottom layer of the stack. The abstraction's main purpose is to reduce the effort required in the upper layers. It must reduce the effort of creating language runtimes: by hiding details of synchronization and communication; by regularizing implementation to simplify and encourage reuse across languages; and by reducing the number of runtimes needed by collecting multiple targets below a single interface. It must at the same time enable high performance, by giving the language control over task placement and exposing to the runtime's scheduler the memory hierarchy, communication characteristics, and other major performance-related aspects of the hardware. 41.93 + 41.94 +In this paper, we show that an abstraction called Virtualized Master-Slave, or VMS \cite{VMSHome} satisfies these criteria, and we provide recent measurements to support the case. 41.95 + 41.96 +\end{abstract} 41.97 + 41.98 +%======================================================================= 41.99 + 41.100 +\section{Motivation} 41.101 + 41.102 + 41.103 +As stated in the call for papers, wide uptake of high efficiency parallel architectures ``requires new parallel programming paradigms, new methods of application design, new structures for system software, and new models of interaction among applications, compilers, operating systems, and hardware." Which are element of the software stack, and normally supplied by multiple players in research and industry. The players need to be organized to supply the pieces of the stack. 41.104 + 41.105 +The goal of the stack is to make parallel programming as productive as sequential programming, and to make it as portable onto new generations of hardware as sequential code. 41.106 + 41.107 +Reduced cost of parallel software is one major benefit of such a stack. Part of the cost reduction comes from performant portability. This means code is written once then run performantly across hardware targets, including unknown future architectures. 41.108 + 41.109 +A recent proposal for achieving this, named PStack\cite{PStackHome}, calls for a software stack having a layer of languages (toolchains) at the top, a layer of runtimes below that, and a hardware abstraction layer at the bottom. 41.110 + 41.111 +It is this bottom layer that we focus on in this paper. We begin by giving context for the bottom layer with more information about the software stack, in Section 2. We then explore the requirements for the layers in in Section 3, and show how VMS satisfies the requirements in Section 4. We then move to results, giving our experimental setup in Section 5, and measurements in Section 6. In Section 7 we tie the elements of the paper together in the conclusion. 41.112 + 41.113 + 41.114 +%%%%%%%%%%%%%%%%%%%%% 41.115 +\section{Context: PStack} 41.116 + 41.117 +Many projects are attempting portability \cite{OpenMPHome,TBBHome,OpenCLHome,Sequioa06,SEJITS}. PStack differentiates itself in three ways: 1) it's goal is wider than most: (nearly) all-languages to (nearly) all hardware 2) It's approach is to \emph{organize} -- industry supplies the pieces of the solution, while PStack itself only provides the interfaces and scaffolding, along with the seed of a solution to start 3) PStack has unique approaches for the application interface and the hardware interface that fill fundamental needs. 41.118 + 41.119 +The general philosophy is that portability involves too much effort to be solved by a single group. Instead, an industry-wide effort is needed, where each player provides one small piece of the solution. This, though, requires some way to organize it all, and modularize the pieces. 41.120 + 41.121 +PStack addresses this by defining a number of interfaces, and providing tools to manage specialization. These result in a simple, decoupled process for adding new solution pieces. So, the solution can grow at its own pace, accumulating the efforts of many. 41.122 + 41.123 +\subsection{PStack elements} 41.124 + 41.125 +As seen in Figure \ref{figPStack}, at the top, a standard set of information is defined, which must be gathered from the application. Current languages don't capture all the required information. So PStack defines a set of constructs to be added to a language to fill its gaps. The added constructs are denoted ``+P'' appended to the language name. 41.126 + 41.127 +In the middle, standard runtimes require too much effort to create, and discourage reusing schedulers across languages. So PStack defines a hardware abstraction that removes as much as possible from the runtime, including concurrency in the runtime itself. The abstraction makes the runtimes all have similar structure, which simplifies reuse of complex scheduler code among languages. 41.128 + 41.129 +At the bottom, performance of the runtime itself requires intense low-level hand-tuning and debugging. This is captured inside the implementation of the abstraction. It is done once for each hardware target, then reused across the runtimes from all languages. So the intense hand-tuning is taken out of the runtimes, in the middle layer, while it benefits all languages and hence applications in the higher layers. 41.130 + 41.131 +\subsection{How VMS influences the stack} 41.132 + 41.133 +VMS was chosen as the abstraction in the bottom layer. However, VMS affects multiple interfaces and layers of the stack. At the top, it determines the way parallel constructs are embedded into base languages, and how custom-syntax languages generate their runtime-interactions. Next, between the top and middle, VMS defines the interface for the language layer to talk to the runtime layer. Then within the middle layer, VMS defines two standard function prototypes, so that a runtime consists of implementations of just these two functions. Between middle and bottom, VMS defines a number of services that runtimes in the middle can call, and also defines the interaction between the VMS-implementation and the two runtime functions. 41.134 + 41.135 + 41.136 +\begin{figure*}[ht] 41.137 +\center 41.138 + \includegraphics[width=6in]{Portability_stack_combined.pdf} 41.139 + \caption 41.140 + {Depiction of PStack, with layers named on the left, and interfaces between layers named on the right. At the top are toolchains plus specializers, in the middle are runtimes connecting languages to hardware, and below that are hardware abstractions that collect similar hardware below a single interface and simplify runtime implementation. 41.141 + } 41.142 +\label{figPStack} 41.143 + 41.144 +\end{figure*} 41.145 + 41.146 + 41.147 + 41.148 +%%%%%%%%%%%%%%%%%%%%%%%%%%% 41.149 +\section{Requirements} 41.150 + 41.151 +Although the paper focuses on the bottom abstraction, its requirements are influenced by the layers above. So we present a full picture of the requirements in the stack, to give a complete picture for the bottom abstraction. 41.152 + 41.153 +\subsection{Top Layer: Language Requirements} 41.154 +The languages must be designed to capture all information required to specialize the source for high performance on any target hardware. A computation model, called The Holistic Model\cite{HolisticHome}, suggests that such a canonical set of information exists. 41.155 + 41.156 +PStack proposes to develop the constructs that gather the canonical information set, where some constructs are in the form of specialization helpers such as task-resizers and layout modifiers. The application implements the specialization helpers, thereby encoding information about data structures and how to manipulate them. The seeds of such an approach were laid with work on DKU\cite{DKUSourceForge}, which demonstrated the success of task-resizing constructs. 41.157 + 41.158 +PStack also calls for the use of the BLIS\cite{BLISHome} approach for managing multiple toolchains, where each toolchain specializes to a different target. The management covers the install process, during which the correct toolchain output is paired to the installation target. Further specialization can thus be naturally added during installation, when exact hardware details are known. If required, runtime tuning and optimization also fit naturally within the approach. 41.159 + 41.160 +\subsection{Middle Layer: Runtime Requirements} 41.161 + 41.162 +Below the top layer, a collection of runtime systems acts as a sort of cross-bar switch, connecting the languages above to the hardware abstractions below. Such a ``cross-bar'' switch made up of runtimes implies a large number of runtimes. 41.163 + 41.164 +To be practical, the number of runtimes must be reduced; the effort of creating one must be reduced; and reuse of sophisticated runtime code must be encouraged. 41.165 + 41.166 +\subsection{Bottom Layer: Abstraction Requirements} 41.167 + 41.168 +The primary purpose of the bottom abstraction is to reduce the effort of creating the runtime layer. 41.169 + 41.170 +\begin{itemize} 41.171 +\item The abstraction must hide details, making multiple hardware targets present the same interface and use a common runtime. 41.172 +\item The abstraction must hide low-level tuning of the runtime itself, like synchronization-related tuning. 41.173 +\item The asbstraction must provide common services, such as handling internal synchronization of the runtime, creation of tasks, communication, etc. 41.174 +\item The abstraction must create uniform patterns for runtime implementation, making reuse between runtimes more practical and reducing the effort of making multiple runtimes. 41.175 + 41.176 +\end{itemize} 41.177 + 41.178 +However, the abstraction must not hide \textit{application}-performance-critical information from the runtime, which holds the scheduler that decides when tasks become ready and where to execute them. The scheduling choices need to know the communication paths and memory pools in the hardware, along with latency, bandwidth, capacity and computation rate. 41.179 + 41.180 +A single abstraction can't both hide details and expose those required by the runtimes to attain high \emph{application} performance. Instead, PStack calls for a family of abstractions, one for each major type of architecture, including a ``hierarchy'' abstraction used to glue together heterogeneous hardware. In each, only the details critical to application performance are exposed to the scheduler in the runtime, thus keeping the number of abstractions needed manageably small, on the order of tens in total. 41.181 + 41.182 + 41.183 + 41.184 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 41.185 +\section{Relating VMS Details to Requirements} 41.186 + 41.187 +Given the requirements, how does VMS meet them? We given more detail on VMS, at each place it affects the stack, and show how the details satisfy the requirements. 41.188 + 41.189 + 41.190 +\subsection{Top-layer} 41.191 + 41.192 +With VMS, a language is implemented as either a collection of wrapper-library calls embedded into a base language, or as custom syntax. The wrapper-lib functions call a primitive supplied by VMS that suspends the virtual-processor animating the call, and sends a request to the runtime. This same VMS primitive is also used to implement custom syntax, inside the compiler. Thus, the VMS primitive is the means for the language layer to interact with the runtime layer. 41.193 + 41.194 + 41.195 +VMS is invisible to the application, only language constructs are visible -- either wrapper-library calls or custom syntax. From the application-programmer point of view, even an embedded parallelism construct looks like a function call, albeit the data-structure of the virtual-processor animating the code has to be passed as a parameter to the wrapper-lib call. 41.196 + 41.197 + 41.198 +\subsection{Interface from top to middle} 41.199 + 41.200 +The interface between application-executable and language-runtime is fixed, as the VMS-primitive that sends a request to the runtime. Even though PStack allows executables to be modified during installation or even runtime, via BLIS management of auto-tuners, multi-stage compilers, or binary re-writers, the VMS-primitive still must be used for the executable to interact with the runtime. 41.201 + 41.202 + 41.203 +Such a standard interaction mechanism serves not only to modularize the stack, cleanly separating runtime from toolchain, but also to decouple executable from VMS implementation. The VMS primitive is naturally a custom instruction, but can also be, a trap to the OS, a message sent on a port, or a function call -- given appropriate executable modification under BLIS. 41.204 + 41.205 +\subsection{Middle layer} 41.206 + 41.207 + 41.208 + 41.209 +VMS causes the middle-layer portion of a runtime to be implemented as two functions. The first is the request-handler, which is the part of a scheduler that handles constraints. It determines which work units (tasks) are ready to be animated (executed). 41.210 + The other function, sched-assigner, assigns ready work to hardware. This provides uniform patterns for the runtimes. 41.211 + 41.212 + 41.213 + 41.214 +When a request is ready for the runtime, VMS calls the request-handler function, and when hardware is free for work, VMS calls the scheduler-assign function. Thus, the language portion of the runtime is passive. 41.215 + 41.216 +By keeping control-flow inside VMS, the language-supplied portion of the runtime is simplified. Control flow includes any concurrency, and so is inside the VMS-implementation. Hence, the language-supplied runtime functions are sequential code, even though they implement the \textit{semantics} of language-level synchronization constructs. This simplifies runtime implementation. 41.217 + 41.218 +This structure is also the reason VMS encourages reuse of scheduler code. Scheduling is sub-divided into distinct modules: constraint-management (IE enforcing dependencies); and assigning work to resources. The assignment module is especially straight-forward to share between languages. 41.219 + 41.220 +Because application performance is most strongly influenced by communication within the hardware, the assignment module is critical. For high performance, it also tends to be complex. Thus, simple reuse of it is a significant benefit. 41.221 + 41.222 + 41.223 +\subsection{Interface from middle to bottom} 41.224 + 41.225 +VMS's plugin API is the interface between the runtime and the bottom abstraction-implementation. The API has calls to register language-supplied runtime functions with the bottom abstraction, as well as support services. 41.226 + 41.227 + 41.228 +Reduction of the number of runtimes is accomplished this way. Hardware targets with similar structure present the same interface, requiring only one runtime. 41.229 + 41.230 +Only structural elements that affect assignment choices are exposed in the API. For example, memory hierarchy is exposed as a VMS-defined data-structure made available to the sched-assign function. The details in the data convey the connectivity, communication, and sizes, which the assigner may use to optimize choices. 41.231 + 41.232 +\subsection{Bottom layer} 41.233 + 41.234 +The bottom layer consists of implementations of the VMS API and VMS primitives used in the upper levels, as well as the control-flow of the runtimes. Each hardware platform has its own implementation, allowing low-level hand-tweaking. This effort is performed once per hardware target, so is amortized across applications. Pulling this tuning below the interface also simplifies the runtime-portion in the middle layer. 41.235 + 41.236 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 41.237 +\section{Experimental Setup} 41.238 +The experiments to measure VMS overhead were run on three machines: a one-socket 2 core 3GHz workstation (``1x2''), a one-socket 4 core SandyBridge 3.3GHz workstation (``1x4''), and a four-socket by 10 core each Westmere EX 2.4GHz server (``4x10''). 41.239 + 41.240 +The code consists of two loops: the innermost is a single task, while the outer repeats that task a number of times. The inner does throw-away work entirely within registers, where the number of iterations sets the amount of work in the task. After the inner completes, a synchronization is performed, which pairs each task to a sync operation. The outer then repeats the sequence of task-then-sync a large number of times to gain statistical accuracy and dominate any other sources of overhead. 41.241 + 41.242 +Two versions of the code were written: one that used pthread, a second that used a VMS-implemented equivalent called Vthread. Both have the same semantics, differing only in the implementation of scheduling triggered by the construct. Hence, any difference in execution time is due to the difference in scheduling overhead. 41.243 + 41.244 +%%%%%%%%%%%%%%%%%%%%%%% 41.245 +\section{Results} 41.246 +The new experimental results given in this paper focus on the overhead of the runtime, with the goal of showing that a language based on VMS enjoys low overhead compared to standard pthreads. We illustrate the amount of overhead by plotting a curve whose shape is determined by the overhead. 41.247 + 41.248 +The curve compares total CPU time to just work time. The difference is the overhead of scheduling, which consists of: switching from application to scheduler; updating the sync-construct state; choosing a new thread to schedule; and deciding on which core to re-animate it. 41.249 + 41.250 +The ratio of total CPU time to work time gets larger as the overhead increases, raising overhead's percent of the total. When the ratio is exactly 2, the work time exactly equals the overhead. Larger ratio indicates overhead dominates, smaller indicates work dominates. 41.251 + 41.252 +Hence, to find the size of the overhead, find the size of task where the work in the task exactly equals the overhead of scheduling the task. To do this, we plot the ratio on the y axis and single-task-time on x axis. When the ratio equals 2, the cycles of work in the task equals the overhead of scheduling the task. So the overhead can be read off the graph, as the task-size at the y=2 point. 41.253 + 41.254 + 41.255 +\subsection{Performance Results} 41.256 + 41.257 +We executed on each of three machines. On a given machine, we first executed the pthread version, then the Vthread version, with a variety of numbers of threads. Varying the number of threads shows the effect on scheduling time. For a given machine, both sets of curves are plotted on the same graph, to make direct comparison easy. 41.258 + 41.259 +\begin{figure}[ht!] 41.260 + \includegraphics[width=2.3in, angle = -90]{plots_exec_vs_task_size/cray1_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps} 41.261 + \caption 41.262 + {$\frac{ExecutionTime} {WorkTime}$ vs $TaskTime$ on the 1x2 machine. It shows results for Vthread and pthread on the same axes, for 8 through 512 threads. The Vthread curves cluster, appearing as the bottom-most, while the pthread curves for 8, 32, and 128 are above it. The results for pthread with 512 threads land outside the plot. 41.263 + } 41.264 +\label{figCray1Results} 41.265 +\end{figure} 41.266 + 41.267 +Figure \ref{figCray1Results} shows results for the 1x2 machine. The curves for Vthread cluster together in the lower-left, indicating that overhead is smaller than for pthread. The tight clustering means that overhead remains constant as the number of threads is increased. 41.268 + 41.269 +The values for overhead per task is read off the graph by finding where the curve crosses $y=2$. This shows that Vthread has around 700 cycles of overhead, while pthread starts at 3800 for 8 threads, goes up to 8200 for 32 threads, and then into the tens of thousands for 128 threads. Not shown is the curve for 512 threads, which has more than 100,000 cycles of overhead. 41.270 + 41.271 + 41.272 +\begin{figure}[ht!] 41.273 + \includegraphics[width=2.2in, angle = -90]{plots_exec_vs_task_size/vms_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps} 41.274 + \caption 41.275 + {$\frac{ExecutionTime} {WorkTime}$ vs $TaskTime$ on the 1x4 machine. The results are similar to Figure \ref{figCray1Results}. 41.276 + } 41.277 +\label{figVMSResults} 41.278 +\end{figure} 41.279 + 41.280 + 41.281 +Figure \ref{figVMSResults} shows similar characteristics on the 1x4 SandyBridge machine. 41.282 + 41.283 + 41.284 +\begin{figure}[ht!] 41.285 + \includegraphics[width=2.2in, angle = -90] 41.286 + {plots_exec_vs_task_size/xoanon_pthread_vthread_40core_80_160_320_640thds__o30000__perfCtrs.eps} 41.287 + \caption 41.288 + {$\frac{ExecutionTime} {WorkTime}$ vs $TaskTime$ on the 4x10 machine. The Vthread results are difficult to see, at the bottom of the plot, while the pthread results appear in the middle. The runs start at 80 threads, which is the number of hardware contexts in the machine. 41.289 + } 41.290 +\label{figXoanonResults} 41.291 +\end{figure} 41.292 + 41.293 + 41.294 +However, things change dramatically on the 4 socket by 10 core-each Westmere machine, seen in Figure \ref{figXoanonResults}. Here, inter-socket communication dominates, and VMS gains orders of magnitude advantage. For one thread per hardware context, Vthread's overhead is around 2000 cycles, while pthread starts at around 50,000 and goes up from there. 41.295 + 41.296 +The implementation of VMS is different on this machine than the single-socket ones, and demonstrates the effectiveness of pulling hardware details below the abstraction. 41.297 + 41.298 +When using the single-socket implementation on the 4x10, the large number of cores and inter-socket communication times causes excessive contention. We solved the problem for the 4x10 machine with an increasing-random-backoff approach. It reduces overhead by an order of magnitude on the 4x10. 41.299 + 41.300 + Without an abstraction like VMS, the language implementers would have to discover and solve such problems separately for each language on each machine. Because this required several weeks, the use of advanced tools, and detailed knowledge of the hardware, the savings for the language-runtime implementers is significant. This is evidence of VMS's ability to reduce middle-layer runtime implementation effort. 41.301 + 41.302 +%\mbox 41.303 +% {\subfigure{\includegraphics[width=2.3in, angle = -90] 41.304 +% {plots_exec_vs_task_size/cray1_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps} 41.305 +% }} 41.306 + 41.307 + 41.308 +%$\frac{ExecutionTime} {WorkTime}$ vs $TaskTime$. The smaller the task, the smaller the time between scheduling events. When the ratio reaches 2, the scheduling overhead exactly equals the task time. This shows results for pthreads and for Vthreads on a 1 socket by 2 core PC. 41.309 + 41.310 + 41.311 +\subsection{Implementation Time Results} 41.312 +As seen in a previous paper on VMS\cite{VMSLCPC}, it makes runtime implementation quick and easy. The results are re-printed in Table \ref{tabPersonDaysLang} to support the claim VMS meets the requirement of reducing runtime implementation effort. 41.313 + 41.314 +From previous experience and informal discussions with others, equivalently low-overhead tuned runtimes would take several months. Similar time is also expected to learn the code of a pre-existing multi-threaded highly tuned runtime, then modify, debug and re-tune it. 41.315 + 41.316 +\begin{table}[ht!] 41.317 +\caption 41.318 + {Person-days to design, code, and test each of three sets of parallelism constructs. L.O.C. is lines of (original) C code, excluding libraries and comments. 41.319 + } 41.320 +\label{tabPersonDaysLang} 41.321 +\begin{center} 41.322 +\begin{tabular}{|l|l|l|l|} 41.323 +\cline{1-4} 41.324 + & SSR & Vthread & VCilk 41.325 + \\\cline{1-4} 41.326 + Design & 4 & 1 & 0.5\\ 41.327 + Code & 2 & 0.5 & 0.5\\ 41.328 + Test & 1 & 0.5 & 0.5\\ 41.329 + \cline{1-4} 41.330 + L.O.C. & 470 & 290 & 310 41.331 + \\\cline{1-4} 41.332 + \end{tabular} 41.333 +\end{center} 41.334 +\end{table} 41.335 + 41.336 + 41.337 +%%%%%%%%%%%%%%%%%%%%%% 41.338 +\section{Conclusion} 41.339 +We showed that using VMS as the bottom hardware abstraction in a software stack pulls low-level tuning out of the runtimes, reduces the number of runtime implementations, and encourages reuse of scheduler assignment code across languages. 41.340 + 41.341 + 41.342 +%%%%%%%%%%%%%%%%%%%%%%%% 41.343 + 41.344 + 41.345 +\bibliography{../helpers/bib_for_papers} 41.346 + 41.347 + 41.348 +\end{document} 41.349 +
42.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 42.2 +++ b/0__Papers/PStack/HotPar_2012/latex/Paper_Design.txt Sun Mar 11 09:26:44 2012 -0700 42.3 @@ -0,0 +1,21 @@ 42.4 + 42.5 + 42.6 +Outline: 42.7 + 42.8 +Motivation: by funnelling from big, broad, already accepted, down to specific of paper. 42.9 +Added detail: Start with universally accepted goal that all agree with -- the HotPar call for papers statement -- build a golden bridge from there to the specific thing want to talk about -- the bottom layer of the portability stack. 42.10 +-] state the goal of HotPar 42.11 +-] Show how that's same as needing a new software stack 42.12 +-] Say proposal for such stack exists 42.13 +-] Say paper focuses on bottom layer of stack 42.14 + 42.15 +Desire: inject PStack into the paper, as support -- because can't claim it as a contribution as it has no supporting results. 42.16 +Want to build sub-bridges -- once add structure, there are audience-accepted sub-goals they've seen in practice already. Call those already-known things out, to give audience mental anchors -- then build golden bridges from those to PStack, showing that PStack addresses those anchored concerns/issues/goals 42.17 + 42.18 +-] Anchor: Other portability approaches exist (Everyone knows that, asking "so how is this PStack different?" 42.19 +--] Bridge: how PStack differentiates itself 42.20 + 42.21 +Detail: PStack is broader in scope: all langs to all hardware, PStack isn't solution itself, rather it's organizer for all in industry to supply piece by piece the solution; PStack has novel top-level interface and bottom-layer interface that enable all the rest. 42.22 + 42.23 + 42.24 +
43.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 43.2 +++ b/0__Papers/PStack/HotPar_2012/latex/Paper_Design_2.txt Sun Mar 11 09:26:44 2012 -0700 43.3 @@ -0,0 +1,32 @@ 43.4 + 43.5 +====== 43.6 + 43.7 +Details of VMS interface, details of its impl on multi-core, details of differences on different machines. 43.8 + 43.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. 43.10 + 43.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. 43.12 + 43.13 + 43.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. 43.15 + 43.16 +Hence, VMS is invisible to the application, only language constructs are visible. 43.17 + 43.18 +The wrapper-lib call is standard library code that is loaded along with the application executable. 43.19 + 43.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. 43.21 + 43.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. 43.23 + 43.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. 43.25 + 43.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. 43.27 + 43.28 +The greatest application performance impact due to the scheduler is communication it causes. 43.29 + 43.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. 43.31 + 43.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. 43.33 + 43.34 + 43.35 +
44.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 44.2 +++ b/0__Papers/PStack/HotPar_2012/latex/url.sty Sun Mar 11 09:26:44 2012 -0700 44.3 @@ -0,0 +1,325 @@ 44.4 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@triumf.ca 44.5 +% Copyright 1996-1999 Donald Arseneau, Vancouver, Canada. 44.6 +% This program can be used, distributed, and modified under the terms 44.7 +% of the LaTeX Project Public License. 44.8 +% 44.9 +% A form of \verb that allows linebreaks at certain characters or 44.10 +% combinations of characters, accepts reconfiguration, and can usually 44.11 +% be used in the argument to another command. It is intended for email 44.12 +% addresses, hypertext links, directories/paths, etc., which normally 44.13 +% have no spaces. The font may be selected using the \urlstyle command, 44.14 +% and new url-like commands can be defined using \urldef. 44.15 +% 44.16 +% Usage: Conditions: 44.17 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 44.18 +% "\", it can't be used in the argument to another command. 44.19 +% The argument must not contain unbalanced braces. 44.20 +% \url| | ...where "|" is any character not used in the argument and not 44.21 +% "{" or a space. The same restrictions as above except that the 44.22 +% argument may contain unbalanced braces. 44.23 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 44.24 +% what characters it contains. 44.25 +% 44.26 +% See further instructions after "\endinput" 44.27 +% 44.28 +\def\Url@ttdo{% style assignments for tt fonts or T1 encoding 44.29 +\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]% 44.30 + \do\)\do\,\do\?\do\'\do\+\do\=}% 44.31 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 44.32 +\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary) 44.33 +\def\UrlSpecials{\do\ {\ }}% 44.34 +\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually 44.35 +} 44.36 +\def\Url@do{% style assignments for OT1 fonts except tt 44.37 +\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}% 44.38 +\def\UrlBigBreaks{\do\:\do@url@hyp}% 44.39 +\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character 44.40 +\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_% 44.41 + \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do 44.42 + \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do 44.43 + \ {\ }}% 44.44 +\def\UrlOrds{\do\'\do\"\do\-}% 44.45 +} 44.46 +\def\url@ttstyle{% 44.47 +\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo 44.48 +} 44.49 +\def\url@rmstyle{% 44.50 +\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do 44.51 +} 44.52 +\def\url@sfstyle{% 44.53 +\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do 44.54 +} 44.55 +\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else 44.56 + \url@rmstyle \fi \def\UrlFont{}} 44.57 + 44.58 +\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{} 44.59 +\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{} 44.60 + 44.61 +\def\Url{% 44.62 + \begingroup \let\url@moving\relax\relax \endgroup 44.63 + \ifmmode\@nomatherr$\fi 44.64 + \UrlFont $\fam\z@ \textfont\z@\font 44.65 + \let\do\@makeother \dospecials % verbatim catcodes 44.66 + \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces 44.67 + \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip 44.68 + \@tempcnta\fam\multiply\@tempcnta\@cclvi 44.69 + \let\do\set@mathcode \UrlOrds % ordinary characters that were special 44.70 + \advance\@tempcnta 8192 \UrlBreaks % bin 44.71 + \advance\@tempcnta 4096 \UrlBigBreaks % rel 44.72 + \advance\@tempcnta 4096 \UrlNoBreaks % open 44.73 + \let\do\set@mathact \UrlSpecials % active 44.74 + \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures 44.75 + \@ifnextchar\bgroup\Url@z\Url@y} 44.76 + 44.77 +\def\Url@y#1{\catcode`{11 \catcode`}11 44.78 + \def\@tempa##1#1{\Url@z{##1}}\@tempa} 44.79 +\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook 44.80 + \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup} 44.81 +\def\Url@Hook{\UrlLeft} 44.82 +\let\UrlRight\@empty 44.83 +\let\UrlLeft\@empty 44.84 + 44.85 +\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@} 44.86 +\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}} 44.87 +\def\set@mathnolig#1{\ifnum\mathcode`#1<32768 44.88 + \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}% 44.89 + \mathcode`#132768 \fi} 44.90 + 44.91 +\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup 44.92 + \def\Url@z{\Url@def{#1}{#2}}#2} 44.93 +\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax 44.94 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 44.95 + \def#1{#2{#3}}} 44.96 +\else 44.97 + \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 44.98 + \DeclareRobustCommand{#1}{#2{#3}}} 44.99 +\fi 44.100 + 44.101 +\def\urlstyle#1{\csname url@#1style\endcsname} 44.102 + 44.103 +% Sample (and default) configuration: 44.104 +% 44.105 +\newcommand\url{\begingroup \Url} 44.106 +% 44.107 +% picTeX defines \path, so declare it optionally: 44.108 +\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{} 44.109 +% 44.110 +% too many styles define \email like \address, so I will not define it. 44.111 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 44.112 + 44.113 +% Process LaTeX \package options 44.114 +% 44.115 +\urlstyle{tt} 44.116 +\let\Url@sppen\@M 44.117 +\def\do@url@hyp{}% by default, no breaks after hyphens 44.118 + 44.119 +\@ifundefined{ProvidesPackage}{}{ 44.120 + \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space 44.121 + Verb mode for urls, email addresses, and file names] 44.122 + \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens 44.123 + \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later 44.124 + \DeclareOption{spaces}{\let\Url@sppen\relpenalty} 44.125 + \DeclareOption{T1}{\let\Url@do\Url@ttdo} 44.126 + \ProcessOptions 44.127 +\ifx\Url@Hook\relax % [obeyspaces] was declared 44.128 + \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft 44.129 + \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th} 44.130 + \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain} 44.131 + \def\Url@nosp\,#1\Url@retain{} 44.132 +\fi 44.133 +} 44.134 + 44.135 +\edef\url@moving{\csname Url Error\endcsname} 44.136 +\expandafter\edef\url@moving 44.137 + {\csname url used in a moving argument.\endcsname} 44.138 +\expandafter\expandafter\expandafter \let \url@moving\undefined 44.139 + 44.140 +\endinput 44.141 +% 44.142 +% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@reg.triumf.ca 44.143 +% 44.144 +% This package defines "\url", a form of "\verb" that allows linebreaks, 44.145 +% and can often be used in the argument to another command. It can be 44.146 +% configured to print in different formats, and is particularly useful for 44.147 +% hypertext links, email addresses, directories/paths, etc. The font may 44.148 +% be selected using the "\urlstyle" command and pre-defined text can be 44.149 +% stored with the "\urldef" command. New url-like commands can be defined, 44.150 +% and a "\path" command is provided this way. 44.151 +% 44.152 +% Usage: Conditions: 44.153 +% \url{ } If the argument contains any "%", "#", or "^^", or ends with 44.154 +% "\", it can't be used in the argument to another command. 44.155 +% The argument must not contain unbalanced braces. 44.156 +% \url| | ...where "|" is any character not used in the argument and not 44.157 +% "{" or a space. The same restrictions as above except that the 44.158 +% argument may contain unbalanced braces. 44.159 +% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 44.160 +% what characters it contains. 44.161 +% 44.162 +% The "\url" command is fragile, and its argument is likely to be very 44.163 +% fragile, but a defined-url is robust. 44.164 +% 44.165 +% Package Option: obeyspaces 44.166 +% Ordinarily, all spaces are ignored in the url-text. The "[obeyspaces]" 44.167 +% option allows spaces, but may introduce spurious spaces when a url 44.168 +% containing "\" characters is given in the argument to another command. 44.169 +% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}", 44.170 +% and if you need both spaces and backslashes, use a `defined-url' for 44.171 +% anything with "\". 44.172 +% 44.173 +% Package Option: hyphens 44.174 +% Ordinarily, breaks are not allowed after "-" characters because this 44.175 +% leads to confusion. (Is the "-" part of the address or just a hyphen?) 44.176 +% The package option "[hyphens]" allows breaks after explicit hyphen 44.177 +% characters. The "\url" command will *never ever* hyphenate words. 44.178 +% 44.179 +% Package Option: spaces 44.180 +% Likewise, breaks are not usually allowed after spaces under the 44.181 +% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]" 44.182 +% will allow breaks at those spaces. 44.183 +% 44.184 +% Package Option: T1 44.185 +% This signifies that you will be using T1-encoded fonts which contain 44.186 +% some characters missing from most older (OT1) encoded TeX fonts. This 44.187 +% changes the default definition for "\urlstyle{rm}". 44.188 +% 44.189 +% Defining a defined-url: 44.190 +% Take for example the email address "myself%node@gateway.net" which could 44.191 +% not be given (using "\url" or "\verb") in a caption or parbox due to the 44.192 +% percent sign. This address can be predefined with 44.193 +% \urldef{\myself}\url{myself%node@gateway.net} or 44.194 +% \urldef{\myself}\url|myself%node@gateway.net| 44.195 +% and then you may use "\myself" instead of "\url{myself%node@gateway.net}" 44.196 +% in an argument, and even in a moving argument like a caption because a 44.197 +% defined-url is robust. 44.198 +% 44.199 +% Style: 44.200 +% You can switch the style of printing using "\urlstyle{tt}", where "tt" 44.201 +% can be any defined style. The pre-defined styles are "tt", "rm", "sf", 44.202 +% and "same" which all allow the same linebreaks but different fonts -- 44.203 +% the first three select a specific font and the "same" style uses the 44.204 +% current text font. You can define your own styles with different fonts 44.205 +% and/or line-breaking by following the explanations below. The "\url" 44.206 +% command follows whatever the currently-set style dictates. 44.207 +% 44.208 +% Alternate commands: 44.209 +% It may be desireable to have different things treated differently, each 44.210 +% in a predefined style; e.g., if you want directory paths to always be 44.211 +% in tt and email addresses to be rm, then you would define new url-like 44.212 +% commands as follows: 44.213 +% 44.214 +% \newcommand\email{\begingroup \urlstyle{rm}\Url} 44.215 +% \newcommand\directory{\begingroup \urlstyle{tt}\Url} 44.216 +% 44.217 +% You must follow this format closely, and NOTE that the final command is 44.218 +% "\Url", not "\url". In fact, the "\directory" example is exactly the 44.219 +% "\path" definition which is pre-defined in the package. If you look 44.220 +% above, you will see that "\url" is defined with 44.221 +% \newcommand\url{\begingroup \Url} 44.222 +% I.e., using whatever url-style has been selected. 44.223 +% 44.224 +% You can make a defined-url for these other styles, using the usual 44.225 +% "\urldef" command as in this example: 44.226 +% 44.227 +% \urldef{\myself}{\email}{myself%node.domain@gateway.net} 44.228 +% 44.229 +% which makes "\myself" act like "\email{myself%node.domain@gateway.net}", 44.230 +% if the "\email" command is defined as above. The "\myself" command 44.231 +% would then be robust. 44.232 +% 44.233 +% Defining styles: 44.234 +% Before describing how to customize the printing style, it is best to 44.235 +% mention something about the unusual implementation of "\url". Although 44.236 +% the material is textual in nature, and the font specification required 44.237 +% is a text-font command, the text is actually typeset in *math* mode. 44.238 +% This allows the context-sensitive linebreaking, but also accounts for 44.239 +% the default behavior of ignoring spaces. Now on to defining styles. 44.240 +% 44.241 +% To change the font or the list of characters that allow linebreaks, you 44.242 +% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc. 44.243 +% directly in the document, but it is better to define a new `url-style' 44.244 +% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines 44.245 +% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and 44.246 +% "\UrlFont". 44.247 +% 44.248 +% Changing font: 44.249 +% The "\UrlFont" command selects the font. The definition of "\UrlFont" 44.250 +% done by the pre-defined styles varies to cope with a variety of LaTeX 44.251 +% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}". 44.252 +% Depending on the font selected, some characters may need to be defined 44.253 +% in the "\UrlSpecials" list because many fonts don't contain all the 44.254 +% standard input characters. 44.255 +% 44.256 +% Changing linebreaks: 44.257 +% The list of characters that allow line-breaks is given by "\UrlBreaks" 44.258 +% and "\UrlBigBreaks", which have the format "\do\c" for character "c". 44.259 +% The differences are that `BigBreaks' have a lower penalty and have 44.260 +% different breakpoints when in sequence (as in "http://"): `BigBreaks' 44.261 +% are treated as mathrels while `Breaks' are mathbins (see The TeXbook, 44.262 +% p.170). In particular, a series of `BigBreak' characters will break at 44.263 +% the end and only at the end; a series of `Break' characters will break 44.264 +% after the first and after every following *pair*; there will be no 44.265 +% break after a `Break' character if a `BigBreak' follows. In the case 44.266 +% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' -- 44.267 +% the breaks are the same in either case; but for DECnet nodes with "::" 44.268 +% it is important to prevent breaks *between* the colons, and that is why 44.269 +% colons are `BigBreaks'. 44.270 +% 44.271 +% It is possible for characters to prevent breaks after the next following 44.272 +% character (I use this for parentheses). Specify these in "\UrlNoBreaks". 44.273 +% 44.274 +% You can do arbitrarily complex things with characters by making them 44.275 +% active in math mode (mathcode hex-8000) and specifying the definition(s) 44.276 +% in "\UrlSpecials". This is used in the rm and sf styles for OT1 font 44.277 +% encoding to handle several characters that are not present in those 44.278 +% computer-modern style fonts. See the definition of "\Url@do", which 44.279 +% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing 44.280 +% characters via "\UrlSpecials". The nominal format for setting each 44.281 +% special character "c" is: "\do\c{<definition>}", but you can include 44.282 +% other definitions too. 44.283 +% 44.284 +% 44.285 +% If all this sounds confusing ... well, it is! But I hope you won't need 44.286 +% to redefine breakpoints -- the default assignments seem to work well for 44.287 +% a wide variety of applications. If you do need to make changes, you can 44.288 +% test for breakpoints using regular math mode and the characters "+=(a". 44.289 +% 44.290 +% Yet more flexibility: 44.291 +% You can also customize the verbatim text by defining "\UrlRight" and/or 44.292 +% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "< >", define 44.293 +% 44.294 +% \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}% 44.295 +% \urlstyle{tt}\Url} 44.296 +% 44.297 +% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim. 44.298 +% This lets you use formatting commands there, but you must be careful not 44.299 +% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly. 44.300 +% You can also define "\UrlLeft" to reprocess the verbatim text, but the 44.301 +% format of the definition is special: 44.302 +% 44.303 +% \def\UrlLeft#1\UrlRight{ ... do things with #1 ... } 44.304 +% 44.305 +% Yes, that is "#1" followed by "\UrlRight" then the definition. For 44.306 +% example, to put a hyperTeX hypertext link in the DVI file: 44.307 +% 44.308 +% \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}} 44.309 +% 44.310 +% Using this technique, url.sty can provide a convenient interface for 44.311 +% performing various operations on verbatim text. You don't even need 44.312 +% to print out the argument! For greatest efficiency in such obscure 44.313 +% applications, you can define a null url-style where all the lists like 44.314 +% "\UrlBreaks" are empty. 44.315 +% 44.316 +% Revision History: 44.317 +% ver 1.1 6-Feb-1996: 44.318 +% Fix hyphens that wouldn't break and ligatures that weren't suppressed. 44.319 +% ver 1.2 19-Oct-1996: 44.320 +% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight". 44.321 +% ver 1.3 21-Jul-1997: 44.322 +% Prohibit spaces as delimiter characters; change ascii tilde in OT1. 44.323 +% ver 1.4 02-Mar-1999 44.324 +% LaTeX license; moving-argument-error 44.325 +% The End 44.326 + 44.327 +Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 44.328 +:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
45.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 45.2 +++ b/0__Papers/PStack/HotPar_2012/latex/usetex-v1-anon.cls Sun Mar 11 09:26:44 2012 -0700 45.3 @@ -0,0 +1,363 @@ 45.4 +\NeedsTeXFormat{LaTeX2e} 45.5 +\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class] 45.6 + 45.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 45.8 +% 45.9 +% To use this style file, do this: 45.10 +% 45.11 +% \documentclass{usetex-v1} 45.12 +% 45.13 +% The following definitions are modifications of standard article.cls 45.14 +% definitions, arranged to do a better job of matching the Usenix 45.15 +% guidelines. and make for convenient Usenix paper writing 45.16 +% 45.17 +% Choose the appropriate option: 45.18 +% 45.19 +% 1. workingdraft: 45.20 +% 45.21 +% For initial submission and shepherding. Features prominent 45.22 +% date, notice of draft status, page numbers, and annotation 45.23 +% facilities. 45.24 +% 45.25 +% 2. proof: 45.26 +% 45.27 +% A galley proof identical to the final copy except for page 45.28 +% numbering and proof date on the bottom. Annotations are 45.29 +% removed. 45.30 +% 45.31 +% 3. webversion: 45.32 +% 45.33 +% A web-publishable version, uses \docstatus{} to indicate 45.34 +% publication information (where and when paper was published), 45.35 +% and page numbers. 45.36 +% 45.37 +% 4. finalversion: 45.38 +% 45.39 +% The final camera-ready-copy (CRC) version of the paper. 45.40 +% Published in conference proceedings. This doesn't include 45.41 +% page numbers, annotations, or draft status (Usenix adds 45.42 +% headers, footers, and page numbers onto the CRC). 45.43 +% 45.44 +% If several are used, the last one in this list wins 45.45 +% 45.46 + 45.47 +% 45.48 +% In addition, the option "endnotes" permits the use of the 45.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 45.50 +% documents. In this case, be sure to include a 45.51 +% \makeendnotes command at the end of your document or 45.52 +% the endnotes will not actually appear. 45.53 +% 45.54 + 45.55 +\newif\if@draftcopy \newif\ifworkingdraft 45.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 45.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 45.58 +\newif\ifwebversion 45.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 45.60 +\DeclareOption{finalversion}{} 45.61 +\newif\ifhasendnotes 45.62 +\DeclareOption{endnotes}{\hasendnotestrue} 45.63 + 45.64 +% pass all other options to the article class 45.65 +\DeclareOption*{% 45.66 + \PassOptionsToClass{\CurrentOption}{article}% 45.67 +} 45.68 + 45.69 +% actually process the options 45.70 +\ProcessOptions 45.71 + 45.72 +% usetex is based on article 45.73 +\LoadClass[twocolumn]{article} 45.74 + 45.75 +% Footnotes are not currently allowed, but 45.76 +% endnotes (while a bad idea) are. 45.77 +\ifhasendnotes 45.78 + \RequirePackage{endnotes} 45.79 +\fi 45.80 + 45.81 +% save any provided document status information 45.82 +\def\@docstatus{} 45.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 45.84 + 45.85 +\ifworkingdraft 45.86 + 45.87 + % formatting helper for draft notes 45.88 + \newcommand{\@noteleader[1]}{% 45.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 45.90 + \bfseries\itshape 45.91 + } 45.92 + 45.93 + % put a small anonymous editing note in the draft copy 45.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 45.95 + 45.96 + % put a small attributed editing note in the draft copy 45.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 45.98 + 45.99 + % put an attributed editing note paragraph in the draft copy 45.100 + \newenvironment{ednote}[1] 45.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 45.102 + 45.103 + % mark a spot where work has been left off for later 45.104 + \newcommand{\HERE}{% 45.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 45.106 + 45.107 +\else 45.108 + 45.109 + % dummy versions of editing commands to produce warnings 45.110 + 45.111 + \newcommand{\edannote}[1]{\@latex@warning 45.112 + {Leftover edannote command in final version ignored}} 45.113 + 45.114 + \newcommand{\edatnote}[1]{\@latex@warning 45.115 + {Leftover edatnote command in final version ignored}} 45.116 + 45.117 + \newsavebox{\@discard} 45.118 + \newenvironment{ednote}[1]{\@latex@warning 45.119 + {Leftover ednote environment in final version ignored}% 45.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 45.121 + 45.122 + \newcommand{\HERE}{\@latex@warning 45.123 + {Leftover HERE command in final version ignored}} 45.124 + 45.125 +\fi 45.126 + 45.127 +% set up the footers appropriately 45.128 +\def\@setfoot{% 45.129 + \ifwebversion 45.130 + % webversions get whatever status the author says 45.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 45.132 + \else 45.133 + % all other drafts get the standard draft footer 45.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 45.135 + \fi 45.136 + \gdef\@oddfoot{\@evenfoot}% 45.137 +} 45.138 + 45.139 +% 45.140 +% Usenix wants no page numbers for submitted papers, so that 45.141 +% they can number them themselves. Drafts should have 45.142 +% numbered pages, so they can be edited. 45.143 +% 45.144 +\if@draftcopy 45.145 + % Compute a date and time for the draft for use 45.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 45.147 + % 45.148 + % Time code adapted from custom-bib/makebst.tex 45.149 + % Copyright 1993-1999 Patrick W Daly 45.150 + % Max-Planck-Institut f\"ur Aeronomie 45.151 + % E-mail: daly@linmp.mpg.de 45.152 + \newcount\hour 45.153 + \hour=\time 45.154 + \divide\hour by 60 45.155 + \newcount\minute 45.156 + \minute=\hour 45.157 + \multiply\minute by 60 45.158 + \advance\minute by -\time 45.159 + \multiply\minute by -1 45.160 + \newcommand{\@draftdate} 45.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 45.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 45.163 + \pagestyle{plain} 45.164 + \@setfoot 45.165 +\else 45.166 + \pagestyle{empty} 45.167 +\fi 45.168 + 45.169 +% Times-Roman font is nice if you can get it (requires NFSS, 45.170 +% which is in latex2e). 45.171 +\usepackage{times} 45.172 + 45.173 +% endnote support, as described at 45.174 +% http://www.lyx.org/help/footnotes.php 45.175 +\ifhasendnotes 45.176 + \typeout 45.177 + {Warning: endnotes support is deprecated (see documentation for details)} 45.178 + \let\footnote=\endnote 45.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 45.180 + \parindent=0pt\parskip=\baselineskip 45.181 + \@theenmark. } 45.182 + \newcommand{\makeendnotes}{ 45.183 + \begingroup 45.184 + \def\enotesize{\normalsize} 45.185 + \theendnotes 45.186 + \endgroup 45.187 + } 45.188 +\else 45.189 + \long\gdef\footnote{\@latex@error 45.190 + {Deprecated footnote command (see documentation for details)}} 45.191 + \long\gdef\endnote{\@latex@error 45.192 + {Deprecated endnote command (see documentation for details)}} 45.193 +\fi 45.194 + 45.195 +% 45.196 +% Usenix margins 45.197 +% Gives active areas of 6.45" x 9.0" 45.198 +% 45.199 +\setlength{\textheight}{9.0in} 45.200 +\setlength{\columnsep}{0.25in} 45.201 +\setlength{\textwidth}{6.45in} 45.202 +%\setlength{\footskip}{0.0in} 45.203 +%\setlength{\footheight}{0.0in} 45.204 +\setlength{\topmargin}{0.0in} 45.205 +\setlength{\headheight}{0.0in} 45.206 +\setlength{\headsep}{0.0in} 45.207 +\setlength{\evensidemargin}{0.0in} 45.208 +\setlength{\oddsidemargin}{0.0in} 45.209 +\setlength{\marginparsep}{1.5em} 45.210 +\setlength{\marginparwidth}{0.35in} 45.211 + 45.212 +% The standard maketitle insists on 45.213 +% messing with the style of the first page. 45.214 +% Thus, we will wrap maketitle with code to put 45.215 +% things right again. 45.216 +\let \save@maketitle=\maketitle 45.217 +\def\maketitle{ 45.218 + \save@maketitle 45.219 + \if@draftcopy 45.220 + \@specialpagefalse 45.221 + \else 45.222 + \thispagestyle{empty} 45.223 + \fi 45.224 +} 45.225 + 45.226 +% 45.227 +% Usenix titles are in 14-point bold type, with no date, and with no 45.228 +% change in the empty page headers. The author section is 45.229 +% 12 point roman and italic: see below. 45.230 +% 45.231 +\def\@maketitle{% 45.232 + \newpage 45.233 + \null 45.234 +% \vskip 3ex% 45.235 + \begin{center}% 45.236 +% \let \footnote \thanks 45.237 + {\Large \bf \@title \par}% % use 14 pt bold 45.238 +% \vskip 2ex% 45.239 + {\large 45.240 +% \lineskip .5ex% 45.241 +% \begin{tabular}[t]{c}% 45.242 +% \@author 45.243 +% \end{tabular}\par 45.244 + }% 45.245 + \ifworkingdraft 45.246 + \vskip 0.5ex 45.247 + \textbf{Draft of \@draftdate} 45.248 + \vskip 0.5ex 45.249 + \fi 45.250 + \ifwebversion 45.251 + \vskip 0.5ex 45.252 + \textit{Authors and affiliation elided for review.} 45.253 + \vskip 0.5ex 45.254 + \fi 45.255 + \end{center}% 45.256 + \par 45.257 +% \vskip 2ex 45.258 +} 45.259 + 45.260 +% 45.261 +% The author section 45.262 +% should have names in Roman, address in 45.263 +% italic, e-mail/http in typewriter. 45.264 +% This is enforced by use of these macros 45.265 +% 45.266 +\def\authname#1{{#1}\\} 45.267 +\def\authaddr#1{\itshape{#1}\\} 45.268 +\def\authurl#1{{\normalsize #1}\\} 45.269 + 45.270 +% 45.271 +% The abstract is preceded by a 12-pt bold centered heading 45.272 +% 45.273 +\def\abstract{\begin{center}% 45.274 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 45.275 + \end{center}} 45.276 +\def\endabstract{} 45.277 + 45.278 +% 45.279 +% Main section titles are 12-pt bold. Lower divisions can 45.280 +% be same size or smaller: we choose same. 45.281 +% Main section leading is tight. Subsection leading is even 45.282 +% slightly tighter. All lower divisions are formatted like subsections. 45.283 +% 45.284 +\newcommand\@sectionfont{\reset@font\large\bf} 45.285 +\newlength\@sectionaboveskip 45.286 +\setlength\@sectionaboveskip{-0.7\baselineskip 45.287 + plus -0.1\baselineskip 45.288 + minus -0.1\baselineskip} 45.289 +\newlength\@sectionbelowskip 45.290 +\setlength\@sectionbelowskip{0.3\baselineskip 45.291 + plus 0.1\baselineskip} 45.292 +\newlength\@subsectionaboveskip 45.293 +\setlength\@subsectionaboveskip{-0.5\baselineskip 45.294 + plus -0.1\baselineskip} 45.295 +\renewcommand\section{\@startsection {section}{1}{\z@}% 45.296 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 45.297 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 45.298 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 45.299 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 45.300 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 45.301 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 45.302 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 45.303 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 45.304 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 45.305 + {-1.0em}% 45.306 + {\normalfont\normalsize\bfseries}} 45.307 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 45.308 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 45.309 + {-1.0em}% 45.310 + {\normalfont\normalsize\bfseries}} 45.311 + 45.312 +% List items need to be tightened up. 45.313 +% There must be a better way than copying 45.314 +% the definitions to modify the list environment... 45.315 +\def\@itemspacings{\listparindent=\parindent 45.316 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 45.317 +% now make envs use itemspacings 45.318 +\def\itemize{% 45.319 + \ifnum \@itemdepth >\thr@@\@toodeep\else 45.320 + \advance\@itemdepth\@ne 45.321 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 45.322 + \expandafter 45.323 + \list 45.324 + \csname\@itemitem\endcsname 45.325 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 45.326 + \fi} 45.327 +\def\enumerate{% 45.328 + \ifnum \@enumdepth >\thr@@\@toodeep\else 45.329 + \advance\@enumdepth\@ne 45.330 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 45.331 + \expandafter 45.332 + \list 45.333 + \csname label\@enumctr\endcsname 45.334 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 45.335 + \fi} 45.336 +\def\description{% 45.337 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 45.338 + \@itemspacings\let\makelabel\descriptionlabel}} 45.339 + 45.340 +% Bibliography items need to be tightened up. 45.341 +% Again, there must be a better way than copying 45.342 +% the definitions to modify the list environment... 45.343 +\def\thebibliography#1% 45.344 + {\section*{\refname}% 45.345 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 45.346 + \list{\@biblabel{\@arabic\c@enumiv}}% 45.347 + {\settowidth\labelwidth{\@biblabel{#1}}% 45.348 + \leftmargin\labelwidth 45.349 + \advance\leftmargin\labelsep 45.350 + \@openbib@code 45.351 + \usecounter{enumiv}% 45.352 + \let\p@enumiv\@empty 45.353 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 45.354 + \parsep=0pt}% pack entries 45.355 + \sloppy 45.356 + \hbadness=8000% mostly don't whine about bibliography fmt 45.357 + \clubpenalty=4000% 45.358 + \@clubpenalty=\clubpenalty 45.359 + \widowpenalty=4000% 45.360 + \sfcode`\.\@m} 45.361 + 45.362 +% Floating bodies need to be tightened up. 45.363 +\setlength\textfloatsep{14pt plus 2pt} 45.364 +\setlength\dbltextfloatsep{\textfloatsep} 45.365 +\setlength\intextsep{0.8\textfloatsep} 45.366 +\setlength\abovecaptionskip{8pt minus 2pt}
46.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 46.2 +++ b/0__Papers/PStack/HotPar_2012/latex/usetex-v1.cls Sun Mar 11 09:26:44 2012 -0700 46.3 @@ -0,0 +1,357 @@ 46.4 +\NeedsTeXFormat{LaTeX2e} 46.5 +\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] 46.6 + 46.7 +% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 46.8 +% 46.9 +% To use this style file, do this: 46.10 +% 46.11 +% \documentclass{usetex-v1} 46.12 +% 46.13 +% The following definitions are modifications of standard article.cls 46.14 +% definitions, arranged to do a better job of matching the Usenix 46.15 +% guidelines. and make for convenient Usenix paper writing 46.16 +% 46.17 +% Choose the appropriate option: 46.18 +% 46.19 +% 1. workingdraft: 46.20 +% 46.21 +% For initial submission and shepherding. Features prominent 46.22 +% date, notice of draft status, page numbers, and annotation 46.23 +% facilities. 46.24 +% 46.25 +% 2. proof: 46.26 +% 46.27 +% A galley proof identical to the final copy except for page 46.28 +% numbering and proof date on the bottom. Annotations are 46.29 +% removed. 46.30 +% 46.31 +% 3. webversion: 46.32 +% 46.33 +% A web-publishable version, uses \docstatus{} to indicate 46.34 +% publication information (where and when paper was published), 46.35 +% and page numbers. 46.36 +% 46.37 +% 4. finalversion: 46.38 +% 46.39 +% The final camera-ready-copy (CRC) version of the paper. 46.40 +% Published in conference proceedings. This doesn't include 46.41 +% page numbers, annotations, or draft status (Usenix adds 46.42 +% headers, footers, and page numbers onto the CRC). 46.43 +% 46.44 +% If several are used, the last one in this list wins 46.45 +% 46.46 + 46.47 +% 46.48 +% In addition, the option "endnotes" permits the use of the 46.49 +% otherwise-disabled, Usenix-deprecated footnote{} command in 46.50 +% documents. In this case, be sure to include a 46.51 +% \makeendnotes command at the end of your document or 46.52 +% the endnotes will not actually appear. 46.53 +% 46.54 + 46.55 +\newif\if@draftcopy \newif\ifworkingdraft 46.56 +\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 46.57 +\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 46.58 +\newif\ifwebversion 46.59 +\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 46.60 +\DeclareOption{finalversion}{} 46.61 +\newif\ifhasendnotes 46.62 +\DeclareOption{endnotes}{\hasendnotestrue} 46.63 + 46.64 +% pass all other options to the article class 46.65 +\DeclareOption*{% 46.66 + \PassOptionsToClass{\CurrentOption}{article}% 46.67 +} 46.68 + 46.69 +% actually process the options 46.70 +\ProcessOptions 46.71 + 46.72 +% usetex is based on article 46.73 +\LoadClass[twocolumn]{article} 46.74 + 46.75 +% Footnotes are not currently allowed, but 46.76 +% endnotes (while a bad idea) are. 46.77 +\ifhasendnotes 46.78 + \RequirePackage{endnotes} 46.79 +\fi 46.80 + 46.81 +% save any provided document status information 46.82 +\def\@docstatus{} 46.83 +\def\docstatus#1{\gdef\@docstatus{#1}} 46.84 + 46.85 +\ifworkingdraft 46.86 + 46.87 + % formatting helper for draft notes 46.88 + \newcommand{\@noteleader[1]}{% 46.89 + {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 46.90 + \bfseries\itshape 46.91 + } 46.92 + 46.93 + % put a small anonymous editing note in the draft copy 46.94 + \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 46.95 + 46.96 + % put a small attributed editing note in the draft copy 46.97 + \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 46.98 + 46.99 + % put an attributed editing note paragraph in the draft copy 46.100 + \newenvironment{ednote}[1] 46.101 + {\newcommand{\who}{#1}\@noteleader[\who]} 46.102 + 46.103 + % mark a spot where work has been left off for later 46.104 + \newcommand{\HERE}{% 46.105 + {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 46.106 + 46.107 +\else 46.108 + 46.109 + % dummy versions of editing commands to produce warnings 46.110 + 46.111 + \newcommand{\edannote}[1]{\@latex@warning 46.112 + {Leftover edannote command in final version ignored}} 46.113 + 46.114 + \newcommand{\edatnote}[1]{\@latex@warning 46.115 + {Leftover edatnote command in final version ignored}} 46.116 + 46.117 + \newsavebox{\@discard} 46.118 + \newenvironment{ednote}[1]{\@latex@warning 46.119 + {Leftover ednote environment in final version ignored}% 46.120 + \begin{lrbox}{\@discard}}{\end{lrbox}} 46.121 + 46.122 + \newcommand{\HERE}{\@latex@warning 46.123 + {Leftover HERE command in final version ignored}} 46.124 + 46.125 +\fi 46.126 + 46.127 +% set up the footers appropriately 46.128 +\def\@setfoot{% 46.129 + \ifwebversion 46.130 + % webversions get whatever status the author says 46.131 + \gdef\@evenfoot{\@docstatus \hfil \thepage}% 46.132 + \else 46.133 + % all other drafts get the standard draft footer 46.134 + \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 46.135 + \fi 46.136 + \gdef\@oddfoot{\@evenfoot}% 46.137 +} 46.138 + 46.139 +% 46.140 +% Usenix wants no page numbers for submitted papers, so that 46.141 +% they can number them themselves. Drafts should have 46.142 +% numbered pages, so they can be edited. 46.143 +% 46.144 +\if@draftcopy 46.145 + % Compute a date and time for the draft for use 46.146 + % either in \@setfoot (proof) or in \maketitle (workingdraft) 46.147 + % 46.148 + % Time code adapted from custom-bib/makebst.tex 46.149 + % Copyright 1993-1999 Patrick W Daly 46.150 + % Max-Planck-Institut f\"ur Aeronomie 46.151 + % E-mail: daly@linmp.mpg.de 46.152 + \newcount\hour 46.153 + \hour=\time 46.154 + \divide\hour by 60 46.155 + \newcount\minute 46.156 + \minute=\hour 46.157 + \multiply\minute by 60 46.158 + \advance\minute by -\time 46.159 + \multiply\minute by -1 46.160 + \newcommand{\@draftdate} 46.161 + {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 46.162 + ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 46.163 + \pagestyle{plain} 46.164 + \@setfoot 46.165 +\else 46.166 + \pagestyle{empty} 46.167 +\fi 46.168 + 46.169 +% Times-Roman font is nice if you can get it (requires NFSS, 46.170 +% which is in latex2e). 46.171 +\usepackage{times} 46.172 + 46.173 +% endnote support, as described at 46.174 +% http://www.lyx.org/help/footnotes.php 46.175 +\ifhasendnotes 46.176 + \typeout 46.177 + {Warning: endnotes support is deprecated (see documentation for details)} 46.178 + \let\footnote=\endnote 46.179 + \def\enoteformat{\rightskip\z@ \leftskip\z@ 46.180 + \parindent=0pt\parskip=\baselineskip 46.181 + \@theenmark. } 46.182 + \newcommand{\makeendnotes}{ 46.183 + \begingroup 46.184 + \def\enotesize{\normalsize} 46.185 + \theendnotes 46.186 + \endgroup 46.187 + } 46.188 +\else 46.189 + \long\gdef\footnote{\@latex@error 46.190 + {Deprecated footnote command (see documentation for details)}} 46.191 + \long\gdef\endnote{\@latex@error 46.192 + {Deprecated endnote command (see documentation for details)}} 46.193 +\fi 46.194 + 46.195 +% 46.196 +% Usenix margins 46.197 +% Gives active areas of 6.45" x 9.0" 46.198 +% 46.199 +\setlength{\textheight}{9.0in} 46.200 +\setlength{\columnsep}{0.25in} 46.201 +\setlength{\textwidth}{6.45in} 46.202 +%\setlength{\footskip}{0.0in} 46.203 +%\setlength{\footheight}{0.0in} 46.204 +\setlength{\topmargin}{0.0in} 46.205 +\setlength{\headheight}{0.0in} 46.206 +\setlength{\headsep}{0.0in} 46.207 +\setlength{\evensidemargin}{0.0in} 46.208 +\setlength{\oddsidemargin}{0.0in} 46.209 +\setlength{\marginparsep}{1.5em} 46.210 +\setlength{\marginparwidth}{0.35in} 46.211 + 46.212 +% The standard maketitle insists on 46.213 +% messing with the style of the first page. 46.214 +% Thus, we will wrap maketitle with code to put 46.215 +% things right again. 46.216 +\let \save@maketitle=\maketitle 46.217 +\def\maketitle{ 46.218 + \save@maketitle 46.219 + \if@draftcopy 46.220 + \@specialpagefalse 46.221 + \else 46.222 + \thispagestyle{empty} 46.223 + \fi 46.224 +} 46.225 + 46.226 +% 46.227 +% Usenix titles are in 14-point bold type, with no date, and with no 46.228 +% change in the empty page headers. The author section is 46.229 +% 12 point roman and italic: see below. 46.230 +% 46.231 +\def\@maketitle{% 46.232 + \newpage 46.233 + \null 46.234 + \vskip 3ex% 46.235 + \begin{center}% 46.236 + \let \footnote \thanks 46.237 + {\Large \bf \@title \par}% % use 14 pt bold 46.238 + \vskip 2ex% 46.239 + {\large 46.240 + \lineskip .5ex% 46.241 + \begin{tabular}[t]{c}% 46.242 + \@author 46.243 + \end{tabular}\par}% 46.244 + \ifworkingdraft 46.245 + \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex 46.246 + \fi 46.247 + \ifwebversion 46.248 + \vskip 3ex \textbf{\@docstatus} \vskip 3ex 46.249 + \fi 46.250 + \end{center}% 46.251 + \par 46.252 + \vskip 2ex} 46.253 + 46.254 +% 46.255 +% The author section 46.256 +% should have names in Roman, address in 46.257 +% italic, e-mail/http in typewriter. 46.258 +% This is enforced by use of these macros 46.259 +% 46.260 +\def\authname#1{{#1}\\} 46.261 +\def\authaddr#1{\itshape{#1}\\} 46.262 +\def\authurl#1{{\normalsize #1}\\} 46.263 + 46.264 +% 46.265 +% The abstract is preceded by a 12-pt bold centered heading 46.266 +% 46.267 +\def\abstract{\begin{center}% 46.268 + {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 46.269 + \end{center}} 46.270 +\def\endabstract{} 46.271 + 46.272 +% 46.273 +% Main section titles are 12-pt bold. Lower divisions can 46.274 +% be same size or smaller: we choose same. 46.275 +% Main section leading is tight. Subsection leading is even 46.276 +% slightly tighter. All lower divisions are formatted like subsections. 46.277 +% 46.278 +\newcommand\@sectionfont{\reset@font\large\bf} 46.279 +\newlength\@sectionaboveskip 46.280 +\setlength\@sectionaboveskip{-0.7\baselineskip 46.281 + plus -0.1\baselineskip 46.282 + minus -0.1\baselineskip} 46.283 +\newlength\@sectionbelowskip 46.284 +\setlength\@sectionbelowskip{0.3\baselineskip 46.285 + plus 0.1\baselineskip} 46.286 +\newlength\@subsectionaboveskip 46.287 +\setlength\@subsectionaboveskip{-0.5\baselineskip 46.288 + plus -0.1\baselineskip} 46.289 +\renewcommand\section{\@startsection {section}{1}{\z@}% 46.290 + {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 46.291 +\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 46.292 + {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 46.293 +\renewcommand\subsection{\@gensubsection{subsection}{2}} 46.294 +\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 46.295 +%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 46.296 +%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 46.297 +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 46.298 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 46.299 + {-1.0em}% 46.300 + {\normalfont\normalsize\bfseries}} 46.301 +\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 46.302 + {1.25ex \@plus 0.2ex \@minus 0.2ex}% 46.303 + {-1.0em}% 46.304 + {\normalfont\normalsize\bfseries}} 46.305 + 46.306 +% List items need to be tightened up. 46.307 +% There must be a better way than copying 46.308 +% the definitions to modify the list environment... 46.309 +\def\@itemspacings{\listparindent=\parindent 46.310 + \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 46.311 +% now make envs use itemspacings 46.312 +\def\itemize{% 46.313 + \ifnum \@itemdepth >\thr@@\@toodeep\else 46.314 + \advance\@itemdepth\@ne 46.315 + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 46.316 + \expandafter 46.317 + \list 46.318 + \csname\@itemitem\endcsname 46.319 + {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 46.320 + \fi} 46.321 +\def\enumerate{% 46.322 + \ifnum \@enumdepth >\thr@@\@toodeep\else 46.323 + \advance\@enumdepth\@ne 46.324 + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 46.325 + \expandafter 46.326 + \list 46.327 + \csname label\@enumctr\endcsname 46.328 + {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 46.329 + \fi} 46.330 +\def\description{% 46.331 + \list{}{\labelwidth\z@ \itemindent-\leftmargin 46.332 + \@itemspacings\let\makelabel\descriptionlabel}} 46.333 + 46.334 +% Bibliography items need to be tightened up. 46.335 +% Again, there must be a better way than copying 46.336 +% the definitions to modify the list environment... 46.337 +\def\thebibliography#1% 46.338 + {\section*{\refname}% 46.339 + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 46.340 + \list{\@biblabel{\@arabic\c@enumiv}}% 46.341 + {\settowidth\labelwidth{\@biblabel{#1}}% 46.342 + \leftmargin\labelwidth 46.343 + \advance\leftmargin\labelsep 46.344 + \@openbib@code 46.345 + \usecounter{enumiv}% 46.346 + \let\p@enumiv\@empty 46.347 + \renewcommand\theenumiv{\@arabic\c@enumiv}% 46.348 + \parsep=0pt}% pack entries 46.349 + \sloppy 46.350 + \hbadness=8000% mostly don't whine about bibliography fmt 46.351 + \clubpenalty=4000% 46.352 + \@clubpenalty=\clubpenalty 46.353 + \widowpenalty=4000% 46.354 + \sfcode`\.\@m} 46.355 + 46.356 +% Floating bodies need to be tightened up. 46.357 +\setlength\textfloatsep{14pt plus 2pt} 46.358 +\setlength\dbltextfloatsep{\textfloatsep} 46.359 +\setlength\intextsep{0.8\textfloatsep} 46.360 +\setlength\abovecaptionskip{8pt minus 2pt}
47.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 47.2 +++ b/0__Papers/VMS/ExaScale_Paper/First_shot_after_disc_with_Merten_on_Benchmarks/latex/ExaScale_and_Benchmarks_paper.ddf Sun Mar 11 09:26:44 2012 -0700 47.3 @@ -0,0 +1,2 @@ 47.4 +[Settings] 47.5 +Script=CP437
48.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 48.2 +++ b/0__Papers/VMS/ExaScale_Paper/First_shot_after_disc_with_Merten_on_Benchmarks/latex/ExaScale_and_Benchmarks_paper.tex Sun Mar 11 09:26:44 2012 -0700 48.3 @@ -0,0 +1,305 @@ 48.4 +%&latex 48.5 +%% Derived from: `accept.tex' (from acmconf.dtx), 48.6 + 48.7 +\documentclass[submit]{acmconf} 48.8 + 48.9 +\CopyrightText{\copyright ACM 2000, ....., used with the \texttt{box} option.} 48.10 +\IfFileExists{graphicx.sty}{\usepackage{graphicx}}{} 48.11 +\ConferenceName{1. Conference on Designing a \LaTeX2e Class for 48.12 + Typesetting ACM Papers, Hawaii 2000} 48.13 +\ConferenceShortName{CONF-2000} 48.14 + 48.15 +\def\XX{More text should follow, but keep in mind that a limit of 6 48.16 + pages has been set, including figures and references. More text 48.17 + should follow, but keep in mind that a limit of 6 pages has been 48.18 + set, including figures and references. More text should follow, but 48.19 + keep in mind that a limit of 6 pages has been set, including figures 48.20 + and references. More text should follow, but keep in mind that a 48.21 + limit of 6 pages has been set, including figures and references. 48.22 + \par 48.23 +} 48.24 + 48.25 +\usepackage[english]{babel} 48.26 +\begin{document} 48.27 + 48.28 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 48.29 +\date{31. December 1999} 48.30 +\title{ExaScale Pressure and VMS to the Rescue} 48.31 +\author{\Author{Sean Halle}\\ 48.32 + \Address{TU Berlin}\\ 48.33 + \Email{Sean.Halle@tu-berlin.de}\\ 48.34 + \and 48.35 + \Author{Donald Duck}\\ 48.36 + \Address{Entehausen University}\\ 48.37 + \Email{Donald.Duck@entehausen.org} 48.38 + } 48.39 +\maketitle 48.40 + 48.41 + 48.42 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 48.43 +\begin{abstract} 48.44 + This document demonstrates how to use the \LaTeX2e \verb|acmconf| 48.45 + class by exhibiting itself as an example. You are expected to be 48.46 + familiar with~\cite{Lam94}. The best way to use this file is to use 48.47 + it as a template, i.e., replace the prose in it by your 48.48 + own\footnote{And may use footnotes.}. 48.49 +\end{abstract} 48.50 + 48.51 + 48.52 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 48.53 + 48.54 +\section{Introduction} 48.55 + 48.56 +The size of a work unit (task) is shrinking as we enter the Exa Scale age. This puts pressure on language implementers to provide low overhead synchronization. 48.57 + 48.58 +A work-unit is defined as the work bounded by two successive scheduling decisions. In other words, it is the unit of work that the scheduler makes decisions about. 48.59 + 48.60 +Traditionally, when moving to a new generation of super-computer, the extra computation has been consumed by increasing the size of the input. This is known as "weak" scaling. The parallelism identified in the code does not change, but rather the data that the code is applied to. 48.61 + 48.62 +The important factor in weak scaling is that the size of a work unit remains relatively constant, or even increases in size. 48.63 + 48.64 +For exa-scale computing, this trend is at an end. The reason is the slow-down in main memory growth relative to computation growth. Memory sizes of exa-scale will increase by much less than computation. Hence, the input size cannot be increased in the same proportion. 48.65 + 48.66 +As a consequence, work-unit sizes will shrink in exa-scale. 48.67 + 48.68 +Smaller work-units will only be productive if the overhead of scheduling them remains much smaller than the work. 48.69 + 48.70 +In addition, the power-wall is forcing the largest increase in number of cores between super-computer generations. Exa-scale will have a larger multiplier than previous generation steps. 48.71 + 48.72 +That further decreases the size of work units, while simultaneously increasing the number of synchronization operations within a locale of the machine. (? check this) 48.73 + 48.74 +Parallelism to keep the extra will have to be found by changing the code itself. 48.75 + 48.76 +This makes the time ripe for considering alternative programming approaches that make expressing the extra parallelism simpler, and performant-portable to future generations of super-computer. 48.77 + 48.78 +\section{Tech detail} 48.79 + 48.80 +Levels of VMS -- down at bare core, have multiple on a chip -- tiny overhead of scheduling a work-unit, so tiny work-units possible 48.81 + 48.82 +Surrounding that, have a second level of VMS that goes between sockets 48.83 + 48.84 +and another level between boards 48.85 + 48.86 +and another between cabinets 48.87 + 48.88 +As go up in level, can take more time for VMS overhead -- especially in the plugin. So, upper levels of VMS implement the hardware discovery interface, and perhaps even a resource management dialog interface.. while the lowest is bare-bones -- don't have time for all that.. 48.89 + 48.90 +The network slows as get higher, so have more time in plugin to analyze, collect statistics, and figure out high-quality placement of tasks, and task-sizing. 48.91 + 48.92 +In super-computers, lowest level expanding, while upper levels staying static -- so, total network bandwidth not improving at higher levels. Just, bottom is bulding down, with BW between cores at that low level. 48.93 + 48.94 +Software has to match this trend -- applications written hierarchically, with higher BW at leaves, and BW decreasing as go up in hierarchy. This is same form that all applications are moving towards. 48.95 + 48.96 +\section{Directly Measurable Benefits of VMS} 48.97 + 48.98 +VMS has benefits in two major categories: 48.99 +1) Time to implement a language (especially embedded one) 48.100 +-] implies benefit in time to port lang and therefore apps to new hardware 48.101 +2) Performance of the language 48.102 +Due to two factors: 48.103 +2.1) Overhead of runtime (which is VMS implementation mostly) 48.104 +2.2) Communication-derived performance, due to placement of work-units and sizing choice of work-units 48.105 +-] Due to assigner inside plugin (as opposed to VMS implementation details) 48.106 +-] Due to specialization in toolchain 48.107 + 48.108 +\section{Measurements to Show} 48.109 + 48.110 +Need benchmarks that show-off the shrinking work-unit size, and demonstrate that VMS does well on them 48.111 + 48.112 +Need hierarchical VMS implementation, and show that bench-apps take advantage of the hierarchy 48.113 + 48.114 +Need bench's that have tunable work-unit size, so can show how small can make work-units, as will happen in exa-scale, and still get profitable parallelism. 48.115 + 48.116 +Show that the overhead of VMS becomes critical when amount of parallelism is fixed, and work-unit size is small, so that making work-units bigger loses parallelism and starves the processors. That's case have with exa-scale and with these benchmarks -- draw pic to illustrate the dynamic system, how the tradeoff works.. 48.117 + 48.118 +So, then, show curve on real benchmark as tune the work-unit size, for VMS-based language vs standard implementation of same language.. TBB, OpenMP, StarSs, and so on.. 48.119 + 48.120 +Barnes-Hut has the heirarchical pattern of hardware.. and can tune work-unit size by choosing how many points want inside a single cluster.. 48.121 + 48.122 +Simple way to see exa-scale case: assume mem-size fixed -- means total work fixed -- but more cores -- so work per core decreases --> work-unit size shrinks.. So, overhead per work-unit has to remain small, to prevent overhead from dominating. 48.123 + 48.124 +Illustrate principle with Vthread vs pthread on exe vs size curves.. then show same effect at play in actual benchmarks as tune work-unit size. 48.125 + 48.126 + 48.127 + 48.128 + 48.129 +\section{The Story Begins\ldots} 48.130 +A real article is supposed to have some deep results and good 48.131 +explanations. That, however, is your job and not mine so you should 48.132 +replace this text with something more appropriate\footnote{Another a 48.133 + footnote}.. 48.134 + 48.135 +\section{Some often used \LaTeX\ commands} 48.136 + 48.137 +\subsection{\texttt{emph}, etc.} 48.138 +Text may be set as \emph{emph}.\\ 48.139 +Text may be set as \texttt{texttt}.\\ 48.140 +Text may be set as \underline{unterline}.\\ 48.141 +Text may be set as \textbf{textbf}.\\ 48.142 +Text may be set as \textrm{textrm}.\\ 48.143 +Text may be set as {\tiny tiny}.\\ 48.144 +Text may be set as {\scriptsize scriptsize}.\\ 48.145 +Text may be set as {\footnotesize footnotesize}.\\ 48.146 +Text may be set as {\normalfont normalsize}.\\ 48.147 +Text may be set as {\large large}.\\ 48.148 +Text may be set as {\Large Large}.\\ 48.149 +Text may be set as {\LARGE LARGE}.\\ 48.150 +Text may be set as {\huge huge}.\\ 48.151 +Text may be set as {\Huge Huge}.\\ 48.152 +Text may have$^{\textrm{super}}$ and$_{\textrm{sub}}$scripts. 48.153 + 48.154 +\subsection{\texttt{itemize}} 48.155 +\begin{itemize} 48.156 +\item More text should follow, but keep in mind that a limit of 6 48.157 + pages has been set, including figures and references. More text 48.158 + should follow, but keep in mind that a limit of 6 pages has been 48.159 + set, including figures and references. 48.160 +\item More text should follow, but keep in mind that a limit of 6 48.161 + pages has been set, including figures and references. More text 48.162 + should follow, but keep in mind that a limit of 6 pages has been 48.163 + set, including figures and references. 48.164 +\end{itemize} 48.165 + 48.166 +\subsection{\texttt{enumerate}} 48.167 +\begin{enumerate} 48.168 +\item More text should follow, but keep in mind that a limit of 6 48.169 + pages has been set, including figures and references. More text 48.170 + should follow, but keep in mind that a limit of 6 pages has been 48.171 + set, including figures and references. 48.172 +\item More text should follow, but keep in mind that a limit of 6 48.173 + pages has been set, including figures and references. More text 48.174 + should follow, but keep in mind that a limit of 6 pages has been 48.175 + set, including figures and references. 48.176 +\end{enumerate} 48.177 + 48.178 +\subsection{\texttt{description}} 48.179 +\begin{description} 48.180 +\item[Foo] More text should follow, but keep in mind that a limit of 6 48.181 + pages has been set, including figures and references. More text 48.182 + should follow, but keep in mind that a limit of 6 pages has been 48.183 + set, including figures and references. 48.184 +\item[Bar] More text should follow, but keep in mind that a limit of 6 48.185 + pages has been set, including figures and references. More text 48.186 + should follow, but keep in mind that a limit of 6 pages has been 48.187 + set, including figures and references. 48.188 +\end{description} 48.189 + 48.190 +\subsection{\texttt{center} and \texttt{tabular}} 48.191 +\begin{center} 48.192 +\begin{tabular}{|l|c|r|}\hline 48.193 +left & center & right \\\hline\hline 48.194 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\ 48.195 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\\cline{3-3} 48.196 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\\cline{2-2} 48.197 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\\cline{1-2} 48.198 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\\hline 48.199 +AAAAAAAA & BBBBBBBB & CCCCCCCC \\\hline 48.200 +1 & \multicolumn{2}{|c|}{2} \\\hline 48.201 +\end{tabular} 48.202 +\end{center} 48.203 + 48.204 +\subsection{\texttt{figure} and Postscript pictures} 48.205 +Have a look to to figure~\ref{fig-1} and~\ref{fig-2}. 48.206 + 48.207 +\begin{figure} 48.208 +\hrule 48.209 +Nice Postscript, isn't it? 48.210 +\begin{center} 48.211 +\includegraphics{body.eps} 48.212 +\end{center} 48.213 + 48.214 +Same, a little bit smaller: 48.215 +\begin{center} 48.216 +\IfFileExists{graphicx.sty}{ 48.217 + \includegraphics[scale=.5]{body.eps} 48.218 + }{ 48.219 + Sorry, package \texttt{graphicx} not present. 48.220 +} 48.221 +\end{center} 48.222 +\caption{\label{fig-1}This is a nice floating figure} 48.223 +\hrule 48.224 +\end{figure} 48.225 + 48.226 +\begin{figure*} 48.227 +\hrule 48.228 +This figure uses both columns, using \texttt{figure*} 48.229 +\begin{center} 48.230 +\IfFileExists{graphicx.sty}{ 48.231 + \includegraphics[scale=.5]{body.eps} 48.232 + \hspace{1cm} 48.233 + \includegraphics[scale=.5]{body.eps} 48.234 +}{ 48.235 + Sorry, package \texttt{graphicx} not present. 48.236 +} 48.237 +\end{center} 48.238 +\caption{\label{fig-2}This is a nice floating figure} 48.239 +\hrule 48.240 +\end{figure*} 48.241 + 48.242 +\section{The Story Continues 1} 48.243 + 48.244 +This is a \verb+\section+. 48.245 + 48.246 +\XX\XX 48.247 + 48.248 +\subsection{The Story Continues 2} 48.249 + 48.250 +This is a \verb+\subsection+. 48.251 + 48.252 +\XX\XX 48.253 + 48.254 +\subsubsection{The Story Continues 3} 48.255 + 48.256 +This is a \verb+\subsubsection+. 48.257 + 48.258 +\XX\XX 48.259 + 48.260 +\subsubsubsection{The Story Continues 4} 48.261 + 48.262 +This is a \verb+\subsubsubsection+. 48.263 + 48.264 +\XX\XX 48.265 + 48.266 +\subsubsubsubsection{The Story Continues 5} 48.267 + 48.268 +This is a \verb+\subsubsubsubsection+. 48.269 + 48.270 +\XX\XX 48.271 + 48.272 +\paragraph{The Story Continues 6} 48.273 + 48.274 +This is a \verb+\paragraph+. 48.275 +\XX\XX 48.276 + 48.277 +\subparagraph{The Story Continues 7} 48.278 +This is a \verb+\subparagraph+. 48.279 +\XX\XX\XX 48.280 + 48.281 +\section{Conclusion} 48.282 +The end, at last! In this example there really are no results or 48.283 +points to summarize but I trust your article has more food for though 48.284 +and thus will need a conclusion. 48.285 + 48.286 +\appendix 48.287 +\section{Appendices} 48.288 +If you have any, appendices might go here. Note that appendices 48.289 +should not be used to circumvent the word count limit. 48.290 + 48.291 +This is "doing it by hand" --- you might be better off using BibTeX. 48.292 + 48.293 +%+Bibliography 48.294 +\begin{thebibliography}{X} 48.295 +\bibitem[1]{Lam94} Leslie Lamport: {\em \LaTeX, A Document 48.296 + Preparation System,} Addison Wesley~1994. 48.297 +\end{thebibliography} 48.298 +%-Bibliography 48.299 + 48.300 +\IfPrepare{ 48.301 + \tableofcontents 48.302 + \listoffigures 48.303 + \listoftables 48.304 +}{} 48.305 + 48.306 +\end{document} 48.307 + 48.308 +
49.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 49.2 +++ b/0__Papers/VMS/Languages/SSR/Jan_2011__SSR_parallelism_constructs.tm Sun Mar 11 09:26:44 2012 -0700 49.3 @@ -0,0 +1,818 @@ 49.4 +<TeXmacs|1.0.7.3> 49.5 + 49.6 +<style|article> 49.7 + 49.8 +<\body> 49.9 + <doc-data|<doc-title|SSR: \ An Easy to Use Parallelism 49.10 + Library>|<doc-author-data|<author-name|Sean Halle 49.11 + >|<author-email|sean.halle@inria.fr>>|<doc-author-data|<author-name|Albert 49.12 + Cohen>|<author-email|albert.cohen@inria.fr>>|> 49.13 + 49.14 + <\abstract> 49.15 + Locks and condition variables are difficult to use, and many alternatives 49.16 + have been proposed. \ This paper presents an additional alternative 49.17 + motivated by the synchronous send-receive pattern in process-calculi, and 49.18 + implemented with the new VMS extendable virtualization mechanism. It 49.19 + includes parallel singletons which are useful when dividing up work among 49.20 + cores, as well as atomic function execution and a restricted form of 49.21 + nested transactions. \ More importantly, it includes facilities to query 49.22 + the nature of the hardware, which allows work to be divided according to 49.23 + the hardware characteristics. 49.24 + 49.25 + We give examples of the use of the constructs, details of their 49.26 + implementation, and performance numbers. 49.27 + </abstract> 49.28 + 49.29 + <section|> 49.30 + 49.31 + \; 49.32 + 49.33 + <section|Background on VMS> 49.34 + 49.35 + \; 49.36 + 49.37 + <section|SSR Parallelism Constructs> 49.38 + 49.39 + <paragraph|Usage Examples:> 49.40 + 49.41 + \; 49.42 + 49.43 + \; 49.44 + 49.45 + \; 49.46 + 49.47 + <\with|par-columns|1> 49.48 + <\with|par-columns|2> 49.49 + <section|Overview and Motivation> 49.50 + 49.51 + Evidence is mounting that one-stop solutions to performance portability 49.52 + fail to address critical real-world patterns -- for example, attempting 49.53 + to place the full specialization into the toolchain 49.54 + <inactive|<cite|BLIS Hotpar>> requires a central entity that updates 49.55 + all toolchains when new hardware becomes available. \ It also requires 49.56 + automated re-compile for the new target and automated distribution of 49.57 + multiple binaries. Otherwise, the software developers would have no way 49.58 + to get their source code to run on new hardware -- their source has to 49.59 + be recompiled and the resulting binary distributed. To do this for 49.60 + thousands of different software development entities requires 49.61 + centralization. But such a centralized approach has technical and 49.62 + practical obstacles. 49.63 + 49.64 + Pure runtime based approaches <inactive|<cite|DKU java techreport>> 49.65 + imply a single binary, with the only change being the runtime system. 49.66 + Without help from the toolchain to extract relevant information and 49.67 + prepare it for the runtime, the amount of specialization and its 49.68 + effectiveness is limited. \ In addition, the runtime has to be 49.69 + separately implemented for every hardware platform, and for every 49.70 + language, without much reuse. \ 49.71 + 49.72 + Finally, hardware abstraction based approaches, such as JIT 49.73 + solutions<inactive|<cite|Sejits>>, place all the work of specializing 49.74 + into a single place, which makes reuse difficult, forcing extensive 49.75 + rewrite of JIT internals for each hardware platform, for each language. 49.76 + This software cost is an issue in the embedded space where new hardware 49.77 + is introduced often and has a limited market size to amortize the 49.78 + software cost. \ In addition, this one-stop approach requires a 49.79 + different JIT for each language, because it has to recognize 49.80 + language-specific features to specialize -- or else it fails to achieve 49.81 + good performance. This requires extensive work, making domain-specific 49.82 + languages time-consuming and difficult to develop, and the multiple 49.83 + JITs logistically awkward. 49.84 + 49.85 + What's needed is a system that leaves hardware free, language designers 49.86 + free, and software developers free, imposing minimal restrictions on 49.87 + them, while maximizing reuse of individual efforts and simplifying the 49.88 + logistics. It would be merely a support system that makes the work of 49.89 + each of those individual groups easier, and makes their independently 49.90 + provided pieces naturally support each other. 49.91 + 49.92 + We take the position in this paper that such a support system has to 49.93 + operate at all three levels: the language design plus toolchain level; 49.94 + the runtime system level; and the hardware abstraction level. \ Sequoia 49.95 + <inactive|<cite|>> does this in a limited way. \ We propose a more 49.96 + general approach that supports languages without restricting them, has 49.97 + more freedom to specialize the runtime, \ and reduces the effort to add 49.98 + new target hardware. It takes advantage of VMS (Virtualized 49.99 + Master-Slave) [<inactive|<cite|>>], which naturally provides pieces for 49.100 + each level, and acts as an organizing principle. 49.101 + 49.102 + Section 2 gives a high-level reveiw of VMS, and Section 3 reviews 49.103 + performance portability fundamentals. Section 4 then illustrates how 49.104 + VMS can be used to organize an eco-system in which performance 49.105 + portability is a reality. Section 5 gives supporing evidence of VMS's 49.106 + suitability, with measurements of the time to implement three embedded 49.107 + parallel languages, performance numbers for them, and measurements of 49.108 + the basic overhead of VMS. 49.109 + 49.110 + <section|VMS> 49.111 + 49.112 + On nomenclature, in this paper we define <em|task> as a 3-tuple -- 1) 49.113 + an animation event, 2) a collection of code animated, and 3) a 49.114 + collection of information instances that code is animated upon. 49.115 + However, we often refer to just the code plus data as a task, with the 49.116 + implication that animation will take place in the future. \ This allows 49.117 + us to say things like ``we create a task'', meaning we create a 49.118 + combination of code plus data with the intent to animate it, and ``we 49.119 + assign a task to'' which means we move the code plus data -- but at 49.120 + some future time the combination shall be animated, exactly once. 49.121 + 49.122 + <subsection|Overview of VMS \ >Virtualized Master Slave (VMS) is an 49.123 + execution model that replaces Threads. \ In effect, it opens up the 49.124 + thread-scheduler, letting the language supply its own scheduler that is 49.125 + plugged-in. Along with the scheduler, the plugin also contains a 49.126 + definition of concurrency constructs, such as publish-subscribe 49.127 + channel, or send-receive, or spwan-sync -- the scheduler plus 49.128 + concurrency constructs together complete the runtime for a parallel 49.129 + language. 49.130 + 49.131 + The plugin is supplied separately from the application, as a dynamic 49.132 + library or a device driver, which makes the runtime separately loaded 49.133 + onto the hardware, turningit into a new component in the software 49.134 + stack.\ 49.135 + 49.136 + The behavior of the languages's concurrency constructs is implemented 49.137 + in the plugin using sequential algorithms, reducing implementation time 49.138 + for the concurrency semantics to a matter of days. \ The plugin also 49.139 + contains the scheduler, which gives the language control over assigning 49.140 + virtual processors to physical cores. On multi-core shared-memory 49.141 + machines, the run-time overhead is low, on the order of a few hundred 49.142 + nano-seconds per concurrency operation. The VMS model can be 49.143 + implemented as a user-space library, or existing OS kernels can be 49.144 + converted to the VMS model by opening up their scheduler, and exposing 49.145 + the VMS plugin interface. 49.146 + 49.147 + What distinguishes VMS is that it doesn't impose its own concurrency 49.148 + semantics, but rather takes them as plugins. \ Hence VMS isn't a 49.149 + language, but rather <em|supports> the creation of language runtimes. 49.150 + Any language level execution model is implementable as a layer on top 49.151 + of VMS, including: Actors <cite|Hewitt10><cite|Actors97>; Components 49.152 + <cite|ComponentModel00>; process calculi like CSP <cite|hoare78>, and 49.153 + Pi-calculus <cite|milner99>; and coordination languages like Linda 49.154 + <cite|Gelernter85Linda>. \ Likewise implementable with VMS are systems 49.155 + like TBB and OpenMP, as well as hybrid languages like Sequioa, and 49.156 + legacy languages that rely on Threads such as Java, and C/C++ with 49.157 + pthreads. 49.158 + 49.159 + <section|Specialization> 49.160 + 49.161 + Portable performance is achieved by specializing the source code to the 49.162 + hardware. \ For traditonal sequential source on sequential processors, 49.163 + the specialization was the translation to machine code and optimization 49.164 + that took place in the compiler. 49.165 + 49.166 + This one-step specialization was sufficient because most of the 49.167 + performance portability was provided by using micro-architecture 49.168 + hardware techniques underneath a standard instruction-set abstraction. 49.169 + This has worked because, before recently, process technology has made 49.170 + every generation of sequential processor faster, and parallelism could 49.171 + be found at the granularity of single instructions. Also, CPU producers 49.172 + have kept their instruction sets relatively fixed. 49.173 + 49.174 + Unfortunately, for larger-granularities of parallelism, such a 49.175 + hardware-based approach to performance portability has proven 49.176 + infeasible so far. \ We conjecture that the reason is, that larger 49.177 + granularity parallelism is tied to the language constructs and to 49.178 + application constructs (whereas instruction-level parallelism is tied 49.179 + only to the machine-instruction-set constructs). Hence, information 49.180 + about the language patterns and application patterns must be available 49.181 + in order to exploit these larger granularities. \ The hardware cannot 49.182 + make use of the larger granularities because the instruction set 49.183 + abstraction provides no means to convey the necessary language and 49.184 + application patterns. 49.185 + 49.186 + Following this intuition, we propose that to be effective, a system for 49.187 + performance portability for parallel software should have a means of 49.188 + identifying language and application constructs and packaging this 49.189 + information in a standard format. \ Also, a hardware abstraction should 49.190 + be provided that accepts such information and uses it to make 49.191 + high-quality decisions about task creation, task sizing, and task 49.192 + placement. 49.193 + 49.194 + <subsection|Three-step specialization> 49.195 + 49.196 + VMS fits this proposal by allowing the language toolchain to extract 49.197 + the application's task patterns and language patterns, and package them 49.198 + in a standard format that any plugin for that language understands. As 49.199 + mentioned in the review, the plugin plus VMS implementation represent 49.200 + the parallel aspects of the hardware, so each language's plugin defines 49.201 + the format of the task info to be handed to the hardware abstraction. 49.202 + \ The first step of specializing is thus the extraction of the task 49.203 + info by the toolchain. 49.204 + 49.205 + <\with|par-first|0fn> 49.206 + <small-figure|<postscript|figures/3_stage_specialization.eps||*6/7||||>|The 49.207 + three places that specialization occurs. In the top box, the 49.208 + toolchain extracts task information useful to the scheduler and 49.209 + packages it into the binary, specializing the source to the plugin's 49.210 + interface. \ In the middle, the scheduler in the plugin retrives the 49.211 + info and uses it to make scheduling decisions, specializing the 49.212 + binary to the hardware abstraction. At the bottom, the VMS-core 49.213 + implementation hides hardware details behind the interface, 49.214 + specializing the hardware to the hardware abstraction.> 49.215 + </with> 49.216 + 49.217 + The second step of specialization is the plugin, which uses the task 49.218 + info to make high quality decisions about size and placement of tasks, 49.219 + as represented in the middle of figure 2. \ The last step of 49.220 + specialization is implementing the VMS abstraction on the particular 49.221 + hardware. \ This combination of plugin plus VMS has the same function 49.222 + that the instruction set had back in the sequential days -- it provides 49.223 + a standard hardware abstraction. \ VMS has the advantage that the 49.224 + abstraction is modifiable by choosing the plugin. 49.225 + 49.226 + <\with|par-first|0fn> 49.227 + <\small-figure|<postscript|figures/Toolchain.eps||||||>> 49.228 + \; 49.229 + 49.230 + The toolchain is split, the top portion is related to parallelism 49.231 + and the bottom portion does sequential compilation of C code. In 49.232 + the top box, source code is transformed into C code that has calls 49.233 + inserted. They invoke the plugin, during the run, to perform 49.234 + concurrency operations, such as synchronizations, sends, receives, 49.235 + publish, and so on. The top box also extracts parallelism 49.236 + information from the source, and encodes it as implementations of 49.237 + library calls. These are later invoked by the plugin to retrieve 49.238 + the information. \ In this way, the generated parallelism 49.239 + information passes through any standard sequential C compiler, 49.240 + which is the only hardware-specific portion. 49.241 + </small-figure> 49.242 + </with> 49.243 + 49.244 + Focusing on the toolchain, we propose breaking it into two sections: 49.245 + one for parallelism, the other for sequential. \ The parallelism 49.246 + portion extracts the task and language information needed to make high 49.247 + quality scheduling decisions. \ The sequential specializes individual 49.248 + functions to the sequential cores. \ The parallelism portion remains 49.249 + constant across hardware, only the sequential portion changes when the 49.250 + instruction-set of the target hardware changes. 49.251 + 49.252 + One possible way to achieve this is to make the parallel portion 49.253 + transform the original source to C code with embedded calls to the 49.254 + concurrency library functions. \ During this source-to-C-plus-lib-call 49.255 + transform, the information is packaged into functions in some way. 49.256 + \ The resulting C-plus-lib-calls source is then compiled with the 49.257 + sequential C compiler to make a binary, as depicted in Figure X. 49.258 + 49.259 + Meanwhile, the plugins for that language know the names of the library 49.260 + functions the task information has been packaged into. \ Hence, when 49.261 + the binary is linked to a plugin at load time, the task-info functions 49.262 + within the binary become available to the plugin. \ They are then 49.263 + called by the plugin during the run to extract the information, to make 49.264 + high quality scheduling decisions. 49.265 + 49.266 + This scheme allows unmodified sequential compilers to be used to pass 49.267 + the information along, inside of a standard binary format. \ It also 49.268 + separates the parallel and sequential portions of the tool chain 49.269 + cleanly, so only the relatively simple sequential C compiler changes 49.270 + with hardware. \ This scheme also leaves the language designers in 49.271 + charge of deciding the nature and definition of the information 49.272 + carrying functions. 49.273 + 49.274 + These properties enable reuse of the same parallel portion of the 49.275 + toolchain across chips, which is especially valuable in the embedded 49.276 + market. \ With the inclusion of real-time aspects, such as latency 49.277 + bounds and deadlines, this could dramatically speed up time to market 49.278 + and reduce cost of introduction of new embedded chips. 49.279 + 49.280 + This begs the question: what kind of task information is sufficient for 49.281 + parallel performance portability across the array of forseeable 49.282 + parallel architectures? We propose three kinds of information: 1) 49.283 + manipulators, which are able to modify the size of tasks and change the 49.284 + way data is accessed, 2) information about the tasks such as type of 49.285 + core they run best on, size of data footprint, predicted execution 49.286 + time, and 3) real-world constraints that relate to the tasks, such as 49.287 + deadlines, maximum latency for data to pass from one point in the 49.288 + computation to another, and quality related information. \ Again, it is 49.289 + up to the language and plugin to agree on what data is extracted, 49.290 + passed, and then used for scheduling. \ Meanwhile, it is up to VMS to 49.291 + provide the services and information required by the scheduler to make 49.292 + use of the information. 49.293 + 49.294 + As research progresses, additional types of information may become 49.295 + necessary, so this flexibility from the plugin system will prove key. 49.296 + \ Again, the plugin plus VMS implementation are the hardware 49.297 + abstraction -- the parallel equivalent of what the instruction set used 49.298 + to be for sequential processors. \ The two define the behavior that the 49.299 + binary expects to be present. 49.300 + 49.301 + This, finally, begs the question: what kind of information and services 49.302 + must VMS provide to the plugin? It must expose the features of the 49.303 + hardware that matter the most to performance (computation, energy, and 49.304 + real-world related performance). We suggest that the memory hierarchy 49.305 + and communication between the memory pools are the most important 49.306 + features for parallel performance. \ However, the VMS interface should 49.307 + only expose the portions of memory affectable by a runtime scheduler 49.308 + (the register set usage of a sequential processor is fixed by the 49.309 + binary and so not exposed). 49.310 + 49.311 + We suggest that most parallel architectures fall into a small number of 49.312 + classes, each of which exposes sufficient structure without exposing 49.313 + chip-specific details. What's important is the type(s) of cores, the 49.314 + pools of memory, and the nature of communication between them. On 49.315 + communication, the scheduler can treat the network statistically with 49.316 + relatively simple models, independently from the topology, without 49.317 + undue loss of performance <inactive|<cite|>>. So the main feature is 49.318 + coherent memory vs distributed, which determines whether communication 49.319 + can take place by shared variables in the code vs whether it needs 49.320 + explicit action. 49.321 + 49.322 + Given this, our proposed list includes: 1) multi-core and many-core 49.323 + that share a single coherent memory 2) one or more SIMD units that 49.324 + share a single coherent memory 3) collections of those connected by 49.325 + shared memory 4) distributed collections of those. Each memory pool, 49.326 + such as a cache or scratchpad, is exposed, with the communication costs 49.327 + from each pool to each other pool, and whether communication between 49.328 + them is automated or explicit. Applying this to known architectures: 49.329 + single-socket multi-core systems fall into 1, while adding a GPGPU puts 49.330 + them also into 2 and 4. \ The Cell BE is in 1 and 4, as is the SCC. 49.331 + \ Larrabee would have been in 1, 2, and 3 but may have been more 49.332 + effectively treated as 1, 2, and 4. \ Traditional supercomputers made 49.333 + up of shared-memory nodes connected by networks fall into 1 and 4. 49.334 + 49.335 + <\with|par-columns|1> 49.336 + <\big-figure> 49.337 + <postscript|figures/eco-system.eps|*7/8|*7/8||||> 49.338 + </big-figure|Eco-system is composed of toolchains, plugins, and HW 49.339 + abstractions. \ Each element, such as a particular plugin or 49.340 + sequential C compiler, is supplied by a different physical-world 49.341 + entity, such as a company or a research group. \ Elements related to 49.342 + a particular language are all shown in the same color, while elements 49.343 + related to the same hardware class are also shown in the same color. 49.344 + \ The plugins combine a language color with a hardware class color 49.345 + because they depend on both. \ As can be seen by the coloring, the 49.346 + toolchain for a language is independent of HW except for the 49.347 + sequential C compilers.> 49.348 + </with> 49.349 + 49.350 + <section|Eco-System> 49.351 + 49.352 + Figure 4 depicts how the pieces all fit together. At the top, 49.353 + independent software developers write applications, in a variety of 49.354 + languages. Each language defines its own format for conveying 49.355 + task-related info. Independently, plugins are implemented that accept 49.356 + that format, one plugin for each hardware class. This allows hardware 49.357 + manufacturers to supply their own plugins, for unusual hardware 49.358 + designs, and still take advantage of the existing application binaries 49.359 + (non-standard instruction sets also need an install-time translator). 49.360 + 49.361 + The plugins, in the middle, act as a cross-bar switch, connecting the 49.362 + binaries to the hardware abstractions. They are separately distributed 49.363 + and loaded onto the hardware, much the way device drivers are 49.364 + currently. 49.365 + 49.366 + At the bottom, the hardware abstraction implementations standardize the 49.367 + hardware. They are mainly supplied by the hardware manufacturers, but 49.368 + open-source implementations will likely also arise. 49.369 + 49.370 + Note that the only software developed for a new HW platform is the 49.371 + VMS-core abstraction, sequential C compiler, and a bare-bones OS. 49.372 + Existing applications are adpated via the plugin and abstraction. 49.373 + 49.374 + We expect that a small number of HW classes will quickly come to 49.375 + dominate, which will encourage later HW development to fit within the 49.376 + dominant classes. As a result, a standard set of sequential C compilers 49.377 + will emerge, allowing software developers to perform a single 49.378 + compilation pass. For fine tuning of <em|sequential> compilation 49.379 + choices, we expect install-time binary rewriters or run-time binary 49.380 + optimizations. 49.381 + 49.382 + The end-result is that no centralized control is needed. Language 49.383 + designers are free to innovate, inventing new concurrency constructs 49.384 + and communication abstractions, and need as little as just the set of 49.385 + plugins, or just the source-to-C translator to reach all the standard 49.386 + hardware platforms. Likewise, hardware manufacturers are free to 49.387 + innovate, needing minimal software development for a new chip to enjoy 49.388 + access to all the applications.\ 49.389 + 49.390 + The set of plugins is the key to this portability, and the funnelling 49.391 + of many applications to the same parallelism information at the top, 49.392 + and many hardware platforms to the same abstraction at the bottom. 49.393 + </with> 49.394 + </with> 49.395 + 49.396 + <\with|par-columns|2> 49.397 + <section|> 49.398 + 49.399 + <\with|par-columns|2> 49.400 + <subsection|Internal Workings of VMS> 49.401 + 49.402 + As far as a binary is concerned, the parallel behavior of the hardware 49.403 + is represented by the combination of VMS plus the plugin, while the 49.404 + \ sequential behavior of the hardware's processing-elements is 49.405 + represented by the Instruction Set of each core. 49.406 + 49.407 + The VMS implementation is made up of a master virtual-processor that 49.408 + receives and calls the plugin functions, and a ``core-controller'' that 49.409 + handles transferring the physical-core between animating the master 49.410 + virtual processor and animating the application's virtual processors, 49.411 + but according to the decisions the plugin functions make, when called 49.412 + by the master VP. As part of invoking a concurrency construct, an 49.413 + application VP attaches to itself a request destined for the master VP, 49.414 + then suspends. We next review how this request reaches the plugin's 49.415 + concurrency-construct implementation, called the requestion handler, by 49.416 + walking through the steps VMS takes during operation. 49.417 + 49.418 + <\with|par-first|0fn> 49.419 + <\with|par-left|0cm> 49.420 + <postscript|figures/VMS-core__internal_workings.eps|*15/16|||||> 49.421 + </with> 49.422 + </with> 49.423 + 49.424 + <small-figure||<label|figInternals>Internal elements of VMS 49.425 + implementation > 49.426 + 49.427 + <paragraph|Steps of Operation:>The steps of operation are numbered in 49.428 + Figure <reference|figInternals>. \ Taking them in order, 1) 49.429 + <verbatim|master_loop> scans the scheduling slots to see which ones' 49.430 + slaves have suspended since the previous scan. \ 2) It hands these to 49.431 + the request handler plugged-in. \ \ 3) The data in the request causes 49.432 + manipulation of the data structures within the semantic state. \ These 49.433 + structures hold all the slaves currently in the blocked state. \ 4) 49.434 + Requests cause slaves to be moved to the ready-container, which was 49.435 + implemented as an array of simple queues, one to each physical core. 49.436 + Which core receives the slave is under plugin control, determined by a 49.437 + combination of request contents, semantic state and physical state. 5) 49.438 + During the scan, the <verbatim|master_loop> also looks for empty slots. 49.439 + It calls the scheduler plug-in function, which chooses a slave from the 49.440 + ready container. \ 6) The <verbatim|master_loop> then places the slave 49.441 + VP's pointer into the scheduling slot, making it available to the 49.442 + <verbatim|core_loop>. \ 7) When done with the scan, <verbatim|masterVP> 49.443 + suspends, switching animation back to the <verbatim|core_loop>. \ 8) 49.444 + <verbatim|core_loop> takes slave VPs out of the slots, then 9) switches 49.445 + animation to them. \ 10) When a slave self-suspends, animation returns 49.446 + to the <verbatim|core_loop>, which picks another, until 11) all slots 49.447 + are empty and the <verbatim|core_loop> switches animation to the 49.448 + <verbatim|masterVP>. 49.449 + 49.450 + <paragraph|Enabling sequential implementation of concurrency 49.451 + semantics:>All of that happens on each core separately, but in this 49.452 + particular implementation we use a central <verbatim|masterLock> to 49.453 + ensure that only one core's <verbatim|masterVP> can be active at any 49.454 + time. \ This guarantees non-overlap of trace-segments from different 49.455 + <verbatim|masterVP>s, allowing the plugins to use sequential 49.456 + algorithms, without a performance penalty, as verified in Section 5. 49.457 + </with> 49.458 + 49.459 + <section|<label|secResults>Performance> 49.460 + 49.461 + <paragraph|Setup:>We implemented blocked dense matrix multiply and ran on 49.462 + a Core2Quad 2.4Ghz chip. 49.463 + 49.464 + <paragraph|Implementation-Time:>Time to implement the runtime for the 49.465 + three parallel languages averages 2 days. \ As an example of 49.466 + productivity, adding nested transactions, parallel singleton, and atomic 49.467 + function-execution to SSR required a single afternoon, totaling less than 49.468 + 100 lines of C code. Table <reference|tabPersonDaysLang> summarizes 49.469 + implementation times. 49.470 + 49.471 + <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|>|<cell|SSR>|<cell|VPThread>|<cell|VCilk>>|<row|<cell|Design>|<cell|4>|<cell|1>|<cell|0.5>>|<row|<cell|Code>|<cell|2>|<cell|0.5>|<cell|0.5>>|<row|<cell|Test>|<cell|1>|<cell|0.5>|<cell|0.5>>|<row|<cell|L.O.C.>|<cell|470>|<cell|290>|<cell|310>>>>>|<label|tabPersonDaysLang>Person-days 49.472 + to design, code, and test the library plus plug-in of each language, in 49.473 + the order attempted. L.O.C. is lines of (original) code, excluding 49.474 + libraries and comments.>>>>>> 49.475 + 49.476 + <paragraph|Execution Performance:> \ seen in Table 49.477 + <reference|tabOverheadCycles>. 49.478 + 49.479 + The code has not been designed for speed, but rather to be easy to 49.480 + understand and modify. In particular, the schedulers are simple queues 49.481 + with no optimization for performance. 49.482 + 49.483 + <\with|par-mode|left> 49.484 + <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|3|18|4|5|cell-halign|r>|<cwith|1|1|4|5|cell-halign|r>|<cwith|10|10|1|4|cell-tborder|.05fn>|<cwith|13|13|1|4|cell-tborder|.05fn>|<cwith|16|16|1|4|cell-tborder|.05fn>|<cwith|18|18|1|4|cell-bborder|.05fn>|<cwith|7|7|4|4|cell-halign|r>|<cwith|1|18|3|3|cell-halign|r>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|>|<cell|>|<cell|comp>|<cell|comp>>|<row|<cell|VMS 49.485 + Only:>|<cell|>|<cell|only>|<cell|+mem>>|<row|<cell|<verbatim|master_loop>>|<cell|>|<cell|91>|<cell| 49.486 + \ 110>>|<row|<cell|switch VPs>|<cell|>|<cell|77>|<cell| 49.487 + \ 130>>|<row|<cell|>|<cell|>|<cell|>|<cell|>>|<row|<cell|(malloc)>|<cell|>|<cell|160>|<cell|2300>>|<row|<cell|(create 49.488 + VP)>|<cell|>|<cell|540>|<cell|3800>>|<row|<cell|>|<cell|>|<cell|>|<cell|>>|<row|<cell|Language:>|<cell|>|<cell|>|<cell|>>|<row|<cell|SSR>|<cell|plugin 49.489 + -- concur>|<cell|190>|<cell|540>>|<row|<cell|>|<cell|plugin -- 49.490 + all>|<cell|530>|<cell|2200>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 49.491 + 250>>|<row|<cell|VPThread>|<cell|plugin -- 49.492 + concur>|<cell|66>|<cell|710>>|<row|<cell|>|<cell|plugin -- 49.493 + all>|<cell|180>|<cell|1500>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 49.494 + 250>>|<row|<cell|VCilk>|<cell|plugin -- 49.495 + concur>|<cell|65>|<cell|260>>|<row|<cell|>|<cell|plugin -- 49.496 + all>|<cell|330>|<cell|1800>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 49.497 + 250>>>>>|<label|tabOverheadCycles>Cycles of overhead, per scheduled 49.498 + slave, consisting of: A) VMS-only cycles spent in VMS portion of 49.499 + <verbatim|master_loop>, B) time in the <verbatim|core_loop> to switch 49.500 + between VPs, C) Language-specific cycles spent in the plugin's Request 49.501 + Handler and Scheduler, and D) obtaining the Master lock. \ ``comp 49.502 + only'' column is cycles with perfect memory, ``comp + mem'' is actual 49.503 + cycles. ``Plugin-concur'' is only concurrency related requests, 49.504 + ``plugin-all'' includes create and malloc requests. Numbers are to two 49.505 + significant digits due to variability. \ Language overhead was measured 49.506 + while running Matrix Multiply.>>>>>> 49.507 + </with> 49.508 + 49.509 + <paragraph|Head to Head: VCilk vs Cilk 5.4 \ plus \ VPThread vs 49.510 + pthread:>We compare our implementation of the <verbatim|spawn> and 49.511 + <verbatim|sync> constructs against the distributed version of Cilk, in 49.512 + Table <reference|tabHeadToHeadVCilk>, which shows that the same 49.513 + application code has similar performance. 49.514 + 49.515 + <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|8|8|1|4|cell-tborder|.05fn>|<cwith|4|4|1|4|cell-tborder|.05fn>|<cwith|2|2|1|4|cell-tborder|.05fn>|<cwith|2|9|2|2|cell-lborder|.05fn>|<cwith|7|7|2|2|cell-lborder|.05fn>|<cwith|6|6|2|3|cell-tborder|.05fn>|<cwith|6|6|2|2|cell-lborder|.05fn>|<cwith|6|6|4|4|cell-tborder|.05fn>|<cwith|6|6|1|1|cell-tborder|.05fn>|<cwith|9|9|1|3|cell-bborder|.05fn>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|Matrix 49.516 + size>|<cell|>|<cell|>>|<row|<cell|81x81>|<cell|Cilk>|<cell|.017>>|<row|<cell|>|<cell|VCilk>|<cell|.008>>|<row|<cell|324x324>|<cell|Cilk>|<cell|.13>>|<row|<cell|>|<cell|VCilk>|<cell|.13>>|<row|<cell|648x648>|<cell|Cilk>|<cell|.71>>|<row|<cell|>|<cell|VCilk>|<cell|.85>>|<row|<cell|1296x1296>|<cell|Cilk>|<cell|4.8>>|<row|<cell|>|<cell|VCilk>|<cell|6.2>>>>>|<label|tabHeadToHeadVCilk>Head-to-head 49.517 + comparison of exe time in seconds for VCilk vs Cilk 5.4 on MM. \ VCilk 49.518 + does 23% worse on large matrices that run for several seconds, but 210% 49.519 + better on small matrices requiring milliseconds.>>>>>> 49.520 + 49.521 + \; 49.522 + 49.523 + Versus pthreads, our VMS based implementation has more than an order of 49.524 + magnitude better overhead per invocation of mutex or condition variable 49.525 + functionality, as seen in Table <reference|tabVPThreadSync>. 49.526 + 49.527 + <\with|par-mode|left> 49.528 + <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|4|7|2|5|cell-halign|r>|<cwith|6|6|4|5|cell-halign|r>|<cwith|1|1|2|2|cell-width|2.7fn>|<cwith|1|1|2|2|cell-hmode|exact>|<cwith|2|3|2|3|cell-halign|r>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<cwith|4|4|1|5|cell-tborder|.05fn>|<cwith|2|2|2|5|cell-tborder|.05fn>|<cwith|1|7|4|4|cell-lborder|.05fn>|<cwith|1|7|4|4|cell-rborder|.05fn>|<table|<row|<cell|>|<cell| 49.529 + VPThread>|<cell|>|<cell|pthread>|<cell|ratio>>|<row|<cell|>|<cell|comp>|<cell|total>|<cell|>|<cell|>>|<row|<cell|>|<cell|only>|<cell|>|<cell|>|<cell|>>|<row|<cell|mutex_lock>|<cell|85>|<cell|1050>|<cell|50,000>|<cell|48:1>>|<row|<cell|mutex_unlock>|<cell|85>|<cell|610>|<cell|45,000>|<cell|74:1>>|<row|<cell|cond_wait 49.530 + >|<cell|85>|<cell|850>|<cell|60,000>|<cell|71:1>>|<row|<cell|cond_signal>|<cell|90>|<cell|650>|<cell|60,000>|<cell|92:1>>>>>|<label|tabVPThreadSync>Rough 49.531 + measurements of cycles to perform synchronization primitives. \ For 49.532 + VPThread, the first column shows computation time of plugin when all 49.533 + memory accesses hit in the cache. The second column is total time, 49.534 + including <verbatim|master_loop>, <verbatim|core_loop>, and the effects 49.535 + of cache and page misses. Pthread times are deduced from round-trip 49.536 + experiments. The ratio calculations are pthread vs total 49.537 + VPThread.>>>>>> 49.538 + </with> 49.539 + 49.540 + <section|<label|secConclusion>Conclusion> 49.541 + 49.542 + This is a position paper, merely a suggestion for a large scale 49.543 + organizing principle by which real-world entities can cooperatively 49.544 + achieve performance portability. The key pattern is the funnelling of 49.545 + many applications to the same parallelism information at the top, the 49.546 + funnelling of many hardware platforms to the same abstraction at the 49.547 + bottom, and the set of plugins that connect the two ends. 49.548 + </with> 49.549 + 49.550 + <\bibliography|bib|Helpers/plain|Helpers/Bib_for_papers.bib> 49.551 + \; 49.552 + </bibliography> 49.553 + 49.554 + \; 49.555 + 49.556 + \; 49.557 +</body> 49.558 + 49.559 +<\initial> 49.560 + <\collection> 49.561 + <associate|font-base-size|9> 49.562 + <associate|language|american> 49.563 + <associate|page-breaking|sloppy> 49.564 + <associate|page-extend|2fn> 49.565 + <associate|page-flexibility|1.0> 49.566 + <associate|page-medium|paper> 49.567 + <associate|page-screen-margin|true> 49.568 + <associate|page-show-hf|true> 49.569 + <associate|page-shrink|0fn> 49.570 + <associate|page-type|letter> 49.571 + <associate|preamble|false> 49.572 + </collection> 49.573 +</initial> 49.574 + 49.575 +<\references> 49.576 + <\collection> 49.577 + <associate|auto-1|<tuple|1|1>> 49.578 + <associate|auto-10|<tuple|1|4>> 49.579 + <associate|auto-11|<tuple|2|4>> 49.580 + <associate|auto-12|<tuple|3|4>> 49.581 + <associate|auto-13|<tuple|7|4>> 49.582 + <associate|auto-14|<tuple|8|5>> 49.583 + <associate|auto-15|<tuple|8.1|5>> 49.584 + <associate|auto-16|<tuple|4|5>> 49.585 + <associate|auto-17|<tuple|2|5>> 49.586 + <associate|auto-18|<tuple|3|5>> 49.587 + <associate|auto-19|<tuple|9|5>> 49.588 + <associate|auto-2|<tuple|2|2>> 49.589 + <associate|auto-20|<tuple|4|5>> 49.590 + <associate|auto-21|<tuple|5|5>> 49.591 + <associate|auto-22|<tuple|1|5>> 49.592 + <associate|auto-23|<tuple|6|6>> 49.593 + <associate|auto-24|<tuple|2|6>> 49.594 + <associate|auto-25|<tuple|7|6>> 49.595 + <associate|auto-26|<tuple|3|6>> 49.596 + <associate|auto-27|<tuple|4|8>> 49.597 + <associate|auto-28|<tuple|10|8>> 49.598 + <associate|auto-29|<tuple|10|8>> 49.599 + <associate|auto-3|<tuple|3|2>> 49.600 + <associate|auto-30|<tuple|7|8>> 49.601 + <associate|auto-31|<tuple|8|8>> 49.602 + <associate|auto-32|<tuple|3|8>> 49.603 + <associate|auto-33|<tuple|4|8>> 49.604 + <associate|auto-34|<tuple|7|9>> 49.605 + <associate|auto-35|<tuple|7|9>> 49.606 + <associate|auto-36|<tuple|4|9>> 49.607 + <associate|auto-37|<tuple|8|9>> 49.608 + <associate|auto-38|<tuple|8|10>> 49.609 + <associate|auto-39|<tuple|9|10>> 49.610 + <associate|auto-4|<tuple|1|2>> 49.611 + <associate|auto-40|<tuple|9|10>> 49.612 + <associate|auto-41|<tuple|9|10>> 49.613 + <associate|auto-42|<tuple|9|10>> 49.614 + <associate|auto-43|<tuple|9|10>> 49.615 + <associate|auto-44|<tuple|16|10>> 49.616 + <associate|auto-45|<tuple|3|10>> 49.617 + <associate|auto-46|<tuple|4|11>> 49.618 + <associate|auto-47|<tuple|9|11>> 49.619 + <associate|auto-48|<tuple|9|11>> 49.620 + <associate|auto-49|<tuple|9|11>> 49.621 + <associate|auto-5|<tuple|4|2>> 49.622 + <associate|auto-50|<tuple|9|?>> 49.623 + <associate|auto-51|<tuple|9|?>> 49.624 + <associate|auto-52|<tuple|9|?>> 49.625 + <associate|auto-6|<tuple|5|2>> 49.626 + <associate|auto-7|<tuple|5.1|3>> 49.627 + <associate|auto-8|<tuple|6|4>> 49.628 + <associate|auto-9|<tuple|6.1|4>> 49.629 + <associate|bib-Actors97|<tuple|1|10>> 49.630 + <associate|bib-CILKHome|<tuple|6|10>> 49.631 + <associate|bib-ComponentModel00|<tuple|11|10>> 49.632 + <associate|bib-Conway63|<tuple|2|10>> 49.633 + <associate|bib-Dijkstra67|<tuple|4|10>> 49.634 + <associate|bib-Gelernter85Linda|<tuple|5|10>> 49.635 + <associate|bib-Hewitt10|<tuple|8|10>> 49.636 + <associate|bib-Lamport78|<tuple|6|11>> 49.637 + <associate|bib-Lamport87|<tuple|10|10>> 49.638 + <associate|bib-OpenMPHome|<tuple|14|10>> 49.639 + <associate|bib-TBBHome|<tuple|3|10>> 49.640 + <associate|bib-VMSHome|<tuple|7|10>> 49.641 + <associate|bib-hoare78|<tuple|9|10>> 49.642 + <associate|bib-milner80|<tuple|12|10>> 49.643 + <associate|bib-milner99|<tuple|13|10>> 49.644 + <associate|figAppFlow|<tuple|5|6>> 49.645 + <associate|figInternals|<tuple|4|4>> 49.646 + <associate|figMasterSplit|<tuple|6|6>> 49.647 + <associate|figTimeMapping|<tuple|6|4>> 49.648 + <associate|secAbsModel|<tuple|6|4>> 49.649 + <associate|secApp|<tuple|6|7>> 49.650 + <associate|secConclusion|<tuple|10|6>> 49.651 + <associate|secInternal|<tuple|3|4>> 49.652 + <associate|secLib|<tuple|6|8>> 49.653 + <associate|secOS|<tuple|5.2|10>> 49.654 + <associate|secResults|<tuple|10|5>> 49.655 + <associate|tabHeadToHeadVCilk|<tuple|3|5>> 49.656 + <associate|tabMasterCycles|<tuple|2|?>> 49.657 + <associate|tabOverheadCycles|<tuple|2|5>> 49.658 + <associate|tabPersonDaysLang|<tuple|1|5>> 49.659 + <associate|tabVPThreadSync|<tuple|4|6>> 49.660 + </collection> 49.661 +</references> 49.662 + 49.663 +<\auxiliary> 49.664 + <\collection> 49.665 + <\associate|bib> 49.666 + Hewitt10 49.667 + 49.668 + Actors97 49.669 + 49.670 + ComponentModel00 49.671 + 49.672 + hoare78 49.673 + 49.674 + milner99 49.675 + 49.676 + Gelernter85Linda 49.677 + </associate> 49.678 + <\associate|figure> 49.679 + <tuple|normal|The three places that specialization occurs. In the top 49.680 + box, the toolchain extracts task information useful to the scheduler 49.681 + and packages it into the binary, specializing the source to the 49.682 + plugin's interface. \ In the middle, the scheduler in the plugin 49.683 + retrives the info and uses it to make scheduling decisions, 49.684 + specializing the binary to the hardware abstraction. At the bottom, the 49.685 + VMS-core implementation hides hardware details behind the interface, 49.686 + specializing the hardware to the hardware 49.687 + abstraction.|<pageref|auto-6>> 49.688 + 49.689 + <\tuple|normal> 49.690 + \; 49.691 + 49.692 + The toolchain is split, the top portion is related to parallelism and 49.693 + the bottom portion does sequential compilation of C code. In the top 49.694 + box, source code is transformed into C code that has calls inserted. 49.695 + They invoke the plugin, during the run, to perform concurrency 49.696 + operations, such as synchronizations, sends, receives, publish, and 49.697 + so on. The top box also extracts parallelism information from the 49.698 + source, and encodes it as implementations of library calls. These are 49.699 + later invoked by the plugin to retrieve the information. \ In this 49.700 + way, the generated parallelism information passes through any 49.701 + standard sequential C compiler, which is the only hardware-specific 49.702 + portion. 49.703 + </tuple|<pageref|auto-7>> 49.704 + 49.705 + <tuple|normal|Eco-system is composed of toolchains, plugins, and HW 49.706 + abstractions. \ Each element, such as a particular plugin or sequential 49.707 + C compiler, is supplied by a different physical-world entity, such as a 49.708 + company or a research group. \ Elements related to a particular 49.709 + language are all shown in the same color, while elements related to the 49.710 + same hardware class are also shown in the same color. \ The plugins 49.711 + combine a language color with a hardware class color because they 49.712 + depend on both. \ As can be seen by the coloring, the toolchain for a 49.713 + language is independent of HW except for the sequential C 49.714 + compilers.|<pageref|auto-8>> 49.715 + 49.716 + <tuple|normal|<label|figInternals>Internal elements of VMS 49.717 + implementation |<pageref|auto-12>> 49.718 + </associate> 49.719 + <\associate|table> 49.720 + <tuple|normal|<label|tabPersonDaysLang>Person-days to design, code, and 49.721 + test the library plus plug-in of each language, in the order attempted. 49.722 + L.O.C. is lines of (original) code, excluding libraries and 49.723 + comments.|<pageref|auto-18>> 49.724 + 49.725 + <tuple|normal|<label|tabOverheadCycles>Cycles of overhead, per 49.726 + scheduled slave, consisting of: A) VMS-only cycles spent in VMS portion 49.727 + of <with|font-family|<quote|tt>|language|<quote|verbatim>|master_loop>, 49.728 + B) time in the <with|font-family|<quote|tt>|language|<quote|verbatim>|core_loop> 49.729 + to switch between VPs, C) Language-specific cycles spent in the 49.730 + plugin's Request Handler and Scheduler, and D) obtaining the Master 49.731 + lock. \ ``comp only'' column is cycles with perfect memory, ``comp + 49.732 + mem'' is actual cycles. ``Plugin-concur'' is only concurrency related 49.733 + requests, ``plugin-all'' includes create and malloc requests. Numbers 49.734 + are to two significant digits due to variability. \ Language overhead 49.735 + was measured while running Matrix Multiply.|<pageref|auto-20>> 49.736 + 49.737 + <tuple|normal|<label|tabHeadToHeadVCilk>Head-to-head comparison of exe 49.738 + time in seconds for VCilk vs Cilk 5.4 on MM. \ VCilk does 23% worse on 49.739 + large matrices that run for several seconds, but 210% better on small 49.740 + matrices requiring milliseconds.|<pageref|auto-22>> 49.741 + 49.742 + <tuple|normal|<label|tabVPThreadSync>Rough measurements of cycles to 49.743 + perform synchronization primitives. \ For VPThread, the first column 49.744 + shows computation time of plugin when all memory accesses hit in the 49.745 + cache. The second column is total time, including 49.746 + <with|font-family|<quote|tt>|language|<quote|verbatim>|master_loop>, 49.747 + <with|font-family|<quote|tt>|language|<quote|verbatim>|core_loop>, and 49.748 + the effects of cache and page misses. Pthread times are deduced from 49.749 + round-trip experiments. The ratio calculations are pthread vs total 49.750 + VPThread.|<pageref|auto-23>> 49.751 + </associate> 49.752 + <\associate|toc> 49.753 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>Overview 49.754 + and Motivation> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.755 + <no-break><pageref|auto-1><vspace|0.5fn> 49.756 + 49.757 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|2<space|2spc>VMS> 49.758 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.759 + <no-break><pageref|auto-2><vspace|0.5fn> 49.760 + 49.761 + <with|par-left|<quote|1.5fn>|2.1<space|2spc>Overview of VMS 49.762 + \ \ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.763 + <no-break><pageref|auto-3>> 49.764 + 49.765 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|3<space|2spc>Specialization> 49.766 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.767 + <no-break><pageref|auto-4><vspace|0.5fn> 49.768 + 49.769 + <with|par-left|<quote|1.5fn>|3.1<space|2spc>Three-step specialization 49.770 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.771 + <no-break><pageref|auto-5>> 49.772 + 49.773 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|4<space|2spc>Eco-System> 49.774 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.775 + <no-break><pageref|auto-9><vspace|0.5fn> 49.776 + 49.777 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|5<space|2spc>> 49.778 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.779 + <no-break><pageref|auto-10><vspace|0.5fn> 49.780 + 49.781 + <with|par-left|<quote|1.5fn>|5.1<space|2spc>Internal Workings of VMS 49.782 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.783 + <no-break><pageref|auto-11>> 49.784 + 49.785 + <with|par-left|<quote|6fn>|Steps of Operation: 49.786 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.787 + <no-break><pageref|auto-13><vspace|0.15fn>> 49.788 + 49.789 + <with|par-left|<quote|6fn>|Enabling sequential implementation of 49.790 + concurrency semantics: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.791 + <no-break><pageref|auto-14><vspace|0.15fn>> 49.792 + 49.793 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|6<space|2spc><label|secResults>Performance> 49.794 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.795 + <no-break><pageref|auto-15><vspace|0.5fn> 49.796 + 49.797 + <with|par-left|<quote|6fn>|Setup: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.798 + <no-break><pageref|auto-16><vspace|0.15fn>> 49.799 + 49.800 + <with|par-left|<quote|6fn>|Implementation-Time: 49.801 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.802 + <no-break><pageref|auto-17><vspace|0.15fn>> 49.803 + 49.804 + <with|par-left|<quote|6fn>|Execution Performance: 49.805 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.806 + <no-break><pageref|auto-19><vspace|0.15fn>> 49.807 + 49.808 + <with|par-left|<quote|6fn>|Head to Head: VCilk vs Cilk 5.4 \ plus 49.809 + \ VPThread vs pthread: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.810 + <no-break><pageref|auto-21><vspace|0.15fn>> 49.811 + 49.812 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|7<space|2spc><label|secConclusion>Conclusion> 49.813 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.814 + <no-break><pageref|auto-24><vspace|0.5fn> 49.815 + 49.816 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|Bibliography> 49.817 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 49.818 + <no-break><pageref|auto-25><vspace|0.5fn> 49.819 + </associate> 49.820 + </collection> 49.821 +</auxiliary> 49.822 \ No newline at end of file
50.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 50.2 +++ b/0__Papers/VMS/Languages/SSR/Jan_2011__SSR_parallelism_constructs.tm~ Sun Mar 11 09:26:44 2012 -0700 50.3 @@ -0,0 +1,818 @@ 50.4 +<TeXmacs|1.0.7.3> 50.5 + 50.6 +<style|article> 50.7 + 50.8 +<\body> 50.9 + <doc-data|<doc-title|An Easy to Use Parallelism 50.10 + Library>|<doc-author-data|<author-name|Sean Halle 50.11 + >|<author-email|sean.halle@inria.fr>>|<doc-author-data|<author-name|Albert 50.12 + Cohen>|<author-email|albert.cohen@inria.fr>>|> 50.13 + 50.14 + <\abstract> 50.15 + Locks and condition variables are difficult to use, and many alternatives 50.16 + have been proposed. \ This paper presents an additional alternative 50.17 + motivated by the synchronous send-receive pattern in process-calculi, and 50.18 + implemented with the new VMS extendable virtualization mechanism. It 50.19 + includes parallel singletons which are useful when dividing up work among 50.20 + cores, as well as atomic function execution and a restricted form of 50.21 + nested transactions. \ More importantly, it includes facilities to query 50.22 + the nature of the hardware, which allows work to be divided according to 50.23 + the hardware characteristics. 50.24 + 50.25 + We give examples of the use of the constructs, details of their 50.26 + implementation, and performance numbers. 50.27 + </abstract> 50.28 + 50.29 + <section|> 50.30 + 50.31 + \; 50.32 + 50.33 + <section|Background on VMS> 50.34 + 50.35 + \; 50.36 + 50.37 + <section|SSR Parallelism Constructs> 50.38 + 50.39 + <paragraph|Usage Examples:> 50.40 + 50.41 + \; 50.42 + 50.43 + \; 50.44 + 50.45 + \; 50.46 + 50.47 + <\with|par-columns|1> 50.48 + <\with|par-columns|2> 50.49 + <section|Overview and Motivation> 50.50 + 50.51 + Evidence is mounting that one-stop solutions to performance portability 50.52 + fail to address critical real-world patterns -- for example, attempting 50.53 + to place the full specialization into the toolchain 50.54 + <inactive|<cite|BLIS Hotpar>> requires a central entity that updates 50.55 + all toolchains when new hardware becomes available. \ It also requires 50.56 + automated re-compile for the new target and automated distribution of 50.57 + multiple binaries. Otherwise, the software developers would have no way 50.58 + to get their source code to run on new hardware -- their source has to 50.59 + be recompiled and the resulting binary distributed. To do this for 50.60 + thousands of different software development entities requires 50.61 + centralization. But such a centralized approach has technical and 50.62 + practical obstacles. 50.63 + 50.64 + Pure runtime based approaches <inactive|<cite|DKU java techreport>> 50.65 + imply a single binary, with the only change being the runtime system. 50.66 + Without help from the toolchain to extract relevant information and 50.67 + prepare it for the runtime, the amount of specialization and its 50.68 + effectiveness is limited. \ In addition, the runtime has to be 50.69 + separately implemented for every hardware platform, and for every 50.70 + language, without much reuse. \ 50.71 + 50.72 + Finally, hardware abstraction based approaches, such as JIT 50.73 + solutions<inactive|<cite|Sejits>>, place all the work of specializing 50.74 + into a single place, which makes reuse difficult, forcing extensive 50.75 + rewrite of JIT internals for each hardware platform, for each language. 50.76 + This software cost is an issue in the embedded space where new hardware 50.77 + is introduced often and has a limited market size to amortize the 50.78 + software cost. \ In addition, this one-stop approach requires a 50.79 + different JIT for each language, because it has to recognize 50.80 + language-specific features to specialize -- or else it fails to achieve 50.81 + good performance. This requires extensive work, making domain-specific 50.82 + languages time-consuming and difficult to develop, and the multiple 50.83 + JITs logistically awkward. 50.84 + 50.85 + What's needed is a system that leaves hardware free, language designers 50.86 + free, and software developers free, imposing minimal restrictions on 50.87 + them, while maximizing reuse of individual efforts and simplifying the 50.88 + logistics. It would be merely a support system that makes the work of 50.89 + each of those individual groups easier, and makes their independently 50.90 + provided pieces naturally support each other. 50.91 + 50.92 + We take the position in this paper that such a support system has to 50.93 + operate at all three levels: the language design plus toolchain level; 50.94 + the runtime system level; and the hardware abstraction level. \ Sequoia 50.95 + <inactive|<cite|>> does this in a limited way. \ We propose a more 50.96 + general approach that supports languages without restricting them, has 50.97 + more freedom to specialize the runtime, \ and reduces the effort to add 50.98 + new target hardware. It takes advantage of VMS (Virtualized 50.99 + Master-Slave) [<inactive|<cite|>>], which naturally provides pieces for 50.100 + each level, and acts as an organizing principle. 50.101 + 50.102 + Section 2 gives a high-level reveiw of VMS, and Section 3 reviews 50.103 + performance portability fundamentals. Section 4 then illustrates how 50.104 + VMS can be used to organize an eco-system in which performance 50.105 + portability is a reality. Section 5 gives supporing evidence of VMS's 50.106 + suitability, with measurements of the time to implement three embedded 50.107 + parallel languages, performance numbers for them, and measurements of 50.108 + the basic overhead of VMS. 50.109 + 50.110 + <section|VMS> 50.111 + 50.112 + On nomenclature, in this paper we define <em|task> as a 3-tuple -- 1) 50.113 + an animation event, 2) a collection of code animated, and 3) a 50.114 + collection of information instances that code is animated upon. 50.115 + However, we often refer to just the code plus data as a task, with the 50.116 + implication that animation will take place in the future. \ This allows 50.117 + us to say things like ``we create a task'', meaning we create a 50.118 + combination of code plus data with the intent to animate it, and ``we 50.119 + assign a task to'' which means we move the code plus data -- but at 50.120 + some future time the combination shall be animated, exactly once. 50.121 + 50.122 + <subsection|Overview of VMS \ >Virtualized Master Slave (VMS) is an 50.123 + execution model that replaces Threads. \ In effect, it opens up the 50.124 + thread-scheduler, letting the language supply its own scheduler that is 50.125 + plugged-in. Along with the scheduler, the plugin also contains a 50.126 + definition of concurrency constructs, such as publish-subscribe 50.127 + channel, or send-receive, or spwan-sync -- the scheduler plus 50.128 + concurrency constructs together complete the runtime for a parallel 50.129 + language. 50.130 + 50.131 + The plugin is supplied separately from the application, as a dynamic 50.132 + library or a device driver, which makes the runtime separately loaded 50.133 + onto the hardware, turningit into a new component in the software 50.134 + stack.\ 50.135 + 50.136 + The behavior of the languages's concurrency constructs is implemented 50.137 + in the plugin using sequential algorithms, reducing implementation time 50.138 + for the concurrency semantics to a matter of days. \ The plugin also 50.139 + contains the scheduler, which gives the language control over assigning 50.140 + virtual processors to physical cores. On multi-core shared-memory 50.141 + machines, the run-time overhead is low, on the order of a few hundred 50.142 + nano-seconds per concurrency operation. The VMS model can be 50.143 + implemented as a user-space library, or existing OS kernels can be 50.144 + converted to the VMS model by opening up their scheduler, and exposing 50.145 + the VMS plugin interface. 50.146 + 50.147 + What distinguishes VMS is that it doesn't impose its own concurrency 50.148 + semantics, but rather takes them as plugins. \ Hence VMS isn't a 50.149 + language, but rather <em|supports> the creation of language runtimes. 50.150 + Any language level execution model is implementable as a layer on top 50.151 + of VMS, including: Actors <cite|Hewitt10><cite|Actors97>; Components 50.152 + <cite|ComponentModel00>; process calculi like CSP <cite|hoare78>, and 50.153 + Pi-calculus <cite|milner99>; and coordination languages like Linda 50.154 + <cite|Gelernter85Linda>. \ Likewise implementable with VMS are systems 50.155 + like TBB and OpenMP, as well as hybrid languages like Sequioa, and 50.156 + legacy languages that rely on Threads such as Java, and C/C++ with 50.157 + pthreads. 50.158 + 50.159 + <section|Specialization> 50.160 + 50.161 + Portable performance is achieved by specializing the source code to the 50.162 + hardware. \ For traditonal sequential source on sequential processors, 50.163 + the specialization was the translation to machine code and optimization 50.164 + that took place in the compiler. 50.165 + 50.166 + This one-step specialization was sufficient because most of the 50.167 + performance portability was provided by using micro-architecture 50.168 + hardware techniques underneath a standard instruction-set abstraction. 50.169 + This has worked because, before recently, process technology has made 50.170 + every generation of sequential processor faster, and parallelism could 50.171 + be found at the granularity of single instructions. Also, CPU producers 50.172 + have kept their instruction sets relatively fixed. 50.173 + 50.174 + Unfortunately, for larger-granularities of parallelism, such a 50.175 + hardware-based approach to performance portability has proven 50.176 + infeasible so far. \ We conjecture that the reason is, that larger 50.177 + granularity parallelism is tied to the language constructs and to 50.178 + application constructs (whereas instruction-level parallelism is tied 50.179 + only to the machine-instruction-set constructs). Hence, information 50.180 + about the language patterns and application patterns must be available 50.181 + in order to exploit these larger granularities. \ The hardware cannot 50.182 + make use of the larger granularities because the instruction set 50.183 + abstraction provides no means to convey the necessary language and 50.184 + application patterns. 50.185 + 50.186 + Following this intuition, we propose that to be effective, a system for 50.187 + performance portability for parallel software should have a means of 50.188 + identifying language and application constructs and packaging this 50.189 + information in a standard format. \ Also, a hardware abstraction should 50.190 + be provided that accepts such information and uses it to make 50.191 + high-quality decisions about task creation, task sizing, and task 50.192 + placement. 50.193 + 50.194 + <subsection|Three-step specialization> 50.195 + 50.196 + VMS fits this proposal by allowing the language toolchain to extract 50.197 + the application's task patterns and language patterns, and package them 50.198 + in a standard format that any plugin for that language understands. As 50.199 + mentioned in the review, the plugin plus VMS implementation represent 50.200 + the parallel aspects of the hardware, so each language's plugin defines 50.201 + the format of the task info to be handed to the hardware abstraction. 50.202 + \ The first step of specializing is thus the extraction of the task 50.203 + info by the toolchain. 50.204 + 50.205 + <\with|par-first|0fn> 50.206 + <small-figure|<postscript|figures/3_stage_specialization.eps||*6/7||||>|The 50.207 + three places that specialization occurs. In the top box, the 50.208 + toolchain extracts task information useful to the scheduler and 50.209 + packages it into the binary, specializing the source to the plugin's 50.210 + interface. \ In the middle, the scheduler in the plugin retrives the 50.211 + info and uses it to make scheduling decisions, specializing the 50.212 + binary to the hardware abstraction. At the bottom, the VMS-core 50.213 + implementation hides hardware details behind the interface, 50.214 + specializing the hardware to the hardware abstraction.> 50.215 + </with> 50.216 + 50.217 + The second step of specialization is the plugin, which uses the task 50.218 + info to make high quality decisions about size and placement of tasks, 50.219 + as represented in the middle of figure 2. \ The last step of 50.220 + specialization is implementing the VMS abstraction on the particular 50.221 + hardware. \ This combination of plugin plus VMS has the same function 50.222 + that the instruction set had back in the sequential days -- it provides 50.223 + a standard hardware abstraction. \ VMS has the advantage that the 50.224 + abstraction is modifiable by choosing the plugin. 50.225 + 50.226 + <\with|par-first|0fn> 50.227 + <\small-figure|<postscript|figures/Toolchain.eps||||||>> 50.228 + \; 50.229 + 50.230 + The toolchain is split, the top portion is related to parallelism 50.231 + and the bottom portion does sequential compilation of C code. In 50.232 + the top box, source code is transformed into C code that has calls 50.233 + inserted. They invoke the plugin, during the run, to perform 50.234 + concurrency operations, such as synchronizations, sends, receives, 50.235 + publish, and so on. The top box also extracts parallelism 50.236 + information from the source, and encodes it as implementations of 50.237 + library calls. These are later invoked by the plugin to retrieve 50.238 + the information. \ In this way, the generated parallelism 50.239 + information passes through any standard sequential C compiler, 50.240 + which is the only hardware-specific portion. 50.241 + </small-figure> 50.242 + </with> 50.243 + 50.244 + Focusing on the toolchain, we propose breaking it into two sections: 50.245 + one for parallelism, the other for sequential. \ The parallelism 50.246 + portion extracts the task and language information needed to make high 50.247 + quality scheduling decisions. \ The sequential specializes individual 50.248 + functions to the sequential cores. \ The parallelism portion remains 50.249 + constant across hardware, only the sequential portion changes when the 50.250 + instruction-set of the target hardware changes. 50.251 + 50.252 + One possible way to achieve this is to make the parallel portion 50.253 + transform the original source to C code with embedded calls to the 50.254 + concurrency library functions. \ During this source-to-C-plus-lib-call 50.255 + transform, the information is packaged into functions in some way. 50.256 + \ The resulting C-plus-lib-calls source is then compiled with the 50.257 + sequential C compiler to make a binary, as depicted in Figure X. 50.258 + 50.259 + Meanwhile, the plugins for that language know the names of the library 50.260 + functions the task information has been packaged into. \ Hence, when 50.261 + the binary is linked to a plugin at load time, the task-info functions 50.262 + within the binary become available to the plugin. \ They are then 50.263 + called by the plugin during the run to extract the information, to make 50.264 + high quality scheduling decisions. 50.265 + 50.266 + This scheme allows unmodified sequential compilers to be used to pass 50.267 + the information along, inside of a standard binary format. \ It also 50.268 + separates the parallel and sequential portions of the tool chain 50.269 + cleanly, so only the relatively simple sequential C compiler changes 50.270 + with hardware. \ This scheme also leaves the language designers in 50.271 + charge of deciding the nature and definition of the information 50.272 + carrying functions. 50.273 + 50.274 + These properties enable reuse of the same parallel portion of the 50.275 + toolchain across chips, which is especially valuable in the embedded 50.276 + market. \ With the inclusion of real-time aspects, such as latency 50.277 + bounds and deadlines, this could dramatically speed up time to market 50.278 + and reduce cost of introduction of new embedded chips. 50.279 + 50.280 + This begs the question: what kind of task information is sufficient for 50.281 + parallel performance portability across the array of forseeable 50.282 + parallel architectures? We propose three kinds of information: 1) 50.283 + manipulators, which are able to modify the size of tasks and change the 50.284 + way data is accessed, 2) information about the tasks such as type of 50.285 + core they run best on, size of data footprint, predicted execution 50.286 + time, and 3) real-world constraints that relate to the tasks, such as 50.287 + deadlines, maximum latency for data to pass from one point in the 50.288 + computation to another, and quality related information. \ Again, it is 50.289 + up to the language and plugin to agree on what data is extracted, 50.290 + passed, and then used for scheduling. \ Meanwhile, it is up to VMS to 50.291 + provide the services and information required by the scheduler to make 50.292 + use of the information. 50.293 + 50.294 + As research progresses, additional types of information may become 50.295 + necessary, so this flexibility from the plugin system will prove key. 50.296 + \ Again, the plugin plus VMS implementation are the hardware 50.297 + abstraction -- the parallel equivalent of what the instruction set used 50.298 + to be for sequential processors. \ The two define the behavior that the 50.299 + binary expects to be present. 50.300 + 50.301 + This, finally, begs the question: what kind of information and services 50.302 + must VMS provide to the plugin? It must expose the features of the 50.303 + hardware that matter the most to performance (computation, energy, and 50.304 + real-world related performance). We suggest that the memory hierarchy 50.305 + and communication between the memory pools are the most important 50.306 + features for parallel performance. \ However, the VMS interface should 50.307 + only expose the portions of memory affectable by a runtime scheduler 50.308 + (the register set usage of a sequential processor is fixed by the 50.309 + binary and so not exposed). 50.310 + 50.311 + We suggest that most parallel architectures fall into a small number of 50.312 + classes, each of which exposes sufficient structure without exposing 50.313 + chip-specific details. What's important is the type(s) of cores, the 50.314 + pools of memory, and the nature of communication between them. On 50.315 + communication, the scheduler can treat the network statistically with 50.316 + relatively simple models, independently from the topology, without 50.317 + undue loss of performance <inactive|<cite|>>. So the main feature is 50.318 + coherent memory vs distributed, which determines whether communication 50.319 + can take place by shared variables in the code vs whether it needs 50.320 + explicit action. 50.321 + 50.322 + Given this, our proposed list includes: 1) multi-core and many-core 50.323 + that share a single coherent memory 2) one or more SIMD units that 50.324 + share a single coherent memory 3) collections of those connected by 50.325 + shared memory 4) distributed collections of those. Each memory pool, 50.326 + such as a cache or scratchpad, is exposed, with the communication costs 50.327 + from each pool to each other pool, and whether communication between 50.328 + them is automated or explicit. Applying this to known architectures: 50.329 + single-socket multi-core systems fall into 1, while adding a GPGPU puts 50.330 + them also into 2 and 4. \ The Cell BE is in 1 and 4, as is the SCC. 50.331 + \ Larrabee would have been in 1, 2, and 3 but may have been more 50.332 + effectively treated as 1, 2, and 4. \ Traditional supercomputers made 50.333 + up of shared-memory nodes connected by networks fall into 1 and 4. 50.334 + 50.335 + <\with|par-columns|1> 50.336 + <\big-figure> 50.337 + <postscript|figures/eco-system.eps|*7/8|*7/8||||> 50.338 + </big-figure|Eco-system is composed of toolchains, plugins, and HW 50.339 + abstractions. \ Each element, such as a particular plugin or 50.340 + sequential C compiler, is supplied by a different physical-world 50.341 + entity, such as a company or a research group. \ Elements related to 50.342 + a particular language are all shown in the same color, while elements 50.343 + related to the same hardware class are also shown in the same color. 50.344 + \ The plugins combine a language color with a hardware class color 50.345 + because they depend on both. \ As can be seen by the coloring, the 50.346 + toolchain for a language is independent of HW except for the 50.347 + sequential C compilers.> 50.348 + </with> 50.349 + 50.350 + <section|Eco-System> 50.351 + 50.352 + Figure 4 depicts how the pieces all fit together. At the top, 50.353 + independent software developers write applications, in a variety of 50.354 + languages. Each language defines its own format for conveying 50.355 + task-related info. Independently, plugins are implemented that accept 50.356 + that format, one plugin for each hardware class. This allows hardware 50.357 + manufacturers to supply their own plugins, for unusual hardware 50.358 + designs, and still take advantage of the existing application binaries 50.359 + (non-standard instruction sets also need an install-time translator). 50.360 + 50.361 + The plugins, in the middle, act as a cross-bar switch, connecting the 50.362 + binaries to the hardware abstractions. They are separately distributed 50.363 + and loaded onto the hardware, much the way device drivers are 50.364 + currently. 50.365 + 50.366 + At the bottom, the hardware abstraction implementations standardize the 50.367 + hardware. They are mainly supplied by the hardware manufacturers, but 50.368 + open-source implementations will likely also arise. 50.369 + 50.370 + Note that the only software developed for a new HW platform is the 50.371 + VMS-core abstraction, sequential C compiler, and a bare-bones OS. 50.372 + Existing applications are adpated via the plugin and abstraction. 50.373 + 50.374 + We expect that a small number of HW classes will quickly come to 50.375 + dominate, which will encourage later HW development to fit within the 50.376 + dominant classes. As a result, a standard set of sequential C compilers 50.377 + will emerge, allowing software developers to perform a single 50.378 + compilation pass. For fine tuning of <em|sequential> compilation 50.379 + choices, we expect install-time binary rewriters or run-time binary 50.380 + optimizations. 50.381 + 50.382 + The end-result is that no centralized control is needed. Language 50.383 + designers are free to innovate, inventing new concurrency constructs 50.384 + and communication abstractions, and need as little as just the set of 50.385 + plugins, or just the source-to-C translator to reach all the standard 50.386 + hardware platforms. Likewise, hardware manufacturers are free to 50.387 + innovate, needing minimal software development for a new chip to enjoy 50.388 + access to all the applications.\ 50.389 + 50.390 + The set of plugins is the key to this portability, and the funnelling 50.391 + of many applications to the same parallelism information at the top, 50.392 + and many hardware platforms to the same abstraction at the bottom. 50.393 + </with> 50.394 + </with> 50.395 + 50.396 + <\with|par-columns|2> 50.397 + <section|> 50.398 + 50.399 + <\with|par-columns|2> 50.400 + <subsection|Internal Workings of VMS> 50.401 + 50.402 + As far as a binary is concerned, the parallel behavior of the hardware 50.403 + is represented by the combination of VMS plus the plugin, while the 50.404 + \ sequential behavior of the hardware's processing-elements is 50.405 + represented by the Instruction Set of each core. 50.406 + 50.407 + The VMS implementation is made up of a master virtual-processor that 50.408 + receives and calls the plugin functions, and a ``core-controller'' that 50.409 + handles transferring the physical-core between animating the master 50.410 + virtual processor and animating the application's virtual processors, 50.411 + but according to the decisions the plugin functions make, when called 50.412 + by the master VP. As part of invoking a concurrency construct, an 50.413 + application VP attaches to itself a request destined for the master VP, 50.414 + then suspends. We next review how this request reaches the plugin's 50.415 + concurrency-construct implementation, called the requestion handler, by 50.416 + walking through the steps VMS takes during operation. 50.417 + 50.418 + <\with|par-first|0fn> 50.419 + <\with|par-left|0cm> 50.420 + <postscript|figures/VMS-core__internal_workings.eps|*15/16|||||> 50.421 + </with> 50.422 + </with> 50.423 + 50.424 + <small-figure||<label|figInternals>Internal elements of VMS 50.425 + implementation > 50.426 + 50.427 + <paragraph|Steps of Operation:>The steps of operation are numbered in 50.428 + Figure <reference|figInternals>. \ Taking them in order, 1) 50.429 + <verbatim|master_loop> scans the scheduling slots to see which ones' 50.430 + slaves have suspended since the previous scan. \ 2) It hands these to 50.431 + the request handler plugged-in. \ \ 3) The data in the request causes 50.432 + manipulation of the data structures within the semantic state. \ These 50.433 + structures hold all the slaves currently in the blocked state. \ 4) 50.434 + Requests cause slaves to be moved to the ready-container, which was 50.435 + implemented as an array of simple queues, one to each physical core. 50.436 + Which core receives the slave is under plugin control, determined by a 50.437 + combination of request contents, semantic state and physical state. 5) 50.438 + During the scan, the <verbatim|master_loop> also looks for empty slots. 50.439 + It calls the scheduler plug-in function, which chooses a slave from the 50.440 + ready container. \ 6) The <verbatim|master_loop> then places the slave 50.441 + VP's pointer into the scheduling slot, making it available to the 50.442 + <verbatim|core_loop>. \ 7) When done with the scan, <verbatim|masterVP> 50.443 + suspends, switching animation back to the <verbatim|core_loop>. \ 8) 50.444 + <verbatim|core_loop> takes slave VPs out of the slots, then 9) switches 50.445 + animation to them. \ 10) When a slave self-suspends, animation returns 50.446 + to the <verbatim|core_loop>, which picks another, until 11) all slots 50.447 + are empty and the <verbatim|core_loop> switches animation to the 50.448 + <verbatim|masterVP>. 50.449 + 50.450 + <paragraph|Enabling sequential implementation of concurrency 50.451 + semantics:>All of that happens on each core separately, but in this 50.452 + particular implementation we use a central <verbatim|masterLock> to 50.453 + ensure that only one core's <verbatim|masterVP> can be active at any 50.454 + time. \ This guarantees non-overlap of trace-segments from different 50.455 + <verbatim|masterVP>s, allowing the plugins to use sequential 50.456 + algorithms, without a performance penalty, as verified in Section 5. 50.457 + </with> 50.458 + 50.459 + <section|<label|secResults>Performance> 50.460 + 50.461 + <paragraph|Setup:>We implemented blocked dense matrix multiply and ran on 50.462 + a Core2Quad 2.4Ghz chip. 50.463 + 50.464 + <paragraph|Implementation-Time:>Time to implement the runtime for the 50.465 + three parallel languages averages 2 days. \ As an example of 50.466 + productivity, adding nested transactions, parallel singleton, and atomic 50.467 + function-execution to SSR required a single afternoon, totaling less than 50.468 + 100 lines of C code. Table <reference|tabPersonDaysLang> summarizes 50.469 + implementation times. 50.470 + 50.471 + <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|>|<cell|SSR>|<cell|VPThread>|<cell|VCilk>>|<row|<cell|Design>|<cell|4>|<cell|1>|<cell|0.5>>|<row|<cell|Code>|<cell|2>|<cell|0.5>|<cell|0.5>>|<row|<cell|Test>|<cell|1>|<cell|0.5>|<cell|0.5>>|<row|<cell|L.O.C.>|<cell|470>|<cell|290>|<cell|310>>>>>|<label|tabPersonDaysLang>Person-days 50.472 + to design, code, and test the library plus plug-in of each language, in 50.473 + the order attempted. L.O.C. is lines of (original) code, excluding 50.474 + libraries and comments.>>>>>> 50.475 + 50.476 + <paragraph|Execution Performance:> \ seen in Table 50.477 + <reference|tabOverheadCycles>. 50.478 + 50.479 + The code has not been designed for speed, but rather to be easy to 50.480 + understand and modify. In particular, the schedulers are simple queues 50.481 + with no optimization for performance. 50.482 + 50.483 + <\with|par-mode|left> 50.484 + <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|3|18|4|5|cell-halign|r>|<cwith|1|1|4|5|cell-halign|r>|<cwith|10|10|1|4|cell-tborder|.05fn>|<cwith|13|13|1|4|cell-tborder|.05fn>|<cwith|16|16|1|4|cell-tborder|.05fn>|<cwith|18|18|1|4|cell-bborder|.05fn>|<cwith|7|7|4|4|cell-halign|r>|<cwith|1|18|3|3|cell-halign|r>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|>|<cell|>|<cell|comp>|<cell|comp>>|<row|<cell|VMS 50.485 + Only:>|<cell|>|<cell|only>|<cell|+mem>>|<row|<cell|<verbatim|master_loop>>|<cell|>|<cell|91>|<cell| 50.486 + \ 110>>|<row|<cell|switch VPs>|<cell|>|<cell|77>|<cell| 50.487 + \ 130>>|<row|<cell|>|<cell|>|<cell|>|<cell|>>|<row|<cell|(malloc)>|<cell|>|<cell|160>|<cell|2300>>|<row|<cell|(create 50.488 + VP)>|<cell|>|<cell|540>|<cell|3800>>|<row|<cell|>|<cell|>|<cell|>|<cell|>>|<row|<cell|Language:>|<cell|>|<cell|>|<cell|>>|<row|<cell|SSR>|<cell|plugin 50.489 + -- concur>|<cell|190>|<cell|540>>|<row|<cell|>|<cell|plugin -- 50.490 + all>|<cell|530>|<cell|2200>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 50.491 + 250>>|<row|<cell|VPThread>|<cell|plugin -- 50.492 + concur>|<cell|66>|<cell|710>>|<row|<cell|>|<cell|plugin -- 50.493 + all>|<cell|180>|<cell|1500>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 50.494 + 250>>|<row|<cell|VCilk>|<cell|plugin -- 50.495 + concur>|<cell|65>|<cell|260>>|<row|<cell|>|<cell|plugin -- 50.496 + all>|<cell|330>|<cell|1800>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 50.497 + 250>>>>>|<label|tabOverheadCycles>Cycles of overhead, per scheduled 50.498 + slave, consisting of: A) VMS-only cycles spent in VMS portion of 50.499 + <verbatim|master_loop>, B) time in the <verbatim|core_loop> to switch 50.500 + between VPs, C) Language-specific cycles spent in the plugin's Request 50.501 + Handler and Scheduler, and D) obtaining the Master lock. \ ``comp 50.502 + only'' column is cycles with perfect memory, ``comp + mem'' is actual 50.503 + cycles. ``Plugin-concur'' is only concurrency related requests, 50.504 + ``plugin-all'' includes create and malloc requests. Numbers are to two 50.505 + significant digits due to variability. \ Language overhead was measured 50.506 + while running Matrix Multiply.>>>>>> 50.507 + </with> 50.508 + 50.509 + <paragraph|Head to Head: VCilk vs Cilk 5.4 \ plus \ VPThread vs 50.510 + pthread:>We compare our implementation of the <verbatim|spawn> and 50.511 + <verbatim|sync> constructs against the distributed version of Cilk, in 50.512 + Table <reference|tabHeadToHeadVCilk>, which shows that the same 50.513 + application code has similar performance. 50.514 + 50.515 + <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|8|8|1|4|cell-tborder|.05fn>|<cwith|4|4|1|4|cell-tborder|.05fn>|<cwith|2|2|1|4|cell-tborder|.05fn>|<cwith|2|9|2|2|cell-lborder|.05fn>|<cwith|7|7|2|2|cell-lborder|.05fn>|<cwith|6|6|2|3|cell-tborder|.05fn>|<cwith|6|6|2|2|cell-lborder|.05fn>|<cwith|6|6|4|4|cell-tborder|.05fn>|<cwith|6|6|1|1|cell-tborder|.05fn>|<cwith|9|9|1|3|cell-bborder|.05fn>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|Matrix 50.516 + size>|<cell|>|<cell|>>|<row|<cell|81x81>|<cell|Cilk>|<cell|.017>>|<row|<cell|>|<cell|VCilk>|<cell|.008>>|<row|<cell|324x324>|<cell|Cilk>|<cell|.13>>|<row|<cell|>|<cell|VCilk>|<cell|.13>>|<row|<cell|648x648>|<cell|Cilk>|<cell|.71>>|<row|<cell|>|<cell|VCilk>|<cell|.85>>|<row|<cell|1296x1296>|<cell|Cilk>|<cell|4.8>>|<row|<cell|>|<cell|VCilk>|<cell|6.2>>>>>|<label|tabHeadToHeadVCilk>Head-to-head 50.517 + comparison of exe time in seconds for VCilk vs Cilk 5.4 on MM. \ VCilk 50.518 + does 23% worse on large matrices that run for several seconds, but 210% 50.519 + better on small matrices requiring milliseconds.>>>>>> 50.520 + 50.521 + \; 50.522 + 50.523 + Versus pthreads, our VMS based implementation has more than an order of 50.524 + magnitude better overhead per invocation of mutex or condition variable 50.525 + functionality, as seen in Table <reference|tabVPThreadSync>. 50.526 + 50.527 + <\with|par-mode|left> 50.528 + <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|4|7|2|5|cell-halign|r>|<cwith|6|6|4|5|cell-halign|r>|<cwith|1|1|2|2|cell-width|2.7fn>|<cwith|1|1|2|2|cell-hmode|exact>|<cwith|2|3|2|3|cell-halign|r>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<cwith|4|4|1|5|cell-tborder|.05fn>|<cwith|2|2|2|5|cell-tborder|.05fn>|<cwith|1|7|4|4|cell-lborder|.05fn>|<cwith|1|7|4|4|cell-rborder|.05fn>|<table|<row|<cell|>|<cell| 50.529 + VPThread>|<cell|>|<cell|pthread>|<cell|ratio>>|<row|<cell|>|<cell|comp>|<cell|total>|<cell|>|<cell|>>|<row|<cell|>|<cell|only>|<cell|>|<cell|>|<cell|>>|<row|<cell|mutex_lock>|<cell|85>|<cell|1050>|<cell|50,000>|<cell|48:1>>|<row|<cell|mutex_unlock>|<cell|85>|<cell|610>|<cell|45,000>|<cell|74:1>>|<row|<cell|cond_wait 50.530 + >|<cell|85>|<cell|850>|<cell|60,000>|<cell|71:1>>|<row|<cell|cond_signal>|<cell|90>|<cell|650>|<cell|60,000>|<cell|92:1>>>>>|<label|tabVPThreadSync>Rough 50.531 + measurements of cycles to perform synchronization primitives. \ For 50.532 + VPThread, the first column shows computation time of plugin when all 50.533 + memory accesses hit in the cache. The second column is total time, 50.534 + including <verbatim|master_loop>, <verbatim|core_loop>, and the effects 50.535 + of cache and page misses. Pthread times are deduced from round-trip 50.536 + experiments. The ratio calculations are pthread vs total 50.537 + VPThread.>>>>>> 50.538 + </with> 50.539 + 50.540 + <section|<label|secConclusion>Conclusion> 50.541 + 50.542 + This is a position paper, merely a suggestion for a large scale 50.543 + organizing principle by which real-world entities can cooperatively 50.544 + achieve performance portability. The key pattern is the funnelling of 50.545 + many applications to the same parallelism information at the top, the 50.546 + funnelling of many hardware platforms to the same abstraction at the 50.547 + bottom, and the set of plugins that connect the two ends. 50.548 + </with> 50.549 + 50.550 + <\bibliography|bib|Helpers/plain|Helpers/Bib_for_papers.bib> 50.551 + \; 50.552 + </bibliography> 50.553 + 50.554 + \; 50.555 + 50.556 + \; 50.557 +</body> 50.558 + 50.559 +<\initial> 50.560 + <\collection> 50.561 + <associate|font-base-size|9> 50.562 + <associate|language|american> 50.563 + <associate|page-breaking|sloppy> 50.564 + <associate|page-extend|2fn> 50.565 + <associate|page-flexibility|1.0> 50.566 + <associate|page-medium|paper> 50.567 + <associate|page-screen-margin|true> 50.568 + <associate|page-show-hf|true> 50.569 + <associate|page-shrink|0fn> 50.570 + <associate|page-type|letter> 50.571 + <associate|preamble|false> 50.572 + </collection> 50.573 +</initial> 50.574 + 50.575 +<\references> 50.576 + <\collection> 50.577 + <associate|auto-1|<tuple|1|1>> 50.578 + <associate|auto-10|<tuple|1|4>> 50.579 + <associate|auto-11|<tuple|2|4>> 50.580 + <associate|auto-12|<tuple|3|4>> 50.581 + <associate|auto-13|<tuple|7|4>> 50.582 + <associate|auto-14|<tuple|8|5>> 50.583 + <associate|auto-15|<tuple|8.1|5>> 50.584 + <associate|auto-16|<tuple|4|5>> 50.585 + <associate|auto-17|<tuple|2|5>> 50.586 + <associate|auto-18|<tuple|3|5>> 50.587 + <associate|auto-19|<tuple|9|5>> 50.588 + <associate|auto-2|<tuple|2|2>> 50.589 + <associate|auto-20|<tuple|4|5>> 50.590 + <associate|auto-21|<tuple|5|5>> 50.591 + <associate|auto-22|<tuple|1|5>> 50.592 + <associate|auto-23|<tuple|6|6>> 50.593 + <associate|auto-24|<tuple|2|6>> 50.594 + <associate|auto-25|<tuple|7|6>> 50.595 + <associate|auto-26|<tuple|3|6>> 50.596 + <associate|auto-27|<tuple|4|8>> 50.597 + <associate|auto-28|<tuple|10|8>> 50.598 + <associate|auto-29|<tuple|10|8>> 50.599 + <associate|auto-3|<tuple|3|2>> 50.600 + <associate|auto-30|<tuple|7|8>> 50.601 + <associate|auto-31|<tuple|8|8>> 50.602 + <associate|auto-32|<tuple|3|8>> 50.603 + <associate|auto-33|<tuple|4|8>> 50.604 + <associate|auto-34|<tuple|7|9>> 50.605 + <associate|auto-35|<tuple|7|9>> 50.606 + <associate|auto-36|<tuple|4|9>> 50.607 + <associate|auto-37|<tuple|8|9>> 50.608 + <associate|auto-38|<tuple|8|10>> 50.609 + <associate|auto-39|<tuple|9|10>> 50.610 + <associate|auto-4|<tuple|1|2>> 50.611 + <associate|auto-40|<tuple|9|10>> 50.612 + <associate|auto-41|<tuple|9|10>> 50.613 + <associate|auto-42|<tuple|9|10>> 50.614 + <associate|auto-43|<tuple|9|10>> 50.615 + <associate|auto-44|<tuple|16|10>> 50.616 + <associate|auto-45|<tuple|3|10>> 50.617 + <associate|auto-46|<tuple|4|11>> 50.618 + <associate|auto-47|<tuple|9|11>> 50.619 + <associate|auto-48|<tuple|9|11>> 50.620 + <associate|auto-49|<tuple|9|11>> 50.621 + <associate|auto-5|<tuple|4|2>> 50.622 + <associate|auto-50|<tuple|9|?>> 50.623 + <associate|auto-51|<tuple|9|?>> 50.624 + <associate|auto-52|<tuple|9|?>> 50.625 + <associate|auto-6|<tuple|5|2>> 50.626 + <associate|auto-7|<tuple|5.1|3>> 50.627 + <associate|auto-8|<tuple|6|4>> 50.628 + <associate|auto-9|<tuple|6.1|4>> 50.629 + <associate|bib-Actors97|<tuple|1|10>> 50.630 + <associate|bib-CILKHome|<tuple|6|10>> 50.631 + <associate|bib-ComponentModel00|<tuple|11|10>> 50.632 + <associate|bib-Conway63|<tuple|2|10>> 50.633 + <associate|bib-Dijkstra67|<tuple|4|10>> 50.634 + <associate|bib-Gelernter85Linda|<tuple|5|10>> 50.635 + <associate|bib-Hewitt10|<tuple|8|10>> 50.636 + <associate|bib-Lamport78|<tuple|6|11>> 50.637 + <associate|bib-Lamport87|<tuple|10|10>> 50.638 + <associate|bib-OpenMPHome|<tuple|14|10>> 50.639 + <associate|bib-TBBHome|<tuple|3|10>> 50.640 + <associate|bib-VMSHome|<tuple|7|10>> 50.641 + <associate|bib-hoare78|<tuple|9|10>> 50.642 + <associate|bib-milner80|<tuple|12|10>> 50.643 + <associate|bib-milner99|<tuple|13|10>> 50.644 + <associate|figAppFlow|<tuple|5|6>> 50.645 + <associate|figInternals|<tuple|4|4>> 50.646 + <associate|figMasterSplit|<tuple|6|6>> 50.647 + <associate|figTimeMapping|<tuple|6|4>> 50.648 + <associate|secAbsModel|<tuple|6|4>> 50.649 + <associate|secApp|<tuple|6|7>> 50.650 + <associate|secConclusion|<tuple|10|6>> 50.651 + <associate|secInternal|<tuple|3|4>> 50.652 + <associate|secLib|<tuple|6|8>> 50.653 + <associate|secOS|<tuple|5.2|10>> 50.654 + <associate|secResults|<tuple|10|5>> 50.655 + <associate|tabHeadToHeadVCilk|<tuple|3|5>> 50.656 + <associate|tabMasterCycles|<tuple|2|?>> 50.657 + <associate|tabOverheadCycles|<tuple|2|5>> 50.658 + <associate|tabPersonDaysLang|<tuple|1|5>> 50.659 + <associate|tabVPThreadSync|<tuple|4|6>> 50.660 + </collection> 50.661 +</references> 50.662 + 50.663 +<\auxiliary> 50.664 + <\collection> 50.665 + <\associate|bib> 50.666 + Hewitt10 50.667 + 50.668 + Actors97 50.669 + 50.670 + ComponentModel00 50.671 + 50.672 + hoare78 50.673 + 50.674 + milner99 50.675 + 50.676 + Gelernter85Linda 50.677 + </associate> 50.678 + <\associate|figure> 50.679 + <tuple|normal|The three places that specialization occurs. In the top 50.680 + box, the toolchain extracts task information useful to the scheduler 50.681 + and packages it into the binary, specializing the source to the 50.682 + plugin's interface. \ In the middle, the scheduler in the plugin 50.683 + retrives the info and uses it to make scheduling decisions, 50.684 + specializing the binary to the hardware abstraction. At the bottom, the 50.685 + VMS-core implementation hides hardware details behind the interface, 50.686 + specializing the hardware to the hardware 50.687 + abstraction.|<pageref|auto-6>> 50.688 + 50.689 + <\tuple|normal> 50.690 + \; 50.691 + 50.692 + The toolchain is split, the top portion is related to parallelism and 50.693 + the bottom portion does sequential compilation of C code. In the top 50.694 + box, source code is transformed into C code that has calls inserted. 50.695 + They invoke the plugin, during the run, to perform concurrency 50.696 + operations, such as synchronizations, sends, receives, publish, and 50.697 + so on. The top box also extracts parallelism information from the 50.698 + source, and encodes it as implementations of library calls. These are 50.699 + later invoked by the plugin to retrieve the information. \ In this 50.700 + way, the generated parallelism information passes through any 50.701 + standard sequential C compiler, which is the only hardware-specific 50.702 + portion. 50.703 + </tuple|<pageref|auto-7>> 50.704 + 50.705 + <tuple|normal|Eco-system is composed of toolchains, plugins, and HW 50.706 + abstractions. \ Each element, such as a particular plugin or sequential 50.707 + C compiler, is supplied by a different physical-world entity, such as a 50.708 + company or a research group. \ Elements related to a particular 50.709 + language are all shown in the same color, while elements related to the 50.710 + same hardware class are also shown in the same color. \ The plugins 50.711 + combine a language color with a hardware class color because they 50.712 + depend on both. \ As can be seen by the coloring, the toolchain for a 50.713 + language is independent of HW except for the sequential C 50.714 + compilers.|<pageref|auto-8>> 50.715 + 50.716 + <tuple|normal|<label|figInternals>Internal elements of VMS 50.717 + implementation |<pageref|auto-12>> 50.718 + </associate> 50.719 + <\associate|table> 50.720 + <tuple|normal|<label|tabPersonDaysLang>Person-days to design, code, and 50.721 + test the library plus plug-in of each language, in the order attempted. 50.722 + L.O.C. is lines of (original) code, excluding libraries and 50.723 + comments.|<pageref|auto-18>> 50.724 + 50.725 + <tuple|normal|<label|tabOverheadCycles>Cycles of overhead, per 50.726 + scheduled slave, consisting of: A) VMS-only cycles spent in VMS portion 50.727 + of <with|font-family|<quote|tt>|language|<quote|verbatim>|master_loop>, 50.728 + B) time in the <with|font-family|<quote|tt>|language|<quote|verbatim>|core_loop> 50.729 + to switch between VPs, C) Language-specific cycles spent in the 50.730 + plugin's Request Handler and Scheduler, and D) obtaining the Master 50.731 + lock. \ ``comp only'' column is cycles with perfect memory, ``comp + 50.732 + mem'' is actual cycles. ``Plugin-concur'' is only concurrency related 50.733 + requests, ``plugin-all'' includes create and malloc requests. Numbers 50.734 + are to two significant digits due to variability. \ Language overhead 50.735 + was measured while running Matrix Multiply.|<pageref|auto-20>> 50.736 + 50.737 + <tuple|normal|<label|tabHeadToHeadVCilk>Head-to-head comparison of exe 50.738 + time in seconds for VCilk vs Cilk 5.4 on MM. \ VCilk does 23% worse on 50.739 + large matrices that run for several seconds, but 210% better on small 50.740 + matrices requiring milliseconds.|<pageref|auto-22>> 50.741 + 50.742 + <tuple|normal|<label|tabVPThreadSync>Rough measurements of cycles to 50.743 + perform synchronization primitives. \ For VPThread, the first column 50.744 + shows computation time of plugin when all memory accesses hit in the 50.745 + cache. The second column is total time, including 50.746 + <with|font-family|<quote|tt>|language|<quote|verbatim>|master_loop>, 50.747 + <with|font-family|<quote|tt>|language|<quote|verbatim>|core_loop>, and 50.748 + the effects of cache and page misses. Pthread times are deduced from 50.749 + round-trip experiments. The ratio calculations are pthread vs total 50.750 + VPThread.|<pageref|auto-23>> 50.751 + </associate> 50.752 + <\associate|toc> 50.753 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>Overview 50.754 + and Motivation> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.755 + <no-break><pageref|auto-1><vspace|0.5fn> 50.756 + 50.757 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|2<space|2spc>VMS> 50.758 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.759 + <no-break><pageref|auto-2><vspace|0.5fn> 50.760 + 50.761 + <with|par-left|<quote|1.5fn>|2.1<space|2spc>Overview of VMS 50.762 + \ \ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.763 + <no-break><pageref|auto-3>> 50.764 + 50.765 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|3<space|2spc>Specialization> 50.766 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.767 + <no-break><pageref|auto-4><vspace|0.5fn> 50.768 + 50.769 + <with|par-left|<quote|1.5fn>|3.1<space|2spc>Three-step specialization 50.770 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.771 + <no-break><pageref|auto-5>> 50.772 + 50.773 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|4<space|2spc>Eco-System> 50.774 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.775 + <no-break><pageref|auto-9><vspace|0.5fn> 50.776 + 50.777 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|5<space|2spc>> 50.778 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.779 + <no-break><pageref|auto-10><vspace|0.5fn> 50.780 + 50.781 + <with|par-left|<quote|1.5fn>|5.1<space|2spc>Internal Workings of VMS 50.782 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.783 + <no-break><pageref|auto-11>> 50.784 + 50.785 + <with|par-left|<quote|6fn>|Steps of Operation: 50.786 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.787 + <no-break><pageref|auto-13><vspace|0.15fn>> 50.788 + 50.789 + <with|par-left|<quote|6fn>|Enabling sequential implementation of 50.790 + concurrency semantics: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.791 + <no-break><pageref|auto-14><vspace|0.15fn>> 50.792 + 50.793 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|6<space|2spc><label|secResults>Performance> 50.794 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.795 + <no-break><pageref|auto-15><vspace|0.5fn> 50.796 + 50.797 + <with|par-left|<quote|6fn>|Setup: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.798 + <no-break><pageref|auto-16><vspace|0.15fn>> 50.799 + 50.800 + <with|par-left|<quote|6fn>|Implementation-Time: 50.801 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.802 + <no-break><pageref|auto-17><vspace|0.15fn>> 50.803 + 50.804 + <with|par-left|<quote|6fn>|Execution Performance: 50.805 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.806 + <no-break><pageref|auto-19><vspace|0.15fn>> 50.807 + 50.808 + <with|par-left|<quote|6fn>|Head to Head: VCilk vs Cilk 5.4 \ plus 50.809 + \ VPThread vs pthread: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.810 + <no-break><pageref|auto-21><vspace|0.15fn>> 50.811 + 50.812 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|7<space|2spc><label|secConclusion>Conclusion> 50.813 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.814 + <no-break><pageref|auto-24><vspace|0.5fn> 50.815 + 50.816 + <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|Bibliography> 50.817 + <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 50.818 + <no-break><pageref|auto-25><vspace|0.5fn> 50.819 + </associate> 50.820 + </collection> 50.821 +</auxiliary> 50.822 \ No newline at end of file
51.1 --- a/0__Papers/VMS/SSR/Jan_2011__SSR_parallelism_constructs.tm Thu Feb 02 12:22:53 2012 -0800 51.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 51.3 @@ -1,818 +0,0 @@ 51.4 -<TeXmacs|1.0.7.3> 51.5 - 51.6 -<style|article> 51.7 - 51.8 -<\body> 51.9 - <doc-data|<doc-title|SSR: \ An Easy to Use Parallelism 51.10 - Library>|<doc-author-data|<author-name|Sean Halle 51.11 - >|<author-email|sean.halle@inria.fr>>|<doc-author-data|<author-name|Albert 51.12 - Cohen>|<author-email|albert.cohen@inria.fr>>|> 51.13 - 51.14 - <\abstract> 51.15 - Locks and condition variables are difficult to use, and many alternatives 51.16 - have been proposed. \ This paper presents an additional alternative 51.17 - motivated by the synchronous send-receive pattern in process-calculi, and 51.18 - implemented with the new VMS extendable virtualization mechanism. It 51.19 - includes parallel singletons which are useful when dividing up work among 51.20 - cores, as well as atomic function execution and a restricted form of 51.21 - nested transactions. \ More importantly, it includes facilities to query 51.22 - the nature of the hardware, which allows work to be divided according to 51.23 - the hardware characteristics. 51.24 - 51.25 - We give examples of the use of the constructs, details of their 51.26 - implementation, and performance numbers. 51.27 - </abstract> 51.28 - 51.29 - <section|> 51.30 - 51.31 - \; 51.32 - 51.33 - <section|Background on VMS> 51.34 - 51.35 - \; 51.36 - 51.37 - <section|SSR Parallelism Constructs> 51.38 - 51.39 - <paragraph|Usage Examples:> 51.40 - 51.41 - \; 51.42 - 51.43 - \; 51.44 - 51.45 - \; 51.46 - 51.47 - <\with|par-columns|1> 51.48 - <\with|par-columns|2> 51.49 - <section|Overview and Motivation> 51.50 - 51.51 - Evidence is mounting that one-stop solutions to performance portability 51.52 - fail to address critical real-world patterns -- for example, attempting 51.53 - to place the full specialization into the toolchain 51.54 - <inactive|<cite|BLIS Hotpar>> requires a central entity that updates 51.55 - all toolchains when new hardware becomes available. \ It also requires 51.56 - automated re-compile for the new target and automated distribution of 51.57 - multiple binaries. Otherwise, the software developers would have no way 51.58 - to get their source code to run on new hardware -- their source has to 51.59 - be recompiled and the resulting binary distributed. To do this for 51.60 - thousands of different software development entities requires 51.61 - centralization. But such a centralized approach has technical and 51.62 - practical obstacles. 51.63 - 51.64 - Pure runtime based approaches <inactive|<cite|DKU java techreport>> 51.65 - imply a single binary, with the only change being the runtime system. 51.66 - Without help from the toolchain to extract relevant information and 51.67 - prepare it for the runtime, the amount of specialization and its 51.68 - effectiveness is limited. \ In addition, the runtime has to be 51.69 - separately implemented for every hardware platform, and for every 51.70 - language, without much reuse. \ 51.71 - 51.72 - Finally, hardware abstraction based approaches, such as JIT 51.73 - solutions<inactive|<cite|Sejits>>, place all the work of specializing 51.74 - into a single place, which makes reuse difficult, forcing extensive 51.75 - rewrite of JIT internals for each hardware platform, for each language. 51.76 - This software cost is an issue in the embedded space where new hardware 51.77 - is introduced often and has a limited market size to amortize the 51.78 - software cost. \ In addition, this one-stop approach requires a 51.79 - different JIT for each language, because it has to recognize 51.80 - language-specific features to specialize -- or else it fails to achieve 51.81 - good performance. This requires extensive work, making domain-specific 51.82 - languages time-consuming and difficult to develop, and the multiple 51.83 - JITs logistically awkward. 51.84 - 51.85 - What's needed is a system that leaves hardware free, language designers 51.86 - free, and software developers free, imposing minimal restrictions on 51.87 - them, while maximizing reuse of individual efforts and simplifying the 51.88 - logistics. It would be merely a support system that makes the work of 51.89 - each of those individual groups easier, and makes their independently 51.90 - provided pieces naturally support each other. 51.91 - 51.92 - We take the position in this paper that such a support system has to 51.93 - operate at all three levels: the language design plus toolchain level; 51.94 - the runtime system level; and the hardware abstraction level. \ Sequoia 51.95 - <inactive|<cite|>> does this in a limited way. \ We propose a more 51.96 - general approach that supports languages without restricting them, has 51.97 - more freedom to specialize the runtime, \ and reduces the effort to add 51.98 - new target hardware. It takes advantage of VMS (Virtualized 51.99 - Master-Slave) [<inactive|<cite|>>], which naturally provides pieces for 51.100 - each level, and acts as an organizing principle. 51.101 - 51.102 - Section 2 gives a high-level reveiw of VMS, and Section 3 reviews 51.103 - performance portability fundamentals. Section 4 then illustrates how 51.104 - VMS can be used to organize an eco-system in which performance 51.105 - portability is a reality. Section 5 gives supporing evidence of VMS's 51.106 - suitability, with measurements of the time to implement three embedded 51.107 - parallel languages, performance numbers for them, and measurements of 51.108 - the basic overhead of VMS. 51.109 - 51.110 - <section|VMS> 51.111 - 51.112 - On nomenclature, in this paper we define <em|task> as a 3-tuple -- 1) 51.113 - an animation event, 2) a collection of code animated, and 3) a 51.114 - collection of information instances that code is animated upon. 51.115 - However, we often refer to just the code plus data as a task, with the 51.116 - implication that animation will take place in the future. \ This allows 51.117 - us to say things like ``we create a task'', meaning we create a 51.118 - combination of code plus data with the intent to animate it, and ``we 51.119 - assign a task to'' which means we move the code plus data -- but at 51.120 - some future time the combination shall be animated, exactly once. 51.121 - 51.122 - <subsection|Overview of VMS \ >Virtualized Master Slave (VMS) is an 51.123 - execution model that replaces Threads. \ In effect, it opens up the 51.124 - thread-scheduler, letting the language supply its own scheduler that is 51.125 - plugged-in. Along with the scheduler, the plugin also contains a 51.126 - definition of concurrency constructs, such as publish-subscribe 51.127 - channel, or send-receive, or spwan-sync -- the scheduler plus 51.128 - concurrency constructs together complete the runtime for a parallel 51.129 - language. 51.130 - 51.131 - The plugin is supplied separately from the application, as a dynamic 51.132 - library or a device driver, which makes the runtime separately loaded 51.133 - onto the hardware, turningit into a new component in the software 51.134 - stack.\ 51.135 - 51.136 - The behavior of the languages's concurrency constructs is implemented 51.137 - in the plugin using sequential algorithms, reducing implementation time 51.138 - for the concurrency semantics to a matter of days. \ The plugin also 51.139 - contains the scheduler, which gives the language control over assigning 51.140 - virtual processors to physical cores. On multi-core shared-memory 51.141 - machines, the run-time overhead is low, on the order of a few hundred 51.142 - nano-seconds per concurrency operation. The VMS model can be 51.143 - implemented as a user-space library, or existing OS kernels can be 51.144 - converted to the VMS model by opening up their scheduler, and exposing 51.145 - the VMS plugin interface. 51.146 - 51.147 - What distinguishes VMS is that it doesn't impose its own concurrency 51.148 - semantics, but rather takes them as plugins. \ Hence VMS isn't a 51.149 - language, but rather <em|supports> the creation of language runtimes. 51.150 - Any language level execution model is implementable as a layer on top 51.151 - of VMS, including: Actors <cite|Hewitt10><cite|Actors97>; Components 51.152 - <cite|ComponentModel00>; process calculi like CSP <cite|hoare78>, and 51.153 - Pi-calculus <cite|milner99>; and coordination languages like Linda 51.154 - <cite|Gelernter85Linda>. \ Likewise implementable with VMS are systems 51.155 - like TBB and OpenMP, as well as hybrid languages like Sequioa, and 51.156 - legacy languages that rely on Threads such as Java, and C/C++ with 51.157 - pthreads. 51.158 - 51.159 - <section|Specialization> 51.160 - 51.161 - Portable performance is achieved by specializing the source code to the 51.162 - hardware. \ For traditonal sequential source on sequential processors, 51.163 - the specialization was the translation to machine code and optimization 51.164 - that took place in the compiler. 51.165 - 51.166 - This one-step specialization was sufficient because most of the 51.167 - performance portability was provided by using micro-architecture 51.168 - hardware techniques underneath a standard instruction-set abstraction. 51.169 - This has worked because, before recently, process technology has made 51.170 - every generation of sequential processor faster, and parallelism could 51.171 - be found at the granularity of single instructions. Also, CPU producers 51.172 - have kept their instruction sets relatively fixed. 51.173 - 51.174 - Unfortunately, for larger-granularities of parallelism, such a 51.175 - hardware-based approach to performance portability has proven 51.176 - infeasible so far. \ We conjecture that the reason is, that larger 51.177 - granularity parallelism is tied to the language constructs and to 51.178 - application constructs (whereas instruction-level parallelism is tied 51.179 - only to the machine-instruction-set constructs). Hence, information 51.180 - about the language patterns and application patterns must be available 51.181 - in order to exploit these larger granularities. \ The hardware cannot 51.182 - make use of the larger granularities because the instruction set 51.183 - abstraction provides no means to convey the necessary language and 51.184 - application patterns. 51.185 - 51.186 - Following this intuition, we propose that to be effective, a system for 51.187 - performance portability for parallel software should have a means of 51.188 - identifying language and application constructs and packaging this 51.189 - information in a standard format. \ Also, a hardware abstraction should 51.190 - be provided that accepts such information and uses it to make 51.191 - high-quality decisions about task creation, task sizing, and task 51.192 - placement. 51.193 - 51.194 - <subsection|Three-step specialization> 51.195 - 51.196 - VMS fits this proposal by allowing the language toolchain to extract 51.197 - the application's task patterns and language patterns, and package them 51.198 - in a standard format that any plugin for that language understands. As 51.199 - mentioned in the review, the plugin plus VMS implementation represent 51.200 - the parallel aspects of the hardware, so each language's plugin defines 51.201 - the format of the task info to be handed to the hardware abstraction. 51.202 - \ The first step of specializing is thus the extraction of the task 51.203 - info by the toolchain. 51.204 - 51.205 - <\with|par-first|0fn> 51.206 - <small-figure|<postscript|figures/3_stage_specialization.eps||*6/7||||>|The 51.207 - three places that specialization occurs. In the top box, the 51.208 - toolchain extracts task information useful to the scheduler and 51.209 - packages it into the binary, specializing the source to the plugin's 51.210 - interface. \ In the middle, the scheduler in the plugin retrives the 51.211 - info and uses it to make scheduling decisions, specializing the 51.212 - binary to the hardware abstraction. At the bottom, the VMS-core 51.213 - implementation hides hardware details behind the interface, 51.214 - specializing the hardware to the hardware abstraction.> 51.215 - </with> 51.216 - 51.217 - The second step of specialization is the plugin, which uses the task 51.218 - info to make high quality decisions about size and placement of tasks, 51.219 - as represented in the middle of figure 2. \ The last step of 51.220 - specialization is implementing the VMS abstraction on the particular 51.221 - hardware. \ This combination of plugin plus VMS has the same function 51.222 - that the instruction set had back in the sequential days -- it provides 51.223 - a standard hardware abstraction. \ VMS has the advantage that the 51.224 - abstraction is modifiable by choosing the plugin. 51.225 - 51.226 - <\with|par-first|0fn> 51.227 - <\small-figure|<postscript|figures/Toolchain.eps||||||>> 51.228 - \; 51.229 - 51.230 - The toolchain is split, the top portion is related to parallelism 51.231 - and the bottom portion does sequential compilation of C code. In 51.232 - the top box, source code is transformed into C code that has calls 51.233 - inserted. They invoke the plugin, during the run, to perform 51.234 - concurrency operations, such as synchronizations, sends, receives, 51.235 - publish, and so on. The top box also extracts parallelism 51.236 - information from the source, and encodes it as implementations of 51.237 - library calls. These are later invoked by the plugin to retrieve 51.238 - the information. \ In this way, the generated parallelism 51.239 - information passes through any standard sequential C compiler, 51.240 - which is the only hardware-specific portion. 51.241 - </small-figure> 51.242 - </with> 51.243 - 51.244 - Focusing on the toolchain, we propose breaking it into two sections: 51.245 - one for parallelism, the other for sequential. \ The parallelism 51.246 - portion extracts the task and language information needed to make high 51.247 - quality scheduling decisions. \ The sequential specializes individual 51.248 - functions to the sequential cores. \ The parallelism portion remains 51.249 - constant across hardware, only the sequential portion changes when the 51.250 - instruction-set of the target hardware changes. 51.251 - 51.252 - One possible way to achieve this is to make the parallel portion 51.253 - transform the original source to C code with embedded calls to the 51.254 - concurrency library functions. \ During this source-to-C-plus-lib-call 51.255 - transform, the information is packaged into functions in some way. 51.256 - \ The resulting C-plus-lib-calls source is then compiled with the 51.257 - sequential C compiler to make a binary, as depicted in Figure X. 51.258 - 51.259 - Meanwhile, the plugins for that language know the names of the library 51.260 - functions the task information has been packaged into. \ Hence, when 51.261 - the binary is linked to a plugin at load time, the task-info functions 51.262 - within the binary become available to the plugin. \ They are then 51.263 - called by the plugin during the run to extract the information, to make 51.264 - high quality scheduling decisions. 51.265 - 51.266 - This scheme allows unmodified sequential compilers to be used to pass 51.267 - the information along, inside of a standard binary format. \ It also 51.268 - separates the parallel and sequential portions of the tool chain 51.269 - cleanly, so only the relatively simple sequential C compiler changes 51.270 - with hardware. \ This scheme also leaves the language designers in 51.271 - charge of deciding the nature and definition of the information 51.272 - carrying functions. 51.273 - 51.274 - These properties enable reuse of the same parallel portion of the 51.275 - toolchain across chips, which is especially valuable in the embedded 51.276 - market. \ With the inclusion of real-time aspects, such as latency 51.277 - bounds and deadlines, this could dramatically speed up time to market 51.278 - and reduce cost of introduction of new embedded chips. 51.279 - 51.280 - This begs the question: what kind of task information is sufficient for 51.281 - parallel performance portability across the array of forseeable 51.282 - parallel architectures? We propose three kinds of information: 1) 51.283 - manipulators, which are able to modify the size of tasks and change the 51.284 - way data is accessed, 2) information about the tasks such as type of 51.285 - core they run best on, size of data footprint, predicted execution 51.286 - time, and 3) real-world constraints that relate to the tasks, such as 51.287 - deadlines, maximum latency for data to pass from one point in the 51.288 - computation to another, and quality related information. \ Again, it is 51.289 - up to the language and plugin to agree on what data is extracted, 51.290 - passed, and then used for scheduling. \ Meanwhile, it is up to VMS to 51.291 - provide the services and information required by the scheduler to make 51.292 - use of the information. 51.293 - 51.294 - As research progresses, additional types of information may become 51.295 - necessary, so this flexibility from the plugin system will prove key. 51.296 - \ Again, the plugin plus VMS implementation are the hardware 51.297 - abstraction -- the parallel equivalent of what the instruction set used 51.298 - to be for sequential processors. \ The two define the behavior that the 51.299 - binary expects to be present. 51.300 - 51.301 - This, finally, begs the question: what kind of information and services 51.302 - must VMS provide to the plugin? It must expose the features of the 51.303 - hardware that matter the most to performance (computation, energy, and 51.304 - real-world related performance). We suggest that the memory hierarchy 51.305 - and communication between the memory pools are the most important 51.306 - features for parallel performance. \ However, the VMS interface should 51.307 - only expose the portions of memory affectable by a runtime scheduler 51.308 - (the register set usage of a sequential processor is fixed by the 51.309 - binary and so not exposed). 51.310 - 51.311 - We suggest that most parallel architectures fall into a small number of 51.312 - classes, each of which exposes sufficient structure without exposing 51.313 - chip-specific details. What's important is the type(s) of cores, the 51.314 - pools of memory, and the nature of communication between them. On 51.315 - communication, the scheduler can treat the network statistically with 51.316 - relatively simple models, independently from the topology, without 51.317 - undue loss of performance <inactive|<cite|>>. So the main feature is 51.318 - coherent memory vs distributed, which determines whether communication 51.319 - can take place by shared variables in the code vs whether it needs 51.320 - explicit action. 51.321 - 51.322 - Given this, our proposed list includes: 1) multi-core and many-core 51.323 - that share a single coherent memory 2) one or more SIMD units that 51.324 - share a single coherent memory 3) collections of those connected by 51.325 - shared memory 4) distributed collections of those. Each memory pool, 51.326 - such as a cache or scratchpad, is exposed, with the communication costs 51.327 - from each pool to each other pool, and whether communication between 51.328 - them is automated or explicit. Applying this to known architectures: 51.329 - single-socket multi-core systems fall into 1, while adding a GPGPU puts 51.330 - them also into 2 and 4. \ The Cell BE is in 1 and 4, as is the SCC. 51.331 - \ Larrabee would have been in 1, 2, and 3 but may have been more 51.332 - effectively treated as 1, 2, and 4. \ Traditional supercomputers made 51.333 - up of shared-memory nodes connected by networks fall into 1 and 4. 51.334 - 51.335 - <\with|par-columns|1> 51.336 - <\big-figure> 51.337 - <postscript|figures/eco-system.eps|*7/8|*7/8||||> 51.338 - </big-figure|Eco-system is composed of toolchains, plugins, and HW 51.339 - abstractions. \ Each element, such as a particular plugin or 51.340 - sequential C compiler, is supplied by a different physical-world 51.341 - entity, such as a company or a research group. \ Elements related to 51.342 - a particular language are all shown in the same color, while elements 51.343 - related to the same hardware class are also shown in the same color. 51.344 - \ The plugins combine a language color with a hardware class color 51.345 - because they depend on both. \ As can be seen by the coloring, the 51.346 - toolchain for a language is independent of HW except for the 51.347 - sequential C compilers.> 51.348 - </with> 51.349 - 51.350 - <section|Eco-System> 51.351 - 51.352 - Figure 4 depicts how the pieces all fit together. At the top, 51.353 - independent software developers write applications, in a variety of 51.354 - languages. Each language defines its own format for conveying 51.355 - task-related info. Independently, plugins are implemented that accept 51.356 - that format, one plugin for each hardware class. This allows hardware 51.357 - manufacturers to supply their own plugins, for unusual hardware 51.358 - designs, and still take advantage of the existing application binaries 51.359 - (non-standard instruction sets also need an install-time translator). 51.360 - 51.361 - The plugins, in the middle, act as a cross-bar switch, connecting the 51.362 - binaries to the hardware abstractions. They are separately distributed 51.363 - and loaded onto the hardware, much the way device drivers are 51.364 - currently. 51.365 - 51.366 - At the bottom, the hardware abstraction implementations standardize the 51.367 - hardware. They are mainly supplied by the hardware manufacturers, but 51.368 - open-source implementations will likely also arise. 51.369 - 51.370 - Note that the only software developed for a new HW platform is the 51.371 - VMS-core abstraction, sequential C compiler, and a bare-bones OS. 51.372 - Existing applications are adpated via the plugin and abstraction. 51.373 - 51.374 - We expect that a small number of HW classes will quickly come to 51.375 - dominate, which will encourage later HW development to fit within the 51.376 - dominant classes. As a result, a standard set of sequential C compilers 51.377 - will emerge, allowing software developers to perform a single 51.378 - compilation pass. For fine tuning of <em|sequential> compilation 51.379 - choices, we expect install-time binary rewriters or run-time binary 51.380 - optimizations. 51.381 - 51.382 - The end-result is that no centralized control is needed. Language 51.383 - designers are free to innovate, inventing new concurrency constructs 51.384 - and communication abstractions, and need as little as just the set of 51.385 - plugins, or just the source-to-C translator to reach all the standard 51.386 - hardware platforms. Likewise, hardware manufacturers are free to 51.387 - innovate, needing minimal software development for a new chip to enjoy 51.388 - access to all the applications.\ 51.389 - 51.390 - The set of plugins is the key to this portability, and the funnelling 51.391 - of many applications to the same parallelism information at the top, 51.392 - and many hardware platforms to the same abstraction at the bottom. 51.393 - </with> 51.394 - </with> 51.395 - 51.396 - <\with|par-columns|2> 51.397 - <section|> 51.398 - 51.399 - <\with|par-columns|2> 51.400 - <subsection|Internal Workings of VMS> 51.401 - 51.402 - As far as a binary is concerned, the parallel behavior of the hardware 51.403 - is represented by the combination of VMS plus the plugin, while the 51.404 - \ sequential behavior of the hardware's processing-elements is 51.405 - represented by the Instruction Set of each core. 51.406 - 51.407 - The VMS implementation is made up of a master virtual-processor that 51.408 - receives and calls the plugin functions, and a ``core-controller'' that 51.409 - handles transferring the physical-core between animating the master 51.410 - virtual processor and animating the application's virtual processors, 51.411 - but according to the decisions the plugin functions make, when called 51.412 - by the master VP. As part of invoking a concurrency construct, an 51.413 - application VP attaches to itself a request destined for the master VP, 51.414 - then suspends. We next review how this request reaches the plugin's 51.415 - concurrency-construct implementation, called the requestion handler, by 51.416 - walking through the steps VMS takes during operation. 51.417 - 51.418 - <\with|par-first|0fn> 51.419 - <\with|par-left|0cm> 51.420 - <postscript|figures/VMS-core__internal_workings.eps|*15/16|||||> 51.421 - </with> 51.422 - </with> 51.423 - 51.424 - <small-figure||<label|figInternals>Internal elements of VMS 51.425 - implementation > 51.426 - 51.427 - <paragraph|Steps of Operation:>The steps of operation are numbered in 51.428 - Figure <reference|figInternals>. \ Taking them in order, 1) 51.429 - <verbatim|master_loop> scans the scheduling slots to see which ones' 51.430 - slaves have suspended since the previous scan. \ 2) It hands these to 51.431 - the request handler plugged-in. \ \ 3) The data in the request causes 51.432 - manipulation of the data structures within the semantic state. \ These 51.433 - structures hold all the slaves currently in the blocked state. \ 4) 51.434 - Requests cause slaves to be moved to the ready-container, which was 51.435 - implemented as an array of simple queues, one to each physical core. 51.436 - Which core receives the slave is under plugin control, determined by a 51.437 - combination of request contents, semantic state and physical state. 5) 51.438 - During the scan, the <verbatim|master_loop> also looks for empty slots. 51.439 - It calls the scheduler plug-in function, which chooses a slave from the 51.440 - ready container. \ 6) The <verbatim|master_loop> then places the slave 51.441 - VP's pointer into the scheduling slot, making it available to the 51.442 - <verbatim|core_loop>. \ 7) When done with the scan, <verbatim|masterVP> 51.443 - suspends, switching animation back to the <verbatim|core_loop>. \ 8) 51.444 - <verbatim|core_loop> takes slave VPs out of the slots, then 9) switches 51.445 - animation to them. \ 10) When a slave self-suspends, animation returns 51.446 - to the <verbatim|core_loop>, which picks another, until 11) all slots 51.447 - are empty and the <verbatim|core_loop> switches animation to the 51.448 - <verbatim|masterVP>. 51.449 - 51.450 - <paragraph|Enabling sequential implementation of concurrency 51.451 - semantics:>All of that happens on each core separately, but in this 51.452 - particular implementation we use a central <verbatim|masterLock> to 51.453 - ensure that only one core's <verbatim|masterVP> can be active at any 51.454 - time. \ This guarantees non-overlap of trace-segments from different 51.455 - <verbatim|masterVP>s, allowing the plugins to use sequential 51.456 - algorithms, without a performance penalty, as verified in Section 5. 51.457 - </with> 51.458 - 51.459 - <section|<label|secResults>Performance> 51.460 - 51.461 - <paragraph|Setup:>We implemented blocked dense matrix multiply and ran on 51.462 - a Core2Quad 2.4Ghz chip. 51.463 - 51.464 - <paragraph|Implementation-Time:>Time to implement the runtime for the 51.465 - three parallel languages averages 2 days. \ As an example of 51.466 - productivity, adding nested transactions, parallel singleton, and atomic 51.467 - function-execution to SSR required a single afternoon, totaling less than 51.468 - 100 lines of C code. Table <reference|tabPersonDaysLang> summarizes 51.469 - implementation times. 51.470 - 51.471 - <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|>|<cell|SSR>|<cell|VPThread>|<cell|VCilk>>|<row|<cell|Design>|<cell|4>|<cell|1>|<cell|0.5>>|<row|<cell|Code>|<cell|2>|<cell|0.5>|<cell|0.5>>|<row|<cell|Test>|<cell|1>|<cell|0.5>|<cell|0.5>>|<row|<cell|L.O.C.>|<cell|470>|<cell|290>|<cell|310>>>>>|<label|tabPersonDaysLang>Person-days 51.472 - to design, code, and test the library plus plug-in of each language, in 51.473 - the order attempted. L.O.C. is lines of (original) code, excluding 51.474 - libraries and comments.>>>>>> 51.475 - 51.476 - <paragraph|Execution Performance:> \ seen in Table 51.477 - <reference|tabOverheadCycles>. 51.478 - 51.479 - The code has not been designed for speed, but rather to be easy to 51.480 - understand and modify. In particular, the schedulers are simple queues 51.481 - with no optimization for performance. 51.482 - 51.483 - <\with|par-mode|left> 51.484 - <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|3|18|4|5|cell-halign|r>|<cwith|1|1|4|5|cell-halign|r>|<cwith|10|10|1|4|cell-tborder|.05fn>|<cwith|13|13|1|4|cell-tborder|.05fn>|<cwith|16|16|1|4|cell-tborder|.05fn>|<cwith|18|18|1|4|cell-bborder|.05fn>|<cwith|7|7|4|4|cell-halign|r>|<cwith|1|18|3|3|cell-halign|r>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|>|<cell|>|<cell|comp>|<cell|comp>>|<row|<cell|VMS 51.485 - Only:>|<cell|>|<cell|only>|<cell|+mem>>|<row|<cell|<verbatim|master_loop>>|<cell|>|<cell|91>|<cell| 51.486 - \ 110>>|<row|<cell|switch VPs>|<cell|>|<cell|77>|<cell| 51.487 - \ 130>>|<row|<cell|>|<cell|>|<cell|>|<cell|>>|<row|<cell|(malloc)>|<cell|>|<cell|160>|<cell|2300>>|<row|<cell|(create 51.488 - VP)>|<cell|>|<cell|540>|<cell|3800>>|<row|<cell|>|<cell|>|<cell|>|<cell|>>|<row|<cell|Language:>|<cell|>|<cell|>|<cell|>>|<row|<cell|SSR>|<cell|plugin 51.489 - -- concur>|<cell|190>|<cell|540>>|<row|<cell|>|<cell|plugin -- 51.490 - all>|<cell|530>|<cell|2200>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 51.491 - 250>>|<row|<cell|VPThread>|<cell|plugin -- 51.492 - concur>|<cell|66>|<cell|710>>|<row|<cell|>|<cell|plugin -- 51.493 - all>|<cell|180>|<cell|1500>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 51.494 - 250>>|<row|<cell|VCilk>|<cell|plugin -- 51.495 - concur>|<cell|65>|<cell|260>>|<row|<cell|>|<cell|plugin -- 51.496 - all>|<cell|330>|<cell|1800>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 51.497 - 250>>>>>|<label|tabOverheadCycles>Cycles of overhead, per scheduled 51.498 - slave, consisting of: A) VMS-only cycles spent in VMS portion of 51.499 - <verbatim|master_loop>, B) time in the <verbatim|core_loop> to switch 51.500 - between VPs, C) Language-specific cycles spent in the plugin's Request 51.501 - Handler and Scheduler, and D) obtaining the Master lock. \ ``comp 51.502 - only'' column is cycles with perfect memory, ``comp + mem'' is actual 51.503 - cycles. ``Plugin-concur'' is only concurrency related requests, 51.504 - ``plugin-all'' includes create and malloc requests. Numbers are to two 51.505 - significant digits due to variability. \ Language overhead was measured 51.506 - while running Matrix Multiply.>>>>>> 51.507 - </with> 51.508 - 51.509 - <paragraph|Head to Head: VCilk vs Cilk 5.4 \ plus \ VPThread vs 51.510 - pthread:>We compare our implementation of the <verbatim|spawn> and 51.511 - <verbatim|sync> constructs against the distributed version of Cilk, in 51.512 - Table <reference|tabHeadToHeadVCilk>, which shows that the same 51.513 - application code has similar performance. 51.514 - 51.515 - <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|8|8|1|4|cell-tborder|.05fn>|<cwith|4|4|1|4|cell-tborder|.05fn>|<cwith|2|2|1|4|cell-tborder|.05fn>|<cwith|2|9|2|2|cell-lborder|.05fn>|<cwith|7|7|2|2|cell-lborder|.05fn>|<cwith|6|6|2|3|cell-tborder|.05fn>|<cwith|6|6|2|2|cell-lborder|.05fn>|<cwith|6|6|4|4|cell-tborder|.05fn>|<cwith|6|6|1|1|cell-tborder|.05fn>|<cwith|9|9|1|3|cell-bborder|.05fn>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|Matrix 51.516 - size>|<cell|>|<cell|>>|<row|<cell|81x81>|<cell|Cilk>|<cell|.017>>|<row|<cell|>|<cell|VCilk>|<cell|.008>>|<row|<cell|324x324>|<cell|Cilk>|<cell|.13>>|<row|<cell|>|<cell|VCilk>|<cell|.13>>|<row|<cell|648x648>|<cell|Cilk>|<cell|.71>>|<row|<cell|>|<cell|VCilk>|<cell|.85>>|<row|<cell|1296x1296>|<cell|Cilk>|<cell|4.8>>|<row|<cell|>|<cell|VCilk>|<cell|6.2>>>>>|<label|tabHeadToHeadVCilk>Head-to-head 51.517 - comparison of exe time in seconds for VCilk vs Cilk 5.4 on MM. \ VCilk 51.518 - does 23% worse on large matrices that run for several seconds, but 210% 51.519 - better on small matrices requiring milliseconds.>>>>>> 51.520 - 51.521 - \; 51.522 - 51.523 - Versus pthreads, our VMS based implementation has more than an order of 51.524 - magnitude better overhead per invocation of mutex or condition variable 51.525 - functionality, as seen in Table <reference|tabVPThreadSync>. 51.526 - 51.527 - <\with|par-mode|left> 51.528 - <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|4|7|2|5|cell-halign|r>|<cwith|6|6|4|5|cell-halign|r>|<cwith|1|1|2|2|cell-width|2.7fn>|<cwith|1|1|2|2|cell-hmode|exact>|<cwith|2|3|2|3|cell-halign|r>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<cwith|4|4|1|5|cell-tborder|.05fn>|<cwith|2|2|2|5|cell-tborder|.05fn>|<cwith|1|7|4|4|cell-lborder|.05fn>|<cwith|1|7|4|4|cell-rborder|.05fn>|<table|<row|<cell|>|<cell| 51.529 - VPThread>|<cell|>|<cell|pthread>|<cell|ratio>>|<row|<cell|>|<cell|comp>|<cell|total>|<cell|>|<cell|>>|<row|<cell|>|<cell|only>|<cell|>|<cell|>|<cell|>>|<row|<cell|mutex_lock>|<cell|85>|<cell|1050>|<cell|50,000>|<cell|48:1>>|<row|<cell|mutex_unlock>|<cell|85>|<cell|610>|<cell|45,000>|<cell|74:1>>|<row|<cell|cond_wait 51.530 - >|<cell|85>|<cell|850>|<cell|60,000>|<cell|71:1>>|<row|<cell|cond_signal>|<cell|90>|<cell|650>|<cell|60,000>|<cell|92:1>>>>>|<label|tabVPThreadSync>Rough 51.531 - measurements of cycles to perform synchronization primitives. \ For 51.532 - VPThread, the first column shows computation time of plugin when all 51.533 - memory accesses hit in the cache. The second column is total time, 51.534 - including <verbatim|master_loop>, <verbatim|core_loop>, and the effects 51.535 - of cache and page misses. Pthread times are deduced from round-trip 51.536 - experiments. The ratio calculations are pthread vs total 51.537 - VPThread.>>>>>> 51.538 - </with> 51.539 - 51.540 - <section|<label|secConclusion>Conclusion> 51.541 - 51.542 - This is a position paper, merely a suggestion for a large scale 51.543 - organizing principle by which real-world entities can cooperatively 51.544 - achieve performance portability. The key pattern is the funnelling of 51.545 - many applications to the same parallelism information at the top, the 51.546 - funnelling of many hardware platforms to the same abstraction at the 51.547 - bottom, and the set of plugins that connect the two ends. 51.548 - </with> 51.549 - 51.550 - <\bibliography|bib|Helpers/plain|Helpers/Bib_for_papers.bib> 51.551 - \; 51.552 - </bibliography> 51.553 - 51.554 - \; 51.555 - 51.556 - \; 51.557 -</body> 51.558 - 51.559 -<\initial> 51.560 - <\collection> 51.561 - <associate|font-base-size|9> 51.562 - <associate|language|american> 51.563 - <associate|page-breaking|sloppy> 51.564 - <associate|page-extend|2fn> 51.565 - <associate|page-flexibility|1.0> 51.566 - <associate|page-medium|paper> 51.567 - <associate|page-screen-margin|true> 51.568 - <associate|page-show-hf|true> 51.569 - <associate|page-shrink|0fn> 51.570 - <associate|page-type|letter> 51.571 - <associate|preamble|false> 51.572 - </collection> 51.573 -</initial> 51.574 - 51.575 -<\references> 51.576 - <\collection> 51.577 - <associate|auto-1|<tuple|1|1>> 51.578 - <associate|auto-10|<tuple|1|4>> 51.579 - <associate|auto-11|<tuple|2|4>> 51.580 - <associate|auto-12|<tuple|3|4>> 51.581 - <associate|auto-13|<tuple|7|4>> 51.582 - <associate|auto-14|<tuple|8|5>> 51.583 - <associate|auto-15|<tuple|8.1|5>> 51.584 - <associate|auto-16|<tuple|4|5>> 51.585 - <associate|auto-17|<tuple|2|5>> 51.586 - <associate|auto-18|<tuple|3|5>> 51.587 - <associate|auto-19|<tuple|9|5>> 51.588 - <associate|auto-2|<tuple|2|2>> 51.589 - <associate|auto-20|<tuple|4|5>> 51.590 - <associate|auto-21|<tuple|5|5>> 51.591 - <associate|auto-22|<tuple|1|5>> 51.592 - <associate|auto-23|<tuple|6|6>> 51.593 - <associate|auto-24|<tuple|2|6>> 51.594 - <associate|auto-25|<tuple|7|6>> 51.595 - <associate|auto-26|<tuple|3|6>> 51.596 - <associate|auto-27|<tuple|4|8>> 51.597 - <associate|auto-28|<tuple|10|8>> 51.598 - <associate|auto-29|<tuple|10|8>> 51.599 - <associate|auto-3|<tuple|3|2>> 51.600 - <associate|auto-30|<tuple|7|8>> 51.601 - <associate|auto-31|<tuple|8|8>> 51.602 - <associate|auto-32|<tuple|3|8>> 51.603 - <associate|auto-33|<tuple|4|8>> 51.604 - <associate|auto-34|<tuple|7|9>> 51.605 - <associate|auto-35|<tuple|7|9>> 51.606 - <associate|auto-36|<tuple|4|9>> 51.607 - <associate|auto-37|<tuple|8|9>> 51.608 - <associate|auto-38|<tuple|8|10>> 51.609 - <associate|auto-39|<tuple|9|10>> 51.610 - <associate|auto-4|<tuple|1|2>> 51.611 - <associate|auto-40|<tuple|9|10>> 51.612 - <associate|auto-41|<tuple|9|10>> 51.613 - <associate|auto-42|<tuple|9|10>> 51.614 - <associate|auto-43|<tuple|9|10>> 51.615 - <associate|auto-44|<tuple|16|10>> 51.616 - <associate|auto-45|<tuple|3|10>> 51.617 - <associate|auto-46|<tuple|4|11>> 51.618 - <associate|auto-47|<tuple|9|11>> 51.619 - <associate|auto-48|<tuple|9|11>> 51.620 - <associate|auto-49|<tuple|9|11>> 51.621 - <associate|auto-5|<tuple|4|2>> 51.622 - <associate|auto-50|<tuple|9|?>> 51.623 - <associate|auto-51|<tuple|9|?>> 51.624 - <associate|auto-52|<tuple|9|?>> 51.625 - <associate|auto-6|<tuple|5|2>> 51.626 - <associate|auto-7|<tuple|5.1|3>> 51.627 - <associate|auto-8|<tuple|6|4>> 51.628 - <associate|auto-9|<tuple|6.1|4>> 51.629 - <associate|bib-Actors97|<tuple|1|10>> 51.630 - <associate|bib-CILKHome|<tuple|6|10>> 51.631 - <associate|bib-ComponentModel00|<tuple|11|10>> 51.632 - <associate|bib-Conway63|<tuple|2|10>> 51.633 - <associate|bib-Dijkstra67|<tuple|4|10>> 51.634 - <associate|bib-Gelernter85Linda|<tuple|5|10>> 51.635 - <associate|bib-Hewitt10|<tuple|8|10>> 51.636 - <associate|bib-Lamport78|<tuple|6|11>> 51.637 - <associate|bib-Lamport87|<tuple|10|10>> 51.638 - <associate|bib-OpenMPHome|<tuple|14|10>> 51.639 - <associate|bib-TBBHome|<tuple|3|10>> 51.640 - <associate|bib-VMSHome|<tuple|7|10>> 51.641 - <associate|bib-hoare78|<tuple|9|10>> 51.642 - <associate|bib-milner80|<tuple|12|10>> 51.643 - <associate|bib-milner99|<tuple|13|10>> 51.644 - <associate|figAppFlow|<tuple|5|6>> 51.645 - <associate|figInternals|<tuple|4|4>> 51.646 - <associate|figMasterSplit|<tuple|6|6>> 51.647 - <associate|figTimeMapping|<tuple|6|4>> 51.648 - <associate|secAbsModel|<tuple|6|4>> 51.649 - <associate|secApp|<tuple|6|7>> 51.650 - <associate|secConclusion|<tuple|10|6>> 51.651 - <associate|secInternal|<tuple|3|4>> 51.652 - <associate|secLib|<tuple|6|8>> 51.653 - <associate|secOS|<tuple|5.2|10>> 51.654 - <associate|secResults|<tuple|10|5>> 51.655 - <associate|tabHeadToHeadVCilk|<tuple|3|5>> 51.656 - <associate|tabMasterCycles|<tuple|2|?>> 51.657 - <associate|tabOverheadCycles|<tuple|2|5>> 51.658 - <associate|tabPersonDaysLang|<tuple|1|5>> 51.659 - <associate|tabVPThreadSync|<tuple|4|6>> 51.660 - </collection> 51.661 -</references> 51.662 - 51.663 -<\auxiliary> 51.664 - <\collection> 51.665 - <\associate|bib> 51.666 - Hewitt10 51.667 - 51.668 - Actors97 51.669 - 51.670 - ComponentModel00 51.671 - 51.672 - hoare78 51.673 - 51.674 - milner99 51.675 - 51.676 - Gelernter85Linda 51.677 - </associate> 51.678 - <\associate|figure> 51.679 - <tuple|normal|The three places that specialization occurs. In the top 51.680 - box, the toolchain extracts task information useful to the scheduler 51.681 - and packages it into the binary, specializing the source to the 51.682 - plugin's interface. \ In the middle, the scheduler in the plugin 51.683 - retrives the info and uses it to make scheduling decisions, 51.684 - specializing the binary to the hardware abstraction. At the bottom, the 51.685 - VMS-core implementation hides hardware details behind the interface, 51.686 - specializing the hardware to the hardware 51.687 - abstraction.|<pageref|auto-6>> 51.688 - 51.689 - <\tuple|normal> 51.690 - \; 51.691 - 51.692 - The toolchain is split, the top portion is related to parallelism and 51.693 - the bottom portion does sequential compilation of C code. In the top 51.694 - box, source code is transformed into C code that has calls inserted. 51.695 - They invoke the plugin, during the run, to perform concurrency 51.696 - operations, such as synchronizations, sends, receives, publish, and 51.697 - so on. The top box also extracts parallelism information from the 51.698 - source, and encodes it as implementations of library calls. These are 51.699 - later invoked by the plugin to retrieve the information. \ In this 51.700 - way, the generated parallelism information passes through any 51.701 - standard sequential C compiler, which is the only hardware-specific 51.702 - portion. 51.703 - </tuple|<pageref|auto-7>> 51.704 - 51.705 - <tuple|normal|Eco-system is composed of toolchains, plugins, and HW 51.706 - abstractions. \ Each element, such as a particular plugin or sequential 51.707 - C compiler, is supplied by a different physical-world entity, such as a 51.708 - company or a research group. \ Elements related to a particular 51.709 - language are all shown in the same color, while elements related to the 51.710 - same hardware class are also shown in the same color. \ The plugins 51.711 - combine a language color with a hardware class color because they 51.712 - depend on both. \ As can be seen by the coloring, the toolchain for a 51.713 - language is independent of HW except for the sequential C 51.714 - compilers.|<pageref|auto-8>> 51.715 - 51.716 - <tuple|normal|<label|figInternals>Internal elements of VMS 51.717 - implementation |<pageref|auto-12>> 51.718 - </associate> 51.719 - <\associate|table> 51.720 - <tuple|normal|<label|tabPersonDaysLang>Person-days to design, code, and 51.721 - test the library plus plug-in of each language, in the order attempted. 51.722 - L.O.C. is lines of (original) code, excluding libraries and 51.723 - comments.|<pageref|auto-18>> 51.724 - 51.725 - <tuple|normal|<label|tabOverheadCycles>Cycles of overhead, per 51.726 - scheduled slave, consisting of: A) VMS-only cycles spent in VMS portion 51.727 - of <with|font-family|<quote|tt>|language|<quote|verbatim>|master_loop>, 51.728 - B) time in the <with|font-family|<quote|tt>|language|<quote|verbatim>|core_loop> 51.729 - to switch between VPs, C) Language-specific cycles spent in the 51.730 - plugin's Request Handler and Scheduler, and D) obtaining the Master 51.731 - lock. \ ``comp only'' column is cycles with perfect memory, ``comp + 51.732 - mem'' is actual cycles. ``Plugin-concur'' is only concurrency related 51.733 - requests, ``plugin-all'' includes create and malloc requests. Numbers 51.734 - are to two significant digits due to variability. \ Language overhead 51.735 - was measured while running Matrix Multiply.|<pageref|auto-20>> 51.736 - 51.737 - <tuple|normal|<label|tabHeadToHeadVCilk>Head-to-head comparison of exe 51.738 - time in seconds for VCilk vs Cilk 5.4 on MM. \ VCilk does 23% worse on 51.739 - large matrices that run for several seconds, but 210% better on small 51.740 - matrices requiring milliseconds.|<pageref|auto-22>> 51.741 - 51.742 - <tuple|normal|<label|tabVPThreadSync>Rough measurements of cycles to 51.743 - perform synchronization primitives. \ For VPThread, the first column 51.744 - shows computation time of plugin when all memory accesses hit in the 51.745 - cache. The second column is total time, including 51.746 - <with|font-family|<quote|tt>|language|<quote|verbatim>|master_loop>, 51.747 - <with|font-family|<quote|tt>|language|<quote|verbatim>|core_loop>, and 51.748 - the effects of cache and page misses. Pthread times are deduced from 51.749 - round-trip experiments. The ratio calculations are pthread vs total 51.750 - VPThread.|<pageref|auto-23>> 51.751 - </associate> 51.752 - <\associate|toc> 51.753 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>Overview 51.754 - and Motivation> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.755 - <no-break><pageref|auto-1><vspace|0.5fn> 51.756 - 51.757 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|2<space|2spc>VMS> 51.758 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.759 - <no-break><pageref|auto-2><vspace|0.5fn> 51.760 - 51.761 - <with|par-left|<quote|1.5fn>|2.1<space|2spc>Overview of VMS 51.762 - \ \ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.763 - <no-break><pageref|auto-3>> 51.764 - 51.765 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|3<space|2spc>Specialization> 51.766 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.767 - <no-break><pageref|auto-4><vspace|0.5fn> 51.768 - 51.769 - <with|par-left|<quote|1.5fn>|3.1<space|2spc>Three-step specialization 51.770 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.771 - <no-break><pageref|auto-5>> 51.772 - 51.773 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|4<space|2spc>Eco-System> 51.774 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.775 - <no-break><pageref|auto-9><vspace|0.5fn> 51.776 - 51.777 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|5<space|2spc>> 51.778 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.779 - <no-break><pageref|auto-10><vspace|0.5fn> 51.780 - 51.781 - <with|par-left|<quote|1.5fn>|5.1<space|2spc>Internal Workings of VMS 51.782 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.783 - <no-break><pageref|auto-11>> 51.784 - 51.785 - <with|par-left|<quote|6fn>|Steps of Operation: 51.786 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.787 - <no-break><pageref|auto-13><vspace|0.15fn>> 51.788 - 51.789 - <with|par-left|<quote|6fn>|Enabling sequential implementation of 51.790 - concurrency semantics: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.791 - <no-break><pageref|auto-14><vspace|0.15fn>> 51.792 - 51.793 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|6<space|2spc><label|secResults>Performance> 51.794 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.795 - <no-break><pageref|auto-15><vspace|0.5fn> 51.796 - 51.797 - <with|par-left|<quote|6fn>|Setup: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.798 - <no-break><pageref|auto-16><vspace|0.15fn>> 51.799 - 51.800 - <with|par-left|<quote|6fn>|Implementation-Time: 51.801 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.802 - <no-break><pageref|auto-17><vspace|0.15fn>> 51.803 - 51.804 - <with|par-left|<quote|6fn>|Execution Performance: 51.805 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.806 - <no-break><pageref|auto-19><vspace|0.15fn>> 51.807 - 51.808 - <with|par-left|<quote|6fn>|Head to Head: VCilk vs Cilk 5.4 \ plus 51.809 - \ VPThread vs pthread: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.810 - <no-break><pageref|auto-21><vspace|0.15fn>> 51.811 - 51.812 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|7<space|2spc><label|secConclusion>Conclusion> 51.813 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.814 - <no-break><pageref|auto-24><vspace|0.5fn> 51.815 - 51.816 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|Bibliography> 51.817 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 51.818 - <no-break><pageref|auto-25><vspace|0.5fn> 51.819 - </associate> 51.820 - </collection> 51.821 -</auxiliary> 51.822 \ No newline at end of file
52.1 --- a/0__Papers/VMS/SSR/Jan_2011__SSR_parallelism_constructs.tm~ Thu Feb 02 12:22:53 2012 -0800 52.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 52.3 @@ -1,818 +0,0 @@ 52.4 -<TeXmacs|1.0.7.3> 52.5 - 52.6 -<style|article> 52.7 - 52.8 -<\body> 52.9 - <doc-data|<doc-title|An Easy to Use Parallelism 52.10 - Library>|<doc-author-data|<author-name|Sean Halle 52.11 - >|<author-email|sean.halle@inria.fr>>|<doc-author-data|<author-name|Albert 52.12 - Cohen>|<author-email|albert.cohen@inria.fr>>|> 52.13 - 52.14 - <\abstract> 52.15 - Locks and condition variables are difficult to use, and many alternatives 52.16 - have been proposed. \ This paper presents an additional alternative 52.17 - motivated by the synchronous send-receive pattern in process-calculi, and 52.18 - implemented with the new VMS extendable virtualization mechanism. It 52.19 - includes parallel singletons which are useful when dividing up work among 52.20 - cores, as well as atomic function execution and a restricted form of 52.21 - nested transactions. \ More importantly, it includes facilities to query 52.22 - the nature of the hardware, which allows work to be divided according to 52.23 - the hardware characteristics. 52.24 - 52.25 - We give examples of the use of the constructs, details of their 52.26 - implementation, and performance numbers. 52.27 - </abstract> 52.28 - 52.29 - <section|> 52.30 - 52.31 - \; 52.32 - 52.33 - <section|Background on VMS> 52.34 - 52.35 - \; 52.36 - 52.37 - <section|SSR Parallelism Constructs> 52.38 - 52.39 - <paragraph|Usage Examples:> 52.40 - 52.41 - \; 52.42 - 52.43 - \; 52.44 - 52.45 - \; 52.46 - 52.47 - <\with|par-columns|1> 52.48 - <\with|par-columns|2> 52.49 - <section|Overview and Motivation> 52.50 - 52.51 - Evidence is mounting that one-stop solutions to performance portability 52.52 - fail to address critical real-world patterns -- for example, attempting 52.53 - to place the full specialization into the toolchain 52.54 - <inactive|<cite|BLIS Hotpar>> requires a central entity that updates 52.55 - all toolchains when new hardware becomes available. \ It also requires 52.56 - automated re-compile for the new target and automated distribution of 52.57 - multiple binaries. Otherwise, the software developers would have no way 52.58 - to get their source code to run on new hardware -- their source has to 52.59 - be recompiled and the resulting binary distributed. To do this for 52.60 - thousands of different software development entities requires 52.61 - centralization. But such a centralized approach has technical and 52.62 - practical obstacles. 52.63 - 52.64 - Pure runtime based approaches <inactive|<cite|DKU java techreport>> 52.65 - imply a single binary, with the only change being the runtime system. 52.66 - Without help from the toolchain to extract relevant information and 52.67 - prepare it for the runtime, the amount of specialization and its 52.68 - effectiveness is limited. \ In addition, the runtime has to be 52.69 - separately implemented for every hardware platform, and for every 52.70 - language, without much reuse. \ 52.71 - 52.72 - Finally, hardware abstraction based approaches, such as JIT 52.73 - solutions<inactive|<cite|Sejits>>, place all the work of specializing 52.74 - into a single place, which makes reuse difficult, forcing extensive 52.75 - rewrite of JIT internals for each hardware platform, for each language. 52.76 - This software cost is an issue in the embedded space where new hardware 52.77 - is introduced often and has a limited market size to amortize the 52.78 - software cost. \ In addition, this one-stop approach requires a 52.79 - different JIT for each language, because it has to recognize 52.80 - language-specific features to specialize -- or else it fails to achieve 52.81 - good performance. This requires extensive work, making domain-specific 52.82 - languages time-consuming and difficult to develop, and the multiple 52.83 - JITs logistically awkward. 52.84 - 52.85 - What's needed is a system that leaves hardware free, language designers 52.86 - free, and software developers free, imposing minimal restrictions on 52.87 - them, while maximizing reuse of individual efforts and simplifying the 52.88 - logistics. It would be merely a support system that makes the work of 52.89 - each of those individual groups easier, and makes their independently 52.90 - provided pieces naturally support each other. 52.91 - 52.92 - We take the position in this paper that such a support system has to 52.93 - operate at all three levels: the language design plus toolchain level; 52.94 - the runtime system level; and the hardware abstraction level. \ Sequoia 52.95 - <inactive|<cite|>> does this in a limited way. \ We propose a more 52.96 - general approach that supports languages without restricting them, has 52.97 - more freedom to specialize the runtime, \ and reduces the effort to add 52.98 - new target hardware. It takes advantage of VMS (Virtualized 52.99 - Master-Slave) [<inactive|<cite|>>], which naturally provides pieces for 52.100 - each level, and acts as an organizing principle. 52.101 - 52.102 - Section 2 gives a high-level reveiw of VMS, and Section 3 reviews 52.103 - performance portability fundamentals. Section 4 then illustrates how 52.104 - VMS can be used to organize an eco-system in which performance 52.105 - portability is a reality. Section 5 gives supporing evidence of VMS's 52.106 - suitability, with measurements of the time to implement three embedded 52.107 - parallel languages, performance numbers for them, and measurements of 52.108 - the basic overhead of VMS. 52.109 - 52.110 - <section|VMS> 52.111 - 52.112 - On nomenclature, in this paper we define <em|task> as a 3-tuple -- 1) 52.113 - an animation event, 2) a collection of code animated, and 3) a 52.114 - collection of information instances that code is animated upon. 52.115 - However, we often refer to just the code plus data as a task, with the 52.116 - implication that animation will take place in the future. \ This allows 52.117 - us to say things like ``we create a task'', meaning we create a 52.118 - combination of code plus data with the intent to animate it, and ``we 52.119 - assign a task to'' which means we move the code plus data -- but at 52.120 - some future time the combination shall be animated, exactly once. 52.121 - 52.122 - <subsection|Overview of VMS \ >Virtualized Master Slave (VMS) is an 52.123 - execution model that replaces Threads. \ In effect, it opens up the 52.124 - thread-scheduler, letting the language supply its own scheduler that is 52.125 - plugged-in. Along with the scheduler, the plugin also contains a 52.126 - definition of concurrency constructs, such as publish-subscribe 52.127 - channel, or send-receive, or spwan-sync -- the scheduler plus 52.128 - concurrency constructs together complete the runtime for a parallel 52.129 - language. 52.130 - 52.131 - The plugin is supplied separately from the application, as a dynamic 52.132 - library or a device driver, which makes the runtime separately loaded 52.133 - onto the hardware, turningit into a new component in the software 52.134 - stack.\ 52.135 - 52.136 - The behavior of the languages's concurrency constructs is implemented 52.137 - in the plugin using sequential algorithms, reducing implementation time 52.138 - for the concurrency semantics to a matter of days. \ The plugin also 52.139 - contains the scheduler, which gives the language control over assigning 52.140 - virtual processors to physical cores. On multi-core shared-memory 52.141 - machines, the run-time overhead is low, on the order of a few hundred 52.142 - nano-seconds per concurrency operation. The VMS model can be 52.143 - implemented as a user-space library, or existing OS kernels can be 52.144 - converted to the VMS model by opening up their scheduler, and exposing 52.145 - the VMS plugin interface. 52.146 - 52.147 - What distinguishes VMS is that it doesn't impose its own concurrency 52.148 - semantics, but rather takes them as plugins. \ Hence VMS isn't a 52.149 - language, but rather <em|supports> the creation of language runtimes. 52.150 - Any language level execution model is implementable as a layer on top 52.151 - of VMS, including: Actors <cite|Hewitt10><cite|Actors97>; Components 52.152 - <cite|ComponentModel00>; process calculi like CSP <cite|hoare78>, and 52.153 - Pi-calculus <cite|milner99>; and coordination languages like Linda 52.154 - <cite|Gelernter85Linda>. \ Likewise implementable with VMS are systems 52.155 - like TBB and OpenMP, as well as hybrid languages like Sequioa, and 52.156 - legacy languages that rely on Threads such as Java, and C/C++ with 52.157 - pthreads. 52.158 - 52.159 - <section|Specialization> 52.160 - 52.161 - Portable performance is achieved by specializing the source code to the 52.162 - hardware. \ For traditonal sequential source on sequential processors, 52.163 - the specialization was the translation to machine code and optimization 52.164 - that took place in the compiler. 52.165 - 52.166 - This one-step specialization was sufficient because most of the 52.167 - performance portability was provided by using micro-architecture 52.168 - hardware techniques underneath a standard instruction-set abstraction. 52.169 - This has worked because, before recently, process technology has made 52.170 - every generation of sequential processor faster, and parallelism could 52.171 - be found at the granularity of single instructions. Also, CPU producers 52.172 - have kept their instruction sets relatively fixed. 52.173 - 52.174 - Unfortunately, for larger-granularities of parallelism, such a 52.175 - hardware-based approach to performance portability has proven 52.176 - infeasible so far. \ We conjecture that the reason is, that larger 52.177 - granularity parallelism is tied to the language constructs and to 52.178 - application constructs (whereas instruction-level parallelism is tied 52.179 - only to the machine-instruction-set constructs). Hence, information 52.180 - about the language patterns and application patterns must be available 52.181 - in order to exploit these larger granularities. \ The hardware cannot 52.182 - make use of the larger granularities because the instruction set 52.183 - abstraction provides no means to convey the necessary language and 52.184 - application patterns. 52.185 - 52.186 - Following this intuition, we propose that to be effective, a system for 52.187 - performance portability for parallel software should have a means of 52.188 - identifying language and application constructs and packaging this 52.189 - information in a standard format. \ Also, a hardware abstraction should 52.190 - be provided that accepts such information and uses it to make 52.191 - high-quality decisions about task creation, task sizing, and task 52.192 - placement. 52.193 - 52.194 - <subsection|Three-step specialization> 52.195 - 52.196 - VMS fits this proposal by allowing the language toolchain to extract 52.197 - the application's task patterns and language patterns, and package them 52.198 - in a standard format that any plugin for that language understands. As 52.199 - mentioned in the review, the plugin plus VMS implementation represent 52.200 - the parallel aspects of the hardware, so each language's plugin defines 52.201 - the format of the task info to be handed to the hardware abstraction. 52.202 - \ The first step of specializing is thus the extraction of the task 52.203 - info by the toolchain. 52.204 - 52.205 - <\with|par-first|0fn> 52.206 - <small-figure|<postscript|figures/3_stage_specialization.eps||*6/7||||>|The 52.207 - three places that specialization occurs. In the top box, the 52.208 - toolchain extracts task information useful to the scheduler and 52.209 - packages it into the binary, specializing the source to the plugin's 52.210 - interface. \ In the middle, the scheduler in the plugin retrives the 52.211 - info and uses it to make scheduling decisions, specializing the 52.212 - binary to the hardware abstraction. At the bottom, the VMS-core 52.213 - implementation hides hardware details behind the interface, 52.214 - specializing the hardware to the hardware abstraction.> 52.215 - </with> 52.216 - 52.217 - The second step of specialization is the plugin, which uses the task 52.218 - info to make high quality decisions about size and placement of tasks, 52.219 - as represented in the middle of figure 2. \ The last step of 52.220 - specialization is implementing the VMS abstraction on the particular 52.221 - hardware. \ This combination of plugin plus VMS has the same function 52.222 - that the instruction set had back in the sequential days -- it provides 52.223 - a standard hardware abstraction. \ VMS has the advantage that the 52.224 - abstraction is modifiable by choosing the plugin. 52.225 - 52.226 - <\with|par-first|0fn> 52.227 - <\small-figure|<postscript|figures/Toolchain.eps||||||>> 52.228 - \; 52.229 - 52.230 - The toolchain is split, the top portion is related to parallelism 52.231 - and the bottom portion does sequential compilation of C code. In 52.232 - the top box, source code is transformed into C code that has calls 52.233 - inserted. They invoke the plugin, during the run, to perform 52.234 - concurrency operations, such as synchronizations, sends, receives, 52.235 - publish, and so on. The top box also extracts parallelism 52.236 - information from the source, and encodes it as implementations of 52.237 - library calls. These are later invoked by the plugin to retrieve 52.238 - the information. \ In this way, the generated parallelism 52.239 - information passes through any standard sequential C compiler, 52.240 - which is the only hardware-specific portion. 52.241 - </small-figure> 52.242 - </with> 52.243 - 52.244 - Focusing on the toolchain, we propose breaking it into two sections: 52.245 - one for parallelism, the other for sequential. \ The parallelism 52.246 - portion extracts the task and language information needed to make high 52.247 - quality scheduling decisions. \ The sequential specializes individual 52.248 - functions to the sequential cores. \ The parallelism portion remains 52.249 - constant across hardware, only the sequential portion changes when the 52.250 - instruction-set of the target hardware changes. 52.251 - 52.252 - One possible way to achieve this is to make the parallel portion 52.253 - transform the original source to C code with embedded calls to the 52.254 - concurrency library functions. \ During this source-to-C-plus-lib-call 52.255 - transform, the information is packaged into functions in some way. 52.256 - \ The resulting C-plus-lib-calls source is then compiled with the 52.257 - sequential C compiler to make a binary, as depicted in Figure X. 52.258 - 52.259 - Meanwhile, the plugins for that language know the names of the library 52.260 - functions the task information has been packaged into. \ Hence, when 52.261 - the binary is linked to a plugin at load time, the task-info functions 52.262 - within the binary become available to the plugin. \ They are then 52.263 - called by the plugin during the run to extract the information, to make 52.264 - high quality scheduling decisions. 52.265 - 52.266 - This scheme allows unmodified sequential compilers to be used to pass 52.267 - the information along, inside of a standard binary format. \ It also 52.268 - separates the parallel and sequential portions of the tool chain 52.269 - cleanly, so only the relatively simple sequential C compiler changes 52.270 - with hardware. \ This scheme also leaves the language designers in 52.271 - charge of deciding the nature and definition of the information 52.272 - carrying functions. 52.273 - 52.274 - These properties enable reuse of the same parallel portion of the 52.275 - toolchain across chips, which is especially valuable in the embedded 52.276 - market. \ With the inclusion of real-time aspects, such as latency 52.277 - bounds and deadlines, this could dramatically speed up time to market 52.278 - and reduce cost of introduction of new embedded chips. 52.279 - 52.280 - This begs the question: what kind of task information is sufficient for 52.281 - parallel performance portability across the array of forseeable 52.282 - parallel architectures? We propose three kinds of information: 1) 52.283 - manipulators, which are able to modify the size of tasks and change the 52.284 - way data is accessed, 2) information about the tasks such as type of 52.285 - core they run best on, size of data footprint, predicted execution 52.286 - time, and 3) real-world constraints that relate to the tasks, such as 52.287 - deadlines, maximum latency for data to pass from one point in the 52.288 - computation to another, and quality related information. \ Again, it is 52.289 - up to the language and plugin to agree on what data is extracted, 52.290 - passed, and then used for scheduling. \ Meanwhile, it is up to VMS to 52.291 - provide the services and information required by the scheduler to make 52.292 - use of the information. 52.293 - 52.294 - As research progresses, additional types of information may become 52.295 - necessary, so this flexibility from the plugin system will prove key. 52.296 - \ Again, the plugin plus VMS implementation are the hardware 52.297 - abstraction -- the parallel equivalent of what the instruction set used 52.298 - to be for sequential processors. \ The two define the behavior that the 52.299 - binary expects to be present. 52.300 - 52.301 - This, finally, begs the question: what kind of information and services 52.302 - must VMS provide to the plugin? It must expose the features of the 52.303 - hardware that matter the most to performance (computation, energy, and 52.304 - real-world related performance). We suggest that the memory hierarchy 52.305 - and communication between the memory pools are the most important 52.306 - features for parallel performance. \ However, the VMS interface should 52.307 - only expose the portions of memory affectable by a runtime scheduler 52.308 - (the register set usage of a sequential processor is fixed by the 52.309 - binary and so not exposed). 52.310 - 52.311 - We suggest that most parallel architectures fall into a small number of 52.312 - classes, each of which exposes sufficient structure without exposing 52.313 - chip-specific details. What's important is the type(s) of cores, the 52.314 - pools of memory, and the nature of communication between them. On 52.315 - communication, the scheduler can treat the network statistically with 52.316 - relatively simple models, independently from the topology, without 52.317 - undue loss of performance <inactive|<cite|>>. So the main feature is 52.318 - coherent memory vs distributed, which determines whether communication 52.319 - can take place by shared variables in the code vs whether it needs 52.320 - explicit action. 52.321 - 52.322 - Given this, our proposed list includes: 1) multi-core and many-core 52.323 - that share a single coherent memory 2) one or more SIMD units that 52.324 - share a single coherent memory 3) collections of those connected by 52.325 - shared memory 4) distributed collections of those. Each memory pool, 52.326 - such as a cache or scratchpad, is exposed, with the communication costs 52.327 - from each pool to each other pool, and whether communication between 52.328 - them is automated or explicit. Applying this to known architectures: 52.329 - single-socket multi-core systems fall into 1, while adding a GPGPU puts 52.330 - them also into 2 and 4. \ The Cell BE is in 1 and 4, as is the SCC. 52.331 - \ Larrabee would have been in 1, 2, and 3 but may have been more 52.332 - effectively treated as 1, 2, and 4. \ Traditional supercomputers made 52.333 - up of shared-memory nodes connected by networks fall into 1 and 4. 52.334 - 52.335 - <\with|par-columns|1> 52.336 - <\big-figure> 52.337 - <postscript|figures/eco-system.eps|*7/8|*7/8||||> 52.338 - </big-figure|Eco-system is composed of toolchains, plugins, and HW 52.339 - abstractions. \ Each element, such as a particular plugin or 52.340 - sequential C compiler, is supplied by a different physical-world 52.341 - entity, such as a company or a research group. \ Elements related to 52.342 - a particular language are all shown in the same color, while elements 52.343 - related to the same hardware class are also shown in the same color. 52.344 - \ The plugins combine a language color with a hardware class color 52.345 - because they depend on both. \ As can be seen by the coloring, the 52.346 - toolchain for a language is independent of HW except for the 52.347 - sequential C compilers.> 52.348 - </with> 52.349 - 52.350 - <section|Eco-System> 52.351 - 52.352 - Figure 4 depicts how the pieces all fit together. At the top, 52.353 - independent software developers write applications, in a variety of 52.354 - languages. Each language defines its own format for conveying 52.355 - task-related info. Independently, plugins are implemented that accept 52.356 - that format, one plugin for each hardware class. This allows hardware 52.357 - manufacturers to supply their own plugins, for unusual hardware 52.358 - designs, and still take advantage of the existing application binaries 52.359 - (non-standard instruction sets also need an install-time translator). 52.360 - 52.361 - The plugins, in the middle, act as a cross-bar switch, connecting the 52.362 - binaries to the hardware abstractions. They are separately distributed 52.363 - and loaded onto the hardware, much the way device drivers are 52.364 - currently. 52.365 - 52.366 - At the bottom, the hardware abstraction implementations standardize the 52.367 - hardware. They are mainly supplied by the hardware manufacturers, but 52.368 - open-source implementations will likely also arise. 52.369 - 52.370 - Note that the only software developed for a new HW platform is the 52.371 - VMS-core abstraction, sequential C compiler, and a bare-bones OS. 52.372 - Existing applications are adpated via the plugin and abstraction. 52.373 - 52.374 - We expect that a small number of HW classes will quickly come to 52.375 - dominate, which will encourage later HW development to fit within the 52.376 - dominant classes. As a result, a standard set of sequential C compilers 52.377 - will emerge, allowing software developers to perform a single 52.378 - compilation pass. For fine tuning of <em|sequential> compilation 52.379 - choices, we expect install-time binary rewriters or run-time binary 52.380 - optimizations. 52.381 - 52.382 - The end-result is that no centralized control is needed. Language 52.383 - designers are free to innovate, inventing new concurrency constructs 52.384 - and communication abstractions, and need as little as just the set of 52.385 - plugins, or just the source-to-C translator to reach all the standard 52.386 - hardware platforms. Likewise, hardware manufacturers are free to 52.387 - innovate, needing minimal software development for a new chip to enjoy 52.388 - access to all the applications.\ 52.389 - 52.390 - The set of plugins is the key to this portability, and the funnelling 52.391 - of many applications to the same parallelism information at the top, 52.392 - and many hardware platforms to the same abstraction at the bottom. 52.393 - </with> 52.394 - </with> 52.395 - 52.396 - <\with|par-columns|2> 52.397 - <section|> 52.398 - 52.399 - <\with|par-columns|2> 52.400 - <subsection|Internal Workings of VMS> 52.401 - 52.402 - As far as a binary is concerned, the parallel behavior of the hardware 52.403 - is represented by the combination of VMS plus the plugin, while the 52.404 - \ sequential behavior of the hardware's processing-elements is 52.405 - represented by the Instruction Set of each core. 52.406 - 52.407 - The VMS implementation is made up of a master virtual-processor that 52.408 - receives and calls the plugin functions, and a ``core-controller'' that 52.409 - handles transferring the physical-core between animating the master 52.410 - virtual processor and animating the application's virtual processors, 52.411 - but according to the decisions the plugin functions make, when called 52.412 - by the master VP. As part of invoking a concurrency construct, an 52.413 - application VP attaches to itself a request destined for the master VP, 52.414 - then suspends. We next review how this request reaches the plugin's 52.415 - concurrency-construct implementation, called the requestion handler, by 52.416 - walking through the steps VMS takes during operation. 52.417 - 52.418 - <\with|par-first|0fn> 52.419 - <\with|par-left|0cm> 52.420 - <postscript|figures/VMS-core__internal_workings.eps|*15/16|||||> 52.421 - </with> 52.422 - </with> 52.423 - 52.424 - <small-figure||<label|figInternals>Internal elements of VMS 52.425 - implementation > 52.426 - 52.427 - <paragraph|Steps of Operation:>The steps of operation are numbered in 52.428 - Figure <reference|figInternals>. \ Taking them in order, 1) 52.429 - <verbatim|master_loop> scans the scheduling slots to see which ones' 52.430 - slaves have suspended since the previous scan. \ 2) It hands these to 52.431 - the request handler plugged-in. \ \ 3) The data in the request causes 52.432 - manipulation of the data structures within the semantic state. \ These 52.433 - structures hold all the slaves currently in the blocked state. \ 4) 52.434 - Requests cause slaves to be moved to the ready-container, which was 52.435 - implemented as an array of simple queues, one to each physical core. 52.436 - Which core receives the slave is under plugin control, determined by a 52.437 - combination of request contents, semantic state and physical state. 5) 52.438 - During the scan, the <verbatim|master_loop> also looks for empty slots. 52.439 - It calls the scheduler plug-in function, which chooses a slave from the 52.440 - ready container. \ 6) The <verbatim|master_loop> then places the slave 52.441 - VP's pointer into the scheduling slot, making it available to the 52.442 - <verbatim|core_loop>. \ 7) When done with the scan, <verbatim|masterVP> 52.443 - suspends, switching animation back to the <verbatim|core_loop>. \ 8) 52.444 - <verbatim|core_loop> takes slave VPs out of the slots, then 9) switches 52.445 - animation to them. \ 10) When a slave self-suspends, animation returns 52.446 - to the <verbatim|core_loop>, which picks another, until 11) all slots 52.447 - are empty and the <verbatim|core_loop> switches animation to the 52.448 - <verbatim|masterVP>. 52.449 - 52.450 - <paragraph|Enabling sequential implementation of concurrency 52.451 - semantics:>All of that happens on each core separately, but in this 52.452 - particular implementation we use a central <verbatim|masterLock> to 52.453 - ensure that only one core's <verbatim|masterVP> can be active at any 52.454 - time. \ This guarantees non-overlap of trace-segments from different 52.455 - <verbatim|masterVP>s, allowing the plugins to use sequential 52.456 - algorithms, without a performance penalty, as verified in Section 5. 52.457 - </with> 52.458 - 52.459 - <section|<label|secResults>Performance> 52.460 - 52.461 - <paragraph|Setup:>We implemented blocked dense matrix multiply and ran on 52.462 - a Core2Quad 2.4Ghz chip. 52.463 - 52.464 - <paragraph|Implementation-Time:>Time to implement the runtime for the 52.465 - three parallel languages averages 2 days. \ As an example of 52.466 - productivity, adding nested transactions, parallel singleton, and atomic 52.467 - function-execution to SSR required a single afternoon, totaling less than 52.468 - 100 lines of C code. Table <reference|tabPersonDaysLang> summarizes 52.469 - implementation times. 52.470 - 52.471 - <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|>|<cell|SSR>|<cell|VPThread>|<cell|VCilk>>|<row|<cell|Design>|<cell|4>|<cell|1>|<cell|0.5>>|<row|<cell|Code>|<cell|2>|<cell|0.5>|<cell|0.5>>|<row|<cell|Test>|<cell|1>|<cell|0.5>|<cell|0.5>>|<row|<cell|L.O.C.>|<cell|470>|<cell|290>|<cell|310>>>>>|<label|tabPersonDaysLang>Person-days 52.472 - to design, code, and test the library plus plug-in of each language, in 52.473 - the order attempted. L.O.C. is lines of (original) code, excluding 52.474 - libraries and comments.>>>>>> 52.475 - 52.476 - <paragraph|Execution Performance:> \ seen in Table 52.477 - <reference|tabOverheadCycles>. 52.478 - 52.479 - The code has not been designed for speed, but rather to be easy to 52.480 - understand and modify. In particular, the schedulers are simple queues 52.481 - with no optimization for performance. 52.482 - 52.483 - <\with|par-mode|left> 52.484 - <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|3|18|4|5|cell-halign|r>|<cwith|1|1|4|5|cell-halign|r>|<cwith|10|10|1|4|cell-tborder|.05fn>|<cwith|13|13|1|4|cell-tborder|.05fn>|<cwith|16|16|1|4|cell-tborder|.05fn>|<cwith|18|18|1|4|cell-bborder|.05fn>|<cwith|7|7|4|4|cell-halign|r>|<cwith|1|18|3|3|cell-halign|r>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|>|<cell|>|<cell|comp>|<cell|comp>>|<row|<cell|VMS 52.485 - Only:>|<cell|>|<cell|only>|<cell|+mem>>|<row|<cell|<verbatim|master_loop>>|<cell|>|<cell|91>|<cell| 52.486 - \ 110>>|<row|<cell|switch VPs>|<cell|>|<cell|77>|<cell| 52.487 - \ 130>>|<row|<cell|>|<cell|>|<cell|>|<cell|>>|<row|<cell|(malloc)>|<cell|>|<cell|160>|<cell|2300>>|<row|<cell|(create 52.488 - VP)>|<cell|>|<cell|540>|<cell|3800>>|<row|<cell|>|<cell|>|<cell|>|<cell|>>|<row|<cell|Language:>|<cell|>|<cell|>|<cell|>>|<row|<cell|SSR>|<cell|plugin 52.489 - -- concur>|<cell|190>|<cell|540>>|<row|<cell|>|<cell|plugin -- 52.490 - all>|<cell|530>|<cell|2200>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 52.491 - 250>>|<row|<cell|VPThread>|<cell|plugin -- 52.492 - concur>|<cell|66>|<cell|710>>|<row|<cell|>|<cell|plugin -- 52.493 - all>|<cell|180>|<cell|1500>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 52.494 - 250>>|<row|<cell|VCilk>|<cell|plugin -- 52.495 - concur>|<cell|65>|<cell|260>>|<row|<cell|>|<cell|plugin -- 52.496 - all>|<cell|330>|<cell|1800>>|<row|<cell|>|<cell|lock>|<cell|>|<cell| 52.497 - 250>>>>>|<label|tabOverheadCycles>Cycles of overhead, per scheduled 52.498 - slave, consisting of: A) VMS-only cycles spent in VMS portion of 52.499 - <verbatim|master_loop>, B) time in the <verbatim|core_loop> to switch 52.500 - between VPs, C) Language-specific cycles spent in the plugin's Request 52.501 - Handler and Scheduler, and D) obtaining the Master lock. \ ``comp 52.502 - only'' column is cycles with perfect memory, ``comp + mem'' is actual 52.503 - cycles. ``Plugin-concur'' is only concurrency related requests, 52.504 - ``plugin-all'' includes create and malloc requests. Numbers are to two 52.505 - significant digits due to variability. \ Language overhead was measured 52.506 - while running Matrix Multiply.>>>>>> 52.507 - </with> 52.508 - 52.509 - <paragraph|Head to Head: VCilk vs Cilk 5.4 \ plus \ VPThread vs 52.510 - pthread:>We compare our implementation of the <verbatim|spawn> and 52.511 - <verbatim|sync> constructs against the distributed version of Cilk, in 52.512 - Table <reference|tabHeadToHeadVCilk>, which shows that the same 52.513 - application code has similar performance. 52.514 - 52.515 - <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|8|8|1|4|cell-tborder|.05fn>|<cwith|4|4|1|4|cell-tborder|.05fn>|<cwith|2|2|1|4|cell-tborder|.05fn>|<cwith|2|9|2|2|cell-lborder|.05fn>|<cwith|7|7|2|2|cell-lborder|.05fn>|<cwith|6|6|2|3|cell-tborder|.05fn>|<cwith|6|6|2|2|cell-lborder|.05fn>|<cwith|6|6|4|4|cell-tborder|.05fn>|<cwith|6|6|1|1|cell-tborder|.05fn>|<cwith|9|9|1|3|cell-bborder|.05fn>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<table|<row|<cell|Matrix 52.516 - size>|<cell|>|<cell|>>|<row|<cell|81x81>|<cell|Cilk>|<cell|.017>>|<row|<cell|>|<cell|VCilk>|<cell|.008>>|<row|<cell|324x324>|<cell|Cilk>|<cell|.13>>|<row|<cell|>|<cell|VCilk>|<cell|.13>>|<row|<cell|648x648>|<cell|Cilk>|<cell|.71>>|<row|<cell|>|<cell|VCilk>|<cell|.85>>|<row|<cell|1296x1296>|<cell|Cilk>|<cell|4.8>>|<row|<cell|>|<cell|VCilk>|<cell|6.2>>>>>|<label|tabHeadToHeadVCilk>Head-to-head 52.517 - comparison of exe time in seconds for VCilk vs Cilk 5.4 on MM. \ VCilk 52.518 - does 23% worse on large matrices that run for several seconds, but 210% 52.519 - better on small matrices requiring milliseconds.>>>>>> 52.520 - 52.521 - \; 52.522 - 52.523 - Versus pthreads, our VMS based implementation has more than an order of 52.524 - magnitude better overhead per invocation of mutex or condition variable 52.525 - functionality, as seen in Table <reference|tabVPThreadSync>. 52.526 - 52.527 - <\with|par-mode|left> 52.528 - <tabular|<tformat|<table|<row|<cell|<small-table|<tabular|<tformat|<cwith|4|7|2|5|cell-halign|r>|<cwith|6|6|4|5|cell-halign|r>|<cwith|1|1|2|2|cell-width|2.7fn>|<cwith|1|1|2|2|cell-hmode|exact>|<cwith|2|3|2|3|cell-halign|r>|<twith|table-lborder|.05fn>|<twith|table-rborder|.05fn>|<twith|table-bborder|.05fn>|<twith|table-tborder|.05fn>|<cwith|4|4|1|5|cell-tborder|.05fn>|<cwith|2|2|2|5|cell-tborder|.05fn>|<cwith|1|7|4|4|cell-lborder|.05fn>|<cwith|1|7|4|4|cell-rborder|.05fn>|<table|<row|<cell|>|<cell| 52.529 - VPThread>|<cell|>|<cell|pthread>|<cell|ratio>>|<row|<cell|>|<cell|comp>|<cell|total>|<cell|>|<cell|>>|<row|<cell|>|<cell|only>|<cell|>|<cell|>|<cell|>>|<row|<cell|mutex_lock>|<cell|85>|<cell|1050>|<cell|50,000>|<cell|48:1>>|<row|<cell|mutex_unlock>|<cell|85>|<cell|610>|<cell|45,000>|<cell|74:1>>|<row|<cell|cond_wait 52.530 - >|<cell|85>|<cell|850>|<cell|60,000>|<cell|71:1>>|<row|<cell|cond_signal>|<cell|90>|<cell|650>|<cell|60,000>|<cell|92:1>>>>>|<label|tabVPThreadSync>Rough 52.531 - measurements of cycles to perform synchronization primitives. \ For 52.532 - VPThread, the first column shows computation time of plugin when all 52.533 - memory accesses hit in the cache. The second column is total time, 52.534 - including <verbatim|master_loop>, <verbatim|core_loop>, and the effects 52.535 - of cache and page misses. Pthread times are deduced from round-trip 52.536 - experiments. The ratio calculations are pthread vs total 52.537 - VPThread.>>>>>> 52.538 - </with> 52.539 - 52.540 - <section|<label|secConclusion>Conclusion> 52.541 - 52.542 - This is a position paper, merely a suggestion for a large scale 52.543 - organizing principle by which real-world entities can cooperatively 52.544 - achieve performance portability. The key pattern is the funnelling of 52.545 - many applications to the same parallelism information at the top, the 52.546 - funnelling of many hardware platforms to the same abstraction at the 52.547 - bottom, and the set of plugins that connect the two ends. 52.548 - </with> 52.549 - 52.550 - <\bibliography|bib|Helpers/plain|Helpers/Bib_for_papers.bib> 52.551 - \; 52.552 - </bibliography> 52.553 - 52.554 - \; 52.555 - 52.556 - \; 52.557 -</body> 52.558 - 52.559 -<\initial> 52.560 - <\collection> 52.561 - <associate|font-base-size|9> 52.562 - <associate|language|american> 52.563 - <associate|page-breaking|sloppy> 52.564 - <associate|page-extend|2fn> 52.565 - <associate|page-flexibility|1.0> 52.566 - <associate|page-medium|paper> 52.567 - <associate|page-screen-margin|true> 52.568 - <associate|page-show-hf|true> 52.569 - <associate|page-shrink|0fn> 52.570 - <associate|page-type|letter> 52.571 - <associate|preamble|false> 52.572 - </collection> 52.573 -</initial> 52.574 - 52.575 -<\references> 52.576 - <\collection> 52.577 - <associate|auto-1|<tuple|1|1>> 52.578 - <associate|auto-10|<tuple|1|4>> 52.579 - <associate|auto-11|<tuple|2|4>> 52.580 - <associate|auto-12|<tuple|3|4>> 52.581 - <associate|auto-13|<tuple|7|4>> 52.582 - <associate|auto-14|<tuple|8|5>> 52.583 - <associate|auto-15|<tuple|8.1|5>> 52.584 - <associate|auto-16|<tuple|4|5>> 52.585 - <associate|auto-17|<tuple|2|5>> 52.586 - <associate|auto-18|<tuple|3|5>> 52.587 - <associate|auto-19|<tuple|9|5>> 52.588 - <associate|auto-2|<tuple|2|2>> 52.589 - <associate|auto-20|<tuple|4|5>> 52.590 - <associate|auto-21|<tuple|5|5>> 52.591 - <associate|auto-22|<tuple|1|5>> 52.592 - <associate|auto-23|<tuple|6|6>> 52.593 - <associate|auto-24|<tuple|2|6>> 52.594 - <associate|auto-25|<tuple|7|6>> 52.595 - <associate|auto-26|<tuple|3|6>> 52.596 - <associate|auto-27|<tuple|4|8>> 52.597 - <associate|auto-28|<tuple|10|8>> 52.598 - <associate|auto-29|<tuple|10|8>> 52.599 - <associate|auto-3|<tuple|3|2>> 52.600 - <associate|auto-30|<tuple|7|8>> 52.601 - <associate|auto-31|<tuple|8|8>> 52.602 - <associate|auto-32|<tuple|3|8>> 52.603 - <associate|auto-33|<tuple|4|8>> 52.604 - <associate|auto-34|<tuple|7|9>> 52.605 - <associate|auto-35|<tuple|7|9>> 52.606 - <associate|auto-36|<tuple|4|9>> 52.607 - <associate|auto-37|<tuple|8|9>> 52.608 - <associate|auto-38|<tuple|8|10>> 52.609 - <associate|auto-39|<tuple|9|10>> 52.610 - <associate|auto-4|<tuple|1|2>> 52.611 - <associate|auto-40|<tuple|9|10>> 52.612 - <associate|auto-41|<tuple|9|10>> 52.613 - <associate|auto-42|<tuple|9|10>> 52.614 - <associate|auto-43|<tuple|9|10>> 52.615 - <associate|auto-44|<tuple|16|10>> 52.616 - <associate|auto-45|<tuple|3|10>> 52.617 - <associate|auto-46|<tuple|4|11>> 52.618 - <associate|auto-47|<tuple|9|11>> 52.619 - <associate|auto-48|<tuple|9|11>> 52.620 - <associate|auto-49|<tuple|9|11>> 52.621 - <associate|auto-5|<tuple|4|2>> 52.622 - <associate|auto-50|<tuple|9|?>> 52.623 - <associate|auto-51|<tuple|9|?>> 52.624 - <associate|auto-52|<tuple|9|?>> 52.625 - <associate|auto-6|<tuple|5|2>> 52.626 - <associate|auto-7|<tuple|5.1|3>> 52.627 - <associate|auto-8|<tuple|6|4>> 52.628 - <associate|auto-9|<tuple|6.1|4>> 52.629 - <associate|bib-Actors97|<tuple|1|10>> 52.630 - <associate|bib-CILKHome|<tuple|6|10>> 52.631 - <associate|bib-ComponentModel00|<tuple|11|10>> 52.632 - <associate|bib-Conway63|<tuple|2|10>> 52.633 - <associate|bib-Dijkstra67|<tuple|4|10>> 52.634 - <associate|bib-Gelernter85Linda|<tuple|5|10>> 52.635 - <associate|bib-Hewitt10|<tuple|8|10>> 52.636 - <associate|bib-Lamport78|<tuple|6|11>> 52.637 - <associate|bib-Lamport87|<tuple|10|10>> 52.638 - <associate|bib-OpenMPHome|<tuple|14|10>> 52.639 - <associate|bib-TBBHome|<tuple|3|10>> 52.640 - <associate|bib-VMSHome|<tuple|7|10>> 52.641 - <associate|bib-hoare78|<tuple|9|10>> 52.642 - <associate|bib-milner80|<tuple|12|10>> 52.643 - <associate|bib-milner99|<tuple|13|10>> 52.644 - <associate|figAppFlow|<tuple|5|6>> 52.645 - <associate|figInternals|<tuple|4|4>> 52.646 - <associate|figMasterSplit|<tuple|6|6>> 52.647 - <associate|figTimeMapping|<tuple|6|4>> 52.648 - <associate|secAbsModel|<tuple|6|4>> 52.649 - <associate|secApp|<tuple|6|7>> 52.650 - <associate|secConclusion|<tuple|10|6>> 52.651 - <associate|secInternal|<tuple|3|4>> 52.652 - <associate|secLib|<tuple|6|8>> 52.653 - <associate|secOS|<tuple|5.2|10>> 52.654 - <associate|secResults|<tuple|10|5>> 52.655 - <associate|tabHeadToHeadVCilk|<tuple|3|5>> 52.656 - <associate|tabMasterCycles|<tuple|2|?>> 52.657 - <associate|tabOverheadCycles|<tuple|2|5>> 52.658 - <associate|tabPersonDaysLang|<tuple|1|5>> 52.659 - <associate|tabVPThreadSync|<tuple|4|6>> 52.660 - </collection> 52.661 -</references> 52.662 - 52.663 -<\auxiliary> 52.664 - <\collection> 52.665 - <\associate|bib> 52.666 - Hewitt10 52.667 - 52.668 - Actors97 52.669 - 52.670 - ComponentModel00 52.671 - 52.672 - hoare78 52.673 - 52.674 - milner99 52.675 - 52.676 - Gelernter85Linda 52.677 - </associate> 52.678 - <\associate|figure> 52.679 - <tuple|normal|The three places that specialization occurs. In the top 52.680 - box, the toolchain extracts task information useful to the scheduler 52.681 - and packages it into the binary, specializing the source to the 52.682 - plugin's interface. \ In the middle, the scheduler in the plugin 52.683 - retrives the info and uses it to make scheduling decisions, 52.684 - specializing the binary to the hardware abstraction. At the bottom, the 52.685 - VMS-core implementation hides hardware details behind the interface, 52.686 - specializing the hardware to the hardware 52.687 - abstraction.|<pageref|auto-6>> 52.688 - 52.689 - <\tuple|normal> 52.690 - \; 52.691 - 52.692 - The toolchain is split, the top portion is related to parallelism and 52.693 - the bottom portion does sequential compilation of C code. In the top 52.694 - box, source code is transformed into C code that has calls inserted. 52.695 - They invoke the plugin, during the run, to perform concurrency 52.696 - operations, such as synchronizations, sends, receives, publish, and 52.697 - so on. The top box also extracts parallelism information from the 52.698 - source, and encodes it as implementations of library calls. These are 52.699 - later invoked by the plugin to retrieve the information. \ In this 52.700 - way, the generated parallelism information passes through any 52.701 - standard sequential C compiler, which is the only hardware-specific 52.702 - portion. 52.703 - </tuple|<pageref|auto-7>> 52.704 - 52.705 - <tuple|normal|Eco-system is composed of toolchains, plugins, and HW 52.706 - abstractions. \ Each element, such as a particular plugin or sequential 52.707 - C compiler, is supplied by a different physical-world entity, such as a 52.708 - company or a research group. \ Elements related to a particular 52.709 - language are all shown in the same color, while elements related to the 52.710 - same hardware class are also shown in the same color. \ The plugins 52.711 - combine a language color with a hardware class color because they 52.712 - depend on both. \ As can be seen by the coloring, the toolchain for a 52.713 - language is independent of HW except for the sequential C 52.714 - compilers.|<pageref|auto-8>> 52.715 - 52.716 - <tuple|normal|<label|figInternals>Internal elements of VMS 52.717 - implementation |<pageref|auto-12>> 52.718 - </associate> 52.719 - <\associate|table> 52.720 - <tuple|normal|<label|tabPersonDaysLang>Person-days to design, code, and 52.721 - test the library plus plug-in of each language, in the order attempted. 52.722 - L.O.C. is lines of (original) code, excluding libraries and 52.723 - comments.|<pageref|auto-18>> 52.724 - 52.725 - <tuple|normal|<label|tabOverheadCycles>Cycles of overhead, per 52.726 - scheduled slave, consisting of: A) VMS-only cycles spent in VMS portion 52.727 - of <with|font-family|<quote|tt>|language|<quote|verbatim>|master_loop>, 52.728 - B) time in the <with|font-family|<quote|tt>|language|<quote|verbatim>|core_loop> 52.729 - to switch between VPs, C) Language-specific cycles spent in the 52.730 - plugin's Request Handler and Scheduler, and D) obtaining the Master 52.731 - lock. \ ``comp only'' column is cycles with perfect memory, ``comp + 52.732 - mem'' is actual cycles. ``Plugin-concur'' is only concurrency related 52.733 - requests, ``plugin-all'' includes create and malloc requests. Numbers 52.734 - are to two significant digits due to variability. \ Language overhead 52.735 - was measured while running Matrix Multiply.|<pageref|auto-20>> 52.736 - 52.737 - <tuple|normal|<label|tabHeadToHeadVCilk>Head-to-head comparison of exe 52.738 - time in seconds for VCilk vs Cilk 5.4 on MM. \ VCilk does 23% worse on 52.739 - large matrices that run for several seconds, but 210% better on small 52.740 - matrices requiring milliseconds.|<pageref|auto-22>> 52.741 - 52.742 - <tuple|normal|<label|tabVPThreadSync>Rough measurements of cycles to 52.743 - perform synchronization primitives. \ For VPThread, the first column 52.744 - shows computation time of plugin when all memory accesses hit in the 52.745 - cache. The second column is total time, including 52.746 - <with|font-family|<quote|tt>|language|<quote|verbatim>|master_loop>, 52.747 - <with|font-family|<quote|tt>|language|<quote|verbatim>|core_loop>, and 52.748 - the effects of cache and page misses. Pthread times are deduced from 52.749 - round-trip experiments. The ratio calculations are pthread vs total 52.750 - VPThread.|<pageref|auto-23>> 52.751 - </associate> 52.752 - <\associate|toc> 52.753 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>Overview 52.754 - and Motivation> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.755 - <no-break><pageref|auto-1><vspace|0.5fn> 52.756 - 52.757 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|2<space|2spc>VMS> 52.758 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.759 - <no-break><pageref|auto-2><vspace|0.5fn> 52.760 - 52.761 - <with|par-left|<quote|1.5fn>|2.1<space|2spc>Overview of VMS 52.762 - \ \ <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.763 - <no-break><pageref|auto-3>> 52.764 - 52.765 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|3<space|2spc>Specialization> 52.766 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.767 - <no-break><pageref|auto-4><vspace|0.5fn> 52.768 - 52.769 - <with|par-left|<quote|1.5fn>|3.1<space|2spc>Three-step specialization 52.770 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.771 - <no-break><pageref|auto-5>> 52.772 - 52.773 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|4<space|2spc>Eco-System> 52.774 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.775 - <no-break><pageref|auto-9><vspace|0.5fn> 52.776 - 52.777 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|5<space|2spc>> 52.778 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.779 - <no-break><pageref|auto-10><vspace|0.5fn> 52.780 - 52.781 - <with|par-left|<quote|1.5fn>|5.1<space|2spc>Internal Workings of VMS 52.782 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.783 - <no-break><pageref|auto-11>> 52.784 - 52.785 - <with|par-left|<quote|6fn>|Steps of Operation: 52.786 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.787 - <no-break><pageref|auto-13><vspace|0.15fn>> 52.788 - 52.789 - <with|par-left|<quote|6fn>|Enabling sequential implementation of 52.790 - concurrency semantics: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.791 - <no-break><pageref|auto-14><vspace|0.15fn>> 52.792 - 52.793 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|6<space|2spc><label|secResults>Performance> 52.794 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.795 - <no-break><pageref|auto-15><vspace|0.5fn> 52.796 - 52.797 - <with|par-left|<quote|6fn>|Setup: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.798 - <no-break><pageref|auto-16><vspace|0.15fn>> 52.799 - 52.800 - <with|par-left|<quote|6fn>|Implementation-Time: 52.801 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.802 - <no-break><pageref|auto-17><vspace|0.15fn>> 52.803 - 52.804 - <with|par-left|<quote|6fn>|Execution Performance: 52.805 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.806 - <no-break><pageref|auto-19><vspace|0.15fn>> 52.807 - 52.808 - <with|par-left|<quote|6fn>|Head to Head: VCilk vs Cilk 5.4 \ plus 52.809 - \ VPThread vs pthread: <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.810 - <no-break><pageref|auto-21><vspace|0.15fn>> 52.811 - 52.812 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|7<space|2spc><label|secConclusion>Conclusion> 52.813 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.814 - <no-break><pageref|auto-24><vspace|0.5fn> 52.815 - 52.816 - <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|Bibliography> 52.817 - <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>> 52.818 - <no-break><pageref|auto-25><vspace|0.5fn> 52.819 - </associate> 52.820 - </collection> 52.821 -</auxiliary> 52.822 \ No newline at end of file
53.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/Portability_stack_combined.pdf has changed
54.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/Portability_stack_combined.svg Thu Feb 02 12:22:53 2012 -0800 54.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 54.3 @@ -1,2693 +0,0 @@ 54.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?> 54.5 -<!-- Created with Inkscape (http://www.inkscape.org/) --> 54.6 - 54.7 -<svg 54.8 - xmlns:dc="http://purl.org/dc/elements/1.1/" 54.9 - xmlns:cc="http://creativecommons.org/ns#" 54.10 - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 54.11 - xmlns:svg="http://www.w3.org/2000/svg" 54.12 - xmlns="http://www.w3.org/2000/svg" 54.13 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 54.14 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 54.15 - width="744.09448819" 54.16 - height="1052.3622047" 54.17 - id="svg2" 54.18 - version="1.1" 54.19 - inkscape:version="0.48.1 " 54.20 - sodipodi:docname="Portability_stack_combined.svg"> 54.21 - <defs 54.22 - id="defs4"> 54.23 - <marker 54.24 - inkscape:stockid="Arrow2Mend" 54.25 - orient="auto" 54.26 - refY="0.0" 54.27 - refX="0.0" 54.28 - id="Arrow2Mend" 54.29 - style="overflow:visible;"> 54.30 - <path 54.31 - id="path12287" 54.32 - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 54.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 " 54.34 - transform="scale(0.6) rotate(180) translate(0,0)" /> 54.35 - </marker> 54.36 - <marker 54.37 - inkscape:stockid="Arrow1Mend" 54.38 - orient="auto" 54.39 - refY="0.0" 54.40 - refX="0.0" 54.41 - id="Arrow1Mend" 54.42 - style="overflow:visible;"> 54.43 - <path 54.44 - id="path12269" 54.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 " 54.46 - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 54.47 - transform="scale(0.4) rotate(180) translate(10,0)" /> 54.48 - </marker> 54.49 - </defs> 54.50 - <sodipodi:namedview 54.51 - id="base" 54.52 - pagecolor="#ffffff" 54.53 - bordercolor="#666666" 54.54 - borderopacity="1.0" 54.55 - inkscape:pageopacity="0.0" 54.56 - inkscape:pageshadow="2" 54.57 - inkscape:zoom="2.34" 54.58 - inkscape:cx="402.79936" 54.59 - inkscape:cy="581.58338" 54.60 - inkscape:document-units="px" 54.61 - inkscape:current-layer="layer1" 54.62 - showgrid="false" 54.63 - inkscape:window-width="1600" 54.64 - inkscape:window-height="848" 54.65 - inkscape:window-x="-8" 54.66 - inkscape:window-y="-8" 54.67 - inkscape:window-maximized="1" /> 54.68 - <metadata 54.69 - id="metadata7"> 54.70 - <rdf:RDF> 54.71 - <cc:Work 54.72 - rdf:about=""> 54.73 - <dc:format>image/svg+xml</dc:format> 54.74 - <dc:type 54.75 - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 54.76 - <dc:title></dc:title> 54.77 - </cc:Work> 54.78 - </rdf:RDF> 54.79 - </metadata> 54.80 - <g 54.81 - inkscape:label="Layer 1" 54.82 - inkscape:groupmode="layer" 54.83 - id="layer1"> 54.84 - <path 54.85 - inkscape:connector-curvature="0" 54.86 - id="2" 54.87 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.89 - <path 54.90 - inkscape:connector-curvature="0" 54.91 - id="3" 54.92 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.94 - <path 54.95 - inkscape:connector-curvature="0" 54.96 - id="4" 54.97 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.99 - <path 54.100 - inkscape:connector-curvature="0" 54.101 - id="5" 54.102 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.104 - <path 54.105 - inkscape:connector-curvature="0" 54.106 - id="6" 54.107 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.109 - <path 54.110 - inkscape:connector-curvature="0" 54.111 - id="7" 54.112 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.114 - <path 54.115 - inkscape:connector-curvature="0" 54.116 - id="8" 54.117 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.119 - <path 54.120 - inkscape:connector-curvature="0" 54.121 - id="9" 54.122 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.124 - <path 54.125 - inkscape:connector-curvature="0" 54.126 - id="10" 54.127 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.129 - <path 54.130 - inkscape:connector-curvature="0" 54.131 - id="11" 54.132 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.134 - <path 54.135 - inkscape:connector-curvature="0" 54.136 - id="12" 54.137 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.139 - <path 54.140 - inkscape:connector-curvature="0" 54.141 - id="13" 54.142 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.144 - <path 54.145 - inkscape:connector-curvature="0" 54.146 - id="14" 54.147 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.149 - <path 54.150 - inkscape:connector-curvature="0" 54.151 - id="15" 54.152 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.154 - <path 54.155 - inkscape:connector-curvature="0" 54.156 - id="16" 54.157 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.159 - <path 54.160 - inkscape:connector-curvature="0" 54.161 - id="17" 54.162 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.164 - <path 54.165 - inkscape:connector-curvature="0" 54.166 - id="18" 54.167 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.169 - <path 54.170 - inkscape:connector-curvature="0" 54.171 - id="19" 54.172 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.174 - <path 54.175 - inkscape:connector-curvature="0" 54.176 - id="20" 54.177 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.179 - <path 54.180 - inkscape:connector-curvature="0" 54.181 - id="21" 54.182 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.184 - <path 54.185 - inkscape:connector-curvature="0" 54.186 - id="22" 54.187 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.189 - <path 54.190 - inkscape:connector-curvature="0" 54.191 - id="23" 54.192 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.194 - <path 54.195 - inkscape:connector-curvature="0" 54.196 - id="24" 54.197 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.199 - <path 54.200 - inkscape:connector-curvature="0" 54.201 - id="25" 54.202 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.204 - <path 54.205 - inkscape:connector-curvature="0" 54.206 - id="26" 54.207 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.209 - <path 54.210 - inkscape:connector-curvature="0" 54.211 - id="27" 54.212 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.214 - <path 54.215 - inkscape:connector-curvature="0" 54.216 - id="28" 54.217 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.219 - <path 54.220 - inkscape:connector-curvature="0" 54.221 - id="29" 54.222 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.224 - <path 54.225 - inkscape:connector-curvature="0" 54.226 - id="30" 54.227 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.229 - <path 54.230 - inkscape:connector-curvature="0" 54.231 - id="31" 54.232 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.234 - <path 54.235 - inkscape:connector-curvature="0" 54.236 - id="32" 54.237 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.239 - <path 54.240 - inkscape:connector-curvature="0" 54.241 - id="33" 54.242 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.244 - <path 54.245 - inkscape:connector-curvature="0" 54.246 - id="34" 54.247 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.249 - <path 54.250 - inkscape:connector-curvature="0" 54.251 - id="35" 54.252 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.254 - <path 54.255 - inkscape:connector-curvature="0" 54.256 - id="36" 54.257 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.259 - <path 54.260 - inkscape:connector-curvature="0" 54.261 - id="38" 54.262 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.264 - <path 54.265 - inkscape:connector-curvature="0" 54.266 - id="39" 54.267 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.269 - <path 54.270 - inkscape:connector-curvature="0" 54.271 - id="40" 54.272 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.274 - <path 54.275 - inkscape:connector-curvature="0" 54.276 - id="41" 54.277 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.279 - <path 54.280 - inkscape:connector-curvature="0" 54.281 - id="42" 54.282 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.284 - <path 54.285 - inkscape:connector-curvature="0" 54.286 - id="43" 54.287 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.289 - <path 54.290 - inkscape:connector-curvature="0" 54.291 - id="44" 54.292 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.294 - <path 54.295 - inkscape:connector-curvature="0" 54.296 - id="45" 54.297 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.299 - <path 54.300 - inkscape:connector-curvature="0" 54.301 - id="46" 54.302 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.304 - <path 54.305 - inkscape:connector-curvature="0" 54.306 - id="47" 54.307 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.308 - d="m 292.25866,542.49203 0,-5.21078 0.65468,0 0,5.21078 -0.65468,0 z" /> 54.309 - <path 54.310 - inkscape:connector-curvature="0" 54.311 - id="48" 54.312 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.314 - <path 54.315 - inkscape:connector-curvature="0" 54.316 - id="49" 54.317 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.319 - <path 54.320 - inkscape:connector-curvature="0" 54.321 - id="50" 54.322 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.324 - <path 54.325 - inkscape:connector-curvature="0" 54.326 - id="51" 54.327 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.329 - <path 54.330 - inkscape:connector-curvature="0" 54.331 - id="52" 54.332 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.334 - <path 54.335 - inkscape:connector-curvature="0" 54.336 - id="53" 54.337 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.339 - <path 54.340 - inkscape:connector-curvature="0" 54.341 - id="54" 54.342 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.344 - <path 54.345 - inkscape:connector-curvature="0" 54.346 - id="55" 54.347 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.349 - <path 54.350 - inkscape:connector-curvature="0" 54.351 - id="56" 54.352 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.354 - <path 54.355 - inkscape:connector-curvature="0" 54.356 - id="57" 54.357 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.359 - <path 54.360 - inkscape:connector-curvature="0" 54.361 - id="58" 54.362 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.364 - <path 54.365 - inkscape:connector-curvature="0" 54.366 - id="59" 54.367 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.369 - <path 54.370 - inkscape:connector-curvature="0" 54.371 - id="60" 54.372 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.374 - <path 54.375 - inkscape:connector-curvature="0" 54.376 - id="61" 54.377 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.379 - <path 54.380 - inkscape:connector-curvature="0" 54.381 - id="62" 54.382 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.384 - <path 54.385 - inkscape:connector-curvature="0" 54.386 - id="63" 54.387 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.389 - <path 54.390 - inkscape:connector-curvature="0" 54.391 - id="64" 54.392 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.394 - <path 54.395 - inkscape:connector-curvature="0" 54.396 - id="65" 54.397 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.399 - <path 54.400 - inkscape:connector-curvature="0" 54.401 - id="66" 54.402 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.404 - <path 54.405 - inkscape:connector-curvature="0" 54.406 - id="67" 54.407 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.409 - <path 54.410 - inkscape:connector-curvature="0" 54.411 - id="68" 54.412 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.414 - <path 54.415 - inkscape:connector-curvature="0" 54.416 - id="69" 54.417 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.419 - <path 54.420 - inkscape:connector-curvature="0" 54.421 - id="70" 54.422 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.424 - <path 54.425 - inkscape:connector-curvature="0" 54.426 - id="71" 54.427 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.429 - <path 54.430 - inkscape:connector-curvature="0" 54.431 - id="72" 54.432 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.434 - <path 54.435 - inkscape:connector-curvature="0" 54.436 - id="73" 54.437 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.439 - <path 54.440 - inkscape:connector-curvature="0" 54.441 - id="74" 54.442 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.444 - <path 54.445 - inkscape:connector-curvature="0" 54.446 - id="75" 54.447 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.449 - <path 54.450 - inkscape:connector-curvature="0" 54.451 - id="76" 54.452 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.454 - <path 54.455 - inkscape:connector-curvature="0" 54.456 - id="77" 54.457 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.459 - <path 54.460 - inkscape:connector-curvature="0" 54.461 - id="78" 54.462 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.464 - <path 54.465 - inkscape:connector-curvature="0" 54.466 - id="79" 54.467 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.469 - <path 54.470 - inkscape:connector-curvature="0" 54.471 - id="80" 54.472 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.474 - <path 54.475 - inkscape:connector-curvature="0" 54.476 - id="81" 54.477 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.479 - <path 54.480 - inkscape:connector-curvature="0" 54.481 - id="82" 54.482 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.484 - <path 54.485 - inkscape:connector-curvature="0" 54.486 - id="83" 54.487 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.489 - <path 54.490 - inkscape:connector-curvature="0" 54.491 - id="84" 54.492 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.494 - <path 54.495 - inkscape:connector-curvature="0" 54.496 - id="85" 54.497 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.499 - <path 54.500 - inkscape:connector-curvature="0" 54.501 - id="86" 54.502 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.504 - <path 54.505 - inkscape:connector-curvature="0" 54.506 - id="87" 54.507 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.509 - <path 54.510 - inkscape:connector-curvature="0" 54.511 - id="88" 54.512 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.514 - <path 54.515 - inkscape:connector-curvature="0" 54.516 - id="89" 54.517 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.519 - <path 54.520 - inkscape:connector-curvature="0" 54.521 - id="90" 54.522 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.524 - <path 54.525 - inkscape:connector-curvature="0" 54.526 - id="91" 54.527 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.529 - <path 54.530 - inkscape:connector-curvature="0" 54.531 - id="92" 54.532 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.534 - <path 54.535 - inkscape:connector-curvature="0" 54.536 - id="93" 54.537 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.539 - <path 54.540 - inkscape:connector-curvature="0" 54.541 - id="94" 54.542 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.544 - <path 54.545 - inkscape:connector-curvature="0" 54.546 - id="95" 54.547 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.549 - <path 54.550 - inkscape:connector-curvature="0" 54.551 - id="96" 54.552 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.554 - <path 54.555 - inkscape:connector-curvature="0" 54.556 - id="97" 54.557 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.559 - <path 54.560 - inkscape:connector-curvature="0" 54.561 - id="98" 54.562 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.564 - <path 54.565 - inkscape:connector-curvature="0" 54.566 - id="99" 54.567 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.569 - <path 54.570 - inkscape:connector-curvature="0" 54.571 - id="100" 54.572 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.574 - <path 54.575 - inkscape:connector-curvature="0" 54.576 - id="101" 54.577 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.579 - <path 54.580 - inkscape:connector-curvature="0" 54.581 - id="102" 54.582 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.584 - <path 54.585 - inkscape:connector-curvature="0" 54.586 - id="103" 54.587 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.589 - <path 54.590 - inkscape:connector-curvature="0" 54.591 - id="104" 54.592 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.594 - <path 54.595 - inkscape:connector-curvature="0" 54.596 - id="105" 54.597 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.599 - <path 54.600 - inkscape:connector-curvature="0" 54.601 - id="106" 54.602 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.604 - <path 54.605 - inkscape:connector-curvature="0" 54.606 - id="107" 54.607 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.609 - <path 54.610 - inkscape:connector-curvature="0" 54.611 - id="108" 54.612 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.614 - <path 54.615 - inkscape:connector-curvature="0" 54.616 - id="109" 54.617 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.619 - <path 54.620 - inkscape:connector-curvature="0" 54.621 - id="110" 54.622 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.624 - <path 54.625 - inkscape:connector-curvature="0" 54.626 - id="111" 54.627 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.628 - d="m 497.24262,542.49203 0,-5.21078 0.65467,0 0,5.21078 -0.65467,0 z" /> 54.629 - <path 54.630 - inkscape:connector-curvature="0" 54.631 - id="112" 54.632 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.634 - <path 54.635 - inkscape:connector-curvature="0" 54.636 - id="113" 54.637 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.639 - <path 54.640 - inkscape:connector-curvature="0" 54.641 - id="114" 54.642 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.644 - <path 54.645 - inkscape:connector-curvature="0" 54.646 - id="115" 54.647 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.649 - <path 54.650 - inkscape:connector-curvature="0" 54.651 - id="116" 54.652 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.654 - <path 54.655 - inkscape:connector-curvature="0" 54.656 - id="117" 54.657 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.659 - <path 54.660 - inkscape:connector-curvature="0" 54.661 - id="118" 54.662 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.664 - <path 54.665 - inkscape:connector-curvature="0" 54.666 - id="119" 54.667 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.669 - <path 54.670 - inkscape:connector-curvature="0" 54.671 - id="120" 54.672 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.674 - <path 54.675 - inkscape:connector-curvature="0" 54.676 - id="121" 54.677 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.679 - <path 54.680 - inkscape:connector-curvature="0" 54.681 - id="122" 54.682 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.684 - <path 54.685 - inkscape:connector-curvature="0" 54.686 - id="123" 54.687 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.689 - <path 54.690 - inkscape:connector-curvature="0" 54.691 - id="124" 54.692 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.694 - <path 54.695 - inkscape:connector-curvature="0" 54.696 - id="125" 54.697 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.699 - <path 54.700 - inkscape:connector-curvature="0" 54.701 - id="126" 54.702 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.704 - <path 54.705 - inkscape:connector-curvature="0" 54.706 - id="127" 54.707 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.709 - <path 54.710 - inkscape:connector-curvature="0" 54.711 - id="128" 54.712 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.714 - <path 54.715 - inkscape:connector-curvature="0" 54.716 - id="129" 54.717 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.719 - <path 54.720 - inkscape:connector-curvature="0" 54.721 - id="130" 54.722 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.724 - <path 54.725 - inkscape:connector-curvature="0" 54.726 - id="131" 54.727 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.729 - <path 54.730 - inkscape:connector-curvature="0" 54.731 - id="132" 54.732 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.734 - <path 54.735 - inkscape:connector-curvature="0" 54.736 - id="133" 54.737 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.739 - <path 54.740 - inkscape:connector-curvature="0" 54.741 - id="134" 54.742 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.744 - <path 54.745 - inkscape:connector-curvature="0" 54.746 - id="135" 54.747 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.749 - <path 54.750 - inkscape:connector-curvature="0" 54.751 - id="136" 54.752 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.754 - <path 54.755 - inkscape:connector-curvature="0" 54.756 - id="137" 54.757 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.759 - <path 54.760 - inkscape:connector-curvature="0" 54.761 - id="138" 54.762 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.764 - <path 54.765 - inkscape:connector-curvature="0" 54.766 - id="139" 54.767 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.769 - <path 54.770 - inkscape:connector-curvature="0" 54.771 - id="140" 54.772 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.774 - <path 54.775 - inkscape:connector-curvature="0" 54.776 - id="141" 54.777 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.779 - <path 54.780 - inkscape:connector-curvature="0" 54.781 - id="142" 54.782 - style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.784 - <path 54.785 - inkscape:connector-curvature="0" 54.786 - id="143" 54.787 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.789 - <path 54.790 - inkscape:connector-curvature="0" 54.791 - id="144" 54.792 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.794 - <path 54.795 - inkscape:connector-curvature="0" 54.796 - id="145" 54.797 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.799 - <path 54.800 - inkscape:connector-curvature="0" 54.801 - id="146" 54.802 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.804 - <path 54.805 - inkscape:connector-curvature="0" 54.806 - id="147" 54.807 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.809 - <path 54.810 - inkscape:connector-curvature="0" 54.811 - id="148" 54.812 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.814 - <path 54.815 - inkscape:connector-curvature="0" 54.816 - id="149" 54.817 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.819 - <path 54.820 - inkscape:connector-curvature="0" 54.821 - id="150" 54.822 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.824 - <path 54.825 - inkscape:connector-curvature="0" 54.826 - id="151" 54.827 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.829 - <path 54.830 - inkscape:connector-curvature="0" 54.831 - id="152" 54.832 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.834 - <path 54.835 - inkscape:connector-curvature="0" 54.836 - id="153" 54.837 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.839 - <path 54.840 - inkscape:connector-curvature="0" 54.841 - id="154" 54.842 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.844 - <path 54.845 - inkscape:connector-curvature="0" 54.846 - id="190" 54.847 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.849 - <path 54.850 - inkscape:connector-curvature="0" 54.851 - id="191" 54.852 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.854 - <path 54.855 - inkscape:connector-curvature="0" 54.856 - id="192" 54.857 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.859 - <path 54.860 - inkscape:connector-curvature="0" 54.861 - id="193" 54.862 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.864 - <path 54.865 - inkscape:connector-curvature="0" 54.866 - id="194" 54.867 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.869 - <path 54.870 - inkscape:connector-curvature="0" 54.871 - id="195" 54.872 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.874 - <path 54.875 - inkscape:connector-curvature="0" 54.876 - id="220" 54.877 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.879 - <path 54.880 - inkscape:connector-curvature="0" 54.881 - id="221" 54.882 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.884 - <path 54.885 - inkscape:connector-curvature="0" 54.886 - id="222" 54.887 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.889 - <path 54.890 - inkscape:connector-curvature="0" 54.891 - id="223" 54.892 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.894 - <path 54.895 - inkscape:connector-curvature="0" 54.896 - id="224" 54.897 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.899 - <path 54.900 - inkscape:connector-curvature="0" 54.901 - id="225" 54.902 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.904 - <path 54.905 - inkscape:connector-curvature="0" 54.906 - id="226" 54.907 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.909 - <path 54.910 - inkscape:connector-curvature="0" 54.911 - id="227" 54.912 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.914 - <path 54.915 - inkscape:connector-curvature="0" 54.916 - id="228" 54.917 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.919 - <path 54.920 - inkscape:connector-curvature="0" 54.921 - id="229" 54.922 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.924 - <path 54.925 - inkscape:connector-curvature="0" 54.926 - id="230" 54.927 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.929 - <path 54.930 - inkscape:connector-curvature="0" 54.931 - id="231" 54.932 - style="fill:#217867;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.934 - <path 54.935 - inkscape:connector-curvature="0" 54.936 - id="264" 54.937 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.939 - <path 54.940 - inkscape:connector-curvature="0" 54.941 - id="265" 54.942 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.944 - <path 54.945 - inkscape:connector-curvature="0" 54.946 - id="266" 54.947 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.949 - <path 54.950 - inkscape:connector-curvature="0" 54.951 - id="267" 54.952 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.954 - <path 54.955 - inkscape:connector-curvature="0" 54.956 - id="268" 54.957 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.959 - <path 54.960 - inkscape:connector-curvature="0" 54.961 - id="269" 54.962 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.964 - <path 54.965 - inkscape:connector-curvature="0" 54.966 - id="294" 54.967 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.969 - <path 54.970 - inkscape:connector-curvature="0" 54.971 - id="295" 54.972 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.974 - <path 54.975 - inkscape:connector-curvature="0" 54.976 - id="296" 54.977 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.979 - <path 54.980 - inkscape:connector-curvature="0" 54.981 - id="297" 54.982 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.984 - <path 54.985 - inkscape:connector-curvature="0" 54.986 - id="298" 54.987 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.989 - <path 54.990 - inkscape:connector-curvature="0" 54.991 - id="299" 54.992 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.994 - <path 54.995 - inkscape:connector-curvature="0" 54.996 - id="300" 54.997 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.999 - <path 54.1000 - inkscape:connector-curvature="0" 54.1001 - id="301" 54.1002 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1004 - <path 54.1005 - inkscape:connector-curvature="0" 54.1006 - id="302" 54.1007 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1009 - <path 54.1010 - inkscape:connector-curvature="0" 54.1011 - id="303" 54.1012 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1014 - <path 54.1015 - inkscape:connector-curvature="0" 54.1016 - id="304" 54.1017 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1019 - <path 54.1020 - inkscape:connector-curvature="0" 54.1021 - id="305" 54.1022 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1024 - <path 54.1025 - inkscape:connector-curvature="0" 54.1026 - id="366" 54.1027 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1029 - <path 54.1030 - inkscape:connector-curvature="0" 54.1031 - id="367" 54.1032 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1034 - <path 54.1035 - inkscape:connector-curvature="0" 54.1036 - id="368" 54.1037 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1039 - <path 54.1040 - inkscape:connector-curvature="0" 54.1041 - id="369" 54.1042 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1044 - <path 54.1045 - inkscape:connector-curvature="0" 54.1046 - id="370" 54.1047 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1049 - <path 54.1050 - inkscape:connector-curvature="0" 54.1051 - id="371" 54.1052 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1054 - <path 54.1055 - inkscape:connector-curvature="0" 54.1056 - id="372" 54.1057 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1059 - <path 54.1060 - inkscape:connector-curvature="0" 54.1061 - id="373" 54.1062 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1064 - <path 54.1065 - inkscape:connector-curvature="0" 54.1066 - id="374" 54.1067 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1069 - <path 54.1070 - inkscape:connector-curvature="0" 54.1071 - id="375" 54.1072 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1074 - <path 54.1075 - inkscape:connector-curvature="0" 54.1076 - id="376" 54.1077 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1079 - <path 54.1080 - inkscape:connector-curvature="0" 54.1081 - id="377" 54.1082 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1084 - <path 54.1085 - inkscape:connector-curvature="0" 54.1086 - id="378" 54.1087 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1089 - <path 54.1090 - inkscape:connector-curvature="0" 54.1091 - id="379" 54.1092 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1094 - <path 54.1095 - inkscape:connector-curvature="0" 54.1096 - id="380" 54.1097 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1099 - <path 54.1100 - inkscape:connector-curvature="0" 54.1101 - id="381" 54.1102 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1104 - <path 54.1105 - inkscape:connector-curvature="0" 54.1106 - id="382" 54.1107 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1109 - <path 54.1110 - inkscape:connector-curvature="0" 54.1111 - id="383" 54.1112 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1114 - <path 54.1115 - inkscape:connector-curvature="0" 54.1116 - id="384" 54.1117 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1119 - <path 54.1120 - inkscape:connector-curvature="0" 54.1121 - id="385" 54.1122 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1124 - <path 54.1125 - inkscape:connector-curvature="0" 54.1126 - id="386" 54.1127 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1129 - <path 54.1130 - inkscape:connector-curvature="0" 54.1131 - id="387" 54.1132 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1134 - <path 54.1135 - inkscape:connector-curvature="0" 54.1136 - id="388" 54.1137 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1139 - <path 54.1140 - inkscape:connector-curvature="0" 54.1141 - id="389" 54.1142 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1144 - <path 54.1145 - inkscape:connector-curvature="0" 54.1146 - id="390" 54.1147 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1149 - <path 54.1150 - inkscape:connector-curvature="0" 54.1151 - id="391" 54.1152 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1154 - <path 54.1155 - inkscape:connector-curvature="0" 54.1156 - id="392" 54.1157 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1159 - <path 54.1160 - inkscape:connector-curvature="0" 54.1161 - id="393" 54.1162 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1164 - <path 54.1165 - inkscape:connector-curvature="0" 54.1166 - id="394" 54.1167 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1169 - <path 54.1170 - inkscape:connector-curvature="0" 54.1171 - id="395" 54.1172 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1174 - <path 54.1175 - inkscape:connector-curvature="0" 54.1176 - id="396" 54.1177 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1179 - <path 54.1180 - inkscape:connector-curvature="0" 54.1181 - id="397" 54.1182 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1184 - <path 54.1185 - inkscape:connector-curvature="0" 54.1186 - id="398" 54.1187 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1189 - <path 54.1190 - inkscape:connector-curvature="0" 54.1191 - id="399" 54.1192 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1194 - <path 54.1195 - inkscape:connector-curvature="0" 54.1196 - id="400" 54.1197 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1199 - <path 54.1200 - inkscape:connector-curvature="0" 54.1201 - id="401" 54.1202 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1204 - <path 54.1205 - inkscape:connector-curvature="0" 54.1206 - id="402" 54.1207 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1209 - <path 54.1210 - inkscape:connector-curvature="0" 54.1211 - id="403" 54.1212 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1214 - <path 54.1215 - inkscape:connector-curvature="0" 54.1216 - id="404" 54.1217 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1219 - <path 54.1220 - inkscape:connector-curvature="0" 54.1221 - id="405" 54.1222 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1224 - <path 54.1225 - inkscape:connector-curvature="0" 54.1226 - id="406" 54.1227 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1229 - <path 54.1230 - inkscape:connector-curvature="0" 54.1231 - id="407" 54.1232 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1234 - <path 54.1235 - inkscape:connector-curvature="0" 54.1236 - id="408" 54.1237 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1239 - <path 54.1240 - inkscape:connector-curvature="0" 54.1241 - id="409" 54.1242 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1244 - <path 54.1245 - inkscape:connector-curvature="0" 54.1246 - id="410" 54.1247 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1249 - <path 54.1250 - inkscape:connector-curvature="0" 54.1251 - id="411" 54.1252 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1254 - <path 54.1255 - inkscape:connector-curvature="0" 54.1256 - id="412" 54.1257 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1259 - <path 54.1260 - inkscape:connector-curvature="0" 54.1261 - id="413" 54.1262 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1264 - <path 54.1265 - inkscape:connector-curvature="0" 54.1266 - id="414" 54.1267 - style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1269 - <path 54.1270 - inkscape:connector-curvature="0" 54.1271 - id="415" 54.1272 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1274 - <path 54.1275 - inkscape:connector-curvature="0" 54.1276 - id="416" 54.1277 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1279 - <path 54.1280 - inkscape:connector-curvature="0" 54.1281 - id="417" 54.1282 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1284 - <path 54.1285 - inkscape:connector-curvature="0" 54.1286 - id="418" 54.1287 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1289 - <path 54.1290 - inkscape:connector-curvature="0" 54.1291 - id="419" 54.1292 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1294 - <path 54.1295 - inkscape:connector-curvature="0" 54.1296 - id="420" 54.1297 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1299 - <path 54.1300 - inkscape:connector-curvature="0" 54.1301 - id="421" 54.1302 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1304 - <path 54.1305 - inkscape:connector-curvature="0" 54.1306 - id="422" 54.1307 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1309 - <path 54.1310 - inkscape:connector-curvature="0" 54.1311 - id="423" 54.1312 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1314 - <path 54.1315 - inkscape:connector-curvature="0" 54.1316 - id="424" 54.1317 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1319 - <path 54.1320 - inkscape:connector-curvature="0" 54.1321 - id="425" 54.1322 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1324 - <path 54.1325 - inkscape:connector-curvature="0" 54.1326 - id="426" 54.1327 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1329 - <path 54.1330 - inkscape:connector-curvature="0" 54.1331 - id="427" 54.1332 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1334 - <path 54.1335 - inkscape:connector-curvature="0" 54.1336 - id="428" 54.1337 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1339 - <path 54.1340 - inkscape:connector-curvature="0" 54.1341 - id="429" 54.1342 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1344 - <path 54.1345 - inkscape:connector-curvature="0" 54.1346 - id="430" 54.1347 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1349 - <path 54.1350 - inkscape:connector-curvature="0" 54.1351 - id="431" 54.1352 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1354 - <path 54.1355 - inkscape:connector-curvature="0" 54.1356 - id="432" 54.1357 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1359 - <path 54.1360 - inkscape:connector-curvature="0" 54.1361 - id="433" 54.1362 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1364 - <path 54.1365 - inkscape:connector-curvature="0" 54.1366 - id="434" 54.1367 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1369 - <path 54.1370 - inkscape:connector-curvature="0" 54.1371 - id="435" 54.1372 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1374 - <path 54.1375 - inkscape:connector-curvature="0" 54.1376 - id="436" 54.1377 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1379 - <path 54.1380 - inkscape:connector-curvature="0" 54.1381 - id="437" 54.1382 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1384 - <path 54.1385 - inkscape:connector-curvature="0" 54.1386 - id="438" 54.1387 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1389 - <path 54.1390 - inkscape:connector-curvature="0" 54.1391 - id="439" 54.1392 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1394 - <path 54.1395 - inkscape:connector-curvature="0" 54.1396 - id="440" 54.1397 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1399 - <path 54.1400 - inkscape:connector-curvature="0" 54.1401 - id="441" 54.1402 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1404 - <path 54.1405 - inkscape:connector-curvature="0" 54.1406 - id="442" 54.1407 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1409 - <path 54.1410 - inkscape:connector-curvature="0" 54.1411 - id="443" 54.1412 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1414 - <path 54.1415 - inkscape:connector-curvature="0" 54.1416 - id="444" 54.1417 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1419 - <path 54.1420 - inkscape:connector-curvature="0" 54.1421 - id="445" 54.1422 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1424 - <path 54.1425 - inkscape:connector-curvature="0" 54.1426 - id="446" 54.1427 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1429 - <path 54.1430 - inkscape:connector-curvature="0" 54.1431 - id="447" 54.1432 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1434 - <path 54.1435 - inkscape:connector-curvature="0" 54.1436 - id="448" 54.1437 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1439 - <path 54.1440 - inkscape:connector-curvature="0" 54.1441 - id="449" 54.1442 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1444 - <path 54.1445 - inkscape:connector-curvature="0" 54.1446 - id="450" 54.1447 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1449 - <path 54.1450 - inkscape:connector-curvature="0" 54.1451 - id="451" 54.1452 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1454 - <path 54.1455 - inkscape:connector-curvature="0" 54.1456 - id="452" 54.1457 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1459 - <path 54.1460 - inkscape:connector-curvature="0" 54.1461 - id="453" 54.1462 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1464 - <path 54.1465 - inkscape:connector-curvature="0" 54.1466 - id="454" 54.1467 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1469 - <path 54.1470 - inkscape:connector-curvature="0" 54.1471 - id="455" 54.1472 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1474 - <path 54.1475 - inkscape:connector-curvature="0" 54.1476 - id="456" 54.1477 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1479 - <path 54.1480 - inkscape:connector-curvature="0" 54.1481 - id="457" 54.1482 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1484 - <path 54.1485 - inkscape:connector-curvature="0" 54.1486 - id="458" 54.1487 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1489 - <path 54.1490 - inkscape:connector-curvature="0" 54.1491 - id="459" 54.1492 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1494 - <path 54.1495 - inkscape:connector-curvature="0" 54.1496 - id="460" 54.1497 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1499 - <path 54.1500 - inkscape:connector-curvature="0" 54.1501 - id="461" 54.1502 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1504 - <path 54.1505 - inkscape:connector-curvature="0" 54.1506 - id="462" 54.1507 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1509 - <path 54.1510 - inkscape:connector-curvature="0" 54.1511 - id="463" 54.1512 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1514 - <path 54.1515 - inkscape:connector-curvature="0" 54.1516 - id="464" 54.1517 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1519 - <path 54.1520 - inkscape:connector-curvature="0" 54.1521 - id="465" 54.1522 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1524 - <path 54.1525 - inkscape:connector-curvature="0" 54.1526 - id="466" 54.1527 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1529 - <path 54.1530 - inkscape:connector-curvature="0" 54.1531 - id="467" 54.1532 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1534 - <path 54.1535 - inkscape:connector-curvature="0" 54.1536 - id="468" 54.1537 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1539 - <path 54.1540 - inkscape:connector-curvature="0" 54.1541 - id="469" 54.1542 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1544 - <path 54.1545 - inkscape:connector-curvature="0" 54.1546 - id="470" 54.1547 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1549 - <path 54.1550 - inkscape:connector-curvature="0" 54.1551 - id="471" 54.1552 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1554 - <path 54.1555 - inkscape:connector-curvature="0" 54.1556 - id="472" 54.1557 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1559 - <path 54.1560 - inkscape:connector-curvature="0" 54.1561 - id="473" 54.1562 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1564 - <path 54.1565 - inkscape:connector-curvature="0" 54.1566 - id="474" 54.1567 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1569 - <path 54.1570 - inkscape:connector-curvature="0" 54.1571 - id="475" 54.1572 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1574 - <path 54.1575 - inkscape:connector-curvature="0" 54.1576 - id="476" 54.1577 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1579 - <path 54.1580 - inkscape:connector-curvature="0" 54.1581 - id="477" 54.1582 - style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1584 - <path 54.1585 - inkscape:connector-curvature="0" 54.1586 - id="478" 54.1587 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1589 - <path 54.1590 - inkscape:connector-curvature="0" 54.1591 - id="479" 54.1592 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1594 - <path 54.1595 - inkscape:connector-curvature="0" 54.1596 - id="480" 54.1597 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1599 - <path 54.1600 - inkscape:connector-curvature="0" 54.1601 - id="481" 54.1602 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1604 - <path 54.1605 - inkscape:connector-curvature="0" 54.1606 - id="482" 54.1607 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1609 - <path 54.1610 - inkscape:connector-curvature="0" 54.1611 - id="483" 54.1612 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1614 - <path 54.1615 - inkscape:connector-curvature="0" 54.1616 - id="484" 54.1617 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1619 - <path 54.1620 - inkscape:connector-curvature="0" 54.1621 - id="485" 54.1622 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1624 - <path 54.1625 - inkscape:connector-curvature="0" 54.1626 - id="486" 54.1627 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1629 - <path 54.1630 - inkscape:connector-curvature="0" 54.1631 - id="487" 54.1632 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1634 - <path 54.1635 - inkscape:connector-curvature="0" 54.1636 - id="488" 54.1637 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1639 - <path 54.1640 - inkscape:connector-curvature="0" 54.1641 - id="489" 54.1642 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1644 - <path 54.1645 - inkscape:connector-curvature="0" 54.1646 - id="490" 54.1647 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1649 - <path 54.1650 - inkscape:connector-curvature="0" 54.1651 - id="491" 54.1652 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1654 - <path 54.1655 - inkscape:connector-curvature="0" 54.1656 - id="492" 54.1657 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1659 - <path 54.1660 - inkscape:connector-curvature="0" 54.1661 - id="493" 54.1662 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1664 - <path 54.1665 - inkscape:connector-curvature="0" 54.1666 - id="494" 54.1667 - style="fill:#280b0b;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1669 - <path 54.1670 - inkscape:connector-curvature="0" 54.1671 - id="495" 54.1672 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1674 - <g 54.1675 - id="g4970" 54.1676 - transform="translate(0,3.3686829)"> 54.1677 - <path 54.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" 54.1679 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1680 - id="533" 54.1681 - inkscape:connector-curvature="0" /> 54.1682 - <path 54.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" 54.1684 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1685 - id="534" 54.1686 - inkscape:connector-curvature="0" /> 54.1687 - <path 54.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" 54.1689 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1690 - id="535" 54.1691 - inkscape:connector-curvature="0" /> 54.1692 - <path 54.1693 - d="m 175.14576,441.33435 0,-8.86555 1.1881,0 0,8.86555 -1.1881,0 z" 54.1694 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1695 - id="536" 54.1696 - inkscape:connector-curvature="0" /> 54.1697 - <path 54.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" 54.1699 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1700 - id="537" 54.1701 - inkscape:connector-curvature="0" /> 54.1702 - <path 54.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" 54.1704 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1705 - id="538" 54.1706 - inkscape:connector-curvature="0" /> 54.1707 - <path 54.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" 54.1709 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1710 - id="539" 54.1711 - inkscape:connector-curvature="0" /> 54.1712 - <path 54.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" 54.1714 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1715 - id="540" 54.1716 - inkscape:connector-curvature="0" /> 54.1717 - <path 54.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" 54.1719 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1720 - id="541" 54.1721 - inkscape:connector-curvature="0" /> 54.1722 - <path 54.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" 54.1724 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1725 - id="542" 54.1726 - inkscape:connector-curvature="0" /> 54.1727 - <path 54.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" 54.1729 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1730 - id="543" 54.1731 - inkscape:connector-curvature="0" /> 54.1732 - </g> 54.1733 - <g 54.1734 - id="g5020" 54.1735 - transform="translate(0,9.3637848)"> 54.1736 - <path 54.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" 54.1738 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1739 - id="544" 54.1740 - inkscape:connector-curvature="0" /> 54.1741 - <path 54.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" 54.1743 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1744 - id="545" 54.1745 - inkscape:connector-curvature="0" /> 54.1746 - <path 54.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" 54.1748 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1749 - id="546" 54.1750 - inkscape:connector-curvature="0" /> 54.1751 - <path 54.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" 54.1753 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1754 - id="547" 54.1755 - inkscape:connector-curvature="0" /> 54.1756 - <path 54.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" 54.1758 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1759 - id="548" 54.1760 - inkscape:connector-curvature="0" /> 54.1761 - <path 54.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" 54.1763 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1764 - id="549" 54.1765 - inkscape:connector-curvature="0" /> 54.1766 - <path 54.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" 54.1768 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1769 - id="550" 54.1770 - inkscape:connector-curvature="0" /> 54.1771 - <path 54.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" 54.1773 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1774 - id="551" 54.1775 - inkscape:connector-curvature="0" /> 54.1776 - <path 54.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" 54.1778 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1779 - id="552" 54.1780 - inkscape:connector-curvature="0" /> 54.1781 - <path 54.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" 54.1783 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1784 - id="553" 54.1785 - inkscape:connector-curvature="0" /> 54.1786 - <path 54.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" 54.1788 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1789 - id="554" 54.1790 - inkscape:connector-curvature="0" /> 54.1791 - <path 54.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" 54.1793 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1794 - id="555" 54.1795 - inkscape:connector-curvature="0" /> 54.1796 - <path 54.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" 54.1798 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1799 - id="556" 54.1800 - inkscape:connector-curvature="0" /> 54.1801 - <path 54.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" 54.1803 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1804 - id="557" 54.1805 - inkscape:connector-curvature="0" /> 54.1806 - <path 54.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" 54.1808 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1809 - id="558" 54.1810 - inkscape:connector-curvature="0" /> 54.1811 - <path 54.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" 54.1813 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1814 - id="559" 54.1815 - inkscape:connector-curvature="0" /> 54.1816 - <path 54.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" 54.1818 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1819 - id="560" 54.1820 - inkscape:connector-curvature="0" /> 54.1821 - <path 54.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" 54.1823 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1824 - id="561" 54.1825 - inkscape:connector-curvature="0" /> 54.1826 - <path 54.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" 54.1828 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1829 - id="562" 54.1830 - inkscape:connector-curvature="0" /> 54.1831 - </g> 54.1832 - <path 54.1833 - inkscape:connector-curvature="0" 54.1834 - id="563" 54.1835 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1837 - <path 54.1838 - inkscape:connector-curvature="0" 54.1839 - id="564" 54.1840 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1842 - <path 54.1843 - inkscape:connector-curvature="0" 54.1844 - id="565" 54.1845 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1847 - <path 54.1848 - inkscape:connector-curvature="0" 54.1849 - id="566" 54.1850 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1852 - <path 54.1853 - inkscape:connector-curvature="0" 54.1854 - id="567" 54.1855 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1857 - <path 54.1858 - inkscape:connector-curvature="0" 54.1859 - id="568" 54.1860 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1862 - <path 54.1863 - inkscape:connector-curvature="0" 54.1864 - id="570" 54.1865 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1867 - <path 54.1868 - inkscape:connector-curvature="0" 54.1869 - id="571" 54.1870 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1872 - <path 54.1873 - inkscape:connector-curvature="0" 54.1874 - id="572" 54.1875 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1877 - <path 54.1878 - inkscape:connector-curvature="0" 54.1879 - id="573" 54.1880 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1882 - <path 54.1883 - inkscape:connector-curvature="0" 54.1884 - id="574" 54.1885 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1887 - <path 54.1888 - inkscape:connector-curvature="0" 54.1889 - id="575" 54.1890 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1892 - <path 54.1893 - inkscape:connector-curvature="0" 54.1894 - id="576" 54.1895 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1897 - <path 54.1898 - inkscape:connector-curvature="0" 54.1899 - id="577" 54.1900 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1902 - <path 54.1903 - inkscape:connector-curvature="0" 54.1904 - id="578" 54.1905 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1907 - <path 54.1908 - inkscape:connector-curvature="0" 54.1909 - id="579" 54.1910 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1912 - <path 54.1913 - inkscape:connector-curvature="0" 54.1914 - id="580" 54.1915 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.1917 - <g 54.1918 - id="g4983" 54.1919 - transform="translate(0,6.7406311)"> 54.1920 - <path 54.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" 54.1922 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1923 - id="581" 54.1924 - inkscape:connector-curvature="0" /> 54.1925 - <path 54.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" 54.1927 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1928 - id="582" 54.1929 - inkscape:connector-curvature="0" /> 54.1930 - <path 54.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" 54.1932 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1933 - id="583" 54.1934 - inkscape:connector-curvature="0" /> 54.1935 - <path 54.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" 54.1937 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1938 - id="584" 54.1939 - inkscape:connector-curvature="0" /> 54.1940 - <path 54.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" 54.1942 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1943 - id="585" 54.1944 - inkscape:connector-curvature="0" /> 54.1945 - <path 54.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" 54.1947 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1948 - id="586" 54.1949 - inkscape:connector-curvature="0" /> 54.1950 - <path 54.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" 54.1952 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1953 - id="587" 54.1954 - inkscape:connector-curvature="0" /> 54.1955 - <path 54.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" 54.1957 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1958 - id="588" 54.1959 - inkscape:connector-curvature="0" /> 54.1960 - <path 54.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" 54.1962 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1963 - id="589" 54.1964 - inkscape:connector-curvature="0" /> 54.1965 - <path 54.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" 54.1967 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1968 - id="590" 54.1969 - inkscape:connector-curvature="0" /> 54.1970 - <path 54.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" 54.1972 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1973 - id="591" 54.1974 - inkscape:connector-curvature="0" /> 54.1975 - <path 54.1976 - d="m 174.0304,487.25353 0,-8.86556 1.18811,0 0,8.86556 -1.18811,0 z" 54.1977 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1978 - id="592" 54.1979 - inkscape:connector-curvature="0" /> 54.1980 - <path 54.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" 54.1982 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1983 - id="593" 54.1984 - inkscape:connector-curvature="0" /> 54.1985 - <path 54.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" 54.1987 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1988 - id="594" 54.1989 - inkscape:connector-curvature="0" /> 54.1990 - <path 54.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" 54.1992 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1993 - id="595" 54.1994 - inkscape:connector-curvature="0" /> 54.1995 - <path 54.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" 54.1997 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.1998 - id="596" 54.1999 - inkscape:connector-curvature="0" /> 54.2000 - <path 54.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" 54.2002 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2003 - id="597" 54.2004 - inkscape:connector-curvature="0" /> 54.2005 - </g> 54.2006 - <path 54.2007 - inkscape:connector-curvature="0" 54.2008 - id="598" 54.2009 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.2011 - <path 54.2012 - inkscape:connector-curvature="0" 54.2013 - id="599" 54.2014 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.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" /> 54.2016 - <g 54.2017 - id="g5002" 54.2018 - transform="translate(0.42735043,9.8529205)"> 54.2019 - <path 54.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" 54.2021 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2022 - id="37" 54.2023 - inkscape:connector-curvature="0" /> 54.2024 - <path 54.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" 54.2026 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2027 - id="606" 54.2028 - inkscape:connector-curvature="0" /> 54.2029 - <path 54.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" 54.2031 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2032 - id="607" 54.2033 - inkscape:connector-curvature="0" /> 54.2034 - <path 54.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" 54.2036 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2037 - id="608" 54.2038 - inkscape:connector-curvature="0" /> 54.2039 - <path 54.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" 54.2041 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2042 - id="609" 54.2043 - inkscape:connector-curvature="0" /> 54.2044 - <path 54.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" 54.2046 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2047 - id="610" 54.2048 - inkscape:connector-curvature="0" /> 54.2049 - <path 54.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" 54.2051 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2052 - id="611" 54.2053 - inkscape:connector-curvature="0" /> 54.2054 - <path 54.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" 54.2056 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2057 - id="612" 54.2058 - inkscape:connector-curvature="0" /> 54.2059 - <path 54.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" 54.2061 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2062 - id="613" 54.2063 - inkscape:connector-curvature="0" /> 54.2064 - <path 54.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" 54.2066 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2067 - id="614" 54.2068 - inkscape:connector-curvature="0" /> 54.2069 - <path 54.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" 54.2071 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2072 - id="615" 54.2073 - inkscape:connector-curvature="0" /> 54.2074 - <path 54.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" 54.2076 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2077 - id="616" 54.2078 - inkscape:connector-curvature="0" /> 54.2079 - <path 54.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" 54.2081 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2082 - id="617" 54.2083 - inkscape:connector-curvature="0" /> 54.2084 - <path 54.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" 54.2086 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2087 - id="618" 54.2088 - inkscape:connector-curvature="0" /> 54.2089 - <path 54.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" 54.2091 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2092 - id="619" 54.2093 - inkscape:connector-curvature="0" /> 54.2094 - <path 54.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" 54.2096 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2097 - id="620" 54.2098 - inkscape:connector-curvature="0" /> 54.2099 - </g> 54.2100 - <g 54.2101 - id="g5041" 54.2102 - transform="translate(0.42735043,3)"> 54.2103 - <path 54.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" 54.2105 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2106 - id="621" 54.2107 - inkscape:connector-curvature="0" /> 54.2108 - <path 54.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" 54.2110 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2111 - id="622" 54.2112 - inkscape:connector-curvature="0" /> 54.2113 - <path 54.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" 54.2115 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2116 - id="623" 54.2117 - inkscape:connector-curvature="0" /> 54.2118 - <path 54.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" 54.2120 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2121 - id="624" 54.2122 - inkscape:connector-curvature="0" /> 54.2123 - <path 54.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" 54.2125 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2126 - id="625" 54.2127 - inkscape:connector-curvature="0" /> 54.2128 - <path 54.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" 54.2130 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2131 - id="626" 54.2132 - inkscape:connector-curvature="0" /> 54.2133 - <path 54.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" 54.2135 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2136 - id="627" 54.2137 - inkscape:connector-curvature="0" /> 54.2138 - <path 54.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" 54.2140 - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2141 - id="628" 54.2142 - inkscape:connector-curvature="0" /> 54.2143 - </g> 54.2144 - <path 54.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" 54.2146 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2147 - id="path4926" 54.2148 - inkscape:connector-curvature="0" /> 54.2149 - <path 54.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" 54.2151 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2152 - id="path4928" 54.2153 - inkscape:connector-curvature="0" /> 54.2154 - <path 54.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" 54.2156 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2157 - id="path4930" 54.2158 - inkscape:connector-curvature="0" /> 54.2159 - <path 54.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" 54.2161 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2162 - id="path4932" 54.2163 - inkscape:connector-curvature="0" /> 54.2164 - <path 54.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" 54.2166 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2167 - id="path4934" 54.2168 - inkscape:connector-curvature="0" /> 54.2169 - <path 54.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" 54.2171 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2172 - id="path4936" 54.2173 - inkscape:connector-curvature="0" /> 54.2174 - <path 54.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" 54.2176 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2177 - id="path4938" 54.2178 - inkscape:connector-curvature="0" /> 54.2179 - <path 54.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" 54.2181 - style="fill:#008066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2182 - id="path4940" 54.2183 - inkscape:connector-curvature="0" /> 54.2184 - <path 54.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" 54.2186 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2187 - id="path4942" 54.2188 - inkscape:connector-curvature="0" /> 54.2189 - <path 54.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" 54.2191 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2192 - id="path4944" 54.2193 - inkscape:connector-curvature="0" /> 54.2194 - <path 54.2195 - d="m 394.94462,423.27483 0,-5.77164 0.7274,0 0,5.77164 -0.7274,0 z" 54.2196 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2197 - id="path4946" 54.2198 - inkscape:connector-curvature="0" /> 54.2199 - <path 54.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" 54.2201 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2202 - id="path4948" 54.2203 - inkscape:connector-curvature="0" /> 54.2204 - <path 54.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" 54.2206 - style="fill:#2b2cbe;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2207 - id="path4950" 54.2208 - inkscape:connector-curvature="0" /> 54.2209 - <path 54.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" 54.2211 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2212 - id="path4952" 54.2213 - inkscape:connector-curvature="0" /> 54.2214 - <path 54.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" 54.2216 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2217 - id="path4954" 54.2218 - inkscape:connector-curvature="0" /> 54.2219 - <path 54.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" 54.2221 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2222 - id="path4956" 54.2223 - inkscape:connector-curvature="0" /> 54.2224 - <path 54.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" 54.2226 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2227 - id="path4958" 54.2228 - inkscape:connector-curvature="0" /> 54.2229 - <path 54.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" 54.2231 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2232 - id="path4960" 54.2233 - inkscape:connector-curvature="0" /> 54.2234 - <path 54.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" 54.2236 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2237 - id="path4962" 54.2238 - inkscape:connector-curvature="0" /> 54.2239 - <path 54.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" 54.2241 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2242 - id="path4964" 54.2243 - inkscape:connector-curvature="0" /> 54.2244 - <path 54.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" 54.2246 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2247 - id="path4966" 54.2248 - inkscape:connector-curvature="0" /> 54.2249 - <path 54.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" 54.2251 - style="fill:#800066;fill-opacity:1;fill-rule:evenodd;stroke:none" 54.2252 - id="path4968" 54.2253 - inkscape:connector-curvature="0" /> 54.2254 - <g 54.2255 - id="g11392" 54.2256 - transform="translate(420,8.7179488)"> 54.2257 - <text 54.2258 - sodipodi:linespacing="125%" 54.2259 - id="text5053" 54.2260 - y="450.37811" 54.2261 - x="150.58965" 54.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" 54.2263 - xml:space="preserve"><tspan 54.2264 - y="450.37811" 54.2265 - x="150.58965" 54.2266 - id="tspan5055" 54.2267 - sodipodi:role="line">Lang Syntax</tspan></text> 54.2268 - <rect 54.2269 - y="440.80841" 54.2270 - x="147.80876" 54.2271 - height="12.350597" 54.2272 - width="53.784859" 54.2273 - id="rect5088" 54.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" /> 54.2275 - </g> 54.2276 - <g 54.2277 - id="g11409" 54.2278 - transform="translate(18.42735,0)"> 54.2279 - <text 54.2280 - xml:space="preserve" 54.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" 54.2282 - x="552.58966" 54.2283 - y="513.97961" 54.2284 - id="text5057" 54.2285 - sodipodi:linespacing="125%"><tspan 54.2286 - sodipodi:role="line" 54.2287 - id="tspan5059" 54.2288 - x="552.58966" 54.2289 - y="513.97961">Request Intf</tspan></text> 54.2290 - <rect 54.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" 54.2292 - id="rect5090" 54.2293 - width="52.938667" 54.2294 - height="12.350597" 54.2295 - x="549.80878" 54.2296 - y="504.41" /> 54.2297 - </g> 54.2298 - <g 54.2299 - id="g11399" 54.2300 - transform="translate(-29.57265,13.57265)"> 54.2301 - <text 54.2302 - sodipodi:linespacing="125%" 54.2303 - id="text5061" 54.2304 - y="565.97961" 54.2305 - x="616.58966" 54.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" 54.2307 - xml:space="preserve"><tspan 54.2308 - y="565.97961" 54.2309 - x="616.58966" 54.2310 - id="tspan5063" 54.2311 - sodipodi:role="line">VMS Intf</tspan></text> 54.2312 - <rect 54.2313 - y="556.40991" 54.2314 - x="613.80878" 54.2315 - height="12.350597" 54.2316 - width="37.162453" 54.2317 - id="rect5092" 54.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" /> 54.2319 - </g> 54.2320 - <g 54.2321 - id="g11404" 54.2322 - transform="translate(-8.5641025,0.42735043)"> 54.2323 - <text 54.2324 - sodipodi:linespacing="125%" 54.2325 - id="text5065" 54.2326 - y="609.58124" 54.2327 - x="616.58966" 54.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" 54.2329 - xml:space="preserve"><tspan 54.2330 - y="609.58124" 54.2331 - x="616.58966" 54.2332 - id="tspan5067" 54.2333 - sodipodi:role="line">ISA</tspan></text> 54.2334 - <rect 54.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" 54.2336 - id="rect5094" 54.2337 - width="15.990735" 54.2338 - height="12.350597" 54.2339 - x="613.80878" 54.2340 - y="600.01154" /> 54.2341 - </g> 54.2342 - <path 54.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" 54.2344 - d="m 149.50538,456.07322 419.95554,0 0,0 0,0" 54.2345 - id="path5864" 54.2346 - inkscape:connector-curvature="0" /> 54.2347 - <path 54.2348 - inkscape:connector-curvature="0" 54.2349 - id="path5866" 54.2350 - d="m 149.43272,510.92792 417.39372,0 0,0 0,0" 54.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" /> 54.2352 - <path 54.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" 54.2354 - d="m 149.74889,576.50057 433.61341,0 0,0 0,0" 54.2355 - id="path5868" 54.2356 - inkscape:connector-curvature="0" /> 54.2357 - <path 54.2358 - inkscape:connector-curvature="0" 54.2359 - id="path5870" 54.2360 - d="m 150.01815,606.92792 454.52761,0 0,0 0,0" 54.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" /> 54.2362 - <path 54.2363 - inkscape:connector-curvature="0" 54.2364 - id="path5872" 54.2365 - d="m 149.79599,426.92792 471.66496,0 0,0 0,0" 54.2366 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 54.2367 - <path 54.2368 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 54.2369 - d="m 149.79599,624.92792 471.66496,0 0,0 0,0" 54.2370 - id="path5874" 54.2371 - inkscape:connector-curvature="0" /> 54.2372 - <text 54.2373 - xml:space="preserve" 54.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" 54.2375 - x="495.74597" 54.2376 - y="-629.70679" 54.2377 - id="text11414" 54.2378 - sodipodi:linespacing="125%" 54.2379 - transform="matrix(0,1,-1,0,0,0)"><tspan 54.2380 - sodipodi:role="line" 54.2381 - id="tspan11416" 54.2382 - x="495.74597" 54.2383 - y="-629.70679" 54.2384 - style="font-size:18px">Interface</tspan></text> 54.2385 - <text 54.2386 - xml:space="preserve" 54.2387 - 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" 54.2388 - x="-548.71796" 54.2389 - y="141.05817" 54.2390 - id="text11418" 54.2391 - sodipodi:linespacing="125%" 54.2392 - transform="matrix(0,-1,1,0,0,0)"><tspan 54.2393 - sodipodi:role="line" 54.2394 - id="tspan11420" 54.2395 - x="-548.71796" 54.2396 - y="141.05817" 54.2397 - style="font-size:18px">Layer</tspan></text> 54.2398 - <path 54.2399 - inkscape:connector-curvature="0" 54.2400 - id="path12247" 54.2401 - d="m 243.82877,575.78262 100.97409,0 0,0 0,0" 54.2402 - 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" /> 54.2403 - <g 54.2404 - id="g13494"> 54.2405 - <path 54.2406 - inkscape:connector-curvature="0" 54.2407 - id="path11477" 54.2408 - d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 54.2409 - 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" /> 54.2410 - <path 54.2411 - sodipodi:nodetypes="cc" 54.2412 - inkscape:connector-curvature="0" 54.2413 - id="path12255" 54.2414 - d="m 303.00855,475.78099 12.82051,8.11965" 54.2415 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 54.2416 - <g 54.2417 - transform="translate(-28,-20)" 54.2418 - id="g12725"> 54.2419 - <rect 54.2420 - y="483.71259" 54.2421 - x="299.65811" 54.2422 - height="12.393162" 54.2423 - width="41.452991" 54.2424 - id="rect12249" 54.2425 - style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 54.2426 - <text 54.2427 - xml:space="preserve" 54.2428 - 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" 54.2429 - x="303.21664" 54.2430 - y="492.81934" 54.2431 - id="text12721" 54.2432 - sodipodi:linespacing="125%"><tspan 54.2433 - sodipodi:role="line" 54.2434 - id="tspan12723" 54.2435 - x="303.21664" 54.2436 - y="492.81934" 54.2437 - style="fill:#008000">Toolchain</tspan></text> 54.2438 - </g> 54.2439 - <g 54.2440 - transform="translate(-2,0.8547008)" 54.2441 - id="g12738"> 54.2442 - <rect 54.2443 - y="483.71259" 54.2444 - x="299.65811" 54.2445 - height="12.393162" 54.2446 - width="41.452991" 54.2447 - id="rect12740" 54.2448 - style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 54.2449 - <text 54.2450 - xml:space="preserve" 54.2451 - 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" 54.2452 - x="300.78931" 54.2453 - y="492.81934" 54.2454 - id="text12742" 54.2455 - sodipodi:linespacing="125%"><tspan 54.2456 - sodipodi:role="line" 54.2457 - id="tspan12744" 54.2458 - x="300.78931" 54.2459 - y="492.81934" 54.2460 - style="fill:#ff7f2a">Specializer</tspan></text> 54.2461 - </g> 54.2462 - <path 54.2463 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 54.2464 - d="m 282.42388,475.78099 -12.82051,8.11965" 54.2465 - id="path12746" 54.2466 - inkscape:connector-curvature="0" 54.2467 - sodipodi:nodetypes="cc" /> 54.2468 - <g 54.2469 - id="g12748" 54.2470 - transform="translate(-50,0.8547008)"> 54.2471 - <rect 54.2472 - style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 54.2473 - id="rect12750" 54.2474 - width="41.452991" 54.2475 - height="12.393162" 54.2476 - x="299.65811" 54.2477 - y="483.71259" /> 54.2478 - <text 54.2479 - sodipodi:linespacing="125%" 54.2480 - id="text12752" 54.2481 - y="492.81934" 54.2482 - x="300.78931" 54.2483 - 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" 54.2484 - xml:space="preserve"><tspan 54.2485 - y="492.81934" 54.2486 - x="300.78931" 54.2487 - id="tspan12754" 54.2488 - sodipodi:role="line" 54.2489 - style="fill:#ff0000">Specializer</tspan></text> 54.2490 - </g> 54.2491 - <path 54.2492 - sodipodi:nodetypes="cc" 54.2493 - 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)" 54.2494 - d="m 292.0558,457.01631 0,5.71571" 54.2495 - id="path12756" 54.2496 - inkscape:connector-curvature="0" /> 54.2497 - </g> 54.2498 - <g 54.2499 - id="g13512" 54.2500 - transform="translate(102,0)"> 54.2501 - <path 54.2502 - 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" 54.2503 - d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 54.2504 - id="path13514" 54.2505 - inkscape:connector-curvature="0" /> 54.2506 - <path 54.2507 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 54.2508 - d="m 303.00855,475.78099 12.82051,8.11965" 54.2509 - id="path13516" 54.2510 - inkscape:connector-curvature="0" 54.2511 - sodipodi:nodetypes="cc" /> 54.2512 - <g 54.2513 - id="g13518" 54.2514 - transform="translate(-28,-20)"> 54.2515 - <rect 54.2516 - style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 54.2517 - id="rect13520" 54.2518 - width="41.452991" 54.2519 - height="12.393162" 54.2520 - x="299.65811" 54.2521 - y="483.71259" /> 54.2522 - <text 54.2523 - sodipodi:linespacing="125%" 54.2524 - id="text13522" 54.2525 - y="492.81934" 54.2526 - x="303.21664" 54.2527 - 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" 54.2528 - xml:space="preserve"><tspan 54.2529 - y="492.81934" 54.2530 - x="303.21664" 54.2531 - id="tspan13524" 54.2532 - sodipodi:role="line" 54.2533 - style="fill:#0000ff">Toolchain</tspan></text> 54.2534 - </g> 54.2535 - <g 54.2536 - id="g13526" 54.2537 - transform="translate(-2,0.8547008)"> 54.2538 - <rect 54.2539 - style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 54.2540 - id="rect13528" 54.2541 - width="41.452991" 54.2542 - height="12.393162" 54.2543 - x="299.65811" 54.2544 - y="483.71259" /> 54.2545 - <text 54.2546 - sodipodi:linespacing="125%" 54.2547 - id="text13530" 54.2548 - y="492.81934" 54.2549 - x="300.78931" 54.2550 - 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" 54.2551 - xml:space="preserve"><tspan 54.2552 - y="492.81934" 54.2553 - x="300.78931" 54.2554 - id="tspan13532" 54.2555 - sodipodi:role="line" 54.2556 - style="fill:#ff7f2a">Specializer</tspan></text> 54.2557 - </g> 54.2558 - <path 54.2559 - sodipodi:nodetypes="cc" 54.2560 - inkscape:connector-curvature="0" 54.2561 - id="path13534" 54.2562 - d="m 282.42388,475.78099 -12.82051,8.11965" 54.2563 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 54.2564 - <g 54.2565 - transform="translate(-50,0.8547008)" 54.2566 - id="g13536"> 54.2567 - <rect 54.2568 - y="483.71259" 54.2569 - x="299.65811" 54.2570 - height="12.393162" 54.2571 - width="41.452991" 54.2572 - id="rect13538" 54.2573 - style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 54.2574 - <text 54.2575 - xml:space="preserve" 54.2576 - 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" 54.2577 - x="300.78931" 54.2578 - y="492.81934" 54.2579 - id="text13540" 54.2580 - sodipodi:linespacing="125%"><tspan 54.2581 - sodipodi:role="line" 54.2582 - id="tspan13542" 54.2583 - x="300.78931" 54.2584 - y="492.81934" 54.2585 - style="fill:#ff0000">Specializer</tspan></text> 54.2586 - </g> 54.2587 - <path 54.2588 - inkscape:connector-curvature="0" 54.2589 - id="path13544" 54.2590 - d="m 292.0558,457.01631 0,5.71571" 54.2591 - 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)" 54.2592 - sodipodi:nodetypes="cc" /> 54.2593 - </g> 54.2594 - <g 54.2595 - transform="translate(204,0)" 54.2596 - id="g13546"> 54.2597 - <path 54.2598 - inkscape:connector-curvature="0" 54.2599 - id="path13548" 54.2600 - d="m 277.87593,455.78262 29.22252,0 0,0 0,0" 54.2601 - 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" /> 54.2602 - <path 54.2603 - sodipodi:nodetypes="cc" 54.2604 - inkscape:connector-curvature="0" 54.2605 - id="path13550" 54.2606 - d="m 303.00855,475.78099 12.82051,8.11965" 54.2607 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 54.2608 - <g 54.2609 - transform="translate(-28,-20)" 54.2610 - id="g13552"> 54.2611 - <rect 54.2612 - y="483.71259" 54.2613 - x="299.65811" 54.2614 - height="12.393162" 54.2615 - width="41.452991" 54.2616 - id="rect13554" 54.2617 - style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 54.2618 - <text 54.2619 - xml:space="preserve" 54.2620 - 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" 54.2621 - x="303.21664" 54.2622 - y="492.81934" 54.2623 - id="text13556" 54.2624 - sodipodi:linespacing="125%"><tspan 54.2625 - sodipodi:role="line" 54.2626 - id="tspan13558" 54.2627 - x="303.21664" 54.2628 - y="492.81934" 54.2629 - style="fill:#800080">Toolchain</tspan></text> 54.2630 - </g> 54.2631 - <g 54.2632 - transform="translate(-2,0.8547008)" 54.2633 - id="g13560"> 54.2634 - <rect 54.2635 - y="483.71259" 54.2636 - x="299.65811" 54.2637 - height="12.393162" 54.2638 - width="41.452991" 54.2639 - id="rect13562" 54.2640 - style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 54.2641 - <text 54.2642 - xml:space="preserve" 54.2643 - 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" 54.2644 - x="300.78931" 54.2645 - y="492.81934" 54.2646 - id="text13564" 54.2647 - sodipodi:linespacing="125%"><tspan 54.2648 - sodipodi:role="line" 54.2649 - id="tspan13566" 54.2650 - x="300.78931" 54.2651 - y="492.81934" 54.2652 - style="fill:#ff7f2a">Specializer</tspan></text> 54.2653 - </g> 54.2654 - <path 54.2655 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 54.2656 - d="m 282.42388,475.78099 -12.82051,8.11965" 54.2657 - id="path13568" 54.2658 - inkscape:connector-curvature="0" 54.2659 - sodipodi:nodetypes="cc" /> 54.2660 - <g 54.2661 - id="g13570" 54.2662 - transform="translate(-50,0.8547008)"> 54.2663 - <rect 54.2664 - style="fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 54.2665 - id="rect13572" 54.2666 - width="41.452991" 54.2667 - height="12.393162" 54.2668 - x="299.65811" 54.2669 - y="483.71259" /> 54.2670 - <text 54.2671 - sodipodi:linespacing="125%" 54.2672 - id="text13574" 54.2673 - y="492.81934" 54.2674 - x="300.78931" 54.2675 - 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" 54.2676 - xml:space="preserve"><tspan 54.2677 - y="492.81934" 54.2678 - x="300.78931" 54.2679 - id="tspan13576" 54.2680 - sodipodi:role="line" 54.2681 - style="fill:#ff0000">Specializer</tspan></text> 54.2682 - </g> 54.2683 - <path 54.2684 - sodipodi:nodetypes="cc" 54.2685 - 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)" 54.2686 - d="m 292.0558,457.01631 0,5.71571" 54.2687 - id="path13578" 54.2688 - inkscape:connector-curvature="0" /> 54.2689 - </g> 54.2690 - <path 54.2691 - 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" 54.2692 - d="m 446.68347,575.78262 100.97409,0 0,0 0,0" 54.2693 - id="path13580" 54.2694 - inkscape:connector-curvature="0" /> 54.2695 - </g> 54.2696 -</svg>
55.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/cray1_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps Thu Feb 02 12:22:53 2012 -0800 55.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 55.3 @@ -1,1135 +0,0 @@ 55.4 -%!PS-Adobe-2.0 55.5 -%%Title: cray1_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps 55.6 -%%Creator: gnuplot 4.4 patchlevel 2 55.7 -%%CreationDate: Thu Jan 26 18:06:46 2012 55.8 -%%DocumentFonts: (atend) 55.9 -%%BoundingBox: 251 50 554 482 55.10 -%%Orientation: Landscape 55.11 -%%Pages: (atend) 55.12 -%%EndComments 55.13 -%%BeginProlog 55.14 -/gnudict 256 dict def 55.15 -gnudict begin 55.16 -% 55.17 -% The following true/false flags may be edited by hand if desired. 55.18 -% The unit line width and grayscale image gamma correction may also be changed. 55.19 -% 55.20 -/Color true def 55.21 -/Blacktext false def 55.22 -/Solid false def 55.23 -/Dashlength 1 def 55.24 -/Landscape true def 55.25 -/Level1 false def 55.26 -/Rounded false def 55.27 -/ClipToBoundingBox false def 55.28 -/TransparentPatterns false def 55.29 -/gnulinewidth 5.000 def 55.30 -/userlinewidth gnulinewidth def 55.31 -/Gamma 1.0 def 55.32 -% 55.33 -/vshift -46 def 55.34 -/dl1 { 55.35 - 10.0 Dashlength mul mul 55.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 55.37 -} def 55.38 -/dl2 { 55.39 - 10.0 Dashlength mul mul 55.40 - Rounded { currentlinewidth 0.75 mul add } if 55.41 -} def 55.42 -/hpt_ 31.5 def 55.43 -/vpt_ 31.5 def 55.44 -/hpt hpt_ def 55.45 -/vpt vpt_ def 55.46 -Level1 {} { 55.47 -/SDict 10 dict def 55.48 -systemdict /pdfmark known not { 55.49 - userdict /pdfmark systemdict /cleartomark get put 55.50 -} if 55.51 -SDict begin [ 55.52 - /Title (cray1_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps) 55.53 - /Subject (gnuplot plot) 55.54 - /Creator (gnuplot 4.4 patchlevel 2) 55.55 - /Author (msach) 55.56 -% /Producer (gnuplot) 55.57 -% /Keywords () 55.58 - /CreationDate (Thu Jan 26 18:06:46 2012) 55.59 - /DOCINFO pdfmark 55.60 -end 55.61 -} ifelse 55.62 -/doclip { 55.63 - ClipToBoundingBox { 55.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 55.65 - clip 55.66 - } if 55.67 -} def 55.68 -% 55.69 -% Gnuplot Prolog Version 4.4 (August 2010) 55.70 -% 55.71 -%/SuppressPDFMark true def 55.72 -% 55.73 -/M {moveto} bind def 55.74 -/L {lineto} bind def 55.75 -/R {rmoveto} bind def 55.76 -/V {rlineto} bind def 55.77 -/N {newpath moveto} bind def 55.78 -/Z {closepath} bind def 55.79 -/C {setrgbcolor} bind def 55.80 -/f {rlineto fill} bind def 55.81 -/g {setgray} bind def 55.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 55.83 -/vpt2 vpt 2 mul def 55.84 -/hpt2 hpt 2 mul def 55.85 -/Lshow {currentpoint stroke M 0 vshift R 55.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 55.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 55.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 55.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 55.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 55.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 55.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 55.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 55.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 55.95 -/BL {stroke userlinewidth 2 mul setlinewidth 55.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 55.97 -/AL {stroke userlinewidth 2 div setlinewidth 55.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 55.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 55.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 55.101 -/PL {stroke userlinewidth setlinewidth 55.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 55.103 -3.8 setmiterlimit 55.104 -% Default Line colors 55.105 -/LCw {1 1 1} def 55.106 -/LCb {0 0 0} def 55.107 -/LCa {0 0 0} def 55.108 -/LC0 {1 0 0} def 55.109 -/LC1 {0 1 0} def 55.110 -/LC2 {0 0 1} def 55.111 -/LC3 {1 0 1} def 55.112 -/LC4 {0 1 1} def 55.113 -/LC5 {1 1 0} def 55.114 -/LC6 {0 0 0} def 55.115 -/LC7 {1 0.3 0} def 55.116 -/LC8 {0.5 0.5 0.5} def 55.117 -% Default Line Types 55.118 -/LTw {PL [] 1 setgray} def 55.119 -/LTb {BL [] LCb DL} def 55.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 55.121 -/LT0 {PL [] LC0 DL} def 55.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 55.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 55.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 55.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 55.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 55.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 55.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 55.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 55.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 55.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 55.132 - hpt neg vpt neg V hpt vpt neg V 55.133 - hpt vpt V hpt neg vpt V closepath stroke 55.134 - Pnt} def 55.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 55.136 - currentpoint stroke M 55.137 - hpt neg vpt neg R hpt2 0 V stroke 55.138 - } def 55.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 55.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 55.141 - hpt2 neg 0 V closepath stroke 55.142 - Pnt} def 55.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 55.144 - hpt2 vpt2 neg V currentpoint stroke M 55.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 55.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 55.147 - hpt neg vpt -1.62 mul V 55.148 - hpt 2 mul 0 V 55.149 - hpt neg vpt 1.62 mul V closepath stroke 55.150 - Pnt} def 55.151 -/Star {2 copy Pls Crs} def 55.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 55.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 55.154 - hpt2 neg 0 V closepath fill} def 55.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 55.156 - hpt neg vpt -1.62 mul V 55.157 - hpt 2 mul 0 V 55.158 - hpt neg vpt 1.62 mul V closepath fill} def 55.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 55.160 - hpt neg vpt 1.62 mul V 55.161 - hpt 2 mul 0 V 55.162 - hpt neg vpt -1.62 mul V closepath stroke 55.163 - Pnt} def 55.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 55.165 - hpt neg vpt 1.62 mul V 55.166 - hpt 2 mul 0 V 55.167 - hpt neg vpt -1.62 mul V closepath fill} def 55.168 -/DiaF {stroke [] 0 setdash vpt add M 55.169 - hpt neg vpt neg V hpt vpt neg V 55.170 - hpt vpt V hpt neg vpt V closepath fill} def 55.171 -/Pent {stroke [] 0 setdash 2 copy gsave 55.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 55.173 - closepath stroke grestore Pnt} def 55.174 -/PentF {stroke [] 0 setdash gsave 55.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 55.176 - closepath fill grestore} def 55.177 -/Circle {stroke [] 0 setdash 2 copy 55.178 - hpt 0 360 arc stroke Pnt} def 55.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 55.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 55.181 -/C1 {BL [] 0 setdash 2 copy moveto 55.182 - 2 copy vpt 0 90 arc closepath fill 55.183 - vpt 0 360 arc closepath} bind def 55.184 -/C2 {BL [] 0 setdash 2 copy moveto 55.185 - 2 copy vpt 90 180 arc closepath fill 55.186 - vpt 0 360 arc closepath} bind def 55.187 -/C3 {BL [] 0 setdash 2 copy moveto 55.188 - 2 copy vpt 0 180 arc closepath fill 55.189 - vpt 0 360 arc closepath} bind def 55.190 -/C4 {BL [] 0 setdash 2 copy moveto 55.191 - 2 copy vpt 180 270 arc closepath fill 55.192 - vpt 0 360 arc closepath} bind def 55.193 -/C5 {BL [] 0 setdash 2 copy moveto 55.194 - 2 copy vpt 0 90 arc 55.195 - 2 copy moveto 55.196 - 2 copy vpt 180 270 arc closepath fill 55.197 - vpt 0 360 arc} bind def 55.198 -/C6 {BL [] 0 setdash 2 copy moveto 55.199 - 2 copy vpt 90 270 arc closepath fill 55.200 - vpt 0 360 arc closepath} bind def 55.201 -/C7 {BL [] 0 setdash 2 copy moveto 55.202 - 2 copy vpt 0 270 arc closepath fill 55.203 - vpt 0 360 arc closepath} bind def 55.204 -/C8 {BL [] 0 setdash 2 copy moveto 55.205 - 2 copy vpt 270 360 arc closepath fill 55.206 - vpt 0 360 arc closepath} bind def 55.207 -/C9 {BL [] 0 setdash 2 copy moveto 55.208 - 2 copy vpt 270 450 arc closepath fill 55.209 - vpt 0 360 arc closepath} bind def 55.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 55.211 - 2 copy moveto 55.212 - 2 copy vpt 90 180 arc closepath fill 55.213 - vpt 0 360 arc closepath} bind def 55.214 -/C11 {BL [] 0 setdash 2 copy moveto 55.215 - 2 copy vpt 0 180 arc closepath fill 55.216 - 2 copy moveto 55.217 - 2 copy vpt 270 360 arc closepath fill 55.218 - vpt 0 360 arc closepath} bind def 55.219 -/C12 {BL [] 0 setdash 2 copy moveto 55.220 - 2 copy vpt 180 360 arc closepath fill 55.221 - vpt 0 360 arc closepath} bind def 55.222 -/C13 {BL [] 0 setdash 2 copy moveto 55.223 - 2 copy vpt 0 90 arc closepath fill 55.224 - 2 copy moveto 55.225 - 2 copy vpt 180 360 arc closepath fill 55.226 - vpt 0 360 arc closepath} bind def 55.227 -/C14 {BL [] 0 setdash 2 copy moveto 55.228 - 2 copy vpt 90 360 arc closepath fill 55.229 - vpt 0 360 arc} bind def 55.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 55.231 - vpt 0 360 arc closepath} bind def 55.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 55.233 - neg 0 rlineto closepath} bind def 55.234 -/Square {dup Rec} bind def 55.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 55.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 55.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 55.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 55.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 55.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 55.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 55.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 55.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 55.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 55.245 - 2 copy vpt Square fill Bsquare} bind def 55.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 55.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 55.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 55.249 - Bsquare} bind def 55.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 55.251 - Bsquare} bind def 55.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 55.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 55.254 - 2 copy vpt Square fill Bsquare} bind def 55.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 55.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 55.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 55.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 55.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 55.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 55.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 55.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 55.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 55.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 55.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 55.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 55.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 55.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 55.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 55.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 55.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 55.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 55.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 55.274 -/DiaE {stroke [] 0 setdash vpt add M 55.275 - hpt neg vpt neg V hpt vpt neg V 55.276 - hpt vpt V hpt neg vpt V closepath stroke} def 55.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 55.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 55.279 - hpt2 neg 0 V closepath stroke} def 55.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 55.281 - hpt neg vpt -1.62 mul V 55.282 - hpt 2 mul 0 V 55.283 - hpt neg vpt 1.62 mul V closepath stroke} def 55.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 55.285 - hpt neg vpt 1.62 mul V 55.286 - hpt 2 mul 0 V 55.287 - hpt neg vpt -1.62 mul V closepath stroke} def 55.288 -/PentE {stroke [] 0 setdash gsave 55.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 55.290 - closepath stroke grestore} def 55.291 -/CircE {stroke [] 0 setdash 55.292 - hpt 0 360 arc stroke} def 55.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 55.294 -/DiaW {stroke [] 0 setdash vpt add M 55.295 - hpt neg vpt neg V hpt vpt neg V 55.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 55.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 55.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 55.299 - hpt2 neg 0 V Opaque stroke} def 55.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 55.301 - hpt neg vpt -1.62 mul V 55.302 - hpt 2 mul 0 V 55.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 55.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 55.305 - hpt neg vpt 1.62 mul V 55.306 - hpt 2 mul 0 V 55.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 55.308 -/PentW {stroke [] 0 setdash gsave 55.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 55.310 - Opaque stroke grestore} def 55.311 -/CircW {stroke [] 0 setdash 55.312 - hpt 0 360 arc Opaque stroke} def 55.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 55.314 -/Density { 55.315 - /Fillden exch def 55.316 - currentrgbcolor 55.317 - /ColB exch def /ColG exch def /ColR exch def 55.318 - /ColR ColR Fillden mul Fillden sub 1 add def 55.319 - /ColG ColG Fillden mul Fillden sub 1 add def 55.320 - /ColB ColB Fillden mul Fillden sub 1 add def 55.321 - ColR ColG ColB setrgbcolor} def 55.322 -/BoxColFill {gsave Rec PolyFill} def 55.323 -/PolyFill {gsave Density fill grestore grestore} def 55.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 55.325 -% 55.326 -% PostScript Level 1 Pattern Fill routine for rectangles 55.327 -% Usage: x y w h s a XX PatternFill 55.328 -% x,y = lower left corner of box to be filled 55.329 -% w,h = width and height of box 55.330 -% a = angle in degrees between lines and x-axis 55.331 -% XX = 0/1 for no/yes cross-hatch 55.332 -% 55.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 55.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 55.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 55.336 - gsave 1 setgray fill grestore clip 55.337 - currentlinewidth 0.5 mul setlinewidth 55.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 55.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 55.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 55.341 - {PFa 4 get mul 0 M 0 PFs V} for 55.342 - 0 PFa 6 get ne { 55.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 55.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 55.345 - } if 55.346 - stroke grestore} def 55.347 -% 55.348 -/languagelevel where 55.349 - {pop languagelevel} {1} ifelse 55.350 - 2 lt 55.351 - {/InterpretLevel1 true def} 55.352 - {/InterpretLevel1 Level1 def} 55.353 - ifelse 55.354 -% 55.355 -% PostScript level 2 pattern fill definitions 55.356 -% 55.357 -/Level2PatternFill { 55.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 55.359 - bind def 55.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 55.361 -<< Tile8x8 55.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 55.363 ->> matrix makepattern 55.364 -/Pat1 exch def 55.365 -<< Tile8x8 55.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 55.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 55.368 ->> matrix makepattern 55.369 -/Pat2 exch def 55.370 -<< Tile8x8 55.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 55.372 - 8 8 L 8 0 L 0 0 L fill} 55.373 ->> matrix makepattern 55.374 -/Pat3 exch def 55.375 -<< Tile8x8 55.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 55.377 - 0 12 M 12 0 L stroke} 55.378 ->> matrix makepattern 55.379 -/Pat4 exch def 55.380 -<< Tile8x8 55.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 55.382 - 0 -4 M 12 8 L stroke} 55.383 ->> matrix makepattern 55.384 -/Pat5 exch def 55.385 -<< Tile8x8 55.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 55.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 55.388 ->> matrix makepattern 55.389 -/Pat6 exch def 55.390 -<< Tile8x8 55.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 55.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 55.393 ->> matrix makepattern 55.394 -/Pat7 exch def 55.395 -<< Tile8x8 55.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 55.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 55.398 ->> matrix makepattern 55.399 -/Pat8 exch def 55.400 -<< Tile8x8 55.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 55.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 55.403 ->> matrix makepattern 55.404 -/Pat9 exch def 55.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 55.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 55.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 55.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 55.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 55.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 55.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 55.412 -} def 55.413 -% 55.414 -% 55.415 -%End of PostScript Level 2 code 55.416 -% 55.417 -/PatternBgnd { 55.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 55.419 -} def 55.420 -% 55.421 -% Substitute for Level 2 pattern fill codes with 55.422 -% grayscale if Level 2 support is not selected. 55.423 -% 55.424 -/Level1PatternFill { 55.425 -/Pattern1 {0.250 Density} bind def 55.426 -/Pattern2 {0.500 Density} bind def 55.427 -/Pattern3 {0.750 Density} bind def 55.428 -/Pattern4 {0.125 Density} bind def 55.429 -/Pattern5 {0.375 Density} bind def 55.430 -/Pattern6 {0.625 Density} bind def 55.431 -/Pattern7 {0.875 Density} bind def 55.432 -} def 55.433 -% 55.434 -% Now test for support of Level 2 code 55.435 -% 55.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 55.437 -% 55.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 55.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 55.440 -currentdict end definefont pop 55.441 -/MFshow { 55.442 - { dup 5 get 3 ge 55.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 55.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 55.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 55.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 55.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 55.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 55.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 55.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 55.451 - pop aload pop M} ifelse }ifelse }ifelse } 55.452 - ifelse } 55.453 - forall} def 55.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 55.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 55.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 55.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 55.458 -/MLshow { currentpoint stroke M 55.459 - 0 exch R 55.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 55.461 -/MRshow { currentpoint stroke M 55.462 - exch dup MFwidth neg 3 -1 roll R 55.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 55.464 -/MCshow { currentpoint stroke M 55.465 - exch dup MFwidth -2 div 3 -1 roll R 55.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 55.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 55.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 55.469 -end 55.470 -%%EndProlog 55.471 -%%Page: 1 1 55.472 -gnudict begin 55.473 -gsave 55.474 -doclip 55.475 -50 50 translate 55.476 -0.100 0.100 scale 55.477 -90 rotate 55.478 -0 -5040 translate 55.479 -0 setgray 55.480 -newpath 55.481 -(Helvetica) findfont 140 scalefont setfont 55.482 -1.000 UL 55.483 -LTb 55.484 -602 448 M 55.485 -63 0 V 55.486 -stroke 55.487 -518 448 M 55.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 55.489 -] -46.7 MRshow 55.490 -1.000 UL 55.491 -LTb 55.492 -602 715 M 55.493 -63 0 V 55.494 -stroke 55.495 -518 715 M 55.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 55.497 -] -46.7 MRshow 55.498 -1.000 UL 55.499 -LTb 55.500 -602 983 M 55.501 -63 0 V 55.502 -stroke 55.503 -518 983 M 55.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 55.505 -] -46.7 MRshow 55.506 -1.000 UL 55.507 -LTb 55.508 -602 1250 M 55.509 -63 0 V 55.510 -stroke 55.511 -518 1250 M 55.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 55.513 -] -46.7 MRshow 55.514 -1.000 UL 55.515 -LTb 55.516 -602 1518 M 55.517 -63 0 V 55.518 -stroke 55.519 -518 1518 M 55.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 55.521 -] -46.7 MRshow 55.522 -1.000 UL 55.523 -LTb 55.524 -602 1785 M 55.525 -63 0 V 55.526 -stroke 55.527 -518 1785 M 55.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 55.529 -] -46.7 MRshow 55.530 -1.000 UL 55.531 -LTb 55.532 -602 2053 M 55.533 -63 0 V 55.534 -stroke 55.535 -518 2053 M 55.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 55.537 -] -46.7 MRshow 55.538 -1.000 UL 55.539 -LTb 55.540 -602 2320 M 55.541 -63 0 V 55.542 -stroke 55.543 -518 2320 M 55.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 55.545 -] -46.7 MRshow 55.546 -1.000 UL 55.547 -LTb 55.548 -602 2588 M 55.549 -63 0 V 55.550 -stroke 55.551 -518 2588 M 55.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 55.553 -] -46.7 MRshow 55.554 -1.000 UL 55.555 -LTb 55.556 -602 2855 M 55.557 -63 0 V 55.558 -stroke 55.559 -518 2855 M 55.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 55.561 -] -46.7 MRshow 55.562 -1.000 UL 55.563 -LTb 55.564 -602 448 M 55.565 -0 63 V 55.566 -stroke 55.567 -602 308 M 55.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 55.569 -] -46.7 MCshow 55.570 -1.000 UL 55.571 -LTb 55.572 -1035 448 M 55.573 -0 63 V 55.574 -stroke 55.575 -1035 308 M 55.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 55.577 -] -46.7 MCshow 55.578 -1.000 UL 55.579 -LTb 55.580 -1468 448 M 55.581 -0 63 V 55.582 -stroke 55.583 -1468 308 M 55.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 55.585 -] -46.7 MCshow 55.586 -1.000 UL 55.587 -LTb 55.588 -1901 448 M 55.589 -0 63 V 55.590 -stroke 55.591 -1901 308 M 55.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 55.593 -] -46.7 MCshow 55.594 -1.000 UL 55.595 -LTb 55.596 -2335 448 M 55.597 -0 63 V 55.598 -stroke 55.599 -2335 308 M 55.600 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 55.601 -] -46.7 MCshow 55.602 -1.000 UL 55.603 -LTb 55.604 -2768 448 M 55.605 -0 63 V 55.606 -stroke 55.607 -2768 308 M 55.608 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 55.609 -] -46.7 MCshow 55.610 -1.000 UL 55.611 -LTb 55.612 -3201 448 M 55.613 -0 63 V 55.614 -stroke 55.615 -3201 308 M 55.616 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 55.617 -] -46.7 MCshow 55.618 -1.000 UL 55.619 -LTb 55.620 -3634 448 M 55.621 -0 63 V 55.622 -stroke 55.623 -3634 308 M 55.624 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 55.625 -] -46.7 MCshow 55.626 -1.000 UL 55.627 -LTb 55.628 -4067 448 M 55.629 -0 63 V 55.630 -stroke 55.631 -4067 308 M 55.632 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 55.633 -] -46.7 MCshow 55.634 -1.000 UL 55.635 -LTb 55.636 -1.000 UL 55.637 -LTb 55.638 -602 2855 M 55.639 -602 448 L 55.640 -3465 0 V 55.641 -0 2407 R 55.642 --3465 0 R 55.643 -stroke 55.644 -LCb setrgbcolor 55.645 -112 1651 M 55.646 -currentpoint gsave translate -270 rotate 0 0 moveto 55.647 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 55.648 -] -46.7 MCshow 55.649 -grestore 55.650 -LTb 55.651 -LCb setrgbcolor 55.652 -2334 98 M 55.653 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 55.654 -] -46.7 MCshow 55.655 -LTb 55.656 -1.000 UP 55.657 -1.000 UL 55.658 -LTb 55.659 -LCb setrgbcolor 55.660 -3538 2919 M 55.661 -[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 55.662 -] -46.7 MCshow 55.663 -LTb 55.664 -1.000 UL 55.665 -LTb 55.666 -2793 2289 N 55.667 -0 700 V 55.668 -1491 0 V 55.669 -0 -700 V 55.670 --1491 0 V 55.671 -Z stroke 55.672 -2793 2849 M 55.673 -1491 0 V 55.674 -% Begin plot #1 55.675 -stroke 55.676 -4.000 UL 55.677 -LT5 55.678 -LC7 setrgbcolor 55.679 -LCb setrgbcolor 55.680 -3717 2779 M 55.681 -[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 55.682 -] -46.7 MRshow 55.683 -LT5 55.684 -LC7 setrgbcolor 55.685 -3801 2779 M 55.686 -399 0 V 55.687 -775 2855 M 55.688 -28 -401 V 55.689 -924 1709 L 55.690 -249 -553 V 55.691 -1658 827 L 55.692 -2629 643 L 55.693 -4067 572 L 55.694 -% End plot #1 55.695 -% Begin plot #2 55.696 -stroke 55.697 -LT6 55.698 -LCb setrgbcolor 55.699 -3717 2639 M 55.700 -[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 55.701 -] -46.7 MRshow 55.702 -LT6 55.703 -3801 2639 M 55.704 -399 0 V 55.705 -1064 2855 M 55.706 -111 -618 V 55.707 -488 -826 V 55.708 -2631 949 L 55.709 -4067 767 L 55.710 -% End plot #2 55.711 -% Begin plot #3 55.712 -stroke 55.713 -LT7 55.714 -LC1 setrgbcolor 55.715 -LCb setrgbcolor 55.716 -3717 2499 M 55.717 -[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 55.718 -] -46.7 MRshow 55.719 -LT7 55.720 -LC1 setrgbcolor 55.721 -3801 2499 M 55.722 -399 0 V 55.723 -2210 2855 M 55.724 -429 -685 V 55.725 -4067 1557 L 55.726 -% End plot #3 55.727 -% Begin plot #4 55.728 -stroke 55.729 -LT8 55.730 -LCb setrgbcolor 55.731 -3717 2359 M 55.732 -[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 55.733 -] -46.7 MRshow 55.734 -LT8 55.735 -3801 2359 M 55.736 -399 0 V 55.737 -% End plot #4 55.738 -stroke 55.739 -1.000 UL 55.740 -LTb 55.741 -602 2855 M 55.742 -602 448 L 55.743 -3465 0 V 55.744 -0 2407 R 55.745 --3465 0 R 55.746 -1.000 UP 55.747 -602 448 M 55.748 -63 0 V 55.749 -stroke 55.750 -518 448 M 55.751 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 55.752 -] -46.7 MRshow 55.753 -1.000 UL 55.754 -LTb 55.755 -602 715 M 55.756 -63 0 V 55.757 -stroke 55.758 -518 715 M 55.759 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 55.760 -] -46.7 MRshow 55.761 -1.000 UL 55.762 -LTb 55.763 -602 983 M 55.764 -63 0 V 55.765 -stroke 55.766 -518 983 M 55.767 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 55.768 -] -46.7 MRshow 55.769 -1.000 UL 55.770 -LTb 55.771 -602 1250 M 55.772 -63 0 V 55.773 -stroke 55.774 -518 1250 M 55.775 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 55.776 -] -46.7 MRshow 55.777 -1.000 UL 55.778 -LTb 55.779 -602 1518 M 55.780 -63 0 V 55.781 -stroke 55.782 -518 1518 M 55.783 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 55.784 -] -46.7 MRshow 55.785 -1.000 UL 55.786 -LTb 55.787 -602 1785 M 55.788 -63 0 V 55.789 -stroke 55.790 -518 1785 M 55.791 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 55.792 -] -46.7 MRshow 55.793 -1.000 UL 55.794 -LTb 55.795 -602 2053 M 55.796 -63 0 V 55.797 -stroke 55.798 -518 2053 M 55.799 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 55.800 -] -46.7 MRshow 55.801 -1.000 UL 55.802 -LTb 55.803 -602 2320 M 55.804 -63 0 V 55.805 -stroke 55.806 -518 2320 M 55.807 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 55.808 -] -46.7 MRshow 55.809 -1.000 UL 55.810 -LTb 55.811 -602 2588 M 55.812 -63 0 V 55.813 -stroke 55.814 -518 2588 M 55.815 -[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 55.816 -] -46.7 MRshow 55.817 -1.000 UL 55.818 -LTb 55.819 -602 2855 M 55.820 -63 0 V 55.821 -stroke 55.822 -518 2855 M 55.823 -[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 55.824 -] -46.7 MRshow 55.825 -1.000 UL 55.826 -LTb 55.827 -602 448 M 55.828 -0 63 V 55.829 -stroke 55.830 -602 308 M 55.831 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 55.832 -] -46.7 MCshow 55.833 -1.000 UL 55.834 -LTb 55.835 -1035 448 M 55.836 -0 63 V 55.837 -stroke 55.838 -1035 308 M 55.839 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 55.840 -] -46.7 MCshow 55.841 -1.000 UL 55.842 -LTb 55.843 -1468 448 M 55.844 -0 63 V 55.845 -stroke 55.846 -1468 308 M 55.847 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 55.848 -] -46.7 MCshow 55.849 -1.000 UL 55.850 -LTb 55.851 -1901 448 M 55.852 -0 63 V 55.853 -stroke 55.854 -1901 308 M 55.855 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 55.856 -] -46.7 MCshow 55.857 -1.000 UL 55.858 -LTb 55.859 -2335 448 M 55.860 -0 63 V 55.861 -stroke 55.862 -2335 308 M 55.863 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 55.864 -] -46.7 MCshow 55.865 -1.000 UL 55.866 -LTb 55.867 -2768 448 M 55.868 -0 63 V 55.869 -stroke 55.870 -2768 308 M 55.871 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 55.872 -] -46.7 MCshow 55.873 -1.000 UL 55.874 -LTb 55.875 -3201 448 M 55.876 -0 63 V 55.877 -stroke 55.878 -3201 308 M 55.879 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 55.880 -] -46.7 MCshow 55.881 -1.000 UL 55.882 -LTb 55.883 -3634 448 M 55.884 -0 63 V 55.885 -stroke 55.886 -3634 308 M 55.887 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 55.888 -] -46.7 MCshow 55.889 -1.000 UL 55.890 -LTb 55.891 -4067 448 M 55.892 -0 63 V 55.893 -stroke 55.894 -4067 308 M 55.895 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 55.896 -] -46.7 MCshow 55.897 -1.000 UL 55.898 -LTb 55.899 -1.000 UL 55.900 -LTb 55.901 -602 2855 M 55.902 -602 448 L 55.903 -3465 0 V 55.904 -0 2407 R 55.905 --3465 0 R 55.906 -stroke 55.907 -LCb setrgbcolor 55.908 -112 1651 M 55.909 -currentpoint gsave translate -270 rotate 0 0 moveto 55.910 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 55.911 -] -46.7 MCshow 55.912 -grestore 55.913 -LTb 55.914 -LCb setrgbcolor 55.915 -2334 98 M 55.916 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 55.917 -] -46.7 MCshow 55.918 -LTb 55.919 -1.000 UP 55.920 -1.000 UL 55.921 -LTb 55.922 -LCb setrgbcolor 55.923 -2022 2919 M 55.924 -[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 55.925 -] -46.7 MCshow 55.926 -LTb 55.927 -1.000 UL 55.928 -LTb 55.929 -1277 2289 N 55.930 -0 700 V 55.931 -1491 0 V 55.932 -0 -700 V 55.933 --1491 0 V 55.934 -Z stroke 55.935 -1277 2849 M 55.936 -1491 0 V 55.937 -% Begin plot #1 55.938 -stroke 55.939 -4.000 UL 55.940 -LT1 55.941 -LCa setrgbcolor 55.942 -602 715 M 55.943 -35 0 V 55.944 -35 0 V 55.945 -35 0 V 55.946 -35 0 V 55.947 -35 0 V 55.948 -35 0 V 55.949 -35 0 V 55.950 -35 0 V 55.951 -35 0 V 55.952 -35 0 V 55.953 -35 0 V 55.954 -35 0 V 55.955 -35 0 V 55.956 -35 0 V 55.957 -35 0 V 55.958 -35 0 V 55.959 -35 0 V 55.960 -35 0 V 55.961 -35 0 V 55.962 -35 0 V 55.963 -35 0 V 55.964 -35 0 V 55.965 -35 0 V 55.966 -35 0 V 55.967 -35 0 V 55.968 -35 0 V 55.969 -35 0 V 55.970 -35 0 V 55.971 -35 0 V 55.972 -35 0 V 55.973 -35 0 V 55.974 -35 0 V 55.975 -35 0 V 55.976 -35 0 V 55.977 -35 0 V 55.978 -35 0 V 55.979 -35 0 V 55.980 -35 0 V 55.981 -35 0 V 55.982 -35 0 V 55.983 -35 0 V 55.984 -35 0 V 55.985 -35 0 V 55.986 -35 0 V 55.987 -35 0 V 55.988 -35 0 V 55.989 -35 0 V 55.990 -35 0 V 55.991 -35 0 V 55.992 -35 0 V 55.993 -35 0 V 55.994 -35 0 V 55.995 -35 0 V 55.996 -35 0 V 55.997 -35 0 V 55.998 -35 0 V 55.999 -35 0 V 55.1000 -35 0 V 55.1001 -35 0 V 55.1002 -35 0 V 55.1003 -35 0 V 55.1004 -35 0 V 55.1005 -35 0 V 55.1006 -35 0 V 55.1007 -35 0 V 55.1008 -35 0 V 55.1009 -35 0 V 55.1010 -35 0 V 55.1011 -35 0 V 55.1012 -35 0 V 55.1013 -35 0 V 55.1014 -35 0 V 55.1015 -35 0 V 55.1016 -35 0 V 55.1017 -35 0 V 55.1018 -35 0 V 55.1019 -35 0 V 55.1020 -35 0 V 55.1021 -35 0 V 55.1022 -35 0 V 55.1023 -35 0 V 55.1024 -35 0 V 55.1025 -35 0 V 55.1026 -35 0 V 55.1027 -35 0 V 55.1028 -35 0 V 55.1029 -35 0 V 55.1030 -35 0 V 55.1031 -35 0 V 55.1032 -35 0 V 55.1033 -35 0 V 55.1034 -35 0 V 55.1035 -35 0 V 55.1036 -35 0 V 55.1037 -35 0 V 55.1038 -35 0 V 55.1039 -35 0 V 55.1040 -35 0 V 55.1041 -35 0 V 55.1042 -% End plot #1 55.1043 -% Begin plot #2 55.1044 -stroke 55.1045 -LT0 55.1046 -LCb setrgbcolor 55.1047 -2201 2779 M 55.1048 -[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 55.1049 -] -46.7 MRshow 55.1050 -LT0 55.1051 -2285 2779 M 55.1052 -399 0 V 55.1053 -692 1306 M 55.1054 -18 -111 V 55.1055 -31 -149 V 55.1056 -801 842 L 55.1057 -922 697 L 55.1058 -1172 589 L 55.1059 -486 -65 V 55.1060 -970 -37 V 55.1061 -4067 473 L 55.1062 -% End plot #2 55.1063 -% Begin plot #3 55.1064 -stroke 55.1065 -LT2 55.1066 -LCb setrgbcolor 55.1067 -2201 2639 M 55.1068 -[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 55.1069 -] -46.7 MRshow 55.1070 -LT2 55.1071 -2285 2639 M 55.1072 -399 0 V 55.1073 -692 1319 M 55.1074 -18 -134 V 55.1075 -30 -176 V 55.1076 -801 845 L 55.1077 -922 690 L 55.1078 -1173 582 L 55.1079 -485 -60 V 55.1080 -970 -36 V 55.1081 -4067 472 L 55.1082 -% End plot #3 55.1083 -% Begin plot #4 55.1084 -stroke 55.1085 -LT3 55.1086 -LCb setrgbcolor 55.1087 -2201 2499 M 55.1088 -[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 55.1089 -] -46.7 MRshow 55.1090 -LT3 55.1091 -2285 2499 M 55.1092 -399 0 V 55.1093 -693 1386 M 55.1094 -18 -167 V 55.1095 -30 -161 V 55.1096 -801 865 L 55.1097 -923 711 L 55.1098 -1173 595 L 55.1099 -485 -67 V 55.1100 -970 -39 V 55.1101 -4067 474 L 55.1102 -% End plot #4 55.1103 -% Begin plot #5 55.1104 -stroke 55.1105 -LT4 55.1106 -LCb setrgbcolor 55.1107 -2201 2359 M 55.1108 -[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 55.1109 -] -46.7 MRshow 55.1110 -LT4 55.1111 -2285 2359 M 55.1112 -399 0 V 55.1113 -692 1425 M 55.1114 -19 -158 V 55.1115 -30 -179 V 55.1116 -802 892 L 55.1117 -923 725 L 55.1118 -1173 602 L 55.1119 -485 -70 V 55.1120 -970 -40 V 55.1121 -4067 476 L 55.1122 -% End plot #5 55.1123 -stroke 55.1124 -1.000 UL 55.1125 -LTb 55.1126 -602 2855 M 55.1127 -602 448 L 55.1128 -3465 0 V 55.1129 -0 2407 R 55.1130 --3465 0 R 55.1131 -1.000 UP 55.1132 -stroke 55.1133 -grestore 55.1134 -end 55.1135 -showpage 55.1136 -%%Trailer 55.1137 -%%DocumentFonts: Helvetica 55.1138 -%%Pages: 1
56.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps Thu Feb 02 12:22:53 2012 -0800 56.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 56.3 @@ -1,818 +0,0 @@ 56.4 -%!PS-Adobe-2.0 56.5 -%%Title: cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps 56.6 -%%Creator: gnuplot 4.4 patchlevel 2 56.7 -%%CreationDate: Thu Jan 26 18:08:51 2012 56.8 -%%DocumentFonts: (atend) 56.9 -%%BoundingBox: 251 50 554 482 56.10 -%%Orientation: Landscape 56.11 -%%Pages: (atend) 56.12 -%%EndComments 56.13 -%%BeginProlog 56.14 -/gnudict 256 dict def 56.15 -gnudict begin 56.16 -% 56.17 -% The following true/false flags may be edited by hand if desired. 56.18 -% The unit line width and grayscale image gamma correction may also be changed. 56.19 -% 56.20 -/Color true def 56.21 -/Blacktext false def 56.22 -/Solid false def 56.23 -/Dashlength 1 def 56.24 -/Landscape true def 56.25 -/Level1 false def 56.26 -/Rounded false def 56.27 -/ClipToBoundingBox false def 56.28 -/TransparentPatterns false def 56.29 -/gnulinewidth 5.000 def 56.30 -/userlinewidth gnulinewidth def 56.31 -/Gamma 1.0 def 56.32 -% 56.33 -/vshift -46 def 56.34 -/dl1 { 56.35 - 10.0 Dashlength mul mul 56.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 56.37 -} def 56.38 -/dl2 { 56.39 - 10.0 Dashlength mul mul 56.40 - Rounded { currentlinewidth 0.75 mul add } if 56.41 -} def 56.42 -/hpt_ 31.5 def 56.43 -/vpt_ 31.5 def 56.44 -/hpt hpt_ def 56.45 -/vpt vpt_ def 56.46 -Level1 {} { 56.47 -/SDict 10 dict def 56.48 -systemdict /pdfmark known not { 56.49 - userdict /pdfmark systemdict /cleartomark get put 56.50 -} if 56.51 -SDict begin [ 56.52 - /Title (cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps) 56.53 - /Subject (gnuplot plot) 56.54 - /Creator (gnuplot 4.4 patchlevel 2) 56.55 - /Author (msach) 56.56 -% /Producer (gnuplot) 56.57 -% /Keywords () 56.58 - /CreationDate (Thu Jan 26 18:08:51 2012) 56.59 - /DOCINFO pdfmark 56.60 -end 56.61 -} ifelse 56.62 -/doclip { 56.63 - ClipToBoundingBox { 56.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 56.65 - clip 56.66 - } if 56.67 -} def 56.68 -% 56.69 -% Gnuplot Prolog Version 4.4 (August 2010) 56.70 -% 56.71 -%/SuppressPDFMark true def 56.72 -% 56.73 -/M {moveto} bind def 56.74 -/L {lineto} bind def 56.75 -/R {rmoveto} bind def 56.76 -/V {rlineto} bind def 56.77 -/N {newpath moveto} bind def 56.78 -/Z {closepath} bind def 56.79 -/C {setrgbcolor} bind def 56.80 -/f {rlineto fill} bind def 56.81 -/g {setgray} bind def 56.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 56.83 -/vpt2 vpt 2 mul def 56.84 -/hpt2 hpt 2 mul def 56.85 -/Lshow {currentpoint stroke M 0 vshift R 56.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 56.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 56.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 56.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 56.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 56.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 56.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 56.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 56.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 56.95 -/BL {stroke userlinewidth 2 mul setlinewidth 56.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 56.97 -/AL {stroke userlinewidth 2 div setlinewidth 56.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 56.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 56.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 56.101 -/PL {stroke userlinewidth setlinewidth 56.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 56.103 -3.8 setmiterlimit 56.104 -% Default Line colors 56.105 -/LCw {1 1 1} def 56.106 -/LCb {0 0 0} def 56.107 -/LCa {0 0 0} def 56.108 -/LC0 {1 0 0} def 56.109 -/LC1 {0 1 0} def 56.110 -/LC2 {0 0 1} def 56.111 -/LC3 {1 0 1} def 56.112 -/LC4 {0 1 1} def 56.113 -/LC5 {1 1 0} def 56.114 -/LC6 {0 0 0} def 56.115 -/LC7 {1 0.3 0} def 56.116 -/LC8 {0.5 0.5 0.5} def 56.117 -% Default Line Types 56.118 -/LTw {PL [] 1 setgray} def 56.119 -/LTb {BL [] LCb DL} def 56.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 56.121 -/LT0 {PL [] LC0 DL} def 56.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 56.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 56.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 56.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 56.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 56.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 56.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 56.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 56.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 56.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 56.132 - hpt neg vpt neg V hpt vpt neg V 56.133 - hpt vpt V hpt neg vpt V closepath stroke 56.134 - Pnt} def 56.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 56.136 - currentpoint stroke M 56.137 - hpt neg vpt neg R hpt2 0 V stroke 56.138 - } def 56.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 56.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 56.141 - hpt2 neg 0 V closepath stroke 56.142 - Pnt} def 56.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 56.144 - hpt2 vpt2 neg V currentpoint stroke M 56.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 56.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 56.147 - hpt neg vpt -1.62 mul V 56.148 - hpt 2 mul 0 V 56.149 - hpt neg vpt 1.62 mul V closepath stroke 56.150 - Pnt} def 56.151 -/Star {2 copy Pls Crs} def 56.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 56.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 56.154 - hpt2 neg 0 V closepath fill} def 56.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 56.156 - hpt neg vpt -1.62 mul V 56.157 - hpt 2 mul 0 V 56.158 - hpt neg vpt 1.62 mul V closepath fill} def 56.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 56.160 - hpt neg vpt 1.62 mul V 56.161 - hpt 2 mul 0 V 56.162 - hpt neg vpt -1.62 mul V closepath stroke 56.163 - Pnt} def 56.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 56.165 - hpt neg vpt 1.62 mul V 56.166 - hpt 2 mul 0 V 56.167 - hpt neg vpt -1.62 mul V closepath fill} def 56.168 -/DiaF {stroke [] 0 setdash vpt add M 56.169 - hpt neg vpt neg V hpt vpt neg V 56.170 - hpt vpt V hpt neg vpt V closepath fill} def 56.171 -/Pent {stroke [] 0 setdash 2 copy gsave 56.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 56.173 - closepath stroke grestore Pnt} def 56.174 -/PentF {stroke [] 0 setdash gsave 56.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 56.176 - closepath fill grestore} def 56.177 -/Circle {stroke [] 0 setdash 2 copy 56.178 - hpt 0 360 arc stroke Pnt} def 56.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 56.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 56.181 -/C1 {BL [] 0 setdash 2 copy moveto 56.182 - 2 copy vpt 0 90 arc closepath fill 56.183 - vpt 0 360 arc closepath} bind def 56.184 -/C2 {BL [] 0 setdash 2 copy moveto 56.185 - 2 copy vpt 90 180 arc closepath fill 56.186 - vpt 0 360 arc closepath} bind def 56.187 -/C3 {BL [] 0 setdash 2 copy moveto 56.188 - 2 copy vpt 0 180 arc closepath fill 56.189 - vpt 0 360 arc closepath} bind def 56.190 -/C4 {BL [] 0 setdash 2 copy moveto 56.191 - 2 copy vpt 180 270 arc closepath fill 56.192 - vpt 0 360 arc closepath} bind def 56.193 -/C5 {BL [] 0 setdash 2 copy moveto 56.194 - 2 copy vpt 0 90 arc 56.195 - 2 copy moveto 56.196 - 2 copy vpt 180 270 arc closepath fill 56.197 - vpt 0 360 arc} bind def 56.198 -/C6 {BL [] 0 setdash 2 copy moveto 56.199 - 2 copy vpt 90 270 arc closepath fill 56.200 - vpt 0 360 arc closepath} bind def 56.201 -/C7 {BL [] 0 setdash 2 copy moveto 56.202 - 2 copy vpt 0 270 arc closepath fill 56.203 - vpt 0 360 arc closepath} bind def 56.204 -/C8 {BL [] 0 setdash 2 copy moveto 56.205 - 2 copy vpt 270 360 arc closepath fill 56.206 - vpt 0 360 arc closepath} bind def 56.207 -/C9 {BL [] 0 setdash 2 copy moveto 56.208 - 2 copy vpt 270 450 arc closepath fill 56.209 - vpt 0 360 arc closepath} bind def 56.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 56.211 - 2 copy moveto 56.212 - 2 copy vpt 90 180 arc closepath fill 56.213 - vpt 0 360 arc closepath} bind def 56.214 -/C11 {BL [] 0 setdash 2 copy moveto 56.215 - 2 copy vpt 0 180 arc closepath fill 56.216 - 2 copy moveto 56.217 - 2 copy vpt 270 360 arc closepath fill 56.218 - vpt 0 360 arc closepath} bind def 56.219 -/C12 {BL [] 0 setdash 2 copy moveto 56.220 - 2 copy vpt 180 360 arc closepath fill 56.221 - vpt 0 360 arc closepath} bind def 56.222 -/C13 {BL [] 0 setdash 2 copy moveto 56.223 - 2 copy vpt 0 90 arc closepath fill 56.224 - 2 copy moveto 56.225 - 2 copy vpt 180 360 arc closepath fill 56.226 - vpt 0 360 arc closepath} bind def 56.227 -/C14 {BL [] 0 setdash 2 copy moveto 56.228 - 2 copy vpt 90 360 arc closepath fill 56.229 - vpt 0 360 arc} bind def 56.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 56.231 - vpt 0 360 arc closepath} bind def 56.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 56.233 - neg 0 rlineto closepath} bind def 56.234 -/Square {dup Rec} bind def 56.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 56.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 56.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 56.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 56.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 56.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 56.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 56.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 56.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 56.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 56.245 - 2 copy vpt Square fill Bsquare} bind def 56.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 56.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 56.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 56.249 - Bsquare} bind def 56.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 56.251 - Bsquare} bind def 56.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 56.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 56.254 - 2 copy vpt Square fill Bsquare} bind def 56.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 56.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 56.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 56.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 56.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 56.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 56.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 56.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 56.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 56.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 56.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 56.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 56.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 56.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 56.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 56.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 56.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 56.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 56.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 56.274 -/DiaE {stroke [] 0 setdash vpt add M 56.275 - hpt neg vpt neg V hpt vpt neg V 56.276 - hpt vpt V hpt neg vpt V closepath stroke} def 56.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 56.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 56.279 - hpt2 neg 0 V closepath stroke} def 56.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 56.281 - hpt neg vpt -1.62 mul V 56.282 - hpt 2 mul 0 V 56.283 - hpt neg vpt 1.62 mul V closepath stroke} def 56.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 56.285 - hpt neg vpt 1.62 mul V 56.286 - hpt 2 mul 0 V 56.287 - hpt neg vpt -1.62 mul V closepath stroke} def 56.288 -/PentE {stroke [] 0 setdash gsave 56.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 56.290 - closepath stroke grestore} def 56.291 -/CircE {stroke [] 0 setdash 56.292 - hpt 0 360 arc stroke} def 56.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 56.294 -/DiaW {stroke [] 0 setdash vpt add M 56.295 - hpt neg vpt neg V hpt vpt neg V 56.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 56.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 56.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 56.299 - hpt2 neg 0 V Opaque stroke} def 56.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 56.301 - hpt neg vpt -1.62 mul V 56.302 - hpt 2 mul 0 V 56.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 56.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 56.305 - hpt neg vpt 1.62 mul V 56.306 - hpt 2 mul 0 V 56.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 56.308 -/PentW {stroke [] 0 setdash gsave 56.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 56.310 - Opaque stroke grestore} def 56.311 -/CircW {stroke [] 0 setdash 56.312 - hpt 0 360 arc Opaque stroke} def 56.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 56.314 -/Density { 56.315 - /Fillden exch def 56.316 - currentrgbcolor 56.317 - /ColB exch def /ColG exch def /ColR exch def 56.318 - /ColR ColR Fillden mul Fillden sub 1 add def 56.319 - /ColG ColG Fillden mul Fillden sub 1 add def 56.320 - /ColB ColB Fillden mul Fillden sub 1 add def 56.321 - ColR ColG ColB setrgbcolor} def 56.322 -/BoxColFill {gsave Rec PolyFill} def 56.323 -/PolyFill {gsave Density fill grestore grestore} def 56.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 56.325 -% 56.326 -% PostScript Level 1 Pattern Fill routine for rectangles 56.327 -% Usage: x y w h s a XX PatternFill 56.328 -% x,y = lower left corner of box to be filled 56.329 -% w,h = width and height of box 56.330 -% a = angle in degrees between lines and x-axis 56.331 -% XX = 0/1 for no/yes cross-hatch 56.332 -% 56.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 56.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 56.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 56.336 - gsave 1 setgray fill grestore clip 56.337 - currentlinewidth 0.5 mul setlinewidth 56.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 56.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 56.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 56.341 - {PFa 4 get mul 0 M 0 PFs V} for 56.342 - 0 PFa 6 get ne { 56.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 56.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 56.345 - } if 56.346 - stroke grestore} def 56.347 -% 56.348 -/languagelevel where 56.349 - {pop languagelevel} {1} ifelse 56.350 - 2 lt 56.351 - {/InterpretLevel1 true def} 56.352 - {/InterpretLevel1 Level1 def} 56.353 - ifelse 56.354 -% 56.355 -% PostScript level 2 pattern fill definitions 56.356 -% 56.357 -/Level2PatternFill { 56.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 56.359 - bind def 56.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 56.361 -<< Tile8x8 56.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 56.363 ->> matrix makepattern 56.364 -/Pat1 exch def 56.365 -<< Tile8x8 56.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 56.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 56.368 ->> matrix makepattern 56.369 -/Pat2 exch def 56.370 -<< Tile8x8 56.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 56.372 - 8 8 L 8 0 L 0 0 L fill} 56.373 ->> matrix makepattern 56.374 -/Pat3 exch def 56.375 -<< Tile8x8 56.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 56.377 - 0 12 M 12 0 L stroke} 56.378 ->> matrix makepattern 56.379 -/Pat4 exch def 56.380 -<< Tile8x8 56.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 56.382 - 0 -4 M 12 8 L stroke} 56.383 ->> matrix makepattern 56.384 -/Pat5 exch def 56.385 -<< Tile8x8 56.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 56.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 56.388 ->> matrix makepattern 56.389 -/Pat6 exch def 56.390 -<< Tile8x8 56.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 56.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 56.393 ->> matrix makepattern 56.394 -/Pat7 exch def 56.395 -<< Tile8x8 56.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 56.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 56.398 ->> matrix makepattern 56.399 -/Pat8 exch def 56.400 -<< Tile8x8 56.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 56.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 56.403 ->> matrix makepattern 56.404 -/Pat9 exch def 56.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 56.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 56.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 56.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 56.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 56.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 56.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 56.412 -} def 56.413 -% 56.414 -% 56.415 -%End of PostScript Level 2 code 56.416 -% 56.417 -/PatternBgnd { 56.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 56.419 -} def 56.420 -% 56.421 -% Substitute for Level 2 pattern fill codes with 56.422 -% grayscale if Level 2 support is not selected. 56.423 -% 56.424 -/Level1PatternFill { 56.425 -/Pattern1 {0.250 Density} bind def 56.426 -/Pattern2 {0.500 Density} bind def 56.427 -/Pattern3 {0.750 Density} bind def 56.428 -/Pattern4 {0.125 Density} bind def 56.429 -/Pattern5 {0.375 Density} bind def 56.430 -/Pattern6 {0.625 Density} bind def 56.431 -/Pattern7 {0.875 Density} bind def 56.432 -} def 56.433 -% 56.434 -% Now test for support of Level 2 code 56.435 -% 56.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 56.437 -% 56.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 56.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 56.440 -currentdict end definefont pop 56.441 -/MFshow { 56.442 - { dup 5 get 3 ge 56.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 56.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 56.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 56.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 56.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 56.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 56.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 56.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 56.451 - pop aload pop M} ifelse }ifelse }ifelse } 56.452 - ifelse } 56.453 - forall} def 56.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 56.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 56.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 56.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 56.458 -/MLshow { currentpoint stroke M 56.459 - 0 exch R 56.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 56.461 -/MRshow { currentpoint stroke M 56.462 - exch dup MFwidth neg 3 -1 roll R 56.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 56.464 -/MCshow { currentpoint stroke M 56.465 - exch dup MFwidth -2 div 3 -1 roll R 56.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 56.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 56.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 56.469 -end 56.470 -%%EndProlog 56.471 -%%Page: 1 1 56.472 -gnudict begin 56.473 -gsave 56.474 -doclip 56.475 -50 50 translate 56.476 -0.100 0.100 scale 56.477 -90 rotate 56.478 -0 -5040 translate 56.479 -0 setgray 56.480 -newpath 56.481 -(Helvetica) findfont 140 scalefont setfont 56.482 -1.000 UL 56.483 -LTb 56.484 -518 448 M 56.485 -63 0 V 56.486 -stroke 56.487 -434 448 M 56.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 56.489 -] -46.7 MRshow 56.490 -1.000 UL 56.491 -LTb 56.492 -518 792 M 56.493 -63 0 V 56.494 -stroke 56.495 -434 792 M 56.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 56.497 -] -46.7 MRshow 56.498 -1.000 UL 56.499 -LTb 56.500 -518 1136 M 56.501 -63 0 V 56.502 -stroke 56.503 -434 1136 M 56.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 56.505 -] -46.7 MRshow 56.506 -1.000 UL 56.507 -LTb 56.508 -518 1480 M 56.509 -63 0 V 56.510 -stroke 56.511 -434 1480 M 56.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 56.513 -] -46.7 MRshow 56.514 -1.000 UL 56.515 -LTb 56.516 -518 1823 M 56.517 -63 0 V 56.518 -stroke 56.519 -434 1823 M 56.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 56.521 -] -46.7 MRshow 56.522 -1.000 UL 56.523 -LTb 56.524 -518 2167 M 56.525 -63 0 V 56.526 -stroke 56.527 -434 2167 M 56.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 56.529 -] -46.7 MRshow 56.530 -1.000 UL 56.531 -LTb 56.532 -518 2511 M 56.533 -63 0 V 56.534 -stroke 56.535 -434 2511 M 56.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 56.537 -] -46.7 MRshow 56.538 -1.000 UL 56.539 -LTb 56.540 -518 2855 M 56.541 -63 0 V 56.542 -stroke 56.543 -434 2855 M 56.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 56.545 -] -46.7 MRshow 56.546 -1.000 UL 56.547 -LTb 56.548 -518 448 M 56.549 -0 63 V 56.550 -stroke 56.551 -518 308 M 56.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 56.553 -] -46.7 MCshow 56.554 -1.000 UL 56.555 -LTb 56.556 -962 448 M 56.557 -0 63 V 56.558 -stroke 56.559 -962 308 M 56.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 56.561 -] -46.7 MCshow 56.562 -1.000 UL 56.563 -LTb 56.564 -1405 448 M 56.565 -0 63 V 56.566 -stroke 56.567 -1405 308 M 56.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 56.569 -] -46.7 MCshow 56.570 -1.000 UL 56.571 -LTb 56.572 -1849 448 M 56.573 -0 63 V 56.574 -stroke 56.575 -1849 308 M 56.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 56.577 -] -46.7 MCshow 56.578 -1.000 UL 56.579 -LTb 56.580 -2293 448 M 56.581 -0 63 V 56.582 -stroke 56.583 -2293 308 M 56.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 56.585 -] -46.7 MCshow 56.586 -1.000 UL 56.587 -LTb 56.588 -2736 448 M 56.589 -0 63 V 56.590 -stroke 56.591 -2736 308 M 56.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 56.593 -] -46.7 MCshow 56.594 -1.000 UL 56.595 -LTb 56.596 -3180 448 M 56.597 -0 63 V 56.598 -stroke 56.599 -3180 308 M 56.600 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 56.601 -] -46.7 MCshow 56.602 -1.000 UL 56.603 -LTb 56.604 -3623 448 M 56.605 -0 63 V 56.606 -stroke 56.607 -3623 308 M 56.608 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 56.609 -] -46.7 MCshow 56.610 -1.000 UL 56.611 -LTb 56.612 -4067 448 M 56.613 -0 63 V 56.614 -stroke 56.615 -4067 308 M 56.616 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 56.617 -] -46.7 MCshow 56.618 -1.000 UL 56.619 -LTb 56.620 -1.000 UL 56.621 -LTb 56.622 -518 2855 M 56.623 -518 448 L 56.624 -3549 0 V 56.625 -0 2407 R 56.626 --3549 0 R 56.627 -stroke 56.628 -LCb setrgbcolor 56.629 -112 1651 M 56.630 -currentpoint gsave translate -270 rotate 0 0 moveto 56.631 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 56.632 -] -46.7 MCshow 56.633 -grestore 56.634 -LTb 56.635 -LCb setrgbcolor 56.636 -2292 98 M 56.637 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 56.638 -] -46.7 MCshow 56.639 -LTb 56.640 -1.000 UP 56.641 -1.000 UL 56.642 -LTb 56.643 -1.000 UL 56.644 -LTb 56.645 -2798 2538 N 56.646 -0 420 V 56.647 -1491 0 V 56.648 -0 -420 V 56.649 --1491 0 V 56.650 -Z stroke 56.651 -2798 2958 M 56.652 -1491 0 V 56.653 -% Begin plot #1 56.654 -stroke 56.655 -4.000 UL 56.656 -LT1 56.657 -LCa setrgbcolor 56.658 -518 792 M 56.659 -36 0 V 56.660 -36 0 V 56.661 -36 0 V 56.662 -35 0 V 56.663 -36 0 V 56.664 -36 0 V 56.665 -36 0 V 56.666 -36 0 V 56.667 -36 0 V 56.668 -35 0 V 56.669 -36 0 V 56.670 -36 0 V 56.671 -36 0 V 56.672 -36 0 V 56.673 -36 0 V 56.674 -36 0 V 56.675 -35 0 V 56.676 -36 0 V 56.677 -36 0 V 56.678 -36 0 V 56.679 -36 0 V 56.680 -36 0 V 56.681 -36 0 V 56.682 -35 0 V 56.683 -36 0 V 56.684 -36 0 V 56.685 -36 0 V 56.686 -36 0 V 56.687 -36 0 V 56.688 -35 0 V 56.689 -36 0 V 56.690 -36 0 V 56.691 -36 0 V 56.692 -36 0 V 56.693 -36 0 V 56.694 -36 0 V 56.695 -35 0 V 56.696 -36 0 V 56.697 -36 0 V 56.698 -36 0 V 56.699 -36 0 V 56.700 -36 0 V 56.701 -35 0 V 56.702 -36 0 V 56.703 -36 0 V 56.704 -36 0 V 56.705 -36 0 V 56.706 -36 0 V 56.707 -36 0 V 56.708 -35 0 V 56.709 -36 0 V 56.710 -36 0 V 56.711 -36 0 V 56.712 -36 0 V 56.713 -36 0 V 56.714 -36 0 V 56.715 -35 0 V 56.716 -36 0 V 56.717 -36 0 V 56.718 -36 0 V 56.719 -36 0 V 56.720 -36 0 V 56.721 -35 0 V 56.722 -36 0 V 56.723 -36 0 V 56.724 -36 0 V 56.725 -36 0 V 56.726 -36 0 V 56.727 -36 0 V 56.728 -35 0 V 56.729 -36 0 V 56.730 -36 0 V 56.731 -36 0 V 56.732 -36 0 V 56.733 -36 0 V 56.734 -35 0 V 56.735 -36 0 V 56.736 -36 0 V 56.737 -36 0 V 56.738 -36 0 V 56.739 -36 0 V 56.740 -36 0 V 56.741 -35 0 V 56.742 -36 0 V 56.743 -36 0 V 56.744 -36 0 V 56.745 -36 0 V 56.746 -36 0 V 56.747 -36 0 V 56.748 -35 0 V 56.749 -36 0 V 56.750 -36 0 V 56.751 -36 0 V 56.752 -36 0 V 56.753 -36 0 V 56.754 -35 0 V 56.755 -36 0 V 56.756 -36 0 V 56.757 -36 0 V 56.758 -% End plot #1 56.759 -% Begin plot #2 56.760 -stroke 56.761 -LT1 56.762 -LCb setrgbcolor 56.763 -3722 2888 M 56.764 -[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 56.765 -] -46.7 MRshow 56.766 -LT1 56.767 -3806 2888 M 56.768 -399 0 V 56.769 -746 2855 M 56.770 -848 2069 L 56.771 -255 -711 V 56.772 -1600 935 L 56.773 -2594 699 L 56.774 -4067 607 L 56.775 -% End plot #2 56.776 -% Begin plot #3 56.777 -stroke 56.778 -LT2 56.779 -LCb setrgbcolor 56.780 -3722 2748 M 56.781 -[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 56.782 -] -46.7 MRshow 56.783 -LT2 56.784 -3806 2748 M 56.785 -399 0 V 56.786 -1089 2855 M 56.787 -15 -106 V 56.788 -1605 1686 L 56.789 -991 -594 V 56.790 -4067 858 L 56.791 -% End plot #3 56.792 -% Begin plot #4 56.793 -stroke 56.794 -LT3 56.795 -LCb setrgbcolor 56.796 -3722 2608 M 56.797 -[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 56.798 -] -46.7 MRshow 56.799 -LT3 56.800 -3806 2608 M 56.801 -399 0 V 56.802 -2508 2855 M 56.803 -97 -193 V 56.804 -4067 1874 L 56.805 -% End plot #4 56.806 -stroke 56.807 -1.000 UL 56.808 -LTb 56.809 -518 2855 M 56.810 -518 448 L 56.811 -3549 0 V 56.812 -0 2407 R 56.813 --3549 0 R 56.814 -1.000 UP 56.815 -stroke 56.816 -grestore 56.817 -end 56.818 -showpage 56.819 -%%Trailer 56.820 -%%DocumentFonts: Helvetica 56.821 -%%Pages: 1
57.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps Thu Feb 02 12:22:53 2012 -0800 57.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 57.3 @@ -1,851 +0,0 @@ 57.4 -%!PS-Adobe-2.0 57.5 -%%Title: cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps 57.6 -%%Creator: gnuplot 4.4 patchlevel 2 57.7 -%%CreationDate: Thu Jan 26 18:09:54 2012 57.8 -%%DocumentFonts: (atend) 57.9 -%%BoundingBox: 251 50 554 482 57.10 -%%Orientation: Landscape 57.11 -%%Pages: (atend) 57.12 -%%EndComments 57.13 -%%BeginProlog 57.14 -/gnudict 256 dict def 57.15 -gnudict begin 57.16 -% 57.17 -% The following true/false flags may be edited by hand if desired. 57.18 -% The unit line width and grayscale image gamma correction may also be changed. 57.19 -% 57.20 -/Color true def 57.21 -/Blacktext false def 57.22 -/Solid false def 57.23 -/Dashlength 1 def 57.24 -/Landscape true def 57.25 -/Level1 false def 57.26 -/Rounded false def 57.27 -/ClipToBoundingBox false def 57.28 -/TransparentPatterns false def 57.29 -/gnulinewidth 5.000 def 57.30 -/userlinewidth gnulinewidth def 57.31 -/Gamma 1.0 def 57.32 -% 57.33 -/vshift -46 def 57.34 -/dl1 { 57.35 - 10.0 Dashlength mul mul 57.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 57.37 -} def 57.38 -/dl2 { 57.39 - 10.0 Dashlength mul mul 57.40 - Rounded { currentlinewidth 0.75 mul add } if 57.41 -} def 57.42 -/hpt_ 31.5 def 57.43 -/vpt_ 31.5 def 57.44 -/hpt hpt_ def 57.45 -/vpt vpt_ def 57.46 -Level1 {} { 57.47 -/SDict 10 dict def 57.48 -systemdict /pdfmark known not { 57.49 - userdict /pdfmark systemdict /cleartomark get put 57.50 -} if 57.51 -SDict begin [ 57.52 - /Title (cray1_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps) 57.53 - /Subject (gnuplot plot) 57.54 - /Creator (gnuplot 4.4 patchlevel 2) 57.55 - /Author (msach) 57.56 -% /Producer (gnuplot) 57.57 -% /Keywords () 57.58 - /CreationDate (Thu Jan 26 18:09:54 2012) 57.59 - /DOCINFO pdfmark 57.60 -end 57.61 -} ifelse 57.62 -/doclip { 57.63 - ClipToBoundingBox { 57.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 57.65 - clip 57.66 - } if 57.67 -} def 57.68 -% 57.69 -% Gnuplot Prolog Version 4.4 (August 2010) 57.70 -% 57.71 -%/SuppressPDFMark true def 57.72 -% 57.73 -/M {moveto} bind def 57.74 -/L {lineto} bind def 57.75 -/R {rmoveto} bind def 57.76 -/V {rlineto} bind def 57.77 -/N {newpath moveto} bind def 57.78 -/Z {closepath} bind def 57.79 -/C {setrgbcolor} bind def 57.80 -/f {rlineto fill} bind def 57.81 -/g {setgray} bind def 57.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 57.83 -/vpt2 vpt 2 mul def 57.84 -/hpt2 hpt 2 mul def 57.85 -/Lshow {currentpoint stroke M 0 vshift R 57.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 57.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 57.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 57.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 57.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 57.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 57.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 57.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 57.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 57.95 -/BL {stroke userlinewidth 2 mul setlinewidth 57.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 57.97 -/AL {stroke userlinewidth 2 div setlinewidth 57.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 57.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 57.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 57.101 -/PL {stroke userlinewidth setlinewidth 57.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 57.103 -3.8 setmiterlimit 57.104 -% Default Line colors 57.105 -/LCw {1 1 1} def 57.106 -/LCb {0 0 0} def 57.107 -/LCa {0 0 0} def 57.108 -/LC0 {1 0 0} def 57.109 -/LC1 {0 1 0} def 57.110 -/LC2 {0 0 1} def 57.111 -/LC3 {1 0 1} def 57.112 -/LC4 {0 1 1} def 57.113 -/LC5 {1 1 0} def 57.114 -/LC6 {0 0 0} def 57.115 -/LC7 {1 0.3 0} def 57.116 -/LC8 {0.5 0.5 0.5} def 57.117 -% Default Line Types 57.118 -/LTw {PL [] 1 setgray} def 57.119 -/LTb {BL [] LCb DL} def 57.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 57.121 -/LT0 {PL [] LC0 DL} def 57.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 57.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 57.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 57.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 57.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 57.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 57.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 57.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 57.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 57.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 57.132 - hpt neg vpt neg V hpt vpt neg V 57.133 - hpt vpt V hpt neg vpt V closepath stroke 57.134 - Pnt} def 57.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 57.136 - currentpoint stroke M 57.137 - hpt neg vpt neg R hpt2 0 V stroke 57.138 - } def 57.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 57.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 57.141 - hpt2 neg 0 V closepath stroke 57.142 - Pnt} def 57.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 57.144 - hpt2 vpt2 neg V currentpoint stroke M 57.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 57.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 57.147 - hpt neg vpt -1.62 mul V 57.148 - hpt 2 mul 0 V 57.149 - hpt neg vpt 1.62 mul V closepath stroke 57.150 - Pnt} def 57.151 -/Star {2 copy Pls Crs} def 57.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 57.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 57.154 - hpt2 neg 0 V closepath fill} def 57.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 57.156 - hpt neg vpt -1.62 mul V 57.157 - hpt 2 mul 0 V 57.158 - hpt neg vpt 1.62 mul V closepath fill} def 57.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 57.160 - hpt neg vpt 1.62 mul V 57.161 - hpt 2 mul 0 V 57.162 - hpt neg vpt -1.62 mul V closepath stroke 57.163 - Pnt} def 57.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 57.165 - hpt neg vpt 1.62 mul V 57.166 - hpt 2 mul 0 V 57.167 - hpt neg vpt -1.62 mul V closepath fill} def 57.168 -/DiaF {stroke [] 0 setdash vpt add M 57.169 - hpt neg vpt neg V hpt vpt neg V 57.170 - hpt vpt V hpt neg vpt V closepath fill} def 57.171 -/Pent {stroke [] 0 setdash 2 copy gsave 57.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 57.173 - closepath stroke grestore Pnt} def 57.174 -/PentF {stroke [] 0 setdash gsave 57.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 57.176 - closepath fill grestore} def 57.177 -/Circle {stroke [] 0 setdash 2 copy 57.178 - hpt 0 360 arc stroke Pnt} def 57.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 57.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 57.181 -/C1 {BL [] 0 setdash 2 copy moveto 57.182 - 2 copy vpt 0 90 arc closepath fill 57.183 - vpt 0 360 arc closepath} bind def 57.184 -/C2 {BL [] 0 setdash 2 copy moveto 57.185 - 2 copy vpt 90 180 arc closepath fill 57.186 - vpt 0 360 arc closepath} bind def 57.187 -/C3 {BL [] 0 setdash 2 copy moveto 57.188 - 2 copy vpt 0 180 arc closepath fill 57.189 - vpt 0 360 arc closepath} bind def 57.190 -/C4 {BL [] 0 setdash 2 copy moveto 57.191 - 2 copy vpt 180 270 arc closepath fill 57.192 - vpt 0 360 arc closepath} bind def 57.193 -/C5 {BL [] 0 setdash 2 copy moveto 57.194 - 2 copy vpt 0 90 arc 57.195 - 2 copy moveto 57.196 - 2 copy vpt 180 270 arc closepath fill 57.197 - vpt 0 360 arc} bind def 57.198 -/C6 {BL [] 0 setdash 2 copy moveto 57.199 - 2 copy vpt 90 270 arc closepath fill 57.200 - vpt 0 360 arc closepath} bind def 57.201 -/C7 {BL [] 0 setdash 2 copy moveto 57.202 - 2 copy vpt 0 270 arc closepath fill 57.203 - vpt 0 360 arc closepath} bind def 57.204 -/C8 {BL [] 0 setdash 2 copy moveto 57.205 - 2 copy vpt 270 360 arc closepath fill 57.206 - vpt 0 360 arc closepath} bind def 57.207 -/C9 {BL [] 0 setdash 2 copy moveto 57.208 - 2 copy vpt 270 450 arc closepath fill 57.209 - vpt 0 360 arc closepath} bind def 57.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 57.211 - 2 copy moveto 57.212 - 2 copy vpt 90 180 arc closepath fill 57.213 - vpt 0 360 arc closepath} bind def 57.214 -/C11 {BL [] 0 setdash 2 copy moveto 57.215 - 2 copy vpt 0 180 arc closepath fill 57.216 - 2 copy moveto 57.217 - 2 copy vpt 270 360 arc closepath fill 57.218 - vpt 0 360 arc closepath} bind def 57.219 -/C12 {BL [] 0 setdash 2 copy moveto 57.220 - 2 copy vpt 180 360 arc closepath fill 57.221 - vpt 0 360 arc closepath} bind def 57.222 -/C13 {BL [] 0 setdash 2 copy moveto 57.223 - 2 copy vpt 0 90 arc closepath fill 57.224 - 2 copy moveto 57.225 - 2 copy vpt 180 360 arc closepath fill 57.226 - vpt 0 360 arc closepath} bind def 57.227 -/C14 {BL [] 0 setdash 2 copy moveto 57.228 - 2 copy vpt 90 360 arc closepath fill 57.229 - vpt 0 360 arc} bind def 57.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 57.231 - vpt 0 360 arc closepath} bind def 57.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 57.233 - neg 0 rlineto closepath} bind def 57.234 -/Square {dup Rec} bind def 57.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 57.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 57.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 57.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 57.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 57.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 57.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 57.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 57.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 57.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 57.245 - 2 copy vpt Square fill Bsquare} bind def 57.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 57.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 57.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 57.249 - Bsquare} bind def 57.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 57.251 - Bsquare} bind def 57.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 57.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 57.254 - 2 copy vpt Square fill Bsquare} bind def 57.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 57.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 57.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 57.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 57.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 57.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 57.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 57.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 57.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 57.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 57.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 57.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 57.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 57.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 57.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 57.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 57.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 57.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 57.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 57.274 -/DiaE {stroke [] 0 setdash vpt add M 57.275 - hpt neg vpt neg V hpt vpt neg V 57.276 - hpt vpt V hpt neg vpt V closepath stroke} def 57.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 57.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 57.279 - hpt2 neg 0 V closepath stroke} def 57.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 57.281 - hpt neg vpt -1.62 mul V 57.282 - hpt 2 mul 0 V 57.283 - hpt neg vpt 1.62 mul V closepath stroke} def 57.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 57.285 - hpt neg vpt 1.62 mul V 57.286 - hpt 2 mul 0 V 57.287 - hpt neg vpt -1.62 mul V closepath stroke} def 57.288 -/PentE {stroke [] 0 setdash gsave 57.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 57.290 - closepath stroke grestore} def 57.291 -/CircE {stroke [] 0 setdash 57.292 - hpt 0 360 arc stroke} def 57.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 57.294 -/DiaW {stroke [] 0 setdash vpt add M 57.295 - hpt neg vpt neg V hpt vpt neg V 57.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 57.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 57.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 57.299 - hpt2 neg 0 V Opaque stroke} def 57.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 57.301 - hpt neg vpt -1.62 mul V 57.302 - hpt 2 mul 0 V 57.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 57.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 57.305 - hpt neg vpt 1.62 mul V 57.306 - hpt 2 mul 0 V 57.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 57.308 -/PentW {stroke [] 0 setdash gsave 57.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 57.310 - Opaque stroke grestore} def 57.311 -/CircW {stroke [] 0 setdash 57.312 - hpt 0 360 arc Opaque stroke} def 57.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 57.314 -/Density { 57.315 - /Fillden exch def 57.316 - currentrgbcolor 57.317 - /ColB exch def /ColG exch def /ColR exch def 57.318 - /ColR ColR Fillden mul Fillden sub 1 add def 57.319 - /ColG ColG Fillden mul Fillden sub 1 add def 57.320 - /ColB ColB Fillden mul Fillden sub 1 add def 57.321 - ColR ColG ColB setrgbcolor} def 57.322 -/BoxColFill {gsave Rec PolyFill} def 57.323 -/PolyFill {gsave Density fill grestore grestore} def 57.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 57.325 -% 57.326 -% PostScript Level 1 Pattern Fill routine for rectangles 57.327 -% Usage: x y w h s a XX PatternFill 57.328 -% x,y = lower left corner of box to be filled 57.329 -% w,h = width and height of box 57.330 -% a = angle in degrees between lines and x-axis 57.331 -% XX = 0/1 for no/yes cross-hatch 57.332 -% 57.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 57.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 57.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 57.336 - gsave 1 setgray fill grestore clip 57.337 - currentlinewidth 0.5 mul setlinewidth 57.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 57.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 57.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 57.341 - {PFa 4 get mul 0 M 0 PFs V} for 57.342 - 0 PFa 6 get ne { 57.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 57.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 57.345 - } if 57.346 - stroke grestore} def 57.347 -% 57.348 -/languagelevel where 57.349 - {pop languagelevel} {1} ifelse 57.350 - 2 lt 57.351 - {/InterpretLevel1 true def} 57.352 - {/InterpretLevel1 Level1 def} 57.353 - ifelse 57.354 -% 57.355 -% PostScript level 2 pattern fill definitions 57.356 -% 57.357 -/Level2PatternFill { 57.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 57.359 - bind def 57.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 57.361 -<< Tile8x8 57.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 57.363 ->> matrix makepattern 57.364 -/Pat1 exch def 57.365 -<< Tile8x8 57.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 57.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 57.368 ->> matrix makepattern 57.369 -/Pat2 exch def 57.370 -<< Tile8x8 57.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 57.372 - 8 8 L 8 0 L 0 0 L fill} 57.373 ->> matrix makepattern 57.374 -/Pat3 exch def 57.375 -<< Tile8x8 57.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 57.377 - 0 12 M 12 0 L stroke} 57.378 ->> matrix makepattern 57.379 -/Pat4 exch def 57.380 -<< Tile8x8 57.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 57.382 - 0 -4 M 12 8 L stroke} 57.383 ->> matrix makepattern 57.384 -/Pat5 exch def 57.385 -<< Tile8x8 57.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 57.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 57.388 ->> matrix makepattern 57.389 -/Pat6 exch def 57.390 -<< Tile8x8 57.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 57.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 57.393 ->> matrix makepattern 57.394 -/Pat7 exch def 57.395 -<< Tile8x8 57.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 57.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 57.398 ->> matrix makepattern 57.399 -/Pat8 exch def 57.400 -<< Tile8x8 57.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 57.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 57.403 ->> matrix makepattern 57.404 -/Pat9 exch def 57.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 57.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 57.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 57.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 57.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 57.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 57.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 57.412 -} def 57.413 -% 57.414 -% 57.415 -%End of PostScript Level 2 code 57.416 -% 57.417 -/PatternBgnd { 57.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 57.419 -} def 57.420 -% 57.421 -% Substitute for Level 2 pattern fill codes with 57.422 -% grayscale if Level 2 support is not selected. 57.423 -% 57.424 -/Level1PatternFill { 57.425 -/Pattern1 {0.250 Density} bind def 57.426 -/Pattern2 {0.500 Density} bind def 57.427 -/Pattern3 {0.750 Density} bind def 57.428 -/Pattern4 {0.125 Density} bind def 57.429 -/Pattern5 {0.375 Density} bind def 57.430 -/Pattern6 {0.625 Density} bind def 57.431 -/Pattern7 {0.875 Density} bind def 57.432 -} def 57.433 -% 57.434 -% Now test for support of Level 2 code 57.435 -% 57.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 57.437 -% 57.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 57.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 57.440 -currentdict end definefont pop 57.441 -/MFshow { 57.442 - { dup 5 get 3 ge 57.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 57.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 57.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 57.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 57.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 57.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 57.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 57.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 57.451 - pop aload pop M} ifelse }ifelse }ifelse } 57.452 - ifelse } 57.453 - forall} def 57.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 57.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 57.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 57.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 57.458 -/MLshow { currentpoint stroke M 57.459 - 0 exch R 57.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 57.461 -/MRshow { currentpoint stroke M 57.462 - exch dup MFwidth neg 3 -1 roll R 57.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 57.464 -/MCshow { currentpoint stroke M 57.465 - exch dup MFwidth -2 div 3 -1 roll R 57.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 57.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 57.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 57.469 -end 57.470 -%%EndProlog 57.471 -%%Page: 1 1 57.472 -gnudict begin 57.473 -gsave 57.474 -doclip 57.475 -50 50 translate 57.476 -0.100 0.100 scale 57.477 -90 rotate 57.478 -0 -5040 translate 57.479 -0 setgray 57.480 -newpath 57.481 -(Helvetica) findfont 140 scalefont setfont 57.482 -1.000 UL 57.483 -LTb 57.484 -518 448 M 57.485 -63 0 V 57.486 -stroke 57.487 -434 448 M 57.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 57.489 -] -46.7 MRshow 57.490 -1.000 UL 57.491 -LTb 57.492 -518 792 M 57.493 -63 0 V 57.494 -stroke 57.495 -434 792 M 57.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 57.497 -] -46.7 MRshow 57.498 -1.000 UL 57.499 -LTb 57.500 -518 1136 M 57.501 -63 0 V 57.502 -stroke 57.503 -434 1136 M 57.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 57.505 -] -46.7 MRshow 57.506 -1.000 UL 57.507 -LTb 57.508 -518 1480 M 57.509 -63 0 V 57.510 -stroke 57.511 -434 1480 M 57.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 57.513 -] -46.7 MRshow 57.514 -1.000 UL 57.515 -LTb 57.516 -518 1823 M 57.517 -63 0 V 57.518 -stroke 57.519 -434 1823 M 57.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 57.521 -] -46.7 MRshow 57.522 -1.000 UL 57.523 -LTb 57.524 -518 2167 M 57.525 -63 0 V 57.526 -stroke 57.527 -434 2167 M 57.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 57.529 -] -46.7 MRshow 57.530 -1.000 UL 57.531 -LTb 57.532 -518 2511 M 57.533 -63 0 V 57.534 -stroke 57.535 -434 2511 M 57.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 57.537 -] -46.7 MRshow 57.538 -1.000 UL 57.539 -LTb 57.540 -518 2855 M 57.541 -63 0 V 57.542 -stroke 57.543 -434 2855 M 57.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 57.545 -] -46.7 MRshow 57.546 -1.000 UL 57.547 -LTb 57.548 -518 448 M 57.549 -0 63 V 57.550 -stroke 57.551 -518 308 M 57.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 57.553 -] -46.7 MCshow 57.554 -1.000 UL 57.555 -LTb 57.556 -962 448 M 57.557 -0 63 V 57.558 -stroke 57.559 -962 308 M 57.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 57.561 -] -46.7 MCshow 57.562 -1.000 UL 57.563 -LTb 57.564 -1405 448 M 57.565 -0 63 V 57.566 -stroke 57.567 -1405 308 M 57.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 57.569 -] -46.7 MCshow 57.570 -1.000 UL 57.571 -LTb 57.572 -1849 448 M 57.573 -0 63 V 57.574 -stroke 57.575 -1849 308 M 57.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 57.577 -] -46.7 MCshow 57.578 -1.000 UL 57.579 -LTb 57.580 -2293 448 M 57.581 -0 63 V 57.582 -stroke 57.583 -2293 308 M 57.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 57.585 -] -46.7 MCshow 57.586 -1.000 UL 57.587 -LTb 57.588 -2736 448 M 57.589 -0 63 V 57.590 -stroke 57.591 -2736 308 M 57.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 57.593 -] -46.7 MCshow 57.594 -1.000 UL 57.595 -LTb 57.596 -3180 448 M 57.597 -0 63 V 57.598 -stroke 57.599 -3180 308 M 57.600 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 57.601 -] -46.7 MCshow 57.602 -1.000 UL 57.603 -LTb 57.604 -3623 448 M 57.605 -0 63 V 57.606 -stroke 57.607 -3623 308 M 57.608 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 57.609 -] -46.7 MCshow 57.610 -1.000 UL 57.611 -LTb 57.612 -4067 448 M 57.613 -0 63 V 57.614 -stroke 57.615 -4067 308 M 57.616 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 57.617 -] -46.7 MCshow 57.618 -1.000 UL 57.619 -LTb 57.620 -1.000 UL 57.621 -LTb 57.622 -518 2855 M 57.623 -518 448 L 57.624 -3549 0 V 57.625 -0 2407 R 57.626 --3549 0 R 57.627 -stroke 57.628 -LCb setrgbcolor 57.629 -112 1651 M 57.630 -currentpoint gsave translate -270 rotate 0 0 moveto 57.631 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 57.632 -] -46.7 MCshow 57.633 -grestore 57.634 -LTb 57.635 -LCb setrgbcolor 57.636 -2292 98 M 57.637 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 57.638 -] -46.7 MCshow 57.639 -LTb 57.640 -1.000 UP 57.641 -1.000 UL 57.642 -LTb 57.643 -1.000 UL 57.644 -LTb 57.645 -2492 2232 N 57.646 -0 560 V 57.647 -1491 0 V 57.648 -0 -560 V 57.649 --1491 0 V 57.650 -Z stroke 57.651 -2492 2792 M 57.652 -1491 0 V 57.653 -% Begin plot #1 57.654 -stroke 57.655 -4.000 UL 57.656 -LT1 57.657 -LCa setrgbcolor 57.658 -518 792 M 57.659 -36 0 V 57.660 -36 0 V 57.661 -36 0 V 57.662 -35 0 V 57.663 -36 0 V 57.664 -36 0 V 57.665 -36 0 V 57.666 -36 0 V 57.667 -36 0 V 57.668 -35 0 V 57.669 -36 0 V 57.670 -36 0 V 57.671 -36 0 V 57.672 -36 0 V 57.673 -36 0 V 57.674 -36 0 V 57.675 -35 0 V 57.676 -36 0 V 57.677 -36 0 V 57.678 -36 0 V 57.679 -36 0 V 57.680 -36 0 V 57.681 -36 0 V 57.682 -35 0 V 57.683 -36 0 V 57.684 -36 0 V 57.685 -36 0 V 57.686 -36 0 V 57.687 -36 0 V 57.688 -35 0 V 57.689 -36 0 V 57.690 -36 0 V 57.691 -36 0 V 57.692 -36 0 V 57.693 -36 0 V 57.694 -36 0 V 57.695 -35 0 V 57.696 -36 0 V 57.697 -36 0 V 57.698 -36 0 V 57.699 -36 0 V 57.700 -36 0 V 57.701 -35 0 V 57.702 -36 0 V 57.703 -36 0 V 57.704 -36 0 V 57.705 -36 0 V 57.706 -36 0 V 57.707 -36 0 V 57.708 -35 0 V 57.709 -36 0 V 57.710 -36 0 V 57.711 -36 0 V 57.712 -36 0 V 57.713 -36 0 V 57.714 -36 0 V 57.715 -35 0 V 57.716 -36 0 V 57.717 -36 0 V 57.718 -36 0 V 57.719 -36 0 V 57.720 -36 0 V 57.721 -35 0 V 57.722 -36 0 V 57.723 -36 0 V 57.724 -36 0 V 57.725 -36 0 V 57.726 -36 0 V 57.727 -36 0 V 57.728 -35 0 V 57.729 -36 0 V 57.730 -36 0 V 57.731 -36 0 V 57.732 -36 0 V 57.733 -36 0 V 57.734 -35 0 V 57.735 -36 0 V 57.736 -36 0 V 57.737 -36 0 V 57.738 -36 0 V 57.739 -36 0 V 57.740 -36 0 V 57.741 -35 0 V 57.742 -36 0 V 57.743 -36 0 V 57.744 -36 0 V 57.745 -36 0 V 57.746 -36 0 V 57.747 -36 0 V 57.748 -35 0 V 57.749 -36 0 V 57.750 -36 0 V 57.751 -36 0 V 57.752 -36 0 V 57.753 -36 0 V 57.754 -35 0 V 57.755 -36 0 V 57.756 -36 0 V 57.757 -36 0 V 57.758 -% End plot #1 57.759 -% Begin plot #2 57.760 -stroke 57.761 -LT1 57.762 -LCb setrgbcolor 57.763 -3416 2722 M 57.764 -[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 57.765 -] -46.7 MRshow 57.766 -LT1 57.767 -3500 2722 M 57.768 -399 0 V 57.769 -610 1551 M 57.770 -19 -143 V 57.771 -31 -191 V 57.772 -722 955 L 57.773 -846 769 L 57.774 -1102 629 L 57.775 -497 -83 V 57.776 -994 -48 V 57.777 -4067 480 L 57.778 -% End plot #2 57.779 -% Begin plot #3 57.780 -stroke 57.781 -LT2 57.782 -LCb setrgbcolor 57.783 -3416 2582 M 57.784 -[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 57.785 -] -46.7 MRshow 57.786 -LT2 57.787 -3500 2582 M 57.788 -399 0 V 57.789 -610 1568 M 57.790 -19 -173 V 57.791 -31 -226 V 57.792 -722 958 L 57.793 -846 759 L 57.794 -1102 621 L 57.795 -497 -78 V 57.796 -994 -46 V 57.797 -4067 479 L 57.798 -% End plot #3 57.799 -% Begin plot #4 57.800 -stroke 57.801 -LT3 57.802 -LCb setrgbcolor 57.803 -3416 2442 M 57.804 -[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 57.805 -] -46.7 MRshow 57.806 -LT3 57.807 -3500 2442 M 57.808 -399 0 V 57.809 -611 1654 M 57.810 -18 -214 V 57.811 -31 -208 V 57.812 -722 984 L 57.813 -847 786 L 57.814 -1103 636 L 57.815 -496 -85 V 57.816 -994 -50 V 57.817 -4067 482 L 57.818 -% End plot #4 57.819 -% Begin plot #5 57.820 -stroke 57.821 -LT4 57.822 -LCb setrgbcolor 57.823 -3416 2302 M 57.824 -[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 57.825 -] -46.7 MRshow 57.826 -LT4 57.827 -3500 2302 M 57.828 -399 0 V 57.829 -611 1704 M 57.830 -18 -203 V 57.831 -31 -230 V 57.832 -63 -252 V 57.833 -846 804 L 57.834 -1103 645 L 57.835 -497 -89 V 57.836 -993 -52 V 57.837 -4067 484 L 57.838 -% End plot #5 57.839 -stroke 57.840 -1.000 UL 57.841 -LTb 57.842 -518 2855 M 57.843 -518 448 L 57.844 -3549 0 V 57.845 -0 2407 R 57.846 --3549 0 R 57.847 -1.000 UP 57.848 -stroke 57.849 -grestore 57.850 -end 57.851 -showpage 57.852 -%%Trailer 57.853 -%%DocumentFonts: Helvetica 57.854 -%%Pages: 1
58.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps Thu Feb 02 12:22:53 2012 -0800 58.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 58.3 @@ -1,819 +0,0 @@ 58.4 -%!PS-Adobe-2.0 58.5 -%%Title: vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps 58.6 -%%Creator: gnuplot 4.4 patchlevel 2 58.7 -%%CreationDate: Thu Jan 26 18:11:43 2012 58.8 -%%DocumentFonts: (atend) 58.9 -%%BoundingBox: 251 50 554 482 58.10 -%%Orientation: Landscape 58.11 -%%Pages: (atend) 58.12 -%%EndComments 58.13 -%%BeginProlog 58.14 -/gnudict 256 dict def 58.15 -gnudict begin 58.16 -% 58.17 -% The following true/false flags may be edited by hand if desired. 58.18 -% The unit line width and grayscale image gamma correction may also be changed. 58.19 -% 58.20 -/Color true def 58.21 -/Blacktext false def 58.22 -/Solid false def 58.23 -/Dashlength 1 def 58.24 -/Landscape true def 58.25 -/Level1 false def 58.26 -/Rounded false def 58.27 -/ClipToBoundingBox false def 58.28 -/TransparentPatterns false def 58.29 -/gnulinewidth 5.000 def 58.30 -/userlinewidth gnulinewidth def 58.31 -/Gamma 1.0 def 58.32 -% 58.33 -/vshift -46 def 58.34 -/dl1 { 58.35 - 10.0 Dashlength mul mul 58.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 58.37 -} def 58.38 -/dl2 { 58.39 - 10.0 Dashlength mul mul 58.40 - Rounded { currentlinewidth 0.75 mul add } if 58.41 -} def 58.42 -/hpt_ 31.5 def 58.43 -/vpt_ 31.5 def 58.44 -/hpt hpt_ def 58.45 -/vpt vpt_ def 58.46 -Level1 {} { 58.47 -/SDict 10 dict def 58.48 -systemdict /pdfmark known not { 58.49 - userdict /pdfmark systemdict /cleartomark get put 58.50 -} if 58.51 -SDict begin [ 58.52 - /Title (vms_pthreads_8_32_128thds__o30000__perfCtrs.result.eps) 58.53 - /Subject (gnuplot plot) 58.54 - /Creator (gnuplot 4.4 patchlevel 2) 58.55 - /Author (msach) 58.56 -% /Producer (gnuplot) 58.57 -% /Keywords () 58.58 - /CreationDate (Thu Jan 26 18:11:43 2012) 58.59 - /DOCINFO pdfmark 58.60 -end 58.61 -} ifelse 58.62 -/doclip { 58.63 - ClipToBoundingBox { 58.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 58.65 - clip 58.66 - } if 58.67 -} def 58.68 -% 58.69 -% Gnuplot Prolog Version 4.4 (August 2010) 58.70 -% 58.71 -%/SuppressPDFMark true def 58.72 -% 58.73 -/M {moveto} bind def 58.74 -/L {lineto} bind def 58.75 -/R {rmoveto} bind def 58.76 -/V {rlineto} bind def 58.77 -/N {newpath moveto} bind def 58.78 -/Z {closepath} bind def 58.79 -/C {setrgbcolor} bind def 58.80 -/f {rlineto fill} bind def 58.81 -/g {setgray} bind def 58.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 58.83 -/vpt2 vpt 2 mul def 58.84 -/hpt2 hpt 2 mul def 58.85 -/Lshow {currentpoint stroke M 0 vshift R 58.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 58.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 58.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 58.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 58.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 58.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 58.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 58.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 58.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 58.95 -/BL {stroke userlinewidth 2 mul setlinewidth 58.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 58.97 -/AL {stroke userlinewidth 2 div setlinewidth 58.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 58.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 58.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 58.101 -/PL {stroke userlinewidth setlinewidth 58.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 58.103 -3.8 setmiterlimit 58.104 -% Default Line colors 58.105 -/LCw {1 1 1} def 58.106 -/LCb {0 0 0} def 58.107 -/LCa {0 0 0} def 58.108 -/LC0 {1 0 0} def 58.109 -/LC1 {0 1 0} def 58.110 -/LC2 {0 0 1} def 58.111 -/LC3 {1 0 1} def 58.112 -/LC4 {0 1 1} def 58.113 -/LC5 {1 1 0} def 58.114 -/LC6 {0 0 0} def 58.115 -/LC7 {1 0.3 0} def 58.116 -/LC8 {0.5 0.5 0.5} def 58.117 -% Default Line Types 58.118 -/LTw {PL [] 1 setgray} def 58.119 -/LTb {BL [] LCb DL} def 58.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 58.121 -/LT0 {PL [] LC0 DL} def 58.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 58.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 58.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 58.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 58.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 58.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 58.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 58.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 58.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 58.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 58.132 - hpt neg vpt neg V hpt vpt neg V 58.133 - hpt vpt V hpt neg vpt V closepath stroke 58.134 - Pnt} def 58.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 58.136 - currentpoint stroke M 58.137 - hpt neg vpt neg R hpt2 0 V stroke 58.138 - } def 58.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 58.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 58.141 - hpt2 neg 0 V closepath stroke 58.142 - Pnt} def 58.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 58.144 - hpt2 vpt2 neg V currentpoint stroke M 58.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 58.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 58.147 - hpt neg vpt -1.62 mul V 58.148 - hpt 2 mul 0 V 58.149 - hpt neg vpt 1.62 mul V closepath stroke 58.150 - Pnt} def 58.151 -/Star {2 copy Pls Crs} def 58.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 58.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 58.154 - hpt2 neg 0 V closepath fill} def 58.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 58.156 - hpt neg vpt -1.62 mul V 58.157 - hpt 2 mul 0 V 58.158 - hpt neg vpt 1.62 mul V closepath fill} def 58.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 58.160 - hpt neg vpt 1.62 mul V 58.161 - hpt 2 mul 0 V 58.162 - hpt neg vpt -1.62 mul V closepath stroke 58.163 - Pnt} def 58.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 58.165 - hpt neg vpt 1.62 mul V 58.166 - hpt 2 mul 0 V 58.167 - hpt neg vpt -1.62 mul V closepath fill} def 58.168 -/DiaF {stroke [] 0 setdash vpt add M 58.169 - hpt neg vpt neg V hpt vpt neg V 58.170 - hpt vpt V hpt neg vpt V closepath fill} def 58.171 -/Pent {stroke [] 0 setdash 2 copy gsave 58.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 58.173 - closepath stroke grestore Pnt} def 58.174 -/PentF {stroke [] 0 setdash gsave 58.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 58.176 - closepath fill grestore} def 58.177 -/Circle {stroke [] 0 setdash 2 copy 58.178 - hpt 0 360 arc stroke Pnt} def 58.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 58.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 58.181 -/C1 {BL [] 0 setdash 2 copy moveto 58.182 - 2 copy vpt 0 90 arc closepath fill 58.183 - vpt 0 360 arc closepath} bind def 58.184 -/C2 {BL [] 0 setdash 2 copy moveto 58.185 - 2 copy vpt 90 180 arc closepath fill 58.186 - vpt 0 360 arc closepath} bind def 58.187 -/C3 {BL [] 0 setdash 2 copy moveto 58.188 - 2 copy vpt 0 180 arc closepath fill 58.189 - vpt 0 360 arc closepath} bind def 58.190 -/C4 {BL [] 0 setdash 2 copy moveto 58.191 - 2 copy vpt 180 270 arc closepath fill 58.192 - vpt 0 360 arc closepath} bind def 58.193 -/C5 {BL [] 0 setdash 2 copy moveto 58.194 - 2 copy vpt 0 90 arc 58.195 - 2 copy moveto 58.196 - 2 copy vpt 180 270 arc closepath fill 58.197 - vpt 0 360 arc} bind def 58.198 -/C6 {BL [] 0 setdash 2 copy moveto 58.199 - 2 copy vpt 90 270 arc closepath fill 58.200 - vpt 0 360 arc closepath} bind def 58.201 -/C7 {BL [] 0 setdash 2 copy moveto 58.202 - 2 copy vpt 0 270 arc closepath fill 58.203 - vpt 0 360 arc closepath} bind def 58.204 -/C8 {BL [] 0 setdash 2 copy moveto 58.205 - 2 copy vpt 270 360 arc closepath fill 58.206 - vpt 0 360 arc closepath} bind def 58.207 -/C9 {BL [] 0 setdash 2 copy moveto 58.208 - 2 copy vpt 270 450 arc closepath fill 58.209 - vpt 0 360 arc closepath} bind def 58.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 58.211 - 2 copy moveto 58.212 - 2 copy vpt 90 180 arc closepath fill 58.213 - vpt 0 360 arc closepath} bind def 58.214 -/C11 {BL [] 0 setdash 2 copy moveto 58.215 - 2 copy vpt 0 180 arc closepath fill 58.216 - 2 copy moveto 58.217 - 2 copy vpt 270 360 arc closepath fill 58.218 - vpt 0 360 arc closepath} bind def 58.219 -/C12 {BL [] 0 setdash 2 copy moveto 58.220 - 2 copy vpt 180 360 arc closepath fill 58.221 - vpt 0 360 arc closepath} bind def 58.222 -/C13 {BL [] 0 setdash 2 copy moveto 58.223 - 2 copy vpt 0 90 arc closepath fill 58.224 - 2 copy moveto 58.225 - 2 copy vpt 180 360 arc closepath fill 58.226 - vpt 0 360 arc closepath} bind def 58.227 -/C14 {BL [] 0 setdash 2 copy moveto 58.228 - 2 copy vpt 90 360 arc closepath fill 58.229 - vpt 0 360 arc} bind def 58.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 58.231 - vpt 0 360 arc closepath} bind def 58.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 58.233 - neg 0 rlineto closepath} bind def 58.234 -/Square {dup Rec} bind def 58.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 58.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 58.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 58.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 58.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 58.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 58.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 58.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 58.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 58.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 58.245 - 2 copy vpt Square fill Bsquare} bind def 58.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 58.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 58.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 58.249 - Bsquare} bind def 58.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 58.251 - Bsquare} bind def 58.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 58.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 58.254 - 2 copy vpt Square fill Bsquare} bind def 58.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 58.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 58.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 58.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 58.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 58.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 58.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 58.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 58.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 58.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 58.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 58.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 58.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 58.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 58.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 58.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 58.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 58.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 58.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 58.274 -/DiaE {stroke [] 0 setdash vpt add M 58.275 - hpt neg vpt neg V hpt vpt neg V 58.276 - hpt vpt V hpt neg vpt V closepath stroke} def 58.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 58.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 58.279 - hpt2 neg 0 V closepath stroke} def 58.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 58.281 - hpt neg vpt -1.62 mul V 58.282 - hpt 2 mul 0 V 58.283 - hpt neg vpt 1.62 mul V closepath stroke} def 58.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 58.285 - hpt neg vpt 1.62 mul V 58.286 - hpt 2 mul 0 V 58.287 - hpt neg vpt -1.62 mul V closepath stroke} def 58.288 -/PentE {stroke [] 0 setdash gsave 58.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 58.290 - closepath stroke grestore} def 58.291 -/CircE {stroke [] 0 setdash 58.292 - hpt 0 360 arc stroke} def 58.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 58.294 -/DiaW {stroke [] 0 setdash vpt add M 58.295 - hpt neg vpt neg V hpt vpt neg V 58.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 58.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 58.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 58.299 - hpt2 neg 0 V Opaque stroke} def 58.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 58.301 - hpt neg vpt -1.62 mul V 58.302 - hpt 2 mul 0 V 58.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 58.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 58.305 - hpt neg vpt 1.62 mul V 58.306 - hpt 2 mul 0 V 58.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 58.308 -/PentW {stroke [] 0 setdash gsave 58.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 58.310 - Opaque stroke grestore} def 58.311 -/CircW {stroke [] 0 setdash 58.312 - hpt 0 360 arc Opaque stroke} def 58.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 58.314 -/Density { 58.315 - /Fillden exch def 58.316 - currentrgbcolor 58.317 - /ColB exch def /ColG exch def /ColR exch def 58.318 - /ColR ColR Fillden mul Fillden sub 1 add def 58.319 - /ColG ColG Fillden mul Fillden sub 1 add def 58.320 - /ColB ColB Fillden mul Fillden sub 1 add def 58.321 - ColR ColG ColB setrgbcolor} def 58.322 -/BoxColFill {gsave Rec PolyFill} def 58.323 -/PolyFill {gsave Density fill grestore grestore} def 58.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 58.325 -% 58.326 -% PostScript Level 1 Pattern Fill routine for rectangles 58.327 -% Usage: x y w h s a XX PatternFill 58.328 -% x,y = lower left corner of box to be filled 58.329 -% w,h = width and height of box 58.330 -% a = angle in degrees between lines and x-axis 58.331 -% XX = 0/1 for no/yes cross-hatch 58.332 -% 58.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 58.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 58.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 58.336 - gsave 1 setgray fill grestore clip 58.337 - currentlinewidth 0.5 mul setlinewidth 58.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 58.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 58.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 58.341 - {PFa 4 get mul 0 M 0 PFs V} for 58.342 - 0 PFa 6 get ne { 58.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 58.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 58.345 - } if 58.346 - stroke grestore} def 58.347 -% 58.348 -/languagelevel where 58.349 - {pop languagelevel} {1} ifelse 58.350 - 2 lt 58.351 - {/InterpretLevel1 true def} 58.352 - {/InterpretLevel1 Level1 def} 58.353 - ifelse 58.354 -% 58.355 -% PostScript level 2 pattern fill definitions 58.356 -% 58.357 -/Level2PatternFill { 58.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 58.359 - bind def 58.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 58.361 -<< Tile8x8 58.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 58.363 ->> matrix makepattern 58.364 -/Pat1 exch def 58.365 -<< Tile8x8 58.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 58.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 58.368 ->> matrix makepattern 58.369 -/Pat2 exch def 58.370 -<< Tile8x8 58.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 58.372 - 8 8 L 8 0 L 0 0 L fill} 58.373 ->> matrix makepattern 58.374 -/Pat3 exch def 58.375 -<< Tile8x8 58.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 58.377 - 0 12 M 12 0 L stroke} 58.378 ->> matrix makepattern 58.379 -/Pat4 exch def 58.380 -<< Tile8x8 58.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 58.382 - 0 -4 M 12 8 L stroke} 58.383 ->> matrix makepattern 58.384 -/Pat5 exch def 58.385 -<< Tile8x8 58.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 58.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 58.388 ->> matrix makepattern 58.389 -/Pat6 exch def 58.390 -<< Tile8x8 58.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 58.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 58.393 ->> matrix makepattern 58.394 -/Pat7 exch def 58.395 -<< Tile8x8 58.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 58.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 58.398 ->> matrix makepattern 58.399 -/Pat8 exch def 58.400 -<< Tile8x8 58.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 58.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 58.403 ->> matrix makepattern 58.404 -/Pat9 exch def 58.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 58.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 58.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 58.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 58.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 58.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 58.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 58.412 -} def 58.413 -% 58.414 -% 58.415 -%End of PostScript Level 2 code 58.416 -% 58.417 -/PatternBgnd { 58.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 58.419 -} def 58.420 -% 58.421 -% Substitute for Level 2 pattern fill codes with 58.422 -% grayscale if Level 2 support is not selected. 58.423 -% 58.424 -/Level1PatternFill { 58.425 -/Pattern1 {0.250 Density} bind def 58.426 -/Pattern2 {0.500 Density} bind def 58.427 -/Pattern3 {0.750 Density} bind def 58.428 -/Pattern4 {0.125 Density} bind def 58.429 -/Pattern5 {0.375 Density} bind def 58.430 -/Pattern6 {0.625 Density} bind def 58.431 -/Pattern7 {0.875 Density} bind def 58.432 -} def 58.433 -% 58.434 -% Now test for support of Level 2 code 58.435 -% 58.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 58.437 -% 58.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 58.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 58.440 -currentdict end definefont pop 58.441 -/MFshow { 58.442 - { dup 5 get 3 ge 58.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 58.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 58.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 58.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 58.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 58.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 58.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 58.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 58.451 - pop aload pop M} ifelse }ifelse }ifelse } 58.452 - ifelse } 58.453 - forall} def 58.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 58.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 58.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 58.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 58.458 -/MLshow { currentpoint stroke M 58.459 - 0 exch R 58.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 58.461 -/MRshow { currentpoint stroke M 58.462 - exch dup MFwidth neg 3 -1 roll R 58.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 58.464 -/MCshow { currentpoint stroke M 58.465 - exch dup MFwidth -2 div 3 -1 roll R 58.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 58.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 58.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 58.469 -end 58.470 -%%EndProlog 58.471 -%%Page: 1 1 58.472 -gnudict begin 58.473 -gsave 58.474 -doclip 58.475 -50 50 translate 58.476 -0.100 0.100 scale 58.477 -90 rotate 58.478 -0 -5040 translate 58.479 -0 setgray 58.480 -newpath 58.481 -(Helvetica) findfont 140 scalefont setfont 58.482 -1.000 UL 58.483 -LTb 58.484 -518 448 M 58.485 -63 0 V 58.486 -stroke 58.487 -434 448 M 58.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 58.489 -] -46.7 MRshow 58.490 -1.000 UL 58.491 -LTb 58.492 -518 792 M 58.493 -63 0 V 58.494 -stroke 58.495 -434 792 M 58.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 58.497 -] -46.7 MRshow 58.498 -1.000 UL 58.499 -LTb 58.500 -518 1136 M 58.501 -63 0 V 58.502 -stroke 58.503 -434 1136 M 58.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 58.505 -] -46.7 MRshow 58.506 -1.000 UL 58.507 -LTb 58.508 -518 1480 M 58.509 -63 0 V 58.510 -stroke 58.511 -434 1480 M 58.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 58.513 -] -46.7 MRshow 58.514 -1.000 UL 58.515 -LTb 58.516 -518 1823 M 58.517 -63 0 V 58.518 -stroke 58.519 -434 1823 M 58.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 58.521 -] -46.7 MRshow 58.522 -1.000 UL 58.523 -LTb 58.524 -518 2167 M 58.525 -63 0 V 58.526 -stroke 58.527 -434 2167 M 58.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 58.529 -] -46.7 MRshow 58.530 -1.000 UL 58.531 -LTb 58.532 -518 2511 M 58.533 -63 0 V 58.534 -stroke 58.535 -434 2511 M 58.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 58.537 -] -46.7 MRshow 58.538 -1.000 UL 58.539 -LTb 58.540 -518 2855 M 58.541 -63 0 V 58.542 -stroke 58.543 -434 2855 M 58.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 58.545 -] -46.7 MRshow 58.546 -1.000 UL 58.547 -LTb 58.548 -518 448 M 58.549 -0 63 V 58.550 -stroke 58.551 -518 308 M 58.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 58.553 -] -46.7 MCshow 58.554 -1.000 UL 58.555 -LTb 58.556 -962 448 M 58.557 -0 63 V 58.558 -stroke 58.559 -962 308 M 58.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 58.561 -] -46.7 MCshow 58.562 -1.000 UL 58.563 -LTb 58.564 -1405 448 M 58.565 -0 63 V 58.566 -stroke 58.567 -1405 308 M 58.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 58.569 -] -46.7 MCshow 58.570 -1.000 UL 58.571 -LTb 58.572 -1849 448 M 58.573 -0 63 V 58.574 -stroke 58.575 -1849 308 M 58.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 58.577 -] -46.7 MCshow 58.578 -1.000 UL 58.579 -LTb 58.580 -2293 448 M 58.581 -0 63 V 58.582 -stroke 58.583 -2293 308 M 58.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 58.585 -] -46.7 MCshow 58.586 -1.000 UL 58.587 -LTb 58.588 -2736 448 M 58.589 -0 63 V 58.590 -stroke 58.591 -2736 308 M 58.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 58.593 -] -46.7 MCshow 58.594 -1.000 UL 58.595 -LTb 58.596 -3180 448 M 58.597 -0 63 V 58.598 -stroke 58.599 -3180 308 M 58.600 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 58.601 -] -46.7 MCshow 58.602 -1.000 UL 58.603 -LTb 58.604 -3623 448 M 58.605 -0 63 V 58.606 -stroke 58.607 -3623 308 M 58.608 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 58.609 -] -46.7 MCshow 58.610 -1.000 UL 58.611 -LTb 58.612 -4067 448 M 58.613 -0 63 V 58.614 -stroke 58.615 -4067 308 M 58.616 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 58.617 -] -46.7 MCshow 58.618 -1.000 UL 58.619 -LTb 58.620 -1.000 UL 58.621 -LTb 58.622 -518 2855 M 58.623 -518 448 L 58.624 -3549 0 V 58.625 -0 2407 R 58.626 --3549 0 R 58.627 -stroke 58.628 -LCb setrgbcolor 58.629 -112 1651 M 58.630 -currentpoint gsave translate -270 rotate 0 0 moveto 58.631 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 58.632 -] -46.7 MCshow 58.633 -grestore 58.634 -LTb 58.635 -LCb setrgbcolor 58.636 -2292 98 M 58.637 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 58.638 -] -46.7 MCshow 58.639 -LTb 58.640 -1.000 UP 58.641 -1.000 UL 58.642 -LTb 58.643 -1.000 UL 58.644 -LTb 58.645 -2492 2372 N 58.646 -0 420 V 58.647 -1491 0 V 58.648 -0 -420 V 58.649 --1491 0 V 58.650 -Z stroke 58.651 -2492 2792 M 58.652 -1491 0 V 58.653 -% Begin plot #1 58.654 -stroke 58.655 -3.000 UL 58.656 -LT1 58.657 -LCa setrgbcolor 58.658 -518 792 M 58.659 -36 0 V 58.660 -36 0 V 58.661 -36 0 V 58.662 -35 0 V 58.663 -36 0 V 58.664 -36 0 V 58.665 -36 0 V 58.666 -36 0 V 58.667 -36 0 V 58.668 -35 0 V 58.669 -36 0 V 58.670 -36 0 V 58.671 -36 0 V 58.672 -36 0 V 58.673 -36 0 V 58.674 -36 0 V 58.675 -35 0 V 58.676 -36 0 V 58.677 -36 0 V 58.678 -36 0 V 58.679 -36 0 V 58.680 -36 0 V 58.681 -36 0 V 58.682 -35 0 V 58.683 -36 0 V 58.684 -36 0 V 58.685 -36 0 V 58.686 -36 0 V 58.687 -36 0 V 58.688 -35 0 V 58.689 -36 0 V 58.690 -36 0 V 58.691 -36 0 V 58.692 -36 0 V 58.693 -36 0 V 58.694 -36 0 V 58.695 -35 0 V 58.696 -36 0 V 58.697 -36 0 V 58.698 -36 0 V 58.699 -36 0 V 58.700 -36 0 V 58.701 -35 0 V 58.702 -36 0 V 58.703 -36 0 V 58.704 -36 0 V 58.705 -36 0 V 58.706 -36 0 V 58.707 -36 0 V 58.708 -35 0 V 58.709 -36 0 V 58.710 -36 0 V 58.711 -36 0 V 58.712 -36 0 V 58.713 -36 0 V 58.714 -36 0 V 58.715 -35 0 V 58.716 -36 0 V 58.717 -36 0 V 58.718 -36 0 V 58.719 -36 0 V 58.720 -36 0 V 58.721 -35 0 V 58.722 -36 0 V 58.723 -36 0 V 58.724 -36 0 V 58.725 -36 0 V 58.726 -36 0 V 58.727 -36 0 V 58.728 -35 0 V 58.729 -36 0 V 58.730 -36 0 V 58.731 -36 0 V 58.732 -36 0 V 58.733 -36 0 V 58.734 -35 0 V 58.735 -36 0 V 58.736 -36 0 V 58.737 -36 0 V 58.738 -36 0 V 58.739 -36 0 V 58.740 -36 0 V 58.741 -35 0 V 58.742 -36 0 V 58.743 -36 0 V 58.744 -36 0 V 58.745 -36 0 V 58.746 -36 0 V 58.747 -36 0 V 58.748 -35 0 V 58.749 -36 0 V 58.750 -36 0 V 58.751 -36 0 V 58.752 -36 0 V 58.753 -36 0 V 58.754 -35 0 V 58.755 -36 0 V 58.756 -36 0 V 58.757 -36 0 V 58.758 -% End plot #1 58.759 -% Begin plot #2 58.760 -stroke 58.761 -4.000 UL 58.762 -LT1 58.763 -LCb setrgbcolor 58.764 -3416 2722 M 58.765 -[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 58.766 -] -46.7 MRshow 58.767 -LT1 58.768 -3500 2722 M 58.769 -399 0 V 58.770 -715 2855 M 58.771 -58 -684 V 58.772 -984 1411 L 58.773 -1411 947 L 58.774 -2263 700 L 58.775 -3965 573 L 58.776 -% End plot #2 58.777 -% Begin plot #3 58.778 -stroke 58.779 -LT2 58.780 -LCb setrgbcolor 58.781 -3416 2582 M 58.782 -[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 58.783 -] -46.7 MRshow 58.784 -LT2 58.785 -3500 2582 M 58.786 -399 0 V 58.787 -947 2855 M 58.788 -38 -338 V 58.789 -427 -979 V 58.790 -849 -507 V 58.791 -3969 747 L 58.792 -% End plot #3 58.793 -% Begin plot #4 58.794 -stroke 58.795 -LT3 58.796 -LCb setrgbcolor 58.797 -3416 2442 M 58.798 -[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 58.799 -] -46.7 MRshow 58.800 -LT3 58.801 -3500 2442 M 58.802 -399 0 V 58.803 -2070 2855 M 58.804 -197 -434 V 58.805 -3969 1446 L 58.806 -% End plot #4 58.807 -stroke 58.808 -1.000 UL 58.809 -LTb 58.810 -518 2855 M 58.811 -518 448 L 58.812 -3549 0 V 58.813 -0 2407 R 58.814 --3549 0 R 58.815 -1.000 UP 58.816 -stroke 58.817 -grestore 58.818 -end 58.819 -showpage 58.820 -%%Trailer 58.821 -%%DocumentFonts: Helvetica 58.822 -%%Pages: 1
59.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps Thu Feb 02 12:22:53 2012 -0800 59.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 59.3 @@ -1,852 +0,0 @@ 59.4 -%!PS-Adobe-2.0 59.5 -%%Title: vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps 59.6 -%%Creator: gnuplot 4.4 patchlevel 2 59.7 -%%CreationDate: Thu Jan 26 18:12:20 2012 59.8 -%%DocumentFonts: (atend) 59.9 -%%BoundingBox: 251 50 554 482 59.10 -%%Orientation: Landscape 59.11 -%%Pages: (atend) 59.12 -%%EndComments 59.13 -%%BeginProlog 59.14 -/gnudict 256 dict def 59.15 -gnudict begin 59.16 -% 59.17 -% The following true/false flags may be edited by hand if desired. 59.18 -% The unit line width and grayscale image gamma correction may also be changed. 59.19 -% 59.20 -/Color true def 59.21 -/Blacktext false def 59.22 -/Solid false def 59.23 -/Dashlength 1 def 59.24 -/Landscape true def 59.25 -/Level1 false def 59.26 -/Rounded false def 59.27 -/ClipToBoundingBox false def 59.28 -/TransparentPatterns false def 59.29 -/gnulinewidth 5.000 def 59.30 -/userlinewidth gnulinewidth def 59.31 -/Gamma 1.0 def 59.32 -% 59.33 -/vshift -46 def 59.34 -/dl1 { 59.35 - 10.0 Dashlength mul mul 59.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 59.37 -} def 59.38 -/dl2 { 59.39 - 10.0 Dashlength mul mul 59.40 - Rounded { currentlinewidth 0.75 mul add } if 59.41 -} def 59.42 -/hpt_ 31.5 def 59.43 -/vpt_ 31.5 def 59.44 -/hpt hpt_ def 59.45 -/vpt vpt_ def 59.46 -Level1 {} { 59.47 -/SDict 10 dict def 59.48 -systemdict /pdfmark known not { 59.49 - userdict /pdfmark systemdict /cleartomark get put 59.50 -} if 59.51 -SDict begin [ 59.52 - /Title (vms_vthread_8_32_128_512thds__o30000__perfCtrs.result.eps) 59.53 - /Subject (gnuplot plot) 59.54 - /Creator (gnuplot 4.4 patchlevel 2) 59.55 - /Author (msach) 59.56 -% /Producer (gnuplot) 59.57 -% /Keywords () 59.58 - /CreationDate (Thu Jan 26 18:12:20 2012) 59.59 - /DOCINFO pdfmark 59.60 -end 59.61 -} ifelse 59.62 -/doclip { 59.63 - ClipToBoundingBox { 59.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 59.65 - clip 59.66 - } if 59.67 -} def 59.68 -% 59.69 -% Gnuplot Prolog Version 4.4 (August 2010) 59.70 -% 59.71 -%/SuppressPDFMark true def 59.72 -% 59.73 -/M {moveto} bind def 59.74 -/L {lineto} bind def 59.75 -/R {rmoveto} bind def 59.76 -/V {rlineto} bind def 59.77 -/N {newpath moveto} bind def 59.78 -/Z {closepath} bind def 59.79 -/C {setrgbcolor} bind def 59.80 -/f {rlineto fill} bind def 59.81 -/g {setgray} bind def 59.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 59.83 -/vpt2 vpt 2 mul def 59.84 -/hpt2 hpt 2 mul def 59.85 -/Lshow {currentpoint stroke M 0 vshift R 59.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 59.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 59.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 59.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 59.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 59.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 59.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 59.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 59.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 59.95 -/BL {stroke userlinewidth 2 mul setlinewidth 59.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 59.97 -/AL {stroke userlinewidth 2 div setlinewidth 59.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 59.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 59.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 59.101 -/PL {stroke userlinewidth setlinewidth 59.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 59.103 -3.8 setmiterlimit 59.104 -% Default Line colors 59.105 -/LCw {1 1 1} def 59.106 -/LCb {0 0 0} def 59.107 -/LCa {0 0 0} def 59.108 -/LC0 {1 0 0} def 59.109 -/LC1 {0 1 0} def 59.110 -/LC2 {0 0 1} def 59.111 -/LC3 {1 0 1} def 59.112 -/LC4 {0 1 1} def 59.113 -/LC5 {1 1 0} def 59.114 -/LC6 {0 0 0} def 59.115 -/LC7 {1 0.3 0} def 59.116 -/LC8 {0.5 0.5 0.5} def 59.117 -% Default Line Types 59.118 -/LTw {PL [] 1 setgray} def 59.119 -/LTb {BL [] LCb DL} def 59.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 59.121 -/LT0 {PL [] LC0 DL} def 59.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 59.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 59.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 59.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 59.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 59.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 59.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 59.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 59.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 59.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 59.132 - hpt neg vpt neg V hpt vpt neg V 59.133 - hpt vpt V hpt neg vpt V closepath stroke 59.134 - Pnt} def 59.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 59.136 - currentpoint stroke M 59.137 - hpt neg vpt neg R hpt2 0 V stroke 59.138 - } def 59.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 59.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 59.141 - hpt2 neg 0 V closepath stroke 59.142 - Pnt} def 59.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 59.144 - hpt2 vpt2 neg V currentpoint stroke M 59.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 59.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 59.147 - hpt neg vpt -1.62 mul V 59.148 - hpt 2 mul 0 V 59.149 - hpt neg vpt 1.62 mul V closepath stroke 59.150 - Pnt} def 59.151 -/Star {2 copy Pls Crs} def 59.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 59.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 59.154 - hpt2 neg 0 V closepath fill} def 59.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 59.156 - hpt neg vpt -1.62 mul V 59.157 - hpt 2 mul 0 V 59.158 - hpt neg vpt 1.62 mul V closepath fill} def 59.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 59.160 - hpt neg vpt 1.62 mul V 59.161 - hpt 2 mul 0 V 59.162 - hpt neg vpt -1.62 mul V closepath stroke 59.163 - Pnt} def 59.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 59.165 - hpt neg vpt 1.62 mul V 59.166 - hpt 2 mul 0 V 59.167 - hpt neg vpt -1.62 mul V closepath fill} def 59.168 -/DiaF {stroke [] 0 setdash vpt add M 59.169 - hpt neg vpt neg V hpt vpt neg V 59.170 - hpt vpt V hpt neg vpt V closepath fill} def 59.171 -/Pent {stroke [] 0 setdash 2 copy gsave 59.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 59.173 - closepath stroke grestore Pnt} def 59.174 -/PentF {stroke [] 0 setdash gsave 59.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 59.176 - closepath fill grestore} def 59.177 -/Circle {stroke [] 0 setdash 2 copy 59.178 - hpt 0 360 arc stroke Pnt} def 59.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 59.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 59.181 -/C1 {BL [] 0 setdash 2 copy moveto 59.182 - 2 copy vpt 0 90 arc closepath fill 59.183 - vpt 0 360 arc closepath} bind def 59.184 -/C2 {BL [] 0 setdash 2 copy moveto 59.185 - 2 copy vpt 90 180 arc closepath fill 59.186 - vpt 0 360 arc closepath} bind def 59.187 -/C3 {BL [] 0 setdash 2 copy moveto 59.188 - 2 copy vpt 0 180 arc closepath fill 59.189 - vpt 0 360 arc closepath} bind def 59.190 -/C4 {BL [] 0 setdash 2 copy moveto 59.191 - 2 copy vpt 180 270 arc closepath fill 59.192 - vpt 0 360 arc closepath} bind def 59.193 -/C5 {BL [] 0 setdash 2 copy moveto 59.194 - 2 copy vpt 0 90 arc 59.195 - 2 copy moveto 59.196 - 2 copy vpt 180 270 arc closepath fill 59.197 - vpt 0 360 arc} bind def 59.198 -/C6 {BL [] 0 setdash 2 copy moveto 59.199 - 2 copy vpt 90 270 arc closepath fill 59.200 - vpt 0 360 arc closepath} bind def 59.201 -/C7 {BL [] 0 setdash 2 copy moveto 59.202 - 2 copy vpt 0 270 arc closepath fill 59.203 - vpt 0 360 arc closepath} bind def 59.204 -/C8 {BL [] 0 setdash 2 copy moveto 59.205 - 2 copy vpt 270 360 arc closepath fill 59.206 - vpt 0 360 arc closepath} bind def 59.207 -/C9 {BL [] 0 setdash 2 copy moveto 59.208 - 2 copy vpt 270 450 arc closepath fill 59.209 - vpt 0 360 arc closepath} bind def 59.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 59.211 - 2 copy moveto 59.212 - 2 copy vpt 90 180 arc closepath fill 59.213 - vpt 0 360 arc closepath} bind def 59.214 -/C11 {BL [] 0 setdash 2 copy moveto 59.215 - 2 copy vpt 0 180 arc closepath fill 59.216 - 2 copy moveto 59.217 - 2 copy vpt 270 360 arc closepath fill 59.218 - vpt 0 360 arc closepath} bind def 59.219 -/C12 {BL [] 0 setdash 2 copy moveto 59.220 - 2 copy vpt 180 360 arc closepath fill 59.221 - vpt 0 360 arc closepath} bind def 59.222 -/C13 {BL [] 0 setdash 2 copy moveto 59.223 - 2 copy vpt 0 90 arc closepath fill 59.224 - 2 copy moveto 59.225 - 2 copy vpt 180 360 arc closepath fill 59.226 - vpt 0 360 arc closepath} bind def 59.227 -/C14 {BL [] 0 setdash 2 copy moveto 59.228 - 2 copy vpt 90 360 arc closepath fill 59.229 - vpt 0 360 arc} bind def 59.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 59.231 - vpt 0 360 arc closepath} bind def 59.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 59.233 - neg 0 rlineto closepath} bind def 59.234 -/Square {dup Rec} bind def 59.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 59.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 59.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 59.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 59.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 59.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 59.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 59.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 59.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 59.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 59.245 - 2 copy vpt Square fill Bsquare} bind def 59.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 59.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 59.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 59.249 - Bsquare} bind def 59.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 59.251 - Bsquare} bind def 59.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 59.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 59.254 - 2 copy vpt Square fill Bsquare} bind def 59.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 59.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 59.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 59.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 59.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 59.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 59.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 59.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 59.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 59.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 59.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 59.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 59.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 59.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 59.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 59.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 59.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 59.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 59.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 59.274 -/DiaE {stroke [] 0 setdash vpt add M 59.275 - hpt neg vpt neg V hpt vpt neg V 59.276 - hpt vpt V hpt neg vpt V closepath stroke} def 59.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 59.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 59.279 - hpt2 neg 0 V closepath stroke} def 59.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 59.281 - hpt neg vpt -1.62 mul V 59.282 - hpt 2 mul 0 V 59.283 - hpt neg vpt 1.62 mul V closepath stroke} def 59.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 59.285 - hpt neg vpt 1.62 mul V 59.286 - hpt 2 mul 0 V 59.287 - hpt neg vpt -1.62 mul V closepath stroke} def 59.288 -/PentE {stroke [] 0 setdash gsave 59.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 59.290 - closepath stroke grestore} def 59.291 -/CircE {stroke [] 0 setdash 59.292 - hpt 0 360 arc stroke} def 59.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 59.294 -/DiaW {stroke [] 0 setdash vpt add M 59.295 - hpt neg vpt neg V hpt vpt neg V 59.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 59.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 59.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 59.299 - hpt2 neg 0 V Opaque stroke} def 59.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 59.301 - hpt neg vpt -1.62 mul V 59.302 - hpt 2 mul 0 V 59.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 59.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 59.305 - hpt neg vpt 1.62 mul V 59.306 - hpt 2 mul 0 V 59.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 59.308 -/PentW {stroke [] 0 setdash gsave 59.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 59.310 - Opaque stroke grestore} def 59.311 -/CircW {stroke [] 0 setdash 59.312 - hpt 0 360 arc Opaque stroke} def 59.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 59.314 -/Density { 59.315 - /Fillden exch def 59.316 - currentrgbcolor 59.317 - /ColB exch def /ColG exch def /ColR exch def 59.318 - /ColR ColR Fillden mul Fillden sub 1 add def 59.319 - /ColG ColG Fillden mul Fillden sub 1 add def 59.320 - /ColB ColB Fillden mul Fillden sub 1 add def 59.321 - ColR ColG ColB setrgbcolor} def 59.322 -/BoxColFill {gsave Rec PolyFill} def 59.323 -/PolyFill {gsave Density fill grestore grestore} def 59.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 59.325 -% 59.326 -% PostScript Level 1 Pattern Fill routine for rectangles 59.327 -% Usage: x y w h s a XX PatternFill 59.328 -% x,y = lower left corner of box to be filled 59.329 -% w,h = width and height of box 59.330 -% a = angle in degrees between lines and x-axis 59.331 -% XX = 0/1 for no/yes cross-hatch 59.332 -% 59.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 59.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 59.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 59.336 - gsave 1 setgray fill grestore clip 59.337 - currentlinewidth 0.5 mul setlinewidth 59.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 59.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 59.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 59.341 - {PFa 4 get mul 0 M 0 PFs V} for 59.342 - 0 PFa 6 get ne { 59.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 59.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 59.345 - } if 59.346 - stroke grestore} def 59.347 -% 59.348 -/languagelevel where 59.349 - {pop languagelevel} {1} ifelse 59.350 - 2 lt 59.351 - {/InterpretLevel1 true def} 59.352 - {/InterpretLevel1 Level1 def} 59.353 - ifelse 59.354 -% 59.355 -% PostScript level 2 pattern fill definitions 59.356 -% 59.357 -/Level2PatternFill { 59.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 59.359 - bind def 59.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 59.361 -<< Tile8x8 59.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 59.363 ->> matrix makepattern 59.364 -/Pat1 exch def 59.365 -<< Tile8x8 59.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 59.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 59.368 ->> matrix makepattern 59.369 -/Pat2 exch def 59.370 -<< Tile8x8 59.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 59.372 - 8 8 L 8 0 L 0 0 L fill} 59.373 ->> matrix makepattern 59.374 -/Pat3 exch def 59.375 -<< Tile8x8 59.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 59.377 - 0 12 M 12 0 L stroke} 59.378 ->> matrix makepattern 59.379 -/Pat4 exch def 59.380 -<< Tile8x8 59.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 59.382 - 0 -4 M 12 8 L stroke} 59.383 ->> matrix makepattern 59.384 -/Pat5 exch def 59.385 -<< Tile8x8 59.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 59.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 59.388 ->> matrix makepattern 59.389 -/Pat6 exch def 59.390 -<< Tile8x8 59.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 59.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 59.393 ->> matrix makepattern 59.394 -/Pat7 exch def 59.395 -<< Tile8x8 59.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 59.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 59.398 ->> matrix makepattern 59.399 -/Pat8 exch def 59.400 -<< Tile8x8 59.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 59.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 59.403 ->> matrix makepattern 59.404 -/Pat9 exch def 59.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 59.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 59.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 59.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 59.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 59.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 59.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 59.412 -} def 59.413 -% 59.414 -% 59.415 -%End of PostScript Level 2 code 59.416 -% 59.417 -/PatternBgnd { 59.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 59.419 -} def 59.420 -% 59.421 -% Substitute for Level 2 pattern fill codes with 59.422 -% grayscale if Level 2 support is not selected. 59.423 -% 59.424 -/Level1PatternFill { 59.425 -/Pattern1 {0.250 Density} bind def 59.426 -/Pattern2 {0.500 Density} bind def 59.427 -/Pattern3 {0.750 Density} bind def 59.428 -/Pattern4 {0.125 Density} bind def 59.429 -/Pattern5 {0.375 Density} bind def 59.430 -/Pattern6 {0.625 Density} bind def 59.431 -/Pattern7 {0.875 Density} bind def 59.432 -} def 59.433 -% 59.434 -% Now test for support of Level 2 code 59.435 -% 59.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 59.437 -% 59.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 59.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 59.440 -currentdict end definefont pop 59.441 -/MFshow { 59.442 - { dup 5 get 3 ge 59.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 59.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 59.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 59.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 59.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 59.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 59.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 59.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 59.451 - pop aload pop M} ifelse }ifelse }ifelse } 59.452 - ifelse } 59.453 - forall} def 59.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 59.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 59.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 59.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 59.458 -/MLshow { currentpoint stroke M 59.459 - 0 exch R 59.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 59.461 -/MRshow { currentpoint stroke M 59.462 - exch dup MFwidth neg 3 -1 roll R 59.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 59.464 -/MCshow { currentpoint stroke M 59.465 - exch dup MFwidth -2 div 3 -1 roll R 59.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 59.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 59.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 59.469 -end 59.470 -%%EndProlog 59.471 -%%Page: 1 1 59.472 -gnudict begin 59.473 -gsave 59.474 -doclip 59.475 -50 50 translate 59.476 -0.100 0.100 scale 59.477 -90 rotate 59.478 -0 -5040 translate 59.479 -0 setgray 59.480 -newpath 59.481 -(Helvetica) findfont 140 scalefont setfont 59.482 -1.000 UL 59.483 -LTb 59.484 -518 448 M 59.485 -63 0 V 59.486 -stroke 59.487 -434 448 M 59.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 59.489 -] -46.7 MRshow 59.490 -1.000 UL 59.491 -LTb 59.492 -518 792 M 59.493 -63 0 V 59.494 -stroke 59.495 -434 792 M 59.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 59.497 -] -46.7 MRshow 59.498 -1.000 UL 59.499 -LTb 59.500 -518 1136 M 59.501 -63 0 V 59.502 -stroke 59.503 -434 1136 M 59.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 59.505 -] -46.7 MRshow 59.506 -1.000 UL 59.507 -LTb 59.508 -518 1480 M 59.509 -63 0 V 59.510 -stroke 59.511 -434 1480 M 59.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 59.513 -] -46.7 MRshow 59.514 -1.000 UL 59.515 -LTb 59.516 -518 1823 M 59.517 -63 0 V 59.518 -stroke 59.519 -434 1823 M 59.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 59.521 -] -46.7 MRshow 59.522 -1.000 UL 59.523 -LTb 59.524 -518 2167 M 59.525 -63 0 V 59.526 -stroke 59.527 -434 2167 M 59.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 59.529 -] -46.7 MRshow 59.530 -1.000 UL 59.531 -LTb 59.532 -518 2511 M 59.533 -63 0 V 59.534 -stroke 59.535 -434 2511 M 59.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 59.537 -] -46.7 MRshow 59.538 -1.000 UL 59.539 -LTb 59.540 -518 2855 M 59.541 -63 0 V 59.542 -stroke 59.543 -434 2855 M 59.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 59.545 -] -46.7 MRshow 59.546 -1.000 UL 59.547 -LTb 59.548 -518 448 M 59.549 -0 63 V 59.550 -stroke 59.551 -518 308 M 59.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 59.553 -] -46.7 MCshow 59.554 -1.000 UL 59.555 -LTb 59.556 -962 448 M 59.557 -0 63 V 59.558 -stroke 59.559 -962 308 M 59.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 59.561 -] -46.7 MCshow 59.562 -1.000 UL 59.563 -LTb 59.564 -1405 448 M 59.565 -0 63 V 59.566 -stroke 59.567 -1405 308 M 59.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 59.569 -] -46.7 MCshow 59.570 -1.000 UL 59.571 -LTb 59.572 -1849 448 M 59.573 -0 63 V 59.574 -stroke 59.575 -1849 308 M 59.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 59.577 -] -46.7 MCshow 59.578 -1.000 UL 59.579 -LTb 59.580 -2293 448 M 59.581 -0 63 V 59.582 -stroke 59.583 -2293 308 M 59.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 59.585 -] -46.7 MCshow 59.586 -1.000 UL 59.587 -LTb 59.588 -2736 448 M 59.589 -0 63 V 59.590 -stroke 59.591 -2736 308 M 59.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 59.593 -] -46.7 MCshow 59.594 -1.000 UL 59.595 -LTb 59.596 -3180 448 M 59.597 -0 63 V 59.598 -stroke 59.599 -3180 308 M 59.600 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 59.601 -] -46.7 MCshow 59.602 -1.000 UL 59.603 -LTb 59.604 -3623 448 M 59.605 -0 63 V 59.606 -stroke 59.607 -3623 308 M 59.608 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 59.609 -] -46.7 MCshow 59.610 -1.000 UL 59.611 -LTb 59.612 -4067 448 M 59.613 -0 63 V 59.614 -stroke 59.615 -4067 308 M 59.616 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 59.617 -] -46.7 MCshow 59.618 -1.000 UL 59.619 -LTb 59.620 -1.000 UL 59.621 -LTb 59.622 -518 2855 M 59.623 -518 448 L 59.624 -3549 0 V 59.625 -0 2407 R 59.626 --3549 0 R 59.627 -stroke 59.628 -LCb setrgbcolor 59.629 -112 1651 M 59.630 -currentpoint gsave translate -270 rotate 0 0 moveto 59.631 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 59.632 -] -46.7 MCshow 59.633 -grestore 59.634 -LTb 59.635 -LCb setrgbcolor 59.636 -2292 98 M 59.637 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 59.638 -] -46.7 MCshow 59.639 -LTb 59.640 -1.000 UP 59.641 -1.000 UL 59.642 -LTb 59.643 -1.000 UL 59.644 -LTb 59.645 -2492 2232 N 59.646 -0 560 V 59.647 -1491 0 V 59.648 -0 -560 V 59.649 --1491 0 V 59.650 -Z stroke 59.651 -2492 2792 M 59.652 -1491 0 V 59.653 -% Begin plot #1 59.654 -stroke 59.655 -3.000 UL 59.656 -LT1 59.657 -LCa setrgbcolor 59.658 -518 792 M 59.659 -36 0 V 59.660 -36 0 V 59.661 -36 0 V 59.662 -35 0 V 59.663 -36 0 V 59.664 -36 0 V 59.665 -36 0 V 59.666 -36 0 V 59.667 -36 0 V 59.668 -35 0 V 59.669 -36 0 V 59.670 -36 0 V 59.671 -36 0 V 59.672 -36 0 V 59.673 -36 0 V 59.674 -36 0 V 59.675 -35 0 V 59.676 -36 0 V 59.677 -36 0 V 59.678 -36 0 V 59.679 -36 0 V 59.680 -36 0 V 59.681 -36 0 V 59.682 -35 0 V 59.683 -36 0 V 59.684 -36 0 V 59.685 -36 0 V 59.686 -36 0 V 59.687 -36 0 V 59.688 -35 0 V 59.689 -36 0 V 59.690 -36 0 V 59.691 -36 0 V 59.692 -36 0 V 59.693 -36 0 V 59.694 -36 0 V 59.695 -35 0 V 59.696 -36 0 V 59.697 -36 0 V 59.698 -36 0 V 59.699 -36 0 V 59.700 -36 0 V 59.701 -35 0 V 59.702 -36 0 V 59.703 -36 0 V 59.704 -36 0 V 59.705 -36 0 V 59.706 -36 0 V 59.707 -36 0 V 59.708 -35 0 V 59.709 -36 0 V 59.710 -36 0 V 59.711 -36 0 V 59.712 -36 0 V 59.713 -36 0 V 59.714 -36 0 V 59.715 -35 0 V 59.716 -36 0 V 59.717 -36 0 V 59.718 -36 0 V 59.719 -36 0 V 59.720 -36 0 V 59.721 -35 0 V 59.722 -36 0 V 59.723 -36 0 V 59.724 -36 0 V 59.725 -36 0 V 59.726 -36 0 V 59.727 -36 0 V 59.728 -35 0 V 59.729 -36 0 V 59.730 -36 0 V 59.731 -36 0 V 59.732 -36 0 V 59.733 -36 0 V 59.734 -35 0 V 59.735 -36 0 V 59.736 -36 0 V 59.737 -36 0 V 59.738 -36 0 V 59.739 -36 0 V 59.740 -36 0 V 59.741 -35 0 V 59.742 -36 0 V 59.743 -36 0 V 59.744 -36 0 V 59.745 -36 0 V 59.746 -36 0 V 59.747 -36 0 V 59.748 -35 0 V 59.749 -36 0 V 59.750 -36 0 V 59.751 -36 0 V 59.752 -36 0 V 59.753 -36 0 V 59.754 -35 0 V 59.755 -36 0 V 59.756 -36 0 V 59.757 -36 0 V 59.758 -% End plot #1 59.759 -% Begin plot #2 59.760 -stroke 59.761 -4.000 UL 59.762 -LT1 59.763 -LCb setrgbcolor 59.764 -3416 2722 M 59.765 -[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 59.766 -] -46.7 MRshow 59.767 -LT1 59.768 -3500 2722 M 59.769 -399 0 V 59.770 -572 2677 M 59.771 -16 -429 V 59.772 -24 -559 V 59.773 -55 -454 V 59.774 -774 920 L 59.775 -987 706 L 59.776 -1411 563 L 59.777 -852 -54 V 59.778 -3966 478 L 59.779 -% End plot #2 59.780 -% Begin plot #3 59.781 -stroke 59.782 -LT2 59.783 -LCb setrgbcolor 59.784 -3416 2582 M 59.785 -[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 59.786 -] -46.7 MRshow 59.787 -LT2 59.788 -3500 2582 M 59.789 -399 0 V 59.790 -571 2168 M 59.791 -17 -436 V 59.792 -24 -217 V 59.793 -55 -464 V 59.794 -774 801 L 59.795 -986 651 L 59.796 -1412 549 L 59.797 -852 -55 V 59.798 -3966 472 L 59.799 -% End plot #3 59.800 -% Begin plot #4 59.801 -stroke 59.802 -LT3 59.803 -LCb setrgbcolor 59.804 -3416 2442 M 59.805 -[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 59.806 -] -46.7 MRshow 59.807 -LT3 59.808 -3500 2442 M 59.809 -399 0 V 59.810 -572 2234 M 59.811 -16 -381 V 59.812 -26 -417 V 59.813 -53 -317 V 59.814 -773 823 L 59.815 -987 656 L 59.816 -1412 553 L 59.817 -852 -51 V 59.818 -3968 472 L 59.819 -% End plot #4 59.820 -% Begin plot #5 59.821 -stroke 59.822 -LT4 59.823 -LCb setrgbcolor 59.824 -3416 2302 M 59.825 -[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 59.826 -] -46.7 MRshow 59.827 -LT4 59.828 -3500 2302 M 59.829 -399 0 V 59.830 -572 2389 M 59.831 -14 -445 V 59.832 -27 -449 V 59.833 -54 -383 V 59.834 -772 837 L 59.835 -985 659 L 59.836 -1411 552 L 59.837 -853 -52 V 59.838 -3968 473 L 59.839 -% End plot #5 59.840 -stroke 59.841 -1.000 UL 59.842 -LTb 59.843 -518 2855 M 59.844 -518 448 L 59.845 -3549 0 V 59.846 -0 2407 R 59.847 --3549 0 R 59.848 -1.000 UP 59.849 -stroke 59.850 -grestore 59.851 -end 59.852 -showpage 59.853 -%%Trailer 59.854 -%%DocumentFonts: Helvetica 59.855 -%%Pages: 1
60.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps Thu Feb 02 12:22:53 2012 -0800 60.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 60.3 @@ -1,699 +0,0 @@ 60.4 -%!PS-Adobe-2.0 60.5 -%%Title: xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps 60.6 -%%Creator: gnuplot 4.4 patchlevel 2 60.7 -%%CreationDate: Thu Jan 26 18:22:29 2012 60.8 -%%DocumentFonts: (atend) 60.9 -%%BoundingBox: 251 50 554 482 60.10 -%%Orientation: Landscape 60.11 -%%Pages: (atend) 60.12 -%%EndComments 60.13 -%%BeginProlog 60.14 -/gnudict 256 dict def 60.15 -gnudict begin 60.16 -% 60.17 -% The following true/false flags may be edited by hand if desired. 60.18 -% The unit line width and grayscale image gamma correction may also be changed. 60.19 -% 60.20 -/Color true def 60.21 -/Blacktext false def 60.22 -/Solid false def 60.23 -/Dashlength 1 def 60.24 -/Landscape true def 60.25 -/Level1 false def 60.26 -/Rounded false def 60.27 -/ClipToBoundingBox false def 60.28 -/TransparentPatterns false def 60.29 -/gnulinewidth 5.000 def 60.30 -/userlinewidth gnulinewidth def 60.31 -/Gamma 1.0 def 60.32 -% 60.33 -/vshift -46 def 60.34 -/dl1 { 60.35 - 10.0 Dashlength mul mul 60.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 60.37 -} def 60.38 -/dl2 { 60.39 - 10.0 Dashlength mul mul 60.40 - Rounded { currentlinewidth 0.75 mul add } if 60.41 -} def 60.42 -/hpt_ 31.5 def 60.43 -/vpt_ 31.5 def 60.44 -/hpt hpt_ def 60.45 -/vpt vpt_ def 60.46 -Level1 {} { 60.47 -/SDict 10 dict def 60.48 -systemdict /pdfmark known not { 60.49 - userdict /pdfmark systemdict /cleartomark get put 60.50 -} if 60.51 -SDict begin [ 60.52 - /Title (xoanon_pthreads_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 60.53 - /Subject (gnuplot plot) 60.54 - /Creator (gnuplot 4.4 patchlevel 2) 60.55 - /Author (msach) 60.56 -% /Producer (gnuplot) 60.57 -% /Keywords () 60.58 - /CreationDate (Thu Jan 26 18:22:29 2012) 60.59 - /DOCINFO pdfmark 60.60 -end 60.61 -} ifelse 60.62 -/doclip { 60.63 - ClipToBoundingBox { 60.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 60.65 - clip 60.66 - } if 60.67 -} def 60.68 -% 60.69 -% Gnuplot Prolog Version 4.4 (August 2010) 60.70 -% 60.71 -%/SuppressPDFMark true def 60.72 -% 60.73 -/M {moveto} bind def 60.74 -/L {lineto} bind def 60.75 -/R {rmoveto} bind def 60.76 -/V {rlineto} bind def 60.77 -/N {newpath moveto} bind def 60.78 -/Z {closepath} bind def 60.79 -/C {setrgbcolor} bind def 60.80 -/f {rlineto fill} bind def 60.81 -/g {setgray} bind def 60.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 60.83 -/vpt2 vpt 2 mul def 60.84 -/hpt2 hpt 2 mul def 60.85 -/Lshow {currentpoint stroke M 0 vshift R 60.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 60.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 60.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 60.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 60.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 60.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 60.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 60.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 60.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 60.95 -/BL {stroke userlinewidth 2 mul setlinewidth 60.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 60.97 -/AL {stroke userlinewidth 2 div setlinewidth 60.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 60.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 60.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 60.101 -/PL {stroke userlinewidth setlinewidth 60.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 60.103 -3.8 setmiterlimit 60.104 -% Default Line colors 60.105 -/LCw {1 1 1} def 60.106 -/LCb {0 0 0} def 60.107 -/LCa {0 0 0} def 60.108 -/LC0 {1 0 0} def 60.109 -/LC1 {0 1 0} def 60.110 -/LC2 {0 0 1} def 60.111 -/LC3 {1 0 1} def 60.112 -/LC4 {0 1 1} def 60.113 -/LC5 {1 1 0} def 60.114 -/LC6 {0 0 0} def 60.115 -/LC7 {1 0.3 0} def 60.116 -/LC8 {0.5 0.5 0.5} def 60.117 -% Default Line Types 60.118 -/LTw {PL [] 1 setgray} def 60.119 -/LTb {BL [] LCb DL} def 60.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 60.121 -/LT0 {PL [] LC0 DL} def 60.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 60.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 60.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 60.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 60.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 60.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 60.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 60.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 60.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 60.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 60.132 - hpt neg vpt neg V hpt vpt neg V 60.133 - hpt vpt V hpt neg vpt V closepath stroke 60.134 - Pnt} def 60.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 60.136 - currentpoint stroke M 60.137 - hpt neg vpt neg R hpt2 0 V stroke 60.138 - } def 60.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 60.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 60.141 - hpt2 neg 0 V closepath stroke 60.142 - Pnt} def 60.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 60.144 - hpt2 vpt2 neg V currentpoint stroke M 60.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 60.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 60.147 - hpt neg vpt -1.62 mul V 60.148 - hpt 2 mul 0 V 60.149 - hpt neg vpt 1.62 mul V closepath stroke 60.150 - Pnt} def 60.151 -/Star {2 copy Pls Crs} def 60.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 60.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 60.154 - hpt2 neg 0 V closepath fill} def 60.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 60.156 - hpt neg vpt -1.62 mul V 60.157 - hpt 2 mul 0 V 60.158 - hpt neg vpt 1.62 mul V closepath fill} def 60.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 60.160 - hpt neg vpt 1.62 mul V 60.161 - hpt 2 mul 0 V 60.162 - hpt neg vpt -1.62 mul V closepath stroke 60.163 - Pnt} def 60.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 60.165 - hpt neg vpt 1.62 mul V 60.166 - hpt 2 mul 0 V 60.167 - hpt neg vpt -1.62 mul V closepath fill} def 60.168 -/DiaF {stroke [] 0 setdash vpt add M 60.169 - hpt neg vpt neg V hpt vpt neg V 60.170 - hpt vpt V hpt neg vpt V closepath fill} def 60.171 -/Pent {stroke [] 0 setdash 2 copy gsave 60.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 60.173 - closepath stroke grestore Pnt} def 60.174 -/PentF {stroke [] 0 setdash gsave 60.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 60.176 - closepath fill grestore} def 60.177 -/Circle {stroke [] 0 setdash 2 copy 60.178 - hpt 0 360 arc stroke Pnt} def 60.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 60.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 60.181 -/C1 {BL [] 0 setdash 2 copy moveto 60.182 - 2 copy vpt 0 90 arc closepath fill 60.183 - vpt 0 360 arc closepath} bind def 60.184 -/C2 {BL [] 0 setdash 2 copy moveto 60.185 - 2 copy vpt 90 180 arc closepath fill 60.186 - vpt 0 360 arc closepath} bind def 60.187 -/C3 {BL [] 0 setdash 2 copy moveto 60.188 - 2 copy vpt 0 180 arc closepath fill 60.189 - vpt 0 360 arc closepath} bind def 60.190 -/C4 {BL [] 0 setdash 2 copy moveto 60.191 - 2 copy vpt 180 270 arc closepath fill 60.192 - vpt 0 360 arc closepath} bind def 60.193 -/C5 {BL [] 0 setdash 2 copy moveto 60.194 - 2 copy vpt 0 90 arc 60.195 - 2 copy moveto 60.196 - 2 copy vpt 180 270 arc closepath fill 60.197 - vpt 0 360 arc} bind def 60.198 -/C6 {BL [] 0 setdash 2 copy moveto 60.199 - 2 copy vpt 90 270 arc closepath fill 60.200 - vpt 0 360 arc closepath} bind def 60.201 -/C7 {BL [] 0 setdash 2 copy moveto 60.202 - 2 copy vpt 0 270 arc closepath fill 60.203 - vpt 0 360 arc closepath} bind def 60.204 -/C8 {BL [] 0 setdash 2 copy moveto 60.205 - 2 copy vpt 270 360 arc closepath fill 60.206 - vpt 0 360 arc closepath} bind def 60.207 -/C9 {BL [] 0 setdash 2 copy moveto 60.208 - 2 copy vpt 270 450 arc closepath fill 60.209 - vpt 0 360 arc closepath} bind def 60.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 60.211 - 2 copy moveto 60.212 - 2 copy vpt 90 180 arc closepath fill 60.213 - vpt 0 360 arc closepath} bind def 60.214 -/C11 {BL [] 0 setdash 2 copy moveto 60.215 - 2 copy vpt 0 180 arc closepath fill 60.216 - 2 copy moveto 60.217 - 2 copy vpt 270 360 arc closepath fill 60.218 - vpt 0 360 arc closepath} bind def 60.219 -/C12 {BL [] 0 setdash 2 copy moveto 60.220 - 2 copy vpt 180 360 arc closepath fill 60.221 - vpt 0 360 arc closepath} bind def 60.222 -/C13 {BL [] 0 setdash 2 copy moveto 60.223 - 2 copy vpt 0 90 arc closepath fill 60.224 - 2 copy moveto 60.225 - 2 copy vpt 180 360 arc closepath fill 60.226 - vpt 0 360 arc closepath} bind def 60.227 -/C14 {BL [] 0 setdash 2 copy moveto 60.228 - 2 copy vpt 90 360 arc closepath fill 60.229 - vpt 0 360 arc} bind def 60.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 60.231 - vpt 0 360 arc closepath} bind def 60.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 60.233 - neg 0 rlineto closepath} bind def 60.234 -/Square {dup Rec} bind def 60.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 60.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 60.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 60.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 60.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 60.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 60.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 60.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 60.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 60.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 60.245 - 2 copy vpt Square fill Bsquare} bind def 60.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 60.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 60.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 60.249 - Bsquare} bind def 60.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 60.251 - Bsquare} bind def 60.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 60.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 60.254 - 2 copy vpt Square fill Bsquare} bind def 60.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 60.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 60.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 60.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 60.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 60.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 60.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 60.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 60.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 60.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 60.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 60.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 60.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 60.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 60.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 60.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 60.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 60.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 60.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 60.274 -/DiaE {stroke [] 0 setdash vpt add M 60.275 - hpt neg vpt neg V hpt vpt neg V 60.276 - hpt vpt V hpt neg vpt V closepath stroke} def 60.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 60.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 60.279 - hpt2 neg 0 V closepath stroke} def 60.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 60.281 - hpt neg vpt -1.62 mul V 60.282 - hpt 2 mul 0 V 60.283 - hpt neg vpt 1.62 mul V closepath stroke} def 60.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 60.285 - hpt neg vpt 1.62 mul V 60.286 - hpt 2 mul 0 V 60.287 - hpt neg vpt -1.62 mul V closepath stroke} def 60.288 -/PentE {stroke [] 0 setdash gsave 60.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 60.290 - closepath stroke grestore} def 60.291 -/CircE {stroke [] 0 setdash 60.292 - hpt 0 360 arc stroke} def 60.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 60.294 -/DiaW {stroke [] 0 setdash vpt add M 60.295 - hpt neg vpt neg V hpt vpt neg V 60.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 60.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 60.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 60.299 - hpt2 neg 0 V Opaque stroke} def 60.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 60.301 - hpt neg vpt -1.62 mul V 60.302 - hpt 2 mul 0 V 60.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 60.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 60.305 - hpt neg vpt 1.62 mul V 60.306 - hpt 2 mul 0 V 60.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 60.308 -/PentW {stroke [] 0 setdash gsave 60.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 60.310 - Opaque stroke grestore} def 60.311 -/CircW {stroke [] 0 setdash 60.312 - hpt 0 360 arc Opaque stroke} def 60.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 60.314 -/Density { 60.315 - /Fillden exch def 60.316 - currentrgbcolor 60.317 - /ColB exch def /ColG exch def /ColR exch def 60.318 - /ColR ColR Fillden mul Fillden sub 1 add def 60.319 - /ColG ColG Fillden mul Fillden sub 1 add def 60.320 - /ColB ColB Fillden mul Fillden sub 1 add def 60.321 - ColR ColG ColB setrgbcolor} def 60.322 -/BoxColFill {gsave Rec PolyFill} def 60.323 -/PolyFill {gsave Density fill grestore grestore} def 60.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 60.325 -% 60.326 -% PostScript Level 1 Pattern Fill routine for rectangles 60.327 -% Usage: x y w h s a XX PatternFill 60.328 -% x,y = lower left corner of box to be filled 60.329 -% w,h = width and height of box 60.330 -% a = angle in degrees between lines and x-axis 60.331 -% XX = 0/1 for no/yes cross-hatch 60.332 -% 60.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 60.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 60.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 60.336 - gsave 1 setgray fill grestore clip 60.337 - currentlinewidth 0.5 mul setlinewidth 60.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 60.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 60.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 60.341 - {PFa 4 get mul 0 M 0 PFs V} for 60.342 - 0 PFa 6 get ne { 60.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 60.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 60.345 - } if 60.346 - stroke grestore} def 60.347 -% 60.348 -/languagelevel where 60.349 - {pop languagelevel} {1} ifelse 60.350 - 2 lt 60.351 - {/InterpretLevel1 true def} 60.352 - {/InterpretLevel1 Level1 def} 60.353 - ifelse 60.354 -% 60.355 -% PostScript level 2 pattern fill definitions 60.356 -% 60.357 -/Level2PatternFill { 60.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 60.359 - bind def 60.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 60.361 -<< Tile8x8 60.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 60.363 ->> matrix makepattern 60.364 -/Pat1 exch def 60.365 -<< Tile8x8 60.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 60.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 60.368 ->> matrix makepattern 60.369 -/Pat2 exch def 60.370 -<< Tile8x8 60.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 60.372 - 8 8 L 8 0 L 0 0 L fill} 60.373 ->> matrix makepattern 60.374 -/Pat3 exch def 60.375 -<< Tile8x8 60.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 60.377 - 0 12 M 12 0 L stroke} 60.378 ->> matrix makepattern 60.379 -/Pat4 exch def 60.380 -<< Tile8x8 60.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 60.382 - 0 -4 M 12 8 L stroke} 60.383 ->> matrix makepattern 60.384 -/Pat5 exch def 60.385 -<< Tile8x8 60.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 60.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 60.388 ->> matrix makepattern 60.389 -/Pat6 exch def 60.390 -<< Tile8x8 60.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 60.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 60.393 ->> matrix makepattern 60.394 -/Pat7 exch def 60.395 -<< Tile8x8 60.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 60.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 60.398 ->> matrix makepattern 60.399 -/Pat8 exch def 60.400 -<< Tile8x8 60.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 60.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 60.403 ->> matrix makepattern 60.404 -/Pat9 exch def 60.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 60.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 60.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 60.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 60.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 60.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 60.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 60.412 -} def 60.413 -% 60.414 -% 60.415 -%End of PostScript Level 2 code 60.416 -% 60.417 -/PatternBgnd { 60.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 60.419 -} def 60.420 -% 60.421 -% Substitute for Level 2 pattern fill codes with 60.422 -% grayscale if Level 2 support is not selected. 60.423 -% 60.424 -/Level1PatternFill { 60.425 -/Pattern1 {0.250 Density} bind def 60.426 -/Pattern2 {0.500 Density} bind def 60.427 -/Pattern3 {0.750 Density} bind def 60.428 -/Pattern4 {0.125 Density} bind def 60.429 -/Pattern5 {0.375 Density} bind def 60.430 -/Pattern6 {0.625 Density} bind def 60.431 -/Pattern7 {0.875 Density} bind def 60.432 -} def 60.433 -% 60.434 -% Now test for support of Level 2 code 60.435 -% 60.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 60.437 -% 60.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 60.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 60.440 -currentdict end definefont pop 60.441 -/MFshow { 60.442 - { dup 5 get 3 ge 60.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 60.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 60.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 60.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 60.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 60.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 60.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 60.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 60.451 - pop aload pop M} ifelse }ifelse }ifelse } 60.452 - ifelse } 60.453 - forall} def 60.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 60.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 60.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 60.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 60.458 -/MLshow { currentpoint stroke M 60.459 - 0 exch R 60.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 60.461 -/MRshow { currentpoint stroke M 60.462 - exch dup MFwidth neg 3 -1 roll R 60.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 60.464 -/MCshow { currentpoint stroke M 60.465 - exch dup MFwidth -2 div 3 -1 roll R 60.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 60.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 60.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 60.469 -end 60.470 -%%EndProlog 60.471 -%%Page: 1 1 60.472 -gnudict begin 60.473 -gsave 60.474 -doclip 60.475 -50 50 translate 60.476 -0.100 0.100 scale 60.477 -90 rotate 60.478 -0 -5040 translate 60.479 -0 setgray 60.480 -newpath 60.481 -(Helvetica) findfont 140 scalefont setfont 60.482 -1.000 UL 60.483 -LTb 60.484 -686 922 M 60.485 -63 0 V 60.486 -stroke 60.487 -602 922 M 60.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 60.489 -] -46.7 MRshow 60.490 -1.000 UL 60.491 -LTb 60.492 -686 1405 M 60.493 -63 0 V 60.494 -stroke 60.495 -602 1405 M 60.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 60.497 -] -46.7 MRshow 60.498 -1.000 UL 60.499 -LTb 60.500 -686 1888 M 60.501 -63 0 V 60.502 -stroke 60.503 -602 1888 M 60.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 60.505 -] -46.7 MRshow 60.506 -1.000 UL 60.507 -LTb 60.508 -686 2372 M 60.509 -63 0 V 60.510 -stroke 60.511 -602 2372 M 60.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 60.513 -] -46.7 MRshow 60.514 -1.000 UL 60.515 -LTb 60.516 -686 2855 M 60.517 -63 0 V 60.518 -stroke 60.519 -602 2855 M 60.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 60.521 -] -46.7 MRshow 60.522 -1.000 UL 60.523 -LTb 60.524 -686 448 M 60.525 -0 63 V 60.526 -stroke 60.527 -686 308 M 60.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 60.529 -] -46.7 MCshow 60.530 -1.000 UL 60.531 -LTb 60.532 -1109 448 M 60.533 -0 63 V 60.534 -stroke 60.535 -1109 308 M 60.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 60.537 -] -46.7 MCshow 60.538 -1.000 UL 60.539 -LTb 60.540 -1531 448 M 60.541 -0 63 V 60.542 -stroke 60.543 -1531 308 M 60.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 60.545 -] -46.7 MCshow 60.546 -1.000 UL 60.547 -LTb 60.548 -1954 448 M 60.549 -0 63 V 60.550 -stroke 60.551 -1954 308 M 60.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 60.553 -] -46.7 MCshow 60.554 -1.000 UL 60.555 -LTb 60.556 -2377 448 M 60.557 -0 63 V 60.558 -stroke 60.559 -2377 308 M 60.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 60.561 -] -46.7 MCshow 60.562 -1.000 UL 60.563 -LTb 60.564 -2799 448 M 60.565 -0 63 V 60.566 -stroke 60.567 -2799 308 M 60.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 60.569 -] -46.7 MCshow 60.570 -1.000 UL 60.571 -LTb 60.572 -3222 448 M 60.573 -0 63 V 60.574 -stroke 60.575 -3222 308 M 60.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 60.577 -] -46.7 MCshow 60.578 -1.000 UL 60.579 -LTb 60.580 -3644 448 M 60.581 -0 63 V 60.582 -stroke 60.583 -3644 308 M 60.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 60.585 -] -46.7 MCshow 60.586 -1.000 UL 60.587 -LTb 60.588 -4067 448 M 60.589 -0 63 V 60.590 -stroke 60.591 -4067 308 M 60.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 60.593 -] -46.7 MCshow 60.594 -1.000 UL 60.595 -LTb 60.596 -1.000 UL 60.597 -LTb 60.598 -686 2855 M 60.599 -686 448 L 60.600 -3381 0 V 60.601 -0 2407 R 60.602 --3381 0 R 60.603 -stroke 60.604 -LCb setrgbcolor 60.605 -112 1651 M 60.606 -currentpoint gsave translate -270 rotate 0 0 moveto 60.607 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 60.608 -] -46.7 MCshow 60.609 -grestore 60.610 -LTb 60.611 -LCb setrgbcolor 60.612 -2376 98 M 60.613 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 60.614 -] -46.7 MCshow 60.615 -LTb 60.616 -1.000 UP 60.617 -1.000 UL 60.618 -LTb 60.619 -1.000 UL 60.620 -LTb 60.621 -770 511 N 60.622 -0 560 V 60.623 -1491 0 V 60.624 -0 -560 V 60.625 -770 511 L 60.626 -Z stroke 60.627 -770 1071 M 60.628 -1491 0 V 60.629 -% Begin plot #1 60.630 -stroke 60.631 -4.000 UL 60.632 -LT0 60.633 -LCb setrgbcolor 60.634 -1694 1001 M 60.635 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 60.636 -] -46.7 MRshow 60.637 -LT0 60.638 -1778 1001 M 60.639 -399 0 V 60.640 -1735 2855 M 60.641 -662 -919 V 60.642 -4067 1238 L 60.643 -% End plot #1 60.644 -% Begin plot #2 60.645 -stroke 60.646 -LT1 60.647 -LCb setrgbcolor 60.648 -1694 861 M 60.649 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 60.650 -] -46.7 MRshow 60.651 -LT1 60.652 -1778 861 M 60.653 -399 0 V 60.654 -1748 2855 M 60.655 -2555 1723 L 60.656 -4067 1065 L 60.657 -% End plot #2 60.658 -% Begin plot #3 60.659 -stroke 60.660 -LT2 60.661 -LCb setrgbcolor 60.662 -1694 721 M 60.663 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 60.664 -] -46.7 MRshow 60.665 -LT2 60.666 -1778 721 M 60.667 -399 0 V 60.668 -1420 2855 M 60.669 -170 -542 V 60.670 -784 -867 V 60.671 -3986 870 L 60.672 -% End plot #3 60.673 -% Begin plot #4 60.674 -stroke 60.675 -LT3 60.676 -LCb setrgbcolor 60.677 -1694 581 M 60.678 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 60.679 -] -46.7 MRshow 60.680 -LT3 60.681 -1778 581 M 60.682 -399 0 V 60.683 -1802 2855 M 60.684 -572 -574 V 60.685 -4007 1207 L 60.686 -% End plot #4 60.687 -stroke 60.688 -1.000 UL 60.689 -LTb 60.690 -686 2855 M 60.691 -686 448 L 60.692 -3381 0 V 60.693 -0 2407 R 60.694 --3381 0 R 60.695 -1.000 UP 60.696 -stroke 60.697 -grestore 60.698 -end 60.699 -showpage 60.700 -%%Trailer 60.701 -%%DocumentFonts: Helvetica 60.702 -%%Pages: 1
61.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps Thu Feb 02 12:22:53 2012 -0800 61.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 61.3 @@ -1,695 +0,0 @@ 61.4 -%!PS-Adobe-2.0 61.5 -%%Title: xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps 61.6 -%%Creator: gnuplot 4.4 patchlevel 2 61.7 -%%CreationDate: Thu Jan 26 18:23:26 2012 61.8 -%%DocumentFonts: (atend) 61.9 -%%BoundingBox: 251 50 554 482 61.10 -%%Orientation: Landscape 61.11 -%%Pages: (atend) 61.12 -%%EndComments 61.13 -%%BeginProlog 61.14 -/gnudict 256 dict def 61.15 -gnudict begin 61.16 -% 61.17 -% The following true/false flags may be edited by hand if desired. 61.18 -% The unit line width and grayscale image gamma correction may also be changed. 61.19 -% 61.20 -/Color true def 61.21 -/Blacktext false def 61.22 -/Solid false def 61.23 -/Dashlength 1 def 61.24 -/Landscape true def 61.25 -/Level1 false def 61.26 -/Rounded false def 61.27 -/ClipToBoundingBox false def 61.28 -/TransparentPatterns false def 61.29 -/gnulinewidth 5.000 def 61.30 -/userlinewidth gnulinewidth def 61.31 -/Gamma 1.0 def 61.32 -% 61.33 -/vshift -46 def 61.34 -/dl1 { 61.35 - 10.0 Dashlength mul mul 61.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 61.37 -} def 61.38 -/dl2 { 61.39 - 10.0 Dashlength mul mul 61.40 - Rounded { currentlinewidth 0.75 mul add } if 61.41 -} def 61.42 -/hpt_ 31.5 def 61.43 -/vpt_ 31.5 def 61.44 -/hpt hpt_ def 61.45 -/vpt vpt_ def 61.46 -Level1 {} { 61.47 -/SDict 10 dict def 61.48 -systemdict /pdfmark known not { 61.49 - userdict /pdfmark systemdict /cleartomark get put 61.50 -} if 61.51 -SDict begin [ 61.52 - /Title (xoanon_pthreads_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 61.53 - /Subject (gnuplot plot) 61.54 - /Creator (gnuplot 4.4 patchlevel 2) 61.55 - /Author (msach) 61.56 -% /Producer (gnuplot) 61.57 -% /Keywords () 61.58 - /CreationDate (Thu Jan 26 18:23:26 2012) 61.59 - /DOCINFO pdfmark 61.60 -end 61.61 -} ifelse 61.62 -/doclip { 61.63 - ClipToBoundingBox { 61.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 61.65 - clip 61.66 - } if 61.67 -} def 61.68 -% 61.69 -% Gnuplot Prolog Version 4.4 (August 2010) 61.70 -% 61.71 -%/SuppressPDFMark true def 61.72 -% 61.73 -/M {moveto} bind def 61.74 -/L {lineto} bind def 61.75 -/R {rmoveto} bind def 61.76 -/V {rlineto} bind def 61.77 -/N {newpath moveto} bind def 61.78 -/Z {closepath} bind def 61.79 -/C {setrgbcolor} bind def 61.80 -/f {rlineto fill} bind def 61.81 -/g {setgray} bind def 61.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 61.83 -/vpt2 vpt 2 mul def 61.84 -/hpt2 hpt 2 mul def 61.85 -/Lshow {currentpoint stroke M 0 vshift R 61.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 61.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 61.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 61.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 61.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 61.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 61.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 61.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 61.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 61.95 -/BL {stroke userlinewidth 2 mul setlinewidth 61.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 61.97 -/AL {stroke userlinewidth 2 div setlinewidth 61.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 61.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 61.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 61.101 -/PL {stroke userlinewidth setlinewidth 61.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 61.103 -3.8 setmiterlimit 61.104 -% Default Line colors 61.105 -/LCw {1 1 1} def 61.106 -/LCb {0 0 0} def 61.107 -/LCa {0 0 0} def 61.108 -/LC0 {1 0 0} def 61.109 -/LC1 {0 1 0} def 61.110 -/LC2 {0 0 1} def 61.111 -/LC3 {1 0 1} def 61.112 -/LC4 {0 1 1} def 61.113 -/LC5 {1 1 0} def 61.114 -/LC6 {0 0 0} def 61.115 -/LC7 {1 0.3 0} def 61.116 -/LC8 {0.5 0.5 0.5} def 61.117 -% Default Line Types 61.118 -/LTw {PL [] 1 setgray} def 61.119 -/LTb {BL [] LCb DL} def 61.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 61.121 -/LT0 {PL [] LC0 DL} def 61.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 61.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 61.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 61.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 61.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 61.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 61.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 61.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 61.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 61.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 61.132 - hpt neg vpt neg V hpt vpt neg V 61.133 - hpt vpt V hpt neg vpt V closepath stroke 61.134 - Pnt} def 61.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 61.136 - currentpoint stroke M 61.137 - hpt neg vpt neg R hpt2 0 V stroke 61.138 - } def 61.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 61.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 61.141 - hpt2 neg 0 V closepath stroke 61.142 - Pnt} def 61.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 61.144 - hpt2 vpt2 neg V currentpoint stroke M 61.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 61.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 61.147 - hpt neg vpt -1.62 mul V 61.148 - hpt 2 mul 0 V 61.149 - hpt neg vpt 1.62 mul V closepath stroke 61.150 - Pnt} def 61.151 -/Star {2 copy Pls Crs} def 61.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 61.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 61.154 - hpt2 neg 0 V closepath fill} def 61.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 61.156 - hpt neg vpt -1.62 mul V 61.157 - hpt 2 mul 0 V 61.158 - hpt neg vpt 1.62 mul V closepath fill} def 61.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 61.160 - hpt neg vpt 1.62 mul V 61.161 - hpt 2 mul 0 V 61.162 - hpt neg vpt -1.62 mul V closepath stroke 61.163 - Pnt} def 61.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 61.165 - hpt neg vpt 1.62 mul V 61.166 - hpt 2 mul 0 V 61.167 - hpt neg vpt -1.62 mul V closepath fill} def 61.168 -/DiaF {stroke [] 0 setdash vpt add M 61.169 - hpt neg vpt neg V hpt vpt neg V 61.170 - hpt vpt V hpt neg vpt V closepath fill} def 61.171 -/Pent {stroke [] 0 setdash 2 copy gsave 61.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 61.173 - closepath stroke grestore Pnt} def 61.174 -/PentF {stroke [] 0 setdash gsave 61.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 61.176 - closepath fill grestore} def 61.177 -/Circle {stroke [] 0 setdash 2 copy 61.178 - hpt 0 360 arc stroke Pnt} def 61.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 61.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 61.181 -/C1 {BL [] 0 setdash 2 copy moveto 61.182 - 2 copy vpt 0 90 arc closepath fill 61.183 - vpt 0 360 arc closepath} bind def 61.184 -/C2 {BL [] 0 setdash 2 copy moveto 61.185 - 2 copy vpt 90 180 arc closepath fill 61.186 - vpt 0 360 arc closepath} bind def 61.187 -/C3 {BL [] 0 setdash 2 copy moveto 61.188 - 2 copy vpt 0 180 arc closepath fill 61.189 - vpt 0 360 arc closepath} bind def 61.190 -/C4 {BL [] 0 setdash 2 copy moveto 61.191 - 2 copy vpt 180 270 arc closepath fill 61.192 - vpt 0 360 arc closepath} bind def 61.193 -/C5 {BL [] 0 setdash 2 copy moveto 61.194 - 2 copy vpt 0 90 arc 61.195 - 2 copy moveto 61.196 - 2 copy vpt 180 270 arc closepath fill 61.197 - vpt 0 360 arc} bind def 61.198 -/C6 {BL [] 0 setdash 2 copy moveto 61.199 - 2 copy vpt 90 270 arc closepath fill 61.200 - vpt 0 360 arc closepath} bind def 61.201 -/C7 {BL [] 0 setdash 2 copy moveto 61.202 - 2 copy vpt 0 270 arc closepath fill 61.203 - vpt 0 360 arc closepath} bind def 61.204 -/C8 {BL [] 0 setdash 2 copy moveto 61.205 - 2 copy vpt 270 360 arc closepath fill 61.206 - vpt 0 360 arc closepath} bind def 61.207 -/C9 {BL [] 0 setdash 2 copy moveto 61.208 - 2 copy vpt 270 450 arc closepath fill 61.209 - vpt 0 360 arc closepath} bind def 61.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 61.211 - 2 copy moveto 61.212 - 2 copy vpt 90 180 arc closepath fill 61.213 - vpt 0 360 arc closepath} bind def 61.214 -/C11 {BL [] 0 setdash 2 copy moveto 61.215 - 2 copy vpt 0 180 arc closepath fill 61.216 - 2 copy moveto 61.217 - 2 copy vpt 270 360 arc closepath fill 61.218 - vpt 0 360 arc closepath} bind def 61.219 -/C12 {BL [] 0 setdash 2 copy moveto 61.220 - 2 copy vpt 180 360 arc closepath fill 61.221 - vpt 0 360 arc closepath} bind def 61.222 -/C13 {BL [] 0 setdash 2 copy moveto 61.223 - 2 copy vpt 0 90 arc closepath fill 61.224 - 2 copy moveto 61.225 - 2 copy vpt 180 360 arc closepath fill 61.226 - vpt 0 360 arc closepath} bind def 61.227 -/C14 {BL [] 0 setdash 2 copy moveto 61.228 - 2 copy vpt 90 360 arc closepath fill 61.229 - vpt 0 360 arc} bind def 61.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 61.231 - vpt 0 360 arc closepath} bind def 61.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 61.233 - neg 0 rlineto closepath} bind def 61.234 -/Square {dup Rec} bind def 61.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 61.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 61.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 61.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 61.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 61.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 61.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 61.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 61.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 61.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 61.245 - 2 copy vpt Square fill Bsquare} bind def 61.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 61.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 61.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 61.249 - Bsquare} bind def 61.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 61.251 - Bsquare} bind def 61.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 61.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 61.254 - 2 copy vpt Square fill Bsquare} bind def 61.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 61.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 61.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 61.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 61.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 61.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 61.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 61.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 61.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 61.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 61.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 61.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 61.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 61.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 61.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 61.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 61.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 61.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 61.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 61.274 -/DiaE {stroke [] 0 setdash vpt add M 61.275 - hpt neg vpt neg V hpt vpt neg V 61.276 - hpt vpt V hpt neg vpt V closepath stroke} def 61.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 61.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 61.279 - hpt2 neg 0 V closepath stroke} def 61.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 61.281 - hpt neg vpt -1.62 mul V 61.282 - hpt 2 mul 0 V 61.283 - hpt neg vpt 1.62 mul V closepath stroke} def 61.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 61.285 - hpt neg vpt 1.62 mul V 61.286 - hpt 2 mul 0 V 61.287 - hpt neg vpt -1.62 mul V closepath stroke} def 61.288 -/PentE {stroke [] 0 setdash gsave 61.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 61.290 - closepath stroke grestore} def 61.291 -/CircE {stroke [] 0 setdash 61.292 - hpt 0 360 arc stroke} def 61.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 61.294 -/DiaW {stroke [] 0 setdash vpt add M 61.295 - hpt neg vpt neg V hpt vpt neg V 61.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 61.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 61.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 61.299 - hpt2 neg 0 V Opaque stroke} def 61.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 61.301 - hpt neg vpt -1.62 mul V 61.302 - hpt 2 mul 0 V 61.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 61.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 61.305 - hpt neg vpt 1.62 mul V 61.306 - hpt 2 mul 0 V 61.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 61.308 -/PentW {stroke [] 0 setdash gsave 61.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 61.310 - Opaque stroke grestore} def 61.311 -/CircW {stroke [] 0 setdash 61.312 - hpt 0 360 arc Opaque stroke} def 61.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 61.314 -/Density { 61.315 - /Fillden exch def 61.316 - currentrgbcolor 61.317 - /ColB exch def /ColG exch def /ColR exch def 61.318 - /ColR ColR Fillden mul Fillden sub 1 add def 61.319 - /ColG ColG Fillden mul Fillden sub 1 add def 61.320 - /ColB ColB Fillden mul Fillden sub 1 add def 61.321 - ColR ColG ColB setrgbcolor} def 61.322 -/BoxColFill {gsave Rec PolyFill} def 61.323 -/PolyFill {gsave Density fill grestore grestore} def 61.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 61.325 -% 61.326 -% PostScript Level 1 Pattern Fill routine for rectangles 61.327 -% Usage: x y w h s a XX PatternFill 61.328 -% x,y = lower left corner of box to be filled 61.329 -% w,h = width and height of box 61.330 -% a = angle in degrees between lines and x-axis 61.331 -% XX = 0/1 for no/yes cross-hatch 61.332 -% 61.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 61.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 61.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 61.336 - gsave 1 setgray fill grestore clip 61.337 - currentlinewidth 0.5 mul setlinewidth 61.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 61.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 61.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 61.341 - {PFa 4 get mul 0 M 0 PFs V} for 61.342 - 0 PFa 6 get ne { 61.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 61.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 61.345 - } if 61.346 - stroke grestore} def 61.347 -% 61.348 -/languagelevel where 61.349 - {pop languagelevel} {1} ifelse 61.350 - 2 lt 61.351 - {/InterpretLevel1 true def} 61.352 - {/InterpretLevel1 Level1 def} 61.353 - ifelse 61.354 -% 61.355 -% PostScript level 2 pattern fill definitions 61.356 -% 61.357 -/Level2PatternFill { 61.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 61.359 - bind def 61.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 61.361 -<< Tile8x8 61.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 61.363 ->> matrix makepattern 61.364 -/Pat1 exch def 61.365 -<< Tile8x8 61.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 61.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 61.368 ->> matrix makepattern 61.369 -/Pat2 exch def 61.370 -<< Tile8x8 61.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 61.372 - 8 8 L 8 0 L 0 0 L fill} 61.373 ->> matrix makepattern 61.374 -/Pat3 exch def 61.375 -<< Tile8x8 61.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 61.377 - 0 12 M 12 0 L stroke} 61.378 ->> matrix makepattern 61.379 -/Pat4 exch def 61.380 -<< Tile8x8 61.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 61.382 - 0 -4 M 12 8 L stroke} 61.383 ->> matrix makepattern 61.384 -/Pat5 exch def 61.385 -<< Tile8x8 61.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 61.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 61.388 ->> matrix makepattern 61.389 -/Pat6 exch def 61.390 -<< Tile8x8 61.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 61.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 61.393 ->> matrix makepattern 61.394 -/Pat7 exch def 61.395 -<< Tile8x8 61.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 61.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 61.398 ->> matrix makepattern 61.399 -/Pat8 exch def 61.400 -<< Tile8x8 61.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 61.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 61.403 ->> matrix makepattern 61.404 -/Pat9 exch def 61.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 61.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 61.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 61.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 61.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 61.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 61.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 61.412 -} def 61.413 -% 61.414 -% 61.415 -%End of PostScript Level 2 code 61.416 -% 61.417 -/PatternBgnd { 61.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 61.419 -} def 61.420 -% 61.421 -% Substitute for Level 2 pattern fill codes with 61.422 -% grayscale if Level 2 support is not selected. 61.423 -% 61.424 -/Level1PatternFill { 61.425 -/Pattern1 {0.250 Density} bind def 61.426 -/Pattern2 {0.500 Density} bind def 61.427 -/Pattern3 {0.750 Density} bind def 61.428 -/Pattern4 {0.125 Density} bind def 61.429 -/Pattern5 {0.375 Density} bind def 61.430 -/Pattern6 {0.625 Density} bind def 61.431 -/Pattern7 {0.875 Density} bind def 61.432 -} def 61.433 -% 61.434 -% Now test for support of Level 2 code 61.435 -% 61.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 61.437 -% 61.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 61.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 61.440 -currentdict end definefont pop 61.441 -/MFshow { 61.442 - { dup 5 get 3 ge 61.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 61.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 61.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 61.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 61.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 61.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 61.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 61.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 61.451 - pop aload pop M} ifelse }ifelse }ifelse } 61.452 - ifelse } 61.453 - forall} def 61.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 61.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 61.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 61.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 61.458 -/MLshow { currentpoint stroke M 61.459 - 0 exch R 61.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 61.461 -/MRshow { currentpoint stroke M 61.462 - exch dup MFwidth neg 3 -1 roll R 61.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 61.464 -/MCshow { currentpoint stroke M 61.465 - exch dup MFwidth -2 div 3 -1 roll R 61.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 61.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 61.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 61.469 -end 61.470 -%%EndProlog 61.471 -%%Page: 1 1 61.472 -gnudict begin 61.473 -gsave 61.474 -doclip 61.475 -50 50 translate 61.476 -0.100 0.100 scale 61.477 -90 rotate 61.478 -0 -5040 translate 61.479 -0 setgray 61.480 -newpath 61.481 -(Helvetica) findfont 140 scalefont setfont 61.482 -1.000 UL 61.483 -LTb 61.484 -686 922 M 61.485 -63 0 V 61.486 -stroke 61.487 -602 922 M 61.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 61.489 -] -46.7 MRshow 61.490 -1.000 UL 61.491 -LTb 61.492 -686 1405 M 61.493 -63 0 V 61.494 -stroke 61.495 -602 1405 M 61.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 61.497 -] -46.7 MRshow 61.498 -1.000 UL 61.499 -LTb 61.500 -686 1888 M 61.501 -63 0 V 61.502 -stroke 61.503 -602 1888 M 61.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 61.505 -] -46.7 MRshow 61.506 -1.000 UL 61.507 -LTb 61.508 -686 2372 M 61.509 -63 0 V 61.510 -stroke 61.511 -602 2372 M 61.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 61.513 -] -46.7 MRshow 61.514 -1.000 UL 61.515 -LTb 61.516 -686 2855 M 61.517 -63 0 V 61.518 -stroke 61.519 -602 2855 M 61.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 61.521 -] -46.7 MRshow 61.522 -1.000 UL 61.523 -LTb 61.524 -686 448 M 61.525 -0 63 V 61.526 -stroke 61.527 -686 308 M 61.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 61.529 -] -46.7 MCshow 61.530 -1.000 UL 61.531 -LTb 61.532 -1109 448 M 61.533 -0 63 V 61.534 -stroke 61.535 -1109 308 M 61.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 61.537 -] -46.7 MCshow 61.538 -1.000 UL 61.539 -LTb 61.540 -1531 448 M 61.541 -0 63 V 61.542 -stroke 61.543 -1531 308 M 61.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 61.545 -] -46.7 MCshow 61.546 -1.000 UL 61.547 -LTb 61.548 -1954 448 M 61.549 -0 63 V 61.550 -stroke 61.551 -1954 308 M 61.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 61.553 -] -46.7 MCshow 61.554 -1.000 UL 61.555 -LTb 61.556 -2377 448 M 61.557 -0 63 V 61.558 -stroke 61.559 -2377 308 M 61.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 61.561 -] -46.7 MCshow 61.562 -1.000 UL 61.563 -LTb 61.564 -2799 448 M 61.565 -0 63 V 61.566 -stroke 61.567 -2799 308 M 61.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 61.569 -] -46.7 MCshow 61.570 -1.000 UL 61.571 -LTb 61.572 -3222 448 M 61.573 -0 63 V 61.574 -stroke 61.575 -3222 308 M 61.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 61.577 -] -46.7 MCshow 61.578 -1.000 UL 61.579 -LTb 61.580 -3644 448 M 61.581 -0 63 V 61.582 -stroke 61.583 -3644 308 M 61.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 61.585 -] -46.7 MCshow 61.586 -1.000 UL 61.587 -LTb 61.588 -4067 448 M 61.589 -0 63 V 61.590 -stroke 61.591 -4067 308 M 61.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 61.593 -] -46.7 MCshow 61.594 -1.000 UL 61.595 -LTb 61.596 -1.000 UL 61.597 -LTb 61.598 -686 2855 M 61.599 -686 448 L 61.600 -3381 0 V 61.601 -0 2407 R 61.602 --3381 0 R 61.603 -stroke 61.604 -LCb setrgbcolor 61.605 -112 1651 M 61.606 -currentpoint gsave translate -270 rotate 0 0 moveto 61.607 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 61.608 -] -46.7 MCshow 61.609 -grestore 61.610 -LTb 61.611 -LCb setrgbcolor 61.612 -2376 98 M 61.613 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 61.614 -] -46.7 MCshow 61.615 -LTb 61.616 -1.000 UP 61.617 -1.000 UL 61.618 -LTb 61.619 -1.000 UL 61.620 -LTb 61.621 -770 511 N 61.622 -0 560 V 61.623 -1491 0 V 61.624 -0 -560 V 61.625 -770 511 L 61.626 -Z stroke 61.627 -770 1071 M 61.628 -1491 0 V 61.629 -% Begin plot #1 61.630 -stroke 61.631 -4.000 UL 61.632 -LT0 61.633 -LCb setrgbcolor 61.634 -1694 1001 M 61.635 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 61.636 -] -46.7 MRshow 61.637 -LT0 61.638 -1778 1001 M 61.639 -399 0 V 61.640 -154 1854 R 61.641 -25 -124 V 61.642 -3985 1744 L 61.643 -% End plot #1 61.644 -% Begin plot #2 61.645 -stroke 61.646 -LT1 61.647 -LCb setrgbcolor 61.648 -1694 861 M 61.649 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 61.650 -] -46.7 MRshow 61.651 -LT1 61.652 -1778 861 M 61.653 -399 0 V 61.654 -% End plot #2 61.655 -% Begin plot #3 61.656 -stroke 61.657 -LT2 61.658 -LCb setrgbcolor 61.659 -1694 721 M 61.660 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 61.661 -] -46.7 MRshow 61.662 -LT2 61.663 -1778 721 M 61.664 -399 0 V 61.665 -618 2134 R 61.666 -476 -856 V 61.667 -796 -271 V 61.668 -% End plot #3 61.669 -% Begin plot #4 61.670 -stroke 61.671 -LT3 61.672 -LCb setrgbcolor 61.673 -1694 581 M 61.674 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 61.675 -] -46.7 MRshow 61.676 -LT3 61.677 -1778 581 M 61.678 -399 0 V 61.679 -166 2274 R 61.680 -586 -716 V 61.681 -4067 1495 L 61.682 -% End plot #4 61.683 -stroke 61.684 -1.000 UL 61.685 -LTb 61.686 -686 2855 M 61.687 -686 448 L 61.688 -3381 0 V 61.689 -0 2407 R 61.690 --3381 0 R 61.691 -1.000 UP 61.692 -stroke 61.693 -grestore 61.694 -end 61.695 -showpage 61.696 -%%Trailer 61.697 -%%DocumentFonts: Helvetica 61.698 -%%Pages: 1
62.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-dist.eps Thu Feb 02 12:22:53 2012 -0800 62.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 62.3 @@ -1,948 +0,0 @@ 62.4 -%!PS-Adobe-2.0 62.5 -%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-dist.eps 62.6 -%%Creator: gnuplot 4.4 patchlevel 2 62.7 -%%CreationDate: Thu Jan 26 18:30:24 2012 62.8 -%%DocumentFonts: (atend) 62.9 -%%BoundingBox: 251 50 554 482 62.10 -%%Orientation: Landscape 62.11 -%%Pages: (atend) 62.12 -%%EndComments 62.13 -%%BeginProlog 62.14 -/gnudict 256 dict def 62.15 -gnudict begin 62.16 -% 62.17 -% The following true/false flags may be edited by hand if desired. 62.18 -% The unit line width and grayscale image gamma correction may also be changed. 62.19 -% 62.20 -/Color true def 62.21 -/Blacktext false def 62.22 -/Solid false def 62.23 -/Dashlength 1 def 62.24 -/Landscape true def 62.25 -/Level1 false def 62.26 -/Rounded false def 62.27 -/ClipToBoundingBox false def 62.28 -/TransparentPatterns false def 62.29 -/gnulinewidth 5.000 def 62.30 -/userlinewidth gnulinewidth def 62.31 -/Gamma 1.0 def 62.32 -% 62.33 -/vshift -46 def 62.34 -/dl1 { 62.35 - 10.0 Dashlength mul mul 62.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 62.37 -} def 62.38 -/dl2 { 62.39 - 10.0 Dashlength mul mul 62.40 - Rounded { currentlinewidth 0.75 mul add } if 62.41 -} def 62.42 -/hpt_ 31.5 def 62.43 -/vpt_ 31.5 def 62.44 -/hpt hpt_ def 62.45 -/vpt vpt_ def 62.46 -Level1 {} { 62.47 -/SDict 10 dict def 62.48 -systemdict /pdfmark known not { 62.49 - userdict /pdfmark systemdict /cleartomark get put 62.50 -} if 62.51 -SDict begin [ 62.52 - /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-dist.eps) 62.53 - /Subject (gnuplot plot) 62.54 - /Creator (gnuplot 4.4 patchlevel 2) 62.55 - /Author (msach) 62.56 -% /Producer (gnuplot) 62.57 -% /Keywords () 62.58 - /CreationDate (Thu Jan 26 18:30:24 2012) 62.59 - /DOCINFO pdfmark 62.60 -end 62.61 -} ifelse 62.62 -/doclip { 62.63 - ClipToBoundingBox { 62.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 62.65 - clip 62.66 - } if 62.67 -} def 62.68 -% 62.69 -% Gnuplot Prolog Version 4.4 (August 2010) 62.70 -% 62.71 -%/SuppressPDFMark true def 62.72 -% 62.73 -/M {moveto} bind def 62.74 -/L {lineto} bind def 62.75 -/R {rmoveto} bind def 62.76 -/V {rlineto} bind def 62.77 -/N {newpath moveto} bind def 62.78 -/Z {closepath} bind def 62.79 -/C {setrgbcolor} bind def 62.80 -/f {rlineto fill} bind def 62.81 -/g {setgray} bind def 62.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 62.83 -/vpt2 vpt 2 mul def 62.84 -/hpt2 hpt 2 mul def 62.85 -/Lshow {currentpoint stroke M 0 vshift R 62.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 62.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 62.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 62.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 62.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 62.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 62.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 62.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 62.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 62.95 -/BL {stroke userlinewidth 2 mul setlinewidth 62.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 62.97 -/AL {stroke userlinewidth 2 div setlinewidth 62.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 62.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 62.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 62.101 -/PL {stroke userlinewidth setlinewidth 62.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 62.103 -3.8 setmiterlimit 62.104 -% Default Line colors 62.105 -/LCw {1 1 1} def 62.106 -/LCb {0 0 0} def 62.107 -/LCa {0 0 0} def 62.108 -/LC0 {1 0 0} def 62.109 -/LC1 {0 1 0} def 62.110 -/LC2 {0 0 1} def 62.111 -/LC3 {1 0 1} def 62.112 -/LC4 {0 1 1} def 62.113 -/LC5 {1 1 0} def 62.114 -/LC6 {0 0 0} def 62.115 -/LC7 {1 0.3 0} def 62.116 -/LC8 {0.5 0.5 0.5} def 62.117 -% Default Line Types 62.118 -/LTw {PL [] 1 setgray} def 62.119 -/LTb {BL [] LCb DL} def 62.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 62.121 -/LT0 {PL [] LC0 DL} def 62.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 62.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 62.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 62.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 62.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 62.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 62.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 62.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 62.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 62.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 62.132 - hpt neg vpt neg V hpt vpt neg V 62.133 - hpt vpt V hpt neg vpt V closepath stroke 62.134 - Pnt} def 62.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 62.136 - currentpoint stroke M 62.137 - hpt neg vpt neg R hpt2 0 V stroke 62.138 - } def 62.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 62.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 62.141 - hpt2 neg 0 V closepath stroke 62.142 - Pnt} def 62.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 62.144 - hpt2 vpt2 neg V currentpoint stroke M 62.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 62.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 62.147 - hpt neg vpt -1.62 mul V 62.148 - hpt 2 mul 0 V 62.149 - hpt neg vpt 1.62 mul V closepath stroke 62.150 - Pnt} def 62.151 -/Star {2 copy Pls Crs} def 62.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 62.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 62.154 - hpt2 neg 0 V closepath fill} def 62.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 62.156 - hpt neg vpt -1.62 mul V 62.157 - hpt 2 mul 0 V 62.158 - hpt neg vpt 1.62 mul V closepath fill} def 62.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 62.160 - hpt neg vpt 1.62 mul V 62.161 - hpt 2 mul 0 V 62.162 - hpt neg vpt -1.62 mul V closepath stroke 62.163 - Pnt} def 62.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 62.165 - hpt neg vpt 1.62 mul V 62.166 - hpt 2 mul 0 V 62.167 - hpt neg vpt -1.62 mul V closepath fill} def 62.168 -/DiaF {stroke [] 0 setdash vpt add M 62.169 - hpt neg vpt neg V hpt vpt neg V 62.170 - hpt vpt V hpt neg vpt V closepath fill} def 62.171 -/Pent {stroke [] 0 setdash 2 copy gsave 62.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 62.173 - closepath stroke grestore Pnt} def 62.174 -/PentF {stroke [] 0 setdash gsave 62.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 62.176 - closepath fill grestore} def 62.177 -/Circle {stroke [] 0 setdash 2 copy 62.178 - hpt 0 360 arc stroke Pnt} def 62.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 62.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 62.181 -/C1 {BL [] 0 setdash 2 copy moveto 62.182 - 2 copy vpt 0 90 arc closepath fill 62.183 - vpt 0 360 arc closepath} bind def 62.184 -/C2 {BL [] 0 setdash 2 copy moveto 62.185 - 2 copy vpt 90 180 arc closepath fill 62.186 - vpt 0 360 arc closepath} bind def 62.187 -/C3 {BL [] 0 setdash 2 copy moveto 62.188 - 2 copy vpt 0 180 arc closepath fill 62.189 - vpt 0 360 arc closepath} bind def 62.190 -/C4 {BL [] 0 setdash 2 copy moveto 62.191 - 2 copy vpt 180 270 arc closepath fill 62.192 - vpt 0 360 arc closepath} bind def 62.193 -/C5 {BL [] 0 setdash 2 copy moveto 62.194 - 2 copy vpt 0 90 arc 62.195 - 2 copy moveto 62.196 - 2 copy vpt 180 270 arc closepath fill 62.197 - vpt 0 360 arc} bind def 62.198 -/C6 {BL [] 0 setdash 2 copy moveto 62.199 - 2 copy vpt 90 270 arc closepath fill 62.200 - vpt 0 360 arc closepath} bind def 62.201 -/C7 {BL [] 0 setdash 2 copy moveto 62.202 - 2 copy vpt 0 270 arc closepath fill 62.203 - vpt 0 360 arc closepath} bind def 62.204 -/C8 {BL [] 0 setdash 2 copy moveto 62.205 - 2 copy vpt 270 360 arc closepath fill 62.206 - vpt 0 360 arc closepath} bind def 62.207 -/C9 {BL [] 0 setdash 2 copy moveto 62.208 - 2 copy vpt 270 450 arc closepath fill 62.209 - vpt 0 360 arc closepath} bind def 62.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 62.211 - 2 copy moveto 62.212 - 2 copy vpt 90 180 arc closepath fill 62.213 - vpt 0 360 arc closepath} bind def 62.214 -/C11 {BL [] 0 setdash 2 copy moveto 62.215 - 2 copy vpt 0 180 arc closepath fill 62.216 - 2 copy moveto 62.217 - 2 copy vpt 270 360 arc closepath fill 62.218 - vpt 0 360 arc closepath} bind def 62.219 -/C12 {BL [] 0 setdash 2 copy moveto 62.220 - 2 copy vpt 180 360 arc closepath fill 62.221 - vpt 0 360 arc closepath} bind def 62.222 -/C13 {BL [] 0 setdash 2 copy moveto 62.223 - 2 copy vpt 0 90 arc closepath fill 62.224 - 2 copy moveto 62.225 - 2 copy vpt 180 360 arc closepath fill 62.226 - vpt 0 360 arc closepath} bind def 62.227 -/C14 {BL [] 0 setdash 2 copy moveto 62.228 - 2 copy vpt 90 360 arc closepath fill 62.229 - vpt 0 360 arc} bind def 62.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 62.231 - vpt 0 360 arc closepath} bind def 62.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 62.233 - neg 0 rlineto closepath} bind def 62.234 -/Square {dup Rec} bind def 62.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 62.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 62.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 62.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 62.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 62.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 62.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 62.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 62.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 62.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 62.245 - 2 copy vpt Square fill Bsquare} bind def 62.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 62.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 62.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 62.249 - Bsquare} bind def 62.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 62.251 - Bsquare} bind def 62.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 62.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 62.254 - 2 copy vpt Square fill Bsquare} bind def 62.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 62.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 62.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 62.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 62.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 62.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 62.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 62.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 62.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 62.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 62.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 62.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 62.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 62.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 62.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 62.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 62.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 62.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 62.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 62.274 -/DiaE {stroke [] 0 setdash vpt add M 62.275 - hpt neg vpt neg V hpt vpt neg V 62.276 - hpt vpt V hpt neg vpt V closepath stroke} def 62.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 62.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 62.279 - hpt2 neg 0 V closepath stroke} def 62.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 62.281 - hpt neg vpt -1.62 mul V 62.282 - hpt 2 mul 0 V 62.283 - hpt neg vpt 1.62 mul V closepath stroke} def 62.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 62.285 - hpt neg vpt 1.62 mul V 62.286 - hpt 2 mul 0 V 62.287 - hpt neg vpt -1.62 mul V closepath stroke} def 62.288 -/PentE {stroke [] 0 setdash gsave 62.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 62.290 - closepath stroke grestore} def 62.291 -/CircE {stroke [] 0 setdash 62.292 - hpt 0 360 arc stroke} def 62.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 62.294 -/DiaW {stroke [] 0 setdash vpt add M 62.295 - hpt neg vpt neg V hpt vpt neg V 62.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 62.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 62.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 62.299 - hpt2 neg 0 V Opaque stroke} def 62.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 62.301 - hpt neg vpt -1.62 mul V 62.302 - hpt 2 mul 0 V 62.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 62.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 62.305 - hpt neg vpt 1.62 mul V 62.306 - hpt 2 mul 0 V 62.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 62.308 -/PentW {stroke [] 0 setdash gsave 62.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 62.310 - Opaque stroke grestore} def 62.311 -/CircW {stroke [] 0 setdash 62.312 - hpt 0 360 arc Opaque stroke} def 62.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 62.314 -/Density { 62.315 - /Fillden exch def 62.316 - currentrgbcolor 62.317 - /ColB exch def /ColG exch def /ColR exch def 62.318 - /ColR ColR Fillden mul Fillden sub 1 add def 62.319 - /ColG ColG Fillden mul Fillden sub 1 add def 62.320 - /ColB ColB Fillden mul Fillden sub 1 add def 62.321 - ColR ColG ColB setrgbcolor} def 62.322 -/BoxColFill {gsave Rec PolyFill} def 62.323 -/PolyFill {gsave Density fill grestore grestore} def 62.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 62.325 -% 62.326 -% PostScript Level 1 Pattern Fill routine for rectangles 62.327 -% Usage: x y w h s a XX PatternFill 62.328 -% x,y = lower left corner of box to be filled 62.329 -% w,h = width and height of box 62.330 -% a = angle in degrees between lines and x-axis 62.331 -% XX = 0/1 for no/yes cross-hatch 62.332 -% 62.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 62.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 62.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 62.336 - gsave 1 setgray fill grestore clip 62.337 - currentlinewidth 0.5 mul setlinewidth 62.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 62.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 62.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 62.341 - {PFa 4 get mul 0 M 0 PFs V} for 62.342 - 0 PFa 6 get ne { 62.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 62.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 62.345 - } if 62.346 - stroke grestore} def 62.347 -% 62.348 -/languagelevel where 62.349 - {pop languagelevel} {1} ifelse 62.350 - 2 lt 62.351 - {/InterpretLevel1 true def} 62.352 - {/InterpretLevel1 Level1 def} 62.353 - ifelse 62.354 -% 62.355 -% PostScript level 2 pattern fill definitions 62.356 -% 62.357 -/Level2PatternFill { 62.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 62.359 - bind def 62.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 62.361 -<< Tile8x8 62.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 62.363 ->> matrix makepattern 62.364 -/Pat1 exch def 62.365 -<< Tile8x8 62.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 62.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 62.368 ->> matrix makepattern 62.369 -/Pat2 exch def 62.370 -<< Tile8x8 62.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 62.372 - 8 8 L 8 0 L 0 0 L fill} 62.373 ->> matrix makepattern 62.374 -/Pat3 exch def 62.375 -<< Tile8x8 62.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 62.377 - 0 12 M 12 0 L stroke} 62.378 ->> matrix makepattern 62.379 -/Pat4 exch def 62.380 -<< Tile8x8 62.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 62.382 - 0 -4 M 12 8 L stroke} 62.383 ->> matrix makepattern 62.384 -/Pat5 exch def 62.385 -<< Tile8x8 62.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 62.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 62.388 ->> matrix makepattern 62.389 -/Pat6 exch def 62.390 -<< Tile8x8 62.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 62.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 62.393 ->> matrix makepattern 62.394 -/Pat7 exch def 62.395 -<< Tile8x8 62.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 62.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 62.398 ->> matrix makepattern 62.399 -/Pat8 exch def 62.400 -<< Tile8x8 62.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 62.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 62.403 ->> matrix makepattern 62.404 -/Pat9 exch def 62.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 62.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 62.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 62.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 62.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 62.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 62.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 62.412 -} def 62.413 -% 62.414 -% 62.415 -%End of PostScript Level 2 code 62.416 -% 62.417 -/PatternBgnd { 62.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 62.419 -} def 62.420 -% 62.421 -% Substitute for Level 2 pattern fill codes with 62.422 -% grayscale if Level 2 support is not selected. 62.423 -% 62.424 -/Level1PatternFill { 62.425 -/Pattern1 {0.250 Density} bind def 62.426 -/Pattern2 {0.500 Density} bind def 62.427 -/Pattern3 {0.750 Density} bind def 62.428 -/Pattern4 {0.125 Density} bind def 62.429 -/Pattern5 {0.375 Density} bind def 62.430 -/Pattern6 {0.625 Density} bind def 62.431 -/Pattern7 {0.875 Density} bind def 62.432 -} def 62.433 -% 62.434 -% Now test for support of Level 2 code 62.435 -% 62.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 62.437 -% 62.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 62.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 62.440 -currentdict end definefont pop 62.441 -/MFshow { 62.442 - { dup 5 get 3 ge 62.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 62.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 62.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 62.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 62.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 62.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 62.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 62.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 62.451 - pop aload pop M} ifelse }ifelse }ifelse } 62.452 - ifelse } 62.453 - forall} def 62.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 62.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 62.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 62.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 62.458 -/MLshow { currentpoint stroke M 62.459 - 0 exch R 62.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 62.461 -/MRshow { currentpoint stroke M 62.462 - exch dup MFwidth neg 3 -1 roll R 62.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 62.464 -/MCshow { currentpoint stroke M 62.465 - exch dup MFwidth -2 div 3 -1 roll R 62.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 62.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 62.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 62.469 -end 62.470 -%%EndProlog 62.471 -%%Page: 1 1 62.472 -gnudict begin 62.473 -gsave 62.474 -doclip 62.475 -50 50 translate 62.476 -0.100 0.100 scale 62.477 -90 rotate 62.478 -0 -5040 translate 62.479 -0 setgray 62.480 -newpath 62.481 -(Helvetica) findfont 140 scalefont setfont 62.482 -1.000 UL 62.483 -LTb 62.484 -686 922 M 62.485 -63 0 V 62.486 -stroke 62.487 -602 922 M 62.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 62.489 -] -46.7 MRshow 62.490 -1.000 UL 62.491 -LTb 62.492 -686 1405 M 62.493 -63 0 V 62.494 -stroke 62.495 -602 1405 M 62.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 62.497 -] -46.7 MRshow 62.498 -1.000 UL 62.499 -LTb 62.500 -686 1888 M 62.501 -63 0 V 62.502 -stroke 62.503 -602 1888 M 62.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 62.505 -] -46.7 MRshow 62.506 -1.000 UL 62.507 -LTb 62.508 -686 2372 M 62.509 -63 0 V 62.510 -stroke 62.511 -602 2372 M 62.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 62.513 -] -46.7 MRshow 62.514 -1.000 UL 62.515 -LTb 62.516 -686 2855 M 62.517 -63 0 V 62.518 -stroke 62.519 -602 2855 M 62.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 62.521 -] -46.7 MRshow 62.522 -1.000 UL 62.523 -LTb 62.524 -686 448 M 62.525 -0 63 V 62.526 -stroke 62.527 -686 308 M 62.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 62.529 -] -46.7 MCshow 62.530 -1.000 UL 62.531 -LTb 62.532 -1109 448 M 62.533 -0 63 V 62.534 -stroke 62.535 -1109 308 M 62.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 62.537 -] -46.7 MCshow 62.538 -1.000 UL 62.539 -LTb 62.540 -1531 448 M 62.541 -0 63 V 62.542 -stroke 62.543 -1531 308 M 62.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 62.545 -] -46.7 MCshow 62.546 -1.000 UL 62.547 -LTb 62.548 -1954 448 M 62.549 -0 63 V 62.550 -stroke 62.551 -1954 308 M 62.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 62.553 -] -46.7 MCshow 62.554 -1.000 UL 62.555 -LTb 62.556 -2377 448 M 62.557 -0 63 V 62.558 -stroke 62.559 -2377 308 M 62.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 62.561 -] -46.7 MCshow 62.562 -1.000 UL 62.563 -LTb 62.564 -2799 448 M 62.565 -0 63 V 62.566 -stroke 62.567 -2799 308 M 62.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 62.569 -] -46.7 MCshow 62.570 -1.000 UL 62.571 -LTb 62.572 -3222 448 M 62.573 -0 63 V 62.574 -stroke 62.575 -3222 308 M 62.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 62.577 -] -46.7 MCshow 62.578 -1.000 UL 62.579 -LTb 62.580 -3644 448 M 62.581 -0 63 V 62.582 -stroke 62.583 -3644 308 M 62.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 62.585 -] -46.7 MCshow 62.586 -1.000 UL 62.587 -LTb 62.588 -4067 448 M 62.589 -0 63 V 62.590 -stroke 62.591 -4067 308 M 62.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 62.593 -] -46.7 MCshow 62.594 -1.000 UL 62.595 -LTb 62.596 -1.000 UL 62.597 -LTb 62.598 -686 2855 M 62.599 -686 448 L 62.600 -3381 0 V 62.601 -0 2407 R 62.602 --3381 0 R 62.603 -stroke 62.604 -LCb setrgbcolor 62.605 -112 1651 M 62.606 -currentpoint gsave translate -270 rotate 0 0 moveto 62.607 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 62.608 -] -46.7 MCshow 62.609 -grestore 62.610 -LTb 62.611 -LCb setrgbcolor 62.612 -2376 98 M 62.613 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 62.614 -] -46.7 MCshow 62.615 -LTb 62.616 -1.000 UP 62.617 -1.000 UL 62.618 -LTb 62.619 -LCb setrgbcolor 62.620 -3532 2882 M 62.621 -[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 62.622 -] -46.7 MCshow 62.623 -LTb 62.624 -1.000 UL 62.625 -LTb 62.626 -2787 2252 N 62.627 -0 700 V 62.628 -1491 0 V 62.629 -0 -700 V 62.630 --1491 0 V 62.631 -Z stroke 62.632 -2787 2812 M 62.633 -1491 0 V 62.634 -% Begin plot #1 62.635 -stroke 62.636 -4.000 UL 62.637 -LT5 62.638 -LC7 setrgbcolor 62.639 -LCb setrgbcolor 62.640 -3711 2742 M 62.641 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 62.642 -] -46.7 MRshow 62.643 -LT5 62.644 -LC7 setrgbcolor 62.645 -3795 2742 M 62.646 -399 0 V 62.647 -1735 2855 M 62.648 -662 -919 V 62.649 -4067 1238 L 62.650 -% End plot #1 62.651 -% Begin plot #2 62.652 -stroke 62.653 -LT6 62.654 -LCb setrgbcolor 62.655 -3711 2602 M 62.656 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 62.657 -] -46.7 MRshow 62.658 -LT6 62.659 -3795 2602 M 62.660 -399 0 V 62.661 -1748 2855 M 62.662 -2555 1723 L 62.663 -4067 1065 L 62.664 -% End plot #2 62.665 -% Begin plot #3 62.666 -stroke 62.667 -LT7 62.668 -LC1 setrgbcolor 62.669 -LCb setrgbcolor 62.670 -3711 2462 M 62.671 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 62.672 -] -46.7 MRshow 62.673 -LT7 62.674 -LC1 setrgbcolor 62.675 -3795 2462 M 62.676 -399 0 V 62.677 -1420 2855 M 62.678 -170 -542 V 62.679 -784 -867 V 62.680 -3986 870 L 62.681 -% End plot #3 62.682 -% Begin plot #4 62.683 -stroke 62.684 -LT8 62.685 -LCb setrgbcolor 62.686 -3711 2322 M 62.687 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 62.688 -] -46.7 MRshow 62.689 -LT8 62.690 -3795 2322 M 62.691 -399 0 V 62.692 -1802 2855 M 62.693 -572 -574 V 62.694 -4007 1207 L 62.695 -% End plot #4 62.696 -stroke 62.697 -1.000 UL 62.698 -LTb 62.699 -686 2855 M 62.700 -686 448 L 62.701 -3381 0 V 62.702 -0 2407 R 62.703 --3381 0 R 62.704 -1.000 UP 62.705 -686 922 M 62.706 -63 0 V 62.707 -stroke 62.708 -602 922 M 62.709 -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 62.710 -] -46.7 MRshow 62.711 -1.000 UL 62.712 -LTb 62.713 -686 1405 M 62.714 -63 0 V 62.715 -stroke 62.716 -602 1405 M 62.717 -[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 62.718 -] -46.7 MRshow 62.719 -1.000 UL 62.720 -LTb 62.721 -686 1888 M 62.722 -63 0 V 62.723 -stroke 62.724 -602 1888 M 62.725 -[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 62.726 -] -46.7 MRshow 62.727 -1.000 UL 62.728 -LTb 62.729 -686 2372 M 62.730 -63 0 V 62.731 -stroke 62.732 -602 2372 M 62.733 -[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 62.734 -] -46.7 MRshow 62.735 -1.000 UL 62.736 -LTb 62.737 -686 2855 M 62.738 -63 0 V 62.739 -stroke 62.740 -602 2855 M 62.741 -[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 62.742 -] -46.7 MRshow 62.743 -1.000 UL 62.744 -LTb 62.745 -686 448 M 62.746 -0 63 V 62.747 -stroke 62.748 -686 308 M 62.749 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 62.750 -] -46.7 MCshow 62.751 -1.000 UL 62.752 -LTb 62.753 -1109 448 M 62.754 -0 63 V 62.755 -stroke 62.756 -1109 308 M 62.757 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 62.758 -] -46.7 MCshow 62.759 -1.000 UL 62.760 -LTb 62.761 -1531 448 M 62.762 -0 63 V 62.763 -stroke 62.764 -1531 308 M 62.765 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 62.766 -] -46.7 MCshow 62.767 -1.000 UL 62.768 -LTb 62.769 -1954 448 M 62.770 -0 63 V 62.771 -stroke 62.772 -1954 308 M 62.773 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 62.774 -] -46.7 MCshow 62.775 -1.000 UL 62.776 -LTb 62.777 -2377 448 M 62.778 -0 63 V 62.779 -stroke 62.780 -2377 308 M 62.781 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 62.782 -] -46.7 MCshow 62.783 -1.000 UL 62.784 -LTb 62.785 -2799 448 M 62.786 -0 63 V 62.787 -stroke 62.788 -2799 308 M 62.789 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 62.790 -] -46.7 MCshow 62.791 -1.000 UL 62.792 -LTb 62.793 -3222 448 M 62.794 -0 63 V 62.795 -stroke 62.796 -3222 308 M 62.797 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 62.798 -] -46.7 MCshow 62.799 -1.000 UL 62.800 -LTb 62.801 -3644 448 M 62.802 -0 63 V 62.803 -stroke 62.804 -3644 308 M 62.805 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 62.806 -] -46.7 MCshow 62.807 -1.000 UL 62.808 -LTb 62.809 -4067 448 M 62.810 -0 63 V 62.811 -stroke 62.812 -4067 308 M 62.813 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 62.814 -] -46.7 MCshow 62.815 -1.000 UL 62.816 -LTb 62.817 -1.000 UL 62.818 -LTb 62.819 -686 2855 M 62.820 -686 448 L 62.821 -3381 0 V 62.822 -0 2407 R 62.823 --3381 0 R 62.824 -stroke 62.825 -LCb setrgbcolor 62.826 -112 1651 M 62.827 -currentpoint gsave translate -270 rotate 0 0 moveto 62.828 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 62.829 -] -46.7 MCshow 62.830 -grestore 62.831 -LTb 62.832 -LCb setrgbcolor 62.833 -2376 98 M 62.834 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 62.835 -] -46.7 MCshow 62.836 -LTb 62.837 -1.000 UP 62.838 -1.000 UL 62.839 -LTb 62.840 -LCb setrgbcolor 62.841 -1546 1238 M 62.842 -[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 62.843 -] -46.7 MCshow 62.844 -LTb 62.845 -1.000 UL 62.846 -LTb 62.847 -801 608 N 62.848 -0 700 V 62.849 -1491 0 V 62.850 -0 -700 V 62.851 -801 608 L 62.852 -Z stroke 62.853 -801 1168 M 62.854 -1491 0 V 62.855 -% Begin plot #1 62.856 -stroke 62.857 -4.000 UL 62.858 -LT0 62.859 -LCb setrgbcolor 62.860 -1725 1098 M 62.861 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 62.862 -] -46.7 MRshow 62.863 -LT0 62.864 -1809 1098 M 62.865 -399 0 V 62.866 -743 626 M 62.867 -22 -61 V 62.868 -39 -36 V 62.869 -75 -37 V 62.870 -154 -17 V 62.871 -303 -13 V 62.872 -609 -7 V 62.873 -1218 -2 V 62.874 -904 -1 V 62.875 -% End plot #1 62.876 -% Begin plot #2 62.877 -stroke 62.878 -LT2 62.879 -LCb setrgbcolor 62.880 -1725 958 M 62.881 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 62.882 -] -46.7 MRshow 62.883 -LT2 62.884 -1809 958 M 62.885 -399 0 V 62.886 -743 575 M 62.887 -24 4 V 62.888 -36 -82 V 62.889 -76 -20 V 62.890 -153 -6 V 62.891 -303 -12 V 62.892 -609 -4 V 62.893 -1217 -4 V 62.894 -906 -1 V 62.895 -% End plot #2 62.896 -% Begin plot #3 62.897 -stroke 62.898 -LT3 62.899 -LCb setrgbcolor 62.900 -1725 818 M 62.901 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 62.902 -] -46.7 MRshow 62.903 -LT3 62.904 -1809 818 M 62.905 -399 0 V 62.906 -742 581 M 62.907 -24 -38 V 62.908 -39 -9 V 62.909 -76 -41 V 62.910 -151 -19 V 62.911 -304 -11 V 62.912 -610 -7 V 62.913 -1216 -5 V 62.914 -905 -1 V 62.915 -% End plot #3 62.916 -% Begin plot #4 62.917 -stroke 62.918 -LT4 62.919 -LCb setrgbcolor 62.920 -1725 678 M 62.921 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 62.922 -] -46.7 MRshow 62.923 -LT4 62.924 -1809 678 M 62.925 -399 0 V 62.926 -743 589 M 62.927 -23 -41 V 62.928 -38 -29 V 62.929 -77 -20 V 62.930 -151 -28 V 62.931 -303 -12 V 62.932 -610 -4 V 62.933 -1217 -4 V 62.934 -905 0 V 62.935 -% End plot #4 62.936 -stroke 62.937 -1.000 UL 62.938 -LTb 62.939 -686 2855 M 62.940 -686 448 L 62.941 -3381 0 V 62.942 -0 2407 R 62.943 --3381 0 R 62.944 -1.000 UP 62.945 -stroke 62.946 -grestore 62.947 -end 62.948 -showpage 62.949 -%%Trailer 62.950 -%%DocumentFonts: Helvetica 62.951 -%%Pages: 1
63.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps Thu Feb 02 12:22:53 2012 -0800 63.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 63.3 @@ -1,884 +0,0 @@ 63.4 -%!PS-Adobe-2.0 63.5 -%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps 63.6 -%%Creator: gnuplot 4.4 patchlevel 2 63.7 -%%CreationDate: Thu Jan 26 18:45:12 2012 63.8 -%%DocumentFonts: (atend) 63.9 -%%BoundingBox: 251 50 554 482 63.10 -%%Orientation: Landscape 63.11 -%%Pages: (atend) 63.12 -%%EndComments 63.13 -%%BeginProlog 63.14 -/gnudict 256 dict def 63.15 -gnudict begin 63.16 -% 63.17 -% The following true/false flags may be edited by hand if desired. 63.18 -% The unit line width and grayscale image gamma correction may also be changed. 63.19 -% 63.20 -/Color true def 63.21 -/Blacktext false def 63.22 -/Solid false def 63.23 -/Dashlength 1 def 63.24 -/Landscape true def 63.25 -/Level1 false def 63.26 -/Rounded false def 63.27 -/ClipToBoundingBox false def 63.28 -/TransparentPatterns false def 63.29 -/gnulinewidth 5.000 def 63.30 -/userlinewidth gnulinewidth def 63.31 -/Gamma 1.0 def 63.32 -% 63.33 -/vshift -46 def 63.34 -/dl1 { 63.35 - 10.0 Dashlength mul mul 63.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 63.37 -} def 63.38 -/dl2 { 63.39 - 10.0 Dashlength mul mul 63.40 - Rounded { currentlinewidth 0.75 mul add } if 63.41 -} def 63.42 -/hpt_ 31.5 def 63.43 -/vpt_ 31.5 def 63.44 -/hpt hpt_ def 63.45 -/vpt vpt_ def 63.46 -Level1 {} { 63.47 -/SDict 10 dict def 63.48 -systemdict /pdfmark known not { 63.49 - userdict /pdfmark systemdict /cleartomark get put 63.50 -} if 63.51 -SDict begin [ 63.52 - /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-out.eps) 63.53 - /Subject (gnuplot plot) 63.54 - /Creator (gnuplot 4.4 patchlevel 2) 63.55 - /Author (msach) 63.56 -% /Producer (gnuplot) 63.57 -% /Keywords () 63.58 - /CreationDate (Thu Jan 26 18:45:12 2012) 63.59 - /DOCINFO pdfmark 63.60 -end 63.61 -} ifelse 63.62 -/doclip { 63.63 - ClipToBoundingBox { 63.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 63.65 - clip 63.66 - } if 63.67 -} def 63.68 -% 63.69 -% Gnuplot Prolog Version 4.4 (August 2010) 63.70 -% 63.71 -%/SuppressPDFMark true def 63.72 -% 63.73 -/M {moveto} bind def 63.74 -/L {lineto} bind def 63.75 -/R {rmoveto} bind def 63.76 -/V {rlineto} bind def 63.77 -/N {newpath moveto} bind def 63.78 -/Z {closepath} bind def 63.79 -/C {setrgbcolor} bind def 63.80 -/f {rlineto fill} bind def 63.81 -/g {setgray} bind def 63.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 63.83 -/vpt2 vpt 2 mul def 63.84 -/hpt2 hpt 2 mul def 63.85 -/Lshow {currentpoint stroke M 0 vshift R 63.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 63.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 63.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 63.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 63.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 63.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 63.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 63.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 63.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 63.95 -/BL {stroke userlinewidth 2 mul setlinewidth 63.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 63.97 -/AL {stroke userlinewidth 2 div setlinewidth 63.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 63.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 63.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 63.101 -/PL {stroke userlinewidth setlinewidth 63.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 63.103 -3.8 setmiterlimit 63.104 -% Default Line colors 63.105 -/LCw {1 1 1} def 63.106 -/LCb {0 0 0} def 63.107 -/LCa {0 0 0} def 63.108 -/LC0 {1 0 0} def 63.109 -/LC1 {0 1 0} def 63.110 -/LC2 {0 0 1} def 63.111 -/LC3 {1 0 1} def 63.112 -/LC4 {0 1 1} def 63.113 -/LC5 {1 1 0} def 63.114 -/LC6 {0 0 0} def 63.115 -/LC7 {1 0.3 0} def 63.116 -/LC8 {0.5 0.5 0.5} def 63.117 -% Default Line Types 63.118 -/LTw {PL [] 1 setgray} def 63.119 -/LTb {BL [] LCb DL} def 63.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 63.121 -/LT0 {PL [] LC0 DL} def 63.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 63.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 63.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 63.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 63.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 63.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 63.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 63.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 63.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 63.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 63.132 - hpt neg vpt neg V hpt vpt neg V 63.133 - hpt vpt V hpt neg vpt V closepath stroke 63.134 - Pnt} def 63.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 63.136 - currentpoint stroke M 63.137 - hpt neg vpt neg R hpt2 0 V stroke 63.138 - } def 63.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 63.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 63.141 - hpt2 neg 0 V closepath stroke 63.142 - Pnt} def 63.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 63.144 - hpt2 vpt2 neg V currentpoint stroke M 63.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 63.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 63.147 - hpt neg vpt -1.62 mul V 63.148 - hpt 2 mul 0 V 63.149 - hpt neg vpt 1.62 mul V closepath stroke 63.150 - Pnt} def 63.151 -/Star {2 copy Pls Crs} def 63.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 63.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 63.154 - hpt2 neg 0 V closepath fill} def 63.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 63.156 - hpt neg vpt -1.62 mul V 63.157 - hpt 2 mul 0 V 63.158 - hpt neg vpt 1.62 mul V closepath fill} def 63.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 63.160 - hpt neg vpt 1.62 mul V 63.161 - hpt 2 mul 0 V 63.162 - hpt neg vpt -1.62 mul V closepath stroke 63.163 - Pnt} def 63.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 63.165 - hpt neg vpt 1.62 mul V 63.166 - hpt 2 mul 0 V 63.167 - hpt neg vpt -1.62 mul V closepath fill} def 63.168 -/DiaF {stroke [] 0 setdash vpt add M 63.169 - hpt neg vpt neg V hpt vpt neg V 63.170 - hpt vpt V hpt neg vpt V closepath fill} def 63.171 -/Pent {stroke [] 0 setdash 2 copy gsave 63.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 63.173 - closepath stroke grestore Pnt} def 63.174 -/PentF {stroke [] 0 setdash gsave 63.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 63.176 - closepath fill grestore} def 63.177 -/Circle {stroke [] 0 setdash 2 copy 63.178 - hpt 0 360 arc stroke Pnt} def 63.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 63.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 63.181 -/C1 {BL [] 0 setdash 2 copy moveto 63.182 - 2 copy vpt 0 90 arc closepath fill 63.183 - vpt 0 360 arc closepath} bind def 63.184 -/C2 {BL [] 0 setdash 2 copy moveto 63.185 - 2 copy vpt 90 180 arc closepath fill 63.186 - vpt 0 360 arc closepath} bind def 63.187 -/C3 {BL [] 0 setdash 2 copy moveto 63.188 - 2 copy vpt 0 180 arc closepath fill 63.189 - vpt 0 360 arc closepath} bind def 63.190 -/C4 {BL [] 0 setdash 2 copy moveto 63.191 - 2 copy vpt 180 270 arc closepath fill 63.192 - vpt 0 360 arc closepath} bind def 63.193 -/C5 {BL [] 0 setdash 2 copy moveto 63.194 - 2 copy vpt 0 90 arc 63.195 - 2 copy moveto 63.196 - 2 copy vpt 180 270 arc closepath fill 63.197 - vpt 0 360 arc} bind def 63.198 -/C6 {BL [] 0 setdash 2 copy moveto 63.199 - 2 copy vpt 90 270 arc closepath fill 63.200 - vpt 0 360 arc closepath} bind def 63.201 -/C7 {BL [] 0 setdash 2 copy moveto 63.202 - 2 copy vpt 0 270 arc closepath fill 63.203 - vpt 0 360 arc closepath} bind def 63.204 -/C8 {BL [] 0 setdash 2 copy moveto 63.205 - 2 copy vpt 270 360 arc closepath fill 63.206 - vpt 0 360 arc closepath} bind def 63.207 -/C9 {BL [] 0 setdash 2 copy moveto 63.208 - 2 copy vpt 270 450 arc closepath fill 63.209 - vpt 0 360 arc closepath} bind def 63.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 63.211 - 2 copy moveto 63.212 - 2 copy vpt 90 180 arc closepath fill 63.213 - vpt 0 360 arc closepath} bind def 63.214 -/C11 {BL [] 0 setdash 2 copy moveto 63.215 - 2 copy vpt 0 180 arc closepath fill 63.216 - 2 copy moveto 63.217 - 2 copy vpt 270 360 arc closepath fill 63.218 - vpt 0 360 arc closepath} bind def 63.219 -/C12 {BL [] 0 setdash 2 copy moveto 63.220 - 2 copy vpt 180 360 arc closepath fill 63.221 - vpt 0 360 arc closepath} bind def 63.222 -/C13 {BL [] 0 setdash 2 copy moveto 63.223 - 2 copy vpt 0 90 arc closepath fill 63.224 - 2 copy moveto 63.225 - 2 copy vpt 180 360 arc closepath fill 63.226 - vpt 0 360 arc closepath} bind def 63.227 -/C14 {BL [] 0 setdash 2 copy moveto 63.228 - 2 copy vpt 90 360 arc closepath fill 63.229 - vpt 0 360 arc} bind def 63.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 63.231 - vpt 0 360 arc closepath} bind def 63.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 63.233 - neg 0 rlineto closepath} bind def 63.234 -/Square {dup Rec} bind def 63.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 63.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 63.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 63.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 63.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 63.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 63.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 63.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 63.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 63.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 63.245 - 2 copy vpt Square fill Bsquare} bind def 63.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 63.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 63.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 63.249 - Bsquare} bind def 63.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 63.251 - Bsquare} bind def 63.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 63.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 63.254 - 2 copy vpt Square fill Bsquare} bind def 63.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 63.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 63.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 63.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 63.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 63.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 63.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 63.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 63.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 63.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 63.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 63.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 63.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 63.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 63.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 63.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 63.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 63.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 63.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 63.274 -/DiaE {stroke [] 0 setdash vpt add M 63.275 - hpt neg vpt neg V hpt vpt neg V 63.276 - hpt vpt V hpt neg vpt V closepath stroke} def 63.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 63.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 63.279 - hpt2 neg 0 V closepath stroke} def 63.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 63.281 - hpt neg vpt -1.62 mul V 63.282 - hpt 2 mul 0 V 63.283 - hpt neg vpt 1.62 mul V closepath stroke} def 63.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 63.285 - hpt neg vpt 1.62 mul V 63.286 - hpt 2 mul 0 V 63.287 - hpt neg vpt -1.62 mul V closepath stroke} def 63.288 -/PentE {stroke [] 0 setdash gsave 63.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 63.290 - closepath stroke grestore} def 63.291 -/CircE {stroke [] 0 setdash 63.292 - hpt 0 360 arc stroke} def 63.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 63.294 -/DiaW {stroke [] 0 setdash vpt add M 63.295 - hpt neg vpt neg V hpt vpt neg V 63.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 63.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 63.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 63.299 - hpt2 neg 0 V Opaque stroke} def 63.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 63.301 - hpt neg vpt -1.62 mul V 63.302 - hpt 2 mul 0 V 63.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 63.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 63.305 - hpt neg vpt 1.62 mul V 63.306 - hpt 2 mul 0 V 63.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 63.308 -/PentW {stroke [] 0 setdash gsave 63.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 63.310 - Opaque stroke grestore} def 63.311 -/CircW {stroke [] 0 setdash 63.312 - hpt 0 360 arc Opaque stroke} def 63.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 63.314 -/Density { 63.315 - /Fillden exch def 63.316 - currentrgbcolor 63.317 - /ColB exch def /ColG exch def /ColR exch def 63.318 - /ColR ColR Fillden mul Fillden sub 1 add def 63.319 - /ColG ColG Fillden mul Fillden sub 1 add def 63.320 - /ColB ColB Fillden mul Fillden sub 1 add def 63.321 - ColR ColG ColB setrgbcolor} def 63.322 -/BoxColFill {gsave Rec PolyFill} def 63.323 -/PolyFill {gsave Density fill grestore grestore} def 63.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 63.325 -% 63.326 -% PostScript Level 1 Pattern Fill routine for rectangles 63.327 -% Usage: x y w h s a XX PatternFill 63.328 -% x,y = lower left corner of box to be filled 63.329 -% w,h = width and height of box 63.330 -% a = angle in degrees between lines and x-axis 63.331 -% XX = 0/1 for no/yes cross-hatch 63.332 -% 63.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 63.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 63.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 63.336 - gsave 1 setgray fill grestore clip 63.337 - currentlinewidth 0.5 mul setlinewidth 63.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 63.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 63.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 63.341 - {PFa 4 get mul 0 M 0 PFs V} for 63.342 - 0 PFa 6 get ne { 63.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 63.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 63.345 - } if 63.346 - stroke grestore} def 63.347 -% 63.348 -/languagelevel where 63.349 - {pop languagelevel} {1} ifelse 63.350 - 2 lt 63.351 - {/InterpretLevel1 true def} 63.352 - {/InterpretLevel1 Level1 def} 63.353 - ifelse 63.354 -% 63.355 -% PostScript level 2 pattern fill definitions 63.356 -% 63.357 -/Level2PatternFill { 63.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 63.359 - bind def 63.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 63.361 -<< Tile8x8 63.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 63.363 ->> matrix makepattern 63.364 -/Pat1 exch def 63.365 -<< Tile8x8 63.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 63.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 63.368 ->> matrix makepattern 63.369 -/Pat2 exch def 63.370 -<< Tile8x8 63.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 63.372 - 8 8 L 8 0 L 0 0 L fill} 63.373 ->> matrix makepattern 63.374 -/Pat3 exch def 63.375 -<< Tile8x8 63.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 63.377 - 0 12 M 12 0 L stroke} 63.378 ->> matrix makepattern 63.379 -/Pat4 exch def 63.380 -<< Tile8x8 63.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 63.382 - 0 -4 M 12 8 L stroke} 63.383 ->> matrix makepattern 63.384 -/Pat5 exch def 63.385 -<< Tile8x8 63.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 63.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 63.388 ->> matrix makepattern 63.389 -/Pat6 exch def 63.390 -<< Tile8x8 63.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 63.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 63.393 ->> matrix makepattern 63.394 -/Pat7 exch def 63.395 -<< Tile8x8 63.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 63.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 63.398 ->> matrix makepattern 63.399 -/Pat8 exch def 63.400 -<< Tile8x8 63.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 63.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 63.403 ->> matrix makepattern 63.404 -/Pat9 exch def 63.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 63.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 63.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 63.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 63.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 63.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 63.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 63.412 -} def 63.413 -% 63.414 -% 63.415 -%End of PostScript Level 2 code 63.416 -% 63.417 -/PatternBgnd { 63.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 63.419 -} def 63.420 -% 63.421 -% Substitute for Level 2 pattern fill codes with 63.422 -% grayscale if Level 2 support is not selected. 63.423 -% 63.424 -/Level1PatternFill { 63.425 -/Pattern1 {0.250 Density} bind def 63.426 -/Pattern2 {0.500 Density} bind def 63.427 -/Pattern3 {0.750 Density} bind def 63.428 -/Pattern4 {0.125 Density} bind def 63.429 -/Pattern5 {0.375 Density} bind def 63.430 -/Pattern6 {0.625 Density} bind def 63.431 -/Pattern7 {0.875 Density} bind def 63.432 -} def 63.433 -% 63.434 -% Now test for support of Level 2 code 63.435 -% 63.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 63.437 -% 63.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 63.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 63.440 -currentdict end definefont pop 63.441 -/MFshow { 63.442 - { dup 5 get 3 ge 63.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 63.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 63.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 63.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 63.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 63.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 63.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 63.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 63.451 - pop aload pop M} ifelse }ifelse }ifelse } 63.452 - ifelse } 63.453 - forall} def 63.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 63.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 63.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 63.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 63.458 -/MLshow { currentpoint stroke M 63.459 - 0 exch R 63.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 63.461 -/MRshow { currentpoint stroke M 63.462 - exch dup MFwidth neg 3 -1 roll R 63.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 63.464 -/MCshow { currentpoint stroke M 63.465 - exch dup MFwidth -2 div 3 -1 roll R 63.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 63.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 63.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 63.469 -end 63.470 -%%EndProlog 63.471 -%%Page: 1 1 63.472 -gnudict begin 63.473 -gsave 63.474 -doclip 63.475 -50 50 translate 63.476 -0.100 0.100 scale 63.477 -90 rotate 63.478 -0 -5040 translate 63.479 -0 setgray 63.480 -newpath 63.481 -(Helvetica) findfont 140 scalefont setfont 63.482 -1.000 UL 63.483 -LTb 63.484 -686 922 M 63.485 -63 0 V 63.486 -stroke 63.487 -602 922 M 63.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 63.489 -] -46.7 MRshow 63.490 -1.000 UL 63.491 -LTb 63.492 -686 1405 M 63.493 -63 0 V 63.494 -stroke 63.495 -602 1405 M 63.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 63.497 -] -46.7 MRshow 63.498 -1.000 UL 63.499 -LTb 63.500 -686 1888 M 63.501 -63 0 V 63.502 -stroke 63.503 -602 1888 M 63.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 63.505 -] -46.7 MRshow 63.506 -1.000 UL 63.507 -LTb 63.508 -686 2372 M 63.509 -63 0 V 63.510 -stroke 63.511 -602 2372 M 63.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 63.513 -] -46.7 MRshow 63.514 -1.000 UL 63.515 -LTb 63.516 -686 2855 M 63.517 -63 0 V 63.518 -stroke 63.519 -602 2855 M 63.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 63.521 -] -46.7 MRshow 63.522 -1.000 UL 63.523 -LTb 63.524 -686 448 M 63.525 -0 63 V 63.526 -stroke 63.527 -686 308 M 63.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 63.529 -] -46.7 MCshow 63.530 -1.000 UL 63.531 -LTb 63.532 -1159 448 M 63.533 -0 63 V 63.534 -stroke 63.535 -1159 308 M 63.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 63.537 -] -46.7 MCshow 63.538 -1.000 UL 63.539 -LTb 63.540 -1631 448 M 63.541 -0 63 V 63.542 -stroke 63.543 -1631 308 M 63.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 63.545 -] -46.7 MCshow 63.546 -1.000 UL 63.547 -LTb 63.548 -2104 448 M 63.549 -0 63 V 63.550 -stroke 63.551 -2104 308 M 63.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 63.553 -] -46.7 MCshow 63.554 -1.000 UL 63.555 -LTb 63.556 -2576 448 M 63.557 -0 63 V 63.558 -stroke 63.559 -2576 308 M 63.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 63.561 -] -46.7 MCshow 63.562 -1.000 UL 63.563 -LTb 63.564 -1.000 UL 63.565 -LTb 63.566 -686 2855 M 63.567 -686 448 L 63.568 -1890 0 V 63.569 -0 2407 R 63.570 --1890 0 R 63.571 -stroke 63.572 -LCb setrgbcolor 63.573 -112 1651 M 63.574 -currentpoint gsave translate -270 rotate 0 0 moveto 63.575 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 63.576 -] -46.7 MCshow 63.577 -grestore 63.578 -LTb 63.579 -LCb setrgbcolor 63.580 -1631 98 M 63.581 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 63.582 -] -46.7 MCshow 63.583 -LTb 63.584 -1.000 UP 63.585 -1.000 UL 63.586 -LTb 63.587 -LCb setrgbcolor 63.588 -3489 2785 M 63.589 -[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 63.590 -] -46.7 MCshow 63.591 -LTb 63.592 -1.000 UL 63.593 -LTb 63.594 -2744 2155 N 63.595 -0 700 V 63.596 -1491 0 V 63.597 -0 -700 V 63.598 --1491 0 V 63.599 -Z stroke 63.600 -2744 2715 M 63.601 -1491 0 V 63.602 -% Begin plot #1 63.603 -stroke 63.604 -4.000 UL 63.605 -LT5 63.606 -LC7 setrgbcolor 63.607 -LCb setrgbcolor 63.608 -3668 2645 M 63.609 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 63.610 -] -46.7 MRshow 63.611 -LT5 63.612 -LC7 setrgbcolor 63.613 -3752 2645 M 63.614 -399 0 V 63.615 -1272 2855 M 63.616 -371 -919 V 63.617 -933 -698 V 63.618 -% End plot #1 63.619 -% Begin plot #2 63.620 -stroke 63.621 -LT6 63.622 -LCb setrgbcolor 63.623 -3668 2505 M 63.624 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 63.625 -] -46.7 MRshow 63.626 -LT6 63.627 -3752 2505 M 63.628 -399 0 V 63.629 -1280 2855 M 63.630 -1731 1723 L 63.631 -845 -658 V 63.632 -% End plot #2 63.633 -% Begin plot #3 63.634 -stroke 63.635 -LT7 63.636 -LC1 setrgbcolor 63.637 -LCb setrgbcolor 63.638 -3668 2365 M 63.639 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 63.640 -] -46.7 MRshow 63.641 -LT7 63.642 -LC1 setrgbcolor 63.643 -3752 2365 M 63.644 -399 0 V 63.645 -1096 2855 M 63.646 -95 -542 V 63.647 -439 -867 V 63.648 -2531 870 L 63.649 -% End plot #3 63.650 -% Begin plot #4 63.651 -stroke 63.652 -LT8 63.653 -LCb setrgbcolor 63.654 -3668 2225 M 63.655 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 63.656 -] -46.7 MRshow 63.657 -LT8 63.658 -3752 2225 M 63.659 -399 0 V 63.660 -1310 2855 M 63.661 -320 -574 V 63.662 -2543 1207 L 63.663 -% End plot #4 63.664 -stroke 63.665 -1.000 UL 63.666 -LTb 63.667 -686 2855 M 63.668 -686 448 L 63.669 -1890 0 V 63.670 -0 2407 R 63.671 --1890 0 R 63.672 -1.000 UP 63.673 -686 922 M 63.674 -63 0 V 63.675 -stroke 63.676 -602 922 M 63.677 -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 63.678 -] -46.7 MRshow 63.679 -1.000 UL 63.680 -LTb 63.681 -686 1405 M 63.682 -63 0 V 63.683 -stroke 63.684 -602 1405 M 63.685 -[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 63.686 -] -46.7 MRshow 63.687 -1.000 UL 63.688 -LTb 63.689 -686 1888 M 63.690 -63 0 V 63.691 -stroke 63.692 -602 1888 M 63.693 -[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 63.694 -] -46.7 MRshow 63.695 -1.000 UL 63.696 -LTb 63.697 -686 2372 M 63.698 -63 0 V 63.699 -stroke 63.700 -602 2372 M 63.701 -[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 63.702 -] -46.7 MRshow 63.703 -1.000 UL 63.704 -LTb 63.705 -686 2855 M 63.706 -63 0 V 63.707 -stroke 63.708 -602 2855 M 63.709 -[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 63.710 -] -46.7 MRshow 63.711 -1.000 UL 63.712 -LTb 63.713 -686 448 M 63.714 -0 63 V 63.715 -stroke 63.716 -686 308 M 63.717 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 63.718 -] -46.7 MCshow 63.719 -1.000 UL 63.720 -LTb 63.721 -1159 448 M 63.722 -0 63 V 63.723 -stroke 63.724 -1159 308 M 63.725 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 63.726 -] -46.7 MCshow 63.727 -1.000 UL 63.728 -LTb 63.729 -1631 448 M 63.730 -0 63 V 63.731 -stroke 63.732 -1631 308 M 63.733 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 63.734 -] -46.7 MCshow 63.735 -1.000 UL 63.736 -LTb 63.737 -2104 448 M 63.738 -0 63 V 63.739 -stroke 63.740 -2104 308 M 63.741 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 63.742 -] -46.7 MCshow 63.743 -1.000 UL 63.744 -LTb 63.745 -2576 448 M 63.746 -0 63 V 63.747 -stroke 63.748 -2576 308 M 63.749 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 63.750 -] -46.7 MCshow 63.751 -1.000 UL 63.752 -LTb 63.753 -1.000 UL 63.754 -LTb 63.755 -686 2855 M 63.756 -686 448 L 63.757 -1890 0 V 63.758 -0 2407 R 63.759 --1890 0 R 63.760 -stroke 63.761 -LCb setrgbcolor 63.762 -112 1651 M 63.763 -currentpoint gsave translate -270 rotate 0 0 moveto 63.764 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 63.765 -] -46.7 MCshow 63.766 -grestore 63.767 -LTb 63.768 -LCb setrgbcolor 63.769 -1631 98 M 63.770 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 63.771 -] -46.7 MCshow 63.772 -LTb 63.773 -1.000 UP 63.774 -1.000 UL 63.775 -LTb 63.776 -LCb setrgbcolor 63.777 -3489 1931 M 63.778 -[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 63.779 -] -46.7 MCshow 63.780 -LTb 63.781 -1.000 UL 63.782 -LTb 63.783 -2744 1301 N 63.784 -0 700 V 63.785 -1491 0 V 63.786 -0 -700 V 63.787 --1491 0 V 63.788 -Z stroke 63.789 -2744 1861 M 63.790 -1491 0 V 63.791 -% Begin plot #1 63.792 -stroke 63.793 -4.000 UL 63.794 -LT0 63.795 -LCb setrgbcolor 63.796 -3668 1791 M 63.797 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 63.798 -] -46.7 MRshow 63.799 -LT0 63.800 -3752 1791 M 63.801 -399 0 V 63.802 -718 626 M 63.803 -12 -61 V 63.804 -22 -36 V 63.805 -42 -37 V 63.806 -86 -17 V 63.807 -169 -13 V 63.808 -341 -7 V 63.809 -681 -2 V 63.810 -505 -1 V 63.811 -% End plot #1 63.812 -% Begin plot #2 63.813 -stroke 63.814 -LT2 63.815 -LCb setrgbcolor 63.816 -3668 1651 M 63.817 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 63.818 -] -46.7 MRshow 63.819 -LT2 63.820 -3752 1651 M 63.821 -399 0 V 63.822 -718 575 M 63.823 -13 4 V 63.824 -20 -82 V 63.825 -43 -20 V 63.826 -85 -6 V 63.827 -170 -12 V 63.828 -340 -4 V 63.829 -681 -4 V 63.830 -506 -1 V 63.831 -% End plot #2 63.832 -% Begin plot #3 63.833 -stroke 63.834 -LT3 63.835 -LCb setrgbcolor 63.836 -3668 1511 M 63.837 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 63.838 -] -46.7 MRshow 63.839 -LT3 63.840 -3752 1511 M 63.841 -399 0 V 63.842 -717 581 M 63.843 -13 -38 V 63.844 -23 -9 V 63.845 -42 -41 V 63.846 -85 -19 V 63.847 -169 -11 V 63.848 -341 -7 V 63.849 -680 -5 V 63.850 -506 -1 V 63.851 -% End plot #3 63.852 -% Begin plot #4 63.853 -stroke 63.854 -LT4 63.855 -LCb setrgbcolor 63.856 -3668 1371 M 63.857 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 63.858 -] -46.7 MRshow 63.859 -LT4 63.860 -3752 1371 M 63.861 -399 0 V 63.862 -718 589 M 63.863 -13 -41 V 63.864 -21 -29 V 63.865 -43 -20 V 63.866 -85 -28 V 63.867 -169 -12 V 63.868 -341 -4 V 63.869 -680 -4 V 63.870 -506 0 V 63.871 -% End plot #4 63.872 -stroke 63.873 -1.000 UL 63.874 -LTb 63.875 -686 2855 M 63.876 -686 448 L 63.877 -1890 0 V 63.878 -0 2407 R 63.879 --1890 0 R 63.880 -1.000 UP 63.881 -stroke 63.882 -grestore 63.883 -end 63.884 -showpage 63.885 -%%Trailer 63.886 -%%DocumentFonts: Helvetica 63.887 -%%Pages: 1
64.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps Thu Feb 02 12:22:53 2012 -0800 64.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 64.3 @@ -1,948 +0,0 @@ 64.4 -%!PS-Adobe-2.0 64.5 -%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps 64.6 -%%Creator: gnuplot 4.4 patchlevel 2 64.7 -%%CreationDate: Thu Jan 26 18:32:06 2012 64.8 -%%DocumentFonts: (atend) 64.9 -%%BoundingBox: 251 50 554 482 64.10 -%%Orientation: Landscape 64.11 -%%Pages: (atend) 64.12 -%%EndComments 64.13 -%%BeginProlog 64.14 -/gnudict 256 dict def 64.15 -gnudict begin 64.16 -% 64.17 -% The following true/false flags may be edited by hand if desired. 64.18 -% The unit line width and grayscale image gamma correction may also be changed. 64.19 -% 64.20 -/Color true def 64.21 -/Blacktext false def 64.22 -/Solid false def 64.23 -/Dashlength 1 def 64.24 -/Landscape true def 64.25 -/Level1 false def 64.26 -/Rounded false def 64.27 -/ClipToBoundingBox false def 64.28 -/TransparentPatterns false def 64.29 -/gnulinewidth 5.000 def 64.30 -/userlinewidth gnulinewidth def 64.31 -/Gamma 1.0 def 64.32 -% 64.33 -/vshift -46 def 64.34 -/dl1 { 64.35 - 10.0 Dashlength mul mul 64.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 64.37 -} def 64.38 -/dl2 { 64.39 - 10.0 Dashlength mul mul 64.40 - Rounded { currentlinewidth 0.75 mul add } if 64.41 -} def 64.42 -/hpt_ 31.5 def 64.43 -/vpt_ 31.5 def 64.44 -/hpt hpt_ def 64.45 -/vpt vpt_ def 64.46 -Level1 {} { 64.47 -/SDict 10 dict def 64.48 -systemdict /pdfmark known not { 64.49 - userdict /pdfmark systemdict /cleartomark get put 64.50 -} if 64.51 -SDict begin [ 64.52 - /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.key-right.eps) 64.53 - /Subject (gnuplot plot) 64.54 - /Creator (gnuplot 4.4 patchlevel 2) 64.55 - /Author (msach) 64.56 -% /Producer (gnuplot) 64.57 -% /Keywords () 64.58 - /CreationDate (Thu Jan 26 18:32:06 2012) 64.59 - /DOCINFO pdfmark 64.60 -end 64.61 -} ifelse 64.62 -/doclip { 64.63 - ClipToBoundingBox { 64.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 64.65 - clip 64.66 - } if 64.67 -} def 64.68 -% 64.69 -% Gnuplot Prolog Version 4.4 (August 2010) 64.70 -% 64.71 -%/SuppressPDFMark true def 64.72 -% 64.73 -/M {moveto} bind def 64.74 -/L {lineto} bind def 64.75 -/R {rmoveto} bind def 64.76 -/V {rlineto} bind def 64.77 -/N {newpath moveto} bind def 64.78 -/Z {closepath} bind def 64.79 -/C {setrgbcolor} bind def 64.80 -/f {rlineto fill} bind def 64.81 -/g {setgray} bind def 64.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 64.83 -/vpt2 vpt 2 mul def 64.84 -/hpt2 hpt 2 mul def 64.85 -/Lshow {currentpoint stroke M 0 vshift R 64.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 64.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 64.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 64.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 64.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 64.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 64.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 64.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 64.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 64.95 -/BL {stroke userlinewidth 2 mul setlinewidth 64.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 64.97 -/AL {stroke userlinewidth 2 div setlinewidth 64.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 64.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 64.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 64.101 -/PL {stroke userlinewidth setlinewidth 64.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 64.103 -3.8 setmiterlimit 64.104 -% Default Line colors 64.105 -/LCw {1 1 1} def 64.106 -/LCb {0 0 0} def 64.107 -/LCa {0 0 0} def 64.108 -/LC0 {1 0 0} def 64.109 -/LC1 {0 1 0} def 64.110 -/LC2 {0 0 1} def 64.111 -/LC3 {1 0 1} def 64.112 -/LC4 {0 1 1} def 64.113 -/LC5 {1 1 0} def 64.114 -/LC6 {0 0 0} def 64.115 -/LC7 {1 0.3 0} def 64.116 -/LC8 {0.5 0.5 0.5} def 64.117 -% Default Line Types 64.118 -/LTw {PL [] 1 setgray} def 64.119 -/LTb {BL [] LCb DL} def 64.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 64.121 -/LT0 {PL [] LC0 DL} def 64.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 64.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 64.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 64.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 64.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 64.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 64.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 64.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 64.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 64.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 64.132 - hpt neg vpt neg V hpt vpt neg V 64.133 - hpt vpt V hpt neg vpt V closepath stroke 64.134 - Pnt} def 64.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 64.136 - currentpoint stroke M 64.137 - hpt neg vpt neg R hpt2 0 V stroke 64.138 - } def 64.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 64.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 64.141 - hpt2 neg 0 V closepath stroke 64.142 - Pnt} def 64.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 64.144 - hpt2 vpt2 neg V currentpoint stroke M 64.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 64.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 64.147 - hpt neg vpt -1.62 mul V 64.148 - hpt 2 mul 0 V 64.149 - hpt neg vpt 1.62 mul V closepath stroke 64.150 - Pnt} def 64.151 -/Star {2 copy Pls Crs} def 64.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 64.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 64.154 - hpt2 neg 0 V closepath fill} def 64.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 64.156 - hpt neg vpt -1.62 mul V 64.157 - hpt 2 mul 0 V 64.158 - hpt neg vpt 1.62 mul V closepath fill} def 64.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 64.160 - hpt neg vpt 1.62 mul V 64.161 - hpt 2 mul 0 V 64.162 - hpt neg vpt -1.62 mul V closepath stroke 64.163 - Pnt} def 64.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 64.165 - hpt neg vpt 1.62 mul V 64.166 - hpt 2 mul 0 V 64.167 - hpt neg vpt -1.62 mul V closepath fill} def 64.168 -/DiaF {stroke [] 0 setdash vpt add M 64.169 - hpt neg vpt neg V hpt vpt neg V 64.170 - hpt vpt V hpt neg vpt V closepath fill} def 64.171 -/Pent {stroke [] 0 setdash 2 copy gsave 64.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 64.173 - closepath stroke grestore Pnt} def 64.174 -/PentF {stroke [] 0 setdash gsave 64.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 64.176 - closepath fill grestore} def 64.177 -/Circle {stroke [] 0 setdash 2 copy 64.178 - hpt 0 360 arc stroke Pnt} def 64.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 64.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 64.181 -/C1 {BL [] 0 setdash 2 copy moveto 64.182 - 2 copy vpt 0 90 arc closepath fill 64.183 - vpt 0 360 arc closepath} bind def 64.184 -/C2 {BL [] 0 setdash 2 copy moveto 64.185 - 2 copy vpt 90 180 arc closepath fill 64.186 - vpt 0 360 arc closepath} bind def 64.187 -/C3 {BL [] 0 setdash 2 copy moveto 64.188 - 2 copy vpt 0 180 arc closepath fill 64.189 - vpt 0 360 arc closepath} bind def 64.190 -/C4 {BL [] 0 setdash 2 copy moveto 64.191 - 2 copy vpt 180 270 arc closepath fill 64.192 - vpt 0 360 arc closepath} bind def 64.193 -/C5 {BL [] 0 setdash 2 copy moveto 64.194 - 2 copy vpt 0 90 arc 64.195 - 2 copy moveto 64.196 - 2 copy vpt 180 270 arc closepath fill 64.197 - vpt 0 360 arc} bind def 64.198 -/C6 {BL [] 0 setdash 2 copy moveto 64.199 - 2 copy vpt 90 270 arc closepath fill 64.200 - vpt 0 360 arc closepath} bind def 64.201 -/C7 {BL [] 0 setdash 2 copy moveto 64.202 - 2 copy vpt 0 270 arc closepath fill 64.203 - vpt 0 360 arc closepath} bind def 64.204 -/C8 {BL [] 0 setdash 2 copy moveto 64.205 - 2 copy vpt 270 360 arc closepath fill 64.206 - vpt 0 360 arc closepath} bind def 64.207 -/C9 {BL [] 0 setdash 2 copy moveto 64.208 - 2 copy vpt 270 450 arc closepath fill 64.209 - vpt 0 360 arc closepath} bind def 64.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 64.211 - 2 copy moveto 64.212 - 2 copy vpt 90 180 arc closepath fill 64.213 - vpt 0 360 arc closepath} bind def 64.214 -/C11 {BL [] 0 setdash 2 copy moveto 64.215 - 2 copy vpt 0 180 arc closepath fill 64.216 - 2 copy moveto 64.217 - 2 copy vpt 270 360 arc closepath fill 64.218 - vpt 0 360 arc closepath} bind def 64.219 -/C12 {BL [] 0 setdash 2 copy moveto 64.220 - 2 copy vpt 180 360 arc closepath fill 64.221 - vpt 0 360 arc closepath} bind def 64.222 -/C13 {BL [] 0 setdash 2 copy moveto 64.223 - 2 copy vpt 0 90 arc closepath fill 64.224 - 2 copy moveto 64.225 - 2 copy vpt 180 360 arc closepath fill 64.226 - vpt 0 360 arc closepath} bind def 64.227 -/C14 {BL [] 0 setdash 2 copy moveto 64.228 - 2 copy vpt 90 360 arc closepath fill 64.229 - vpt 0 360 arc} bind def 64.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 64.231 - vpt 0 360 arc closepath} bind def 64.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 64.233 - neg 0 rlineto closepath} bind def 64.234 -/Square {dup Rec} bind def 64.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 64.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 64.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 64.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 64.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 64.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 64.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 64.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 64.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 64.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 64.245 - 2 copy vpt Square fill Bsquare} bind def 64.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 64.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 64.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 64.249 - Bsquare} bind def 64.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 64.251 - Bsquare} bind def 64.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 64.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 64.254 - 2 copy vpt Square fill Bsquare} bind def 64.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 64.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 64.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 64.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 64.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 64.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 64.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 64.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 64.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 64.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 64.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 64.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 64.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 64.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 64.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 64.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 64.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 64.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 64.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 64.274 -/DiaE {stroke [] 0 setdash vpt add M 64.275 - hpt neg vpt neg V hpt vpt neg V 64.276 - hpt vpt V hpt neg vpt V closepath stroke} def 64.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 64.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 64.279 - hpt2 neg 0 V closepath stroke} def 64.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 64.281 - hpt neg vpt -1.62 mul V 64.282 - hpt 2 mul 0 V 64.283 - hpt neg vpt 1.62 mul V closepath stroke} def 64.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 64.285 - hpt neg vpt 1.62 mul V 64.286 - hpt 2 mul 0 V 64.287 - hpt neg vpt -1.62 mul V closepath stroke} def 64.288 -/PentE {stroke [] 0 setdash gsave 64.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 64.290 - closepath stroke grestore} def 64.291 -/CircE {stroke [] 0 setdash 64.292 - hpt 0 360 arc stroke} def 64.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 64.294 -/DiaW {stroke [] 0 setdash vpt add M 64.295 - hpt neg vpt neg V hpt vpt neg V 64.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 64.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 64.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 64.299 - hpt2 neg 0 V Opaque stroke} def 64.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 64.301 - hpt neg vpt -1.62 mul V 64.302 - hpt 2 mul 0 V 64.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 64.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 64.305 - hpt neg vpt 1.62 mul V 64.306 - hpt 2 mul 0 V 64.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 64.308 -/PentW {stroke [] 0 setdash gsave 64.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 64.310 - Opaque stroke grestore} def 64.311 -/CircW {stroke [] 0 setdash 64.312 - hpt 0 360 arc Opaque stroke} def 64.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 64.314 -/Density { 64.315 - /Fillden exch def 64.316 - currentrgbcolor 64.317 - /ColB exch def /ColG exch def /ColR exch def 64.318 - /ColR ColR Fillden mul Fillden sub 1 add def 64.319 - /ColG ColG Fillden mul Fillden sub 1 add def 64.320 - /ColB ColB Fillden mul Fillden sub 1 add def 64.321 - ColR ColG ColB setrgbcolor} def 64.322 -/BoxColFill {gsave Rec PolyFill} def 64.323 -/PolyFill {gsave Density fill grestore grestore} def 64.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 64.325 -% 64.326 -% PostScript Level 1 Pattern Fill routine for rectangles 64.327 -% Usage: x y w h s a XX PatternFill 64.328 -% x,y = lower left corner of box to be filled 64.329 -% w,h = width and height of box 64.330 -% a = angle in degrees between lines and x-axis 64.331 -% XX = 0/1 for no/yes cross-hatch 64.332 -% 64.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 64.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 64.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 64.336 - gsave 1 setgray fill grestore clip 64.337 - currentlinewidth 0.5 mul setlinewidth 64.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 64.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 64.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 64.341 - {PFa 4 get mul 0 M 0 PFs V} for 64.342 - 0 PFa 6 get ne { 64.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 64.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 64.345 - } if 64.346 - stroke grestore} def 64.347 -% 64.348 -/languagelevel where 64.349 - {pop languagelevel} {1} ifelse 64.350 - 2 lt 64.351 - {/InterpretLevel1 true def} 64.352 - {/InterpretLevel1 Level1 def} 64.353 - ifelse 64.354 -% 64.355 -% PostScript level 2 pattern fill definitions 64.356 -% 64.357 -/Level2PatternFill { 64.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 64.359 - bind def 64.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 64.361 -<< Tile8x8 64.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 64.363 ->> matrix makepattern 64.364 -/Pat1 exch def 64.365 -<< Tile8x8 64.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 64.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 64.368 ->> matrix makepattern 64.369 -/Pat2 exch def 64.370 -<< Tile8x8 64.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 64.372 - 8 8 L 8 0 L 0 0 L fill} 64.373 ->> matrix makepattern 64.374 -/Pat3 exch def 64.375 -<< Tile8x8 64.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 64.377 - 0 12 M 12 0 L stroke} 64.378 ->> matrix makepattern 64.379 -/Pat4 exch def 64.380 -<< Tile8x8 64.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 64.382 - 0 -4 M 12 8 L stroke} 64.383 ->> matrix makepattern 64.384 -/Pat5 exch def 64.385 -<< Tile8x8 64.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 64.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 64.388 ->> matrix makepattern 64.389 -/Pat6 exch def 64.390 -<< Tile8x8 64.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 64.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 64.393 ->> matrix makepattern 64.394 -/Pat7 exch def 64.395 -<< Tile8x8 64.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 64.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 64.398 ->> matrix makepattern 64.399 -/Pat8 exch def 64.400 -<< Tile8x8 64.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 64.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 64.403 ->> matrix makepattern 64.404 -/Pat9 exch def 64.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 64.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 64.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 64.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 64.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 64.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 64.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 64.412 -} def 64.413 -% 64.414 -% 64.415 -%End of PostScript Level 2 code 64.416 -% 64.417 -/PatternBgnd { 64.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 64.419 -} def 64.420 -% 64.421 -% Substitute for Level 2 pattern fill codes with 64.422 -% grayscale if Level 2 support is not selected. 64.423 -% 64.424 -/Level1PatternFill { 64.425 -/Pattern1 {0.250 Density} bind def 64.426 -/Pattern2 {0.500 Density} bind def 64.427 -/Pattern3 {0.750 Density} bind def 64.428 -/Pattern4 {0.125 Density} bind def 64.429 -/Pattern5 {0.375 Density} bind def 64.430 -/Pattern6 {0.625 Density} bind def 64.431 -/Pattern7 {0.875 Density} bind def 64.432 -} def 64.433 -% 64.434 -% Now test for support of Level 2 code 64.435 -% 64.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 64.437 -% 64.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 64.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 64.440 -currentdict end definefont pop 64.441 -/MFshow { 64.442 - { dup 5 get 3 ge 64.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 64.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 64.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 64.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 64.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 64.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 64.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 64.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 64.451 - pop aload pop M} ifelse }ifelse }ifelse } 64.452 - ifelse } 64.453 - forall} def 64.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 64.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 64.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 64.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 64.458 -/MLshow { currentpoint stroke M 64.459 - 0 exch R 64.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 64.461 -/MRshow { currentpoint stroke M 64.462 - exch dup MFwidth neg 3 -1 roll R 64.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 64.464 -/MCshow { currentpoint stroke M 64.465 - exch dup MFwidth -2 div 3 -1 roll R 64.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 64.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 64.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 64.469 -end 64.470 -%%EndProlog 64.471 -%%Page: 1 1 64.472 -gnudict begin 64.473 -gsave 64.474 -doclip 64.475 -50 50 translate 64.476 -0.100 0.100 scale 64.477 -90 rotate 64.478 -0 -5040 translate 64.479 -0 setgray 64.480 -newpath 64.481 -(Helvetica) findfont 140 scalefont setfont 64.482 -1.000 UL 64.483 -LTb 64.484 -686 922 M 64.485 -63 0 V 64.486 -stroke 64.487 -602 922 M 64.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 64.489 -] -46.7 MRshow 64.490 -1.000 UL 64.491 -LTb 64.492 -686 1405 M 64.493 -63 0 V 64.494 -stroke 64.495 -602 1405 M 64.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 64.497 -] -46.7 MRshow 64.498 -1.000 UL 64.499 -LTb 64.500 -686 1888 M 64.501 -63 0 V 64.502 -stroke 64.503 -602 1888 M 64.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 64.505 -] -46.7 MRshow 64.506 -1.000 UL 64.507 -LTb 64.508 -686 2372 M 64.509 -63 0 V 64.510 -stroke 64.511 -602 2372 M 64.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 64.513 -] -46.7 MRshow 64.514 -1.000 UL 64.515 -LTb 64.516 -686 2855 M 64.517 -63 0 V 64.518 -stroke 64.519 -602 2855 M 64.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 64.521 -] -46.7 MRshow 64.522 -1.000 UL 64.523 -LTb 64.524 -686 448 M 64.525 -0 63 V 64.526 -stroke 64.527 -686 308 M 64.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 64.529 -] -46.7 MCshow 64.530 -1.000 UL 64.531 -LTb 64.532 -1109 448 M 64.533 -0 63 V 64.534 -stroke 64.535 -1109 308 M 64.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 64.537 -] -46.7 MCshow 64.538 -1.000 UL 64.539 -LTb 64.540 -1531 448 M 64.541 -0 63 V 64.542 -stroke 64.543 -1531 308 M 64.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 64.545 -] -46.7 MCshow 64.546 -1.000 UL 64.547 -LTb 64.548 -1954 448 M 64.549 -0 63 V 64.550 -stroke 64.551 -1954 308 M 64.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 64.553 -] -46.7 MCshow 64.554 -1.000 UL 64.555 -LTb 64.556 -2377 448 M 64.557 -0 63 V 64.558 -stroke 64.559 -2377 308 M 64.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 64.561 -] -46.7 MCshow 64.562 -1.000 UL 64.563 -LTb 64.564 -2799 448 M 64.565 -0 63 V 64.566 -stroke 64.567 -2799 308 M 64.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 64.569 -] -46.7 MCshow 64.570 -1.000 UL 64.571 -LTb 64.572 -3222 448 M 64.573 -0 63 V 64.574 -stroke 64.575 -3222 308 M 64.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 64.577 -] -46.7 MCshow 64.578 -1.000 UL 64.579 -LTb 64.580 -3644 448 M 64.581 -0 63 V 64.582 -stroke 64.583 -3644 308 M 64.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 64.585 -] -46.7 MCshow 64.586 -1.000 UL 64.587 -LTb 64.588 -4067 448 M 64.589 -0 63 V 64.590 -stroke 64.591 -4067 308 M 64.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 64.593 -] -46.7 MCshow 64.594 -1.000 UL 64.595 -LTb 64.596 -1.000 UL 64.597 -LTb 64.598 -686 2855 M 64.599 -686 448 L 64.600 -3381 0 V 64.601 -0 2407 R 64.602 --3381 0 R 64.603 -stroke 64.604 -LCb setrgbcolor 64.605 -112 1651 M 64.606 -currentpoint gsave translate -270 rotate 0 0 moveto 64.607 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 64.608 -] -46.7 MCshow 64.609 -grestore 64.610 -LTb 64.611 -LCb setrgbcolor 64.612 -2376 98 M 64.613 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 64.614 -] -46.7 MCshow 64.615 -LTb 64.616 -1.000 UP 64.617 -1.000 UL 64.618 -LTb 64.619 -LCb setrgbcolor 64.620 -3532 2882 M 64.621 -[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 64.622 -] -46.7 MCshow 64.623 -LTb 64.624 -1.000 UL 64.625 -LTb 64.626 -2787 2252 N 64.627 -0 700 V 64.628 -1491 0 V 64.629 -0 -700 V 64.630 --1491 0 V 64.631 -Z stroke 64.632 -2787 2812 M 64.633 -1491 0 V 64.634 -% Begin plot #1 64.635 -stroke 64.636 -4.000 UL 64.637 -LT5 64.638 -LC7 setrgbcolor 64.639 -LCb setrgbcolor 64.640 -3711 2742 M 64.641 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 64.642 -] -46.7 MRshow 64.643 -LT5 64.644 -LC7 setrgbcolor 64.645 -3795 2742 M 64.646 -399 0 V 64.647 -1735 2855 M 64.648 -662 -919 V 64.649 -4067 1238 L 64.650 -% End plot #1 64.651 -% Begin plot #2 64.652 -stroke 64.653 -LT6 64.654 -LCb setrgbcolor 64.655 -3711 2602 M 64.656 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 64.657 -] -46.7 MRshow 64.658 -LT6 64.659 -3795 2602 M 64.660 -399 0 V 64.661 -1748 2855 M 64.662 -2555 1723 L 64.663 -4067 1065 L 64.664 -% End plot #2 64.665 -% Begin plot #3 64.666 -stroke 64.667 -LT7 64.668 -LC1 setrgbcolor 64.669 -LCb setrgbcolor 64.670 -3711 2462 M 64.671 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 64.672 -] -46.7 MRshow 64.673 -LT7 64.674 -LC1 setrgbcolor 64.675 -3795 2462 M 64.676 -399 0 V 64.677 -1420 2855 M 64.678 -170 -542 V 64.679 -784 -867 V 64.680 -3986 870 L 64.681 -% End plot #3 64.682 -% Begin plot #4 64.683 -stroke 64.684 -LT8 64.685 -LCb setrgbcolor 64.686 -3711 2322 M 64.687 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 64.688 -] -46.7 MRshow 64.689 -LT8 64.690 -3795 2322 M 64.691 -399 0 V 64.692 -1802 2855 M 64.693 -572 -574 V 64.694 -4007 1207 L 64.695 -% End plot #4 64.696 -stroke 64.697 -1.000 UL 64.698 -LTb 64.699 -686 2855 M 64.700 -686 448 L 64.701 -3381 0 V 64.702 -0 2407 R 64.703 --3381 0 R 64.704 -1.000 UP 64.705 -686 922 M 64.706 -63 0 V 64.707 -stroke 64.708 -602 922 M 64.709 -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 64.710 -] -46.7 MRshow 64.711 -1.000 UL 64.712 -LTb 64.713 -686 1405 M 64.714 -63 0 V 64.715 -stroke 64.716 -602 1405 M 64.717 -[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 64.718 -] -46.7 MRshow 64.719 -1.000 UL 64.720 -LTb 64.721 -686 1888 M 64.722 -63 0 V 64.723 -stroke 64.724 -602 1888 M 64.725 -[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 64.726 -] -46.7 MRshow 64.727 -1.000 UL 64.728 -LTb 64.729 -686 2372 M 64.730 -63 0 V 64.731 -stroke 64.732 -602 2372 M 64.733 -[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 64.734 -] -46.7 MRshow 64.735 -1.000 UL 64.736 -LTb 64.737 -686 2855 M 64.738 -63 0 V 64.739 -stroke 64.740 -602 2855 M 64.741 -[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 64.742 -] -46.7 MRshow 64.743 -1.000 UL 64.744 -LTb 64.745 -686 448 M 64.746 -0 63 V 64.747 -stroke 64.748 -686 308 M 64.749 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 64.750 -] -46.7 MCshow 64.751 -1.000 UL 64.752 -LTb 64.753 -1109 448 M 64.754 -0 63 V 64.755 -stroke 64.756 -1109 308 M 64.757 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 64.758 -] -46.7 MCshow 64.759 -1.000 UL 64.760 -LTb 64.761 -1531 448 M 64.762 -0 63 V 64.763 -stroke 64.764 -1531 308 M 64.765 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 64.766 -] -46.7 MCshow 64.767 -1.000 UL 64.768 -LTb 64.769 -1954 448 M 64.770 -0 63 V 64.771 -stroke 64.772 -1954 308 M 64.773 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 64.774 -] -46.7 MCshow 64.775 -1.000 UL 64.776 -LTb 64.777 -2377 448 M 64.778 -0 63 V 64.779 -stroke 64.780 -2377 308 M 64.781 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 64.782 -] -46.7 MCshow 64.783 -1.000 UL 64.784 -LTb 64.785 -2799 448 M 64.786 -0 63 V 64.787 -stroke 64.788 -2799 308 M 64.789 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 64.790 -] -46.7 MCshow 64.791 -1.000 UL 64.792 -LTb 64.793 -3222 448 M 64.794 -0 63 V 64.795 -stroke 64.796 -3222 308 M 64.797 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 64.798 -] -46.7 MCshow 64.799 -1.000 UL 64.800 -LTb 64.801 -3644 448 M 64.802 -0 63 V 64.803 -stroke 64.804 -3644 308 M 64.805 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 64.806 -] -46.7 MCshow 64.807 -1.000 UL 64.808 -LTb 64.809 -4067 448 M 64.810 -0 63 V 64.811 -stroke 64.812 -4067 308 M 64.813 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 64.814 -] -46.7 MCshow 64.815 -1.000 UL 64.816 -LTb 64.817 -1.000 UL 64.818 -LTb 64.819 -686 2855 M 64.820 -686 448 L 64.821 -3381 0 V 64.822 -0 2407 R 64.823 --3381 0 R 64.824 -stroke 64.825 -LCb setrgbcolor 64.826 -112 1651 M 64.827 -currentpoint gsave translate -270 rotate 0 0 moveto 64.828 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 64.829 -] -46.7 MCshow 64.830 -grestore 64.831 -LTb 64.832 -LCb setrgbcolor 64.833 -2376 98 M 64.834 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 64.835 -] -46.7 MCshow 64.836 -LTb 64.837 -1.000 UP 64.838 -1.000 UL 64.839 -LTb 64.840 -LCb setrgbcolor 64.841 -3532 2108 M 64.842 -[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 64.843 -] -46.7 MCshow 64.844 -LTb 64.845 -1.000 UL 64.846 -LTb 64.847 -2787 1478 N 64.848 -0 700 V 64.849 -1491 0 V 64.850 -0 -700 V 64.851 --1491 0 V 64.852 -Z stroke 64.853 -2787 2038 M 64.854 -1491 0 V 64.855 -% Begin plot #1 64.856 -stroke 64.857 -4.000 UL 64.858 -LT0 64.859 -LCb setrgbcolor 64.860 -3711 1968 M 64.861 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 64.862 -] -46.7 MRshow 64.863 -LT0 64.864 -3795 1968 M 64.865 -399 0 V 64.866 -743 626 M 64.867 -22 -61 V 64.868 -39 -36 V 64.869 -75 -37 V 64.870 -154 -17 V 64.871 -303 -13 V 64.872 -609 -7 V 64.873 -1218 -2 V 64.874 -904 -1 V 64.875 -% End plot #1 64.876 -% Begin plot #2 64.877 -stroke 64.878 -LT2 64.879 -LCb setrgbcolor 64.880 -3711 1828 M 64.881 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 64.882 -] -46.7 MRshow 64.883 -LT2 64.884 -3795 1828 M 64.885 -399 0 V 64.886 -743 575 M 64.887 -24 4 V 64.888 -36 -82 V 64.889 -76 -20 V 64.890 -153 -6 V 64.891 -303 -12 V 64.892 -609 -4 V 64.893 -1217 -4 V 64.894 -906 -1 V 64.895 -% End plot #2 64.896 -% Begin plot #3 64.897 -stroke 64.898 -LT3 64.899 -LCb setrgbcolor 64.900 -3711 1688 M 64.901 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 64.902 -] -46.7 MRshow 64.903 -LT3 64.904 -3795 1688 M 64.905 -399 0 V 64.906 -742 581 M 64.907 -24 -38 V 64.908 -39 -9 V 64.909 -76 -41 V 64.910 -151 -19 V 64.911 -304 -11 V 64.912 -610 -7 V 64.913 -1216 -5 V 64.914 -905 -1 V 64.915 -% End plot #3 64.916 -% Begin plot #4 64.917 -stroke 64.918 -LT4 64.919 -LCb setrgbcolor 64.920 -3711 1548 M 64.921 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 64.922 -] -46.7 MRshow 64.923 -LT4 64.924 -3795 1548 M 64.925 -399 0 V 64.926 -743 589 M 64.927 -23 -41 V 64.928 -38 -29 V 64.929 -77 -20 V 64.930 -151 -28 V 64.931 -303 -12 V 64.932 -610 -4 V 64.933 -1217 -4 V 64.934 -905 0 V 64.935 -% End plot #4 64.936 -stroke 64.937 -1.000 UL 64.938 -LTb 64.939 -686 2855 M 64.940 -686 448 L 64.941 -3381 0 V 64.942 -0 2407 R 64.943 --3381 0 R 64.944 -1.000 UP 64.945 -stroke 64.946 -grestore 64.947 -end 64.948 -showpage 64.949 -%%Trailer 64.950 -%%DocumentFonts: Helvetica 64.951 -%%Pages: 1
65.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps Thu Feb 02 12:22:53 2012 -0800 65.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 65.3 @@ -1,844 +0,0 @@ 65.4 -%!PS-Adobe-2.0 65.5 -%%Title: xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps 65.6 -%%Creator: gnuplot 4.4 patchlevel 2 65.7 -%%CreationDate: Thu Jan 26 18:23:52 2012 65.8 -%%DocumentFonts: (atend) 65.9 -%%BoundingBox: 251 50 554 482 65.10 -%%Orientation: Landscape 65.11 -%%Pages: (atend) 65.12 -%%EndComments 65.13 -%%BeginProlog 65.14 -/gnudict 256 dict def 65.15 -gnudict begin 65.16 -% 65.17 -% The following true/false flags may be edited by hand if desired. 65.18 -% The unit line width and grayscale image gamma correction may also be changed. 65.19 -% 65.20 -/Color true def 65.21 -/Blacktext false def 65.22 -/Solid false def 65.23 -/Dashlength 1 def 65.24 -/Landscape true def 65.25 -/Level1 false def 65.26 -/Rounded false def 65.27 -/ClipToBoundingBox false def 65.28 -/TransparentPatterns false def 65.29 -/gnulinewidth 5.000 def 65.30 -/userlinewidth gnulinewidth def 65.31 -/Gamma 1.0 def 65.32 -% 65.33 -/vshift -46 def 65.34 -/dl1 { 65.35 - 10.0 Dashlength mul mul 65.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 65.37 -} def 65.38 -/dl2 { 65.39 - 10.0 Dashlength mul mul 65.40 - Rounded { currentlinewidth 0.75 mul add } if 65.41 -} def 65.42 -/hpt_ 31.5 def 65.43 -/vpt_ 31.5 def 65.44 -/hpt hpt_ def 65.45 -/vpt vpt_ def 65.46 -Level1 {} { 65.47 -/SDict 10 dict def 65.48 -systemdict /pdfmark known not { 65.49 - userdict /pdfmark systemdict /cleartomark get put 65.50 -} if 65.51 -SDict begin [ 65.52 - /Title (xoanon_vthread_40cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 65.53 - /Subject (gnuplot plot) 65.54 - /Creator (gnuplot 4.4 patchlevel 2) 65.55 - /Author (msach) 65.56 -% /Producer (gnuplot) 65.57 -% /Keywords () 65.58 - /CreationDate (Thu Jan 26 18:23:52 2012) 65.59 - /DOCINFO pdfmark 65.60 -end 65.61 -} ifelse 65.62 -/doclip { 65.63 - ClipToBoundingBox { 65.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 65.65 - clip 65.66 - } if 65.67 -} def 65.68 -% 65.69 -% Gnuplot Prolog Version 4.4 (August 2010) 65.70 -% 65.71 -%/SuppressPDFMark true def 65.72 -% 65.73 -/M {moveto} bind def 65.74 -/L {lineto} bind def 65.75 -/R {rmoveto} bind def 65.76 -/V {rlineto} bind def 65.77 -/N {newpath moveto} bind def 65.78 -/Z {closepath} bind def 65.79 -/C {setrgbcolor} bind def 65.80 -/f {rlineto fill} bind def 65.81 -/g {setgray} bind def 65.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 65.83 -/vpt2 vpt 2 mul def 65.84 -/hpt2 hpt 2 mul def 65.85 -/Lshow {currentpoint stroke M 0 vshift R 65.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 65.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 65.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 65.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 65.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 65.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 65.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 65.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 65.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 65.95 -/BL {stroke userlinewidth 2 mul setlinewidth 65.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 65.97 -/AL {stroke userlinewidth 2 div setlinewidth 65.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 65.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 65.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 65.101 -/PL {stroke userlinewidth setlinewidth 65.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 65.103 -3.8 setmiterlimit 65.104 -% Default Line colors 65.105 -/LCw {1 1 1} def 65.106 -/LCb {0 0 0} def 65.107 -/LCa {0 0 0} def 65.108 -/LC0 {1 0 0} def 65.109 -/LC1 {0 1 0} def 65.110 -/LC2 {0 0 1} def 65.111 -/LC3 {1 0 1} def 65.112 -/LC4 {0 1 1} def 65.113 -/LC5 {1 1 0} def 65.114 -/LC6 {0 0 0} def 65.115 -/LC7 {1 0.3 0} def 65.116 -/LC8 {0.5 0.5 0.5} def 65.117 -% Default Line Types 65.118 -/LTw {PL [] 1 setgray} def 65.119 -/LTb {BL [] LCb DL} def 65.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 65.121 -/LT0 {PL [] LC0 DL} def 65.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 65.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 65.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 65.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 65.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 65.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 65.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 65.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 65.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 65.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 65.132 - hpt neg vpt neg V hpt vpt neg V 65.133 - hpt vpt V hpt neg vpt V closepath stroke 65.134 - Pnt} def 65.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 65.136 - currentpoint stroke M 65.137 - hpt neg vpt neg R hpt2 0 V stroke 65.138 - } def 65.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 65.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 65.141 - hpt2 neg 0 V closepath stroke 65.142 - Pnt} def 65.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 65.144 - hpt2 vpt2 neg V currentpoint stroke M 65.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 65.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 65.147 - hpt neg vpt -1.62 mul V 65.148 - hpt 2 mul 0 V 65.149 - hpt neg vpt 1.62 mul V closepath stroke 65.150 - Pnt} def 65.151 -/Star {2 copy Pls Crs} def 65.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 65.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 65.154 - hpt2 neg 0 V closepath fill} def 65.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 65.156 - hpt neg vpt -1.62 mul V 65.157 - hpt 2 mul 0 V 65.158 - hpt neg vpt 1.62 mul V closepath fill} def 65.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 65.160 - hpt neg vpt 1.62 mul V 65.161 - hpt 2 mul 0 V 65.162 - hpt neg vpt -1.62 mul V closepath stroke 65.163 - Pnt} def 65.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 65.165 - hpt neg vpt 1.62 mul V 65.166 - hpt 2 mul 0 V 65.167 - hpt neg vpt -1.62 mul V closepath fill} def 65.168 -/DiaF {stroke [] 0 setdash vpt add M 65.169 - hpt neg vpt neg V hpt vpt neg V 65.170 - hpt vpt V hpt neg vpt V closepath fill} def 65.171 -/Pent {stroke [] 0 setdash 2 copy gsave 65.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 65.173 - closepath stroke grestore Pnt} def 65.174 -/PentF {stroke [] 0 setdash gsave 65.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 65.176 - closepath fill grestore} def 65.177 -/Circle {stroke [] 0 setdash 2 copy 65.178 - hpt 0 360 arc stroke Pnt} def 65.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 65.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 65.181 -/C1 {BL [] 0 setdash 2 copy moveto 65.182 - 2 copy vpt 0 90 arc closepath fill 65.183 - vpt 0 360 arc closepath} bind def 65.184 -/C2 {BL [] 0 setdash 2 copy moveto 65.185 - 2 copy vpt 90 180 arc closepath fill 65.186 - vpt 0 360 arc closepath} bind def 65.187 -/C3 {BL [] 0 setdash 2 copy moveto 65.188 - 2 copy vpt 0 180 arc closepath fill 65.189 - vpt 0 360 arc closepath} bind def 65.190 -/C4 {BL [] 0 setdash 2 copy moveto 65.191 - 2 copy vpt 180 270 arc closepath fill 65.192 - vpt 0 360 arc closepath} bind def 65.193 -/C5 {BL [] 0 setdash 2 copy moveto 65.194 - 2 copy vpt 0 90 arc 65.195 - 2 copy moveto 65.196 - 2 copy vpt 180 270 arc closepath fill 65.197 - vpt 0 360 arc} bind def 65.198 -/C6 {BL [] 0 setdash 2 copy moveto 65.199 - 2 copy vpt 90 270 arc closepath fill 65.200 - vpt 0 360 arc closepath} bind def 65.201 -/C7 {BL [] 0 setdash 2 copy moveto 65.202 - 2 copy vpt 0 270 arc closepath fill 65.203 - vpt 0 360 arc closepath} bind def 65.204 -/C8 {BL [] 0 setdash 2 copy moveto 65.205 - 2 copy vpt 270 360 arc closepath fill 65.206 - vpt 0 360 arc closepath} bind def 65.207 -/C9 {BL [] 0 setdash 2 copy moveto 65.208 - 2 copy vpt 270 450 arc closepath fill 65.209 - vpt 0 360 arc closepath} bind def 65.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 65.211 - 2 copy moveto 65.212 - 2 copy vpt 90 180 arc closepath fill 65.213 - vpt 0 360 arc closepath} bind def 65.214 -/C11 {BL [] 0 setdash 2 copy moveto 65.215 - 2 copy vpt 0 180 arc closepath fill 65.216 - 2 copy moveto 65.217 - 2 copy vpt 270 360 arc closepath fill 65.218 - vpt 0 360 arc closepath} bind def 65.219 -/C12 {BL [] 0 setdash 2 copy moveto 65.220 - 2 copy vpt 180 360 arc closepath fill 65.221 - vpt 0 360 arc closepath} bind def 65.222 -/C13 {BL [] 0 setdash 2 copy moveto 65.223 - 2 copy vpt 0 90 arc closepath fill 65.224 - 2 copy moveto 65.225 - 2 copy vpt 180 360 arc closepath fill 65.226 - vpt 0 360 arc closepath} bind def 65.227 -/C14 {BL [] 0 setdash 2 copy moveto 65.228 - 2 copy vpt 90 360 arc closepath fill 65.229 - vpt 0 360 arc} bind def 65.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 65.231 - vpt 0 360 arc closepath} bind def 65.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 65.233 - neg 0 rlineto closepath} bind def 65.234 -/Square {dup Rec} bind def 65.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 65.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 65.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 65.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 65.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 65.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 65.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 65.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 65.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 65.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 65.245 - 2 copy vpt Square fill Bsquare} bind def 65.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 65.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 65.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 65.249 - Bsquare} bind def 65.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 65.251 - Bsquare} bind def 65.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 65.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 65.254 - 2 copy vpt Square fill Bsquare} bind def 65.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 65.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 65.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 65.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 65.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 65.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 65.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 65.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 65.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 65.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 65.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 65.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 65.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 65.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 65.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 65.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 65.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 65.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 65.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 65.274 -/DiaE {stroke [] 0 setdash vpt add M 65.275 - hpt neg vpt neg V hpt vpt neg V 65.276 - hpt vpt V hpt neg vpt V closepath stroke} def 65.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 65.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 65.279 - hpt2 neg 0 V closepath stroke} def 65.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 65.281 - hpt neg vpt -1.62 mul V 65.282 - hpt 2 mul 0 V 65.283 - hpt neg vpt 1.62 mul V closepath stroke} def 65.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 65.285 - hpt neg vpt 1.62 mul V 65.286 - hpt 2 mul 0 V 65.287 - hpt neg vpt -1.62 mul V closepath stroke} def 65.288 -/PentE {stroke [] 0 setdash gsave 65.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 65.290 - closepath stroke grestore} def 65.291 -/CircE {stroke [] 0 setdash 65.292 - hpt 0 360 arc stroke} def 65.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 65.294 -/DiaW {stroke [] 0 setdash vpt add M 65.295 - hpt neg vpt neg V hpt vpt neg V 65.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 65.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 65.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 65.299 - hpt2 neg 0 V Opaque stroke} def 65.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 65.301 - hpt neg vpt -1.62 mul V 65.302 - hpt 2 mul 0 V 65.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 65.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 65.305 - hpt neg vpt 1.62 mul V 65.306 - hpt 2 mul 0 V 65.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 65.308 -/PentW {stroke [] 0 setdash gsave 65.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 65.310 - Opaque stroke grestore} def 65.311 -/CircW {stroke [] 0 setdash 65.312 - hpt 0 360 arc Opaque stroke} def 65.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 65.314 -/Density { 65.315 - /Fillden exch def 65.316 - currentrgbcolor 65.317 - /ColB exch def /ColG exch def /ColR exch def 65.318 - /ColR ColR Fillden mul Fillden sub 1 add def 65.319 - /ColG ColG Fillden mul Fillden sub 1 add def 65.320 - /ColB ColB Fillden mul Fillden sub 1 add def 65.321 - ColR ColG ColB setrgbcolor} def 65.322 -/BoxColFill {gsave Rec PolyFill} def 65.323 -/PolyFill {gsave Density fill grestore grestore} def 65.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 65.325 -% 65.326 -% PostScript Level 1 Pattern Fill routine for rectangles 65.327 -% Usage: x y w h s a XX PatternFill 65.328 -% x,y = lower left corner of box to be filled 65.329 -% w,h = width and height of box 65.330 -% a = angle in degrees between lines and x-axis 65.331 -% XX = 0/1 for no/yes cross-hatch 65.332 -% 65.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 65.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 65.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 65.336 - gsave 1 setgray fill grestore clip 65.337 - currentlinewidth 0.5 mul setlinewidth 65.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 65.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 65.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 65.341 - {PFa 4 get mul 0 M 0 PFs V} for 65.342 - 0 PFa 6 get ne { 65.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 65.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 65.345 - } if 65.346 - stroke grestore} def 65.347 -% 65.348 -/languagelevel where 65.349 - {pop languagelevel} {1} ifelse 65.350 - 2 lt 65.351 - {/InterpretLevel1 true def} 65.352 - {/InterpretLevel1 Level1 def} 65.353 - ifelse 65.354 -% 65.355 -% PostScript level 2 pattern fill definitions 65.356 -% 65.357 -/Level2PatternFill { 65.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 65.359 - bind def 65.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 65.361 -<< Tile8x8 65.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 65.363 ->> matrix makepattern 65.364 -/Pat1 exch def 65.365 -<< Tile8x8 65.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 65.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 65.368 ->> matrix makepattern 65.369 -/Pat2 exch def 65.370 -<< Tile8x8 65.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 65.372 - 8 8 L 8 0 L 0 0 L fill} 65.373 ->> matrix makepattern 65.374 -/Pat3 exch def 65.375 -<< Tile8x8 65.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 65.377 - 0 12 M 12 0 L stroke} 65.378 ->> matrix makepattern 65.379 -/Pat4 exch def 65.380 -<< Tile8x8 65.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 65.382 - 0 -4 M 12 8 L stroke} 65.383 ->> matrix makepattern 65.384 -/Pat5 exch def 65.385 -<< Tile8x8 65.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 65.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 65.388 ->> matrix makepattern 65.389 -/Pat6 exch def 65.390 -<< Tile8x8 65.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 65.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 65.393 ->> matrix makepattern 65.394 -/Pat7 exch def 65.395 -<< Tile8x8 65.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 65.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 65.398 ->> matrix makepattern 65.399 -/Pat8 exch def 65.400 -<< Tile8x8 65.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 65.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 65.403 ->> matrix makepattern 65.404 -/Pat9 exch def 65.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 65.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 65.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 65.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 65.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 65.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 65.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 65.412 -} def 65.413 -% 65.414 -% 65.415 -%End of PostScript Level 2 code 65.416 -% 65.417 -/PatternBgnd { 65.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 65.419 -} def 65.420 -% 65.421 -% Substitute for Level 2 pattern fill codes with 65.422 -% grayscale if Level 2 support is not selected. 65.423 -% 65.424 -/Level1PatternFill { 65.425 -/Pattern1 {0.250 Density} bind def 65.426 -/Pattern2 {0.500 Density} bind def 65.427 -/Pattern3 {0.750 Density} bind def 65.428 -/Pattern4 {0.125 Density} bind def 65.429 -/Pattern5 {0.375 Density} bind def 65.430 -/Pattern6 {0.625 Density} bind def 65.431 -/Pattern7 {0.875 Density} bind def 65.432 -} def 65.433 -% 65.434 -% Now test for support of Level 2 code 65.435 -% 65.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 65.437 -% 65.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 65.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 65.440 -currentdict end definefont pop 65.441 -/MFshow { 65.442 - { dup 5 get 3 ge 65.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 65.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 65.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 65.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 65.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 65.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 65.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 65.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 65.451 - pop aload pop M} ifelse }ifelse }ifelse } 65.452 - ifelse } 65.453 - forall} def 65.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 65.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 65.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 65.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 65.458 -/MLshow { currentpoint stroke M 65.459 - 0 exch R 65.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 65.461 -/MRshow { currentpoint stroke M 65.462 - exch dup MFwidth neg 3 -1 roll R 65.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 65.464 -/MCshow { currentpoint stroke M 65.465 - exch dup MFwidth -2 div 3 -1 roll R 65.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 65.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 65.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 65.469 -end 65.470 -%%EndProlog 65.471 -%%Page: 1 1 65.472 -gnudict begin 65.473 -gsave 65.474 -doclip 65.475 -50 50 translate 65.476 -0.100 0.100 scale 65.477 -90 rotate 65.478 -0 -5040 translate 65.479 -0 setgray 65.480 -newpath 65.481 -(Helvetica) findfont 140 scalefont setfont 65.482 -1.000 UL 65.483 -LTb 65.484 -518 448 M 65.485 -63 0 V 65.486 -stroke 65.487 -434 448 M 65.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 65.489 -] -46.7 MRshow 65.490 -1.000 UL 65.491 -LTb 65.492 -518 792 M 65.493 -63 0 V 65.494 -stroke 65.495 -434 792 M 65.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 65.497 -] -46.7 MRshow 65.498 -1.000 UL 65.499 -LTb 65.500 -518 1136 M 65.501 -63 0 V 65.502 -stroke 65.503 -434 1136 M 65.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 65.505 -] -46.7 MRshow 65.506 -1.000 UL 65.507 -LTb 65.508 -518 1480 M 65.509 -63 0 V 65.510 -stroke 65.511 -434 1480 M 65.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 65.513 -] -46.7 MRshow 65.514 -1.000 UL 65.515 -LTb 65.516 -518 1823 M 65.517 -63 0 V 65.518 -stroke 65.519 -434 1823 M 65.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 65.521 -] -46.7 MRshow 65.522 -1.000 UL 65.523 -LTb 65.524 -518 2167 M 65.525 -63 0 V 65.526 -stroke 65.527 -434 2167 M 65.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 65.529 -] -46.7 MRshow 65.530 -1.000 UL 65.531 -LTb 65.532 -518 2511 M 65.533 -63 0 V 65.534 -stroke 65.535 -434 2511 M 65.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 65.537 -] -46.7 MRshow 65.538 -1.000 UL 65.539 -LTb 65.540 -518 2855 M 65.541 -63 0 V 65.542 -stroke 65.543 -434 2855 M 65.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 65.545 -] -46.7 MRshow 65.546 -1.000 UL 65.547 -LTb 65.548 -518 448 M 65.549 -0 63 V 65.550 -stroke 65.551 -518 308 M 65.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 65.553 -] -46.7 MCshow 65.554 -1.000 UL 65.555 -LTb 65.556 -962 448 M 65.557 -0 63 V 65.558 -stroke 65.559 -962 308 M 65.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 65.561 -] -46.7 MCshow 65.562 -1.000 UL 65.563 -LTb 65.564 -1405 448 M 65.565 -0 63 V 65.566 -stroke 65.567 -1405 308 M 65.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 65.569 -] -46.7 MCshow 65.570 -1.000 UL 65.571 -LTb 65.572 -1849 448 M 65.573 -0 63 V 65.574 -stroke 65.575 -1849 308 M 65.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 65.577 -] -46.7 MCshow 65.578 -1.000 UL 65.579 -LTb 65.580 -2293 448 M 65.581 -0 63 V 65.582 -stroke 65.583 -2293 308 M 65.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 65.585 -] -46.7 MCshow 65.586 -1.000 UL 65.587 -LTb 65.588 -2736 448 M 65.589 -0 63 V 65.590 -stroke 65.591 -2736 308 M 65.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 65.593 -] -46.7 MCshow 65.594 -1.000 UL 65.595 -LTb 65.596 -3180 448 M 65.597 -0 63 V 65.598 -stroke 65.599 -3180 308 M 65.600 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 65.601 -] -46.7 MCshow 65.602 -1.000 UL 65.603 -LTb 65.604 -3623 448 M 65.605 -0 63 V 65.606 -stroke 65.607 -3623 308 M 65.608 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 65.609 -] -46.7 MCshow 65.610 -1.000 UL 65.611 -LTb 65.612 -4067 448 M 65.613 -0 63 V 65.614 -stroke 65.615 -4067 308 M 65.616 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 65.617 -] -46.7 MCshow 65.618 -1.000 UL 65.619 -LTb 65.620 -1.000 UL 65.621 -LTb 65.622 -518 2855 M 65.623 -518 448 L 65.624 -3549 0 V 65.625 -0 2407 R 65.626 --3549 0 R 65.627 -stroke 65.628 -LCb setrgbcolor 65.629 -112 1651 M 65.630 -currentpoint gsave translate -270 rotate 0 0 moveto 65.631 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 65.632 -] -46.7 MCshow 65.633 -grestore 65.634 -LTb 65.635 -LCb setrgbcolor 65.636 -2292 98 M 65.637 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 65.638 -] -46.7 MCshow 65.639 -LTb 65.640 -1.000 UP 65.641 -1.000 UL 65.642 -LTb 65.643 -1.000 UL 65.644 -LTb 65.645 -2492 2232 N 65.646 -0 560 V 65.647 -1491 0 V 65.648 -0 -560 V 65.649 --1491 0 V 65.650 -Z stroke 65.651 -2492 2792 M 65.652 -1491 0 V 65.653 -% Begin plot #1 65.654 -stroke 65.655 -4.000 UL 65.656 -LT1 65.657 -LCa setrgbcolor 65.658 -518 792 M 65.659 -36 0 V 65.660 -36 0 V 65.661 -36 0 V 65.662 -35 0 V 65.663 -36 0 V 65.664 -36 0 V 65.665 -36 0 V 65.666 -36 0 V 65.667 -36 0 V 65.668 -35 0 V 65.669 -36 0 V 65.670 -36 0 V 65.671 -36 0 V 65.672 -36 0 V 65.673 -36 0 V 65.674 -36 0 V 65.675 -35 0 V 65.676 -36 0 V 65.677 -36 0 V 65.678 -36 0 V 65.679 -36 0 V 65.680 -36 0 V 65.681 -36 0 V 65.682 -35 0 V 65.683 -36 0 V 65.684 -36 0 V 65.685 -36 0 V 65.686 -36 0 V 65.687 -36 0 V 65.688 -35 0 V 65.689 -36 0 V 65.690 -36 0 V 65.691 -36 0 V 65.692 -36 0 V 65.693 -36 0 V 65.694 -36 0 V 65.695 -35 0 V 65.696 -36 0 V 65.697 -36 0 V 65.698 -36 0 V 65.699 -36 0 V 65.700 -36 0 V 65.701 -35 0 V 65.702 -36 0 V 65.703 -36 0 V 65.704 -36 0 V 65.705 -36 0 V 65.706 -36 0 V 65.707 -36 0 V 65.708 -35 0 V 65.709 -36 0 V 65.710 -36 0 V 65.711 -36 0 V 65.712 -36 0 V 65.713 -36 0 V 65.714 -36 0 V 65.715 -35 0 V 65.716 -36 0 V 65.717 -36 0 V 65.718 -36 0 V 65.719 -36 0 V 65.720 -36 0 V 65.721 -35 0 V 65.722 -36 0 V 65.723 -36 0 V 65.724 -36 0 V 65.725 -36 0 V 65.726 -36 0 V 65.727 -36 0 V 65.728 -35 0 V 65.729 -36 0 V 65.730 -36 0 V 65.731 -36 0 V 65.732 -36 0 V 65.733 -36 0 V 65.734 -35 0 V 65.735 -36 0 V 65.736 -36 0 V 65.737 -36 0 V 65.738 -36 0 V 65.739 -36 0 V 65.740 -36 0 V 65.741 -35 0 V 65.742 -36 0 V 65.743 -36 0 V 65.744 -36 0 V 65.745 -36 0 V 65.746 -36 0 V 65.747 -36 0 V 65.748 -35 0 V 65.749 -36 0 V 65.750 -36 0 V 65.751 -36 0 V 65.752 -36 0 V 65.753 -36 0 V 65.754 -35 0 V 65.755 -36 0 V 65.756 -36 0 V 65.757 -36 0 V 65.758 -% End plot #1 65.759 -% Begin plot #2 65.760 -stroke 65.761 -LT1 65.762 -LCb setrgbcolor 65.763 -3416 2722 M 65.764 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 65.765 -] -46.7 MRshow 65.766 -LT1 65.767 -3500 2722 M 65.768 -399 0 V 65.769 -670 2855 M 65.770 -51 -852 V 65.771 -882 1405 L 65.772 -1200 930 L 65.773 -1839 705 L 65.774 -3118 625 L 65.775 -949 -39 V 65.776 -% End plot #2 65.777 -% Begin plot #3 65.778 -stroke 65.779 -LT2 65.780 -LCb setrgbcolor 65.781 -3416 2582 M 65.782 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 65.783 -] -46.7 MRshow 65.784 -LT2 65.785 -3500 2582 M 65.786 -399 0 V 65.787 -632 2855 M 65.788 -8 -651 V 65.789 -80 -714 V 65.790 -881 1280 L 65.791 -1200 856 L 65.792 -1839 682 L 65.793 -3116 544 L 65.794 -951 -19 V 65.795 -% End plot #3 65.796 -% Begin plot #4 65.797 -stroke 65.798 -LT3 65.799 -LCb setrgbcolor 65.800 -3416 2442 M 65.801 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 65.802 -] -46.7 MRshow 65.803 -LT3 65.804 -3500 2442 M 65.805 -399 0 V 65.806 -678 2855 M 65.807 -45 -823 V 65.808 -882 1374 L 65.809 -1200 997 L 65.810 -1840 716 L 65.811 -3117 544 L 65.812 -950 -16 V 65.813 -% End plot #4 65.814 -% Begin plot #5 65.815 -stroke 65.816 -LT4 65.817 -LCb setrgbcolor 65.818 -3416 2302 M 65.819 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 65.820 -] -46.7 MRshow 65.821 -LT4 65.822 -3500 2302 M 65.823 -399 0 V 65.824 -656 2855 M 65.825 -67 -607 V 65.826 -881 1260 L 65.827 -1200 822 L 65.828 -1840 687 L 65.829 -3117 564 L 65.830 -950 -21 V 65.831 -% End plot #5 65.832 -stroke 65.833 -1.000 UL 65.834 -LTb 65.835 -518 2855 M 65.836 -518 448 L 65.837 -3549 0 V 65.838 -0 2407 R 65.839 --3549 0 R 65.840 -1.000 UP 65.841 -stroke 65.842 -grestore 65.843 -end 65.844 -showpage 65.845 -%%Trailer 65.846 -%%DocumentFonts: Helvetica 65.847 -%%Pages: 1
66.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/not_used/xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps Thu Feb 02 12:22:53 2012 -0800 66.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 66.3 @@ -1,821 +0,0 @@ 66.4 -%!PS-Adobe-2.0 66.5 -%%Title: xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps 66.6 -%%Creator: gnuplot 4.4 patchlevel 2 66.7 -%%CreationDate: Thu Jan 26 18:25:10 2012 66.8 -%%DocumentFonts: (atend) 66.9 -%%BoundingBox: 251 50 554 482 66.10 -%%Orientation: Landscape 66.11 -%%Pages: (atend) 66.12 -%%EndComments 66.13 -%%BeginProlog 66.14 -/gnudict 256 dict def 66.15 -gnudict begin 66.16 -% 66.17 -% The following true/false flags may be edited by hand if desired. 66.18 -% The unit line width and grayscale image gamma correction may also be changed. 66.19 -% 66.20 -/Color true def 66.21 -/Blacktext false def 66.22 -/Solid false def 66.23 -/Dashlength 1 def 66.24 -/Landscape true def 66.25 -/Level1 false def 66.26 -/Rounded false def 66.27 -/ClipToBoundingBox false def 66.28 -/TransparentPatterns false def 66.29 -/gnulinewidth 5.000 def 66.30 -/userlinewidth gnulinewidth def 66.31 -/Gamma 1.0 def 66.32 -% 66.33 -/vshift -46 def 66.34 -/dl1 { 66.35 - 10.0 Dashlength mul mul 66.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 66.37 -} def 66.38 -/dl2 { 66.39 - 10.0 Dashlength mul mul 66.40 - Rounded { currentlinewidth 0.75 mul add } if 66.41 -} def 66.42 -/hpt_ 31.5 def 66.43 -/vpt_ 31.5 def 66.44 -/hpt hpt_ def 66.45 -/vpt vpt_ def 66.46 -Level1 {} { 66.47 -/SDict 10 dict def 66.48 -systemdict /pdfmark known not { 66.49 - userdict /pdfmark systemdict /cleartomark get put 66.50 -} if 66.51 -SDict begin [ 66.52 - /Title (xoanon_vthread_80cores_80_160_320_640thds__o30000__perfCtrs.result.eps) 66.53 - /Subject (gnuplot plot) 66.54 - /Creator (gnuplot 4.4 patchlevel 2) 66.55 - /Author (msach) 66.56 -% /Producer (gnuplot) 66.57 -% /Keywords () 66.58 - /CreationDate (Thu Jan 26 18:25:10 2012) 66.59 - /DOCINFO pdfmark 66.60 -end 66.61 -} ifelse 66.62 -/doclip { 66.63 - ClipToBoundingBox { 66.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 66.65 - clip 66.66 - } if 66.67 -} def 66.68 -% 66.69 -% Gnuplot Prolog Version 4.4 (August 2010) 66.70 -% 66.71 -%/SuppressPDFMark true def 66.72 -% 66.73 -/M {moveto} bind def 66.74 -/L {lineto} bind def 66.75 -/R {rmoveto} bind def 66.76 -/V {rlineto} bind def 66.77 -/N {newpath moveto} bind def 66.78 -/Z {closepath} bind def 66.79 -/C {setrgbcolor} bind def 66.80 -/f {rlineto fill} bind def 66.81 -/g {setgray} bind def 66.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 66.83 -/vpt2 vpt 2 mul def 66.84 -/hpt2 hpt 2 mul def 66.85 -/Lshow {currentpoint stroke M 0 vshift R 66.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 66.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 66.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 66.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 66.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 66.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 66.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 66.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 66.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 66.95 -/BL {stroke userlinewidth 2 mul setlinewidth 66.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 66.97 -/AL {stroke userlinewidth 2 div setlinewidth 66.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 66.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 66.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 66.101 -/PL {stroke userlinewidth setlinewidth 66.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 66.103 -3.8 setmiterlimit 66.104 -% Default Line colors 66.105 -/LCw {1 1 1} def 66.106 -/LCb {0 0 0} def 66.107 -/LCa {0 0 0} def 66.108 -/LC0 {1 0 0} def 66.109 -/LC1 {0 1 0} def 66.110 -/LC2 {0 0 1} def 66.111 -/LC3 {1 0 1} def 66.112 -/LC4 {0 1 1} def 66.113 -/LC5 {1 1 0} def 66.114 -/LC6 {0 0 0} def 66.115 -/LC7 {1 0.3 0} def 66.116 -/LC8 {0.5 0.5 0.5} def 66.117 -% Default Line Types 66.118 -/LTw {PL [] 1 setgray} def 66.119 -/LTb {BL [] LCb DL} def 66.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 66.121 -/LT0 {PL [] LC0 DL} def 66.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 66.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 66.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 66.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 66.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 66.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 66.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 66.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 66.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 66.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 66.132 - hpt neg vpt neg V hpt vpt neg V 66.133 - hpt vpt V hpt neg vpt V closepath stroke 66.134 - Pnt} def 66.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 66.136 - currentpoint stroke M 66.137 - hpt neg vpt neg R hpt2 0 V stroke 66.138 - } def 66.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 66.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 66.141 - hpt2 neg 0 V closepath stroke 66.142 - Pnt} def 66.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 66.144 - hpt2 vpt2 neg V currentpoint stroke M 66.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 66.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 66.147 - hpt neg vpt -1.62 mul V 66.148 - hpt 2 mul 0 V 66.149 - hpt neg vpt 1.62 mul V closepath stroke 66.150 - Pnt} def 66.151 -/Star {2 copy Pls Crs} def 66.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 66.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 66.154 - hpt2 neg 0 V closepath fill} def 66.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 66.156 - hpt neg vpt -1.62 mul V 66.157 - hpt 2 mul 0 V 66.158 - hpt neg vpt 1.62 mul V closepath fill} def 66.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 66.160 - hpt neg vpt 1.62 mul V 66.161 - hpt 2 mul 0 V 66.162 - hpt neg vpt -1.62 mul V closepath stroke 66.163 - Pnt} def 66.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 66.165 - hpt neg vpt 1.62 mul V 66.166 - hpt 2 mul 0 V 66.167 - hpt neg vpt -1.62 mul V closepath fill} def 66.168 -/DiaF {stroke [] 0 setdash vpt add M 66.169 - hpt neg vpt neg V hpt vpt neg V 66.170 - hpt vpt V hpt neg vpt V closepath fill} def 66.171 -/Pent {stroke [] 0 setdash 2 copy gsave 66.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 66.173 - closepath stroke grestore Pnt} def 66.174 -/PentF {stroke [] 0 setdash gsave 66.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 66.176 - closepath fill grestore} def 66.177 -/Circle {stroke [] 0 setdash 2 copy 66.178 - hpt 0 360 arc stroke Pnt} def 66.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 66.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 66.181 -/C1 {BL [] 0 setdash 2 copy moveto 66.182 - 2 copy vpt 0 90 arc closepath fill 66.183 - vpt 0 360 arc closepath} bind def 66.184 -/C2 {BL [] 0 setdash 2 copy moveto 66.185 - 2 copy vpt 90 180 arc closepath fill 66.186 - vpt 0 360 arc closepath} bind def 66.187 -/C3 {BL [] 0 setdash 2 copy moveto 66.188 - 2 copy vpt 0 180 arc closepath fill 66.189 - vpt 0 360 arc closepath} bind def 66.190 -/C4 {BL [] 0 setdash 2 copy moveto 66.191 - 2 copy vpt 180 270 arc closepath fill 66.192 - vpt 0 360 arc closepath} bind def 66.193 -/C5 {BL [] 0 setdash 2 copy moveto 66.194 - 2 copy vpt 0 90 arc 66.195 - 2 copy moveto 66.196 - 2 copy vpt 180 270 arc closepath fill 66.197 - vpt 0 360 arc} bind def 66.198 -/C6 {BL [] 0 setdash 2 copy moveto 66.199 - 2 copy vpt 90 270 arc closepath fill 66.200 - vpt 0 360 arc closepath} bind def 66.201 -/C7 {BL [] 0 setdash 2 copy moveto 66.202 - 2 copy vpt 0 270 arc closepath fill 66.203 - vpt 0 360 arc closepath} bind def 66.204 -/C8 {BL [] 0 setdash 2 copy moveto 66.205 - 2 copy vpt 270 360 arc closepath fill 66.206 - vpt 0 360 arc closepath} bind def 66.207 -/C9 {BL [] 0 setdash 2 copy moveto 66.208 - 2 copy vpt 270 450 arc closepath fill 66.209 - vpt 0 360 arc closepath} bind def 66.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 66.211 - 2 copy moveto 66.212 - 2 copy vpt 90 180 arc closepath fill 66.213 - vpt 0 360 arc closepath} bind def 66.214 -/C11 {BL [] 0 setdash 2 copy moveto 66.215 - 2 copy vpt 0 180 arc closepath fill 66.216 - 2 copy moveto 66.217 - 2 copy vpt 270 360 arc closepath fill 66.218 - vpt 0 360 arc closepath} bind def 66.219 -/C12 {BL [] 0 setdash 2 copy moveto 66.220 - 2 copy vpt 180 360 arc closepath fill 66.221 - vpt 0 360 arc closepath} bind def 66.222 -/C13 {BL [] 0 setdash 2 copy moveto 66.223 - 2 copy vpt 0 90 arc closepath fill 66.224 - 2 copy moveto 66.225 - 2 copy vpt 180 360 arc closepath fill 66.226 - vpt 0 360 arc closepath} bind def 66.227 -/C14 {BL [] 0 setdash 2 copy moveto 66.228 - 2 copy vpt 90 360 arc closepath fill 66.229 - vpt 0 360 arc} bind def 66.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 66.231 - vpt 0 360 arc closepath} bind def 66.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 66.233 - neg 0 rlineto closepath} bind def 66.234 -/Square {dup Rec} bind def 66.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 66.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 66.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 66.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 66.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 66.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 66.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 66.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 66.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 66.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 66.245 - 2 copy vpt Square fill Bsquare} bind def 66.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 66.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 66.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 66.249 - Bsquare} bind def 66.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 66.251 - Bsquare} bind def 66.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 66.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 66.254 - 2 copy vpt Square fill Bsquare} bind def 66.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 66.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 66.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 66.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 66.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 66.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 66.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 66.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 66.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 66.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 66.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 66.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 66.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 66.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 66.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 66.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 66.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 66.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 66.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 66.274 -/DiaE {stroke [] 0 setdash vpt add M 66.275 - hpt neg vpt neg V hpt vpt neg V 66.276 - hpt vpt V hpt neg vpt V closepath stroke} def 66.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 66.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 66.279 - hpt2 neg 0 V closepath stroke} def 66.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 66.281 - hpt neg vpt -1.62 mul V 66.282 - hpt 2 mul 0 V 66.283 - hpt neg vpt 1.62 mul V closepath stroke} def 66.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 66.285 - hpt neg vpt 1.62 mul V 66.286 - hpt 2 mul 0 V 66.287 - hpt neg vpt -1.62 mul V closepath stroke} def 66.288 -/PentE {stroke [] 0 setdash gsave 66.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 66.290 - closepath stroke grestore} def 66.291 -/CircE {stroke [] 0 setdash 66.292 - hpt 0 360 arc stroke} def 66.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 66.294 -/DiaW {stroke [] 0 setdash vpt add M 66.295 - hpt neg vpt neg V hpt vpt neg V 66.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 66.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 66.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 66.299 - hpt2 neg 0 V Opaque stroke} def 66.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 66.301 - hpt neg vpt -1.62 mul V 66.302 - hpt 2 mul 0 V 66.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 66.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 66.305 - hpt neg vpt 1.62 mul V 66.306 - hpt 2 mul 0 V 66.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 66.308 -/PentW {stroke [] 0 setdash gsave 66.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 66.310 - Opaque stroke grestore} def 66.311 -/CircW {stroke [] 0 setdash 66.312 - hpt 0 360 arc Opaque stroke} def 66.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 66.314 -/Density { 66.315 - /Fillden exch def 66.316 - currentrgbcolor 66.317 - /ColB exch def /ColG exch def /ColR exch def 66.318 - /ColR ColR Fillden mul Fillden sub 1 add def 66.319 - /ColG ColG Fillden mul Fillden sub 1 add def 66.320 - /ColB ColB Fillden mul Fillden sub 1 add def 66.321 - ColR ColG ColB setrgbcolor} def 66.322 -/BoxColFill {gsave Rec PolyFill} def 66.323 -/PolyFill {gsave Density fill grestore grestore} def 66.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 66.325 -% 66.326 -% PostScript Level 1 Pattern Fill routine for rectangles 66.327 -% Usage: x y w h s a XX PatternFill 66.328 -% x,y = lower left corner of box to be filled 66.329 -% w,h = width and height of box 66.330 -% a = angle in degrees between lines and x-axis 66.331 -% XX = 0/1 for no/yes cross-hatch 66.332 -% 66.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 66.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 66.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 66.336 - gsave 1 setgray fill grestore clip 66.337 - currentlinewidth 0.5 mul setlinewidth 66.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 66.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 66.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 66.341 - {PFa 4 get mul 0 M 0 PFs V} for 66.342 - 0 PFa 6 get ne { 66.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 66.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 66.345 - } if 66.346 - stroke grestore} def 66.347 -% 66.348 -/languagelevel where 66.349 - {pop languagelevel} {1} ifelse 66.350 - 2 lt 66.351 - {/InterpretLevel1 true def} 66.352 - {/InterpretLevel1 Level1 def} 66.353 - ifelse 66.354 -% 66.355 -% PostScript level 2 pattern fill definitions 66.356 -% 66.357 -/Level2PatternFill { 66.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 66.359 - bind def 66.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 66.361 -<< Tile8x8 66.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 66.363 ->> matrix makepattern 66.364 -/Pat1 exch def 66.365 -<< Tile8x8 66.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 66.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 66.368 ->> matrix makepattern 66.369 -/Pat2 exch def 66.370 -<< Tile8x8 66.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 66.372 - 8 8 L 8 0 L 0 0 L fill} 66.373 ->> matrix makepattern 66.374 -/Pat3 exch def 66.375 -<< Tile8x8 66.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 66.377 - 0 12 M 12 0 L stroke} 66.378 ->> matrix makepattern 66.379 -/Pat4 exch def 66.380 -<< Tile8x8 66.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 66.382 - 0 -4 M 12 8 L stroke} 66.383 ->> matrix makepattern 66.384 -/Pat5 exch def 66.385 -<< Tile8x8 66.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 66.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 66.388 ->> matrix makepattern 66.389 -/Pat6 exch def 66.390 -<< Tile8x8 66.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 66.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 66.393 ->> matrix makepattern 66.394 -/Pat7 exch def 66.395 -<< Tile8x8 66.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 66.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 66.398 ->> matrix makepattern 66.399 -/Pat8 exch def 66.400 -<< Tile8x8 66.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 66.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 66.403 ->> matrix makepattern 66.404 -/Pat9 exch def 66.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 66.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 66.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 66.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 66.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 66.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 66.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 66.412 -} def 66.413 -% 66.414 -% 66.415 -%End of PostScript Level 2 code 66.416 -% 66.417 -/PatternBgnd { 66.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 66.419 -} def 66.420 -% 66.421 -% Substitute for Level 2 pattern fill codes with 66.422 -% grayscale if Level 2 support is not selected. 66.423 -% 66.424 -/Level1PatternFill { 66.425 -/Pattern1 {0.250 Density} bind def 66.426 -/Pattern2 {0.500 Density} bind def 66.427 -/Pattern3 {0.750 Density} bind def 66.428 -/Pattern4 {0.125 Density} bind def 66.429 -/Pattern5 {0.375 Density} bind def 66.430 -/Pattern6 {0.625 Density} bind def 66.431 -/Pattern7 {0.875 Density} bind def 66.432 -} def 66.433 -% 66.434 -% Now test for support of Level 2 code 66.435 -% 66.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 66.437 -% 66.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 66.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 66.440 -currentdict end definefont pop 66.441 -/MFshow { 66.442 - { dup 5 get 3 ge 66.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 66.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 66.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 66.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 66.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 66.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 66.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 66.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 66.451 - pop aload pop M} ifelse }ifelse }ifelse } 66.452 - ifelse } 66.453 - forall} def 66.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 66.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 66.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 66.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 66.458 -/MLshow { currentpoint stroke M 66.459 - 0 exch R 66.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 66.461 -/MRshow { currentpoint stroke M 66.462 - exch dup MFwidth neg 3 -1 roll R 66.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 66.464 -/MCshow { currentpoint stroke M 66.465 - exch dup MFwidth -2 div 3 -1 roll R 66.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 66.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 66.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 66.469 -end 66.470 -%%EndProlog 66.471 -%%Page: 1 1 66.472 -gnudict begin 66.473 -gsave 66.474 -doclip 66.475 -50 50 translate 66.476 -0.100 0.100 scale 66.477 -90 rotate 66.478 -0 -5040 translate 66.479 -0 setgray 66.480 -newpath 66.481 -(Helvetica) findfont 140 scalefont setfont 66.482 -1.000 UL 66.483 -LTb 66.484 -518 448 M 66.485 -63 0 V 66.486 -stroke 66.487 -434 448 M 66.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 66.489 -] -46.7 MRshow 66.490 -1.000 UL 66.491 -LTb 66.492 -518 792 M 66.493 -63 0 V 66.494 -stroke 66.495 -434 792 M 66.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 66.497 -] -46.7 MRshow 66.498 -1.000 UL 66.499 -LTb 66.500 -518 1136 M 66.501 -63 0 V 66.502 -stroke 66.503 -434 1136 M 66.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 66.505 -] -46.7 MRshow 66.506 -1.000 UL 66.507 -LTb 66.508 -518 1480 M 66.509 -63 0 V 66.510 -stroke 66.511 -434 1480 M 66.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 66.513 -] -46.7 MRshow 66.514 -1.000 UL 66.515 -LTb 66.516 -518 1823 M 66.517 -63 0 V 66.518 -stroke 66.519 -434 1823 M 66.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 66.521 -] -46.7 MRshow 66.522 -1.000 UL 66.523 -LTb 66.524 -518 2167 M 66.525 -63 0 V 66.526 -stroke 66.527 -434 2167 M 66.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 66.529 -] -46.7 MRshow 66.530 -1.000 UL 66.531 -LTb 66.532 -518 2511 M 66.533 -63 0 V 66.534 -stroke 66.535 -434 2511 M 66.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 66.537 -] -46.7 MRshow 66.538 -1.000 UL 66.539 -LTb 66.540 -518 2855 M 66.541 -63 0 V 66.542 -stroke 66.543 -434 2855 M 66.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 66.545 -] -46.7 MRshow 66.546 -1.000 UL 66.547 -LTb 66.548 -518 448 M 66.549 -0 63 V 66.550 -stroke 66.551 -518 308 M 66.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 66.553 -] -46.7 MCshow 66.554 -1.000 UL 66.555 -LTb 66.556 -962 448 M 66.557 -0 63 V 66.558 -stroke 66.559 -962 308 M 66.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 66.561 -] -46.7 MCshow 66.562 -1.000 UL 66.563 -LTb 66.564 -1405 448 M 66.565 -0 63 V 66.566 -stroke 66.567 -1405 308 M 66.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 66.569 -] -46.7 MCshow 66.570 -1.000 UL 66.571 -LTb 66.572 -1849 448 M 66.573 -0 63 V 66.574 -stroke 66.575 -1849 308 M 66.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 66.577 -] -46.7 MCshow 66.578 -1.000 UL 66.579 -LTb 66.580 -2293 448 M 66.581 -0 63 V 66.582 -stroke 66.583 -2293 308 M 66.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 66.585 -] -46.7 MCshow 66.586 -1.000 UL 66.587 -LTb 66.588 -2736 448 M 66.589 -0 63 V 66.590 -stroke 66.591 -2736 308 M 66.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 66.593 -] -46.7 MCshow 66.594 -1.000 UL 66.595 -LTb 66.596 -3180 448 M 66.597 -0 63 V 66.598 -stroke 66.599 -3180 308 M 66.600 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 66.601 -] -46.7 MCshow 66.602 -1.000 UL 66.603 -LTb 66.604 -3623 448 M 66.605 -0 63 V 66.606 -stroke 66.607 -3623 308 M 66.608 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 66.609 -] -46.7 MCshow 66.610 -1.000 UL 66.611 -LTb 66.612 -4067 448 M 66.613 -0 63 V 66.614 -stroke 66.615 -4067 308 M 66.616 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 66.617 -] -46.7 MCshow 66.618 -1.000 UL 66.619 -LTb 66.620 -1.000 UL 66.621 -LTb 66.622 -518 2855 M 66.623 -518 448 L 66.624 -3549 0 V 66.625 -0 2407 R 66.626 --3549 0 R 66.627 -stroke 66.628 -LCb setrgbcolor 66.629 -112 1651 M 66.630 -currentpoint gsave translate -270 rotate 0 0 moveto 66.631 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 66.632 -] -46.7 MCshow 66.633 -grestore 66.634 -LTb 66.635 -LCb setrgbcolor 66.636 -2292 98 M 66.637 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 66.638 -] -46.7 MCshow 66.639 -LTb 66.640 -1.000 UP 66.641 -1.000 UL 66.642 -LTb 66.643 -1.000 UL 66.644 -LTb 66.645 -2492 2372 N 66.646 -0 420 V 66.647 -1491 0 V 66.648 -0 -420 V 66.649 --1491 0 V 66.650 -Z stroke 66.651 -2492 2792 M 66.652 -1491 0 V 66.653 -% Begin plot #1 66.654 -stroke 66.655 -4.000 UL 66.656 -LT1 66.657 -LCa setrgbcolor 66.658 -518 792 M 66.659 -36 0 V 66.660 -36 0 V 66.661 -36 0 V 66.662 -35 0 V 66.663 -36 0 V 66.664 -36 0 V 66.665 -36 0 V 66.666 -36 0 V 66.667 -36 0 V 66.668 -35 0 V 66.669 -36 0 V 66.670 -36 0 V 66.671 -36 0 V 66.672 -36 0 V 66.673 -36 0 V 66.674 -36 0 V 66.675 -35 0 V 66.676 -36 0 V 66.677 -36 0 V 66.678 -36 0 V 66.679 -36 0 V 66.680 -36 0 V 66.681 -36 0 V 66.682 -35 0 V 66.683 -36 0 V 66.684 -36 0 V 66.685 -36 0 V 66.686 -36 0 V 66.687 -36 0 V 66.688 -35 0 V 66.689 -36 0 V 66.690 -36 0 V 66.691 -36 0 V 66.692 -36 0 V 66.693 -36 0 V 66.694 -36 0 V 66.695 -35 0 V 66.696 -36 0 V 66.697 -36 0 V 66.698 -36 0 V 66.699 -36 0 V 66.700 -36 0 V 66.701 -35 0 V 66.702 -36 0 V 66.703 -36 0 V 66.704 -36 0 V 66.705 -36 0 V 66.706 -36 0 V 66.707 -36 0 V 66.708 -35 0 V 66.709 -36 0 V 66.710 -36 0 V 66.711 -36 0 V 66.712 -36 0 V 66.713 -36 0 V 66.714 -36 0 V 66.715 -35 0 V 66.716 -36 0 V 66.717 -36 0 V 66.718 -36 0 V 66.719 -36 0 V 66.720 -36 0 V 66.721 -35 0 V 66.722 -36 0 V 66.723 -36 0 V 66.724 -36 0 V 66.725 -36 0 V 66.726 -36 0 V 66.727 -36 0 V 66.728 -35 0 V 66.729 -36 0 V 66.730 -36 0 V 66.731 -36 0 V 66.732 -36 0 V 66.733 -36 0 V 66.734 -35 0 V 66.735 -36 0 V 66.736 -36 0 V 66.737 -36 0 V 66.738 -36 0 V 66.739 -36 0 V 66.740 -36 0 V 66.741 -35 0 V 66.742 -36 0 V 66.743 -36 0 V 66.744 -36 0 V 66.745 -36 0 V 66.746 -36 0 V 66.747 -36 0 V 66.748 -35 0 V 66.749 -36 0 V 66.750 -36 0 V 66.751 -36 0 V 66.752 -36 0 V 66.753 -36 0 V 66.754 -35 0 V 66.755 -36 0 V 66.756 -36 0 V 66.757 -36 0 V 66.758 -% End plot #1 66.759 -% Begin plot #2 66.760 -stroke 66.761 -LT1 66.762 -LCb setrgbcolor 66.763 -3416 2722 M 66.764 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 66.765 -] -46.7 MRshow 66.766 -LT1 66.767 -3500 2722 M 66.768 -399 0 V 66.769 -1143 2855 M 66.770 -119 -356 V 66.771 -1884 1393 L 66.772 -3173 986 L 66.773 -4067 875 L 66.774 -% End plot #2 66.775 -% Begin plot #3 66.776 -stroke 66.777 -LT2 66.778 -LCb setrgbcolor 66.779 -3416 2582 M 66.780 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 66.781 -] -46.7 MRshow 66.782 -LT2 66.783 -3500 2582 M 66.784 -399 0 V 66.785 -938 2855 M 66.786 -11 -154 V 66.787 -298 -610 V 66.788 -661 -716 V 66.789 -3205 912 L 66.790 -862 -78 V 66.791 -% End plot #3 66.792 -% Begin plot #4 66.793 -stroke 66.794 -LT3 66.795 -LCb setrgbcolor 66.796 -3416 2442 M 66.797 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 66.798 -] -46.7 MRshow 66.799 -LT3 66.800 -3500 2442 M 66.801 -399 0 V 66.802 -933 2855 M 66.803 -7 -106 V 66.804 -316 -533 V 66.805 -639 -908 V 66.806 -3183 912 L 66.807 -884 -75 V 66.808 -% End plot #4 66.809 -stroke 66.810 -1.000 UL 66.811 -LTb 66.812 -518 2855 M 66.813 -518 448 L 66.814 -3549 0 V 66.815 -0 2407 R 66.816 --3549 0 R 66.817 -1.000 UP 66.818 -stroke 66.819 -grestore 66.820 -end 66.821 -showpage 66.822 -%%Trailer 66.823 -%%DocumentFonts: Helvetica 66.824 -%%Pages: 1
67.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/vms_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps Thu Feb 02 12:22:53 2012 -0800 67.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 67.3 @@ -1,1319 +0,0 @@ 67.4 -%!PS-Adobe-2.0 67.5 -%%Title: vms_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps 67.6 -%%Creator: gnuplot 4.4 patchlevel 2 67.7 -%%CreationDate: Thu Jan 26 18:20:37 2012 67.8 -%%DocumentFonts: (atend) 67.9 -%%BoundingBox: 251 50 554 482 67.10 -%%Orientation: Landscape 67.11 -%%Pages: (atend) 67.12 -%%EndComments 67.13 -%%BeginProlog 67.14 -/gnudict 256 dict def 67.15 -gnudict begin 67.16 -% 67.17 -% The following true/false flags may be edited by hand if desired. 67.18 -% The unit line width and grayscale image gamma correction may also be changed. 67.19 -% 67.20 -/Color true def 67.21 -/Blacktext false def 67.22 -/Solid false def 67.23 -/Dashlength 1 def 67.24 -/Landscape true def 67.25 -/Level1 false def 67.26 -/Rounded false def 67.27 -/ClipToBoundingBox false def 67.28 -/TransparentPatterns false def 67.29 -/gnulinewidth 5.000 def 67.30 -/userlinewidth gnulinewidth def 67.31 -/Gamma 1.0 def 67.32 -% 67.33 -/vshift -46 def 67.34 -/dl1 { 67.35 - 10.0 Dashlength mul mul 67.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 67.37 -} def 67.38 -/dl2 { 67.39 - 10.0 Dashlength mul mul 67.40 - Rounded { currentlinewidth 0.75 mul add } if 67.41 -} def 67.42 -/hpt_ 31.5 def 67.43 -/vpt_ 31.5 def 67.44 -/hpt hpt_ def 67.45 -/vpt vpt_ def 67.46 -Level1 {} { 67.47 -/SDict 10 dict def 67.48 -systemdict /pdfmark known not { 67.49 - userdict /pdfmark systemdict /cleartomark get put 67.50 -} if 67.51 -SDict begin [ 67.52 - /Title (vms_pthreads_vthread_8_32_128_512thds__o30000__perfCtrs.meas.eps) 67.53 - /Subject (gnuplot plot) 67.54 - /Creator (gnuplot 4.4 patchlevel 2) 67.55 - /Author (msach) 67.56 -% /Producer (gnuplot) 67.57 -% /Keywords () 67.58 - /CreationDate (Thu Jan 26 18:20:37 2012) 67.59 - /DOCINFO pdfmark 67.60 -end 67.61 -} ifelse 67.62 -/doclip { 67.63 - ClipToBoundingBox { 67.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 67.65 - clip 67.66 - } if 67.67 -} def 67.68 -% 67.69 -% Gnuplot Prolog Version 4.4 (August 2010) 67.70 -% 67.71 -%/SuppressPDFMark true def 67.72 -% 67.73 -/M {moveto} bind def 67.74 -/L {lineto} bind def 67.75 -/R {rmoveto} bind def 67.76 -/V {rlineto} bind def 67.77 -/N {newpath moveto} bind def 67.78 -/Z {closepath} bind def 67.79 -/C {setrgbcolor} bind def 67.80 -/f {rlineto fill} bind def 67.81 -/g {setgray} bind def 67.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 67.83 -/vpt2 vpt 2 mul def 67.84 -/hpt2 hpt 2 mul def 67.85 -/Lshow {currentpoint stroke M 0 vshift R 67.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 67.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 67.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 67.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 67.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 67.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 67.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 67.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 67.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 67.95 -/BL {stroke userlinewidth 2 mul setlinewidth 67.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 67.97 -/AL {stroke userlinewidth 2 div setlinewidth 67.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 67.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 67.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 67.101 -/PL {stroke userlinewidth setlinewidth 67.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 67.103 -3.8 setmiterlimit 67.104 -% Default Line colors 67.105 -/LCw {1 1 1} def 67.106 -/LCb {0 0 0} def 67.107 -/LCa {0 0 0} def 67.108 -/LC0 {1 0 0} def 67.109 -/LC1 {0 1 0} def 67.110 -/LC2 {0 0 1} def 67.111 -/LC3 {1 0 1} def 67.112 -/LC4 {0 1 1} def 67.113 -/LC5 {1 1 0} def 67.114 -/LC6 {0 0 0} def 67.115 -/LC7 {1 0.3 0} def 67.116 -/LC8 {0.5 0.5 0.5} def 67.117 -% Default Line Types 67.118 -/LTw {PL [] 1 setgray} def 67.119 -/LTb {BL [] LCb DL} def 67.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 67.121 -/LT0 {PL [] LC0 DL} def 67.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 67.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 67.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 67.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 67.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 67.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 67.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 67.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 67.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 67.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 67.132 - hpt neg vpt neg V hpt vpt neg V 67.133 - hpt vpt V hpt neg vpt V closepath stroke 67.134 - Pnt} def 67.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 67.136 - currentpoint stroke M 67.137 - hpt neg vpt neg R hpt2 0 V stroke 67.138 - } def 67.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 67.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 67.141 - hpt2 neg 0 V closepath stroke 67.142 - Pnt} def 67.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 67.144 - hpt2 vpt2 neg V currentpoint stroke M 67.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 67.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 67.147 - hpt neg vpt -1.62 mul V 67.148 - hpt 2 mul 0 V 67.149 - hpt neg vpt 1.62 mul V closepath stroke 67.150 - Pnt} def 67.151 -/Star {2 copy Pls Crs} def 67.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 67.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 67.154 - hpt2 neg 0 V closepath fill} def 67.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 67.156 - hpt neg vpt -1.62 mul V 67.157 - hpt 2 mul 0 V 67.158 - hpt neg vpt 1.62 mul V closepath fill} def 67.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 67.160 - hpt neg vpt 1.62 mul V 67.161 - hpt 2 mul 0 V 67.162 - hpt neg vpt -1.62 mul V closepath stroke 67.163 - Pnt} def 67.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 67.165 - hpt neg vpt 1.62 mul V 67.166 - hpt 2 mul 0 V 67.167 - hpt neg vpt -1.62 mul V closepath fill} def 67.168 -/DiaF {stroke [] 0 setdash vpt add M 67.169 - hpt neg vpt neg V hpt vpt neg V 67.170 - hpt vpt V hpt neg vpt V closepath fill} def 67.171 -/Pent {stroke [] 0 setdash 2 copy gsave 67.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 67.173 - closepath stroke grestore Pnt} def 67.174 -/PentF {stroke [] 0 setdash gsave 67.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 67.176 - closepath fill grestore} def 67.177 -/Circle {stroke [] 0 setdash 2 copy 67.178 - hpt 0 360 arc stroke Pnt} def 67.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 67.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 67.181 -/C1 {BL [] 0 setdash 2 copy moveto 67.182 - 2 copy vpt 0 90 arc closepath fill 67.183 - vpt 0 360 arc closepath} bind def 67.184 -/C2 {BL [] 0 setdash 2 copy moveto 67.185 - 2 copy vpt 90 180 arc closepath fill 67.186 - vpt 0 360 arc closepath} bind def 67.187 -/C3 {BL [] 0 setdash 2 copy moveto 67.188 - 2 copy vpt 0 180 arc closepath fill 67.189 - vpt 0 360 arc closepath} bind def 67.190 -/C4 {BL [] 0 setdash 2 copy moveto 67.191 - 2 copy vpt 180 270 arc closepath fill 67.192 - vpt 0 360 arc closepath} bind def 67.193 -/C5 {BL [] 0 setdash 2 copy moveto 67.194 - 2 copy vpt 0 90 arc 67.195 - 2 copy moveto 67.196 - 2 copy vpt 180 270 arc closepath fill 67.197 - vpt 0 360 arc} bind def 67.198 -/C6 {BL [] 0 setdash 2 copy moveto 67.199 - 2 copy vpt 90 270 arc closepath fill 67.200 - vpt 0 360 arc closepath} bind def 67.201 -/C7 {BL [] 0 setdash 2 copy moveto 67.202 - 2 copy vpt 0 270 arc closepath fill 67.203 - vpt 0 360 arc closepath} bind def 67.204 -/C8 {BL [] 0 setdash 2 copy moveto 67.205 - 2 copy vpt 270 360 arc closepath fill 67.206 - vpt 0 360 arc closepath} bind def 67.207 -/C9 {BL [] 0 setdash 2 copy moveto 67.208 - 2 copy vpt 270 450 arc closepath fill 67.209 - vpt 0 360 arc closepath} bind def 67.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 67.211 - 2 copy moveto 67.212 - 2 copy vpt 90 180 arc closepath fill 67.213 - vpt 0 360 arc closepath} bind def 67.214 -/C11 {BL [] 0 setdash 2 copy moveto 67.215 - 2 copy vpt 0 180 arc closepath fill 67.216 - 2 copy moveto 67.217 - 2 copy vpt 270 360 arc closepath fill 67.218 - vpt 0 360 arc closepath} bind def 67.219 -/C12 {BL [] 0 setdash 2 copy moveto 67.220 - 2 copy vpt 180 360 arc closepath fill 67.221 - vpt 0 360 arc closepath} bind def 67.222 -/C13 {BL [] 0 setdash 2 copy moveto 67.223 - 2 copy vpt 0 90 arc closepath fill 67.224 - 2 copy moveto 67.225 - 2 copy vpt 180 360 arc closepath fill 67.226 - vpt 0 360 arc closepath} bind def 67.227 -/C14 {BL [] 0 setdash 2 copy moveto 67.228 - 2 copy vpt 90 360 arc closepath fill 67.229 - vpt 0 360 arc} bind def 67.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 67.231 - vpt 0 360 arc closepath} bind def 67.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 67.233 - neg 0 rlineto closepath} bind def 67.234 -/Square {dup Rec} bind def 67.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 67.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 67.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 67.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 67.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 67.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 67.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 67.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 67.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 67.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 67.245 - 2 copy vpt Square fill Bsquare} bind def 67.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 67.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 67.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 67.249 - Bsquare} bind def 67.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 67.251 - Bsquare} bind def 67.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 67.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 67.254 - 2 copy vpt Square fill Bsquare} bind def 67.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 67.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 67.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 67.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 67.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 67.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 67.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 67.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 67.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 67.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 67.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 67.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 67.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 67.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 67.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 67.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 67.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 67.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 67.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 67.274 -/DiaE {stroke [] 0 setdash vpt add M 67.275 - hpt neg vpt neg V hpt vpt neg V 67.276 - hpt vpt V hpt neg vpt V closepath stroke} def 67.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 67.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 67.279 - hpt2 neg 0 V closepath stroke} def 67.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 67.281 - hpt neg vpt -1.62 mul V 67.282 - hpt 2 mul 0 V 67.283 - hpt neg vpt 1.62 mul V closepath stroke} def 67.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 67.285 - hpt neg vpt 1.62 mul V 67.286 - hpt 2 mul 0 V 67.287 - hpt neg vpt -1.62 mul V closepath stroke} def 67.288 -/PentE {stroke [] 0 setdash gsave 67.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 67.290 - closepath stroke grestore} def 67.291 -/CircE {stroke [] 0 setdash 67.292 - hpt 0 360 arc stroke} def 67.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 67.294 -/DiaW {stroke [] 0 setdash vpt add M 67.295 - hpt neg vpt neg V hpt vpt neg V 67.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 67.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 67.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 67.299 - hpt2 neg 0 V Opaque stroke} def 67.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 67.301 - hpt neg vpt -1.62 mul V 67.302 - hpt 2 mul 0 V 67.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 67.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 67.305 - hpt neg vpt 1.62 mul V 67.306 - hpt 2 mul 0 V 67.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 67.308 -/PentW {stroke [] 0 setdash gsave 67.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 67.310 - Opaque stroke grestore} def 67.311 -/CircW {stroke [] 0 setdash 67.312 - hpt 0 360 arc Opaque stroke} def 67.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 67.314 -/Density { 67.315 - /Fillden exch def 67.316 - currentrgbcolor 67.317 - /ColB exch def /ColG exch def /ColR exch def 67.318 - /ColR ColR Fillden mul Fillden sub 1 add def 67.319 - /ColG ColG Fillden mul Fillden sub 1 add def 67.320 - /ColB ColB Fillden mul Fillden sub 1 add def 67.321 - ColR ColG ColB setrgbcolor} def 67.322 -/BoxColFill {gsave Rec PolyFill} def 67.323 -/PolyFill {gsave Density fill grestore grestore} def 67.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 67.325 -% 67.326 -% PostScript Level 1 Pattern Fill routine for rectangles 67.327 -% Usage: x y w h s a XX PatternFill 67.328 -% x,y = lower left corner of box to be filled 67.329 -% w,h = width and height of box 67.330 -% a = angle in degrees between lines and x-axis 67.331 -% XX = 0/1 for no/yes cross-hatch 67.332 -% 67.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 67.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 67.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 67.336 - gsave 1 setgray fill grestore clip 67.337 - currentlinewidth 0.5 mul setlinewidth 67.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 67.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 67.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 67.341 - {PFa 4 get mul 0 M 0 PFs V} for 67.342 - 0 PFa 6 get ne { 67.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 67.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 67.345 - } if 67.346 - stroke grestore} def 67.347 -% 67.348 -/languagelevel where 67.349 - {pop languagelevel} {1} ifelse 67.350 - 2 lt 67.351 - {/InterpretLevel1 true def} 67.352 - {/InterpretLevel1 Level1 def} 67.353 - ifelse 67.354 -% 67.355 -% PostScript level 2 pattern fill definitions 67.356 -% 67.357 -/Level2PatternFill { 67.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 67.359 - bind def 67.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 67.361 -<< Tile8x8 67.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 67.363 ->> matrix makepattern 67.364 -/Pat1 exch def 67.365 -<< Tile8x8 67.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 67.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 67.368 ->> matrix makepattern 67.369 -/Pat2 exch def 67.370 -<< Tile8x8 67.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 67.372 - 8 8 L 8 0 L 0 0 L fill} 67.373 ->> matrix makepattern 67.374 -/Pat3 exch def 67.375 -<< Tile8x8 67.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 67.377 - 0 12 M 12 0 L stroke} 67.378 ->> matrix makepattern 67.379 -/Pat4 exch def 67.380 -<< Tile8x8 67.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 67.382 - 0 -4 M 12 8 L stroke} 67.383 ->> matrix makepattern 67.384 -/Pat5 exch def 67.385 -<< Tile8x8 67.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 67.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 67.388 ->> matrix makepattern 67.389 -/Pat6 exch def 67.390 -<< Tile8x8 67.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 67.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 67.393 ->> matrix makepattern 67.394 -/Pat7 exch def 67.395 -<< Tile8x8 67.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 67.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 67.398 ->> matrix makepattern 67.399 -/Pat8 exch def 67.400 -<< Tile8x8 67.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 67.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 67.403 ->> matrix makepattern 67.404 -/Pat9 exch def 67.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 67.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 67.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 67.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 67.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 67.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 67.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 67.412 -} def 67.413 -% 67.414 -% 67.415 -%End of PostScript Level 2 code 67.416 -% 67.417 -/PatternBgnd { 67.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 67.419 -} def 67.420 -% 67.421 -% Substitute for Level 2 pattern fill codes with 67.422 -% grayscale if Level 2 support is not selected. 67.423 -% 67.424 -/Level1PatternFill { 67.425 -/Pattern1 {0.250 Density} bind def 67.426 -/Pattern2 {0.500 Density} bind def 67.427 -/Pattern3 {0.750 Density} bind def 67.428 -/Pattern4 {0.125 Density} bind def 67.429 -/Pattern5 {0.375 Density} bind def 67.430 -/Pattern6 {0.625 Density} bind def 67.431 -/Pattern7 {0.875 Density} bind def 67.432 -} def 67.433 -% 67.434 -% Now test for support of Level 2 code 67.435 -% 67.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 67.437 -% 67.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 67.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 67.440 -currentdict end definefont pop 67.441 -/MFshow { 67.442 - { dup 5 get 3 ge 67.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 67.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 67.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 67.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 67.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 67.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 67.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 67.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 67.451 - pop aload pop M} ifelse }ifelse }ifelse } 67.452 - ifelse } 67.453 - forall} def 67.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 67.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 67.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 67.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 67.458 -/MLshow { currentpoint stroke M 67.459 - 0 exch R 67.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 67.461 -/MRshow { currentpoint stroke M 67.462 - exch dup MFwidth neg 3 -1 roll R 67.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 67.464 -/MCshow { currentpoint stroke M 67.465 - exch dup MFwidth -2 div 3 -1 roll R 67.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 67.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 67.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 67.469 -end 67.470 -%%EndProlog 67.471 -%%Page: 1 1 67.472 -gnudict begin 67.473 -gsave 67.474 -doclip 67.475 -50 50 translate 67.476 -0.100 0.100 scale 67.477 -90 rotate 67.478 -0 -5040 translate 67.479 -0 setgray 67.480 -newpath 67.481 -(Helvetica) findfont 140 scalefont setfont 67.482 -1.000 UL 67.483 -LTb 67.484 -602 448 M 67.485 -63 0 V 67.486 -stroke 67.487 -518 448 M 67.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 67.489 -] -46.7 MRshow 67.490 -1.000 UL 67.491 -LTb 67.492 -602 715 M 67.493 -63 0 V 67.494 -stroke 67.495 -518 715 M 67.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 67.497 -] -46.7 MRshow 67.498 -1.000 UL 67.499 -LTb 67.500 -602 983 M 67.501 -63 0 V 67.502 -stroke 67.503 -518 983 M 67.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 67.505 -] -46.7 MRshow 67.506 -1.000 UL 67.507 -LTb 67.508 -602 1250 M 67.509 -63 0 V 67.510 -stroke 67.511 -518 1250 M 67.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 67.513 -] -46.7 MRshow 67.514 -1.000 UL 67.515 -LTb 67.516 -602 1518 M 67.517 -63 0 V 67.518 -stroke 67.519 -518 1518 M 67.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 67.521 -] -46.7 MRshow 67.522 -1.000 UL 67.523 -LTb 67.524 -602 1785 M 67.525 -63 0 V 67.526 -stroke 67.527 -518 1785 M 67.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 67.529 -] -46.7 MRshow 67.530 -1.000 UL 67.531 -LTb 67.532 -602 2053 M 67.533 -63 0 V 67.534 -stroke 67.535 -518 2053 M 67.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 67.537 -] -46.7 MRshow 67.538 -1.000 UL 67.539 -LTb 67.540 -602 2320 M 67.541 -63 0 V 67.542 -stroke 67.543 -518 2320 M 67.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 67.545 -] -46.7 MRshow 67.546 -1.000 UL 67.547 -LTb 67.548 -602 2588 M 67.549 -63 0 V 67.550 -stroke 67.551 -518 2588 M 67.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 67.553 -] -46.7 MRshow 67.554 -1.000 UL 67.555 -LTb 67.556 -602 2855 M 67.557 -63 0 V 67.558 -stroke 67.559 -518 2855 M 67.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 67.561 -] -46.7 MRshow 67.562 -1.000 UL 67.563 -LTb 67.564 -602 448 M 67.565 -0 63 V 67.566 -stroke 67.567 -602 308 M 67.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 67.569 -] -46.7 MCshow 67.570 -1.000 UL 67.571 -LTb 67.572 -1035 448 M 67.573 -0 63 V 67.574 -stroke 67.575 -1035 308 M 67.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 67.577 -] -46.7 MCshow 67.578 -1.000 UL 67.579 -LTb 67.580 -1468 448 M 67.581 -0 63 V 67.582 -stroke 67.583 -1468 308 M 67.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 67.585 -] -46.7 MCshow 67.586 -1.000 UL 67.587 -LTb 67.588 -1901 448 M 67.589 -0 63 V 67.590 -stroke 67.591 -1901 308 M 67.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 67.593 -] -46.7 MCshow 67.594 -1.000 UL 67.595 -LTb 67.596 -2335 448 M 67.597 -0 63 V 67.598 -stroke 67.599 -2335 308 M 67.600 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 67.601 -] -46.7 MCshow 67.602 -1.000 UL 67.603 -LTb 67.604 -2768 448 M 67.605 -0 63 V 67.606 -stroke 67.607 -2768 308 M 67.608 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 67.609 -] -46.7 MCshow 67.610 -1.000 UL 67.611 -LTb 67.612 -3201 448 M 67.613 -0 63 V 67.614 -stroke 67.615 -3201 308 M 67.616 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 67.617 -] -46.7 MCshow 67.618 -1.000 UL 67.619 -LTb 67.620 -3634 448 M 67.621 -0 63 V 67.622 -stroke 67.623 -3634 308 M 67.624 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 67.625 -] -46.7 MCshow 67.626 -1.000 UL 67.627 -LTb 67.628 -4067 448 M 67.629 -0 63 V 67.630 -stroke 67.631 -4067 308 M 67.632 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 67.633 -] -46.7 MCshow 67.634 -1.000 UL 67.635 -LTb 67.636 -1.000 UL 67.637 -LTb 67.638 -602 2855 M 67.639 -602 448 L 67.640 -3465 0 V 67.641 -0 2407 R 67.642 --3465 0 R 67.643 -stroke 67.644 -LCb setrgbcolor 67.645 -112 1651 M 67.646 -currentpoint gsave translate -270 rotate 0 0 moveto 67.647 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 67.648 -] -46.7 MCshow 67.649 -grestore 67.650 -LTb 67.651 -LCb setrgbcolor 67.652 -2334 98 M 67.653 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 67.654 -] -46.7 MCshow 67.655 -LTb 67.656 -1.000 UP 67.657 -1.000 UL 67.658 -LTb 67.659 -% Begin plot #1 67.660 -3.000 UL 67.661 -LT1 67.662 -LCa setrgbcolor 67.663 -602 715 M 67.664 -35 0 V 67.665 -35 0 V 67.666 -35 0 V 67.667 -35 0 V 67.668 -35 0 V 67.669 -35 0 V 67.670 -35 0 V 67.671 -35 0 V 67.672 -35 0 V 67.673 -35 0 V 67.674 -35 0 V 67.675 -35 0 V 67.676 -35 0 V 67.677 -35 0 V 67.678 -35 0 V 67.679 -35 0 V 67.680 -35 0 V 67.681 -35 0 V 67.682 -35 0 V 67.683 -35 0 V 67.684 -35 0 V 67.685 -35 0 V 67.686 -35 0 V 67.687 -35 0 V 67.688 -35 0 V 67.689 -35 0 V 67.690 -35 0 V 67.691 -35 0 V 67.692 -35 0 V 67.693 -35 0 V 67.694 -35 0 V 67.695 -35 0 V 67.696 -35 0 V 67.697 -35 0 V 67.698 -35 0 V 67.699 -35 0 V 67.700 -35 0 V 67.701 -35 0 V 67.702 -35 0 V 67.703 -35 0 V 67.704 -35 0 V 67.705 -35 0 V 67.706 -35 0 V 67.707 -35 0 V 67.708 -35 0 V 67.709 -35 0 V 67.710 -35 0 V 67.711 -35 0 V 67.712 -35 0 V 67.713 -35 0 V 67.714 -35 0 V 67.715 -35 0 V 67.716 -35 0 V 67.717 -35 0 V 67.718 -35 0 V 67.719 -35 0 V 67.720 -35 0 V 67.721 -35 0 V 67.722 -35 0 V 67.723 -35 0 V 67.724 -35 0 V 67.725 -35 0 V 67.726 -35 0 V 67.727 -35 0 V 67.728 -35 0 V 67.729 -35 0 V 67.730 -35 0 V 67.731 -35 0 V 67.732 -35 0 V 67.733 -35 0 V 67.734 -35 0 V 67.735 -35 0 V 67.736 -35 0 V 67.737 -35 0 V 67.738 -35 0 V 67.739 -35 0 V 67.740 -35 0 V 67.741 -35 0 V 67.742 -35 0 V 67.743 -35 0 V 67.744 -35 0 V 67.745 -35 0 V 67.746 -35 0 V 67.747 -35 0 V 67.748 -35 0 V 67.749 -35 0 V 67.750 -35 0 V 67.751 -35 0 V 67.752 -35 0 V 67.753 -35 0 V 67.754 -35 0 V 67.755 -35 0 V 67.756 -35 0 V 67.757 -35 0 V 67.758 -35 0 V 67.759 -35 0 V 67.760 -35 0 V 67.761 -35 0 V 67.762 -35 0 V 67.763 -% End plot #1 67.764 -stroke 67.765 -1.000 UL 67.766 -LTb 67.767 -602 2855 M 67.768 -602 448 L 67.769 -3465 0 V 67.770 -0 2407 R 67.771 --3465 0 R 67.772 -1.000 UP 67.773 -602 448 M 67.774 -63 0 V 67.775 -stroke 67.776 -518 448 M 67.777 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 67.778 -] -46.7 MRshow 67.779 -1.000 UL 67.780 -LTb 67.781 -602 715 M 67.782 -63 0 V 67.783 -stroke 67.784 -518 715 M 67.785 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 67.786 -] -46.7 MRshow 67.787 -1.000 UL 67.788 -LTb 67.789 -602 983 M 67.790 -63 0 V 67.791 -stroke 67.792 -518 983 M 67.793 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 67.794 -] -46.7 MRshow 67.795 -1.000 UL 67.796 -LTb 67.797 -602 1250 M 67.798 -63 0 V 67.799 -stroke 67.800 -518 1250 M 67.801 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 67.802 -] -46.7 MRshow 67.803 -1.000 UL 67.804 -LTb 67.805 -602 1518 M 67.806 -63 0 V 67.807 -stroke 67.808 -518 1518 M 67.809 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 67.810 -] -46.7 MRshow 67.811 -1.000 UL 67.812 -LTb 67.813 -602 1785 M 67.814 -63 0 V 67.815 -stroke 67.816 -518 1785 M 67.817 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 67.818 -] -46.7 MRshow 67.819 -1.000 UL 67.820 -LTb 67.821 -602 2053 M 67.822 -63 0 V 67.823 -stroke 67.824 -518 2053 M 67.825 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 67.826 -] -46.7 MRshow 67.827 -1.000 UL 67.828 -LTb 67.829 -602 2320 M 67.830 -63 0 V 67.831 -stroke 67.832 -518 2320 M 67.833 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 67.834 -] -46.7 MRshow 67.835 -1.000 UL 67.836 -LTb 67.837 -602 2588 M 67.838 -63 0 V 67.839 -stroke 67.840 -518 2588 M 67.841 -[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 67.842 -] -46.7 MRshow 67.843 -1.000 UL 67.844 -LTb 67.845 -602 2855 M 67.846 -63 0 V 67.847 -stroke 67.848 -518 2855 M 67.849 -[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 67.850 -] -46.7 MRshow 67.851 -1.000 UL 67.852 -LTb 67.853 -602 448 M 67.854 -0 63 V 67.855 -stroke 67.856 -602 308 M 67.857 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 67.858 -] -46.7 MCshow 67.859 -1.000 UL 67.860 -LTb 67.861 -1035 448 M 67.862 -0 63 V 67.863 -stroke 67.864 -1035 308 M 67.865 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 67.866 -] -46.7 MCshow 67.867 -1.000 UL 67.868 -LTb 67.869 -1468 448 M 67.870 -0 63 V 67.871 -stroke 67.872 -1468 308 M 67.873 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 67.874 -] -46.7 MCshow 67.875 -1.000 UL 67.876 -LTb 67.877 -1901 448 M 67.878 -0 63 V 67.879 -stroke 67.880 -1901 308 M 67.881 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 67.882 -] -46.7 MCshow 67.883 -1.000 UL 67.884 -LTb 67.885 -2335 448 M 67.886 -0 63 V 67.887 -stroke 67.888 -2335 308 M 67.889 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 67.890 -] -46.7 MCshow 67.891 -1.000 UL 67.892 -LTb 67.893 -2768 448 M 67.894 -0 63 V 67.895 -stroke 67.896 -2768 308 M 67.897 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 67.898 -] -46.7 MCshow 67.899 -1.000 UL 67.900 -LTb 67.901 -3201 448 M 67.902 -0 63 V 67.903 -stroke 67.904 -3201 308 M 67.905 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 67.906 -] -46.7 MCshow 67.907 -1.000 UL 67.908 -LTb 67.909 -3634 448 M 67.910 -0 63 V 67.911 -stroke 67.912 -3634 308 M 67.913 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 67.914 -] -46.7 MCshow 67.915 -1.000 UL 67.916 -LTb 67.917 -4067 448 M 67.918 -0 63 V 67.919 -stroke 67.920 -4067 308 M 67.921 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 67.922 -] -46.7 MCshow 67.923 -1.000 UL 67.924 -LTb 67.925 -1.000 UL 67.926 -LTb 67.927 -602 2855 M 67.928 -602 448 L 67.929 -3465 0 V 67.930 -0 2407 R 67.931 --3465 0 R 67.932 -stroke 67.933 -LCb setrgbcolor 67.934 -112 1651 M 67.935 -currentpoint gsave translate -270 rotate 0 0 moveto 67.936 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 67.937 -] -46.7 MCshow 67.938 -grestore 67.939 -LTb 67.940 -LCb setrgbcolor 67.941 -2334 98 M 67.942 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 67.943 -] -46.7 MCshow 67.944 -LTb 67.945 -1.000 UP 67.946 -1.000 UL 67.947 -LTb 67.948 -LCb setrgbcolor 67.949 -3538 2919 M 67.950 -[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 67.951 -] -46.7 MCshow 67.952 -LTb 67.953 -1.000 UL 67.954 -LTb 67.955 -2793 2289 N 67.956 -0 700 V 67.957 -1491 0 V 67.958 -0 -700 V 67.959 --1491 0 V 67.960 -Z stroke 67.961 -2793 2849 M 67.962 -1491 0 V 67.963 -% Begin plot #1 67.964 -stroke 67.965 -4.000 UL 67.966 -LT5 67.967 -LC7 setrgbcolor 67.968 -LCb setrgbcolor 67.969 -3717 2779 M 67.970 -[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 67.971 -] -46.7 MRshow 67.972 -LT5 67.973 -LC7 setrgbcolor 67.974 -3801 2779 M 67.975 -399 0 V 67.976 -742 2855 M 67.977 -2 -67 V 67.978 -851 1788 L 67.979 -206 -591 V 67.980 -1473 836 L 67.981 -2306 644 L 67.982 -3967 545 L 67.983 -% End plot #1 67.984 -% Begin plot #2 67.985 -stroke 67.986 -LT6 67.987 -LCb setrgbcolor 67.988 -3717 2639 M 67.989 -[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 67.990 -] -46.7 MRshow 67.991 -LT6 67.992 -3801 2639 M 67.993 -399 0 V 67.994 -946 2855 M 67.995 -112 -798 V 67.996 -417 -761 V 67.997 -2304 901 L 67.998 -3971 681 L 67.999 -% End plot #2 67.1000 -% Begin plot #3 67.1001 -stroke 67.1002 -LT7 67.1003 -LC1 setrgbcolor 67.1004 -LCb setrgbcolor 67.1005 -3717 2499 M 67.1006 -[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 67.1007 -] -46.7 MRshow 67.1008 -LT7 67.1009 -LC1 setrgbcolor 67.1010 -3801 2499 M 67.1011 -399 0 V 67.1012 -1813 2855 M 67.1013 -496 -872 V 67.1014 -3972 1224 L 67.1015 -% End plot #3 67.1016 -% Begin plot #4 67.1017 -stroke 67.1018 -LT8 67.1019 -LCb setrgbcolor 67.1020 -3717 2359 M 67.1021 -[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 67.1022 -] -46.7 MRshow 67.1023 -LT8 67.1024 -3801 2359 M 67.1025 -399 0 V 67.1026 -% End plot #4 67.1027 -stroke 67.1028 -1.000 UL 67.1029 -LTb 67.1030 -602 2855 M 67.1031 -602 448 L 67.1032 -3465 0 V 67.1033 -0 2407 R 67.1034 --3465 0 R 67.1035 -1.000 UP 67.1036 -602 448 M 67.1037 -63 0 V 67.1038 -stroke 67.1039 -518 448 M 67.1040 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1)] 67.1041 -] -46.7 MRshow 67.1042 -1.000 UL 67.1043 -LTb 67.1044 -602 715 M 67.1045 -63 0 V 67.1046 -stroke 67.1047 -518 715 M 67.1048 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2)] 67.1049 -] -46.7 MRshow 67.1050 -1.000 UL 67.1051 -LTb 67.1052 -602 983 M 67.1053 -63 0 V 67.1054 -stroke 67.1055 -518 983 M 67.1056 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3)] 67.1057 -] -46.7 MRshow 67.1058 -1.000 UL 67.1059 -LTb 67.1060 -602 1250 M 67.1061 -63 0 V 67.1062 -stroke 67.1063 -518 1250 M 67.1064 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4)] 67.1065 -] -46.7 MRshow 67.1066 -1.000 UL 67.1067 -LTb 67.1068 -602 1518 M 67.1069 -63 0 V 67.1070 -stroke 67.1071 -518 1518 M 67.1072 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5)] 67.1073 -] -46.7 MRshow 67.1074 -1.000 UL 67.1075 -LTb 67.1076 -602 1785 M 67.1077 -63 0 V 67.1078 -stroke 67.1079 -518 1785 M 67.1080 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6)] 67.1081 -] -46.7 MRshow 67.1082 -1.000 UL 67.1083 -LTb 67.1084 -602 2053 M 67.1085 -63 0 V 67.1086 -stroke 67.1087 -518 2053 M 67.1088 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7)] 67.1089 -] -46.7 MRshow 67.1090 -1.000 UL 67.1091 -LTb 67.1092 -602 2320 M 67.1093 -63 0 V 67.1094 -stroke 67.1095 -518 2320 M 67.1096 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8)] 67.1097 -] -46.7 MRshow 67.1098 -1.000 UL 67.1099 -LTb 67.1100 -602 2588 M 67.1101 -63 0 V 67.1102 -stroke 67.1103 -518 2588 M 67.1104 -[ [(Helvetica) 140.0 0.0 true true 0 ( 9)] 67.1105 -] -46.7 MRshow 67.1106 -1.000 UL 67.1107 -LTb 67.1108 -602 2855 M 67.1109 -63 0 V 67.1110 -stroke 67.1111 -518 2855 M 67.1112 -[ [(Helvetica) 140.0 0.0 true true 0 ( 10)] 67.1113 -] -46.7 MRshow 67.1114 -1.000 UL 67.1115 -LTb 67.1116 -602 448 M 67.1117 -0 63 V 67.1118 -stroke 67.1119 -602 308 M 67.1120 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 67.1121 -] -46.7 MCshow 67.1122 -1.000 UL 67.1123 -LTb 67.1124 -1035 448 M 67.1125 -0 63 V 67.1126 -stroke 67.1127 -1035 308 M 67.1128 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 67.1129 -] -46.7 MCshow 67.1130 -1.000 UL 67.1131 -LTb 67.1132 -1468 448 M 67.1133 -0 63 V 67.1134 -stroke 67.1135 -1468 308 M 67.1136 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 67.1137 -] -46.7 MCshow 67.1138 -1.000 UL 67.1139 -LTb 67.1140 -1901 448 M 67.1141 -0 63 V 67.1142 -stroke 67.1143 -1901 308 M 67.1144 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 67.1145 -] -46.7 MCshow 67.1146 -1.000 UL 67.1147 -LTb 67.1148 -2335 448 M 67.1149 -0 63 V 67.1150 -stroke 67.1151 -2335 308 M 67.1152 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 67.1153 -] -46.7 MCshow 67.1154 -1.000 UL 67.1155 -LTb 67.1156 -2768 448 M 67.1157 -0 63 V 67.1158 -stroke 67.1159 -2768 308 M 67.1160 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 67.1161 -] -46.7 MCshow 67.1162 -1.000 UL 67.1163 -LTb 67.1164 -3201 448 M 67.1165 -0 63 V 67.1166 -stroke 67.1167 -3201 308 M 67.1168 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 67.1169 -] -46.7 MCshow 67.1170 -1.000 UL 67.1171 -LTb 67.1172 -3634 448 M 67.1173 -0 63 V 67.1174 -stroke 67.1175 -3634 308 M 67.1176 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 67.1177 -] -46.7 MCshow 67.1178 -1.000 UL 67.1179 -LTb 67.1180 -4067 448 M 67.1181 -0 63 V 67.1182 -stroke 67.1183 -4067 308 M 67.1184 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 67.1185 -] -46.7 MCshow 67.1186 -1.000 UL 67.1187 -LTb 67.1188 -1.000 UL 67.1189 -LTb 67.1190 -602 2855 M 67.1191 -602 448 L 67.1192 -3465 0 V 67.1193 -0 2407 R 67.1194 --3465 0 R 67.1195 -stroke 67.1196 -LCb setrgbcolor 67.1197 -112 1651 M 67.1198 -currentpoint gsave translate -270 rotate 0 0 moveto 67.1199 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 67.1200 -] -46.7 MCshow 67.1201 -grestore 67.1202 -LTb 67.1203 -LCb setrgbcolor 67.1204 -2334 98 M 67.1205 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 67.1206 -] -46.7 MCshow 67.1207 -LTb 67.1208 -1.000 UP 67.1209 -1.000 UL 67.1210 -LTb 67.1211 -LCb setrgbcolor 67.1212 -2022 2919 M 67.1213 -[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 67.1214 -] -46.7 MCshow 67.1215 -LTb 67.1216 -1.000 UL 67.1217 -LTb 67.1218 -1277 2289 N 67.1219 -0 700 V 67.1220 -1491 0 V 67.1221 -0 -700 V 67.1222 --1491 0 V 67.1223 -Z stroke 67.1224 -1277 2849 M 67.1225 -1491 0 V 67.1226 -% Begin plot #1 67.1227 -stroke 67.1228 -4.000 UL 67.1229 -LT0 67.1230 -LCb setrgbcolor 67.1231 -2201 2779 M 67.1232 -[ [(Helvetica) 140.0 0.0 true true 0 (8 Threads)] 67.1233 -] -46.7 MRshow 67.1234 -LT0 67.1235 -2285 2779 M 67.1236 -399 0 V 67.1237 -654 2182 M 67.1238 -16 -334 V 67.1239 -24 -434 V 67.1240 -54 -354 V 67.1241 -852 815 L 67.1242 -1060 648 L 67.1243 -1474 537 L 67.1244 -832 -41 V 67.1245 -3969 471 L 67.1246 -% End plot #1 67.1247 -% Begin plot #2 67.1248 -stroke 67.1249 -LT2 67.1250 -LCb setrgbcolor 67.1251 -2201 2639 M 67.1252 -[ [(Helvetica) 140.0 0.0 true true 0 (32 Threads)] 67.1253 -] -46.7 MRshow 67.1254 -LT2 67.1255 -2285 2639 M 67.1256 -399 0 V 67.1257 -654 1786 M 67.1258 -16 -339 V 67.1259 -24 -169 V 67.1260 -748 917 L 67.1261 -852 723 L 67.1262 -1059 606 L 67.1263 -416 -79 V 67.1264 -832 -43 V 67.1265 -3969 467 L 67.1266 -% End plot #2 67.1267 -% Begin plot #3 67.1268 -stroke 67.1269 -LT3 67.1270 -LCb setrgbcolor 67.1271 -2201 2499 M 67.1272 -[ [(Helvetica) 140.0 0.0 true true 0 (128 Threads)] 67.1273 -] -46.7 MRshow 67.1274 -LT3 67.1275 -2285 2499 M 67.1276 -399 0 V 67.1277 -654 1837 M 67.1278 -16 -296 V 67.1279 -26 -324 V 67.1280 -748 970 L 67.1281 -851 740 L 67.1282 -1059 610 L 67.1283 -416 -81 V 67.1284 -832 -39 V 67.1285 -3970 466 L 67.1286 -% End plot #3 67.1287 -% Begin plot #4 67.1288 -stroke 67.1289 -LT4 67.1290 -LCb setrgbcolor 67.1291 -2201 2359 M 67.1292 -[ [(Helvetica) 140.0 0.0 true true 0 (512 Threads)] 67.1293 -] -46.7 MRshow 67.1294 -LT4 67.1295 -2285 2359 M 67.1296 -399 0 V 67.1297 -654 1958 M 67.1298 -14 -347 V 67.1299 -26 -349 V 67.1300 -748 965 L 67.1301 -850 751 L 67.1302 -1058 612 L 67.1303 -416 -83 V 67.1304 -833 -41 V 67.1305 -3970 467 L 67.1306 -% End plot #4 67.1307 -stroke 67.1308 -1.000 UL 67.1309 -LTb 67.1310 -602 2855 M 67.1311 -602 448 L 67.1312 -3465 0 V 67.1313 -0 2407 R 67.1314 --3465 0 R 67.1315 -1.000 UP 67.1316 -stroke 67.1317 -grestore 67.1318 -end 67.1319 -showpage 67.1320 -%%Trailer 67.1321 -%%DocumentFonts: Helvetica 67.1322 -%%Pages: 1
68.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/figures/plots_exec_vs_task_size/xoanon_pthread_vthread_40core_80_160_320_640thds__o30000__perfCtrs.eps Thu Feb 02 12:22:53 2012 -0800 68.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 68.3 @@ -1,948 +0,0 @@ 68.4 -%!PS-Adobe-2.0 68.5 -%%Title: xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.eps 68.6 -%%Creator: gnuplot 4.4 patchlevel 2 68.7 -%%CreationDate: Thu Jan 26 18:27:40 2012 68.8 -%%DocumentFonts: (atend) 68.9 -%%BoundingBox: 251 50 554 482 68.10 -%%Orientation: Landscape 68.11 -%%Pages: (atend) 68.12 -%%EndComments 68.13 -%%BeginProlog 68.14 -/gnudict 256 dict def 68.15 -gnudict begin 68.16 -% 68.17 -% The following true/false flags may be edited by hand if desired. 68.18 -% The unit line width and grayscale image gamma correction may also be changed. 68.19 -% 68.20 -/Color true def 68.21 -/Blacktext false def 68.22 -/Solid false def 68.23 -/Dashlength 1 def 68.24 -/Landscape true def 68.25 -/Level1 false def 68.26 -/Rounded false def 68.27 -/ClipToBoundingBox false def 68.28 -/TransparentPatterns false def 68.29 -/gnulinewidth 5.000 def 68.30 -/userlinewidth gnulinewidth def 68.31 -/Gamma 1.0 def 68.32 -% 68.33 -/vshift -46 def 68.34 -/dl1 { 68.35 - 10.0 Dashlength mul mul 68.36 - Rounded { currentlinewidth 0.75 mul sub dup 0 le { pop 0.01 } if } if 68.37 -} def 68.38 -/dl2 { 68.39 - 10.0 Dashlength mul mul 68.40 - Rounded { currentlinewidth 0.75 mul add } if 68.41 -} def 68.42 -/hpt_ 31.5 def 68.43 -/vpt_ 31.5 def 68.44 -/hpt hpt_ def 68.45 -/vpt vpt_ def 68.46 -Level1 {} { 68.47 -/SDict 10 dict def 68.48 -systemdict /pdfmark known not { 68.49 - userdict /pdfmark systemdict /cleartomark get put 68.50 -} if 68.51 -SDict begin [ 68.52 - /Title (xoanon_pthreads_vthread_40core_80_160_320_640thds__o30000__perfCtrs.meas.eps) 68.53 - /Subject (gnuplot plot) 68.54 - /Creator (gnuplot 4.4 patchlevel 2) 68.55 - /Author (msach) 68.56 -% /Producer (gnuplot) 68.57 -% /Keywords () 68.58 - /CreationDate (Thu Jan 26 18:27:40 2012) 68.59 - /DOCINFO pdfmark 68.60 -end 68.61 -} ifelse 68.62 -/doclip { 68.63 - ClipToBoundingBox { 68.64 - newpath 251 50 moveto 554 50 lineto 554 482 lineto 251 482 lineto closepath 68.65 - clip 68.66 - } if 68.67 -} def 68.68 -% 68.69 -% Gnuplot Prolog Version 4.4 (August 2010) 68.70 -% 68.71 -%/SuppressPDFMark true def 68.72 -% 68.73 -/M {moveto} bind def 68.74 -/L {lineto} bind def 68.75 -/R {rmoveto} bind def 68.76 -/V {rlineto} bind def 68.77 -/N {newpath moveto} bind def 68.78 -/Z {closepath} bind def 68.79 -/C {setrgbcolor} bind def 68.80 -/f {rlineto fill} bind def 68.81 -/g {setgray} bind def 68.82 -/Gshow {show} def % May be redefined later in the file to support UTF-8 68.83 -/vpt2 vpt 2 mul def 68.84 -/hpt2 hpt 2 mul def 68.85 -/Lshow {currentpoint stroke M 0 vshift R 68.86 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 68.87 -/Rshow {currentpoint stroke M dup stringwidth pop neg vshift R 68.88 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 68.89 -/Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R 68.90 - Blacktext {gsave 0 setgray show grestore} {show} ifelse} def 68.91 -/UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def 68.92 - /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def 68.93 -/DL {Color {setrgbcolor Solid {pop []} if 0 setdash} 68.94 - {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def 68.95 -/BL {stroke userlinewidth 2 mul setlinewidth 68.96 - Rounded {1 setlinejoin 1 setlinecap} if} def 68.97 -/AL {stroke userlinewidth 2 div setlinewidth 68.98 - Rounded {1 setlinejoin 1 setlinecap} if} def 68.99 -/UL {dup gnulinewidth mul /userlinewidth exch def 68.100 - dup 1 lt {pop 1} if 10 mul /udl exch def} def 68.101 -/PL {stroke userlinewidth setlinewidth 68.102 - Rounded {1 setlinejoin 1 setlinecap} if} def 68.103 -3.8 setmiterlimit 68.104 -% Default Line colors 68.105 -/LCw {1 1 1} def 68.106 -/LCb {0 0 0} def 68.107 -/LCa {0 0 0} def 68.108 -/LC0 {1 0 0} def 68.109 -/LC1 {0 1 0} def 68.110 -/LC2 {0 0 1} def 68.111 -/LC3 {1 0 1} def 68.112 -/LC4 {0 1 1} def 68.113 -/LC5 {1 1 0} def 68.114 -/LC6 {0 0 0} def 68.115 -/LC7 {1 0.3 0} def 68.116 -/LC8 {0.5 0.5 0.5} def 68.117 -% Default Line Types 68.118 -/LTw {PL [] 1 setgray} def 68.119 -/LTb {BL [] LCb DL} def 68.120 -/LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def 68.121 -/LT0 {PL [] LC0 DL} def 68.122 -/LT1 {PL [4 dl1 2 dl2] LC1 DL} def 68.123 -/LT2 {PL [2 dl1 3 dl2] LC2 DL} def 68.124 -/LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def 68.125 -/LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def 68.126 -/LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def 68.127 -/LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def 68.128 -/LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def 68.129 -/LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def 68.130 -/Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def 68.131 -/Dia {stroke [] 0 setdash 2 copy vpt add M 68.132 - hpt neg vpt neg V hpt vpt neg V 68.133 - hpt vpt V hpt neg vpt V closepath stroke 68.134 - Pnt} def 68.135 -/Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V 68.136 - currentpoint stroke M 68.137 - hpt neg vpt neg R hpt2 0 V stroke 68.138 - } def 68.139 -/Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M 68.140 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 68.141 - hpt2 neg 0 V closepath stroke 68.142 - Pnt} def 68.143 -/Crs {stroke [] 0 setdash exch hpt sub exch vpt add M 68.144 - hpt2 vpt2 neg V currentpoint stroke M 68.145 - hpt2 neg 0 R hpt2 vpt2 V stroke} def 68.146 -/TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M 68.147 - hpt neg vpt -1.62 mul V 68.148 - hpt 2 mul 0 V 68.149 - hpt neg vpt 1.62 mul V closepath stroke 68.150 - Pnt} def 68.151 -/Star {2 copy Pls Crs} def 68.152 -/BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M 68.153 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 68.154 - hpt2 neg 0 V closepath fill} def 68.155 -/TriUF {stroke [] 0 setdash vpt 1.12 mul add M 68.156 - hpt neg vpt -1.62 mul V 68.157 - hpt 2 mul 0 V 68.158 - hpt neg vpt 1.62 mul V closepath fill} def 68.159 -/TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M 68.160 - hpt neg vpt 1.62 mul V 68.161 - hpt 2 mul 0 V 68.162 - hpt neg vpt -1.62 mul V closepath stroke 68.163 - Pnt} def 68.164 -/TriDF {stroke [] 0 setdash vpt 1.12 mul sub M 68.165 - hpt neg vpt 1.62 mul V 68.166 - hpt 2 mul 0 V 68.167 - hpt neg vpt -1.62 mul V closepath fill} def 68.168 -/DiaF {stroke [] 0 setdash vpt add M 68.169 - hpt neg vpt neg V hpt vpt neg V 68.170 - hpt vpt V hpt neg vpt V closepath fill} def 68.171 -/Pent {stroke [] 0 setdash 2 copy gsave 68.172 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 68.173 - closepath stroke grestore Pnt} def 68.174 -/PentF {stroke [] 0 setdash gsave 68.175 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 68.176 - closepath fill grestore} def 68.177 -/Circle {stroke [] 0 setdash 2 copy 68.178 - hpt 0 360 arc stroke Pnt} def 68.179 -/CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def 68.180 -/C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def 68.181 -/C1 {BL [] 0 setdash 2 copy moveto 68.182 - 2 copy vpt 0 90 arc closepath fill 68.183 - vpt 0 360 arc closepath} bind def 68.184 -/C2 {BL [] 0 setdash 2 copy moveto 68.185 - 2 copy vpt 90 180 arc closepath fill 68.186 - vpt 0 360 arc closepath} bind def 68.187 -/C3 {BL [] 0 setdash 2 copy moveto 68.188 - 2 copy vpt 0 180 arc closepath fill 68.189 - vpt 0 360 arc closepath} bind def 68.190 -/C4 {BL [] 0 setdash 2 copy moveto 68.191 - 2 copy vpt 180 270 arc closepath fill 68.192 - vpt 0 360 arc closepath} bind def 68.193 -/C5 {BL [] 0 setdash 2 copy moveto 68.194 - 2 copy vpt 0 90 arc 68.195 - 2 copy moveto 68.196 - 2 copy vpt 180 270 arc closepath fill 68.197 - vpt 0 360 arc} bind def 68.198 -/C6 {BL [] 0 setdash 2 copy moveto 68.199 - 2 copy vpt 90 270 arc closepath fill 68.200 - vpt 0 360 arc closepath} bind def 68.201 -/C7 {BL [] 0 setdash 2 copy moveto 68.202 - 2 copy vpt 0 270 arc closepath fill 68.203 - vpt 0 360 arc closepath} bind def 68.204 -/C8 {BL [] 0 setdash 2 copy moveto 68.205 - 2 copy vpt 270 360 arc closepath fill 68.206 - vpt 0 360 arc closepath} bind def 68.207 -/C9 {BL [] 0 setdash 2 copy moveto 68.208 - 2 copy vpt 270 450 arc closepath fill 68.209 - vpt 0 360 arc closepath} bind def 68.210 -/C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill 68.211 - 2 copy moveto 68.212 - 2 copy vpt 90 180 arc closepath fill 68.213 - vpt 0 360 arc closepath} bind def 68.214 -/C11 {BL [] 0 setdash 2 copy moveto 68.215 - 2 copy vpt 0 180 arc closepath fill 68.216 - 2 copy moveto 68.217 - 2 copy vpt 270 360 arc closepath fill 68.218 - vpt 0 360 arc closepath} bind def 68.219 -/C12 {BL [] 0 setdash 2 copy moveto 68.220 - 2 copy vpt 180 360 arc closepath fill 68.221 - vpt 0 360 arc closepath} bind def 68.222 -/C13 {BL [] 0 setdash 2 copy moveto 68.223 - 2 copy vpt 0 90 arc closepath fill 68.224 - 2 copy moveto 68.225 - 2 copy vpt 180 360 arc closepath fill 68.226 - vpt 0 360 arc closepath} bind def 68.227 -/C14 {BL [] 0 setdash 2 copy moveto 68.228 - 2 copy vpt 90 360 arc closepath fill 68.229 - vpt 0 360 arc} bind def 68.230 -/C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill 68.231 - vpt 0 360 arc closepath} bind def 68.232 -/Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto 68.233 - neg 0 rlineto closepath} bind def 68.234 -/Square {dup Rec} bind def 68.235 -/Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def 68.236 -/S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def 68.237 -/S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def 68.238 -/S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 68.239 -/S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def 68.240 -/S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 68.241 -/S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill 68.242 - exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def 68.243 -/S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def 68.244 -/S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill 68.245 - 2 copy vpt Square fill Bsquare} bind def 68.246 -/S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def 68.247 -/S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def 68.248 -/S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill 68.249 - Bsquare} bind def 68.250 -/S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill 68.251 - Bsquare} bind def 68.252 -/S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def 68.253 -/S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 68.254 - 2 copy vpt Square fill Bsquare} bind def 68.255 -/S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill 68.256 - 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def 68.257 -/S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def 68.258 -/D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def 68.259 -/D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def 68.260 -/D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def 68.261 -/D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def 68.262 -/D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def 68.263 -/D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def 68.264 -/D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def 68.265 -/D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def 68.266 -/D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def 68.267 -/D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def 68.268 -/D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def 68.269 -/D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def 68.270 -/D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def 68.271 -/D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def 68.272 -/D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def 68.273 -/D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def 68.274 -/DiaE {stroke [] 0 setdash vpt add M 68.275 - hpt neg vpt neg V hpt vpt neg V 68.276 - hpt vpt V hpt neg vpt V closepath stroke} def 68.277 -/BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M 68.278 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 68.279 - hpt2 neg 0 V closepath stroke} def 68.280 -/TriUE {stroke [] 0 setdash vpt 1.12 mul add M 68.281 - hpt neg vpt -1.62 mul V 68.282 - hpt 2 mul 0 V 68.283 - hpt neg vpt 1.62 mul V closepath stroke} def 68.284 -/TriDE {stroke [] 0 setdash vpt 1.12 mul sub M 68.285 - hpt neg vpt 1.62 mul V 68.286 - hpt 2 mul 0 V 68.287 - hpt neg vpt -1.62 mul V closepath stroke} def 68.288 -/PentE {stroke [] 0 setdash gsave 68.289 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 68.290 - closepath stroke grestore} def 68.291 -/CircE {stroke [] 0 setdash 68.292 - hpt 0 360 arc stroke} def 68.293 -/Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def 68.294 -/DiaW {stroke [] 0 setdash vpt add M 68.295 - hpt neg vpt neg V hpt vpt neg V 68.296 - hpt vpt V hpt neg vpt V Opaque stroke} def 68.297 -/BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M 68.298 - 0 vpt2 neg V hpt2 0 V 0 vpt2 V 68.299 - hpt2 neg 0 V Opaque stroke} def 68.300 -/TriUW {stroke [] 0 setdash vpt 1.12 mul add M 68.301 - hpt neg vpt -1.62 mul V 68.302 - hpt 2 mul 0 V 68.303 - hpt neg vpt 1.62 mul V Opaque stroke} def 68.304 -/TriDW {stroke [] 0 setdash vpt 1.12 mul sub M 68.305 - hpt neg vpt 1.62 mul V 68.306 - hpt 2 mul 0 V 68.307 - hpt neg vpt -1.62 mul V Opaque stroke} def 68.308 -/PentW {stroke [] 0 setdash gsave 68.309 - translate 0 hpt M 4 {72 rotate 0 hpt L} repeat 68.310 - Opaque stroke grestore} def 68.311 -/CircW {stroke [] 0 setdash 68.312 - hpt 0 360 arc Opaque stroke} def 68.313 -/BoxFill {gsave Rec 1 setgray fill grestore} def 68.314 -/Density { 68.315 - /Fillden exch def 68.316 - currentrgbcolor 68.317 - /ColB exch def /ColG exch def /ColR exch def 68.318 - /ColR ColR Fillden mul Fillden sub 1 add def 68.319 - /ColG ColG Fillden mul Fillden sub 1 add def 68.320 - /ColB ColB Fillden mul Fillden sub 1 add def 68.321 - ColR ColG ColB setrgbcolor} def 68.322 -/BoxColFill {gsave Rec PolyFill} def 68.323 -/PolyFill {gsave Density fill grestore grestore} def 68.324 -/h {rlineto rlineto rlineto gsave closepath fill grestore} bind def 68.325 -% 68.326 -% PostScript Level 1 Pattern Fill routine for rectangles 68.327 -% Usage: x y w h s a XX PatternFill 68.328 -% x,y = lower left corner of box to be filled 68.329 -% w,h = width and height of box 68.330 -% a = angle in degrees between lines and x-axis 68.331 -% XX = 0/1 for no/yes cross-hatch 68.332 -% 68.333 -/PatternFill {gsave /PFa [ 9 2 roll ] def 68.334 - PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate 68.335 - PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec 68.336 - gsave 1 setgray fill grestore clip 68.337 - currentlinewidth 0.5 mul setlinewidth 68.338 - /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def 68.339 - 0 0 M PFa 5 get rotate PFs -2 div dup translate 68.340 - 0 1 PFs PFa 4 get div 1 add floor cvi 68.341 - {PFa 4 get mul 0 M 0 PFs V} for 68.342 - 0 PFa 6 get ne { 68.343 - 0 1 PFs PFa 4 get div 1 add floor cvi 68.344 - {PFa 4 get mul 0 2 1 roll M PFs 0 V} for 68.345 - } if 68.346 - stroke grestore} def 68.347 -% 68.348 -/languagelevel where 68.349 - {pop languagelevel} {1} ifelse 68.350 - 2 lt 68.351 - {/InterpretLevel1 true def} 68.352 - {/InterpretLevel1 Level1 def} 68.353 - ifelse 68.354 -% 68.355 -% PostScript level 2 pattern fill definitions 68.356 -% 68.357 -/Level2PatternFill { 68.358 -/Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8} 68.359 - bind def 68.360 -/KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def 68.361 -<< Tile8x8 68.362 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke} 68.363 ->> matrix makepattern 68.364 -/Pat1 exch def 68.365 -<< Tile8x8 68.366 - /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke 68.367 - 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke} 68.368 ->> matrix makepattern 68.369 -/Pat2 exch def 68.370 -<< Tile8x8 68.371 - /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L 68.372 - 8 8 L 8 0 L 0 0 L fill} 68.373 ->> matrix makepattern 68.374 -/Pat3 exch def 68.375 -<< Tile8x8 68.376 - /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L 68.377 - 0 12 M 12 0 L stroke} 68.378 ->> matrix makepattern 68.379 -/Pat4 exch def 68.380 -<< Tile8x8 68.381 - /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L 68.382 - 0 -4 M 12 8 L stroke} 68.383 ->> matrix makepattern 68.384 -/Pat5 exch def 68.385 -<< Tile8x8 68.386 - /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L 68.387 - 0 12 M 8 -4 L 4 12 M 10 0 L stroke} 68.388 ->> matrix makepattern 68.389 -/Pat6 exch def 68.390 -<< Tile8x8 68.391 - /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L 68.392 - 0 -4 M 8 12 L 4 -4 M 10 8 L stroke} 68.393 ->> matrix makepattern 68.394 -/Pat7 exch def 68.395 -<< Tile8x8 68.396 - /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L 68.397 - 12 0 M -4 8 L 12 4 M 0 10 L stroke} 68.398 ->> matrix makepattern 68.399 -/Pat8 exch def 68.400 -<< Tile8x8 68.401 - /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L 68.402 - -4 0 M 12 8 L -4 4 M 8 10 L stroke} 68.403 ->> matrix makepattern 68.404 -/Pat9 exch def 68.405 -/Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def 68.406 -/Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def 68.407 -/Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def 68.408 -/Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def 68.409 -/Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def 68.410 -/Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def 68.411 -/Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def 68.412 -} def 68.413 -% 68.414 -% 68.415 -%End of PostScript Level 2 code 68.416 -% 68.417 -/PatternBgnd { 68.418 - TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse 68.419 -} def 68.420 -% 68.421 -% Substitute for Level 2 pattern fill codes with 68.422 -% grayscale if Level 2 support is not selected. 68.423 -% 68.424 -/Level1PatternFill { 68.425 -/Pattern1 {0.250 Density} bind def 68.426 -/Pattern2 {0.500 Density} bind def 68.427 -/Pattern3 {0.750 Density} bind def 68.428 -/Pattern4 {0.125 Density} bind def 68.429 -/Pattern5 {0.375 Density} bind def 68.430 -/Pattern6 {0.625 Density} bind def 68.431 -/Pattern7 {0.875 Density} bind def 68.432 -} def 68.433 -% 68.434 -% Now test for support of Level 2 code 68.435 -% 68.436 -Level1 {Level1PatternFill} {Level2PatternFill} ifelse 68.437 -% 68.438 -/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont 68.439 -dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall 68.440 -currentdict end definefont pop 68.441 -/MFshow { 68.442 - { dup 5 get 3 ge 68.443 - { 5 get 3 eq {gsave} {grestore} ifelse } 68.444 - {dup dup 0 get findfont exch 1 get scalefont setfont 68.445 - [ currentpoint ] exch dup 2 get 0 exch R dup 5 get 2 ne {dup dup 6 68.446 - get exch 4 get {Gshow} {stringwidth pop 0 R} ifelse }if dup 5 get 0 eq 68.447 - {dup 3 get {2 get neg 0 exch R pop} {pop aload pop M} ifelse} {dup 5 68.448 - get 1 eq {dup 2 get exch dup 3 get exch 6 get stringwidth pop -2 div 68.449 - dup 0 R} {dup 6 get stringwidth pop -2 div 0 R 6 get 68.450 - show 2 index {aload pop M neg 3 -1 roll neg R pop pop} {pop pop pop 68.451 - pop aload pop M} ifelse }ifelse }ifelse } 68.452 - ifelse } 68.453 - forall} def 68.454 -/Gswidth {dup type /stringtype eq {stringwidth} {pop (n) stringwidth} ifelse} def 68.455 -/MFwidth {0 exch { dup 5 get 3 ge { 5 get 3 eq { 0 } { pop } ifelse } 68.456 - {dup 3 get{dup dup 0 get findfont exch 1 get scalefont setfont 68.457 - 6 get Gswidth pop add} {pop} ifelse} ifelse} forall} def 68.458 -/MLshow { currentpoint stroke M 68.459 - 0 exch R 68.460 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 68.461 -/MRshow { currentpoint stroke M 68.462 - exch dup MFwidth neg 3 -1 roll R 68.463 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 68.464 -/MCshow { currentpoint stroke M 68.465 - exch dup MFwidth -2 div 3 -1 roll R 68.466 - Blacktext {gsave 0 setgray MFshow grestore} {MFshow} ifelse } bind def 68.467 -/XYsave { [( ) 1 2 true false 3 ()] } bind def 68.468 -/XYrestore { [( ) 1 2 true false 4 ()] } bind def 68.469 -end 68.470 -%%EndProlog 68.471 -%%Page: 1 1 68.472 -gnudict begin 68.473 -gsave 68.474 -doclip 68.475 -50 50 translate 68.476 -0.100 0.100 scale 68.477 -90 rotate 68.478 -0 -5040 translate 68.479 -0 setgray 68.480 -newpath 68.481 -(Helvetica) findfont 140 scalefont setfont 68.482 -1.000 UL 68.483 -LTb 68.484 -686 922 M 68.485 -63 0 V 68.486 -stroke 68.487 -602 922 M 68.488 -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 68.489 -] -46.7 MRshow 68.490 -1.000 UL 68.491 -LTb 68.492 -686 1405 M 68.493 -63 0 V 68.494 -stroke 68.495 -602 1405 M 68.496 -[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 68.497 -] -46.7 MRshow 68.498 -1.000 UL 68.499 -LTb 68.500 -686 1888 M 68.501 -63 0 V 68.502 -stroke 68.503 -602 1888 M 68.504 -[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 68.505 -] -46.7 MRshow 68.506 -1.000 UL 68.507 -LTb 68.508 -686 2372 M 68.509 -63 0 V 68.510 -stroke 68.511 -602 2372 M 68.512 -[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 68.513 -] -46.7 MRshow 68.514 -1.000 UL 68.515 -LTb 68.516 -686 2855 M 68.517 -63 0 V 68.518 -stroke 68.519 -602 2855 M 68.520 -[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 68.521 -] -46.7 MRshow 68.522 -1.000 UL 68.523 -LTb 68.524 -686 448 M 68.525 -0 63 V 68.526 -stroke 68.527 -686 308 M 68.528 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 68.529 -] -46.7 MCshow 68.530 -1.000 UL 68.531 -LTb 68.532 -1109 448 M 68.533 -0 63 V 68.534 -stroke 68.535 -1109 308 M 68.536 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 68.537 -] -46.7 MCshow 68.538 -1.000 UL 68.539 -LTb 68.540 -1531 448 M 68.541 -0 63 V 68.542 -stroke 68.543 -1531 308 M 68.544 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 68.545 -] -46.7 MCshow 68.546 -1.000 UL 68.547 -LTb 68.548 -1954 448 M 68.549 -0 63 V 68.550 -stroke 68.551 -1954 308 M 68.552 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 68.553 -] -46.7 MCshow 68.554 -1.000 UL 68.555 -LTb 68.556 -2377 448 M 68.557 -0 63 V 68.558 -stroke 68.559 -2377 308 M 68.560 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 68.561 -] -46.7 MCshow 68.562 -1.000 UL 68.563 -LTb 68.564 -2799 448 M 68.565 -0 63 V 68.566 -stroke 68.567 -2799 308 M 68.568 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 68.569 -] -46.7 MCshow 68.570 -1.000 UL 68.571 -LTb 68.572 -3222 448 M 68.573 -0 63 V 68.574 -stroke 68.575 -3222 308 M 68.576 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 68.577 -] -46.7 MCshow 68.578 -1.000 UL 68.579 -LTb 68.580 -3644 448 M 68.581 -0 63 V 68.582 -stroke 68.583 -3644 308 M 68.584 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 68.585 -] -46.7 MCshow 68.586 -1.000 UL 68.587 -LTb 68.588 -4067 448 M 68.589 -0 63 V 68.590 -stroke 68.591 -4067 308 M 68.592 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 68.593 -] -46.7 MCshow 68.594 -1.000 UL 68.595 -LTb 68.596 -1.000 UL 68.597 -LTb 68.598 -686 2855 M 68.599 -686 448 L 68.600 -3381 0 V 68.601 -0 2407 R 68.602 --3381 0 R 68.603 -stroke 68.604 -LCb setrgbcolor 68.605 -112 1651 M 68.606 -currentpoint gsave translate -270 rotate 0 0 moveto 68.607 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 68.608 -] -46.7 MCshow 68.609 -grestore 68.610 -LTb 68.611 -LCb setrgbcolor 68.612 -2376 98 M 68.613 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 68.614 -] -46.7 MCshow 68.615 -LTb 68.616 -1.000 UP 68.617 -1.000 UL 68.618 -LTb 68.619 -LCb setrgbcolor 68.620 -3532 2882 M 68.621 -[ [(Helvetica) 140.0 0.0 true true 0 (pthreads)] 68.622 -] -46.7 MCshow 68.623 -LTb 68.624 -1.000 UL 68.625 -LTb 68.626 -2787 2252 N 68.627 -0 700 V 68.628 -1491 0 V 68.629 -0 -700 V 68.630 --1491 0 V 68.631 -Z stroke 68.632 -2787 2812 M 68.633 -1491 0 V 68.634 -% Begin plot #1 68.635 -stroke 68.636 -4.000 UL 68.637 -LT5 68.638 -LC7 setrgbcolor 68.639 -LCb setrgbcolor 68.640 -3711 2742 M 68.641 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 68.642 -] -46.7 MRshow 68.643 -LT5 68.644 -LC7 setrgbcolor 68.645 -3795 2742 M 68.646 -399 0 V 68.647 -1735 2855 M 68.648 -662 -919 V 68.649 -4067 1238 L 68.650 -% End plot #1 68.651 -% Begin plot #2 68.652 -stroke 68.653 -LT6 68.654 -LCb setrgbcolor 68.655 -3711 2602 M 68.656 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 68.657 -] -46.7 MRshow 68.658 -LT6 68.659 -3795 2602 M 68.660 -399 0 V 68.661 -1748 2855 M 68.662 -2555 1723 L 68.663 -4067 1065 L 68.664 -% End plot #2 68.665 -% Begin plot #3 68.666 -stroke 68.667 -LT7 68.668 -LC1 setrgbcolor 68.669 -LCb setrgbcolor 68.670 -3711 2462 M 68.671 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 68.672 -] -46.7 MRshow 68.673 -LT7 68.674 -LC1 setrgbcolor 68.675 -3795 2462 M 68.676 -399 0 V 68.677 -1420 2855 M 68.678 -170 -542 V 68.679 -784 -867 V 68.680 -3986 870 L 68.681 -% End plot #3 68.682 -% Begin plot #4 68.683 -stroke 68.684 -LT8 68.685 -LCb setrgbcolor 68.686 -3711 2322 M 68.687 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 68.688 -] -46.7 MRshow 68.689 -LT8 68.690 -3795 2322 M 68.691 -399 0 V 68.692 -1802 2855 M 68.693 -572 -574 V 68.694 -4007 1207 L 68.695 -% End plot #4 68.696 -stroke 68.697 -1.000 UL 68.698 -LTb 68.699 -686 2855 M 68.700 -686 448 L 68.701 -3381 0 V 68.702 -0 2407 R 68.703 --3381 0 R 68.704 -1.000 UP 68.705 -686 922 M 68.706 -63 0 V 68.707 -stroke 68.708 -602 922 M 68.709 -[ [(Helvetica) 140.0 0.0 true true 0 ( 50)] 68.710 -] -46.7 MRshow 68.711 -1.000 UL 68.712 -LTb 68.713 -686 1405 M 68.714 -63 0 V 68.715 -stroke 68.716 -602 1405 M 68.717 -[ [(Helvetica) 140.0 0.0 true true 0 ( 100)] 68.718 -] -46.7 MRshow 68.719 -1.000 UL 68.720 -LTb 68.721 -686 1888 M 68.722 -63 0 V 68.723 -stroke 68.724 -602 1888 M 68.725 -[ [(Helvetica) 140.0 0.0 true true 0 ( 150)] 68.726 -] -46.7 MRshow 68.727 -1.000 UL 68.728 -LTb 68.729 -686 2372 M 68.730 -63 0 V 68.731 -stroke 68.732 -602 2372 M 68.733 -[ [(Helvetica) 140.0 0.0 true true 0 ( 200)] 68.734 -] -46.7 MRshow 68.735 -1.000 UL 68.736 -LTb 68.737 -686 2855 M 68.738 -63 0 V 68.739 -stroke 68.740 -602 2855 M 68.741 -[ [(Helvetica) 140.0 0.0 true true 0 ( 250)] 68.742 -] -46.7 MRshow 68.743 -1.000 UL 68.744 -LTb 68.745 -686 448 M 68.746 -0 63 V 68.747 -stroke 68.748 -686 308 M 68.749 -[ [(Helvetica) 140.0 0.0 true true 0 ( 0)] 68.750 -] -46.7 MCshow 68.751 -1.000 UL 68.752 -LTb 68.753 -1109 448 M 68.754 -0 63 V 68.755 -stroke 68.756 -1109 308 M 68.757 -[ [(Helvetica) 140.0 0.0 true true 0 ( 1000)] 68.758 -] -46.7 MCshow 68.759 -1.000 UL 68.760 -LTb 68.761 -1531 448 M 68.762 -0 63 V 68.763 -stroke 68.764 -1531 308 M 68.765 -[ [(Helvetica) 140.0 0.0 true true 0 ( 2000)] 68.766 -] -46.7 MCshow 68.767 -1.000 UL 68.768 -LTb 68.769 -1954 448 M 68.770 -0 63 V 68.771 -stroke 68.772 -1954 308 M 68.773 -[ [(Helvetica) 140.0 0.0 true true 0 ( 3000)] 68.774 -] -46.7 MCshow 68.775 -1.000 UL 68.776 -LTb 68.777 -2377 448 M 68.778 -0 63 V 68.779 -stroke 68.780 -2377 308 M 68.781 -[ [(Helvetica) 140.0 0.0 true true 0 ( 4000)] 68.782 -] -46.7 MCshow 68.783 -1.000 UL 68.784 -LTb 68.785 -2799 448 M 68.786 -0 63 V 68.787 -stroke 68.788 -2799 308 M 68.789 -[ [(Helvetica) 140.0 0.0 true true 0 ( 5000)] 68.790 -] -46.7 MCshow 68.791 -1.000 UL 68.792 -LTb 68.793 -3222 448 M 68.794 -0 63 V 68.795 -stroke 68.796 -3222 308 M 68.797 -[ [(Helvetica) 140.0 0.0 true true 0 ( 6000)] 68.798 -] -46.7 MCshow 68.799 -1.000 UL 68.800 -LTb 68.801 -3644 448 M 68.802 -0 63 V 68.803 -stroke 68.804 -3644 308 M 68.805 -[ [(Helvetica) 140.0 0.0 true true 0 ( 7000)] 68.806 -] -46.7 MCshow 68.807 -1.000 UL 68.808 -LTb 68.809 -4067 448 M 68.810 -0 63 V 68.811 -stroke 68.812 -4067 308 M 68.813 -[ [(Helvetica) 140.0 0.0 true true 0 ( 8000)] 68.814 -] -46.7 MCshow 68.815 -1.000 UL 68.816 -LTb 68.817 -1.000 UL 68.818 -LTb 68.819 -686 2855 M 68.820 -686 448 L 68.821 -3381 0 V 68.822 -0 2407 R 68.823 --3381 0 R 68.824 -stroke 68.825 -LCb setrgbcolor 68.826 -112 1651 M 68.827 -currentpoint gsave translate -270 rotate 0 0 moveto 68.828 -[ [(Helvetica) 140.0 0.0 true true 0 (Ratio of Total Execution to Total Work)] 68.829 -] -46.7 MCshow 68.830 -grestore 68.831 -LTb 68.832 -LCb setrgbcolor 68.833 -2376 98 M 68.834 -[ [(Helvetica) 140.0 0.0 true true 0 (Cycles in one Task)] 68.835 -] -46.7 MCshow 68.836 -LTb 68.837 -1.000 UP 68.838 -1.000 UL 68.839 -LTb 68.840 -LCb setrgbcolor 68.841 -2011 2882 M 68.842 -[ [(Helvetica) 140.0 0.0 true true 0 (Vthread)] 68.843 -] -46.7 MCshow 68.844 -LTb 68.845 -1.000 UL 68.846 -LTb 68.847 -1266 2252 N 68.848 -0 700 V 68.849 -1491 0 V 68.850 -0 -700 V 68.851 --1491 0 V 68.852 -Z stroke 68.853 -1266 2812 M 68.854 -1491 0 V 68.855 -% Begin plot #1 68.856 -stroke 68.857 -4.000 UL 68.858 -LT0 68.859 -LCb setrgbcolor 68.860 -2190 2742 M 68.861 -[ [(Helvetica) 140.0 0.0 true true 0 (80 Threads)] 68.862 -] -46.7 MRshow 68.863 -LT0 68.864 -2274 2742 M 68.865 -399 0 V 68.866 -743 626 M 68.867 -22 -61 V 68.868 -39 -36 V 68.869 -75 -37 V 68.870 -154 -17 V 68.871 -303 -13 V 68.872 -609 -7 V 68.873 -1218 -2 V 68.874 -904 -1 V 68.875 -% End plot #1 68.876 -% Begin plot #2 68.877 -stroke 68.878 -LT2 68.879 -LCb setrgbcolor 68.880 -2190 2602 M 68.881 -[ [(Helvetica) 140.0 0.0 true true 0 (160 Threads)] 68.882 -] -46.7 MRshow 68.883 -LT2 68.884 -2274 2602 M 68.885 -399 0 V 68.886 -743 575 M 68.887 -24 4 V 68.888 -36 -82 V 68.889 -76 -20 V 68.890 -153 -6 V 68.891 -303 -12 V 68.892 -609 -4 V 68.893 -1217 -4 V 68.894 -906 -1 V 68.895 -% End plot #2 68.896 -% Begin plot #3 68.897 -stroke 68.898 -LT3 68.899 -LCb setrgbcolor 68.900 -2190 2462 M 68.901 -[ [(Helvetica) 140.0 0.0 true true 0 (320 Threads)] 68.902 -] -46.7 MRshow 68.903 -LT3 68.904 -2274 2462 M 68.905 -399 0 V 68.906 -742 581 M 68.907 -24 -38 V 68.908 -39 -9 V 68.909 -76 -41 V 68.910 -151 -19 V 68.911 -304 -11 V 68.912 -610 -7 V 68.913 -1216 -5 V 68.914 -905 -1 V 68.915 -% End plot #3 68.916 -% Begin plot #4 68.917 -stroke 68.918 -LT4 68.919 -LCb setrgbcolor 68.920 -2190 2322 M 68.921 -[ [(Helvetica) 140.0 0.0 true true 0 (640 Threads)] 68.922 -] -46.7 MRshow 68.923 -LT4 68.924 -2274 2322 M 68.925 -399 0 V 68.926 -743 589 M 68.927 -23 -41 V 68.928 -38 -29 V 68.929 -77 -20 V 68.930 -151 -28 V 68.931 -303 -12 V 68.932 -610 -4 V 68.933 -1217 -4 V 68.934 -905 0 V 68.935 -% End plot #4 68.936 -stroke 68.937 -1.000 UL 68.938 -LTb 68.939 -686 2855 M 68.940 -686 448 L 68.941 -3381 0 V 68.942 -0 2407 R 68.943 --3381 0 R 68.944 -1.000 UP 68.945 -stroke 68.946 -grestore 68.947 -end 68.948 -showpage 68.949 -%%Trailer 68.950 -%%DocumentFonts: Helvetica 68.951 -%%Pages: 1
69.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/helpers/07_F_26__The_Questions__blank.txt Thu Feb 02 12:22:53 2012 -0800 69.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 69.3 @@ -1,100 +0,0 @@ 69.4 - 69.5 - 69.6 -1) What are the problems the authors are trying to solve? 69.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. 69.8 - 69.9 -The problem is 69.10 - 69.11 -A priority domain for deciding the value of some proposed solution to this problem is 69.12 - 69.13 -The value of this solution is determined by 69.14 - 69.15 - 69.16 - 69.17 -2) What "things" does the proposed solution to this problem enable? 69.18 - What benefit to reader is bought by each "thing", & what related to the "thing", gives the benefit. 69.19 - What details are unique about the proposed solution that enables the thing that gives benefit? 69.20 - How does that uniqueness enable or achieve the thing? 69.21 - 69.22 -It enables 69.23 - 69.24 -The benefit to me is 69.25 - 69.26 -Unique details of solution that enable the thing gives benefit are 69.27 - 69.28 -The uniqueness enables the thing that gives benefit by 69.29 - 69.30 - 69.31 - 69.32 -3) What are the fundamentals underlying the problem? 69.33 - What makes this problem hard? 69.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 69.35 -How does the proposed solution work within/relate to/address/take advantage of/deal with the fundamentals underlying the problem? 69.36 - 69.37 -The fundamentals are 69.38 - 69.39 -The hard part is 69.40 - 69.41 -The basic elements are 69.42 - 69.43 -The proposed solution 69.44 - 69.45 - 69.46 - 69.47 -4) What are other approaches and conventional wisdom to solving these problems? 69.48 - What benefits enabled by the proposed solution are not enabled by other work, and vice versa? 69.49 - How does each approach address something the others miss? 69.50 - Try to suggest groupings or categories for the various approaches. 69.51 - Try to suggest ways multiple approaches may be combined to get more pros with fewer cons. 69.52 - 69.53 -Other approaches are 69.54 - 69.55 -A benefit enabled by the proposed that is not enabled by other work is 69.56 - 69.57 -Categories: 69.58 - 69.59 -Combining: 69.60 - 69.61 - 69.62 - 69.63 -5) What is/are the unique main "things" that enable what the proposed solution does? 69.64 - Sketch the details of each of these "things". 69.65 - Did you detect any drawbacks, not stated in the paper, from the details? 69.66 - Did you see any really cool techniques? 69.67 - 69.68 -Unique main "things" are 69.69 - 69.70 -Drawbacks from details: 69.71 - 69.72 -Idea of 69.73 - 69.74 - 69.75 - 69.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? 69.77 - 69.78 -They have to show 69.79 - 69.80 - 69.81 - 69.82 -7) What results did they show? 69.83 - Did they show results in all the needed aspects (which were left out)? 69.84 - Were the testing method and results shown good enough to convince you? 69.85 - Did you detect any cons, not stated in the paper, from the results? 69.86 - 69.87 -They showed 69.88 - 69.89 -Con.. 69.90 - 69.91 - 69.92 - 69.93 -8) How do you think this work may provide some value to you in your future research? 69.94 - 69.95 -The work my provide value for me 69.96 - 69.97 - 69.98 - 69.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). 69.100 - 69.101 -1) 69.102 - 69.103 - 69.104 \ No newline at end of file
70.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/helpers/bib_for_papers.bib Thu Feb 02 12:22:53 2012 -0800 70.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 70.3 @@ -1,1257 +0,0 @@ 70.4 - 70.5 - 70.6 - 70.7 -"" 70.8 -@Article{, 70.9 - author = {}, 70.10 - title = {}, 70.11 - journal = {}, 70.12 - volume = {}, 70.13 - number = {}, 70.14 - year = {}, 70.15 - pages = {} 70.16 -} 70.17 - 70.18 - 70.19 - 70.20 -"" 70.21 -@Book{, 70.22 - author = {}, 70.23 - title = {}, 70.24 - publisher = {}, 70.25 - year = {}, 70.26 - pages = {} 70.27 -} 70.28 - 70.29 - 70.30 - 70.31 -"" 70.32 -@misc{, 70.33 - author = {}, 70.34 - title = {}, 70.35 - url = {} 70.36 -} 70.37 - 70.38 - 70.39 -"Lamport paper with clock sync" 70.40 -@article{Lamport78, 70.41 - author = {Lamport, Leslie}, 70.42 - title = {Time, clocks, and the ordering of events in a distributed system}, 70.43 - journal = {Commun. ACM}, 70.44 - volume = {21}, 70.45 - issue = {7}, 70.46 - year = {1978}, 70.47 - pages = {558--565}, 70.48 - } 70.49 - 70.50 -"Lamport paper with mutex lock algorithm" 70.51 -@article{Lamport87, 70.52 - author = {Lamport, Leslie}, 70.53 - title = {A fast mutual exclusion algorithm}, 70.54 - journal = {ACM Trans. Comput. Syst.}, 70.55 - volume = {5}, 70.56 - issue = {1}, 70.57 - year = {1987}, 70.58 - pages = {1--11} 70.59 -} 70.60 - 70.61 -"Dijkstra semaphore definition paper" 70.62 -@inproceedings{Dijkstra67, 70.63 - author = {Dijkstra, Edsger W.}, 70.64 - title = {The structure of the "{THE}"-multiprogramming system}, 70.65 - booktitle = {Proceedings of the first ACM symposium on Operating System Principles}, 70.66 - series = {SOSP '67}, 70.67 - year = {1967}, 70.68 - pages = {10.1--10.6} 70.69 - } 70.70 - 70.71 -"Original coroutine paper" 70.72 -@article{Conway63, 70.73 - author = {Conway, Melvin E.}, 70.74 - title = {Design of a separable transition-diagram compiler}, 70.75 - journal = {Commun. ACM}, 70.76 - volume = {6}, 70.77 - issue = {7}, 70.78 - year = {1963}, 70.79 - pages = {396--408} 70.80 -} 70.81 - 70.82 -"Component model book Leavens G, Sitaraman M(eds.). Foundations of Component-Based Systems. Cambridge University Press: Cambridge, 2000" 70.83 -@Book{ComponentModel00, 70.84 - author = {G Leavens and M Sitaraman (eds)}, 70.85 - title = {Foundations of Component-Based Systems}, 70.86 - publisher = {Cambridge University Press}, 70.87 - year = {2000} 70.88 -} 70.89 - 70.90 - 70.91 -"Hewitt Actors Ref on ArXiv" 70.92 -@misc{Hewitt10, 70.93 - author = {Carl Hewitt}, 70.94 - title = {Actor Model of Computation}, 70.95 - year = {2010}, 70.96 - note = {http://arxiv.org/abs/1008.1459} 70.97 -} 70.98 - 70.99 -"Actors paper -- AGHA has a 1985 tech report looks like it introduces Actors as an execution model..?" 70.100 -@article{Actors97, 70.101 -author = {Agha,G. and Mason,I. and Smith,S. and Talcott,C.}, 70.102 -title = {A foundation for actor computation}, 70.103 -journal = {Journal of Functional Programming}, 70.104 -volume = {7}, 70.105 -number = {01}, 70.106 -pages = {1-72}, 70.107 -year = {1997}, 70.108 -} 70.109 - 70.110 -"Scheduler Activations: M onto N thread technique" 70.111 -@article{SchedActivations, 70.112 - author = {Anderson, Thomas E. and Bershad, Brian N. and Lazowska, Edward D. and Levy, Henry M.}, 70.113 - title = {Scheduler activations: effective kernel support for the user-level management of parallelism}, 70.114 - journal = {ACM Trans. Comput. Syst.}, 70.115 - volume = {10}, 70.116 - issue = {1}, 70.117 - month = {February}, 70.118 - year = {1992}, 70.119 - pages = {53--79} 70.120 -} 70.121 - 70.122 -"BOM in Manticore project: functional language for scheduling and concurrency" 70.123 -@inproceedings{BOMinManticore, 70.124 - author = {Fluet, Matthew and Rainey, Mike and Reppy, John and Shaw, Adam and Xiao, Yingqi}, 70.125 - title = {Manticore: a heterogeneous parallel language}, 70.126 - booktitle = {Proceedings of the 2007 workshop on Declarative aspects of multicore programming}, 70.127 - series = {DAMP '07}, 70.128 - year = {2007}, 70.129 - pages = {37--44}, 70.130 - numpages = {8} 70.131 -} 70.132 - 70.133 - 70.134 -//===================================== 70.135 -"Gain from Chaos tech report" 70.136 -@techreport 70.137 - {Halle92, 70.138 - Author = {Halle, K.S. and Chua, Leon O. and Anishchenko, V.S. and Safonova, M.A.}, 70.139 - Title = {Signal Amplification via Chaos: Experimental Evidence}, 70.140 - Institution = {EECS Department, University of California, Berkeley}, 70.141 - Year = {1992}, 70.142 - URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/1992/2223.html}, 70.143 - Number = {UCB/ERL M92/130} 70.144 -} 70.145 - 70.146 - 70.147 -Reprinted in: 70.148 -Madan, R. N. (1993) Chua’s Circuit : A Paradigm for Chaos, World Scientific, Singapore. 70.149 -"Signal Amplification via Chaos: Experimental Evidence" 70.150 -K.S. Halle, Leon O. Chua, V.S. Anishchenko and M.A. Safonova 70.151 -pgs 290-308 70.152 - 70.153 - 70.154 -"Spread Spectrum Communication Through Modulation of Chaos" 70.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. 70.156 -cited by 232 70.157 - 70.158 - 70.159 -"Experimental Demonstration of Secure Communications Via Chaotic Synchronization" 70.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. 70.161 - 70.162 - 70.163 -//========================================== 70.164 - 70.165 -"BLIS 2010 HotPar: Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware" 70.166 -@inproceedings 70.167 - {BLISInHotPar, 70.168 - author = {Sean Halle and Albert Cohen}, 70.169 - booktitle = {HOTPAR '10: USENIX Workshop on Hot Topics in Parallelism}, 70.170 - month = {June}, 70.171 - title = {Leveraging Semantics Attached to Function Calls to Isolate Applications from Hardware}, 70.172 - year = {2010} 70.173 - } 70.174 - 70.175 -"2011 HotPar: " 70.176 -@inproceedings 70.177 - {HotPar11, 70.178 - author = {Sean Halle and Albert Cohen}, 70.179 - booktitle = {HOTPAR '11: USENIX Workshop on Hot Topics in Parallelism}, 70.180 - month = {May}, 70.181 - title = {}, 70.182 - year = {2011} 70.183 - } 70.184 - 70.185 -"VMS in LCPC 2011" 70.186 -@article{VMSLCPC, 70.187 - author = {Sean Halle and Albert Cohen}, 70.188 - title = {A Mutable Hardware Abstraction to Replace Threads}, 70.189 - journal = {24th International Workshop on Languages and Compilers for Parallel Languages (LCPC11)}, 70.190 - year = {2011} 70.191 -} 70.192 - 70.193 - 70.194 -"A Framework to Support Research on Portable High Performance Parallelism" 70.195 -@misc{FrameworkTechRep, 70.196 - Author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert}, 70.197 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf}, 70.198 - Title = {A Framework to Support Research on Portable High Performance Parallelism}, 70.199 - Year = 2010 70.200 -} 70.201 - 70.202 -"DKU Pattern for Performance Portable Parallel Software" 70.203 -@misc{DKUTechRep, 70.204 - Author = {Halle, Sean and Cohen, Albert}, 70.205 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-06.pdf}, 70.206 - Title = {DKU Pattern for Performance Portable Parallel Software}, 70.207 - Year = 2009 70.208 -} 70.209 - 70.210 -"An Extensible Parallel Language" 70.211 -@misc{EQNLangTechRep, 70.212 - Author = {Halle, Sean}, 70.213 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-16.pdf}, 70.214 - Title = {An Extensible Parallel Language}, 70.215 - Year = 2009 70.216 -} 70.217 - 70.218 -"A Hardware-Independent Parallel Operating System Abstraction Layer" 70.219 -@misc{CTOSTechRep, 70.220 - Author = {Halle, Sean}, 70.221 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-15.pdf}, 70.222 - Title = {A Hardware-Independent Parallel Operating System Abstraction LayerParallelism}, 70.223 - Year = 2009 70.224 -} 70.225 - 70.226 -"Parallel Language Extensions for Side Effects" 70.227 -@misc{SideEffectsTechRep, 70.228 - Author = {Halle, Sean and Cohen, Albert}, 70.229 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2009/ucsc-soe-09-14.pdf}, 70.230 - Title = {Parallel Language Extensions for Side Effects}, 70.231 - Year = 2009 70.232 -} 70.233 - 70.234 - 70.235 -"BaCTiL: Base CodeTime Language" 70.236 -@misc{BaCTiLTechRep, 70.237 - Author = {Halle, Sean}, 70.238 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-08.pdf}, 70.239 - Title = {BaCTiL: Base CodeTime Language}, 70.240 - Year = 2006 70.241 -} 70.242 - 70.243 - 70.244 -"The Elements of the CodeTime Software Platform" 70.245 -@misc{CTPlatformTechRep, 70.246 - Author = {Halle, Sean}, 70.247 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-09.pdf}, 70.248 - Title = {The Elements of the CodeTime Software Platform}, 70.249 - Year = 2006 70.250 -} 70.251 - 70.252 - 70.253 -"A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform" 70.254 -@misc{CTRTTechRep, 70.255 - Author = {Halle, Sean}, 70.256 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-10.pdf}, 70.257 - Title = {A Scalable and Efficient Peer-to-Peer Run-Time System for a Hardware Independent Software Platform}, 70.258 - Year = 2006 70.259 -} 70.260 - 70.261 - 70.262 -"The Big-Step Operational Semantics of CodeTime Circuits" 70.263 -@misc{FrameworkTechRep, 70.264 - Author = {Halle, Sean}, 70.265 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-11.pdf}, 70.266 - Title = {The Big-Step Operational Semantics of CodeTime Circuits}, 70.267 - Year = 2006 70.268 -} 70.269 - 70.270 - 70.271 -"A Mental Framework for use in Creating Hardware Independent Parallel Languages" 70.272 -@misc{FrameworkTechRep, 70.273 - Author = {Halle, Sean}, 70.274 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2006/ucsc-crl-06-12.pdf}, 70.275 - Title = {A Mental Framework for use in Creating Hardware Independent Parallel Languages}, 70.276 - Year = 2006 70.277 -} 70.278 - 70.279 - 70.280 -"The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform" 70.281 -@misc{CIPTechRep, 70.282 - Author = {Halle, Sean}, 70.283 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2005/ucsc-crl-05-05.pdf}, 70.284 - Title = {The Case for an Integrated Software Platform for HEC Illustrated Using the CodeTime Platform}, 70.285 - Year = 2005 70.286 -} 70.287 - 70.288 -//========================================== 70.289 - 70.290 - 70.291 -"OMP Hompe page" 70.292 -@misc{OMPHome, 70.293 - Note = {http://www.openmediaplatform.eu/}, 70.294 - Title = {{Open Media Platform} homepage}, 70.295 -} 70.296 - 70.297 -"The OMP infrastructure site" 70.298 -@misc{Halle2008, 70.299 - Author = {Sean Halle and Albert Cohen}, 70.300 - Note = {http://omp.musictwodotoh.com}, 70.301 - Title = {{DKU} infrastructure server} 70.302 -} 70.303 - 70.304 - 70.305 - 70.306 -"The DKU sourceforge site" 70.307 -@misc{DKUSourceForge, 70.308 - Author = {Sean Halle and Albert Cohen}, 70.309 - Month = {November}, 70.310 - Note = {http://dku.sourceforge.net}, 70.311 - Title = {{DKU} website}, 70.312 - Year = {2008} 70.313 -} 70.314 - 70.315 - 70.316 -"The BLIS sourceforge site" 70.317 -@misc{BLISHome, 70.318 - Author = {Sean Halle and Albert Cohen}, 70.319 - Month = {November}, 70.320 - Note = {http://blisplatform.sourceforge.net}, 70.321 - Title = {{BLIS} website}, 70.322 - Year = {2008} 70.323 -} 70.324 - 70.325 - 70.326 -"The VMS Home page" 70.327 -@misc{VMSHome, 70.328 - Author = {Sean Halle and Merten Sach and Ben Juurlink and Albert Cohen}, 70.329 - Note = {http://virtualizedmasterslave.org}, 70.330 - Title = {{VMS} Home Page}, 70.331 - Year = {2010} 70.332 -} 70.333 - 70.334 - 70.335 -"The PStack Home page" 70.336 -@misc{PStackHome, 70.337 - Author = {Sean Halle}, 70.338 - Note = {http://pstack.sourceforge.net}, 70.339 - Title = {{PStack} Home Page}, 70.340 - Year = {2012} 70.341 -} 70.342 - 70.343 - 70.344 -"Deblocking code in SVN" 70.345 -@misc{DeblockingCode, 70.346 - Note = {http://dku.svn.sourceforge.net/viewvc/dku/branches/DKU\_C\_\_Deblocking\_\_orig/}, 70.347 - Title ={{DKU-ized Deblocking Filter} code} 70.348 -} 70.349 - 70.350 - 70.351 - 70.352 -"Sample code on BLIS site" 70.353 -@misc{SampleBLISCode, 70.354 - Note = {http://dku.sourceforge.net/SampleCode.htm}, 70.355 - Title ={{Sample BLIS Code}} 70.356 -} 70.357 - 70.358 -"Framework Technical Report" 70.359 -@misc{FrameworkTechRep, 70.360 - Author = {Halle, Sean and Nadezhkin, Dmitry and Cohen, Albert}, 70.361 - Note = {http://www.soe.ucsc.edu/share/technical-reports/2010/ucsc-soe-10-02.pdf}, 70.362 - Title = {A Framework to Support Research on Portable High Performance Parallelism} 70.363 -} 70.364 - 70.365 -"Map reduce" 70.366 -@misc{MapReduceHome, 70.367 - Author = {Google Corp.}, 70.368 - Note = {http://labs.google.com/papers/mapreduce.html}, 70.369 - Title = {{MapReduce} Home page}, 70.370 -} 70.371 - 70.372 - 70.373 -"TBB Thread Building Blocks" 70.374 -@misc{TBBHome, 70.375 - Author = {Intel Corp.}, 70.376 - Note = {http://www.threadingbuildingblocks.org}, 70.377 - Title = {{TBB} Home page}, 70.378 -} 70.379 - 70.380 - 70.381 -"HPF Wikipedia entry" 70.382 -@misc{HPFWikipedia, 70.383 - Author = {Wikipedia}, 70.384 - Note = {http://en.wikipedia.org/wiki/High_Performance_Fortran}, 70.385 - Title = {{HPF} wikipedia page}, 70.386 -} 70.387 - 70.388 - 70.389 -"OpenMP Home page" 70.390 -@misc{OpenMPHome, 70.391 - Author = {{OpenMP} organization}, 70.392 - Note = {http://www.openmp.org}, 70.393 - Title = {{OpenMP} Home page} 70.394 -} 70.395 - 70.396 - 70.397 - 70.398 -"Open MPI Home page" 70.399 -@misc{MPIHome, 70.400 - Author = {open-mpi organization}, 70.401 - Note = {http://www.open-mpi.org}, 70.402 - Title = {{Open MPI} Home page} 70.403 -} 70.404 - 70.405 -"OpenCL Home page" 70.406 -@misc{OpenCLHome, 70.407 - Author = {Kronos Group}, 70.408 - Note = {http://www.khronos.org/opencl}, 70.409 - Title = {{OpenCL} Home page} 70.410 -} 70.411 - 70.412 - 70.413 -"CILK Hompe page" 70.414 -@misc{CILKHome, 70.415 - Author = {Cilk group at MIT}, 70.416 - Note = {http://supertech.csail.mit.edu/cilk/}, 70.417 - Title = {{CILK} homepage}, 70.418 -} 70.419 - 70.420 -@InProceedings{Fri98, 70.421 - author = {M. Frigo and C. E. Leiserson and K. H. Randall}, 70.422 - title = {The Implementation of the Cilk-5 Multithreaded Language}, 70.423 - booktitle = {PLDI '98: Proceedings of the 1998 ACM SIGPLAN conference on Programming language design and implementation}, 70.424 - pages = {212--223}, 70.425 - year = 1998, 70.426 - address = {Montreal, Quebec}, 70.427 - month = jun 70.428 -} 70.429 - 70.430 - 70.431 -"Titanium Hompe page" 70.432 -@misc{TitaniumHome, 70.433 - Note = {http://titanium.cs.berkeley.edu}, 70.434 - Title = {{Titanium} homepage} 70.435 -} 70.436 - 70.437 - 70.438 -"CnC in HotPar" 70.439 -@inproceedings{CnCInHotPar, 70.440 - author = {Knobe, Kathleen}, 70.441 - booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 70.442 - month = {March}, 70.443 - title = {Ease of Use with Concurrent Collections {(CnC)}}, 70.444 - year = {2009} 70.445 -} 70.446 - 70.447 - 70.448 -"CnC Hompe page" 70.449 -@misc{CnCHome, 70.450 - Author = {Intel Corp.}, 70.451 - Note = {http://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/}, 70.452 - Title = {{CnC} homepage}, 70.453 -} 70.454 - 70.455 -"Spiral Home page" 70.456 -@misc{SpiralHome, 70.457 - Author = {Spiral Group at CMU}, 70.458 - Note = {http://www.spiral.net}, 70.459 - Title = {{Spiral} homepage}, 70.460 -} 70.461 - 70.462 - 70.463 -"Scala Hompe page" 70.464 -@misc{ScalaHome, 70.465 - Author = {Scala organization}, 70.466 - Note = {http://www.scala-lang.org/}, 70.467 - Title = {{Scala} homepage}, 70.468 -} 70.469 - 70.470 - 70.471 - 70.472 - 70.473 -"UPC Hompe page" 70.474 -@misc{UPCHome, 70.475 - Author = {UPC group at UC Berkeley}, 70.476 - Note = {http://upc.lbl.gov/}, 70.477 - Title = {{Unified Parallel C} homepage}, 70.478 -} 70.479 - 70.480 - 70.481 -"Suif Hompe page" 70.482 -@misc{SuifHome, 70.483 - Note = {http://suif.stanford.edu}, 70.484 - Title = {{Suif} Parallelizing compiler homepage}, 70.485 -} 70.486 - 70.487 - 70.488 - 70.489 -"SEJITS" 70.490 -@article{SEJITS, 70.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}, 70.492 - title = {SEJITS: Getting Productivity AND Performance With Selective Embedded JIT Specialization}, 70.493 - journal = {First Workshop on Programmable Models for Emerging Architecture at the 18th International Conference on Parallel Architectures and Compilation Techniques }, 70.494 - year = {2009} 70.495 -} 70.496 - 70.497 - 70.498 -"Arnaldo 3D parallel on NXP chip" 70.499 -@inproceedings{Arnaldo3D, 70.500 - author = {Azevedo, Arnaldo and Meenderinck, Cor and Juurlink, Ben and Terechko, Andrei and Hoogerbrugge, Jan and Alvarez, Mauricio and Ramirez, Alex}, 70.501 - title = {Parallel H.264 Decoding on an Embedded Multicore Processor}, 70.502 - booktitle = {HiPEAC '09: Proceedings of the 4th International Conference on High Performance Embedded Architectures and Compilers}, 70.503 - year = {2009}, 70.504 - pages = {404--418} 70.505 - } 70.506 - 70.507 - 70.508 -"Narayanan's GPU scheduling tool" 70.509 -@article{NarayananGPUSched, 70.510 - author = {Narayanan Sundaram and Anand Raghunathan and Srimat T. Chakradhar}, 70.511 - title = {A framework for efficient and scalable execution of domain-specific templates on GPUs}, 70.512 - journal ={International Parallel and Distributed Processing Symposium {(IPDPS)}}, 70.513 - year = {2009}, 70.514 - pages = {1-12}, 70.515 -} 70.516 - 70.517 -"Polyhedral for GPU from Ohio State" 70.518 -@inproceedings{PolyForGPU, 70.519 - author = {Baskaran, Muthu Manikandan and Bondhugula, Uday and Krishnamoorthy, Sriram and Ramanujam, J. and Rountev, Atanas and Sadayappan, P.}, 70.520 - title = {A compiler framework for optimization of affine loop nests for gpgpus}, 70.521 - booktitle = {ICS '08: Proceedings of the 22nd annual international conference on Supercomputing}, 70.522 - year = {2008}, 70.523 - pages = {225--234}, 70.524 - } 70.525 - 70.526 -"Loulou's Polyhedral loop-nest optimization paper in PLDI 08" 70.527 -@inproceedings{Loulou08, 70.528 - author = {Pouchet, Louis-No\"{e}l and Bastoul, C\'{e}dric and Cohen, Albert and Cavazos, John}, 70.529 - title = {Iterative optimization in the polyhedral model: part ii, multidimensional time}, 70.530 - booktitle = {ACM SIGPLAN conference on Programming language design and implementation {(PLDI)} }, 70.531 - year = {2008}, 70.532 - pages = {90--100}, 70.533 - } 70.534 - 70.535 - 70.536 -"Merge in HotPar" 70.537 -@inproceedings{MergeInHotPar, 70.538 - author = {Michael D. Linderman and James Balfour and Teresa H. Meng and William J. Dally}, 70.539 - booktitle = {HOTPAR '09: USENIX Workshop on Hot Topics in Parallelism}, 70.540 - month = {March}, 70.541 - title = {Embracing Heterogeneity \- Parallel Programming for Changing Hardware}, 70.542 - year = {2009} 70.543 -} 70.544 - 70.545 - 70.546 -"Galois system for irregular problems" 70.547 -@inproceedings{GaloisRef, 70.548 - author = {Kulkarni, Milind and Pingali, Keshav and Walter, Bruce and Ramanarayanan, Ganesh and Bala, Kavita and Chew, L. Paul}, 70.549 - title = {Optimistic parallelism requires abstractions}, 70.550 - booktitle = {PLDI '07: Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation}, 70.551 - year = {2007}, 70.552 - pages = {211--222} 70.553 -} 70.554 - 70.555 -"Cool compiler book that talks about balancing task size with machine characteristics.. the one Amit had" 70.556 -@book{Allen2002, 70.557 - author = {Kennedy, Ken and Allen, John R.}, 70.558 - title = {Optimizing compilers for modern architectures: a dependence-based approach}, 70.559 - year = {2002}, 70.560 - publisher = {Morgan Kaufmann Publishers Inc.} 70.561 - } 70.562 - 70.563 - 70.564 -"Streaming languages and tools survery paper" 70.565 -@MISC{Stephens95, 70.566 - author = {R. Stephens}, 70.567 - title = {A Survey Of Stream Processing}, 70.568 - year = {1995} 70.569 -} 70.570 - 70.571 - 70.572 -"Capsule" 70.573 -@INPROCEEDINGS{Palatin06, 70.574 - author = {P Palatin and Y Lhuillier and O Temam}, 70.575 - title = {CAPSULE: Hardware-assisted parallel execution of componentbased programs}, 70.576 - booktitle = {In Proceedings of the 39th Annual International Symposium on Microarchitecture}, 70.577 - year = {2006}, 70.578 - pages = {247--258} 70.579 -} 70.580 - 70.581 -"Sequioa" 70.582 -@inproceedings{Sequioa06, 70.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}, 70.584 - title = {Sequoia: programming the memory hierarchy}, 70.585 - booktitle = {SC '06: Proceedings of the 2006 ACM/IEEE conference on Supercomputing}, 70.586 - year = {2006}, 70.587 - pages = {83} 70.588 - } 70.589 - 70.590 - 70.591 - 70.592 - 70.593 -"Cole meta skeletons book" 70.594 -@Book{Cole89, 70.595 - author = {M Cole}, 70.596 - title = {Algorithmic skeletons: Structured management of parallel computation}, 70.597 - publisher = {Pitman}, 70.598 - year = {1989} 70.599 -} 70.600 - 70.601 - 70.602 -"Meta programming skeletons example" 70.603 -@INPROCEEDINGS{Ginhac98, 70.604 - author = {Dominique Ginhac and Jocelyn Serot and Jean Pierre Derutin}, 70.605 - title = {Fast prototyping of image processing applications using functional skeletons on a MIMD-DM architecture}, 70.606 - booktitle = {In IAPR Workshop on Machine Vision and Applications}, 70.607 - year = {1998}, 70.608 - pages = {468--471} 70.609 -} 70.610 - 70.611 - 70.612 -"Parallel Skeletons meta programming" 70.613 -@inproceedings{Serot08MetaParallel, 70.614 - author = {Serot, Jocelyn and Falcou, Joel}, 70.615 - title = {Functional Meta-programming for Parallel Skeletons}, 70.616 - booktitle = {ICCS '08: Proceedings of the 8th international conference on Computational Science, Part I}, 70.617 - year = {2008}, 70.618 - pages = {154--163} 70.619 - } 70.620 - 70.621 - 70.622 -"Random skeletons for parallel programming article with lots of citations" 70.623 -@INPROCEEDINGS{Darlington93, 70.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}, 70.625 - title = {Parallel programming using skeleton functions}, 70.626 - booktitle = {}, 70.627 - year = {1993}, 70.628 - pages = {146--160}, 70.629 - publisher = {Springer-Verlag} 70.630 -} 70.631 - 70.632 - 70.633 -"View from Berkeley paper" 70.634 -@article{Asanovic06BerkeleyView, 70.635 - title={{The landscape of parallel computing research: A view from berkeley}}, 70.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}, 70.637 - journal={Electrical Engineering and Computer Sciences, University of California at Berkeley, Technical Report No. UCB/EECS-2006-183, December}, 70.638 - volume={18}, 70.639 - number={2006-183}, 70.640 - pages={19}, 70.641 - year={2006}, 70.642 -} 70.643 - 70.644 - 70.645 - 70.646 - 70.647 -"Berkeley Pattern Language" 70.648 -@misc{BerkeleyPattLang, 70.649 - Note = {http://parlab.eecs.berkeley.edu/wiki/patterns}, 70.650 - Title = {{Berkeley Pattern Language}} 70.651 -} 70.652 - 70.653 - 70.654 -"Keutzer reccomended Parallel Prog Patterns book" 70.655 -@book{Mattson04Patterns, 70.656 - title={{Patterns for parallel programming}}, 70.657 - author={Mattson, T. and Sanders, B. and Massingill, B.}, 70.658 - year={2004}, 70.659 - publisher={Addison-Wesley Professional} 70.660 -} 70.661 - 70.662 - 70.663 -"Skillicorn Parallel Languages Survery book" 70.664 -@article{Skillicorn98, 70.665 - title={{Models and languages for parallel computation}}, 70.666 - author={Skillicorn, D.B. and Talia, D.}, 70.667 - journal={ACM Computing Surveys (CSUR)}, 70.668 - volume={30}, 70.669 - number={2}, 70.670 - pages={123--169}, 70.671 - year={1998} 70.672 -} 70.673 - 70.674 - 70.675 - 70.676 -"NESL language" 70.677 -@conference{Blelloch93NESL, 70.678 - title={{Implementation of a portable nested data-parallel language}}, 70.679 - author={Blelloch, G.E. and Hardwick, J.C. and Chatterjee, S. and Sipelstein, J. and Zagha, M.}, 70.680 - booktitle={Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming}, 70.681 - pages={102--111}, 70.682 - year={1993}, 70.683 - organization={ACM New York, NY, USA} 70.684 -} 70.685 - 70.686 - 70.687 -"Sisal" 70.688 -@article{McgrawSisal, 70.689 - title={{SISAL: Streams and iteration in a single assignment language: Reference manual version 1.2}}, 70.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.}, 70.691 - journal={Manual M-146, Rev}, 70.692 - volume={1} 70.693 -} 70.694 - 70.695 - 70.696 -"Linda" 70.697 -@article{Gelernter85Linda, 70.698 - title={{Generative communication in Linda}}, 70.699 - author={Gelernter, D.}, 70.700 - journal={ACM Transactions on Programming Languages and Systems (TOPLAS)}, 70.701 - volume={7}, 70.702 - number={1}, 70.703 - pages={80--112}, 70.704 - year={1985} 70.705 -} 70.706 - 70.707 - 70.708 -"ZPL" 70.709 -@article{Lin94ZPL, 70.710 - title={{ZPL: An array sublanguage}}, 70.711 - author={Lin, C. and Snyder, L.}, 70.712 - journal={Lecture Notes in Computer Science}, 70.713 - volume={768}, 70.714 - pages={96--114}, 70.715 - year={1994} 70.716 -} 70.717 - 70.718 - 70.719 - 70.720 - 70.721 -// Visual programming 70.722 -@article 70.723 - { baecker97, 70.724 - author = {Ron Baecker and Chris DiGiano and Aaron Marcus}, 70.725 - title = {Software visualization for debugging}, 70.726 - journal = {Communications of the ACM}, 70.727 - volume = {40}, 70.728 - number = {4}, 70.729 - year = {1997}, 70.730 - issn = {0001-0782}, 70.731 - pages = {44--54}, 70.732 - publisher = {ACM Press} 70.733 - } 70.734 - 70.735 - 70.736 -// Visual programming 70.737 -@article 70.738 - { ball96, 70.739 - author = {T. A. Ball and S. G. Eick}, 70.740 - title = {Software Visualization in the Large}, 70.741 - journal ={IEEE Computer}, 70.742 - volume = {29}, 70.743 - number = {4}, 70.744 - year = {1996}, 70.745 - month = {apr}, 70.746 - pages = {33--43} 70.747 - } 70.748 - 70.749 - 70.750 -// Milner references this, Chemical Abstract Machine 70.751 -@book 70.752 - {berry89, 70.753 - title={{The chemical abstract machine}}, 70.754 - author={Berry, G. and Boudol, G.}, 70.755 - year={1989}, 70.756 - publisher={ACM Press} 70.757 -} 70.758 - 70.759 - 70.760 -// Cilk reference 70.761 -@article 70.762 - {blumofe95, 70.763 - author = {Robert D. Blumofe and Christopher F. Joerg and Bradley C. Kuszmaul and Charles E. Leiserson and Keith H. Randall and Yuli Zhou}, 70.764 - title = {Cilk: an efficient multithreaded runtime system}, 70.765 - journal = {SIGPLAN Not.}, 70.766 - volume = {30}, 70.767 - number = {8}, 70.768 - year = {1995}, 70.769 - pages = {207--216} 70.770 - } 70.771 - 70.772 - 70.773 -// this has 1440 citations, so throwing it in.. 70.774 -// The complexity of symbolic checking of program correctness 70.775 -@article 70.776 - {burch90, 70.777 - title={{Symbolic model checking: 10^{20} states and beyond}}, 70.778 - author={Burch, JR and Clarke, EM and McMillan, KL and Dill, DL and Hwang, LJ}, 70.779 - journal={Logic in Computer Science, 1990. LICS'90, Proceedings}, 70.780 - pages={428--439}, 70.781 - year={1990} 70.782 -} 70.783 - 70.784 -@article 70.785 - {chamberlain98, 70.786 -author = {B. Chamberlain and S. Choi and E. Lewis and C. Lin and L. Snyder and W. Weathersby}, 70.787 -title = {ZPL's WYSIWYG Performance Model}, 70.788 -journal = {hips}, 70.789 -volume = {00}, 70.790 -year = {1998}, 70.791 -isbn = {0-8186-8412-7}, 70.792 -pages = {50} 70.793 -} 70.794 - 70.795 - 70.796 - 70.797 -// from http://libweb.princeton.edu/libraries/firestone/rbsc/aids/church/church1.html#1 70.798 -@article{church41, 70.799 - author={A. Church}, 70.800 - title={The Calculi of Lambda-Conversion}, 70.801 - journal={Annals of Mathematics Studies}, 70.802 - number={6}, 70.803 - year={1941}, 70.804 - publisher={Princeton University} 70.805 -} 70.806 - 70.807 - 70.808 -@misc 70.809 - { CodeTimeSite, 70.810 - author = {Sean Halle}, 70.811 - key = {CodeTime}, 70.812 - title = {Homepage for The CodeTime Parallel Software Platform}, 70.813 - note = {{\ttfamily http://codetime.sourceforge.net}} 70.814 - } 70.815 - 70.816 - 70.817 - 70.818 -@misc 70.819 - { CodeTimePlatform, 70.820 - author = {Sean Halle}, 70.821 - key = {CodeTime}, 70.822 - title = {The CodeTime Parallel Software Platform}, 70.823 - note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Platform.pdf}} 70.824 - } 70.825 - 70.826 - 70.827 -@misc 70.828 - { CodeTimeVS, 70.829 - author = {Sean Halle}, 70.830 - key = {CodeTime}, 70.831 - title = {The Specification of the CodeTime Platform's Virtual Server}, 70.832 - note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Virtual\_Server.pdf}} 70.833 - } 70.834 - 70.835 - 70.836 -@misc 70.837 - { CodeTimeOS, 70.838 - author = {Sean Halle}, 70.839 - key = {CodeTime}, 70.840 - title = {A Hardware Independent OS}, 70.841 - note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_OS.pdf}} 70.842 - } 70.843 - 70.844 - 70.845 -@misc 70.846 - { CodeTimeSem, 70.847 - author = {Sean Halle}, 70.848 - key = {CodeTime}, 70.849 - title = {The Big-Step Operational Semantics of the CodeTime Computational Model}, 70.850 - note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Semantics.pdf}} 70.851 - } 70.852 - 70.853 - 70.854 -@misc 70.855 - { CodeTimeTh, 70.856 - author = {Sean Halle}, 70.857 - key = {CodeTime}, 70.858 - title = {A Mental Framework for Use in Creating Hardware-Independent Parallel Languages}, 70.859 - note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTiime\_Theoretical\_Framework.pdf}} 70.860 - } 70.861 - 70.862 - 70.863 -@misc 70.864 - { CodeTimeTh1, 70.865 - author = {Sean Halle}, 70.866 - key = {CodeTime}, 70.867 - title = {The CodeTime Parallel Software Platform}, 70.868 - note = {{\ttfamily http://codetime.sourceforge.net}} 70.869 - } 70.870 - 70.871 - 70.872 -@misc 70.873 - { CodeTimeTh2, 70.874 - author = {Sean Halle}, 70.875 - key = {CodeTime}, 70.876 - title = {The CodeTime Parallel Software Platform}, 70.877 - note = {{\ttfamily http://codetime.sourceforge.net}} 70.878 - } 70.879 - 70.880 - 70.881 -@misc 70.882 - { CodeTimeRT, 70.883 - author = {Sean Halle}, 70.884 - key = {CodeTime}, 70.885 - title = {The CodeTime Parallel Software Platform}, 70.886 - note = {{\ttfamily http://codetime.sourceforge.net}} 70.887 - } 70.888 - 70.889 - 70.890 -@misc 70.891 - { CodeTimeWebSite 70.892 - author = {Sean Halle}, 70.893 - key = {CodeTime}, 70.894 - title = {The CodeTime Parallel Software Platform}, 70.895 - note = {{\ttfamily http://codetime.sourceforge.net}} 70.896 - } 70.897 - 70.898 - 70.899 -@misc 70.900 - { CodeTimeBaCTiL, 70.901 - author = {Sean Halle}, 70.902 - key = {CodeTime}, 70.903 - title = {The Base CodeTime Language}, 70.904 - note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_BaCTiL.pdf}} 70.905 - } 70.906 - 70.907 -@misc 70.908 - { CodeTimeCert, 70.909 - author = {Sean Halle}, 70.910 - key = {CodeTime}, 70.911 - title = {The CodeTime Certification Strategy}, 70.912 - note = {{\ttfamily http://codetime.sourceforge.net/content/CodeTime\_Certification.pdf}} 70.913 - } 70.914 - 70.915 - 70.916 -// Multiple inheritance: explains issues well and references LOOPS and CLOS 70.917 -@inproceedings{ducournau94, 70.918 - author = {R. Ducournau and M. Habib and M. Huchard and M. L. Mugnier}, 70.919 - title = {Proposal for a monotonic multiple inheritance linearization}, 70.920 - booktitle = {OOPSLA '94: Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications}, 70.921 - year = {1994}, 70.922 - pages = {164--175}, 70.923 - publisher = {ACM Press} 70.924 -} 70.925 - 70.926 - 70.927 -// 252 Citations, shows equivalence of mu-calculus and (nondeterministic) tree automata, 70.928 -// so cited as foundation a lot 70.929 -@article{emerson91, 70.930 - title={{Tree automata, mu-calculus and determinacy}}, 70.931 - author={Emerson, EA and Jutla, CS}, 70.932 - journal={Proceedings of the 32nd Symposium on Foundations of Computer Science}, 70.933 - pages={368--377}, 70.934 - year={1991} 70.935 -} 70.936 - 70.937 - 70.938 -// Introducs PRAM model, at same time, in same conference as 70.939 -@article{fortune78, 70.940 - title={{Parallelism in random access machines}}, 70.941 - author={Fortune, S. and Wyllie, J.}, 70.942 - journal={STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 70.943 - pages={114--118}, 70.944 - year={1978}, 70.945 - publisher={ACM Press New York, NY, USA} 70.946 -} 70.947 - 70.948 - 70.949 - 70.950 -// Smalltalk reference 70.951 -@book{goldberg83, 70.952 - title={{Smalltalk-80: the language and its implementation}}, 70.953 - author={Goldberg, A. and Robson, D.}, 70.954 - year={1983}, 70.955 - publisher={Addison-Wesley} 70.956 -} 70.957 - 70.958 - 70.959 -// also introduces PRAM model, apparently independently 70.960 -@inproceedings{goldschlager78, 70.961 - author = {Leslie M. Goldschlager}, 70.962 - title = {A unified approach to models of synchronous parallel machines}, 70.963 - booktitle = {STOC '78: Proceedings of the tenth annual ACM symposium on Theory of computing}, 70.964 - year = {1978}, 70.965 - pages = {89--94}, 70.966 - location = {San Diego, California, United States}, 70.967 - doi = {http://doi.acm.org/10.1145/800133.804336}, 70.968 - publisher = {ACM Press}, 70.969 -} 70.970 - 70.971 - 70.972 -// Java spec 70.973 -@book 70.974 - { gosling96, 70.975 - author = {J. Gosling and B. Joy and G. Steele and G. Bracha}, 70.976 - title = {The Java Language Specification}, 70.977 - publisher = {Addison-Wesley}, 70.978 - year = {1996} 70.979 - } 70.980 - 70.981 - 70.982 -// Survey of prototyping parallel apps 70.983 -@article{hasselbring00, 70.984 - author = {Wilhelm Hasselbring}, 70.985 - title = {Programming languages and systems for prototyping concurrent applications}, 70.986 - journal = {ACM Comput. Surv.}, 70.987 - volume = {32}, 70.988 - number = {1}, 70.989 - year = {2000}, 70.990 - issn = {0360-0300}, 70.991 - pages = {43--79}, 70.992 - doi = {http://doi.acm.org/10.1145/349194.349199}, 70.993 - publisher = {ACM Press}, 70.994 - address = {New York, NY, USA}, 70.995 - } 70.996 - 70.997 - 70.998 -// Original CSP paper 70.999 -@article{hoare78, 70.1000 - author={C. A. R. Hoare}, 70.1001 - title={Communicating Sequential Processes}, 70.1002 - journal={Communications of the ACM}, 70.1003 - year={1978}, 70.1004 - volume={21}, 70.1005 - number={8}, 70.1006 - pages={666-677} 70.1007 -} 70.1008 - 70.1009 - 70.1010 -// 8 citations.. probably from self.. want a paper that ties areas together.. 70.1011 -// This paper does a beautiful job.. 70.1012 -@article{huth, 70.1013 - title={{A Unifying Framework for Model Checking Labeled Kripke Structures, Modal Transition Systems, and Interval Transition Systems}}, 70.1014 - author={Huth, M.}, 70.1015 - journal={Proceedings of the 19th International Conference on the Foundations of Software Technology \& Theoretical Computer Science, Lecture Notes in Computer Science}, 70.1016 - pages={369--380}, 70.1017 - publisher={Springer-Verlag} 70.1018 -} 70.1019 - 70.1020 - 70.1021 -// Dataflow advances survey, includes large grain dataflow 70.1022 -@article 70.1023 - { johnston04, 70.1024 - author = {Wesley M. Johnston and J. R. Paul Hanna and Richard J. Millar}, 70.1025 - title = {Advances in dataflow programming languages}, 70.1026 - journal = {ACM Comput. Surv.}, 70.1027 - volume = {36}, 70.1028 - number = {1}, 70.1029 - year = {2004}, 70.1030 - issn = {0360-0300}, 70.1031 - pages = {1--34}, 70.1032 - doi = {http://doi.acm.org/10.1145/1013208.1013209}, 70.1033 - publisher = {ACM Press}, 70.1034 - address = {New York, NY, USA} 70.1035 - } 70.1036 - 70.1037 - 70.1038 -@book 70.1039 - { koelbel93, 70.1040 - author = {C. H. Koelbel and D. Loveman and R. Schreiber and G. Steele Jr}, 70.1041 - title = {High Performance Fortran Handbook}, 70.1042 - year = {1993}, 70.1043 - publisher = {MIT Press} 70.1044 - } 70.1045 - 70.1046 - 70.1047 -// mu calculus paper with 430 citations 70.1048 -@article{kozen83, 70.1049 - title={{Results on the Propositional mu-Calculus}}, 70.1050 - author={Kozen, D.}, 70.1051 - journal={TCS}, 70.1052 - volume={27}, 70.1053 - pages={333--354}, 70.1054 - year={1983} 70.1055 -} 70.1056 - 70.1057 - 70.1058 -// original kripke structure paper 70.1059 -@article{kripke63, 70.1060 - title={{Semantical analysis of modal logic}}, 70.1061 - author={Kripke, S.}, 70.1062 - journal={Zeitschrift fur Mathematische Logik und Grundlagen der Mathematik}, 70.1063 - volume={9}, 70.1064 - pages={67--96}, 70.1065 - year={1963} 70.1066 -} 70.1067 - 70.1068 - 70.1069 -@book 70.1070 - { mcGraw85, 70.1071 - author = {J McGraw and S. Skedzielewski and S. Allan and R Odefoeft}, 70.1072 - title = {SISAL: Streams and Iteration in a Single-Assignment Language: Reference Manual Version 1.2}, 70.1073 - note = {Manual M-146 Rev. 1}, 70.1074 - publisher = {Lawrence Livermore National Laboratory}, 70.1075 - year = {1985} 70.1076 - } 70.1077 - 70.1078 - 70.1079 -// Milner's own citation to development of CCS 70.1080 -@book{milner80, 70.1081 - title={{A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science}}, 70.1082 - author={Milner, R.}, 70.1083 - year={1980}, 70.1084 - publisher={Springer-Verlag} 70.1085 -} 70.1086 - 70.1087 - 70.1088 -// Milner's own pi-calculus reference 70.1089 -@article{milner92, 70.1090 - title={{A calculus of mobile processes, parts I and II}}, 70.1091 - author={Milner, R. and Parrow, J. and Walker, D.}, 70.1092 - journal={Information and Computation}, 70.1093 - volume={100}, 70.1094 - number={1}, 70.1095 - pages={1--40 and 41--77}, 70.1096 - year={1992}, 70.1097 - publisher={Academic Press} 70.1098 -} 70.1099 - 70.1100 - 70.1101 -// more recent Pi calculus reference 70.1102 -@book 70.1103 - { milner99, 70.1104 - author = {Robin Milner}, 70.1105 - title = {Communicating and Mobile Systems: The pi-Calculus}, 70.1106 - publisher = {Cambridge University Press}, 70.1107 - year = {1999} 70.1108 - } 70.1109 - 70.1110 - 70.1111 -// MPI reference 70.1112 -@book 70.1113 - { MPIForum94, 70.1114 - author = {M. P. I. Forum}, 70.1115 - title = {MPI: A Message-Passing Interface Standard}, 70.1116 - year = {1994} 70.1117 - } 70.1118 - 70.1119 - 70.1120 -// Petri nets original citation 70.1121 -@article{petri62, 70.1122 - title={{Fundamentals of a theory of asynchronous information flow}}, 70.1123 - author={Petri, C.A.}, 70.1124 - journal={Proc. IFIP Congress}, 70.1125 - volume={62}, 70.1126 - pages={386--390}, 70.1127 - year={1962} 70.1128 -} 70.1129 - 70.1130 - 70.1131 -// Pierce Type system book 70.1132 -@book{pierce02, 70.1133 - title={Types and Programming Languages}, 70.1134 - author={Pierce, B. C.}, 70.1135 - year={2002}, 70.1136 - publisher={MIT Press} 70.1137 -} 70.1138 - 70.1139 - 70.1140 -// Survey of Visual programming 70.1141 -@Article 70.1142 - { price, 70.1143 - author = {B. A. Price and R. M. Baecker and L. S. Small}, 70.1144 - title = {A Principled Taxonomy of Software Visualization}, 70.1145 - journal ={Journal of Visual Languages and Computing}, 70.1146 - volume = {4}, 70.1147 - number = {3}, 70.1148 - pages = {211--266} 70.1149 - } 70.1150 - 70.1151 - 70.1152 - 70.1153 -@misc 70.1154 - { pythonWebSite, 70.1155 - key = {Python}, 70.1156 - title = {The Python Software Foundation Mission Statement}, 70.1157 - note = {{\ttfamily http://www.python.org/psf/mission.html}} 70.1158 - } 70.1159 - 70.1160 - 70.1161 -// Roadmap for Revitalization of High End Computing 70.1162 -@unpublished 70.1163 - { reed03, 70.1164 - editor = {Daniel A. Reed}, 70.1165 - title = {Workshop on The Roadmap for the Revitalization of High-End Computing}, 70.1166 - day = {16--18}, 70.1167 - month = {jun}, 70.1168 - year = {2003}, 70.1169 - note = {Available at {\ttfamily http://www.cra.org/reports/supercomputing.web.pdf}} 70.1170 - } 70.1171 - 70.1172 - 70.1173 -// Parallel Pascal 70.1174 -@Article 70.1175 - { reeves84, 70.1176 - author = {A. P. Reeves}, 70.1177 - title = {Parallel Pascal -- An Extended Pascal for Parallel Computers}, 70.1178 - journal = {Journal of Parallel and Distributed Computing}, 70.1179 - volume = {1}, 70.1180 - number = {}, 70.1181 - year = {1984}, 70.1182 - month = {aug}, 70.1183 - pages = {64--80} 70.1184 - } 70.1185 - 70.1186 - 70.1187 -// Survey of parallel langs and models 70.1188 -@article{skillicorn98, 70.1189 - author = {David B. Skillicorn and Domenico Talia}, 70.1190 - title = {Models and languages for parallel computation}, 70.1191 - journal = {ACM Comput. Surv.}, 70.1192 - volume = {30}, 70.1193 - number = {2}, 70.1194 - year = {1998}, 70.1195 - issn = {0360-0300}, 70.1196 - pages = {123--169}, 70.1197 - doi = {http://doi.acm.org/10.1145/280277.280278}, 70.1198 - publisher = {ACM Press}, 70.1199 - address = {New York, NY, USA}, 70.1200 - } 70.1201 - 70.1202 - 70.1203 -// LOOPS ref for multiple inheritance issues 70.1204 -@article{stefik86, 70.1205 - title={Object Oriented Programming: Themes and Variations}, 70.1206 - author={Stefik, M. and Bobrow, D. G.}, 70.1207 - journal={The AI Magazine}, 70.1208 - volume={6}, 70.1209 - number={4}, 70.1210 - year={1986} 70.1211 -} 70.1212 - 70.1213 - 70.1214 -// 240 citations to this book, so seems safe.. covers modal logics which is superset 70.1215 -// of temporal logics 70.1216 -@book{stirling92, 70.1217 - title={{Modal and Temporal Logics}}, 70.1218 - author={Stirling, C.}, 70.1219 - year={1992}, 70.1220 - publisher={University of Edinburgh, Department of Computer Science} 70.1221 -} 70.1222 - 70.1223 - 70.1224 -// Titanium website 70.1225 -@misc 70.1226 - { TitaniumWebSite, 70.1227 - author = {Paul Hilfinger and et. al.}, 70.1228 - title = {The Titanium Project Home Page}, 70.1229 - note = {{\ttfamily http://www.cs.berkeley.edu/projects/titanium}} 70.1230 - } 70.1231 - 70.1232 - 70.1233 -// website with scans of original work by Turing 70.1234 -@misc{turing38, 70.1235 - author={A. Turing}, 70.1236 - note={http://www.turingarchive.org/intro/, and 70.1237 -http://www.turing.org.uk/sources/biblio4.html, and 70.1238 -http://web.comlab.ox.ac.uk/oucl/research/areas/ieg/e-library/sources/tp2-ie.pdf}, 70.1239 - year={1938} 70.1240 -} 70.1241 - 70.1242 - 70.1243 -// First mention of von Neumann's architecture ideas 70.1244 -@book{vonNeumann45, 70.1245 - title={First Draft of a Report on the EDVAC}, 70.1246 - author={J. von Neumann}, 70.1247 - year={1945}, 70.1248 - publisher={United States Army Ordnance Department} 70.1249 -} 70.1250 - 70.1251 - 70.1252 -// The 203 Glynn Winskel book for Formal Semantics 70.1253 -@book{winskel93, 70.1254 - title={{The Formal Semantics of Programming Languages}}, 70.1255 - author={Winskel, G.}, 70.1256 - year={1993}, 70.1257 - publisher={MIT Press} 70.1258 -} 70.1259 - 70.1260 -
71.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/helpers/plain.bst Thu Feb 02 12:22:53 2012 -0800 71.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 71.3 @@ -1,1098 +0,0 @@ 71.4 -% BibTeX standard bibliography style `plain' 71.5 - % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. 71.6 - % Copyright (C) 1985, all rights reserved. 71.7 - % Copying of this file is authorized only if either 71.8 - % (1) you make absolutely no changes to your copy, including name, or 71.9 - % (2) if you do make changes, you name it something other than 71.10 - % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst. 71.11 - % This restriction helps ensure that all standard styles are identical. 71.12 - % The file btxbst.doc has the documentation for this style. 71.13 - 71.14 -ENTRY 71.15 - { address 71.16 - author 71.17 - booktitle 71.18 - chapter 71.19 - edition 71.20 - editor 71.21 - howpublished 71.22 - institution 71.23 - journal 71.24 - key 71.25 - month 71.26 - note 71.27 - number 71.28 - organization 71.29 - pages 71.30 - publisher 71.31 - school 71.32 - series 71.33 - title 71.34 - type 71.35 - volume 71.36 - year 71.37 - } 71.38 - {} 71.39 - { label } 71.40 - 71.41 -INTEGERS { output.state before.all mid.sentence after.sentence after.block } 71.42 - 71.43 -FUNCTION {init.state.consts} 71.44 -{ #0 'before.all := 71.45 - #1 'mid.sentence := 71.46 - #2 'after.sentence := 71.47 - #3 'after.block := 71.48 -} 71.49 - 71.50 -STRINGS { s t } 71.51 - 71.52 -FUNCTION {output.nonnull} 71.53 -{ 's := 71.54 - output.state mid.sentence = 71.55 - { ", " * write$ } 71.56 - { output.state after.block = 71.57 - { add.period$ write$ 71.58 - newline$ 71.59 - "\newblock " write$ 71.60 - } 71.61 - { output.state before.all = 71.62 - 'write$ 71.63 - { add.period$ " " * write$ } 71.64 - if$ 71.65 - } 71.66 - if$ 71.67 - mid.sentence 'output.state := 71.68 - } 71.69 - if$ 71.70 - s 71.71 -} 71.72 - 71.73 -FUNCTION {output} 71.74 -{ duplicate$ empty$ 71.75 - 'pop$ 71.76 - 'output.nonnull 71.77 - if$ 71.78 -} 71.79 - 71.80 -FUNCTION {output.check} 71.81 -{ 't := 71.82 - duplicate$ empty$ 71.83 - { pop$ "empty " t * " in " * cite$ * warning$ } 71.84 - 'output.nonnull 71.85 - if$ 71.86 -} 71.87 - 71.88 -FUNCTION {output.bibitem} 71.89 -{ newline$ 71.90 - "\bibitem{" write$ 71.91 - cite$ write$ 71.92 - "}" write$ 71.93 - newline$ 71.94 - "" 71.95 - before.all 'output.state := 71.96 -} 71.97 - 71.98 -FUNCTION {fin.entry} 71.99 -{ add.period$ 71.100 - write$ 71.101 - newline$ 71.102 -} 71.103 - 71.104 -FUNCTION {new.block} 71.105 -{ output.state before.all = 71.106 - 'skip$ 71.107 - { after.block 'output.state := } 71.108 - if$ 71.109 -} 71.110 - 71.111 -FUNCTION {new.sentence} 71.112 -{ output.state after.block = 71.113 - 'skip$ 71.114 - { output.state before.all = 71.115 - 'skip$ 71.116 - { after.sentence 'output.state := } 71.117 - if$ 71.118 - } 71.119 - if$ 71.120 -} 71.121 - 71.122 -FUNCTION {not} 71.123 -{ { #0 } 71.124 - { #1 } 71.125 - if$ 71.126 -} 71.127 - 71.128 -FUNCTION {and} 71.129 -{ 'skip$ 71.130 - { pop$ #0 } 71.131 - if$ 71.132 -} 71.133 - 71.134 -FUNCTION {or} 71.135 -{ { pop$ #1 } 71.136 - 'skip$ 71.137 - if$ 71.138 -} 71.139 - 71.140 -FUNCTION {new.block.checka} 71.141 -{ empty$ 71.142 - 'skip$ 71.143 - 'new.block 71.144 - if$ 71.145 -} 71.146 - 71.147 -FUNCTION {new.block.checkb} 71.148 -{ empty$ 71.149 - swap$ empty$ 71.150 - and 71.151 - 'skip$ 71.152 - 'new.block 71.153 - if$ 71.154 -} 71.155 - 71.156 -FUNCTION {new.sentence.checka} 71.157 -{ empty$ 71.158 - 'skip$ 71.159 - 'new.sentence 71.160 - if$ 71.161 -} 71.162 - 71.163 -FUNCTION {new.sentence.checkb} 71.164 -{ empty$ 71.165 - swap$ empty$ 71.166 - and 71.167 - 'skip$ 71.168 - 'new.sentence 71.169 - if$ 71.170 -} 71.171 - 71.172 -FUNCTION {field.or.null} 71.173 -{ duplicate$ empty$ 71.174 - { pop$ "" } 71.175 - 'skip$ 71.176 - if$ 71.177 -} 71.178 - 71.179 -FUNCTION {emphasize} 71.180 -{ duplicate$ empty$ 71.181 - { pop$ "" } 71.182 - { "{\em " swap$ * "}" * } 71.183 - if$ 71.184 -} 71.185 - 71.186 -INTEGERS { nameptr namesleft numnames } 71.187 - 71.188 -FUNCTION {format.names} 71.189 -{ 's := 71.190 - #1 'nameptr := 71.191 - s num.names$ 'numnames := 71.192 - numnames 'namesleft := 71.193 - { namesleft #0 > } 71.194 - { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := 71.195 - nameptr #1 > 71.196 - { namesleft #1 > 71.197 - { ", " * t * } 71.198 - { numnames #2 > 71.199 - { "," * } 71.200 - 'skip$ 71.201 - if$ 71.202 - t "others" = 71.203 - { " et~al." * } 71.204 - { " and " * t * } 71.205 - if$ 71.206 - } 71.207 - if$ 71.208 - } 71.209 - 't 71.210 - if$ 71.211 - nameptr #1 + 'nameptr := 71.212 - namesleft #1 - 'namesleft := 71.213 - } 71.214 - while$ 71.215 -} 71.216 - 71.217 -FUNCTION {format.authors} 71.218 -{ author empty$ 71.219 - { "" } 71.220 - { author format.names } 71.221 - if$ 71.222 -} 71.223 - 71.224 -FUNCTION {format.editors} 71.225 -{ editor empty$ 71.226 - { "" } 71.227 - { editor format.names 71.228 - editor num.names$ #1 > 71.229 - { ", editors" * } 71.230 - { ", editor" * } 71.231 - if$ 71.232 - } 71.233 - if$ 71.234 -} 71.235 - 71.236 -FUNCTION {format.title} 71.237 -{ title empty$ 71.238 - { "" } 71.239 - { title "t" change.case$ } 71.240 - if$ 71.241 -} 71.242 - 71.243 -FUNCTION {n.dashify} 71.244 -{ 't := 71.245 - "" 71.246 - { t empty$ not } 71.247 - { t #1 #1 substring$ "-" = 71.248 - { t #1 #2 substring$ "--" = not 71.249 - { "--" * 71.250 - t #2 global.max$ substring$ 't := 71.251 - } 71.252 - { { t #1 #1 substring$ "-" = } 71.253 - { "-" * 71.254 - t #2 global.max$ substring$ 't := 71.255 - } 71.256 - while$ 71.257 - } 71.258 - if$ 71.259 - } 71.260 - { t #1 #1 substring$ * 71.261 - t #2 global.max$ substring$ 't := 71.262 - } 71.263 - if$ 71.264 - } 71.265 - while$ 71.266 -} 71.267 - 71.268 -FUNCTION {format.date} 71.269 -{ year empty$ 71.270 - { month empty$ 71.271 - { "" } 71.272 - { "there's a month but no year in " cite$ * warning$ 71.273 - month 71.274 - } 71.275 - if$ 71.276 - } 71.277 - { month empty$ 71.278 - 'year 71.279 - { month " " * year * } 71.280 - if$ 71.281 - } 71.282 - if$ 71.283 -} 71.284 - 71.285 -FUNCTION {format.btitle} 71.286 -{ title emphasize 71.287 -} 71.288 - 71.289 -FUNCTION {tie.or.space.connect} 71.290 -{ duplicate$ text.length$ #3 < 71.291 - { "~" } 71.292 - { " " } 71.293 - if$ 71.294 - swap$ * * 71.295 -} 71.296 - 71.297 -FUNCTION {either.or.check} 71.298 -{ empty$ 71.299 - 'pop$ 71.300 - { "can't use both " swap$ * " fields in " * cite$ * warning$ } 71.301 - if$ 71.302 -} 71.303 - 71.304 -FUNCTION {format.bvolume} 71.305 -{ volume empty$ 71.306 - { "" } 71.307 - { "volume" volume tie.or.space.connect 71.308 - series empty$ 71.309 - 'skip$ 71.310 - { " of " * series emphasize * } 71.311 - if$ 71.312 - "volume and number" number either.or.check 71.313 - } 71.314 - if$ 71.315 -} 71.316 - 71.317 -FUNCTION {format.number.series} 71.318 -{ volume empty$ 71.319 - { number empty$ 71.320 - { series field.or.null } 71.321 - { output.state mid.sentence = 71.322 - { "number" } 71.323 - { "Number" } 71.324 - if$ 71.325 - number tie.or.space.connect 71.326 - series empty$ 71.327 - { "there's a number but no series in " cite$ * warning$ } 71.328 - { " in " * series * } 71.329 - if$ 71.330 - } 71.331 - if$ 71.332 - } 71.333 - { "" } 71.334 - if$ 71.335 -} 71.336 - 71.337 -FUNCTION {format.edition} 71.338 -{ edition empty$ 71.339 - { "" } 71.340 - { output.state mid.sentence = 71.341 - { edition "l" change.case$ " edition" * } 71.342 - { edition "t" change.case$ " edition" * } 71.343 - if$ 71.344 - } 71.345 - if$ 71.346 -} 71.347 - 71.348 -INTEGERS { multiresult } 71.349 - 71.350 -FUNCTION {multi.page.check} 71.351 -{ 't := 71.352 - #0 'multiresult := 71.353 - { multiresult not 71.354 - t empty$ not 71.355 - and 71.356 - } 71.357 - { t #1 #1 substring$ 71.358 - duplicate$ "-" = 71.359 - swap$ duplicate$ "," = 71.360 - swap$ "+" = 71.361 - or or 71.362 - { #1 'multiresult := } 71.363 - { t #2 global.max$ substring$ 't := } 71.364 - if$ 71.365 - } 71.366 - while$ 71.367 - multiresult 71.368 -} 71.369 - 71.370 -FUNCTION {format.pages} 71.371 -{ pages empty$ 71.372 - { "" } 71.373 - { pages multi.page.check 71.374 - { "pages" pages n.dashify tie.or.space.connect } 71.375 - { "page" pages tie.or.space.connect } 71.376 - if$ 71.377 - } 71.378 - if$ 71.379 -} 71.380 - 71.381 -FUNCTION {format.vol.num.pages} 71.382 -{ volume field.or.null 71.383 - number empty$ 71.384 - 'skip$ 71.385 - { "(" number * ")" * * 71.386 - volume empty$ 71.387 - { "there's a number but no volume in " cite$ * warning$ } 71.388 - 'skip$ 71.389 - if$ 71.390 - } 71.391 - if$ 71.392 - pages empty$ 71.393 - 'skip$ 71.394 - { duplicate$ empty$ 71.395 - { pop$ format.pages } 71.396 - { ":" * pages n.dashify * } 71.397 - if$ 71.398 - } 71.399 - if$ 71.400 -} 71.401 - 71.402 -FUNCTION {format.chapter.pages} 71.403 -{ chapter empty$ 71.404 - 'format.pages 71.405 - { type empty$ 71.406 - { "chapter" } 71.407 - { type "l" change.case$ } 71.408 - if$ 71.409 - chapter tie.or.space.connect 71.410 - pages empty$ 71.411 - 'skip$ 71.412 - { ", " * format.pages * } 71.413 - if$ 71.414 - } 71.415 - if$ 71.416 -} 71.417 - 71.418 -FUNCTION {format.in.ed.booktitle} 71.419 -{ booktitle empty$ 71.420 - { "" } 71.421 - { editor empty$ 71.422 - { "In " booktitle emphasize * } 71.423 - { "In " format.editors * ", " * booktitle emphasize * } 71.424 - if$ 71.425 - } 71.426 - if$ 71.427 -} 71.428 - 71.429 -FUNCTION {empty.misc.check} 71.430 -{ author empty$ title empty$ howpublished empty$ 71.431 - month empty$ year empty$ note empty$ 71.432 - and and and and and 71.433 - key empty$ not and 71.434 - { "all relevant fields are empty in " cite$ * warning$ } 71.435 - 'skip$ 71.436 - if$ 71.437 -} 71.438 - 71.439 -FUNCTION {format.thesis.type} 71.440 -{ type empty$ 71.441 - 'skip$ 71.442 - { pop$ 71.443 - type "t" change.case$ 71.444 - } 71.445 - if$ 71.446 -} 71.447 - 71.448 -FUNCTION {format.tr.number} 71.449 -{ type empty$ 71.450 - { "Technical Report" } 71.451 - 'type 71.452 - if$ 71.453 - number empty$ 71.454 - { "t" change.case$ } 71.455 - { number tie.or.space.connect } 71.456 - if$ 71.457 -} 71.458 - 71.459 -FUNCTION {format.article.crossref} 71.460 -{ key empty$ 71.461 - { journal empty$ 71.462 - { "need key or journal for " cite$ * " to crossref " * crossref * 71.463 - warning$ 71.464 - "" 71.465 - } 71.466 - { "In {\em " journal * "\/}" * } 71.467 - if$ 71.468 - } 71.469 - { "In " key * } 71.470 - if$ 71.471 - " \cite{" * crossref * "}" * 71.472 -} 71.473 - 71.474 -FUNCTION {format.crossref.editor} 71.475 -{ editor #1 "{vv~}{ll}" format.name$ 71.476 - editor num.names$ duplicate$ 71.477 - #2 > 71.478 - { pop$ " et~al." * } 71.479 - { #2 < 71.480 - 'skip$ 71.481 - { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 71.482 - { " et~al." * } 71.483 - { " and " * editor #2 "{vv~}{ll}" format.name$ * } 71.484 - if$ 71.485 - } 71.486 - if$ 71.487 - } 71.488 - if$ 71.489 -} 71.490 - 71.491 -FUNCTION {format.book.crossref} 71.492 -{ volume empty$ 71.493 - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 71.494 - "In " 71.495 - } 71.496 - { "Volume" volume tie.or.space.connect 71.497 - " of " * 71.498 - } 71.499 - if$ 71.500 - editor empty$ 71.501 - editor field.or.null author field.or.null = 71.502 - or 71.503 - { key empty$ 71.504 - { series empty$ 71.505 - { "need editor, key, or series for " cite$ * " to crossref " * 71.506 - crossref * warning$ 71.507 - "" * 71.508 - } 71.509 - { "{\em " * series * "\/}" * } 71.510 - if$ 71.511 - } 71.512 - { key * } 71.513 - if$ 71.514 - } 71.515 - { format.crossref.editor * } 71.516 - if$ 71.517 - " \cite{" * crossref * "}" * 71.518 -} 71.519 - 71.520 -FUNCTION {format.incoll.inproc.crossref} 71.521 -{ editor empty$ 71.522 - editor field.or.null author field.or.null = 71.523 - or 71.524 - { key empty$ 71.525 - { booktitle empty$ 71.526 - { "need editor, key, or booktitle for " cite$ * " to crossref " * 71.527 - crossref * warning$ 71.528 - "" 71.529 - } 71.530 - { "In {\em " booktitle * "\/}" * } 71.531 - if$ 71.532 - } 71.533 - { "In " key * } 71.534 - if$ 71.535 - } 71.536 - { "In " format.crossref.editor * } 71.537 - if$ 71.538 - " \cite{" * crossref * "}" * 71.539 -} 71.540 - 71.541 -FUNCTION {article} 71.542 -{ output.bibitem 71.543 - format.authors "author" output.check 71.544 - new.block 71.545 - format.title "title" output.check 71.546 - new.block 71.547 - crossref missing$ 71.548 - { journal emphasize "journal" output.check 71.549 - format.vol.num.pages output 71.550 - format.date "year" output.check 71.551 - } 71.552 - { format.article.crossref output.nonnull 71.553 - format.pages output 71.554 - } 71.555 - if$ 71.556 - new.block 71.557 - note output 71.558 - fin.entry 71.559 -} 71.560 - 71.561 -FUNCTION {book} 71.562 -{ output.bibitem 71.563 - author empty$ 71.564 - { format.editors "author and editor" output.check } 71.565 - { format.authors output.nonnull 71.566 - crossref missing$ 71.567 - { "author and editor" editor either.or.check } 71.568 - 'skip$ 71.569 - if$ 71.570 - } 71.571 - if$ 71.572 - new.block 71.573 - format.btitle "title" output.check 71.574 - crossref missing$ 71.575 - { format.bvolume output 71.576 - new.block 71.577 - format.number.series output 71.578 - new.sentence 71.579 - publisher "publisher" output.check 71.580 - address output 71.581 - } 71.582 - { new.block 71.583 - format.book.crossref output.nonnull 71.584 - } 71.585 - if$ 71.586 - format.edition output 71.587 - format.date "year" output.check 71.588 - new.block 71.589 - note output 71.590 - fin.entry 71.591 -} 71.592 - 71.593 -FUNCTION {booklet} 71.594 -{ output.bibitem 71.595 - format.authors output 71.596 - new.block 71.597 - format.title "title" output.check 71.598 - howpublished address new.block.checkb 71.599 - howpublished output 71.600 - address output 71.601 - format.date output 71.602 - new.block 71.603 - note output 71.604 - fin.entry 71.605 -} 71.606 - 71.607 -FUNCTION {inbook} 71.608 -{ output.bibitem 71.609 - author empty$ 71.610 - { format.editors "author and editor" output.check } 71.611 - { format.authors output.nonnull 71.612 - crossref missing$ 71.613 - { "author and editor" editor either.or.check } 71.614 - 'skip$ 71.615 - if$ 71.616 - } 71.617 - if$ 71.618 - new.block 71.619 - format.btitle "title" output.check 71.620 - crossref missing$ 71.621 - { format.bvolume output 71.622 - format.chapter.pages "chapter and pages" output.check 71.623 - new.block 71.624 - format.number.series output 71.625 - new.sentence 71.626 - publisher "publisher" output.check 71.627 - address output 71.628 - } 71.629 - { format.chapter.pages "chapter and pages" output.check 71.630 - new.block 71.631 - format.book.crossref output.nonnull 71.632 - } 71.633 - if$ 71.634 - format.edition output 71.635 - format.date "year" output.check 71.636 - new.block 71.637 - note output 71.638 - fin.entry 71.639 -} 71.640 - 71.641 -FUNCTION {incollection} 71.642 -{ output.bibitem 71.643 - format.authors "author" output.check 71.644 - new.block 71.645 - format.title "title" output.check 71.646 - new.block 71.647 - crossref missing$ 71.648 - { format.in.ed.booktitle "booktitle" output.check 71.649 - format.bvolume output 71.650 - format.number.series output 71.651 - format.chapter.pages output 71.652 - new.sentence 71.653 - publisher "publisher" output.check 71.654 - address output 71.655 - format.edition output 71.656 - format.date "year" output.check 71.657 - } 71.658 - { format.incoll.inproc.crossref output.nonnull 71.659 - format.chapter.pages output 71.660 - } 71.661 - if$ 71.662 - new.block 71.663 - note output 71.664 - fin.entry 71.665 -} 71.666 - 71.667 -FUNCTION {inproceedings} 71.668 -{ output.bibitem 71.669 - format.authors "author" output.check 71.670 - new.block 71.671 - format.title "title" output.check 71.672 - new.block 71.673 - crossref missing$ 71.674 - { format.in.ed.booktitle "booktitle" output.check 71.675 - format.bvolume output 71.676 - format.number.series output 71.677 - format.pages output 71.678 - address empty$ 71.679 - { organization publisher new.sentence.checkb 71.680 - organization output 71.681 - publisher output 71.682 - format.date "year" output.check 71.683 - } 71.684 - { address output.nonnull 71.685 - format.date "year" output.check 71.686 - new.sentence 71.687 - organization output 71.688 - publisher output 71.689 - } 71.690 - if$ 71.691 - } 71.692 - { format.incoll.inproc.crossref output.nonnull 71.693 - format.pages output 71.694 - } 71.695 - if$ 71.696 - new.block 71.697 - note output 71.698 - fin.entry 71.699 -} 71.700 - 71.701 -FUNCTION {conference} { inproceedings } 71.702 - 71.703 -FUNCTION {manual} 71.704 -{ output.bibitem 71.705 - author empty$ 71.706 - { organization empty$ 71.707 - 'skip$ 71.708 - { organization output.nonnull 71.709 - address output 71.710 - } 71.711 - if$ 71.712 - } 71.713 - { format.authors output.nonnull } 71.714 - if$ 71.715 - new.block 71.716 - format.btitle "title" output.check 71.717 - author empty$ 71.718 - { organization empty$ 71.719 - { address new.block.checka 71.720 - address output 71.721 - } 71.722 - 'skip$ 71.723 - if$ 71.724 - } 71.725 - { organization address new.block.checkb 71.726 - organization output 71.727 - address output 71.728 - } 71.729 - if$ 71.730 - format.edition output 71.731 - format.date output 71.732 - new.block 71.733 - note output 71.734 - fin.entry 71.735 -} 71.736 - 71.737 -FUNCTION {mastersthesis} 71.738 -{ output.bibitem 71.739 - format.authors "author" output.check 71.740 - new.block 71.741 - format.title "title" output.check 71.742 - new.block 71.743 - "Master's thesis" format.thesis.type output.nonnull 71.744 - school "school" output.check 71.745 - address output 71.746 - format.date "year" output.check 71.747 - new.block 71.748 - note output 71.749 - fin.entry 71.750 -} 71.751 - 71.752 -FUNCTION {misc} 71.753 -{ output.bibitem 71.754 - format.authors output 71.755 - title howpublished new.block.checkb 71.756 - format.title output 71.757 - howpublished new.block.checka 71.758 - howpublished output 71.759 - format.date output 71.760 - new.block 71.761 - note output 71.762 - fin.entry 71.763 - empty.misc.check 71.764 -} 71.765 - 71.766 -FUNCTION {phdthesis} 71.767 -{ output.bibitem 71.768 - format.authors "author" output.check 71.769 - new.block 71.770 - format.btitle "title" output.check 71.771 - new.block 71.772 - "PhD thesis" format.thesis.type output.nonnull 71.773 - school "school" output.check 71.774 - address output 71.775 - format.date "year" output.check 71.776 - new.block 71.777 - note output 71.778 - fin.entry 71.779 -} 71.780 - 71.781 -FUNCTION {proceedings} 71.782 -{ output.bibitem 71.783 - editor empty$ 71.784 - { organization output } 71.785 - { format.editors output.nonnull } 71.786 - if$ 71.787 - new.block 71.788 - format.btitle "title" output.check 71.789 - format.bvolume output 71.790 - format.number.series output 71.791 - address empty$ 71.792 - { editor empty$ 71.793 - { publisher new.sentence.checka } 71.794 - { organization publisher new.sentence.checkb 71.795 - organization output 71.796 - } 71.797 - if$ 71.798 - publisher output 71.799 - format.date "year" output.check 71.800 - } 71.801 - { address output.nonnull 71.802 - format.date "year" output.check 71.803 - new.sentence 71.804 - editor empty$ 71.805 - 'skip$ 71.806 - { organization output } 71.807 - if$ 71.808 - publisher output 71.809 - } 71.810 - if$ 71.811 - new.block 71.812 - note output 71.813 - fin.entry 71.814 -} 71.815 - 71.816 -FUNCTION {techreport} 71.817 -{ output.bibitem 71.818 - format.authors "author" output.check 71.819 - new.block 71.820 - format.title "title" output.check 71.821 - new.block 71.822 - format.tr.number output.nonnull 71.823 - institution "institution" output.check 71.824 - address output 71.825 - format.date "year" output.check 71.826 - new.block 71.827 - note output 71.828 - fin.entry 71.829 -} 71.830 - 71.831 -FUNCTION {unpublished} 71.832 -{ output.bibitem 71.833 - format.authors "author" output.check 71.834 - new.block 71.835 - format.title "title" output.check 71.836 - new.block 71.837 - note "note" output.check 71.838 - format.date output 71.839 - fin.entry 71.840 -} 71.841 - 71.842 -FUNCTION {default.type} { misc } 71.843 - 71.844 -MACRO {jan} {"January"} 71.845 - 71.846 -MACRO {feb} {"February"} 71.847 - 71.848 -MACRO {mar} {"March"} 71.849 - 71.850 -MACRO {apr} {"April"} 71.851 - 71.852 -MACRO {may} {"May"} 71.853 - 71.854 -MACRO {jun} {"June"} 71.855 - 71.856 -MACRO {jul} {"July"} 71.857 - 71.858 -MACRO {aug} {"August"} 71.859 - 71.860 -MACRO {sep} {"September"} 71.861 - 71.862 -MACRO {oct} {"October"} 71.863 - 71.864 -MACRO {nov} {"November"} 71.865 - 71.866 -MACRO {dec} {"December"} 71.867 - 71.868 -MACRO {acmcs} {"ACM Computing Surveys"} 71.869 - 71.870 -MACRO {acta} {"Acta Informatica"} 71.871 - 71.872 -MACRO {cacm} {"Communications of the ACM"} 71.873 - 71.874 -MACRO {ibmjrd} {"IBM Journal of Research and Development"} 71.875 - 71.876 -MACRO {ibmsj} {"IBM Systems Journal"} 71.877 - 71.878 -MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 71.879 - 71.880 -MACRO {ieeetc} {"IEEE Transactions on Computers"} 71.881 - 71.882 -MACRO {ieeetcad} 71.883 - {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 71.884 - 71.885 -MACRO {ipl} {"Information Processing Letters"} 71.886 - 71.887 -MACRO {jacm} {"Journal of the ACM"} 71.888 - 71.889 -MACRO {jcss} {"Journal of Computer and System Sciences"} 71.890 - 71.891 -MACRO {scp} {"Science of Computer Programming"} 71.892 - 71.893 -MACRO {sicomp} {"SIAM Journal on Computing"} 71.894 - 71.895 -MACRO {tocs} {"ACM Transactions on Computer Systems"} 71.896 - 71.897 -MACRO {tods} {"ACM Transactions on Database Systems"} 71.898 - 71.899 -MACRO {tog} {"ACM Transactions on Graphics"} 71.900 - 71.901 -MACRO {toms} {"ACM Transactions on Mathematical Software"} 71.902 - 71.903 -MACRO {toois} {"ACM Transactions on Office Information Systems"} 71.904 - 71.905 -MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 71.906 - 71.907 -MACRO {tcs} {"Theoretical Computer Science"} 71.908 - 71.909 -READ 71.910 - 71.911 -FUNCTION {sortify} 71.912 -{ purify$ 71.913 - "l" change.case$ 71.914 -} 71.915 - 71.916 -INTEGERS { len } 71.917 - 71.918 -FUNCTION {chop.word} 71.919 -{ 's := 71.920 - 'len := 71.921 - s #1 len substring$ = 71.922 - { s len #1 + global.max$ substring$ } 71.923 - 's 71.924 - if$ 71.925 -} 71.926 - 71.927 -FUNCTION {sort.format.names} 71.928 -{ 's := 71.929 - #1 'nameptr := 71.930 - "" 71.931 - s num.names$ 'numnames := 71.932 - numnames 'namesleft := 71.933 - { namesleft #0 > } 71.934 - { nameptr #1 > 71.935 - { " " * } 71.936 - 'skip$ 71.937 - if$ 71.938 - s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := 71.939 - nameptr numnames = t "others" = and 71.940 - { "et al" * } 71.941 - { t sortify * } 71.942 - if$ 71.943 - nameptr #1 + 'nameptr := 71.944 - namesleft #1 - 'namesleft := 71.945 - } 71.946 - while$ 71.947 -} 71.948 - 71.949 -FUNCTION {sort.format.title} 71.950 -{ 't := 71.951 - "A " #2 71.952 - "An " #3 71.953 - "The " #4 t chop.word 71.954 - chop.word 71.955 - chop.word 71.956 - sortify 71.957 - #1 global.max$ substring$ 71.958 -} 71.959 - 71.960 -FUNCTION {author.sort} 71.961 -{ author empty$ 71.962 - { key empty$ 71.963 - { "to sort, need author or key in " cite$ * warning$ 71.964 - "" 71.965 - } 71.966 - { key sortify } 71.967 - if$ 71.968 - } 71.969 - { author sort.format.names } 71.970 - if$ 71.971 -} 71.972 - 71.973 -FUNCTION {author.editor.sort} 71.974 -{ author empty$ 71.975 - { editor empty$ 71.976 - { key empty$ 71.977 - { "to sort, need author, editor, or key in " cite$ * warning$ 71.978 - "" 71.979 - } 71.980 - { key sortify } 71.981 - if$ 71.982 - } 71.983 - { editor sort.format.names } 71.984 - if$ 71.985 - } 71.986 - { author sort.format.names } 71.987 - if$ 71.988 -} 71.989 - 71.990 -FUNCTION {author.organization.sort} 71.991 -{ author empty$ 71.992 - { organization empty$ 71.993 - { key empty$ 71.994 - { "to sort, need author, organization, or key in " cite$ * warning$ 71.995 - "" 71.996 - } 71.997 - { key sortify } 71.998 - if$ 71.999 - } 71.1000 - { "The " #4 organization chop.word sortify } 71.1001 - if$ 71.1002 - } 71.1003 - { author sort.format.names } 71.1004 - if$ 71.1005 -} 71.1006 - 71.1007 -FUNCTION {editor.organization.sort} 71.1008 -{ editor empty$ 71.1009 - { organization empty$ 71.1010 - { key empty$ 71.1011 - { "to sort, need editor, organization, or key in " cite$ * warning$ 71.1012 - "" 71.1013 - } 71.1014 - { key sortify } 71.1015 - if$ 71.1016 - } 71.1017 - { "The " #4 organization chop.word sortify } 71.1018 - if$ 71.1019 - } 71.1020 - { editor sort.format.names } 71.1021 - if$ 71.1022 -} 71.1023 - 71.1024 -FUNCTION {presort} 71.1025 -{ type$ "book" = 71.1026 - type$ "inbook" = 71.1027 - or 71.1028 - 'author.editor.sort 71.1029 - { type$ "proceedings" = 71.1030 - 'editor.organization.sort 71.1031 - { type$ "manual" = 71.1032 - 'author.organization.sort 71.1033 - 'author.sort 71.1034 - if$ 71.1035 - } 71.1036 - if$ 71.1037 - } 71.1038 - if$ 71.1039 - " " 71.1040 - * 71.1041 - year field.or.null sortify 71.1042 - * 71.1043 - " " 71.1044 - * 71.1045 - title field.or.null 71.1046 - sort.format.title 71.1047 - * 71.1048 - #1 entry.max$ substring$ 71.1049 - 'sort.key$ := 71.1050 -} 71.1051 - 71.1052 -ITERATE {presort} 71.1053 - 71.1054 -SORT 71.1055 - 71.1056 -STRINGS { longest.label } 71.1057 - 71.1058 -INTEGERS { number.label longest.label.width } 71.1059 - 71.1060 -FUNCTION {initialize.longest.label} 71.1061 -{ "" 'longest.label := 71.1062 - #1 'number.label := 71.1063 - #0 'longest.label.width := 71.1064 -} 71.1065 - 71.1066 -FUNCTION {longest.label.pass} 71.1067 -{ number.label int.to.str$ 'label := 71.1068 - number.label #1 + 'number.label := 71.1069 - label width$ longest.label.width > 71.1070 - { label 'longest.label := 71.1071 - label width$ 'longest.label.width := 71.1072 - } 71.1073 - 'skip$ 71.1074 - if$ 71.1075 -} 71.1076 - 71.1077 -EXECUTE {initialize.longest.label} 71.1078 - 71.1079 -ITERATE {longest.label.pass} 71.1080 - 71.1081 -FUNCTION {begin.bib} 71.1082 -{ preamble$ empty$ 71.1083 - 'skip$ 71.1084 - { preamble$ write$ newline$ } 71.1085 - if$ 71.1086 - "\begin{thebibliography}{" longest.label * "}" * write$ newline$ 71.1087 -} 71.1088 - 71.1089 -EXECUTE {begin.bib} 71.1090 - 71.1091 -EXECUTE {init.state.consts} 71.1092 - 71.1093 -ITERATE {call.type$} 71.1094 - 71.1095 -FUNCTION {end.bib} 71.1096 -{ newline$ 71.1097 - "\end{thebibliography}" write$ newline$ 71.1098 -} 71.1099 - 71.1100 -EXECUTE {end.bib} 71.1101 -
72.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/helpers/url.sty Thu Feb 02 12:22:53 2012 -0800 72.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 72.3 @@ -1,325 +0,0 @@ 72.4 -% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@triumf.ca 72.5 -% Copyright 1996-1999 Donald Arseneau, Vancouver, Canada. 72.6 -% This program can be used, distributed, and modified under the terms 72.7 -% of the LaTeX Project Public License. 72.8 -% 72.9 -% A form of \verb that allows linebreaks at certain characters or 72.10 -% combinations of characters, accepts reconfiguration, and can usually 72.11 -% be used in the argument to another command. It is intended for email 72.12 -% addresses, hypertext links, directories/paths, etc., which normally 72.13 -% have no spaces. The font may be selected using the \urlstyle command, 72.14 -% and new url-like commands can be defined using \urldef. 72.15 -% 72.16 -% Usage: Conditions: 72.17 -% \url{ } If the argument contains any "%", "#", or "^^", or ends with 72.18 -% "\", it can't be used in the argument to another command. 72.19 -% The argument must not contain unbalanced braces. 72.20 -% \url| | ...where "|" is any character not used in the argument and not 72.21 -% "{" or a space. The same restrictions as above except that the 72.22 -% argument may contain unbalanced braces. 72.23 -% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 72.24 -% what characters it contains. 72.25 -% 72.26 -% See further instructions after "\endinput" 72.27 -% 72.28 -\def\Url@ttdo{% style assignments for tt fonts or T1 encoding 72.29 -\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]% 72.30 - \do\)\do\,\do\?\do\'\do\+\do\=}% 72.31 -\def\UrlBigBreaks{\do\:\do@url@hyp}% 72.32 -\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary) 72.33 -\def\UrlSpecials{\do\ {\ }}% 72.34 -\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually 72.35 -} 72.36 -\def\Url@do{% style assignments for OT1 fonts except tt 72.37 -\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}% 72.38 -\def\UrlBigBreaks{\do\:\do@url@hyp}% 72.39 -\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character 72.40 -\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_% 72.41 - \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do 72.42 - \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do 72.43 - \ {\ }}% 72.44 -\def\UrlOrds{\do\'\do\"\do\-}% 72.45 -} 72.46 -\def\url@ttstyle{% 72.47 -\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo 72.48 -} 72.49 -\def\url@rmstyle{% 72.50 -\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do 72.51 -} 72.52 -\def\url@sfstyle{% 72.53 -\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do 72.54 -} 72.55 -\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else 72.56 - \url@rmstyle \fi \def\UrlFont{}} 72.57 - 72.58 -\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{} 72.59 -\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{} 72.60 - 72.61 -\def\Url{% 72.62 - \begingroup \let\url@moving\relax\relax \endgroup 72.63 - \ifmmode\@nomatherr$\fi 72.64 - \UrlFont $\fam\z@ \textfont\z@\font 72.65 - \let\do\@makeother \dospecials % verbatim catcodes 72.66 - \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces 72.67 - \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip 72.68 - \@tempcnta\fam\multiply\@tempcnta\@cclvi 72.69 - \let\do\set@mathcode \UrlOrds % ordinary characters that were special 72.70 - \advance\@tempcnta 8192 \UrlBreaks % bin 72.71 - \advance\@tempcnta 4096 \UrlBigBreaks % rel 72.72 - \advance\@tempcnta 4096 \UrlNoBreaks % open 72.73 - \let\do\set@mathact \UrlSpecials % active 72.74 - \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures 72.75 - \@ifnextchar\bgroup\Url@z\Url@y} 72.76 - 72.77 -\def\Url@y#1{\catcode`{11 \catcode`}11 72.78 - \def\@tempa##1#1{\Url@z{##1}}\@tempa} 72.79 -\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook 72.80 - \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup} 72.81 -\def\Url@Hook{\UrlLeft} 72.82 -\let\UrlRight\@empty 72.83 -\let\UrlLeft\@empty 72.84 - 72.85 -\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@} 72.86 -\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}} 72.87 -\def\set@mathnolig#1{\ifnum\mathcode`#1<32768 72.88 - \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}% 72.89 - \mathcode`#132768 \fi} 72.90 - 72.91 -\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup 72.92 - \def\Url@z{\Url@def{#1}{#2}}#2} 72.93 -\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax 72.94 - \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 72.95 - \def#1{#2{#3}}} 72.96 -\else 72.97 - \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 72.98 - \DeclareRobustCommand{#1}{#2{#3}}} 72.99 -\fi 72.100 - 72.101 -\def\urlstyle#1{\csname url@#1style\endcsname} 72.102 - 72.103 -% Sample (and default) configuration: 72.104 -% 72.105 -\newcommand\url{\begingroup \Url} 72.106 -% 72.107 -% picTeX defines \path, so declare it optionally: 72.108 -\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{} 72.109 -% 72.110 -% too many styles define \email like \address, so I will not define it. 72.111 -% \newcommand\email{\begingroup \urlstyle{rm}\Url} 72.112 - 72.113 -% Process LaTeX \package options 72.114 -% 72.115 -\urlstyle{tt} 72.116 -\let\Url@sppen\@M 72.117 -\def\do@url@hyp{}% by default, no breaks after hyphens 72.118 - 72.119 -\@ifundefined{ProvidesPackage}{}{ 72.120 - \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space 72.121 - Verb mode for urls, email addresses, and file names] 72.122 - \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens 72.123 - \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later 72.124 - \DeclareOption{spaces}{\let\Url@sppen\relpenalty} 72.125 - \DeclareOption{T1}{\let\Url@do\Url@ttdo} 72.126 - \ProcessOptions 72.127 -\ifx\Url@Hook\relax % [obeyspaces] was declared 72.128 - \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft 72.129 - \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th} 72.130 - \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain} 72.131 - \def\Url@nosp\,#1\Url@retain{} 72.132 -\fi 72.133 -} 72.134 - 72.135 -\edef\url@moving{\csname Url Error\endcsname} 72.136 -\expandafter\edef\url@moving 72.137 - {\csname url used in a moving argument.\endcsname} 72.138 -\expandafter\expandafter\expandafter \let \url@moving\undefined 72.139 - 72.140 -\endinput 72.141 -% 72.142 -% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@reg.triumf.ca 72.143 -% 72.144 -% This package defines "\url", a form of "\verb" that allows linebreaks, 72.145 -% and can often be used in the argument to another command. It can be 72.146 -% configured to print in different formats, and is particularly useful for 72.147 -% hypertext links, email addresses, directories/paths, etc. The font may 72.148 -% be selected using the "\urlstyle" command and pre-defined text can be 72.149 -% stored with the "\urldef" command. New url-like commands can be defined, 72.150 -% and a "\path" command is provided this way. 72.151 -% 72.152 -% Usage: Conditions: 72.153 -% \url{ } If the argument contains any "%", "#", or "^^", or ends with 72.154 -% "\", it can't be used in the argument to another command. 72.155 -% The argument must not contain unbalanced braces. 72.156 -% \url| | ...where "|" is any character not used in the argument and not 72.157 -% "{" or a space. The same restrictions as above except that the 72.158 -% argument may contain unbalanced braces. 72.159 -% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 72.160 -% what characters it contains. 72.161 -% 72.162 -% The "\url" command is fragile, and its argument is likely to be very 72.163 -% fragile, but a defined-url is robust. 72.164 -% 72.165 -% Package Option: obeyspaces 72.166 -% Ordinarily, all spaces are ignored in the url-text. The "[obeyspaces]" 72.167 -% option allows spaces, but may introduce spurious spaces when a url 72.168 -% containing "\" characters is given in the argument to another command. 72.169 -% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}", 72.170 -% and if you need both spaces and backslashes, use a `defined-url' for 72.171 -% anything with "\". 72.172 -% 72.173 -% Package Option: hyphens 72.174 -% Ordinarily, breaks are not allowed after "-" characters because this 72.175 -% leads to confusion. (Is the "-" part of the address or just a hyphen?) 72.176 -% The package option "[hyphens]" allows breaks after explicit hyphen 72.177 -% characters. The "\url" command will *never ever* hyphenate words. 72.178 -% 72.179 -% Package Option: spaces 72.180 -% Likewise, breaks are not usually allowed after spaces under the 72.181 -% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]" 72.182 -% will allow breaks at those spaces. 72.183 -% 72.184 -% Package Option: T1 72.185 -% This signifies that you will be using T1-encoded fonts which contain 72.186 -% some characters missing from most older (OT1) encoded TeX fonts. This 72.187 -% changes the default definition for "\urlstyle{rm}". 72.188 -% 72.189 -% Defining a defined-url: 72.190 -% Take for example the email address "myself%node@gateway.net" which could 72.191 -% not be given (using "\url" or "\verb") in a caption or parbox due to the 72.192 -% percent sign. This address can be predefined with 72.193 -% \urldef{\myself}\url{myself%node@gateway.net} or 72.194 -% \urldef{\myself}\url|myself%node@gateway.net| 72.195 -% and then you may use "\myself" instead of "\url{myself%node@gateway.net}" 72.196 -% in an argument, and even in a moving argument like a caption because a 72.197 -% defined-url is robust. 72.198 -% 72.199 -% Style: 72.200 -% You can switch the style of printing using "\urlstyle{tt}", where "tt" 72.201 -% can be any defined style. The pre-defined styles are "tt", "rm", "sf", 72.202 -% and "same" which all allow the same linebreaks but different fonts -- 72.203 -% the first three select a specific font and the "same" style uses the 72.204 -% current text font. You can define your own styles with different fonts 72.205 -% and/or line-breaking by following the explanations below. The "\url" 72.206 -% command follows whatever the currently-set style dictates. 72.207 -% 72.208 -% Alternate commands: 72.209 -% It may be desireable to have different things treated differently, each 72.210 -% in a predefined style; e.g., if you want directory paths to always be 72.211 -% in tt and email addresses to be rm, then you would define new url-like 72.212 -% commands as follows: 72.213 -% 72.214 -% \newcommand\email{\begingroup \urlstyle{rm}\Url} 72.215 -% \newcommand\directory{\begingroup \urlstyle{tt}\Url} 72.216 -% 72.217 -% You must follow this format closely, and NOTE that the final command is 72.218 -% "\Url", not "\url". In fact, the "\directory" example is exactly the 72.219 -% "\path" definition which is pre-defined in the package. If you look 72.220 -% above, you will see that "\url" is defined with 72.221 -% \newcommand\url{\begingroup \Url} 72.222 -% I.e., using whatever url-style has been selected. 72.223 -% 72.224 -% You can make a defined-url for these other styles, using the usual 72.225 -% "\urldef" command as in this example: 72.226 -% 72.227 -% \urldef{\myself}{\email}{myself%node.domain@gateway.net} 72.228 -% 72.229 -% which makes "\myself" act like "\email{myself%node.domain@gateway.net}", 72.230 -% if the "\email" command is defined as above. The "\myself" command 72.231 -% would then be robust. 72.232 -% 72.233 -% Defining styles: 72.234 -% Before describing how to customize the printing style, it is best to 72.235 -% mention something about the unusual implementation of "\url". Although 72.236 -% the material is textual in nature, and the font specification required 72.237 -% is a text-font command, the text is actually typeset in *math* mode. 72.238 -% This allows the context-sensitive linebreaking, but also accounts for 72.239 -% the default behavior of ignoring spaces. Now on to defining styles. 72.240 -% 72.241 -% To change the font or the list of characters that allow linebreaks, you 72.242 -% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc. 72.243 -% directly in the document, but it is better to define a new `url-style' 72.244 -% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines 72.245 -% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and 72.246 -% "\UrlFont". 72.247 -% 72.248 -% Changing font: 72.249 -% The "\UrlFont" command selects the font. The definition of "\UrlFont" 72.250 -% done by the pre-defined styles varies to cope with a variety of LaTeX 72.251 -% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}". 72.252 -% Depending on the font selected, some characters may need to be defined 72.253 -% in the "\UrlSpecials" list because many fonts don't contain all the 72.254 -% standard input characters. 72.255 -% 72.256 -% Changing linebreaks: 72.257 -% The list of characters that allow line-breaks is given by "\UrlBreaks" 72.258 -% and "\UrlBigBreaks", which have the format "\do\c" for character "c". 72.259 -% The differences are that `BigBreaks' have a lower penalty and have 72.260 -% different breakpoints when in sequence (as in "http://"): `BigBreaks' 72.261 -% are treated as mathrels while `Breaks' are mathbins (see The TeXbook, 72.262 -% p.170). In particular, a series of `BigBreak' characters will break at 72.263 -% the end and only at the end; a series of `Break' characters will break 72.264 -% after the first and after every following *pair*; there will be no 72.265 -% break after a `Break' character if a `BigBreak' follows. In the case 72.266 -% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' -- 72.267 -% the breaks are the same in either case; but for DECnet nodes with "::" 72.268 -% it is important to prevent breaks *between* the colons, and that is why 72.269 -% colons are `BigBreaks'. 72.270 -% 72.271 -% It is possible for characters to prevent breaks after the next following 72.272 -% character (I use this for parentheses). Specify these in "\UrlNoBreaks". 72.273 -% 72.274 -% You can do arbitrarily complex things with characters by making them 72.275 -% active in math mode (mathcode hex-8000) and specifying the definition(s) 72.276 -% in "\UrlSpecials". This is used in the rm and sf styles for OT1 font 72.277 -% encoding to handle several characters that are not present in those 72.278 -% computer-modern style fonts. See the definition of "\Url@do", which 72.279 -% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing 72.280 -% characters via "\UrlSpecials". The nominal format for setting each 72.281 -% special character "c" is: "\do\c{<definition>}", but you can include 72.282 -% other definitions too. 72.283 -% 72.284 -% 72.285 -% If all this sounds confusing ... well, it is! But I hope you won't need 72.286 -% to redefine breakpoints -- the default assignments seem to work well for 72.287 -% a wide variety of applications. If you do need to make changes, you can 72.288 -% test for breakpoints using regular math mode and the characters "+=(a". 72.289 -% 72.290 -% Yet more flexibility: 72.291 -% You can also customize the verbatim text by defining "\UrlRight" and/or 72.292 -% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "< >", define 72.293 -% 72.294 -% \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}% 72.295 -% \urlstyle{tt}\Url} 72.296 -% 72.297 -% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim. 72.298 -% This lets you use formatting commands there, but you must be careful not 72.299 -% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly. 72.300 -% You can also define "\UrlLeft" to reprocess the verbatim text, but the 72.301 -% format of the definition is special: 72.302 -% 72.303 -% \def\UrlLeft#1\UrlRight{ ... do things with #1 ... } 72.304 -% 72.305 -% Yes, that is "#1" followed by "\UrlRight" then the definition. For 72.306 -% example, to put a hyperTeX hypertext link in the DVI file: 72.307 -% 72.308 -% \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}} 72.309 -% 72.310 -% Using this technique, url.sty can provide a convenient interface for 72.311 -% performing various operations on verbatim text. You don't even need 72.312 -% to print out the argument! For greatest efficiency in such obscure 72.313 -% applications, you can define a null url-style where all the lists like 72.314 -% "\UrlBreaks" are empty. 72.315 -% 72.316 -% Revision History: 72.317 -% ver 1.1 6-Feb-1996: 72.318 -% Fix hyphens that wouldn't break and ligatures that weren't suppressed. 72.319 -% ver 1.2 19-Oct-1996: 72.320 -% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight". 72.321 -% ver 1.3 21-Jul-1997: 72.322 -% Prohibit spaces as delimiter characters; change ascii tilde in OT1. 72.323 -% ver 1.4 02-Mar-1999 72.324 -% LaTeX license; moving-argument-error 72.325 -% The End 72.326 - 72.327 -Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 72.328 -:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
73.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/helpers/usetex-v1-anon.cls Thu Feb 02 12:22:53 2012 -0800 73.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 73.3 @@ -1,363 +0,0 @@ 73.4 -\NeedsTeXFormat{LaTeX2e} 73.5 -\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class] 73.6 - 73.7 -% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 73.8 -% 73.9 -% To use this style file, do this: 73.10 -% 73.11 -% \documentclass{usetex-v1} 73.12 -% 73.13 -% The following definitions are modifications of standard article.cls 73.14 -% definitions, arranged to do a better job of matching the Usenix 73.15 -% guidelines. and make for convenient Usenix paper writing 73.16 -% 73.17 -% Choose the appropriate option: 73.18 -% 73.19 -% 1. workingdraft: 73.20 -% 73.21 -% For initial submission and shepherding. Features prominent 73.22 -% date, notice of draft status, page numbers, and annotation 73.23 -% facilities. 73.24 -% 73.25 -% 2. proof: 73.26 -% 73.27 -% A galley proof identical to the final copy except for page 73.28 -% numbering and proof date on the bottom. Annotations are 73.29 -% removed. 73.30 -% 73.31 -% 3. webversion: 73.32 -% 73.33 -% A web-publishable version, uses \docstatus{} to indicate 73.34 -% publication information (where and when paper was published), 73.35 -% and page numbers. 73.36 -% 73.37 -% 4. finalversion: 73.38 -% 73.39 -% The final camera-ready-copy (CRC) version of the paper. 73.40 -% Published in conference proceedings. This doesn't include 73.41 -% page numbers, annotations, or draft status (Usenix adds 73.42 -% headers, footers, and page numbers onto the CRC). 73.43 -% 73.44 -% If several are used, the last one in this list wins 73.45 -% 73.46 - 73.47 -% 73.48 -% In addition, the option "endnotes" permits the use of the 73.49 -% otherwise-disabled, Usenix-deprecated footnote{} command in 73.50 -% documents. In this case, be sure to include a 73.51 -% \makeendnotes command at the end of your document or 73.52 -% the endnotes will not actually appear. 73.53 -% 73.54 - 73.55 -\newif\if@draftcopy \newif\ifworkingdraft 73.56 -\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 73.57 -\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 73.58 -\newif\ifwebversion 73.59 -\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 73.60 -\DeclareOption{finalversion}{} 73.61 -\newif\ifhasendnotes 73.62 -\DeclareOption{endnotes}{\hasendnotestrue} 73.63 - 73.64 -% pass all other options to the article class 73.65 -\DeclareOption*{% 73.66 - \PassOptionsToClass{\CurrentOption}{article}% 73.67 -} 73.68 - 73.69 -% actually process the options 73.70 -\ProcessOptions 73.71 - 73.72 -% usetex is based on article 73.73 -\LoadClass[twocolumn]{article} 73.74 - 73.75 -% Footnotes are not currently allowed, but 73.76 -% endnotes (while a bad idea) are. 73.77 -\ifhasendnotes 73.78 - \RequirePackage{endnotes} 73.79 -\fi 73.80 - 73.81 -% save any provided document status information 73.82 -\def\@docstatus{} 73.83 -\def\docstatus#1{\gdef\@docstatus{#1}} 73.84 - 73.85 -\ifworkingdraft 73.86 - 73.87 - % formatting helper for draft notes 73.88 - \newcommand{\@noteleader[1]}{% 73.89 - {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 73.90 - \bfseries\itshape 73.91 - } 73.92 - 73.93 - % put a small anonymous editing note in the draft copy 73.94 - \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 73.95 - 73.96 - % put a small attributed editing note in the draft copy 73.97 - \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 73.98 - 73.99 - % put an attributed editing note paragraph in the draft copy 73.100 - \newenvironment{ednote}[1] 73.101 - {\newcommand{\who}{#1}\@noteleader[\who]} 73.102 - 73.103 - % mark a spot where work has been left off for later 73.104 - \newcommand{\HERE}{% 73.105 - {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 73.106 - 73.107 -\else 73.108 - 73.109 - % dummy versions of editing commands to produce warnings 73.110 - 73.111 - \newcommand{\edannote}[1]{\@latex@warning 73.112 - {Leftover edannote command in final version ignored}} 73.113 - 73.114 - \newcommand{\edatnote}[1]{\@latex@warning 73.115 - {Leftover edatnote command in final version ignored}} 73.116 - 73.117 - \newsavebox{\@discard} 73.118 - \newenvironment{ednote}[1]{\@latex@warning 73.119 - {Leftover ednote environment in final version ignored}% 73.120 - \begin{lrbox}{\@discard}}{\end{lrbox}} 73.121 - 73.122 - \newcommand{\HERE}{\@latex@warning 73.123 - {Leftover HERE command in final version ignored}} 73.124 - 73.125 -\fi 73.126 - 73.127 -% set up the footers appropriately 73.128 -\def\@setfoot{% 73.129 - \ifwebversion 73.130 - % webversions get whatever status the author says 73.131 - \gdef\@evenfoot{\@docstatus \hfil \thepage}% 73.132 - \else 73.133 - % all other drafts get the standard draft footer 73.134 - \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 73.135 - \fi 73.136 - \gdef\@oddfoot{\@evenfoot}% 73.137 -} 73.138 - 73.139 -% 73.140 -% Usenix wants no page numbers for submitted papers, so that 73.141 -% they can number them themselves. Drafts should have 73.142 -% numbered pages, so they can be edited. 73.143 -% 73.144 -\if@draftcopy 73.145 - % Compute a date and time for the draft for use 73.146 - % either in \@setfoot (proof) or in \maketitle (workingdraft) 73.147 - % 73.148 - % Time code adapted from custom-bib/makebst.tex 73.149 - % Copyright 1993-1999 Patrick W Daly 73.150 - % Max-Planck-Institut f\"ur Aeronomie 73.151 - % E-mail: daly@linmp.mpg.de 73.152 - \newcount\hour 73.153 - \hour=\time 73.154 - \divide\hour by 60 73.155 - \newcount\minute 73.156 - \minute=\hour 73.157 - \multiply\minute by 60 73.158 - \advance\minute by -\time 73.159 - \multiply\minute by -1 73.160 - \newcommand{\@draftdate} 73.161 - {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 73.162 - ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 73.163 - \pagestyle{plain} 73.164 - \@setfoot 73.165 -\else 73.166 - \pagestyle{empty} 73.167 -\fi 73.168 - 73.169 -% Times-Roman font is nice if you can get it (requires NFSS, 73.170 -% which is in latex2e). 73.171 -\usepackage{times} 73.172 - 73.173 -% endnote support, as described at 73.174 -% http://www.lyx.org/help/footnotes.php 73.175 -\ifhasendnotes 73.176 - \typeout 73.177 - {Warning: endnotes support is deprecated (see documentation for details)} 73.178 - \let\footnote=\endnote 73.179 - \def\enoteformat{\rightskip\z@ \leftskip\z@ 73.180 - \parindent=0pt\parskip=\baselineskip 73.181 - \@theenmark. } 73.182 - \newcommand{\makeendnotes}{ 73.183 - \begingroup 73.184 - \def\enotesize{\normalsize} 73.185 - \theendnotes 73.186 - \endgroup 73.187 - } 73.188 -\else 73.189 - \long\gdef\footnote{\@latex@error 73.190 - {Deprecated footnote command (see documentation for details)}} 73.191 - \long\gdef\endnote{\@latex@error 73.192 - {Deprecated endnote command (see documentation for details)}} 73.193 -\fi 73.194 - 73.195 -% 73.196 -% Usenix margins 73.197 -% Gives active areas of 6.45" x 9.0" 73.198 -% 73.199 -\setlength{\textheight}{9.0in} 73.200 -\setlength{\columnsep}{0.25in} 73.201 -\setlength{\textwidth}{6.45in} 73.202 -%\setlength{\footskip}{0.0in} 73.203 -%\setlength{\footheight}{0.0in} 73.204 -\setlength{\topmargin}{0.0in} 73.205 -\setlength{\headheight}{0.0in} 73.206 -\setlength{\headsep}{0.0in} 73.207 -\setlength{\evensidemargin}{0.0in} 73.208 -\setlength{\oddsidemargin}{0.0in} 73.209 -\setlength{\marginparsep}{1.5em} 73.210 -\setlength{\marginparwidth}{0.35in} 73.211 - 73.212 -% The standard maketitle insists on 73.213 -% messing with the style of the first page. 73.214 -% Thus, we will wrap maketitle with code to put 73.215 -% things right again. 73.216 -\let \save@maketitle=\maketitle 73.217 -\def\maketitle{ 73.218 - \save@maketitle 73.219 - \if@draftcopy 73.220 - \@specialpagefalse 73.221 - \else 73.222 - \thispagestyle{empty} 73.223 - \fi 73.224 -} 73.225 - 73.226 -% 73.227 -% Usenix titles are in 14-point bold type, with no date, and with no 73.228 -% change in the empty page headers. The author section is 73.229 -% 12 point roman and italic: see below. 73.230 -% 73.231 -\def\@maketitle{% 73.232 - \newpage 73.233 - \null 73.234 -% \vskip 3ex% 73.235 - \begin{center}% 73.236 -% \let \footnote \thanks 73.237 - {\Large \bf \@title \par}% % use 14 pt bold 73.238 -% \vskip 2ex% 73.239 - {\large 73.240 -% \lineskip .5ex% 73.241 -% \begin{tabular}[t]{c}% 73.242 -% \@author 73.243 -% \end{tabular}\par 73.244 - }% 73.245 - \ifworkingdraft 73.246 - \vskip 0.5ex 73.247 - \textbf{Draft of \@draftdate} 73.248 - \vskip 0.5ex 73.249 - \fi 73.250 - \ifwebversion 73.251 - \vskip 0.5ex 73.252 - \textit{Authors and affiliation elided for review.} 73.253 - \vskip 0.5ex 73.254 - \fi 73.255 - \end{center}% 73.256 - \par 73.257 -% \vskip 2ex 73.258 -} 73.259 - 73.260 -% 73.261 -% The author section 73.262 -% should have names in Roman, address in 73.263 -% italic, e-mail/http in typewriter. 73.264 -% This is enforced by use of these macros 73.265 -% 73.266 -\def\authname#1{{#1}\\} 73.267 -\def\authaddr#1{\itshape{#1}\\} 73.268 -\def\authurl#1{{\normalsize #1}\\} 73.269 - 73.270 -% 73.271 -% The abstract is preceded by a 12-pt bold centered heading 73.272 -% 73.273 -\def\abstract{\begin{center}% 73.274 - {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 73.275 - \end{center}} 73.276 -\def\endabstract{} 73.277 - 73.278 -% 73.279 -% Main section titles are 12-pt bold. Lower divisions can 73.280 -% be same size or smaller: we choose same. 73.281 -% Main section leading is tight. Subsection leading is even 73.282 -% slightly tighter. All lower divisions are formatted like subsections. 73.283 -% 73.284 -\newcommand\@sectionfont{\reset@font\large\bf} 73.285 -\newlength\@sectionaboveskip 73.286 -\setlength\@sectionaboveskip{-0.7\baselineskip 73.287 - plus -0.1\baselineskip 73.288 - minus -0.1\baselineskip} 73.289 -\newlength\@sectionbelowskip 73.290 -\setlength\@sectionbelowskip{0.3\baselineskip 73.291 - plus 0.1\baselineskip} 73.292 -\newlength\@subsectionaboveskip 73.293 -\setlength\@subsectionaboveskip{-0.5\baselineskip 73.294 - plus -0.1\baselineskip} 73.295 -\renewcommand\section{\@startsection {section}{1}{\z@}% 73.296 - {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 73.297 -\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 73.298 - {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 73.299 -\renewcommand\subsection{\@gensubsection{subsection}{2}} 73.300 -\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 73.301 -%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 73.302 -%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 73.303 -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 73.304 - {1.25ex \@plus 0.2ex \@minus 0.2ex}% 73.305 - {-1.0em}% 73.306 - {\normalfont\normalsize\bfseries}} 73.307 -\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 73.308 - {1.25ex \@plus 0.2ex \@minus 0.2ex}% 73.309 - {-1.0em}% 73.310 - {\normalfont\normalsize\bfseries}} 73.311 - 73.312 -% List items need to be tightened up. 73.313 -% There must be a better way than copying 73.314 -% the definitions to modify the list environment... 73.315 -\def\@itemspacings{\listparindent=\parindent 73.316 - \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 73.317 -% now make envs use itemspacings 73.318 -\def\itemize{% 73.319 - \ifnum \@itemdepth >\thr@@\@toodeep\else 73.320 - \advance\@itemdepth\@ne 73.321 - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 73.322 - \expandafter 73.323 - \list 73.324 - \csname\@itemitem\endcsname 73.325 - {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 73.326 - \fi} 73.327 -\def\enumerate{% 73.328 - \ifnum \@enumdepth >\thr@@\@toodeep\else 73.329 - \advance\@enumdepth\@ne 73.330 - \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 73.331 - \expandafter 73.332 - \list 73.333 - \csname label\@enumctr\endcsname 73.334 - {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 73.335 - \fi} 73.336 -\def\description{% 73.337 - \list{}{\labelwidth\z@ \itemindent-\leftmargin 73.338 - \@itemspacings\let\makelabel\descriptionlabel}} 73.339 - 73.340 -% Bibliography items need to be tightened up. 73.341 -% Again, there must be a better way than copying 73.342 -% the definitions to modify the list environment... 73.343 -\def\thebibliography#1% 73.344 - {\section*{\refname}% 73.345 - \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 73.346 - \list{\@biblabel{\@arabic\c@enumiv}}% 73.347 - {\settowidth\labelwidth{\@biblabel{#1}}% 73.348 - \leftmargin\labelwidth 73.349 - \advance\leftmargin\labelsep 73.350 - \@openbib@code 73.351 - \usecounter{enumiv}% 73.352 - \let\p@enumiv\@empty 73.353 - \renewcommand\theenumiv{\@arabic\c@enumiv}% 73.354 - \parsep=0pt}% pack entries 73.355 - \sloppy 73.356 - \hbadness=8000% mostly don't whine about bibliography fmt 73.357 - \clubpenalty=4000% 73.358 - \@clubpenalty=\clubpenalty 73.359 - \widowpenalty=4000% 73.360 - \sfcode`\.\@m} 73.361 - 73.362 -% Floating bodies need to be tightened up. 73.363 -\setlength\textfloatsep{14pt plus 2pt} 73.364 -\setlength\dbltextfloatsep{\textfloatsep} 73.365 -\setlength\intextsep{0.8\textfloatsep} 73.366 -\setlength\abovecaptionskip{8pt minus 2pt}
74.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/helpers/usetex-v1.cls Thu Feb 02 12:22:53 2012 -0800 74.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 74.3 @@ -1,357 +0,0 @@ 74.4 -\NeedsTeXFormat{LaTeX2e} 74.5 -\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] 74.6 - 74.7 -% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 74.8 -% 74.9 -% To use this style file, do this: 74.10 -% 74.11 -% \documentclass{usetex-v1} 74.12 -% 74.13 -% The following definitions are modifications of standard article.cls 74.14 -% definitions, arranged to do a better job of matching the Usenix 74.15 -% guidelines. and make for convenient Usenix paper writing 74.16 -% 74.17 -% Choose the appropriate option: 74.18 -% 74.19 -% 1. workingdraft: 74.20 -% 74.21 -% For initial submission and shepherding. Features prominent 74.22 -% date, notice of draft status, page numbers, and annotation 74.23 -% facilities. 74.24 -% 74.25 -% 2. proof: 74.26 -% 74.27 -% A galley proof identical to the final copy except for page 74.28 -% numbering and proof date on the bottom. Annotations are 74.29 -% removed. 74.30 -% 74.31 -% 3. webversion: 74.32 -% 74.33 -% A web-publishable version, uses \docstatus{} to indicate 74.34 -% publication information (where and when paper was published), 74.35 -% and page numbers. 74.36 -% 74.37 -% 4. finalversion: 74.38 -% 74.39 -% The final camera-ready-copy (CRC) version of the paper. 74.40 -% Published in conference proceedings. This doesn't include 74.41 -% page numbers, annotations, or draft status (Usenix adds 74.42 -% headers, footers, and page numbers onto the CRC). 74.43 -% 74.44 -% If several are used, the last one in this list wins 74.45 -% 74.46 - 74.47 -% 74.48 -% In addition, the option "endnotes" permits the use of the 74.49 -% otherwise-disabled, Usenix-deprecated footnote{} command in 74.50 -% documents. In this case, be sure to include a 74.51 -% \makeendnotes command at the end of your document or 74.52 -% the endnotes will not actually appear. 74.53 -% 74.54 - 74.55 -\newif\if@draftcopy \newif\ifworkingdraft 74.56 -\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 74.57 -\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 74.58 -\newif\ifwebversion 74.59 -\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 74.60 -\DeclareOption{finalversion}{} 74.61 -\newif\ifhasendnotes 74.62 -\DeclareOption{endnotes}{\hasendnotestrue} 74.63 - 74.64 -% pass all other options to the article class 74.65 -\DeclareOption*{% 74.66 - \PassOptionsToClass{\CurrentOption}{article}% 74.67 -} 74.68 - 74.69 -% actually process the options 74.70 -\ProcessOptions 74.71 - 74.72 -% usetex is based on article 74.73 -\LoadClass[twocolumn]{article} 74.74 - 74.75 -% Footnotes are not currently allowed, but 74.76 -% endnotes (while a bad idea) are. 74.77 -\ifhasendnotes 74.78 - \RequirePackage{endnotes} 74.79 -\fi 74.80 - 74.81 -% save any provided document status information 74.82 -\def\@docstatus{} 74.83 -\def\docstatus#1{\gdef\@docstatus{#1}} 74.84 - 74.85 -\ifworkingdraft 74.86 - 74.87 - % formatting helper for draft notes 74.88 - \newcommand{\@noteleader[1]}{% 74.89 - {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 74.90 - \bfseries\itshape 74.91 - } 74.92 - 74.93 - % put a small anonymous editing note in the draft copy 74.94 - \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 74.95 - 74.96 - % put a small attributed editing note in the draft copy 74.97 - \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 74.98 - 74.99 - % put an attributed editing note paragraph in the draft copy 74.100 - \newenvironment{ednote}[1] 74.101 - {\newcommand{\who}{#1}\@noteleader[\who]} 74.102 - 74.103 - % mark a spot where work has been left off for later 74.104 - \newcommand{\HERE}{% 74.105 - {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 74.106 - 74.107 -\else 74.108 - 74.109 - % dummy versions of editing commands to produce warnings 74.110 - 74.111 - \newcommand{\edannote}[1]{\@latex@warning 74.112 - {Leftover edannote command in final version ignored}} 74.113 - 74.114 - \newcommand{\edatnote}[1]{\@latex@warning 74.115 - {Leftover edatnote command in final version ignored}} 74.116 - 74.117 - \newsavebox{\@discard} 74.118 - \newenvironment{ednote}[1]{\@latex@warning 74.119 - {Leftover ednote environment in final version ignored}% 74.120 - \begin{lrbox}{\@discard}}{\end{lrbox}} 74.121 - 74.122 - \newcommand{\HERE}{\@latex@warning 74.123 - {Leftover HERE command in final version ignored}} 74.124 - 74.125 -\fi 74.126 - 74.127 -% set up the footers appropriately 74.128 -\def\@setfoot{% 74.129 - \ifwebversion 74.130 - % webversions get whatever status the author says 74.131 - \gdef\@evenfoot{\@docstatus \hfil \thepage}% 74.132 - \else 74.133 - % all other drafts get the standard draft footer 74.134 - \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 74.135 - \fi 74.136 - \gdef\@oddfoot{\@evenfoot}% 74.137 -} 74.138 - 74.139 -% 74.140 -% Usenix wants no page numbers for submitted papers, so that 74.141 -% they can number them themselves. Drafts should have 74.142 -% numbered pages, so they can be edited. 74.143 -% 74.144 -\if@draftcopy 74.145 - % Compute a date and time for the draft for use 74.146 - % either in \@setfoot (proof) or in \maketitle (workingdraft) 74.147 - % 74.148 - % Time code adapted from custom-bib/makebst.tex 74.149 - % Copyright 1993-1999 Patrick W Daly 74.150 - % Max-Planck-Institut f\"ur Aeronomie 74.151 - % E-mail: daly@linmp.mpg.de 74.152 - \newcount\hour 74.153 - \hour=\time 74.154 - \divide\hour by 60 74.155 - \newcount\minute 74.156 - \minute=\hour 74.157 - \multiply\minute by 60 74.158 - \advance\minute by -\time 74.159 - \multiply\minute by -1 74.160 - \newcommand{\@draftdate} 74.161 - {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 74.162 - ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 74.163 - \pagestyle{plain} 74.164 - \@setfoot 74.165 -\else 74.166 - \pagestyle{empty} 74.167 -\fi 74.168 - 74.169 -% Times-Roman font is nice if you can get it (requires NFSS, 74.170 -% which is in latex2e). 74.171 -\usepackage{times} 74.172 - 74.173 -% endnote support, as described at 74.174 -% http://www.lyx.org/help/footnotes.php 74.175 -\ifhasendnotes 74.176 - \typeout 74.177 - {Warning: endnotes support is deprecated (see documentation for details)} 74.178 - \let\footnote=\endnote 74.179 - \def\enoteformat{\rightskip\z@ \leftskip\z@ 74.180 - \parindent=0pt\parskip=\baselineskip 74.181 - \@theenmark. } 74.182 - \newcommand{\makeendnotes}{ 74.183 - \begingroup 74.184 - \def\enotesize{\normalsize} 74.185 - \theendnotes 74.186 - \endgroup 74.187 - } 74.188 -\else 74.189 - \long\gdef\footnote{\@latex@error 74.190 - {Deprecated footnote command (see documentation for details)}} 74.191 - \long\gdef\endnote{\@latex@error 74.192 - {Deprecated endnote command (see documentation for details)}} 74.193 -\fi 74.194 - 74.195 -% 74.196 -% Usenix margins 74.197 -% Gives active areas of 6.45" x 9.0" 74.198 -% 74.199 -\setlength{\textheight}{9.0in} 74.200 -\setlength{\columnsep}{0.25in} 74.201 -\setlength{\textwidth}{6.45in} 74.202 -%\setlength{\footskip}{0.0in} 74.203 -%\setlength{\footheight}{0.0in} 74.204 -\setlength{\topmargin}{0.0in} 74.205 -\setlength{\headheight}{0.0in} 74.206 -\setlength{\headsep}{0.0in} 74.207 -\setlength{\evensidemargin}{0.0in} 74.208 -\setlength{\oddsidemargin}{0.0in} 74.209 -\setlength{\marginparsep}{1.5em} 74.210 -\setlength{\marginparwidth}{0.35in} 74.211 - 74.212 -% The standard maketitle insists on 74.213 -% messing with the style of the first page. 74.214 -% Thus, we will wrap maketitle with code to put 74.215 -% things right again. 74.216 -\let \save@maketitle=\maketitle 74.217 -\def\maketitle{ 74.218 - \save@maketitle 74.219 - \if@draftcopy 74.220 - \@specialpagefalse 74.221 - \else 74.222 - \thispagestyle{empty} 74.223 - \fi 74.224 -} 74.225 - 74.226 -% 74.227 -% Usenix titles are in 14-point bold type, with no date, and with no 74.228 -% change in the empty page headers. The author section is 74.229 -% 12 point roman and italic: see below. 74.230 -% 74.231 -\def\@maketitle{% 74.232 - \newpage 74.233 - \null 74.234 - \vskip 3ex% 74.235 - \begin{center}% 74.236 - \let \footnote \thanks 74.237 - {\Large \bf \@title \par}% % use 14 pt bold 74.238 - \vskip 2ex% 74.239 - {\large 74.240 - \lineskip .5ex% 74.241 - \begin{tabular}[t]{c}% 74.242 - \@author 74.243 - \end{tabular}\par}% 74.244 - \ifworkingdraft 74.245 - \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex 74.246 - \fi 74.247 - \ifwebversion 74.248 - \vskip 3ex \textbf{\@docstatus} \vskip 3ex 74.249 - \fi 74.250 - \end{center}% 74.251 - \par 74.252 - \vskip 2ex} 74.253 - 74.254 -% 74.255 -% The author section 74.256 -% should have names in Roman, address in 74.257 -% italic, e-mail/http in typewriter. 74.258 -% This is enforced by use of these macros 74.259 -% 74.260 -\def\authname#1{{#1}\\} 74.261 -\def\authaddr#1{\itshape{#1}\\} 74.262 -\def\authurl#1{{\normalsize #1}\\} 74.263 - 74.264 -% 74.265 -% The abstract is preceded by a 12-pt bold centered heading 74.266 -% 74.267 -\def\abstract{\begin{center}% 74.268 - {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 74.269 - \end{center}} 74.270 -\def\endabstract{} 74.271 - 74.272 -% 74.273 -% Main section titles are 12-pt bold. Lower divisions can 74.274 -% be same size or smaller: we choose same. 74.275 -% Main section leading is tight. Subsection leading is even 74.276 -% slightly tighter. All lower divisions are formatted like subsections. 74.277 -% 74.278 -\newcommand\@sectionfont{\reset@font\large\bf} 74.279 -\newlength\@sectionaboveskip 74.280 -\setlength\@sectionaboveskip{-0.7\baselineskip 74.281 - plus -0.1\baselineskip 74.282 - minus -0.1\baselineskip} 74.283 -\newlength\@sectionbelowskip 74.284 -\setlength\@sectionbelowskip{0.3\baselineskip 74.285 - plus 0.1\baselineskip} 74.286 -\newlength\@subsectionaboveskip 74.287 -\setlength\@subsectionaboveskip{-0.5\baselineskip 74.288 - plus -0.1\baselineskip} 74.289 -\renewcommand\section{\@startsection {section}{1}{\z@}% 74.290 - {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 74.291 -\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 74.292 - {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 74.293 -\renewcommand\subsection{\@gensubsection{subsection}{2}} 74.294 -\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 74.295 -%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 74.296 -%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 74.297 -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 74.298 - {1.25ex \@plus 0.2ex \@minus 0.2ex}% 74.299 - {-1.0em}% 74.300 - {\normalfont\normalsize\bfseries}} 74.301 -\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 74.302 - {1.25ex \@plus 0.2ex \@minus 0.2ex}% 74.303 - {-1.0em}% 74.304 - {\normalfont\normalsize\bfseries}} 74.305 - 74.306 -% List items need to be tightened up. 74.307 -% There must be a better way than copying 74.308 -% the definitions to modify the list environment... 74.309 -\def\@itemspacings{\listparindent=\parindent 74.310 - \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 74.311 -% now make envs use itemspacings 74.312 -\def\itemize{% 74.313 - \ifnum \@itemdepth >\thr@@\@toodeep\else 74.314 - \advance\@itemdepth\@ne 74.315 - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 74.316 - \expandafter 74.317 - \list 74.318 - \csname\@itemitem\endcsname 74.319 - {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 74.320 - \fi} 74.321 -\def\enumerate{% 74.322 - \ifnum \@enumdepth >\thr@@\@toodeep\else 74.323 - \advance\@enumdepth\@ne 74.324 - \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 74.325 - \expandafter 74.326 - \list 74.327 - \csname label\@enumctr\endcsname 74.328 - {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 74.329 - \fi} 74.330 -\def\description{% 74.331 - \list{}{\labelwidth\z@ \itemindent-\leftmargin 74.332 - \@itemspacings\let\makelabel\descriptionlabel}} 74.333 - 74.334 -% Bibliography items need to be tightened up. 74.335 -% Again, there must be a better way than copying 74.336 -% the definitions to modify the list environment... 74.337 -\def\thebibliography#1% 74.338 - {\section*{\refname}% 74.339 - \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 74.340 - \list{\@biblabel{\@arabic\c@enumiv}}% 74.341 - {\settowidth\labelwidth{\@biblabel{#1}}% 74.342 - \leftmargin\labelwidth 74.343 - \advance\leftmargin\labelsep 74.344 - \@openbib@code 74.345 - \usecounter{enumiv}% 74.346 - \let\p@enumiv\@empty 74.347 - \renewcommand\theenumiv{\@arabic\c@enumiv}% 74.348 - \parsep=0pt}% pack entries 74.349 - \sloppy 74.350 - \hbadness=8000% mostly don't whine about bibliography fmt 74.351 - \clubpenalty=4000% 74.352 - \@clubpenalty=\clubpenalty 74.353 - \widowpenalty=4000% 74.354 - \sfcode`\.\@m} 74.355 - 74.356 -% Floating bodies need to be tightened up. 74.357 -\setlength\textfloatsep{14pt plus 2pt} 74.358 -\setlength\dbltextfloatsep{\textfloatsep} 74.359 -\setlength\intextsep{0.8\textfloatsep} 74.360 -\setlength\abovecaptionskip{8pt minus 2pt}
75.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/latex/11_Dc_27__HW_abstr_for_port_stack.tex Thu Feb 02 12:22:53 2012 -0800 75.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 75.3 @@ -1,1474 +0,0 @@ 75.4 -%&latex 75.5 - 75.6 - 75.7 -\documentclass[conference]{../helpers/llncs} 75.8 -% 75.9 - 75.10 -%\usepackage{geometry} %chgs the margins and layout! 75.11 -\usepackage{makeidx,amssymb,graphicx,calc,ifthen} 75.12 -% 75.13 - 75.14 -% *** CITATION PACKAGES *** 75.15 -% 75.16 -%\usepackage{cite} 75.17 -% cite.sty was written by Donald Arseneau 75.18 -% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package 75.19 -% \cite{} output to follow that of IEEE. Loading the cite package will 75.20 -% result in citation numbers being automatically sorted and properly 75.21 -% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using 75.22 -% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's 75.23 -% \cite will automatically add leading space, if needed. Use cite.sty's 75.24 -% noadjust option (cite.sty V3.8 and later) if you want to turn this off. 75.25 -% cite.sty is already installed on most LaTeX systems. Be sure and use 75.26 -% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does 75.27 -% not currently provide for hyperlinked citations. 75.28 -% The latest version can be obtained at: 75.29 -% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ 75.30 -% The documentation is contained in the cite.sty file itself. 75.31 - 75.32 - 75.33 - 75.34 - 75.35 - 75.36 - 75.37 -% *** GRAPHICS RELATED PACKAGES *** 75.38 -% 75.39 -%\ifCLASSINFOpdf 75.40 - % \usepackage[pdftex]{graphicx} 75.41 - % declare the path(s) where your graphic files are 75.42 - % \graphicspath{{../pdf/}{../jpeg/}} 75.43 - % and their extensions so you won't have to specify these with 75.44 - % every instance of \includegraphics 75.45 - % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} 75.46 -%\else 75.47 - % or other class option (dvipsone, dvipdf, if not using dvips). graphicx 75.48 - % will default to the driver specified in the system graphics.cfg if no 75.49 - % driver is specified. 75.50 - % \usepackage[dvips]{graphicx} 75.51 - % declare the path(s) where your graphic files are 75.52 - % \graphicspath{{../eps/}} 75.53 - % and their extensions so you won't have to specify these with 75.54 - % every instance of \includegraphics 75.55 - % \DeclareGraphicsExtensions{.eps} 75.56 -%\fi 75.57 -% graphicx was written by David Carlisle and Sebastian Rahtz. It is 75.58 -% required if you want graphics, photos, etc. graphicx.sty is already 75.59 -% installed on most LaTeX systems. The latest version and documentation can 75.60 -% be obtained at: 75.61 -% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ 75.62 -% Another good source of documentation is "Using Imported Graphics in 75.63 -% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or 75.64 -% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ 75.65 -% 75.66 -% latex, and pdflatex in dvi mode, support graphics in encapsulated 75.67 -% postscript (.eps) format. pdflatex in pdf mode supports graphics 75.68 -% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure 75.69 -% that all non-photo figures use a vector format (.eps, .pdf, .mps) and 75.70 -% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats 75.71 -% which can result in "jaggedy"/blurry rendering of lines and letters as 75.72 -% well as large increases in file sizes. 75.73 -% 75.74 -% You can find documentation about the pdfTeX application at: 75.75 -% http://www.tug.org/applications/pdftex 75.76 - 75.77 - 75.78 - 75.79 - 75.80 - 75.81 -% *** MATH PACKAGES *** 75.82 -% 75.83 -%\usepackage[cmex10]{amsmath} 75.84 -% A popular package from the American Mathematical Society that provides 75.85 -% many useful and powerful commands for dealing with mathematics. If using 75.86 -% it, be sure to load this package with the cmex10 option to ensure that 75.87 -% only type 1 fonts will utilized at all point sizes. Without this option, 75.88 -% it is possible that some math symbols, particularly those within 75.89 -% footnotes, will be rendered in bitmap form which will result in a 75.90 -% document that can not be IEEE Xplore compliant! 75.91 -% 75.92 -% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 75.93 -% thus preventing page breaks from occurring within multiline equations. Use: 75.94 -%\interdisplaylinepenalty=2500 75.95 -% after loading amsmath to restore such page breaks as IEEEtran.cls normally 75.96 -% does. amsmath.sty is already installed on most LaTeX systems. The latest 75.97 -% version and documentation can be obtained at: 75.98 -% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ 75.99 - 75.100 - 75.101 - 75.102 - 75.103 - 75.104 -% *** SPECIALIZED LIST PACKAGES *** 75.105 -% 75.106 -%\usepackage{algorithmic} 75.107 -% algorithmic.sty was written by Peter Williams and Rogerio Brito. 75.108 -% This package provides an algorithmic environment fo describing algorithms. 75.109 -% You can use the algorithmic environment in-text or within a figure 75.110 -% environment to provide for a floating algorithm. Do NOT use the algorithm 75.111 -% floating environment provided by algorithm.sty (by the same authors) or 75.112 -% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated 75.113 -% algorithm float types and packages that provide these will not provide 75.114 -% correct IEEE style captions. The latest version and documentation of 75.115 -% algorithmic.sty can be obtained at: 75.116 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ 75.117 -% There is also a support site at: 75.118 -% http://algorithms.berlios.de/index.html 75.119 -% Also of interest may be the (relatively newer and more customizable) 75.120 -% algorithmicx.sty package by Szasz Janos: 75.121 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ 75.122 - 75.123 - 75.124 - 75.125 - 75.126 -% *** ALIGNMENT PACKAGES *** 75.127 -% 75.128 -%\usepackage{array} 75.129 -% Frank Mittelbach's and David Carlisle's array.sty patches and improves 75.130 -% the standard LaTeX2e array and tabular environments to provide better 75.131 -% appearance and additional user controls. As the default LaTeX2e table 75.132 -% generation code is lacking to the point of almost being broken with 75.133 -% respect to the quality of the end results, all users are strongly 75.134 -% advised to use an enhanced (at the very least that provided by array.sty) 75.135 -% set of table tools. array.sty is already installed on most systems. The 75.136 -% latest version and documentation can be obtained at: 75.137 -% http://www.ctan.org/tex-archive/macros/latex/required/tools/ 75.138 - 75.139 - 75.140 -%\usepackage{mdwmath} 75.141 -%\usepackage{mdwtab} 75.142 -% Also highly recommended is Mark Wooding's extremely powerful MDW tools, 75.143 -% especially mdwmath.sty and mdwtab.sty which are used to format equations 75.144 -% and tables, respectively. The MDWtools set is already installed on most 75.145 -% LaTeX systems. The lastest version and documentation is available at: 75.146 -% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ 75.147 - 75.148 - 75.149 -% IEEEtran contains the IEEEeqnarray family of commands that can be used to 75.150 -% generate multiline equations as well as matrices, tables, etc., of high 75.151 -% quality. 75.152 - 75.153 - 75.154 -%\usepackage{eqparbox} 75.155 -% Also of notable interest is Scott Pakin's eqparbox package for creating 75.156 -% (automatically sized) equal width boxes - aka "natural width parboxes". 75.157 -% Available at: 75.158 -% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ 75.159 - 75.160 - 75.161 - 75.162 - 75.163 - 75.164 -% *** SUBFIGURE PACKAGES *** 75.165 -%\usepackage[tight,footnotesize]{subfigure} 75.166 -% subfigure.sty was written by Steven Douglas Cochran. This package makes it 75.167 -% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE 75.168 -% work, it is a good idea to load it with the tight package option to reduce 75.169 -% the amount of white space around the subfigures. subfigure.sty is already 75.170 -% installed on most LaTeX systems. The latest version and documentation can 75.171 -% be obtained at: 75.172 -% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ 75.173 -% subfigure.sty has been superceeded by subfig.sty. 75.174 - 75.175 - 75.176 - 75.177 -%\usepackage[caption=false]{caption} 75.178 -%\usepackage[font=footnotesize]{subfig} 75.179 -% subfig.sty, also written by Steven Douglas Cochran, is the modern 75.180 -% replacement for subfigure.sty. However, subfig.sty requires and 75.181 -% automatically loads Axel Sommerfeldt's caption.sty which will override 75.182 -% IEEEtran.cls handling of captions and this will result in nonIEEE style 75.183 -% figure/table captions. To prevent this problem, be sure and preload 75.184 -% caption.sty with its "caption=false" package option. This is will preserve 75.185 -% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later 75.186 -% (recommended due to many improvements over 1.2) of subfig.sty supports 75.187 -% the caption=false option directly: 75.188 -%\usepackage[caption=false,font=footnotesize]{subfig} 75.189 -% 75.190 -% The latest version and documentation can be obtained at: 75.191 -% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ 75.192 -% The latest version and documentation of caption.sty can be obtained at: 75.193 -% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ 75.194 - 75.195 - 75.196 - 75.197 - 75.198 -% *** FLOAT PACKAGES *** 75.199 -% 75.200 -%\usepackage{fixltx2e} 75.201 -% fixltx2e, the successor to the earlier fix2col.sty, was written by 75.202 -% Frank Mittelbach and David Carlisle. This package corrects a few problems 75.203 -% in the LaTeX2e kernel, the most notable of which is that in current 75.204 -% LaTeX2e releases, the ordering of single and double column floats is not 75.205 -% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a 75.206 -% single column figure to be placed prior to an earlier double column 75.207 -% figure. The latest version and documentation can be found at: 75.208 -% http://www.ctan.org/tex-archive/macros/latex/base/ 75.209 - 75.210 - 75.211 - 75.212 -%\usepackage{stfloats} 75.213 -% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e 75.214 -% the ability to do double column floats at the bottom of the page as well 75.215 -% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in 75.216 -% LaTeX2e). It also provides a command: 75.217 -%\fnbelowfloat 75.218 -% to enable the placement of footnotes below bottom floats (the standard 75.219 -% LaTeX2e kernel puts them above bottom floats). This is an invasive package 75.220 -% which rewrites many portions of the LaTeX2e float routines. It may not work 75.221 -% with other packages that modify the LaTeX2e float routines. The latest 75.222 -% version and documentation can be obtained at: 75.223 -% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ 75.224 -% Documentation is contained in the stfloats.sty comments as well as in the 75.225 -% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE 75.226 -% does not allow \baselineskip to stretch. Authors submitting work to the 75.227 -% IEEE should note that IEEE rarely uses double column equations and 75.228 -% that authors should try to avoid such use. Do not be tempted to use the 75.229 -% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does 75.230 -% not format its papers in such ways. 75.231 - 75.232 - 75.233 - 75.234 - 75.235 - 75.236 -% *** PDF, URL AND HYPERLINK PACKAGES *** 75.237 -% 75.238 -%\usepackage{url} 75.239 -% url.sty was written by Donald Arseneau. It provides better support for 75.240 -% handling and breaking URLs. url.sty is already installed on most LaTeX 75.241 -% systems. The latest version can be obtained at: 75.242 -% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ 75.243 -% Read the url.sty source comments for usage information. Basically, 75.244 -% \url{my_url_here}. 75.245 - 75.246 - 75.247 - 75.248 - 75.249 - 75.250 -% *** Do not adjust lengths that control margins, column widths, etc. *** 75.251 -% *** Do not use packages that alter fonts (such as pslatex). *** 75.252 -% There should be no need to do such things with IEEEtran.cls V1.6 and later. 75.253 -% (Unless specifically asked to do so by the journal or conference you plan 75.254 -% to submit to, of course. ) 75.255 - 75.256 - 75.257 -% correct bad hyphenation here 75.258 -\hyphenation{op-tical net-works semi-conduc-tor} 75.259 - 75.260 - 75.261 -\begin{document} 75.262 - 75.263 -\bibliographystyle{plain} 75.264 -% 75.265 - 75.266 -\title{A Hardware Abstraction Suitable for Use at the Base of a Portability Software Stack} 75.267 - 75.268 -\author{Sean Halle \and Merten Sach \and BJ} 75.269 -\institute{Technical University Berlin, Germany} 75.270 - 75.271 -\maketitle 75.272 -% 75.273 - 75.274 -\begin{abstract} 75.275 -Proposals for a software stack that supports performant portability\cite{} rely on the assumption, among others, that a suitable hardware abstraction exists for the bottom layer. The abstraction must have certain properties: it must be invisible to upper layers; it must simplify language implementation, in part by hiding details of synchronization and details of network; and at the same time enable high performance, in part by giving the language control over task placement and exposing memory hierarchy, communication times, and other major performance-related aspects of the hardware. 75.276 - 75.277 -In this paper, we show that an abstraction called Virtualized Master-Slave, or VMS \cite{} 75.278 -satisfies these criteria, and we provide recent measurements to support the case. 75.279 - 75.280 -\end{abstract} 75.281 - 75.282 -\section{Motivation} 75.283 - 75.284 -As stated in the call for papers, wide uptake of high efficiency parallel architectures ``requires new parallel programming paradigms, new methods of application design, new structures for system software, and new models of interaction among applications, compilers, operating systems, and hardware." In short, a new software stack, and players in research and industry organized to supply the pieces of the stack. The goal of the stack is to make parallel programming the same order of productivity as sequential programming, and to give parallel code similar portability onto newer generations of hardware that sequential code enjoyed. 75.285 - 75.286 -The benefit from such a stack is reducing the cost of parallel software, by making it just as productive as sequential coding, and by allowing code to be written once then run performantly across hardware targets, including unknown future architectures. 75.287 - 75.288 -A recent proposal for achieving this, known as PStack\cite{}, calls for a software stack having a layer of languages (toolchains) at the top, a layer of language runtimes below that, and a hardware abstraction layer at the bottom\cite{}. 75.289 - 75.290 -The languages must be designed to capture all information required to specialize the code for high performance across hardware. A computation model, called The Holistic Model\cite{}, suggests that such a canonical set of information exists. PStack proposes to develop the constructs that gather the information, where some constructs are in the form of specialization helpers such as task-resizers and layout modifiers. The application implements the specialization helpers, thereby encoding information about data structures and how to manipulate them. The seeds of such an approach were laid with work on DKU\cite{}, which demonstrated the success of task-resizing constructs. 75.291 - 75.292 -The proposal also suggests the use of the BLIS\cite{} approach for managing multiple toolchains, where each one specializes to a different target. The management includes the install process, during which the correct toolchain output is paired to the installation target. Further specialization can thus naturally be added during installation, when exact hardware details are known. If required, runtime tuning and optimization also fit within the approach. 75.293 - 75.294 -The top layer of the software stack is thus the combination of constructs and managed toolchains. 75.295 -Below that, in the middle of the stack, a collection of runtime systems acts as a sort of cross-bar switch, connecting the languages above to a standard hardware abstraction below. 75.296 - 75.297 -The purpose of the bottom abstraction is to minimize the effort to create the runtimes in the middle layer. It must both hide hardware details and uniform-ize runtime implementation. However, it must not hide performance-critical information from the runtime, which holds the scheduler that decides when tasks become free and where to execute them. Such scheduling choices need to know the communication paths and memory pools in the hardware, along with latency, bandwidth, capacity and performance. 75.298 - 75.299 -A single abstraction can't both hide details and expose those required by the runtimes to attain high performance. Instead, PStack calls for a family of abstractions, one for each major type of architecture, including a``hierarchy'' abstraction used to glue together heterogeneous hardware. In each, only the details critical to performance are exposed to the scheduler in the runtime, thus keeping the number of abstractions needed manageably small, on the order of tens in total. 75.300 - 75.301 -This paper's contribution is showing how the Virtualized Master-Slave abstraction\cite{} fits the criteria for the bottom of such a portability software stack. This includes recent performance results for VMS on a variety of hardware platforms over a selection of benchmarks. 75.302 - 75.303 - 75.304 -\section{Background on PStack and VMS} 75.305 - 75.306 -Describe details of bottom of software stack and details of how cross-bar works, tie to the need for low-work runtime impl, and the need for reuse of runtime code across languages. 75.307 - 75.308 -Describe how VMS fulfills those needs. Details of its interface, details of its impl on multi-core, details of differences on different machines. 75.309 -Leave as-is for 1x4 and 1x2 -- make entirely different impl for 2x4 and another for 4x10 75.310 - 75.311 -\section{Description of How VMS Fits PStack's Requirements} 75.312 - 75.313 -\section{Experimental Setup} 75.314 - 75.315 -\section{Results} 75.316 - 75.317 -\subsection{Performance Results} 75.318 -Figure X shows the execution time versus task-size curve for Vthread, while Figure X shows the same for pthread, both executed on the SandyBridge 1x4 machine. The 2x point occurs near X cycles for Vthread, nearly independently from the number of threads created. Meanwhile, it occurs near X for pthread, for a small number of threads, showing that pthreads has X times higher overhead in the best case. However, pthreads degrades rapidly as the number of threads is increased. The system crashes with more than X threads, at which point the overhead of pthreads is X times higher than Vthread (not shown on graph because it's too large). 75.319 - 75.320 -When moving to multi-socket machines, things change, as seen in figures X and X. The central master-lock in the VMS implementation creates a bottleneck for small task sizes. This causes Vthread to have only a X advantage over pthread for small task sizes. However, Vthread overhead remains independent of number of threads. 75.321 - 75.322 -Likewise, the benchmarks for ray tracking, matrix multiply, and kmeans clustering show that Vthread outperforms pthreads. They nearly match for large work sizes, but Vthread significantly outperforms for small work sizes, as seen in Figures X and X. 75.323 - 75.324 - 75.325 -\begin{figure}[ht] 75.326 -\mbox{\subfigure{\includegraphics[width=3in]{fig1.pdf}}\quad 75.327 -\subfigure{\includegraphics[width=2.3in, angle = -90]{../figures/plots_exec_vs_task_size_v3/cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps}} 75.328 - 75.329 - \caption 75.330 - {Execution time / total work vs size of a task. The smaller the task, the smaller the distance between scheduling events. When the ratio reaches 2, the scheduling overhead exactly equals the task size. 75.331 - } 75.332 -\label{figCray1Vthread} 75.333 -\end{figure} 75.334 - 75.335 - \includegraphics[width=2.3in, angle = -90]{../figures/plots_exec_vs_task_size_v3/cray1_pthreads_8_32_128_512thds__o30000__perfCtrs.result.eps} 75.336 -\subsection{Implementation Time Results} 75.337 -As seen in a previous paper on VMS\citation{}, VMS makes runtime implementation quick and easy. The results are re-printed here to support the claim that VMS meets the PStack requirement of reducing runtime implementation effort. These compare to weeks or months to learn code of a pre-existing multi-threaded runtime, modify it, and debug the multi-threaded implementation. 75.338 - 75.339 -Implementation time is reduced by the uniform natrue of VMS-based runtimes, freedom from details hidden by the VMS interface, the helper facilities VMS provides, VMS's debugging facilities, and freedom from multi-threading issues due to VMS's tie-point ordering guarantee. When combined, they lead to the fast implementation times seen in Table X. 75.340 - 75.341 - 75.342 - 75.343 -\section{Future Work and Conclusion} 75.344 -A semester long 75.345 - 75.346 - 75.347 - 75.348 -\section{Planning} 75.349 - 75.350 - (6.5" x 9" 10pt 2 col) 75.351 - 75.352 -require new parallel programming paradigms, new methods of application design, new structures for system software, and new models of interaction among applications, compilers, operating systems, and hardware. 75.353 - 75.354 -what benefits performant portability will bring 75.355 - 75.356 -abstraction must have certain properties to fulfill its role in stack. Contribution of paper is new results confirming suitability of VMS to be that abstraction. 75.357 - 75.358 -The Need: background on portability stack -- the end-goal sought, the fundamentals involved in any solution to provide it, how proposed stack from last year is updated to accord with those fundamentals in achieving end-goal. The elements of the stack. What function/role each element serves. 75.359 - 75.360 -Describe details of bottom of software stack and details of how cross-bar works, and the need for low-work runtime impl, and the need for reuse of runtime code across languages. 75.361 - 75.362 -what need in bottom, to support eco-system\cite{} 75.363 - 75.364 - Many runtime systems are implemented -- for each language, one runtime for each variant of the abstraction. 75.365 - 75.366 -Expect domain-specific languages -- these embed new behaviors into base language. Different from library because cannot understand the behavior of the call based on the base language alone. The runtime system provides behavior beyond the base language. This approach makes for quick creation of languages specialized to narrow domains. 75.367 - 75.368 -This approach is likely to fail without performant portability for its user's benefit, and a low-cost way to implement it for the language provider. 75.369 - 75.370 -In effect, just about the only purpose and criteria for judgement of the base abstraction is its ability to reduce effort, and its ability to support the portability features of the upper layers. 75.371 - 75.372 -Effort has two aspects: in implementing a new language, and in porting existing languages to new hardware. 75.373 - 75.374 -Support for upper layers is 75.375 - 75.376 -Hence, the two primary aspects of the base hardware abstraction are its ability to reduce the effort of implementing the set of runtime systems for a given language, and its ability to reduce the number of such runtime systems. 75.377 - 75.378 -for abstraction in bottom layer, here's VMS, detailed in LCPC paper, with new results that show it can, indeed, fulfil the base abstraction role for the class of multi-core hardware. 75.379 - 75.380 - 75.381 - 75.382 - 75.383 - 75.384 - 75.385 - 75.386 - 75.387 - 75.388 - 75.389 - 75.390 - 75.391 - 75.392 - 75.393 - 75.394 - 75.395 - 75.396 - 75.397 -Describe details of bottom of software stack and details of how cross-bar works, tie to the need for low-work runtime impl, and the need for reuse of runtime code across languages. 75.398 - 75.399 -Describe how VMS fulfills those needs. Details of its interface, details of its impl on multi-core, details of differences on different machines. 75.400 -Leave as-is for 1x4 and 1x2 -- make entirely different impl for 2x4 and another for 4x10 75.401 -? 75.402 -\section{old stuff} 75.403 - 75.404 -A common theme among parallel language designers, parallel OS implementers and parallel hardware architects is the need for a clean, portable hardware abstraction. Locks, with thread-constructs built above them, have failed due to interrelated issues: requiring system-wide quorum on each acquisition of a lock, limited semantics of lock-hardware, and its black-box nature which freezes out the OS and language runtimes. 75.405 - 75.406 - We argue that lock-oriented hardware plays a major role in the failure to achieve top-to-bottom integrated cooperation between application, langauge runtime, hardware management in the OS, and the hardware itself. We further argue that this kind of integration is a necessary (but not sufficient) requirement for efficient portability of applications. Both arguments are expounded upon in the dissertation of Halle[]. 75.407 - 75.408 -We further claim that every application-level synchronization or parallelism construct is a coupling, of semantic-behavior to a mechanism that orders events among application timelines. Even the CAS instruction combines compare and swap semantics with an order-establishing hardware mechanism. The mechanism guarantees that CAS instructions from different cores receive a sequential ordering, and is implemented in the memory system, where it establishes sole access of one core to the specified address, Meanwhile, the "Compare and swap" semantics may be implemented in the core, providing the behavior of the access. When several kinds of lock-establishing instruction are available, they all use the same memory-system hardware to establish ordering, and simply implement different behavior on top of it. The OS or language runtime code then use these instructions to establish ordering among the cores, and implement semantics of more complex constructs on top of that. 75.409 - 75.410 -What would happen, then, if the semantic-behavior were separated from the establishment of ordering? In this case, the order-establishment mechanism would have no behavior usable in a program. It would have to be coupled with code fragments that add semantic behavior. 75.411 - 75.412 -Such a separation is what this paper proposes, and presents an implementation in user-space for multi-core shared memory processors, 75.413 - 75.414 - 75.415 - 75.416 -? 75.417 - 75.418 -a rich interface between scheduling and hardware that enables adaptation to target hardware characteristics for higher performance, and integration into a cross-language framework 75.419 - 75.420 - ? 75.421 - 75.422 - This abstraction is not directly usable by application 75.423 - programmers. Instead, application-visible behavior is implemented 75.424 -in a semantical plugin, and then invoked via a language or library 75.425 - that uses the plugin. The main benefit is that parallel language 75.426 - runtimes become simpler to implement, because they use sequential 75.427 - algorithms for the parallel semantics. This is possible because the 75.428 - abstraction makes available a virtual time in which events in 75.429 - different program time-lines are sequentialized. The parallel 75.430 - semantics relate events in different time-lines via relating the 75.431 - sequentialized versions within the virtual time-line. 75.432 - 75.433 -? 75.434 - 75.435 -Thread parallelism constructs have been well documented to be 75.436 -difficult to program with. They directly expose low-level concurrency 75.437 -to the programmer. Arbitrary non-deterministic behavior and deadlocks 75.438 -can arise from improperly synchronized code. Efficient execution 75.439 -requires non-blocking algorithms whose correctness requires deep 75.440 -understanding of weakly consistent memory models. In addition, the 75.441 -operating system abstraction for threads comes with a very high 75.442 -context-switching and synchronization overhead. 75.443 - 75.444 -%% AC. The following is wrong. 75.445 -%\paragraph{\bf Problems with threads: } Thread parallelism constructs have been well documented to be difficult to program with. In addition, threads are problematic when one has multiple physical cores because the thread abstraction hides the hardware, disabling control over placement of tasks. High performance requires such control. Hence, not only are threads difficult to use directly in applications, but they prevent easier parallelism constructs from being built on top of them that have high performance. 75.446 - 75.447 -%\paragraph{\bf Partial solution: } To deal with this, in practice, a language's runtime turns off 75.448 - 75.449 -\paragraph*{A partial solution.} 75.450 - 75.451 -To deal with the last problem, a parallel language's runtime turns off 75.452 -operating system threads by pinning one to each physical core. This 75.453 -way, the custom runtime is assured that the software thread is 75.454 -one-to-one with a physical core. It then implements a user-level 75.455 -thread package that lets it control which OS thread a computational 75.456 -task is assigned to. Finally, the runtime then implements the 75.457 -language's parallel semantics in terms of those user threads. 75.458 - 75.459 -The user-level threading approach addresses the system overhead issue, 75.460 -but it still hides important events such as input-output or 75.461 -node-to-node communications in a cluster. 75.462 -%% AC. Irrelevant for a parallelism-centric paper 75.463 -%software faults, and other hardware events 75.464 -Hence, the more scalable runtimes need to coordinate task assignment 75.465 -to cores with application access of input and output, memory 75.466 -allocation over non-uniform cache and memory hierarchies, offloading 75.467 -to hardware accelerators, power management, and inter-node 75.468 -communication in a cluster. The user-level threading approach also 75.469 -makes the parallel runtime implementation cumbersome, error-prone and 75.470 -complex, because it is still written in terms of threads. 75.471 - 75.472 -Overall, parallel language implementations must deal with a number of 75.473 -challenges normally deferred to the operating system, and they still 75.474 -suffer from the complexity of non-blocking shared memory 75.475 -concurrency. 75.476 - 75.477 -Ideally, the OS would provide a mutable hardware abstraction, 75.478 -along with a selection of customizations or mutations that provide convenient 75.479 -parallelism constructs for applications to use. It should allow 75.480 -languages to provide their own parallel semantics. The language 75.481 -runtime would then provide a secure way for the runtime to access 75.482 -kernel-only hardware mechanisms. It could interact directly with the 75.483 -kernel to manage physical resources, in a low-overhead way. 75.484 -One benefit of this arrangement is the chance to implement a 75.485 -language's runtime directly as a plugin, which gives it the ability to 75.486 -control which task is assigned to which processing element at which 75.487 -time. This enables high performance and low-energy data affinity 75.488 -techniques. For example, the runtime could track data within the 75.489 -memory hierarchy and assign tasks to locations close to their consumed 75.490 -data. 75.491 - 75.492 -% \paragraph{\bf Support for portability: } This separation between 75.493 -% application executable and language runtime also supports 75.494 -% portability. It packages the language-specific scheduler into a 75.495 -% separate machine-specific module that is separately installed. The 75.496 -% scheduler is thus optimized for the combination of language with 75.497 -% hardware. This isn't a full solution to portability but it is a needed 75.498 -% precursor. 75.499 - 75.500 -% An interesting portability technique enabled by a separate 75.501 -% language-plus-hardware specific runtime is tracking which cores are 75.502 -% likely to already have data in the cache which a new task requires as 75.503 -% input. It could place tasks where the input data is likely to reside, 75.504 -% reducing communication to increase performance and power efficiency. 75.505 - 75.506 -\paragraph*{Contribution.} 75.507 - 75.508 -We show in this paper the definition and implementation of such a 75.509 -mutable hardware abstraction, albeit at user-level rather than in 75.510 -the kernel. It lets a language runtime be implemented as 75.511 -a plugin, which includes parallelism constructs and assignment of 75.512 -tasks to cores. 75.513 - 75.514 -We focus in this introductory paper on the definition of the 75.515 -abstraction and its support for parallelism constructs, postponing 75.516 -exploration of assignment of tasks onto cores and other performance 75.517 -optimizations to following papers. This paper establishes a definition 75.518 -of multiple time-lines in a program, and a virtual time that 75.519 -sequentializes events within those. It demonstrates three sets of 75.520 -parallelism constructs: synchronous \texttt{send}-\texttt{receive} 75.521 -motivated by process calculi; \texttt{spawn} and \texttt{sync} from 75.522 -Cilk {\cite{Fri98,CILKHome}}; and \texttt{mutex} and \texttt{condition 75.523 - variable} from pthreads. The assignment policy we implemented with 75.524 -them is simply first-come first-served. 75.525 - 75.526 -We call the abstraction Virtualized Master-Slave, or VMS. It is 75.527 -essentially a definition of virtualized time on parallel hardware. It 75.528 -exports facilities, to a plugin, to create virtual processors and 75.529 -control how their timelines relate to each other, and relate to 75.530 -physical time. It also exports facilities, for a library to use, to 75.531 -suspend a virtual processor and interact with the plugin. The plugin 75.532 -embodies most of a language's runtime, while the library is the 75.533 -application's gateway to that runtime. 75.534 - 75.535 -\paragraph*{Organization of paper.} 75.536 - 75.537 -Section~\ref{secAbsModel} provide the original concepts and 75.538 -definitions of VMS. Section~\ref{secInternal} focuses on the 75.539 -implementation, describing the elements and how they interact, then 75.540 -relating them back to the theoretical definition. 75.541 -Section~\ref{secApp} takes the point of view of the application code, 75.542 -studying the usage and implementation of parallel language constructs 75.543 -as a VMS plugin. To wrap up, measurements of effectiveness appear in 75.544 -Section~\ref{secResults} and conclusions in 75.545 -Section~\ref{secConclusion}. 75.546 - 75.547 -\section{Background and Related Work} 75.548 - 75.549 -All synchronization constructs establish an ordering between program timelines. We formalize this with the notion of a tie-point and provide a hardware-neutral interface for establishing tie-points. To build synchronization constructs such as locks, condition variables, send-receive, spawn-sync, and so on, we couple the tie-point interface with a virtual timeline that establishes a global ordering of events from software timelines. The combination simplifies implementing synchronization primitives by allowing sequential algorithms to be used, without a performance penalty. 75.550 - 75.551 -This approach has the benefit of separating the semantics of synchronization from the mapping, of software timelines onto physical-core timelines. The hardware used to perform the mapping is hidden below the interface, and controlled by the runtime by invoking the interface, This improves portability, allows reuse, and shifts runtimes down into the OS kernel level, providing performance benefits. 75.552 -The language runtime gains secure access to all kernel level hardware mechanisms, and hardware resources are managed by dialog between runtime and interface, potentially alleviating a major challenge in parallel OS architecture. The semantics of the tie-point interface makes such a dialog practical, portable, and efficient, as opposed to current issues caused by the semantics of lock hardware such as TAS and CAS instructions. 75.553 - 75.554 -In this paper, we introduce the approach with a user-level implementation, deferring Linux integration and hardware support to future papers. 75.555 -We focus on the formal model of tie-points, details of our proof-of-concept implementation, 75.556 -and connecting these to application code. 75.557 - 75.558 - 75.559 - 75.560 - We demonstrate 75.561 - the low overhead of the interface and quickness to implement a runtime on three sets 75.562 - of parallelism constructs: rendez-vous style \texttt{send} and 75.563 - \texttt{receive}; Cilk style \texttt{spawn} and \texttt{sync}, which 75.564 - have similar performance to Cilk 5.4; and \texttt{mutex} and 75.565 - \texttt{condition variable} constructs from pthreads, which have 80x 75.566 - lower overhead than Linux thread operations. Development time 75.567 - averaged just over one day per set as opposed to weeks for equivalent lock-based implementations. 75.568 - 75.569 - 75.570 - 75.571 -User-level thread packages and most parallel language runtimes have to 75.572 -side-step OS threads, by pinning one to each core, which effectively 75.573 -gives the user-level package control over the core. Our VMS 75.574 -implementation also does this. We are not claiming in this paper to 75.575 -have the OS level implementation of VMS that is possible -- but just 75.576 -the user-space version. 75.577 - 75.578 -\paragraph*{Related work.} 75.579 - 75.580 -The most closely related work is Scheduler Activations 75.581 -\cite{SchedActivations}, which also allows modifying concurrency 75.582 -constructs and controlling assignment of virtual processors onto 75.583 -cores. However it has no virtual time to guarantee globally consistent 75.584 -sequentialization, and no interface for plugins. 75.585 - 75.586 -BOM \cite{BOMinManticore}, which is used in Manticore to express 75.587 -scheduling policies and synchronization, also bears resemblances to 75.588 -VMS, but at a higher level of abstraction. BOM is a functional 75.589 -language, rather than a primitive abstraction meant to sit at the 75.590 -hardware-software boundary as VMS is. 75.591 - 75.592 -Coroutines is a high-performance means of switching between 75.593 -tasks. Coroutine scheduling and stack handling techniques were well 75.594 -suited to the user-space implementation of VMS. 75.595 - 75.596 -Other related work either provides an abstraction of the thread model, 75.597 -or is a full language with specific parallelism constructs. As a 75.598 -protypic example of user-level threads, Cilk {\cite{Fri98,CILKHome}} 75.599 -provides a simplified abstraction with an efficient scheduling and 75.600 -load balancing algorithm, but limited to fork-join concurrency. OpenMP 75.601 -{\cite{OpenMPHome}} is a typical example of a parallel extension of 75.602 -sequential languages; it allows creating tasks and controlling their 75.603 -execution order. We claim that both Cilk and OpenMP, as well as most 75.604 -thread abstractions or parallel languages may be implemented via 75.605 -plugins to VMS, with similar performance. 75.606 - 75.607 -In contrast to thread abstractions and parallel programming languages, 75.608 -VMS doesn't impose its own low-level concurrency semantics as a 75.609 -programming model, but rather takes preferred ones as plugins. This 75.610 -makes it not a language itself, but a \emph{support} mechanism to 75.611 -implement language runtimes. Parallelism constructs may be implemented 75.612 -as VMS plugins, easily, quickly, and with high performance as 75.613 -indicated in Section~\ref{secResults}. 75.614 - 75.615 -This work presents a first incarnation and evaluation of VMS. We plan 75.616 -to explore the embedding into VMS of a variety of parallel languages, 75.617 -with a special interest for coordination languages 75.618 -\cite{Gelernter85Linda,CnCInHotPar,CnCHome}. We will also explore 75.619 -VMS's compatibility with different concurrent semantics 75.620 -\cite{Kah74,hoare78,milner99,Hewitt10,Actors97}. One particularly 75.621 -important application would be to use VMS to facilitate the design and 75.622 -implementation of the emerging hybrid programming models, such as 75.623 -MPI+OpenMP, or OpenMP+OpenCL \cite{Car10,OpenCLHome}. 75.624 - 75.625 -\paragraph*{Virtual Processor (VP).} 75.626 - 75.627 -We want to avoid the confusion associated with the various 75.628 -interpretation for the the terms ``thread'' and ``task'' so will use 75.629 -the term \emph{Virtual Processor} (VP), which we define as state in 75.630 -combination with the ability to animate code or an additional level of 75.631 -virtual processors. The state consists of a program counter, a stack 75.632 -with its contents, a pointer to top of stack, and a pointer to the 75.633 -current stack frame. 75.634 - 75.635 -\section{Abstract Definition of VMS} 75.636 -\label{secAbsModel} 75.637 - 75.638 -We start with an intuitive overview, then precise the definitions and 75.639 -properties in the following sub-sections. 75.640 - 75.641 -\paragraph*{Intuitive Overview.} 75.642 - 75.643 -VMS is concerned primarily with time and guarantees about it. This is 75.644 -because parallelism constructs control how the time-lines of different 75.645 -virtual processors intersect. They also guarantee relations of time 75.646 -lines to hardware events. 75.647 - 75.648 -As an example, consider a program that writes into a data structure in 75.649 -one time-line, then calls a \texttt{send} construct, meanwhile in a 75.650 -different time-line it calls the \texttt{receive} construct then reads 75.651 -the data structure. The constructs should guarantee that all data 75.652 -written before the \texttt{send} is readable in the other time-line 75.653 -after the \texttt{receive}. 75.654 - 75.655 -%% AC. Too early. 75.656 -% VMS provides a primitive guarantee that 75.657 -% plugin code builds upon to provide such higher-level guarantees. The 75.658 -% primitive guarantee is defined in Section~\ref{scTime}, after the 75.659 -% necessary vocabulary is established. 75.660 - 75.661 -To support parallelism constructs, VMS provides: primitive operations 75.662 -to create and suspend VPs; a way for plugged-in code to control when 75.663 -each VP is (re)started; and time-related guarantees. These are 75.664 -enforced on all hardware, be it shared memory or distributed, with 75.665 -strong memory consistency or weak. 75.666 - 75.667 -\paragraph*{Definition in three parts.} 75.668 - 75.669 -The definition we give is for VMS \emph{with plugins present}. Hence, 75.670 -the definition includes the behavior of any parallelism construct 75.671 -implementable with VMS. We give the abstract definition in three 75.672 -parts: a definition of the elements of a VMS computation system; a 75.673 -definition of time and the key VMS guarantee; and a definition of 75.674 -virtual processor scheduling states and transitions between them. 75.675 - 75.676 -%% AC. Too early, Master has not been defined. I renamed VMS-core into 75.677 -%% VMS afterwards, finding no ambiguity. 75.678 -% The Master mentioned in the definition is an abstract entity, with a 75.679 -% plugin present. In practice, this Master entity is implemented as part 75.680 -% of a core VMS, and plugins later added. This VMS-core is the hardware 75.681 -% abstraction. It hides the physical hardware behind an interface that 75.682 -% creates virtual processors and enforces well-defined time-behavior. 75.683 - 75.684 -\subsection{The Elements of a VMS Computation System} 75.685 - 75.686 -\begin{itemize} 75.687 -\item A VMS program has multiple VPs, which are Slaves, each with an 75.688 - independent time-line. 75.689 -\item A schedule of Slaves is generated by a Master entity, from 75.690 - within separate time-line(s). 75.691 -\item A schedule is defined as the set of points at which VPs are 75.692 - (re)animated. 75.693 -\item All semantic parallelism behavior is invoked via communication 75.694 - with the Master. 75.695 -\item Communication with the Master happens by using a VMS primitive, 75.696 - which causes \emph{voluntary} suspension of the program's VP. 75.697 -\end{itemize} 75.698 - 75.699 -What is important here is that the choice of which VP is animated, at 75.700 -which point, happens in a separate time-line; and that the VPs suspend 75.701 -voluntarily for each parallelism construct. This means that 75.702 -\emph{scheduling is separated from the program code}, the key point. 75.703 - 75.704 -The Master entity appears to be a single entity to the slaves, but may 75.705 -be implemented by multiple Master VPs hidden inside the VMS 75.706 -implementation. 75.707 - 75.708 -VPs use the Master as an intermediary to: semantically communicate 75.709 -with each other; cause creation of new program VPs; and to influence 75.710 -re-animation of VPs. As a subtlety, notice that hardware mechanisms, 75.711 -such as coherent shared memory, allow communication to take place that 75.712 -is not visible to the parallelism constructs. This is not allowed with 75.713 -VMS: parallelism constructs of the language, and through them VMS 75.714 -primitives, must be separately called in order to make use of shared 75.715 -variable communication safe. 75.716 - 75.717 -%% AC. Calling memory a processing element only adds confusion. 75.718 -% {\bf Definitions:\ }VMS is intended only for hardware systems that 75.719 -% consist of processing elements connected by communication. We define 75.720 -% a memory-space to be a processing element, albeit without the ability 75.721 -% to transform data. 75.722 - 75.723 -We define a \emph{physical core} to be a processing element executing 75.724 -a sequential stream of instructions. 75.725 - 75.726 -We define a program-time as the sequence of instructions animated by a 75.727 -Slave VP, which is eventually animated by a physical core. A Slave VP 75.728 -has associated \emph{scheduling state} that, among other things, 75.729 -relates to how its program-time progresses relative to physical time 75.730 -on the cores. 75.731 - 75.732 -\subsection{Time in VMS} 75.733 -\label{secTime} 75.734 - 75.735 -VMS has three levels of time: \emph{Program time}, \emph{Master time}, 75.736 -and \emph{Virtual time}. 75.737 - 75.738 -\begin{itemize} 75.739 -\item Program time is local to a Slave VP, measured in instruction 75.740 - executions. 75.741 -\item Master time is hidden from the program and is independent from 75.742 - all Program times. 75.743 -\item Virtual time is the ordered set of changes in scheduling state 75.744 - of Slave VPs. 75.745 -\end{itemize} 75.746 - 75.747 -What is most important here is that Virtual time defines a global 75.748 -sequential ordering. This ordering is consistent with the key VMS 75.749 -guarantee (given below), and each point in it is computed within 75.750 -Master time. 75.751 - 75.752 -Also, the independence between program times and master time has 75.753 -subtle advantages. It enables elegant enforcement of the VMS 75.754 -guarantee, and implementation simplifications that become clear after 75.755 -gaining deep implementation knowledge. 75.756 - 75.757 -In VMS, each event relevant to parallel semantics is tied to a 75.758 -transition of the state of a Slave VP. This means that implementing 75.759 -the behavior of parallel semantics is equivalent to controlling the 75.760 -order of transitions of state of virtual processors. 75.761 - 75.762 -\paragraph*{Definition.} 75.763 - 75.764 -The stream of instructions in a given program-time is broken into a 75.765 -number of \emph{trace-segments}, separated by suspension points. Each 75.766 -trace-segment is animated by a single physical core, but not 75.767 -necessarily the same core as animated the other trace segments. A 75.768 -suspend point is created by a Slave VP executing the ``suspend'' 75.769 -primitive provided by VMS. A suspend point has no duration in program 75.770 -time, but has distinct start and end points in virtual time. The 75.771 -end-suspension points of two different program times can be tied 75.772 -together within virtual time, which is called a \emph{tie point} and 75.773 -has special significance to parallel constructs. The physical time of 75.774 -a core has no relationship to any program time, except for the various 75.775 -time-guarantees in this definition of VMS. 75.776 - 75.777 -\begin{figure}[ht] 75.778 - \includegraphics[width=5in]{../figures/Time_in_VMS_1.eps} 75.779 - \caption 75.780 - {Mapping program time onto Virtual time. \ The 75.781 - Master controls creation of new program time lines, and ending suspend 75.782 - points. Here, it has ended two suspend points at a common tie-point. 75.783 - } 75.784 -\label{figTimeMapping} 75.785 -\end{figure} 75.786 - 75.787 -\paragraph*{Relating time-lines to each other.} 75.788 - 75.789 -Figure \ref{figTimeMapping} illustrates how trace-segments relate to 75.790 -suspend points, and map onto virtual time. A trace segment starts in 75.791 -virtual time where suspend is ended, as seen. In fact, the two trace 75.792 -segments shown have a common start-point within virtual time. This is 75.793 -because the parallelism semantics chose to start them at the same 75.794 -point -- this is what a tie point is. A key note is that the lengths 75.795 -in virtual time have no relation to the lengths in program-time. The 75.796 -only defined feature is that those two trace-segments have a common 75.797 -start-point in virtual time. This means that the two suspend points 75.798 -are considered to be tied together. 75.799 - 75.800 -\paragraph*{The key VMS guarantee.} 75.801 - 75.802 -Being tied together means that all physical events that can be 75.803 -observed by both program-times are covered by the key VMS guarantee: 75.804 -any events triggered before the common suspend point in one program 75.805 -time are guaranteed visible in the other program time after the common 75.806 -suspend point. They {\em{might}} be visible before, but it's not 75.807 -guaranteed. In addition, events triggered after the common suspend 75.808 -point in one are guaranteed not visible before the common suspend 75.809 -point in the other. This two-part guarantee is a fundamental design 75.810 -property of VMS. 75.811 - 75.812 -Intuitively, a tie-point separates before it from after such that tied 75.813 -program times agree (illustrated with code in Section \ref{secApp} 75.814 -Figure \ref{figAnimVP}). But the subtlety is that events triggered 75.815 -before the tie-point, {\em{might}} be visible to the other before, and 75.816 -ones triggered after {\em{might not}} be visible to the other after -- 75.817 -physical events triggered before are only guaranteed visible 75.818 -{\em{after}} the tie point, and events after are only guaranteed 75.819 -{\em{not}} visible {\em{before}} the tie point. 75.820 - 75.821 -This is a form of bounded non-determinism. The pattern of suspension 75.822 -end-points determines which trace-segments overlap in Virtual time, 75.823 -and events triggered in one might be visible in overlapped ones. But 75.824 -no guarantees cover these. If one segment tries to observe, it will 75.825 -see events triggered by overlapped segments in non-deterministic 75.826 -order. 75.827 - 75.828 -The VMS implementation defines which physical events are covered by 75.829 -the key VMS guarantee (reads/writes, network communication, DMA, I/O). 75.830 - 75.831 -\paragraph*{Globally consistent sequential order.} 75.832 - 75.833 -VMS maps suspend-start, suspend-end, and hence tie-points, to a 75.834 -globally-consistent sequential order in Virtual time. This enables one 75.835 -of VMS's key benefits: sequential algorithms for parallel constructs. 75.836 - 75.837 -Tie points define parallel behavior, so an implementation of how to 75.838 -choose tie points equals an implementation of parallel constructs. The 75.839 -Master chooses tie-points, so plugging code to choose tie-points into 75.840 -the Master equals plugging in parallel constructs. 75.841 - 75.842 -\subsection{Scheduling State} 75.843 - 75.844 -Scheduling state is used in VMS to organize internal activity, for 75.845 -enforcing the guarantees. 75.846 - 75.847 -\begin{itemize} 75.848 -\item VPs have three scheduling states: {\em{Animated}}, 75.849 - {\em{Blocked}}, {\em{Ready}}; see Figure~\ref{figStates}. 75.850 -\item VPs in Animated are {\em{allowed}} to advance Program time with 75.851 - (core-local) physical time. 75.852 -\item VPs in Blocked and Ready do not advance their Program time. 75.853 -\item Animated has two physical states: {\em{Progressing}} and 75.854 - {\em{Stalled}}. 75.855 -\item VPs in Progressing advance Program time with (core-local) 75.856 - physical time, those in Stalled do not (allowing non-semantic 75.857 - suspend). 75.858 -\item Scheduling states are defined in Virtual time only. 75.859 -\item Progressing and Stalled are defined in (core-local) physical 75.860 - time only; the distinction is invisible in Virtual time. 75.861 -\end{itemize} 75.862 - 75.863 -\begin{figure}[h!tb] 75.864 -\begin{minipage}{.55\textwidth} 75.865 - \includegraphics[width=\textwidth]{../figures/Scheduling_states_2.eps} 75.866 - \caption{Scheduling states of a slave VP in the VMS model.} 75.867 - \label{figStates} 75.868 -\end{minipage} 75.869 -\hfill 75.870 -\begin{minipage}{.43\textwidth} 75.871 - \includegraphics[width=\textwidth]{../figures/VMS-core__plugins.eps} 75.872 - \caption 75.873 - { 75.874 - The Master, split into a generic core and a language-specific plugin. 75.875 - The core encapsulates the hardware and remains the same across applications. 75.876 - The plugin is part of the parallelism-construct implementation. 75.877 - } 75.878 - \label{figMasterSplit} 75.879 -\end{minipage} 75.880 -\end{figure} 75.881 - 75.882 - 75.883 -Some important points: (1) only VPs Animated can trigger physical 75.884 -events that are seen in other program time-lines; (2) the distinction 75.885 -between Blocked vs Stalled is that a VP has to explicitly execute a 75.886 -VMS primitive operation to enter Blocked, making it part of the 75.887 -semantics of parallelism constructs. In contrast, Stalled happens 75.888 -invisibly, with no effect on semantic behavior. It is due to hardware 75.889 -events hidden inside VMS, such as interrupts. 75.890 - 75.891 -The Ready state is used to separate the parallelism-construct behavior 75.892 -from the scheduling behavior. It acts as a ``staging area'' for 75.893 -scheduling. VPs placed into this state are {\em{allowed}} to be 75.894 -animated, then the scheduler decides when and where. 75.895 - 75.896 -An essential and illustrative point is that actions {\em{outside}} a 75.897 -given Program time cause the VP to transition 75.898 -Blocked$\rightarrow$Ready, which contrasts to lock algorithms where 75.899 -the concurrency-related behavior takes place {\em{inside}} program 75.900 -time. 75.901 - 75.902 -\paragraph*{Transition Between Slave Scheduling States.} 75.903 - 75.904 -\begin{itemize} 75.905 -\item VPs transition states as shown in Figure \ref{figStates}. 75.906 -\item Animated$\rightarrow$Blocked is caused by a Slave VP 75.907 - executing the Suspend VMS primitive. 75.908 -\item Blocked$\rightarrow$Ready is determined by the semantics 75.909 - implemented in the plugin. 75.910 -\item Ready$\rightarrow$Animated is determined by the scheduler in the 75.911 - plugin. 75.912 -\item Transitions in scheduling state have a globally consistent order 75.913 - in Virtual time. 75.914 -\end{itemize} 75.915 - 75.916 -The parallelism primitives executed by a program do not control change 75.917 -in scheduling states. They merely communicate messages to the Master, 75.918 -via a VMS supplied primitive. Inside the Master, the plugin's 75.919 -parallelism construct implementation processes the message. Based on 75.920 -that, it performs changes in state from Blocked$\rightarrow$Ready, 75.921 -creates new VPs, and dissipates existing VPs. Most communication from 75.922 -Slave to Master requires the VP to suspend when it sends the 75.923 -message. A few messages, like creating new Slave may be sent without 75.924 -suspending. 75.925 - 75.926 -The suspend primitive decouples local physical time from Virtual time. 75.927 -Execution causes immediate transition to Stalled in physical time, 75.928 -then the Master performs Animated$\rightarrow$Blocked, fixing that 75.929 -transition in Virtual time. The only relationship is causality. This 75.930 -weak relation is what allows suspension-points to be serialized in 75.931 -Virtual time, which in turn is what allows using sequential algorithms 75.932 -to implement parallelism constructs. 75.933 - 75.934 -\subsection{Plugins} 75.935 - 75.936 -The Master entity has two parts, a generic core part and a plugin 75.937 -(Figure \ref{figMasterSplit}). The core part of the Master is 75.938 -implemented as part of VMS itself. The plugin supplies two functions: 75.939 -the communication-handler and the scheduler, both having a standard 75.940 -prototype. The communication-handler implements the parallelism 75.941 -constructs, while scheduler assigns VPs to cores. 75.942 - 75.943 -An \emph{instance} of a plugin is created as part of initializing an 75.944 -application, and the instance holds the semantic and scheduling state 75.945 -for that run of the application. This state, combined with the virtual 75.946 -processor states of the slaves created during that application run, 75.947 -represents progress of the work of the application. For example, 75.948 -multi-tasking is performed simply by the Master switching among 75.949 -plugin instances when it has a resource to offer to a scheduler. The 75.950 -parallelism-semantic state holds all information needed to resume 75.951 -(hardware state, such as TLB and cache-tags is inside VMS). 75.952 - 75.953 -\section{Internal Workings of Our Implementation} 75.954 -\label{secInternal} 75.955 - 75.956 -We name the elements of our example implementation and describe their 75.957 -logical function, then relate them to the abstract model. We then step 75.958 -through the operation of the elements. 75.959 - 75.960 -\paragraph*{Elements and their logical function.} 75.961 - 75.962 -As illustrated in Figure~\ref{figInternals}, our VMS implementation is 75.963 -organized around physical cores. Each core has its own {\em{master 75.964 - virtual-processor}}, \texttt{masterVP}, and a {\em{physical-core 75.965 - controller}}, which communicate via a set of scheduling slots, 75.966 -\texttt{schedSlot}. The Master in the abstract definition is 75.967 -implemented by the multiple \texttt{masterVP}s plus a particular 75.968 -plugin instance with its shared parallelism-semantic state (seen at 75.969 -the top). 75.970 - 75.971 -On a given core, only one of: the core-controller, \texttt{masterVP}, 75.972 -or a slave VP, is animated at any point in local physical time. Each 75.973 -\texttt{masterVP} animates the same function, called 75.974 -\texttt{master\_loop}, and each slave VP animates a function from the 75.975 -application, starting with the top-level function the slave is created 75.976 -with, and following its call sequence. The core controller is 75.977 -implemented here as a Linux pthread that runs the \texttt{core\_loop} 75.978 -function. 75.979 - 75.980 -Switching between VPs is done by executing a VMS primitive that 75.981 -suspends the VP. This switches the physical core over to the 75.982 -controller, by jumping to the start of the \texttt{core\_loop} 75.983 -function, which chooses the next VP and switches to that (switching is 75.984 -detailed in Section \ref{secApp} Figure \ref{figAssembly}). 75.985 - 75.986 -\paragraph*{Relation to abstract model.} 75.987 - 75.988 -We chose to implement the Master entity of the model by a set of 75.989 -\texttt{masterVP}s, plus plugin functions and shared 75.990 -parallelism-semantic state. VMS consists of this implementation of the 75.991 -Master, plus the core-controllers, plus the VMS primitive libraries, 75.992 -for creating new VPs and dissipating existing VPs, suspending VPs, and 75.993 -communicating from slave VP to Master. In Figure~\ref{figInternals}, 75.994 -everything in green is part of VMS, while the plugin is in red, and 75.995 -application code appears as blue, inside the slave VP. 75.996 - 75.997 -Virtual time in the model is implemented via a combination of four 75.998 -things: a \texttt{masterLock} (not shown) that guarantees non-overlap 75.999 -of \texttt{masterVP} trace-segments; the \texttt{master\_loop} which 75.1000 -performs transition Animated$\rightarrow$Blocked; the 75.1001 -\texttt{comm\_handler\_fn} which performs Blocked$\rightarrow$Ready 75.1002 -and the \texttt{scheduler\_fn} which performs 75.1003 -Ready$\rightarrow$Animated. \ Each state transition is one step of 75.1004 -Virtual time; is guaranteed sequential by the non-overlap of 75.1005 -\texttt{masterVP} trace segments; and is global due to being in 75.1006 -parallelism-semantic state that is shared (top of 75.1007 -Figure~\ref{figInternals}). 75.1008 - 75.1009 -Transitions Progressing$\rightleftarrows$Stalled within the Animated 75.1010 -state are invisible to the parallelism semantics, the Master, and 75.1011 -Virtual time, and so have no effect on the elements seen. 75.1012 - 75.1013 -\begin{figure*}[h!tb] 75.1014 - \centerline{\includegraphics[width=5in]{../figures/VMS-core__internal_workings.eps}} 75.1015 - \caption 75.1016 - { Internal elements of our example VMS implementation 75.1017 - } 75.1018 - \label{figInternals} 75.1019 -\end{figure*} 75.1020 - 75.1021 -\paragraph*{Steps of operation.} 75.1022 - 75.1023 -The steps of operation are numbered, in Figure \ref{figInternals}. 75.1024 -Taking them in order: 75.1025 - 75.1026 -\begin{enumerate} 75.1027 -\item \texttt{master\_loop} scans the scheduling slots to see which 75.1028 - ones' slaves have suspended since the previous scan. 75.1029 -\item It hands these to the \texttt{comm\_handler\_fn} plugged in 75.1030 -(which equals transition Animated$\rightarrow$Blocked). 75.1031 -\item The VP has a request attached, and data in it causes the 75.1032 - \texttt{comm\_handler\_fn} to manipulate data structures in the 75.1033 - shared parallelism-semantic state. These structures hold all the 75.1034 - slaves in the blocked state (code-level detail and example will 75.1035 - come in Figure~\ref{figReqHdlr}, Section~\ref{secApp}). 75.1036 -\item Some requests cause slaves to be moved to a \texttt{readyQ} on 75.1037 - one of the cores (Blocked$\rightarrow$Ready). Which core's 75.1038 - \texttt{readyQ} receives the slave is under plugin control, 75.1039 - determined by a combination of request contents, semantic state and 75.1040 - physical machine state. 75.1041 -\item During the scan, the \texttt{master\_loop} also looks for empty 75.1042 - slots, and for each calls the \texttt{scheduler\_fn} plugged in. It 75.1043 - chooses a slave from the \texttt{readyQ} on the core animating 75.1044 - \texttt{master\_loop}. 75.1045 -\item The \texttt{master\_loop} then places the slave VP's pointer 75.1046 - into the scheduling slot (Ready$\rightarrow$Animated), making it 75.1047 - available to the \texttt{core\_loop}. 75.1048 -\item When done with the scan, \texttt{masterVP} suspends, switching 75.1049 - animation back to the \texttt{core\_loop}. 75.1050 -\item \texttt{core\_loop} takes slave VPs out of the slots. 75.1051 -\item Then \texttt{core\_loop} switches animation to these slave VPs. 75.1052 -\item When a slave self-suspends, animation returns to the 75.1053 - \texttt{core\_loop} (detail in code in Figure 9), which picks 75.1054 - another. 75.1055 -\item Until all slots are empty and the \texttt{core\_loop} switches 75.1056 - animation to the \texttt{masterVP}. 75.1057 -\end{enumerate} 75.1058 - 75.1059 -\paragraph*{Enabling sequential implementation of parallelism semantics.} 75.1060 - 75.1061 -All these steps happen on each core separately, but 75.1062 -%% AC. Cannot be both an essential property of VMS and "un this particular..." 75.1063 -% in this particular implementation 75.1064 -we use a central \texttt{masterLock} to ensure that 75.1065 -only one core's \texttt{masterVP} can be active at any time. This 75.1066 -guarantees non-overlap of trace-segments from different 75.1067 -\texttt{masterVP}s, allowing the plugins to use sequential algorithms, 75.1068 -without a performance penalty, as verified in 75.1069 -Section~\ref{secResults}. 75.1070 - 75.1071 -Relating this to the abstract model: the parallelism-semantic behavior 75.1072 -of the Master is implemented by the communication handler, in the 75.1073 -plugin. It thus runs in the Master time referred to, in the model, in 75.1074 -Section \ref{secAbsModel}. Requests are sent to the Master by 75.1075 -self-suspension of the slaves, but sit idle until the other slaves in 75.1076 -the scheduling slots have also run. This is the passive behavior of 75.1077 -requests that was noted in Section~\ref{secAbsModel}, which allows the 75.1078 -\texttt{masterVP}s to remain suspended until needed. This in turn 75.1079 -enables the \texttt{masterVP}s from different cores to be 75.1080 -non-overlapped. It is the non-overlap that enables the algorithms for 75.1081 -the parallelism semantics to be sequential. 75.1082 - 75.1083 -\section{Code Level View} 75.1084 -\label{secApp} 75.1085 - 75.1086 -To relate the abstract model and the internal elements to application 75.1087 -code and parallelism-library code, we give code snippets that 75.1088 -illustrate key features. We start with the application then work down 75.1089 -through the sequence of calls, to the plugin, using our SSR 75.1090 -{\cite{VMSHome}} parallelism-library as an example. 75.1091 - 75.1092 -In general, applications are either written in terms of a parallel 75.1093 -language that has its own syntax, or a base language with a 75.1094 -parallelism library, which is often called an {\em{embedded 75.1095 - language}}. Our demonstrators, VCilk {\cite{VMSHome}}, Vthread, 75.1096 -and SSR, are all parallelism libraries. A parallel language would 75.1097 -follow the standard practice of performing source-to-source transform, 75.1098 -from custom syntax into C plus parallelism-library calls. 75.1099 - 75.1100 -\paragraph*{SSR.} 75.1101 - 75.1102 -SSR stands for Synchronous Send-Receive, and details of its calls and 75.1103 -internal implementation will be given throughout this section. It has 75.1104 -two types of construct. The first, called {\em{from-to}} has two 75.1105 -calls: \texttt{SSR\_send\_from\_to} and 75.1106 -\texttt{SSR\_receive\_from\_to}, both of which specify the sending VP 75.1107 -as well as the receiving VP. \ The other, called {\em{of-type}} also 75.1108 -has two calls: \texttt{SSR\_\_send\_of\_type\_to} and 75.1109 -\texttt{SSR\_\_receive\_of\_type}, which allow a receiver to accept 75.1110 -from anonymous senders, but select according to type of message. 75.1111 - 75.1112 -% An example of a double column floating figure using two subfigures. 75.1113 -% (The subfig.sty package must be loaded for this to work.) 75.1114 -% The subfigure \label commands are set within each subfloat command, the 75.1115 -% \label for the overall figure must come after \caption. 75.1116 -% \hfil must be used as a separator to get equal spacing. 75.1117 -% The subfigure.sty package works much the same way, except \subfigure is 75.1118 -% used instead of \subfloat. 75.1119 -% 75.1120 -%\begin{figure*}[!t] 75.1121 -%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% 75.1122 -%\label{fig_first_case}} 75.1123 -%\hfil 75.1124 -%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% 75.1125 -%\label{fig_second_case}}} 75.1126 -%\caption{Simulation results} 75.1127 -%\label{fig_sim} 75.1128 -%\end{figure*} 75.1129 -% 75.1130 -% Note that often IEEE papers with subfigures do not employ subfigure 75.1131 -% captions (using the optional argument to \subfloat), but instead will 75.1132 -% reference/describe all of them (a), (b), etc., within the main caption. 75.1133 - 75.1134 -\paragraph*{Application view.} 75.1135 - 75.1136 -Figure~\ref{figAnimVP} shows snippets of application code, which use 75.1137 -the SSR parallelism library. The most important feature is that all 75.1138 -calls take a pointer to the VP that is animating the call. This is 75.1139 -seen at the top of the figure where slave VP creation takes a pointer 75.1140 -to the VP asking for creation. Below that is the standard prototype 75.1141 -for top level functions, showing that the function receives a pointer 75.1142 -to the VP it is the top level function for. 75.1143 - 75.1144 -The pointer is placed on the stack by VMS when it creates the VP, and 75.1145 -is the means by which the application comes into possession of the 75.1146 -pointer. This animating VP is passed to all library calls made from 75.1147 -there. For example, the bottom shows a pointer to the animating VP 75.1148 -placed in the position of sender in the \texttt{send} construct call. 75.1149 -Correspondingly, for the \texttt{receive} construct, the position of 75.1150 -receiving VP is filled by the VP animating the call. 75.1151 - 75.1152 -\begin{figure}[h!tb] 75.1153 -{\noindent 75.1154 -{\footnotesize 75.1155 -{\small Creating a new processor:} 75.1156 -\begin{verbatim} 75.1157 -newProcessor = SSR__create_procr( &top_VP_fn, paramsPtr, animatingVP ); 75.1158 -\end{verbatim} 75.1159 - 75.1160 -{\small prototype for the top level function:} 75.1161 -\begin{verbatim} 75.1162 -top_VP_fn( void *parameterStrucPtr, VirtProcr *animatingVP ); 75.1163 -\end{verbatim} 75.1164 - 75.1165 -{\small handing animating VP to parallelism constructs:} 75.1166 -\begin{verbatim} 75.1167 -SSR__send_from_to( messagePtr, animatingVP, receivingVP ); 75.1168 -messagePtr = SSR__receive_from_to( sendingVP, animatingVP ); 75.1169 -\end{verbatim} 75.1170 -} 75.1171 -} 75.1172 -\caption 75.1173 -{Application code snippets showing that all calls to the parallelism library 75.1174 -take the VP animating that call as a parameter. 75.1175 -} 75.1176 -\label{figAnimVP} 75.1177 -\end{figure} 75.1178 - 75.1179 -Relating these to the internal elements of our implementation, the 75.1180 -\texttt{animatingVP} suspends inside each of these calls, passing a 75.1181 -request (generated in the library) to one of the \texttt{masterVP}s. 75.1182 -The \texttt{masterVP} then calls the \texttt{comm-handler} plugin, and 75.1183 -so on, as described in Section \ref{secInternal}. 75.1184 - 75.1185 -For the \texttt{SSR\_\_create\_processor} call, the comm-handler in 75.1186 -turn calls a VMS primitive to perform the creation. The primitive 75.1187 -places a pointer to the newly created VP onto its stack, so that when 75.1188 -\texttt{top\_VP\_fn} is later animated, it sees the VP-pointer as a 75.1189 -parameter passed to it. \ All application code is either such a 75.1190 -top-level function, or has one at the root of the call-stack. 75.1191 - 75.1192 -The send and receive calls both suspend their animating VP. When both 75.1193 -have been called, the communication handler pairs them up and resumes 75.1194 -both. This ties time-lines together, invoking the VMS guarantee. Both 75.1195 -application-functions know, because of the VMS guarantee 75.1196 -(Section~\ref{secAbsModel}), that writes to shared variables made 75.1197 -before the send call by the sender are visible to the receiver after 75.1198 -the receive call. This is the programmer's view of tying together the 75.1199 -local time-lines of two different VPs, as defined in 75.1200 -Section~\ref{secAbsModel}. 75.1201 - 75.1202 -\paragraph*{Concurrency-library view.} 75.1203 - 75.1204 -A parallelism library function, in general, only creates a request, 75.1205 -sends it, and returns, as seen below. To send a request, it uses the 75.1206 -combined request-and-suspend VMS primitive that attaches the request 75.1207 -then suspends the VP. The primitive requires the pointer to the VP, 75.1208 -to attach the request and to suspend it. 75.1209 - 75.1210 -In Figure~\ref{figImplLib}, notice that the request's data is on the 75.1211 -stack of the virtual processor that's animating the call, which is the 75.1212 -\texttt{receiveVP}. The \texttt{VMS\_\_send\_sem\_request} suspends 75.1213 -this VP, which changes the physical core's stack pointer to a 75.1214 -different stack. So the request data is guaranteed to remain 75.1215 -undisturbed while the VP is suspended. 75.1216 - 75.1217 -Figure~\ref{figAssembly} shows the implementation of the VMS suspend 75.1218 -primitive. As seen in Figure \ref{figInternals}, suspending the 75.1219 -\texttt{receiveVP} involves switching to the \texttt{core\_loop}. In 75.1220 -our implementation, this is done by switching to the stack of the 75.1221 -pthread pinned to the physical core and then jumping to the 75.1222 -start-point of \texttt{core\_loop}. 75.1223 - 75.1224 -This code uses standard techniques commonly employed in co-routine 75.1225 -implementations. Tuning effort spent in \texttt{core\_loop} is 75.1226 -inherited by all applications. 75.1227 - 75.1228 -\begin{figure}[h!tb] 75.1229 -{\noindent 75.1230 -{\footnotesize 75.1231 -\begin{verbatim} 75.1232 -void * SSR__receive_from_to( VirtProcr *sendVP, VirtProcr *receiveVP ) 75.1233 - { SSRSemReq reqData; 75.1234 - reqData.receiveVP = receiveVP; 75.1235 - reqData.sendVP = sendVP; 75.1236 - reqData.reqType = receive_from_to; 75.1237 - VMS__send_sem_request( &reqData, receiveVP ); 75.1238 - return receiveVP->dataReturnedFromRequest; 75.1239 - } 75.1240 -\end{verbatim} 75.1241 -} 75.1242 -} 75.1243 -\caption{Implementation of SSR's receive\_from\_to library function.} 75.1244 -\label{figImplLib} 75.1245 - 75.1246 -{\noindent 75.1247 -{\footnotesize 75.1248 -\begin{verbatim} 75.1249 -VMS__suspend_procr( VirtProcr *animatingVP ) 75.1250 - { animatingVP->resumeInstrAddr = &&ResumePt; //GCC takes addr of label 75.1251 - animatingVP->schedSlotAssignedTo->isNewlySuspended = TRUE; //for master_loop to see 75.1252 - <assembly code stores current physical core's stack reg into animatingVP struct> 75.1253 - <assembly code loads stack reg with core_loop stackPtr, which was saved into animatingVP> 75.1254 - <assembly code jmps to core_loop start instr addr, which was also saved into animatingVP> 75.1255 - ResumePt: 75.1256 - return; 75.1257 - } 75.1258 -\end{verbatim} 75.1259 -} 75.1260 -} 75.1261 - \caption 75.1262 -{Implementation of VMS suspend processor. 75.1263 -Re-animating the virtual processor reverses this sequence. \ It saves the 75.1264 -\texttt{core\_loop}'s resume instr-addr and stack ptr into the VP structure, 75.1265 -then loads the VP's stack ptr and jmps to its \texttt{resumeInstrAddr}. 75.1266 -} 75.1267 -\label{figAssembly} 75.1268 - 75.1269 -{\noindent 75.1270 -{\footnotesize 75.1271 -\begin{verbatim} 75.1272 -handle_receive_from_to( VirtProcr *requestingVP, SSRSemReq *reqData, SSRSemEnv *semEnv ) 75.1273 - { commHashTbl = semEnv->communicatingVPHashTable; 75.1274 - key[0] = reqData->receiveVP; key[1] = reqData->sendVP; //send uses same key 75.1275 - waitingReqData = lookup_and_remove( key, commHashTbl ); //get waiting request 75.1276 - if( waitingReqData != NULL ) 75.1277 - { resume_virt_procr( waitingReqData->sendVP ); 75.1278 - resume_virt_procr( waitingReqData->receiveVP ); 75.1279 - } 75.1280 - else 75.1281 - insert( key, reqData, commHashTbl ); //receive is first to arrive, make it wait 75.1282 - } 75.1283 -\end{verbatim} 75.1284 -} 75.1285 -} 75.1286 - \caption 75.1287 -{Pseudo-code of communication-handler for 75.1288 -\texttt{receive\_from\_to} request type. The \texttt{semEnv} is a pointer 75.1289 -to the shared parallel semantic state seen at the top of 75.1290 -Figure~\ref{figInternals}. 75.1291 -} 75.1292 -\label{figReqHdlr} 75.1293 -\end{figure} 75.1294 - 75.1295 -\paragraph*{Plugin view.} 75.1296 - 75.1297 -SSR's communication handler dispatches on the \texttt{reqType} field 75.1298 -of the request data, as set by the \texttt{SSR\_\_receive\_from\_to} 75.1299 -code. It calls the handler code in Figure \ref{figReqHdlr}. This 75.1300 -constructs a hash-key, by concatenating the from-VP's pointer with the 75.1301 -to-VP's pointer. Then it looks-up that key in the hash-table that SSR 75.1302 -uses to match sends with receives, which is in the shared semantic 75.1303 -state seen at the top of Figure \ref{figInternals} in 75.1304 -Section~\ref{secInternal}. 75.1305 - 75.1306 -The most important feature in Figure~\ref{figReqHdlr} is that both 75.1307 -send and receive will construct the same key, so will find the same 75.1308 -hash entry. Whichever request is handled first in Virtual time will 75.1309 -see the hash entry empty, and save itself in that entry. The second 75.1310 -to arrive sees the waiting request and then resumes both VPs, by 75.1311 -putting them into their \texttt{readyQ}s. 75.1312 - 75.1313 -Access to the shared hash table can be considered private, as in a 75.1314 -sequential algorithm. This is because our VMS-core implementation 75.1315 -ensures that only one handler on one core is executing at a time. 75.1316 - 75.1317 -\section{Results} 75.1318 -\label{secResults} 75.1319 - 75.1320 -We implemented blocked dense matrix multiplication with right 75.1321 -sub-matrices copied to transposed form, and ran it on a 4-core 75.1322 -Core2Quad 2.4Ghz processor. 75.1323 - 75.1324 -\paragraph*{Implementation-time.} 75.1325 - 75.1326 -As shown in Table~\ref{tabPersonDaysLang}, time to implement the three 75.1327 -parallel libraries averages 2 days each. As an example of 75.1328 -productivity, adding nested transactions, parallel singleton, and 75.1329 -atomic function-execution to SSR required a single afternoon, totaling 75.1330 -less than 100 lines of C code. 75.1331 - 75.1332 -\paragraph*{Execution Performance.} 75.1333 - 75.1334 -Performance of VMS is seen in Table~\ref{tabOverheadCycles}. The code 75.1335 -is not optimized, but rather written to be easy to understand and 75.1336 -modify. The majority of the plugin time is lost to cache misses 75.1337 -because the shared parallelism-semantic state moves between cores on a 75.1338 -majority of accesses. Acquisition of the master lock is slow due to 75.1339 -the hardware implementing the CAS instruction. 75.1340 - 75.1341 -Existing techniques will likely improve performance, such as 75.1342 -localizing semantic data to cores, splitting malloc across the cores, 75.1343 -pre-allocating slabs that are recycled, and pre-fetching. However, in 75.1344 -many cases, several hundred nano-seconds per task is as optimal as the 75.1345 -applications can benefit from. 75.1346 - 75.1347 -\begin{table}[h!tb] 75.1348 -\begin{minipage}{.35\textwidth} 75.1349 -\begin{tabular}{|l|l|l|l|} 75.1350 - \cline{2-4} 75.1351 - \multicolumn{1}{l|}{} & SSR & Vthread & VCilk\\ 75.1352 - \cline{2-4} 75.1353 - \noalign{\vskip2pt} 75.1354 - \hline 75.1355 - Design & 4 & 1 & 0.5\\ 75.1356 - Code & 2 & 0.5 & 0.5\\ 75.1357 - Test & 1 & 0.5 & 0.5\\ 75.1358 - L.O.C. & 470 & 290 & 310\\ 75.1359 - \hline 75.1360 -\end{tabular} 75.1361 -\caption 75.1362 -{Person-days to design, code, and 75.1363 - test each parallelism library. L.O.C. is lines of (original) C code, 75.1364 - excluding libraries and comments. 75.1365 -} 75.1366 -\label{tabPersonDaysLang} 75.1367 -\end{minipage} 75.1368 -\hspace{-.05\textwidth} 75.1369 -\begin{minipage}[t]{.7\textwidth} 75.1370 -\hfill 75.1371 -\begin{tabular}{|l|l|r|r|} 75.1372 -\cline{3-4} 75.1373 -\multicolumn{2}{l|}{} & comp only & comp + mem\\ 75.1374 -\cline{3-4} 75.1375 -\noalign{\vskip2pt} 75.1376 -\hline 75.1377 -VMS Only & \texttt{master\_loop} & 91 & 110\\ 75.1378 -& switch VPs & 77 & 130\\ 75.1379 -& (malloc) & 160 & 2300\\ 75.1380 -& (create VP) & 540 & 3800\\ 75.1381 -\hline 75.1382 -Language: & & & \\ 75.1383 -\quad SSR & plugin -- concur & 190 & 540\\ 75.1384 -& plugin -- all & 530 & 2200\\ 75.1385 -& lock & & 250\\ 75.1386 -\quad Vthread & plugin -- concur & 66 & 710\\ 75.1387 -& plugin -- all & 180 & 1500\\ 75.1388 -& lock & & 250\\ 75.1389 -\quad VCilk & plugin -- concur & 65 & 260\\ 75.1390 -& plugin -- all & 330 & 1800\\ 75.1391 -& lock & & 250\\ 75.1392 -\hline 75.1393 -\end{tabular} 75.1394 -\caption 75.1395 -{Cycles of overhead, per scheduled 75.1396 - slave. ``comp only'' is perfect memory, ``comp + mem'' is actual cycles. 75.1397 - ``Plugin-concur'' only concurrency requests, ``plugin-all'' includes 75.1398 - create and malloc requests. Two significant digits due to variability. 75.1399 -} 75.1400 -\label{tabOverheadCycles} 75.1401 -\end{minipage} 75.1402 - 75.1403 -\vskip-1.5cm 75.1404 -\begin{tabular}{|l|lr|} 75.1405 -\hline 75.1406 - Matrix size&Lang.&sec.\\ 75.1407 -[2pt]\hline 75.1408 - $81\times81$ & Cilk & 0.017\\ 75.1409 - & VCilk & 0.008\\ 75.1410 -\hline 75.1411 - $324\times324$ & Cilk & 0.13\\ 75.1412 - & VCilk & 0.13\\ 75.1413 -\hline 75.1414 - $648\times648$ & Cilk & 0.71\\ 75.1415 - & VCilk & 0.85\\ 75.1416 -\hline 75.1417 - $1296\times1296$ & Cilk & 4.8\\ 75.1418 - & VCilk & 6.2 \\ 75.1419 -[2pt]\hline 75.1420 -\end{tabular} 75.1421 -\hfill 75.1422 -\begin{tabular}{|l|r|r|r|r|} 75.1423 -\multicolumn{5}{l}{}\\ 75.1424 -\multicolumn{5}{l}{}\\ 75.1425 -\multicolumn{5}{l}{}\\ 75.1426 -\hline 75.1427 - operation & \multicolumn{2}{c|}{Vthread} & pthread & ratio\\ 75.1428 - & comp only & total & & \\ 75.1429 -[2pt]\hline 75.1430 - mutex\_lock & 85 & 1050 & 50,000 & 48:1\\ 75.1431 - mutex\_unlock & 85 & 610 & 45,000 & 74:1\\ 75.1432 - cond\_wait & 85 & 850 & 60,000 & 71:1\\ 75.1433 - cond\_signal & 90 & 650 & 60,000 & 92:1\\ 75.1434 -\hline 75.1435 -\end{tabular} 75.1436 -\caption 75.1437 -{On left, exe time in seconds for MM. To the right, overhead for 75.1438 - pthread vs. Vthread. First column is cycles 75.1439 - for perfect memory and second is total measured cycles. pthread cycles are 75.1440 - deduced from round-trip experiments. 75.1441 -} 75.1442 -\label{tabHeadToHead} 75.1443 -\end{table} 75.1444 - 75.1445 -\paragraph*{Head to head.} 75.1446 - 75.1447 -We compare our implementation of the \texttt{spawn} and \texttt{sync} 75.1448 -constructs against Cilk 5.4, on the top in Table~\ref{tabHeadToHead}, 75.1449 -which shows that the same application code has similar 75.1450 -performance. For large matrices, Cilk 5.4's better use of the memory 75.1451 -hierarchy (the workstealing algorithm) achieves 23\% better 75.1452 -performance. However, for small matrices, VCilk is better, with a 75.1453 -factor 2 lower overhead. Cilk 5.4 does not allow controlling the 75.1454 -number of spawn events it actually executes, and chooses to run 75.1455 -smaller matrices sequentially, limiting our comparison. 75.1456 - 75.1457 -When comparing to pthreads, our VMS based implementation has more than 75.1458 -an order of magnitude better overhead per invocation of mutex or 75.1459 -condition variable functionality, as seen on the bottom of Table 75.1460 -\ref{tabHeadToHead}. Applications that inherently have short trace 75.1461 -segments will synchronize often and benefit the most from Vthread. 75.1462 - 75.1463 -\section{Conclusion} 75.1464 -\label{secConclusion} 75.1465 - 75.1466 -We have shown an alternative to the thread model that enables 75.1467 -easier-to-use parallelism constructs by splitting the scheduler open, 75.1468 -to accept new parallelism constructs in the form of plugins. This 75.1469 -gives the language control over assigning virtual processors to 75.1470 -physical cores, for performance, debugging, and flexibility 75.1471 -benefits. Parallelism constructs of programming languages can be 75.1472 -implemented using sequential algorithms, within a matter of days, 75.1473 -while maintaining low run-time overhead. 75.1474 - 75.1475 -\bibliography{../helpers/bib_for_papers} 75.1476 - 75.1477 -\end{document}
76.1 Binary file 0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/latex/12_Ja_20__HotPar_Abstr_for_PStack.pdf has changed
77.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/latex/12_Ja_20__HotPar_Abstr_for_PStack.tex Thu Feb 02 12:22:53 2012 -0800 77.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 77.3 @@ -1,346 +0,0 @@ 77.4 -% template-v1.tex: LaTeX2e template for Usenix papers. 77.5 -% Version: usetex-v1, 31-Oct-2002 77.6 -% Revision history at end. 77.7 - 77.8 -\documentclass[finalversion,endnotes]{usetex-v1} 77.9 -% Choose the appropriate option: 77.10 -% 77.11 -% 1. workingdraft: 77.12 -% 77.13 -% For initial submission and shepherding. Features prominent 77.14 -% date, notice of draft status, page numbers, and annotation 77.15 -% facilities. The three supported annotation macros are: 77.16 -% \edannote{text} -- anonymous annotation note 77.17 -% \begin{ednote}{who} -- annotation note attributed 77.18 -% text to ``who'' 77.19 -% \end{ednote} 77.20 -% \HERE -- a marker that can be left 77.21 -% in the text and easily 77.22 -% searched for later 77.23 -% 2. proof: 77.24 -% 77.25 -% A galley proof identical to the final copy except for page 77.26 -% numbering and proof date on the bottom. Annotations are 77.27 -% removed. 77.28 -% 77.29 -% 3. webversion: 77.30 -% 77.31 -% A web-publishable version, uses \docstatus{} to indicate 77.32 -% publication information (where and when paper was published), 77.33 -% and page numbers. 77.34 -% 77.35 -% 4. finalversion: 77.36 -% 77.37 -% The final camera-ready-copy (CRC) version of the paper. 77.38 -% Published in conference proceedings. This doesn't include 77.39 -% page numbers, annotations, or draft status (Usenix adds 77.40 -% headers, footers, and page numbers onto the CRC). 77.41 -% 77.42 -% If several are used, the last one in this list wins 77.43 -% 77.44 - 77.45 -% 77.46 -% In addition, the option "endnotes" permits the use of the 77.47 -% otherwise-disabled, Usenix-deprecated footnote{} command in 77.48 -% documents. In this case, be sure to include a 77.49 -% \makeendnotes command at the end of your document or 77.50 -% the endnotes will not actually appear. 77.51 -% 77.52 -% 77.53 -%%======================================================================= 77.54 - 77.55 -% These packages are optional, but useful 77.56 -\usepackage{epsfig} % postscript figures 77.57 -\usepackage{url} % \url{} command with good linebreaks 77.58 - 77.59 -%\usepackage{geometry} %chgs the margins and layout! 77.60 -\usepackage{graphicx,calc,ifthen,makeidx,amssymb,makeidx} 77.61 -\usepackage[tight,footnotesize]{subfigure} 77.62 - 77.63 -\graphicspath{{../figures/}} 77.64 - 77.65 -%======================================================================= 77.66 - 77.67 -\begin{document} 77.68 - 77.69 -\bibliographystyle{plain} 77.70 - 77.71 -\title{Supporting the Performant-Portability Software Stack with the Virtualized Master-Slave Abstraction} 77.72 - 77.73 -\docstatus{Submitted to HotPar 2012} 77.74 - 77.75 -% authors. separate groupings with \and. 77.76 -\author{ 77.77 -\authname{{Sean Halle \ \ \ \ \ \ \ \ Merten Sach \ \ \ \ \ \ \ \ Ben Juurlink}} 77.78 -\authaddr{{Technical University Berlin, Germany}} 77.79 -\authemail{{first.last@tu-berlin.de}} 77.80 -} 77.81 - 77.82 -%\authurl{\url{http://www.aes.tu-berlin.de/menue/home/parameter/en/}} 77.83 - 77.84 - 77.85 -\maketitle 77.86 - 77.87 -%======================================================================= 77.88 - 77.89 -\begin{abstract} 77.90 -The HotPar 2012 call for papers states that wide uptake of high efficiency parallel architectures ``requires new parallel programming paradigms, new methods of application design, new structures for system software, and new models of interaction among applications, compilers, operating systems, and hardware." In short, a new software stack, and a way to organize players in research and industry to supply the pieces of the stack. 77.91 - 77.92 -A recently proposed candidate for such a software stack\cite{PStackHome} relies in part on the assumption that a suitable hardware abstraction exists for the bottom layer of the stack. The abstraction's main purpose is to reduce the effort required in the upper layers. It must reduce the effort of creating language runtimes: by hiding details of synchronization and communication; by regularizing implementation to simplify and encourage reuse across languages; and by reducing the number of runtimes needed by collecting multiple targets below a single interface. It must at the same time enable high performance, by giving the language control over task placement and exposing to the runtime's scheduler the memory hierarchy, communication characteristics, and other major performance-related aspects of the hardware. 77.93 - 77.94 -In this paper, we show that an abstraction called Virtualized Master-Slave, or VMS \cite{VMSHome} satisfies these criteria, and we provide recent measurements to support the case. 77.95 - 77.96 -\end{abstract} 77.97 - 77.98 -%======================================================================= 77.99 - 77.100 -\section{Motivation} 77.101 - 77.102 - 77.103 -As stated in the call for papers, wide uptake of high efficiency parallel architectures ``requires new parallel programming paradigms, new methods of application design, new structures for system software, and new models of interaction among applications, compilers, operating systems, and hardware." Which are element of the software stack, and normally supplied by multiple players in research and industry. The players need to be organized to supply the pieces of the stack. 77.104 - 77.105 -The goal of the stack is to make parallel programming as productive as sequential programming, and to make it as portable onto new generations of hardware as sequential code. 77.106 - 77.107 -Reduced cost of parallel software is one major benefit of such a stack. Part of the cost reduction comes from performant portability. This means code is written once then run performantly across hardware targets, including unknown future architectures. 77.108 - 77.109 -A recent proposal for achieving this, named PStack\cite{PStackHome}, calls for a software stack having a layer of languages (toolchains) at the top, a layer of runtimes below that, and a hardware abstraction layer at the bottom. 77.110 - 77.111 -It is this bottom layer that we focus on in this paper. We begin by giving context for the bottom layer with more information about the software stack, in Section 2. We then explore the requirements for the layers in in Section 3, and show how VMS satisfies the requirements in Section 4. We then move to results, giving our experimental setup in Section 5, and measurements in Section 6. In Section 7 we tie the elements of the paper together in the conclusion. 77.112 - 77.113 - 77.114 -%%%%%%%%%%%%%%%%%%%%% 77.115 -\section{Context: PStack} 77.116 - 77.117 -Many projects are attempting portability \cite{OpenMPHome,TBBHome,OpenCLHome,Sequioa06,SEJITS}. PStack differentiates itself in three ways: 1) it's goal is wider than most: (nearly) all-languages to (nearly) all hardware 2) It's approach is to \emph{organize} -- industry supplies the pieces of the solution, while PStack itself only provides the interfaces and scaffolding, along with the seed of a solution to start 3) PStack has unique approaches for the application interface and the hardware interface that fill fundamental needs. 77.118 - 77.119 -The general philosophy is that portability involves too much effort to be solved by a single group. Instead, an industry-wide effort is needed, where each player provides one small piece of the solution. This, though, requires some way to organize it all, and modularize the pieces. 77.120 - 77.121 -PStack addresses this by defining a number of interfaces, and providing tools to manage specialization. These result in a simple, decoupled process for adding new solution pieces. So, the solution can grow at its own pace, accumulating the efforts of many. 77.122 - 77.123 -\subsection{PStack elements} 77.124 - 77.125 -As seen in Figure \ref{figPStack}, at the top, a standard set of information is defined, which must be gathered from the application. Current languages don't capture all the required information. So PStack defines a set of constructs to be added to a language to fill its gaps. The added constructs are denoted ``+P'' appended to the language name. 77.126 - 77.127 -In the middle, standard runtimes require too much effort to create, and discourage reusing schedulers across languages. So PStack defines a hardware abstraction that removes as much as possible from the runtime, including concurrency in the runtime itself. The abstraction makes the runtimes all have similar structure, which simplifies reuse of complex scheduler code among languages. 77.128 - 77.129 -At the bottom, performance of the runtime itself requires intense low-level hand-tuning and debugging. This is captured inside the implementation of the abstraction. It is done once for each hardware target, then reused across the runtimes from all languages. So the intense hand-tuning is taken out of the runtimes, in the middle layer, while it benefits all languages and hence applications in the higher layers. 77.130 - 77.131 -\subsection{How VMS influences the stack} 77.132 - 77.133 -VMS was chosen as the abstraction in the bottom layer. However, VMS affects multiple interfaces and layers of the stack. At the top, it determines the way parallel constructs are embedded into base languages, and how custom-syntax languages generate their runtime-interactions. Next, between the top and middle, VMS defines the interface for the language layer to talk to the runtime layer. Then within the middle layer, VMS defines two standard function prototypes, so that a runtime consists of implementations of just these two functions. Between middle and bottom, VMS defines a number of services that runtimes in the middle can call, and also defines the interaction between the VMS-implementation and the two runtime functions. 77.134 - 77.135 - 77.136 -\begin{figure*}[ht] 77.137 -\center 77.138 - \includegraphics[width=6in]{Portability_stack_combined.pdf} 77.139 - \caption 77.140 - {Depiction of PStack, with layers named on the left, and interfaces between layers named on the right. At the top are toolchains plus specializers, in the middle are runtimes connecting languages to hardware, and below that are hardware abstractions that collect similar hardware below a single interface and simplify runtime implementation. 77.141 - } 77.142 -\label{figPStack} 77.143 - 77.144 -\end{figure*} 77.145 - 77.146 - 77.147 - 77.148 -%%%%%%%%%%%%%%%%%%%%%%%%%%% 77.149 -\section{Requirements} 77.150 - 77.151 -Although the paper focuses on the bottom abstraction, its requirements are influenced by the layers above. So we present a full picture of the requirements in the stack, to give a complete picture for the bottom abstraction. 77.152 - 77.153 -\subsection{Top Layer: Language Requirements} 77.154 -The languages must be designed to capture all information required to specialize the source for high performance on any target hardware. A computation model, called The Holistic Model\cite{HolisticHome}, suggests that such a canonical set of information exists. 77.155 - 77.156 -PStack proposes to develop the constructs that gather the canonical information set, where some constructs are in the form of specialization helpers such as task-resizers and layout modifiers. The application implements the specialization helpers, thereby encoding information about data structures and how to manipulate them. The seeds of such an approach were laid with work on DKU\cite{DKUSourceForge}, which demonstrated the success of task-resizing constructs. 77.157 - 77.158 -PStack also calls for the use of the BLIS\cite{BLISHome} approach for managing multiple toolchains, where each toolchain specializes to a different target. The management covers the install process, during which the correct toolchain output is paired to the installation target. Further specialization can thus be naturally added during installation, when exact hardware details are known. If required, runtime tuning and optimization also fit naturally within the approach. 77.159 - 77.160 -\subsection{Middle Layer: Runtime Requirements} 77.161 - 77.162 -Below the top layer, a collection of runtime systems acts as a sort of cross-bar switch, connecting the languages above to the hardware abstractions below. Such a ``cross-bar'' switch made up of runtimes implies a large number of runtimes. 77.163 - 77.164 -To be practical, the number of runtimes must be reduced; the effort of creating one must be reduced; and reuse of sophisticated runtime code must be encouraged. 77.165 - 77.166 -\subsection{Bottom Layer: Abstraction Requirements} 77.167 - 77.168 -The primary purpose of the bottom abstraction is to reduce the effort of creating the runtime layer. 77.169 - 77.170 -\begin{itemize} 77.171 -\item The abstraction must hide details, making multiple hardware targets present the same interface and use a common runtime. 77.172 -\item The abstraction must hide low-level tuning of the runtime itself, like synchronization-related tuning. 77.173 -\item The asbstraction must provide common services, such as handling internal synchronization of the runtime, creation of tasks, communication, etc. 77.174 -\item The abstraction must create uniform patterns for runtime implementation, making reuse between runtimes more practical and reducing the effort of making multiple runtimes. 77.175 - 77.176 -\end{itemize} 77.177 - 77.178 -However, the abstraction must not hide \textit{application}-performance-critical information from the runtime, which holds the scheduler that decides when tasks become ready and where to execute them. The scheduling choices need to know the communication paths and memory pools in the hardware, along with latency, bandwidth, capacity and computation rate. 77.179 - 77.180 -A single abstraction can't both hide details and expose those required by the runtimes to attain high \emph{application} performance. Instead, PStack calls for a family of abstractions, one for each major type of architecture, including a ``hierarchy'' abstraction used to glue together heterogeneous hardware. In each, only the details critical to application performance are exposed to the scheduler in the runtime, thus keeping the number of abstractions needed manageably small, on the order of tens in total. 77.181 - 77.182 - 77.183 - 77.184 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 77.185 -\section{Relating VMS Details to Requirements} 77.186 - 77.187 -Given the requirements, how does VMS meet them? We given more detail on VMS, at each place it affects the stack, and show how the details satisfy the requirements. 77.188 - 77.189 - 77.190 -\subsection{Top-layer} 77.191 - 77.192 -With VMS, a language is implemented as either a collection of wrapper-library calls embedded into a base language, or as custom syntax. The wrapper-lib functions call a primitive supplied by VMS that suspends the virtual-processor animating the call, and sends a request to the runtime. This same VMS primitive is also used to implement custom syntax, inside the compiler. Thus, the VMS primitive is the means for the language layer to interact with the runtime layer. 77.193 - 77.194 - 77.195 -VMS is invisible to the application, only language constructs are visible -- either wrapper-library calls or custom syntax. From the application-programmer point of view, even an embedded parallelism construct looks like a function call, albeit the data-structure of the virtual-processor animating the code has to be passed as a parameter to the wrapper-lib call. 77.196 - 77.197 - 77.198 -\subsection{Interface from top to middle} 77.199 - 77.200 -The interface between application-executable and language-runtime is fixed, as the VMS-primitive that sends a request to the runtime. Even though PStack allows executables to be modified during installation or even runtime, via BLIS management of auto-tuners, multi-stage compilers, or binary re-writers, the VMS-primitive still must be used for the executable to interact with the runtime. 77.201 - 77.202 - 77.203 -Such a standard interaction mechanism serves not only to modularize the stack, cleanly separating runtime from toolchain, but also to decouple executable from VMS implementation. The VMS primitive is naturally a custom instruction, but can also be, a trap to the OS, a message sent on a port, or a function call -- given appropriate executable modification under BLIS. 77.204 - 77.205 -\subsection{Middle layer} 77.206 - 77.207 - 77.208 - 77.209 -VMS causes the middle-layer portion of a runtime to be implemented as two functions. The first is the request-handler, which is the part of a scheduler that handles constraints. It determines which work units (tasks) are ready to be animated (executed). 77.210 - The other function, sched-assigner, assigns ready work to hardware. This provides uniform patterns for the runtimes. 77.211 - 77.212 - 77.213 - 77.214 -When a request is ready for the runtime, VMS calls the request-handler function, and when hardware is free for work, VMS calls the scheduler-assign function. Thus, the language portion of the runtime is passive. 77.215 - 77.216 -By keeping control-flow inside VMS, the language-supplied portion of the runtime is simplified. Control flow includes any concurrency, and so is inside the VMS-implementation. Hence, the language-supplied runtime functions are sequential code, even though they implement the \textit{semantics} of language-level synchronization constructs. This simplifies runtime implementation. 77.217 - 77.218 -This structure is also the reason VMS encourages reuse of scheduler code. Scheduling is sub-divided into distinct modules: constraint-management (IE enforcing dependencies); and assigning work to resources. The assignment module is especially straight-forward to share between languages. 77.219 - 77.220 -Because application performance is most strongly influenced by communication within the hardware, the assignment module is critical. For high performance, it also tends to be complex. Thus, simple reuse of it is a significant benefit. 77.221 - 77.222 - 77.223 -\subsection{Interface from middle to bottom} 77.224 - 77.225 -VMS's plugin API is the interface between the runtime and the bottom abstraction-implementation. The API has calls to register language-supplied runtime functions with the bottom abstraction, as well as support services. 77.226 - 77.227 - 77.228 -Reduction of the number of runtimes is accomplished this way. Hardware targets with similar structure present the same interface, requiring only one runtime. 77.229 - 77.230 -Only structural elements that affect assignment choices are exposed in the API. For example, memory hierarchy is exposed as a VMS-defined data-structure made available to the sched-assign function. The details in the data convey the connectivity, communication, and sizes, which the assigner may use to optimize choices. 77.231 - 77.232 -\subsection{Bottom layer} 77.233 - 77.234 -The bottom layer consists of implementations of the VMS API and VMS primitives used in the upper levels, as well as the control-flow of the runtimes. Each hardware platform has its own implementation, allowing low-level hand-tweaking. This effort is performed once per hardware target, so is amortized across applications. Pulling this tuning below the interface also simplifies the runtime-portion in the middle layer. 77.235 - 77.236 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 77.237 -\section{Experimental Setup} 77.238 -The experiments to measure VMS overhead were run on three machines: a one-socket 2 core 3GHz workstation (``1x2''), a one-socket 4 core SandyBridge 3.3GHz workstation (``1x4''), and a four-socket by 10 core each Westmere EX 2.4GHz server (``4x10''). 77.239 - 77.240 -The code consists of two loops: the innermost is a single task, while the outer repeats that task a number of times. The inner does throw-away work entirely within registers, where the number of iterations sets the amount of work in the task. After the inner completes, a synchronization is performed, which pairs each task to a sync operation. The outer then repeats the sequence of task-then-sync a large number of times to gain statistical accuracy and dominate any other sources of overhead. 77.241 - 77.242 -Two versions of the code were written: one that used pthread, a second that used a VMS-implemented equivalent called Vthread. Both have the same semantics, differing only in the implementation of scheduling triggered by the construct. Hence, any difference in execution time is due to the difference in scheduling overhead. 77.243 - 77.244 -%%%%%%%%%%%%%%%%%%%%%%% 77.245 -\section{Results} 77.246 -The new experimental results given in this paper focus on the overhead of the runtime, with the goal of showing that a language based on VMS enjoys low overhead compared to standard pthreads. We illustrate the amount of overhead by plotting a curve whose shape is determined by the overhead. 77.247 - 77.248 -The curve compares total CPU time to just work time. The difference is the overhead of scheduling, which consists of: switching from application to scheduler; updating the sync-construct state; choosing a new thread to schedule; and deciding on which core to re-animate it. 77.249 - 77.250 -The ratio of total CPU time to work time gets larger as the overhead increases, raising overhead's percent of the total. When the ratio is exactly 2, the work time exactly equals the overhead. Larger ratio indicates overhead dominates, smaller indicates work dominates. 77.251 - 77.252 -Hence, to find the size of the overhead, find the size of task where the work in the task exactly equals the overhead of scheduling the task. To do this, we plot the ratio on the y axis and single-task-time on x axis. When the ratio equals 2, the cycles of work in the task equals the overhead of scheduling the task. So the overhead can be read off the graph, as the task-size at the y=2 point. 77.253 - 77.254 - 77.255 -\subsection{Performance Results} 77.256 - 77.257 -We executed on each of three machines. On a given machine, we first executed the pthread version, then the Vthread version, with a variety of numbers of threads. Varying the number of threads shows the effect on scheduling time. For a given machine, both sets of curves are plotted on the same graph, to make direct comparison easy. 77.258 - 77.259 -\begin{figure}[ht!] 77.260 - \includegraphics[width=2.3in, angle = -90]{plots_exec_vs_task_size/cray1_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps} 77.261 - \caption 77.262 - {$\frac{ExecutionTime} {WorkTime}$ vs $TaskTime$ on the 1x2 machine. It shows results for Vthread and pthread on the same axes, for 8 through 512 threads. The Vthread curves cluster, appearing as the bottom-most, while the pthread curves for 8, 32, and 128 are above it. The results for pthread with 512 threads land outside the plot. 77.263 - } 77.264 -\label{figCray1Results} 77.265 -\end{figure} 77.266 - 77.267 -Figure \ref{figCray1Results} shows results for the 1x2 machine. The curves for Vthread cluster together in the lower-left, indicating that overhead is smaller than for pthread. The tight clustering means that overhead remains constant as the number of threads is increased. 77.268 - 77.269 -The values for overhead per task is read off the graph by finding where the curve crosses $y=2$. This shows that Vthread has around 700 cycles of overhead, while pthread starts at 3800 for 8 threads, goes up to 8200 for 32 threads, and then into the tens of thousands for 128 threads. Not shown is the curve for 512 threads, which has more than 100,000 cycles of overhead. 77.270 - 77.271 - 77.272 -\begin{figure}[ht!] 77.273 - \includegraphics[width=2.2in, angle = -90]{plots_exec_vs_task_size/vms_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps} 77.274 - \caption 77.275 - {$\frac{ExecutionTime} {WorkTime}$ vs $TaskTime$ on the 1x4 machine. The results are similar to Figure \ref{figCray1Results}. 77.276 - } 77.277 -\label{figVMSResults} 77.278 -\end{figure} 77.279 - 77.280 - 77.281 -Figure \ref{figVMSResults} shows similar characteristics on the 1x4 SandyBridge machine. 77.282 - 77.283 - 77.284 -\begin{figure}[ht!] 77.285 - \includegraphics[width=2.2in, angle = -90] 77.286 - {plots_exec_vs_task_size/xoanon_pthread_vthread_40core_80_160_320_640thds__o30000__perfCtrs.eps} 77.287 - \caption 77.288 - {$\frac{ExecutionTime} {WorkTime}$ vs $TaskTime$ on the 4x10 machine. The Vthread results are difficult to see, at the bottom of the plot, while the pthread results appear in the middle. The runs start at 80 threads, which is the number of hardware contexts in the machine. 77.289 - } 77.290 -\label{figXoanonResults} 77.291 -\end{figure} 77.292 - 77.293 - 77.294 -However, things change dramatically on the 4 socket by 10 core-each Westmere machine, seen in Figure \ref{figXoanonResults}. Here, inter-socket communication dominates, and VMS gains orders of magnitude advantage. For one thread per hardware context, Vthread's overhead is around 2000 cycles, while pthread starts at around 50,000 and goes up from there. 77.295 - 77.296 -The implementation of VMS is different on this machine than the single-socket ones, and demonstrates the effectiveness of pulling hardware details below the abstraction. 77.297 - 77.298 -When using the single-socket implementation on the 4x10, the large number of cores and inter-socket communication times causes excessive contention. We solved the problem for the 4x10 machine with an increasing-random-backoff approach. It reduces overhead by an order of magnitude on the 4x10. 77.299 - 77.300 - Without an abstraction like VMS, the language implementers would have to discover and solve such problems separately for each language on each machine. Because this required several weeks, the use of advanced tools, and detailed knowledge of the hardware, the savings for the language-runtime implementers is significant. This is evidence of VMS's ability to reduce middle-layer runtime implementation effort. 77.301 - 77.302 -%\mbox 77.303 -% {\subfigure{\includegraphics[width=2.3in, angle = -90] 77.304 -% {plots_exec_vs_task_size/cray1_pthread_vthread_8_32_128_512thds__o30000__perfCtrs.eps} 77.305 -% }} 77.306 - 77.307 - 77.308 -%$\frac{ExecutionTime} {WorkTime}$ vs $TaskTime$. The smaller the task, the smaller the time between scheduling events. When the ratio reaches 2, the scheduling overhead exactly equals the task time. This shows results for pthreads and for Vthreads on a 1 socket by 2 core PC. 77.309 - 77.310 - 77.311 -\subsection{Implementation Time Results} 77.312 -As seen in a previous paper on VMS\cite{VMSLCPC}, it makes runtime implementation quick and easy. The results are re-printed in Table \ref{tabPersonDaysLang} to support the claim VMS meets the requirement of reducing runtime implementation effort. 77.313 - 77.314 -From previous experience and informal discussions with others, equivalently low-overhead tuned runtimes would take several months. Similar time is also expected to learn the code of a pre-existing multi-threaded highly tuned runtime, then modify, debug and re-tune it. 77.315 - 77.316 -\begin{table}[ht!] 77.317 -\caption 77.318 - {Person-days to design, code, and test each of three sets of parallelism constructs. L.O.C. is lines of (original) C code, excluding libraries and comments. 77.319 - } 77.320 -\label{tabPersonDaysLang} 77.321 -\begin{center} 77.322 -\begin{tabular}{|l|l|l|l|} 77.323 -\cline{1-4} 77.324 - & SSR & Vthread & VCilk 77.325 - \\\cline{1-4} 77.326 - Design & 4 & 1 & 0.5\\ 77.327 - Code & 2 & 0.5 & 0.5\\ 77.328 - Test & 1 & 0.5 & 0.5\\ 77.329 - \cline{1-4} 77.330 - L.O.C. & 470 & 290 & 310 77.331 - \\\cline{1-4} 77.332 - \end{tabular} 77.333 -\end{center} 77.334 -\end{table} 77.335 - 77.336 - 77.337 -%%%%%%%%%%%%%%%%%%%%%% 77.338 -\section{Conclusion} 77.339 -We showed that using VMS as the bottom hardware abstraction in a software stack pulls low-level tuning out of the runtimes, reduces the number of runtime implementations, and encourages reuse of scheduler assignment code across languages. 77.340 - 77.341 - 77.342 -%%%%%%%%%%%%%%%%%%%%%%%% 77.343 - 77.344 - 77.345 -\bibliography{../helpers/bib_for_papers} 77.346 - 77.347 - 77.348 -\end{document} 77.349 -
78.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/latex/Paper_Design.txt Thu Feb 02 12:22:53 2012 -0800 78.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 78.3 @@ -1,21 +0,0 @@ 78.4 - 78.5 - 78.6 -Outline: 78.7 - 78.8 -Motivation: by funnelling from big, broad, already accepted, down to specific of paper. 78.9 -Added detail: Start with universally accepted goal that all agree with -- the HotPar call for papers statement -- build a golden bridge from there to the specific thing want to talk about -- the bottom layer of the portability stack. 78.10 --] state the goal of HotPar 78.11 --] Show how that's same as needing a new software stack 78.12 --] Say proposal for such stack exists 78.13 --] Say paper focuses on bottom layer of stack 78.14 - 78.15 -Desire: inject PStack into the paper, as support -- because can't claim it as a contribution as it has no supporting results. 78.16 -Want to build sub-bridges -- once add structure, there are audience-accepted sub-goals they've seen in practice already. Call those already-known things out, to give audience mental anchors -- then build golden bridges from those to PStack, showing that PStack addresses those anchored concerns/issues/goals 78.17 - 78.18 --] Anchor: Other portability approaches exist (Everyone knows that, asking "so how is this PStack different?" 78.19 ---] Bridge: how PStack differentiates itself 78.20 - 78.21 -Detail: PStack is broader in scope: all langs to all hardware, PStack isn't solution itself, rather it's organizer for all in industry to supply piece by piece the solution; PStack has novel top-level interface and bottom-layer interface that enable all the rest. 78.22 - 78.23 - 78.24 -
79.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/latex/Paper_Design_2.txt Thu Feb 02 12:22:53 2012 -0800 79.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 79.3 @@ -1,32 +0,0 @@ 79.4 - 79.5 -====== 79.6 - 79.7 -Details of VMS interface, details of its impl on multi-core, details of differences on different machines. 79.8 - 79.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. 79.10 - 79.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. 79.12 - 79.13 - 79.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. 79.15 - 79.16 -Hence, VMS is invisible to the application, only language constructs are visible. 79.17 - 79.18 -The wrapper-lib call is standard library code that is loaded along with the application executable. 79.19 - 79.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. 79.21 - 79.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. 79.23 - 79.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. 79.25 - 79.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. 79.27 - 79.28 -The greatest application performance impact due to the scheduler is communication it causes. 79.29 - 79.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. 79.31 - 79.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. 79.33 - 79.34 - 79.35 -
80.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/latex/url.sty Thu Feb 02 12:22:53 2012 -0800 80.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 80.3 @@ -1,325 +0,0 @@ 80.4 -% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@triumf.ca 80.5 -% Copyright 1996-1999 Donald Arseneau, Vancouver, Canada. 80.6 -% This program can be used, distributed, and modified under the terms 80.7 -% of the LaTeX Project Public License. 80.8 -% 80.9 -% A form of \verb that allows linebreaks at certain characters or 80.10 -% combinations of characters, accepts reconfiguration, and can usually 80.11 -% be used in the argument to another command. It is intended for email 80.12 -% addresses, hypertext links, directories/paths, etc., which normally 80.13 -% have no spaces. The font may be selected using the \urlstyle command, 80.14 -% and new url-like commands can be defined using \urldef. 80.15 -% 80.16 -% Usage: Conditions: 80.17 -% \url{ } If the argument contains any "%", "#", or "^^", or ends with 80.18 -% "\", it can't be used in the argument to another command. 80.19 -% The argument must not contain unbalanced braces. 80.20 -% \url| | ...where "|" is any character not used in the argument and not 80.21 -% "{" or a space. The same restrictions as above except that the 80.22 -% argument may contain unbalanced braces. 80.23 -% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 80.24 -% what characters it contains. 80.25 -% 80.26 -% See further instructions after "\endinput" 80.27 -% 80.28 -\def\Url@ttdo{% style assignments for tt fonts or T1 encoding 80.29 -\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]% 80.30 - \do\)\do\,\do\?\do\'\do\+\do\=}% 80.31 -\def\UrlBigBreaks{\do\:\do@url@hyp}% 80.32 -\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary) 80.33 -\def\UrlSpecials{\do\ {\ }}% 80.34 -\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually 80.35 -} 80.36 -\def\Url@do{% style assignments for OT1 fonts except tt 80.37 -\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+\do\=}% 80.38 -\def\UrlBigBreaks{\do\:\do@url@hyp}% 80.39 -\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character 80.40 -\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_% 80.41 - \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do 80.42 - \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do 80.43 - \ {\ }}% 80.44 -\def\UrlOrds{\do\'\do\"\do\-}% 80.45 -} 80.46 -\def\url@ttstyle{% 80.47 -\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo 80.48 -} 80.49 -\def\url@rmstyle{% 80.50 -\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do 80.51 -} 80.52 -\def\url@sfstyle{% 80.53 -\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do 80.54 -} 80.55 -\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else 80.56 - \url@rmstyle \fi \def\UrlFont{}} 80.57 - 80.58 -\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{} 80.59 -\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{} 80.60 - 80.61 -\def\Url{% 80.62 - \begingroup \let\url@moving\relax\relax \endgroup 80.63 - \ifmmode\@nomatherr$\fi 80.64 - \UrlFont $\fam\z@ \textfont\z@\font 80.65 - \let\do\@makeother \dospecials % verbatim catcodes 80.66 - \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces 80.67 - \medmuskip0mu \thickmuskip\medmuskip \thinmuskip\medmuskip 80.68 - \@tempcnta\fam\multiply\@tempcnta\@cclvi 80.69 - \let\do\set@mathcode \UrlOrds % ordinary characters that were special 80.70 - \advance\@tempcnta 8192 \UrlBreaks % bin 80.71 - \advance\@tempcnta 4096 \UrlBigBreaks % rel 80.72 - \advance\@tempcnta 4096 \UrlNoBreaks % open 80.73 - \let\do\set@mathact \UrlSpecials % active 80.74 - \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures 80.75 - \@ifnextchar\bgroup\Url@z\Url@y} 80.76 - 80.77 -\def\Url@y#1{\catcode`{11 \catcode`}11 80.78 - \def\@tempa##1#1{\Url@z{##1}}\@tempa} 80.79 -\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook 80.80 - \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup} 80.81 -\def\Url@Hook{\UrlLeft} 80.82 -\let\UrlRight\@empty 80.83 -\let\UrlLeft\@empty 80.84 - 80.85 -\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@} 80.86 -\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}} 80.87 -\def\set@mathnolig#1{\ifnum\mathcode`#1<32768 80.88 - \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}% 80.89 - \mathcode`#132768 \fi} 80.90 - 80.91 -\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup 80.92 - \def\Url@z{\Url@def{#1}{#2}}#2} 80.93 -\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax 80.94 - \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 80.95 - \def#1{#2{#3}}} 80.96 -\else 80.97 - \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup 80.98 - \DeclareRobustCommand{#1}{#2{#3}}} 80.99 -\fi 80.100 - 80.101 -\def\urlstyle#1{\csname url@#1style\endcsname} 80.102 - 80.103 -% Sample (and default) configuration: 80.104 -% 80.105 -\newcommand\url{\begingroup \Url} 80.106 -% 80.107 -% picTeX defines \path, so declare it optionally: 80.108 -\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{} 80.109 -% 80.110 -% too many styles define \email like \address, so I will not define it. 80.111 -% \newcommand\email{\begingroup \urlstyle{rm}\Url} 80.112 - 80.113 -% Process LaTeX \package options 80.114 -% 80.115 -\urlstyle{tt} 80.116 -\let\Url@sppen\@M 80.117 -\def\do@url@hyp{}% by default, no breaks after hyphens 80.118 - 80.119 -\@ifundefined{ProvidesPackage}{}{ 80.120 - \ProvidesPackage{url}[1999/03/02 \space ver 1.4 \space 80.121 - Verb mode for urls, email addresses, and file names] 80.122 - \DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens 80.123 - \DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later 80.124 - \DeclareOption{spaces}{\let\Url@sppen\relpenalty} 80.125 - \DeclareOption{T1}{\let\Url@do\Url@ttdo} 80.126 - \ProcessOptions 80.127 -\ifx\Url@Hook\relax % [obeyspaces] was declared 80.128 - \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft 80.129 - \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th} 80.130 - \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain} 80.131 - \def\Url@nosp\,#1\Url@retain{} 80.132 -\fi 80.133 -} 80.134 - 80.135 -\edef\url@moving{\csname Url Error\endcsname} 80.136 -\expandafter\edef\url@moving 80.137 - {\csname url used in a moving argument.\endcsname} 80.138 -\expandafter\expandafter\expandafter \let \url@moving\undefined 80.139 - 80.140 -\endinput 80.141 -% 80.142 -% url.sty ver 1.4 02-Mar-1999 Donald Arseneau asnd@reg.triumf.ca 80.143 -% 80.144 -% This package defines "\url", a form of "\verb" that allows linebreaks, 80.145 -% and can often be used in the argument to another command. It can be 80.146 -% configured to print in different formats, and is particularly useful for 80.147 -% hypertext links, email addresses, directories/paths, etc. The font may 80.148 -% be selected using the "\urlstyle" command and pre-defined text can be 80.149 -% stored with the "\urldef" command. New url-like commands can be defined, 80.150 -% and a "\path" command is provided this way. 80.151 -% 80.152 -% Usage: Conditions: 80.153 -% \url{ } If the argument contains any "%", "#", or "^^", or ends with 80.154 -% "\", it can't be used in the argument to another command. 80.155 -% The argument must not contain unbalanced braces. 80.156 -% \url| | ...where "|" is any character not used in the argument and not 80.157 -% "{" or a space. The same restrictions as above except that the 80.158 -% argument may contain unbalanced braces. 80.159 -% \xyz for "\xyz" a defined-url; this can be used anywhere, no matter 80.160 -% what characters it contains. 80.161 -% 80.162 -% The "\url" command is fragile, and its argument is likely to be very 80.163 -% fragile, but a defined-url is robust. 80.164 -% 80.165 -% Package Option: obeyspaces 80.166 -% Ordinarily, all spaces are ignored in the url-text. The "[obeyspaces]" 80.167 -% option allows spaces, but may introduce spurious spaces when a url 80.168 -% containing "\" characters is given in the argument to another command. 80.169 -% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}", 80.170 -% and if you need both spaces and backslashes, use a `defined-url' for 80.171 -% anything with "\". 80.172 -% 80.173 -% Package Option: hyphens 80.174 -% Ordinarily, breaks are not allowed after "-" characters because this 80.175 -% leads to confusion. (Is the "-" part of the address or just a hyphen?) 80.176 -% The package option "[hyphens]" allows breaks after explicit hyphen 80.177 -% characters. The "\url" command will *never ever* hyphenate words. 80.178 -% 80.179 -% Package Option: spaces 80.180 -% Likewise, breaks are not usually allowed after spaces under the 80.181 -% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]" 80.182 -% will allow breaks at those spaces. 80.183 -% 80.184 -% Package Option: T1 80.185 -% This signifies that you will be using T1-encoded fonts which contain 80.186 -% some characters missing from most older (OT1) encoded TeX fonts. This 80.187 -% changes the default definition for "\urlstyle{rm}". 80.188 -% 80.189 -% Defining a defined-url: 80.190 -% Take for example the email address "myself%node@gateway.net" which could 80.191 -% not be given (using "\url" or "\verb") in a caption or parbox due to the 80.192 -% percent sign. This address can be predefined with 80.193 -% \urldef{\myself}\url{myself%node@gateway.net} or 80.194 -% \urldef{\myself}\url|myself%node@gateway.net| 80.195 -% and then you may use "\myself" instead of "\url{myself%node@gateway.net}" 80.196 -% in an argument, and even in a moving argument like a caption because a 80.197 -% defined-url is robust. 80.198 -% 80.199 -% Style: 80.200 -% You can switch the style of printing using "\urlstyle{tt}", where "tt" 80.201 -% can be any defined style. The pre-defined styles are "tt", "rm", "sf", 80.202 -% and "same" which all allow the same linebreaks but different fonts -- 80.203 -% the first three select a specific font and the "same" style uses the 80.204 -% current text font. You can define your own styles with different fonts 80.205 -% and/or line-breaking by following the explanations below. The "\url" 80.206 -% command follows whatever the currently-set style dictates. 80.207 -% 80.208 -% Alternate commands: 80.209 -% It may be desireable to have different things treated differently, each 80.210 -% in a predefined style; e.g., if you want directory paths to always be 80.211 -% in tt and email addresses to be rm, then you would define new url-like 80.212 -% commands as follows: 80.213 -% 80.214 -% \newcommand\email{\begingroup \urlstyle{rm}\Url} 80.215 -% \newcommand\directory{\begingroup \urlstyle{tt}\Url} 80.216 -% 80.217 -% You must follow this format closely, and NOTE that the final command is 80.218 -% "\Url", not "\url". In fact, the "\directory" example is exactly the 80.219 -% "\path" definition which is pre-defined in the package. If you look 80.220 -% above, you will see that "\url" is defined with 80.221 -% \newcommand\url{\begingroup \Url} 80.222 -% I.e., using whatever url-style has been selected. 80.223 -% 80.224 -% You can make a defined-url for these other styles, using the usual 80.225 -% "\urldef" command as in this example: 80.226 -% 80.227 -% \urldef{\myself}{\email}{myself%node.domain@gateway.net} 80.228 -% 80.229 -% which makes "\myself" act like "\email{myself%node.domain@gateway.net}", 80.230 -% if the "\email" command is defined as above. The "\myself" command 80.231 -% would then be robust. 80.232 -% 80.233 -% Defining styles: 80.234 -% Before describing how to customize the printing style, it is best to 80.235 -% mention something about the unusual implementation of "\url". Although 80.236 -% the material is textual in nature, and the font specification required 80.237 -% is a text-font command, the text is actually typeset in *math* mode. 80.238 -% This allows the context-sensitive linebreaking, but also accounts for 80.239 -% the default behavior of ignoring spaces. Now on to defining styles. 80.240 -% 80.241 -% To change the font or the list of characters that allow linebreaks, you 80.242 -% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc. 80.243 -% directly in the document, but it is better to define a new `url-style' 80.244 -% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines 80.245 -% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and 80.246 -% "\UrlFont". 80.247 -% 80.248 -% Changing font: 80.249 -% The "\UrlFont" command selects the font. The definition of "\UrlFont" 80.250 -% done by the pre-defined styles varies to cope with a variety of LaTeX 80.251 -% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}". 80.252 -% Depending on the font selected, some characters may need to be defined 80.253 -% in the "\UrlSpecials" list because many fonts don't contain all the 80.254 -% standard input characters. 80.255 -% 80.256 -% Changing linebreaks: 80.257 -% The list of characters that allow line-breaks is given by "\UrlBreaks" 80.258 -% and "\UrlBigBreaks", which have the format "\do\c" for character "c". 80.259 -% The differences are that `BigBreaks' have a lower penalty and have 80.260 -% different breakpoints when in sequence (as in "http://"): `BigBreaks' 80.261 -% are treated as mathrels while `Breaks' are mathbins (see The TeXbook, 80.262 -% p.170). In particular, a series of `BigBreak' characters will break at 80.263 -% the end and only at the end; a series of `Break' characters will break 80.264 -% after the first and after every following *pair*; there will be no 80.265 -% break after a `Break' character if a `BigBreak' follows. In the case 80.266 -% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' -- 80.267 -% the breaks are the same in either case; but for DECnet nodes with "::" 80.268 -% it is important to prevent breaks *between* the colons, and that is why 80.269 -% colons are `BigBreaks'. 80.270 -% 80.271 -% It is possible for characters to prevent breaks after the next following 80.272 -% character (I use this for parentheses). Specify these in "\UrlNoBreaks". 80.273 -% 80.274 -% You can do arbitrarily complex things with characters by making them 80.275 -% active in math mode (mathcode hex-8000) and specifying the definition(s) 80.276 -% in "\UrlSpecials". This is used in the rm and sf styles for OT1 font 80.277 -% encoding to handle several characters that are not present in those 80.278 -% computer-modern style fonts. See the definition of "\Url@do", which 80.279 -% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing 80.280 -% characters via "\UrlSpecials". The nominal format for setting each 80.281 -% special character "c" is: "\do\c{<definition>}", but you can include 80.282 -% other definitions too. 80.283 -% 80.284 -% 80.285 -% If all this sounds confusing ... well, it is! But I hope you won't need 80.286 -% to redefine breakpoints -- the default assignments seem to work well for 80.287 -% a wide variety of applications. If you do need to make changes, you can 80.288 -% test for breakpoints using regular math mode and the characters "+=(a". 80.289 -% 80.290 -% Yet more flexibility: 80.291 -% You can also customize the verbatim text by defining "\UrlRight" and/or 80.292 -% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "< >", define 80.293 -% 80.294 -% \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}% 80.295 -% \urlstyle{tt}\Url} 80.296 -% 80.297 -% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim. 80.298 -% This lets you use formatting commands there, but you must be careful not 80.299 -% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly. 80.300 -% You can also define "\UrlLeft" to reprocess the verbatim text, but the 80.301 -% format of the definition is special: 80.302 -% 80.303 -% \def\UrlLeft#1\UrlRight{ ... do things with #1 ... } 80.304 -% 80.305 -% Yes, that is "#1" followed by "\UrlRight" then the definition. For 80.306 -% example, to put a hyperTeX hypertext link in the DVI file: 80.307 -% 80.308 -% \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}} 80.309 -% 80.310 -% Using this technique, url.sty can provide a convenient interface for 80.311 -% performing various operations on verbatim text. You don't even need 80.312 -% to print out the argument! For greatest efficiency in such obscure 80.313 -% applications, you can define a null url-style where all the lists like 80.314 -% "\UrlBreaks" are empty. 80.315 -% 80.316 -% Revision History: 80.317 -% ver 1.1 6-Feb-1996: 80.318 -% Fix hyphens that wouldn't break and ligatures that weren't suppressed. 80.319 -% ver 1.2 19-Oct-1996: 80.320 -% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight". 80.321 -% ver 1.3 21-Jul-1997: 80.322 -% Prohibit spaces as delimiter characters; change ascii tilde in OT1. 80.323 -% ver 1.4 02-Mar-1999 80.324 -% LaTeX license; moving-argument-error 80.325 -% The End 80.326 - 80.327 -Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789 80.328 -:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
81.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/latex/usetex-v1-anon.cls Thu Feb 02 12:22:53 2012 -0800 81.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 81.3 @@ -1,363 +0,0 @@ 81.4 -\NeedsTeXFormat{LaTeX2e} 81.5 -\ProvidesClass{usetex-v1-anon}[2002/10/31 v1.2 usetex Usenix article class] 81.6 - 81.7 -% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 81.8 -% 81.9 -% To use this style file, do this: 81.10 -% 81.11 -% \documentclass{usetex-v1} 81.12 -% 81.13 -% The following definitions are modifications of standard article.cls 81.14 -% definitions, arranged to do a better job of matching the Usenix 81.15 -% guidelines. and make for convenient Usenix paper writing 81.16 -% 81.17 -% Choose the appropriate option: 81.18 -% 81.19 -% 1. workingdraft: 81.20 -% 81.21 -% For initial submission and shepherding. Features prominent 81.22 -% date, notice of draft status, page numbers, and annotation 81.23 -% facilities. 81.24 -% 81.25 -% 2. proof: 81.26 -% 81.27 -% A galley proof identical to the final copy except for page 81.28 -% numbering and proof date on the bottom. Annotations are 81.29 -% removed. 81.30 -% 81.31 -% 3. webversion: 81.32 -% 81.33 -% A web-publishable version, uses \docstatus{} to indicate 81.34 -% publication information (where and when paper was published), 81.35 -% and page numbers. 81.36 -% 81.37 -% 4. finalversion: 81.38 -% 81.39 -% The final camera-ready-copy (CRC) version of the paper. 81.40 -% Published in conference proceedings. This doesn't include 81.41 -% page numbers, annotations, or draft status (Usenix adds 81.42 -% headers, footers, and page numbers onto the CRC). 81.43 -% 81.44 -% If several are used, the last one in this list wins 81.45 -% 81.46 - 81.47 -% 81.48 -% In addition, the option "endnotes" permits the use of the 81.49 -% otherwise-disabled, Usenix-deprecated footnote{} command in 81.50 -% documents. In this case, be sure to include a 81.51 -% \makeendnotes command at the end of your document or 81.52 -% the endnotes will not actually appear. 81.53 -% 81.54 - 81.55 -\newif\if@draftcopy \newif\ifworkingdraft 81.56 -\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 81.57 -\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 81.58 -\newif\ifwebversion 81.59 -\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 81.60 -\DeclareOption{finalversion}{} 81.61 -\newif\ifhasendnotes 81.62 -\DeclareOption{endnotes}{\hasendnotestrue} 81.63 - 81.64 -% pass all other options to the article class 81.65 -\DeclareOption*{% 81.66 - \PassOptionsToClass{\CurrentOption}{article}% 81.67 -} 81.68 - 81.69 -% actually process the options 81.70 -\ProcessOptions 81.71 - 81.72 -% usetex is based on article 81.73 -\LoadClass[twocolumn]{article} 81.74 - 81.75 -% Footnotes are not currently allowed, but 81.76 -% endnotes (while a bad idea) are. 81.77 -\ifhasendnotes 81.78 - \RequirePackage{endnotes} 81.79 -\fi 81.80 - 81.81 -% save any provided document status information 81.82 -\def\@docstatus{} 81.83 -\def\docstatus#1{\gdef\@docstatus{#1}} 81.84 - 81.85 -\ifworkingdraft 81.86 - 81.87 - % formatting helper for draft notes 81.88 - \newcommand{\@noteleader[1]}{% 81.89 - {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 81.90 - \bfseries\itshape 81.91 - } 81.92 - 81.93 - % put a small anonymous editing note in the draft copy 81.94 - \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 81.95 - 81.96 - % put a small attributed editing note in the draft copy 81.97 - \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 81.98 - 81.99 - % put an attributed editing note paragraph in the draft copy 81.100 - \newenvironment{ednote}[1] 81.101 - {\newcommand{\who}{#1}\@noteleader[\who]} 81.102 - 81.103 - % mark a spot where work has been left off for later 81.104 - \newcommand{\HERE}{% 81.105 - {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 81.106 - 81.107 -\else 81.108 - 81.109 - % dummy versions of editing commands to produce warnings 81.110 - 81.111 - \newcommand{\edannote}[1]{\@latex@warning 81.112 - {Leftover edannote command in final version ignored}} 81.113 - 81.114 - \newcommand{\edatnote}[1]{\@latex@warning 81.115 - {Leftover edatnote command in final version ignored}} 81.116 - 81.117 - \newsavebox{\@discard} 81.118 - \newenvironment{ednote}[1]{\@latex@warning 81.119 - {Leftover ednote environment in final version ignored}% 81.120 - \begin{lrbox}{\@discard}}{\end{lrbox}} 81.121 - 81.122 - \newcommand{\HERE}{\@latex@warning 81.123 - {Leftover HERE command in final version ignored}} 81.124 - 81.125 -\fi 81.126 - 81.127 -% set up the footers appropriately 81.128 -\def\@setfoot{% 81.129 - \ifwebversion 81.130 - % webversions get whatever status the author says 81.131 - \gdef\@evenfoot{\@docstatus \hfil \thepage}% 81.132 - \else 81.133 - % all other drafts get the standard draft footer 81.134 - \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 81.135 - \fi 81.136 - \gdef\@oddfoot{\@evenfoot}% 81.137 -} 81.138 - 81.139 -% 81.140 -% Usenix wants no page numbers for submitted papers, so that 81.141 -% they can number them themselves. Drafts should have 81.142 -% numbered pages, so they can be edited. 81.143 -% 81.144 -\if@draftcopy 81.145 - % Compute a date and time for the draft for use 81.146 - % either in \@setfoot (proof) or in \maketitle (workingdraft) 81.147 - % 81.148 - % Time code adapted from custom-bib/makebst.tex 81.149 - % Copyright 1993-1999 Patrick W Daly 81.150 - % Max-Planck-Institut f\"ur Aeronomie 81.151 - % E-mail: daly@linmp.mpg.de 81.152 - \newcount\hour 81.153 - \hour=\time 81.154 - \divide\hour by 60 81.155 - \newcount\minute 81.156 - \minute=\hour 81.157 - \multiply\minute by 60 81.158 - \advance\minute by -\time 81.159 - \multiply\minute by -1 81.160 - \newcommand{\@draftdate} 81.161 - {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 81.162 - ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 81.163 - \pagestyle{plain} 81.164 - \@setfoot 81.165 -\else 81.166 - \pagestyle{empty} 81.167 -\fi 81.168 - 81.169 -% Times-Roman font is nice if you can get it (requires NFSS, 81.170 -% which is in latex2e). 81.171 -\usepackage{times} 81.172 - 81.173 -% endnote support, as described at 81.174 -% http://www.lyx.org/help/footnotes.php 81.175 -\ifhasendnotes 81.176 - \typeout 81.177 - {Warning: endnotes support is deprecated (see documentation for details)} 81.178 - \let\footnote=\endnote 81.179 - \def\enoteformat{\rightskip\z@ \leftskip\z@ 81.180 - \parindent=0pt\parskip=\baselineskip 81.181 - \@theenmark. } 81.182 - \newcommand{\makeendnotes}{ 81.183 - \begingroup 81.184 - \def\enotesize{\normalsize} 81.185 - \theendnotes 81.186 - \endgroup 81.187 - } 81.188 -\else 81.189 - \long\gdef\footnote{\@latex@error 81.190 - {Deprecated footnote command (see documentation for details)}} 81.191 - \long\gdef\endnote{\@latex@error 81.192 - {Deprecated endnote command (see documentation for details)}} 81.193 -\fi 81.194 - 81.195 -% 81.196 -% Usenix margins 81.197 -% Gives active areas of 6.45" x 9.0" 81.198 -% 81.199 -\setlength{\textheight}{9.0in} 81.200 -\setlength{\columnsep}{0.25in} 81.201 -\setlength{\textwidth}{6.45in} 81.202 -%\setlength{\footskip}{0.0in} 81.203 -%\setlength{\footheight}{0.0in} 81.204 -\setlength{\topmargin}{0.0in} 81.205 -\setlength{\headheight}{0.0in} 81.206 -\setlength{\headsep}{0.0in} 81.207 -\setlength{\evensidemargin}{0.0in} 81.208 -\setlength{\oddsidemargin}{0.0in} 81.209 -\setlength{\marginparsep}{1.5em} 81.210 -\setlength{\marginparwidth}{0.35in} 81.211 - 81.212 -% The standard maketitle insists on 81.213 -% messing with the style of the first page. 81.214 -% Thus, we will wrap maketitle with code to put 81.215 -% things right again. 81.216 -\let \save@maketitle=\maketitle 81.217 -\def\maketitle{ 81.218 - \save@maketitle 81.219 - \if@draftcopy 81.220 - \@specialpagefalse 81.221 - \else 81.222 - \thispagestyle{empty} 81.223 - \fi 81.224 -} 81.225 - 81.226 -% 81.227 -% Usenix titles are in 14-point bold type, with no date, and with no 81.228 -% change in the empty page headers. The author section is 81.229 -% 12 point roman and italic: see below. 81.230 -% 81.231 -\def\@maketitle{% 81.232 - \newpage 81.233 - \null 81.234 -% \vskip 3ex% 81.235 - \begin{center}% 81.236 -% \let \footnote \thanks 81.237 - {\Large \bf \@title \par}% % use 14 pt bold 81.238 -% \vskip 2ex% 81.239 - {\large 81.240 -% \lineskip .5ex% 81.241 -% \begin{tabular}[t]{c}% 81.242 -% \@author 81.243 -% \end{tabular}\par 81.244 - }% 81.245 - \ifworkingdraft 81.246 - \vskip 0.5ex 81.247 - \textbf{Draft of \@draftdate} 81.248 - \vskip 0.5ex 81.249 - \fi 81.250 - \ifwebversion 81.251 - \vskip 0.5ex 81.252 - \textit{Authors and affiliation elided for review.} 81.253 - \vskip 0.5ex 81.254 - \fi 81.255 - \end{center}% 81.256 - \par 81.257 -% \vskip 2ex 81.258 -} 81.259 - 81.260 -% 81.261 -% The author section 81.262 -% should have names in Roman, address in 81.263 -% italic, e-mail/http in typewriter. 81.264 -% This is enforced by use of these macros 81.265 -% 81.266 -\def\authname#1{{#1}\\} 81.267 -\def\authaddr#1{\itshape{#1}\\} 81.268 -\def\authurl#1{{\normalsize #1}\\} 81.269 - 81.270 -% 81.271 -% The abstract is preceded by a 12-pt bold centered heading 81.272 -% 81.273 -\def\abstract{\begin{center}% 81.274 - {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 81.275 - \end{center}} 81.276 -\def\endabstract{} 81.277 - 81.278 -% 81.279 -% Main section titles are 12-pt bold. Lower divisions can 81.280 -% be same size or smaller: we choose same. 81.281 -% Main section leading is tight. Subsection leading is even 81.282 -% slightly tighter. All lower divisions are formatted like subsections. 81.283 -% 81.284 -\newcommand\@sectionfont{\reset@font\large\bf} 81.285 -\newlength\@sectionaboveskip 81.286 -\setlength\@sectionaboveskip{-0.7\baselineskip 81.287 - plus -0.1\baselineskip 81.288 - minus -0.1\baselineskip} 81.289 -\newlength\@sectionbelowskip 81.290 -\setlength\@sectionbelowskip{0.3\baselineskip 81.291 - plus 0.1\baselineskip} 81.292 -\newlength\@subsectionaboveskip 81.293 -\setlength\@subsectionaboveskip{-0.5\baselineskip 81.294 - plus -0.1\baselineskip} 81.295 -\renewcommand\section{\@startsection {section}{1}{\z@}% 81.296 - {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 81.297 -\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 81.298 - {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 81.299 -\renewcommand\subsection{\@gensubsection{subsection}{2}} 81.300 -\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 81.301 -%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 81.302 -%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 81.303 -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 81.304 - {1.25ex \@plus 0.2ex \@minus 0.2ex}% 81.305 - {-1.0em}% 81.306 - {\normalfont\normalsize\bfseries}} 81.307 -\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 81.308 - {1.25ex \@plus 0.2ex \@minus 0.2ex}% 81.309 - {-1.0em}% 81.310 - {\normalfont\normalsize\bfseries}} 81.311 - 81.312 -% List items need to be tightened up. 81.313 -% There must be a better way than copying 81.314 -% the definitions to modify the list environment... 81.315 -\def\@itemspacings{\listparindent=\parindent 81.316 - \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 81.317 -% now make envs use itemspacings 81.318 -\def\itemize{% 81.319 - \ifnum \@itemdepth >\thr@@\@toodeep\else 81.320 - \advance\@itemdepth\@ne 81.321 - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 81.322 - \expandafter 81.323 - \list 81.324 - \csname\@itemitem\endcsname 81.325 - {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 81.326 - \fi} 81.327 -\def\enumerate{% 81.328 - \ifnum \@enumdepth >\thr@@\@toodeep\else 81.329 - \advance\@enumdepth\@ne 81.330 - \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 81.331 - \expandafter 81.332 - \list 81.333 - \csname label\@enumctr\endcsname 81.334 - {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 81.335 - \fi} 81.336 -\def\description{% 81.337 - \list{}{\labelwidth\z@ \itemindent-\leftmargin 81.338 - \@itemspacings\let\makelabel\descriptionlabel}} 81.339 - 81.340 -% Bibliography items need to be tightened up. 81.341 -% Again, there must be a better way than copying 81.342 -% the definitions to modify the list environment... 81.343 -\def\thebibliography#1% 81.344 - {\section*{\refname}% 81.345 - \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 81.346 - \list{\@biblabel{\@arabic\c@enumiv}}% 81.347 - {\settowidth\labelwidth{\@biblabel{#1}}% 81.348 - \leftmargin\labelwidth 81.349 - \advance\leftmargin\labelsep 81.350 - \@openbib@code 81.351 - \usecounter{enumiv}% 81.352 - \let\p@enumiv\@empty 81.353 - \renewcommand\theenumiv{\@arabic\c@enumiv}% 81.354 - \parsep=0pt}% pack entries 81.355 - \sloppy 81.356 - \hbadness=8000% mostly don't whine about bibliography fmt 81.357 - \clubpenalty=4000% 81.358 - \@clubpenalty=\clubpenalty 81.359 - \widowpenalty=4000% 81.360 - \sfcode`\.\@m} 81.361 - 81.362 -% Floating bodies need to be tightened up. 81.363 -\setlength\textfloatsep{14pt plus 2pt} 81.364 -\setlength\dbltextfloatsep{\textfloatsep} 81.365 -\setlength\intextsep{0.8\textfloatsep} 81.366 -\setlength\abovecaptionskip{8pt minus 2pt}
82.1 --- a/0__Papers/VMS/VMS__Foundation_Paper/HotPar_2012/latex/usetex-v1.cls Thu Feb 02 12:22:53 2012 -0800 82.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 82.3 @@ -1,357 +0,0 @@ 82.4 -\NeedsTeXFormat{LaTeX2e} 82.5 -\ProvidesClass{usetex-v1}[2002/10/31 v1.2 usetex Usenix article class] 82.6 - 82.7 -% usetex-v1.cls - to be used with LaTeX2e for Usenix articles 82.8 -% 82.9 -% To use this style file, do this: 82.10 -% 82.11 -% \documentclass{usetex-v1} 82.12 -% 82.13 -% The following definitions are modifications of standard article.cls 82.14 -% definitions, arranged to do a better job of matching the Usenix 82.15 -% guidelines. and make for convenient Usenix paper writing 82.16 -% 82.17 -% Choose the appropriate option: 82.18 -% 82.19 -% 1. workingdraft: 82.20 -% 82.21 -% For initial submission and shepherding. Features prominent 82.22 -% date, notice of draft status, page numbers, and annotation 82.23 -% facilities. 82.24 -% 82.25 -% 2. proof: 82.26 -% 82.27 -% A galley proof identical to the final copy except for page 82.28 -% numbering and proof date on the bottom. Annotations are 82.29 -% removed. 82.30 -% 82.31 -% 3. webversion: 82.32 -% 82.33 -% A web-publishable version, uses \docstatus{} to indicate 82.34 -% publication information (where and when paper was published), 82.35 -% and page numbers. 82.36 -% 82.37 -% 4. finalversion: 82.38 -% 82.39 -% The final camera-ready-copy (CRC) version of the paper. 82.40 -% Published in conference proceedings. This doesn't include 82.41 -% page numbers, annotations, or draft status (Usenix adds 82.42 -% headers, footers, and page numbers onto the CRC). 82.43 -% 82.44 -% If several are used, the last one in this list wins 82.45 -% 82.46 - 82.47 -% 82.48 -% In addition, the option "endnotes" permits the use of the 82.49 -% otherwise-disabled, Usenix-deprecated footnote{} command in 82.50 -% documents. In this case, be sure to include a 82.51 -% \makeendnotes command at the end of your document or 82.52 -% the endnotes will not actually appear. 82.53 -% 82.54 - 82.55 -\newif\if@draftcopy \newif\ifworkingdraft 82.56 -\DeclareOption{workingdraft}{\workingdrafttrue\@draftcopytrue} 82.57 -\newif\ifproof \DeclareOption{proof}{\prooftrue\@draftcopytrue} 82.58 -\newif\ifwebversion 82.59 -\DeclareOption{webversion}{\prooftrue\webversiontrue\@draftcopytrue} 82.60 -\DeclareOption{finalversion}{} 82.61 -\newif\ifhasendnotes 82.62 -\DeclareOption{endnotes}{\hasendnotestrue} 82.63 - 82.64 -% pass all other options to the article class 82.65 -\DeclareOption*{% 82.66 - \PassOptionsToClass{\CurrentOption}{article}% 82.67 -} 82.68 - 82.69 -% actually process the options 82.70 -\ProcessOptions 82.71 - 82.72 -% usetex is based on article 82.73 -\LoadClass[twocolumn]{article} 82.74 - 82.75 -% Footnotes are not currently allowed, but 82.76 -% endnotes (while a bad idea) are. 82.77 -\ifhasendnotes 82.78 - \RequirePackage{endnotes} 82.79 -\fi 82.80 - 82.81 -% save any provided document status information 82.82 -\def\@docstatus{} 82.83 -\def\docstatus#1{\gdef\@docstatus{#1}} 82.84 - 82.85 -\ifworkingdraft 82.86 - 82.87 - % formatting helper for draft notes 82.88 - \newcommand{\@noteleader[1]}{% 82.89 - {\marginpar{\framebox{\scriptsize\textbf{#1}}}}% 82.90 - \bfseries\itshape 82.91 - } 82.92 - 82.93 - % put a small anonymous editing note in the draft copy 82.94 - \newcommand{\edannote}[1]{{\@noteleader[note] (#1)}} 82.95 - 82.96 - % put a small attributed editing note in the draft copy 82.97 - \newcommand{\edatnote}[2]{{\@noteleader[#1] #2}} 82.98 - 82.99 - % put an attributed editing note paragraph in the draft copy 82.100 - \newenvironment{ednote}[1] 82.101 - {\newcommand{\who}{#1}\@noteleader[\who]} 82.102 - 82.103 - % mark a spot where work has been left off for later 82.104 - \newcommand{\HERE}{% 82.105 - {\mbox{}\marginpar{\framebox{\textbf{here}}}}{\bf\ldots}} 82.106 - 82.107 -\else 82.108 - 82.109 - % dummy versions of editing commands to produce warnings 82.110 - 82.111 - \newcommand{\edannote}[1]{\@latex@warning 82.112 - {Leftover edannote command in final version ignored}} 82.113 - 82.114 - \newcommand{\edatnote}[1]{\@latex@warning 82.115 - {Leftover edatnote command in final version ignored}} 82.116 - 82.117 - \newsavebox{\@discard} 82.118 - \newenvironment{ednote}[1]{\@latex@warning 82.119 - {Leftover ednote environment in final version ignored}% 82.120 - \begin{lrbox}{\@discard}}{\end{lrbox}} 82.121 - 82.122 - \newcommand{\HERE}{\@latex@warning 82.123 - {Leftover HERE command in final version ignored}} 82.124 - 82.125 -\fi 82.126 - 82.127 -% set up the footers appropriately 82.128 -\def\@setfoot{% 82.129 - \ifwebversion 82.130 - % webversions get whatever status the author says 82.131 - \gdef\@evenfoot{\@docstatus \hfil \thepage}% 82.132 - \else 82.133 - % all other drafts get the standard draft footer 82.134 - \gdef\@evenfoot{\textbf{Draft:} \@draftdate\hfil \textbf{Page:} \thepage}% 82.135 - \fi 82.136 - \gdef\@oddfoot{\@evenfoot}% 82.137 -} 82.138 - 82.139 -% 82.140 -% Usenix wants no page numbers for submitted papers, so that 82.141 -% they can number them themselves. Drafts should have 82.142 -% numbered pages, so they can be edited. 82.143 -% 82.144 -\if@draftcopy 82.145 - % Compute a date and time for the draft for use 82.146 - % either in \@setfoot (proof) or in \maketitle (workingdraft) 82.147 - % 82.148 - % Time code adapted from custom-bib/makebst.tex 82.149 - % Copyright 1993-1999 Patrick W Daly 82.150 - % Max-Planck-Institut f\"ur Aeronomie 82.151 - % E-mail: daly@linmp.mpg.de 82.152 - \newcount\hour 82.153 - \hour=\time 82.154 - \divide\hour by 60 82.155 - \newcount\minute 82.156 - \minute=\hour 82.157 - \multiply\minute by 60 82.158 - \advance\minute by -\time 82.159 - \multiply\minute by -1 82.160 - \newcommand{\@draftdate} 82.161 - {{\the\year/\/\two@digits{\the\month}/\/\two@digits{\the\day}% 82.162 - ~\two@digits{\the\hour}:\two@digits{\the\minute}}} 82.163 - \pagestyle{plain} 82.164 - \@setfoot 82.165 -\else 82.166 - \pagestyle{empty} 82.167 -\fi 82.168 - 82.169 -% Times-Roman font is nice if you can get it (requires NFSS, 82.170 -% which is in latex2e). 82.171 -\usepackage{times} 82.172 - 82.173 -% endnote support, as described at 82.174 -% http://www.lyx.org/help/footnotes.php 82.175 -\ifhasendnotes 82.176 - \typeout 82.177 - {Warning: endnotes support is deprecated (see documentation for details)} 82.178 - \let\footnote=\endnote 82.179 - \def\enoteformat{\rightskip\z@ \leftskip\z@ 82.180 - \parindent=0pt\parskip=\baselineskip 82.181 - \@theenmark. } 82.182 - \newcommand{\makeendnotes}{ 82.183 - \begingroup 82.184 - \def\enotesize{\normalsize} 82.185 - \theendnotes 82.186 - \endgroup 82.187 - } 82.188 -\else 82.189 - \long\gdef\footnote{\@latex@error 82.190 - {Deprecated footnote command (see documentation for details)}} 82.191 - \long\gdef\endnote{\@latex@error 82.192 - {Deprecated endnote command (see documentation for details)}} 82.193 -\fi 82.194 - 82.195 -% 82.196 -% Usenix margins 82.197 -% Gives active areas of 6.45" x 9.0" 82.198 -% 82.199 -\setlength{\textheight}{9.0in} 82.200 -\setlength{\columnsep}{0.25in} 82.201 -\setlength{\textwidth}{6.45in} 82.202 -%\setlength{\footskip}{0.0in} 82.203 -%\setlength{\footheight}{0.0in} 82.204 -\setlength{\topmargin}{0.0in} 82.205 -\setlength{\headheight}{0.0in} 82.206 -\setlength{\headsep}{0.0in} 82.207 -\setlength{\evensidemargin}{0.0in} 82.208 -\setlength{\oddsidemargin}{0.0in} 82.209 -\setlength{\marginparsep}{1.5em} 82.210 -\setlength{\marginparwidth}{0.35in} 82.211 - 82.212 -% The standard maketitle insists on 82.213 -% messing with the style of the first page. 82.214 -% Thus, we will wrap maketitle with code to put 82.215 -% things right again. 82.216 -\let \save@maketitle=\maketitle 82.217 -\def\maketitle{ 82.218 - \save@maketitle 82.219 - \if@draftcopy 82.220 - \@specialpagefalse 82.221 - \else 82.222 - \thispagestyle{empty} 82.223 - \fi 82.224 -} 82.225 - 82.226 -% 82.227 -% Usenix titles are in 14-point bold type, with no date, and with no 82.228 -% change in the empty page headers. The author section is 82.229 -% 12 point roman and italic: see below. 82.230 -% 82.231 -\def\@maketitle{% 82.232 - \newpage 82.233 - \null 82.234 - \vskip 3ex% 82.235 - \begin{center}% 82.236 - \let \footnote \thanks 82.237 - {\Large \bf \@title \par}% % use 14 pt bold 82.238 - \vskip 2ex% 82.239 - {\large 82.240 - \lineskip .5ex% 82.241 - \begin{tabular}[t]{c}% 82.242 - \@author 82.243 - \end{tabular}\par}% 82.244 - \ifworkingdraft 82.245 - \vskip 3ex \textbf{Draft of \@draftdate} \vskip 3ex 82.246 - \fi 82.247 - \ifwebversion 82.248 - \vskip 3ex \textbf{\@docstatus} \vskip 3ex 82.249 - \fi 82.250 - \end{center}% 82.251 - \par 82.252 - \vskip 2ex} 82.253 - 82.254 -% 82.255 -% The author section 82.256 -% should have names in Roman, address in 82.257 -% italic, e-mail/http in typewriter. 82.258 -% This is enforced by use of these macros 82.259 -% 82.260 -\def\authname#1{{#1}\\} 82.261 -\def\authaddr#1{\itshape{#1}\\} 82.262 -\def\authurl#1{{\normalsize #1}\\} 82.263 - 82.264 -% 82.265 -% The abstract is preceded by a 12-pt bold centered heading 82.266 -% 82.267 -\def\abstract{\begin{center}% 82.268 - {\large\bf \abstractname\vspace{-.5ex}\vspace{\z@}}% 82.269 - \end{center}} 82.270 -\def\endabstract{} 82.271 - 82.272 -% 82.273 -% Main section titles are 12-pt bold. Lower divisions can 82.274 -% be same size or smaller: we choose same. 82.275 -% Main section leading is tight. Subsection leading is even 82.276 -% slightly tighter. All lower divisions are formatted like subsections. 82.277 -% 82.278 -\newcommand\@sectionfont{\reset@font\large\bf} 82.279 -\newlength\@sectionaboveskip 82.280 -\setlength\@sectionaboveskip{-0.7\baselineskip 82.281 - plus -0.1\baselineskip 82.282 - minus -0.1\baselineskip} 82.283 -\newlength\@sectionbelowskip 82.284 -\setlength\@sectionbelowskip{0.3\baselineskip 82.285 - plus 0.1\baselineskip} 82.286 -\newlength\@subsectionaboveskip 82.287 -\setlength\@subsectionaboveskip{-0.5\baselineskip 82.288 - plus -0.1\baselineskip} 82.289 -\renewcommand\section{\@startsection {section}{1}{\z@}% 82.290 - {\@sectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 82.291 -\newcommand\@gensubsection[2]{\@startsection {#1}{#2}{\z@}% 82.292 - {\@subsectionaboveskip}{\@sectionbelowskip}{\@sectionfont}} 82.293 -\renewcommand\subsection{\@gensubsection{subsection}{2}} 82.294 -\renewcommand\subsubsection{\@gensubsection{subsubsection}{3}} 82.295 -%\renewcommand\paragraph{\@gensubsection{paragraph}{4}} 82.296 -%\renewcommand\subparagraph{\@gensubsection{subparagaph}{5}} 82.297 -\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 82.298 - {1.25ex \@plus 0.2ex \@minus 0.2ex}% 82.299 - {-1.0em}% 82.300 - {\normalfont\normalsize\bfseries}} 82.301 -\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% 82.302 - {1.25ex \@plus 0.2ex \@minus 0.2ex}% 82.303 - {-1.0em}% 82.304 - {\normalfont\normalsize\bfseries}} 82.305 - 82.306 -% List items need to be tightened up. 82.307 -% There must be a better way than copying 82.308 -% the definitions to modify the list environment... 82.309 -\def\@itemspacings{\listparindent=\parindent 82.310 - \parsep=0pt\topsep=0.3\baselineskip\partopsep=0pt\itemsep=0pt} 82.311 -% now make envs use itemspacings 82.312 -\def\itemize{% 82.313 - \ifnum \@itemdepth >\thr@@\@toodeep\else 82.314 - \advance\@itemdepth\@ne 82.315 - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% 82.316 - \expandafter 82.317 - \list 82.318 - \csname\@itemitem\endcsname 82.319 - {\@itemspacings\def\makelabel##1{\hss\llap{##1}}}% 82.320 - \fi} 82.321 -\def\enumerate{% 82.322 - \ifnum \@enumdepth >\thr@@\@toodeep\else 82.323 - \advance\@enumdepth\@ne 82.324 - \edef\@enumctr{enum\romannumeral\the\@enumdepth}% 82.325 - \expandafter 82.326 - \list 82.327 - \csname label\@enumctr\endcsname 82.328 - {\@itemspacings\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}}% 82.329 - \fi} 82.330 -\def\description{% 82.331 - \list{}{\labelwidth\z@ \itemindent-\leftmargin 82.332 - \@itemspacings\let\makelabel\descriptionlabel}} 82.333 - 82.334 -% Bibliography items need to be tightened up. 82.335 -% Again, there must be a better way than copying 82.336 -% the definitions to modify the list environment... 82.337 -\def\thebibliography#1% 82.338 - {\section*{\refname}% 82.339 - \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}% 82.340 - \list{\@biblabel{\@arabic\c@enumiv}}% 82.341 - {\settowidth\labelwidth{\@biblabel{#1}}% 82.342 - \leftmargin\labelwidth 82.343 - \advance\leftmargin\labelsep 82.344 - \@openbib@code 82.345 - \usecounter{enumiv}% 82.346 - \let\p@enumiv\@empty 82.347 - \renewcommand\theenumiv{\@arabic\c@enumiv}% 82.348 - \parsep=0pt}% pack entries 82.349 - \sloppy 82.350 - \hbadness=8000% mostly don't whine about bibliography fmt 82.351 - \clubpenalty=4000% 82.352 - \@clubpenalty=\clubpenalty 82.353 - \widowpenalty=4000% 82.354 - \sfcode`\.\@m} 82.355 - 82.356 -% Floating bodies need to be tightened up. 82.357 -\setlength\textfloatsep{14pt plus 2pt} 82.358 -\setlength\dbltextfloatsep{\textfloatsep} 82.359 -\setlength\intextsep{0.8\textfloatsep} 82.360 -\setlength\abovecaptionskip{8pt minus 2pt}
83.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 83.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Scheduling_states_2.eps Sun Mar 11 09:26:44 2012 -0700 83.3 @@ -0,0 +1,460 @@ 83.4 +%!PS-Adobe-3.0 EPSF-3.0 83.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 83.6 +%%CreationDate: Sat Nov 13 08:19:40 2010 83.7 +%%Pages: 1 83.8 +%%BoundingBox: 0 0 196 77 83.9 +%%DocumentData: Clean7Bit 83.10 +%%LanguageLevel: 2 83.11 +%%EndComments 83.12 +%%BeginProlog 83.13 +/cairo_eps_state save def 83.14 +/dict_count countdictstack def 83.15 +/op_count count 1 sub def 83.16 +userdict begin 83.17 +/q { gsave } bind def 83.18 +/Q { grestore } bind def 83.19 +/cm { 6 array astore concat } bind def 83.20 +/w { setlinewidth } bind def 83.21 +/J { setlinecap } bind def 83.22 +/j { setlinejoin } bind def 83.23 +/M { setmiterlimit } bind def 83.24 +/d { setdash } bind def 83.25 +/m { moveto } bind def 83.26 +/l { lineto } bind def 83.27 +/c { curveto } bind def 83.28 +/h { closepath } bind def 83.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 83.30 + 0 exch rlineto 0 rlineto closepath } bind def 83.31 +/S { stroke } bind def 83.32 +/f { fill } bind def 83.33 +/f* { eofill } bind def 83.34 +/B { fill stroke } bind def 83.35 +/B* { eofill stroke } bind def 83.36 +/n { newpath } bind def 83.37 +/W { clip } bind def 83.38 +/W* { eoclip } bind def 83.39 +/BT { } bind def 83.40 +/ET { } bind def 83.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 83.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 83.43 + /cleartomark load def end } ifelse 83.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 83.45 +/EMC { mark /EMC pdfmark } bind def 83.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 83.47 +/Tj { show currentpoint cairo_store_point } bind def 83.48 +/TJ { 83.49 + { 83.50 + dup 83.51 + type /stringtype eq 83.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 83.53 + } forall 83.54 + currentpoint cairo_store_point 83.55 +} bind def 83.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 83.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 83.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 83.59 + { pop cairo_selectfont } if } bind def 83.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 83.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 83.62 + /cairo_font where { pop cairo_selectfont } if } bind def 83.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 83.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 83.65 +/g { setgray } bind def 83.66 +/rg { setrgbcolor } bind def 83.67 +/d1 { setcachedevice } bind def 83.68 +%%EndProlog 83.69 +%%Page: 1 1 83.70 +%%BeginPageSetup 83.71 +%%PageBoundingBox: 0 0 196 77 83.72 +%%EndPageSetup 83.73 +q 83.74 +Q q 83.75 +q 0 0 197 77 rectclip 83.76 +% Fallback Image: x=0, y=0, w=196, h=76 res=300dpi size=776967 83.77 +[ 0.24 0 0 0.24 0 0.916468 ] concat 83.78 +/DeviceRGB setcolorspace 83.79 +8 dict dup begin 83.80 + /ImageType 1 def 83.81 + /Width 817 def 83.82 + /Height 317 def 83.83 + /BitsPerComponent 8 def 83.84 + /Decode [ 0 1 0 1 0 1 ] def 83.85 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 83.86 + /ImageMatrix [ 1 0 0 -1 0 317 ] def 83.87 +end 83.88 +image 83.89 +J3I@:GU(oO"FIqV0;rCK*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 83.90 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`A'g"%<TR;.<aa6d`HE,+YZP^B4!g 83.91 + 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 83.92 + _Aoh+fk'&t\ctI:h]"?)EVlIDd]!t-Xh$Ve"[JLu9_eZN2gNOTbQKrP([VkioDBB7=[,UR, 83.93 + Hi@$GNQ^C&p\W4]93o[!Fh+rPIlj(Jn9-kkY-14!k3ht)5*"HoRH<m_r]WPZbLQ=\HN&Dt^ 83.94 + XMoO5Hj,<r%.;1#6R5q'GCO!c[3P"3fin8!'p!h(Bd%.<&4_0Y]I&S^9EhP$:=6h2[i'Xe5 83.95 + Hi.ORs\,]MULe&O`lL:DH='_T*?\/t?>d]TK".)b+h3HQG[sd`!J'DZ"t[_D3s3(.rT]M^h 83.96 + <(_S[]nEccj\7PZ6M.8)G'`o"._.^6"^W"Ppcc4c/u3R3him5rW-bk4-FPO/64ckHom6-ti 83.97 + J%7AMW9b)h,-_jSiSuV&ELS'g5/:Q%^br&5DeEnb\e.gFr;4j*_9i=p_2*k2@[8f4f<AenT 83.98 + <`W38;-MOnKj.e_Q,3?(f9Om7?e4oCJQgZ*h2u1!2'n#gg%K!DB3<_"X(keF*MZ_@G1Ed7> 83.99 + ;haXA))8C?"dI7ot,?P2T;S5?2%pJG?hVRcZ<)f7H[>"\)m@0?8V'$JR>njlZch42=GEj[T 83.100 + 4&n?hf?XIq!P\.u@^0VDF-?GfCPQA,''qCLT7E23?\J*`H"p).jbLiOLj8QXgt7CRShB%EX 83.101 + iFq6k?EkOj:*SRe,%AVXodSr'0))J4\okLfL'T'%#7D6$`!`A)dSfo@#OBmIG1V.mMqX0?E 83.102 + InfEH^'PuKNd`;(C\aGrimCVg+cLnm>S*p6in/MrB_=3sJ%E%]U:DLk=S8TFgnf3]:amtt* 83.103 + /^*`*cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu>q+ssgKcl$loZ@-jp`9s"i 83.104 + V8utNT9gU:R1&;So:1_qAt]ol2%!TXm>j*caE0;T'sA]r#ZHgnbf"4c1ClU:Y#.:T5WQ[rZ 83.105 + @3_q>R"imJHo*ch78:TC;^Xhuj(2:F3QNPpBD[Js(>X@KF9s*<Y5Q&V<hS$:.cG"lR<:K2? 83.106 + Fq6.e=*i<1<W:lZ/T=A9+[qup"1*.pM>])p%>.#(RD)FIVD%H55cLJ[C[6eHetiWMQ';%=d 83.107 + <=H*&a;#Q*#g(u1n*:KUa;2S4G.RdIA(#m/7Mc"@E7G,9iirieH&L<&FZF9n0Hjks2Xu8c% 83.108 + h&GC-EK3oA3_*<>*TP(`Kb5XX`7SK>U]c71;@Z#a=UcP87#@%(/k/Ca#i)(-?%E3_1_7*i, 83.109 + G`8GP>Z9n5GAiRV$*J3dYr(d=\L[65g5KkXC+ZJG:Vd.YSC']>"`"1.ODluQW!6X9;*jh`' 83.110 + hG/;\!2k3K,!@7*1iq+?3'AbqnL8d@&s:C'@bB2<Mj1Rc,`6"A-9ck60b6;iYln+FQ8dSEZ 83.111 + SCY'*Rnh)jeQnX`#NH;7W14m(ZpRoAa(9q\[Sk*5rU_:jK7\We7N7)YI%:52EpGUTMD[[*Z 83.112 + )MG"j=0Bg?TUJe%&dFh5CV&8?Z,JK=4g.b0'74EU=nju1$.1>000r7jpRT!C,"4V.\*0fki 83.113 + b*c3_l3+=,<=W20!C\WZNCfL(#,Y(^RN*^]>cL_9,h6&9%B@A6"EeMm<R=*7^l;d(5WZ1N$ 83.114 + I)`>7;8l(Y-qBbh-93!ENW<e\lW)&?0fITY>t#)=5*U[lihV72@ctm.h,Qr5U$At/p.8#*B 83.115 + 8Y!Odbn>/'njfA`cO0ZW&>F=kRsGXTZ!HQB#&URnPW?7&CrIY#))IDen`oZ%;POHon**5pQ 83.116 + ?6[oVqR7`OU>7kMQAd]?p5=^Wa45btqglpb7-$$56"CV!G0/6uD]&h_,[#5<"X!dhUi!4Cd 83.117 + e5T92q)pNZs7HqKeY4c2Vh0\UEn\/)MqHm&!"7O#=^K)Hkhq?O?_=ZUlQk&D8M4bf,7*1h5 83.118 + %Uf[&*%,]Y[&@HV=A#j'L$@7N*Z/eOiS6R?Xe_.Y1r;mTX?VR37O`bkKQ,quWJebc0pY_]: 83.119 + ub]&;X/)>%2eFcA(e!snc1qr=*F$5r/Fg/5"WKA0.(5`rI+`p@]WTX.Th3oQ045b]3sKBKL 83.120 + tc"B"ZV$ZjLLOr67O+0S7PK.lM"ph*Rt5Q(cmW3bM^b/ugcAU/`-okM5HooEKjWq@>Dr=d* 83.121 + F7NarR7MagLt"r/oW1t#=<'5:^P@K=-1b$&]!J=N1.o`e*kJ2e!Q>q-/Y:d`c66mm]%>T*3 83.122 + fagpCB88D'_XlZ4df2iYqN?*ErV$UMJ>7Y1/X@#Xc*)=GZb@9hoSKj+Rn\[=kC^e"Z/-TqE 83.123 + `hJ45M*VZ]k"'7B=bnJD>uVBu<i6$]X9NRu6bE)HB=ra5Z"]:Q@P7-tSNu4a:&D.--Fd4:< 83.124 + !55N=puRa71,a*Dh_+4?,Pm1],4dJNJt]S`T[5r*?8rnaq>f&jOYE:'ShX,hCDD,*3^5aY) 83.125 + *Jq>qX(10qgo1RS8h/c0,Y?$ZfQ%F4nOI!Q=9<TVfY7TI5s_O%I$q,Qm[S&.El86L$j4WWk 83.126 + Yg*BM.F&>EC3$?!L.qZ\bm")"nLT$=LM#ANR$04VrC?a?KBC[PKR'.K'sh8\W'Q$CMQ$*O1 83.127 + MHiSH]=R7kP>_!FWha7L[/-pLWQ/h2O!V06K;Ltk[%(sA:o2C.="Yd@Ik(\\[2)%;>+XQC7 83.128 + hKbDrcdk`!;(D*\e<JTt:oOrhmGq`>PW#U_b%jg0XY@k_(5uEi90al$hgc;"c=H'Fh_[Ij> 83.129 + +5&4+Tr,$$GOK8!hX93IGZ4/2eWU%T8XQb>QLl,s66N^PLG@<NU$b8`;X"HC>9ED6G:G8OV 83.130 + *\+7UcdhY2]IX"TW2B;62O<!N+rhi2FuUoSjF&TYT?UT_b<g!j%=_m7.!A*W`K)nuStsWRM 83.131 + 0W6jU"fRc(j^l(F]"m,iirQqh*'iBIMqB^>b;UB,h\bUsk(FL@jT!0DU6kW0mO66":-)GlA 83.132 + 0d#d?tFI%k.'<73.0!q$"#c^/#!_L,IJ56#M3:WXb"&&"'%8QL[F:$=8d=B1)5k5N6e>U3# 83.133 + %BZ]L@Dr^#[g3Q/LX+V4lq%12lORcUg*o_j+_qW=N"PRc&!7800bEr[Wr/Mnnu_'_bNdQW_ 83.134 + ?.lg"DQB^TUQTJU=K=iek;VAmuE]j@-g\Q`M(/50_lG<<5ZUGU`m,\kuJV*A/6n5W6h+I&T 83.135 + IQldL5Qc$.)'FWtkl#ZiP0'&dndYJ/8:R[L$rA(N'QiDj:MM55kSD)QrWMK2WM)[!tj)O31 83.136 + rOEPRSC2BDn.*3R6TNOK?_*"R&B'97AG5^sh0K&'fi!3to.bKf@&0cse#+/!ZslDb.DU>/# 83.137 + `ZU"-pEY.]U1mW]4+g$"@_4q9e]Ta]o*&9)inh>HC']WWKg6&BPnCeZ']G/TLeo@;H^rIJ[ 83.138 + kQi;>-(mOMmZARulI2Ct-D5W2lR;SF'dmE[-a@1uTrf^ta!3?qH',]*lZ4J[P_92k*:fX+_ 83.139 + 5,[KEi?en.^>Sh:C[QV[2si)/$`]hE4I:Q5jA>Z-#qfN^u[.!(86:+\Nrd]NHkG[6On.'0! 83.140 + ajsk\=$>f.UR90<S+do)P+n(AZ6tnF.n2i&<ACR4IRR!E1!@nUA9RT"1O4-_X$7dXiCT9.p 83.141 + hH[YnrCVg06Q3AbBs+mMB4'2\sn[ikbg/Kj-^O@TY^(uE%32R=7'%6Fqr%\)el\j4jNO4k; 83.142 + SKd!./Q#2&9#3Rh,PrWoQOFp1GTsk=/N5BLnq,:Q%i4P[3YQhm+40on-;]-G^:;@>B$Se8* 83.143 + O5VQ%2`[mN1WsV8$r&mKRSlt()t2i)JQ"cf#SHTuk=s8>0dcHV"#fGn47<peZ<@G4NBqX.% 83.144 + ?qjZ@/hgA7k.;a%O&dae)`qR2+)9D;@uUh8gkG`iX`Cf%*A)k5[<0nn>oO0!`,?;Tci=Q>k 83.145 + d437^P.9&rtX#P=G$ImbuhK&HW`PRhl)*RK/aHo++8h#qMYT*g7*W1U-0FkpiAG1=Ds9oW\ 83.146 + (QkspuK9=2B",/3f8V*m)l7"G.9&d&`.-Lq^-!O78Ji0cmHfenV"pbFj&kbUd*i7X@aVSX' 83.147 + 3ZgU+%;a58o4L'AKYIX`HnK,IQo!6?/0m8s>eLeU_;Qp`!_:(D$qbqVt;me`6_A*d6V++88 83.148 + *J!lG$iqnYR,.-jk])srC7a1dM&Pq8;s6LHJb&iX\IULV<ljbR')EO;UmH&Ik<O5nmjg;h" 83.149 + Uii6qZ'Tbo<A`=@5pPF(Y,V\+k9dSI9Uj)>ID+m@NHL(`#(AQgMG@N:s@_cC'9Y?aj&u*2. 83.150 + 'B74"=*%;cUROM',_&b5]uc?KeCe&*ZV9igD;FkRm%L'U^Zu2ToL'@B:"LXhGA3N@4CN;76 83.151 + @3p+^&81q%#WrmU=>NXucL38a9&"V!N7OcZ,0U=O+A'p'",(,gP>oiICRAgfoB:L_1]fbs6 83.152 + >Z+t)U[XdTo7p4B9"SGJ@O_>LRQ"b1(%p!O]p7Z4ZUk=gipaKod1/T)8Iii&P^9j:1m9(RR 83.153 + E"rmmm1uRE(1utLHYhm;/+';1Pc55pdl&m5=\V+G:FdOFF$-,cDm3RQP;?\!fl2-AE46726 83.154 + W6VYSeZGeCC[I^<Xuhqk=#oV@P?\([\H"+F^MTfHt"09n7_d/*q8\M<G\"):phY.Gg'/]iI 83.155 + Noo:<4A)?$!JhG.2=3kbT8:`>V=2eW!@HbM*DbU^0hi>*CaVeF@TMG./,RG6aC"d$3jI/C> 83.156 + 2=h_c7bTEfg!`G8DW64p%AktQ!GSU>Y'I(.=XJe\3M>1RI<=kA2;0>e3!*r,:L<jXZ"1j<o 83.157 + ep)S1'/Wi%qi-,QelWI%:S+br9O5S`X@=7hfJ[c_Okj0Ho'eROjT.hn2O2CamP;!#DUb_Ii 83.158 + (Rnn$UH29e%G4A0o[^aB'd[82KsGk6=?-BuB7^t7L:D)Tkn>%S-5]]j(NG(UlN95A4IYjj3 83.159 + `j92QpB>HqB62,)6/Z"==hP:jPJ:6%+ZYCJQF]0TgKZ:Mn$HYpqW)f&F<5#KqQT:5\XN)!> 83.160 + u?loSH`g'Xom+nfP:5N7U'M8k9unIkm52A@JiECYn:$X#JC3jUk@K3>%B6'p39>;GP1;n"U 83.161 + MrbitHo+OYaoD4?A@OVLiD#*qU'lO^c%g<3mGPdC(L&tBs;)3oJMQ+:/;os,T6M+lD7#h7S 83.162 + 3o=lD&eH$(UP?-97,/3h*gBs$+]oJL3Nc^Xi0*bMEQ2-u=q4X6.4AsP`*DKZ"b5YmH+;FX^ 83.163 + O"4S(enWmam;-^3Dc7Fb&%2P'@rJ%1:ednKq5'ZCjdpb]fS8Pi%D&j2J-)bH;2N$AZn/$IP 83.164 + d]Q>Ik,kh0Uil(,eX^=<Ua.DO\MFY-),]7U9;p^Dgn'TLJ]]Knk%A:q08$i^pWoGc7L,RMp 83.165 + 3+T[09N?_`BBGqI-6^AF3qO#)s3tb4uX8,GHUlUhMb4Q)G*PKnrA$5Yd(Ca`iYEmA>2tWOe 83.166 + Y"m@P<g.2VdYY1*Ukn6\],mAJ&5;V60s<)GnQq+6m"d24m03h`Z:eZF/Mm5\Y_X][aNm+uO 83.167 + d#0>b)'m5Q#m>j0Fk=Z3b>/r/&<<\JL)`l`Xq[p(p'\K0Z1=?8\$KG:9T."Bd%e'F0LuFXY 83.168 + V'UI2Y0hj#n):M*(USN\[(B#N'enCH`N2\n)$uuTkd.=G\ON:Hf&8VI3i]A%ro[33PrhdNq 83.169 + gl7=KZ!>`%2`!G1mn]3k_a^tMF,'G0es'EY-/S2"^#uJH\]3p[C^dqVM-=cJPNufk?1[=pZ 83.170 + RI,F$Y)=P_d_jSW>;$cR")U@$KEX^:WdHqs^JDl#'ZaXn2cZ\cRZ!dB?)_DK"KYHW[G<d5@ 83.171 + A<^H<OQr#rp+0VgL0r$pY&/SC(lBt:0S+\l8V)K;ja.pVs[_H]gRr)(E^%7eeS&"G2Qpk8E 83.172 + uCVtrt+VXT8lK7>h.$b`0`E[i3r.2p;fVC4GDT^i_%AJO0nR%b>KL-chg5)n2%u'kfaBYji 83.173 + r3=En`=;6cXqJ^5kXWa>mE):bDKrEsWoaJ4e\h0Cb?WlJr8GpLMJdF1-7[VM:J$tQ1WG4tp 83.174 + [N^8G's(Tp!-hLd(Kn8k]&r<@]gF(S)!auB_s4q6@p$JDHr.&cA,uE#LOPPe%IonkWEa$gL 83.175 + TU&?$hlhg]u&Z"E&R'YNk)&:QM(f6.UHuf"GmO[hPn$6ER9+jTm<K'19HH!0l)j2[]ioS2J 83.176 + mrQ.^SRfr+GMOohbf4+i>6c\L^^e>]TChdN1Q>X?3Zh8.l0`S>+];_ZS#\Gl9e*SSQm'\gR 83.177 + .lOaG/akhI1hS&9'1>0,dd90^=eU8R:Y2)TR-@RfUJ4eLUo3I9Fn)8^5iP$:WGd36#c]@`% 83.178 + J,I7r(=ep&e0,H$Xq?9\4s/iL7HAng+7s-UC=(gbA:K$[HunTE!+`4="ba\H+Wa;=rc.*ak 83.179 + A5S=XR)XV-h$/p^Bn&IXc;]n5'?*RQ0E^c_8.h-[F_Mclf^jJ7NQlX.DJXWRHo=4lb,G=b1 83.180 + eg;2LV-I]j,l0jYHYgAF`<U],nZQro*9-XA[12XgG$UI].Q:[e$NR9t"9o?NKX\"irF=/5" 83.181 + FKG8,KInp.@4F\:BY\@(gU-1ZO7_C^&uhuQ,-gjK,;GrYB<C>0Rf"7j2uoY4,4:fsj'g3p[ 83.182 + gZMlV*[!h'DgOL:bo`&e%s)G;1*uHKX$_F/B)_G-@?@!hhoEs7fqaL6DQ2,otWR\'dg_-^W 83.183 + S:+a*GN'@iWn?,+(&>VTqnKh=Dka@.41E8TnRgqH9%qI<\,63YrP.0RZ6cdc&bDRm[]=8t5 83.184 + 0eC0+K_mdb.ldU&,6hK#mGrIi=MAU/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV 83.185 + !t\Y$!?C9BHm*Pg3u#Rn`&ZRFLYM#;K#i'H.N@M"@B5hpe"[/b)P]e*7Y!_sXKsI_uo.O:? 83.186 + )]64R)PFrB\-a^qe]m1u0kY1[[$>OE:HQ-SW:]3XkAS(6s&ID9.WD;5[9$!j4%E>4:117Ip 83.187 + W<,&a1h-(HBb6%8P?iV]:bg0ZR)BBTS8YsmMobsB%Y?A!ZC\A\fQHs9QJWr)2Tt]t0ri9#' 83.188 + cYS;1X%S(/GlnOWC:4.AF8"E2QVXU2lZN(FT%@nkh=#Rc*Zl(ZC$!T9YYEds-[eYK5'T1.Q 83.189 + :iY13dpqu'9DV&rVo+O"9SZiE$Pen5k%/T"[R!OX:<#4d2NBTCg$W/^+=?fii;2SLCZDHct 83.190 + *ePn750*7.EZD'h*+Q>8K`uKOYlD6VM7>#Vj7Gp7JJi*iHnLR[2&!Z6M3O!Cj_c)9Ho0RjU 83.191 + euKVKtgEho`d7*d;qblG'.i@cH0@t)G<a/jfl&Q;'f!"m[jY;]2IK]>'fF/8+`:@lE'0-1* 83.192 + -qTTfJ"MkGF8qVl?*HXOe75I\8@*)2$Kd0/eFJUK\;Y7pa9dClF3mA3n"U,pnPUYmEeEi:c 83.193 + <B5riNE9&$Kk"7dFerkX<qXFPedL$g1aZ;s'Z>AY/fDuF1B:W9/(o'qRqGmtKqi?cG,;6D& 83.194 + 9brK:5&<K).CaHPs@U@5TS#nReF/<F^93&gNQrtL#U`!GG?tshX=o:0\b/&SpFc/pc-M+GU 83.195 + ;I(@/*2)Kjf4<)i#SK"sZ!-a$')&_XPB?ND2lc4,;kl#"+M`GpZ1J7OFF"2&dEF/Q'`0&tU 83.196 + UcCs[6mAGO5dSS*61H_4s:agIg:7YZhf=AB1YV,9L!1f7u`#,A/4HD[aDCAPdOE9hRE4CRI 83.197 + JiuD(cCsWWt:Mm@$[1bW6gUD%sL?#g^H`$,@DYqHF]l/8[qnI(I#6Ve]Hm]<>E;W3>`Gp9; 83.198 + p1j-k[a\+C]Vd:'Er<s6c#\9q43qr$O$g"@pnp@*FT"^.eTH:Q>M!bI:L_`k4f$S@pA4u;V 83.199 + ^^XZHHc^:"/Z=uF'":[GlC3sj`u;fS*,(rLSO*[I]'74HN(skm<a<F]C1$@\&3!+@"5r_I/ 83.200 + c^comM=&g\6-rLSc,AI3-)srr:%1rI9=[qu8nMnGl9.72cK3Tado?O%6KD"f>rq_"WNP+8c 83.201 + e(OB)`TGVKD1e/*KV=n0<V2[Eh+,D;/E'0^'k%j.emK^cDd6MOst@5Iuq#*<1ZFOW>pe-RS 83.202 + .k]AFR#%j%B&U^h*,=Hd=&n4g5I*d$I`)rEA@['fKOW"qNZ%j''e6@inFpc,S817s\7PfsF 83.203 + h%,'p)H0JeNKFfi.FUF"A!D%pOk)TaGjuhbe9d7=p-2(C!?bneK92636V)J7,%OZ2OchUm8 83.204 + GO1bP>k:\YEChrGp+MFe=2YbG#(^*5q$:YUQLD5/%(`1IR>*UP`iIV9)2mHAX'NeP/L\MFO 83.205 + _3;(k.g+BGJ_cb^7;[_d&+aWCGnV(8b$*R=r\HN@?4LUoY[e;^a4ke`?lAe>I'pV";]"Ye( 83.206 + S(\U[//AVG1^'W4oB.RG>')5&iL:T;a)djAYO)=U71I*mSq:+/h>mljf`g+^uqX3KZ^3%,E 83.207 + iS7gti)B_C89[JWjPH^p?.PPIboc'K7g3T%;X[;7a,+iN1Ke4c=5UO/h>r3+qct9CH$oKE/ 83.208 + M`uleH6-G6<BEoQgg8B:n/lBWRK\rlNgj3M:h^@rWJ"lHc2"0C.S'Q=FZ!l2ie:&EXYME6d 83.209 + ]4mUDJ#liI[FT/blGo61!'LoN8bV^)5'9#C,rZ$F]P]tEZ\6D9i5):epuA+RoTk*>&'=ATi 83.210 + LCYXQp1IXC_*HcC*6SlX<[)(030jWoe-`odd:*FG*_qB4!)Ue>ZIIcRWc6!%]?nYf-gb>'2 83.211 + ]3b3b0A,JMn4RrDu7&>;Te#[(C(eCkCtS$j+IJQ`DmBU4Xr\B<CPg:!hn5R"@%W`Ide.qi5 83.212 + lXkR1*h5(VIHFJY5j%WA*?VH>CBs+R_\J?7J/IRtmeW%n(P+i^iCYsN(V:R+SA@`L`;1M?e 83.213 + =hodaX"f1l^efn%\9=%8?E<`tDf)Yl.m!Ia'f17]<VD>0idTj?/Uma(r[qZT'.0DuMJt<<3 83.214 + <o[@@e2Dg0pUt!=G"0D4/[d5DAU=8<t.TTq2]F!?C[,,]FW5K0>Ue[JW&TQ=Z0Y=16J"ZJ. 83.215 + \oD)Ei_R[R-d7ip&%qH']5*5Jrlo0e")2M$nad&uhg0B(Ard(ARU3_n67fF#8<_VHKPbQHj 83.216 + )g(RMDX@*;Y>5UUBi2fHB+_tkB8AspeI.G3q2i'Sh:9/C+C)nSq?X%ucBd)@QeL!TTVE9Jk 83.217 + mB_1X&e@M&/kaE$Vle\Vkai?q_@d,q*Q0!b][lGp8l8:I4I/lqMJt"=/X]j#KM<8S*m%iaE 83.218 + .?:^@3n%agI;W<.k1`U/S=!q8qO'rj]F2ld!2op9Cc5&?C:c6ND!_\D'"65hHW&ql@qm5If 83.219 + )#ccp#GMfS%e:bZFEH=2/S;/6aV\e)>l?:R@l:Q7o'fQqJSBa1;Z$CWL<n$G:T-<f=[Q<m] 83.220 + 'HSO_kej6#Wo`_n%Pf4jF7i\2m[F-*VE2Hk^"LDWiEoJT)J>W$](gC'L4FJsq-Uak?\>YIp 83.221 + @$-N31;GI?kr#1;msI^"_*RT8LHUH4#k^m]o-@j]a4"<T7HO@SMCm>7b^p@\DJ3_)s0m8Kl 83.222 + sXl6<RLATkH6\/J@5".Ni00^h6_3^1WCHA%$lDDnFOF42cr/bU_M6"FdD]Y-hl"!S<'H/<k 83.223 + WT\AB2!<*'E?%a';utUO9jXnABegMeI?==!L!QRh<d3Bf?Z[o=IsmG413C5:fD&q'`8)LON 83.224 + dPQHpnTR:$)9BLd7;GQSnssXDm0Y!dV9$eFJokF8th@""&E=Zo-UI]#^C%/+Z\$grp_H8:' 83.225 + ke2k-'W%P(ikXbQQiD!Wjaml3i7#08&*hOn8b:":0AT^15$?oEC.oj-kki1AKM;G_85jbr> 83.226 + gi^h^)48t7kCS0iQAJFPJtoFjF`S\GIQ]1TVtgDL&92&e4O(;N5#G_2W^T`D_G-ZDHYN#rE 83.227 + hqMeF)MA)A8_gk"qI_Z'r$d8X;Hm">@$O@FCWUcXW\;!>+f0[Bq6<hAg8sd(m=Li3M]HHg% 83.228 + `%;Md1Qc25$)#3>lEgP"2$.#C4,C1"q,3J;H]Oi[#XHKgn227K!.dC:6l:KBk[tQ*#fKC>" 83.229 + 5uWQ=Iqj(e3Z-f^sjSfnA@Yf'VH^?NO1O#4=7;>!fN"4L_Il736aRY1d\i-%\ut=bZ0S.#a 83.230 + tl&ZlBFlG_j=Q4h)J#P>cnK.#jlEkJWIb`C&h-n;`^eX9C^c76AX]9+_G'?&UT<#eUQS1ej 83.231 + "322Q'+#1t4kl/RD$E&'\-$To.e4?X86L8ujnJ;N<GfGfNlGQ@)U*][aAfJpFOEXB*D*LYW 83.232 + Bak?s?]0G?TJntCK4CJR2:.;Cu7/J"D#e3<:J\Iq9%5`p$>`+C!=IK(i^0FjZ.#LOibso4" 83.233 + _AVT&nY6A3JHBQM\--N%S15S-K8_L;THMKK8;p+_Y/W0\7`^cGpcZaqg]0o'$6TPTfXAgL1 83.234 + IKfN8&RCh=lhVgk!>-dK.(V0W0g*-dCsl`5*:rJ\@p&SSOd6W2-X_7I"a`e9>X5Rb5fo4A; 83.235 + X#>\OahS]blsSgbK;bMS&)i.I`0`8a]+tKhKhZ`5%/Ona?`oR",0q7TdPh39a#mO2&9""6u 83.236 + kEcl1-@D2X(C6"HetWNh.Z'$UaOU&o*WGa1n:d2l/I95qMf@%0e$)&T'8K!=El1\lkIe-dO 83.237 + &bV63A['e)-M8_$^%+BXJi/gCMhp*(V7I/&\<8\$=RLD%1#b9rZP\?+?jp!f+7RO7NA7<Jn 83.238 + X@@HJbE6'Zo,!#Z?dDA=Ls3I@X6Mp\!`&6Y9H]*^Gk8pKQG4Rr8P7p(pk2Cu!&t*Zb]&&qg 83.239 + 7M&4is8VG&'S!H"R$aTq+6[%c`j*7d"fW>Y0,\gb^bS0OBg0-.a\PT!%HsN#X_HNg'?!8]/ 83.240 + (4a`2(F=N!te@d?kNnWUGj\-W/+r#mB%AoMWsZI14XHQsA5NXWiUtfFhH*+!<=:BOK89\d5 83.241 + tjM<kJnJYLFi!6\2n`G>@tM<25MJ'#:[8Lo8:E.YlR"cDX'LnpO^KTcUjMU8'Z9MC+8*%re 83.242 + c0Gd]+Jl&.,*6FO,NR)EA*q_4CEnNDSbD;E:67@Oad"tR!Th,fKbY79E7#qUOfgS/_;eViQ 83.243 + 1nDGQYsAAEO(<aBg2jdWjGmn&eQVKu!5,uqZophMLqp&HOB=#h&0F<eJLFDrk`8W/^.u:j/ 83.244 + X8mr\ALuClH['<\*N5,9])F19*u?UZFjS`YcboM"OMC,;T"#cBs#AMU=QE2$oDES'd:Onl\ 83.245 + MZR^dMKfeT6PZmRC-tf-Khh4Rig0,a"Im<C$/,'n8oIWeTGhec;84r'erVB?S)J'AY\jQ"L 83.246 + A=XWGG=LckFAS7,GHLeZjpeF8.DdHukQneQ1R=W-7fYT0uZf`u2I<"S;cbZ%\hL/d(2<m6W 83.247 + Fm;'L.P<L!X$4T]8]Ed*Y!)tA$ddZZ^\La4cIAPjd2^B%;oQ?aX@Pu\r$cL<?Pg5+(CEIWh 83.248 + !OR(TI40o*Jd]7#$5DaY"b]e/CHt8afP0DMR"A%4@oH<S;jB#FlRUO`k#n@3cfHn`D6o$Qm 83.249 + *siGSrG\XMHi`,CKOSa),h%ZJ2Z2.jUQ(X)f5W^26_qZmT?#nd#a+8j*n!#!`+f$cMUXtFd 83.250 + WRMIG,D6#DE92[?q45l:)LscgZ`pV6W/$Z]j4Z%mA'k'f<p<1g>+M"%=GkSWK.he<<aVJ3. 83.251 + %:[1nEkQ9H#f>oD\Xd#(`:O$^d7`_F)e=G5,A[n_'=LgqsLMkLDfZ&/u_Nl,)X8a<40%8$= 83.252 + XLAgrX-*#!FPM^BR4S6jRNQ[6^R7V8QM@E$^'I6`tl<WV'gOP)&h:IHG/4j,!#Yi*jFeBe` 83.253 + n;&\)T"r'AaX.22&0@D(d0M4UXqP,dJRA2AT)A[bBSSpnnrM&1Lg7mQEtMX'L/+jm>Yp&Zm 83.254 + MXNn:dgkd<qqPO>2Ri#`8=Lp]G0OeIH-W@*$1<(J>bA8W]5eTk`1S[i#&WUrZ.VEL.D1q*h 83.255 + FWb7667K/7.`J=d@NEAg"4E!8l2aZDg<dGW_71@o\oC6a8tq`V^#]qk=,a^N^RTZP8,S4BN 83.256 + SY%5j's^k:I/$/p0i>tN`U2$7)CoAD3Rgu\\Lb\(4SJ_f*2L$O?O\6d>6o>s:melX9G*`*+ 83.257 + X;c#k4A<l\@^"[!m;r,[rROtsU<\=^o#0AiWhAtUQFiHF]2i!]1A.e/.[V&+;2nR/C5^>NL 83.258 + gT2&gp"6,gLaA^+aG8NH7gL]7?EfPSI@suhKis]]#`^N>`LVM_SqsgaM2isLFqY%YmK$(2@ 83.259 + iNE\^.nr&LtT:%#c[Q2NGTa9$>/-JMX<pq=Mn[rJkkt7%b"Xrcksf.Gl[.V(&0+bW&>;s7o 83.260 + FS>_k>`Dj7,3-P#7T>T&j7?W&0CQ<nU$*iD@$nj`cLZ2Irso;AL'Nc>200Ja)$@gHbAn6*2 83.261 + '`r9>te>Gd75AoNQ\GM'ogjfI`WI7.NeM;g3l@k=).=Gc4.QFB6.Jtc0cQnrMAZtiFECL4G 83.262 + bDRXD1\8.,8CS&+QY.JJ`\B9Br!fk!,SqRG=[Gj^W@"'ra@)HB#oJiE"?Mu"*2E'_L%VH`/ 83.263 + #fZ-9lc7le@;%"&Md$W6VS$aEcts9?D'%,B0%4Y=a.IlPm9Y9U@#%ENS*HRd#u2=u4+JdR` 83.264 + *J%M8?=Z/J0p(1g;50]NqEkm%K!mWO:&:fJRRbSE!n?B/AlA\M&)NfIXpH<K\o<#C4=iN(l 83.265 + .Mhmg)<46VK%4\<T=,<p*LdLphKfG#7CFdR,q;M`=)mW\8;$rJkP:n(h<(,hn5^MW]G,D:Y 83.266 + _#?L1hgh=$s=C+f9D[]E`ep'<LnLu,?BHOW7^r,Be(?<m*_5!9?D1g.7f#aQPlTTnlST][X 83.267 + sm<2"d(?t<BT\MG(eimMH2\Q\hif=<(ks1=KGYoME2t,BEOH;r&\7jUoX5mO8cBbX>Aa](q 83.268 + "7#l&miM^@?Rj$4CBZlhi+Em#:lF\=NblGLMXI;H<sjdjqLh'BF'85IBHm%srkV))Ej"inK 83.269 + ?A8=..Zg6E)-Ol)<G2mWG3%;kViQ[Sp>CMZZ*L8o4LN9D<6B<8-RmBE;7o!`tSLY!JipWnn 83.270 + joh7k8ZEJ+UKLnqS(7?8ot?@<<k:@s[KA&H>U8pec.Y;1OW203`=8._Tu$Bb:sc2X63++7) 83.271 + 2sLgOQ3cCXXJ;Y31M>R&IA-S+Q?0j^R=od;D9;>5$q_/nLFMgT&da);Vj5f%qiG9:jL06;> 83.272 + %FE^N'G@,N;Dg-DTG^"#dT6@pMNk]bp.<PkFGK4HA7r!l@j3F2HD3"..p<@gE6$(,YYgR<2 83.273 + O,%t0Lj4u;Gb9k<YD9f2q!D0Rm;I[aCrGb5m0XXbn!A]K1kfRlO_i:PoJF;Hpoa'`T8sL&N 83.274 + rN2m^jAq'O%fArKo@)YMq`8K^WsSoEF1ucInsuQB(g_;p1KQa7LjZ=AGA1XoiBpo0X9R+-+ 83.275 + f'bT$HM2K!]-T,C6a!ok15P50`UGFGR*h!!f7Tmh^f2CinjFLPF]+-Gs<])i6e?p)e\XB8+ 83.276 + gG_:-ML@/sORj?Vngj`osoLk[O.(kc0Z'XuZ6mK'H/f(TG?5X7dDd^<r`(sQGi`(!PEL_9b 83.277 + sO2ZpA[En&]%i:XopDrn!eogboq$HHIr)WYaV=ZD0l6j>pkM>D_E0F>WV7u3ma56RSQ?oai 83.278 + MdNOtSjVHKHf6,!iBVnkOI8YC@cdnWpb1a_#'G`?9nb`jq/tHl(Ja_EE+Mi7IjSD,=&F=2# 83.279 + ^G[qHihiG&U!Ztk$jpC@^uu_9F;%-rWNCU6"&&a6m`WVL-oCr0Eaik&r4>&;0\U"HQ.a4,L 83.280 + Mn^L.*8DVP,T07#k7tOiH"WQV>D%1R^a@ET?,?EAjCaB@H\[n_litSg`),74+9mMSH.:g4S 83.281 + C\p8U8jeL/9&[8;>$/(OLk5/eWr=_nk#6H[h8[S!Yp-qoY`EedpE[qXs`D0giVA-gB^rqUP 83.282 + r;C<(`Ml+l.-KAVH*/2]HMonb_=a:oi23lI"F4KlBL=cOT%eRl671J2aYlj?YD#Snh2TRjt 83.283 + UtGpd#pGNk@Je^^hc13*aS2p0XGrpsT;hY5c(#jd);;tfZ7]?K4k\q<-f#f'E*M@a%m8\j8 83.284 + #Oo'KoCH2^d#c8o2pEJ?[,3SopO)%5Ko9WV7,TOKV>+*HJ4Xmm`HAV_9beFMnogj'\^?AJg 83.285 + 1Z=.T@Bt]<9W_&@.9nMPJ*e4#j,[b2TY+7E;F4XWM<=;&Z-&CL/S^c&=Lg5qT]lO?aEklO" 83.286 + g(!Z*+*;H/nE8CC2'T"2g$5q0GsnhVdE12M-*1?Oeq91uT2aFU@HYTl!#@3!oa9uc8PT>q5 83.287 + [b8j9ZqF';9CeM)`Ui7hbKK<e9DW@G?*!jR#LdX<GU++e9^_)DA91'iiaO*\U<*Beb+7;`W 83.288 + 9T9TEer`j0Z]N6[oR\#Z,]]GPK"Ek)4Zf?U(g?LCosK'OZ`r^s*8!s4/9][fj7Hd(2=t`hT 83.289 + l'oeP,Ltn<fa%J`2??XNNB@GgCA;)Ju."<,+^+168M1bnKaj$]("ODGbB7i6DG&-Q10Ao;. 83.290 + ?@<WlMgS)+Kt9f/]RHXpC\(#b88tccF@?J(`?=g4Wp[RN[Q^Z=Ys=j/=JeP[2CpYjXB.k"? 83.291 + 75\AdP_fm$8"YZ?R<=u0d1%WN44GVURuAgfKa$rFJI(7-V5Z=?C<+9QN"VjBl=M,fuK5(g^ 83.292 + cRTtm,g58=5:O+:sRHNdFEErg=*mpUt5lTD"mF[;GAEE\`l+6<,>!]?0nZD#:?JF8UIB"cc 83.293 + WiN.%&u!)m)<)m5EC_suM-MN*(5Zs3c/?EQ]YoW<o6@`/MK:Ti\#CV-RLMG@H(%)`+^0VTh 83.294 + c<KYZ@luYqZ42LXf\Te+nm0J=D3r6<kr:5Na.]KS:?oUSK<$Xk`oJEcH>[-#9C2<.9^_h-J 83.295 + 3WDib9rcIAWkk7p2M$GrDYLU:pd3;ANTqR72O[>V5M[?e7BTCntV52KtVjcX=P=_1i(KJV) 83.296 + 1*4*#U:p&[Ms,i&b.g4EqU^6+`]"j^D)+/NC%U?#cage8\_7?'>I#U2eS&SPlS[Jm(ZglP( 83.297 + KH#taW)T*t46/8O5,YljC15%?WLgs81Na.5ipjEV(,KV2a/e^YdR.]=ZBRYke;n@R4G"F/% 83.298 + -g5^FY*/j@91%DXmf>h0eKl(G/2JHroDh:2)JYi-3[;gZqih90l!k9`?"FWq0:2Z+i!`MFb 83.299 + eaTQp`UgAA;r`JJKRMD3<i$E)j3Zg%mgL.N#Xr*/$`E6`CNu"(',:37@i1q(tcd&$ofGIH8 83.300 + d+[>!SZ?Ss6?.P002!6_=BqKqpb85,[biLh$6>&!d,]QPC0j"Ak<r4G1d%m5-/ceXFYS6'3 83.301 + T(2<Nl^OY\mac.U&n%8rQl8S%#016EjgPa7k.rXTO-jI+IZ,=ZX<ED7hee/n-fM+Tmk3Q[N 83.302 + JV2VQ$L$i*dapO@]=U0o&C-)[=V\Y'aj.,$-SfO/*@olNB>%>E1Xa'8TTX9"iE>XMZd:GBU 83.303 + /!$*OAnOm7)*Y$b25\mYT?WND2X/1DDC=iWVCI!jhI158FV6^U"mUrE5mrl/&:6_m4$D[&q 83.304 + 1T4u;:O=-<pJ\YV;tC=e^kO1.huWsd70Z,$@,e>eDI,:L:1.t\k=4nEZil9!)Dh*;ocg"E5 83.305 + cEb:9)EAX<iS)a`u$/)\1RQ*K.2R4Yg',f467/DQFSib#snQ7$SK#1,_J3=/sMP/+f@9'iM 83.306 + kJG'd8+eZH70'!IEI_e[f1NOG/0g_@pWY3jH_ZI[1B>MFjNaBbL=Q*S+WiTe2`]83JnG2$7 83.307 + pV0(XdYp)*Ol671BG&HEZ[r;]BaD69JmLA-fenX4uHKAidh"G,u=P#m-Vg7a-oj8M;!*tNL 83.308 + BC=UQ^Xa1hhtSLBn'0t0=<=X%RdGGONISLiVYJ]"kCPCb'fJ#1rF'0QC7K.B_cVA^?lVGfn 83.309 + 0T$kGb/n_X4C5)*IYW/:A<QQ3;,'".)sopL#It"NX>+Oa-cj&@P!&HE@s>oGodH)WoH3SSF 83.310 + dlS\pS!=,AQ_>8BTS;*E4SnO)^[ibB\OEj=J*M1+lbSH(F).X-&;_rD9)q_^NdRI@;sgeB9 83.311 + l%L?C\hT%HeIc\U1.kPYP-F&dS3P%t9UC`bY.eq;B$5<J*"$);U.Pt&=]9-12;VKCg'd'f! 83.312 + &eI&-enW%Y5\CXL@Ra%XM[Zo<G][(;O?tV=QZe!0P:Y&a5^TM1,^'Nn+ll*:41p4"6>9'GS 83.313 + /Wa&AY05M;03m'[G)PpFcd^WD%cpug[cXa2dT[Z.DA!Vg[hV,1<\&4YOrq&GmL7Tkq^H=je 83.314 + \'sThU24QH>Y=V^.<FlhjaXh<R'?PX:C3=qeL]NR?qAn<bC+a+,+\Hs1\8j#N+<<Ept!VP6 83.315 + ]B.an`hi9muQO3?kogg,kGf?"_,:;#fPQ[qB]\[Dt9#e\W9KQueQt_^>[!hY><O-D#q<qBn 83.316 + _qh&iG7Ss@b#B2.XH5H&]GV:>@><U/CIXEC,Bf)"Q8leN\GffjLCn0^NfrL^H?T%2QlB5R% 83.317 + l^USJ/jj?=0F[W^>-0cIUU3X3PgDJCmG!?+iq*'FWnLqh*T,$A`B8uH<5KJ*l-04uu)!kQ: 83.318 + ZM@ibk5=D5oA4uDH65T:XVSM:<gUPdqrQc7@V,&?$cDg*AaKAn[J&J7gj>K6D`r$,pKmmXH 83.319 + ln(3r[52I]1]hBY>`)^?`j.FgXkWX^\#CHeb\01m!YM6pAX72qqlnmINQQ(s!Qq+hk0OiT@ 83.320 + Nf<BC5ZT^\E:#jni8$IJMq$C]C$irr;0[s3L]F&-Do/#69hn!70^?YS+cjP1PEii3-+s:[\ 83.321 + ?Q6M`A`!miS&&2OD[0_F^<e;WDJ:*B^Y7P,0%"HZC_&5ra/,iEMS!UlEX0NSHFHN_].#1.8 83.322 + n&9?HC>5<$<k7DbA!XAq6K*[Qs#geUR%VWu2HNYu#bKu@U:koAhV[ANd$HosbN^2aqRgSXb 83.323 + $;e>C&AnoQ`mDY)`NN,H:AkFeaTF63%?THW&E=6l5moA1j=.1l0]qB!h%*?Z&((=f#(G9:> 83.324 + h?2e#LL!m0*`#M'+p?G&^_X_0^@L,%gFa2jq/CBd5)G52\Uc^&lB)EYgt6H`tXQs'[]\k&Q 83.325 + 9EA<u$j%(!aB#EFLHg0b^g-(=@%4Ys,Q,eI_kI<"Fm(&VCotLDZ/26NGRQ&SC3`hWN:+):> 83.326 + &p&JGIBkm<IA"@ALmnVnJb[i:IA)p^kh!7MfR^tfTt*7<(Q&D4gXh[\#B&u(^3,"2M%k8oc 83.327 + O*msEu&b@)ApA9G3*&5HNERQ%.#9]+b(JRO:0mY9'iZ_eA+jp_*Z2GOa]bZbS,18+h%SIr6 83.328 + 5oS+?eH14DJgDSV%jNSH,#Q<'Od<<CRj>:D-.6,Y;$LCs*>`Z;b(@AR+sS@B#,MAf2X47c; 83.329 + /A<=DLH5TR^,^3&^)L6QRS)dgQH+OdVB%"DCa.U!"sI@LmD"<K+c1gOt!R`&lTd1)_'4Y/C 83.330 + Mhoni%'CWt-LS*$Rm'$5E#F9.R!)I\<.!ZGJ&R.kMD20@Kj<En)2YW>bp_/eT6V.N14EH;> 83.331 + dq'2jT6J=A0JT.`Nt09ZDm'/MF;bo1TT&onX+nU3+.74oo60d`,nZSmDe73D*>+>["U'4Wp 83.332 + n__\$d)RA$7n_l<66SteULeB^+1M2Nn=X%n\,tie8PD)"qQT9s?0N!*P1)DlY5rYe^8^jc= 83.333 + _V[+fM*"9"18:$ho:%j@a#o3j3V%"@13#?a1HMIXL<:DfMC]2@nfm(<N!G;@_Z5K+F;uR'N 83.334 + <D#3K)dthINg49F@^U>;s5LDClX+t-`GT^_N@%D-6jaQ,dXp&1aY1,)a`cZL53X*V)Dl6)A 83.335 + Yq'$)1%dP!Cc9r1`E';H*i\@re?n&gS,p37>h0Zcbj<G=RO/.MH]gP1h&lXZ`Zh6&Lnd1Tk 83.336 + f)H6Q;s-3@[AinAQ"IW?gE<)cdcM3UYs$V"SDQm@-JB!`p2I&Q)$O+Q+[WXNtn5^TEKR,ft 83.337 + h!Z+J+_b05Z/j_?`dk*QFaZ22):XoD@#brj]$S#"&0U);dnjuJ'Fsj/GO0k.4U=c*<mO2\3 83.338 + CQu(teAh#-@!<;5-?UXY',ZMR[o>a=2'NE-U_?`"%OH6X6F,rk-X;J7c@2!A,#n.r'_]>Lq 83.339 + bT.s=4Mb;Zd1+Bdjh]U+gVbUob`'BdV29S<lIC(-6l[1&<&C4-.QNK8^0GATN#N\,@t1AeN 83.340 + b5:'3-.U5A*5-;RUgZ#?kRI;9+;o-dEj6auOSq+uQSHo2%Htn2I7uG!Z^H5u1j>;.%f04k7 83.341 + n)APZT@">s3:7RH'<_0]Df:L$o@3PnrEL-[e^;+C.a=;F,3(.)@CKi$<V0XBRmQ&m86n/u@ 83.342 + g<3gm+[9QO\)eFUA.b2H\L6XiBUKldsQLfZ3WF]ZARqA[`*Y^L=[4ibgUIiuOT]2>`p'jRD 83.343 + KHq;d+dGJj+q&%L1*X/U+t7s`PJ/J%_dlfkCt?l`(.g=t%l@<a2jRG5ZFOI36V\gE<)lsBp 83.344 + )G8)jIfM;LK:<I5QPbs(me9L-]$_TVP.]jD/iPA/Hn7]nuYe*r+0E6CdO8#QI0bT2fjS>c& 83.345 + (NAYa5eTd-q_!D:>J%#^oIA_eMLcBXG]4pDbO%rW!_ME$U3X(?QkY?;`TLEgLcdLu:2c$ms 83.346 + SZ0t2rf2^"ePqe>_pUBJ&Hei,$5a`FqlHIo;K2Us%W6n&h,FXUB]U,")14"/]23sIWhGBJ* 83.347 + Qs&umn+ZArm(:.g9dsc3p+Yt99jJlH$A0JGP@WrW:(XHhSS>DqpIC?\)28=N2"+<K`<u/hX 83.348 + 9MKjN-\@^9HW+o/cN?U;:Hb&ZI:FdXGO&Z2c%L0E@?oh,64,G+i$)7YJ<umR0/[pi&2dJ1E 83.349 + ms>FiSfOBpP0SWKD6C2[f:R7Af;F4@\R@dJi/)r?\.r+Jh2n5\>+p^d=V"C2`BDf2jo2k_h 83.350 + :"WL)5Ds+qKH>0n*2A.9O/4p)5/r]k/I:NBqoNP45.^"b).gN+=)\="Ym[1Q$GSO40RpEbQ 83.351 + [5[inhb=OKWjfS22Lcl_NJ?:&u^R*&Z9'PV=IF4\`=FYk:CE(=N6DZY?NajYc"7uY<8@X+% 83.352 + f\Li*ZRu_fd=.'#R).Q1(WgXWTU"Kr(=VH`=4cu!uKu+RBq*^UF+\QkEI#85pLVI<_ckPT0 83.353 + B`c&;oL"E/7@JEJQY5iUQ"a7j:*TE;M3Ein<,ieDAXo13:YBELq.q2*]hqdnRe[bKJd6POM 83.354 + (ujdG(M#X62uVTE&Y9-R2N"Jg$U%E]Kc30Mq2I1q+I@U'Hl*&,MDsDRMT$#_,iY9-$db1)D 83.355 + dHd3q&D*=EdD?\2d[egS!3^R3HuGe$`,Zm?0dAL#Z[=U&RdD!F]"./]W/\K2bf:>bZjN:3^ 83.356 + @mqK,XsH%291,8Ib_(q--,:R^"%+^/2j(Ss";Q(qN`Wm`[\Y!3r5Tl$!iUfe;*RH'*,&gu. 83.357 + (<XFio\N*ZA-?<Tr6Wb*7R=Cmhc^:S^Dh8.X"<hEhnj,=uL&.!kqT#SeSZSWAXl:ZT(QjbF 83.358 + JWH8'Z.g?<n^f\Q4_2,iAGEL7j3skL#HZPK9H)BBiZF3QaaobWTE9\AA0E@q'<\'2PPH/e6 83.359 + JJpBSZisIY]W=$D\GgV(+8tuZ5\;'&Mosa6(LMiQP-Kg>Ap)N0IT!n;mrbTe6-!rmpNY)-7 83.360 + 5Fk>/b0t6<hT%'`&(XBXf8]j-\gH]KnEfRCbi>V4j9-\Q`j;5u)k2)nMaL0fuXURs6=8ICM 83.361 + B9^X3"jBeQuj$(["bP+$q,4:aD3^LN\LA)%%#*$Z60!kGR%OHZH$g:rt7g;*SDq;UeV:hc3 83.362 + M-,c<H'6J`0QIfZt&S4'aZ37):(48FD[f62566^hnddN+I=g=Je`8#j`&Hfft-,=\.\FSXa 83.363 + dMPqNZX4@^[l<uJY?At91Wc'NaOC%.q3f9L.=rHi3?3[q*5`7KL6:8K+C#8Z)d7`9jS@T][ 83.364 + 921PQlXA;S]fOYbZsV_&A+u"JX3gLX4o>5j&K9[Jl5Zpjh1hA`jsI/Xhg@%7m-Ck*?tj&pV 83.365 + f6JX1U78$X6#i#+u;LIs5#urAW+bi3V6*[+scZ\gtVq-.SPj"T6?']Za=PO'*K./0%!]*:$ 83.366 + [SD:b>*"$L%hI/VM6>M%Q%W`D3]SVu0,QK>bVX*7,Aie,JrRC9m3a.%Frh5T.7[c'=t1]8o 83.367 + EGd5nl\Y;D8gACX!4iuMcf%L"POSrbEIG(hFcbs+3JmIKq*V.VVglU@Nesp%'=]`mo>Me#+ 83.368 + i'%\1%):\UV;L&b,%*k!*[BZN-fU^Jinc?K*])h_2rgJkj5*#]*^f!p8*$77jPE\o*`M0,= 83.369 + 66#Xin\Q/h:(=HBBGd#F6oA7SL]=/\_:8K)ub?N*eWZ_LZSXg^Rf6**g4-!(5b9pkanF3*i 83.370 + &!tMr("GeUEeL*jWU'R"X:+0d)>>*lI>Na6]D@m,$(U*n0L_fBo0amG?ag*olZpkO+r-mb[ 83.371 + F$*mOj/p&TX>mlpd@*s;"=fFgCVdFlS+?PDs'"m^t)ek:$$+!^.2l10cs*a^N#?SWfkS+DS 83.372 + 7kl2Ik+%#EMbfujN\Q&rtIWpmT-l/FZAUPE3!AX:ICZ'"@oD_8R+*+?q)M7u1[i\chT3b>F 83.373 + /-Fde,QJ5J"D#FMDtdV.q9!:CLaVr?DtkE-_P+gC"%WD97M^Kcq0loNs24bA7UM2Lh>Akt> 83.374 + VYoD>qs*K^u5V!!a'akXo&)*Q2eo)+7c<M.G=P^g*-OsJO&.T=>V'2$&(_)OP"Y=+VBPtQB 83.375 + =uH?83:A7cJF?oR9(LO\"D>Bf'F!(^*Ieo%>;&@540Di6<^XVD+=,9dc.Xo_sD-Thss;=u@ 83.376 + @`8Yo>LPhL7DTi%dglBPP\?EmY8<pPj6omQ^GHs#7V>;_E0qmBO5[G#"Pi@-?`mFPN`<G=F 83.377 + N`nhMIo`^D-]jSV^S2L<Y5asU7F/65l+d'lWnsNak?SRtnB(MGGp4#B%d7<NklXcg7p!m4t 83.378 + :V15!6#[(aY+#k8is0tdAkcLb-0TQhh<+6Pg#!=&alRR=SDJHSU!`+HqOLs"%nih+=`mMGA 83.379 + Zir&JaBh!Y8/L*HJNl3c_#/LiP1l_IZ;[_ZEqN`A%s,CoD\eU0GF`n5d3'U">[.&`3HqWl0 83.380 + em8XaA@a,n$3e"KHB4E:q*u.9d?I:QYSh6cr'oS3N,m<u+60FC,kS0pH;h7];7]I]X0&<jB 83.381 + M;$n/X&c)b`T_eDe++s_bfQOu18*1kU#.>1N^`DVr(/5%bJ[k:=ZoY3"K%7@ZI/M@1[+?"6 83.382 + S0eapE1/T;kW);/-!7S<E&K$_]jG6Eb7'/XL1_g6^:p`(j6r>BA`9j/Alb:t@mh@71_Xp_N 83.383 + 2kr0g%S>-U`:,Q^1qEuX,;]Qo<)keU=&r>/F^E>5%rq0H/Fi)Pp/6^c/Qa.&au#,ViN7l2a 83.384 + e4?K#TiXZ8t<Eam@S&q2O11T>.18<pK"=H+UQS;%4`UU(&IZ4d,qa^@bi.-;g);X]D#rAf9 83.385 + PNF?FR?2HpDd^nC5[eo[.SO<s72r,0s946Ou.VeRFB&FkjuC%"7`)@^rj"N+4iqZ[L`6ol! 83.386 + CZ%_ZtBf9A:dPUsme`W/qN1!Q()\Wj8*"1b`B!bXDN+I%F;n/%a1)9L@%;)Vl:;r`1)Q_nK 83.387 + .G+YVgES`o9A2VWH?/.7foO7r,nOp).>7qC2;eL:!6u='\f9\s<k2)%T6Y>MjQ\VI+4DuZ> 83.388 + H+l/5<rPC(3NtQ'&c=PHGJuM$TuM)bG9=nH1ZkMSff/o6JSR4k$I[&T)DDSA,B$%OoVCA>_ 83.389 + 3j%[:/-XpG'jFf!k2eo%/mF?ghu;L'>0AFhY;brSe49J#lZapM"+T>-0BKeGG")F0,?W)C7 83.390 + Mrbo$h1T[t\0WT>)sQLKYeVpYk*RZ^o?X%ASFl:Smi85F:R0I]CGf7pjfeYr1$VOPN*N"n& 83.391 + !*/HK3^LjZ"l^-6\8qd4^DJe1BX5r^:s87VElm"'&[2R(;,dY\:6L&me5i<`L(#pV,UBu&m 83.392 + J"eg#kL(M?B2"e)T(=Lu9:iX^qk;K&fe3AUu&X3^f:>VXB^k&X7.`0hN'4Q&ZM@i9W6&5*_ 83.393 + TAp#R7IZRmLk8(sA7&>5TSu49P4E'dbDK/o2+G+/)c<D1HI(u/]p2\8,IC`#i[R)\(l\l36 83.394 + ICLLU,PV'#pEh9LH6$a*&8b?aT)Di<C5D26kBSL7kC!fNqt!9aT3$<r(N4cL/CQ'8L[;RPX 83.395 + 3Su3CBb/Wm,=Q!tTP7"EdocLqI8^Z'nJ0.8;I,oY6b,"J//_2%F/5*Kfi><<kOOpI-(JQEg 83.396 + -<a7Z,KAe`jd'4u)UZ`mOC@f1PX/^-i;=u7T^klJ,eh+\bE+/IuJPKK=j:!)W_B=.DfEtPF 83.397 + g\W76_9KcCK^4@Y^^HkkQ[K$s"GY>$t0.4^LU(g(R4SW["LU?&umV->?auGsrocKju8mBP/ 83.398 + T/ER<-`%NSPqeWpXf'so3jLe;.e1hZA>fSa?uhf6`E,AS<@+4e2MY2AM,A"F7o^5elc1s\[ 83.399 + "5&L0QSp.XU9JJ(%!?I'kXRJ]"",>ni9ROAs^T]@koL%]apC(_2QOi<@JXhWli2[<SH\CCU 83.400 + J@Ont?;^)-9%8,0qgU3l)DYDdc\;<LrdaL/]Ym@r-:KZ4\LfUSN*'.V)XbTp!Y4KfULG4`@ 83.401 + 7k?D+Z^k@AEeVmR;9`)Nc6=_ID?=p"u^-X[AXXShISFsbU=]1Gid<PQ$[#2p9.=V\$O)C?) 83.402 + %Ejb5$F)H-H\edj#>s#$.DRJ*.(M<&?1M(atp#!CuL@JS3a`lFk.>rD9oj58`HZ$oQ^')Hd 83.403 + gcObKDmf<coMupT>0(h8Pfb6RLB0o($%[%R#Jh6)"^nt\K5buE_AGcFL7B]?XW-]8\)Rp+] 83.404 + K(_Md^?C/ZDNf_"?:@d-cHq#'k4gYMfEnn`XAgS#+R8`0ZCcD\E=lB]1m9Zjo2@6!0?,<j: 83.405 + O.*8')Vr-"OZVPB(hBar*\uANZrWEjf&m).tO4]XaALp0Z#]LG<C'QsfHU2)s7K*bN(<Rqb 83.406 + ,NVATHej<?aL$da[T)7_D4Cat\=]FW=l#=3#`l!C*e5<=#fJ7'?%Sb(-[9,[=>BC'K.1kq@ 83.407 + G)J2?M@I#DG2BoIEP=Capn0.GP7+,53M/%HAX*&M]c564Cj;f%uobf4.]"JtrSLL"Mf"]iV 83.408 + "o<!Pa,%haG1;sCktYZ\7g*7Q$+i]?$SA=3:"b.DgL05^URA:lIIl)qLN.2iSZsTe4=3-7> 83.409 + \p1+>!q@:h8_Tp&M<-dGH&^=`05.X:&2PJo(Bom\u"["Of5NCNmu*.G@4.D/;X#DhBkmBOT 83.410 + $SI\?=F:=eB$c^&Q,tpE*Q8RcEgf@Ch:b\N*"NPo)\a03$dS0I%Z`1dTPX[YRX(-;TP]c?= 83.411 + 1&l(d,]O+$R/M:$W)J`L&LP&On9apq2T,ojjtF7Qll#Y.qZ"m^GRSGTeerYaquLTu"ZB@:S 83.412 + h`[#r!N:c.med7CT.ilEWG9]?.%,X>r>n=5b^A6Y_7\%r]+R*RAe#iF0m-!2<UN^1Hj#gb? 83.413 + n`F>o&g$`']XO7!#@"N<lMa>d;&J\U$oE8c;i+*>#9mA-+,R.<8pqOiomKAkq!SnibNB?"" 83.414 + QO-A05O+s5JQmj]@$NG:1$,?Qh"[>b5%Zto6t\fo6JO)OrlkVr<^+2KVsWicVQt%B<?i7hj 83.415 + SO\CV;q]+Q9R1S*\!Tb?jYq-QR#nEN[!OHO%ms+6WS?5GP=ORp*/!_`M)@%GTnNe+KUp\$. 83.416 + Q@2KJu2]CJ1EftTM'^<6Yo@#%"J"i$.`^S?3<q_^Un&A]%mR,Y<7RYrm.ZaC0N^_>'[+QPF 83.417 + gq)s(j^f1Sr'GuY<S%4AMMrU,<J;cdeKtX9$#a=uje)ES/JrA[X[YW_+5_=a7.#]+s^po$* 83.418 + A)P.l[^tKj^T1^-,VR%<0T)<bQJ2<r//>cj(;@-lN`-S-^qr+E+GfpTLbmSkH?4p1m>+FZ\ 83.419 + ]BTB0T<QSdg5;!Lr4t'9HT)&i\o"3]M&(3ljl=f&47.'`2$"^MuL@.>!+<f[S):6X=Lt,ho 83.420 + !fs_k<F.r&tEPM*FOq6]d?qLhsfR["pOY#g:hV$rW%ZjG<]p`3`jioO!E%9Fcut3@m#f"7( 83.421 + u[:]iu!`>F?K^kB[Ri]YD*\`?4LFDD.U#/s-#2nWu5bUUP9+ulq][8H$T"EVUOFGNl2/)sF 83.422 + A;hDhr:,cER&.Bci`,J$WC^BB/`$.<5XDnMu\M7cM6pL_Y,\OWOE]Diq7oY5aFC6rd'YNJ5 83.423 + 4S3,Q5laEZN&Gb`6gPc0`!o5\J4Sa<a9r^$Y_'j4KFEfF#kVFoI$_s-kJe(s7O+ci5m,%"N 83.424 + 'MWC5!/%["?<qk5mUFga4-g*."b)jObh56auIbi@#i?NR*(Ym]B#B?I%&*6VScgC3lC!k=H 83.425 + pn^#tYhq8n`jhP\Grd,`3:faqSg9kiKs3M9:dW9;K/0"+\9=Z,8\K6VMbf4F.PYSB3%+bC$ 83.426 + Qg.#H(lZ,XGq#YYY_`'k"QYDGZg6_(HoXG'",N_?b(bi>Hk_Mc;fF/Sq1b1+3<'ZgX)4%\A 83.427 + D7=;R<*5bKuZV=sY^G)0PBSSU@_8j?_7A,mignb:p%>dI_\eG\!m,QAYJ',"Y9#SHg.-Ea? 83.428 + L<FB]6B#hG.ffp'Zq:..c+&?`A6+L#m5K.OLa/?HAEsn^-\s&83P=d9AG/dZg'De#^!_p:E 83.429 + .fqrgdR<[8*GoG,l>mXF&,3#\$X@IKJ-(p"OL(Sc<05SCl6F.!R3=Q8BO%gTSLeV@`o%/7= 83.430 + ,;9!.n%G_?a]a]#<ti,h30"gou1b#gD9ibi;N*(t"O@aGeKV*7;bX#f1WiNJ/#_AIjT]`tE 83.431 + 3PLc^uu$e<S!_h^/n9ONJ#AL.Uf,ej_#c2@Jn'S;Of/-rp)#fRTBV&3(#0[g[na'a8(*-\u 83.432 + !XNA!7]i#rum#<FRL:4HNL4o='CMC5ML+t7/7>O,k,k<s32pfE_4^7\E9gU$%6O<#4[\Y&G 83.433 + "*ZpT.YsR[e9*kWPeg0@DU:6"`/QM$ohVgZ#**7"^8-ZZh,$/':!nAaeO<NhEo5CYjjbSF; 83.434 + :IJNj]@<J\;6B[e\tkFns.a]j].dS<NK]\4^X&B>mQEr<^gWOEdGt-M*@/]<@q\$]k<1eAJ 83.435 + =Gb<lJt-np=CCjOP:Nf!T#=r*.]O0@aWTf4B-&"`TJjEJWtR<kW]NX@GV="3f;B=64n,/U. 83.436 + aGGmKse=#GJ&!/o:sj]:Jq=Cm5]FY_E.M8Maf$lPV*9oIZCN7c[?f]A.GooIc0OP(A2fd2g 83.437 + 723Z]^PhB'%fk$K&FdLd8R+[amf^3M]I:cT(SCu<S=9.10&;a!M(to^ug*NKI25AkoUlUdo 83.438 + `SH7$h5AtXq,uq9=nmg,%Ad7IXP24,g?#KkmA<HlVco(bgEF[BR+PT@Lg%Kq>@k7tFgp+Z\ 83.439 + <\_N8qjNS/\BcRVUg_G3`R.+Gh/Mc^t][@ga0hm28e3<`8"A3gh"L\FiW9kaP<'&gni0K[E 83.440 + I@EbhUanguZh`["Y8<]\O=MRYo4OCOn'SC"T!)%/$,rA_5ah<nfU]gJ-=ZNRqIDgtgB'>r$ 83.441 + @@auIFaM+csdN4n"Q-0*iJ/_Gd,^[p^H:#"F1kMDKghGrF$SS;DIC0mRJhDO]Wp$\s+hO+! 83.442 + &7*GVf!6AL6oA<R@O$20U(#%PQW8C>Ehkg10A\H::d4L(L$FT]ejo=6=cel]th,WFl#cZ_T 83.443 + "5m2`N0X,H%JX==U0p_%i2-j=ecuWg#[jm/i1:D9p(*$t)W/dYhqenO/e6hu']Dl]?<uLI/ 83.444 + MuEm'Ae`diMINN4q%l!%:QYe:duJap)f/%*";N]@Ka5MSg*/`,`(k3%.5<K:krIK-fUF2?l 83.445 + eB:/a$T7*`q2LioVkL/g_"d7gQmlj!HPA2DaA_1uhUoj(:40FuSH939-;bj/+lt[QENh4QG 83.446 + !Uj5rPcp-7UB5i`\Hj8^K:2BLlO7,m>_%,N^CQ:L"j8E?(.jJAY/[RF`H+66hSA9LT+p.sc 83.447 + S:urHij@2i)2BZFD_+#>RAL:I>G$!d[=P>Z+jZZl,8K8L;h&XmRQ'pS9i6p`l@-/55jsFR" 83.448 + 2Ikl=AEHp(T1F.fG%]rlB]bUpk,)nU[VP$FD!';ck2pRDp2B*uE9A!Vk9b642KS%NFQZ\Ik 83.449 + @So#G&EU@A`oA)kGERg[X72WI-9(/kN76Vp4)91JERc"kU(oF2M:3_K]lHjk[oS5G),:9M! 83.450 + 1.]kba7$[Ys@hN9JiPkiRogkdG'mA;?b=LR++(&[;Sl?YNBr$YG]_%[H:5Q"bE-l&M4op6k 83.451 + 0RRq\IUC!N,\fRE)QR-DV`l!C"I#,2@bUM<8jBr7`kAtS?pV.t1Ll#s&kVOd"4W+qotl?9. 83.452 + A-Eh10VX!TOCAtMS%\@GWXD15/CL4%+hQpqa[VIM#CHf4CSuuk3U[([fCQ>o?^6e/7[;5cQ 83.453 + CMq"**jfYl\SP$QCX0k6m_N\aX)(h*m%0a5k/6Nib\PeNljh5'f"Z$-_efn0Co5QqI`H9U` 83.454 + pD!rCYm'J51aTla_`r0D4])@(>%rfg2)M\m7,LjL>-PlbAI76D=5j>hUq2_iU,4SmKV5/k2 83.455 + g<3b3j/lmXEsZNnWnZipITBm[if`T%S#Dm-]VuDPkqOY4$9Un8;j4m`+AVG4TX,ennIYl%% 83.456 + ?@#Q~>Q 83.457 +Q 83.458 +showpage 83.459 +%%Trailer 83.460 +count op_count sub {pop} repeat 83.461 +countdictstack dict_count sub {end} repeat 83.462 +cairo_eps_state restore 83.463 +%%EOF
84.1 Binary file 0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Scheduling_states_2.png has changed
85.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 85.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Scheduling_states_2.png.bb Sun Mar 11 09:26:44 2012 -0700 85.3 @@ -0,0 +1,1 @@ 85.4 +%%BoundingBox: 0 0 785.04 307.92
86.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 86.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Scheduling_states_2.svg Sun Mar 11 09:26:44 2012 -0700 86.3 @@ -0,0 +1,210 @@ 86.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 86.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 86.6 + 86.7 +<svg 86.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 86.9 + xmlns:cc="http://creativecommons.org/ns#" 86.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 86.11 + xmlns:svg="http://www.w3.org/2000/svg" 86.12 + xmlns="http://www.w3.org/2000/svg" 86.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 86.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 86.15 + width="744.09448819" 86.16 + height="1052.3622047" 86.17 + id="svg2" 86.18 + sodipodi:version="0.32" 86.19 + inkscape:version="0.48.1 " 86.20 + sodipodi:docname="Scheduling_states_2.svg" 86.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 86.22 + version="1.1"> 86.23 + <defs 86.24 + id="defs4"> 86.25 + <marker 86.26 + inkscape:stockid="Arrow2Mend" 86.27 + orient="auto" 86.28 + refY="0.0" 86.29 + refX="0.0" 86.30 + id="Arrow2Mend" 86.31 + style="overflow:visible;"> 86.32 + <path 86.33 + id="path4008" 86.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 86.35 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " 86.36 + transform="scale(0.6) rotate(180) translate(0,0)" /> 86.37 + </marker> 86.38 + <inkscape:perspective 86.39 + sodipodi:type="inkscape:persp3d" 86.40 + inkscape:vp_x="0 : 526.18109 : 1" 86.41 + inkscape:vp_y="0 : 1000 : 0" 86.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 86.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 86.44 + id="perspective10" /> 86.45 + </defs> 86.46 + <sodipodi:namedview 86.47 + id="base" 86.48 + pagecolor="#ffffff" 86.49 + bordercolor="#666666" 86.50 + borderopacity="1.0" 86.51 + gridtolerance="10000" 86.52 + guidetolerance="10" 86.53 + objecttolerance="10" 86.54 + inkscape:pageopacity="0.0" 86.55 + inkscape:pageshadow="2" 86.56 + inkscape:zoom="1.7990428" 86.57 + inkscape:cx="380.09076" 86.58 + inkscape:cy="756.04202" 86.59 + inkscape:document-units="px" 86.60 + inkscape:current-layer="layer1" 86.61 + showgrid="false" 86.62 + inkscape:window-width="760" 86.63 + inkscape:window-height="878" 86.64 + inkscape:window-x="889" 86.65 + inkscape:window-y="6" 86.66 + inkscape:window-maximized="0" /> 86.67 + <metadata 86.68 + id="metadata7"> 86.69 + <rdf:RDF> 86.70 + <cc:Work 86.71 + rdf:about=""> 86.72 + <dc:format>image/svg+xml</dc:format> 86.73 + <dc:type 86.74 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 86.75 + <dc:title /> 86.76 + </cc:Work> 86.77 + </rdf:RDF> 86.78 + </metadata> 86.79 + <g 86.80 + inkscape:label="Layer 1" 86.81 + inkscape:groupmode="layer" 86.82 + id="layer1"> 86.83 + <rect 86.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" 86.85 + id="rect4618" 86.86 + width="245.17555" 86.87 + height="96.120583" 86.88 + x="248.82765" 86.89 + y="196.71402" /> 86.90 + <g 86.91 + id="g6133"> 86.92 + <rect 86.93 + y="223.7659" 86.94 + x="346.78796" 86.95 + height="19.030159" 86.96 + width="51.619602" 86.97 + id="rect6089" 86.98 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 86.99 + <text 86.100 + sodipodi:linespacing="100%" 86.101 + id="text6091" 86.102 + y="236.91867" 86.103 + x="355.0636" 86.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" 86.105 + xml:space="preserve"><tspan 86.106 + y="236.91867" 86.107 + x="355.0636" 86.108 + id="tspan6093" 86.109 + sodipodi:role="line">Blocked</tspan></text> 86.110 + </g> 86.111 + <g 86.112 + id="g6138"> 86.113 + <rect 86.114 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 86.115 + id="rect6095" 86.116 + width="51.619602" 86.117 + height="19.030159" 86.118 + x="426.78796" 86.119 + y="223.7659" /> 86.120 + <text 86.121 + xml:space="preserve" 86.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" 86.123 + x="438.72571" 86.124 + y="235.94211" 86.125 + id="text6097" 86.126 + sodipodi:linespacing="100%"><tspan 86.127 + sodipodi:role="line" 86.128 + id="tspan6099" 86.129 + x="438.72571" 86.130 + y="235.94211">Ready</tspan></text> 86.131 + </g> 86.132 + <path 86.133 + id="path6155" 86.134 + d="m 322.39366,234.14931 c 15.56383,0 24.45745,0 24.45745,0" 86.135 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 86.136 + sodipodi:nodetypes="cc" /> 86.137 + <path 86.138 + sodipodi:nodetypes="cssc" 86.139 + id="path6157" 86.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" 86.141 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 86.142 + <path 86.143 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 86.144 + d="m 399.05855,234.14931 c 27.79256,0 27.79256,0 27.79256,0" 86.145 + id="path6527" /> 86.146 + <g 86.147 + id="g3898" 86.148 + transform="translate(0,0.4467926)"> 86.149 + <text 86.150 + xml:space="preserve" 86.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" 86.152 + x="267.54309" 86.153 + y="254.91867" 86.154 + id="text6077" 86.155 + sodipodi:linespacing="100%"><tspan 86.156 + sodipodi:role="line" 86.157 + id="tspan6079" 86.158 + x="267.54309" 86.159 + y="254.91867">Progressing</tspan></text> 86.160 + <rect 86.161 + y="271.7659" 86.162 + x="267.2655" 86.163 + height="11.804094" 86.164 + width="51.619602" 86.165 + id="rect6145" 86.166 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 86.167 + <text 86.168 + sodipodi:linespacing="100%" 86.169 + id="text6147" 86.170 + y="280.90646" 86.171 + x="269.74329" 86.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" 86.173 + xml:space="preserve"><tspan 86.174 + y="280.90646" 86.175 + x="269.74329" 86.176 + id="tspan6149" 86.177 + sodipodi:role="line">Suspended</tspan></text> 86.178 + <path 86.179 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 86.180 + d="m 283.06571,260.15959 c 0,10.07749 0,10.07749 0,10.07749" 86.181 + id="path6153" /> 86.182 + <path 86.183 + id="path6713" 86.184 + d="m 303.08493,271.76394 c 0,-11.10513 0,-11.10513 0,-11.10513" 86.185 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 86.186 + <rect 86.187 + y="223.31911" 86.188 + x="262.8187" 86.189 + height="66.833359" 86.190 + width="60.513218" 86.191 + id="rect3890" 86.192 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 86.193 + <text 86.194 + sodipodi:linespacing="100%" 86.195 + id="text3892" 86.196 + y="236.91867" 86.197 + x="272.02063" 86.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" 86.199 + xml:space="preserve"><tspan 86.200 + y="236.91867" 86.201 + x="272.02063" 86.202 + id="tspan3894" 86.203 + sodipodi:role="line">Animated</tspan></text> 86.204 + <rect 86.205 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 86.206 + id="rect3896" 86.207 + width="51.619602" 86.208 + height="12.915796" 86.209 + x="267.2655" 86.210 + y="246.54515" /> 86.211 + </g> 86.212 + </g> 86.213 +</svg>
87.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 87.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Time_in_VMS_1.eps Sun Mar 11 09:26:44 2012 -0700 87.3 @@ -0,0 +1,943 @@ 87.4 +%!PS-Adobe-3.0 EPSF-3.0 87.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 87.6 +%%CreationDate: Sun Nov 21 13:32:58 2010 87.7 +%%Pages: 1 87.8 +%%BoundingBox: 0 0 330 127 87.9 +%%DocumentData: Clean7Bit 87.10 +%%LanguageLevel: 2 87.11 +%%EndComments 87.12 +%%BeginProlog 87.13 +/cairo_eps_state save def 87.14 +/dict_count countdictstack def 87.15 +/op_count count 1 sub def 87.16 +userdict begin 87.17 +/q { gsave } bind def 87.18 +/Q { grestore } bind def 87.19 +/cm { 6 array astore concat } bind def 87.20 +/w { setlinewidth } bind def 87.21 +/J { setlinecap } bind def 87.22 +/j { setlinejoin } bind def 87.23 +/M { setmiterlimit } bind def 87.24 +/d { setdash } bind def 87.25 +/m { moveto } bind def 87.26 +/l { lineto } bind def 87.27 +/c { curveto } bind def 87.28 +/h { closepath } bind def 87.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 87.30 + 0 exch rlineto 0 rlineto closepath } bind def 87.31 +/S { stroke } bind def 87.32 +/f { fill } bind def 87.33 +/f* { eofill } bind def 87.34 +/B { fill stroke } bind def 87.35 +/B* { eofill stroke } bind def 87.36 +/n { newpath } bind def 87.37 +/W { clip } bind def 87.38 +/W* { eoclip } bind def 87.39 +/BT { } bind def 87.40 +/ET { } bind def 87.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 87.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 87.43 + /cleartomark load def end } ifelse 87.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 87.45 +/EMC { mark /EMC pdfmark } bind def 87.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 87.47 +/Tj { show currentpoint cairo_store_point } bind def 87.48 +/TJ { 87.49 + { 87.50 + dup 87.51 + type /stringtype eq 87.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 87.53 + } forall 87.54 + currentpoint cairo_store_point 87.55 +} bind def 87.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 87.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 87.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 87.59 + { pop cairo_selectfont } if } bind def 87.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 87.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 87.62 + /cairo_font where { pop cairo_selectfont } if } bind def 87.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 87.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 87.65 +/g { setgray } bind def 87.66 +/rg { setrgbcolor } bind def 87.67 +/d1 { setcachedevice } bind def 87.68 +%%EndProlog 87.69 +%%Page: 1 1 87.70 +%%BeginPageSetup 87.71 +%%PageBoundingBox: 0 0 330 127 87.72 +%%EndPageSetup 87.73 +q 87.74 +Q q 87.75 +q 0 0 331 127 rectclip 87.76 +% Fallback Image: x=0, y=0, w=329, h=125 res=300dpi size=2165625 87.77 +[ 0.24 0 0 0.24 0 0.991089 ] concat 87.78 +/DeviceRGB setcolorspace 87.79 +8 dict dup begin 87.80 + /ImageType 1 def 87.81 + /Width 1375 def 87.82 + /Height 525 def 87.83 + /BitsPerComponent 8 def 87.84 + /Decode [ 0 1 0 1 0 1 ] def 87.85 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 87.86 + /ImageMatrix [ 1 0 0 -1 0 525 ] def 87.87 +end 87.88 +image 87.89 +J3I@:BHu(:pOk^R:T.dk*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 87.90 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`C/m<k<ioH)<bk^Hj`\=EYZP^B4!g 87.91 + 3;'o"oFO(X`dh"8*[iD5A+f'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 87.92 + _Aoh+fk'&t\ctIN)4XQLiVpoI(>.nOW?*DmsG$@,,f58"PDKf<uk4a;=i,EpG4sq/+a5h8d 87.93 + >eAJlo*B]ZT!'31_l[h@F?.u;GBO/Fms$q.0(\8JhnaScr]a26g[)`OH[c!ea5-IbHN.>J^ 87.94 + &uma4O=2qs$*R]rqo%N,N/ekE&6SU_%/pY#XOP%r<0s`>VcdTn?Vp$6h#Hs$,(:o3t4UJ1d 87.95 + _,U&KE;87<)6$&4UXR>8tG!P4okbE:do]7$5Dp*BCCsHPf9CjGP9SnfmZ1_N<P!(W<VLV's 87.96 + ;<['M)NEcU[r8b'0?1!"Cb@l$\47%5DoZW,[19_.8^3D8sSk:fZ;U@13?EtkSs9(MWO4YG4 87.97 + F$U78RFTXQtoORPZ;"=bh1/W+Gdn<DW`8=*<Zo'p,;=t(t:+\<q912Ep<4>aKPr2cC;DiIe 87.98 + =]UeUj&Ji3AS5+DoHeiff@<$:=41&B!EIOt*KsUYFo?So=&oL$B%e#sM.tF<D6m'kFksZG= 87.99 + uLf4CKoB/ED,(FrP`g5G;KJD?.$pUG2AN9::[qD>26Ti%akKdi"uq-J`)nJ%>3UV:)/KAQu 87.100 + 3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOfAd`n:WD!U$%]D85^LXAf6I&RHBp?D4'K(L2E 87.101 + LD\^#SOB:9<[SS1%?LS/=k^5o"&3Mqk7kIM_.VeLHHVl/fmm]ihX]$@^_CHC=GWp8=[_6.G 87.102 + Ip;s^Yq_lp-laqo/ZtJ-*Qb..IQLh\)\o,L%Dn8]q]k9FI$c6e.G5&spqr\X.EVpUTU@<PR 87.103 + A]/We[i<>"*&ft'F*r`Zd<%L:n'Gma-U5juI-3<;Bq:#`eTLhgA(u0T2b2\G]Va`?F5=$Fa 87.104 + S4O<Kus,g5Cq=/4n"TjpqDNUjCat^LZ*PCVN'tW?8nqBp0MZ9lhTE;^$Yasn#bsN5A.7crA 87.105 + p#"Wd]5c/+EA*8)Noa?g#T.+'\5aDup!QVmuYsli_a@$3J#!)Z:dP#(E\'$,@AU"^jG(Ja_ 87.106 + :]4,:cLTH"St0KKBRGU!M<*#aL7.MK[t;[4G_b'spRejB-\$Xn]JL@Adp_74[ri=nJ-d';? 87.107 + >8:_*l/+/6J1*a["QO0C67#A/A.DtpsrS[;CL9X2j^,VAoU1@>\O]jA*LoV*Hll_7l3\Wu. 87.108 + gD$Cs0o&V8,=2&86dB[m3_Z@5(7&DoU]c71;@Z#a=UcP87#@%(/k/Cb*@'WuOciU;8kE/;- 87.109 + 03"4P>Z9n8_H6SjTM9A;N=XI=\U@,7&cGLY#\0J>q>#iZ'J;5>"`"8/`jp]QW!6X9A+_Hjo 87.110 + iMf;\!81=cG/u7*1iq/nRf1SMTD]d@+!/C/%j52<Mi1Ar?r&ZI///fqAA8;iYln=j8ti7-U 87.111 + 7@Y'*Rnh)jeQnX`\)H;@]24m0cZT2V*W:YG\2VqhBH<"=LV=q*d]71#Ye/r!3V*CK%E&Y`6 87.112 + "MGF!I7HgikUJu,k;;+0'kli6+<0!,>>"qTQ74G'4Y*Mu>>ta@_(SC?:RT!C,:$KVWVc<)U 87.113 + ;qcXq.?sn2oa[]q>)b^V#nJY"XQ^N]^s)#qefFn8WWn?_:hT!NX&Vu!<@X&2lNHIQ!!9CU> 87.114 + 0U497.@3VEiTD%a&[k)>cZDP\l7n7?#.E)Y>t#)=5*U[lihs1<N`@PHEg^*Ok-a;/s"V2). 87.115 + W#eOg8"_H<<IE>AJXkWg1lP=kXU#XS&9o<J%$.lBX_,2,5=DL5HEJ>SCt.A%#>0[b<f[6#? 87.116 + e7[oVq1>2c/k!c>9P<n?,4>%:Sc29EC10'6EnSTF&'^:4sdZ.r!GF03^=]2rn<?$iDaDP]Y 87.117 + 1f661[S&osE7.@RYmaI53R`hg=:nf23qHb,>.IY7?\Q>6u?ebNCn"ApZf*_E_HiJ";jp/_) 87.118 + 0*Yh>*J<RY!Pim)!oXM7JoJ.9_cUg_hcqO2n?*b9G[h=p>:"UUdF'/u,,^LU,UTdM1:S+rF 87.119 + &a`=N!.M\a&neM@SD'.mTqlm<l5hN>]"8]`]>&!!l3j_R?R2r;9E$:ULYi-N9tdG3nW=,A? 87.120 + ;b9Ectg6=cW_tC&aJ'L0>W9Eua5Qa]Yq[DpD>F'G.:4C2\Y"[?O"_NZA"fm$;Y<)@j+:h#F 87.121 + '&mE!Zn01KX2*MW0[iR.>i6"rJ6V<c]pdhUn8l+K5J1T:)oj4;anX6#s1<M.etb7%B%$YCg 87.122 + #E#AGsMcGaBIPlfYXgf03Bdr_E/tEdhRh&h=H.u$#m,Q?VA4C*4o5C[a6OC9_?Kp91[HTU# 87.123 + \Fg)Ddj`bJ`BLi)g<3YplGpCn'st!q(LM"VOc21,s4CcOG&(7\Z=arrYk;dE:Q;&K[[,Fhg 87.124 + M:VE?4FaG7=!gT_hI1=d:&sPj;@dJR;i#Y7J5L3h]'(=@u]M5\"<9Je6e4(We4P8m.B2p1P 87.125 + "KpX/bqj1$2HeL%.bi4ZIH4ebhdSeZEK&q&Mc\eB<f.IQ,$NGad[apQ4pINB9$f`oPXmP\$ 87.126 + 9Ob5#_>jnj+ep"BqTFWRC*F?akt$TUM_D_N:.#Gp6La#Y^mD8+P@HL2\:7IeDpUA,N+pNcX 87.127 + lB:e_`f#t7A>!L\e4h0lag6p5mfm#1mDk-dHaC5)44Zg-*!$13Edk:HF4<K*F?45##cOK.; 87.128 + 8#c/\Mo8`$($W,=Mk"*;i8HmH5:X]o]KTYIq4@oT-Wco2reC?s+%b^B^T70;/r'5MiS$G\a 87.129 + 8/!K&,UXqjZTekpQNeXGOL)b]ALNphMQN)J!!RABBbsGXQN=+$.uXK&+@+<@F1UplmEQ\TA 87.130 + P`[h=-m5O)Va(XQ;(c^4CV2mb7a#HCaMb\.BAE+o]SZbc<5#r!R&U$j)sEIa_*8fP[Xg9Y? 87.131 + msPkRekrD61\Ds#nPlCeaVgW@V<:B($faT'TeqWb;eYR&#u'`g!!!K]F9YT3`5+TbJhi\2k 87.132 + M$YKPLklXXm",Yb6?i[>@6Ca-,nun5[n?E?T[0mODj:G@bOBW(]?H+Y8^rab(OC\L=M#_Fp 87.133 + S<.jo&?GjC'aMPLT?r0+Y_L1pTWSjUWt:L90UN^HS=MA.":X)nN-,8b[h3TsSM7Y>OM7B,_ 87.134 + XXVO"onZ'OO4K_K*LhtbqC(;d,=dMr=3d.%^:Jl&0CMl&0!>2&Wljf0`M\=#+Z?1$>INfYs 87.135 + f'u)YHk@[1,[Q0#jU-V!YDT&l57j:[fImSA6jr#n`>kN$R!%<1M8i\.CFjd#+IB#cqtNSM1 87.136 + cQ;)Js35n'aM)DRj#ER:5<LCQ%rTM['7$-*p!ko$ZP)!TEfc79fIb8REi)X62f&[n_P\t'G 87.137 + J*/W8ZnLk>#f,kTI*ASWYnfZ4tf,#P1*NAWNl2)4ci?%OP&Fq\'.H;S.rrNMI++Th&d-.?) 87.138 + !iRjYSFR#Zn7j'9&LJsO,Z6QF12un!-JD<g,4Y%6ER,M#Ii4D4):2W[&o=2G8=WRP,nWcr: 87.139 + tm$H"Y(tQ-1CRO8]`<"YamP5"L<(6d<`LMn=/b'`QBV*O)hZ;$Rp"j-o$i4ntbJHoUa>E+V 87.140 + K*kDRUQ_W1FE_"7]Y$dbQ.,"QKik.uZUB;[V\#Ik1#p/II*>'%\aS)(+r&,RMQIo-H+i!hE 87.141 + 6V#H>m".JkEjfe9I;#kK](EBc-u&.K9^2+d`Bdb?Af))cPM2QRoRc)!0KSt7\l/'nA?1Nt4 87.142 + q2]P+YVGciP;a:<r7%JBj#h&`0o7o1Wf/8bg0U&H,DJM/Z[*Wl5b4=&s'%nN$I5d4^1D>A4 87.143 + ''gNOs#B!;3AZtl;jumUT.Vp1S[(ZS;suFsYr*3'dF,nFo#T>/bbL=4XE3&Hnf$^JlOqJ)T 87.144 + 5GH*0_h0D&OF^m2lY6+P+`Q<pGt,,rDX-)'Fs`@q)@hd6'3@_oH)q390R(/6>?))e1@.)0V 87.145 + \0r4B+C3oPmAORmZIn6o"!pPXuLEbs]AC6Bm$WoMmonbsg*85."dhP\-Q[CFI[G7oZS;P^, 87.146 + 7;4Z5-t5no"]@5Oi\)b'Bh8HH^^e<`<s.5Oqo9XCEV[%f9R2"ibe9'jXK/6'Ssm_u1t#B8] 87.147 + Qn\[aolTUGR40g@O'Xpi$lVUMS$)u/8YKjRuK2$Hu9BjP*'>mXH(J`>b:XU[g'.Z1_)!t<4 87.148 + ,1RQ/eP<Uh*p8e4\5an3ePB).0f([;;O'7Col4%_nPdXt.rt_iF_b"k;](c3!Hd!fZkZHG< 87.149 + oWdU\s6W%<C35+B0>e-:j$nam!i)oYpP=H8b-W1Q&#aRI7r+-=Z$^eaidQsRi+)rS5lH@[? 87.150 + 4Z%`D73=rY,R4nuYBEpK@1J<=`]UQ.9.4a&hro>a:!k<S"Ts-!dn8@'qk#e`?O+o1E$W@$U 87.151 + [m25+C9dpP%-@J2?X2D&>nVdG^M@e6p7'nKgP<Fp>UVR@jI<,H0Rb5et0<K,7+[QuO1.qD; 87.152 + .5?/#"p,sbr:Ls0'BWN"]o0Zuq;.:;3SP0,qQ>p0\B407YB9mm*p4$h!WD_<&:"G9@PQ*1U 87.153 + pna'27<YY;[^7.L[&>h%-l,`r<Y&l/X)7Rd9")?8f"U9Ib=P`e@.nW3QIef0:Ik-CD"^57c 87.154 + rk/7]0*P;@CC`*2^*3#,bc(K5#u/\G7'kL!reFBDmhH$FkLcCd;]pVBt$TRpEt)7)fi/37@ 87.155 + ,$32b]do2[*8EDRU^,f3`W\Tl1WRFB98s(KA4O_\_qI(b/S.eejtOOUbA)E;*47ePr'AgJ] 87.156 + R(GrL4o2f3^SK'#"SENU+'FFA&rm'[5FH?Ep=f6MA&JU7$XH[":opYg/e@rrNl)pf*\f:-t 87.157 + CT2N.mS<qK(M@X-^`I55UJ?,-V(Ta2E_1+ALG?:JcQ_b0NWCYY,H.V4[3$!On)#]$jrRL83 87.158 + (V>)SefXWg!#&c!F5qDMLCBIt:3RA)<Ijt>!?RR,K20+53%KJMnV"DJEO\pS1JF<Y/P:,SJ 87.159 + =%9spgo2GiI?)hM7B*p3"^MhI%6RLB@nc,R"%FOabY,*I2I$]nYk@Q08Wb'M>5<*pnNQ\N1 87.160 + CfdCDa4GGdE2Zo7`K<Tlq<115gUKf8T%!K7WUl_<lmKaU,;e>m]&2pb@VmQ[VNd+V&skbC* 87.161 + )%m>=eo:,$0S3;%IipsJk0J#UnZ(?^a'07B6FSG=/[Y\(;r,h6#I@ehT!3AH9!2jS`':>%^ 87.162 + \$."hR1OE6IE1$BamX^WHTp9Q`P*Fn)Ohl/8CRJs*QMCu;\0ZOr\!NG$P\Jm>)'P8Gc'!?V 87.163 + -M_"QQa;<)R(HFTO@gXq:$1X,Nj*#qH$R4=fcH^3/LKuE=P*A8)6BAh,ESnX$5pZC)3%7gV 87.164 + &Pf6RX)lBCc.amLRh24SUoajeU<@#kb#EFS[mokq<IL<4cS^`T6>.@nS&q&0:9;^FIEFaG[ 87.165 + 6ZI&Z'eV-UY#,/SCV_ri0-FQ8n&$.PINqfqS4*UGs?k(j)?14a_R,>$=@\)G,k_8LF:0-(5 87.166 + 4.fh80QUnsLo&"4?kWQ1m&mot)_Sf(D'H7*1uI@g:nWHo)B9r4JnO.Z&ATJ\=#Znmh*VS)` 87.167 + J(_>W"fj=/h@%>kubo6Bg>*#'0ANijIg_l<KcSicUSS"+3N/>SOd%udYnB]C0D7LONGVaV[ 87.168 + \Zp+1'\GpYCWWb4rNC0.a%`B1RlaWlb=X8CYc`+C>">h0@l6=eZ;lYi4!Md\d+>l[E-_%rf 87.169 + )_peK<oN`['<c<3mY/PQ+:_mZqg(sO<_-c$agoSZck/3MRBk.i@A)KBkdUUE880sCU[?8>T 87.170 + 7YogW5o>Gh.3nYo/fLRtRYCM%CVc$5ohRS+*1WSGKasSGN*'P4u@A,t;%"Fh>&nPJt0R+1t 87.171 + fcTDKX=:><6,e%K1N]t0oOqn5ms1od$*]!g_8.iDZP<Lh@VB$<HqGUGg_)SXp\(KLUI>V0+ 87.172 + I#Hu80WjQ%-qDjd#9>>C<`!eH@lbg[ZV3Kb9]KBCrgjlh<@sQjB^`$+AS8D.dEMtfN@N9Xa 87.173 + >^adX[*"o&`XR^B11eP-WQ=`]bGqhhGP0(NRu!N>V>HABr25JhAV3+Jn9h^jmgm@\-cfBj3 87.174 + 0+<gQV#EPfsfb(n(_TY>i!!;9?oTCO^'QbS-rk4n@:YL4"OMcW[d2si9dPu`uNa&DQu7OFj 87.175 + <S)doaQLmX;/14P-`[=cg9,M\FF><9Z)-hJ2!M>8PeXjISM:^E#;iC[ipg-GeM3&Y4@[*Bg 87.176 + Cu3jmUNkc6\\*K&O=Fk(=,e[G_5$TH.TQK,++:[oP<SSnN,F4%VVSfN+krJn\,L"Lh,h5h^ 87.177 + N]oUi/T;Z%`eFR&"!DhD>J(cLJ&Y5hi+9C9cb2.PUT5B/6^]E$/[FZ@UdJY)pl,h`Ze(?Ge 87.178 + WEn?>pib5:2\%u3`Z775rBiGj8)/sQhjmX%h,WAS"_QTtgHB)=ILfBU^YBuZgjCog4E@!!- 87.179 + 0(Qdh0q&b>3gFEm`GAkkPgFCSr;h3Q0EabV`p=/^7gsDTB\:RkVgH'?Dm([[&3i/l[HP5rk 87.180 + Y(q/aP[CM8$UgZaVJ7^$=sZm/GE"lPk_1iU20Zm_/_ihXQQ]h=!*BO4aQPN1o]hq=&W9m!f 87.181 + ?2rt4N\"n=ep/,pFUYd<WN0ZnkenfKHi*ZstQ2=l4)o"R3Vn(%$e5kR>f5YS0L?Us_f;>!. 87.182 + VosVX.IpMb#&b[;Wi?(^;heVsNFn^B2pV2.Ns+0quQ.!&4m@T+-s,m+AQ2,otq7iKrrd^(; 87.183 + Pg7[)n/nA#s0;Gc[JPHaqnKiAl0J'BL8A,AbjC/E>es4JKj\\U*8eQ?hojAp_:9]ir@1;`s 87.184 + 4FUg(&gC#X1bk_&,6hK#mGrIi=MAU/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV 87.185 + !t\Y$!?C9BHe<jNIW^Rn`&Z1ZC07a.GIB',]0kM)M(]BN1BeVO9?=;sG)9Ptn;YX&\I#Ra` 87.186 + *q33Q'>;oE5BO$IqjiDb+\'%'aTf5':Nd`Ufd[b^BgS(6rrrkCYd%u_1V#kc)CT,7gfpDJ= 87.187 + fj73jp5#32=XOA1K7?O?*BZq-3'^OnB8YsmMoajfWY.p0!j_O[<AnsA>QtQ%Pb_&9.WS_Xh 87.188 + *$,n,M8eLpq&GqXl^.\(Cb+6kc-pI"VJ$:I/luu%h=#Rc*%l-pT6eQM[[Gftj0RdLD]0Z=Q 87.189 + d=on^H\u!T@O\Np;A[Z@J]1Nb_gMT/P2t&XM!i9i9WKXX<S$<E2!dC2c)9u"99!2Ym)MtJo 87.190 + 90ma=4G/60Z5''gf09>8K`uKOYlhEMB9;[?/Pc%E#3Y5-$uob&83>E[6Pf8Ef\`e]01.G.' 87.191 + c^Z<n0K9UnY*7)mGIS&Il+OY9ArS*n6M&*"(E^[)(*!Q[eubkN__I!ICgna`L#205;Z4\oa 87.192 + =l@MaTjP[Pn;rRa@-)B'(p`]4F]gS&`/L*hbFJUK\;XQs`JPZQ)"L$19jYWf/m#<_u<:r[X 87.193 + PLNRn4Kh]th*dN*oNE8)V\FPZ>ut_c`5&Tn.h9B\$u=*9U().V-;_+5=Y;V8AU.unD@N%ef 87.194 + dY'V8m9SIO(qnn"iG=bG9a_;+L]/'D,PR=;.m5$NQZTRGGJMfTQa"FA^iX2N7d!s"aOGsF! 87.195 + ZGpfQ0cE]\`;7JVG941L4ZA%BEbe,$0`f'ZF`!iCC0='l&KF8]"HIe<g.:Q"=YF*j]G#"sn 87.196 + M'N92^P+rJH8Y@@:mH&o*g$[RNfP@T#hjdJZ&V.k6e`L%\bIUk8cfW-BkB+<9,S`]_?'9FT 87.197 + 0(3Q>u\ME3065jaj[;BYRT;]&?RW#3jqRl^,k]kmpSsgPn^S&;&`lDuY4(ep>?u/6U1EQI* 87.198 + M#gu<7PU[308>;-DTue4&N.e&DXsK**lsSCc*"7*nD-ONe"Bc\/!=r:G&i6dguga,oC04UX 87.199 + %SnVe^X?m#D:u[DI4dDprG[*-$C.In'EF&WDChqSY(&PVS+U#ebGa!]9[elCO+)USAas5b+ 87.200 + .XlfD<,mX57HJ\%VT!Hp\(V=A2I'a5MJ6':4o8YX9/92`hJ%JL,uHJl6qtE.eqUW:M]/M]n 87.201 + .!YFUi@olBpLMt;RYS[Uid5ld$%?@]-a/#$\iLEKg_K'thC5m!GWM=_KomV32seacF?`#XV 87.202 + pp)cZsGmE7Q+X(e5RmL0W$-(1<<Y/E._d_X7#>?linBnp9k\a':b8Pr:!\["8FV(906m5DE 87.203 + R`'de!XYP[M6UM*`<*dgU81h*:\:_UPFV:j"FDeurEkV=b5NB$CHFpI^6<6=6;l2hJg<BGP 87.204 + >nY)@d*tLn//Ns=.p\2PZ]K>DE^Y`kelIA23B..7t:ma6Y/BBM:*.K'8\8,:tt2tEP/E>Bh 87.205 + nnD"M:"`p0T6t7+[^@M'8%R<6S<n9r2B<M=S<Kb7YC<iRF<ad^c,E3I`r!dO^b0Bh(i`(GV 87.206 + VBNgVXfTY,QSC5\%t+S/2f^:BXhMTiT#TE8Cn\aW3uXFO^#TZ+.0n>cltD^U]K'1Y&=4:$? 87.207 + &/<I/LcDf5Y9Z+Pm0/eW]B^IusdDhhH_L`'9%2*>AS"W52L(ihm4J6g7+Oj-\93NB;A&6]j 87.208 + FOlp[H>mgOm2r,L-4/%^,tZ*>.<JM.U6,4Vgn"(VV+"9X;jsCZAF%<:Zkdf2EXP\-,sd^th 87.209 + M0=43CGA,&h13%<n)0!9^5n]Xb9i.T:th*9I0U3:-m6j@`1VKEAa?K/bbHTo2m<H@^'td!* 87.210 + E^X;sS:Y.J;K"=:u?TkHm)iec*2pb7RnD3>>ZJ.$[qIo4'?eUU6>ON*,(ZA-bnmYG<Yp!"2 87.211 + e=WJ+'TFeUKh3\a(j27p>V[a\H").'>K>I&o?f@q4'B'r5*Za?s7g@B)rD=++#kO,l^8cW/ 87.212 + ar1tQ7T$uKV%.YJDi3Ua9h-E+hfkbfdO]0j"hKN*lD]QF%UnUfEbL:oYebb]bDK&4KgdTh3 87.213 + c+XtM_U?((gM[8n_3d.\.1+(BBo*G;GKU0JMfEu\8OC/crs%:Mr4s-Kp.X(HrQl2;.II5*R 87.214 + .^mo^s"S\0,>A.R(_;6Z=A<%r]@*ASpKD%l&05`0t(2qg0Yh>N3B*8;%j9[K\;]Q16tk]NM 87.215 + snWU2!f8AE1ZH+"lSi0pf1H7)7K.%;&9KP&d^@W]=E.jcXnTigpk+R>3S14N3I>7WulKT0/ 87.216 + @;7K<q<;9b?VIE306rb)3X]33X?fW6SaDk:L[7%6g4>TKT0Q>4FMpH3&)-_L%A*fSWqP\H+ 87.217 + SWc_4he8n[FBtYsL[,qM;Giqe9]l>GXDIq;M(Er&q*N_-n0[uoPYNq_gLg3UI`6o<#OpesR 87.218 + T`@fn3qI"Mr9p5c*KAYI,5uA`%CA[5,`J&?j^[,mSMFNA,k@LSmHrlFGEOi=";c&_c)7sn7 87.219 + ekece<k/[kJ1;7!$HXFc>T54[IjI3g=rN[Q#5<fp_;JTDqoZK_=&N4[b2l`ZJpthO(L@I%c 87.220 + Mdc?Z'Wm[s4IUi.MK!7<0KkD@[uR*$9XsZ<*]0AmFGFpRcNuO3:&n0-XZEI;81AbrIg]h44 87.221 + YG2P,WM#`hI>="g%OSqKMBd5B!N4tpYqqSG'qcKQU'XV5?76fZ2,k.EpZo8^+G]8p9br<or 87.222 + q?ID3Q?DlNqpJC,b<(D*bG^Q(2_g$YBi:laUmbe2[OP]_.qQB__rWB$\^?=L'd['=Jba`qK 87.223 + )<?*.DUJ=(`KDkZj1I%7MuA8@814)`#uXrW,W_a@4fQ#n%tEQ"V(?koEU,/_F7u)fL&67Gm 87.224 + W/>VfJI6u,%?`bl)2DpT3(=k+,H#,W=AYA$fcHf9qSrX2o@jBD#=gap&@q&q`%79OO(Q9r1 87.225 + ?O;T9_?uIt*5$YLEGho@FN5B"6TM#he;Ud$_YiJeA.l$*n_:UXD#PS0r9H,tT^P!1#ajrh/ 87.226 + ;^^aPY.e-$$s"V5p\56J4%//#NtG,jm2"69e$<!rulXagNb^s!]_X;\n-nJ9206(!/<$<TS 87.227 + 5[_Qtj1GfCES/-kg(U$cd_6bO&e/S[DAO&?@#V7&EHlt^BnidFF57AaP@kL$IeVO\O_;lr7 87.228 + ''cNTlame@TB"+NX2^3B#/\8p5>+bd#_O9ka1$F(]F6Qjg^FGc2ieq<]!Odj)rA??-+K%t5 87.229 + iU\;4?g]282?Do`!GMD*$IPAb/?8'%V.^b`'-SJ:_@M8]^[:9ZqNk<h)WD9$]Ii:`'u?V:m 87.230 + _@:0e>17aL9"]JXD;()4IB(5nU"VENu!9ZuF8LLd!K1:IAr#U%DS,BQtGYMFI<H[Zd2uU_= 87.231 + #u@]-/q7R2nf_T,,NE(:9-`bC5HN*Vm?pdUG@]#3[8`,*4o%Z-]n0/Ouq'RL@\E^e>RRu,Q 87.232 + 2W@GmiqR-N8a)JUZ1jOnaD_&JIQQ0/AK<`L&Le*J]8=YQ.XG]W^N(D0P+.S(m98uKtO@]kC 87.233 + 8K<mb/<`XfPY"Q6$&a\5]8T;YQ-"uQ8Xu5@XIDeoS4Uqq1b=[&%%YN<TLoWd8fXQt/>Gg"U 87.234 + _Ko%`N)I#9W(L1W(N#J8t;nRXK+t'LWWgi6X6]bm&s%ZYY,D09,t61/$D<$\I\>09/O(MCq 87.235 + !&b\4_dk9:WR7%'<*S]$&=29AI6Sm(Z3k^e>$kbIcEN'Z3U,`(WkD9O,S2Cq`RgLWjk^9Us 87.236 + 7!XNO;MbY66-a_A^cI)=+WcqOqr9cVSU/CR<Sh9=q`9&*WF7+Y.\fM.=X9q9p3WG5+[Y"c: 87.237 + Z:#+T"m,(P8i(aR*c,A2Y']VqNjA&D1:0cpV"LLNiek0c@cCF/pXQrWolqYd2:3cc[o^,EO 87.238 + n4sJ_:E8q$/;h^ukta//:L*ThD"g_QpbQIQ:Q5-GXSYf+r(kQ8+p?FeFPP3u!)O+*:`TU6/ 87.239 + HZ[Arj]MYbl%XjD$Nmc#Z-Ke:meoASI/3,$rG1X:u)UXk_)d?%oEcJ;&p9H/JCmss/VZtd6 87.240 + /7BD&6&t(f?76cK"t&>o?MQ*)Xs$;;E9cI1RRd/cr-u;B6p9>pE54#))q$!M(Q8BI2)T,Z9 87.241 + T#K\\+U,p<CS/5h`""J%/CD'jkJ0N-9"dJ=mgPqsY]0eZ6P"?<Rbof#fD3(bSUe!R=:GU:g 87.242 + tl@[&=$Leh[m5t``1*Gs?#*h#DqU8AK2Ud&:`E9=(_^u7l1/p+He!Mu@XXI/5jjVR=;rp4q 87.243 + /OhZA-Id9C</cf59[?Ci*n22seABU45b(bl%nSP6NNH)YAI_\992iN.:.7lVi"iFP=cDHGa 87.244 + H]#`j])\GkuHH,eSq#.Kipf[.k)3E:u,@_`B.+jj&P<5;sdqo/SJ1DN7KHRei9ka9l)6.Ad 87.245 + PkX8L\Efi]IS>6<?;Teu5(h]m3?ND$dmn<W\63ESCnUGfR43+-gjbgR)'UA^\OceW"`,T_9 87.246 + D#C03oMe"phZ]noJ>I#57Zf(Fe.\pC(*Ls`%6:5U/r.aZh]K[XL6e5VSPgdXNiPYc4C$+5+ 87.247 + _N7uq*Rb6?B=`bY&m#+s`mo_F*=?W-#h/nLUFkLPJ`usIPe5KO%PZaBBfr_2INLTtPSLkdO 87.248 + 7/7YQF=We[TH<Ko/rPeEWa=C=!*W'Yg=l[mn>"%`;D@Tq$R3\F!]Gk:In/:#4i+nOA&m>CU 87.249 + 0E-J83@G$nO1*Qc4kW64K5BEiCCmC2Q>_NP^RUW0rEZd!*Z5B9gu,:b0aF'=JG2lgYKBDJ; 87.250 + @F(iN.9q>I]Ppc,!A!YRcGZ]0n?igP9&SF:#Xt)r8QLh8GOP`NoH^O]C8YJ@PuWaHR.`^.l 87.251 + aS."g7\mTUUD??OMfjg85kOWN3UZ?p?9qn`N#p^1TK%UeX((kk84)kP<K&H2&\<U^8^.Zq7 87.252 + -3pJ(#&pI\*ck>I6PDU+3WO6!Mc!U+k>jY;>gIGT)gg9>8)`??*36Y_Hh-V]^Ln4/L^%FX5 87.253 + p;)1POM1J#jnde<'b;/J?e,C@D:Ssj;c$b!;_9fV7I"7n04)>X>?aTFEo]/J\r2RE7jrUQ8 87.254 + IO=PJR@(<[l,4`rZ0uMq*+[s<r&J!"rJ/B!*HZWboQpemK5<.)`\TF@R-Glg3R'`-K03$@M 87.255 + &Ym2D,<M,MlS.^QR[;@?N3Z"O?]V<$iDb-7P\g)-CIH0u\p)`Se3nIY1$0A,(YWOR*<8AWM 87.256 + P]=bIKCkf8[(+Ul>6TMVFF7R6#R^)Wu@NkhqI=L/>q;rKhP+%AYXjrYaC?BV`mi=4UIQ91L 87.257 + 8.+QmMbml5Tjuuo?j('BhjLtqV*aK$m6Oa5f8--Eb>.*F/7uX$1MIoHA7O=YF@:eYRAbj$Q 87.258 + `_PYC*b>D!iAfB.<%;H82i57W`h%#.@ROdHJ_kt;?BWFj[TT<t4P"b\f8MBeP;b['__`EN3 87.259 + JeIZIN>V/j!SESAJ2)`-:#%0I:j[]?.n;pS9T\G_chBM$*C,'FuEuYH=`+q9a4eRk'?.BJS 87.260 + 2-4`&$K,$GU6A*FSI=BFV0/*WCk1`oLY]Z@7uCL5#sj7R_,R^h'^*2MlqgMWJH.L_b+S*d2 87.261 + "9NLh29fPW$C2OWgkBaC.i=TX<=A7SsJ0.H2Ah$_],'J4&k?0KkD9YQPH]l31YgKJiTlCEa 87.262 + rY"'fZdqX7l6^0Xs#+gZu@7I\rl^9u)ETC7:[94[ql96q<*i2t=Q/gF6/9VE>b&_5mMBP`j 87.263 + #V5?-QG(4Y+PjJpLqtVOFu!gpYK";sCrX@-k-8bSam1O\/Oman/s#@LM<pPFLdoPL51)h.C 87.264 + 8P$n#j0EkT$PInY/b:]lioIL()GLSg$M)Tl<ZWPUcc\[7;KNslfQFY_Q^,-Jd<VS`4k(?2@ 87.265 + 'podI.J=mSRq?54VBZeQhmZmegqiNi:#/]g-s[DS@uGaFWd9\npNt>p8p\7d9:eq$8=ASef 87.266 + 1UG4V:8k%n:KLs#S`C#h^/Bn\`^LJ@[,VX?lrLI?%M5pl@l*s7bAo5OWGDbA#>-O3+>nLAG 87.267 + _-[uHlY%M[oMK)mTEJFL4hZ9;Z!q?ljn4i9'k1=QYgW*M_k%Pe!f+dYMPD9WpMEQ#;No7u# 87.268 + +E>dhnII'B%h_&J+)*)&DQaPb%jDS",B='Jl2F&--RQMbd-SM"].Q(j[8cQWK6"-4fi;YCT 87.269 + -!Mm22Ks#kPlgENef,BEt9<2`BK!]Eo;#anaPEgF-0DlVaa>J/$!S%6g$Vs<do'g*G]YhF< 87.270 + ;EWUHnJ77I.-FEVhCt98q503RqJ,S2VK<\MFep8b#,0Dm=CcqH>GL'jkY@'rL52QS%a*;"a 87.271 + Q[o%-m,f11!8]_%&uMt$]WO'(t/J+]D"]2r3UO%]/mcunLFoM3g)'?bEGE-3[B0c\`e`oCR 87.272 + +jD[%g)IHOEYq?'tGRG('pR(GnIl)sC;Wp`K.k%UY2OqXGD![c(4-cYG-K00^VKZ/1p-47( 87.273 + QXpdH13eU2GaMn6W;Do?/B(BZUIl-,T$<')mYSE&E6Jh)2h?'PNH"Ulp(qWBD<LX3IQ`(>F 87.274 + [pNG=,*/VG,`8Dq:M/:+.iU1TEQ^:G&!%^cMr^k'VdpH$RB3fH\3pE'Hp#</SN@5QIkg@@! 87.275 + !ccPc'7^gp_NR)M]]F!)Km,YS$al5PmuhHX!0>2jA0>')GFWqIFG2;K/iGPV95>$(n4)B<, 87.276 + *gh7_tsFVPG_KXC/!@rm?fqY-Lr7lp!7W/#lE!+3kWGR+/V0RV3(L(B3%:O@?Cg1A.5i9ND 87.277 + >+fgMYe0tM@B&l-=9&KS[.!S7kHsm<Wn(LDfYS&'5IFuSj&)REVhuqBbGl1eET7Mg\53#bl 87.278 + F6:(431t[q5AnX?rGpC4Do$Sr_KgD($j*qd5<!^[3rQg:I!'RQZF5260b846s&_JbBPi6Dd 87.279 + X;([GM%$!5(!9:K6$c67-dLaT]QL]C':ho!$KX548os&L-hRFphWDG$\uSCEHl"p',Za"A' 87.280 + t)TL.*>M8S$7p7&Es7Q:kf;q1Qb!1R_$Mds8lZdlWGMkL5k'#),F=;/"I*74+9mVGh3YqLq 87.281 + D8,<St8U>!R][2`].@o`:`-H&oi/SrbV7;ahfUY@+JRt3KZ@(JY,7,*?k7]3t+Dq@A=#!6^ 87.282 + gf3%eEX9g`e=^`L6knZTQP(gZVcb.0U2"o3XF4mJ2@J9ZJ>.!".]1Z.3E9hWbrJ&@(ZeB8> 87.283 + gO7!t&%d^S\(dJZ"]<1U?cP9Na!KK`e7C$Jl%U&ne$*rAQt^.%:2'&]mes$/L*LuZT-C>n7 87.284 + R"RBf!o^#%kh_Q&bI`'L5=Zhf-TWgs)&5G!5MDN#m.oh3W>S/.I)Bc6-t!&#f9E..13r=&u 87.285 + n&DlHClK1l(9>&@eb@/J='u3M@.tYPO(SV9Y:'YI`#r<p`*=o&T:&88H;^]^JH?(F8HbhQO 87.286 + XDj5u*1Z+:@%aAR+^aN>o@/:TKN"#tW`a/_JQ6h'HXKf)>`=P$5&4OH"1;d@tR2e5!rhp&K 87.287 + r6?5iK*:O'V9-C6::WLud3`&BSiBj9B]a$sQ<*^A2dF:i)"poC".8&%<]eN408Sg0lKs]P\ 87.288 + ,h,c27]ZchD,>9'<<VJOSeO8s<[dO?Y0F;Sq_^#`W0r6C*.pM^qcG`[Kjr]#4bmS#el@iDg 87.289 + "(#6Am/5`VeFeM]rc,)[b\3+=G!c?:+QJ)T'b:a4hGgj=&mXjh:HN&G$\6ukBPjM^$U4(\) 87.290 + $S'?WZXrJ)FE%$%UsD*Y!e](g[`-iE16p)hm;r.L#o=[NCIeR+<F@j-]f_!<>A28Woa^8.Z 87.291 + %9\QP>del,87Qf_GBBpu.n;'J.>6\(r&kIK`'T]d:8J"l.12Mn3n>#(K]C"cmcVWo(kV5if 87.292 + A^7Zg,_$VY2KHS:6XD6K"ag(3e(=BGT4$M3'm@/RV\F&%:iOSC2Y49)A>JBjEn!j=T_!eoX 87.293 + !Q&e\0+l+l>W3P=n[r3LaRU=BXt0dN1+EieJ9N<[oA&d/-O&HE9p1$7&-=#1@DPUfb;lpYR 87.294 + .^hlB[!e\gpVS(<RLZ$Q6f,6+U-t?L#R?+09P;j?8n;5q7^4,kkZ?mTBc8Z\#J]j?I-1KHf 87.295 + !YpiJ,0/*3]Z68MT^_?LQM8rSMPPp3p@ukP5%K^[:su^YeS\Io#b<5PPB]THjPgYRUb#Qk9 87.296 + DX4:Qj<3X.kE,lb[t)%0tS"9;gY"CU:%K@!@(_:V$VJ1q*-%[Ie?n5ft86nKI!^"JYQ[#GA 87.297 + 8L*EJN(rM_`%cQA((STJ4MNF23U(g"OE>BffGa/l8A4_W_/gj()TbQL6<JjXW.ReTi(1Q?, 87.298 + MpYcS!VfDW_2oE5EGdGKf[1Vt<,IUL^,AIeh&Kq#F,nYj4@`NF*TPXtO-0E)a;FjuU]c=3d 87.299 + M>5A8JNE0>`"T+5"A0^)^OKtP`epF9M'Le(P7/_!_2edJ9`psV'Mgt@8IU<3)_<B!"Y@2MH 87.300 + C;OAIhC41Fo8i)\Dda/I@';+),.fV8[Ie')<2bmfj?IQq%FZABK>(NUiA/cMD-peX:J^B$G 87.301 + V/2J2%&S'u7nc.Tomk7m$J1S/V^M9P^eX;<&LAe!%bjZ7%Ml^lER!e<NT.iC#ZT>B*/-96< 87.302 + K%r/<X#c),`iZ`_Ed9o%8%Z!t#,s^Ge6'H>XMp[qc,%D$k+VC"rdAeojkp7RMe;BJg>#S#W 87.303 + <@t&3^6R.c>th5O1T&[QS5W%&:$LGHPHoRkJa#NsC#qdD+\#7'`_$8H?r*c=[\t)O-;Z*>% 87.304 + mKV0Kb2rT?V:8-Waqu69E_`*%1L0VA4UHp&_\RbJCCWc]!g2dj]lStE3@a:]@U6V?L--iY; 87.305 + Q<n=:5"7CaF_<edB>t>8(4.pidIlJ4'Y4F^hGKLU+?@bZT9MAZY!]ZaObt=rTb@m/<cf<gq 87.306 + H?HW=ftAZ3#fY1MC^@;P=r[C/!Mg09JPDJeL7$:-@*&Ps_U5g?pNf';=#gQQXF<O3>_4D96 87.307 + V!W]5t@&\Yr*.qXd/hZ*r+-h5KSm/6JMj<55f:MU`@CRnC0[UR90)&]\hgB@=o=ii!r*N\" 87.308 + IIG_b^R+rui#DWFYQb3FfG=Zu9GN)pYX/R?<$$Y\;h=FE$,W':$XoPUL@E2&_cV*o@JiQLY 87.309 + pLX4\;q;4S5G164tX`U],"lRAW1W+0ZMbk)rk1CNq([`a#O)?A.3mJE[F/pfI/HWY_#;0-l 87.310 + `=L(Em?0To6dL56gk@\cTZ8#=M+4%qDq"?BU"eZGC^s\VQF"'l@(8'kK4ET/74'`gK=,ER* 87.311 + 7p4>UO)S3Zdn2BuEkAVNSQJd-oBqApH64T&%+ERq*Z>--r$-)C11Pr?cQLQggIV6oBUe(T6 87.312 + &.FK9:RA`9ufjN\<j>&UcAtUJS2&OK\+JEpt$CAZn>U>W?QYSCjetecqQ1U9Dp*Rc2`CE)@ 87.313 + ']lUB318IJX;#L`$+0CIbU1KB`b=Fl?r)qtg=q*rDB1m;#Y(9<>G$"TS^^O0&I?mF][-Y<j 87.314 + QSpAoaDep?142>]#e"*+Id&(,]QVfFtRMO$"Y^SbhoV5i="9`CP$N^-,fNVaWVS#MA%\)`m 87.315 + ,tFj2&'`6V]GYq'RKLg/E#'IEfn0B.`6!K6E?)hQ2q1YW03&,'/l<cLamckJX-JE/Ma*36r 87.316 + *Z]LSUdSs9eqYm9;0/<C=TV4bo0H3!Ut-hCV_5'huileR&p-D"+$\R/e3h4M&&c=0)MR]He 87.317 + N]Wa`,<sqD_WZ8^M]PD"0mC59piEPc-FCH??43rWMaA\stDP,m>hi/cA*#sf",]^q?#L'OD 87.318 + MpR(D?0Fd)0/E"6qB&,Lq\T>"^5pciT2]V'=9.`gA79g(U]=7?((K-VQAj-AjlKVco3Q5[q 87.319 + ;$pj#SD98jiGDg,R_GZ_4Gj<hkG*d"@>3uX8:^Yds-rTiql:!qo>%(%<O,h4m<XTf8q?LT0 87.320 + ?N.DqP$G^TeHs14t(3p&<k):).V8LD7U*&24#;K`E2_,lEHr,HoB9%m\VIMM20#0-gVpO., 87.321 + P(i8Ll:+Rc?1&2ODTAG]05"(Qr`W)+]-&4[8ZiNLf=U+6?8<s=4ioWM$oY[[l5Y4\u)mgqg 87.322 + -YR^Vn'$T`*0oW@<6ZVBCr0V@;kbD229t^aMQO/6s"0ImrUaC7O7ec@0q+]3u+gV<'+UTp8 87.323 + $c7Gun*(5L`sdu8#-[h+E2FnbWq1mCe*[2YitVqG,#uPH$X`rhK7O;Ef`H%.n1]s`&=![/# 87.324 + 6,7+c`mcM@PmasIPDEH&^_XF&Aln9+VKnef^R0bn66>sHok0-,O'4l"VD#8p)e1\f0_P/Y` 87.325 + ;D=P0U<a(!f;[d9d"ZVX5V^8VBSL;0*;2,o9F*(X27[&7ZAl<u>DBf'RMmnP]3\!9iqV(\+ 87.326 + *[nREI>AJhRt4p(j>0rl44[e*FB)j.lT%7:(hh$jo[)c&sDiggTt'*tcB!jS-^ELe((k1t$ 87.327 + R*eLd?+t4,"V#$(`pjk:4j2sQh1.<nTbeTZ%:bX/sr"_uI,=H.0igBqP6m9rl*qCrQn\$.[ 87.328 + 2^="](bmll_G3(b5oHq2+7]@R,6K&t-D;%\!!;U41#sVn)'QjI+p!]^j]j")b7@H@XARWpd 87.329 + G3W@/0N@U,I3?YZ0`tAQQIt40B,JK_koVq8hT/Y-D^/X@S[Sl;%94l.,u#i,LmB(QRn05,> 87.330 + u]:'%0&956[4=,;Jm:d\7>:VI\,T26sAQEj?t=[jm!k'>mNY!Y5er7S:u$q5i<H/gi&t!@Z 87.331 + CH1!@rn;][>bh'@"9#7:2\U)K`/0/)=S/^l"&%:(OV6St!!.rs;P1.!88.kWV1WDbPqP;^X 87.332 + k3\"!E+S*B-cm!ZET.r&"'la=$d31BarA;T@1,Fe7P<L.p2D;tU2Z`pcUAR3W,7^Kq/-?S3 87.333 + ''LQ-[/o8*<R[Zmo:@C0PrTN#cI59G_ehABlTHn&2%e(j6<88.RP0ks49Fb.D.k(kWY`"E+ 87.334 + B,U-b.96i\fm9O7540goCOL^&0e-e3&0"JD0m!kkn;Ir/sG"4'9>K^><J&@/7U"Wo4T=?WZ 87.335 + tJ25*Q-SOA$l3FSuk\+u=$Xdfq8N4%"+)U(bpD_d>a[Bh'd'4n(C#PW]1:4tICAX$^)^YhU 87.336 + JP[033c7?g_>_AbrUn0!=\8oqs1147>eJN'jk2tBU.[!+n0H;kS99TrOA1.=nm`COH0'6Kj 87.337 + @U+\0O%51%@$SllZ6D$e*cVKTmr_:QE<;J1G`CtCWlnj1o<;%F*k=oK>;7$[,eC.0#!D]@\ 87.338 + :?!?CJtGq`.jqY1QgE;TESCPXLE7')3&0Sn<=DWebuI`";=^D\nsrN3/IRg!9eos"ohn#>@ 87.339 + o]p_G'%_*_f&UVK&h%d"#UfjPm]tpPpDW4eg'`3Q%gOu80IR\q/Jt?d?@O+rCbWh,5%d7KY 87.340 + ^ZR_BMs)3L+k\<GPVMR5oBqrNp3C(!0cN0j#1Q2AO&7c-oe@nQ?SK)R]T>2;MQtPn*El5a3 87.341 + EH'I=W=^E,7.*&GYk7$]p/+$0NN0[fG5j/au"Yu8KV0iY%n7"?QJ&2@'\%un20d@XZdo20Y 87.342 + j27;($<a\/CA0Zb]:m"1Q(27?GG#HlVB7dTJKVr9HnR@^].tYBC!Y&X+$"JQW$T:4Y@M*,o 87.343 + H6h'4ponsGXggq8AS:":?Z5C?[WPk"/Q[,7;:]l%j^KYm)),$i6.QVc;\`9905H]Z@KZXE+ 87.344 + qXQKmSo@\,\:8",5lGs5:+9?@^2V<Fn8kgH!hE4>da`GeV/$%]5iSPB@eU_(5#!K![,qkDh 87.345 + RY"AI),A3%gOa,52F?(CtQgAS^c%Cc,j;2doju*DMgLD"hI*'e^7Ze3Xr0>BD5-OtgkF*]e 87.346 + L=+]9^1n/+45k<$Wj8WjTuZh@5"mP.`N+\E=^pJ`>W*%pjR*WdPo1@R?U<&]f%&GK7GGA1) 87.347 + ZD-;(&AbXt'Eq+Io&RQ>UI`$)Ep[9Pt-S>(K&XSFupQ-PBPWF#V;?>a%nm3qMU*&K&H@c<L 87.348 + GHkmAZltdG/m#`6"2fLRVgh$=Fg(+RpXi(SeUP'eB!g$96Jt+jmn+gE2b.n4Fqnmq)-#4AJ 87.349 + !Xmp=6E/o$V"(r5GB6T\$efD++Q[<Jq>3)!q1n23A2)+&_@\&f@,E)+,#s#=qtafJh]/M%m 87.350 + e,UI^hIu"&XP-_C4"m//XZtdMO6S'8RhY0,TQk(lfbAOtKk`,5@X!=NDbT55lBdM`,4*GXm 87.351 + iSDhM%GX+CqAUN:::@r9.3GLD+CD:^Le>8C:p,.Q>S&[PCMnfh.X@lQFp25tZ,ng%@$Bj!_ 87.352 + <32'Z'V3&/rQ+6p\pePO*2+4uG5e+Ri=`Pu/a-T,FN7`]DU5>2%Z4DO?Pe[<I@U53`!K#Kg 87.353 + 4>Q#bU8],MAK8(.LA>DBG$Bj5f8o^3MW,qL@NV#4[m?)%6b+:3[7Q+=l")TaP/8<$_JVCP( 87.354 + R^\-4#mh@o[0.I]9QCXQ'o74q.#]D!Hrap;L(G<Qjb2!g+eko.X?$&3[-!JH(mWBQf8UK,' 87.355 + 0>b"<tCr,WN8@@Srj7I?0HHO4j,dRL*!Ip3'UMPkl"_@POR.$),4eJ_%%Jg(ZlAd=tSJ>LD 87.356 + o1qG\a2)0HR`,':"S6=3?(6Pm<1>abVg)@*9&@AmA/Wd'1ZcS(;[pRca^X4YBemT!(E^G:) 87.357 + <Rp!(9pit]hSkfD@W>E8pg6VfNa<R-GrRt&C3i0#@$_UW+YG)tXLJ+[WAZ2Vn2XueL0hre@ 87.358 + j/:L]>PcU%g@cf'>m+>0Wo@#Feo;I/SQn4LZ<Hl#)>1*HgRigADmK>5dNu1;l*Z,.U75=4g 87.359 + +Tbk8$p91YM-%Q;qJ?[?m0j_q\o"33`i\59<\,i\7-8_Udoq:AM?1.9/Sj[oHOXm(T6ffW& 87.360 + nXKR"n*T%:b$a\.b"2Q&2j%K71@iLE!M.gWUj^BtI@7AE*E[e&SkCH+nl_[JT584(YbX7kX 87.361 + r4]:+qjQef<$n0]0&qYS%;>Lg6QEO5dG]pc7b2RF1qi[*(co(rqj:AYQgJ%D*iW#On<\.ba 87.362 + N"/o&a-EuriP*`gD$,rE=(VB.Te^q>./\baZ`*#+(S4fb!a<ga]^`6f0Hk".,8#MiSL3ot$ 87.363 + *'n/cVhLn>-/*Ge\`pto2oU0"b1s0.ggSADZ,'X_]c,^A3SDDT>KQ_N-(Lg>4LQM?L!<?DL 87.364 + $tRe4H6VPJVMmj`gh=DghXa7/1];/'1-9#U(NeL6d!'rd+o32]X?-,(X)`e_4%LP>eRK@RK 87.365 + +93%:iD+*>b/42#hPOdnWW^p(P_O]>NC*a]\A?i^)"^0+RoW,SKX01=OU`5LuB?m6)35qt8 87.366 + 8:8_#O[caIuH][A(]?n\'fY.:FsRB+ubq8fjqP#g`o[d+iYYL4UB`o-ZA@e61C.q>!6Mj+I 87.367 + #=.10;&3RJM"VTq>!Z!r-0?4ZSepWnA*TH2:ERS38,sAHd,2q9c+5=/b5XA1pF:9'.bM49Z 87.368 + gu9E$I*G4@_qg`=b1t\,9l&Fm,2HBLg/4QtSTZ9*$8E_/+JKrVSeo8^8'k]uE#[Mb4Y7;;h 87.369 + r6h(jj!VXSJU/"=6"nr0i^/C=r'!07QA+Tgfjh7*`]V>+m&)QYo=F_SOq+r+3rWidJ\G0o' 87.370 + ej6@q!rDdC96.\r&-#X?O3N+uZPG*-[dA\31nH&cPqs^=2IDNTNA9k$nd5*`)hXVBAVYlJ8 87.371 + H`KO>CD_<Z-<m(Ni$`)C3\`#ut@m"'NMg<&QMf$]#.>?N+RRFTD$)4*P7nt.T,%2\EH1\6E 87.372 + FnUEUF4t#naT:LD*S\II3+"d.-=7qDao7(!<"Z>oO@]TMtGTN4FQRh`9F8);Q;ZC+uhh"[3 87.373 + BD>&4e39)e>tat#kP'Imq;7c;5CrYQVF&%SqM/M/1O5n4PtW:'=J))[ho#@ZKDJrqr58^6h 87.374 + p,5oD8X,.rD`Uj+5d')kEgM3m$buoTCP;*e,MierIP%LJO&.T=>V'2$&(_)OP"Y=+VBQ!i@ 87.375 + QI^!\kRO\7:XloR9(LO\"Pr=Yu^I.@!NeP1ark@540Dk)sgKhDH,\:?Jn9o_sD-Thss;=u@ 87.376 + @`8Yo>LPhL7DTi%dglBDrV??-#lf'9ZsomX_cYup@Y>;`#".Qgo#,277;iGlD5m[%$[qXFB 87.377 + q4tht4p&=a]]ft>`>IGS;(26fZESO#J+d'lWnsNW;h%*YZLU,Ugp4#B%d:i0@>rJ<PEN>OD 87.378 + 26pPd@BnL%p7#?q`n#CCg\1O#pA\uSIph.r>Q+^"K>PBJ(/.aa0cY0(HC\BO?a1ZrAuD2kp 87.379 + OC$<nTau'?T(8QXfcsJT&4b,iUGXj`P3M(hsh-6@.6,LX8]oF9Jc74\aG*H!\@u;(0Nqu6l 87.380 + tOl"CrkaQ;C`C"N)qAWpQ]8gc#d40bd+j7'SRDKY8hX>nf`+N%YOSj$Y*uOcZXt(Ip4/Y5+ 87.381 + tGF6ajf1(t`-YA<G$s.6G%o]=/./.BNa&orY=8tp.*#g4X7ALY!A9YVF\o'2nYUJUm/1efc 87.382 + *f/?@0EX<I*;.SPr8u@9E-Hf<2\N2LOq9q$W'C6#HUJ^sp6r>CdMLE7F6ic;iO<#$g8d`e= 87.383 + 8gLb@ohH_84[2WCd#CAa9W61];H5SS=&r>/Ego%`1S%kC;fqC!:R(OHdo"_8"U^48p%=):d 87.384 + >SKt,bF^/"Qi^kZ?&]ALg`/U.l5-1K0o1;W(e3hoq\hD[f\7Q6dG)>FBph*f60\bMD88iXo 87.385 + 5eG9(p+0D+_7u]PQFsV8[pB[K80l?oTu?@n>diP9mGtSQBI!<fR%`ib\hu>gXAm%YrQUe^' 87.386 + 7d3>P,JA?<2qXZ^qc;i7j)2DJ$)GhuKK?sj0HRV+9c&pupnK*=hL[:UW&\p-DNQs4a0n>q\ 87.387 + >F`WHak!#]@%uSSB>gN8H1CBh5ap_VC0p\<,CT'_>?L)=NX*^W<;)P4fH@8#VTle"S\&ON$ 87.388 + g4\&KekM2*'h3>_E4e+?`$Q?jj2A:86=74i.+YGtA]XSBA*lh<Yts[hG.@hGWQr>b65u$^Z 87.389 + QT-81lUgbW_(:T*Bu'L+hPL)]Xe]Xq7CRncPjCWfuJ['2nA(!,uQ^GKnprB5:qA$C!:O_`k 87.390 + Cs]DB\skY)HQ_IsR)@^>1g<:ApLWN1rMF\;bh`EjK$&5@=NaT`:UuP41RUMuJ4@oD`?=/X8 87.391 + R'*qY9;e0WGCqnD&4ptiXEFAISp^uVlu>`uRFUe1eT3#MiibOJO"c4#eimc`RPAU$]8'>h( 87.392 + DUCJ^J39BsjUt)",P)I[n:W_(Kf/0'<6jOoNnaWAP'):E&s+a&u5EPO0g'BJ3K&l#U3J%[1 87.393 + U5/enKH;22G^b8(HJXHk9s5k>\Iut6Qt<GO%mjnArg<m?NY08k7l8`rNI5h#;'jf#k]l:Il 87.394 + s+?]!.dNdr'mD($]*$FJk)PV)2M6dCb^<R`H!aKg72/8c^]s5R#<+roRVq=(.'lfF!9GJA6 87.395 + P-UJ]<J;)P7-,Ns2*hU^:N_9;BO)mj4Vh[9V)hN&Y+A?7X.fH:]5WGa1ZWn[?s6<b3ulK4J 87.396 + F@54bHq#V"1g/+A9caUK)C7)qpk,_jOP^F@B;eoa]@pdh@77\0a#1QpI;:H@Z&:F(+T`KFY 87.397 + $W;[H>E?gtS2K9;Ma>>0Xd$`@-KhW*Z1us&7S>7KJ*=9)>k2@2Go6gqe=i-NHPm&;O7W^[W 87.398 + HTK^,e1m0JYY.#W91nid@;PmS9A"(Jfc#@'PP&2%+r*MeeKZ5Qnq;h9#=Bo=$E-jgKgn+$6 87.399 + sP!B6L<!i8\-*6C/!H^OHAZ<-#D_m'X*LV,'[#Na]WC:B/2:&Zk_;757#\^VfIHFeM8jU.R 87.400 + N!jA/_3pqL`*(<EZ$g1l,-(Z@_@iFGgl5LfJaU;TKT++Vf*XVoNXTlWI#[Q<qfM8moOX<&A 87.401 + 91eS%V\73`GhrukF1OtJ7.3MhF'[Ig3GfinSEm85+-p9o.,RpfE(4_(gB#2rfKLeoU%`@=o 87.402 + V#hjkDD93GI[mV"_h%C$:#TZ^O`.mJY@OH:N[E'[1B(0+^<6l=Gs&h_GRDVr>.pPGTV_?JA 87.403 + &6KAJ>P6U[OYZjc$/JO`h6aV7f)$oNG")c1e%b;di*K(pK5buE+BKWj'^O^^T`+I)QjWr(q 87.404 + k\m_jh/M+)ZO#GAT+frVSdWl%cU+dLTP_H_IU[V@iT/LY;PKtCctckhuMS<1MERb.ho%2.< 87.405 + ii2hSn+]!"g`jOOMaEUcBe6jLhBPf.(Blpt%*/]X]#dQ<bqb!f0Zh=-Jj(?b3d@(Z3sLD!g 87.406 + Y,^K@f>Ao,bcZS!rM\\foZ!aUcVk$>=#ae7*UgC<7c`1l=%N9#B:0rWbcW8o;FBWE/CF2jN 87.407 + l=9B4ICKI9GeoK(4B*Djh:R6)$Vpu]_!0r4=!;02Zd3qX[l,#_mfBmu*2<R-^h*Inm#&DiO 87.408 + _cg`uH^&\+Y9V`tA75oL0!AQSd'VL.1H;R6#s?J9lV2,XRdHX:G.Z$XcYD&`Kr;?`,1kSDZ 87.409 + "c`m4Eb'"hAaF8Ac:[d[\[lq`2@EONO1$ic$%1`#8_870MD*\8D*ghL?u&XEZoGBL,e;WA% 87.410 + P.IXWtbrCX[0'U/`CO3<[Q$:-N,M^UeH_]XE3&TCKd$_=L^F?oTfoo0-m5=*CZ?>.^7;:,B 87.411 + ?S?=YBFHBL0Oq7(O\9$*I4PuUS096k^fgYEsBOFA(sm(X'c*(J97V,NF0o8(sHie-R"K->7 87.412 + Z&"n9%4R=-@\qh.!Z*jaToaO.-HB+_=SBIsW^A6Y^DY3D9Vm*"Ha0nR@'[FCiF7Od>hDm:s 87.413 + mM]$7Eo#!F]=+F#ScjZ<?StK"D\CEZV2c^BWob/((Z[EA:<Gm\&]n(YC?RkD&P`Mc1JYXI> 87.414 + T:i]NnkJ_0c8>%kB8g::$6saa8#q;^jMbFe%IRtob4:fHK#+r8WU)'.*L<7Nhtb3:C6m9X/ 87.415 + Gc6#l+B0Sb&I#H27HK`;8p;BWQ1\igc]Q;Z'Tc^RTkG-SX(a,N""RI#0B-^E^oY]!dgF^VA 87.416 + -H5N/V&)biG92n[>-SN97NOjocY]g#I*^uQ!+9:Q`\SNg'KYhT#149R,R"c*![SBM5Qqpl% 87.417 + s!A;jW[Nkpfj2O<fFMGWu_,M17o<gdC#`("\Lr$+,Y`:udR_MN,,GQ3D6dRJrd24qS*kA;e 87.418 + OaI^E`#cK"Lar1b\SaJ+)nu4h4hL8KC`"<H/jAm\2`**0fo\PL-:="X_k=4t>NA,Eha4Yi# 87.419 + [B0j9Jm)40,3b,34lf<S01(\hM=ii0\eoEHl>C073k8$&<%^Aga0k<'uFs$Q<QYlMY@u#bR 87.420 + pj*OcaN>k_C1;"H6chOf>]M;Gj\m'h"!#5_MM;G_j=48t'j&Rg[2(RfgL#$DP)2`,U&iN(h 87.421 + 5ZAB%H?6bE"[&IHE"#K8Kb#b5.[KN8YS="*ZF6ZKk,<!#8M"%!QQ7^Q17ghasrD8TQF`.3D 87.422 + .'":=RC-&^q7To`*@U6):k-g/pZocMD]$j'SHAb1$a:s6I1kUW1B#m6Y8,<e7I"d`RH:WV) 87.423 + 8%WESe1!ZSQq3U>80j29oT.'uKh29_8CWc_N/:+\P,Wum8&MJE,HjKc=-9R7La'qgm$*C+B 87.424 + ?ALoalK%I/>(&&TZRs0aV:G+>a`LfKh8KK3u"G%-tLJRT#p1rb+tpT/$'nMHU<?u8Af[<,c 87.425 + 2ge?E)p7.s(+#['RqD[*):$at0rWr3)tCZ)#TD#gBVJFM#`3K#k#h9&rf-N$9@V,g4EJbTt 87.426 + 'HgpYE\QcoL+bS8">FL00E?57-jbb,it[*-\'F3N+&7X.Bl)7bG`?VGjpbp:`Md*,2%b6*. 87.427 + BbqPj8m*C=CXN+;kc(pTJN-pn(FU'mQ#M=GhFP;Q?^PCn/c33.P1uk)cGR!qZLVS->AE6L= 87.428 + kg#9G7,%9$m)]ue+b>/EJe/`PAF>.Z8-C>RcBs=gK_(#@#>\/E:Ls%BFSF+42i#1nLM0]iO 87.429 + ;<O@-35t$JM:jC85%9bci`qAJ;jVda<"/H!74Wgc+KAX<:E_;mfZ0G#%[so+>;*WXF`kMd' 87.430 + XA1oad-TIZ)_T;'c)EJ56;B&.F\j!L4GJ<>WDP]TP"@V9H',FU6:jmf\_>3c,%PI34?f/CG 87.431 + 7M;C*O80^DRerQii&"J@s,3T,g(+!FW3d\6\;Cu<TemnpkfKA^=fph%tXWWcL!di_rF2(I' 87.432 + D1t,:D#N0ra[3X)VBS?FTdo`tLJ7Ou(<E%7Le)`X>oW-B$IA)%idBQ`(+;iDc/Pbdr"#s^f 87.433 + rC>@k8CW`tLJV^i>rYX,E!>H,e=B@ao0:[6?%P<\"a(de&1Ie5:XrHFeR_d;QtuqN:Xm/n# 87.434 + CpateQ5bi>cnN4Q(TW/0Nul>,Cudp#LIkH`EcM5ACaa)L$1RL]d/;6-im.oMoB8Y[;2Uu?5 87.435 + 7]E!t\j;`:*sj@0\r3=!_n=1ujA<HAA&)JRp*\^bu7*F4Z\&Scn>6Wq=B;<eOH[<rDCgGVF 87.436 + jUH<:o5fHd@!Lei\(=b`kRKXHEaFbc=nHW2Fp"ZT9^`I?4U<X*MRLK0.4ooIc/%L94\LHT= 87.437 + %>pP,#-@n.&LJW$E%@>b!<S#Q!"s@9./W<I*2$2E;$n-U.NM"o.TX?bl#O#RupbGj?AqI^i 87.438 + >%ORp<LK+cF,)/ifu6A`?rI3lCg(t`g?#K=\7u1$8_'@1#7+^kSZc6d[#l'(3n0JH3E:[(+ 87.439 + bcbmKjZ,+TN;?eD)a,T>NNTRn_aX+AHhj/!cSk(Qs'S'+]/f!>Q)RsE:R4@j4Kc$"9:H:4` 87.440 + >n*N6_Z+L!Y,NS]4o_d+oGaQ6:7'E+.(s(L%mX#7+]@Q-rrlfT!SC'mNmcBQ$b`,QYDVfYB 87.441 + M"-t(<e\)!>.hBh0D4k!\%.:#pO<L@'ELagoOT3aD>hOr$ITiVIiF5!Ik:B33QaBhua6A*? 87.442 + j<il%U&E-rto\WOF?"dAH:"=ePe;&j"#2St0[JPlAM*G]oK.nf_"fhcN63_*XJtQE%^dNh= 87.443 + A_HG1#;-46/dHqK#h.^:ho6#][>9V%IKk$l"?lNX88SNd:uJQ8i?]RtGY6p[DIHQRiF&Na[ 87.444 + <tX+@Tpa/g9<"-#[)pBEX/NnebtF/n2Q.[i6<t7!:D%ga=H7>(?/@@Q#M&)=E=Z@4Tb$^?= 87.445 + a!=0LQ"kkhio/!<+Um/gb'.Ol!WP#=*>8W$0YZ*!Q+BLDY&e&:+E),_`Xb"0G%JW-V_PdM] 87.446 + 9JLNYlA%R9"T2$WPU"^"h-YSgoH,lo]+".1QniL\u3?t>B*Kr.K'%SMY=0pV5fK,A"D^bu8 87.447 + X?O.Kk#=*V<!%8#qN+FtRLBqf'PgP6:=F^laJehOE2I#7^>ij?GLR<,f!+:HS1#u%SKs3@b 87.448 + 4Q_E:(5HL5KSF*_\-hAKI:edNk+Ip[=rC]#FQ6JCfYD0T@!.8BGDC-b"'@/Zoo&r[*<hFkf 87.449 + lY8hSp0>"Git1`LX:>PLhHqT6s2BMg`R;2Qs9_q-&9!SB*MW'>j(:AKS]TJa^ojcPi7De/- 87.450 + 8!qg9s`\#_NB'HjARuKD9%\`9d_98d%t($fHJI<g2c:l<IG.Kr@n'J1Uf8p]XZ3<L@%oGUU 87.451 + n*GA0gCl/72)d:*8m;?ks9#&%NP8;)\Q</0T]!M*-FjR30V.#$#a#-OM2m]5WlVVG9k"fP? 87.452 + 'QnX*qp]XbJJRu\!<EY%n5m'PtLRtU5G*H_:@Hf0iJgIt]YVC`s?"ebAL8\d@?n?n!MHn[" 87.453 + C1(*Gpe$:DP3[S9lt(2Bk)>&I=bR\q!rsEWO=#ND=b?\qgDuO`OAQ./U24_pk,u4[OBD``D 87.454 + V2t%hl)7an9kF.0&*$NJll7/%<:b^h!NWV#Inu5?%ms)=G#`WA4TpW5U6MH/*'/LjA8nZ\/ 87.455 + GSh@Kjd-m\X7JI-]%nFkQ0]hu/Lc=<*$L*/C2BL(IYr+=Mg9=kfeqL,J=QY3PJ1ps42/#2! 87.456 + Yp84NcjZ.EmUBD=B:G(9X*p]^.KK$\h!:3Q)m"QEb:(DpijBQ`PC*!;ii"r6]bE-DOpHis. 87.457 + (>e[,ga<Z>@=+od/L7igIQ9=Y<'_,/0#M=BYW,ICJ<n^S_cdkPeW+#l`2J:nG:Xs-0<<!*2 87.458 + IpgS;ng4``@<@0A6&'N@"[Gkk\;BUeg',1$Da7HZAt`ZM,4a>;``RBg\7Z"O-A?+_JW<.O8 87.459 + /)7F6%_F7KWm`+I[KZf70V$t!fm*]V_3&0qf4]=A%6r=cm<_'X)'1uL44d]Ss"d%9*VM,C3 87.460 + IGGcTd,n?%nqji*<Z5I67&H9]*km#:OAA?ql?`j7/cUDK$KuGYNiFD$?"t"fO2./bij1)0J 87.461 + bPneRF2f3@+'L1\E6)),e0J9G`\*+@c/jWJmV#]^.]H%ZGa#"Jsgo^DqG-AB6?Kog7hgnOs 87.462 + !Cl$.qG3%WT[p4+\^5&q9#=]7.#[RV0BA$?`o9^q\i*$:4D?[OKKr?eMIlPh%Pm03:"-@j7 87.463 + DPQq:JDMqBQY9?P!,U<-!X7H4M'-R<OETiq\k`Q%"gD&4s")7\9R+qjK=?m9(Q[8LIg8`O" 87.464 + Ya;9a=_Nu;2'6GJZ*16^d3#1BD7KdKqL/P(.@sP/p"J%LGtf`&!1FrJer!5h[j@)mGI]SP& 87.465 + 7sfGa.Z1OBVlb:kmO_nO.t^VlP]r$$t3pLGtlPom-jnE/)se"kYg:TN(YmHuk*D!dGE6#X8 87.466 + D+ZA"Zm#>fIGQr4'C=9@+pA5.9"?ugug@d;%n!T1bF8&L''`;9I=H4bF/%Gt^j%g4";##@j 87.467 + J/Sa`&EW\!Gmd7Su86CPL7>?gXmsK`9^Vf7(</",erFK6h=EK:RA7r\GF_DtA*<("DSGAbH 87.468 + LNm]kY[mrf4R^ihL!Va[J8p;l>jW<GKX^*$a8pa?<rSH:j8SAJ<Z%>RfD9+j"COKLDp)b#T 87.469 + *?]NLG1Q:csHQ^<`D%Zp/kj@mmBQ?TDkbae:;iM3,o/\>6Q]i";itLBRgg%$Beec#mQ!tiD 87.470 + >mkW1#,@SP'EgP(i>kF["[N<q>KU]/^TLE/>j"G]P@F=Y&,$q>C8[9P.3`Ut0BAS5*]q\`E 87.471 + I45G1hd<&u<@NCTdBBiMZT2P!X2O=EL&V,TrdHIcgG]&e+K?a*XK<]_Unc"FCeD-"8[[bYl 87.472 + 3>\fMcoBtu?]N/rH>JoIeqgRI@=?IoG@-VhsMWA?J#[XUQA239mX!.35Ib37(2`]7/_T:q\ 87.473 + qCIf6bZ8%$Ptfl:eb=gNCj'#GVUo[oghq=?^#o';^Yj'U>WsMONQ:*Y?VaamQ'B!pV@ZC!. 87.474 + 2GG*L.PdQ_N;0[JMXc:$CAB<f.hJ-g5NtTrENDAp,bTP;)hIm6Q7%_<bEfXs1f0S"K!f)6j 87.475 + s/`"l'gn_2rIR#Jq%2,mhGMWl2J%lfmdGY=n0[^p>`%7&HJ$n`23Vlt]*+Q%QTp@@lYg?Ef 87.476 + o2_;7QjL00BQ(!S"Oa,,Ap?q:j+EO]hV&KI&^ac^J2-d!'\V('QMXK="r&u#)J*lg:2@@AJ 87.477 + C(mBiR:nAB8;bODu$Xpl77h3QWMHloHZ=8/$Vb+$kP=<:<--]5R=t57REAU!'LH3=)d?JJf 87.478 + j;^"9+%anFXY!2p'[-Lb0'gG6euLLqm1<2oC!^oBUA1<ba5p^]/ska`i-_W(@FfdhKUJbe# 87.479 + K;s4<n6=-Al]kkU#pc&[S.T@=biQ=AQfk/V.nYLXfZBn'Vt#9RO1=t;A(;>ln"E2J6,"_1G 87.480 + D^_MWUm58tDj,UmFIsqj)Mt"n>u.%tap''O;3jFuY@T&Q4T0[a#VAiL"L'LZ0/2-&J_1iV% 87.481 + ZZ'`C6n0FS^FruL9:n2#t+j]X?q-.0eQSng[^IMX;m_,luRr)h$s+gG??O![_mA0!&fqNp7 87.482 + =.^iu($E,&CN>cN]Vs)ipV5`aKY-"bj$PG(7*(Cf`B9QjY"t<h[$g*S;@gITrP!e$c>TZJ0 87.483 + jI0s6Q1A%EA/NZnMBQTUK>$63Qq@n0EO]b!4AQ^2nXOM<a7:-,/W:c2e2NCeS;V?4Sqk\P0 87.484 + pjh7K=i"u.bu#6jEV#D$":qaRl%4&YToIPq'p-LLDF+=C?"u8WiD_9KR.m6kDeNt*`&'_q2 87.485 + 4G7INO>j\n`7=\P?ZIUT%o^#^cHSq%b1DG%6Y%Q4/&/`r^.+Sk"(??5:Ht"hjB=oB?&g6hn 87.486 + `A(ZgeS5"E60J5?^W5ZeHri'[cYaCu,6'(C\/oEd,0jEqKVE&,sW6O!Ur9ShZ'oGSlhF+`[ 87.487 + YMNPIg!m&&u$FDYoZ$\&*+PRohWW9j]T_&KI3JUB1WWni=%AEtkLf"X+6rX.L7p+mn@h;lS 87.488 + !BMDnn957,Zml.Om%@9b3'RGND2V7`4@]t;-V>Y(%?Y$G`V=]dLXe4EptU89aDD7$A64WKn 87.489 + 2b#8H&khj5"F9(+3gkp;p[A85kRVMA-$0t6ZaQ*<-lg5H_2-/c5N#m]JbOqQ4[Up.YL*%$I 87.490 + N6L"sUE7L/EOSKlGoj6cE5"Pc?McJ7b*75$CSCD(Xkf\X-&\4-!a60?15q'#P8I#,,QDJ`K 87.491 + mljG[:IE/ZQ*Lj:5>Y^$^E]M=7HQQ8FeA;qa!,?+/`R<+=M$]s!S7]<6uZW:kb\_T@1K^kX 87.492 + 4c,[mKn6Y$mIZWmHH5+c22$\3/(<X!3"2SFu`IQi("pBDaK/au@TZE8$4kRjY916\MDGG#j 87.493 + <Qa"l8*L1#Uf<A;35t,>7f-I,ab3+l&H3NcLg:6a.C5S/\-lAK:([SiA.-6C49oR`*^bm(O 87.494 + [2;fKEu1IKFW#N&TShBI-I2C>*@E>X]=Z*=fY%*HV]4X4mN4^T9X5c%ftNN"0cGUDSS>gTn 87.495 + YTu3sdf;aF&nC=uV(qA/HI";9Au5&V6=PXWn9`NTNPk.j@n*egqnFd1'UIT[0l$:<H^D/Cm 87.496 + >TqB%6+Bs;$7-%l?dWH?O0"OKq#68R7(UMO*@7H-/$atkDTi-::@`%ZnHcjq>A0E^W36W5t 87.497 + [%q0p^%oLd>XM)`d="`W?gFYRQqAk[AG-Ti^C=%b*V%[?E*RR5Fkf&pi)l1!ua[&rU`mAE- 87.498 + :o]F8#t-:ZaMAVnTPb75cCM,D!t#k4*WQ1YJ+(Y`^fV*K+9pgf7nD&G0pkcGOWGP'Le_3JW 87.499 + o)9'81]Af4ZhVnG6pR\1BnEd*b3-]9p,(W#"7;[Xc7hh;.(/j\Af+(^i55EB8Ef>"ij+R"U 87.500 + hU.O7D'maB8sHP2nDAeHCSu=&U:V3A*E;7I6bGQ'r.ZUJO\>.ir/Y9au'c("kJ3bXRk\$c, 87.501 + (S`i.Q/UUp#,dqE)RAoYS[$T_ndm@EjgGp^kAGE/Aq1</Oe'b,[[YJA&1!U^\.-eMXXOHTD 87.502 + AOOk5!Cig*UM,3]Y5p'Ui7&BRj,XqKS$dhj&<8#@'6!S+3K32+[M`AC+f!.,bQWaAPC_Ls. 87.503 + T@R37?>IuuF<%WSOW!!e$=PtR!^f#$0Pj&\JWj=hOhHT=cr:>AZ[.>l)Tm3t`J[es1PS`E* 87.504 + =u%rCZ<QEKV%E7>HA!Gd?hK>2Y#X.c<H?LgcF$Ea,?[VAdM<6WhRdreA.NB[P='n_rgh:K4 87.505 + &>g]C8ZB]3Q343)#,_F;r)UCu@RJ7YI$8+U9^E(^qX8E`1[D\OHHHTb!G*://q-L:hPCB40 87.506 + OS1TsY(nn*ouS;QhtY)R;(2u>oY%C"\+7Kr7a`f\i1!;[YS0Wu2NESS1?@T4iXpZCR"CA#t 87.507 + Cf>fOQlMZdLG#Y8#7o8;?_[\^6k1Ca,@'9q<duCeE?5>i/_@-##]8m!.2P,BZ.)`\N%D;fm 87.508 + /Q:DN]FD29S7ETdR._P1T<if@bW3>O,kFH(!;YKc.(m$_oN*\RA=\EsH':T2!i0];&:Q1dJ 87.509 + 5lkacrsLl0Bs#9miB=)R#V1G*/6[Pl#^#ZKX#I)`ZVu8Wu5Go1>X)OL&D6`:Zm.5XnBkHpM 87.510 + e#JPtVcCK7gc<$>KtdpKe*("jh2q046hU_(e^hk@hC0.i``I]\Z"GG6YgL'2oHa(nhEKX;F 87.511 + )DW7DKa!91R0E"iFO(_Y19!>$CU.HL-%UrdM_jIt]W61bfK)B(-;Fo\fS!GmF_](Y0Ggl9/ 87.512 + k%DLT#L<<n]#!lE&!5o]T6k^`FTBt3DE$QnDV?]cj$BTfDE.nR9Ye]Qa`h@(G:V^7hfEX)) 87.513 + CrZTNMf]m=>SE&[(d[@++ikt.67F5K`<!1XTf2H0'a`k,j/J[^8)>!$d!\`I%H=rP:uMn'k 87.514 + _O1+T.7eMY,W#JiY]qM0oi%KNQB27rlmaabCQi$6%K3u>6Ucm=+Oln5jT?q&0'X@iUH+["@ 87.515 + */'3:idE.^0m*d5)JV8AHV*Vua1B+i5&sAAbV',iGcCi,9%J/0o-$#0<MH7g9L@-koB*(np 87.516 + ::J^>p#l9A^E_1@[[JEE8mNlA1=i+s_VJER@*F<%!9(TfD+Z*bNj\JqLDX/YUS0_5%UTG_1 87.517 + fgC!kBTkNYmJjHT-(kI,UXhG0nQko33U;4bUJTd5CU)@Bu*<ojiJ^Y`M<?SL[*+HGE+j(@Z 87.518 + (`2``%T0n`1*gU'knkSj*FZ#eVth($:(i[q%UcCSnRuaXrYAn[#R0u3%O_ls\/)nS_',!], 87.519 + .qfuN4"4-_8,Q1/i=O:C/&*E#9ea3!6UZP/=U(2J*AI-Eg8(oR45$k%d]H#E"4[4cKB#`1* 87.520 + E"j@:Bkc(`G!'6>ig;@CYR\N;-;Rb\Od!^qLWHEmO:U*O;1`JPRn6qEY)i*`DM\1A*;2Rj, 87.521 + $`(rc%]"l'`nh^'MG#d$rLD?c)OBFJ:%d)4KHmb8YrHAhm7ZRS'iB;%*'<#S%j&]`rA!GDm 87.522 + ,K/#VbmQbI4bZ%>'Ek'HY09]g&1M&IV)(H.m#a,$*!8It`J?R,j'sbnnkjUpBDAj[c*FUo? 87.523 + 6)G)>;`F771pIl,@(7#o3Z:;E(dZICP@u9Cf/p&0"V\^6F2^7O?t_k$r^jO9;Ze^hFOVGGn 87.524 + P^)KO_A#fW!Is+&&?+$Te6m-(mi3NR`nGVUWOTo.N"8G'<f42i1b.ErB=,('u6mT6$s1C\; 87.525 + A$7[c)!2ZcPRV3CC/9;3PhYc%cbeSf'iD%Nr]31<q_L`X6-rp7]/P"@VuMn/$Xl*'k2JTp? 87.526 + %HB0#!C^$NoaOl.4Qi`:)g%J5_`1mBJ_a%<X&8bAZ'Vu@bLgF0nP(SP.RJP6\sE7?#B4oh7 87.527 + mPT;-Ya?EPd%(#=c'D4S@?ka:PV$g`a%5o8c?5p_('o'L8cLhLM9H`:r$=I0a+L'ngm\jp@ 87.528 + BN1a(2&/u2(dY<:Eis0Ze410,%"dakYKiRKJH?^jX<!K#-/lQWJ`?lq,T.,'POqn!'7V)IF 87.529 + qS3p)<$0Y9+Mtp5T4c])`;RbKKq$F7b7X0+b9n<eV-l.Lt?Mb:r1Ks!KB_1?E-pJ_ePbLmK 87.530 + 6.(9Yt]_4jn=C5pog!df*#D/TNEZmImmF!@9<0:SJK/e*7d$$4Ui9M.(?`Ttp`ZM`Y@,?M3 87.531 + Vk2=s.56W-^")aW7"Jaa@>0H/Gd<=QC2^q^9XEYRIp)[Rob@DnF'll3bL%mcHaPuC+`:_uj 87.532 + ?(L^ts/uqi8WFW/2.Y34`2>:ZsYtf3Em<%\0N&onTpo+8;S1jP@'ZuF&;-N?T[o3Mc27i02 87.533 + bUq"J1;V$K_0#Xoh@@lN63(S064Ypf-4>I#&4R)e@@lPG=[U'u$Wb'o^]kR_a_S?0Cu]SDZ 87.534 + DB"RDARk=*&5iN@9C5$ndT#`(]e^uE<]%/c5_E!(BItb'QP(!ZjBUsDF\(A5_'VXp^Q2>'T 87.535 + 9F?U"".DKeJ!;EpNQ%QSfs&d;u6!?A>m/_7CPkr#;>M'g\c4Td7*GmL2f.$!*a7<N%%B;)% 87.536 + Q=mIl-=;2k'3cX)4_Vr__5_45r4>"g(U?%CM6$n$3`9Yt4W%=jf_i>)o6p(L1f(^Q3Cf0*5 87.537 + fkQ\N/^S[:tiO+&W[sY[//U#X9F2\^,,S8q+$0?L;Vab<MPSh5e*6U3HjIm4[5TDX<)5U;4 87.538 + QOqAVh@-'W(N$n\[O*%hgDe[Z)IW`"/_14nM1VJ:+i/UEGVn#Rc\&$``7M:8JZ]m:i88B9% 87.539 + 4jG(8&>LOG@u/*s-+BUTS41@U^gh+'>YB]ergh8gD).*GJ`>cdOcla3YcC4!!(^h5hl\_@s 87.540 + 3*'4"nZkDqOs,hXIlSK@\B`34-Gn08lNbMtjQ935d99^b9]HI8i:X2Xh]0l55PHDFt6O2[9 87.541 + L47T%-@*oVPa!QIZ]SOK5pNV4$I-!Pg!A.LrX(mYIQ-@n6Yo`q4lF$L$-!;DFt-oS4K?;18 87.542 + 7C/c-<@MCb\Bq^+hTZ!?TAU0:oVVu7u^l)s.<2Gap168m#_p4>eqB(:P*<F1skGf6g/=:t; 87.543 + S18HA_m5ZfGs0^"(U8I:3@gM,A.2V2#+;/-q3d[sW$f*u!k-]X.4K9<Xp^ni(DEDR!?4sXW 87.544 + Gc>iEg)1h)%7@E+\0[,<HMMriG97f^)R0b*\4K_@fG2V'Yg=dTD>O\,)8d7ZF0<&GaGI,3, 87.545 + :ig[MH[*#n'7[fn:W8rWW-<#nHV*!N$Q>+XNgU3Pg(`iOg)pBH>!8`s8CYcf((=6K@cV)3a 87.546 + *;qIDc`-FFYOV3';aTqZG9"fJ)2;spuig4cH6d`IeW)[t:2#X&;?#Cp5b#s`GF&GR*qjr<u 87.547 + *;^'.#!Ts-M+qUH?JAHFARG>qt7ZpS-)BjGsqQ_/e)_$!N)aG@F/,C,El)8egc]]qD/gMBE 87.548 + Ae])Ghk:"9eHE8jaeE_K4lC$soA';%FH"%#'k(Z%eI>8`IVu_b)Z!O!Y!*\R"q<+-E'"Ii1 87.549 + `58VnBd>7*9!>'B@%VU^TQ<s[JOC@,%IRU05ShQb/)gSQ8Ob,hNVF%$c.;E_6HrjE`AiD+* 87.550 + StETf<u-)Ao-C#VTVca'l'I5q@M]7`!&pH1M`+EIm(-]B:RmJPEdbD7lOp]_f\_gLTBH9d8 87.551 + 1XFFfer246_pF_RcE%$dTTQ^=FNq5.f=[)$2ZJ97<sRj]E&-PJTSnU!-V0H%E=*-A&;].Kh 87.552 + *1));HGo2bQ'2c+]kG#Tp560=S+[-K6%p:'82;!JnHr\.5=g$9rEl%-$pr'cFVA[5%IA*6$ 87.553 + "BDq!!r/I-XPp)r!SP(rT\=Ve<Pb9L.fd39UnZSd76@Vg`?I_*M*ob'%;YeDI'pqo0>4WDZ 87.554 + ]k?"15Oq@#^h0_ToM4PHi(^47QZ-*D'4@&O7=$/[.*'S(TUmegKHTg9jUTHUY'Gr=HNJ(UW 87.555 + m$Ad-.].]a,Ik&.S4n&_:HU..>?M.FPm]`LL:53O>-3a;[FH*T9<tiN10R[5mpjg[fKHV5R 87.556 + taU`#lW'k'KL5ml;t"$,/+O<fDn&JZCXUusk@/iUEIX8>J]a3s2P--!Ej2m3[$p(K"aL94H 87.557 + uq+Jt\WR1bSM`5!XY9,'3#4V*?,6=>E[^\XU0n_i`,BMKM!:nZFi>LIRh=d]R+DoJ][\m=( 87.558 + 'RE"c!Q#dDle(%lhu3Yq]4k/hm,%j1]HOis(@9]t?TJ"T(4+9h-67,jNRd@BI[1`c4`/6$> 87.559 + 3W2M(]c)u6(nq)4<=7B'WVu_^r,8]Zitfj'4SJ,!C>jVXlccli&cnSlT(eMA/&9:&QidQ5d 87.560 + Q2KA'LC36&Tsmh$LmC_9agh0KW)JBA=F1\'JTT-.&q;OKUqCBbrNng8le?rTFg.g)8j/&F, 87.561 + 8#iSY[6Za-0BmG`jQSmE.\l0]V[M]N+Q>M$CDL30@H$/g,2g728(!#u\`@Q,adU"8G9/f@t 87.562 + Oj*J^%OVqZ&"qKUU\5K<aeJ&oD3ID$sl_1BIj<i=d[ka+_V2s:G1[@>uNM]l0L.0e%JC?84 87.563 + ;A)^uLN/9DRWq`V"#@mR.$9Z&I0e>m37O:d$(FP'511a+fBo\#oO"7?iNN)cHhsJ:!l(r[T 87.564 + =+M[\Rh24%iE^^"\1OH^E$-TNZg:n+f69VDJIILnNg?5+V##kQ".?*ngZ5QM+SUK65gcB+: 87.565 + XX;\aoNE5N*0@<%]$tLI:&5(mIcE'oPN@&X_'c3?=/Nj%7?(!_F[>8`%m`"KklZQV6HS)3i 87.566 + E\24I>'&LZo/o($f[SBSt\D.o_Y-W(:?.BRW--S%fa'hL)R;l\@teXFHpY?e83X-NPsEEH* 87.567 + SXNVpniQSC@6(/[*1ZM2#O_q2LDDj!+f%"A.S+!hueoQP_8$Gcj>?RKN>,cBe`S&2+AJWqb 87.568 + )4\]aW2_3P<e_e*r:F9+,Yp"'8m0$I=h>U]pVXi#LYH\?)kGRKH+i*Rp`(=k%uJ8n/3+>L< 87.569 + 04r@j)b&;*g][%ea%AT*M1l$\_Z^rhqf1,NUc+Vq>ChR=,lqPpNQTY+.(8hrdMVN/B:p.o# 87.570 + `54`H[%PQ&l[d!PkofNZ+2$=TE%R7eu-A6>1r:HCnf;S9:*n+gscLL02GF(Lf(1=$[B[;Zf 87.571 + I.6s16iU*sPQMunQN5n:n#9MV&]3J;IE7lfrD89,r\502Y%P*1Q?A;_g,nq<a,T'(+E`L4a 87.572 + IIT[Sc3@\R%j2$+*$Y>F8*u.+U:sLji%,3[7lM4g>#3EqY-CA<Lc=R^,qc$4Xjlp)nRO1>] 87.573 + ELWlRkm9sWgLbW"#'l#?Q%[hN71MbrdNl089\3'7b5#?p#)2:+/"'q0p1tJ^l-<lX8"%S?+ 87.574 + 0Q\&>?:F9F'Vjija,pD2?HJ^=CnUm?Wd"jP@[m?AXd=8p4IVZT?h#iHmLJQcYG\)EVjG(pB 87.575 + >kh*bWl.<1AM*Z<kMZA-O33-#!?>R.,eGE4UhXoR<9A\_^SW7fb53RNnKL@1#=%B6M8HAf$ 87.576 + /XiULG<N+NAE7%+:a>]6)9U"k!da5-3H46N2-?tABE;O`Kq@"jpX3J!TdA9k%ehk*E<k'!4 87.577 + `Ohb<>-BU\dR%u^q>Rc9n==Jsrr8CIdo6FXnL:T@3@1XY<Qq@n/WDH46"aSI.(s2<\INKrO 87.578 + CuK3n\^Y@3F]g]#%:tX8*pL;Th7AB=!;J5c`5r4$(<&#VBc/;/hKA3jB,em2r.cK`S=H8Bb 87.579 + 9!1o--^LYk<%"2r<GZSg30O?CcrQga):NTB3L[q7r\_pR3Es9LHoj9>"9,nC"RRq4`c'qpZ 87.580 + >V;F;4rSZ9o-l:rk-)OZ.35`VuZ6+bg/.Zm:sTd+De@,]TVb(+0;GG93ZZ6f@o[l1=WM++o 87.581 + jZ&tc)TqcN:nk]E>M3LjN;Tk#QMfRG`/H+g\QSH;L#XpX+6>mBem0gm^4)?P.P3&+,,7MtY 87.582 + 86Z@K+GOB>RW9G;!Zrsm>"tmfT<#&h,'gRMBdXc[Z$E[u+%Dcp2c%+/</(tQPpjiuc'LR\= 87.583 + (*c4lOV2,&9/j#8niC?d8mP$U4n19X3Pip!a.SS,j#eT>F9;,3.K:.BE(LKtd/'KI3+!p&D 87.584 + @M`d/qo\O'+]aWL2hk\_@m98;>'1opTF3rfQ[jDIIN/'?H1XaBoR*QR1.-s8S!4.P(jg'&& 87.585 + J&H#2%oP6I`RQ&W@o$J@Q-*4L0S&@+6*.WX7g<1'BN3(^=*,B0M4qjA`NqWEAFt+<;J. 87.586 + ;riJSSU`OUm<\dkQ1$#2`V=H*nV,,$h5)i*'ubR(O4B%5S)PBLk=q8#%'';C?$mIq-YUD/b 87.587 + =gkrFuG:UMf43,.-&n=`aK99R6K!7ZZUBk098`!0sE9nYK0Op-*;CESbbRC[<&u'XKoVdp& 87.588 + HU?@HL7sAC7[/]Jj'6;Yfbm%X)jD=o16VlF:^O+#k9bh-QOV)G8=\sE*GRiK2\D2tK<Vor_ 87.589 + *Soh\X,)1BIXe6S0JG."r]seTFk[U>RHe80o)Fc*-2IT&dbZn#/I>S@g##N0j5:mKgAG[0H 87.590 + &F!`\doRP8p>??B7t53GQ6KY*ISM=*jCCCXmd8Nj`u1B25n5>H47%p;7o;Hp,E(Kc0MGkm* 87.591 + m80h44b0U<]E\tQbpa,%MI6]=ft@B(G;TZBTSk/U=<;'42!=:"P&N%cEM7g?3GU]\tl=_Bo 87.592 + :mEm3^(A'T@qf&;LA@rkukZ/,^2BbNiHOJiK/VAr&!fH!3#(l>*"`mE[A[%UCK,e1*<G<AS 87.593 + #o5WJ]oA#F@OOlgBRt]^k`o]*$3e4\$$U"@MTMfA<qYLfQhLGIRTqe4AcKQ5(B\&m&4LC4: 87.594 + g50q.D!/*KMBPK*(.siN/7VQ_GE3-#]OXP*$e/4:u<4XDU++?05,2>@L>Hee(Uj$7)`P6#_ 87.595 + LD`L/EOI`$!>?@Z5.4Tnk`RaRhX5q[fg4A!12\A'(,YkX3l)1+LqG(r@CSe521'07-MoK%) 87.596 + Q/<j!<t3/FQNUid,$PbYO('W-M-?&Hk+)j?@Bb@$]="^knF'&]!S_[7II]`FdJ'$3b`X?#K 87.597 + `%AH8IMpQc/7qhiE#]Nu!,qbq.`Cos$FO;*I""\Ru=/6jh5f9ifClg]O^c-6eitOgfCK_mC 87.598 + (rDjs#*_IlCOBZEKm'a<9?:V_@A^f["g]5EaEWc:9QX&q"kesX:Mfum9M?#k0;C4;MZH!s" 87.599 + CQ;o!i./pI-P;rE&bC:IcLcMmk5Vld33_uSW+ek.7B;^$?sMRedu1l0&H&cgTuBJrW$oRcN 87.600 + AV]B7i3ql+hOF$fRU4ltJ9&H;@h"dl]^G7bq6*UE^-R+T,B$6%*"J[\l9`KPqAEJhDg+)8c 87.601 + 7>,AUOqb\]mK#U7JP"sJLA":38G,@k9m#dQDpS=%CQN0fS8O=e%?Hg-04V\;Nl4NCN%^l=k 87.602 + 36aDLs')6\f!N7=+WE%SEaK#XjZCV4,EZLX/2Q!#^J&B[R0a5U%(*R^0FsA\PN?DM"JlZ>e 87.603 + *o5b%(P<q6a2:+c:&tNrMt!;sa*@V,6St?b_:i6%Go`Z6#FcAD01\S=0q<N$^R-8%'9`qUr 87.604 + &Fp/S/VMT5)c_u(Idgh#GTD0CPu+Y_Y?nC+nR^P@59(kgDWF(Y'?"g88a+db5aa`(]=4A*9 87.605 + >/8Ug$Z:_IuauK7HgtH\AP73m]^;#`Y%"ekK._)JmH)3#(r'<[lnp=EaTQ$6r5AM%$00^/+ 87.606 + Y+S[]`Upa<i_C;:ef^aoRQ4$Yot8urSO-Y&%L6Um-@Ii^jk\U.NmBJY7U?3a#BXK2[6J9Qc 87.607 + fHp/r^KkPBH!,2Pn2hi_6!cVC!HeZAn'c;I(4c!Hu:d5.m*<s;fL$3Qb89gnG%uA"R_C>9] 87.608 + Ca:@uCBo*&#.V:!)+t'nZiU?u$L7>X.]%f&\:qct-j0Gg89LTB!kSNu$L4jHJdDNmDM?/34 87.609 + )?(XHoNs=oL"Qu6``@!]EL!)#HTI<ZiFqIY]mJUlBjh>L4Ek@<'H/LeH[%e"s@9.-r_TnSH 87.610 + `ad!ru^s,T/b^5FokJJm_gcb!N4\=bU7%2!B'1)rs87%E2KG5)LkL8Os%94ba5+K+OsgPPC 87.611 + eE1QrA%L3QGr3,jTP=U1H=L\hWJ17AVj;S1^>+@;fS1NTRQ=tRBT`iNrF]PL']D+<1QV^cb 87.612 + c8:*_Z#KGd,&?pS8pc/O=Kq6:dKfEs?+P\k/I"nS5LM?:6"(4VaA$KEI2:P=?q#Q(\*JK;+ 87.613 + K$[hW3'E!m;?YWf\O^a-!S'8PP!2uE!o/\<'T=4K%u7B1L1k#4bBcC"E45R9Jl5a(k\l15= 87.614 + $JZn^8)#C8Y60EpC-m82Yu_@\86kD:DJ\)7tdL+r1HXjTh6<!#b4#aZj+%9U9HEb"W0r<\T 87.615 + `aAKrp#<b#mH)-ut(SH3QoKLH&:f&8aQ)B*45N"pc]1(g9H59bD,qa5^8*#YToXc9u/B8;o 87.616 + X7#Y@\3OqkQ:-6k[;&2#F/3i+fC"1Tp4=@NNLAHhp;6qHgR3+Y/+1WcR/Pq8F/J5?YNF%Wg 87.617 + b9^0VZQurMld6(N79_?e.4Ob-gUVLCF9hPGJk];>`*<h:Ra?X<0[+>cooEWe8"lNR>#YtSr 87.618 + C,LTtL"hTlN8u5][]sYXbDa!QJG-]LP6>9VJ/%<6p`>4?m14g>_JG`qo.\CY>dk@/S!d90k 87.619 + psCLCb($V]B_*O+p9QU;M)dX"UjWjbkt8YAV<2F2IHTL=XMJF!Djd<%c#UIXJE5B!j07TL; 87.620 + 8"bUpLtB63\ToY8%5$/.!kpHCcO,"`RBEil-XtJqageJiHrW;qoT">r@;5#.S,rpi?["E]? 87.621 + ^I!W<rZO<Drlm$)UZV$K%>)`ji]*<nJlK:;[r"J7"P]`l=J'1rBGX)!C`HO!r#:q\AW\L3' 87.622 + \/L6.8"iW,m`@t4"0aXV23/DmA:j^H(0rrbH`9:GC>FU?IHj@<N;cr=[8b4@k'I^J"W3$b/ 87.623 + 9S!A'2hMBD;$^<Y=Dl0PG/lC)QL,Ulq':J-P(]Au%P[C-E,GlT^5H)D2mi+4iqA*L63C*c" 87.624 + VOO%,+:UY"3&FG!Qi+[+En%BC/_ND<N,8M^^=)bk(!^a<Tn*rrEE;3@9+C(\;YE.)S8F+%# 87.625 + *Yob913ASN>=emF/n3e'[[6jZcL69Zi/D!ao6?oXG+4*eu;JLSUrS.!4'39@m9ef4a"GfR! 87.626 + k"-&jlI;A/2i3`r5_9S[:tL5UN'=gnT<9*:+?]+Ug;5W"6=A-M&e<gAGBGi0&s=9b%J=G;Z 87.627 + 8]`M"nA(\Y\(DqQ:8TgW)4,+Er=Q(H)TQaG@BiF%19208+GZIP(5u\t!"Aibi'$Q,h,.M$( 87.628 + =m1%^r:W%Y:`q=*<;<VRBI?"U7_d#rbk,VP-rnthB.>b,^K$J$]rYD^X]jP==OYG\jfTs&G 87.629 + lo`Nem[j[:h&,6Y`b)mLOac,BOh?=<Y4U;#%_@t5laj[5GIpS_6?I`0P@?G#)@T]1]Vh,3, 87.630 + o(_1P2huJ`mVu7AC3s1Y=s1Kt()X][p58H;?\(TLhm3>`OOY@lc3Lh(<'53GI;,eQlGY7e- 87.631 + 4C"c_>IDVJiPc7+I#J3o!5fbNi%3B1B"^i>%[8;<Q#L*[J[4d\+K"bTBh9,(6Xn8&@N_Q2? 87.632 + W<(X8T3p<m=,1UuK5LfVG;u6]Ll5FGXbX=)>h=OVZ!/%uY/a*THmJ($_q-T[<NtCj$qK1PQ 87.633 + qBj,lLW)1h>TM_TB#g-70_#[9$X'%%WEr1]2:L33nV[U)hZjF-#7,UQ#^?RSD'\uRJm+h28 87.634 + cmG#,Z%_uL1j55$5jatm/i-:"b</P7KHqVr>+T,iMlVg!%?fl*F[_6g@YT]^)eP8bs]A_,R 87.635 + @_1Y]4+YDq9V2(GK_0=?hOJ1BOde6&#R\?mlkO$*ca1L.&2Y3[0?`G)&d?g6JEtGY\Cn++k 87.636 + CPJUi"pXXj^eG)&n+KYTlW.Km43=Q3@F:X%2gj2;6`ETA0)j=WeZ[NAFK6_^nr>N$@Pi]!_ 87.637 + 57@=^Y#OU`1F[LoMZ!LgEa7_$N?#GA+63G#6gR)id-0^qAQkIbRKCCTbD1ao"ouTa+#KV1G 87.638 + NA1b'GG]mZ,rmidM4t)e?=]X:9_5.dp]KYL.HX`=Ao6&[/nejT5uoP4A6*Cg7<,QR'a!#6K 87.639 + t)D4G&*UVeJI.fKof:=mCL@!W8#]$Yh3&?id(g)Xp7+N9iRFtLh$X%3mSKqTp.CR#[&%b$] 87.640 + XXgkUC=54j>KR8[GoE'3haC@8m?a@S-!,kcCL>7S.:%NG.&Jk+M=p7Vc\s+jL@.(g&kP87B 87.641 + <"OW968L3R87;q6W<5(eAq=`/C!EHjA&g]h_'KqNCj)(A?mn:crW!Ta$>8m(2J`/Z<gJA.o 87.642 + ]QDan7W<Vdj4E=k";`Wt9<fE"2BjRu(2M:;oZ"k:WA5&h8+s4*B5%"C3lTrl&:ilrKe@l3& 87.643 + 4Q:^cc;0R#I>+_("_^egfP^u@GZQlo8SE.!:gXmO1Za2kR]/l3hD#7+lNLV;;W%OeBO3e=_ 87.644 + Zijl'70H%+?AYW[r!'Y=%IFdIaeD4eH,BpD'mkOHNWRk"`8ha8!\#r]XB]#9C8G#3[*-Pn8 87.645 + 8@?3eg,;l*sbRkZP=cG)#.pllFL`f#X<D9#@#"C*4Qdn3b'#CQA0GDX$rt0(<J"L<j<8"(= 87.646 + t`qXoVoDhcQoDehUk`qUX@?*Fh5Dm&sfS33+VrGT6n[NXFgC_h`D$LcsHZ4M?Hk]"oUk69^ 87.647 + bld"P#p>nec&dOH6$#E`4/V9WfTu0UOfD,aX2\6I40N=]:\7;QITL`YaW)V^-#(H\oHN^], 87.648 + ru[=fnZNdL^DnMqf-a#bgAGs\aj%n/CYc\ZncBoco,n9':P>Z]duD!b%(4"kKS0=d"uodP2 87.649 + %9hmBq#0%!dXtQQn\XBeHE<@6q+0#KP-KTlQJ.5ni&K\kU,n\7tf2LBZE('^H<UHfjY1KS9 87.650 + lI/M&)lpiq)FXLa[^@2D.pg:ND;H!pCtb`P7Xr7u)V:$s6L4`p4pQc\<9&"%:*3qYaU7*hf 87.651 + oY2ZYi`3M;%SV=Z-9/*-(eVcNJO=WH<^gBUlLXVhA@]9-jVoJ^!K)prA=F`^9HFB]UaL`(l 87.652 + e56:g<"Xk[s"0laMG_D@++rFU/^D_b7T8.0D0'HU5af&2N2-`<jp&B(RCI5C19nLu?F6@W= 87.653 + Is<'M>4MW;QOZq2??l4E,Wu]O#"WlN+>nc/?XQ\ZJY5Vg0HgLj<.\IU+@o0-80A%k15'%?" 87.654 + b:IIl6HDfN<q!;puk-@qJU$_cuW'r=B<Z?f9@8:B),cVE<'Ko:RHEac"Qc+\=VCLO`.NYJ; 87.655 + *M/[FV!r_BWtqCk`KeK4q7ZBZs_3'80I3!ba3;YXB=5W;5(C"NY@k-OQCNPD0:b"F%$rg0t 87.656 + Ks+H5&nL1!W+q`jo^[2C&fJ;:TUO?%ZK[JQT-9i_&qg;#sZ"DJCXQ<8%"LB!B:RJD?HSdP& 87.657 + n`&-!62nL1JKjZlmE2A8"5g*/n`1:nt@Es.#AqE7m#q]D4UT!_29I0VW$F;9c&&S9:E-G\A 87.658 + <S/5gG``-leU=(D&q>3*WFfOpL!]#<*.gm(T2LkX1X&:g#[=#-TP+R<:+*0L>;o"_0.2D)2 87.659 + [1[7Kn+*tU!4j-<rUfF.[Y5*kHY+M1#DZ]s!_:Zch%GQom\poIq\7u^\8K$H&%K0@NcJok* 87.660 + :FQBCda3aUtHW!jns^Bdf+iQ]o,_$\h#Wd.h+Md.UWn>K>3>(mI!^&;BDjoR]:NP"=Wo6&N 87.661 + &3ARMRgmDtLF+Z#Q]B%)%Dk&ibW:M8/Q"U9ZJSN0g\eT"]%W?qqNPj3#)]KC9lfX+8iB!kj 87.662 + G=)6@`"bt!+Z<;"pHUXg^CURGaf)(-Vl#Tm29UB_sjkY9nhf%-E"pY<a_I7E9Hq#IuMoK7H 87.663 + f_gIo-'OlaZHp2$k;;nXB3uPS_sR>rb%YtOI7C,7=]qdEdTI3fGd_U,p=k#8kB2f5^##kK) 87.664 + F7P+(fU4Zg3k5X^dpd5(0A]<prd/.&kI1kCmMQ_G@]G@(r9<i/h`IRk/3J&o\KCmds(EVq# 87.665 + s9g8YUYs5YT*_)P77kh"ST\*!l\^co_mC_+P*L#(R84+UAfZS/2OLd(D(A_bf,K%`?Zk5nK 87.666 + opZ2DtTkJK?,`DJ]`d@[ZX@2R!\dmefq,)LEo$\Df)bXM&lJKW$.\bpmuL=p<>Q6PO7r4aj 87.667 + $?tkjYM=Pq`/.o[8Sg>72CQ/D;HLEaJ&jeG`Aareu)bH!CTq&H7aZ.3e6/H"1_\AW<Q"#8E 87.668 + D3fl$gHa+b*=5'Zd-+=p_D$5P7aUdU+\:$\SLI1Ze@dQ.7$08i'ZFnlI*tqN*D'/$jr&Jcb 87.669 + Y;fb;cV@qL34Dh=`?8*PKWSu$/nIE9+V?Ei-$k'3QcZ5Kd!l`N$\U&<m6U#66W0MJAbh2,t 87.670 + Y[lS]A]!0AF9:^cC1??-*Kqk4u5b$t9rj=UX3QenZ/RL$<p?f=g\TNVD'sIZ9]iIt6E9*XR 87.671 + GVfKKn#iDLmQbXD*nlP<GSrYLIObsO%3N?Zlhn%2$$N.5=4*_<fn#AK>kNpj=DjCQZbLdI) 87.672 + 6OiVIM7sWg9<J/*<@L0fD?"_Appkfq(UU\`\Q\DEUHQK*@"Dd9f*iVSY"%KO&SE=gGJHe!J 87.673 + HoqdL\_M>g]0=WLm8,g`[Zk!@h71C]'/Y+(HbT$_mp"ZE^;/7T*7)T/)<uS<d;;=eEEl\'l 87.674 + 5^NRQ>lAaT'jcDVVuDkQ/]Sn>UedmjssasS/-Ak#K^d`)rmU8@9L/T?mURSJJ(/7Ar2mtj" 87.675 + ZB:hLJo0+9VC/#DiSQ`R.gOKiPsX9Ft)Nq9""iT;h+M(^Y\m63ap0l[.Lg_=7A0+0!$tEBa 87.676 + b*T,^<LnpT9<2ib<k(oCS_It-u\*X;_Q?&h3JcP4c9(P15t(]qd.^N;S"7p,L#_O,3Fi4^k 87.677 + j$U]NekoL0T1,XhXk8pRTBgNB%#fCI)5iu2u#o.D/JnQPO,/@#>Qt6]bU6mQCciV+NX<jS$ 87.678 + 22BQX+@I'#&C&D\@HMRGYp2Zr@O+ZJlCh30!^>Y=FB(Z25\g_#0Ijqq/;7j*B*k7;5)5g%: 87.679 + ns\)%oH.O#0:9]K'h22oqX*D@)<`>jDgsU4H#:EQ5P9N5:_:e'S15`(o$.C8=:2:c-SJ5^] 87.680 + m=2fd%skUl:Jb?;*qY2%S\%SV[lVp.;e_OO&eB7g?an#8)qDj^F5l,D^3J!36)c0Y@mH>^) 87.681 + 1TXJlEFeK)M#6k&R\&4N+/2Bbm?Ma9<J`hLD(mtCIs_3-$qZFCYNC`Er$YVYBWh4)eoF\WN 87.682 + M38l9&%'uJ0NEOcA)`6HCe%U'&)<@V91NbLNGu-o<gH=ZY"r:[LDOUif.n<_+-<'Vk()JMZ 87.683 + `F,0s@'s5Hi3!L.kdV?[=aQq&LbHdt(`:(+)716W"f%H1B;6;O%V0>7#O.Tm_B:e?d\]-^( 87.684 + u:lBhOHO`*DY=m#cGquSCAI2;!K>qMX30JcY;f1U/ZN=eNCr1iV!ocd2b=.KM0M"TiT6]A0 87.685 + #.W4U((`0LPVF*lG4(1,a)8'1ggbiB1Ah@RA,SC<.HkdASHZiEj]4d:OQ(>RN7(&-nlk2RR 87.686 + SD=HuQ9/7[C"iu6!@X!M<CV3S@*%SiaT5/_*Y:9sS@[tsP[1Q?od#iaBrg'SJD`YbrgM)CW 87.687 + iP*GLU>R=q9<KR^[PWFI/FVtmFO[4''<<\2F&YhfP9_;jXDI=Hp_2d_S_T$/A5`H82i*(kC 87.688 + MEOI+jgA0=n0/R*56,if?_EO""nAL:mg\Ztf=q#P4#4`(CeVQ%gnG7oZ9/d3`>@R'r(4GnP 87.689 + _=]@"Ua0q#Je0"0([R5_m"Lq;)gH8cq,#%)M*\UkV=IL!CQt+&2diCLrT-7/+5;\?%C'08% 87.690 + @q,=9f[Q'$E7):nPbE[i?/]pP6#>4ic4T+?/UAqJ>3X@X/2('2[<t7JX0#K+fNK9NjK2n95 87.691 + 7;Hk_Q[<[OrTmZb3UEsE8r0Pcdm%cO?pN?OcQ:pB?3^dC(=@#:Drr$bpFJ0,:fcoCTVIF#h 87.692 + o3bT=Y!0D^id+SFeBUom4gI=PY/f8rX*>sqBaKcd"$)9)K\YS*omMfY4=_EWo(]jK=)0%KM 87.693 + NH*eu_q<+EpB@5q&B$7l:rTOb/9'p:Vlnkf#9+TZXptJ]/>ff,*Wq(4C!Dp%7,H1'g'i)j* 87.694 + LF/,VUaDB[e\UglTY$UmPEnm-Nh1oC_^R<Easo6Md]^%_0WU.62WJc8M3(0;"pAf:a^nCAM 87.695 + LJm^)=g9(SJ%@^rkU$)P]#MK!Y'[_0G>d,=cfp)a9b3/<Jl,";pZkTuQko*TPq)O>2WT&__ 87.696 + ?"aS^e^lG8^$,HiM4-<P!i;'a="^sEah,TmQSrVfU-^qOdc@9)9*6?Qc]SZNa]g__85p 87.697 + ^5r]RC@=-2/V,3[kXE/NUX4I.1?0fJ!CsRO=fBfYJdfQn$%fJ?>(X18E69mZ6Lq!fspq.?K 87.698 + ,^^,Bq#eXp<sZ[nTg;NU*6'u!*(.sfO2I\EK5aXg"(5/d^=hT)-9Ldi?d*ef2:sBI9'fT%q 87.699 + g#c-5)75X\;%e&O`*XeHr0STJdaL&:ia3<D+5UWk^JF5<&[.B6l(ai=575Y4NEQ[6dblugC 87.700 + fr1`0brFIm(E)0;KpYTJHAl8/D.7[J'U_cg3A6cu%+@6:<5Ij_&s&#(_R)e;3rBUWd)#OLV 87.701 + FsTOJ0Ob]8^O-b&,<fa7_,hen#ji1^J8B([=[Pb]dZc%u0\9G]tP$7O%hn(@bs$l!Y5Z+p> 87.702 + VYVuWf3s3hnfl+Ucan5cCqA=d2MBcT?#>B$^8k*aS*bfEtj_u"9ed5dO*MLoo%u;;n4;*4D 87.703 + G"SjG6!+RA^ssVC5cbe_6h6s:BH;Z@)iq350W%8->meP#1S?$%7][$F]*e&B$kU:g&4FUA, 87.704 + n*AVmihH3i+ggE4r;%QYjfq*623kWWljfM#"+or.LI65#S-s!Ju$>X@58G2V%"Ym1<RD694 87.705 + C*Da;Da8?XV`*^g.S+iZ+'A'*O!,!8n(/3YRW>L@I&6;+D=WjO)!RdLaY;WAN1"a?/>t&2. 87.706 + f6A.K0$m&U2u<tJma@I-.9Jf:>W*Nf0O5dUh`DAiPAi$28A6"CZuE;>%ZlQOIQEMdKdCDt% 87.707 + ^)\H^%6o$SR[i<`0*!iSRNlN+g()2<X)WP5BTktdDf,G6Z/;^)<@0R/EE#2pA$>@M>bl2)q 87.708 + C_bpC$1Ipg8EUP8V"B_d0riM>"J@t*e-Joq(SUi[iNNN,.KP\b)fd_TZ8X"k4!W0;^bNk,1 87.709 + -g<s`bo6+(ZF"?6e*A*.Pehc-5&irTn=\C'.2.&/"rOJ@163J(^^DH!c=1(E;US#KFEC2(L 87.710 + arqEe5J)\gU5&)IZ>i6>dYrWiop(-H]X(`10$MdMbE7-B[.&;TC+^at/,$/IZ>Edap(6g3V 87.711 + 18aO!L1a1T&mYqEk^0*2t[TUH+&`]NGaVS[?jo*,I6$4ep'/n,SPXa17O)B%!F.j;D<ThHo 87.712 + o8-qOR&tjs^6"\W$:?/%4(kL&@cN'bKO9WO.+3&+?_#lQG4#P2D-VMJf5U6]cCEdXEDBRa3 87.713 + !cBK]MXEb'%,lCi;\M-B\q]/S3<19a5f#IEM`K7Y3X-.eUGf)kaZ:du21Yfq#oj1'W"T0Z$ 87.714 + c,LB+C5dl6FWYM+m,R=kB[b>\8'I^(/p(qPNG1@"ppL]'_Cn+P*dT4dMcPY&E&!?+Jo:C7K 87.715 + FV;'4@74U#6mKZK8p`*[1,'L4g.HrY^?_+-&5t"<[fr3Y/S^0O^!i!cA>Z8jX"=ct"7/oN! 87.716 + ;o//KG_$,JS,^d\c`@KQUH"+VQqe94-a<BBc$-V;Hq`i&lM\>rS[8JI@[70tRY<Cpfpid_> 87.717 + -:bi$$#$_-:!oP7'^dnU8\u3=U"!eulFN6H#q+T;T61-9,eCFp?g'Y4D$8g`HDDD6c%KM6b 87.718 + #iJ#N+jq8PNpVI2*)M5\5g0SoGU>!N#5"le5XSD0YQ^:5c2]"^#IFRJ.L4KVc<uG4^fgn,* 87.719 + WY+'"#F[!e=T]l*dE7Of;>V\[9$>8>?03[W8pQi.l?=kb2i5'D\V1<2()Iid7%I33oP3`<I 87.720 + 7i'ZiGUZ!$Qq-JK",G_Ag>P$ils'.RrmCC(T>4&s\AZ<OZ(o*d!Ze</Ja&FiPh[K3T/;>nt 87.721 + dF<1?q]e7>7m?5:"T9,JP1Y&J&p!4CoiJ><D\Z@Pe,W^-Cj!K9];Op9lE!MC>3p%;aYZj8Q 87.722 + 20N:PJcm]=1-XtX[@fm5Uk6D_ZgLDQE7DM?&<Z6<a`WUCM4k</$FK,=,]Gj/@qkRs>_%mq7 87.723 + _unpM$$K<]:buDYE%g/bBE2CQ<DR,uMeL\&BbEL;E(;f%P$mmC&GC<:<*;dXnS6XN6/]Nci 87.724 + 26^Xl5O^E,N*GBi?)hNV,?/R-N`'=QIeZ\+9L-N(ma2rf&pq:lYb'"?'=;ejouhAqaY$'B4 87.725 + 7-G<0e<o$YNiT8kj>H:omZQjs2&l!FSiB[R_)k.PLGJ#mRMMiIu?=pN+qNF;I:)2Y1Xl6sc 87.726 + -IA<du72+m^2j[rM@@A(aOJB&-d.N?GY"[G3`=!q41S-+Y!0>pTnf7lU$RdsNR^+u>gpQdV 87.727 + EOa5QNH3+sF@IgC4R3[!N<T/:O<_*_0]2eA^#1`@$+:2_D1).Pc)ZYBl_,#%N)dcSp!u=E> 87.728 + GNLUr[-Dk>ZjXkbGP?%:+:_KQIi&9<<p+dQX#el;;ZoZd?qk!0"P!*MH_B\3:q@(_[6gRS" 87.729 + 2HAm[Ik.iohmQKJIa0AG#CX`M(5gIKK)na<H3,A6\T(u&\)=TG?%l`eeXO[E<$;8Z*a5`q? 87.730 + nF3'K"9C@AAX>Z!2&H%[^Sno@."Z%n]m(%i-IJ=Jq%?TnTcaMPUZNPeU=f,?tkbD7+\[i6* 87.731 + +GPTCqo!PhoAQkgj4O][qKig@%BE%ViF`Yhn?Nu7I?esBFgooDN_$[DhVR-e07.L(#C8jEW 87.732 + :E]+A7a:Yh:6f@eaJUN]HM0NFAO81Sq=Z;P$h2dj`O4cQj+bu;I-3P2^D)H<_i8mjE`_k/H 87.733 + 77$>B!"K&f-]!d*+_4@mi#)VL/=f)-PZ`X+=biB#Bo;_D:d@,FTM#A5`"$r;()`l>L8`%e> 87.734 + 9n`p$,Fpj1qEh,BF/(,#d?&i@!i2i2gMrrSJfnI=k5=<O.Cr9%KP2oE&+^5rE[7pc,h)T5c 87.735 + P+*JLt<+)Bl<b+9A-H((<IB%K^;T_!cJ[Zkn:8OT[<ei*i@1rM&!&UDbq`=uIp,_OhJ$FLj 87.736 + G!EmPib'r8bkPi+im2:ZA*?:#?^)aUD@Entd@X;UkP-C%>@^g[K*>XJd7#9&2/d5RnJ7B"q 87.737 + $W>[^GZ`AEKP!c&a$m[!aer)I4+:MGW3.YA96m53r8gd%?"U#q_3lXN$6Q0>JC>+7E(o=4N 87.738 + 0o!M%Xr?&t>3>4?h6)Db)&i'4)Y6*-5H@(UFlBs:;i!7Q2mC*lYl]%]G!lI2S3o;-(gnGk= 87.739 + ssRl6*B<!'0A!@Q19=X0=0CsgtM/&"=a_i9;o8RSXQ\i;m2q2rMJhh-R!Q>;qOK"?S,JO;A 87.740 + ,Zl,o-QOHHj:\[i9t09`)2$L-WT.\JF>ue"aD3HI<Bm\B9I:S#<+FW"OH\\i[71;F9GW"OZ 87.741 + BCA)"FKi01gC)6oKX&QUUFS'AX6*D%&O]pm90JUP1'\.AK)(-D-%]D''u6+FQ'10BK4GbJU 87.742 + `'a$N@8J83/3,QGN)o:;O\9n7m!u\mB,J]Tu^rmb7'S4(n*Pn6n`"'OU_"_ZhUBa-!`5\pt 87.743 + @VJ269?"]96V#r74@<,]-,tQJ_PA?lp+=00[DR*9_l'o[r,9Z:6UW9&(0m"Qr/qgbX[F@I` 87.744 + Q#%!ggm\FMb/5\oD1b,goN2WE^BVI@XNK:gj_B_Jnj(rbFI#?4JfEZ^WIi<-N)^e4Jjfs28 87.745 + s,O`dH<,r,'bHrQDtWbSAsX72O13UWg[nbm!^/r;4lq8Zi(NC><8K'JsR\*[^eh`Va-(K*0 87.746 + Ce+AuJ9dBfCiSO+p`s3NXRct"BJZ_>b,,LIh&(>WF%4_EVhPLQ.@;B`Bu>q<'%Z-h^9f2N_ 87.747 + I4[;mCM:WBpe:!?/4\]\H$J.BNPaiAiHl$X2ms*Gj64;,JrKZ,k"4O%fZGM%?]]_5$N)8?T 87.748 + gTjD7qn\L[dOeal%iq/[4eVb$3SJjDg84.O)76Zb+lD,2-jY&1bFf8j*T.$@abHq(U47XIO 87.749 + i]t-h$",E4qAl_q1/Gm/H+Pa?0U'/iS&ir?L,T;IRcquXqH1;-_'ZB35PY:7L=F8jTAH#,o 87.750 + >HJJ_tiIg-TFSJpZ;)mH3LHd_[#@U2T%#Fm,Q46X:egk,rJ?+3EMrkl,'2I?Wq_\`6pLg&* 87.751 + _]4mh:cn`0lF.fL7LU25SXh?(^!FoKAH@o($TX`6[MeNE7H^31lp61)&,aatVu@VtBoM9;Q 87.752 + 0dhk#P]NrJ4H11aa*58EB!f?4?H0[S@l[49?r.X#m(2Xq=F\XJ%T/Z>Y;on&:59WcL?UMra 87.753 + #Og2gnAhrJ@2W1>$g:Wro]E5'I\ZRZbM8\KnGbT8D`^"MZUs%r.pj7>59J+!,L!nMbl93g# 87.754 + "lmd4o+!%gnbh\ibdphJa^?\9Ki.&+s6(/EVf^KpEG+P4X`Vo>spim+eHSu?C1%cq><IN'R 87.755 + [0\s*t"LL%npWpmh`dh$s0#&c"`ns+*GnOB==\&IF.XiK2]64s:Mp7,j>2ZsGI)NCMrjf^s 87.756 + VY+d#=VP$'W5;(7c&jc\;=^0raa9]hIJeD('bSMV^URH$VV3h*"@Zl1bnNBno>hA"Vu-?W+ 87.757 + _!$`4>UcO8GT@-N#fR6q=@Bir$Q<Q5<d:p!lm?ZLK[Jb)ngtroL[GC.o]"Te8\*a1PJ\ba` 87.758 + Qs;Nj4tX`O:DhkV59Z028K9`oZO\dSc"?R7H>CC![*`N.RU%hD;5r)\opX][^L=C+2KkA.o 87.759 + HLkoV!T*X>+Hk85EAnk>Y)=B:WS7\[Tq[55G?KhFS_(lMu*<t]=kC$>M]#PrTa1USmO=l'J 87.760 + 7=7]`-f39.JoDk'd8:[*(\-dJa*;ht-jJ5VNlW!^N^\Q6rR^q?HkrcpFbiU+3McNk(/?Ta4 87.761 + !kUNf_TXidaW-S#$="%9CN:D?5P;@;a%/$$8L]Bbs('umMcDO.sh=RdA$Z+K#kQuVbQpHbg 87.762 + 36s<-E<0nq'Z?2]e8h2&r.Od-HA:_no[&FJ5/d+"l_T8OkLeNU\GVi,L%+d0VP;K*q:,A-t 87.763 + -H3$]?Pji^]_:hK';YXn51.f;`lF;Q%bO;ZRkZ'`'QXX,.5F=68lE%(02,;$dT1J=W_=Ib5 87.764 + mg=IFN^[H,n`1[8hW,s[;*0/<]+%q<mu3!Dd6?mK^=-!9>^>4c`\(+@T]Zg#,'>O23tRG8q 87.765 + e-p=t(11UJc9#YA@E$e[KEO0`$b=PjP^MWD0=6CGFCZ]Y.?O8/7[kWFbJZps%E2%s2$beb= 87.766 + MaQ0!D]=:=2&5@:oY%Y@gieWkerW3tQY=r;DpC+)!JQ?csb2E"e"\=PpHA2tBlA)t%`8n6Y 87.767 + cABT>LapqEM\G*RhUlh(Qf9kFH2Fj?O\as6ZY0Pbi))'VpJ#$"&;KIS,3?B<9i`^K$MPjRi 87.768 + FC/f,#.C')Rdo4<,6uN7WG6c<ca7O@/S.ppH.H'*mMBW3$6gCi7"enq:%Q&8>PA*4,^&7hI 87.769 + ->l&K7[3Q%i6PV?j<+??Wr&(ZLTilmJq"paZ7Wrf\"E*]&O;j7s)DQ:5msTVcVAjY)2u,&c 87.770 + Iiig-#2*VQ@YFDY)]H8qVAI9d;ugH'bIp^UG=imIB&+C:AcGH9R[lTUu_LA&N'9=/YIO*-W 87.771 + Rof\Dp:b5=&n1!Nc0\<HV665SKsr[<p%qK-3SFA%*J2th-=TM,:bn,u'C1A_".0q&eQ,b5# 87.772 + s(aNL0UcKjmkF4s#c<!*P,**k;+GZUU$2_[b.tjri!YA/a&o/XEBUkQWl9Z4/5A%be$'aEc 87.773 + $@i7!Jrh#o6ae!-?Fp8@;">bM8%s<o)Ol+^!V40NR/.?Ib8cX5r/"pd7#(&0#Vfkc`Aj7G: 87.774 + :NNI"XF+<0p<Jalt7mt>ST`6Oo]'3:Q>LV3>]#2W/8Zi9JBk+4L-$0'p1e:,UH>YoKsXj8H 87.775 + 49>&k*J484&muClK&s8L\>#YKlam7ZpM@)H_ljUtUW]0eQ7r\=A^b!:#gMr`)2P&ljVWYEW 87.776 + mom=r_s(r-_E%J&X`bHbM$-1\>C;Zno#0o[n^>$<:&>`cV.pdAO)KQom?5=h_l2H=N@O_#B 87.777 + 'b_ZfqVKsAOPD4'%GH.65dX6$jNcc-54$(iLTg"[N'1u8H1+0<<T+[f>&7`:/kO>%8!FgT[ 87.778 + M?p;;/I.kA,\>?,R6sK@&"tgJNXg@a2G+6$UB1d^6IRe7aik;A'/D]_Jq"5k6nt)t3;BWn: 87.779 + /R"o-m6^opq(R>DH@8e+E&$]Q#\!CarH/1<<f-<8LhMd]*!C[%](5!(82p091RII7b%V>4V 87.780 + c)2"a+@Ob/u88W&UWRQ%lP'$8;d$ksbY1U`WXB5?h?oA$-Qd\Kb:8p*rIuY&#tsMs080C\< 87.781 + 1]('_TW3sf>322AFOp^^K4Oq]HiM6[mda]U\SASec@ZPI/t=h?\,D"XF-(%s)AC,@'8%B$T 87.782 + LVU\k^=_hksYHu)tfbJ'+Cb<'([h\g4>Heo^CH?8A[g(XC4,Irp2936D-KSLER<*7gcajo^ 87.783 + l!6BM?pVc`\*9sr?*J["CAY4WQ0.UC432]JX?`=8Q%"A/flh:Vn%KUXq-Q5JI;cOf^DH&2? 87.784 + b?,`DtX.G(^C(L4:-RX2@%&8-O!nj)1umO&&K/R$"5qFKlFI:_\d"q@D"Q(Yk>gBUIu2*X@ 87.785 + \7g0r8i+NPc9=MdA,!g:`%.%V%V8NH)Bc`u*t[A%[)JEV;W<)$_<q4Gf2@2Fkk,-RE<9R=5 87.786 + ,W:C.n,BB;6_Q#a<7/U*e]`#Q"hnW$>f)2BqY4NX"42J:8PV_r)!fpd&+DpB6@3G1GCf"h? 87.787 + EcNBLsA_d*RF7D$/=LFpeqo:d?+mu@6*7iYOZJdFG35+m@7;4n5J:]\G^7\\)#9>gh`dX3& 87.788 + )M_0%4Td#f*i#_R)cRgu'<9:=N*Be]=Z,+tDtK?uf,E`#Se*!ID>^IBqZL*h42J).2TO6eP 87.789 + rttLn!>q$'%L2Kf';(e@C:^C)-^VTD7V9;[]\NC"r_gsM%s2Z%;Q3f%_(jHft2/<b!m9UmI 87.790 + '4_[!/47g7-m*m</+O2t[s)6VDiH4pXga0*b3ZO+gb>XuCSY&)n<3;V-=m`+&0.il3'fnWL 87.791 + f)([`E.>R-91GcSpF4VSn0oECGO,Kj?i`>IBsPB/p%,e0Gkk-4H9F->:tq;EpcbOY-*Y)'0 87.792 + 7#=mt?4RIb"R@XO`oBI>Bl%T\H'=tT"NeW`%PN$h=&4YOA?&,[%N)JV>2Y-3Qn"'08aj7S- 87.793 + ,j6crc[npURd%k22)N[N!C$;V7fR^Of7K)&cF-%b1`Ilm"3#Mj_qB$:B^q+l[J:GDgUs4!m 87.794 + OTJtH+eM+b-9mt*aHu[W7Xsu2lH:OYJQBN%itRDWV.CONq7VHm$n$=p;ETHH]f];=E>Juq) 87.795 + e\NW+k]/1"R/T-LQN7F=;T^`nf*#L6MVL;Yp^Gq]B@"qb!(GR\.+e`-^>>&ej`$s%`?A_t" 87.796 + Z7RJU5:le2;2pjYNl6+;Pkk9&69ILl'>IiJC%0p%"R!K#3_LQaoTg]XU/rkMpe5ElAfKBth 87.797 + 4]XD>J^km\.j9qq`b7n-)^sISH$'5YL)o3ac'Ou1b6kl:269Dgj_/Q\FHl'V_`P1@K6()UU 87.798 + bSu?os1d%pR1OAT"%fG)-6j-XJcm=!BMZ3iH,7uWM+ebXEEJD!SLEKcM7_>h!8OA`K->f8( 87.799 + PjDq*#=@/c]YjY$.9[+>UMm:*fH.BT!D!OKJf(6*5c#&5HGqoOQqup=X@H-_sgo!"(K0l6& 87.800 + ;$Z*`OR'69lEo8#FB2%u`:ZN%KjCDCDipM<mPs_.]hsmDFlVQ7P'a<'*=?4@J]%2</$jb7= 87.801 + U%&31G&`Gg=F1g!.3Q8#*h#XWI5PO$28?'M,)4$-A"S6coZ:dT8$5FbV@&D0#d,qk>t7WHk 87.802 + 0F2>ji)+BFMW>n9f!H>MMJ%hSPP?Hn7W6`CiW#a#N(RV6>$u#tYcc52PMO\P'S9U3M)Ruko 87.803 + 'RX@VCh#\_*sKG^LB(J2?uJR=JOg3#a>ALi7"Rs/K?.;NaCL(IFGS"SM9(@-8<f"Q`/D^dM 87.804 + b)ofaR"o-oT7/tOi[H`aV9q1,a6>LPf[I#8T^6>I$Vm-RE:\M!iROM;Z%aV!J-m]!WYdpJ5 87.805 + ;3\HU$k3LanMoKO"j],g&r:`uDquC\!@!0?(/MWS!aj9VP/,Im[pVRM)A`m&cLoHpQ815?o 87.806 + 93BH;e_+TZgg94YM)Cq%TP\BC\X9=27Q]Xl;)^!"p>bKR`EjM4F\^s"(?bV[.07)I/A_ou* 87.807 + "b[ec<>fb-2a\7B0bd>O:`6(d'bKSbcbiI*ooY1DT%0H\4]]mas%+MhPYs$=+,M[(RP&?:b 87.808 + fGq\[`1WX=OGTc(TT.1H:%9:FUgVIC3_L_;b;8]^7(#_lcH]t^c?.FYD!4WAkg$!gcEuh2` 87.809 + 9PXlld"#JcK+H>gq&%r%KeKg2_Z7J5[@/biOuVM6B'S=AG@,!fM?e'#U1,3Z'PfVp.sW\^m 87.810 + ]>QCYI,!3R0/nc9(O3n19/V>69$jKp;khI0WT&$.+qEd#AF[V$p2.%++)Fd.IiF"V/oh&() 87.811 + +)d3TIR*>HmY'i@C7d<-5PKbdON(X\cjdA7f0[2dSr*RVhI;:Q`9"Wu+d'`e:f0CT@"YRZ< 87.812 + Q-(jC=$(:qB)e2ZcCer:.c]R'^]_KpVfWYf5dd[?5%53p1!l:-(^@Yr7&B#lf2D;,VK-`J$ 87.813 + 879\ER]GXDe$V2lCHVnNM$JGmdn5GESLu%i=&5YB<#H:D3rl.;5La*8;[l3ZI54*:1Hs>G< 87.814 + .Me-?l?*DiC6pJ<:llB@!5N`i;ocQKmcn9Y_!88#$#/e!?,3qHd.;nn3-gmeZ`o@`Cm+/5f 87.815 + uMIRsdYs]gU@%>ui*Ke9teh,tUCF8j:Km<^="s?"gqb71W(*23;kfK6.Gk%+aN!K-V_,@bC 87.816 + nbWrei4f&-sndPq;VB;ZJN9nV\3JU=)tF]W.#O;qUG*3e&"("Q=pemn&IFa]/]oFV?;=>N\ 87.817 + SN)ko(r%HPb"iZ$=*HtE*qUPg:=Ic.Q]NbcbE7fl)O7d#8nJ#'k%9NGj=:L@KE4pf3Q&3pi 87.818 + -kIpf(g=iheCD?OYJN/J<BODN,M88g;T57CV.#Q3O%N)=g"iE`V3"kH!a-KNfdl)c4f+!#5 87.819 + h_uT5Y+ViJCjlsXfngHg6*dcm>B5\Mp6[U=J;(;>hd1n7NgoJO,PiR]s$1P_:ho"O7fBcNM 87.820 + jJOW8"P=,)C7M3C9p2#[AW$gZfs:%CAR#TN`GV=oGT2/4_D<Y?X65M]Dc4XT;\35q6SZWdI 87.821 + n&e(i^>c&ru]08MYp7FE@@`6[8YgkDEU2+(VFLYGd#^9s_A<SWFYs4>fW%kYFZL![N@dG== 87.822 + 2NsH-M78:(8Wno2Uh-ms%FkO]-a&:I>b)gjPJDCR$Rh4q`hJM_<4hBMNl.uOIh@nRK-1R*l 87.823 + D_:p1?WHjXKn3SGpl94^^h*,NNV),%!o9kC"o\JYh>lIK1tTZ@7KrmRIJZ7rr&oc4?pOaPg 87.824 + Qa$_V?),Ni3j$<AceJaMG=oq%8I'kecn94#@R'#/9!!_<Q\`&(#`[hhjtUBmLVUc&NpmB@= 87.825 + \'g8Qc%j*Rt?5iV"A0Fr0-<aPi?Z@AD$)[NU[1;HB1sK?bk(<[cskqVC99ig@u"/,A0db$n 87.826 + *rNfu,RQi^b4k$n$>j"qZHke3lObeEL$N(,A5L+U&u0&pp(=<OOD[QL/fle0iMj7Y^@2DiS 87.827 + Rr*7f<-Y:Sj?-gK53BUn7A2)Ro#cgm]"'4nUA@3cFISAhLf]!Z@M_6tR?:I%`7qD,=_+57H 87.828 + cktkB*N/CBit)8N2-U+69]`+PjXsd!^pc_g%D]DWM^D7b-;cm+;J#@CK=5:(CZhE'.V<(h+ 87.829 + :&($Y%ZLFq?PS\k-f&^SddDd.qZT%job,8'>S3,DN'B\B.s\U6hd;fHj/4m1scV45\B2FEb 87.830 + D7qM"XU,Ya&htmq3$@B-)GZ..F@k8L!B4[b(a8q"05?L""V'BQf0G[R!9.Y\*$R&^Ec_Ajo 87.831 + -@I_1&Ykchm5l5g!JOfsu-!^;gWn5<]_O6L7\kJigE#(=5:N]Ubn#"V7:\75Y,2egj7C#5H 87.832 + H#+t/rT5#^Gl7Sdq2PfV-V<U7Al;jftAuFp[W9U7YC::,,^8gJ<Xm4K?lHZTuk-/UoYj3X@ 87.833 + lSc"`7^D>TZg1Z#lXmWl?F]<E\SHr1laFCj`k#s:]Be=dlfPtJp7[(O)M))jJ62pS0J!9U- 87.834 + <#n'l%[7<S]iHN2XGsXBp7oJUU7l,<s#lLKh*Nk2UCb#ctsQHm3^<L*n9R8eSRe+m<7(JL= 87.835 + U4-fBo0^mAAY*[bU8Qh<i5=D:[S3#2ehaheje!mOmJd2WX9qjmG=pmT/LgB'8TJkjG>3DRS 87.836 + ft^?Y.+mI&Qnm`t:hk4!9^nF%^om6E(N+:0_G`IRV-KC)fXY5$uTQg^#pm(;V#bH^EjcL3C 87.837 + UDta2"#4ld5!H8PMn2CF<7fmX2"7TY#n7N!qG6m\V$1N]WE0gq$`s_<[-uV`[!RD:0Y7QJ- 87.838 + &aun9iElA#0T,>2k\nYLBssOJ#/9Vo)"FK=nXgb?Y8d#`*:`23EVCLDruU_9+n?Enndcu9- 87.839 + R<^k,k>RolW1jg.fB@W#QSO!"%Y1OD\Vcn'(JIDLlW:b2\s"8O)jh\,6/ghPKof.39^r/o6 87.840 + (/se_]nI'kkG(kgWCL'<-%#3O6K<-m/X@[8&b0Pj)O=F>aYMmmDn$0KnS]\kbK];\R(&6<: 87.841 + )6k\j#a`YS2B9Sac[4jQVYs%%7ko#=e4=$;3@O&Yco<T1\eocHsm[no*J;0??X[`E#+Z;q% 87.842 + Y?.k4*orh`]B$!jZb'!c<on1q?PFV<D@]E8oK84*<!)DXbAp1$ZiiWc7Y@DXQn75c6(46WX 87.843 + f4F[%EVCi$QJYbck@;2dA@\m`G;ja?LNo'@FEGiO4bn2@Vg!?OIJ;oRPF"8mYB+ooeG$kKp 87.844 + Xan>7tgY8E_>T54F_nU07geQK"3gmpg8sSa,H)ZH?@2a4MQb6+,bBqOngAfNh;>RO,lE$O> 87.845 + uEcGrM)cLR=&kCZY#)q,>B1@uU5-R<dteq=)8p(Rk'DS%NC(\@8%)s.oKmV;/eA+o<kP062 87.846 + @``VMBHqF@E/a/o-fnG75dG_`8Ah`Jd&WjmhbqVSXV8$n)\?0:$\GE8`9=0af8Z[5cbqmX2 87.847 + "B83Zj?i,%lH\9+\PCi\0]R2*DqU^sR;>(&^&U\62kZC8C9g*lBao#V%L0PT]2p-N:^&0h7 87.848 + r:eO-(Tuu"^AS;brAW4(8(<h``-k_<rHHllLY109M.9l6m!%-2a5$XFh>QN#r>%_C-f4h=i 87.849 + Vk4ar\pKuqXf4Ij8N]RrcdQ)J<G=nkl.LFrjV4lhgg,&ljIr$^lRr5kOAKfnZ!ttqM41]'J 87.850 + ^;sX,8Zs&uTHqD./Hco`^]U>?NKVKjF_@>;/$k7i6b0?r-PC((CM%6=E^#A2YG=LdY]L32B 87.851 + S,(Q:gn;7P\14WfbVA5YE5Q;&`k8nCo2A@>bsQqV*j3Mb5C2k3WU;n:u_I6XB$BN.#=(6(h 87.852 + [;J>OaA+#l^W'..V>,=OT:49lm<3#&']jJ!0=r&l1PQ>F(>&@<H7CL*P\4UU]Mi=s]d'AjQ 87.853 + GIqFtl[Q]?n!G(?G56p3@W6;A?5FWCaCK<o4Jl13Qcs&_=hNm@4eL)7FBUgSQVAg(5H>N6P 87.854 + M2u.X&^`Hh*0G-T60L@>I?ZhDnhUuGPd_%mhNN7n2XCl(G<>>k]C^(fFmo*e`V+&?,#KG^# 87.855 + /=(HsT#bQd+^cH@9,0Ni,rTfB_;n4dBs=p\[ID?b9V+mXuVm$L[kV7a);=]P_M%!^E_9re& 87.856 + !6KEhCj`lo"b_,._$%)Yp.4V,IC$q1cHOXs3?`=YdD'uc!`go%jsMdWJIXe]/?\*N"j*QJ[ 87.857 + )37CApjEh$5EZ/^8aO3bI--;<dSL;PmN27uGP,taB7H`E-WN*4tSCu'V$H",6P9Ll#67tUY 87.858 + 1bE6KggeV8MYT*<ZWd2^3>'r]Nl#>To!OOC%.bVclWj(e/9#(m2\D-t0Y>_oBU]'!;_pj89 87.859 + X6-"+3oR&m'T]SJWDfEFR;9!c#as!N_d"XeNf1\<CjLDkTp#=;3Z)Y857U!.36kN&h@@`c8 87.860 + %%RXOV_%hU]+MSS-XlNMU@CQE@9)gD7qtVT&kY>1^2<qsA6*M02S#67Eq2K?*C+>j+n*.ee 87.861 + .u7@!4tdOp^5!a\MmOQ9bA4-5>#(^gi8h!7,OP20e.'mEe>K)IL^G`D$9U=[[!!+1[oeUP' 87.862 + <2?o(I\D$+dU3LDh@j60K%?BNfNb+X@RBCCrk8DQfSZ@pqo:NFmD8NC0H01'@i"f/bF]2<^ 87.863 + RY4O>o6c1nlcr"X/ot<?JiJdmkd.l,L.VG!0!5tB6G"/`7V-C(#i[!B'SBDZRo7R%6E!:&Y 87.864 + H9E`P-idH2H58o>)L_.d0mh7`$%e9['?;Cl34n<."94BTNaGb[*UUFh6sQbHZQ^B)k&"`!# 87.865 + ridKC=&jeYDW&HNi)?]^!he(VJ0&c4?H8);'0T%u'!;ShH)`q&W2"T4f,Lm@h`F<f[OTS\k 87.866 + oj<bl&.m3/VZo8dGGRu'/@-seaCmKfF^Xe4qBfS-o;?PnE6r'%!5r-lOZl?1i*b2lsAiG$X 87.867 + EJu31nlIs/2,#@:1]:o`0b:Dg$:T_\j_Y3lJ;t4AdgkELD"U?+5\pmE4_5LI*6"#4;Jkhlk 87.868 + (76fJTnG.T:sKtH=D\N+_luc_CtBu]Y.0V$3G,?X]eN?PEZfE$JOE?W^-U]X@Ta@s^]FKI7 87.869 + 4MK7Gn*0Dpk1?R(g7`4#E.]80YfZBE$?HQC<#rmOU+R2U3'4SjB="O;?%BiF;6")D,<7f/H 87.870 + H-1@fR++aMK6"`8Y;TB$chi7kt`!$Ue,@Z1,-/aFtr$`0lfeDGEdV4X\L]4";\!)8l0)&7k 87.871 + q)MIl??4h2RWA,umR`LXfDR:8QpK6NC&d?)NA1E7Z>$(&R.HOD%L,c26'47]Jdb1FHIhTWm 87.872 + '?ijMo\4\G[9Y2FP:,u"F*AD&HhB<OJA&kQW1`=MrRI^o*bLsifk6.cU;pK\b=m\B8`;-!F 87.873 + LjUEr8r[K3jD3*7q])$U433TP2_S22O>SsZAk@7k$mh)V\@Y-W]WlSk[M);T^Hgd-F+/1`l 87.874 + ,IFm)G=#[U%EYadZVdAbA@tT<+^5Lg1s18/M!^"hK;M\92$"11--*RU/Y<U;<gSAWDtMu:W 87.875 + `N^a1VJPMcpQ+3+!We$,iQlU6SYkfZIKr6=N6TRT93t67M:b2t^3lN<pOj-B2t[L?>VMH5\ 87.876 + GPNBa=>%^@!f#jc8:Dm*)g^rGXnat$DMKQZqCfD;CTm"LS-<_ge?>:a&minoOA9$=<ujW@e 87.877 + ,MQjJ_Z]RjF?RDm#['RVOfU?#Xm8*ea[E@+MZcd"BXP1$^g<s1L+_f-UWOI#=]\9t(D[?SL 87.878 + V3RpqY$51Jll62>[W^qA>HN&9`S%k)D"b!L[4(##s+hJ2.n&-i?nOap+B#M#&=]%jBTWO<P 87.879 + ]GjAGM?5<[F2Jh@URuldR%_XC73]1rQuNjI%TfuG'Fed>\k?tLrI\D3(i5^CZeH2-5j^'D[ 87.880 + p424br"0R<d+EU>c<>H*Ch/^Z7H27L9ZaXsB2rd;X`_3KZ7<NJ<`M\?imF9l1D5B#!!:LZ6 87.881 + t.Mt!l7`^=AW9-a6J-Sl1FaT!:]%"1/,,;d9(lC-aLUPZ;]@E_l811je8M]Q:%H-\W,8pnp 87.882 + Anh^7OUb<+oqSA&)4upEGXFnJL6p_9q9lO60g.k0t6*^E84P@aLONd$V10(``d$HsE(8t@- 87.883 + (/iHrEjKFkV4of$MNN,FKBK?=BJY+:eQT.WC>E0rbdJ_.30I6V"1X"aJtcDD'aW_<5!nD'I 87.884 + j,P%4ZP"^NiM4H^"52Ah[Pf:h*iR)H1N<61a;h&rIVl*hcqQMFJ1SO!S>g8LMRt^6hVk]+8 87.885 + ZtdkhI4J2K$X^A2e2=!^i(:VUpFsB2\/pFdDJc7,GM->B!mX_>$M,iERpjlQsB:?B5LS)L@ 87.886 + :nk4O\tE(tb@nALF%4JN[,SUOet:)90a3b0Z'R@.4]&@t_V6tTLCl02&M/XN@0%CFo%SmoR 87.887 + GG(H2RU,76pPAt%H,r_/0kRb-*EV/).:^g:V=m^X0^4!T;cR\-G-^V9Kh:BY#1eo%FGLsMQ 87.888 + cG0ZJFDeF]]A6#c\-H!]4a(+P*a?k9h_e4m9>5W,rSRMXJY,%cc/(YfBks]p<Z!;m$?clkC 87.889 + H%))4d-^],Q5@_B&2k(ad@6W'>K>f7'E[9R'LWHL'Whj0g7pWGp<p_2QJ1qosfkSWl=.KY< 87.890 + oZC8't?bJ_X9:[]!Nm_u*l$nbu&#q+Fnh,:]C"5$=IV8hn%,ZjD`5C:k.8hBZN_c1KQOMbX 87.891 + )@D#a_2R_:5%:brp-&J^F!<!%VJLKCPI?Zg>[O'tOk,O1TDOH<9+1iL/AO89:rY4E+\/8V= 87.892 + d.+nF<7f[+>r+/@N!n@//lMVpR<Y*jU!]'`?;#Wl<rf5RlmAU$15Tu4?'^uJ0km[cl[.k$r 87.893 + "3Z<"!>u#8;#2kc#;C9*E-V\`o'hRUc-Ui`%c[h(>mRZo#r%VNE1%$:SI+DM#RtJT#@RoMW 87.894 + $G3A$LkG2E4H@\]aO>F1bb`b$qh!Z&FJu2Bo[0B0\Ho>h$rl4%PZriXO>@4V[d:A$S_(ZYk 87.895 + J[4r=AE!&2==t0ZK@&,7nD)%oEoN;%XDF*>.fb&htZ;OUCps-;"jf&5b4rnMq8f4VR?O'IS 87.896 + MGY721C9bd+p'er]'EEO$];#-mGq=.)md:jB$D&2Y](GU%KDAa3"*tZfB(QjCgEJYO;N>V2 87.897 + J)(@9SOG+Q?1kC7D)@]S*Y(Dt#em?\V0Ti0'&ZRHp?rSE1)^9a2X9TWjboH9$*ANTmOUiI" 87.898 + cK4&H*Xp'VL%P6Dh]>AYZ%)i>@Y5>'/i\]FkgA3/EX<ko%.B;C`,NfKZ48snWdgb"+n+@ml 87.899 + oO'<*-JP6r6<#1ng+I\Kca,Hmp_7rMqTQ+r?8ID,r/IHC5X5^K+@HS3H'5e,&&BBo#$P!p4 87.900 + =@M!m^Rm_^<_3P@Z^=:_`gOk8^83,k>FoEg\A^S;'no(c%[=V"F?.DC)Th!s9,(&sOY^ZD\ 87.901 + u^T10`VDdY[?]..jK/Mbj.A]ZDW)(gIp09U-!Eo^QTcFWT7^7sdCC%>]7oZm\8.nKsF`L.r 87.902 + eo"VCY:k`fb72l7;Ea[>S1,C43F!tWtI.4D118?><^sH5io!Cg:1XOLmBsAdIO#)tg%;9e> 87.903 + &-DNZ/f%*;Zu/??k!\9o*agc]2`#S8F*L:*/fq9/1Ga>3dX=%?+=@h[mS\YeNhnYNOZ>3]K 87.904 + Su<QmGs1#0\O`.bO.@*;G.(N+u(]FFFfHoc20KlLHP1U4YtSU;VaKVj"t7u4q']+OttX!#s 87.905 + 'P\\Z)Je+pr7Ll6/kD43iN6&p,;AI34Z44k(34F;[B>]fi_B1,JFFniY-PV_l9j6=t!]A0i 87.906 + Y-[bl06+RJ,S$imtMeC[\14O?YHJdd`?0f`,\68W7CFD44>$J%\#+`qQboAh3>1oY2n/JIJ 87.907 + *e:)"M5jk?db-ZmHafprX;Z*7AaAdLVFK%m>X\.SM-.HuQ'&Q=`\Oa*!i<K*BP^,,WE?A0$ 87.908 + +NF1$7>"3/f1jaF9@W&uFQlQ$\hupfZVZ8p[-]^BVCkjI]4n,q0uP\$^h,"ETT8=):i=]ZY 87.909 + 4m#A7PnOB;e&E6qbm)A;`-BT'HpCaM,<fdee33Z1f,sX5e5DI7<K[O&-GZA=S(&d;q5G[F_ 87.910 + O=14'&X]<@nGLbVjC&atcsl>`faqCKW^+,>sSD;H740F`CQlSQYP72tMYtQ(TJSK2n2$bRM 87.911 + u#'E0bPY$3Uq8Q-'iKn.\gO&F:g=V#"J<NBE5h-KR\<qYAtFh^rcbuA0!R%llPYk(pq7!,0 87.912 + R?V$u`_U2>j6X]T9>nuO2Fr=_nf"9"K(\'(ce)OMb&hbW["Di'^/3O!-;^,6u;5/&;No=?^ 87.913 + &man[KHlB7/ONE7=].adlkV$^G%kQn5@.B,,n!stb`PVc9X49"Akh\HFC$9e86W8Von?f>E 87.914 + ]V>W6VK3/m*::9`F+9cojCgACGrS9E8=/RV'Ztfdo>=Xnr7I.m)7@XZ%=CHZ^)n<N`qU1c6 87.915 + K/,f$A6Ac>67Cp$tOf2Yh:"r<[XeDtZ+qJh3q1;OZ0cWCH\*68*<&SgO0f>&s'c1;Pc-]$A 87.916 + ME0biKTWJais"&1]XF>lX1DAR7N8KXlpi/p4YQVVb5?$5mL]2q^M,&WGUQP+LZ>^'n+GBnD 87.917 + AI%F?65*9K%iadk2YnP`J@i'uIGF<`cS;%],C_r^RilH+\SJ!\(7$jfuGI`(0]NUY7Hf@.J 87.918 + ((CrOaS_CDI5f])GM+q++M8I9G^%nkGNjRcm=+g!+]c8#Pdu9&rI=SCJ2d^UQhPf.#CuR]J 87.919 + N+BqF`Ddg)1hQ+JiG'.F,,>!.>%=LK/b`@ERf@lF`oM??Ijuh\3^s57`<qPK]=G62LC(D?% 87.920 + r&^<gSE<2s#/U,>].,]6J7,<tg<JI>@TK170Y3pi[qXMN\m<CfOhu315W5SMupkDqL3uR&; 87.921 + fdHV`:8M>4K:Ge#+WEGP>6<u39/f?1qpAg2-bo4NIRG;3!i%Q^U=>BnGc(rip"b?G/B+un$ 87.922 + Q+W69*>=DZQ0LfIEfXm6U%?U,kJ@NKt;<T_i"d"<RBr1IqGhaD2\rnX!W(HH?UCfrj+OCq* 87.923 + ,9r22QLC!fnuBe(PPGfUH!-E;LPdqNRV1f12m6@C#i,o\RkF%o`$!i79fik'O-rN]f^D^QQ 87.924 + ^1A5QBtT[67-Fp<L8:Gf=?@e=bAGsL*4$b"PI^Yft!T_]bS(d:.PdP2MH%c,XOGM\+uoaQ^ 87.925 + "p&d9F/KW7f023QmHb0:a!8SO9Me3V-6;f:EjQS,*;]H3k;=_b8)1g3Ao/.0WfG-_3..WEK 87.926 + sKGd8N^)fKM%U(jA[q?s(04eqM1L3=qC8Z/97r^cc@TCt-W<]H\>9;<C?<I-(&K))&S*GrA 87.927 + RV`JsuE1`fqYo\e7UO"C4RICtmfV6q/BA/)r>(EdM"s^^;W:Ij*.;`nTH)g_GX"TC/eE!Z/ 87.928 + "Q!%=TA!HlZ@OqQWH1+dP8_,TXu!.:Qm0,bO#kUd>-4i/mB6<Ti4?HpX+;5D@;6u?FTV,58 87.929 + i]o*AZb8?YHQr"F=Enm$a;t@Y`LkNH/l&s*NqOZZTC"o3>I%P)XSH[KXRk`q^[udT";O"41 87.930 + bJ:4%HQEDe7FrMRtgUHYKpi6[e(/PaDngCu^`&m%Thb[<_/>].U'EH\K&MRplo<(Nm5lP:p 87.931 + ,*[bIXiH`3p4pK&:CV\Bf@R;Z_a30X!g\[GkW]48JMX1\>W]dRs5oVgT0]l;sCAhNKpl7!] 87.932 + RjgH#4^0.,-]A0Lbi#u=s,!5+r@MccUaf0Xi]j);gHl/M;7>A3*l+n5%!T?&LQ]:glRY:iY 87.933 + `-7pp>3b.)N^ac!S$jPh56Q/5T;auj>UdPE=i3.u`>gsb>Yem&jrHQP!#l;<Htr[I_kUHUa 87.934 + ?50tB9Ru&4]ZU*"8c>WR+6+[Q6?%#49P<L9ErA%/nmoAaY7ALkU2VmPT_$@D;;$Ae%"'-Sg 87.935 + 7RDrEQnSSCu0"gh0jE9$e_9RBe"Q3e*u79fVhu:TQd&LQF:-YlZr2nh\T:p7D3E/oe]/@Q2 87.936 + Z'(HFVOORN_*dgaY4oa9LpBidUFrAi??4B``be,;_bI7_qu0seG]eD4-TI9G+1(PZAkefjk 87.937 + ?I9kF;D:\Z*IA:C)$D8H2Hld]e94VcqI>QUiNS+2lffbVRI@8d%S_<t8g-):dIAtr6XkN`Y 87.938 + gHDt!IC\+G^"`M%gc`X3IEC9Xc.r9Fh*'<EIG*Gih;/%ghEBuWIHfV%mG@g3h`^YiIJMd6r 87.939 + SRSTi'%>&IL4rH%H.3tiBA"8IMq+Y*T?u@i]\[JIOX9j/`Qaaj$#?Q_Q[\3nfT%~>Q 87.940 +Q 87.941 +showpage 87.942 +%%Trailer 87.943 +count op_count sub {pop} repeat 87.944 +countdictstack dict_count sub {end} repeat 87.945 +cairo_eps_state restore 87.946 +%%EOF
88.1 Binary file 0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Time_in_VMS_1.png has changed
89.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 89.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Time_in_VMS_1.png.bb Sun Mar 11 09:26:44 2012 -0700 89.3 @@ -0,0 +1,1 @@ 89.4 +%%BoundingBox: 0 0 660.96 253.92
90.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 90.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Time_in_VMS_1.svg Sun Mar 11 09:26:44 2012 -0700 90.3 @@ -0,0 +1,407 @@ 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.47 r22583" 90.20 + sodipodi:docname="Time_in_VMS_1.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="perspective11923" 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 + </defs> 90.53 + <sodipodi:namedview 90.54 + id="base" 90.55 + pagecolor="#ffffff" 90.56 + bordercolor="#666666" 90.57 + borderopacity="1.0" 90.58 + gridtolerance="10000" 90.59 + guidetolerance="10" 90.60 + objecttolerance="10" 90.61 + inkscape:pageopacity="0.0" 90.62 + inkscape:pageshadow="2" 90.63 + inkscape:zoom="1.3364318" 90.64 + inkscape:cx="448.37508" 90.65 + inkscape:cy="648.10677" 90.66 + inkscape:document-units="px" 90.67 + inkscape:current-layer="layer1" 90.68 + showgrid="false" 90.69 + inkscape:window-width="880" 90.70 + inkscape:window-height="1141" 90.71 + inkscape:window-x="889" 90.72 + inkscape:window-y="6" 90.73 + inkscape:window-maximized="0" /> 90.74 + <metadata 90.75 + id="metadata7"> 90.76 + <rdf:RDF> 90.77 + <cc:Work 90.78 + rdf:about=""> 90.79 + <dc:format>image/svg+xml</dc:format> 90.80 + <dc:type 90.81 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 90.82 + <dc:title /> 90.83 + </cc:Work> 90.84 + </rdf:RDF> 90.85 + </metadata> 90.86 + <g 90.87 + inkscape:label="Layer 1" 90.88 + inkscape:groupmode="layer" 90.89 + id="layer1"> 90.90 + <rect 90.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" 90.92 + id="rect4618" 90.93 + width="413.02609" 90.94 + height="158.61386" 90.95 + x="216.25447" 90.96 + y="368.18201" /> 90.97 + <path 90.98 + style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 90.99 + d="m 219.06883,401.37498 c 128.4693,0 128.4693,0 128.4693,0" 90.100 + id="path11721" /> 90.101 + <g 90.102 + id="g11990" 90.103 + transform="translate(-60,0)"> 90.104 + <path 90.105 + id="path11907" 90.106 + d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 90.107 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 90.108 + <text 90.109 + xml:space="preserve" 90.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" 90.111 + x="298.7023" 90.112 + y="376.52615" 90.113 + id="text11715-4" 90.114 + sodipodi:linespacing="100%"><tspan 90.115 + style="font-size:9px;text-align:center;text-anchor:middle" 90.116 + sodipodi:role="line" 90.117 + id="tspan11717-9" 90.118 + x="300.05582" 90.119 + y="376.52615">Suspend </tspan><tspan 90.120 + style="font-size:9px;text-align:center;text-anchor:middle" 90.121 + id="tspan11940" 90.122 + sodipodi:role="line" 90.123 + x="300.05582" 90.124 + y="385.52615">Point 1</tspan></text> 90.125 + </g> 90.126 + <g 90.127 + id="g11984" 90.128 + transform="translate(-60,0)"> 90.129 + <path 90.130 + id="path11911" 90.131 + d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 90.132 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 90.133 + <text 90.134 + xml:space="preserve" 90.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" 90.136 + x="378.7023" 90.137 + y="376.52615" 90.138 + id="text11948" 90.139 + sodipodi:linespacing="100%"><tspan 90.140 + style="font-size:9px;text-align:center;text-anchor:middle" 90.141 + sodipodi:role="line" 90.142 + id="tspan11950" 90.143 + x="380.05582" 90.144 + y="376.52615">Suspend </tspan><tspan 90.145 + style="font-size:9px;text-align:center;text-anchor:middle" 90.146 + id="tspan11952" 90.147 + sodipodi:role="line" 90.148 + x="380.05582" 90.149 + y="385.52615">Point 2</tspan></text> 90.150 + </g> 90.151 + <text 90.152 + xml:space="preserve" 90.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" 90.154 + x="352.7023" 90.155 + y="400.52615" 90.156 + id="text11954" 90.157 + sodipodi:linespacing="100%"><tspan 90.158 + sodipodi:role="line" 90.159 + id="tspan11956" 90.160 + x="352.7023" 90.161 + y="400.52615">Program </tspan><tspan 90.162 + id="tspan11958" 90.163 + sodipodi:role="line" 90.164 + x="352.7023" 90.165 + y="410.52615">Time 1</tspan></text> 90.166 + <text 90.167 + sodipodi:linespacing="100%" 90.168 + id="text11960" 90.169 + y="412.52615" 90.170 + x="278.7023" 90.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" 90.172 + xml:space="preserve"><tspan 90.173 + y="412.52615" 90.174 + x="278.7023" 90.175 + id="tspan11962" 90.176 + sodipodi:role="line" 90.177 + style="font-size:9px;text-align:center;text-anchor:middle">Trace</tspan><tspan 90.178 + y="421.52615" 90.179 + x="278.7023" 90.180 + sodipodi:role="line" 90.181 + id="tspan11964" 90.182 + style="font-size:9px;text-align:center;text-anchor:middle">Segment</tspan></text> 90.183 + <path 90.184 + id="path11996" 90.185 + d="m 446.59318,401.37498 c 138.89067,0 138.89067,0 138.89067,0" 90.186 + style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 90.187 + <g 90.188 + id="g11998" 90.189 + transform="translate(166,0)"> 90.190 + <path 90.191 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 90.192 + d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 90.193 + id="path12000" /> 90.194 + <text 90.195 + sodipodi:linespacing="100%" 90.196 + id="text12002" 90.197 + y="376.52615" 90.198 + x="298.7023" 90.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" 90.200 + xml:space="preserve"><tspan 90.201 + y="376.52615" 90.202 + x="300.05582" 90.203 + id="tspan12004" 90.204 + sodipodi:role="line" 90.205 + style="font-size:9px;text-align:center;text-anchor:middle">Suspend </tspan><tspan 90.206 + y="385.52615" 90.207 + x="300.05582" 90.208 + sodipodi:role="line" 90.209 + id="tspan12006" 90.210 + style="font-size:9px;text-align:center;text-anchor:middle">Point 1</tspan></text> 90.211 + </g> 90.212 + <g 90.213 + id="g12008" 90.214 + transform="translate(188,0)"> 90.215 + <path 90.216 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 90.217 + d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 90.218 + id="path12010" /> 90.219 + <text 90.220 + sodipodi:linespacing="100%" 90.221 + id="text12012" 90.222 + y="376.52615" 90.223 + x="378.7023" 90.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" 90.225 + xml:space="preserve"><tspan 90.226 + y="376.52615" 90.227 + x="380.05582" 90.228 + id="tspan12014" 90.229 + sodipodi:role="line" 90.230 + style="font-size:9px;text-align:center;text-anchor:middle">Suspend </tspan><tspan 90.231 + y="385.52615" 90.232 + x="380.05582" 90.233 + sodipodi:role="line" 90.234 + id="tspan12016" 90.235 + style="font-size:9px;text-align:center;text-anchor:middle">Point 2</tspan></text> 90.236 + </g> 90.237 + <text 90.238 + sodipodi:linespacing="100%" 90.239 + id="text12018" 90.240 + y="400.52615" 90.241 + x="590.70227" 90.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" 90.243 + xml:space="preserve"><tspan 90.244 + y="400.52615" 90.245 + x="590.70227" 90.246 + id="tspan12020" 90.247 + sodipodi:role="line">Program </tspan><tspan 90.248 + y="410.52615" 90.249 + x="590.70227" 90.250 + sodipodi:role="line" 90.251 + id="tspan12022">Time 2</tspan></text> 90.252 + <text 90.253 + xml:space="preserve" 90.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" 90.255 + x="516.70227" 90.256 + y="412.52615" 90.257 + id="text12024" 90.258 + sodipodi:linespacing="100%"><tspan 90.259 + style="font-size:9px;text-align:center;text-anchor:middle" 90.260 + sodipodi:role="line" 90.261 + id="tspan12026" 90.262 + x="516.70227" 90.263 + y="412.52615">Trace</tspan><tspan 90.264 + style="font-size:9px;text-align:center;text-anchor:middle" 90.265 + id="tspan12028" 90.266 + sodipodi:role="line" 90.267 + x="516.70227" 90.268 + y="421.52615">Segment</tspan></text> 90.269 + <path 90.270 + id="path12042" 90.271 + d="m 267.24968,477.37498 c 232.74658,0 232.74658,0 232.74658,0" 90.272 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 90.273 + <g 90.274 + id="g4352"> 90.275 + <path 90.276 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 90.277 + d="m 364.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 90.278 + id="path12046" /> 90.279 + <text 90.280 + sodipodi:linespacing="100%" 90.281 + id="text12048" 90.282 + y="506.52615" 90.283 + x="364.7023" 90.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" 90.285 + xml:space="preserve"><tspan 90.286 + y="506.52615" 90.287 + x="366.05582" 90.288 + id="tspan12050" 90.289 + sodipodi:role="line" 90.290 + style="font-size:9px;text-align:center;text-anchor:middle">Tie </tspan><tspan 90.291 + y="515.52612" 90.292 + x="364.7023" 90.293 + sodipodi:role="line" 90.294 + id="tspan12052" 90.295 + style="font-size:9px;text-align:center;text-anchor:middle">Point</tspan></text> 90.296 + </g> 90.297 + <text 90.298 + sodipodi:linespacing="100%" 90.299 + id="text12064" 90.300 + y="476.52612" 90.301 + x="504.7023" 90.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" 90.303 + xml:space="preserve"><tspan 90.304 + y="476.52612" 90.305 + x="504.7023" 90.306 + id="tspan12066" 90.307 + sodipodi:role="line">Virtual</tspan><tspan 90.308 + y="486.52612" 90.309 + x="504.7023" 90.310 + sodipodi:role="line" 90.311 + id="tspan12068">Time</tspan></text> 90.312 + <path 90.313 + sodipodi:nodetypes="csc" 90.314 + id="path12088" 90.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" 90.316 + style="fill:none;stroke:#422fac;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 90.317 + <path 90.318 + style="fill:none;stroke:#a94c26;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 90.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" 90.320 + id="path12090" 90.321 + sodipodi:nodetypes="csc" /> 90.322 + <path 90.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)" 90.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" 90.325 + id="path12092" 90.326 + sodipodi:nodetypes="csc" /> 90.327 + <path 90.328 + sodipodi:nodetypes="csc" 90.329 + id="path12094" 90.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" 90.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)" /> 90.332 + <g 90.333 + id="g4338" 90.334 + transform="translate(8,0)"> 90.335 + <path 90.336 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 90.337 + d="m 270.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 90.338 + id="path3246" /> 90.339 + <text 90.340 + sodipodi:linespacing="100%" 90.341 + id="text3248" 90.342 + y="506.52615" 90.343 + x="270.7023" 90.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" 90.345 + xml:space="preserve"><tspan 90.346 + y="506.52615" 90.347 + x="270.7023" 90.348 + sodipodi:role="line" 90.349 + id="tspan3252" 90.350 + style="font-size:9px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 90.351 + y="515.52612" 90.352 + x="270.7023" 90.353 + sodipodi:role="line" 90.354 + style="font-size:9px;text-align:center;text-anchor:middle" 90.355 + id="tspan4072"> 1,1</tspan><tspan 90.356 + y="524.52618" 90.357 + x="270.7023" 90.358 + sodipodi:role="line" 90.359 + style="font-size:9px;text-align:center;text-anchor:middle" 90.360 + id="tspan4068">start</tspan></text> 90.361 + </g> 90.362 + <g 90.363 + id="g4345"> 90.364 + <path 90.365 + id="path3276" 90.366 + d="m 322.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 90.367 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 90.368 + <text 90.369 + xml:space="preserve" 90.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" 90.371 + x="322.7023" 90.372 + y="506.52615" 90.373 + id="text3278" 90.374 + sodipodi:linespacing="100%"><tspan 90.375 + style="font-size:9px;text-align:center;text-anchor:middle" 90.376 + sodipodi:role="line" 90.377 + id="tspan3280" 90.378 + x="322.7023" 90.379 + y="506.52615">Suspend</tspan><tspan 90.380 + style="font-size:9px;text-align:center;text-anchor:middle" 90.381 + sodipodi:role="line" 90.382 + x="324.05582" 90.383 + y="515.52612" 90.384 + id="tspan4070">2, 1 </tspan><tspan 90.385 + style="font-size:9px;text-align:center;text-anchor:middle" 90.386 + id="tspan3282" 90.387 + sodipodi:role="line" 90.388 + x="322.7023" 90.389 + y="524.52618">start</tspan></text> 90.390 + </g> 90.391 + <path 90.392 + style="fill:none;stroke:#422fac;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 90.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" 90.394 + id="path3284" 90.395 + sodipodi:nodetypes="csc" /> 90.396 + <path 90.397 + sodipodi:nodetypes="csc" 90.398 + id="path3286" 90.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" 90.400 + style="fill:none;stroke:#a94c26;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 90.401 + <path 90.402 + id="path4334" 90.403 + d="m 367.06883,483.37498 c 57.09423,0 57.09423,0 57.09423,0" 90.404 + style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 90.405 + <path 90.406 + style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 90.407 + d="m 367.06882,491.37498 c 95.45,0 95.45,0 95.45,0" 90.408 + id="path4336" /> 90.409 + </g> 90.410 +</svg>
91.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 91.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Time_in_VMS_2.eps Sun Mar 11 09:26:44 2012 -0700 91.3 @@ -0,0 +1,1034 @@ 91.4 +%!PS-Adobe-3.0 EPSF-3.0 91.5 +%%Creator: cairo 1.8.8 (http://cairographics.org) 91.6 +%%CreationDate: Thu Aug 25 15:29:49 2011 91.7 +%%Pages: 1 91.8 +%%BoundingBox: 0 0 210 178 91.9 +%%DocumentData: Clean7Bit 91.10 +%%LanguageLevel: 2 91.11 +%%EndComments 91.12 +%%BeginProlog 91.13 +/cairo_eps_state save def 91.14 +/dict_count countdictstack def 91.15 +/op_count count 1 sub def 91.16 +userdict begin 91.17 +/q { gsave } bind def 91.18 +/Q { grestore } bind def 91.19 +/cm { 6 array astore concat } bind def 91.20 +/w { setlinewidth } bind def 91.21 +/J { setlinecap } bind def 91.22 +/j { setlinejoin } bind def 91.23 +/M { setmiterlimit } bind def 91.24 +/d { setdash } bind def 91.25 +/m { moveto } bind def 91.26 +/l { lineto } bind def 91.27 +/c { curveto } bind def 91.28 +/h { closepath } bind def 91.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 91.30 + 0 exch rlineto 0 rlineto closepath } bind def 91.31 +/S { stroke } bind def 91.32 +/f { fill } bind def 91.33 +/f* { eofill } bind def 91.34 +/B { fill stroke } bind def 91.35 +/B* { eofill stroke } bind def 91.36 +/n { newpath } bind def 91.37 +/W { clip } bind def 91.38 +/W* { eoclip } bind def 91.39 +/BT { } bind def 91.40 +/ET { } bind def 91.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 91.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 91.43 + /cleartomark load def end } ifelse 91.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 91.45 +/EMC { mark /EMC pdfmark } bind def 91.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 91.47 +/Tj { show currentpoint cairo_store_point } bind def 91.48 +/TJ { 91.49 + { 91.50 + dup 91.51 + type /stringtype eq 91.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 91.53 + } forall 91.54 + currentpoint cairo_store_point 91.55 +} bind def 91.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 91.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 91.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 91.59 + { pop cairo_selectfont } if } bind def 91.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 91.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 91.62 + /cairo_font where { pop cairo_selectfont } if } bind def 91.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 91.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 91.65 +/g { setgray } bind def 91.66 +/rg { setrgbcolor } bind def 91.67 +/d1 { setcachedevice } bind def 91.68 +%%EndProlog 91.69 +%%Page: 1 1 91.70 +%%BeginPageSetup 91.71 +%%PageBoundingBox: 0 0 210 178 91.72 +%%EndPageSetup 91.73 +q 91.74 +Q q 91.75 +q 0 0 211 178 rectclip 91.76 +% Fallback Image: x=0, y=0, w=210, h=177 res=300dpi size=1939464 91.77 +[ 0.24 0 0 0.24 0 0.13 ] concat 91.78 +/DeviceRGB setcolorspace 91.79 +8 dict dup begin 91.80 + /ImageType 1 def 91.81 + /Width 876 def 91.82 + /Height 738 def 91.83 + /BitsPerComponent 8 def 91.84 + /Decode [ 0 1 0 1 0 1 ] def 91.85 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 91.86 + /ImageMatrix [ 1 0 0 -1 0 738 ] def 91.87 +end 91.88 +image 91.89 +J3MmeQm:T""FRqW:afj4*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 91.90 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1\+]#%(hQ6CO<M&\m`$2*dYZP^B4!g 91.91 + 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 91.92 + _Aoh+fk'&t\ctIN'kXBO&=F.Y<:MjZX]jl_3@$]W5-J>f\D0C8SQKMblgi#.L/UagF]AmgS 91.93 + S;UGjD9:c/35"*4".<l]oXS81IoE-!m.`X8Nt5a$bO52<ri[u=\)R&W[p<p3TA0)2pHG3ET 91.94 + <lQ84`?PPZTr:W$F2\<gX,pan0?fi5-T+k"i?;[qZ0!e1`m,k0Ea$>6SLmupd%``6J+YF"= 91.95 + "@BDq$936h$=M(.N9X>7sBoKPM8hZ'8"g5r$SD#"<O=G9B=/oQqKHlO4:F8b,99,>"p=K,7 91.96 + /mKW;5u13A^,8ofTnWQVTS7gMMge;H%UEg2V<7e9#mXu49E[+6;IX.H99PO/64ckHom6-ti 91.97 + J%7AMW9bg+EP\hF2dM.Ze8^`j*/PFOuP=gHWF/#bqT9T`[;:LjW6W;MM/QGg$'l@#Re9,V= 91.98 + IT@23B2M^;<Gu&B2(a#Nf<t9i@+<aJLjmtK`JImQp-jsPff!]8A(l*[Iq`'Z%BF>L2Pm`dg 91.99 + NNh5CK=KTB6.<8c-okPFbQ#c>a9HFF5D+XD/\63`S#7cQ_i_AhRD%kJR8*Dqg2>1-52#:<k 91.100 + \Zd?hO[GEoM7C%s_VD`\3-XGa:.G@CW1!FCA2#94;7qc5i&,[tZu(A3#BEO_+=mB:3+P:32 91.101 + )!g"$D#@(GDsRV"RgGE^[j"rF"GqGqs?B_jW:TkQQBVjqMuG)*/43p)d)<]^JUX_PH`WNb` 91.102 + Y7aJ@)g?tfHD7]`(\RX<ql_<hDDY'gp3e"cWDL;ZcXmeG"pU!kt1)TB<a7gUpnf3]:amtt* 91.103 + /^*`*cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu?D;4e*cZS(<SaV!ap`9s"i 91.104 + V8utNT9gU:R1&;So:1_qAt]ol1[%_(4oNO$5l`]kPr6ar#ZHgnbf"4c1ClU:Y#.:T5WQ[rZ 91.105 + @3_q>R"imJHo*ch78:TC;^Xhuj(2:_!Ol=:G;h6j\E@/d=Sn*<Y5Q&V<hS$:.cG"lR<:K2? 91.106 + Fq6.e=*i<1<W:lY[gpTd,N3=IBUD,J"!8IOL10nrNM)FIVD%H55cLJ[C[6eHetiWMQ';%=d 91.107 + <=H*pP6qN54/b$Vg6<)o8!ek.kmPsEu(#m/7Mc"@E7G,9iirieL;3!D$=Nq`D6tqWXXu8H, 91.108 + S3J3LTnPle.RMdi)e6g3O&>=/8(db^j91$q;@Z#a=UcP87#?Lm^,V1j*ogbCMNUk48kE/;- 91.109 + 03"4P>Z9n8_H6SjTM9*E\\>!.&@phgf5HEMH3@&>q>#iZ'J;5>"`"8/`jp]L@UFS71o8.j\ 91.110 + 0i_Ep@+-=cG/u7*1iq/nRf1SMTD]-#q;'?HQu3.OA'ARo=3B:"d3=k60b6;iYln=<fIDR9t 91.111 + Z#p(pJ<h)jeQnX`\)H;@]24m0aRQ]h2Q9ptT;kQM![<"=LV=q*d]7)tp@>(4[F'1:u;&Y`6 91.112 + "MG[P/7HhZ,TlN1mO/^_mB[%]r<0!,>>"qTQ74FX(DF^e.5t\,10r@pqRT!C,:$KSUV1_<f 91.113 + ;jr,%^]d$&<=5AJ>)`;-*D*4&/uDS4G;\UVFe+[bVU\e-1b-;"X$JYH<0.(u.fc$><FBK.$ 91.114 + GB:\=M:h:$FL8qX]s]EA?/$PXp!Il=9D!$'314%<cA'PCMdmi<PlUT=SGbXD,ZgF)TG-!dp 91.115 + q^_I^2tF]FC>^%]kmgZSj_e5'n>3ClOXc<<gV!G]RKV4fG]qY1?%12YO/90=A76$B?'BB^N 91.116 + d5YE7Jg7#M.DCMgGdG1^cgRuLS<gblRG'&S3IK5duId>.G.YYk7rFKWOe*Z&_*f6Y890%fZ 91.117 + @<dqL5gAP[CV9?J0XrZ@<bu!`Fi4F2na51"3H0ftDYLg)Z?eL9F-H-J0fF@feHjs/0jp?L( 91.118 + ,X,5nkC0HoiNr:r;rC5YKePt'IX!XR<NI?FVY1\=fNSteHi[2Y%>r*6XnZ3A-$Wdo0#%Lbo 91.119 + %^h2BPJQ6I<E]7<U/mVXsN@]<Kb%%qLsPUV8Re,g9kFJKoVc7`l>D6,sCUO=KId/\M(m2jk 91.120 + MjoCW7'pq0W/M/Bs(up+i`E_>35n]m:bI9Gb6#T]HF-Ns'&YX-j%Dhm_@*`7@DV3?nW;=4s 91.121 + +MTE*9j8b:L"%A5K$>0Cin/rY2":pUW9b]kJ.Amo8>2$G;*j?B1#*DH8#X^8l*lO6a`4d>G 91.122 + ohU;)o8\R?#EUje*Y'T*6kA=X`23scA<FPE2a2b3aV?b_<#?ALoDm([o[FFbC<7IJ-r\\O[ 91.123 + ebR6M&,i+uG*Cn>q_#6>SThV"I:C<FGB)+_PHhOpbh424FDZ6L]5>j@fUGZc;*@B6UkO`a] 91.124 + 2*Lt4"N9sf*B3f1O.D1kJ!uIiR5?q@;tM>_;?%6crCPJk"=rDF(=.dqVMPFb0Rujk-a2eX' 91.125 + F@>opd*.eZATbo':_jpU8@c^H<!!n61Oc+3t:n4I9R0mSFRB<aF^P2kfbg9usEF)r/*XMXg 91.126 + PnaBnlkijB/gE8J-+q+ghL4Y'"hhRug4Ilm",*m&It`RadL'mr.+V"5(Ah<7$M]%d\+Ar\h 91.127 + $+1?'c2:o1a54&/nTE+-CRa:;d^VO]hLOD5@>1u1dr-<1elqaA<e1VU3lR*'g*;Z?!^AB1f 91.128 + rUYM&#QT*E9k:oKlL@&dnp'$8pj@d#p+MoXH+]nc^#&)+0:L"#(WY]cMrO@l2hjMG8,te3V 91.129 + ts?l]iuGZo^K>MIbn\CmC2!?YD$BU*o6<r*Pq3:B0tV82=Oa%]`%il^jVi-9R\A2oD/ROrE 91.130 + XpHI>JC08*^(*>g2Bhrej>Ha54@Fbc#H=I1Q%M0"UfG])[oor/HU9b<3&q]F>+arskWJYT< 91.131 + cU,6-"\SdVKf:TX#H9#%S1IZO^%cI@9e4KHgIm&u.k:D3X;aS$0Sqf"52n65MMPmC,EIB\> 91.132 + -B\Ng]`s2#Yk=fQ<&8(k.,69I>#;CQ4O4qTmFUJa6$]\?pE.7;\OUPsK"R?]/:rp6[P^X0M 91.133 + l=]&+mf:`(IaKaoh?U_'E9.JSJIF5Kr_U3;d(^)fdZ4t/IF-]H//IXR!=gc:&-;e@OQs:d` 91.134 + .'HA&?tU3&HrH%h%4QcRP1\[0[UQ7B[JJc!3e<(&.oHBL42uO$S_5d/XERP<=#Ms&F09)OF 91.135 + IcQ>80WA'TdWiYRIT&;[K^1$#pssd4lCEN>>AK&J6H&OS9DAM&A%+&2B4^Og(NNVMXP0UPb 91.136 + `5EO*/*oW-<4Ia=>YE@2K`TW&NE*H@\i;2lL!>oMnSf.]>G#L<N,7iWr+*,:ZWVs>>kq&M3 91.137 + M(6T%=EHZeO''QTs's!ZBn/Sa[73@[@R'Aj)Z7<2`AB=*oIh/.o#JVF&70i9Z]LW2LEX<SG 91.138 + %1(=1+Aa2ua3PjS)#Y(&N3Y@gE]S[?54"FM*g%B_;3;5!8q>>e,uHT:EfV-djX&8B-3qdB: 91.139 + #..ZCFX%'hr4:e18qO_=K#!MIIJ#Qd2<Sei;(TCWA!ik1$L.pK*J7D.'e1J'#c6Fq^r,hk0 91.140 + -;B09?/B)(R,c.r'\eVqilgP:SG`/ksSAXpkL(=UPkl!#!q6;V`TQTcqd40$`O*'([bsq(l 91.141 + _l,4#IhM\tt;,8]OiZgKaoEfCsWjU*Jlp6"YeWj*a]"#;Z2(@p?/E:Yd(^>B;HX:\)^#e`& 91.142 + jFYo18*A^J?dSbMb=S'u0$BVMAP>HbXBeZjW1/c.Nnrk]2'XVWF2tMS^kpJ:2<BLWp^!#iB 91.143 + DQFYYij8#7j(dm6PH?c6cS*`f.T*)^;_3G4V`lm#16\mgo6LiRT0.qY4Nd#i1XeL&+$HsUW 91.144 + )MRG;sun?bs%=52Qj"CP?U&Roc;M&3jRd5e0@?q!<[EK5a4s+;oKG-:8mYL),R.Wo5K.6o$ 91.145 + a\ankQS['+HeJ)^XG\/Eam[N@Qea6Uic5*g?OVd,@;*<faUl7FIq<ES3DA33?rne'r3>c,P 91.146 + .<F[5EI8'f>de:T,(k=C`c+ga6Y'3'?YP9eYE9rU=I$9J[bY>*0*\;mB:'>$5gLH?mD3HUf 91.147 + d1Zl;jGdu"H6HAm;dLT.Za%kr\c[iu/Lquj9G8;u_:K*F*Pl4D@d(D4?[l"OT'bpo$-VX1B 91.148 + ;0=5;PoWa;<0+Cb:3BU:N@ObmlE;\X51F":LZZ+*.-#/"'_-fW#L(O0(r;*lXflq5F?`H`O 91.149 + $j\#8^tFRkd+;G&Hce@6F?Jd-gau/%9JG&bY_/.9WY9'McB7d&!`$S;h$iJ.o_Yo/sVnpeX 91.150 + p"[jGYs#"]a_ll0Q&9'1c-n?`4oN9pDT!q-V\YM\YPc[Lf%\O^U-c.9+Dt[NL@2XXb/3@]= 91.151 + CNF5VF#K([\HA$>=$<\f%<2QN-,A>jW#dD9AE<0T1A5r=j3+e[k;94`8kAZE9$(1&*Ja_"0 91.152 + NAsRgup((g0KTbt>glL?+FrP+sQY?)TBrEn&2P"S3-!Eq*;Jc_AeLbN:'5EOdC@f,S<ks9* 91.153 + beQ$TCc9OSp<d_8e=K^\`=anBG2[<sj_f8*Q?Js>[de8ool#$KO>cQGWOl*7oYE$>d^DJpC 91.154 + R\pLrqm%3EL-ZUpB=ZV[;a];KJsQWW=*^e/?Q%o_2UTspE+K8;$AmFS(.H5-q@]Yof\8Y)2 91.155 + L(AFb#)\@9XO?J%&2C<&B7E<.?i/(0=anG@rhT+*]Bb>1[P.(+,m.?$PV#G4IU'QRtgfST> 91.156 + &kGB*bc%Q8tuG>`XQ,kmjKGG'U*0!32PHH5K$FLcQC$Sp)gj&IH\(V=Tds*cnr#OB7Q$RKd 91.157 + `rHutbbf`J.eMBNnknap(Id47CC6O-<qgXf2J'163[B!?K_ZVh]J9R+pB]0o0dq(KjI^Qs5 91.158 + p%M-Ns+,sP\<.qekRE3f_%,*Z$[;g;('AjH$&")aKg=%>Lgu1,>@BGEK:$hLnF8\tf3eVSd 91.159 + 5?9"'42AKLsbn6b79KZ==%7Wl@<g/J_3eL\>g<HF`]Tp]6Ln.$n7"_]$RKp/JoR'GaKB_)Z 91.160 + PuR8^`Gf\?1JK3K&-3?eB^IR-TPCfftcEAeAHcPbW`tLu*"4gll$)NR<WF%LijVNf`h8)&n 91.161 + W]o,5#k0m"]jNHpU'.59#.fe)N632M`sZ&s;VMWcWG;2#+?-Z4.kQ"b)nm.:Ug5pB8>lnkA 91.162 + ^e_[6L'o=c+Zqf'Vmagd8b@0#PJ2f&^3JrAJO#i[*Q.^FN#K6;$3L4*[Q7Zm=.g:<b4.36V 91.163 + XA:-1ErVMLYEGh'R<]d%Y@j(;SS\++SS;XG'-!?W2f%CP.![C/Y;MX/bqD'f<4Aok80OMsq 91.164 + 48Fna">egq<)N@_4K>PS!ihqH24"6rHu0VJlE0+fu9N5d@Ij*Q0iXC_4an-f)69`T<F<%8q 91.165 + eN)a#c!F(cQr@GA)S3"Tl5/S_?9>GO_BiaeZKoT6a?+Z?_Ng6)D!(<dKIf\n.V7,4R^$UUf 91.166 + '1#o]Y:iC-q?Q']67YPRu1&-*Q/I(<*82(t@9A#:-cX=,HnF[`1<f;e\_HdA=bVoc"2OfY" 91.167 + 4R5u]p)Tm[.d8qmqk'Ah`[`tS:!0fE\R:j9]1)4)[&V-)lYBh.jg<Za$SZo[8I6/$7],O^p 91.168 + 9jN(pJGU=8/iU#h#AQ=(ZtVY.<>_l\XeAl0XEu%seBtH[RBdc9[Td3nHU"d'TsWQO>ahq*H 91.169 + %B#n@BQ#T[FLV;gH1DlP(=8c61ij;gB4Gm1o%R/\d:fOdRSre(HL5+\T;Dh8/\lpkCK,/]= 91.170 + Bqp)``p__n66_8["hd40?(;r0iJk:0$\q.6Dk10-Ig'\@Z=^q2;mhc*nYFP'@kZHZ\qh8\a 91.171 + !F\9d\]]53(h"ec^6KNmt_4%mHT07)@0YNOB;>-kX6s1K+,_L*GJ4:@30)8ij'ICqkU>U-\ 91.172 + )*Obj%NdO`SpsuB(l,-PM_`W1,Q`WLj1jmU_V-1jSHu$S=$+n7l`7EOkS:q$"f>tS_aS_6n 91.173 + qiSQ_(Wk?MQB3HBr-rQGIEX,T_"5meY8O:B#JkbtT,T^VNGi,a"2MCmiYQIOpj\&lhoukCc 91.174 + !2!L>d7BN!O^_C0h<lJh!:9\5uN#uba^E!8ZNfI).K-VP?8\ON#>:?d0>u5XPF-$-bhGg'' 91.175 + 9RYaE\N4e(r94+jV!LLKuUM4Z.R$-[=@a`]ZOY@=#g6q:(=>eCd@B'dq=jA"]j8c<Vr7f1- 91.176 + MkQe;5ZeVDJ@$]il/:YL'<W=IfU$UnHM4i"a0ck1'HfK55OTX`gS[_.mA3K%o?/:eGigT5T 91.177 + W3j6POR9CTNhJ!4WfSPPPd)),8`*AGIe!/)-]"pHs]DK:h/s4VrdGA'-VLA&iEDbV0%H"l! 91.178 + f&tdRQd]3R$e5*]I!uZ2eJXA&m:%+%jF0har__c,NK3t&^A_-oraFqQA>J'bD>n21rc.*bF 91.179 + J+(UkC.jBrdj8^RHM;<ke<&?rfE?bPNL_cl+W_Qrh,BTPH'%tl9;?8ritc;alo>(lb:'urk 91.180 + O:Q\a2N%m(Ua2kUYf%5OBNFmCqEDkS`bgbO-G9m_8)VkND2\n>--6n"?`Mrr<f6"n-3-*<- 91.181 + EOIhD38&fZ<<n=GX.?Q>kl4n<@#&H=?Q.[cP/KGn2Xo,`PT+$?;_-3N-Uo)D%T^GMlR3#Y[ 91.182 + NE(]H(9[25I:5]%Kl(;Rb+%Pss&,,::ocO;.E\hn)9-57#M4[*/W[7BhPOdUTq$M!5hglub 91.183 + j.ptnq8e9bs/_nYPc0)"q^Q=V+$9<rTj(Y,Z@48"aCY5jd%J.^W*d18C17#^=o;AdGaD;,( 91.184 + +%BJlYN#hrsC;"!U('r#mE]4hsd"4/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV 91.185 + !t\Y$!?C6X2Da/C"OLRnMoXRFLYM4dA_gEQ3\BJ7t]RW>(e$/t#G3;sG)9Hhs]=X$3R!BB/ 91.186 + Ej=FF6mDqc"(rDKt)m1u0kY1[[$>OE*E&:/m46elSrS(6s&ID9.Y'8_X%JH_N"YW/.R/gH( 91.187 + %8+FA'AOU0qTsQS#SCVU=4L/"geZ/k"_.%lH1V0,XY?A!ZCZSVZX<V/]gMQ[(S^m`FOi-V^ 91.188 + *#Qsk+c_J#+cG2W(stTCF5ng#Ou')"l6A;^fe*_0h<%N?^)k!q00m[]U)\trB>6:dVP8?cI 91.189 + tX:[UO2i2IOreM$GjGp$@k<*DTX*F]'fa<pV3jF)V;=\]!A@nC;WZKWfV<Y%7>*q3oMtgU? 91.190 + rIZE?n0j7-ilZa#ENV>0afPal++',&<5!+YXc.aIo^t-?R;sCj*n6L<PO84n9;M_RYb;*;) 91.191 + fW9R;FKn"c3l5*>ZhiMMXIZR[`5UB`2?l(e\'9^>@pIP`aI^of1^1Jou(F/8+`:?[p-RD`% 91.192 + Bq`dmK"?R>PZ"4#)/CB&(02%>$Cr4"$['GKW7tdou8Q':N1",X#*2$1B<@!;u']b#<bB5C8 91.193 + <Bl>"%p($_<7n=tdraUY<V==P>utf`oRf&ejb$uDFs;,rW"^hAAL+WT.4iohS+BE1c=DfKT 91.194 + sg+1;BV$qZUuCB]RkaGLn,<u];7YYL!)DB,;V'['rrQ&QHC3<gQ)a6DkWDjZY1JjH7'uo(Y 91.195 + TZT5Va(f)'N)IPfUQ3?6Y'R0U66u[#3s]ZJo!K4-*m:nd.Kiq'Jau<u*i2AE<Pq(s(X7Jn" 91.196 + ?$dAepiAdHCSRGCEArdlohKuARN.')q9%2]`uqI^)b+H>7BS9&DAH3,Uf+M+R%F!.Z`>?t] 91.197 + ndmU@U\BHUcle=nX[6lq[!KlbrL?#g%qRUF2mWgBc.pCIiJZPW5C2%c7RbA(G8^Y+2Atc;d 91.198 + rhXUJIisVh<1IU>mh<FNcn!ip_m=D)#=Hll>Ai?Go_h9XW,A74=4LD7e<Zk.3O9a',;e*^g 91.199 + *6+5NqDo+h^F0>pf^I/>oh0CWM$3QKm5;bHsOu`4QJ'Bf)C`:m<`P+943+=#K-(E.?moGr, 91.200 + m'*TkZ8#hoB_C#N=kl4I*>TBU[KlRVGB[S;aR_f'H^GO*E=t!LY=^L>JC8@h*eM[WiGg@$B 91.201 + >l`SLp;GVJI>A$1G5dJjmT%09h(+EC1ATIttD6;l!\-?%k_64u-^SW#7Vn;Y/G8"0r1l)oS 91.202 + N:p7<0*tI9E6Z"MX,"-[;ae7DOM(#eCP*hih@Bgl!c3>/J=8:k8d1g_]FQGToC/?$83Jq?R 91.203 + .)aRL%ooCU:/R`E7eLa5UP*]KM?YAoM!BfV3@9et60*P%;FT9g=^8/p<LnAP:e:.J;1^PY7 91.204 + Ns?)?6!0nnWl;)aOH]CK:e=tG#';ajX9.(UI.o8;3h7Q.S\]],]^,D`F]*jS,qH!kB)V/,R 91.205 + 0E-U[BON4rd!_.0!lbs-8c`@ELpo-=CU-R1hJk)d,Nak*4=NZC4W+5bU)'AD:Ff\lV*fN^T 91.206 + 2=1j7qChO*I#7%o\B7k7as:'iK=B8gGiEuK>C.3UPVgra]E14;sp!+2U_!MGYk\'8VX2!@a 91.207 + ;TnF*o;"4i[B6fB(n<.aQ8H+#ZGmZbeqK<u>HGUq)0;>`M*76UKJ^1=)Gcs;YaHr;#WI4t& 91.208 + O=eaRff;bUeN55P%\?VqJ59iHbm@AaaO%^*&8G%6WIrKo(n)q'l'WYsoSM4sKRX$NC6Uq9f 91.209 + c7ll,=T[ij,3(JYRnA4<9"ub/JQp.`lG>g/!Y0%'`,CBHLOGi*68m1ohGM!!#Fo4]<I!&][ 91.210 + [mN4im:r5,tK]-)*+F.k(U_Q%m6iG)Y:=HS^S&VI,Id&RJ$Sr.jc&2VKZYC.On=[8s`f&=W 91.211 + >B.WFtZQIXW=X)K*HeI!4+[a<4_7S;t5.oGJ-DNX&-OADV7SL^faa84,#m=@!SL(t]2LN\" 91.212 + O2)1rYI[EAn6!17;UFNHEYq^QE&8rTT[5P>a?M`c"AnX$8Q;!_L47FM6e:F&\;;Y^dPA)P# 91.213 + &0Z["B+D/m(.IWt_0@I7@/M$uE,H?+(fL`L>VUs%eeZ/jB+En54c"(^,K';C&RoQJM=FUq` 91.214 + L*D:@_?'+EJ?9h=P"DMHteTq[Q2BqmiQ&@JWFg]5KHtD,%Q(VP&WGi!C0b[")qQa1,_bH), 91.215 + Dbo>d9PLelU%?B.dcn]pNj.A'>gS0kO\<RIaHkc'bI]"i-]Yb_T:+,',\UI+OrGDL'Q[oFV 91.216 + ,NI=776$ikh]+,#2FU1HmjRTE,^3dEJ_,i.`/_]3(pE.eV<Asq+oCJJUB4fEJjUXU3G;/0B 91.217 + 6WV';heXEC:lFgK)Fb[6QqU\kcD/$-Ff"'D$j'QT8J$4#"_q800@-i;uZ8OV_fpaX-CosD; 91.218 + G)jo&>?>QVIAaMr\-N)M:nRkD1)BSlg=mR-F)G:2\MmRPh0Z&CDZ/D(GAd$/)q0(N?1GW&f 91.219 + (S!jkB-m";C2g.2?`#$IrKi1_DgoiiI\9C!AKA'Pi*26JX_Q,DD:o'7E;_>8K):;Oas/0Vd 91.220 + >g!KlVV]auE`Yj]o9Zo);e93Hm4?SBm[G/of-Z2Vd'*dr91WF3XO46g.elT_*\idQ0<Yl(' 91.221 + K*FKV=ap]gjTg_5<_*hUo-a%-:T80IFJX^D-7JdZ&RZWLkUcAl>"Bnp_4)!;.F+t"SAe\m1 91.222 + P&\L5Zd#]/on%SPArSW&.KCAdU_0Bl)iVZc6nX^uGGeY?\I#!pV?<>5DIjsMB\!ciZDpN^4 91.223 + 60EY,TCcHVdX$C5l?tUkocC<gHJ`/s4dWAGI`L/hIr4V%YIjBK8-jd0J/!TCE;(FFh0`Rln 91.224 + buV0q4B%sr4efpIYZDJs&\H5DlNF/f@g%nA++i\Qm)Y-\hYH,4,WLCqL7nuqu<ko%5;)r!X 91.225 + E*[?j$I[+A`Aq\;V"d?J2!g5H?69]9A>[.5dKm+#"Z95[&dnF9Y!VB<RJ/!?;G'&r2$'6U8 91.226 + eNTYX5BYuM:FEkm84RfXZY>+EDC'IH3Q5ti%=bR#QiEl!UbJ=IN)fJWq5*$lIp%m1@RT`M= 91.227 + 4<l&Mo4/.3k'I+j('uE'Z,!6[;n4CKB07Z/6!gG/bkZA2a-,Rd766m5]e1W!#,f9I6+%.HN 91.228 + W3QG'1^o0[_cTOKBQh:@0uJjU_W+6UPWKs$0Z1Od*CMZXTMn5QJr?![`#@csA,7;\FUAu^. 91.229 + +2Fp]#I+icErEeMR4SGKM*=Z4N+m,)h^DME3BAn:^.>*3?ZSb3P>]eO$FTdXCCTcg,-T"=X 91.230 + ./T7<D]P`(\.O>T"e^`QIVf1$&\*<0]K6`FA:)i4_RS;FWKS)"_%P>\=f\?,h,O1i[J&<(2 91.231 + CRNLb?1..gQ[OLRbI]12F4((=fq*-2ecBZE0%7Oi,Ri?^uj[juI`\K#S/KR4C)ElYh@&Nk0 91.232 + Ug+=kg(C>s!Oq`BrCfhOSS#n56a=N&XFF;/GL^k,JaGM[l@Sr)@*2boL8>)Kn!s2$SO;hSY 91.233 + OU:Ku%$M7HM9.PD')AMiB`F*=O"1!/#^Va=@2]\^+Gh'YN3!#8+R?PqU`/3>Ng,F(%$QP7O 91.234 + %MO2%KqR0>c/"#PfX?!Pj1f8C).HX0Sta[P#AWB[!*6a7L[))%t"r.Uo0$M8JS<Zb<33B9W 91.235 + $!L\-q)jaTST`I&b0VahZPaXHL]FaJMTe\;5O>[%([1KY0pQ^lWBAX\?XU[)@sZ\]EjI#Z< 91.236 + %;)"*i$K</c-Qr&#E@2V\J_[_3Sbl@_e6EHO4),/039^&EKSB$FbUqg6TP"aJhr/m2uP/)I 91.237 + ua<]K!bfIl$f-V\fN-)fPLr)n47\@b.\G1n6n<utjE/<KGP)uTe%+ia_!_q>gc0V<%\R2#: 91.238 + 'Md0D:>iQTr.rW,b-)N<8D&XAEm)W$Tui[^X!.0=i2FsA`5e)U6``"<`:=>\`Qntc:\`[?1 91.239 + l+pqiQl&/`p.k$\bd.R!MKZ#:aED=3O#*NrQHfDch.VR<<0iM%T)B(:c*pR7.r2(UJP^5)0 91.240 + GCG8>X]B[a)fGXU/UBd,pC2d0PR+b1Q$@4:n.\,*.$BacPlqnG,Y-X$Q5=63QMi'bA*6)BX 91.241 + qX%WrbIKcR#2a&2'CdJ/Tb[370UrK&<#$4rnm"O/./+-,^$6#@6*AJ7pD`))o0:Jp:PBE/h 91.242 + of$KBg#[J<Dm6+.:`6-c7:.U(5;TB:VieVkP<"UY177%d<iY>>._HeP6eN]ju&_(1g++6Kk 91.243 + /?jr<7FK.N<-5ANU`P^G8]"Ica=T?lZHH0uHrY9<eV-[sTZPT7[SuNGdYd%;AP\YgU'Q)1N 91.244 + k@]78VYMqkDp')#Pgt?nFr^bE74de<ChlZg+NWoVA?I%UdQM.X9M\`:QD8YLg6SY9js'Y@b 91.245 + ,)9UbnbHC_507,hA@GepsHW%;H/cCC^j!.iBP^fgaLhnrt=F9RTshF][+Y=P,K6fKgKW&;% 91.246 + +DbgjY<bT'5J>VB.Ya&mkL8_EYL<H\Wnl6GtW#UOMINI-p/i[fB1=WL5dHk]WRfi5WWN/`f 91.247 + &SW3uu(0Lot,Q3d]Kp.<q:g$VR,Q1$G,ur"YK$[t!e[;7+A7!tdL.gR:ND57%I9fsgR1,(G 91.248 + $.Or57/I7;q?SZj#r.uS.#;(9T3(q+fnA_GaN%K:SD*?V=5[oH$:bCcZIs2T><i0m*#;^?I 91.249 + G.<_=A>_r?%lN0_5B"0S8GqJ?)l%iX2<DG);N\u8]`Te6.IBHbN*BjP0mKD\Qk\\goR0@NQ 91.250 + `:=`ealE-\\EX"i*XY_&u1a>V3m"P4.52M,/Yieff<pLr#-5b)2J)b$E*8h7$=J:_Ap5</b 91.251 + 1?EV7mfkuO%g_DT\#"jpRKSR,.8eNDOkA`p%+P/nV1_DTrc^"BAhnD6T;g3%dG@^=\c(YnZ 91.252 + n_'-)(S%?]>XC"seh.V`&e3m["p+/nWe&A`?nW?Pi4'oVU#mL>t4VhDQ"2C]7>Q')<7=iZW 91.253 + o?4iH:gNEp5`FW<;9$T)hi7t@h*+Z@o?b^-gm-pXfSM$#TnY\8TnWur($`/T"UPq]!bm'i" 91.254 + p_0")TMI@a0m+f(&^uug'Fg@9%rTkmB[.:iQ>0[_Hn4<nePO@g5(?A$!NBrKMCF;!+Mmeij 91.255 + t4!P,[HnQ"'/'7TL\k2E*)q.Df+??B#nhAL>f)=Wb%nM&"LmD9YOV0MFA?i!>.2>rCR&"ln 91.256 + .iM(V!OHqe*g2roje=J1+6?!ZM3_r0*4A48".oc+KmPG_^$A-N,TFp(0u3QGH"g3r<=aI1q 91.257 + >,75VaiYDlh<X[uS>VCc;`LJpL8<$sRed/-S<O.ZrFd8*:_'QNf$`&q]"?kl9N91+uAfY#d 91.258 + /eNp15MDW;A;4@Ol=sgf,Na]@<^ce[#qY-#TKrn89esdcCt+=^N85V27O?mB7Rar!R*r[O_ 91.259 + TkEMIW5Y-1'?Z[&cQkYUUK9_RHIt4Pb?4_Ncp4rH<V/3(:]-Y*dpBKDJ&U%->mch2LgP-mL 91.260 + g/WN2WCAlKO'4DA9f^LilPV65em<#NtCGB_[O##p&7I=_THBkJi`fM,%bkKoqWp')n7`ArP 91.261 + s1Ua5m:022mbVG(GiNG$Y6ai6Du<@QkiM(Td;)Gor6T^:@5RStd`;`ugei@^-kY\B+qSMWF 91.262 + mVPoN<5E9?U#]?^$?;?5<;idf^L$l=fW+]*dN"@&Dlg+f?5,@O-1LW]\C1\4I7`Pf&R;@>3 91.263 + Cc9COX1@Rp#&IlKCpqUpVTA,l8F35#D&NQ@ma>qVcg<k-D&1Z=C$as:H>MHiD'%3oSFUN/g 91.264 + MP'ZjJGRef$<Zchb8LSD@YYF<mtq=NG\s]95`_V?KW1Qj6h@fDH?!o?KU[YlkV4MaAn.9c> 91.265 + RTtmn"#Tmgen'`pMmMo'ZLbjZ`=u`prM8p_3)ZPGO:H'eKTT02,'!$g.DU0(9>,qVIB)dIo 91.266 + HE-N8mIm,DFSn0VP1k4e>*#SX*2O`aE`jpAm:/<<"'Mai"#cOTF;p#^7!n>T(Mg_OkMb4.0 91.267 + lE;66mM,`Ul=)`WpnX10^R1iee<T_dS@Yfp3-G'X]*uR!:NJAJg<ujSF*XJYdMH4Q;^,<pd 91.268 + GiV(+kWm$s^D_.'P3qE"PI<[,*7"kD,D=W2_+u>4L(J*MVfP&'(loi"IkK7uT^rAmEu',n7 91.269 + JR6K20&D_V<1!uNP9-\.F()-,KD?W.?ebV&r_l#%=*,/;=*m,PM[,l$.-N\Q;*Y-2Q#uaFB 91.270 + I.:BN(M[8-f/en.b8JpJ?jQ)0@f;&9gMS-/nG(R+"T)o]9Hb5.HJ.FqicB?X<p%Xflm"J+- 91.271 + 0u&^M:"O'#JD-M<n!a_[L=#jVtsU8o]4g=DF.]a,$!&98QuQ.K+/T30NI20N)\C64koB3`t 91.272 + '?n.dU;HI7L(7/5!@ZWNeG"5\W=J-:FB2[&hB"^3uT5!&0C>g`/p9><S:K@0Lh=YIok)c*I 91.273 + YpArAJ*J%Di>4]-!1D[IpNW;P9XdfRhhPn\.cN.6QUJP#s!.<Hs+t`8SXc5C4pR6`QM;UbF 91.274 + NE&.@$gZfS,!>GplQTfp)hrjSp8SQeL$NChiil"S/?aH8hZ>hGuFK'IecO#q,fHdDjLaY[0 91.275 + ep*GW1;%khBI=oO#&`PJ"V=^m!Bk-J-n)<n3LN"bubrJoX)=LaKL02P#X'-u0rnO/%_Tp.' 91.276 + I"[0U-JH\K2g<Mk^,BBPA+k,(4LaJRYjX,'iuH'(/`T[nHB15TYZ%TR>sn$`-OS_7YdH>oO 91.277 + (WJ(/`]U>\3`j`X.rD?V1cA'Sn>J:)b7="f4`Z<ZNAS4.4kK3K1V:q8+(+682pYu^$Kb3p% 91.278 + Hdung/YJ.7_?aGA:/4Z7!/DZ(T(V3hLmch8*HG]aHMsLmIX!4=LkU;MMZ2/UIn5><B;g)G9 91.279 + AI#!HCt"sT?@[NjcQF(#hSWs2n+SC!X/[>6!s,+.maIC7RLSQpk1gLN.o'7nT^"(rtU7)@o 91.280 + 4$NL,f?Pa^aiH],isGPJj0!12OqY1R?)-PBc/7,9qb7VQb41"urNT:Z:o\"WEY!VFTkbg4` 91.281 + "hn>]/RZ,mB.V-C*(CXr98ArtHH==i$M7AeUN[TdV"qh<&OF1PXpf6bL!om=D[Dp\g`"o3e 91.282 + !@;p/*hBr[,`4k-=r!WB$PIJcl2/5Q`Lo778/2AWTqOo3Ob2L]lS9%7ddV4i-qL(;47aCA\ 91.283 + 2D#=UV6,Wu.FZFo=u^3TCcE;(Y1o(.j`:1KE;)g]L[&sWess0XH((I?F7'pklD)"Gn"9HDY 91.284 + -)R$L2#b^hDC7Z[H#99&`4@a9<O6O-E[t2iXH6!r9(ku\fT,+DCcA(X`(d1Z5QP].13r=]J 91.285 + 0i4:u"&@_pJ<H[B_>F(;mDY>8kPSXGfLU5tXHnTU2Z`?A5K*S.=Gj:.smS8#fMr)PD)_IY^ 91.286 + KII#@pF0!pZ)ag#Y?k_%0MX!g?@'OUo1;5/l,8<MUb--6f%:FF64'[&4($;/+rbgKJ4*_nC 91.287 + WhT<V?Wj=3D'=ntd:K.2m5gWIN#t!"g4V6pICa0A)Z)h^O'h+?[Y8KDn)`F>(;U%3sbK)g3 91.288 + 0[=`n5,M:5/N6I*<92M*a:h!.=?.*(.9]W-m%l0Cot2eJ-7VG>Raj9$M(hp%Q&f!?FXf1Uf 91.289 + X?)0;Bi-rc!)hZZM."bAC\4s6BgC65?l_[a`?1g4jeB-=&g#b7'q(Y8(('?f#gHS6U[L!(Y 91.290 + f.gelJ#P3E_VqPucga4niUHZ.9F-@'u":=l8d^-[Mr'asu[XGdErfVjG[@K\2Yt7>B`$Skj 91.291 + mdfWG*`A6;eKOQ?h/X-PEI_XD@U8E-`>@uK`iJQu@WM5'4f5*;Z*=&%FnYmaP='XAOPQFit 91.292 + Hjr'Shmm7f_-*Lb\o3g;'$'SM=-=rGp[^;*c0&(F@\8&%(0SSOkRea"nYBBpiXubQ5P<Ej@ 91.293 + p=JCfp/d(=[Z7]%/j!Yq\Lr8mhln8<:@PjY+9mVFoA'@3d.CTc8;uf?DOu9q$r,m+FK9KkD 91.294 + '3!Pg4\buDKPB:&!"o>n]k[af`3%ejiCmnV]VC;>ZY:D3`sV,k4po:L#O\4[gJc%/^JXYnX 91.295 + NC%`pj>\WiC<X<a5(\59(X'/\Vj85'fk72pVDP^[_7%?f1XmFQ;Tu(q-1))OmmZV0)jQZgd 91.296 + ]^KCL@$'Ss$R(Aq9Ul>^OCn2>k?!f/#qH>m$W4nj@$';ObHDn5*k;?kt83G<soESVEZ*(<m 91.297 + 7&;!:[$8u!CpRoG>LL^;n'A,EO?8Nd8Yl*ZNK$b-#=dFc<Fo%D+T+p:\<Jo10k.gZn!1K'$ 91.298 + C6;nm\"XX<M*'?PXmij<2-,7%F?4X6ng$O=H:26tm;U?G'1@*%^7Jb_M,E7r`Fr49Tk%O[O 91.299 + bfA<(s5-M]J:iCN8d=YJKS'J7XZui3jomQ&L5IVP(iHkQ00\``K[3\`AT-<3DV-dA?D-F]b 91.300 + &/Zi9HsQNe">"cG'uiSk+^/L@EUs'%k]!iMgaX"RuL=ZD=d:[$?XrraCm;MX2VRZC2m:Y9` 91.301 + ?&7S$*O.a3Gsbh/m;^]]@Ao&Q:`Z9h#lnNnUe9T;bli*.Ng,FKh]C-8J`1Zt"=/Wgf]OSQ( 91.302 + <=JVRYKGJJ>)8K.A'-rkH[T(WM,t-sn'r&[]=ZVmN/Y_kAIhIuK1@bZ;O81SV6r&=G!jYF, 91.303 + befM'/aF0tpE&'P1a2$n?as9;6g7_iV6Rn,6c+=+^]X+i7:qVtk9TPl+`!;pP&a<1qa`.J! 91.304 + i1LXS/$?li/b,dV1dWrc$EkZBFK9Y8KOt%l?5JXkf9Ukb'_7`M,B,+Ca:kaS'A5L;^>47M2 91.305 + h^Td;s2=#oiTB<Z]1]Rh\>ib4/e9h>JndT_rRC24Xd=Wdk:q8_t*!B2\;h_FfAmWY%k/p1D 91.306 + S'<bTHa\O`jg?G-pXp_.<=Z%$mbkeMNjZg=IL.CPhJg6+=+<[FB/G,cW`&i?#Z"X:HQ?F\9 91.307 + 2>#-_qG\u$UV9,2_EhD/"Z$1Zd?5pi_/8F]Q2F7<TOs`Ul,<DN0E.kQuM,?jT'1PkjN1*D: 91.308 + Zg1kB[$HFY7dL%Lmu#o7DoVYg)t@/[>KW`P^mj-Mo]2n:$,,GHVn+s/`o<i[+h+[4?Kd,FY 91.309 + UGsUpXFrTHKmu'eLtM.p6ji$(fYK--P)Ri?Jr<EJ7-XW,PXHm_)rpNCX!'DPTpQF1-^0Qb[ 91.310 + A'7O!nQZV3K[sjd(WV!`@aOLQ(M6]")`55^YMX;%?l)UfT539[rZSIV[3]^Goj>SX$/.Xj0 91.311 + IM%-N$1U%9=P6[@iZBG@S<F;BSWg)i]nqD/,JY'/2=Y_h%21k6ekIF7msFD'D`>I9C(.,%Q 91.312 + egJ'W*e[Y5#_Ilh_SPhOlAu*u2^K=?=(S`2>PL_$LWXpAUN2_gPX$eROCOLl.o[^o1HK5'A 91.313 + Z@f?$7_^'m#@hTkV6orne^`@%7c'-+8*V;qY8_D!+^L#98T*?f)h2mGS^k=GB'kk1@k:L%D 91.314 + 7bWj(VP(u*#!BPNjkna0&\I6"$Qn(`;^"u`4$6_bTIudhCIO^5DX;#-,eC.nCFjoMK,4E?H 91.315 + 8H(+%AVWnfC6@q'RKLaCd"P!sbU34VS>f]T*+)A]n)`<X>GL+Th1:c?\;.$)$WeMLe'$H)6 91.316 + 8ur>^B=:6[""B1;(@5H&]=ou45^oBK5GQ\LY_%m&lT:ji1Co?P>#\_s:t@pcE:/]ZRlB5R% 91.317 + l^5NmT)#ttSFk^3=.J9:Af6b@XllD.Yp^p1I7`TqAo8lIeT+0fXB8uH8/%I:q:l4nk>4M(N 91.318 + B).Qhk5=/OoA3a^">F:8Hj>09,$\o0#c91:B:K[m]P@<c<UB[^[Gt'_b!jUV`]^fEdJfK<H 91.319 + kBI,"AB6uh]Lp,T9\uok>^;EoB(H@fC1m54:m)%AGn0hpAX72qo,&fEmMMqlqmO#,PUJJ!7 91.320 + Ve'pZ2;1^\E:#IJA0(o)@(AGRj96qL/uJ#6A6/&+9Kp#69hmif6nk/'d_4%0;9V*5TW9O8/ 91.321 + RSF<%!m*fq<C&2ODb2V'PnZ1&P3O@"&?\/QULqLG">:;ZclBGI5S"AiG0&7Yo<UAg6?#&nH 91.322 + niMIL/f(sph%AA[K!<`nKOTuGU#geV=#bM=(XU-\M>_.VGU!!4_A/.D?n,Sg\6!tc8mN7O] 91.323 + $dcWs&Ah^iB(o)mUX6sh"U#SA;$tX&$:'1YDt4tMN!<]qn,[bLU9tFapCEA_&'e#B-CiJCi 91.324 + quXQ&B$I?JL2:r!"?ZE(Q&>)n:::!i!_o&&FhCe&Mk(eh$J$&'6-2kJJ&KeQLFnF%:P&9iI 91.325 + VkSaSLId)?JM*&RuSRB,33`%.S$J!q$PKbSX+U&V1!$U)nGCqW?(Bpd"N^_2B*aQPkpT#r" 91.326 + L$nS];^ln`Q>(=B9(nZra6\d>'Ln.*\0![8@F65r]##[h$TJYj=T@2`V=77"$s!D+=tiuWc 91.327 + T*mr^a&b>(G4TSBI+%"rhOockh&eWL/r5&48O%/U>KGT3\,9cCpU%SfNH599V%3VqmU&7?! 91.328 + r[ji8,JXa6!]\%p3@'b[hm%#D_W1^f<[3/S-.'RL_6jElK]dp')o:S\iDpY4b9i6k(?&X?n 91.329 + kq&IALN-i$Smbk;NiP(_'K_[/L(`-&u$V%="9<M(ZBBSDZL?!>]kWnFb%+2dCf6P-5Jo"*C 91.330 + 9-C_Rp<Jec7JZ"gZtsEoS`,k:Vat&1:<dEMG.^6nfi:*jYeS:JMhS!"8k#(F#._!JVT_W>* 91.331 + `W04LRo'-\G1-Sb3C1<g=<NpR&"0-<IW%O$f#!<s&&Z72IY&!9F2Tih_R]/,XT2:GmZ17L0 91.332 + 6n-X]#(68G1iD(>DTH6DY+#/[(5\LnKYSs4k2KOp>'9^LZAN<V%!jEn,+gX/&[Mbd#*AS9" 91.333 + O+[l@NY^"'3O?I_'>g%+R64>)(L^ts0)u;$DAD1:)FBl,Nm@KOjp[r9(j!kb'D"FYmiRQjr 91.334 + j2>0i?Ai,T'ua>$pfLC"!eCBfGK[J&>8S3;*@/Y-UO%I?'=XDMDXn/rBelX$\4T[mf;iq$7 91.335 + u;B*b"[L@&Ol[W"S&-)DjNF'OsU$&Nl:j$.<W2:T,4@YT;`U*C8$n^odsjN<3Nj'1!`ZFDX 91.336 + TKQUuib7^SWjTir/([dX9s#_?\V6I-u%i!KI4,-t2[+fS'Ja%V`?0+W#:&BbWlbm%$h(U&N 91.337 + /nU`BE[Mn,]$1tn,JMIhRV+WYu:XoD@!aA7h!s8SX*F\Cu%fdH?IN65p3^MO-^j-)_M\JID 91.338 + 4k%,"FU:uH2D$ck;ih8"@7;Q)"&@fd+QE)66*)*bV?fJ"qN6jVYdY"H=s!?O%+T5#olEKc5 91.339 + ?F+r,?6lb@j2k7LC_cN(QSP._$*S#rZ$L-*al>]<'rMcd3B?S*n)/L[B]uO[Ng=m>Le.,'u 91.340 + G(B0LX+/5LVPO+e;n*"pC4F5XF".&=ZFGhYN=U*FkT[Pn"4QX$q).9#50ZiMIX$l!=DA"1A 91.341 + [aOob`:h-lSf@F]]C%sL2.NakC8!B)T3ZI&t79f3F_$Xf89o_L5H+<P"e&hg0i!,ND/E#'V 91.342 + 5/qbJNp0n3VAfPu0@J4V@Q%:gnKkGus$!)N^[IPBsNAs]6'O`j=,Ujs(rCGnF!^RS5!LOrP 91.343 + nQ'[p)-3m]<jQES[o<!C2<-_4f"s[<7r49U'>Z+0DhJET<BJ,W(P-BB5aDWu@/?.I*'q=e( 91.344 + :e?apDMF96Ztn:O(o`0kT=3,#PD?s5oUXD>=S\1$6aNfPL^K-?kjiqE#/Ut(GcHmr=G1mF& 91.345 + -Td5qt'3KcK&R*!*Vl,kY]4*Z7d#0t)dWpLAACRqpVfnBg8)'di+*I2PH^(Em</(NTA8a^p 91.346 + cDG1Ve#&3"dAP3p(:&V6\scUS+j4AddR*e<#RiI:nomL:rd*22\DQc"2Hh-r(_HuBc?@DEp 91.347 + lNWu`Spd#8a"j/S4_(0H'$NXZU@C8;j/26#tJ'CY.GL(e:ANuma9m?m01u.R#M?Z@N=h"N= 91.348 + 6+[8mc3kAJ2(j/*!H8oBL`I-M&\("IFtNe=4+rlCJJ_1(Fia!Zs'g4Lk)f*r1K-`L?>,PX' 91.349 + ]D.n(=j5i-$P^u.3Z*T(doU!DhscTL"MFlf9_=(1*/a>+#)Sl%g!*rNY]&oBm/nc=;?GUF_ 91.350 + H>2'4E('Gc`(XZ5`L^#XSbJTE5t?f84b,Kd$APBX]d"NK)4=&"ql<'2fZuHlT%Q$3A9W5`u 91.351 + o0,RUkpL)2KYQGOBPl&hA!Ok4<$:F/_:4d#.X(1C5_YG_u)hAF;/*u:h>+g6Yt,lM/!)1de 91.352 + g3@g@t<nMY^,F+!&GQA!,Fd@W/7i*IDZYUZ@g`Hdp*?i]LZU>Zb,j0^7$mC->6(;3V=db\H 91.353 + d+M\H!uki[?!uSOo8k^H)6sCU[NtK=+$daO=!;[Jd5ng9MP6[\@F\K5M!%%g%,ljXTqc"@S 91.354 + Xu87baG.F[ONYc?51`l0q`<T&lo"m)Bn,a6$+&'2"[&)%6_O>'nO&UFGYd7IpR2$&t1E[=u 91.355 + $rK2kJ_amFVesnq7A(7O*FbUt%7$@/m&i3GRN;+o#[GJE.-&m,R@Q+S;HKF)*]/[M>-$&-1 91.356 + o2iP$7t;_DT\?(a_5JCgc(4fOI:T+UZ95tD'gVAOW[!1I*U5R8Tc&Z^Il'fe'-+M%l1EL1r 91.357 + sYk;NA!BqG]%>lg;oKc\l_2F^AQR+:E.03AN)Omp*MlH7G*npVoP5ZMq:U#G4"/%UV;A2U( 91.358 + _+SU<A<r5oocnZaGR]27(Xa-?QBr[:bHl`fZbR`k)NUP[pU#rRYIdELJD%>!<!D2J%rQZNT 91.359 + p?PJ3m<UF+'-Z*QK<"QGitO7AX^AKG,lO)Z5u[m[2Y.c'[Y"tkE-^Fb$fA&(t)DL'EI&M*8 91.360 + sm4;B4"Kj,)AS)VCaSJQ[jL]ktBP]\C_:gJ>Kj%b6-a"+/m3@&s]G#15MbP2X$^gV\%t,S8 91.361 + q,7h_%?Tt.sCf>*@6]j(o=TWc1$?]@+@drq(a!87h4[C;0=FLl!"+b1@pa"+JJO[')g%KHf 91.362 + TXqnrU_&Q5TR3MA\ou.?7T8U-#5R5;,>SCsaY'T-1qnnMhBG9>S)PPY#orfuUK?/X("C.#+ 91.363 + gfqln(Shota_ED>TuI-rVoAd.WBf(FNFRk\j-4p@'pGnd@>l'iMB*Wn+5tJh!"mIB3A)Hka 91.364 + o(##2p8!Zi1]0T#b:A+V)V(54jTN\XNb*2U%/qL8/ksN$/os<4+"&;;WrJ;+#3@B@F,R6-` 91.365 + HpscCHT=>ZFK\=jm^+&j8J*,s2367L8rb'Ko6PN?2DWS/EL"&-1i0pZp#SfG24(%Y9`s+jT 91.366 + -aqmjC%f>sl*n=26mr"33d"(@oB!N#ji$3;/6!$#MLG_cR^p"GHh(YnrFP0>!="ZRL7kEZ# 91.367 + Z_%mqN)qY&3`O@kVOZjE6ef],M(S0FaQVJRZ.KVk1ZQN!"!7ft0'HR/KjO;qGi9UmRLNL3B 91.368 + k>eGs\o8\KgX#ID%%\Q\Rg%U(-URUdmWdiIOZso'YLHqo,FPTB0CB[.IN5"Q"/)_tTJ,D)N 91.369 + XIg;'<=Ce!QZ6(jqG!74*_(cfXVL)_rP7LIr^dc><i6.WYg16kf(Tp0TIp(RH^*d/\U$Rn* 91.370 + K7(Z3Hsq&G"NT69+3p&-uZs#hV@1_4hi2;Xq2^S@;Y1?47R69>?%M*C8B1Z"$hmbThWUm`d 91.371 + 'ArpilLP8WB_h-hiFIffW.4qb]3#N/c"TG@P.3!%qQ"Md8(i2@+#aqKs<@o)2sQ\uK-J`+7 91.372 + _'q-B&+efmkU`I20&,N%LJ7KdCedVQNou.Ti>b1QN4qeY(kC@j^@6Oq3=;4R/()UH`iQll0 91.373 + 6k^`G6hR9HYU,ASD4smb374$<+hd_ZBDR;eagKOmVX[&n:?WbV#j(7g+da9mOr:Z#m7qs%o 91.374 + YX1@Hi$%^;kEg``Hc=Z`Ug87lkNItOO/-@F(:[cr8I]0<YpV9K_e]KhJG@snCVhH+VBQ!if 91.375 + R?M?83=W7cTW`oR9(LO\"Pr=YsEt.;m;ho%A-!@540Dk*&rThJkQH:?Rhoo_sD-Thss;=u; 91.376 + 6;8UaRp<8(RHpJIg%W\:jK?BY;_f'AUTomX_cYup@T(@uD&8K4_O:b-:bN&4TlR4bNlhXPm 91.377 + )7itNnlPY686Cq=J_:$3XM76sER&+5-QFBL2g+=(MY-E>uB(MGC_1+]Od1WgE]f(47WRYbV 91.378 + Rb`/%@BnL%ld_GP:N'1/eS=R,cI7?\iGeR^=S(),q_/^#38tdk=MJ*#pt]8bV=OD10\<I,) 91.379 + ;UHJ*+CXimkb<E5?X^VXM3_[nFqBSrh!CFYODks!'d+)/,oE20GF`n5d3'U"@4O7Co/Z.CN 91.380 + SD`$;;0A6EmgLiK46$QLgApfck.J&JR]u4t#<>>o[ATk[TGmZIn`f/8H+>($!s%@[=uQ^3? 91.381 + -G`(;(<jc"or8?_>I!?3dnK-j0qFIssR16d=o+-".'WiC#rI0n&:oY3(R#"aPj_kVIn?o'S 91.382 + If+LKtHe;oC-(I%X+@6oS<fOulIT.!Cai89@F(GR*SFeN26pK]`#t@e!FWX.P1j#cKWX=r5 91.383 + W4/o-,u.CGo(75LB@*e+(9DJH*gT<!dX+pcF98N^#$KHtROj#.3lZ<k*%m)%_'DC9o,5j?^ 91.384 + 3+jbA6CfjQY'C/F&tt"e?Sa";_XBBBA5>p[Yg6$;5"Jd"c:'5>cjG/GSGhaXu)%_l^qJ&;! 91.385 + QP3O!@e`=-Vk+aDk$X2?/273#2aN@'E(oI4=H]Wi+<DmL<bGG`_ZW*dG+:6(B:lj<Fk?Eu[ 91.386 + ;Kpr5eL<G/RG<1BYmdUB:<rT0DJ<UG9DR1gi>Tq7\#;K!EJnR\@1=r'[AT%YpJUhH2tQ_nK 91.387 + .?4hlhlD:U8>8hW.XG;,Nq@)\d?GEP_UU\f^Z,/J8<ue+Ml*0QU,ER<j-/$@/&126c;e@o. 91.388 + OVa%q6&&C(B%Aea+tB]'F.-?49O3mQE?E744HRP)$,!K^bQJp4(!]%VoCs5G0>Z8L5icQQ# 91.389 + 'D02<d45M043@T4d;M99,a&(:%iW7;r2TnnH%Ql:eN?^_kb['>R0[gAO9\_^5JL;;_%(] 91.390 + l*r<l:X+>#GK2aKuEYJl"'*#@N'!'`m6#49bgoO+$eP5F:O3"CJWAGPQ-j/9uj)o=bHk"oU 91.391 + \G#m"EgST_&.C6`A6!Rc54JdlB6T?ned8$!MXa4*)'+bF3UQpMR*_@4::JuDn3F)J,9;O6f 91.392 + e$%u+^!8qSf6TAch5QD%E"$.Gh6\Hq_n,\=Tpfg-GGnFLB7u7A2KI)h(eDOh:M(&R276%7\ 91.393 + :'l"_89@mi;7@:7nN:(YTMQ)Zg_`K$)ZkR+)b.?i*92-J2IeL&"5)gO!`X-"&`u5A8.uX\E 91.394 + t2s4mQitD<nU/S<X>GM@`UPH9ZOC1+(?3UM9m">J:qa&%X84MZ.gX:Bs<3LekaFK8L[^lI< 91.395 + P!Tgra>5aO`cJ0uC_*NQGBV8LW_f!>8[0R+Mas-qG(>KP`WEfe''Xa-dSf"3Q=rVBUDgR8Z 91.396 + OdTqjYX'9MuN;bCm=@^74joJcjAnbIe+6lsQk@g[hSK928D2Wo2NSeK(Ebf1Jtj95%G$93; 91.397 + A&b:oTFR,PU"GW=AU'dhUici35(((ds>Jg_D(IEdJNFBU]7u[SF'P<>%Z`?5+>gHjNEfhP8 91.398 + :cD'hHkk\WGGG")4;opI%<TT4!#[Ho5bK&+JXBk#em?"'o]MbhN(jb(!5GLI>S*/I>RkM0; 91.399 + egFER?0%JeG?+pQY=&e_A#*@R]AUUX^?Rn=rROsa?t`MnfL3f>)j:tMc"m37R<Oq$c`<,Om 91.400 + O^#UtNcq6i$rOn?&o0k.t.[#?5;X;m;Q5i%B[D1Boi'YuA;W=ZGdWi/nh<j6U*1@Dj7?LrQ 91.401 + 8+_-K3D>.oY6dN!=:@p'F,khrN1F5T[D5DrZ]D7"[>83G\$#usN5]tZ@\eAh`cOtDIZ^:4h 91.402 + IXGKT;IXk)*"Lgd\2[\%o;7OS]o_-Z8cupsK9>n<k,_*q`g(\H]^(o7snQri[dpPjDO75($ 91.403 + h_MpR#O#%k$-^BqnLQP9UtZfT";bH%q`#pR+b\$pE!J)>0N5U:DalF4$])_ZCVB<RpgcBn] 91.404 + DmY*o)Q#H`[G9n85KL5^)X%24:ZAQ0l\bdRfh[[LFQmlnZank,Fj(n&[6<$D@orD\3Pg8O> 91.405 + B?kl+$9h(Z`5sP>_B'G8H#^&K'Rb"qF_Mq+QX40pH1P@):#bBO,4)6((=.fG]CQ?jur&I]< 91.406 + 0!$\:!9j2'S6X2\So)<X.'H9B(27XH;P6U;g@8"i>bLX6/%9SD>K/51#j'r-+Dbabt7'Ze* 91.407 + ,6]o+l4<J7>aGLMG1$:cl-`M5HV_7f<L>OQU3jius!7(@(lTGms0i4tmK<0FbN1#S/TUc^* 91.408 + :b%,aBkWENB,DOpEYQ0OY;URMg'#SI>MYd9Ek&ro5Y1n'2L2#bTSZnX0K"R#IC+%Gbf&P,O 91.409 + GlmqO933f(<Q2b_Ca$GGII5iqbE5i>k<n_n>^Lpk>PVOCh'a4ps2kM9!.[oUTt'Y(+=QENn 91.410 + ni(kTg]Vg`qeuZB9$&ZI6H)7t,I%82j#Zn3`suDGbjSSrQ)5?R'Uug+#oDKG`"%Q:,`aYW: 91.411 + #p7mFm8T9f+5LdZ0/:#oRr-&Nj$22l]u(B#a]Tf%V&m1;Z]!YVWF8uX4S+>%feb[>TXV:g) 91.412 + _qTo,/q?G<Z0?eTTm9;YLL`l%>3lV`Uij/mOb)91d(Or;poIBW!/)5M1M<u4f_q^CB4bqiU 91.413 + 0uq&Jm0SRn`$!@4/B6+47JTfZha%MHL/@\18ZB?t,P8G"AIMG_F,ke@*WtTTmU=m4#Jc`>j 91.414 + %(JKPKDZu-^GY(k?ZK=$gdjN9\!(r`I*"G`2WgLq4&ZjO+Au0L6D1153uAY!A66GcdDY4L> 91.415 + 3=*G1:,A,5Ap1UP?RrgPfO(&Hb8jENa+@'s.CH+]KVC8kZKTS,^8)V*-p4^^>WTCWDh6aH# 91.416 + Tg\Cbs0:j[kG6ABO/(!:V%fi\]i#!gZIQHTB8PR])Le\,Y90RMG8PRoh-_CY1d(!1\]ct'q 91.417 + 5iP@o"_4a=B=fEm7jh[sB0ApT(F!!^&U'?ut#@$m*oBa0NGneIF_IP!U,S)mT-RMa?%!$)L 91.418 + PEq<!c%cu22CY#G+=`)tC^-h^.Vd[(]JH9E-otI-"V=nUF4%F@.09l9$[OD!lngaIb_41*) 91.419 + 0$.g+A2iFBUQ_g"EZt\e3eu/7)Qr3VH])qW]rO;%uokh!1<brp]L`T9XQYrLT(c<W+^rs7Q 91.420 + W'93jG';\7c(W%&\>=`F7X(gfK6c=N(tWS^ZYTj0Z"_A4=oA"oM]70OY.CEX[$$`#MrB1?u 91.421 + 2[%^:=DL60-)lUhLT/k1u\!$l<j$tDcCd^/:2Yjbf8o:CKjrd\g)MORNIi(4-BkJk]a^6h7 91.422 + idk8N00Gd&dMKgYlZtb+8YD''#a5O8?;^S#2Be06b[GX)u3+35::^1HZ]d[BA\0IKcT.\2c 91.423 + Kck6JqGIZI)aBRA8E$F9r/RR^&&Y&k8>J>h"3%1jI)1)5KBP9!1:)bcPKB&WM!Lh<j*f%D4 91.424 + =O*S&F1PlKUf_$/JUNR&Ek\I:g:gO1.h\Gb$:E%bLB-n,Xk$NOd"`rMpb#S,7s/,Kof:=m& 91.425 + S;4L.M6HU#M6#3$/<gZ9:cQQ)[puPR*"bs%?>%_S!.sU'$()6ABa*")opu"M;B%pP^obZL\ 91.426 + 9UPM"(^`5+iY[\Ukb3&lO/%ZFoU9QSmR7&(L5)&\f_#9+IQXO"Wa>=HKW*Lo,](fgfZ;^J6 91.427 + f4Y3.qTO8>p.R2R%_]76%ZdMLRgRE2m&F#Yh4P`.MqaYaQ.J1HunnBBU:<lhs:12\ubiY@- 91.428 + D2,iMOR'&EK?94El@tE2WBjsi0PsSc(XEZl`5kZu]^q*;V^sqN:I1]oP[Qj$4>4)8]gu0pX 91.429 + LBqj\I8P:,p94p-kW$B9<tYq:a!!g;tNVo!gk2>N,s2s[08`J=bTsqcbR#XE+=V:hk_H#:u 91.430 + DB$nG\rn*![2jd"N*i2!;!>?;XS<2oFP^EXf>Y'0Va(#5`S/d<Z"YAt:,D*WSG-AKS1:),_ 91.431 + $>d6bdVMJs*i'2hY5dUQrZ.:!'Y5KI+R]pMt[N=(ITLe"!c;W?T^.`)Ba0V=G<;^5s1nAd` 91.432 + Ps&/19cs[e2^i]lJ<mt>7X;oV`@`8K#4O=J.MQ:D_(roI;YLB9"^2Y"m:b@Cn@alDeW?!Xn 91.433 + <=t!#JZ`BQ2M#>!lI1M?7Qi1,KFg2!5n9*49iVgce9+WOJY!b/cNpo'#GDX67&:0fG?'o,3 91.434 + ?]%p*$^T/lID_:VgVIni?6X$qZ.@[MKk!_TP+R=%b$+l#^f$p_Xdhd+jbXE\D0g\I'a<'L: 91.435 + PQD<oR<!]CX0m!`nP.4U<-jl-052=bHKXf3j!XFSEIf<JHlTL90rt'mlpME"22S\D9hV^fD 91.436 + qtq:F_ZU_R6=+U`tJKV=j&J:IlTU)3mW"+Vd+J04lC65c/`4kMiZ9?b)3OA7\CNS+pt=>c5 91.437 + &9(FikKHHqVL?4`S1P?Ml1;a.!)aJEK$dU.gEER\;=Y62+5UT_=PolQ;g%14PW-Gt*`WORG 91.438 + "sROaWhb:j.pA44cTO?^KrP^r<*IhG+-9=QorL.298$tlOQ^/-r;Iu_QA4<8gL8tCA[gCsh 91.439 + +V@L>DWq<$upf7Xq0MdJ9=iGX+VFFfg=q/0Uj>`qXPXt"s*>T=*,,1r5Vt-a,gQZgnh[a!C 91.440 + ^7WNWmL,#6>=\H;]G;d#[B+>p*T^29a;CaPB,I_f/i8Z]&0oZ\m*c!jGu>F[NVf<a>u.a"> 91.441 + rfXTQT)h[i&QWsWhI:#k(DNWnFf&F&1\:$9=Y7l^[I9Pru)9co!sE<K;/hQqSfABYI$7>(g 91.442 + nhX0m3S`pt_gHRjZWpN=X-23"^pt&B=8c)Gr_G!J:abN=V2oLl<F%-=lB4'd%R`4n`2/po7 91.443 + US=IX;.EQ4c!_d'TE99<2o<2BTZ0sN$=M7J>Fa*@GXLEjhZ0ek\#kU_YZP='%Ca3Ea?[aCN 91.444 + UgLY(m:/b=ji<7/fU?`49Ah0K&.QXW+t;n)5$C+h<l.=MP16a`tc<5@UUY?<[NfN'*0Ks+- 91.445 + 8JbLcOIIF%Pm3^7Hn8nI&fT09&d`K+L0fQ69+,0f;4<#;f2<PY['P2.MaMh?E3)R,M"q,S0 91.446 + )X!O*O']3Z&;eRSSEO>]/SVEtb%Ef]TMK[rP%E2*m-oS%EOjEpCV%SDZ(KS7Im!)Rq$p.T# 91.447 + tS^?;"!KL'=kY>\Y:qgO7j\W4c+>RM_<ooF2NU6\9n.=^$,3><3AS,5+%9Z\c?Y0k52uU_+ 91.448 + k\Fd"@CqO<?qt8?iW+Pk@9+#Sc>@3+Q>>&nY\(=ZeeW(uYhjt,E.jg&dLKo%?3=P8"@A,i$ 91.449 + J5l%ESgo-Gg:,UT9OlL#'qAOHY6r=M>giEi1+G!%qgWB:1ekqL4)[SK,sZ=BDQie5X$4]q? 91.450 + `/X*VP8ETP/#Tb@o6LkeLjS+o)H4IqWMakRN/s[X"BDHCS#_ktZWj?BM.:T*@=5)?dF(L74 91.451 + \,R0][L*VPJ+q=s1`oHX'PBn3C$.F71;PNXWbkWY?s:8V]2VeR]*l06@tNh.6cMsA.)C%/< 91.452 + >mY__gO9t'3-AuZ0@$QK78iO2RSG&cC5\Xq/Bk_1hBm.%%RWr@Ohe;5;B^+Db@#O7:NL[Gj 91.453 + MVbIrkr%c<Sa.J2!Y35@n1a3]Hu!-hlZT,jVP`[fVsM-rm*<5?fd-jJ^Ji4;CWXoi!7ksX0 91.454 + C;<#lrmqMrn!_161'u[B7?Xi,iE?5cfeo9mE*[khTmP*_[k[MDBP$Y+F%Y"-B3K)P+LeB^1 91.455 + M"]J;Sch*Ultp[b>C1gM0dEC51PZQJQNIherGO-J"\,r?_^3ODdUW)@#<g#-dQF`FhJNW;] 91.456 + /aTu:BL@^U;X2m18`k0!,Sc0k;Nmfrl3(BSM!BkX3dK1?-ofMLmgkkTs0RFB(U%sd:?p 91.457 + H>dhP+[c[qZ&.#G!jC[?N#7+jPSI$)E$)Z;C8<NB1!,r(sD<Uudr1*;Urc,[hVN-G&n8Rpu 91.458 + NH,#<kc$rU^C'K@q!mnNBrHjWkl,Tdpk]4k#]@GJ[@q9bM/l2_C('Saeo]5DX7>,>nW+R4^ 91.459 + Dqb/*Qap1F&Ir:7=F9hR2tp8Ls)IUae*U2)K;tVSN'(^[k.l8-\)FaSa_d4TRZS%6#,VCoJ 91.460 + i6!2@jjGSF\AfnYYgG[din.96&QW-\1()Q"U.N:tCq@mRW=W2_"<ZN1ljLD)d>k:lKL7<HU 91.461 + inF?[F"k)F)@j+r`Umme%05`KoBQh5\foT"H=Y.!u#1\B9Uo]J+*?T+e6Wl92lSa\(O[UJP 91.462 + PcYO_\Fg98.plG+SLEDhAFjQ<G%hJ?*4n@Nip@s\lkl0lQ=Ed<*EHblJmn)s)9(4c4n4-1H 91.463 + hbEk1Hu`B9-O*sihU$9k4p\';O7--BVg4)tq0(DSG<^oYLL>A:R!'!tM)TbTY`8Cs\*K'bq 91.464 + &54ss-(J'55A#oH"M,;2fa]Qj7P&?prJ:6Q^E#qReXpGM%>UPDU:ETL*L?%oIdE;T).>WO7 91.465 + kKup.'N(=+BpVJG+2cG(P!JY#b!GcZ3]RqT/[4hk'Yq%XS_Aq<(+l(lEJHcu@;YqBi<?2_R 91.466 + /ho^AHO[9kY7:n)_?bBY_bHf)H4f*1I%WsEVWF9bcl03NZ^PPOsBHTqj_YBTUT.""OZn!CO 91.467 + PH;s@B^O+"2m&+C=[l/DGR=,=>I*uPO&--dVchEL,Hr!(UE0pK0-[]jPI;"B++*!gZoPu&* 91.468 + *;?o?n$g%b0Mk7&r@!m,cN*k2!rc!TVH5c$Y?1[8b'j!pI>?MQ8*bL<g5#]EO7,:12sGNVm 91.469 + ;[%>\IL]M@%%!YI=>OQIp3G_IP5_3`I4B2rt"UG!VgrUN;8frJ"V;dfRNrE:cK-f%0qPQ@8 91.470 + OIE2>n&76sieNMt/53I6Q[ef]53o%?O+k;E6"g9dc/tAQ$'L[D=MC9P(OjUt0BAS5*]q\`E 91.471 + HV*hYeA8STOINCTdBBiMZT2OumC<+o*#Mb9UCXB'+:]&e*2<N3e![Hf-)c"E>$/OiBEU>9a 91.472 + t>]*N*NRa#4O'LkiX6#'>Hqd@S^^3I?H%TqmAnI!59m_qc+#6r3Al;ctO^^%E\F`fT'obE: 91.473 + qAA8do6So$Bl4r!UKkai8<>ng?I[<1;Jp#K`sWu;Wo.i@;q_4tVaO0sq-:XH2U,XE=S^c:V 91.474 + cTu0kZE.:IckmD\P`TY7_^<tc0+_%Qi=3"Zq'RNHs=?M9Ht2'br0NBln@pQaUa8rRfU7e;5 91.475 + ")sjm!a__2K?HL;;r((c3p[)B/Z+E!(?>SM9CS7RRY&i=Vk^_M&#IYUYa[U.D"&d'RK?3et 91.476 + GSWo=md#T/79Q-nj^+/%U]KW0m8.Lsmo;Fo%YJT>Qc)bLa#G2g$s/>Xl?'$?C(Wc$V"0?b( 91.477 + <\=lRE%*Yc?1J0-bUW(1,+O1=^1HE\NXR,e>e&nQ]J0FR_:!aIii:Fnn*)OPfaYPW@685M^ 91.478 + &.t#b4%E2),n!,7:VA8QdZAcB"Oi5b=GoVgjC!hOOd\KreVUO3=0Q($ANpF8NGPSK[E+21J 91.479 + sGVu-eK/NKe(<''9Q_V(/*sJWeue$BA*`AR'BfFNNAA/(<AFONE5:6Djcq"k&-\j/CJ'oG> 91.480 + $"7^#9t[]9q0_ja!ieD=((!2or7PQFH53k8%/,#Cr+>6Gi`[l1>fkdtetjO\rW*/HRX`=r- 91.481 + !4pl`M0@$n;;#1:s6+Vp\E"%%tkXXd1n>3:!6NFiG0emIO,X&WW%Q9K/VkDI6UJP<WBKqY; 91.482 + fp]7&OQEiUmBpju#4s!mfPH!i';D&,g)K7@3N]QMNiPVQc#I*./Se8:X&<'>?M6r!CP.-f` 91.483 + -Od:__A/+TNT1#T^_g=JKL%\g$Br=X"YRY>eJg^hUJZmBPt%4EKq)l$(g5&Q>fr\]-uudSc 91.484 + h%KLNMLYZ/YCGE]ets`Fd(u=7g,BD<S?5mJ:lIT+`DHlpP1DMg3=+*'iNQFb[f1C.03r?c@ 91.485 + 0]&kP?6\V<RiJYH@-f*m_7]qk!8imuooDE5@I)0>[8Y+&CG[rL\#ap\l6/-2FQMfBrA5+4' 91.486 + WYs.AcXs54"\H9qB/(cVdCTG.]`:bDr;fGt(O9F$*p&dUd*/Ht'73J1+d^B5<9"sF*mKM[[ 91.487 + A6840$i8PIO:p%om_%R3uM"Z'Ibg\a59&g?nW-I[1L4dQq$=X-(Lf"X+6s,E\i^?@p;(a1` 91.488 + fUW]8KMdV(:+A\7XVKj6=c6-p/k+F+(ZPX,N)>Tj7TdnQj$[U@;6<RnptQ]2JAI7Bnet"r[ 91.489 + 1/]XNcGK.O@.rO)^GQ;OAZQT86HBFj@"ie;D(F0fc;<uKTVEq:.e)\/LBJr)ut"q,0ADK*M 91.490 + im_A878HWb37\S9h1\5pfV_BjE7NKX$h@c<<kDD(Xkf\X-4^?;&t"0BND@!7MDl`o%pmAjj 91.491 + b/;_DZUfpsq]K[H2AX8s%oYQC\dfpboXDGAft2s1>&S5RQ9:/_BX5]l%W;m(:=g"eaQKZ]i 91.492 + !SoW-pm60XNp6q0\2c#k?5Ni7OTMu(t!/R/R^t=I::AAkP)B;g%ZR1G\)H=A*q*WK,WM<5H 91.493 + .+-a'8'#J9!"A.S;H2r/KmbDGe?%uIJuqZZ0XR]Pi?j)]92$eNf8]l`,(XKV)sRL`)3j9X1 91.494 + *QR.Sg:5.Om\s7AHW&!K2.X'2GhgO8Q@7Vf,,6=_2S6(<bhcb.RuqWeeFco6<d1heZQ5Zdc 91.495 + :`#K=Io]*%KQAQ7PS?DQcI.Lr4j3b%4S"3,.Fu0q_f\lk@17c?dF]d`GP0!)3_aoE#"QX'$ 91.496 + m"NjD.mQW^Z-2=1AIZqP-gg06^Sb!P209f`^cQ^U!QKrDFJ0##J?:9&!8ZS!UKN>N%FjK)M 91.497 + +\+^<"-mIq%5ul$::6OUAdMZ\8EQnu;9oTH@X`SHs-4dS&8ceh&G/NOu]N8_)>??`#,GjHO 91.498 + "-W@=jW(HhUbTPVmbltaln\%FA%trJN<'S%!>_N"^=Qu\?o(\CE'P8V8oi!\C[=1QL'e"c% 91.499 + V#\_/KBKSl+trBo2Md;no38X#'c,"#@'uZ=/GT/(3q!_;)sQba>J/A1]m_7]30,Z]"ki:\; 91.500 + B!gV_*Gda-SbIA6E"I:Bg;LEHMO0FARi5r^/K)NQ'%2ojDg&8Nn=(_154lht"q2`E@qsNGQ 91.501 + fXZUDfiG;D!T!Ur3AE;^kGk8i^5aD!r;Gq`kI4'VF"G;<S8E9\;AkLUB4'e'ub'f/2j_5!d 91.502 + L(fJdc2.>W1.78m9R:0M+:.1%1%*Tc/de)I.M"'g__T4SN652A1!#u%0^&leqD2_f\$!K3X 91.503 + \LI@XL$18pU%Qej_mE2Md=$U@!7&\9@]O*WFNpYjF.aKL9K_]C[KYZ2fb>?[*,QT[S&]KL$ 91.504 + :)+#KYU<m5ql[M?s?b#ij9NrJQ!'ucZa;*]\Wsh&]s5I..:V@Yk#K<ho)Of#4_s,3(F'D4% 91.505 + "]XeCpCEB+_&rZ6^b=Oe$`5FW1Cl:2Z(S'1"Ss!Iu,4nWK/a#9XH:6k+k@DHp'5a"Jq^%bo 91.506 + B929^kQ^?7lohfFB@IKioHkXl-1E6`jWEG`b1&ICW0Y+<Qn4.d\VoNHuGMoW:\ZOO`DDJLl 91.507 + !:4ti?+CeKYE7#i^l5*eS]Z7DoSnQ7PNf<A$+OG^Xm?5)L$8f/l)_[9c(An74(9@A=oPX6F 91.508 + a%)!<c;Z3:dLXhi4%('@(gV9DcaecYVA!6ZaHM2FkM^-KiM+ZH&3*l\KLH=@Uk?+%Z?<r>? 91.509 + <HlKVq2KbGO<Tk)YZP@hJ+7"iOu8`,Jfm("id)j#+s$-oo/9Thh'.mi,]7^>H3?RUk/I,cR 91.510 + ,3EC@d?e<9Bpe#`"$<%mO.]8LgDZKh]=kUA<fq!hLQKI1W,p#%04f2,HsY[?WTlDT6Md$C: 91.511 + B][/cp`m_DLpM[fp,*<Dk[!TKLA&.2SajrD4Q('(cJ!0RI-+Cdq.$UPQu&11R(fGaj_o$,N 91.512 + #6"C[+70IP#gI4*`5T$D-Gm:9dkjQmsAN'K2KMht=AgC23O8<<]j<\D!FmPbdjlEkP'``+T 91.513 + "jeV&Af?k@"pn,-'[X)Q!cnE>TN.]P*F[5/@)*$7ckO9]"JAWo5S?tR]E!Mj%Ic^[N_9bVX 91.514 + r+td%F6R?^odlmp)`2Y"gI4^VP5,.g1eH^g7\#D!NtP2E[5SR&]i,p,"?!SMVk7q$&oYOYl 91.515 + aejg_U6LR*5+1CbY#29ad(A9EFW(!SS=IdKr`HgqdA0!8+Ga#8ADf%ReD6d8!Hqj;```'gS 91.516 + 2k%kJV"4:tAT)Gd[UE!jT5K^Xi#&n0H3/_q#9c6uM66DbO^JeHs/##h9=)aXI":jun`pa!, 91.517 + a.V9IBiXep`\-\s!7"pg);)BGI[Mo8((1C;adIA;Uo,huN+0knhOp)ru#9Yc.+S#sb1(,7G 91.518 + &L!;P+gN77ng,I-.3^Mt,'#7[1,1"o0-db[,LSRsnjOfZ8L+pC,]Z[+Z;Dog<?XXt'7lC)? 91.519 + n;AP3"(8B%I:qO@SmiePY*+m*l7(:+KH789GjH3%>"F!U%l3,jsk-.-/lZUnW:'iH<>#V%h 91.520 + C5H5[5Ahg)X%O)'VKqP#EoP`@S<!/<\=1da9XeeLe)U/b7RI'&>/qkq7#D/lEAhTS*ZnOKt 91.521 + Mb#2j5%JMn0-9(V$2e8_E4nJX*$/0lHc0p%VFOj;SG$7$o#5XYhi6:u2`#]9+kd0WFXk]Xl 91.522 + G&er/C)ZYNpiE8#o=#EoZ2=k*31KubY@5a<\2R@B]o5ut?GrIO+2fjC,1P%N,IlOcg37E^D 91.523 + o9D<lR5kqO3HLfQZ_9F$V)krX3qK=4'<O>P\N=kU#VF,TMcpbbaN,ht-mahWP,_.UqD:Ke% 91.524 + m[fVPMQ\rg)iWkg0q_Hc6<^L71^-`8jV__+j(O-TES+B)5/Sm&E>6YRd7g040u=]1a,2,]g 91.525 + >[K6Bj&h1bh@>013*(6e"+`oL2/)8OO58"5k^;.&)/u,[G!>cI3D'75,uD@Nb;Q1A#0%E/l 91.526 + '&MBt\J-q"(Ko0B$F!u-qn2&&bQFH],"PtA?N8bA?A1n@6<Th9F/9!kiq5Qh'0$Asmd"%3, 91.527 + 1oY_nNGsC?".3\I'JHu]_M'u3sL-c^^[,d\F*ZXeK(Bp9oeBCQ"&.f@(5_)j".N0Hdr#kX< 91.528 + 9(])[2%`].%oK_L;:QO]od*Kn.6-6R!s#Q_OJp7i!6S8V#=]@>'gin6#UOCm;?kJpofbu#h 91.529 + B-M6$/uX6JOg_fSd1s#<jcjHeT"Z5F]Ytl=7pi@'n'1AM-+n[=B1Jc[?F_cQ!(M_=nS+b24 91.530 + [oNTiuT@>.(V=Q*jfg[p(`#>P5[727m+9_-E8E>d_saoo9>dF;7?:ZCh]s!4NWF#s@7-4Y) 91.531 + 4^A8E-7/._<-(BE"mEDjkE6G*_#%\cTm[IcT0\/eJSo$X]k;SXP8dp1HU@^\!s<\Ir`1LkS 91.532 + kA%"[5Q:5<W7q=MLAG/`/2G7016j#]EM82L^+A`YnB_>(/<F[gT+raO*H"TGVMNidmk"/+) 91.533 + @oa?\kKM-gaGQF?B]q`H&7S^7[Z3@VXqbA$."Pt=5_0=8lm.X0(NH/iQ4m%&");AL)?Dl2% 91.534 + kSUu;&>q>@T'1AcK5J"kbkG.CS9Zu_4930ECQ7A+a/33EtrWcCl/E=1\QKdQAGpq8T%9-'A 91.535 + "@\.c:Hr[kg?TC0)B4!PfN1A/-^^o$B&q&1]4SO^V<H3L1UmmEFAeN"I2k:@oD6G>@>D&?\ 91.536 + WuY+Vfa9(LiiqXp0]BD6n"f*+WFL2Qa;F>;l6D2i^V"q*A[@oQP>2l/t&O`M>+/HO9<+cem 91.537 + ==">Dj"n5,&!h"/^XuISn'&`q0@%7BDiZ(j<,WEhmX`G(D1f&XGIcm1?&K,iQ<AA^nE#8P! 91.538 + f8:_*V&`'VNs_.CZUoU?S/lhon&#@:5RLTnSe[VE0ZQ+8#'2q0(bQui)r\+65\GL1;B2Bl5 91.539 + sh,k3'&YmkT(hgH]K]q!?5GK8VL8Id*e:ZL"a0@e/OGZGID^FpB+DQ84(0\&qYeuW+UB.D1 91.540 + QqLenhcED*JoseV^*CHJ"f<[^[)<^^&;D)hD`<_R#!LZ7M]6&chN!oElXjc5]m*Ftn&6=N] 91.541 + (Nh2\I>_MHu!JB8LMSF8Ff1:W$g2h?L%7>QO4Cbm5^7qmg?jc40s57eA9q'B`!jbjur-c,E 91.542 + rJ`IUIfEm^s)Bh@D,.EN!/h7N[)rXa&i)9-^QkFrI,oK:=X>`@_X9h_-'[X5jGlN:3$%Q.f 91.543 + GaX%"q19cSG5oKG77'6uO8(J,QUke0JQJ2(9XB;df*:86P1cWXeBf$u!"?/h)$(Qa@K2C_S 91.544 + !H(?.:J5K5iX@;U]mIY*J)V((<C/$Fe%fQ,L7$p1Y7t=I2^X%R!B(3_G`oXUkLFI=nQ!!pD 91.545 + ]^SopZj:-%VKu!<kYPndCZH/=FbViclL&]GgLro"gn2@1"<,1S\,IV4%.@H3'YG97OJT+Ve 91.546 + (GY`Rb+,G?!F[a&ZN\kca\*N*@:MucX$O/lYtc_S."-D>r#JAUln=pfde'fNuV>)fKWW/eG 91.547 + fVATK&[f*7.Kr&6Ls(2A+U',D1))8"RVXm65\YH10Q)D4G+T]q-iJJ@Of+0",#'Se'=Q*%: 91.548 + hC5/D)1dJiJZ'9V,URi8YIbCO-<ZIm$*d>0XkMDK!Q#dX7?'Q4HQeD%>7\!^Bdl>e%7$6M_ 91.549 + .!efG>7rDSn=%T]/d9G=D)V-,8'+HYe.1ZI:-uoMtk.H)`P2krYqPK'bZ<A_/pEDD7=k;\G 91.550 + M@O]3h!GP6?5HUJpFoT^3%AM531%2-Z'HP("I'@LJiNo%>u/PgR"Q;"r_6]_g&Jq\a)%ddt 91.551 + )CU#D4K37E"skQJ_V&7EnuHa15q<P>+D)IZ)J&r7OdS/>^V]0#u-4;9Cef:dR-k8W<J0N8` 91.552 + Ds-'uK*^b_!)Z+<$=aTTg(a/ed@X5jr+2kfck'GD:\!=o"kJB54ZPr(nHg>bskT']D3Li[C 91.553 + NCj]U80.fI)dGnJR,u;WM9)FKTe>B1]Stt-?&LBd*$J\t5]<s[Z5EbBa#\Sg@B:?u49Y+() 91.554 + .=j&M`Jj`QEdV^bcQ$(\]N)*rQ2Q2&#&=%15HlXAe\aWb8N64!HJXbT+<'G#!qYt_:QnWpM 91.555 + @LpY=r79MK`k3XjHF2c!&`Hc0NX+as#`"&>7W'JX-p6p,fqWU$u"q;Ma@A3_OkBdRq_?+CE 91.556 + Z.#8$:'&RA5O4-sWn*S)fbd[-B+@3m=QH4HUQU>rf5q6D(#hApS-#+NG:2MKZ:$_ElDf#i% 91.557 + <"W\K(XZYF4\\2WqSCcK^F4V3J*+=^@4M(+9\-L`\4T0u&>^$>]5TN.f))oUcrOAm6@KIS: 91.558 + ;i-5/fI.LUpsUDXhJ5!s*WY$P]kI/o)hD0"TOW>a?6-kj)MOO7>M:)`W#:$(^7gQ!H,YJ$- 91.559 + /`O,UU4!CoN=Cicf<0mi*K+0rX2ES[MH[*#p%Y$iPHETAkF)mM`-5)+P7"5rQlPf.K48I-@ 91.560 + 0le)Mk.n"T](s2_F5c*T\?0ep^[MU)k/F%Lp%M'4D;Are#saZkbbQ^9,a$+^c!$a5`m[W?B 91.561 + %E*n1^le*WaYmCqQHroNP(l0^b$mXFQl54S)jn*e!`n)!m/rrqmV$1K#Gn:(u<^Cg!c(%K$ 91.562 + Pnc'Kt+!'o:.Iqs?nm=-B^GGH\((c"r#Y::T?igQU>Qm$Ur4\b_glNVHFnI<ql7nRRP)'pi 91.563 + n-aZ18m\uU>m&a7s1B42p>W8tdY[aJ_>(2eq#?3H+-$(\RJD?'q-Tik^SCW)V>@s+qZ!Jj5 91.564 + HXfiZ29$aqnKuET>g^-a8A0Dr;Y%?5Kj"Bck%=A"/r1'7#DAVC)<LIF^CX<s'LCF#-.JO+: 91.565 + b9<,udVRW_%eU5ac.h*^/?)\,8uM'oPN@&X_'c3?=/M>#Gn7N_(LX[%m2[<3B@UQV6HS)3i 91.566 + E\24I:,aFejmGYJj_RZ+ei_G;JQ8`_bL9e$lNVc.=Eb*>/g;6!X]eXEUXZ!=D4C_cg^HHBU 91.567 + $f^.1Y7BXsR[9Kc!qj#1cE4]BCpKPQ^!'1V;YS\>q%gaKniQq:bjt;FKa(+ZX*0sALQ-3b1 91.568 + )49I]3;h)dZl/&emn'1#Bch9L<cS),f5((!*L>#c[G,Qm&YSjd!1)M[GT7b@%TN.F3Yhn(b 91.569 + qW6q'tW,ChBlQeJu!Mc*M1l#;WM>jlE#YQf5K3Tp#F9'U%d+(p%s1Zs-L@^nbW1_hk.sXn, 91.570 + <2Lcf>$+5VOGa"$gff$Nrb7<#YtU`[Mlh_2s$n$UN.P.h"dae2n)VnDlkFO[C7k_Skt28-T 91.571 + );33X\7L(n+J4-?=S)b0A9Elp8!'26e2%5Ui2+0h>Y,=qAnP9ie<_fcPLXo+S98o;]HI@is 91.572 + ll78m3d:?(rM0mI^4VItA1Ih\lk'3Snig<gU6+QK0*KM[<lQe8Ko0"COXSX3fF9B$@:iT2: 91.573 + !!'AkPslEe@IH]_1kd/G;Jr"Lca4;e9h[C,*</W0o`[][<"a;G92p%&,\E5C&uoH(A"?MT9 91.574 + M.G;=]Y443+W^Id].7&jcb7!,dSe<@lQrsP*-XTAWLINianlP0L:u(7p>(MZY/$9jh!=sa5 91.575 + hWo;_:-le[(S7drer?@P^o\c1OkUhJKg=?PY,jE&EJbiUD1q()fnO?C3"&F;b?<;P,Cm&HX 91.576 + aJGR?rMi4,Ll6K75TqC:L6@HEONR0<p,A7Mc8M;t!n;jA]="iSfq[+eN#[CKUZRqD*5hNH_ 91.577 + U`d4!n-P<df$=S7J<smoSk&Qt-4sBu;q=^Q+T4b_$=q$!$Qr]*<M<oATpk8#*i-L]8)JnX\ 91.578 + $+1c-B$4-dRtCnJmUG&<>]/pEh7[`Ok$$-eH%jG08=)gA_f5N?4.RXbk7b=3Vm1+rM(4[9m 91.579 + h^0(SZ$P`i`'QSA1FTs(<&)7c"rp;g2HY#)$AK51Wet9"?iC]gB\h95M]hiQXScqobRIR8* 91.580 + rZ7d8R\2J`V0$V\YEb^1L8ROlO$QBTqLW^!if!O-k)0#'pW/WTEX=/YE#;_J(]Ohn*+HjDt 91.581 + M7rbY0],EtF/#Q5W,kO&:6oU,->,K32Ic2^+S&>Yn:!.#2&D[l5].uL?0$OKp`]r&`8h*_` 91.582 + k6hGd;O`24j=\KQ]8/F+[R!,(V**,>q(F!j%$t3[&L60r;^aB,Ifo*p`OP1dDp2Y'fJl.=2 91.583 + V4\:;L=&V<Y6uK*HB+]A]&?m_B;8-u#nj6q`F,0)Ytcbr[b*U2YQ@5O$8Y-Gd2HLmAVU].* 91.584 + B5Hm)WR''1/KS-a$fR\*0<d5TU^%]TmXN4oQX\P]P`^=RL4p[\dea/Ih0s&(LYCnH]esf0, 91.585 + 4foAC/nkP$1XQq*8P%C79os)GnS%:dq.d7$T2TAI/A-<CVM1HRodqb11Ms#KZY#B.t_8U#% 91.586 + __\i?#Hi>MhjOL2e'D4-S+B2&,o73rqLJ?BM+bo*c$-!Kl/.+iHrd9]gAi,f=q=b=k#\tp- 91.587 + FXXaKQ;i*o%3[[M.*L#$]!(iCX-d_IWPKnYRpjX5a,h5iC!eW`%[mA:b7hq^q,o$]Q%:X]^ 91.588 + @^F42-3;=H"q(b@jY1!G0WQGZME7K]>g3T?;)4(1RAH.:QW!R+5b&8dI5Jg131:LTc'+5r: 91.589 + lMCfkl2c.9dQ].iAhCq@M_>Z=pfeqH&cQ9Om45]1'';6;PK*Y.b.M!Q$&?j-j[A\[9fqnp7 91.590 + 0]4/2G/*H^7!?7'gX+=q6q;&7M63NT"t/dUdF$7(dcrn./oA_1<H3(;AFJ&?9LHW-Im%`7X 91.591 + b7=mU\t*+K[f:+=8LLXg@,CD%*01OqDQ\>UmP&42,YWF%4X*>J4U_3d.Gq<_Io[YZW@,T=W 91.592 + fD6:EL2G2gG<kh%+0NSI2e9')-DecEMP9*)QDp[2Z6H+ae#@lh?%f91;=;7%2A>C\\qd*Z\ 91.593 + 2<,]YQL<UVcu&0_V6"m<pEuGYHcW<5(ZFR1Pu5CP7AEbk=3-fG@<NVWS:)C;3+8\"qel_J$ 91.594 + NYK1n<cKNKQ$Pt_M16gWN'Yin?*^#(WQiAEE4DYX4%RGlNH1`<]#LAO"-na9aF/[M=%7E`g 91.595 + An&Uu[;g1"JE2\6drM4*?T>&])B:\9<k*V'8N>[1&`CI?.h$M6>;?ZhY#qSH52SMIer;6fT 91.596 + $F2P67QOBp(nAk`>ccj6sS(<qZ*=Q]O`S8mBNNYX]:B6.bpJ`^^nJ;@*9r$Kr!Y"T,,p_>s 91.597 + ^T])2-f[%,f7H]8)5)5g$(4hDf*5J9V#C,,F$3s#`h#!l9W;4r,kQhej7L"LjWu*n)Htr45 91.598 + 3H^Fcer4@ZJ8gRPFG@E@q9oc<bKqnc&L?!qp,j/rD(F_)=;o&P9;KgjYr3B<.*rsZ$rIEP$ 91.599 + E2Vmid5&^&T>0dQlC69Io6f?LDWB*lPmIFDsmL:YH?&,h@Qr.NfluIcG>.eKU%f4+bhS+X5 91.600 + s_RLlUqPo!XPor/R6is/"+2<CR7B$r<W-DcFk3psAHhL1;4nN^7+?>K/JHa,n0SA]dRl.9I 91.601 + rnBTbN9W^]3/&"M/sE98ThLFB>6!77TabDJ@$0e)4SYEYP@?3!!CW9.S3RYT1,[9mn@)e2_ 91.602 + ,K!Led_:ip)N[('7I_jZLT(9rAe$2,PX:n/QBnj<L,^/;&8@TgChu_]"G+R;cTkA=8h=9-3 91.603 + +m#PB\PIT@#\9*\)<+LX:Z[L]^NP)MjCJ:$jPEJlNLqn4r4q"SI7Y`0ot@\"\Q)^>jHb)+2 91.604 + <H#WTLSpca)-@\<CWpc&u;hLp6">%<^3bXhY5o('0;uH*')(==5UX[2=a<dM%PE)jGBU;8M 91.605 + +VRpERT=QiPP-I+]N.jBn[&dJpIu_'A4)6h:n>Vte%4:]"[NrXKW<g4#Xi,EjOAI6Y"U$jY 91.606 + #Sg*DrtX7WF%Oh])8M'>9`'<@!u>6?i01_>s:\<4L8k<;Pn#oi-CX9]+_r4cp)^?CNipkh9 91.607 + M!C'eW^[(MDC\9o%eHk40^P]'VRtX,lBo.3750No;9G7^0!'s!b^a!:#n_XPl=9S])L&aC> 91.608 + $\Jaia1U0)^67'\g`SdC.70IA*YEEV.m$(kc9')oLniflplW0]r0/`+Lsuq@W00BgU6/)X_ 91.609 + \j0(i/Y]p'K\ta#fHNFj*SO<6G@f!QHVKXR<9YC&-H;e$=Hj8GSIGEmQsl,]?lDOr%pfT-G 91.610 + trZ_^mJM,Vq\)m))s?6Ym]/HkhIm8dm736&Y2"!09Lk&]<B2#g?:1;QLo.FbZi,5Y.fad!L 91.611 + OmM$\7T5--A'K7?5;@7D.7]VI*u+h]pQ-NuJe5+%KoC^Q"LVo5fh^8rZ<*'OZ*\-rJH^uPn 91.612 + f:np(!3l\LpM'JpTX<!!WA\R4RM,Udn9H8l,-:]SR2OKH@PNG66B!$/uQJ(SW:o]8C;M:-u 91.613 + ``*=4G_sFZOiE&k7gkd*UiHRu$,2(I`XFp91iC8@DhQKQ7hcf]N,q"`R)_mC^T;m@>^*3TG 91.614 + _j"XaHV"Z0T/H=`5gA\a5i-u8;ILR2FKAi#S:PRPXn2q'88PGJ-5d83/k[i;F,W[ae4nh9D 91.615 + (U??Ftl+J-;bUdtBq2O[_aA9'L4_1A8l\[n<__]gSt`KLSPG<u0"eaK,ILYeW`(9Zp7k9$F 91.616 + jQXL>s0]85LCb.*DLoM#EQMo[`M4@k^Z&Q#dN/IHh)Js(0]FL"2kZU#kD#kQY@ZaNMGOis, 91.617 + T99`)mG`BnRcqD;K7qB;hoY/9uN_BEQ5KJ^U,N_Z^PFEtM%.IU+\1KVnDTsHULnqXWE0%ta 91.618 + AOab"8gqNp.!1;>iC/Q\9I%Q5r(]dnYtghS'caG5%-j6ShnI0k5?,Bg]\^hbfu6(b8dt79' 91.619 + _$prrkQ`6biI$*>cP'9pP>mW#okor2"[%FWX#jW![86YO;=8bD2EZ-bRf`Yo[Q_?dEfc8bL 91.620 + Hg6o^g"[r5=!hLns^a!>J6c#Di<Qc]F#[VuTW,#>^c**;Dl.W+(E>2Rp-N:tU9>CM?@jO%D 91.621 + kha]OHuKU7O+P"7]I#lL(nA>_st\kQ_Zd@:f_XR+A0,np`LLYBbk%4.E9kdd(?;AA<<[0k9 91.622 + W$&AFqd`jCBoLMjo44+lF7Z@-C"X;<I/^m]9'hDp>YWn#DC^"cQM3TNE4Y"R]/'i>nbgeo* 91.623 + `7*$i/\Q9]77BC(NAJg2/Q6K3d35t\WfB>@1]g#lZA>!O*8$)FeBU`.4j5b.i0_^/ND5)D; 91.624 + t,c=XUti7aj)1\eSSA1$fI?X^S>hR^,8uZ/+le.[C=+D<!>`fQ!`!O7oK:Odfg#g9=29I>u 91.625 + h,;cQuuF7;%Hn`)\0tP`Ts@BOTDInfKR2#O%RUbM?1S;,hBsd+)a[,t$3?FU5rs.^`hh%;& 91.626 + ZnF@G:E9pITc?#uFDGR!qZY(EMOJg65#ANEqY;!T&+eI0IW'Su,f<D@ap`55M^Ma5N+,5YL 91.627 + J-pH;)@p%Ese\.#+SQM;#J[_,,f_KX5Rg7SgGh9?:dd:MsI:'mVcVRVheeNH9oJo\AQdA/r 91.628 + <V;fFTeqs807iAi)W5oH5]MXGPV3K2<#(_DSYoWhQ,gO5J-D@lFfAE/MHS1,g"[1meS&-KN 91.629 + [d&iR`_7R41^B7\2m>XM,csom!ZoRk#3Q^=3T5mF`F0Q:#"=9!2[F8V8-4k_'<4N]/@Ejh" 91.630 + EB1M-6[Ef1hl?]r9_'LYR$*5;UnlSKV6?R6]"[ct0HrM-#=sWeT_BKi"5n9%VkKHsDrV=_3 91.631 + !9NRqHGf0AZGf;OU4bZ9Rkc8n+2RC(\'iqe8slQ3ja]R6a)Q#g5=Qe,mtf6DOD`T:B2]&&6 91.632 + mb,fjDV&gl!>_4rN)`Sa@4n'[`+"q0k?O:4CS\*V#@p+Loh1a_>U]"'6k.-t972;i:R$>=c 91.633 + ofdc$2nS>-<2BmOQ:c6#h"a*g(h,&+X;GZ,e@jU+X\W,Sp"FgZi1:$5HoY:SfAE7;6]Lua7 91.634 + &R`CrOu#*QHfHK#`<!tn),H5f=?&/E(kp%WeM'M""Y^VS&`KpgfK#c>32?4Q'i`]cX*H>?& 91.635 + 4Nb,]ed4<+/*N^W6]?G`j#5"Q)*e+nbB3XXIYX>YHIA$$@Ct7BkXFRpn90j!Da%mA5adVrI 91.636 + Y)#gC-o*O^d9pVZe@@u-)n.[:__S<J1:\bI_,W-a;5FU>3'@0?DK[P1aZ$fJGGA7dVhA'C' 91.637 + 12<74bfS0kE-9DLQ3Q5,8jNY3=H(->"<Jmj]JigaV_q.m27P//?>ubT8NU0G8h7j-SM!aig 91.638 + Z2R`$"!mZj)n9,X#%1ok@3F[Kfe-]u'Zf8.Q/E,th/2o@VD@:^ap@&,_j%,+]atJ9&Oh55j 91.639 + RA("L/(HYm(T$kLs,eM1\0>0#Ekgm/$Q*7!*]dOA;PbI9&;;bQ-&0K1ZuQ2k,kZG\;OtC^, 91.640 + ?`fB(1al#&\#'EafT>k<+&[PS3.[(DbZe#'=&VJYRdbk(`Z_7"l1SW/=s3&`;[Qht#@G((A 91.641 + 6fMW9*jiD>Zp*<b:Q0k+1=N!7Mh5+H?.Rq=:DC$F8'aB=dI70ARB(!WM/)!$7d6O5H+L'ZG 91.642 + ML64uNNo]&MjR#j$Xu)(Y8_]=,A5&]Y!0?APP1p28lRoLsSWMBjYdOJ:lY2tPjutiKV(T1= 91.643 + lZ#_5!*ho<3<a@s%Addh?/17eKKdCqX_r07rdS:8E<AZ>#bHSQp4l4_L]cdAerEtsDS'`1[ 91.644 + o.&jh_*/iq/us+To,dh"u'>"!D'1(,6J#[St^`D#-Vl5fj`O(D4]Jtk]-km?4*X$K6H"6%6 91.645 + )alXBl7Y-_=Pn?Jk0F_sOVgDJ;sO%%X+r-G&@&'*KIF+KRCH\gNul_j4AAY4,=a/*gg:mjU 91.646 + Lb.:3n*o+G/GL-T(h=K#t,VlGVjlI23i7eQ5oZ#:YGDq=q$@fk6'Ko1<`DttV766rDs'o,= 91.647 + ne&$UV#X3'C")sc>DJ';q\Eu*d_(HQBRdmV$_!UT^V!giVnHT_I3Q#gF'I#')m)%;N=j[Dd 91.648 + *hY_5kHbjP4$j:T'a/^qna@P;mhKj>[c^hb7@7Zj:aU`YVHs]I+@WCaWQ6L_.Z1Cendrou? 91.649 + S$6,/JHFT3@n\2g';YEQa6$WWaHXCG]:=`M60sDB5"=.DB&0IR]!*-,8_]t\6SXNcZ>F:'X 91.650 + "gW)E1"&/G&-+;]MkSbNHW=[(_",UVqYjfN8:V2&%T*LJL=S+%<n>7]0#>V\5(2JY)D5b-g 91.651 + >iKBU)rciAg8<HKTh%c8E%C$>1CMeoA,klN_tE,GlU6_>3o-Q"B*O!dmc=m2#[Fg>\TZ7Kn 91.652 + :-E9)*Et\5,5S/*p^_BTkFba`Ba&huFk%]VVM(B%ni/-]b9qekT"jf2[MbF.ZGR"Lk+ocEb 91.653 + JA?@-\qmP0BOYWfkYR/>q'ps/G&mUHWVlr:$$[:tGV<oY38d-._"8F+pd*EY%T_p+J]aPMU 91.654 + L/C3PM.4YLhc)@LpNo:l=Uk,=]X+4)FHo:mpSkm6p=C8.^qlkZH+_&J,"5V%C^0LYD:R"+( 91.655 + *?3c2oYZ0Q\5c(lDbD!_bn)f:?*JZ=si@eH/e?DYJrGFRWoJ)rFe2mp^F@Uj:"`4$T52l,; 91.656 + J&=7]Sp2T'B942W:=Z!NkuqPOJ/+G4ukcM)g5X`"&$%Mm:WR!T(P2@$G_l+VLL[+;5VWXI6 91.657 + $JiS2n[rNZ31,s"3b!)]t=.T)FaI&4er^2&<bqm*eLZM`ffu(a`S^%YP9F;lffNEh<+;8`S 91.658 + #JbS>GJs>Q`HkXCcmhg857rdk+`rk)I2A_`m(`C7?2Y#f1)2/)-fUXTb28;A5gPN8W`dCCX 91.659 + <<$o\*[kW(C:B!kBtE0+[`AOdhVP97ouUoIS]PeT>1CdS&:TUrXX5\1Lep>lGVVDHb'?efP 91.660 + G]_VDoqMUS%5c!hE*dJjEek7t`,g$\g<Cd$KD$+L6kl+d!$mAi1Nf7q9sB"GT>iP"B33a.& 91.661 + L6Z7lfS,f)=O@k_OB:i^j"k&ibW:LMR`>`+%3S5ACuH:90G9;YX%eG=kgV,OBoC=RXLB!kj 91.662 + G=)6@`"XX+WIT^#YHRnX\CU:aWDn#,R`r<3uDV'6Sk4O)8<nR0C*=Wm=N3k:k*(:AHd(\OU 91.663 + [Q!L@kZ=0GQ":P;`PgQPB5tES4sh/"7U^94/J^!&X0B9C/le<qJX)TrR;!o#rl;+s:MA/i7 91.664 + g9gpi^gS>QtHQL^#jB]h#<(!V:4^PHJO%go&j_qpFWh#IDu))m.l%cIn-BF%UP?IfIS:b_t 91.665 + -TNIDjcNhs-[+\:%.=\6G3bU1P&W71gU@_+>Tuqn<LijSD'dH5?HCYO!&6T#Y!Z>)]1$#al 91.666 + PUGjsNAONX$KU^.Q-L7u^&p4c"u6tmRZdCaH=a&1W;*]n-md3(O>$KU$`Z946pa\lB2V&nf 91.667 + FelN4;U^7P;Vr@2o8[@-]oUb5[e67gJ/4,^@jB1Po+/e22]"(\$"HT8a)q^)m#YHLJ.!)cM 91.668 + 50q^V!C5"2*=.j!kMs.ZXm9eZn]933+\:$\SLC"qjA=qnKZ?BM@T'T35c,V.J_41d,#'n'O 91.669 + Q10-2H2/a5h#cC,>;cO9M8Ae\dNbp?CA5"F^Wj&*Jn7,1d)JZ/WTtanN<*pTkN.\Rla@^Pg 91.670 + qBH>*du30:c*#:tj\j0o/.*8*T_q>Dc)n$6n#r,&k;9F=R#LE5gDJOS@HG!aijR!.80Uc3] 91.671 + *\fK?]T82aB'L=t(*&W#FKSb"BS'!qro#*O8`MIY&ulujBQYg+KB7M,VUh%s*VQH?#\@)Rb 91.672 + eRIcm/ftMHrk=g3D+Y>Zgf!OE+5'Nabg,s=hPiSr(!2+X-T]r&G;9KJ<(E-gmOCLa]W9_c- 91.673 + k!eW%2TPpcbm(qim9<n@KcaIrQFC#&/r@#SgV30[C1ett.>@77GWCZ*L@`9`#GKRd(5!0N< 91.674 + 05"0]>JYaH'c[:4MN8fo3C)X[r*!VR(.%(k=O+oa>&WA%F?7t-A;\=Zt]12RZNc(-()R&lN 91.675 + r>E2kS8HC#Jbm+,T"04S4=sDKL'fj*B%r<:"oa0;ca[-AdjZ2XSd=lFO_$WUMX?OiVGV6MP 91.676 + n%)$FL!2>R9%iV<CZS/(*^%fYS;H(V#0Y?ls?$Qm:K:l5;9Hr#1mR-/o_"i+m[Ch5&q1"r: 91.677 + mq2'VPi/g3FUBZa3*%p9]DN.M&(BMsQ6t,%T^XuNniFFNo`GPK#[mJI#Ho3@qgsce#F@Y9Z 91.678 + cA/WI"IRTD/;4G"Lgl')_h1AfL<Mc901mU_G^`_L=Oe:JC$c3\pu*'Hlp\eabsaU/(ullQ3 91.679 + `*f*W7@LXUL?TK,\\#6PCjO)Zj)N[69:IS,o.::%1-u+,fap9*(X5TNeB/L8!C7rMTFot@f 91.680 + a<QpN?jtBUB?%R0=ROL2fl.M2X1s2Tcn+.*L[bF:[LP8kDuP@Jh+-L9amMfj[sQg7!?J+\> 91.681 + ;Z5XAtLSX637?^1Z/0L_Y8$372&%5CC!&[H[*M<)?=iYHkQiLg^F?3Efu=#T4%h($j?\$RM 91.682 + Q2l>p]:3%+1Om%76f:),Zn-kMPafZ]m)9PC0@#Vq>(7Z:h.j.ErTGg7>8B?B6J*/:q9qq"@ 91.683 + #+M^u#SGR@jXW?I<9Q>`Wa1^3fS%Sfoa.\UGTajD4Qi][T(I\r:SUYb&Xae2PQ>uq3X2+19 91.684 + a4nQ+GWW'R+$ac:'E&!-A$6C/-Pf0J*5X`;kiYWV^5':eNQnoVtCtnI%u'Z*g.)ER3B]Z*h 91.685 + RF#TMmU(ET!oX?3G!47)MKA8F9qnd4"sUqV=YW"Ge\M5[B-VUk'eLH_PP4XA*^Q<p7L0,?9 91.686 + 3(OLi@rX.>*KoVPGcU).>*)8rVVhRM69dq.N9@2e.,9a[>@lRD>[(LjWhfcpT-):_D32S,p 91.687 + C)eBt'N&-uIc8O=CSjabJL*BSrM^$+76"iguT*-27RR<*)@V*]GQ(g4h3T`kn\bE@>(+*%C 91.688 + !At/=0Y,)sN6"Y>=%;Da'hW2:#us?1Lg8:P08ai+&d<6q-,h$O*.Qb-#BImKc+eHdaB35S2 91.689 + @0iC4kEqj?(2!Sd<Pu/fDb811'MJ.127]dCdTYH/dhn,`YV29(tg\L6S->(T7fQCO^jYl0F 91.690 + XNtG3i@:66-$gSVsAqdWsikiiJ3P/AI@R\s&"XE2X4$0Z8j#O=C`ZDm;\b`'I^`dF"3G``: 91.691 + 1+(>?ohDjB?'m%u0u+C6f&Gd/\>Tes-/:n&k/*i[:Gq#$.KSDZo@N.rJ?`t;nj\W_pGqAt: 91.692 + -=9YpJ.Mir/$t0I#?G*tCF4hPWLX_GuFQ7d`cAX2t[,C*E!(QRGRj5JpFH?@hXQsJX.c^/L 91.693 + &!qU>KkOEi$?0IMKCXAcjVbW0!;k4KAUZM9U;/-+B1%=)Y+a'$,MNh2*pi#bnd-JE[F[1]X 91.694 + "@QLBmUo5>TW9q(^[Y/i7lq+E,HF$gS'ctH$*&*6JLEb9O%P/RbkXgWaW3Sk+JI0)XV=WFG 91.695 + d6P#U<Dd7E4pj@.lDpf#:UWLd;de_"_CCTNITl6'*`8%dP/T[<HNao-cPhT&-pY3tM;]8d\ 91.696 + &c_-d@p&Y9$=GE2j,>Sg<R1%IHILqaHDED6f0Z40<3fGWou;<EeTg+R_:SoA(n?*0lhGE3[ 91.697 + ea55BVKBc:rSj2I%T';H?P)Dk;BZ7B$SD[eE^T^]0_3'?TA5,T>2I5>,V;sc5'+u"kVWmO) 91.698 + h.UAeeAOGdrJ1*IXR?Y8e%:&UNVHFYcd&M@3&`DQqTsl9cO`[gJD_A4g`(gk&-2bBCBacH@ 91.699 + 0dFgYrhkE+eAqUGX!FhnU*XnHSYD>_Cb%(092ga-e3J!$<%2.lQ"=J9fTA/ArP_A]3,*KGg 91.700 + 9bg,hKNh\VQsJY@6kmOi[3e)dIXuRI50WPlMcMNUL<aW:OA'c\:\#O&1o6aC$Uu_n5\fhrX 91.701 + dcYBo"&oD1Zn,q'iLZ[/f]<s&lC:5JdccK)13pCI``+O16XA,njr,/G$#5Y)r)arCp`!<NQ 91.702 + ,YPA8RVX+h#!?r@8E!@uaQ8d/P"9K,RiNab]>`rN9%D\Q>`0U4l!9>=ZJ+(2UckQE$HMW3l 91.703 + QV>?j0R+gP(<%S2"N!XiD]Bn&>Q>1T!2DSeU%/[IWZ9Bgs"Lbe70NV4VZ.49GgH*[%QNiPF 91.704 + <`JT#3#pKX<K(Q'Zf8>Y%-n6Jdi/uP6W^&ors)ud&%/cPR+"=!T3qq5rK;9TaXbHHr0+]_h 91.705 + a=Imh%mO%Ds%n%Ap_@jrgoM-ZJM`OHM!5DNBGX-:*.mJANC:llLhgfH:1pMo*>Hg:*,XqiL 91.706 + CSn:q7PT,)?H%nt"YX*#)<D"c#6"&MhsYe_0=MJ"BRBHkTa0oZSpY-ALO#AkItDDWT^;X;1 91.707 + *dGZo2-cGqB9#=A7l!ehT/)9kr@O\#&*<:<h@!"+G2?CT++(=RYYmhSn<uMV`)Gao_Jiamq 91.708 + -PoXqdL@gn&\?:c^;Q09-]uFan]M2iEZ>+-(+_@l5oL62,"m^k'%&'&ca!k^HLOfO(6N/Jd 91.709 + R,1:iqpX]1_Af7d>&PnE[7n#,]T5!;J'LFOC?AB-AQ9o`S.JSr2((/+7%pEjS0p..OYkj+p 91.710 + \*3D3d0B=Pq1[$.2dKiSc4QlR@IB7?F/bU\ZBLo%@iJ.RC$b5Xd5XA-h+>#:68qCh?u$I-j 91.711 + g_-r/):K^gJ-/M;(B?.,%fd[D:R;^J\d+7c00U(8\.o.&2_.fok]'"B>&][P<E-Xt(6@7Ck 91.712 + ;6j2U.)F6\%WA$uG<99:N0CiTk0mt4LK.mo,]<9Z[;c*lG:D3eP'2X*6;KFa[C0Qe3)09V9 91.713 + c<2Os1<H^,YmV3u_>`I%k_W*Y1bq?HDT!cPqQkfO3<BWVbLe9&D*#HS3s_&]e$go("#lqb2 91.714 + t(fI.dGp?MQtRB,O/tr$`c:_k;hQk3]!ZMJker>mSuO+;bD?>+gr/;85N-Ci%`,01M&RF7m 91.715 + /Y"5`oe+Zc>>1B,`%C+\ZB3'6QX+.U-t6-PS+Q.hY'fLH!@FjR_)38iYC:5!n[.,S%99$1& 91.716 + d1V"C@e+Rui:.Vd("W<UL>7C5l9O@J=":7Cel.=iR37a(jJ&f!6a40$+aYhl0AHFm-ESZ:n 91.717 + Ej8:/Z<:*O$V"CWDU-Q+c"Xl3@'^ID@JPS.4#tL$"p2kb[F&!k:llDeJY:B7/D-@,Ear)hY 91.718 + :h^e"1J7N89cV[]5dOQ;.UaE97Y?kR+3]fi19)!cXrT:'joPiDJh8_)2U[/'"Z/)8<Am?;m 91.719 + !fGNIs!bN7QrDsbuDtj)RWLCA9<J*Ws,=VG6!.6iP$67$Ks>[,`[X6F:BJC8QX;J:c&A$F$ 91.720 + );dk>ss0,F&Zl';I(!h+#@p4u%6(eQ5q>W_`:MIh)0t[B3YeTH1GS#W9K\J.#V6hclll_kD 91.721 + 2&W?i5[?uR6g*oYmaV'>^(n0A_r)AN9=1.>;!JPWCa0kt*o'_)L27l4+g61kp5$uVl6d7YZ 91.722 + J9^``-P^k2kG@JhE>kTs`6LdDX6Xt:';PC:)5YGXKC]G"$"h$ZYU;jOu1nhmm&O>@'2H3jH 91.723 + dLGnf+bfY%[V9B?H7G4B@hsK+7$\WiM?5\sAAT/k2OA)eT,o0@(r6gp"Z8'OW"d&q1R=J3J 91.724 + @00ELIcu+C_jEp<lQDjD-L&_D$4_h[ang$$#(T6&=2?n,91mCEXdPf;aFLm5['O`Bl7L>(t 91.725 + Sh*J.*TbYQ<^&E>JRo<p(gO`FIL9EW`0ji7E"8hD@N,Eu-#J[Xod`c5E=1k<Nc\8'V@;?lE 91.726 + *'=J7s%5Y6*LX``5mFr#dF&ANBIC+iD\3C%(u5Ws=A"aAQL+bjADGAJOVk&TE)-T5'A@5C, 91.727 + :1`)hM$Ph].GDK@0m<[B`HPSJ^Fgl]V\h@Xu*s%LO5hZU]XoeY>!3Eg6GLelX]Hb6EIK4S@ 91.728 + 6;)%X,AMg<)1a=Ljj5)nh1+&VJ-Nf%Vs\EbP.&saJ2e/lok#-L+r&t$"Mids+>O#V('*Q_# 91.729 + '_qT64IHkXoVWg"*d-X7r/tAfEmKn1BG-)92U=d>D:^920H.Yd(Odn@>;Xbcb\[P#-b$LXq 91.730 + tMO%(Lmi5f&8D2D(S9M#rDOGa9S*a;F]$8p<aQ!SSJ9UPAQIM\raS(^=+pbA?s]N"[BW`_[ 91.731 + )?1`@N'+JJcH=OmI3g*h3s&Qgq%Gig_(3KCraIuH"t.n5\1H4I`rA!k/q=U1%?I=$5IOTIb 91.732 + +i>>Kj6jtJA,Be/W@;h<r!Z6298:qN[3Ateg!XdQI"N"mbGPR@GYV'GZ&,B.g\Q:,G&!`P` 91.733 + )hD`<eR1:$n/`b.,N@hm3Hhp^Fa/K!QkIIC8<a[YL8X8_'u6mT6,XUKDjB@c)d/m?RAM-lL 91.734 + f`Q)RJF/g2]EW61RhLN*9!D)GFDcIU]t8d"_(*H@F,+EgOM8>$k![N!#u"6*^Hr;$1KGHq7 91.735 + \ngQiQs].!UgXQT:\,$FVs#T\++4REW$g;B5e2(rCK1X?V-L=ea2D$6Vk@6'`.6qdt-e3l( 91.736 + oo65Thd900n+U`*.?)A/fJ![T#*cld:A\Rh%fXrP5)V[cjhTE5g2H_mL@Hkpi&3e+)cTo4X 91.737 + AMpLjH\r1a-2B;C"N7cOCK'!?mX)c^G&pgm`R^]>a+P__2W`*u>[nqZBC^gB+;aHc`T`8df 91.738 + &e\C*GQSKbRcdo=-`hX_Y80F#Re(E1,SqTW$.`Jo3?aWp;Au2AYo;UY5V96l&[B10Z5WK`K 91.739 + %%#0/":jGJ>O3c3PD`LHrOP,(BDs9kp@64rX=rAOYEX9`b2PD'6%?/[MhOF+eQ343[7GY*P 91.740 + i,m=kWt/]=6O3\.-9XH\5i53)m\X;aH!G^r8LJZ42>u$Tf(oRKO,tX.joq\:QU[HafmQ-7E 91.741 + 9V]Gn2i=q@qE5+FXFJK)X6K3TD-c)hpV[*;Dh3ER@hl5j@h%H+i0/m&9]qn)p_(&S0>!T1R 91.742 + W:(,he.!RoV6.s)E$c0qbCtb/jor9&6_MDjOAFDsp)%gr+L(ti<#@K"^2q!H]6,^RX`;rWN 91.743 + 6-mN?-7IiN`Ys"+S7eRD?,k'%]VQ=%4=/#>1`_.M):q2R<h^'D2iq-^)*oGW1FrdH3!$mN! 91.744 + T4FfJ=[$SHp;t*)n^JH=,"h&\r>C!bL)_`.3_\VRM*F;YaGf9TjeDFFs]KF#2hBDJ1^kQ^' 91.745 + .mo'EHPg-P.8f_p@-<$WpuHHdg=QZXpROP'3sC)%iK<6jsr!SBK%i>2.'[.N)X[dhPRKI1+ 91.746 + M`_pDKrTUe.!#$-ED1^X4_dTHl?Tr8[!,pGo--;Qr:g7?RaN[T)V[iIoh94c<fG06YpO2/' 91.747 + a/pF#c,E*hdQsjX-*FL3*=r^t,(EIT:SYe+b45/M=gBl!R]s=WRe/En)c(*RPAAebaoo(ML 91.748 + )>QF[!E9B`;iatOgO]Bt5TS^?UFKR0h]0DO-5^D5C#:D3)aRpI.?"F":1Z%i*]UGH6,jkQm 91.749 + >mOd5d"o2J_h?^YHK/)1]irr@C^b+s5V3kRt:C:?9X@BnfC*T(kE#'F7OJ0=;"08L'I>h5p 91.750 + -\$fpMa]-:FtA3q=)YH3di,_*Bg??:j@CNSAo>Kq[!7@?_O8^^&sX@mS<V6%=XN]\t;uR2q 91.751 + Xt`\\V8>SFc0XEP3l!u']YOmLhVhg1LDhTgh0//eOM&Np`c(S2!RfnJS^)5/Yo2Y70`6#T" 91.752 + n)Bh9V?;85)Jg)"Y!()I$_)^nT)VmP@<#n?ra,$FYO$>+B11;;e(_rnFOq1m(PTI*35lV%5 91.753 + _:l^d$K"_bs&KTd=t3T%%:L4L6'_//c16@%b.f*Xs)<4(l9O;Kk1<'K^6BKp2B?5-)8V2Mr 91.754 + oH@-g-f?:*eDTV=VJaS`$fK.#JYQ]<P.Jp[W5@6(Te)O=[5mCj5e'%ID[0I@>Yj[ShcnE1< 91.755 + GTPJGL=<cl@5V`IZA3U[OjXQi>tEs+*GnOB==\%Z5r?+ct'H4qSB`7,j>2ZsGI)NCMrjf^s 91.756 + VY+d#=VP$'W5;(7c&jc\;=^0raa9]hOA[,,dSInnmbf@9eGr-crTn#@>oqam?nV_m+M5+ti 91.757 + Q<9f`P[+4I+Ej3o&Kh3sm?a/069*3c-`5>g0m?ZLL^-qa@3u[Ckda6'&Z!Qd`d5%r%/S:j+ 91.758 + 05"L\iJGN_i9gG`$QuOm13/Pu(1%rJL,$#t`Vt7KTfM>c>$=Sn)6)/$opX][^L=D#D"a?([ 91.759 + *"_$U<mTG>!AOE\)D<$S6e,q5lH,FY,R[p9OE1Po[q6;Fii=Xm<7bn[nB;Ua$gtJAJ&QJd9 91.760 + p&lL@$iB8$UkFEQ8#`ciDDfQ9IO*G\L.X5&_2@!^NtH%g50P<#5`_mE0gL-`T4fTXY<`)[o 91.761 + (fe2H!N-Adae%0AoFl'A(mMK>2?'KHpp#Kc+QRmi0#>E'h#8J4G..C`QGa5QN77C!O1rZ;? 91.762 + 7N`X=Jba+TQP&p%?8h#"S.LT.Yh^fXCe;#YLZLkmc9J[C'1*]V@pt`eZ,(AFK:qXt2:,A+g 91.763 + GT8'XLd@"T_SEqj`h?'tT81PW3RFgPfPDH18KKuiZeM?W$)'Y:5E'4uOBs;O71BEb<:fMZ< 91.764 + %9A"37P.D66t$F<EE4$[<5hY<\;16#Tle%etXX4ZC+is[Io!8Su5H/7?7"r;+K&e)<Pu[(' 91.765 + U:mT#Y9dCmF)OE]/d(H_dtQ-AauW*eubpBL&ZXN;k&U`R^=q(NIK?+#fJ.H="(gmsJJ$d]G 91.766 + =M.MZq]T<8XtJmbtEn9CMDEATus@XqNMQ=BoDEL<TB%>(3BU#Ku,79P(&$ar4,Z3d3bIQWO 91.767 + D&VO>u8(KA_P513]RKhHM3LhCNDKbo/g%E[YBK?oaU1h+rO+,?=_gPfbe`MpkC+_gGH_.+. 91.768 + 8kBblTOC@V6%o5/lA)O==O9RK`aT_g+UU*>Y<)VPQ/]l"B9QjTjDg[$,%[5Jca_68-0BCUG 91.769 + jr?&&&`HM<u8k<>"rik3I4ScVfBAY/uKd=Ol0u=jK$iNdJ.Z^\raEfh98QjnbR\T#'l%oNs 91.770 + 0L*)<@$4S.q=mi4s8tKm(_jV1TkEqhLb%KB.;A=-r&pWeV[#nl=!bJPH,fYO!CpWRc-4](I 91.771 + .Tp,3N+m)+0-LgHK;M"PZZcB390MIst<:`ee6e]SpSd7=0F^[\3JL6PC7\-RON31YU2Q3BO 91.772 + `)$=8fMg>k%VEIBR"5pMA*[?JXXB$;JSZp$DJZ9-<\1W>;d-hq5oN-uK$l]\%d;BN6l'<K/ 91.773 + )8\1;*^c$-]TJ$]=%E<00a89/3/J5V1e2AD7=V!f.ck,-:L<(_CCJUF+H#b;>AT`XL4p0q, 91.774 + ([^<6](Vqp.uP/;n.7ppfN7.G3MM1g)<bOHUfb!*Da21NtHh(8%A@:A+Er_85;H$\Gm^NK2 91.775 + `o0FBj]sF;oga[Y(Ur&]eHa5DeUh)Ik10MD65+"(4f^0[-a/0Z4M,E1%8nG[rk?q$B@2Y5h 91.776 + J=(/$AF/S(ZdQP/Fd9=#9S=9D9DXZg&b1^sXYjJNQLc.^&[Ut;.fgDnZR[Of812T;Vk:B@7 91.777 + m"^kmi:6<!q_*,"4n[^THJEEC0GYo$G'MHHYmq6.=BhpbR4_M.r9Zka>+W-OKj<XMn#/'%. 91.778 + [ONmI!*p<o@V-G9bRPWVQ#f=0J<OS%h?GC=)1kgPMa58nVX]*M5s="YYeE#LOJ+0XOi+sZm 91.779 + K.*C7A=nDR8Z.\9h7*5.'rat;egPUTc2f#@`U2)a[.VtOApFu[GY!39Ku%oq&Mh!A[VVa*< 91.780 + Nnt"Z1Vk[ifF.6ZCs"ilN!t(K*'T1d;f,VP[D*fir667&La\l-K4`>t^"C*M[FRMD92m!fW 91.781 + gKYGaS'nY]ZKi]eL%TP+aDga#>XGRK6+(=f.u<X%]1$T(%"b/^Z!aESC!2M;n#0l(K>25dh 91.782 + tVU[M;I.Wd7't&5)V[np20nn-1K<g4MKP8D.m>2&iA(Z);@@/`Lpl$#_e19:B(FZG+@Rid> 91.783 + 9*b,B0.<nj(q4$u?+YT1DY;o"$GP*?WIoG2>cb1t(hJOhqc><K;?ar\7L)$'5MifJ>!o!j$ 91.784 + \=ls"?Z)[ELs8ef5)tS^bfn:XDSDS9c.&b9,SR73aj_YKl8jc_\d"q08j$WTV_D#F%TIViK 91.785 + $Gqr=,7?R`C,j3\)hrL2>7.ArV@H-UoM>%ALosKA.g`QL$.3[$X]WJZu#A>;?iSg]?KJ[f. 91.786 + uk:WaPF.4+mQ:uZ?Rb&RFnSdV>9`J@b(<G<*L8fr\dHH[?RJ6r[%:*AGE;Rr,Y!^eGj%gG" 91.787 + O%X9O'8N30P#9BK<-f$)*S?no22M]Zi3di[AHK=ChM1X;&lI[XbSF1@$$_Z]qM.$E!L3<3W 91.788 + <6=[b;04XK&<BshK-&hA9lAN1hA9Y,C.)32%R>cX$ejb0N*RU1FnWT&"h*sbl?BI=;:oBQX 91.789 + t@Ne[?n_\?'SH2JEf45WO5'Xd^dP<./B)]6g/!aUR5VO$6pYMd,:c?)g-&3ft0i,Mk?9W\a 91.790 + 3VWfa!&b)^X!.>ahgkWmqOrJl"[@9r0Q*A2tUJUg*5';AR*gX$i<^:B\kl+)u*AaNl!*N6X 91.791 + GsGkW<@*/3SE#9c:qc*,&*M0q33X,2Ol?jGDgNW^[F.RoAtFctk8hO!@Q//E/$g058CFEB6 91.792 + j88oLLZq]OQJit2+KcVEoW<-t96UoC'j]uN$FhY@U2BMJ5*HbLDJ\)cmn7$7c;3PV^X=?WB 91.793 + mi0/N5I0Op27$,`)?P.PG'MRJpkG*YB2ggLEEU`:q\lPu*-Ctcl2csUH1Du6aa$*"b.@U$e 91.794 + 36kdd96p7KqMl\3j-RUXS%$Or6X4d!9Tjqj=UO:9?o^"k?oQ%&j-t`'6g@m9>Ib":V=";Sn 91.795 + m;45Dc*s]YLrt'a@:L&2WO!r2Ug\ct2*5@NdC!*M[.YNR;\pF)?sGQl$`g,p,KD"XIu[)d! 91.796 + H`gc!0HJfb]P[#<jprC'6N?:3o;J%tgZDY#?5gFL!2rsmHHUek&@o(P0X)''TV!qR<5j0Be 91.797 + :MPBG>L4E$P6"N1Ud&9l[^fonA)K5b&A-?R,\k#PN3+iF5q_E6p6$*pZKG^:Rj08F)_3!5! 91.798 + 6e&ZIg:`Uh1tY&GWNdLR'<6k"L?Miq6^jRm0JV#t5l4QKO<92g5Q`LrLBq:AR!8i9D($AC_ 91.799 + XoM!">H?.)Dlgr$G1Y>bS.d5[).(&-;nZddki(9\HckL-EpCar!,-$nhdVT"lMCmW+CXL4t 91.800 + FuWUqgNCnt(V!7>'YjKIfX21e>QL8ZB'P2l'%PPJejtAV?..\U0^]Bh/r%!"X$>,f!t:Z<! 91.801 + JVr1.e9Z4i+Ln2l6L\H0'$5k#EjBI\Rk!#@*?#;B]mqCoG%e-(_>J37=tCKl=>H,aAg7W`: 91.802 + _Jm4al7_(VA3D=+C!DOe`Bde;-Wk(#U#dHeno`NU,Kr]6_3g>at@54EM`8EefiakQbDB5L$ 91.803 + 7soL#>*Q>6?q92uKTpu+`.5oCJY9YK3t-]HX?%j3=YGjs[`Y^8)fMJj4r>_C,7Iq5qqMr;! 91.804 + (FsGa-u/0Uf`5tMR!ps]eb_1W#LP+-V7eRL.$\dKUBlDeAsHIa:m\?\7\5\!#ZbqMZ_\(/* 91.805 + `8uHT4&,2'?Z<:eX.t3X*khJr?;@]@f)a#=88LYp;@o.NjJ'GIs*-b4Mm\!PQUVCW)E.'Z3 91.806 + O&F&e\$3&"`d#=rkN"B;6RJt2$s3\WN/^aDK[W6+Pn_JCO/X<WEe,,%-'bV[5]7)Y@4!'h7 91.807 + (6&T7jnnbaF^:9ZFKMrL$EEGkQEX+"("nU9N`"="0O0r@/^tE9a\3rSDk-9<Q9m#"3K\2KQ 91.808 + !'J1:#Ins_>XHOHT$-'VVGeU&35Z.jK:#:E.54T:&3`JV.jitfbN[as34o;0@>"nBWWCt1F 91.809 + D\U*)mf+A#(5*""Rs_LN(Y-04IQq<i*1mrK<Puj3LcJGLn9eR9d.SrMb%&)3+2pq1I>p+%[ 91.810 + *nFgB<7m:kWM$L&b?]E,LE1V8T$LcuTMGU6bjPd=HTD:E9hi`=/#jo",L=:;LL)MkN473.d 91.811 + 6,Kg88BKW^L6Ys*!rKfag;oKRr,XW`ASWmXcH"=_3d:]t$Wcq%oRSAR*K+,)9jd+'Ah73nF 91.812 + &Oq#jM9rjCF3S9r$&!f9"K$6R'3>S\`),<:,"0!2j<8L=mcmUkcKYTlI&@r'bI0Z]rdQ!tP 91.813 + *B8ji=F_(+"3i,j`B;Vs%4dBP_5h_aZoY\G*^Y.9;3EZZ&IgsWk(_Ml"X2O.SG(6S)))X@J 91.814 + k5D6Luu`_gP9&tLp\F\.4PC5,HNIm<Ad_*5jcqY?U\]]e<JgcBIH$^c&cc<cGPOU'Bmr7k= 91.815 + Fof62U'R9C.CklW$Ygehpsg5m>eC.4q#)\=-6oj-mkO".M+k\'V8[7#0=FYtf%dbd;FYPfH 91.816 + g!ERuLWf.c4/Uh`a\<MB4D#Inu5=f[4<p9_.,;:C4s#l.PHFgt;sd?P9jZ5FSP'u*HF"d=T 91.817 + s"`pf*G1]fLfQ'2M@%P7aOp6Vt\r]B]&Gq)KNM%#DU@@-o@02/MObdk:L$4>rb:^uk8$f8) 91.818 + KXF(#8F;s/rPAFd7C*"fbTFI/N#c2ZLrB`:NK72TN/Z;HK11gQW8lP;!a.CDfc?\gKrC(ZA 91.819 + VgN.LJ=NerN+^)NOlW9NMWJ5*KZ;td`R,2X6:t<:ftr_iN!f9"uonc7;'F%<N>-Y"#ZE+@c 91.820 + :LPO9N&+JN^c&Xh^3%X'3KE>W&9[khFhm!F/pDgi^YsV5agZE87;->d^\9nCZN0q-%Hd"lN 91.821 + R<RcDhcD&,29`AlVk9LI%3=ORtue?ZnM\8_`7K\V*>MHDId_#'cI*QbQ?>bH&k^#4tEb`/1 91.822 + <NoeQ:"d<5ojkaCs;sNpZk_b.Ll.R9(g,4ptRY_;%X'%=FO1hS'FlNtbQO[hW/ntm+X"t3M 91.823 + :+Al>?T!A:Eo"7,F'%2[M1@Zp_B4_u<YHeGhXH8+]o([fK3mZ%htYFQ!8(Wnqd="?RLSGg, 91.824 + _Loo;rF>G`+V=@"q-L*Mr+h_O<dbY^bl0rn/];TKQ'"[:rZ\I$3`8'ak?IFD>6kjE_'K'?u 91.825 + VV@XrN!.*Is.kK\dg-M':fM;rG#Pi64[KgSnH/%j#m/i2.IQKfr\+l!Bf#i#%O3arfP4KA9 91.826 + ar>U[gh&;jX)W=Q[>+;Nel=G^/N!FS)!iZ6p4eh5Vs08O?D*B5nWJ.)TJk*A*F5`gO-^,QB 91.827 + 622s(-fY-8MfONuC%9hC@"[+&a^gDeg97lXXK\.LM)c`F3L7q.>T,oD<\7Xh7G6^DnilQ<% 91.828 + \;t2\s'jW5@ut$WTS?q^MdmSn@jrm;4j)blN+=&*@r+WpIEH&[?&0OT=P3N4R"AWMLu]%SA 91.829 + 0$Q,@<CQnUkn/%#!PL_[>j/dX(K.MB(f&6"Unk-MIs*iiY[kg)#NIb=_;8Ok/&5$5_E]tiE 91.830 + F<^=MB(lp1/uUOQW"TZj6X9#Yp%p=ql3EJ[c1F-?b?n+m2UJ#\J.6[XN`?5_3;M!)PG%BFB 91.831 + LU9KQ&aeV[(SKf(hBE1\b'N7Ndk-AIK)Fm)[!L`V#+^3GH'QtUH_Lq\6#Xu_OjMs'4J>fLM 91.832 + j<QjWELZi=oBs*[+VOCg+;/)>ZC37F-(l@LmbhPaPg?p5>Atb1.Tou:Mk-0[)m>L8.Jm.RE 91.833 + LhM_/`DKbr</;QtlOG3HSjPQ)VJ65L"ctYER7DqG+or5p!6>B15.K=p!G,qqBe]Qt&;/oPd 91.834 + !u*2!13on5WJo$4iIilc2pGak,4q+WOfF;C9su+`iTMaXo`LEA6,Mjp8tolZ0Q2+lS+'15X 91.835 + #Hk[94QZ#Ssmd:=8BXM//B8C@7`#*j:C-j'4LZ4BR5P5%]Q[Y\h[["ZV-K<U]?>c#0?/=GV 91.836 + E.R#598gBe?im?oG@&C##>MXHMf#ed9K:8ubZna2@(mJqjo2D(;p>d[R(.2$.k8-/c,QY[D 91.837 + qms'[q5_ePhJHeYM3Hu9hYY9Ws&Lu.$E*-<I#W9iAjmK-%mbR,a2X^o_;/ZpIDO?FP-ie3' 91.838 + M/Pjm#VPc_VY1:eId1TtmuJ!9#3$Fp(5PH\mkB@Gp<`)j1(;amE3CA,#,pqP'+$l@&,):pc 91.839 + P#B]1^NL/@mJ:YTSi$Ec!]I_+oZVdS0*uB!!dI\#,`8X-<G6oM=OJtK30p^.i-.rB!VJDKJ 91.840 + 5B%E!5N?.e3X(@o!s5(k;+jDi!R3i!#,2D^'4HbjpRIEh:frcRTf-,RGhCDr?Rqn,QWGK5B 91.841 + J#D.&$=52C<V3qVL#EYf4BB1HkV(^RQmmra\Ih;`J\OnB:0LCe6USJ`"_dC7V6o)Sf'h`Q^ 91.842 + f&HI%YBYY"/p`oka:q-UY2N+*d#@2H8PRR=ojWUAi\<$;rL@J)tof":;rgn-X<J_N+LhCJp 91.843 + %pX3XEHP&$G)i6i-Y<$OB_;=EoQZVon,Na^IdZB9G=[>INh"rAXT:Zn!)7;B-o1oX0(T#@p 91.844 + O@Aqd#'l"4^0sDKb%So8/Hfmf*3RapdU`s=Hj7S6$VE9J/BL+"eZ^QF8$2tpICDQf6VDONa 91.845 + ,q=pXZ$_^;0:m4S^?!G;j)BkF?eCS\_sQRU-9Z#_[EJE-(?af[iB6NnAViSTm)HqG3I3f1G 91.846 + ]R*.ZB?KchZB.2#\"f(I@9q9Q5d*".Enk+rNnJfkSSIf/ZlV$P,1q;@-_hmfBT62R@LH66# 91.847 + k%nQP`YPCGBqfac@pS_`F^&/,LM%=k,0;j([`HSf/H[j)PLN\J;BT17Z#p1/XVVV/'`d@HW 91.848 + EZ_K-^W-X_-34Y`j4r(P"kn<AS0@oa<5i-3^L2U812,!c#TlZh#>9k;9Sd=BI"7;6BFt.SL 91.849 + ;l1TUVKKj(Wm#%b6]!/F@T/NQd:,9`V@6:qu5RMVs/K9YC4II#WLT?#N't0n\K^sDFR'(/d 91.850 + r%>gjWo$H'Vn;#L<@*J+1/=$#Q#OR>9kl4F`u-JLH$O5mMtFD,O%@6/aMR<&P<#3Yf^:cu9 91.851 + s/!WY\sn[RUG4W0=]&X#-7Q;!a387OC:KUQ1"QqV*j3Mb5C2k3WU;n:u_I6XB$BN.#=(6(_ 91.852 + J#UrHYAKIC<W)R8cHDIJ>I&p2@BZd_[O"m\+-l*ZLrl>)+'5^`^Ksmg1Zd\=u$_6YN*KS@D 91.853 + F%J]5XXps>E*,4L(Cc/<@W>M_AiC`kaCK<o4Jl13Qcr5Ifsg*doq0OE+*p'HlULc#l>pn.e 91.854 + [=@KE9q6W(Cd!B@'WRDF_8qmHZt[rAQT:t;+d",6H%"Z5`sLBYL'cl='J[lHQ.`#4h*h[TI 91.855 + OIs:6+K&<]SWh<Y(I,5IOh1pf5"1T;U<.p\]JT)SantSC]Y.P()+CbAuh%VsW2;hO?+p&<a 91.856 + 5tqE2X.%[8$E6Ku]DJ%\Wfgljo*lf>.^d4A!*`=YdD'uc;O>o1KmN+E_]D$rt_[-]qAe=Wr 91.857 + (GkRBeZIC4l1+IDjSMD+b]r#c&BN[q=nP9B@.>h7SUl'/p<Kg299M`3m3$\X*bGj?:)WhV3 91.858 + 1<[s7?7Z;8M*OM$a(`uW8u\=AZ`JdIr?OjS%0]&EPV!<]8.lQc5US<TPeB^=Pan48"dGi5. 91.859 + `le98.grZ187-XSL%(.e(j`!:W#U=6e.H=?!#SlNFc8DQ*"m!`iSbscGqg/GonDNFWQXcE= 91.860 + 6ZJ8JJ:]O@XOX7m,ESC<kfd'bsE(8.$6K?5:FMRM34f!([]R!(+VuWkbPI!k]bO<$m;4C(O 91.861 + ,G_&9=RP3:6XH)C6I]i0Fr9LE%BQnAi#i<gTY[A?nSiFaC$9VH$m2J`h8djb1pZ<EU^8<)? 91.862 + ec*G.7<5MWt@k4uOP2Gpr"ScCcNb+X@RBCCrk8DNS>b@.lGg\D84atYS&7ts<eG/C"Q)='Y 91.863 + cUu`$j;F&T.A\&>,V%RdR'qnDe8uSj.9%Yu/kK.oL#GG?Pc/9"!\8r^Th$I4[ua=1"Cc%6J 91.864 + H1399rb'/VBMLLS1b>h^H+98`PP2]D3CdMElk7NaYp#t6[H83/.n?)@BQVkT-'p]fj>kg_g 91.865 + E4Q`-%Vh?.\cjO(I"kq<!(PBFQafTs]akBo6ne"]MAlG(P9;pcN#'f4pmJ06NN]OC%#7@7e 91.866 + UP6sV!UE>W8t.NsILZ!&U]#+8"QJK+%1%:stnP.nAqVrdaRS1fAnGs2rBb1aSXFRgNs7ja9 91.867 + ObWlfB?V.#j-VB*m+Erc9T6%ht#RU@D==j^7`#42(D-FP_G0`l56$Hq?U(lV"Jr9u80<H[g 91.868 + 5k9MD&d,pL.01\ZU.e2flk(`/?q1Kr&1^*J5tf+3>)H8)"%db0*@$YRLZ$,,KhtPK,;`%!! 91.869 + U`%i>XsLlH7b8g/pcG2$THFQ1.GBiMP3$T/F]U&6HBrU$.LXlYfT*s7#MM0r&>u6kk,[t6L 91.870 + c'aE.*jjJ&dAPqT19qN%p.n`d&RLjFiYY;GKgsBKSJ@ZlsW_U(TQ@.T?U[Q4N5)AVhQ';2j 91.871 + 0+)e.#g^+`sNL%op$K>;GcUfM8q8Leg[IU4h(;(onI_3_J<@Mjr@HVkW-R'SDW9\Gsmk(38 91.872 + iki(=(.6B@Xi8khCq/7ke(dl3.<?J"&I2"Z*3<enr$Vf8V"os$17L6@tOrA.4<)=tj^]U2o 91.873 + .Xhe?rB7(_!G)\2JP]MZ60L`DP*8V4c:CAO&aUg;6u[O7+lFn<i&WkBZmp\?kW-Zq6QAH!> 91.874 + )M7@%23L6PTg!R0>m?]g_hl%X>I=^3c'6LI5q:,m&L-/Hol'H2lKL"Qo_Nc9\(LIW-'_i<8 91.875 + *mAe27YY$MG(Z)*L]K@$D2DH#8GeJ3O:Sp)-1b4Z?ea)+#b9)FGe`^]4APL$^T@Nrag^$LD 91.876 + 7)rHTY%kQ-OOrE\al1p,<F\In,jbUa3[YuWKs=ONa>WhMSDoLsE;JY9X,N8FcU$pb)LJ3?C 91.877 + njVL4m-oYnH+0,D871MpYOd.G,XasBR+oG5B>@VO#Krh\j^>)rII;eNW6a@A+WiQO;B#Wii 91.878 + CsA\qPL7l:`^m<A@,Wacn7Xf$.(N//UddHKeK'je_7Wj0nhV5qGDaAt]XP';?JF9R/fbFcD 91.879 + XrI@0o.FpnCA=@@%Pot]F'hpaU5r8FUhX5Jac,8_,r>p@,)cTd@F1!=3eq7+oGtAY\4=J,[ 91.880 + #j%IQn(Ypa8XM0!4cY15(1'+/A%Ii='"MnV/d<=O.mq>TJKneCLYL)L)WX]JkPkX!\*fB8O 91.881 + G7Q_K9b)a_VC@r.^"nqL#a=\gMY=XAGi/ipMf"p2/VqFJd%0gA^E\sW@bBl)/)%,i99O2>X 91.882 + Dm5eR$@(^Oh_1GJq$dBnDWCl:tm8>^JJWb<BYiYBmQteANba'EiB:QRhF7+l>g,^p$;R*#f 91.883 + L4[lXDba]AYs[uT9=:RLOe:=j;<q'#9>a"pM8^sE8U6dC_IPu=:pLOHX,\QFC=^Db/[#O7S 91.884 + _-bK;3J%RIJ#US@RA7?(p/?+Fn(+;n/H'-4fu-c`D"bU;]Y-TMF_=3pX*IB`scAf)idIo$c 91.885 + )/DJ/Jr]E]oj76GtL/U#J%dfg';/!goY$JG`*KF+5,6D"(M5\)pHF4sXbrR=15p\(U0+VY> 91.886 + SV6OUh$58+tu<,h>E4id@$fY/ctcKZ0"5m_h>-'4e#E7T"t7t@WI+L'pd;,AQ3W`p,cHKbN 91.887 + gBe>2n.mde"`=a"!AF"FMj=V"obRn?E&Dnr^gp!&amLLFtLI0T\e"W!8Nad=^2s[8PYOoQR 91.888 + g&"0LgNdOj:cAAL--kF:N9VSo=/adWYj<A6S8o$hGrJJhYR<_OGE)-sANE[U2N"?Mp6[<Pr 91.889 + .,su^.`nL>[8C4M'1S+_o.r"3b!L:Nq?Y=dP+GJEI2L3OUqt9Fbu,-r*_(0B=ECUfEJa?ca 91.890 + Ag&pp(XBW'g]taU^Yl%@1s(\O@'$DRO4V[nUq]]"rE-Bh.C`<b*aF^]F=$==J[U0C-;fKI, 91.891 + KifTI=g.K->Q?k=TKH_NWUIH`!1Ui11D:I8Li^XiEln,=OR:8/0*O>"QH%c/Od2N0/2-Ee? 91.892 + gKRiYAJe\;O'8nP)+ER]N)CiN<!2'N/J;+1OOqe$0#Cn]5__+38A5C)_ImDBSYO_^i?5QLH 91.893 + !jH2\!"fF/OTt9h!,bR4U1"&c%08-7p@*8,WK;W^N[2s91=/_mcqlq\QN^2k$8A:`B505VF 91.894 + H^Mfm>A(>:/H4S_HDb\-;MR_im`[='^De;rD:*6K#01?!+hlk,%)C,^n_.W;Bq1V!!)9gJ2 91.895 + Bp8WYFD?5*-`a&<?)Y;!l6J$ASs.&Jt]A*#)6m`[L=dC6Amt@gln'%)[C+Ni`R?<s]%+%EJ 91.896 + 5n@]Cu?dg_EP5>_XsYltE8842n^(,9A9A,QAp9b@j@-I:W6d1.L9J<0hAGRXNN;*H8%VW_K 91.897 + ([=IKPK9@';!XuqN#lm3l"M>R:rX=AWock_jB/]^k/2GRV(53/RY+Y(mG3dP%-1QI!EI?\P 91.898 + !>o?%#>pNI@V3)=72?JS/HbS`JuoaI0cuOjj0?QGEX<k`*u<'N+!P1Z6(mLp6J=-O>7p@F/ 91.899 + f#]V]a[e`(m*;qUlYRpZoNY-3?bmJThH\^jrD4S'Q93r+_1trGTQtG*RS%]0M\slm2Rkj-R 91.900 + I,NEZ$%;5_Y@G*os1G1$elQ/pOXYORb;EaR:I\4Xjks&8dk#&u>o?FXlse.k+=&a?Ypr)Ts 91.901 + d2$Z\)_"ILN6*?W.4$0!`lZC`?rj!c0aptu]V_<)`2_&FQq(]a=>,E`c!Q3>C&Xb/D]6:3= 91.902 + :_"t@E0f!q2!^SDi9e>hK-F4"5d!$3Z;&:m&/dVn?!td5=5qp2,1XC+t1DMaQ9f1ifjC:Zb 91.903 + 9tN0[(@8<\)m\7\F#>CFB,K)/$%PDF/^gC<3#gh&($*"9+BS]_mW]CQ5-f/c':Cch&NM&a* 91.904 + Q#gQ"[pl3X##A=3>'_"n_H5>Rlg5X+ELLP0lJi:aYlXKEf7gk18-jpD_:S82Ua3)&GH^91` 91.905 + 2nr%AEJ:iU!<H1p]J!HjA)<__W:p.P4NV0^s3I1`7ML_*%r^4]EFX#i@pdk^-716PH[XF:C 91.906 + A)&i*EI@a-\pZq3ZiV'-LV+\#$jB2:S\/1'71#cGPG6*_6a4QaI09>G-@i"nRe,7J$I..'_ 91.907 + rFA4k2QU:=O78O^d<0J".j[auu8-1S<6g73@N%1'M9/O$JZr$fZiB?1XGS?tfZmQqo>ti+Q 91.908 + *s(:?Uq@[5L_erS$G^14,Hq96C,&B.R7'hAoX?2)q+O:O9TkN%1m(Q(a%+XM:r<l@,P=ouq 91.909 + bd#/j=G8'0XWL?&1I,n+@:''AKt+&.8_r.-1+T'_3u"q!]su-"99JCob9*E3[>;f5;`160u 91.910 + ZqR16*SgF-OjHeBp1>6WRZA<T5f8,:ck]!EbV$=Z)GdPp\*o!?5"Q;W<Za+9;`LD%Lfg!0s 91.911 + BW[6c1]<YT&,';auib##E1NY+P<=9<J7eZ;0heQHjh:R.nbU1mgGYu#PY1N]*HdktG!Lc;3 91.912 + &8d"NfQ3CS1%:JP#9=:Hm(%NclL.GckW>$F@[JK1uB%F">&n$D_A!EIbmMfc:F2JiTP&)TX 91.913 + "@uphraL:_eds/O.qSCZgD/7InA?]+dSWjn=4Qn00QgnSa(02G.Uo#\nM;$aF_$eBBf;3qQ 91.914 + 5(rNUJpk[0.u;rQ:*A,TQh5PC%ZgLp7N`UL_,*d3ANi[.%1Q23@LZP<F]`LNe05W_ePp9GS 91.915 + VDNelc]qrYq0m!4MOs5QV:9r=P4\g==^Ybk<P&i/]At*S.Q*Q+(+#>@3X_D$$tZ6XstbM-/ 91.916 + @?@F<nK@W?H)Ir<k(F=\"dFXpZs\gfS9GrHOTQFCWrFNin6+[OBkTnZOK*`VSd.2Ja7Q5Uu 91.917 + kj^th8EVDjKTW`U7X8nTK)cr9Xp/uMcK6;BDFOs`((E,FqDGQU>.!GuAQ_tj*2g>C8HZsa[ 91.918 + GKG64TfdC!9@k&'injTdr)F$fi_:_3<uR,1":"#T(4aI3EptD%Po[cm42QT):m*06M%$hPG 91.919 + W!*\_L)ns*2gRh,QQ;FD@:?V2grKhIK7aPQfgN`lS/\8J+Ok=@/5=>JUi`;-MS*_3"dQ?:t 91.920 + 0_-L,`_;2O]u3;g'>r)F6b'ph$eIeVE)=L`t0%G^G7VNJR@l(:(Gnj%ih,b*$XNLB(%Yplg 91.921 + TFXbunYM`$oZBKlk[_O%8d*(K92+PI.S[>an.NB#IJCWBS[5p7[**Po6(L?qZ$(QFgPO#Zf 91.922 + nGkdraC6sn5*C6\CUqCLEMBd\QOWb=!Go;a3qiU5O%iHW$fdW)XJWfgPP;tJX\Ghk(bS`]q 91.923 + (-oS=U(e>mU]mhb*o]-n\QOO;2jNY<"5.37_(Ct`@@$_/Meq,uWMmO48t!m/*4ZJ(fiSs!? 91.924 + 'dR5RJC@qfkHbr@*k3Y.qL5P3KooA@snh[NX>rW\W<34]U,%QR@u2F;]&LpWLN_2@/2jVfs 91.925 + s]me",a.S0Ct!\]2W*\2\_;Sf.2uq:;4LgL#7#TK2%uH0:U>?;sJW-A;1^q?<S!:S52,Q+> 91.926 + _Eg*i+ej<QbMS<`g%EeU7!4Zhm]M6(cVl4KZ_Kqma=*Vr_l3`%Qb/gM>kT$n9uG(ld(D(>B 91.927 + )TK5euH>Zbd.KUN=qk0`"3f0c0$)QW;VE,5VRO2W8.s`+nW[DMY.KQGkH`BM>"?Nn>^t5Wu 91.928 + YV#^5!#h+-3_sc7Xu^)[r3=T^6?KhkcB$?#GJdl\)V%+2ReO[%GACJl]$3Ebds^4UKZJ'0k 91.929 + kAa9r%GKg@Zs;\6YM67!%SXB,ApPA8n\O0-W=3`S,0(Tg9#\51/O[RZm*fm!F`=oTr^;p_@ 91.930 + 99RQ7%!<K:3_P(05:TV\hsMc7bL=gZ;?U_X"WFX0747EB$F5,_oM6frbRcIjBb,RsZda,IH 91.931 + ,_RfW>AqK8N9!P/D?1uX5%@/[^1GJ!\h])m,_)@`d:GWkUJ0ss)h;LC$\M'*9?1`'uV\&Z1 91.932 + O-tr:1]r8hiPfoZc8%r3HO&noKM@[&&ft]]]Fkb$0\sK1&MKg'R4O@)Ir$!Dl*3bD8-(AVG 91.933 + U0f=S,S]JC8J).P)kLFTc#_l'_R?R4m1D`q8i=ORYjKQ?d9biq1UomS=N3#6)q2#I\%t'$Z 91.934 + YAa@f=T*DN,]gRUI*Xd[at;,_nV^U6pc5W<KA/PCMOgY,C=.8iaZ/^3BgX6]HV-q=2V4D8P 91.935 + HTpb*Q0X]V3FAo>jM.aIM)3Hki<C0tb+u^VVe8o?F9:?PRT.-PD>f:6^<]_p?4(7CYV\"(/ 91.936 + %?l$.I.gR$HsS#rd*+4B7baZ<tk)g=-/C!8nQC7G:$;O[uY96rKsFMc/L!dI"aJ[r+dd<i' 91.937 + :gX"=cNRBh:SXh:^]kuAtA^am'K0mn7.,2on>LM-TaLCDK&fo/I@<,??Fb62NRqT4;FsiT$ 91.938 + fc>Lh(qD0>Vhs*7]"*gJh7)18?.^+@Wpce8I8N[XMgSEV`$C8Yc5EcGqnV34h@:.OrK#R#_ 91.939 + :`,=LqMZ74QYKb$s)33cTToIhA>&J!T/K=`+^$74d,>8E\*+,e9r(_IC%hf%s0o==n\Dd]m 91.940 + &:=5NLm6i@H(?]kQQEA87Tm-;t61S3+cho.lPp-knc+*,4CQQf7P\jVY&0>H-\Sa5Oadkp, 91.941 + l_9HE5U57i75-=$X#F!NY*Hq8.mkMh9D]jp)nA_UOV=agRD*Xh<ubXPp+B*#:)@'f6s.ia7 91.942 + Ol.Ol+'G5tl?"-AC!8Pd]6lFL$($4:ngE*u.^,tg*cX>VLRJtD!rtn1RdUti(nfg=#h^S+= 91.943 + i#/.@;#]S@!_d?pM]RUT.[;$so;+m*3('%84]=U;)^[)+=74VLnD7BUh50YO):oi7f3XO)+ 91.944 + )UbI)tE'2*8cHq!!k.6>PS"2*5@_-5<&=g9;A!M;1,Jf05<Augm;4ghVHm5oW<>/U[Z$4qg 91.945 + X$9+*$@6'CgRl1-nq=A:P=Xh='2rp]h'35Nm*%p^#dH[\655htTV^RNMS9'FFdCK0eH-QrG 91.946 + 6X%49!NE>Xp8#7i0!>qie;rD+Gk8)t9bjGl)?NQL3SGuTN$"&2G>;].E`B./I.B$cCQk'9+ 91.947 + ^:ZrK2'b6'hUJ^7iRT1u.9rCqT'cN?4WE#utT@K:iD=q2:^E7V;lfu@aIbF$?lFj@RD2fu^ 91.948 + '>&D4l#jUDmh_JDmRnX%?gj@%((U_*_cqcGR$q4sLW;^pfbnV5)jN*gfGU/?pE'@F<V,k9; 91.949 + ]QaPOD.R\3^e*cB\,[]qSph+',Zk(,&?#a-UU@Bn)`f5'TZD3E5Hflh/T.o.,OQjoIbT:WR 91.950 + ^<Wq]29[Dn4\qg2$CCrKbK8c.[O$RSCUke+J(e+!6ipJKXZ759HNLmYco40l1Y#WuFk[-Nb 91.951 + Q2nG<A.&7bqL0IMMtM7ISQ.gn]5`%qiiE9'(L.uNo+nggn!d&`ofl#Kc@`'E,o7F>pY)+H? 91.952 + V@2h[U]PAKWER]=Ta785A+%S.4LEf>f7"RZ3!]iUkaYGuN.7u@kTdr`U]W3SVEn%]PbOX`1 91.953 + 02+/Ia"pCf7*@F2o2OHhJD_g]!<>@j*!Cfq.(1Erdp2c6:\/-"5>Y;_#=D=p70uCZoN_/!J 91.954 + cKO43XPot'1Pml[)-8`j)!oZ_"@am(5)\:(eYmW6p"Bt:N]`?<V;&U=]T[A<=b^_'L]7..f 91.955 + 7O*Ta"pV5F!F#9k%5U/WXIG2J&"`=a#4_BNfSEX(^5\V6Of?2W_Dd>?;!62MN?s6#PI9rQf 91.956 + Ul2eCB\?$C_OG[>TZlZh:\V=An>2s'd`?W[L/JD^,;$\Dd]*YX07=@O*^@CV%0M.-1N,Dot 91.957 + *[JgL6+<i-eKqPk/MWB$u":"qB*CH);+?isXjlM5+Z.?+B=OefO)CCASRHAjgBDMgbTe1E# 91.958 + Ej.)l,/[b><X"2?j#JH[VrCbub)bh6`hfeP3p*cOl[&9BY\\XbbHYm<-I9):4(cmLD0p`d\ 91.959 + 6/O_3f.AB%ctBA2n0n2jZ-ZLM#b12S\m,B;=VV=DSqG?[DmtH#bD;pN7K6`B,Ss8I-3T;F7 91.960 + A%E&Er<3bG@V\@Lj0lFDkAWFk"`C--<+cA(UGQ[r^2GIE-WhGJ4<3iHO-+KAuZT2j<<JIQs 91.961 + =`H/<)68(&fN-VF4Va.G$1FT2M@K`L<j8Gm/A5jYrYnl_O]he1^<IK,)^[rb-ha.t8W3VrA 91.962 + s95E3]^W6EU?k`]nO1bK8!A++;oF$'mKFP`dmfZ+U'7cs&adS#(5g;Z[K!9D/623_O:j_h& 91.963 + AW?U'B2JqlC]6@KWY\"s@16S,L4J>V;a/T!%U`rYLOjIf$b1_!iL,^HAAhV:Jj+%s.DL[Y2 91.964 + CCofTbL)YoR>)NUr%oZYMt[-KnN>U`V@7d@h^)@Udc<;^p+eS3cb9e&iU-li&p%a@uc]&4% 91.965 + FPc*_It_=&E-7[(,`p,3]c&1)<5JGn>BK.0GOsG]ZLG%4"LF.$B0'9,qXZ-=kVqPEL(^a2^ 91.966 + a8U;QkidL:t(ktrpA<3%Hg/:g@D3ZTN/!s4Y82G8%V/l0\/Q]_oD\IkK'LpXs[#8lB]AopD 91.967 + c%)eEp2J5_U1FO!l]IS"(6crj_1a^`,S!%en!"!&n&0T[6o9G]$#%iLam->dISn&E\f,fq\ 91.968 + %68?mDU3Uu5"m6MRV8!<\sWpa%W)!7PSSm=$,8H53BWjrXHZKN,<TJC7\R1]L!b3$7S4BmO 91.969 + 43r':_MdrB[n?'Pa.n<PQOL7F8mY0!auZ9R2t9Q&ND,]Clju1EbL"+Lt&Gs;u-qn,o"pp[" 91.970 + ^55$B\5$;>I%"-DcrQ=[gSH0dhq@M'5K`<bg-PPRs96e4MuQBbajRQ'S`mR[[I+X^eJ$k,? 91.971 + kbiETb:?)uJ$/QNeI>cZD%YCmh$f@'OnliB&IQ4Cf7G<Jd&r$e*-)IHU)+_5@GJ$N)8kSZD 91.972 + u7&7X&R)H_0O<\X`8CYGPB##a`)`CT'.5?5RI+0rn[,f;r\$B&cgG@"f+7*Q-XB#\_g\ZOk 91.973 + XJM&b`6eZiOs4WN97eA.)V24+6r>A-l'Q?VlW%C=:MpWr]80XN:YNW-BGBjG\!HV[$\r7F. 91.974 + 2tPH,)4tF"_pWhQbF22_]5s0#;87;^P@.(bsD/MA(BT>(\O5(#$6A[;*_fQ,5'gW:KrZaXM 91.975 + 7.EQOs:$EcA-@2ai2SPKT7^c"-MjmS=4DdQrR\%)=')B*I;m?t$1^G+]Y/a'frsX0=r@a#N 91.976 + ^F@+u3En<L_t`)?IE[i@p/3?#gm7#-q`ANU6HngE&IM-Zk[Q&(GMa4YYi'l7L]B`9p![QcF 91.977 + =S9CiP5!I%')^,l0=aKDZ;94D?l&cpZ;!GBo,_bhOO?E-'oG3'.Fj^q58J-M1,<sHL0*>h@ 91.978 + #GZ;lB$tq^TB@^36>\=8.2kaQjH:a)1j5YDKa0tE4*P!fcDAQbY?#65+^d/"J^Tmk='9reK 91.979 + I5!0brXXg=muHK21EHqKGuVf3q&IoT#EirGe"faZqH7$-o?-1M406[QO3mS3'0UV&j6:mAd 91.980 + $/l)MI)^go7UkG-S6_0#D7,Br-[[R,.u3?BP)g?"]a1-9J8XCd!i0UX"bSk]^Z;/Zk2=YmA 91.981 + ;B173$dCuk@`TXpm`SnYW7L\N=qh3ISU)pNarpSPLBI$9\5'=j_"\ZXt?[o)W8;mNr(/jC< 91.982 + qMAhL)6>_8[hd?H6;eg9)Ec%].6lF,5",!h6/ATG6BT:g</V]@D$)ZKOe8n"=a(sQShV6Y+ 91.983 + nniBZM<XHfI44c)%F`li<\_ALm9]B(#EAE6CI.mNOEP)YC;l<"k[Y&P&=t8paj3^,<6U8EJ 91.984 + ks>U?Z\?bC;"c8:Y3,^P1Pp.[J<-K7u3H`4^@]PDr2GrHXU)G&(Wr0M>s;sQ^786laq)\p0 91.985 + >\YHk2cEg$NiQ;mcW.nRUC>>b?*':</Bt?9j-U*bX+%(:s0l0A5it/9^Pq;@1)GlX6l(l>1 91.986 + ?Lq0uZDqXPlj$X%NA`!bFd>Nsqc0?3n.5N5`dfOqoo,Q#$hjQH([ccr.237/[B$X9C8."Sr 91.987 + 3p:r0G50G[mMs`f/"#arU]*nlq;$`mPN%\jt2Xg]-.&4Sq?GL6p5C0h(Mr["<Gef7"1uOn6 91.988 + RU3WLWPGNW5kGmCaq>f.e3HZX]j)7;M!_qZk)(tm+Nqm=!iS&fLptSK$k*[tC_8n%#J07F2 91.989 + 7*u%>T^Ip-GMO:0#S7:4=r!]"?&pW5E%1OU`MhCTfAEt%3,gAP<-Qc.)Q>__Fh4'A1,)R-G 91.990 + 59tLg)gMe.jn:4t<%X$G0\"6oRLPN'chK_YcI5+M>T2!fA5:J-5hf4@Y,g?j_g"6VKoYlo7 91.991 + DW:.4GE$_0RI<!C,):Q-8_$7lTI9?P)oN'JM_5:?LuZr2pc9uWW,7D)k4)n*A*m4IBQ7ED1 91.992 + A32/X5#f=B.6"$M&S)=E[?k1[i`b]<XN+T\;6pBC5`fm[G9KYekK>>E!#Xi/g0S6_9=[OU" 91.993 + Z"T0;^rOHBF[p7l6Zc/EZu/BYUrEt>`-C%K0T8GPr488K4kn5;la&<#aN)AVLsV)="8s[YK 91.994 + oRs(Zg<!&E5a!+PfSfA8A%X:N*f)FN(+596aQWGr"fd/i5,;0LcFE_#uJ4CPIQiuV;u/Xkb 91.995 + 6%-R7XKL2tKtL>[Fg;2T`T(aS\(jka]_=gc8In/OCci6YHpV1'h"0aV]pg:u+>Kd@?,80g[ 91.996 + .B*2s,.W_)]L8YiO_%'_TnS?:;3\Wid\*47:ZYY/6197$QXe=K%?\4`j"bA=d`be5Pq\P#? 91.997 + %9AI<3,eQeZ_FuGb`hP7ToGbahVT^m;.*TNOI*#'NP"")>]7e/C]ZNq%4%tUY9`36ajM&Q# 91.998 + [*9$.,g=S/4Om/09hcVOaop9iMD.aufhJR&,8@H'XGtIUgWf"3c(s5l%,i@WgrrGZc$\AC* 91.999 + 9A>ci(dP?:3lh5E]c<*`&lHY#SV"\N,QZ0jMTbD#od^$n@VN_Q\_<hcO%`Hgucn8p.oDKcB 91.1000 + :97U;/a&^qql`Lr(B4YdMPG!?;MgMJW8a_=(1r^/&#.:d"q""Sa4Kq('qWTZbV:>g3OYM6N 91.1001 + fG#Vql27&5^B$Ae"b:sAoh"B?un"&M]*;)qb&ZN/4fl+t;0X5$f;aFm),BIU"\ZkWn'g1A1 91.1002 + sPJ-j-"OOU)gZZ?BgPD)]X>LX<73ti8BY>Qo*?#R8e@E[.Z\\htOQ_X"MG2F?Q-FsOddj6_ 91.1003 + 9dWdZ1(Vn=UTFa7/MK*tX"<oTU/Q/1fUp;0a+H_kLhc+br$OeSV2er?:HQo/<:WX3Es(M*# 91.1004 + t&^]FTDag3!DGqe(kU4h*d89f*s;5-0W7pj<;f@ZI9ODeGW2S9f&Q@1olRR:qRR'1%`mRKh 91.1005 + h.?d?EYl"92.K=1EQad0Q&dd%8>s"4^qTL`"]-8X3<*+J23A8,rWceROU;3j#ec<=NVBM!D 91.1006 + gF5=)Bi;/F6LHG*>n4pn'`#^`OH8;"LU>#)uneST>W"^P0hnAm^lZbYCQ71`F&l9#W-c_-* 91.1007 + @-#\BPE4rJl]!ZV1.#L&[G6g<ML`K"-"E=imG#fa%fPGZ3X_64MMHHgn<>mUB._%_QH2n&G 91.1008 + f8-680Sdg<FAsLA3.ticeUWH[N*!E<=ZmpaeRUoc)i7+N^Wi%"<KRR#Jr/O,;<0S?SH;3-L 91.1009 + K0:2$oO%NSV2p7Uo`*,/;8r5[Ad>s\lcg(=OO`V#`o>"$Wdn2<^fC-Pp44MK10XGLg;*(1h 91.1010 + Kg99>4%[3An$E!1mCfT39=Ld!1,m<,L.C\^tE+$l-N;@c,n!Wa%-n$D"4B%BM)aFpS;8Lt- 91.1011 + Z*lB*U<pKXLTNU=g:gKMTCUY7QEN")2YNMh^Md+!m3g`20G1lC'Oem3-,dW)$0ls;ucCfJi 91.1012 + FWRY5Z'r$L@l`o8Qd\Y8je_o1u[#OJ0`"bgJlj-otjP9OE3^[V?IHXQ3oj(0Z?!Z&gc0\WH 91.1013 + fM[<Mc88C(ZCaO5QpE6/\'<)Y`Uq@KJrT+@67p#U<TZW$\mH#@;2C"QfXp%V-K!?!?F!Yh` 91.1014 + U2S)!a;_o]eWF+e_3fY(GJg-a^sG]84ElT<s[?f@"n2YFpQ+2Y>NQi@+F/e=M*=\J_>"V@3 91.1015 + C,01>CS2!o\#5#Q;T9"i[YnhSd*,$>#IV:m=D%=^PIm=a\6J[BBpl&)J'1i\8$R"A"J0,tN 91.1016 + XZ@:g>8NU9IkA55;Adp%kjFrjkLVU4O*N^F<*r[1o[H/-+c$%8LVi20s78IQ#V#SiM0hD>N 91.1017 + ;37sMs-O'T\Q9Aa1U10mK@_KK,*,qj_$QP)[>?q_?8=$0UT&V.-?Y,nFXrQ3!6jer43A)D2 91.1018 + [M2`,5`@$ae'djIL-B/hMd_JriL7)EE'=^MFKj\0SAg;qI<=<#/(qFoNa9]d`XuG3838/$j 91.1019 + c(n<8sVH.$B(B]>POqt4]i$iA)E1JAJS0UNG)lY/`f=)_OUJbE0K#+S-3G5a["b++I"jVs# 91.1020 + e#%j"nnkjCRKKK1KsH@U9N#,e?L]Og-/1jQNK$GQ;AaUUC@n@GX##VLE(d4/c1oBKh)-2?T 91.1021 + \Rn53d%<m&3a3<K`)Ek3t2eT"F9A<dl4Ug6.[ABjpY"m4f0Kk43uhMuj@/@=W[6AfqXW+q+ 91.1022 + 8%Y':@Qbe*KBJ)F2:7Yr:'k@5uhm.,lGgb_jUPXE'M7#q=f\=R'nQ.$#+&7CGp0HoRT'B&* 91.1023 + cM0S<Ak)"pP$VIW1U*8+BKfGcU1i@V-2GW]Hn+/QK^1C"/<4CXhRQHHC*JsZ7o@C[ApA*Zp 91.1024 + hPo(C]*;[W[R2GM!>2[&*CWC5/g715A50D?u03nhAaO$L8IW/lrj(8`m"TDc>;^gL'Gk=%I 91.1025 + EFtZcsgf6.7pJpg1DZHo)"gD&1c@NnFup_'4WN6J_2P%T%#6hJM]<&!kqDIbVeAT`eu4;n. 91.1026 + eRroJ$(jppP3mV_6+Np1GL=\M:7m\]>gcL#N&=119FMb`b[%e4HYno$/PDa*f3:A&O3p2=j 91.1027 + CDgqJ"NqmUbqJWP6Dnc-fcM_\<rbq6)DuTfV%fpVk!cTdpE'FJE:Bb]E#&nJcE.8.4NsTct 91.1028 + $?30VE5)g#cOFjN%WLkIE;pJh%hWe'"cV7c_4nN<R'6$e(3+7/EISgFNu;r0)KDr"EPEK5c 91.1029 + Q.#_*c^WjEW7/%%j>s8,'#=]E^(gi:F1$g-?=#PEdoKXO"#+A.WV^CEka/GcRj1p/opD6Er 91.1030 + Rh7%l&,I135*)F$DL&:Gm3#2KNdqEk6^X(k@,~>Q 91.1031 +Q 91.1032 +showpage 91.1033 +%%Trailer 91.1034 +count op_count sub {pop} repeat 91.1035 +countdictstack dict_count sub {end} repeat 91.1036 +cairo_eps_state restore 91.1037 +%%EOF
92.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 92.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Time_in_VMS_2.svg Sun Mar 11 09:26:44 2012 -0700 92.3 @@ -0,0 +1,480 @@ 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.1 " 92.20 + sodipodi:docname="Time_in_VMS_2.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="Arrow1Lstart" 92.27 + orient="auto" 92.28 + refY="0.0" 92.29 + refX="0.0" 92.30 + id="Arrow1Lstart" 92.31 + style="overflow:visible"> 92.32 + <path 92.33 + id="path4394" 92.34 + 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 " 92.35 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 92.36 + transform="scale(0.8) translate(12.5,0)" /> 92.37 + </marker> 92.38 + <marker 92.39 + inkscape:stockid="Arrow2Mstart" 92.40 + orient="auto" 92.41 + refY="0.0" 92.42 + refX="0.0" 92.43 + id="Arrow2Mstart" 92.44 + style="overflow:visible"> 92.45 + <path 92.46 + id="path4418" 92.47 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" 92.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 " 92.49 + transform="scale(0.6) translate(0,0)" /> 92.50 + </marker> 92.51 + <marker 92.52 + inkscape:stockid="Arrow2Mend" 92.53 + orient="auto" 92.54 + refY="0.0" 92.55 + refX="0.0" 92.56 + id="Arrow2Mend" 92.57 + style="overflow:visible;"> 92.58 + <path 92.59 + id="path4008" 92.60 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 92.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 " 92.62 + transform="scale(0.6) rotate(180) translate(0,0)" /> 92.63 + </marker> 92.64 + <inkscape:perspective 92.65 + sodipodi:type="inkscape:persp3d" 92.66 + inkscape:vp_x="0 : 526.18109 : 1" 92.67 + inkscape:vp_y="0 : 1000 : 0" 92.68 + inkscape:vp_z="744.09448 : 526.18109 : 1" 92.69 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 92.70 + id="perspective10" /> 92.71 + <inkscape:perspective 92.72 + id="perspective11923" 92.73 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 92.74 + inkscape:vp_z="1 : 0.5 : 1" 92.75 + inkscape:vp_y="0 : 1000 : 0" 92.76 + inkscape:vp_x="0 : 0.5 : 1" 92.77 + sodipodi:type="inkscape:persp3d" /> 92.78 + </defs> 92.79 + <sodipodi:namedview 92.80 + id="base" 92.81 + pagecolor="#ffffff" 92.82 + bordercolor="#666666" 92.83 + borderopacity="1.0" 92.84 + gridtolerance="10000" 92.85 + guidetolerance="10" 92.86 + objecttolerance="10" 92.87 + inkscape:pageopacity="0.0" 92.88 + inkscape:pageshadow="2" 92.89 + inkscape:zoom="2.0363696" 92.90 + inkscape:cx="371.76816" 92.91 + inkscape:cy="548.07581" 92.92 + inkscape:document-units="px" 92.93 + inkscape:current-layer="layer1" 92.94 + showgrid="false" 92.95 + inkscape:window-width="1600" 92.96 + inkscape:window-height="848" 92.97 + inkscape:window-x="-8" 92.98 + inkscape:window-y="-8" 92.99 + inkscape:window-maximized="1" /> 92.100 + <metadata 92.101 + id="metadata7"> 92.102 + <rdf:RDF> 92.103 + <cc:Work 92.104 + rdf:about=""> 92.105 + <dc:format>image/svg+xml</dc:format> 92.106 + <dc:type 92.107 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 92.108 + <dc:title></dc:title> 92.109 + </cc:Work> 92.110 + </rdf:RDF> 92.111 + </metadata> 92.112 + <g 92.113 + inkscape:label="Layer 1" 92.114 + inkscape:groupmode="layer" 92.115 + id="layer1"> 92.116 + <rect 92.117 + style="opacity:0.44897958;fill:none;stroke:#000000;stroke-width:0.10000002;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.39999998, 0.10000001;stroke-dashoffset:0" 92.118 + id="rect4618" 92.119 + width="262.76309" 92.120 + height="221.46587" 92.121 + x="216.25447" 92.122 + y="368.18204" /> 92.123 + <path 92.124 + style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 92.125 + d="m 219.12256,401.37498 c 186.41556,0 186.41556,0 186.41556,0" 92.126 + id="path11721" 92.127 + inkscape:connector-curvature="0" /> 92.128 + <g 92.129 + id="g11990" 92.130 + transform="translate(-2,0)"> 92.131 + <path 92.132 + id="path11907" 92.133 + d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 92.134 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 92.135 + inkscape:connector-curvature="0" /> 92.136 + <text 92.137 + xml:space="preserve" 92.138 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.139 + x="298.7023" 92.140 + y="380.52615" 92.141 + id="text11715-4" 92.142 + sodipodi:linespacing="100%"><tspan 92.143 + style="font-size:9px;text-align:center;text-anchor:middle" 92.144 + sodipodi:role="line" 92.145 + id="tspan11717-9" 92.146 + x="300.05582" 92.147 + y="380.52615">Ordering </tspan><tspan 92.148 + style="font-size:9px;text-align:center;text-anchor:middle" 92.149 + id="tspan11940" 92.150 + sodipodi:role="line" 92.151 + x="298.7023" 92.152 + y="389.52615">Point 1.1</tspan></text> 92.153 + </g> 92.154 + <g 92.155 + id="g11984" 92.156 + transform="translate(-2,0)"> 92.157 + <path 92.158 + id="path11911" 92.159 + d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 92.160 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 92.161 + inkscape:connector-curvature="0" /> 92.162 + <text 92.163 + xml:space="preserve" 92.164 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 92.165 + x="378.7023" 92.166 + y="380.52615" 92.167 + id="text11948" 92.168 + sodipodi:linespacing="100%"><tspan 92.169 + style="font-size:9px;text-align:center;text-anchor:middle" 92.170 + sodipodi:role="line" 92.171 + id="tspan11950" 92.172 + x="380.05582" 92.173 + y="380.52615">Ordering </tspan><tspan 92.174 + style="font-size:9px;text-align:center;text-anchor:middle" 92.175 + id="tspan11952" 92.176 + sodipodi:role="line" 92.177 + x="378.7023" 92.178 + y="389.52615">Point 1.2</tspan></text> 92.179 + </g> 92.180 + <text 92.181 + xml:space="preserve" 92.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 92.183 + x="410.7023" 92.184 + y="400.52615" 92.185 + id="text11954" 92.186 + sodipodi:linespacing="100%"><tspan 92.187 + sodipodi:role="line" 92.188 + id="tspan11956" 92.189 + x="410.7023" 92.190 + y="400.52615">Slave 1 </tspan><tspan 92.191 + id="tspan11958" 92.192 + sodipodi:role="line" 92.193 + x="410.7023" 92.194 + y="410.52615">Time</tspan></text> 92.195 + <text 92.196 + sodipodi:linespacing="100%" 92.197 + id="text11960" 92.198 + y="412.52615" 92.199 + x="336.7023" 92.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" 92.201 + xml:space="preserve"><tspan 92.202 + y="412.52615" 92.203 + x="336.7023" 92.204 + id="tspan11962" 92.205 + sodipodi:role="line" 92.206 + style="font-size:9px;text-align:center;text-anchor:middle">Trace</tspan><tspan 92.207 + y="421.52615" 92.208 + x="336.7023" 92.209 + sodipodi:role="line" 92.210 + id="tspan11964" 92.211 + style="font-size:9px;text-align:center;text-anchor:middle">Segment 1.2</tspan></text> 92.212 + <path 92.213 + id="path11996" 92.214 + d="m 218.7367,566.3745 c 136.92639,0 136.92639,0 136.92639,0" 92.215 + style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 92.216 + inkscape:connector-curvature="0" /> 92.217 + <g 92.218 + id="g11998" 92.219 + transform="translate(-61.820758,164.99952)"> 92.220 + <path 92.221 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 92.222 + d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 92.223 + id="path12000" 92.224 + inkscape:connector-curvature="0" /> 92.225 + <text 92.226 + sodipodi:linespacing="100%" 92.227 + id="text12002" 92.228 + y="382.52615" 92.229 + x="298.7023" 92.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 92.231 + xml:space="preserve"><tspan 92.232 + y="382.52615" 92.233 + x="300.05582" 92.234 + id="tspan12004" 92.235 + sodipodi:role="line" 92.236 + style="font-size:9px;text-align:center;text-anchor:middle">Ordering </tspan><tspan 92.237 + y="391.52615" 92.238 + x="298.7023" 92.239 + sodipodi:role="line" 92.240 + id="tspan12006" 92.241 + style="font-size:9px;text-align:center;text-anchor:middle">Point 2.1</tspan></text> 92.242 + </g> 92.243 + <g 92.244 + id="g12008" 92.245 + transform="translate(-41.820758,164.99952)"> 92.246 + <path 92.247 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 92.248 + d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 92.249 + id="path12010" 92.250 + inkscape:connector-curvature="0" /> 92.251 + <text 92.252 + sodipodi:linespacing="100%" 92.253 + id="text12012" 92.254 + y="382.52615" 92.255 + x="378.7023" 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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 92.257 + xml:space="preserve"><tspan 92.258 + y="382.52615" 92.259 + x="380.05582" 92.260 + id="tspan12014" 92.261 + sodipodi:role="line" 92.262 + style="font-size:9px;text-align:center;text-anchor:middle">Ordering </tspan><tspan 92.263 + y="391.52615" 92.264 + x="378.7023" 92.265 + sodipodi:role="line" 92.266 + id="tspan12016" 92.267 + style="font-size:9px;text-align:center;text-anchor:middle">Point 2.2</tspan></text> 92.268 + </g> 92.269 + <text 92.270 + sodipodi:linespacing="100%" 92.271 + id="text12018" 92.272 + y="565.5257" 92.273 + x="360.8815" 92.274 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.275 + xml:space="preserve"><tspan 92.276 + y="565.5257" 92.277 + x="360.8815" 92.278 + id="tspan12020" 92.279 + sodipodi:role="line">Slave 2 </tspan><tspan 92.280 + y="575.5257" 92.281 + x="360.8815" 92.282 + sodipodi:role="line" 92.283 + id="tspan12022">Time</tspan></text> 92.284 + <text 92.285 + xml:space="preserve" 92.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" 92.287 + x="286.8815" 92.288 + y="577.5257" 92.289 + id="text12024" 92.290 + sodipodi:linespacing="100%"><tspan 92.291 + style="font-size:9px;text-align:center;text-anchor:middle" 92.292 + sodipodi:role="line" 92.293 + id="tspan12026" 92.294 + x="286.8815" 92.295 + y="577.5257">Trace</tspan><tspan 92.296 + style="font-size:9px;text-align:center;text-anchor:middle" 92.297 + id="tspan12028" 92.298 + sodipodi:role="line" 92.299 + x="286.8815" 92.300 + y="586.5257">Segment 2.2</tspan></text> 92.301 + <path 92.302 + id="path12042" 92.303 + d="m 219.28541,477.37498 c 221.9881,0 221.9881,0 221.9881,0" 92.304 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 92.305 + inkscape:connector-curvature="0" /> 92.306 + <g 92.307 + id="g4352"> 92.308 + <path 92.309 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 92.310 + d="m 364.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 92.311 + id="path12046" /> 92.312 + </g> 92.313 + <text 92.314 + sodipodi:linespacing="100%" 92.315 + id="text12064" 92.316 + y="476.52612" 92.317 + x="444.7023" 92.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" 92.319 + xml:space="preserve"><tspan 92.320 + y="476.52612" 92.321 + x="444.7023" 92.322 + id="tspan12066" 92.323 + sodipodi:role="line">Virtual</tspan><tspan 92.324 + y="486.52612" 92.325 + x="444.7023" 92.326 + sodipodi:role="line" 92.327 + id="tspan12068">Time</tspan></text> 92.328 + <path 92.329 + sodipodi:nodetypes="csc" 92.330 + id="path12088" 92.331 + d="m 296.85586,423.61086 c -0.6746,9.23477 12.95804,17.15062 36.60665,23.60165 30.29629,8.26442 30.49549,19.8861 30.49549,19.8861" 92.332 + style="fill:none;stroke:#422fac;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none;marker-start:none;marker-mid:url(#Arrow2Mstart);stroke-miterlimit:4;stroke-dasharray:none" 92.333 + inkscape:connector-curvature="0" /> 92.334 + <path 92.335 + style="fill:none;stroke:#a94c26;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-mid:url(#Arrow2Mstart);marker-end:none" 92.336 + d="m 235.15581,558.27524 c 5.57821,-24.46042 65.20732,-15.75184 92.00591,-34.36182 27.7906,-19.29887 36.98694,-43.82527 36.98694,-43.82527" 92.337 + id="path12090" 92.338 + sodipodi:nodetypes="csc" 92.339 + inkscape:connector-curvature="0" /> 92.340 + <path 92.341 + 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.99999995;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 92.342 + d="m 260.32322,423.61086 c 0.16936,12.05605 -1.4168,12.84312 -7.33661,21.29812 -7.37929,10.5395 -8.68389,35.47541 -8.68389,35.47541" 92.343 + id="path12092" 92.344 + sodipodi:nodetypes="csc" 92.345 + inkscape:connector-curvature="0" /> 92.346 + <path 92.347 + sodipodi:nodetypes="csc" 92.348 + id="path12094" 92.349 + d="m 289.91195,566.05438 c -1.10318,-15.47383 23.11587,-34.78941 62.58518,-37.65538 43.07369,-3.12769 41.76645,-35.21296 41.76645,-35.21296" 92.350 + style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.00000004, 4.00000012;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 92.351 + inkscape:connector-curvature="0" /> 92.352 + <g 92.353 + id="g4338" 92.354 + transform="translate(8,0)"> 92.355 + <path 92.356 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 92.357 + d="m 270.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 92.358 + id="path3246" /> 92.359 + </g> 92.360 + <g 92.361 + id="g4345"> 92.362 + <path 92.363 + id="path3276" 92.364 + d="m 322.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 92.365 + style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 92.366 + </g> 92.367 + <path 92.368 + style="fill:none;stroke:#422fac;stroke-width:0.99999981999999998px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);marker-mid:url(#Arrow2Mend)" 92.369 + d="m 296.20749,423.61086 c 0.16704,9.23477 -2.97293,14.97151 -8.86546,19.11208 -7.50179,5.27138 -7.75,24.37567 -7.75,24.37567" 92.370 + id="path3284" 92.371 + sodipodi:nodetypes="csc" 92.372 + inkscape:connector-curvature="0" /> 92.373 + <path 92.374 + sodipodi:nodetypes="csc" 92.375 + id="path3286" 92.376 + d="m 234.9439,557.68134 c 1.07457,-27.09268 43.69432,-13.3954 59.98795,-41.77377 14.33191,-24.96167 27.52892,-37.0233 27.52892,-37.0233" 92.377 + style="fill:none;stroke:#a94c26;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-mid:url(#Arrow2Mend);marker-end:url(#Arrow2Mend)" 92.378 + inkscape:connector-curvature="0" /> 92.379 + <path 92.380 + id="path4334" 92.381 + d="m 367.06883,483.37498 c 57.09423,0 57.09423,0 57.09423,0" 92.382 + style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 92.383 + <path 92.384 + style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 92.385 + d="m 367.06882,491.37498 c 57.47452,0 57.47452,0 57.47452,0" 92.386 + id="path4336" 92.387 + inkscape:connector-curvature="0" /> 92.388 + <text 92.389 + xml:space="preserve" 92.390 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.391 + x="256.7023" 92.392 + y="412.52615" 92.393 + id="text3133" 92.394 + sodipodi:linespacing="100%"><tspan 92.395 + style="font-size:9px;text-align:center;text-anchor:middle" 92.396 + sodipodi:role="line" 92.397 + id="tspan3135" 92.398 + x="256.7023" 92.399 + y="412.52615">Trace</tspan><tspan 92.400 + style="font-size:9px;text-align:center;text-anchor:middle" 92.401 + id="tspan3137" 92.402 + sodipodi:role="line" 92.403 + x="256.7023" 92.404 + y="421.52615">Segment 1.1</tspan></text> 92.405 + <text 92.406 + xml:space="preserve" 92.407 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.408 + x="277.68213" 92.409 + y="503.09308" 92.410 + id="text3278" 92.411 + sodipodi:linespacing="100%"><tspan 92.412 + style="font-size:7px;text-align:center;text-anchor:middle" 92.413 + sodipodi:role="line" 92.414 + id="tspan3280" 92.415 + x="277.68213" 92.416 + y="503.09308">Animated</tspan><tspan 92.417 + style="font-size:7px;text-align:center;text-anchor:middle" 92.418 + sodipodi:role="line" 92.419 + x="277.68213" 92.420 + y="510.09308" 92.421 + id="tspan4070">to</tspan><tspan 92.422 + style="font-size:7px;text-align:center;text-anchor:middle" 92.423 + id="tspan3282" 92.424 + sodipodi:role="line" 92.425 + x="277.68213" 92.426 + y="517.09308">Blocked</tspan></text> 92.427 + <text 92.428 + sodipodi:linespacing="100%" 92.429 + id="text12048" 92.430 + y="503.86087" 92.431 + x="364.27106" 92.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" 92.433 + xml:space="preserve"><tspan 92.434 + y="503.86087" 92.435 + x="365.32379" 92.436 + id="tspan12050" 92.437 + sodipodi:role="line" 92.438 + style="font-size:7px;text-align:center;text-anchor:middle">Ready </tspan><tspan 92.439 + y="510.86087" 92.440 + x="364.27106" 92.441 + sodipodi:role="line" 92.442 + id="tspan12052" 92.443 + style="font-size:7px;text-align:center;text-anchor:middle">to</tspan><tspan 92.444 + y="517.86084" 92.445 + x="364.27106" 92.446 + sodipodi:role="line" 92.447 + style="font-size:7px;text-align:center;text-anchor:middle" 92.448 + id="tspan3131">Animated</tspan></text> 92.449 + <path 92.450 + style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 92.451 + d="m 219.06883,483.37498 c 57.09423,0 57.09423,0 57.09423,0" 92.452 + id="path3234" 92.453 + inkscape:connector-curvature="0" /> 92.454 + <path 92.455 + 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.99999997;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 92.456 + d="m 340.32324,423.61086 c -0.57122,12.05605 4.77853,12.84312 24.74468,21.29812 24.88863,10.5395 29.28874,35.47541 29.28874,35.47541" 92.457 + id="path3238" 92.458 + sodipodi:nodetypes="csc" 92.459 + inkscape:connector-curvature="0" /> 92.460 + <text 92.461 + sodipodi:linespacing="100%" 92.462 + id="text3240" 92.463 + y="503.09308" 92.464 + x="321.68213" 92.465 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.466 + xml:space="preserve"><tspan 92.467 + y="503.09308" 92.468 + x="321.68213" 92.469 + id="tspan3242" 92.470 + sodipodi:role="line" 92.471 + style="font-size:7px;text-align:center;text-anchor:middle">Animated</tspan><tspan 92.472 + id="tspan3244" 92.473 + y="510.09308" 92.474 + x="321.68213" 92.475 + sodipodi:role="line" 92.476 + style="font-size:7px;text-align:center;text-anchor:middle">to</tspan><tspan 92.477 + y="517.09308" 92.478 + x="321.68213" 92.479 + sodipodi:role="line" 92.480 + id="tspan3246" 92.481 + style="font-size:7px;text-align:center;text-anchor:middle">Blocked</tspan></text> 92.482 + </g> 92.483 +</svg>
93.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 93.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Time_layers.eps Sun Mar 11 09:26:44 2012 -0700 93.3 @@ -0,0 +1,869 @@ 93.4 +%!PS-Adobe-3.0 EPSF-3.0 93.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 93.6 +%%CreationDate: Sat Nov 20 00:16:39 2010 93.7 +%%Pages: 1 93.8 +%%BoundingBox: 0 0 206 75 93.9 +%%DocumentData: Clean7Bit 93.10 +%%LanguageLevel: 2 93.11 +%%EndComments 93.12 +%%BeginProlog 93.13 +/cairo_eps_state save def 93.14 +/dict_count countdictstack def 93.15 +/op_count count 1 sub def 93.16 +userdict begin 93.17 +/q { gsave } bind def 93.18 +/Q { grestore } bind def 93.19 +/cm { 6 array astore concat } bind def 93.20 +/w { setlinewidth } bind def 93.21 +/J { setlinecap } bind def 93.22 +/j { setlinejoin } bind def 93.23 +/M { setmiterlimit } bind def 93.24 +/d { setdash } bind def 93.25 +/m { moveto } bind def 93.26 +/l { lineto } bind def 93.27 +/c { curveto } bind def 93.28 +/h { closepath } bind def 93.29 +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 93.30 + 0 exch rlineto 0 rlineto closepath } bind def 93.31 +/S { stroke } bind def 93.32 +/f { fill } bind def 93.33 +/f* { eofill } bind def 93.34 +/B { fill stroke } bind def 93.35 +/B* { eofill stroke } bind def 93.36 +/n { newpath } bind def 93.37 +/W { clip } bind def 93.38 +/W* { eoclip } bind def 93.39 +/BT { } bind def 93.40 +/ET { } bind def 93.41 +/pdfmark where { pop globaldict /?pdfmark /exec load put } 93.42 + { globaldict begin /?pdfmark /pop load def /pdfmark 93.43 + /cleartomark load def end } ifelse 93.44 +/BDC { mark 3 1 roll /BDC pdfmark } bind def 93.45 +/EMC { mark /EMC pdfmark } bind def 93.46 +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 93.47 +/Tj { show currentpoint cairo_store_point } bind def 93.48 +/TJ { 93.49 + { 93.50 + dup 93.51 + type /stringtype eq 93.52 + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 93.53 + } forall 93.54 + currentpoint cairo_store_point 93.55 +} bind def 93.56 +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 93.57 + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 93.58 +/Tf { pop /cairo_font exch def /cairo_font_matrix where 93.59 + { pop cairo_selectfont } if } bind def 93.60 +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 93.61 + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 93.62 + /cairo_font where { pop cairo_selectfont } if } bind def 93.63 +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 93.64 + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 93.65 +/g { setgray } bind def 93.66 +/rg { setrgbcolor } bind def 93.67 +/d1 { setcachedevice } bind def 93.68 +%%EndProlog 93.69 +11 dict begin 93.70 +/FontType 42 def 93.71 +/FontName /f-0-0 def 93.72 +/PaintType 0 def 93.73 +/FontMatrix [ 1 0 0 1 0 0 ] def 93.74 +/FontBBox [ 0 0 0 0 ] def 93.75 +/Encoding 256 array def 93.76 +0 1 255 { Encoding exch /.notdef put } for 93.77 +Encoding 1 /uni0050 put 93.78 +Encoding 2 /uni0072 put 93.79 +Encoding 3 /uni006F put 93.80 +Encoding 4 /uni0067 put 93.81 +Encoding 5 /uni0061 put 93.82 +Encoding 6 /uni006D put 93.83 +Encoding 7 /uni0020 put 93.84 +Encoding 8 /uni0054 put 93.85 +Encoding 9 /uni0069 put 93.86 +Encoding 10 /uni0065 put 93.87 +Encoding 11 /uni0068 put 93.88 +Encoding 12 /uni0079 put 93.89 +Encoding 13 /uni0073 put 93.90 +Encoding 14 /uni0063 put 93.91 +Encoding 15 /uni006C put 93.92 +Encoding 16 /uni0053 put 93.93 +Encoding 17 /uni0064 put 93.94 +Encoding 18 /uni0075 put 93.95 +/CharStrings 19 dict dup begin 93.96 +/.notdef 0 def 93.97 +/uni0050 1 def 93.98 +/uni0072 2 def 93.99 +/uni006F 3 def 93.100 +/uni0067 4 def 93.101 +/uni0061 5 def 93.102 +/uni006D 6 def 93.103 +/uni0020 7 def 93.104 +/uni0054 8 def 93.105 +/uni0069 9 def 93.106 +/uni0065 10 def 93.107 +/uni0068 11 def 93.108 +/uni0079 12 def 93.109 +/uni0073 13 def 93.110 +/uni0063 14 def 93.111 +/uni006C 15 def 93.112 +/uni0053 16 def 93.113 +/uni0064 17 def 93.114 +/uni0075 18 def 93.115 +end readonly def 93.116 +/sfnts [ 93.117 +<00010000000a008000030020636d61700076f10b00001a9000000064637674207d0742a80000 93.118 +1af4000002706670676d49d7df9200001d640000060a676c7966e942e463000000ac000019e4 93.119 +68656164d5ceeae00000237000000036686865610f7e06ae000023a800000024686d74784af9 93.120 +067a000023cc0000004c6c6f63613a8c41da00002418000000286d617870037802c900002440 93.121 +0000002070726570292ded1600002460000004ad00020080015e0380045e0003000700264016 93.122 +059c039d049c070017003700030000079c019d049c00002ffdfded012f5f5dfdfded31301311 93.123 +211125211121800300fd800200fe00015e0300fd00800200000200960000042605c3000a0013 93.124 +0108b9000cffea40170c0c024b0b180c0c024b670701021045070b4401440207b8ffd8b41010 93.125 +024b07b8ffdab40b0b024b07b8ffdab40d0d024b07b8fff0b40d0d064b07b8fff4400e0e0e06 93.126 +4b07471507022702020002b8ffeab41313024b02b8fff4b41010024b02b8fffa400b0f0f024b 93.127 +02040b0b024b02b8fffeb40d0d024b02b8fff0b40e0e064b02b8fffeb40c0c064b02b8ffe840 93.128 +2d1010064b0247143a124a125a1203350e450e550e0303050b120c000e180c0c024b0e160d0d 93.129 +024b0e4909090212b8ffe8400b0c0c024b12490502080502003f3f10ed2b11392fed2b2b3332 93.130 +113311335d5d0110e62b2b2b2b2b2b2b2b5f5d10e62b2b2b2b2b10eded10ed5f5d3130002b2b 93.131 +0111231136332011102122031116332011102122015ec8e32f027efdcc22727f070174fe7328 93.132 +0234fdcc05b90afe55fe1202dbfde30a0125010c0000000100960000031c0443000e00af401e 93.133 +0a400b0d024b081018102810c81004c70ed70e020e06094d064d68070107b8ffecb41313024b 93.134 +07b8ffeeb41010024b07b8fff240110f0f024b07040b0b024b07040c0c024b07b8ffeeb40f0f 93.135 +064b07b8fffcb40c0c064b07b8fff2b41010064b07b8fffc40250e0e064b070f170a270a370a 93.136 +470a570a670a0600050a400e0e064b0a02520c0806070a0c07003f3f3f10edcd2b325f5d0110 93.137 +d62b2b2b2b2b2b2b2b2b5deded10c65d5d3130002b01262322061511231133153633321702cd 93.138 +3e3f6597bebe68cd336003782bba83fd9a042fabbf1200020041ffec040a0443000b0015013c 93.139 +402517401010024b17400b0c024bb7050101381701114e17063706470667060406041010024b 93.140 +06b8ffdeb40f0f024b06b8fffcb40b0b024b06b8ffe4b40c0c024b06b8ffd4b40d0d024b06b8 93.141 +ffeab40e0e064b06b8ffe0b40c0c064b06b8ffe440760d0d064b060c4e87009700a700b700c7 93.142 +00e700063800480058006800040000101010024b000e0f0f024b00200b0b024b00200c0c024b 93.143 +00160d0d024b000c0e0e064b00100c0c064b000c0d0d064b00166a030165090103670e016813 93.144 +0102450e550e650e034a135a136a13030e100f0f024b0e520913b8fff040160f0f024b135203 93.145 +09180f0f024b09180f0f064b090b03b8ffe8b40f0f024b03b8ffe8b50f0f064b0307003f2b2b 93.146 +3f2b2b10ed2b10ed2b5d5d5f5d5d5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b2b 93.147 +2b2b2b5ded5d5f5d31302b2b1334003332121110002322001310213236351021220641010bda 93.148 +e6fefefce0e5ff00c8011d8597fee4829b021af80131fedbfefcfefdfed5012e0100fe6dd8bb 93.149 +018ed40000020050fe5c03c804740030003c0160402c48195819681978190400272b372b0202 93.150 +65017501020320101c12064e282b382b482b582b682b782b882b072bb8ffeab40e0e064b2bb8 93.151 +fff0400f0d0d064b2b193a4e1c0e1010024b1cb8fff440860c0c024b1c120d0d024b1c3e0023 93.152 +4e0d344e12060e0e064b120c0f0f024b12120b0c024b12120d0d024b123d17010188199819a8 93.153 +19b8190488189818a818b81804280c380c02006701770102026a317a31026537753702031020 93.154 +37281a171f181537180f0f024b37521f40090a064b1f9708a708b70803970ba70bb70b030028 93.155 +530825530b01b8ffc0b41114024b01b8ffc0b40b0c024b01b8ffc0b41114064b01b8ffc04009 93.156 +0c0c064b0103522e31b8ffe8400d0f0f024b3152152e0e0b061507003f3f3f10ed2b10fdc62b 93.157 +2b2b2b10edd4fd5f5d5dd42bed2b10c6123939111239395f5d5d5f5d5f5d5d5d5d0110d62b2b 93.158 +2b2bedd4edc610d62b2b2bedc6d42b2b5ded111239395f5d5f5d5f5d31301337163332363534 93.159 +2322062322353436372611343633321737170716151406070706061514333236333216151404 93.160 +2322260122061514163332363534266067a68c8195bc20a82fe46b4fe2eaac9e595f7c7249ca 93.161 +a49d1c5e622bb62c9eb1fef7cb68e6014d637d796765727bfedb986f59428220ac3556136a01 93.162 +06a8e0417275565f99a2dc101003251e291f978694b64a05048c6470938f74648c0000020050 93.163 +ffec03e40443001b002501d3b627401010024b25b8ffecb40b0c024b25b8ffee40490d0d064b 93.164 +071317130201672077200202280f480f0200b70fc70fd70fe70f04010025150f053718471857 93.165 +1867187718871897180718254d0a4d881501150c1313024b150c1010024b15b8fff8b40f0f02 93.166 +4b15b8fff040110c0c024b151e0d0d024b150c0e0e064b15b8fff040440f0f064b150c0d0d06 93.167 +4b1527214e38050100050c0f0f024b05160b0b024b05100c0c024b05120d0d024b050c0e0e06 93.168 +4b050c0c0c064b050c0d0d064b05263a0301032500b8ffc0b40d10024b00b8ffc040320d0f06 93.169 +4b480058006800780004000218191c520a080e52080f180f280f380f480f580f980fa80fb80f 93.170 +c80fd80fe80f0c000fb8ffc0b41317024b0fb8ffc040240d0d024b0f124a1e5a1e02031e52a8 93.171 +08b80802580801006a087a08020347085708020008b8ffc0b41414024b08b8ffc0b41313024b 93.172 +08b8ffe8b41010024b08b8ffe8b40f0f024b08b8ffc040131313064b08080c2352020c521219 93.173 +0b020b1207003f3f3f10ed10ed11392f2b2b2b2b2b5f5d5f5d5f5d5ded5f5d10dd2b2b5f5ded 93.174 +10d5ed10cd10dd5d2b2bcd5f5d0110d62b2b2b2b2b2b2b5f5ded10d62b2b2b2b2b2b2b2b71ed 93.175 +edc65d10c41112395f5d5f5d5f5d3130005f5d2b2b012b250623222635342433321710232207 93.176 +273636333216151114171522260326232206151433323702e472eb7eb9011ddd3c4ce8b26050 93.177 +36bf57e9d35474732b5a2490b6c5906f7b8fb788a3e11a0104609f2c3fd4e7fe808d2f5f4201 93.178 +df149465a789000100870000061d0443001f01b8403821400f10024b21400c0c024b071c0101 93.179 +08216821022721372157219721c72105004d371f011f101313024b1f081010024b1f1c0f0f02 93.180 +4b1fb8ffec40170b0b024b1f180c0c024b1f040d0d024b1f0e0f0f064b1fb8ffed400b0c0c06 93.181 +4b1f101010064b1fb8fffe401d0e0e064b1f084d37070107101313024b07021010024b071a0f 93.182 +0f024b07b8ffec40170b0b024b07180c0c024b07040d0d024b07080f0f064b07b8ffedb40c0c 93.183 +064b07b8fffe40180d0d064b07061010064b07104d071117112711e711040011b8fff8b41010 93.184 +064b11b8fffa400b0e0e064b11100909024b11b8fff4400b1313024b11040d0d024b11b8fff4 93.185 +b41010024b11b8fff440110f0f024b110a0b0b024b11080c0c024b11b8fff440530f0f064b11 93.186 +100c0c064b1120171c271c371c030118400d0d024b18401010064b182c0d0d064b4718571867 93.187 +187718040018400e0e064b18400e10024b18160f141603521b0c52161f0a080a110a1b071607 93.188 +1206003f3f3f3f3f3f10ed10ed10ddcd10cd2b2b5f5d2b2b2b5f5d0110d62b2b2b2b2b2b2b2b 93.189 +2b2b2b5f5dfdd42b2b2b2b2b2b2b2b2b2b5dedd42b2b2b2b2b2b2b2b2b2b5ded5d5d3130005f 93.190 +5d012b2b2111342322060711231134262322060711231133173633321736363332161511055f 93.191 +db457816be776239811bbe7c3f6ea5e65c20ae5ca6b602a6fd5536fce802f94f5b5835fcea04 93.192 +2f7c908f3d52c5b2fd34000100120000049305b900070080401e270701280401079301042c13 93.193 +13024b049301442702010002081010064b02b8ffe440111313024b02180f0f024b02100b0b02 93.194 +4b02b8fff6b40d0d024b02b8ffe640200e0e064b02120f0f064b02010c0c064b02220d0d064b 93.195 +02074804480502080502003f3f10eded012f2b2b2b2b2b2b2b2b2b5f5dede62b10e65d5d3130 93.196 +011123112135211502acc8fe2e04810505fafb0505b4b400000000020050000001c105c4000b 93.197 +001100d9b613400f0f024b13b8ffc0b60d0d024b097b03b8fff4b40e0e064b03b8fff8b40f0f 93.198 +024b03b8fffab40c0c024b03b8fff940200c0c064b03110e0c4d7711010011041313024b1102 93.199 +1010024b110e0f0f024b11b8ffeeb40b0b024b11b8ffecb40c0c024b11b8ffe6400b0d0d024b 93.200 +110e0f0f064b11b8fff8400b0c0c064b11120d0d064b11b8ffd640100e0e064b11081111064b 93.201 +11130d511000b8ffc040120f0f024b007c06400f0f024b06100c0a1006003f3f10d62bed2b10 93.202 +ed0110d62b2b2b2b2b2b2b2b2b2b2b5f5dfdc610d42b2b2b2bed3130012b2b01321615140623 93.203 +2226353436031123352111014b314545313045443793015105c44530314545313144fa3c038f 93.204 +a0fbd100000000020041ffec041c04430019002201ff408724400b0b024b58170103b807018a 93.205 +079a07aa07ba07ca07da0706025705016808780888089808a808052808380848085808680878 93.206 +0888089808a808b808c808d8080c00571877180208221010024b08180f0f024b08180c0c024b 93.207 +082c0d0d024b08100c0c064b08100d0d064b081f4e471e0102171837184718671887189718a7 93.208 +18b718c7180918b8ffe0b40e0e064b18b8ffdeb41010024b18b8ffdcb40f0f024b18b8ffe2b4 93.209 +0c0c024b18b8ffd4b40d0d024b18b8ffe4b40c0c064b18b8ffe4406b0d0d064b18011e4e014e 93.210 +87100138104810581068100410100e0e064b10101010024b10100f0f024b101c0b0c024b1016 93.211 +0d0d024b100c0c0c064b100c0d0d064b102387079707a7070300270537054705570504020752 93.212 +2a083a084a08030357086708770803070817080208b8ffc0b40b0c024b08b8ffd4b40d0d064b 93.213 +08b8ffc040350d0d024b080c1e50470157016701a701b701050001400f0f024b01400d0d024b 93.214 +01400f0f064b010105581a011a5214100f0f024b14b8ffe8b40d0d024b14b8ffe840200e0e06 93.215 +4b140c0f0f064b14671401024a145a140205100c0c024b05520c0b1407003f3fed2b5d5f5d10 93.216 +2b2b2b2bed5d11392f2b2b2b5f5ded10d52b2b2b5d715f5ded5f5d5f710110d62b2b2b2b2b2b 93.217 +2b5d5deded10dd2b2b2b2b2b2b2b5d5f5dedc42b2b2b2b2b2b5d5f5d715d5f5d5d5f5d313001 93.218 +2b0121141716333237170607062322272635103736333217161514012207060721342726040d 93.219 +fcfc675b8fa36d502c5b728cca8d9da190c5e5827efe247f56520b0251484f0205bc65585f89 93.220 +2c202a8997ff0109a08f817ccd3f0169524e74734d5400010087000003d905e60013010d400d 93.221 +15400b0b024b07101710020100b8fff8b60c0c064b004d13b8ffecb41010064b13b8fff8b413 93.222 +13024b13b8fff640171010024b130a0f0f024b131a0b0b024b13080c0c024b13b8ffd6b40e0e 93.223 +064b13b8fff6400b0d0d024b130e0f0f064b13b8fff840130d0d064b13080b4d084d07091709 93.224 +2709030009b8fff2b41010064b09b8fff4b41313024b09b8fff4400b1010024b09040d0d024b 93.225 +09b8fff440110f0f024b090a0b0b024b09080c0c024b09b8fff4b40e0e064b09b8fffa400c0f 93.226 +0f064b09146a047a040204b8ffe8400f0f0f024b04520f130a090a0f070a00003f3f3f3f10ed 93.227 +2b5d0110d62b2b2b2b2b2b2b2b2b5f5deded10d42b2b2b2b2b2b2b2b2b2bed2b3130005f5d01 93.228 +2b2111342623220607112311331136363332161511031b766b458b25bebe26a95aaac102a178 93.229 +8a5136fce405e6fdd33b4fe0c2fd5f000001000cfe5c03e6042f000f0105b9000dffe0b31010 93.230 +024bb1020243545840120d0b0452030e0e060b06030d0f0e0d0b0c0db8fff4b70b0b024b0d0d 93.231 +11101112392f2bddcd10ddcd10c4003f3f3fed123931301bb1060243545840150d0b0452030e 93.232 +0e060b06030d0f0e0d0b0c0d0d11101112392fddcd10ddcd10c4003f3f3fed123931301b4058 93.233 +4c0801380f0127000103270401004701010237010103081128110200380d480d02020d0d0c45 93.234 +07010707040e4f0f110c4f450b0103040b10980da80d020167060102270d470d570d670d770d 93.235 +05000d0f0452030e0f060b06003f3f3fed11395f5d5f5d5f5d0110d6c65f5ded10d6ed11392f 93.236 +5d11393d2f5f5d5f5d5f5d5f5d5f5d5f5d5d5d31305959002b05060623353236353426270133 93.237 +010133022025ed9277aa3e31fedec2013b011bc2b66688aa6f5058ab7e02e9fcc4033c000001 93.238 +0041ffec02fc0443002100e7402b23400b0b024b081f181f02070e170e022823482388230300 93.239 +3a0c01351d0103c8110111054e671d771d021db8ffeeb40e0e064b1db8ffe0405a0d0d024b1d 93.240 +1700174e480c01970ca70cb70ce70c04000c040e0e064b0c22e81901271b0101280701270f01 93.241 +28200102651a751a020307191a0314034812581268127812c81205120f370147015701670177 93.242 +01b701c70107000103b8ffe040141113064b03522014181113064b14520f200b0f07003f3f10 93.243 +ed2b10ed2bc55f5d10c55d111217395f5d5f5d5d5d5f5d5d0110d62b5f5d5dedc610d42b2b5d 93.244 +edc45d5f5d5d5f5d3130005d5d012b37371633323534272e0335343633321707262322061514 93.245 +17171616151406232241439f61b0aa835b4321c09b75b2367172445d75887d72cab3a940b468 93.246 +946a4c3c3e4f593384944ab05a403167353e39926e90a300000000010041ffec03b504430017 93.247 +0119401e450501a1010103281938190200870d970da70d030200070d870d970d030db8fff4b4 93.248 +1010024b0db8ffeab40f0f024b0db8ffeab40b0c024b0db8ffe840610d0d024b0d074e381248 93.249 +12028712a712b712c712e712050012101010024b12180f0f024b12200b0c024b12180d0d024b 93.250 +12060e0e064b120c0e0e064b12120c0c064b12100d0d064b1218250a350a450a032a043a044a 93.251 +0403030c52070d170d020db8ffc040160b0b024b0d0f015208001800020000400b0b024b0004 93.252 +b8ffe8b40c0c024b04b8ffe840190d0d024b0452150a180c0c024b0a180d0d024b0a520f0b15 93.253 +07003f3fed2b2b10ed2b2bdd2b5f5ded10dd2b5ded5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5d 93.254 +fdd42b2b2b2b5d3c5f5d5f5d5f5d5d3130010726262322061514163332371706232200351000 93.255 +21321603af5e1d93479bb6baa580824b99e2dbfee20129010253c203d8861d34d9bdbcc563a0 93.256 +630126fb01000136460000010096ffec020705e6000800c7b9000affc0b41313024b0ab8ffc0 93.257 +b41010024b0ab8ffc0402a0c0c024b070a170a270a370a470a570a670a770a08070617062706 93.258 +0306024d070117012701d701040001b8ffecb41313024b01b8ffeeb41010024b01b8fff24011 93.259 +0f0f024b01040b0b024b01040c0c024b01b8ffcc40170e0e064b01180f0f064b01130c0c064b 93.260 +01160d0d064b01b8ffec401b0b0b064b0109b705c70502010a081a082a083a08040652070b01 93.261 +00003f3fed5d5f5d0110d62b2b2b2b2b2b2b2b2b2b5f5dfdc65d5d3130012b2b2b1311331114 93.262 +1633152096be6350fe8f012f04b7fb695663aa00000000010050ffe7038805d2002601ccb102 93.263 +02435458401907221a0e180b0b024b0e120c0c024b0e22070e1a0425131714b8ffc040120c0c 93.264 +024b1411000401251749110304492509003fed3fed10cd123910cd2b1239121739012f2b2bcd 93.265 +2fcd31301bb106024354584086082401071001002520452065207520042a0b01034828a82802 93.266 +68130113074507223722672203221a001a45380e01870e01000e2777040102351e651e751e03 93.267 +351f451f651f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e04254814581468 93.268 +14781404141137014701570167017701a701b70107000125174911044925091103003f3fed10 93.269 +ed10cd5f5d10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f 93.270 +5d5d5f5d5d1b4086082401071001002520452065207520042a0b01034828a828026813011307 93.271 +4507223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f451f65 93.272 +1f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e042548145814681478140414 93.273 +1137014701570167017701a701b70107000125174911044925091103003f3fed10ed10cd5f5d 93.274 +10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d5f5d5d 93.275 +5959373716163332363534262727262635343633321707262623220615141616171716161514 93.276 +042322544938a742758e4f9f769677e8b6f35f3b28a44666752a4b74789679fef7dec343b829 93.277 +3780634a7f4b3746c087a4d84fae1d36745b385c3e383947c598a5e60002004bffed03ec05e6 93.278 +000e0019011e40161b400b0b024b004d0d190c4d470d010d201313024b0db8ffeab41010024b 93.279 +0db8fff6400b0f0f024b0d080b0b024b0db8fff6b40c0c024b0db8ffe4400b0d0d024b0d0c0f 93.280 +0f064b0db8ffe2b40c0c064b0db8fff240660d0d064b0d140c0c0c064b144e87060138064806 93.281 +020006080f0f024b061a0b0b024b061a0c0c024b06120d0d024b060c0e0e064b06100c0c064b 93.282 +060c0d0d064b061a251635164516032a113a114a110303580368030216180b0c024b16100f0f 93.283 +024b16520311b8ffe8400e0b0c024b115209480901020e0a03b8fff0b60f0f024b030b09b8ff 93.284 +eeb70d0d024b09070d00003f3f2b3f2b3f5f5d10ed2b10ed2b2b5d5f5d5d0110d62b2b2b2b2b 93.285 +2b2b5f5d5dfd2bd42b2b2b2b2b2b2b2b2b5dfd3c10ed3130012b253506232202353400333217 93.286 +1133110326232206151021323637032e63bdc9fa0120c7a656bebe487d99bd01602d7e10014f 93.287 +630120f0f101554e01f1fa1b03366ce4b0fe7d39200000000001007dffec03e3042f001200fb 93.288 +402714400b0b024b7714010a4d074d070801170847087708a708048708b708e70803080c1010 93.289 +064b08b8fffab40e0e064b08b8ffecb41313024b08b8ffec400b1010024b08160b0b024b08b8 93.290 +ffeeb40d0d024b08b8ffccb40e0e064b08b8fff0b40c0c064b08b8fff440150d0d064b08004d 93.291 +e812f81202071217122712030012b8fff8b41313024b12b8fffab41010024b12b8fff640230f 93.292 +0f024b120c0b0b024b120c0c0c024b12080d0d024b12040c0c064b12040d0d064b12b8fffa40 93.293 +110e0e064b121303520e090a0e0b08061206003f3f3f3f10ed0110d62b2b2b2b2b2b2b2b2b5f 93.294 +5d5dfdd42b2b2b2b2b2b2b2b2b5d7172eded5d3130012b011114333236371133112335060623 93.295 +22263511013bd75e9c19bebe20c15cb0bb042ffd55f86c4702f0fbd1943f69caba02bf000000 93.296 +0002000300000000001400010000000000340004002000000004000400010000f012ffff0000 93.297 +f000ffff10000001000000000006003000000000001300000001000200030004000500060007 93.298 +00080009000a000b000c000d000e000f00100011001205e6000005b9001905b90014042f0014 93.299 +0000ffe70000ffec0000ffecfe5c000005c30000fe5400000338000005d300000253000005c8 93.300 +000a000000000000000000000000000000000000000000000000000000000000000000000000 93.301 +0000000000000000000000000000000000000000000000000000000000000000000000000000 93.302 +00000000000000c800cd00cd009600b400b400000000000000be00c800c8008c00a0009b0096 93.303 +0000000000be00c800c8000000aa00aa000000000064007d0082008c009600a00064007d0082 93.304 +008c009b00d20064007d0082008c009600a002300136011801a401d600460218012c01c20000 93.305 +01d600eb00eb01d1017f0154011301450168012c008d02350159033f0505012c00b4006e0136 93.306 +015e01cc01cc04d8006e006e01d600d2005f01f4012c007802d00190037f00800280006e00b4 93.307 +000000a5fea2003200b9008c0000000000000000000000000000000000000000000000000000 93.308 +0000000000000000000000000000000000000000000000000000000000000000000000000000 93.309 +0000080005e6000005b9001905b90014042f00140000ffe70000ffec0000ffecfe5c00000000 93.310 +0000000000000338000000000000025300000000000000000000000000000000000000000000 93.311 +0000000000000000000000000000000000000000000000000000000000000000000000000000 93.312 +000000000000000000000000000000000000000000000000000000c800cd00cd009600b400b4 93.313 +00000000000000be00c800c8008c00a0009b00960000000000be00c800c8000000aa00aa0000 93.314 +00000064007d0082008c009600a00064007d0082008c009b00d20064007d0082008c009600a0 93.315 +4036544b214a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f 93.316 +181411100f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346 93.317 +236120b02661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361 93.318 +b0206020b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c45 93.319 +23462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd4423 93.320 +20b8015a51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d442359 93.321 +21212d2c20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00 93.322 +b10a0b4323430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b0 93.323 +0325456164b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c20 93.324 +69b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87 93.325 +b0112bb0292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c 93.326 +01b005251023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0 93.327 +062510f500edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b0 93.328 +06430b2d2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b 93.329 +59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb8 93.330 +4000626023212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b0 93.331 +042545234520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b040 93.332 +61441b2121592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121 93.333 +592d2c4b515820b0032545695358441b2121591b2121592d2c45b01443b0006063b001606944 93.334 +2d2cb02f45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3 93.335 +330034005944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 93.336 +01615923586559b02923442310b029e01b2121212121592d2cb0164358b004254564b0206066 93.337 +20581b21b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b00425 93.338 +2046b0042523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b004 93.339 +25b029e0b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625 93.340 +b00325b0016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b0 93.341 +4059b0016123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b004 93.342 +2523423cb00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b00425 93.343 +10b00525b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b005 93.344 +25b003254348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b0 93.345 +0425202046b004252342b0052508b003254548212121212d2c02b0032520b0042508b0022543 93.346 +482121212d2c452320451820b00050205823652359236820b040505821b04059235865598a60 93.347 +442d2c4b53234b515a5820458a60441b2121592d2c208a08234b538a4b515a5823381b212159 93.348 +2d2c00208a49b0005158b04023208a3812341b2121592d2c462346608a8a462320468a608a61 93.349 +b8ff8062232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b010606801 93.350 +3a2d2c208a2349648a2353583c1b21592d2c4b505845441b2121592d2cb0024354584b53234b 93.351 +515a58381b2121591b21212121592d2cb1020042b123018851b1400188535a58b91000002088 93.352 +5458b202010243604259b12401885158b920000040885458b2020202436042b12401885458b2 93.353 +022002436042004b014b5258b2020802436042591bb940000080885458b202040243604259b9 93.354 +4000008063b80100885458b202080243604259b94000010063b80200885458b2021002436042 93.355 +59b94000020063b80400885458b202400243604259595959592d00000001000000050000093f 93.356 +e5da5f0f3cf5001b080000000000ad61b71900000000c142e956ff50fde708a8078b0000000a 93.357 +0001000000000000000100000783fe39000008e9ff50ff7808a8000100000000000000000000 93.358 +0000000000130400008004760096031c0096044b0041040400500434005006a4008702690000 93.359 +04a5001202480050045d0041045f008703f2000c033d004103f60041025c009603d900500475 93.360 +004b045f007d0000002800d20144020c031204340540054005940622075a080208a4094a0a00 93.361 +0a780b980c540cf2000100000013004d0007004b000500020010002f0055000002f001ff0003 93.362 +0001400a54bfa50140a5111546a4b8010cb2321fa1b8011540b21f1f6fc731216ec731216dc7 93.363 +31216cc731216bc731216ac7312169c7312168c7312167c7312166c7312165c7312164c73121 93.364 +63c7312162c7312161c7312160c731215fc731215ec731215dc731215cc731215bc731215ac7 93.365 +312159c7312158c7312157c7312156c7312155c7312154c7312153c7312152c7312151c73121 93.366 +50c731214fc731214ec731214dc731214cc731214bc731214ac7312149c7312148c7312147c7 93.367 +312146c7312145c7312144c73121b80137b26f0821b80136b26e0821b80135b26d0821b80134 93.368 +b26c0821b80133b26b0821b80132b26a0821b80131b2690821b80130b2680821b8012fb26708 93.369 +21b8012eb2660821b8012db2650821b8012cb2640821b8012bb2630821b8012ab2620821b801 93.370 +29b2610821b80128b2600821b80127b25f0821b80126b25e0821b80125b25d0821b80124b25c 93.371 +0821b80123b25b0821b80122b25a0821b80121b2590821b80120b2580821b8011fb2570821b8 93.372 +011eb2560821b8011db2550821b8011cb2540821b8011bb2530821b8011ab2520821b80119b2 93.373 +510821b80118b2500821b80117b24f0821b80116b24e0821b80115b24d0821b80114b24c0821 93.374 +b80113b24b0821b80112b24a0821b80111b2490821b80110b2480821b8010fb2470821b8010e 93.375 +b2460821b8010db2450821b8010c40ff4408216957311f5857311f5657311f5152311f464431 93.376 +1f4544311f4f4e311f4d4e311f2097309740975097043088010f8c018f849f84af84bf84cf84 93.377 +058f689f68af680360697069028f5b018f5a017057018f509f50af50bf50cf50058f519f51af 93.378 +51038f529f52af52033f7c4f7c02507b607b707b03704e01708f01308f608f708f03008e0100 93.379 +8e01408e708e02008e308e408e508e608e708e06107040700260740160730170440100282800 93.380 +000012110840370f3fce16010fa21fa20218c7312114c731210ec731210dc731210cc731210b 93.381 +c731210ac7312109c7312108c7312107c7312106c7312105c7312104c7312103c7312102c731 93.382 +2101c73121407c00c73121e0180821dc140821d60e0821d50d0821d40c0821d30b0821d20a08 93.383 +21d1090821d0080821cf070821ce060821cd050821cc040821cb030821ca020821c9010821c8 93.384 +000821230e45220c45210a452008451f06451e04451d02451c00451a08180816081408120810 93.385 +080e080c080a08080806080408020800084bb807ff524bb008505b58b101018e59b0124b004b 93.386 +5442b9000101ff858d2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 93.387 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b7342011d4bb01b5358b096 93.388 +1d594bb0325358b0001db1160042594b20b0325323b096515a58b0301d592b0145695342014b 93.389 +5058b108004259435c58b1080042591610703eb13737456920b0005458b040605944b1300070 93.390 +b33200300019701870737373737373747473737373737373737373737373737373732b2b2b2b 93.391 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 93.392 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 93.393 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b742b00000000> 93.394 +] def 93.395 +FontName currentdict end definefont pop 93.396 +%%Page: 1 1 93.397 +%%BeginPageSetup 93.398 +%%PageBoundingBox: 0 0 206 75 93.399 +%%EndPageSetup 93.400 +q 93.401 +0 g 93.402 +0.864145 w 93.403 +0 J 93.404 +0 j 93.405 +[] 0.0 d 93.406 +4 M q 1 0 0 -1 0 74.329308 cm 93.407 +67.75 3.387 m 124.164 3.387 l 124.164 18.609 l 67.75 18.609 l 67.75 93.408 +3.387 l h 93.409 +67.75 3.387 m S Q 93.410 +BT 93.411 +8 0 0 8 70.70321 60.248497 Tm 93.412 +/f-0-0 1 Tf 93.413 +[<01>-1<0203040205060708>1<09060a>]TJ 93.414 +ET 93.415 +q 1 0 0 -1 0 74.329308 cm 93.416 +147.75 3.387 m 204.164 3.387 l 204.164 18.609 l 147.75 18.609 l 147.75 93.417 +3.387 l h 93.418 +147.75 3.387 m S Q 93.419 +BT 93.420 +8 0 0 8 150.70321 60.248497 Tm 93.421 +/f-0-0 1 Tf 93.422 +[<01>-1<0203040205060708>1<09060a>]TJ 93.423 +ET 93.424 +q 1 0 0 -1 0 74.329308 cm 93.425 +106.148 56.188 m 162.566 56.188 l 162.566 71.41 l 106.148 71.41 l 93.426 +106.148 56.188 l h 93.427 +106.148 56.188 m S Q 93.428 +BT 93.429 +8 0 0 8 109.10321 7.448497 Tm 93.430 +/f-0-0 1 Tf 93.431 +[<01>-1<0b0c>-1<0d090e>-1<050f07>1<0809060a>]TJ 93.432 +ET 93.433 +q 1 0 0 -1 0 74.329308 cm 93.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 93.435 +l h 93.436 +3.75 30.586 m S Q 93.437 +BT 93.438 +8 0 0 8 3.603992 33.048497 Tm 93.439 +/f-0-0 1 Tf 93.440 +<100e0b0a11120f0a02070809060a>Tj 93.441 +ET 93.442 +0.8 w 93.443 +q 1 0 0 -1 0 74.329308 cm 93.444 +95.039 19.262 m 94.672 27 101.449 32.363 114.461 35.277 c 133.074 93.445 +39.445 131.441 55.703 131.441 55.703 c S Q 93.446 +133.785 22.595 m 131.344 17.571 l 129.949 22.982 l 130.996 22.032 93.447 +132.547 21.884 133.785 22.595 c h 93.448 +133.785 22.595 m f* 93.449 +q 1 0 0 -1 0 74.329308 cm 93.450 +173.063 19.262 m 173.43 27 166.652 32.363 153.641 35.277 c 135.027 93.451 +39.445 136.66 55.703 136.66 55.703 c S Q 93.452 +138.168 22.982 m 136.773 17.571 l 134.332 22.599 l 135.547 21.876 93.453 +137.098 22.036 138.168 22.982 c h 93.454 +138.168 22.982 m f* 93.455 +1.12 w 93.456 +[ 3.36 1.12] 0.224 d 93.457 +q 1 0 0 -1 0 74.329308 cm 93.458 +111.125 32.664 m 111.125 34.766 109.418 36.473 107.313 36.473 c 105.211 93.459 +36.473 103.504 34.766 103.504 32.664 c 103.504 30.559 105.211 28.852 93.460 +107.313 28.852 c 109.418 28.852 111.125 30.559 111.125 32.664 c h 93.461 +111.125 32.664 m S Q 93.462 +[ 3.36 1.12] 0.224 d 93.463 +q 1 0 0 -1 0 74.329308 cm 93.464 +163.922 32.664 m 163.922 34.766 162.219 36.473 160.113 36.473 c 158.012 93.465 +36.473 156.305 34.766 156.305 32.664 c 156.305 30.559 158.012 28.852 93.466 +160.113 28.852 c 162.219 28.852 163.922 30.559 163.922 32.664 c h 93.467 +163.922 32.664 m S Q 93.468 +0.8 w 93.469 +[ 3.2 0.8] 0 d 93.470 +q 1 0 0 -1 0 74.329308 cm 93.471 +104.352 35.625 m 60.328 37.32 l S Q 93.472 +[ 3.2 0.8] 0 d 93.473 +q 1 0 0 -1 0 74.329308 cm 93.474 +157.684 36.473 m 145.832 47.477 60.328 40.703 60.328 40.703 c S Q 93.475 +Q q 93.476 +q 0 0 207 75 rectclip 93.477 +% Fallback Image: x=0, y=0, w=206, h=74 res=300dpi size=796293 93.478 +[ 0.24 0 0 0.24 0 0.169308 ] concat 93.479 +/DeviceRGB setcolorspace 93.480 +8 dict dup begin 93.481 + /ImageType 1 def 93.482 + /Width 859 def 93.483 + /Height 309 def 93.484 + /BitsPerComponent 8 def 93.485 + /Decode [ 0 1 0 1 0 1 ] def 93.486 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 93.487 + /ImageMatrix [ 1 0 0 -1 0 309 ] def 93.488 +end 93.489 +image 93.490 +J3KW%GU+$o#COBr:T)u+*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 93.491 + C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`B[F7^jpq0?^FN,^V01s.HIuWPG[6 93.492 + W[B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 93.493 + _Aoh+fk'&t\ctIN)4XQLiVp8<#YAIm[Y7B-r[TbficW^RQh!2M]<QfX_h/>87rW`7R`ng.Y 93.494 + r2oA,QcS@]\G\$U6`4nep,_pH-TAH`l>Cq)%f_I)hX5T5S6nLebM0LLI6LH!bN&*#rP(P"+ 93.495 + 0X8e4n!IWoKM[fr;O?J":"rmYZ)P=/W\C+#VBr\)#_11HnPfAcpQOe^lZJT&O\>6,mqMI<) 93.496 + 45nOSh6A`,RV,'LOT#CDfKZUgkE6.nj"d8#o$0"3&T&G8<[<jDuS:ne?\^ag-S(!6C:UB-p 93.497 + 7A"HtB0En$.'9/:TN,0H!@_^S6b'YcLslSP@q9rfh#(Vt(oQS:oZX&O[%1[41VTk`T"YUi< 93.498 + hWi8i09bg+EP\hF2dM.Ze8^`j*/PFP,br&5EPjLV0e.iE];:1TU%b7tHH5`j1e1'iRTrQXR 93.499 + INPu"D-PU,STS1=Q+_<Ies5WL?n57mLLOB9jb[-n29h7qf%+-#B\@P\VLI6"]sDG,[^EYYg 93.500 + \(fSCg4@h[qK%?D7a322>td=>o,*#G[4CIPBG^U($C!N\$_3;hY6\sHs_)@$XM]bjl;&$\7 93.501 + PhXh`*LjAmmZb(Q2_3`ZK_<p_AjFA%77DDdrK2-]MXs7L+uW=-cXF@lZG?OC`^75F#jVAY# 93.502 + <%\`S*rB">p.TkF2OIA9u6p5b>IpL\&@@QHqnTP$6]S#BkDG%7Req3JLkBtB=iV!+7RbHbk 93.503 + a-HE+Q3$uPElru[,[I%1alaH7$VVSE@=Pga+Dd1NS^$GKL!O-L47coJ*a2J%0EJR=cHRe=' 93.504 + ["!-:cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu?D;4e*cZS(<SaV!ap`9s"i 93.505 + V8utNT9gU:R1&;So:1_qAt]ol2%!TXm>j*caE0;SonVc[qKnq5bPJ>&r1NUs4-f@T5WQ[rZ 93.506 + @3_q>R"imJHo*ch78:TC;^Xhuj(2:_!Ol=:G;h6j\E@/d=Sn*<Y5Q&V<hS$:.cG"lR<:K2? 93.507 + Fq6.e=*i<1<W:lZ/T=A9+\6n*gdXqj@V>mM??%O#@C><YR"X9[MEL%+LO6eHetiWMQ';%=d 93.508 + <=H*pP6qN54/ga!=SJ1"9;2S4G.RdIA&#"ghL1E1\O>k=_h`2.$;-l"I=Nq`D6tqWXXu8c% 93.509 + h&GC-EK3oA3_*<>*TP(RM^.XAO1;bbUASC@0;6T[R11>#7#@%(/k/Cb*@'WuOciU;8kE/;- 93.510 + /dj2O0S[L_hc>[,m9p+;N=XI=\U@,7&cGLY#\0J>q=fKRW9![>/Oii(h(XBQ4iUl9A+_Hjo 93.511 + iMf;\!81=cG/u6n+Ei10P4AD#'kH@[C"?C/%j5*_"<+$F=Vf:"d3=k60b6;iYln=j8ti7-U 93.512 + 7@Y'*Rnh)jeQnX`\)H;@]24m0cZT2Y0,:YG\,#&OC0nY1N[=q*d]71#Ye/r!3V*CK%E&Y`5 93.513 + =51*N"%4/)^L@X>"coO<[klb'#e;OB*>"qTQ74G'4Y*Mu>>taF90r@pqRT!C,:$KVWVc<)U 93.514 + ;qcXql30JP<=Ya&>)cDE74o@@/s+%uP>gb#;6!VkW`<6)<U.P+X&X&?<:G07ke,0.nd7\ol 93.515 + C1rB7;7SMN([1)h-93!ENW<e\lW)&?0fH_WFF;`74Rn9lihsE<XuuK>7G$*[9j0(L-JP'!> 93.516 + jhhe$$2Tb#qh>>:Fe/ZW:th=kc)Pm002j<fYU3>>8i!7B*[qY1?e2?#/h]Z*m]Yg07cuD=, 93.517 + <Q[oVqR>71%%/@8*W2YQ-8>E*Xj7EN)A0'6EnSTF4QdC0gq`E:5BA16Q&\2S<n?.^<4.9P$ 93.518 + 2=*jFD=JoKiAUD);(7#/oh0SODnVKN>qGNf_io8IoZ*QKN96m9bCGk[u=:YGh$<;>*Q3>$+ 93.519 + /eq]M=*h)]0>4j0#iT#?#VVi&^=@i58'CRJkhZ96\6fkX=cn97:'eejY80CI*D3Pj/VKKb1 93.520 + ug-(NSkiq_fd[Cah&Q@DU&:')%Ro`4Ae^*<^k,5/b\3#;iGa-)9/(7.V-bG8h[ekL0/pIh2 93.521 + FdGZE@W[;9L34I$9rh7O6+*UF9`A+dDSAEPgC8PNA.GIV*0gXEI)WB.X"RieD$?fq1NC>KN 93.522 + >u5&JZn+#mrI*HuS$-I0SG/a&WiJ#b2_dopW0kUK6!2!1L-)BtAYX[N2rDPu#aHUuRj-9j> 93.523 + h(r)A$&F#`eXnBUKe%c&^CRol-2'jQugAUm5SVaW5p8n<5^KB&;q_U1=aP'ims(f;p[5Pt" 93.524 + fH:9)m?cM2[eA[EHRi]@NFe^P%cZ;KYA7H-f=U+HgY9>uE,Q3Q,PNN)b?LHKCJ?N?ZgRSG> 93.525 + 2seaSd3*m:@bn7$[V<&*?DW74PtC194cpp^c6f]dsMskES0BiX60TD]R,f2Sg/Bf[f=,_Q^ 93.526 + 27O3Ql]$A`OgQOn0W2'KJ??bF6a"Ac;eVq?Ak>r<K&bc=b4t?1,_G(T'UGF2[VC4NlJLVY+ 93.527 + 1Ed/(4SL]&<LFIXf2]*(@_q;7'II@jY%a'n@:_lS$qh$Nr?pZB0(\m^N_Q8dE+l8tc5G@(5 93.528 + ZHZ+E':i!T0DWfsU6kep5;grA^c_!<qOe^b<aa$u-iHL'4o%n6dGeIPGFM?,h5',.G+"?H& 93.529 + 6icft^Wh(s>lK-Ec10Qcd;m!/mH%uYJ:[=K;]qRu`+Qn%?OUcK?ZDhkKCKj%0Al]SS+=RQ+ 93.530 + 8'uaf"^Zu+$KA6pg4]pI!?$(?`29HhZ)e:s't7Q:US,jHhL$lFTC\4B`;?QD#W&`p`G:9V* 93.531 + ?p'<4gT;DWL-/Q@VikrboCIa7TB:jSqhKs,C.Km-=$m)!nC$kH:cb&298ChLJ4Yr3.s/YEJ 93.532 + o=IfF>8s.O-+mR$6><9Zpk"0\$nn3F,=klHZ;!QkWEn0n!L/G*mi#H8LABEG#ckSu:4'_%' 93.533 + XiSb(sI/++KJM4t>E'0e3VVP%Jrp!PjE/P"e>mV\5$"sbR8/DU$SI-gL#7gItmF)Hie;l;6 93.534 + J.TMG!RhN4BVa"6'_']Q&?a%bVV[C<"gIS.&EO%0;%Bi!"-EN'E6RK_q#^'o&ZFFnVuI4ho 93.535 + _Jnmr]njCd3B4hAIiXq$E*\48+R@N;%h81eIaXXnIjiaUuLi['X:o&&Kqk8RhIMgP&H'j:r 93.536 + pb@5fKufgX/-5EH_F<:6G'b(G(mi/7fPKbk@(E'sV*`l9qG+_VNQF(h`FX%DNV9HQ-rUV'. 93.537 + ]8kO]V]`:tJmV3/k=@=!INL`A,7)mC7X5oBG17&9?jIPH$e&_s2P^(X$)q@WH3C.f2epDcJ 93.538 + [$Hc-bB@e/Drt%dtqXMr.:R<&_8-uQq+UD3i&VR"o18N>L+7^-cnc/Y&*?0#A)A4>:ngPOK 93.539 + 3e.dP(@SFHc\!?r2]&U&(\0J\&D\8Fh]D<tr_^?K#P0($:8Lh6,_uUEESDkh;&k_Zq.`hLV 93.540 + r9"SHQO_3+*%/QEY\td.fN<N*)^i#n;/;BM(:&S,]V7]&"tCd9_ktE/1=FA&O*'>m\M[#,N 93.541 + 1L*1<h)Me>0D',uWNKP$7X$?DVY`-:g!3:b(aLGo@>5MG[k+b#3_n\KY\N%J'e#ZClYCiZ0 93.542 + eQVN72FL\i04$4RVKIBtL!Wa.D.h$co!q6N"4C/HCQHD_:C*HNj1Z6([hFXHBX2j7f2O+0( 93.543 + ::o;]^IrTBaYK6t3.41%Z-IK"UBBM$j;)T#%2X4@$8)Z7F3i6s_!9`f-8q@W(9,f[f3,2SX 93.544 + #MCtlFZ%P+2p[*s'7^CqK_l*p336aR&V2Q)m%lLeVXnR/PH:X&m!k4[4`ce_-n-k^FYQaa0 93.545 + shpWdiU1sC4B1@2D9\<ZO$=UAMrZ0$^*iSF2iYc!iOMH5En"%1cTpSp8=!h6ON?O-p]Hjn> 93.546 + 9-/Y*<=BnEQs7N5a-@_=.Hod/&<8A:??bV")PpZn39);*D9J#rFiD<,R,+7]3VU8CUD3'N0 93.547 + A/=#g8M7]PWD-oFP:T-I;.Y;F'c&@AB8G(F`LoJ)g5F<=7-f,@<n)Mf(f\=6SQRAV=?, 93.548 + o#MW%0j$dmU*>#b=DjNP*8:GZ<V(h4.-e1"pEi!j_-Ycp_o=TKO"YC@X09:T*Pn&5H\K);M 93.549 + ;Q&<HnEX%0deT%CV3MJr8(CRY[\].gK[fNb^]@LJkm5g=I<3o7[9j<L@gP"2V%m`o<JmUF+ 93.550 + %_7@$^H1;20sgpR+dap7W\'IeFchA92fs0;Xb+o[0%r"k>74h=>^X.'bpXHM,n@m=^fc`&E 93.551 + ?Z'<E.FA>JSW_#ME=HcRj9(**&^TojelH9.8.rV3Ot['il4eStu&(=CL/k192f/799%,1,R 93.552 + .M[LZJ@'4GWM@C?2=Q.Vp5Ndd9:Up]!+eX]^'[&%pEJMc*Z1u?Fjj^r1_68S2/<a'oKf0H? 93.553 + 97Ao:EO.0c0lQ'_C;?uM51tEc?[pFjO+Hj2Hp3ri]K4,#dA8st8Z5WJ%>bs?AIFa4NG.N+0 93.554 + P@rGo>4sHo'ZY!QQ"Y,mV3\uHQH'-8RN<(h9]tFtF3oIqVV60n8ubU!<d+7]JSnJiB<Qeu: 93.555 + p:otMcki(Bbo9JG*cTlmqL0>>um_>^mf<Ko4l>9*bnCFpAC_ph^hhDC_n0jQ:##D\qG5UB( 93.556 + dfaW_mk]F`"T^5mQ^n2cbB+V$=8Y0B`"H%u,Z/?PRHY:)7Pgk^@'nFJlP:CNj91kP&:_G7M 93.557 + [h=Z8<gG?\&<nSQmNK61[O-e3@KGBNNG6>sVTe&d!'dqo?[I!=4kep1c7,_(m>/@Mp:f(Rf 93.558 + uqdSiIH+3TppM>>gV.@r3J%)Oh=0[/cm<a%lKJ`4H!WRODPCa&^JsZJ4pHr"?c[uJoIFpN. 93.559 + =5p$aR""epV&)CJf7srZ(O6j"LUWOsC3_pCI=h1mC5;UM2XNR[j(\9)I+MYPntTc`Ck2!=% 93.560 + ^`--Q+Mh(1GTeuCq,`AfUn!ZeSr$rM.bd9E5-ros*lV_Is5=U0BIsH/S>oTIop]FE<%"=H! 93.561 + \"UMV+`$(GpY%M[7sqV>/kJ(n$$O*K+$LO&mul\7h\Jnta=jM\j^!W!e;5d-nJKOgn[lN)N 93.562 + Km&>bT"F74ArG@cd/r>&N:O1>RSoWN^Ac@6RmK_[Khpk\^U.]6@=PBcPN),Ydl4"L,>LcH' 93.563 + 3q#uCr@uZAGJbZb-pq;rm9pK`fP4?;N3JEeRK9)CHMKDpQBAo)an!=kKPp*K$MK+pVWJS0m 93.564 + K@hc6q0/9q#FS]aO6W]h:a"1_,kLMH:!XuFg#.S:?^l=GJ_@eh3H(CbeT9+C#hFtkG"M`PT 93.565 + n5:lIX1^e=d,;bbELW$Fd`].)B5Ch'p]a_T3;N#FVaQ?HH$YJo/)(<\ar?q++%0YU/gqn\c 93.566 + $N5,7Za:TR#sR\dkZ"/YP2FU1ccfq8JFVD5MU'T"!.J3\l8S'cEFsSiVga3Tm</6'f(GS2t 93.567 + D6Qj0IV9r=)7G*ap('[M.&++bDN&)'[MHBjo/\YiWMVoW)/m>72kH`>(2V]+A=>,%p@Vlb7 93.568 + pJ!RjLn[GPXdAr_FUj;@2g.eZ:Ffr=YV_5rZ/R=ocAY%2sW;@R?q&mcs,mg$.:AY&a;p;&G 93.569 + N.1WlP/-jAq?!NnO.r(dJ!7]@_&96Kl*S&1X;W+[qan3LS$8?[IImWJBN_GHJ#uo`K">s1q 93.570 + G_q`3i'@LIJZ@.4%H`+=FXOMUt_*A>0F%;>IHV#ZE\,Tg+U&V8\8,NXCp4r(#F_WLBho?Z2 93.571 + ;atg68a3-`7lXTP*;b0aN6Wk,%YF'3UI0]$7gS3P3u7]:+5a4+"QNq7?J/N-kN<]F2;4$,. 93.572 + 5`LV%Z[gNgV>Q`p9oITtQUBCWg)W.%t5V;(=Mqu=63TtafI`-\DZq_,@'_j9'gHo(<18:A- 93.573 + m)0jo^`i(K&4AURA;BP[,GF(+E\93d'=+A9JT^T&_R)R#!Q+^EK[9=HbBK<-*n\e[8_*"d6 93.574 + *1P#.\UZb_UMQQtY?@Xt/],$(b_P/t[oJG9f/%/EaH_0h)a2:[d175A^tc'-4RpC<mE5bgb 93.575 + $=\`S3s`T<NpkEc'TE'r+-V5Bu\sGJin%k]%b8P0g;+UBefuJ)5d[][E9K4`Ofun3Jn?3D_ 93.576 + lF_PW7XC)mdie\(+`]cs3?o?!GdKA'*Ml+8A42*8GtO!Z#!uQe]6uSA=uk`KGXXalj1!0:U 93.577 + D;`R>biIW@c,>CY-5YLIOOe?kL"Q8QiKNR4))eXa1i4IO-CkLTO#pcWYGSTi\q;6^RsYtrb 93.578 + lO4@iJ)r>AFZ7O8+I663=l-m]5>;fPOO+4VYrhQh]$^-4nh*\m2?-]A(bmKGEReb7ArQK]c 93.579 + d!M&/S]#tZlDI^e>$ZU)4bF*4LU*KDOT$_XrVWSBft9>Ei38F'rNEQa("GGAI_Hf#\m;MR- 93.580 + .op&k.WRr4i?:BoAaS,j/<^?2iHNul02jtdJb`O*dOSjdpnn2i&cRk'[ipCe^-HiIhsQtZ+ 93.581 + o(`$0"*2idH[BStG4/p!nM=I9sjhh333"4TtD*"Y^#^DSP2&8q<MW+9#2'hQ>n2YS?AZl[0 93.582 + <3VsE[6E?BYedN4+sq"O.r_;KdSm@=:48+l97C[O<pJ\I9'/q<,X7"IOmkQi-rVqpJJ?kJ[ 93.583 + rJ!,s((KCsXM)05UiZ=j>d`3<l=ShOQ4E9m?>?U<ap[oS%mscAQrmgfllS(JIe/LO\]Kh#& 93.584 + *nNM!b5X,j?R9`4a5J&^op*IFhd?(2NV7>Op:N-Ls/pilmItOEpUJWFs'aI8L%-84e]9K?S 93.585 + n\-fkP[UsrmRSa%gR^/#^h7)+V:#7)#1"a1a3J*PYNYBMacY<R$b<B$A8p8&(qWe8GeT7V% 93.586 + RFrM>J]L4m!Cobg'2eRms:hRFLYM4eGO6'H.\rM++1:knKRd/t#G3;sG)9Ptn;YX$r3%R.M 93.587 + i(?)uTD()itTiEJ-AlrKTUY1[[$>OE0DV9ZOV\ZIJCS(6ruFbCZP(X*X)SRf'10USA20,]b 93.588 + i:1Jn0gjjZ$P!:6jku=ro0pt`]dqAA=8YsmMobsB%Y?@ud<`7Q-"a-ZEgK\o+IFdk4]s->d 93.589 + =+0fRM*K[$%6Rrs6Z^H6F8?mCN_VqdP0)f@Cuh?S0U]XeZ[RsralW,>r>qCc_e$4JD;iW\5 93.590 + L+uSA(Jc:T7?>*rMhgbo7[-/Ca4tU^l:_@q`_3QnGPWaKHgdN:7=;f1=!H(br\K13psWK$V 93.591 + (NAE?n0j7.;/J^HKt3"E;?H37*I"$R./=S1fe2pr0N!HKRO$X9B\:C.&KkaGY^i(rgQq.iZ 93.592 + MZoQMQQEhc\CThrA&bW?'Y2\*H]q`oS:;QS%t9_1[#Sjc;R=Z%_n@q@YqBM7nCc1AmE[7CY 93.593 + [Kfr-c2#aN#1SkGicI<RB74L(('.fcW]/&`LEr',s]F>7f7FQA?4&7^i@^e9pl:T,e<:i$U 93.594 + ;j!5[8QSpUV"g!HeV$dbeuCT%<)k`F='!og"[,>Mm]@W@_fVVW0Jh)[1D*_IKqi?cB[oG1< 93.595 + -G!fZ64jd<nSXWN,NOfF3S6L<gP'0>MUb,[Xq`,otZ>f=(U\RfO+k)8B[1hPtP8D'Zk]0GU 93.596 + <eAg</EgK40"9EH<bUSf77WGa9k<;0U"PA(#8Nrm0%,*Arc9GpZ/<@0fT4P@]#M:PYV[7U" 93.597 + [.R?hWX65[t*ID]1K.dio%DF8(!qBh,q.To(MQ"^#+Rbq]7#%OPg)5a=4C@,nZb0*bK]+/3 93.598 + $re#c;)^`b-kq/JAZYb&!#H2BACD3`94/V;NCJ_sYSnlnN4b.&^*ppd_GHT>in=2u]U[@i; 93.599 + 'Z"[7G9b3WgW$dQC]!fi&Ft534$di?=$=rQHt)WnXh9EbeT'BHNP/I3m_aS9?!hC%6@ArOg 93.600 + \6(39AV3?:Oh>=*H$)RB@O[TiV@q4U"oIXL7R4J/n4b>HCi-;io>CKA)u>"cbo90hLET;A: 93.601 + C/rU\I&TgO"9qIXA;GqA7ubId:%]7t5+-qu8nU!<?LA"+ZIK"$h)C!ant8JWMbp5klK*@$D 93.602 + =VOB)`TGVKD1e/O%%Fq6n6-6+0@_/Z[:TUR&s$=O&fKoi_Z6MOst@?`R&OOb@<G]<rtP8\m 93.603 + 'FlYLUPmO0!6RhDr?:9%#&n4g5M30\D7/3Gi@['fKO]Eu$Gd/#ne6@inFtY@*9+_Kk?]:,5 93.604 + 1IcW:)Il`^NKLY.7ekp\iT"3NY%6u_2MW-Ee9`Su)E>e5!?bneK92636V)J7)4Q;,,-iOc8 93.605 + GODSA<`:@P#b4C[WM6gWloHZJjr?-5Y`QrQ^!Z!;bD=4.V2S>O`H1Vb5#HsAX'NeP1;oi2_ 93.606 + NuujEGPQdSS-_68p5&WgJtc@n_0111jM/R?KOA9_kA=AsCc5P?)HnH*K8>eD$IVG&L+N_)Q 93.607 + 'Aj.)=!F&%"L3N#il,86eq:ANj2B9`"ZPLb(VH1=(2eGGfRqL:GkkiO2G5`ZSaK2?k*?GsM 93.608 + b#a@6&66P5RBU'6"U@sLAl7kY>U&CVsjmPSD4\"ZN,G^#-j;gL28SM0T4JJ:2*84M?.-l5D 93.609 + CjKDU)IlNVeK^mNGTbK3G>N#dXD/4LTpsbJn_]l[I^L5p<;?,^85MaTPsVNOEqHgMOl*2Dl 93.610 + D20Cm6N&bH)n?=ZTKr!>%pE<Xd-8lMH\q=^_Lpm`jW(glB`l5D0<%IouMoH!*7='I^#+PSd 93.611 + E"?<ks-AYf<-DdoU*_ltqrlNEep*Ejc6ieWmJ,)?#BN[KeB!SM?EoJQ$=&:+[cm[>\3b>4T 93.612 + *&m?Of^Q'=:5EjcFZe[7)3RU'*O`@n@T_mkUm?<hP^4"aOP\Wk#`h"%lfDO&I!(Aa*DWf;- 93.613 + Re_<qGG4-@nR<WW2j.RUXo+eLiH>asA]$UHC>V"ERDj!70J1CF2]3ZnhSbnIk/-hHF21TW( 93.614 + =1u$(S'i8]JoFU""unHAfDtGnn<;lPQrM`I9JM4CNWlLC#-q[=6&89TA]0:?WWZQqMI$ju` 93.615 + J&+0@e&cCED]BHPRe:74E6BUYb/siC^+D@093=OP7G,;Xb0l@ONL$M\.f`*AGi*/#2W9:6U 93.616 + *)4*3e6P0KHf_X"9JTR:L/8?d+q&YC\m`<l@1;bh9D!NniOmo9!5n3S-2'bej<2c?IU&oV0 93.617 + ouhH%J4K?r6dP);sGO0SKTd@(o2kF.g1oQHGHKN<R1ijJi/d,*6?=&1JGRA`a1;Uh._MeNR 93.618 + VL\3R+c\>[4lLMA+FdB,[MVrSlHsQg\fVmDje:6bB%pnr&_p,Zd30g^2Z:S*8fnq%@m..Re 93.619 + [ZL4:RepJrS.W)Nek\bIaAhR*\%#?khZGs)Xl;UhZSoNVgfq62kV.!oD;O^;M"FO4F(@)9f 93.620 + '7;*daR>1Zb:T!'AMND&isn8_GD+"KclV^KFT06pKgVR>ZUrhTL$Rih@0ZM98df]S0p</Z5 93.621 + ,QhM/V+5LNo^>jd3&EEq<jkH#GJuUX,D1^2R,hQTO6]Z\d?fC!^ak.Kph,XauLo4F1'ql%Z 93.622 + YkLJq_8qNgO3q2_EGHWc71J[,a@GH>rY*&Teh"mgqZ,BeM$eT_U4m?U]tpA3lU`Xd.X^!sP 93.623 + )i+_%?fEUes?b^cU;-5Q^/+270_IYI1!dn"9ZU;pVG]+^+_uGoY60l^5T%1'XO.38g8'`,) 93.624 + Sec_:UFDrGdqbEU7l4WKo,\+KEisuX4dB;05muEd+Xui-T=ZK2TAON_1Z&#k<Z1g>bk'_;n 93.625 + nHAa*.V8VHlriLr`@PmB7(eLF(?Npf.?^k_s2[H=%.i2EWBZe$N>MepcXb6$\,P:"^g6554 93.626 + 5HL?e1AGYOH@Z-i4okp\R(*#Rum:\kmXdPLh@<4[/K;^flUFOKF(e#Sm7A3YKVh=P58;%L3 93.627 + s_3b/!$S.@%cbCXgJ%?MOF/-8*6Q9E;]1sc6(;T4BL(coSF_*f1iRi$p\T7R@%/^PFmJ9Jc 93.628 + 0HG7`r_-jCKYQ[0D@68!;_?;264.?JE/\hpX4n*NQF92\h/3R5bR4H;_PUm&YR#aU;":3[4 93.629 + O9:3d1cr&j_V@$qr%>L0+:XMk!?8cX\Dk9U&dm7s6ei<*\2H_Op]@L2#IHCU+NcU#BfjBS$ 93.630 + TKt/&19ehgC1_a%?hla@K/HC28h%?,\03QGU8?2#fR/2L#BrSXA_K>#me0L!J2RMn2A73FU 93.631 + '`tP>GW*X4m[eDoKefJim?`6qW(W?l,Ka6Kf]7/5SbCkranu`LLNb&=5id1(BGQ!%Z@uMrY 93.632 + 6?AB)hQ$J8%lka]RP-H)iI7iY&hBbUcAF@IZ(MVDcs(n?2JGTq4J!(].@W-?:l`5AMga4T& 93.633 + Fr-pd>C-@ema#&Al,Q%[D+q*lg86gLsGd*/=5Y-dCJ.UBh5T5L':ElGD8D1o%./egPO?GkD 93.634 + 8+7&!n1VmE.QP9RL.%=8cqm;]9#96;6DNC.*03\%r"e2sak59+a:Lg3W56,3U-NQf.#c109 93.635 + ZL+$79V',X+JI/oFCXNb*jR[/?9'!\-4ChJi&Ade?:'8"A9"qb8@VlUpC.+ZkK7B!sCp(S= 93.636 + <-(\0#E([tJHW+]XA,V8O9"-"r8JpfC,`'2/gkU-l%UM!#2X-TM`5$4rI1\/3A:OVQoCK^c 93.637 + %YJ7uMB'L\]<KcJB&[("79clX*i"2*&Q8@l_*b6fcn5B8!%/D!O.VS4=(JQY$$lk@VLi^<K 93.638 + !,!\<9ln40;3ki*G';V6X\9&(:6*Q#VNK=rOCc]@Bc\]HC-fjPfXQrWolqYdl:>G84m-c9? 93.639 + B$Un@#f+'e3!tY/>e5;%M>0KbBiN<pU5%%!Q!<eb82X2T+O:n^8jQFu,h._S!//h8!&0)/O 93.640 + =7umW&(AWaOh(<TJKDl0Ym>ELsXj%[0ogE$rG1X:tddu]_r,Rk!n#aXO%N4[1`kg)9dpu77 93.641 + aYdbH?J?%uql0#5!2+89E7h[`'q([3-n*N8jui+;:PIJ;gDCAI41;$IIl\;I(VID'r5(%oJ 93.642 + .A%2>U*fE`.`.oOSrLA6Z-r@\h[4>'HR;NXD"I5;P4$p`0ZN[U4sXZ',q3WcuT7>s.Q3/ga 93.643 + 0-e$=';r'W9l:4a31'tnZ4UF/G**7c.XVFNiN(_^D7!Jd(5`A[c9eb6)"\T:YbGfGZ;<5@q 93.644 + OHpE94AI,[dF;dWY`$uJ;7.SfeQl3UD-'_c=B1>`<Lm;nW)cp/p/Hj+\r^.C@6.7^^GGr2b 93.645 + :n6/'U9$[$jJ"`$fc>-NB%Dln'%8UMVSpL[9biS?a4sUeg,jt0T/prNt$eSRBXRMYliSpT# 93.646 + ;Vs"2(jg67'Z#`k\QQf0I""XYU$,?iU1Lf@\-e(f$g#/WlR5f'nRK!/4JhH5U:7Mlf6H8=p 93.647 + L(0j'E__/KXpXP8\5-^1?h=E(uO\9*ChO@O!5%f.OR<Kg*-n^ntA=>5E\7?/63Ko4]@fm'. 93.648 + oXd`-E8dk6)!-EO>TQ+-0`50PV#6gi)Tdg@jc35-d'h`(foTt78:=/s)#b@7e7@.14MV3fH 93.649 + =e2W*?t7n&6UmFq>8uQ0e#/D+;Hi;u_X&FLC*WlR\16TOg6d_#VuU#7[2<2O#Z\$3aJ'dIL 93.650 + E]'?9DDQpE4$=03<[=?>O_tdX/FCO-VnDDfM/p^rOZ:Q`Y]`0LeYV=aG\;^6A.eT-s0-Gb= 93.651 + dY\i`d6P:0BqJE!oh8kDHKT?(!`0=@:m5W!$tn"?#%-!(\Y+:!c_F_L!=,r,<D3^k"4$"3o 93.652 + t5U]\+("M^V"gpjHA_1LIp^XkX7#gAiiR+Y&-N7muG=m_cS5TS`Fin&^WL)otnX#=;:V?&j 93.653 + U6RpcI"I96\#D4o)U-'EL`W&I03\Z9N*HH\4qg^fUT&-,5?\*Q1^]7X-#"e=;:`,ch,RVGX 93.654 + ,[&t$`Md.iaJ"<:&/1^.i>r11=;g'X3XUl:?-l'-_)b)WeLq2?#dm;0!BOKj!M2*`12GO!r 93.655 + WQ^ZG$oJ!?\S*&ffDU4M[^F?^M#4HW[#)?$r=Aj@-.t+a?a:G3X&hA@K<43#UU4\hhi`M/G 93.656 + h$Pa[4rG);uE(aCq*s!(dj"al1B:?@tea:n1tn/f,QP?Ih5or+Hb>J-nQI@obE1?799K.L@ 93.657 + 5U!tId6UiZg45)M5(PFNm)jY]@?1:5IT;RG7gOJ,Ns3_HVcj,tJ!7QTCl4,W7T>fK=##!J, 93.658 + 5<mV.63d@UL#\M?2o40YQ%RI$#hC@W#TNiX$8N8BSpo_\#Y6!31';P+HF$p0WfEsNJM"M&* 93.659 + 7EXZ1?l"Juk0!,sku>)nWJnCf?cWRe.P58RU;H_*b?PH">Ok4rdTH":@/sB\SW7<r<=AM$B 93.660 + 0fU2hL9'.3a>KT$W_6hmW)qq-J`c53n<n9i1/(*.VF+_B8ml<R*e:h3&uDRkJ1eC?0^Wn>\ 93.661 + EbPApIA$0XtdE?,U<NU29qj/`m/[?=OH3M.#%I<@ia1-qa]Ib2/!\8@9-T3G0`IBPqTlIKN 93.662 + o4Tk;<+'n29WaHfME(R(XjAb``CPl[W.>fa5*K9MIPN#u#TbD'?./H'qPl7+t%Y0U4Z_lg& 93.663 + (S_mVjNbJ+il<.5(DLPs^>STr7MhK8Z@6$]p/HoBK@$2p/R)mP&>D6X:LKmQ1<VtS`6q:&X 93.664 + m$]?SBiMq1W/FZM#6ZgrV$:.hRVRq3B`>SUk^caZ"q;8"`-.<O\@0+[3_#]5Lr;?j<B1,mi 93.665 + $+*q%#l(Y,r%TNbMAOs82qo50$/WY.)Ra]:$=aX5[=\UAs>1C$Z1r:@l[QN]^69AkMFXO?F 93.666 + rF$L;2qpB'b%VQ4@eQ@ci'665IXVI4^8Z]>mg)@n*CnA)L6*M3KpOMiQa*PrAiEU<ee;>C\ 93.667 + @u+t1O%N^jpNA[AgD(#mRtrM"Za!Zqb:*ZF0sN/mksZ_KSic+@9>6X7q($Jh$\R<TE*r0:E 93.668 + &;..*eJL#5S`USL7U]?@9R6)(iJJ@88ZHS'i?>eH#C>k7aEYsc#mGD`4b6-4khp,\!%cW(< 93.669 + LI>2>aOl4Q[dbR0)N)>4,5pF+c!GE-@gXb7nHUV%`D$V2=+If\Cteg,Ki"LsP#6R!k6#p+h 93.670 + ;:SQqP%lfnpT8('uLABnSjF1$-XYk<[7sh6,9Y9$-K@UpI"3u!\!X62@i=?2NI/A954MSnu 93.671 + imgnLF'k\TI@,,P[4]Ym1rW*Gmr\AV-h:B-5g8o0oYY-7l7@7jHh+,_NR3?c[#*k_g5;M`B 93.672 + f&8Q?r"BjNI^N69j+=GS[;[Ke"MF>(q@0n#/j^sN-hC^Sr;p!>cRc-gS6@ni>ml@>H0T6"b 93.673 + ?YgZMJp17STD=6<-0K!F&/H'BT$QjsjHu+N6o:W*aY$).gS<0t:G3+2_Kun@2E<u%DpfqU^ 93.674 + f$JCPUFs;RA$lYVaL]Di.$if2FTEQYi5,3_(\Jo0FYJjj7oYC"<Le$6EUrR@k\FUm)P?_L# 93.675 + gU6YcX"nF[DWJL.!K('Ddg2q+iJ#+F]'fX7Znt>1Nb,DU=C@fd#=]A!R_qr:h,MS(lMa/@H 93.676 + :fMhp$<3B#mHCUf>p\TCs2^Q^8)A\g$3.NH#oo/P#NM"eo;u!Br#e'O`c<QTEZDlgc;]fGR 93.677 + 595][0Z$[Bkb@"6$[/qn5_CSqc/1\!n*)iq4XB9uAOY>=g&`q]X2r6V/-[i9p;*0f>$P>5k 93.678 + KR*f?+\V:FjC^BgY6u)(Ck'#kaqU@e"@#EO;#'a5[dN6].Ch\^MHhq:rH?q2A.#K?$/r7\m 93.679 + 8Q>s`>`1"P:IGW!hp61dp!IO<N:(j!@@&*KmdXdph*QuO;Xbcg.%$=]WIl6sU-+:2Eanc1# 93.680 + mSHG<'U&@j'9FEC@'Tm88MT65%KHOjok^95tLKa"==ikL-oCrpe]*Yrea!Nd<NTA2&hQGA' 93.681 + t)TL.*>M8S$7p7&Es7Q:kf;q1Qb!(k0_:PBYgDofJ\Xk-*Iml0h!65bBjbU\[a6VF2T/HA' 93.682 + S?.>UsgeTk.qYqW:\ldbk)G/7[o=_*R$6pT4:ZUp`HpLV=UF)0T7QZ`i"GC*@t<;6%1"u`6 93.683 + n)=YWs6!"ap`XsrCI"9Ng,0C.2_&U682$tpJ@s%)BL)R#=7MT*T(8jMkN+YdeXb8JI9oX_t 93.684 + g7U(]0G+b4Ee5Hi"DPco&Jr*)`A+02jrV(SNe0KlJP<%hg3$<Z[(l$7fo8c2c+<32CG!8M7 93.685 + "M]1blTdepfOHTmeV6Gds'g[oPFL0^X%7U8O,e1#l?m64:q_48Sds,$.*o##dmKb"QGXW]& 93.686 + Im!BaL7=K^egV`!f0cbn>Si45gm_k9O1>`R0'A(rfFCBW\3$_KqlQWVV4@.&[c?MPSNr<>q 93.687 + ^7'TEr$&Y,15aiQ*'-d#(sd!.-8@P5?\C["s9PjY=M8NHu>q(e!%3t*p`9MhbB\?aO:=jBa 93.688 + rC]hX.&q8E<Zb'0_ccFkq4uFW$#`KO`4TsD0W5.pm\06KZ)E=Hk.5hS+\BR^XK;eB:b\iOa 93.689 + l8[nj2J:Oc!N>NNLK!D\8p,PiPKK]WBS?L&]^?M96!\_>=3ia5R%G-5Yt><f*K\fPi.TB;S 93.690 + @3iuB\HLU;P)(]Mr#'#6l!4NgXV117pJ:gaG;eJ=pfQ2:q8iF!dB%['4+@oAl.@5c)H*J=5 93.691 + E\$WtDp^SL99<Gb)mt)N>l=;Au"RhoO$:LT:-.?]&;j@NUNg8JJ3UN@;RUOO5WhfgAUS)b! 93.692 + 2ij!Ion.Dd]FNIgno+9H0"fJB&,iI6&C\=u`L2A\Cm0_%h\&KL'iKc@:jQR2?umi$MA`,t: 93.693 + pDE"Z_:U6.&CX1mf=):XJDmI"%+m#i+G'V7chE`qs")^Iql*bG5^@7PgpT[$rn'+ZD^l06O 93.694 + nmL)bM3l/94Bk,pn]+uZOrSkA$<QfD`I(l->i&JnoA'@3d&`T8q&J=,nnT<)pe#VFUiI\YD 93.695 + ]CDmW`aM`B5iZN"Ce$6Ul+VVgJ"C%)nHJ!Z"05H-'sDCG9-.:ZqK77Mn2R6mP9l5aT&a:XQ 93.696 + rB=k+Vb2TT_ri+/jo-?X+E9HWY;XLA".kAbD6]RN(58B\B*YpLH,6^Lu\%*a@VIc]G)gB<X 93.697 + a]>9>'UbQkH5+=3\S(iZ]ML+IiZDV%/j&Fb),KSW$c!q[d;+db:,Po:\W(la6o.)I!UOUT= 93.698 + cZ5jM4<k@H_%cQJ3LW%-'M\q*XiZY=4+=0aUR"#b&a[o-_kS5#//JQ,3<H82DI'mD2)PZ7M 93.699 + !/*WF..W!(,:$iZd@?Oa7nc+/gSnT+XWT[SKLoI#U3L77j=$4(s$hP\+qaAC)\Zj"M*-&[; 93.700 + =4@GF[hq_#nA46\;i`(Z:a15I$#$6pW2>#!JlBLIBlPJ^B-ej?/1?,-I(48_d`Ve1mO2X1- 93.701 + Q<f(.2JD(^&4AKgDJW"sr6C"k*?q"?D/AJjO8]ZQ9dg!\cXsA2%_PS6Sc'7X'kiieHKe<j. 93.702 + >,2Wj)VS&iD6"c:27N=6AUU'5ZM3PRW&ES;4%@+<.!BI:kGq,O-:Hm3MHBL*pB(j#\":`9L 93.703 + &h#(np;6b^Bie8?Z4E=kMd>"+s/leON(]Y'65>bp$@gO>cUI6G2OpX?BaAe4b&"8]e$<'Gf 93.704 + r?S0o7Ie!R;]u]OOJ=.ZhpP+]!6G*`UK"mcb;'qe8@hfj<"c!+R[$e']<[+]OO+kQ3gV=-< 93.705 + @,r3.+OM\cN/C6LJ(2'!8>A)>EB&]!RQ/DR]TcZASjlc(k&0Z&l9g!5';MGYEB1V6V_TH1b 93.706 + TbJ8OmUgKOO0c,[i1&3?(a&q4MqT(lUn`.RW)B*0eB%02k1gQ"0oS+qA^R=CNECWW<osO/> 93.707 + W7b#\FW=VdmQ?H\Gb1=`HlBX=Bjc^'J-;k>k.,5,&5g60!^D:oJHp?L*kfc!6n)kF5]*/Hg 93.708 + g4`!Z#ZQ1sRG[#N84=UYO+nZJW?5pk.mihuUGFU8APUL3W-0H4kQF@P?'7AujTl&qR<)e"8 93.709 + 4\3/)(1]^O!#4+5YD*4rfGp1.$KUJ&V$jHR`k4es8RBJK'GA^6e.Ddq?tGV[+kUaq4M"3RV 93.710 + "#\8A1ifQWe:?u6Jj'@A;&r?1NLQ/?6o).f@$^Q7^:5h`NIN'[mD$mLrL>fQ@U=AS45k[aU 93.711 + Y\RES3kX&kFXP/>JT5%hPgk8b%<2aH[Pme24F^1F?\Wfpn%]*7^#SF@Ql[]VB(q\q=ICTpF 93.712 + V_H'?dSL.%ne"hFOkBG*!sF8.=19Y_k-%-=5UAamN2SV#e\Im\17&&NEVL>cSrC%;k/NoYd 93.713 + n&=cX#DBU$Y9Lhp0$p[C$&Id.L>!>)Gd3s"j0\3cn-5#$SWc_GieYFj"jAI(`dWS6H3p'<) 93.714 + ?#?l$l;k=(nDk4QIR:IQ@+im_1$IH$[eAfT<+)J?)AO<n2X@#<A)U/=Z6#Q(p?`pU]ia^ml 93.715 + ujl";'H!=Hu<sY0K8$K)1.^#E#P":kXGu'=?fDZP!=X+?CE+ME&8.9W^^@k%(FrS>M@@X5P 93.716 + V2c\9cbeOKFAZ[V!,(<8Wl!Y#7d##moYiXFa`cA$N.;)n;\")tJB%CO'Rnjo"-iD0]j(GS` 93.717 + g4h&XfU@1CZ?#RVa\Zq,<\("*hT;]9]S(E+;*2S.mHSKbPI-Ha7/:O1M*]i2:]RCU-YD@L" 93.718 + 6hRiG942V>*%O>1YO_$^VcjLpP+KS&'8g4Y4&jJE!rVMuKXE3<6a#iG:-c9_[q3(ZJ,kAPp 93.719 + NVLCYGBt$6J_dBRH65PV>4CH9iB+.t#4:X%WC_f\2*d8m2seLZ[7S8og^/IPciR"J4ok'02 93.720 + pLIM4t"<b?*_$1I3ugg?C8U6<0Lm!8$KXO;XkeLf(l$]n\1nT8fer;aY0^hIaJN"SicCW?R 93.721 + +[Bp["]_U[e>E0AldY%/f1!'p,K4n\=8cs23+rO91"8+C3nPF"dMXj>%k9N\hlb!Q!Xp"CA 93.722 + i/rn^'V6f:_ai;hm,&He+U>QS_L.cSk`'^b>J_FIr.c5QN\9#o/Ymr-qKYL`sHhZdt'/<?t 93.723 + 5O5g$JFQW($#I%n4OF7?&A7Dd!f^It`d!-c&B^cRl--u-*0D>RqV[ANc,_on9&@.5t+qUui 93.724 + mSKu2B_XOG+B`,I%)`]LV_Sd%ecrA4#8#`:@!N5Rpn+S344(eS&Fr:dOPn:Hq.^oFTqm9Z< 93.725 + p)(nPs>>SK!>/'>7g*W.r<lN0>@`h(Ab+R&Z]UOE0NpjSE1<Dfl9.gY_;TY]b9Y6/<HM)&> 93.726 + ]n7<u$fX-fi:I!ZVPeAt:Y[,qJHcEH36'I2@r`*(%Fi+gDkRpks[PlOD>e`$cY2Q6QD:)9= 93.727 + Z0!-V%EXW!==)UY]Od.l$C9#;.R,Au]g0'mrR3tt!gVns.f_S6_E]c?BR0B0dcn^/B:W;H] 93.728 + <aT=[A&OQg27&?rb*cPU&:l?GMNuYBerA"fr&eQ7[ruIa5*?rN=&QKb_-R+T!C&r\`Z8*U- 93.729 + GQhTr,,-hA-(;Un+?tD/N+-=7%_rgU3Y*Hn!+o%h!\dVf4!X<3-Glr*:e7:@Qsl*[+n<Lha 93.730 + 4;E7Ua&R-fP^>XJPQP+pC^97eFJW`!j:*0Tb+L>,0[XMU,rqWR/DOP")U_HbbZd5[g*$H/? 93.731 + imPceSfRRisLN+`a0rdZ>sl,3Y2.0%018Db;3=A0M>)!sM@9nieJ>>j:9*'Cu\ZkcRlq_K* 93.732 + J!,7dD@_g2DQfFkM?olBRY'/G@T5]j"9mB;a_&\A2*72u:-#I@0N&L&?u%-O?"2*rrRU(Vq 93.733 + '^=EPc[15[6d5^YLWmr:-Z/aC[a(0QCas8OM*^NR[JdRR&@kB0W+07Z[+u8-g2_.;=J--ZL 93.734 + +uM<]7!B<M,1D3i;i)W[\4TZF/$m>Le'T78f()]S+LAMNo=Hs`4$3b94AkUl+r3*[$3Tns0 93.735 + 49c)$,d2`M@['$<!<OA9unO<Ifa[K6.?rsc/gX2*eFjr(_Nj?1]Rfu+D2fP))ON%$.D9#Oq 93.736 + X'P%Q$p?TJ&`#+S=YO2e,0@LnKF`q'4B47au<%P&fs<G7YC5r3@@h1:C"S-Tq"QrXu:T["M 93.737 + t1La/)@nUa,"aUYZ%Pj]+l8OX:aOFKg??Tc]%##L]oaWX:<"\UJ"nVu65_D)lnYZA_\><kY 93.738 + U/J&9=k(Mib9Ok"_"LL87j$sg\:W(U0/HQD\$3:@L(!uM=,9R3M+Dp(!;8C(I&U4Q,AclXM 93.739 + 2rZ`OJ:BeV58IY(^0q[!inb_5s&>7U,kQ49%cK6=/Hlc7Vc'fG;j]F7-QuF=4ES"Ve)3C^B 93.740 + Hu\Nc';p6EA]4Ui&5GM/[<P\m<5^G;-0!i3Nd!R;q"e_CKbUk8IsoGe$W=j7p34Cn1LFJ!\ 93.741 + bJA`r)O@>f&1!JHRpnkQk2B$C0HVFlQ:icWh+n'D2d&@d\8Fa&LUd7c_T8BJN^'@e=,])tj 93.742 + b@BC$*$(FA&\?AYgYC.R]!F^g!m,7F<Seh^f&92uQ%1bKFu@RDuPqL6nQ4+S5o&agr8l@!K 93.743 + [2J<YGda_LmO'(h&3+n$jkCuXYE$U--8Omu91\4YkTNfI6e#e-oXVD(`Y;W)II`WL/8&7;G 93.744 + E$<eS0D9Zq(5>;c]/MH%9G.SEG&%$mV*<J/IjE3MEofLta<=P=l!Y"%j?s=Jk;;+CMA#igZ 93.745 + k+GsFFsj`,5+]^;5,:H,)QU@#:YH9pCg;tc@b'c_U&>uMu>u[]i8#kEm=_"f.qtF)Q^$S]W 93.746 + C`Lif+>>$4V2Oo]7;b[K8W"\8;9S3sO\^:9ZV-)Sai5)tCU^pN(OF2.Na7A+Fl='jT3B$$U 93.747 + TO-IV,Li_G7s8fZ%D_Uh8Yp#6BfV0[n:#ULQkFrDO.-ZL93nV$fH@Q(s(!hNjU,3*ib^d?D 93.748 + W%7<P:H<(djkD)gm!pn!](,nK&b0h?)l$o%ZJ&X*6f/=e0b%\r<guMQWM"k]9+^>2>E+$LL 93.749 + ;E07E\gE#E5AqAN=>D*%X+Qb?AUqmBUTd`2:Oi.4KYg0%Z+4B[=Yu4<m^J%+pgXgNO@Gsn6 93.750 + Qs-u!]Ch(GAZG"%(La\N=Z<HLB@&ELuKPj+LWKrHUmW*+LMXU[P/i'NXMQq^a"")R'PKI:g 93.751 + TKipOq0e=%Wp5Rn*T6I`/U;ZN-H8De3$^NP[>i+['s7'^<$F(rVs"l*!fpAf2!T5mEF)Dh] 93.752 + J,=97(^UmC9jD!n%J.!KR2NVOZZ!`aq2Gg`i!&7I/R3AU[QBT0fe<GUD',)l3ed=)oRhR2& 93.753 + C;YE'0quTt'+iOp,JhV,()*_Rg$5maOQmleq@d1F*2tAq7NE/E?RLRr.:fcFHDfcWPW4rP* 93.754 + BOnJk@?`jt$'S1G18-4Y@M9t//"2&RhGKRZUVuHNU7K3+3gf[e$f(KC$pHpT6b&.Q<,*Vu< 93.755 + q2G-,?6f85^@^`:(AR89@PdB'btc"X.Ymg,Io/[(P's.K_bEuT\:IS=ZG=up`>9q>f!rdU+ 93.756 + S'lXu_6UG^&+m7+jq.-jNHSI3WonfiTJ5KEuK6;?4U&-.Mjnr$*"#nV$0PGJR"H+ajRm2tH 93.757 + [0.>0[g3_bu+7%lTe@OOoY0r^*_DhG8U!F_urZqF:L45-hip[f[3N)c]YKUO#.ie_-]/lcD 93.758 + p6tE]q\tBd*W&g;$&Q,&0Kq!%u+ThD:$;('sPpeS:Z9A9gYJN#hDp+Rn0_OI*MphM,Rh@]W 93.759 + /dpis_U&c=2b"u#$]Va6ZIpIr&H@p#I4+euZMQi?=sZKEoHQ`:Q3=n'\2'T9RX!I+9op/i- 93.760 + 0Ulb,:kLTeSHf,L`dpVM"--d]+<)N!\k`@5`"HD2fr"#j*irLhbt^X%:Jlh[GD7DfM-n,]# 93.761 + [[Z)md.Zq(]<1-tSiMWQn1aa1Rnb]\CP8@PA\Sf=_"8^"_9i!\KgE_7kVmN*E^%84j9EW%g 93.762 + d;[XlnFV<Pc_-*J8P18?HX"R>`u'guLc@P7h2@NCQ'*:]BRR;&%_b0)P4\\Y!mbsA,(JMAm 93.763 + YrYTr?Do0P8)Ypo_e$L*!P?TheoQtgC0?)^]d@3SE_E93B>8PHk44GgM+`KLXm?pA_9`XS& 93.764 + )7gra=36m$?CV?XO:!pdO>JdU%P[&70iULnb<j'#[grSM68b#=)&6"FU>/>`a=-SJOilU-b 93.765 + `_:C&'N3!0?`X'Q(5knTE'QY"hVV>Z'XFQ_#@:Jm4kKS0GeT!AV)p;RN\i'SK)_!(hL]%<J 93.766 + >]MZaq1*4Yj_kERRAI8u5a8_o4o.1Etk`IbRa47)pUC=DipjHb3T,r'DV4fJi`(1Dh`U*9J 93.767 + I#lD0rO,?aW_pQ?Ye_9PXRcCEG/#%u2oK=C<VCnYdW;M6neYIM@mI5KeeQKgA=X.>t'^a)< 93.768 + /O(oCWO\\=4)M,#6aE(l?bag`&gVq76SNG\0NRDc?KpG/]dDN<HkMM/\e"-@"%HXXckaLPM 93.769 + 4A--Y+tWAtW%Wc"X[,sI3nQ,46+j2CEM>CofK[-?W:tq&j5*#]"XE$d/t%::^gLft*"D"9= 93.770 + 65&_hqDiG5$R-C'VA]B15`RdGX(9g:N5/Vj;>YHQc^N>jVYVp=gc_k]%u@31217&^W<UU+m 93.771 + (mWA6$5k,l0I:+qut[Cr!Za$\BNJScS1Z/`*m:d_[$=50*%^^#/h@mFeP;_B2WVn?%uB+rU 93.772 + !RIc'TnD="qdZ_#S%IeW>&H0r?OnCUNli6!5[7]hsMHU8A&!%EI@&+YnRn%'66]P6rO2KSm 93.773 + +o:J6W=7rg@=<XL+e7o7<4*Vp-",C<#oH.EaIkSfF(\;!Bp;S3Ghf&6gEC>(W+]sI'hX[=# 93.774 + NZo:9pOA575@q0KB@?gBq8K-'5G.dMn&YRr+orqc$3F4=Q6EcD".lXkJ&:h"Q$39c1qqH:? 93.775 + d_;kU]"QS'r$Q@_AHErBUbAQ+r_^(ht$/Aak^hNh]`%#90hD(=>V'2$&(_)OP"Y=+VBQ!if 93.776 + R?M?83=W7cTW`oR9(LO\"Pr=Yu^.n<Eu"P1aQH@47O;k*&rThJkQH:?Rhoo_sD-Tgm[6:^n 93.777 + IO/2C,eFP'5ETE;)j5R"0q3jDhi<pQ%)omX_cYu[L*=66"IBmj1P0=rb.f(saKmZ3jF[JbB 93.778 + 01p<09C^ht+_-lc">W*Z9M3:K&([5JGdu)7XnsNak?SRtn7OlBWV+:a7d:VE?Qgj`H<!@$l 93.779 + Rb]=*@BnL%p7#;%^<ZYbghjLsNRI-:[-=c<gi`d:alRR=SDBJe*!"'$\t*0:?a8;L34kW`< 93.780 + D\b8m6B/c?A]-<j7R`sT&4b+-+L<cXd5ONYCUc,5&V79](fu#.;2-O5d3'U"@4_@(C!10F< 93.781 + :cT0U*pl6EmgM$pu_u2\&3ZoKNmT0bd+j7'SR*$,nNTVYETbFC,kS0p2J-&5J(;*'12U@3- 93.782 + nL%">cWEYO9Q8?t!qq);*Co\Q[Oqss^#Vt5fH^f%PC/5%bJ[k:=ZoY3(R1DIkb9X?S%1efc 93.783 + *f/?@0FPf&Q1?;R_cEjnH4ARERlTPCAnu*[-/u_i;3[G4G4]+%9(Igja96U06dW=q,3(M_Z 93.784 + s1$OC2bm;Yofl8P2&/VZ<4+SZ<(o*E)cftHF^H>Tool+X<j#@p(0;uY:L5t;Kn!K42A6<ca 93.785 + `;.T8iRHALArI;oq!@22O11T>.1iBCg/gJ[r,EYotPHN2\jAR>dlT:FBph*f61H/Fl.FM2j 93.786 + NQP>==J>@Ga#opO4lq[JgWn0*B/RQP_NQ;rK\'(PZA.E]7I"D<("TY#MItAkI;s2i_CXp-4 93.787 + XL3>7g-Ot*2d!1LGsC*R;iTN.@2q&X1;B!O$6M:,Eo/S.i0`bhA^3YmLFBY$)b4s$AoQDtA 93.788 + )F(EZ9cA=EYB_o0@X>9Uj,5^P`%P^W0]$A@%CqDUOZu%?:q6hc':>U24/UE^<.[jHgJ"GCq 93.789 + pV(RF5.;kJRG7:Zfm=2d^MuA;(WLI-G)gWa+?(XI&q%#BH1N.k2QB6ZIm;;"]EO?DkIUqJd 93.790 + .KP'=4VN-F5"p>JU_:V'7I0b!r"'4GLuT&p1r(F>qWl@GQ'O^jEWpjQC\oLF/!8m/@]]b.Y 93.791 + ="jk'K;B@Gp<T)tfh>?JifoI(qVdd'UV2euB3eF!tr*/r=B?I35re(ONa^$,^m-_uG5u"p$ 93.792 + tI(*R'?<!1JnrtnTD"%o4+Jdfd'5r^9/?dfa>O+kM<=?-UooH/_k<VVR&U+p(2M?ZnQWWtL 93.793 + d#[qg./9"n2Z$2*7+ga1`&EXuIctO"_TQ#\k*,S)"U,$174,FOpRmSR;iF(/-M@i<,76%53 93.794 + TP0*1O/rq\E>o]dTH/t&/h4k#a?q.\a`rbV1<-iW)e3sC)0*UY_D;H1A$JuA1$1F8\CVVPo 93.795 + AF`ZMEXQk#pEh8@kHo?$'de2,>/mKOp?63$>Cq4jKpt/ct5PZ\M#=@oUh?UoIJ'>W"e>J@s 93.796 + PrePE^(9.qK-mK!Ju,7]BfJA[Jq5#gK@UU8S3ko"HX5k$\umGRPnBa*uIYdmI9#1M1aTRKe 93.797 + jlbrCUnb4mi`"].8)\YD)i7*:KA*cFe6aZ3ug=TjqaW^'u"=%@)q1^-]\cT0<7>m0)I'/Fo 93.798 + 1\bSI&nJDXU"KDUi#ZkZ+\N1tLKhqO^g1S?!PB8^>;*$-hKO#BDJ:<Imd1]#InirkUKr`Sp 93.799 + q]MjQ-`%NS6]8NXFD#jc.m[X4'gSNgBiR*(P`dECMKr!3oMHWO"R(ctLfT'q7k0)pV,R5X_ 93.800 + l;/uWO53p<B&4Q7=A5\/-HEI8@g$<E:g43%^?a9at-(;m&^tD7+Fo^U?[.&XgQ0Z=#W<K%e 93.801 + +,7%Rb@@](f8,om\1i]Q)RZ$uTkuj!+XI`>oQ,@ou:"JKT98#TDr=;C-7IQ<MO9]/\H[*M4 93.802 + X\C^'t\86$_(3$MBC9%pLJCIX#]+Z.7k#!6Kq7MNW]U5IbgLN;atGuR99%aNich.A#L`46[ 93.803 + 2jY>H@Q@M-EBu-#nh)Kp)!eo50G@[]VbIBnXM^TmW.aNc0U)i\VC:sVUod-7IHV`J@^'@Qr 93.804 + 7P!MIDmf=8!uh+c.#]oPI=)?8]^UT$nUXE2o;("X"^nt[Gfsb0_?mK5KOQ6:L,s7T=>p[,C 93.805 + _8$KhB0ZQK\52cfklPFdS5?E'k/^rYmW;X@SLkO9082mEOIgH"q3t2[*fJinJG<%!Ao?9M/ 93.806 + G&n7k(rl,\4QUP=auaapFr2$aMZ$19tMbJNG5jZ@.nAk$Q=MKnpLI'U\8J*alkD1GW4SRn8 93.807 + oPc.U,tB/0iDJsp0bRH0ISJ81Iu#'A2pG;s7V$))@[PgKehdK:HP7VaJ]!np.6k\V_7ZlYL 93.808 + ])J9-]D)dmdAtL?'RboFE7MYRHVi99A-"@_mpS1.PZT=jaCHIU^Fg>1P+L2:d<<t(;m#;Ys 93.809 + dopI6Ks>eYCnMqg/IGdN9ZqiS"USoeNNJ8@p*S>E)eP?Ac+'%T0&OagaAM@^YH<?#g='85F 93.810 + DeeF5Gjh*9&b2C'9_*\:5DX%)n/FWXnBGQo]*L?*3'#<#[BsZMW"e.4n-/bTQfQ.iYou=L2 93.811 + JHZGdeLL*+t7N^,a5YpE/H9LQQU@8]c6:-fl>GQ#[F1b=\QZ#$e@""tjQj3O)O>]ZZje^3S 93.812 + %MpHRj^#GH/gqnu1#&*Vgs8o2=9Wd8kbl5`BoFZueTHFHuA*AaN/SrqV#p2fJhA$L2@ak;# 93.813 + "BC-_;[3b7Kf?>mRmG5f:Fro8kHae4f*Tt+[^A(>_DfURnWCUdUpPh#%JFOL=\ej[b1^=PP 93.814 + /%'nR;YeLT:60np-%EFMT/hnD?,/roFnBrh*TfKsAFN50iG/34>Wk<To@ku=qB',?r?6X^h 93.815 + UJ7p^NK!`\">*52r?cjDH/jG_oocl<]X#Z8T=FFqB#[i)"31N?:Vs`59K2)T6^/0olKm2]B 93.816 + ]@hHhIbigAHWQmf&j3;h#**r-u-)raK+.5ER;kJ)C3&TAE4*MuB1CqE+:\^]S45;4P9KA[R 93.817 + Hu^g`nMkQ!jF#+Sp!!!E*`P<hGq)'PLR0rtbunrpk:#f-8M5bncR)Sj/3_D.Pj4?O:nEc]& 93.818 + )g-L*!&];f-,T4D5IZ;Oe^1'=?C^%Yn+K$b-XqW#u<"d$[,=+^<0n]Zq>&_;o,smc!66n"L 93.819 + 4<t(].gWcb_UL36,V$\$XMVn0Ln$(b,Vu2H0LJ.$6Q@t>F>H:+320A06]n%ZCc[AG3((VIT 93.820 + nGHoiL.Tr5DT/"6kht\X?T*-O2MGk`$@ahEWAKq8!r(#_rO;*PY7W*8;RAU"5tgj^a?>=7K 93.821 + o#RL<NPOf]\Plf7nrS`;EUGHrLEiW!Hp67:U^6EO/'/4iF^$7H*W%d#XA]1e&0WL<,7kJNU 93.822 + mGW^QbdN,Y<+OG1\FUrHYE6*&GN9L_<A*i.9:7I4ob*++Nl2oW:_7QES#LmLSup;\SM`d!2 93.823 + -30qTVZ:2u"7GMfOZ/<S%NlP7U4EthHGq4h]LWA(/`M?\X)"pK;Y"2*D81[e43O-Vp3le=K 93.824 + aJ%2*aGrenL*^MTa*<n$I"=b%-qMF\aVj53N&aG!MTJ`BaLkHn#`D,JW^[OV8H?LLN09'?S 93.825 + /tXn_i0i%>b@O&QAF%]#],[H+qR@+TZTjd8`Vg%oUng-^If&rb#j>>1ma/3;2(608X*XUd" 93.826 + tBQUr_2JaOmL\i.nPD:rZF]-/=93;(W(GXMl0e%!5=MY`)"K?-)408X`r.]V3GlYY(jJbCG 93.827 + HWUje+VI`p2f9/3k)+C<$Uf?9t394=ho5`X$PXda.<Z/!*OgnqtoVojtGRnTf;`5.6(kXLb 93.828 + `LiDS!BeI@%Z%uYPMG0(ee?'(RcNm4KP4Z*)+Y8H)g_1B&Xb>B0I(ddWHqf]Zbs7jqBS9&1 93.829 + jpFdYb]tm1r-loL0$JR!:(]2*+D;+(cpL4K9dK;!,h!%3e5!+0Z.te3A9c+I`X57radB)!# 93.830 + _Y_D0ho$ac2`d!fegYRL.n!k:P<a^#d;NuK?f:03u#koK`%$5[gD-c6Tjp82%,k[oE_h#aP 93.831 + =JReDH?%:rXW2aP?fSFUs9jondf*#^iq88mR6`]rZVYLcf,tI1_9oV9\;);%uq75fQKFF3n 93.832 + lZc(G&)q[68oK2McF9AJp^bl`jr"GgTbP._`i<?b1#q%+7\dA8.Cl)C,MLJ^mJ/:?R-:mFb 93.833 + "a&5I!d%iEn[1#ubU!V;!;cP?(>^k)UeUhWB%!8\/V%X/X!/On1$$;SkXZV+;#m`+39l29a 93.834 + AO6a#-O?6dLm8e_]cr;LhbZ/!$Pc-,j\AR4^Jn0]4FGaU.#:e=Q;B.hN,:^U(lD+fUsnh)d 93.835 + qg_eI5ocnRa[eE'6P9ofW#4r(KCHi:k4k^n;#PMQO&!*M.Kc."\/i(6rX`%asBgi[;/NkBM 93.836 + 'jn:NZDgV+=YVKiCK4#fL1GBKcb$>/Kr:e]i9*%:.Kj1J+-M<paHl"_#ln;UKnHLi$Q,D#K 93.837 + 0$F&UV08(DJ_70/6V@u8/D(enTTh*+oZ.+gAV=IcEoXUnM9o[_QG!!&,3^l6lE0%XZY=Wrf 93.838 + ,Knr@b1_,I>95RVP4c@nILkoVt;cn\%7>2"a1lLqFf;0kJQ&JcMRmn]7P;SS.%0Tgf3a)EK 93.839 + fZalZ9l/Nd;:eKV]u4^)XDGRT+$Oh1g>TbK4eGnpCYF24gB`R6^m7ufK[rjtLks&O.*#;pG 93.840 + hP<X>F:W/3AjttHWHuJgW5]7<O1AE]j(HHe6,Ss0V;JV/Qj*sggPWbrEn>&PYb&Ma#sLEkc 93.841 + .iXNDfD^gL[ZqNJgtBOPI@d7/Y*Ym0-XHO,9FX>V4=V"i44#f3>*(>t*ET<Q)b^`S>=dQ4: 93.842 + mdXhR;a^066+#^o\%9iKek!)kS6fQD^MIGbBbLKum#;ui68S\a-Y.GbW-h-b`\V<uMqL"LP 93.843 + 0N31l%S_[T5oTaRV<,L@r*Qd%VDu^&97m4bHUp\\-p>-pGhG*/>(&2-Ymp=f4?lf2NrTB#K 93.844 + Qf&>"?eBkcl%KPjo0S`7?WIMu?1qQpkZ\f+i'iZ^^#[c`U;pi%asGHc'pf3&rs1L_?u?/U9 93.845 + q2R@mb[pQ?*4t$2=-,NIgSnIN'7P7<XN6C+HseR?Ig#b%KbQ(,7#n88-M(SR$C76dl`=+M, 93.846 + ihtAc#ph)[KH($#3c)J:ba?ABT+N7-2n=gf7hAQ<C<FbhU>BDD-kg)-\-NhZ\kd7I)\b3(u 93.847 + ucb102n(*>k$+CZ*POu=Lllt9cr"P@ijRp_1]0ec]UcXFfVj(U;Zn:K:)3+RhujF/?\4um& 93.848 + K3au,8im<<g=Ye`kWJ2B36Hhf-(.)S`)<<\I@+GqO*Ym[%$WT%Q#ej6#hA'Q\NFPO3cM3-* 93.849 + d4ls(45`YchG-t*hG@g-)W3dfk$=lnVI^D6@YtX\65EYaNc1&'=lFNqjShR,7NH+aMG)'k> 93.850 + ia%\efJE/N_E<M=s[0-`4IQsMW^F7%!56Ijse\MU/jgBk?(GK4rEASGh_Y$hSraS%Yk=Sbi 93.851 + SPJ(f#<UV5c^:X$tR?20H#MhJd00L1_)B$Dpe@2JthkDeT]HNujFH(oh8V3GCl$Bi^O6Yj6 93.852 + "C(smu^`"ncWSsnoXTT3WSO''D3$t3']#XlD!6%5JA(8m.pU(59sAA4o(_sHU:H>)@B_Li! 93.853 + VL9HfLW=H`phRmakA/B!(Y\R([CCofgCmjJ]E62Fm_*56l?Fu0![d1`5CSVR.[_;#-_s>mh 93.854 + MWVXgrkIeH`/>DIlqjd"1_4Cl`pAehlt4B"ri<dtXN6^0_L#BMm`TGIlKk\#gd]LPY0BO-c 93.855 + 9U6h^4+LIG,W-E`^,pBN5ioR^<#]=gkiJemEh?iZjCThhX1r=D<Bf6T&7>$i9iMbM#QE%@$ 93.856 + >Ir#&[K)m\#M(GXu_gkjI$hmcNs*p@%GSnF%._mj@Vo2Y6B,o^>iRmq2:^G5(H[q!XOEn## 93.857 + sM[eoO5r9r58mtU03L/p];l0b_ULn"^^mfW&L"RoIrn7Msj``C#2!H9CmLj&r?G73o\%.Mj 93.858 + XnDQAn1skVf-JI>aE?MK)[gqpu'_,6>nRi8Lr:0:bk32gXnY!!%:hkYR*:_W$n`Lt`pE/r2 93.859 + +S$<lng>XP2^@l`,k>"_nn0<?G:2s:..W]Rnu!u.[k%$i/FqCEo&h09^B!eaO",o'o-Z<b0 93.860 + V7d#1\4[*mADf4B/fF:`H-5_o;=Y8#<DCb4S.-co>a#cpHRTAj#,^ZF=0ECT[O9q_3rC"nI 93.861 + \D'aLCes8G&6?oVY=R[nHA69_?q2o]K!ApJ:Ge;"YW%od<Z12cKB><:s<mok.=uG?=Hm=S8 93.862 + "`oqu!d[p/OG>kQ]Sp#fZSpL!V!@.kCFp*X>C2e2POAG0)9p1J"2GA$W)B_Id&_:^-)2b#r 93.863 + >8-d1(NR)M9pM]d2E;(/gpEt"U2fn^`FSAjZpLe[DGB`e:Gk[PMpSW?3[sRkiI.u6@pZI#" 93.864 + pODrCJG9q3pa:[g2hUlqK_SW&ph,?VGDGsKM"m<npns#E[u:%%N;2"apud\4pQ,*"[_*IUp 93.865 + :.Gb#Q~>Q 93.866 +Q 93.867 +showpage 93.868 +%%Trailer 93.869 +count op_count sub {pop} repeat 93.870 +countdictstack dict_count sub {end} repeat 93.871 +cairo_eps_state restore 93.872 +%%EOF
94.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 94.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/Time_layers.svg Sun Mar 11 09:26:44 2012 -0700 94.3 @@ -0,0 +1,198 @@ 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.47 r22583" 94.20 + sodipodi:docname="Time_layers.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 + </defs> 94.46 + <sodipodi:namedview 94.47 + id="base" 94.48 + pagecolor="#ffffff" 94.49 + bordercolor="#666666" 94.50 + borderopacity="1.0" 94.51 + gridtolerance="10000" 94.52 + guidetolerance="10" 94.53 + objecttolerance="10" 94.54 + inkscape:pageopacity="0.0" 94.55 + inkscape:pageshadow="2" 94.56 + inkscape:zoom="1.3364318" 94.57 + inkscape:cx="426.82234" 94.58 + inkscape:cy="692.65809" 94.59 + inkscape:document-units="px" 94.60 + inkscape:current-layer="layer1" 94.61 + showgrid="false" 94.62 + inkscape:window-width="730" 94.63 + inkscape:window-height="1141" 94.64 + inkscape:window-x="889" 94.65 + inkscape:window-y="6" 94.66 + inkscape:window-maximized="0" /> 94.67 + <metadata 94.68 + id="metadata7"> 94.69 + <rdf:RDF> 94.70 + <cc:Work 94.71 + rdf:about=""> 94.72 + <dc:format>image/svg+xml</dc:format> 94.73 + <dc:type 94.74 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 94.75 + <dc:title></dc:title> 94.76 + </cc:Work> 94.77 + </rdf:RDF> 94.78 + </metadata> 94.79 + <g 94.80 + inkscape:label="Layer 1" 94.81 + inkscape:groupmode="layer" 94.82 + id="layer1"> 94.83 + <rect 94.84 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 94.85 + id="rect2383" 94.86 + width="70.518539" 94.87 + height="19.030159" 94.88 + x="336.78796" 94.89 + y="189.7659" /> 94.90 + <text 94.91 + xml:space="preserve" 94.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" 94.93 + x="340.47986" 94.94 + y="203.13492" 94.95 + id="text3161" 94.96 + sodipodi:linespacing="100%"><tspan 94.97 + sodipodi:role="line" 94.98 + id="tspan3163" 94.99 + x="340.47986" 94.100 + y="203.13492">Program Time</tspan></text> 94.101 + <rect 94.102 + y="189.7659" 94.103 + x="436.78796" 94.104 + height="19.030159" 94.105 + width="70.518539" 94.106 + id="rect3184" 94.107 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 94.108 + <text 94.109 + sodipodi:linespacing="100%" 94.110 + id="text3186" 94.111 + y="203.13492" 94.112 + x="440.47986" 94.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" 94.114 + xml:space="preserve"><tspan 94.115 + y="203.13492" 94.116 + x="440.47986" 94.117 + id="tspan3188" 94.118 + sodipodi:role="line">Program Time</tspan></text> 94.119 + <rect 94.120 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 94.121 + id="rect3190" 94.122 + width="70.518539" 94.123 + height="19.030159" 94.124 + x="384.78796" 94.125 + y="255.7659" /> 94.126 + <text 94.127 + xml:space="preserve" 94.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" 94.129 + x="388.47986" 94.130 + y="269.13492" 94.131 + id="text3192" 94.132 + sodipodi:linespacing="100%"><tspan 94.133 + sodipodi:role="line" 94.134 + id="tspan3194" 94.135 + x="388.47986" 94.136 + y="269.13492">Physical Time</tspan></text> 94.137 + <rect 94.138 + y="223.7659" 94.139 + x="256.78796" 94.140 + height="19.030159" 94.141 + width="70.518539" 94.142 + id="rect3196" 94.143 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 94.144 + <text 94.145 + sodipodi:linespacing="100%" 94.146 + id="text3198" 94.147 + y="237.13492" 94.148 + x="256.60583" 94.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" 94.150 + xml:space="preserve"><tspan 94.151 + y="237.13492" 94.152 + x="256.60583" 94.153 + id="tspan3200" 94.154 + sodipodi:role="line">Scheduler Time</tspan></text> 94.155 + <path 94.156 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 94.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" 94.158 + id="path3202" 94.159 + sodipodi:nodetypes="csc" /> 94.160 + <path 94.161 + sodipodi:nodetypes="csc" 94.162 + id="path3204" 94.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" 94.164 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 94.165 + <path 94.166 + sodipodi:type="arc" 94.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" 94.168 + id="path4610" 94.169 + sodipodi:cx="384.12698" 94.170 + sodipodi:cy="355.53677" 94.171 + sodipodi:rx="4.7619047" 94.172 + sodipodi:ry="4.7619047" 94.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" 94.174 + transform="translate(2.1164021,-129.1746)" /> 94.175 + <path 94.176 + transform="translate(68.116402,-129.1746)" 94.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" 94.178 + sodipodi:ry="4.7619047" 94.179 + sodipodi:rx="4.7619047" 94.180 + sodipodi:cy="355.53677" 94.181 + sodipodi:cx="384.12698" 94.182 + id="path4612" 94.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" 94.184 + sodipodi:type="arc" /> 94.185 + <path 94.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" 94.187 + d="m 382.53968,230.06589 c -55.02645,2.1164 -55.02645,2.1164 -55.02645,2.1164" 94.188 + id="path4614" /> 94.189 + <path 94.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" 94.191 + d="m 449.20635,231.12409 c -14.81482,13.75661 -121.69312,5.291 -121.69312,5.291" 94.192 + id="path4616" /> 94.193 + <rect 94.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" 94.195 + id="rect4618" 94.196 + width="257.40311" 94.197 + height="92.786636" 94.198 + x="252.16335" 94.199 + y="185.59641" /> 94.200 + </g> 94.201 +</svg>
95.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 95.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/VMS-core__internal_workings.eps Sun Mar 11 09:26:44 2012 -0700 95.3 @@ -0,0 +1,1926 @@ 95.4 +%!PS-Adobe-3.0 EPSF-3.0 95.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 95.6 +%%CreationDate: Sun Feb 06 23:03:28 2011 95.7 +%%Pages: 1 95.8 +%%BoundingBox: 0 0 366 156 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 +11 dict begin 95.70 +/FontType 42 def 95.71 +/FontName /f-0-0 def 95.72 +/PaintType 0 def 95.73 +/FontMatrix [ 1 0 0 1 0 0 ] def 95.74 +/FontBBox [ 0 0 0 0 ] def 95.75 +/Encoding 256 array def 95.76 +0 1 255 { Encoding exch /.notdef put } for 95.77 +Encoding 1 /uni0047 put 95.78 +Encoding 2 /uni0072 put 95.79 +Encoding 3 /uni0065 put 95.80 +Encoding 4 /uni006E put 95.81 +Encoding 5 /uni0020 put 95.82 +Encoding 6 /uni003D put 95.83 +Encoding 7 /uni0056 put 95.84 +Encoding 8 /uni004D put 95.85 +Encoding 9 /uni0053 put 95.86 +Encoding 10 /uni002D put 95.87 +Encoding 11 /uni0063 put 95.88 +Encoding 12 /uni006F put 95.89 +Encoding 13 /uni0042 put 95.90 +Encoding 14 /uni006C put 95.91 +Encoding 15 /uni0075 put 95.92 +Encoding 16 /uni0061 put 95.93 +Encoding 17 /uni0070 put 95.94 +Encoding 18 /uni0069 put 95.95 +Encoding 19 /uni0074 put 95.96 +Encoding 20 /uni0052 put 95.97 +Encoding 21 /uni0064 put 95.98 +Encoding 22 /uni0067 put 95.99 +/CharStrings 23 dict dup begin 95.100 +/.notdef 0 def 95.101 +/uni0047 1 def 95.102 +/uni0072 2 def 95.103 +/uni0065 3 def 95.104 +/uni006E 4 def 95.105 +/uni0020 5 def 95.106 +/uni003D 6 def 95.107 +/uni0056 7 def 95.108 +/uni004D 8 def 95.109 +/uni0053 9 def 95.110 +/uni002D 10 def 95.111 +/uni0063 11 def 95.112 +/uni006F 12 def 95.113 +/uni0042 13 def 95.114 +/uni006C 14 def 95.115 +/uni0075 15 def 95.116 +/uni0061 16 def 95.117 +/uni0070 17 def 95.118 +/uni0069 18 def 95.119 +/uni0074 19 def 95.120 +/uni0052 20 def 95.121 +/uni0064 21 def 95.122 +/uni0067 22 def 95.123 +end readonly def 95.124 +/sfnts [ 95.125 +<00010000000a008000030020636d617000a2f14100001fdc0000006c637674207d0742a80000 95.126 +2048000002706670676d49d7df92000022b80000060a676c7966489d9ecf000000ac00001f30 95.127 +68656164d5ceeae0000028c400000036686865610f7e06b2000028fc00000024686d74785bc6 95.128 +0894000029200000005c6c6f636153405a880000297c000000306d617870037c02c9000029ac 95.129 +0000002070726570292ded16000029cc000004ad00020080015e0380045e0003000700264016 95.130 +059c039d049c070017003700030000079c019d049c00002ffdfded012f5f5dfdfded31301311 95.131 +211125211121800300fd800200fe00015e0300fd0080020000010050ffe704d305d2001a0137 95.132 +403a1c400b0b024b55060103370e470e570e670e04006a167a16025516010506150645060303 95.133 +680078000200160c0c024b000f0e0c44170f370f020fb8fff0400b1010024b0f0c0f0f024b0f 95.134 +b8ffe8400b0c0c024b0f040d0d024b0fb8ffeab40c0c064b0fb8fffab40d0d064b0fb8ffe840 95.135 +571010064b0f0645181638160200160c1010024b16060f0f024b16200b0b024b16100c0c024b 95.136 +16120d0d024b16120c0c064b16120d0d064b160c0e0e064b161b080168017801030223100103 95.137 +2813011803380302020c510eb8ffc0401a0c0c024b0e090118000100001909100b0b024b0949 95.138 +1303491913b8fff0b70b0b024b13091903003f3f2b10ed10ed2b10cd5f5d3210d62bed5f5d5d 95.139 +5f5d5f5d0110d62b2b2b2b2b2b2b2b5f5dfdd42b2b2b2b2b2b2b5dfdcd10c62b5d5f5d5d5d5f 95.140 +5d5f5d3130012b010726232200111400333237112335211106042320001110002132048d5397 95.141 +91e6fef60105e1a063cb019350fee287fed1fea101810147e50553a570febcfef5fefeca6001 95.142 +57aafd824453019b0155015401a7000100960000031c0443000e00af401e0a400b0d024b0810 95.143 +18102810c81004c70ed70e020e06094d064d68070107b8ffecb41313024b07b8ffeeb4101002 95.144 +4b07b8fff240110f0f024b07040b0b024b07040c0c024b07b8ffeeb40f0f064b07b8fffcb40c 95.145 +0c064b07b8fff2b41010064b07b8fffc40250e0e064b070f170a270a370a470a570a670a0600 95.146 +050a400e0e064b0a02520c0806070a0c07003f3f3f10edcd2b325f5d0110d62b2b2b2b2b2b2b 95.147 +2b2b5deded10c65d5d3130002b01262322061511231133153633321702cd3e3f6597bebe68cd 95.148 +336003782bba83fd9a042fabbf1200020041ffec041c04430019002201ff408724400b0b024b 95.149 +58170103b807018a079a07aa07ba07ca07da0706025705016808780888089808a80805280838 95.150 +08480858086808780888089808a808b808c808d8080c00571877180208221010024b08180f0f 95.151 +024b08180c0c024b082c0d0d024b08100c0c064b08100d0d064b081f4e471e01021718371847 95.152 +18671887189718a718b718c7180918b8ffe0b40e0e064b18b8ffdeb41010024b18b8ffdcb40f 95.153 +0f024b18b8ffe2b40c0c024b18b8ffd4b40d0d024b18b8ffe4b40c0c064b18b8ffe4406b0d0d 95.154 +064b18011e4e014e87100138104810581068100410100e0e064b10101010024b10100f0f024b 95.155 +101c0b0c024b10160d0d024b100c0c0c064b100c0d0d064b102387079707a707030027053705 95.156 +47055705040207522a083a084a08030357086708770803070817080208b8ffc0b40b0c024b08 95.157 +b8ffd4b40d0d064b08b8ffc040350d0d024b080c1e50470157016701a701b701050001400f0f 95.158 +024b01400d0d024b01400f0f064b010105581a011a5214100f0f024b14b8ffe8b40d0d024b14 95.159 +b8ffe840200e0e064b140c0f0f064b14671401024a145a140205100c0c024b05520c0b140700 95.160 +3f3fed2b5d5f5d102b2b2b2bed5d11392f2b2b2b5f5ded10d52b2b2b5d715f5ded5f5d5f7101 95.161 +10d62b2b2b2b2b2b2b5d5deded10dd2b2b2b2b2b2b2b5d5f5dedc42b2b2b2b2b2b5d5f5d715d 95.162 +5f5d5d5f5d3130012b0121141716333237170607062322272635103736333217161514012207 95.163 +060721342726040dfcfc675b8fa36d502c5b728cca8d9da190c5e5827efe247f56520b025148 95.164 +4f0205bc65585f892c202a8997ff0109a08f817ccd3f0169524e74734d5400010087000003d8 95.165 +044300110103401813400b0b024b070f170f0201771301004d11101010064b11b8ffd4b40e0e 95.166 +064b11b8fff8b41313024b11b8fff440111010024b110a0f0f024b11080c0c024b11b8fff440 95.167 +110d0d024b111c0b0b024b110e0f0f064b11b8fff8b40c0c064b11b8fff8b40d0d064b11b8ff 95.168 +f440100b0b064b11084d070917092709030009b8fff4400b1313024b09040d0d024b09b8fff6 95.169 +b41010024b09b8fff4400b0f0f024b090a0b0b024b09b8fff8b41010064b09b8fff4400b0e0e 95.170 +064b09080c0c024b09b8fffa40110f0f064b091204520e110a090a0a060e07003f3f3f3f10ed 95.171 +0110d62b2b2b2b2b2b2b2b2b5f5dfdd42b2b2b2b2b2b2b2b2b2b2b2bed5d3130005f5d012b21 95.172 +1134262322060711231133173633201111031a6779418e26be823c5ed50160026fab894e39fc 95.173 +e4042f8a9efe54fd690000000002007a018b03c0036c00030007002d401b0105870207061706 95.174 +37065706770605060803840207840706010006002f5f5dfddeed0110d65d3cfd3c3130011521 95.175 +350115213503c0fcba0346fcba036c8d8dfeac8d8d0000000001000dffec04a605b900060133 95.176 +b10202435458b90004ffe8400d0c0c024b040402010502020201002f3f3f111239012f313000 95.177 +2b1bb10602435458403804601010064b04400c0f064b04100a0a064b47080100370401010808 95.178 +18082808580804054606034602067600027601040400754701010104b8ffc0b42227064b04b8 95.179 +ffb0b41a1d064b04b8ffc040261416064b04240b0b064b480401370401170427043704570467 95.180 +0477040600048e010906020202003f3f3fed5f5d72712b2b2b2b012f5ded39192f1810ed10ed 95.181 +10ed10ed5d5f725f5d3130002b2b2b1b40414708010037040101080818082808580804054606 95.182 +0346020676000276010404007547010101480401370401170427043704570467047704060004 95.183 +8e010906020202003f3f3fed5f5d7271012f5ded39192f1810ed10ed10ed10ed5d5f725f5d31 95.184 +30595905230133010133029465fddede0179016bd71405cdfbc90437000000010014ffec05a3 95.185 +05b9000c01f0401401400e0e064b04400e0e064b0e401010024b0002435558401d0c0e180e28 95.186 +0e380e03080e180e380e480e580ea80eb80e070606080702003f3f012f5d7110d631301b40ff 95.187 +4a030145020143087308024c0a7c0a0203280301280a0127080102970101980401870701880b 95.188 +0101180e280e380e03080e180e380e480e580ea80eb80e070000460c0546380c480c02370647 95.189 +0602022806480602270c470c020672070c720b01010a0b04040875070a75680b016707010b73 95.190 +0207730309090275c70301270377038703a703d703e703060003770901016709010809180902 95.191 +680988099809a809b809c809d809e809f80909580101580401004a0201034701014704010107 95.192 +011701020701270187019701a701b701c701d701e701f7010a07041704020704270487049704 95.193 +a704b704c704d704e704f7040a070117010217014701570167017740490187019701a701b701 95.194 +c701d701e701f7010d0704170402070417042704470457046704770487049704a704b704c704 95.195 +d704e704f7040f00097102017104710702090c0806080b020702003f3f3f3f3f10ede410ed5f 95.196 +5d715d715d715d715f5d5d5f5d5f5d5d5d715d5f5d012f5f5d71ed39192f1810ed10fd5d5ded 95.197 +10ed39192f1112392f1810ed10fd5d5d5f5d5ded10ed5f5d715f5d5d5d5d5f5d5d5d5f5d5d5d 95.198 +5d3130592b002b2b2103012301032301330101330104e5aefec032feb7aabe01125b015d0142 95.199 +5a012903adfc3f03c1fc5305b9fbd3042dfa470000010050ffe7038805d2002601ccb1020243 95.200 +5458401907221a0e180b0b024b0e120c0c024b0e22070e1a0425131714b8ffc040120c0c024b 95.201 +1411000401251749110304492509003fed3fed10cd123910cd2b1239121739012f2b2bcd2fcd 95.202 +31301bb106024354584086082401071001002520452065207520042a0b01034828a828026813 95.203 +0113074507223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f 95.204 +451f651f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e042548145814681478 95.205 +1404141137014701570167017701a701b70107000125174911044925091103003f3fed10ed10 95.206 +cd5f5d10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d 95.207 +5f5d5d1b4086082401071001002520452065207520042a0b01034828a8280268130113074507 95.208 +223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f451f651f75 95.209 +1f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e0425481458146814781404141137 95.210 +014701570167017701a701b70107000125174911044925091103003f3fed10ed10cd5f5d10cd 95.211 +5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d5f5d5d5959 95.212 +3737161633323635342627272626353436333217072626232206151416161717161615140423 95.213 +22544938a742758e4f9f769677e8b6f35f3b28a44666752a4b74789679fef7dec343b8293780 95.214 +634a7f4b3746c087a4d84fae1d36745b385c3e383947c598a5e60001009f01fa024b02a90003 95.215 +00254017280368037803a803040307002700370003000004014800002fed0110d65f5dcd5d31 95.216 +30133521159f01ac01faafaf000000010041ffec03b5044300170119401e450501a101010328 95.217 +1938190200870d970da70d030200070d870d970d030db8fff4b41010024b0db8ffeab40f0f02 95.218 +4b0db8ffeab40b0c024b0db8ffe840610d0d024b0d074e38124812028712a712b712c712e712 95.219 +050012101010024b12180f0f024b12200b0c024b12180d0d024b12060e0e064b120c0e0e064b 95.220 +12120c0c064b12100d0d064b1218250a350a450a032a043a044a0403030c52070d170d020db8 95.221 +ffc040160b0b024b0d0f015208001800020000400b0b024b0004b8ffe8b40c0c024b04b8ffe8 95.222 +40190d0d024b0452150a180c0c024b0a180d0d024b0a520f0b1507003f3fed2b2b10ed2b2bdd 95.223 +2b5f5ded10dd2b5ded5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b5d3c5f5d5f5d 95.224 +5f5d5d313001072626232206151416333237170623220035100021321603af5e1d93479bb6ba 95.225 +a580824b99e2dbfee20129010253c203d8861d34d9bdbcc563a0630126fb0100013646000002 95.226 +0041ffec040a0443000b0015013c402517401010024b17400b0c024bb7050101381701114e17 95.227 +063706470667060406041010024b06b8ffdeb40f0f024b06b8fffcb40b0b024b06b8ffe4b40c 95.228 +0c024b06b8ffd4b40d0d024b06b8ffeab40e0e064b06b8ffe0b40c0c064b06b8ffe440760d0d 95.229 +064b060c4e87009700a700b700c700e700063800480058006800040000101010024b000e0f0f 95.230 +024b00200b0b024b00200c0c024b00160d0d024b000c0e0e064b00100c0c064b000c0d0d064b 95.231 +00166a030165090103670e0168130102450e550e650e034a135a136a13030e100f0f024b0e52 95.232 +0913b8fff040160f0f024b13520309180f0f024b09180f0f064b090b03b8ffe8b40f0f024b03 95.233 +b8ffe8b50f0f064b0307003f2b2b3f2b2b10ed2b10ed2b5d5d5f5d5d5f5d5d0110d62b2b2b2b 95.234 +2b2b2b2b5f5d5dfdd42b2b2b2b2b2b2b2b5ded5d5f5d31302b2b133400333212111000232200 95.235 +1310213236351021220641010bdae6fefefce0e5ff00c8011d8597fee4829b021af80131fedb 95.236 +fefcfefdfed5012e0100fe6dd8bb018ed400000300960000043705c6000f0018002201ac406f 95.237 +24400b0b024b05060103580a680a02a805b805c805030178150102480a780a880a980aa80ab8 95.238 +0ac80ad80ae80af80a0a0a1545380748070207200b0b024b071e0c0c024b07160d0d024b0710 95.239 +0c0c064b07100d0d064b07220e0e064b070d10441a44011f45070d170d270d370d040db8fffa 95.240 +400b1010024b0d100b0b024b0db8fff4b40c0c024b0db8ffd8b40d0d024b0db8fff4b40e0e06 95.241 +4b0db8fff4b40c0c064b0db8fff4400f0d0d064b0d24070117012701030001b8ffecb4131302 95.242 +4b01b8fff4b41010024b01b8fffa400b0f0f024b01040b0b024b01b8fffeb40d0d024b01b8ff 95.243 +eab41010064b01b8fff0b40e0e064b01b8ffff40330c0c064b0123671c0101371c471c571c03 95.244 +020a0a111348190722014722572267227722041722372247229722c722f722060022b8ffc0b4 95.245 +0f0f024b22b8ffc0401f0f0f064b22100d0d064b22221a17021048041a1c200f0f024b1c4801 95.246 +080402003f3fed2b3210ed333211392f2b2b2b5f5d717233ed3239192f5f5d5f5d011810c62b 95.247 +2b2b2b2b2b2b2b5f5d10d62b2b2b2b2b2b2b5ded10eded10d42b2b2b2b2b2b5dedc45d5f5d5f 95.248 +5d31305d5f5d012b212111243332161514060716161514040111163320353421220311163332 95.249 +36353426230238fe5e010b76d9ee985cae9ffee5fe423f5d011cfefb644f6737bcada5c105b9 95.250 +0dbbae66a8152ac2a7c1e60519fe5b06e7cbfdb9fdd10a8d9a8f8800000000010096ffec0207 95.251 +05e6000800c7b9000affc0b41313024b0ab8ffc0b41010024b0ab8ffc0402a0c0c024b070a17 95.252 +0a270a370a470a570a670a770a080706170627060306024d070117012701d701040001b8ffec 95.253 +b41313024b01b8ffeeb41010024b01b8fff240110f0f024b01040b0b024b01040c0c024b01b8 95.254 +ffcc40170e0e064b01180f0f064b01130c0c064b01160d0d064b01b8ffec401b0b0b064b0109 95.255 +b705c70502010a081a082a083a08040652070b0100003f3fed5d5f5d0110d62b2b2b2b2b2b2b 95.256 +2b2b2b5f5dfdc65d5d3130012b2b2b13113311141633152096be6350fe8f012f04b7fb695663 95.257 +aa0000000001007dffec03e3042f001200fb402714400b0b024b7714010a4d074d0708011708 95.258 +47087708a708048708b708e70803080c1010064b08b8fffab40e0e064b08b8ffecb41313024b 95.259 +08b8ffec400b1010024b08160b0b024b08b8ffeeb40d0d024b08b8ffccb40e0e064b08b8fff0 95.260 +b40c0c064b08b8fff440150d0d064b08004de812f81202071217122712030012b8fff8b41313 95.261 +024b12b8fffab41010024b12b8fff640230f0f024b120c0b0b024b120c0c0c024b12080d0d02 95.262 +4b12040c0c064b12040d0d064b12b8fffa40110e0e064b121303520e090a0e0b08061206003f 95.263 +3f3f3f10ed0110d62b2b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b2b2b2b2b2b5d7172eded5d31 95.264 +30012b01111433323637113311233506062322263511013bd75e9c19bebe20c15cb0bb042ffd 95.265 +55f86c4702f0fbd1943f69caba02bf0000020050ffec03e40443001b002501d3b62740101002 95.266 +4b25b8ffecb40b0c024b25b8ffee40490d0d064b071317130201672077200202280f480f0200 95.267 +b70fc70fd70fe70f04010025150f0537184718571867187718871897180718254d0a4d881501 95.268 +150c1313024b150c1010024b15b8fff8b40f0f024b15b8fff040110c0c024b151e0d0d024b15 95.269 +0c0e0e064b15b8fff040440f0f064b150c0d0d064b1527214e38050100050c0f0f024b05160b 95.270 +0b024b05100c0c024b05120d0d024b050c0e0e064b050c0c0c064b050c0d0d064b05263a0301 95.271 +032500b8ffc0b40d10024b00b8ffc040320d0f064b480058006800780004000218191c520a08 95.272 +0e52080f180f280f380f480f580f980fa80fb80fc80fd80fe80f0c000fb8ffc0b41317024b0f 95.273 +b8ffc040240d0d024b0f124a1e5a1e02031e52a808b80802580801006a087a08020347085708 95.274 +020008b8ffc0b41414024b08b8ffc0b41313024b08b8ffe8b41010024b08b8ffe8b40f0f024b 95.275 +08b8ffc040131313064b08080c2352020c5212190b020b1207003f3f3f10ed10ed11392f2b2b 95.276 +2b2b2b5f5d5f5d5f5d5ded5f5d10dd2b2b5f5ded10d5ed10cd10dd5d2b2bcd5f5d0110d62b2b 95.277 +2b2b2b2b2b5f5ded10d62b2b2b2b2b2b2b2b71ededc65d10c41112395f5d5f5d5f5d3130005f 95.278 +5d2b2b012b250623222635342433321710232207273636333216151114171522260326232206 95.279 +151433323702e472eb7eb9011ddd3c4ce8b2605036bf57e9d35474732b5a2490b6c5906f7b8f 95.280 +b788a3e11a0104609f2c3fd4e7fe808d2f5f4201df149465a78900020087fe5c042c0443000f 95.281 +001b014d40161d400b0b024be71d01164e470af70a02470a970a020ab8ffe4b40f0f024b0ab8 95.282 +ffeab40c0c024b0ab8ffd4b40d0d024b0ab8fff4b40e0e064b0ab8ffe6b40c0c064b0ab8ffea 95.283 +401e0d0d064b0a111101044d014d1702010702170227028702e702f702060002b8fff4b41313 95.284 +024b02b8fff6400b1010024b02040d0d024b02b8fffa40110f0f024b020a0b0b024b02080c0c 95.285 +024b02b8fff4b40e0e064b02b8fffe40330f0f064b02020c0c064b02020d0d064b021c580d68 95.286 +0d025707670702024514014a190114100e0e064b14100f0f024b14520d19b8fff0b40e0e064b 95.287 +19b8fff0400c0f0f024b195207010e03060db8fff0b40e0e064b0db8fff040140f0f024b0d0b 95.288 +07100e0e064b07100f0f024b0707003f2b2b3f2b2b3f3f10ed2b2b10ed2b2b5d5d5f5d5d0110 95.289 +d62b2b2b2b2b2b2b2b2b2b5f5d71eded103c10d42b2b2b2b2b2b5d71ed5d31302b2511231133 95.290 +15363332121114002322260311161633201134262322060145bebe6c99e4feff00f2449b1612 95.291 +74370162a8b928743bfe2105d3586cfee4feeef4fecb30032cfd901b310190cbbc3800000002 95.292 +0050000001c105c4000b001100d9b613400f0f024b13b8ffc0b60d0d024b097b03b8fff4b40e 95.293 +0e064b03b8fff8b40f0f024b03b8fffab40c0c024b03b8fff940200c0c064b03110e0c4d7711 95.294 +010011041313024b11021010024b110e0f0f024b11b8ffeeb40b0b024b11b8ffecb40c0c024b 95.295 +11b8ffe6400b0d0d024b110e0f0f064b11b8fff8400b0c0c064b11120d0d064b11b8ffd64010 95.296 +0e0e064b11081111064b11130d511000b8ffc040120f0f024b007c06400f0f024b06100c0a10 95.297 +06003f3f10d62bed2b10ed0110d62b2b2b2b2b2b2b2b2b2b2b5f5dfdc610d42b2b2b2bed3130 95.298 +012b2b013216151406232226353436031123352111014b314545313045443793015105c44530 95.299 +314545313144fa3c038fa0fbd10000000001004fffec02fc0558001500cab90017ffc0403f0c 95.300 +0d024b0813181302281701871001109708010809010006090309010c0c064b094d4800580068 95.301 +00f8000400000c1313024b000a1010024b00120f0f024b00b8fff2b40b0b024b00b8fff0b40c 95.302 +0c024b00b8ffe8401d0d0d024b00160e0e064b00100f0f064b00260c0c064b00280d0d064b00 95.303 +b8fffc401b0e0e064b002c133c13020f0d0205070d52120152085207120b0706003f3f10eded 95.304 +10ed10c63c10c65d012f2b2b2b2b2b2b2b2b2b2b2b5f5ded2b3c103c10cd10dd5dc65d5d3130 95.305 +005d012b13233533353711211521111416333237170623222635cb7c7cbe0126feda5b65494e 95.306 +1c768d7faf039996e049fed796fdec877225a71ebd90000200a0000004a805c8000f001a0106 95.307 +4017670e770e02010e040b00460f0f1c16060d0d064b16450bb8ffe8b40b0b024b0bb8ffea40 95.308 +120d0d024b0b471c1044044407052705020005b8ffe4b41313024b05b8fff2b40f0f064b05b8 95.309 +fff0b41010024b05b8fff4b40f0f024b05b8fffcb40c0c024b05b8fffab40d0d024b05b8fffe 95.310 +b40c0c064b05b8fff4b40d0d064b05b8ffeab41010064b05b8fff040290e0e064b051b481701 95.311 +0245150103570e01025513015a196a197a1903101906090e1103134901010519b8ffe8400d0f 95.312 +0f024b194909000805080902003f3f3f10ed2b11392fed333233113311335d5d5f5d5f5d5f5d 95.313 +0110d62b2b2b2b2b2b2b2b2b2b5f5deded10f62b2bed2b103c10ed111239395d313021012227 95.314 +112311322433201114060701011116333236353426232203c3fe794391c80b0121420210aa75 95.315 +01a9fcc04844b4a4b0be1e02750afd8105b90ffe5c8add1bfd5e0505fe240a74957b6c000002 95.316 +004bffed03ec05e6000e0019011e40161b400b0b024b004d0d190c4d470d010d201313024b0d 95.317 +b8ffeab41010024b0db8fff6400b0f0f024b0d080b0b024b0db8fff6b40c0c024b0db8ffe440 95.318 +0b0d0d024b0d0c0f0f064b0db8ffe2b40c0c064b0db8fff240660d0d064b0d140c0c0c064b14 95.319 +4e87060138064806020006080f0f024b061a0b0b024b061a0c0c024b06120d0d024b060c0e0e 95.320 +064b06100c0c064b060c0d0d064b061a251635164516032a113a114a11030358036803021618 95.321 +0b0c024b16100f0f024b16520311b8ffe8400e0b0c024b115209480901020e0a03b8fff0b60f 95.322 +0f024b030b09b8ffeeb70d0d024b09070d00003f3f2b3f2b3f5f5d10ed2b10ed2b2b5d5f5d5d 95.323 +0110d62b2b2b2b2b2b2b5f5d5dfd2bd42b2b2b2b2b2b2b2b2b5dfd3c10ed3130012b25350623 95.324 +22023534003332171133110326232206151021323637032e63bdc9fa0120c7a656bebe487d99 95.325 +bd01602d7e10014f630120f0f101554e01f1fa1b03366ce4b0fe7d392000000000020050fe5c 95.326 +03c804740030003c0160402c48195819681978190400272b372b020265017501020320101c12 95.327 +064e282b382b482b582b682b782b882b072bb8ffeab40e0e064b2bb8fff0400f0d0d064b2b19 95.328 +3a4e1c0e1010024b1cb8fff440860c0c024b1c120d0d024b1c3e00234e0d344e12060e0e064b 95.329 +120c0f0f024b12120b0c024b12120d0d024b123d17010188199819a819b8190488189818a818 95.330 +b81804280c380c02006701770102026a317a3102653775370203102037281a171f181537180f 95.331 +0f024b37521f40090a064b1f9708a708b70803970ba70bb70b030028530825530b01b8ffc0b4 95.332 +1114024b01b8ffc0b40b0c024b01b8ffc0b41114064b01b8ffc040090c0c064b0103522e31b8 95.333 +ffe8400d0f0f024b3152152e0e0b061507003f3f3f10ed2b10fdc62b2b2b2b10edd4fd5f5d5d 95.334 +d42bed2b10c6123939111239395f5d5d5f5d5f5d5d5d5d0110d62b2b2b2bedd4edc610d62b2b 95.335 +2bedc6d42b2b5ded111239395f5d5f5d5f5d3130133716333236353423220623223534363726 95.336 +1134363332173717071615140607070606151433323633321615140423222601220615141633 95.337 +32363534266067a68c8195bc20a82fe46b4fe2eaac9e595f7c7249caa49d1c5e622bb62c9eb1 95.338 +fef7cb68e6014d637d796765727bfedb986f59428220ac3556136a0106a8e0417275565f99a2 95.339 +dc101003251e291f978694b64a05048c6470938f74648c000000000200030000000000140001 95.340 +0000000000340004002000000004000400010000f016ffff0000f000ffff1000000100000000 95.341 +000600380000000000170000000100020003000400050006000700080009000a000b000c000d 95.342 +000e000f001000110012001300140015001605e6000005b9001905b90014042f00140000ffe7 95.343 +0000ffec0000ffecfe5c000005c30000fe5400000338000005d300000253000005c8000a0000 95.344 +0000000000000000000000000000000000000000000000000000000000000000000000000000 95.345 +0000000000000000000000000000000000000000000000000000000000000000000000000000 95.346 +000000c800cd00cd009600b400b400000000000000be00c800c8008c00a0009b009600000000 95.347 +00be00c800c8000000aa00aa000000000064007d0082008c009600a00064007d0082008c009b 95.348 +00d20064007d0082008c009600a002300136011801a401d600460218012c01c2000001d600eb 95.349 +00eb01d1017f0154011301450168012c008d02350159033f0505012c00b4006e0136015e01cc 95.350 +01cc04d8006e006e01d600d2005f01f4012c007802d00190037f00800280006e00b4000000a5 95.351 +fea2003200b9008c000000000000000000000000000000000000000000000000000000000000 95.352 +0000000000000000000000000000000000000000000000000000000000000000000000000800 95.353 +05e6000005b9001905b90014042f00140000ffe70000ffec0000ffecfe5c0000000000000000 95.354 +0000033800000000000002530000000000000000000000000000000000000000000000000000 95.355 +0000000000000000000000000000000000000000000000000000000000000000000000000000 95.356 +0000000000000000000000000000000000000000000000c800cd00cd009600b400b400000000 95.357 +000000be00c800c8008c00a0009b00960000000000be00c800c8000000aa00aa000000000064 95.358 +007d0082008c009600a00064007d0082008c009b00d20064007d0082008c009600a04036544b 95.359 +214a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f18141110 95.360 +0f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346236120b0 95.361 +2661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 95.362 +b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c4523462361 95.363 +b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd442320b8015a 95.364 +51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d44235921212d2c 95.365 +20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00b10a0b43 95.366 +23430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b003254561 95.367 +64b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c2069b04061 95.368 +b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87b0112bb0 95.369 +292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c01b00525 95.370 +1023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0062510f5 95.371 +00edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b006430b2d 95.372 +2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b59b00260 95.373 +2d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb840006260 95.374 +23212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b004254523 95.375 +4520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b04061441b21 95.376 +21592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121592d2c4b 95.377 +515820b0032545695358441b2121591b2121592d2c45b01443b0006063b0016069442d2cb02f 95.378 +45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb333003400 95.379 +5944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b001615923 95.380 +586559b02923442310b029e01b2121212121592d2cb0164358b004254564b020606620581b21 95.381 +b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b004252046b004 95.382 +2523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b00425b029e0 95.383 +b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625b00325b0 95.384 +016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b04059b001 95.385 +6123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b0042523423c 95.386 +b00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b0042510b00525 95.387 +b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b00525b00325 95.388 +4348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 95.389 +46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002254348212121 95.390 +2d2c452320451820b00050205823652359236820b040505821b04059235865598a60442d2c4b 95.391 +53234b515a5820458a60441b2121592d2c208a08234b538a4b515a5823381b2121592d2c0020 95.392 +8a49b0005158b04023208a3812341b2121592d2c462346608a8a462320468a608a61b8ff8062 95.393 +232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b0106068013a2d2c20 95.394 +8a2349648a2353583c1b21592d2c4b505845441b2121592d2cb0024354584b53234b515a5838 95.395 +1b2121591b21212121592d2cb1020042b123018851b1400188535a58b910000020885458b202 95.396 +010243604259b12401885158b920000040885458b2020202436042b12401885458b202200243 95.397 +6042004b014b5258b2020802436042591bb940000080885458b202040243604259b940000080 95.398 +63b80100885458b202080243604259b94000010063b80200885458b202100243604259b94000 95.399 +020063b80400885458b202400243604259595959592d00000001000000050000f72805665f0f 95.400 +3cf5001b080000000000ad61b71900000000c142e956ff50fde708a8078b0000000a00010000 95.401 +00000000000100000783fe39000008e9ff50ff7808a800010000000000000000000000000000 95.402 +00170400008005690050031c0096045d0041045f0087026900000432007a04b3000d05ad0014 95.403 +03d9005002f0009f03f60041044b004104870096025c0096045f007d04340050047500870248 95.404 +0050032c004f04a800a00475004b040400500000002800f40166029e03400340036c041a0532 95.405 +06520672072807f0090009780a160b380c0e0c9c0d240dd60e920f98000100000017004d0007 95.406 +004b000500020010002f0055000002f001ff00030001400a54bfa50140a5111546a4b8010cb2 95.407 +321fa1b8011540b21f1f6fc731216ec731216dc731216cc731216bc731216ac7312169c73121 95.408 +68c7312167c7312166c7312165c7312164c7312163c7312162c7312161c7312160c731215fc7 95.409 +31215ec731215dc731215cc731215bc731215ac7312159c7312158c7312157c7312156c73121 95.410 +55c7312154c7312153c7312152c7312151c7312150c731214fc731214ec731214dc731214cc7 95.411 +31214bc731214ac7312149c7312148c7312147c7312146c7312145c7312144c73121b80137b2 95.412 +6f0821b80136b26e0821b80135b26d0821b80134b26c0821b80133b26b0821b80132b26a0821 95.413 +b80131b2690821b80130b2680821b8012fb2670821b8012eb2660821b8012db2650821b8012c 95.414 +b2640821b8012bb2630821b8012ab2620821b80129b2610821b80128b2600821b80127b25f08 95.415 +21b80126b25e0821b80125b25d0821b80124b25c0821b80123b25b0821b80122b25a0821b801 95.416 +21b2590821b80120b2580821b8011fb2570821b8011eb2560821b8011db2550821b8011cb254 95.417 +0821b8011bb2530821b8011ab2520821b80119b2510821b80118b2500821b80117b24f0821b8 95.418 +0116b24e0821b80115b24d0821b80114b24c0821b80113b24b0821b80112b24a0821b80111b2 95.419 +490821b80110b2480821b8010fb2470821b8010eb2460821b8010db2450821b8010c40ff4408 95.420 +216957311f5857311f5657311f5152311f4644311f4544311f4f4e311f4d4e311f2097309740 95.421 +975097043088010f8c018f849f84af84bf84cf84058f689f68af680360697069028f5b018f5a 95.422 +017057018f509f50af50bf50cf50058f519f51af51038f529f52af52033f7c4f7c02507b607b 95.423 +707b03704e01708f01308f608f708f03008e01008e01408e708e02008e308e408e508e608e70 95.424 +8e06107040700260740160730170440100282800000012110840370f3fce16010fa21fa20218 95.425 +c7312114c731210ec731210dc731210cc731210bc731210ac7312109c7312108c7312107c731 95.426 +2106c7312105c7312104c7312103c7312102c7312101c73121407c00c73121e0180821dc1408 95.427 +21d60e0821d50d0821d40c0821d30b0821d20a0821d1090821d0080821cf070821ce060821cd 95.428 +050821cc040821cb030821ca020821c9010821c8000821230e45220c45210a452008451f0645 95.429 +1e04451d02451c00451a08180816081408120810080e080c080a08080806080408020800084b 95.430 +b807ff524bb008505b58b101018e59b0124b004b5442b9000101ff858d2b2b2b2b2b2b2b2b2b 95.431 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 95.432 +2b2b2b2b2b2b2b2b2b7342011d4bb01b5358b0961d594bb0325358b0001db1160042594b20b0 95.433 +325323b096515a58b0301d592b0145695342014b5058b108004259435c58b108004259161070 95.434 +3eb13737456920b0005458b040605944b1300070b33200300019701870737373737373747473 95.435 +737373737373737373737373737373732b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 95.436 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 95.437 +2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 95.438 +2b742b00000000> 95.439 +] def 95.440 +FontName currentdict end definefont pop 95.441 +%%Page: 1 1 95.442 +%%BeginPageSetup 95.443 +%%PageBoundingBox: 0 0 366 156 95.444 +%%EndPageSetup 95.445 +q 95.446 +0.0823529 0.580392 0.0823529 rg 95.447 +BT 95.448 +8 0 0 8 222.394666 145.083551 Tm 95.449 +/f-0-0 1 Tf 95.450 +[<010203>1<0304>]TJ 95.451 +ET 95.452 +0 g 95.453 +BT 95.454 +8 0 0 8 244.004041 145.083551 Tm 95.455 +/f-0-0 1 Tf 95.456 +<0506050708090a0b0c0203>Tj 95.457 +ET 95.458 +0.0117647 0.0117647 0.721569 rg 95.459 +BT 95.460 +8 0 0 8 298.536267 145.005426 Tm 95.461 +/f-0-0 1 Tf 95.462 +<0d0e0f03>Tj 95.463 +ET 95.464 +0 g 95.465 +BT 95.466 +8 0 0 8 314.161267 145.005426 Tm 95.467 +/f-0-0 1 Tf 95.468 +<0506051011110e120b1013120c04>Tj 95.469 +ET 95.470 +0.588235 0.0392157 0.0392157 rg 95.471 +BT 95.472 +8 0 0 8 162.495227 145.005426 Tm 95.473 +/f-0-0 1 Tf 95.474 +<140315>Tj 95.475 +ET 95.476 +0 g 95.477 +BT 95.478 +8 0 0 8 175.963977 145.005426 Tm 95.479 +/f-0-0 1 Tf 95.480 +<050605110e0f160a1204>Tj 95.481 +ET 95.482 +0.8 w 95.483 +0 J 95.484 +0 j 95.485 +[ 0.4 0.4] 0 d 95.486 +4 M q 1 0 0 -1 0 155.935211 cm 95.487 +106.051 133.129 m 85.43 122.164 70.191 113.375 70.191 113.375 c S Q 95.488 +72.852 38.791 m 69.273 43.08 l 74.777 42.131 l 73.484 41.564 72.711 95.489 +40.213 72.852 38.791 c h 95.490 +72.852 38.791 m f* 95.491 +Q q 95.492 +q 0 0 367 156 rectclip 95.493 +% Fallback Image: x=0, y=0, w=365, h=155 res=300dpi size=2955450 95.494 +[ 0.24 0 0 0.24 0 0.895211 ] concat 95.495 +/DeviceRGB setcolorspace 95.496 +8 dict dup begin 95.497 + /ImageType 1 def 95.498 + /Width 1525 def 95.499 + /Height 646 def 95.500 + /BitsPerComponent 8 def 95.501 + /Decode [ 0 1 0 1 0 1 ] def 95.502 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 95.503 + /ImageMatrix [ 1 0 0 -1 0 646 ] def 95.504 +end 95.505 +image 95.506 +J3P/PW$E,P#D#)]Yda6_*=IZk@Smti:+[9:6_dMgggVWNO%&)l3,F<u-'Lr3ni8Oi=Xo4rAe 95.507 + MXrJnFtN9]iX;9Zh9:P"TG/l2;B;6]T<ce+t'$M+3>"ku50(ntAUMcm)Oo767PIW6f'4L\5 95.508 + \kA?XR`oI6ngb@$B1Xu2,k(=?iT>clVY*TH%*\_C`i]H,l'I_aEM\,-pfWJ.h;Yh9F33aZ( 95.509 + 0aK`4DVIpEFWTEaCRq?tVS%dgY=GpbJ,H]O/Zl3]AP@]X%lggJ"c<!$+dd8mf/\XH'QJ?:, 95.510 + HbLg3Kn/(Q2)]l+lRfO)EV)>+[?Ad(f6041Y3,bl8*7kdSpsb88$VLUH@&DRa+9rLG^FoND 95.511 + ^X2u4q@0,r4R%'`mh`+CX3-Y/Xua.5d1A%#rg$9-NZ;D;c(\#%]h;k6Ed`o#K06XUA708PM 95.512 + G:_:Ffu[_f+m=#JX*b1AAfWRnX)R%nq*]_D+/;'#*l]AK8dRj:r0DD<q!/7PT4,JtE[WXFh 95.513 + Z%&tXd"P3e-lbG\<=0[)<K9emh`JeIZ!o0gPR9_.hr2bc)[-TY#%SBE?*drat:bDCoB2p^\ 95.514 + n#+s4[[-p+RZg?d-;3YfA5:Fucq*iMlPhS^T'W!*CVY!QK7oM7p0hYCXV+jc^<9,W0bnVuW 95.515 + ;'\#1='3nWbstl423K1f,Ls10@9#0RG=gC$oaOu)1lX_4:f_(]?<@nYX%h,EofY]E<IM,fg 95.516 + %F`jAD5UfkAaVsrQ/n[<rLW7fTbd7Q.hRAiHnn?75\r32k?jj?WEB-I+[!jc#M*rogs_mfE 95.517 + s?Xc5;8)LI&ErrJ'7?Sb[6`R%2i`h\a?dOAraOhg&WhV?)Y,pngWC_>'<<HV8THbEl\k:2c 95.518 + M()#a&;<d>/)Cuj8$UR*aGhHQ:WH5:"[<k4sRR:84"Q_J2?[7Qun)E$3<CV!K)0ZoQXn$AW 95.519 + J8e-9C3NfWck=j1?U$@Y$#G*$IhNOmRD5QKdgRF38]B"+s\\.F#4,(H7qlMS1E11ArOmUq9 95.520 + L@aukN:"^W=oK/O>l7o(VX,8eMp?*>#:mN.qtEUlFd_W<c>Yn4=0H,Zf/(A1]qs%_DgQtSd 95.521 + rO.QKg9Z!7glQlR\+k)oNfIXcLtO.;;1iK[iMO@*Ij(9pn#6MAp?Km\^u.5-`PRA*VL)_o3 95.522 + DmSNrCnS"dFBUs0L'u*S7sa?&NlR:(;K_=8q==S#Loj[HfrQmdhD3[sZIF#JesToA!9NI]q 95.523 + `/_$9E*hFn`'mVW'A`_uo19C-Om*W8<jB*D^jb%U4rk<_,gpgJ7EGjW?Z_1pn5Tr\o\&8@h 95.524 + ([`8\_qrBIBJg%mB56BR*4akPJpd=17oO/F/I.1;i6PcKkU4a5-YiZ9]UDF?2)ZbX)4r>s* 95.525 + aU;=j`em/1[C2Ih5"I0%7EPKS.<Cl4;m_'I#l-8#1R*t66B.%?*^ut4qP'-`NK8m`"=4p5+ 95.526 + V"i/P#;H2UY.PTj><,mE\^69.6`&'H8Lf5AjeHY)^(tFX-(iOk=HO`WMP0`Pp^<CSTt/de1 95.527 + @MaZ>rV`q0sgSS;B53(.-27%ZViTk`HM??6_I!2!"#'R7S`58U4(BAq[=S;d+*6fi^&lN7= 95.528 + .L12T[pf/=sB,b/Qa782qCPG[..T/$mpapIG\,h1tD1M0_7oO0m0]Z6RB*`u)rP<W2M!M=G 95.529 + !GgP]E4"%]"BG7D(:>-.CB8jEskH]BYl5;j`XV.=KqMEWM0g)ERs.r[-Qr4hg6k4V*85mA[ 95.530 + OHKs:)e+([eIJ<Q;eJt-77jIY/uDV%SQ"g-;6!VkW`<6)<U.E1X#4dt<SG,flNL^u<K=@c> 95.531 + *Va]2/00mY-qBbh-93!E@3Wd\lW)&?0fITY>qa4=1\?;lihsE<Xu]BgBh<T7>\9M0#f"_f4 95.532 + /WNOg8"_b#[g;ASf>"NW]Zra.aJ:m002j<e,s/4&'GV7B*[qY1?e26YUC[Z*m]Yg07cuD=, 95.533 + <Q[3TeK>MFREmKLG:<gqlM4,n7I?*LjU0%SgYR<.eMdCNA?NSQ[uFmd5^\@6)<>8s,WDEZm 95.534 + i(QS&lHae9=7Hq@LT(QD_`HuIHn%KU`qHH&7I;d+#[9)5`>q>#dDJc#](_6Z)bR&jhD?don 95.535 + )ZSa-M1DgR&\T#3$"7&9KeTpG_73\YiLE&UDQY)"=%<[.4)'IhQ70](Y1qr?f+;[4&B1$_) 95.536 + Im#hNUb"Ka&qdOA))KnnchD$=Uu]e>`Fm:7S1^)0.(5bSWiW!;9E$;.V2keQ1Dptb?8a9AZ 95.537 + -o68+p64=cY=M>g8].7VU+MY;U"Jh4+"jER%_53bM^bSb'jHcWT^#BAEHXoEGULOjUS5Pi% 95.538 + A*%Z/S:01KX2*M`7]Oj[E/8nhQ_V=_cqdopZbC#(qMo`h,6`61J\><S?j=SNp>^gIA^fIF_ 95.539 + i44Y=n=R/+eX`_Xjf37';lOg9J`?!>IUS)^Ec&JlL5/#WQb]=1iMfa,U`S!=KA8PV=XEGHE 95.540 + \g'mAM1)A2pBJ_TTh$V<@>GpkY2A&>>@)2dlZKZR;Vc\TG&*XuY\o3KhL"^;K>"%e2Ko#TS 95.541 + .BH']t;(i7^:f3RriV@#J51LnD'NqJT#sjYrJWZffT2sD&tLNp!3fQ)foq;Y"c_,?.7WbIs 95.542 + LJM-+pcQ+6)&<N,p%W\2`Trj4rNpMSOTML,aSlU[]i!/re9T7nMrN0;`jJS^[Fj;<hF_;// 95.543 + E&:WM%a[=];Z#GE[MJ6-+E4bL"_?HLmt+)1)tX0`;o(aCYho,L,U[J+"Th7I<FlpH;-MgM5 95.544 + V"i#<O?/NMCY//nK(")4gpVHWC*Spr2-Ns@^`q`sLgA+IknfXRJGlKGOH[g&'IWs4cn.jkC 95.545 + s*aORHe*G&(!sX$Z0WNMb'Iu;hL*Sqo7#TIp?pm]4@d'XhA=[I%fu15B5@1l6cJta47+Yln 95.546 + bM&N"ac`4mf'-*pYLh>I@n45^+I\+s*qZj@6Q(8Vs4.eYP*G&h>@5-nbunAqL;d$eVE1#O# 95.547 + _gCI4r\Amdg6nJFmd\p@#l/O2guL$LJ@i\aQ!gE"i=KTXmqt!\\HfbF\SB/H?=b\aP.P%p& 95.548 + bsQN8b:ordHMmhl6=W<-k1!jG;c&2:YV2$NFV"07gln2CS)p@#1_n1[iD0H.K`*sYTV"cK& 95.549 + Xd!l6/aL]`2#r$,d0F%EYM$G_&\I_=6!J1d=hYtm4$a@;PnA,Me`=-_-%'[tbn'_4F$IH\F 95.550 + s/jB2%TqVkB"@=$kE,&^:3*n*G2s50fe,\'mR[m@;$h,>iNVb.:0dWJ-P5]a%VqIBYko#lr 95.551 + 7T?qg/0-R;#\"f!tt#t"tQ#$EB)lr'*=:4&i!)mbEihR"P`G:\T%9XD>OtsQP4@4i))VI&O 95.552 + @28D\R.p'X;'!;,Fe8<>7/j&ro$2/l!+R=p;)!$S]%!&YU*tV&F?Q)R6C_nZa#f[2Wn6%8b 95.553 + XA932E2,k=gC*3ma.n^/@-QldL2*\j,l;:Q^BjW8F+*jP)RnaR\UocJ!@ctbW\n+dqWhX(l 95.554 + 6+-I'Une!#tN?+/:n?JN-;B[5>,pI@Y,-idEnhD@?QQ+1D+=gG3;@=^I73lnF,cm%MOl%&I 95.555 + 9dOg_-*gf&nmNk#AL;B2,E"W.b>TYuaX30r-aJ.Jl]3>)*?GiE.'eg\nrY@VPppaA.BF%,d 95.556 + +CXgg^6g.,Vko?o!']#%NhDN)hD0-ZFqe%^)]M2)=k0do$K$EeLbgp/[F1R66+L\DU@`\[1 95.557 + [TPEo/N*oe1@]0=(O0o)UO$"Yb!(0WTaW1&iK(kg^;1+E#XXdg\&g,r0Nj1:&Pfo.`$W2)B 95.558 + ;5dSg_W1''+MV^eur1UBe4o2.A$<Aei#27$RGo3jO#s!eA.1f=K,OpNtHH2nV(2m[i/F+$# 95.559 + %`AfZ$[ZcP,lj#NAGrATh3O>8:o-,51fGT7e)1a7Ti@54dBFB>?&qDJoTIW)h\N8\"3e<\S 95.560 + JGD>aL`J;(\F\>n1Pn7;ppM>'5-p?\!MM_6H5e[8\+B//%c.e]PQ1]Q5dUS.<"RSgiAqYj6 95.561 + *0rAOhicYEA@',]egHi!FuWR2*c6o5qQ-FPQs/]Pe&[45]bsK1]eNd<C'=O6n;n=bQ10@DA 95.562 + TZo2md67XT:c\&OSh26]U%k'Nl]GDar5i`q4C@1cIEo3Yk\I6.DF4+eTGk,>'+'(;QjUNuL 95.563 + ^,WCh`U(85LeN1TJI5=S?b5P,=Wi0ut$bS@t$("9uno=[m4^J6WM:34<7@Ak2TWA'Q9)"WS 95.564 + O$]dXgM,10^8!A9o979!t2+WsN[kp`GeKHl8j[nd6&YU*^odh'?"or(O;ft0#Ps&)(5uX%( 95.565 + (1Ceq6,FTbm^DdW;rM^oMk`t(CJ<7*9f)@f<G>/B&C+5u-PGf$cG_OHZWB"/5]h9>'Lr%$A 95.566 + @V;j=gNDgoq9V'QF1k4^6P_,26P5IM-8;[=Rid^oJ'RnJQjZU>BRJ8[D]J<_+/T(__p%;!7 95.567 + =g[,6j1W9;-+BPf2&$aNq6>30_`.!S/=.f0!$o@'o6-eEo@3aYGaP5c]rQZ\:j>K2G9k30X 95.568 + KQocIH1Pu&4V\WpB/og`$56"Ete;X8%-Fum1!p9f&e2q@oT2Hr,K?WWBg1_UT5ZYq[`n@Wi 95.569 + "@oN\:!Dci3O$m$'\e]]s[3j1B<jYnn]XF9:'SeW3DU2@1B_.'o&[uK?>A>8]C2?UZ[]ML> 95.570 + YdN&h^37\21!a0def/$s'hjfu/N[e8lXhquAoXYT2?u<e&NkWS*T=N92XhPL`Y___42JoX6 95.571 + ,t`<'f_J%[o<;dQ70/k;B.UUZnqIr2Aun&Bkroh7eE.V2^_D-jZW=a\J@\Wp-Ws;>S"XJ)f 95.572 + &qp(J;3h.^TuU5aED5;u^P^JTeKgc4t[ab>]H)F;I6C';7L4TfO,Y;AC_*EH?b+pDUCQ'gM 95.573 + @+EqY2HQAKr(NEIc-H?8[C1^@g?heQ;*](a@p=.NpP$[NurHblD%Zhk\CcH#\.AlmSblUQB 95.574 + Ti#=PYH]08"G@MQ"i3b3L*<D<@+bC0=h!Yf+aB/YqGQ?"=F*\Ym)IX*n!=qq(`GkPa[kl8a 95.575 + QS3@mlF6NR2j^VReGDLTfX<X@3EJDPFu)(b$%OPVFphkEJasVnHl]XcLI'Y%Qu.SD.t>`ZJ 95.576 + p6W$%'auVKo"8rM%&Qkp2ImU#BFsTLlS<`25uJV=_JLF5&B2*R'aT;Yg:t"<AG)DCit]1_d 95.577 + ure_"c<5:sFRWA/_.('@,3iJNV$+jO6*GFuKO@=>`0`nPY]hL$N;9=#.4O><)@$[^?Q)=AH 95.578 + 96qi2&(Lb!9Z!K\>p=q*aH)Rt?@2*$heLM43>NNGBhd+:1cUOW)5\("i,FVSJpcV[fC[b!r 95.579 + 2<0]uG4[F6;P`%muq&_QK)RYp25.>;k<e6R;EBj36H1VK1PuEi]7r)6>Q)d]Hi;#mZ)+YH+ 95.580 + Cm_>l'U+nd7^[NHRp!:gMe.hbI()+n'3UAZ3KoET]q'Ep=fYIe<e6VoHUTbkJ$Y$>H,3"WK 95.581 + 0E<q[.J9k2'kCF<k<RP[CP%_i;&s(f:I'PQh5!a=qV@7$FJLtQP4d2=r+PLbEk5uQZJ-G3L 95.582 + -/G[A5<?Cc3KF<LgMl02Yn,!#+IA=P9:68#=!$[[K]GoTtZ_;l?'6[X'#\\@\J<7-YW_[DD 95.583 + 2M6.G:D[?")k9R3b>CKkbbm=Y)nO`_O2FDEis2RV5-7*B:\(W/eT.AcmF]GW;a\Ns6]=0;> 95.584 + RQaaAe\ocFX5F"&L_HL`R=^>NZ&Sg$%Zk^hq==K*[l]dhM3;X%)qTEX,L:,bTVj1bllVUoV 95.585 + %p\uFHMV!SZ\*[q2d;b5Xa0r;4#"'H,A?s$[/&6M.nr2$CJm%=ZT?&k)aQmH'=N$,Chp5Xq 95.586 + 7=.A=(g8k[+,,b)Eh6XGGu>'\(QU&4*ar?9<iW3BGI4UgRXdZM5Rki=K>pt>B<\(VRTi]SJ 95.587 + l^KgR]<&UV']iZe!"%RtkKXMls0HWN0UEb^7)6/"s$j6Q7*m[.5-"j:6`k%ZBLY$Vc][#S* 95.588 + *['LA`595-FQiYMX0(DnfX2@hmuafC>N_H\P,fJ.;cZ,;K6:0[k-4?^Qo09@<e_8/QmN7"a 95.589 + @H+'bbVRK."eKL)+=bS^V@d@<s\Wk'TO1mDqT7N$3<;Xae!C/\b[aer^3(+EQBh8,BaNZrP 95.590 + MeuIeSdFAFPP.SN>NiN-pr`NScZrAE3EF!V\Y+#mMR6)T>]-oM3B0)#+8=5L4EYsE=3c#+$ 95.591 + ,#T#\k0PM6&'/T@l2MQgOjOqq6@S\d(>L_Y2@PKs)S"3ZMO."=fZsP1pq`"dPp0m<#*`Dcd 95.592 + ')/cp@]YMbVZo):DeXX?AGelTqrTfX?2;5eRcBb<^1I)%%<g[5s)#fLc,_Z6/a\fR&TU*1P 95.593 + Atq78E/eJet/)jrY>rjY)BU\riW*GPnoDRA5BdJT?_SW?1pPL?"sF$6)HSY-:u)1nnfeQl> 95.594 + (I9h<WrR!]Dc1C8H.mq@@O2sKMY5?PPq<ldWCX*UIZuc8746F#cX#IM1c/&<+h;-QG6e.lW 95.595 + F$3rGSUH524j`h8OPRO<1P=)f_UI93[D#8@Or7TBOq8c<mhDaO_32<+)/Xq)JN+G4*c:&&K 95.596 + ^UJ27N+AL)M%5Rc_'&9[2gpaSS#:=-_EE:hGaSApE-j&A@gK)`rH-AI&YlRB0O$(dZiEZeE 95.597 + b$M&&TM>ZohFVPJQTY?,Q@JmBl1A>Y_`ag$KjF:>Xr*94L_%05hc:mFDq4hVuc6)saP'Ed5 95.598 + 4=D-(d:Y?F":lWp90X&\,)1<"RQB`1Z61YJY;PsE#/^!lG_1O6';<V!SHo'IaH$Y0tQ:`S" 95.599 + iog-jGeQZ%BijW8k[>e3/F\EfW=;uER;`QNPm,P&CeQ]C<;-o$be*lJq[J9`\Y5ac_T:,<" 95.600 + Qg33(aDTo2H2EE(o9MP_`d`n1^SAEQ\%A2X]?>9;5HglRPGJ/RK"eST*T`_.-GS,Hs$@$qX 95.601 + <U#4H.L^!\%#B[%0hIa#mGrIekhG2/f:LA6/^&pPU0lPMa>t"Qt.s$(P>3<&B@J)4XG\),n 95.602 + Rq0Y"%Z>7?<WM$jm4ELFM:?H$gB3+bibU')D/PK*=tHj>:u.^*N3.d9lF/m"V,JTuQ3%#`M 95.603 + Ll>,bLPZ>.'fa&&!F,uVi26=P>1^nMTJe:*0m]#geNS(.k$1mb^k'mnDA?H9rSD"g%k(7Qg 95.604 + $aDo`]>^F_1-J!$t.0]PY=3aBV%NH5O9nm0;,o"M_<hWl^<Fa_JK`bU"SQN&j41+ikD34"_ 95.605 + <3=[=)_9!%nm"<Fk8-kFD'N6]%.<58b/3]%MD"`kb3sQP*Zl2ZalW,>r>qS4YM&<!-%S=bL 95.606 + We_9GIEuJ5FWr#J]4,?WG;Aq0H96Y5c(]`.NO8+UrAjY!J(<hE$Qn:5pE*Q"[15mg8g2F!j 95.607 + <1t$!T`h\uLE[\]%,1PnD""oKY6$d.C]G/;XG^QEeiCI*]^9"G63-VKjWuP(9Wo$Ckak`uu 95.608 + _6<21^0Ou/:M8M[Z7Fe6WW?<8(7FK[Dl1;q?jJu56mC+(k8__OpWK\n%L1KmL/MhRh736]j 95.609 + 9b'9O+N1WBuNA>O0W!U(b_^eD!P,$#jZqh[=0"Ns<[7>hOa%,b@JttoAZP&2+XF3AO7ZO3u 95.610 + 9#^5H4[dfIm5[qmFeVJ/J7Z]<>h9;i7XUXOM<%-gVYtXC$0$6!T\.f6FN)pufl5p((36'NQ 95.611 + =j3sB%qKgTk#%L!TdM?Cf4sg<XAl6[FI!j6Z`;:F\t_9UIF'b7'$RSON.rcL5K<][:FmEc8 95.612 + G]MZM.PuK0-$EHEAL#L#0j(GN'J\,^2E!JNS_]3e$,Pk!FK,GpYk,A*<8@Ip@r&GCla:Ec4 95.613 + Ui/n0@.UbS(UT$h-2'X0HQRmOT]X.:/j<(Hq2NTVil=Rp1HqO3jQCtiRnBiqZMfVi\83NOB 95.614 + >DLI6f\q2*!C:Y].]eoq&GC?qt;QlM!>:pk`Uq+5-p#X^V@$TkFP-qWkGhRA:,C2Za\uON8 95.615 + 7Yu,&*khVj/]2h3E`upFaC^sJ/]49P:0<*dPh,hhDKr>)+EC_`fsg/r%a`2dl6M%3T4cis? 95.616 + PhPMH/5%Y-Um!=IOC'6GlC$&%5DIG,"TMRJUjjAAPlG:HLS:!#!pB:WU"mq":t"tISYZOa1 95.617 + %B%cLiU?LW-lt5@5OAguFI0iI+5>rB)l#LHUDYJ/njPmi-pFAe'BZ9?%P'(eL8VV6mg"e+i 95.618 + H.M;^TFfHs+]>RaK54Y@<P-O!GkB7hI84f([S!FV(@K5$i\%J?OrhCJ:J/7bB?UM<.'P5cd 95.619 + 9:lCN+'J\Rg$\u[g+<iXQEaC"R-cMZ$R)1+JR*4_:bu'+Y-h9LDUCh3RJUJ4hAJ<-.^a.;9 95.620 + gCWIM5oPjeL;\Zp_^OHLf&GCfZ-GE_&H!W)g:g^0hDn).@V"Mm5nsHoF%8e6*S,i$N[iU10 95.621 + XDc9hha^XNG_=^.4TAq=[7Fibnirj!9dmk.?kH7:.bgDMolC&PQ1bY\AnIFfJIM//?+jhB5 95.622 + oOogEpJ?W^`._?Ap(,@XY@9`h!DN<T?Y>Qn[@-)jm![*%]$ra.cVG"&b+hflSUj/c!V7'f[ 95.623 + :6nsBP@EZ$dq31Y,j+Hh,3]%>b!Rrn"fEtpu7e424U.6*oR/p,@KW9me7niP;IJkHEr4Qj! 95.624 + ,C(n0m2.r+:&JY)5ZW///Z2[9!KbC)Co_,3aieE0nD[l::P>Z^(8nh0gI"[`2%\_DG`X$Gk 95.625 + a<:^%VkSp;oe.=R6BF@;0SZP-*^8cKnC')Hp;ln^VNeNSTu9-N*%@SU6nup.RQX)Q'`OKiR 95.626 + "iV8''RFX<?ZH^DpS_=<T8)9M?C`!&@T2Ll?iIkamCUC'^hQ$.<C)T?4/$sS78,kF@u&:5` 95.627 + f1GR4J,.0m4&D_ZDrgi&h;q$+2:>EKD@04P-V]Y(mRt$PCJ5_D+nid((B=7BH7aNFP58em_ 95.628 + <d@cO9k[_X)qP'q2'n]j14RFod<_G9-)!1IF2g.Oehj4?ou*%!;kf*cq1X-AI&(K"Hh0u"g 95.629 + ]L"]ah:-TA(Fus30KcJM0K97>N\5rNL]ba65=sG#$U<-,e9YMMZRK<I$PuB@OP5Ri6:;&== 95.630 + iP3oLES9+L6:j#]B]PmB2&N&W@[d+Jj9Wq9-NeY`LqU<AlN>MF$UNdWOWuSm/["<K)C1M__ 95.631 + =u=?PNq0[=S!YGb_BBG`]l,[E>ZPofT9:*Z%seKBHl$s=\/1%ISLp0Z]0t>&Bg3!O&W6gL/ 95.632 + 0%)L&6YhZ/EdqO`Y.cLOt>j9Zah_NFf-!=GKVg`.I]cA5%WAo*02&B7B^#.*a9`IUp[$hG% 95.633 + T5l(>9l#frmH/4uqkTem7#`&SJXAJ^K"b.^-g3=+U*da5Vr?>1gunnY&t5tIt%44K^c;egO 95.634 + Mp)b'NeQ!<Vl4be(#FOKj7P:JZ;ueL@og(pjGfA2!Vk8$r_9N5BOdd]HTCc/tcrn+<AB[/) 95.635 + PUR`jaTjWLP(so%AEINnU6O7sQ!KS"GYb<ciRh\E#0n2;ZM%gbDM6-CNRmGiQ=A**AGTd%# 95.636 + 2hZ!$XoXIB]Rmp(Wl1[[M95nL.D/HPf-^`]%85VMUj.]W/c*J//]jJal]=$:nksGX.X>Z46 95.637 + &CjQgc%L\"er6O^,;-XmqK.#CLr](NF-EmV:d;g>5sZ!.1*;e/F(Acs$)9@Vd<^a@_/\CFo 95.638 + 3Pn+'fGW.)j^)_?ni.mZQ]<gJ3J>23<Yn5M.t60UfSVD\nhT_da5SPBTTc/MH:q&*8g70\T 95.639 + hPJo,A7Pr,jop%8g<'dR5`9U?C5]lra6o`?td>4uU@[Y-=C=^Wlp<p>]JgoI^08j5l/F`JT 95.640 + !TSSDbfRIuCXB3_`%aXQjOY<&q&^-tHXF#!-^2BV?Q\>ihb`!eZec735eXiQPPBJcXSR>iM 95.641 + qT8l.N\mi@%OLc1[^nW1kqdj56LV.fA$1XK2m?l/Q+Ht[43*VkTLUp;,A_>5K"T0TN[Frp& 95.642 + XFP2K.fAIP]Z*VmGn7;o^X<j?,6qO#(Re$b&A?mZj8j%F];1.rl<]$EMguP+oR\j*ZYF$9& 95.643 + q45_@(m\B2Nk"HOJ[S"$UD+=="BNOWYR\B.]82ul%@f0MrmNt[BX]=^Ao6jU(K0R3+I.T\< 95.644 + s\X^P;*71CdJ=WF=nN[KoOqL'KY]pE*]a(;&0,d1aHmXcA/%Mp"LpNhAK(+d?.$fHIL=l16 95.645 + WaD\\aU*=lMEBr\+GC+(rBZ@o_e^(*H,M\qjM3:t^4ZCiqi6n#\[_i$5Np)&F5Mus]fXseR 95.646 + 1$bI>U?hK4.C$BVDBD^o(\/!j?l<q`$;%m6f#CHVo.0K7'Mr\^j&!5fgIfm73Eqr1fQnk5" 95.647 + /Cd6V-^`<&m"G8I?FV^_AuHPQ+!a=:[ej-H&JE9Mdu";+&gS7:]IfS0CCt@n$;k`fmhr"Ap 95.648 + 8r@>J-E7[W/SA5"s^?SpPQ6_XH9K2nlhP/:IH7pL4"$BZfPnW:$<KS\U-R0&E_q8]`J.T"q 95.649 + cS9DpaiPBSM^YDs^$+M<E>=G&VaAGl,"0TW0:.P-=\$7Hb!:mr/%`%)8PO&Lpljj@QO$JA[ 95.650 + ^o3/^^o0g]M%!=AMQE)GLn__+;&kgd6aJ12!.mN/,7If2]IQ7`b_&-UCW:Hu7]Y=c>a1BS/ 95.651 + <!G503N0Qn;g14U<8"g8s"WW_X3BmW_,7DN#8&#nkR=F_(GMa66*3:KRlcADFcm'6/.$RjK 95.652 + 8c1Y<Aqo81[l_3.f!;=1X<"[\U9"N"el<`C*=&`*43!9>EksW'CY(,;`]L/7(uELGAAN8[. 95.653 + a+9SCK+oZUgPbf$-qe)`YYVb<Pl7D+FMI*ma,&^6p=bd=%#N6d=6gI>/X87^/6WMiNb;oJ% 95.654 + Vbp:@KK[!4"c:Se+^&6's9ZXQX<(,539lR)?m,?2OJkgiSc,,^c1\a/PX\R+-:>'YXn:El% 95.655 + n>YGTa,<to,Oc6uLc+8c%eT3bjO6U=kJj=:9l0%5U+8BB_+f<s`giYlN8VJKg!=X/Kb/!Q& 95.656 + M'rQMob]U:fItHjTe?l#El[7LkLo;N=,`g$+Ij4:i-Zg&>G\YL9;K?$n0#ROe;u3/f`+MbN 95.657 + OPVPTC>B1Ig/5cg:DD/G`*ua$'%7a;kd&m&Z)lE0c+H8p]sC`?N1H?3n0//ut=:>ong3_6i 95.658 + gm:\;%XN8i*WJ'DM;;Rs1>bpbi(d8,Gr1aOZt<8Gaeo>F7+-.6);@iW]T&Bmi!O]*T"bi)J 95.659 + cafSd0NZ>J9,YClB5L*B5;lh*;r;*^'eVIKm;oKa*\JCG*_F`fb`e?m=gha1k'i]<*4sBkQ 95.660 + D+H^Y)cWWi:6c`R]g=>fpr=[M<7IWlbs&Ne1JE=NeNFpO'gmp[4]IR^::'H8`@'47?rdQDc 95.661 + Y.obW)!QfooJJ0cRia)4ElEspR_`[eg1>q/;-rm)q)Z7]/r-P=I-T>r)0(\;[gFj'k%R"ag 95.662 + Z&4NuXB\V$7?6G)ne2O%jnVI<sD4U_T[I41rgs;Md\li(9\r#0EKnnhX(Wk,qZ$5rfG'j\< 95.663 + HG51[,==#o?hpr+#$TSBQm3R&dNjWlB:K@4%f;JBB<c!aZ4<n1/W<m=k!>qsSULE\M^5+PZ 95.664 + lWc_F/.oso^LkR]@Z.p3K2bZ%u535GR<?,/D;V?HW<m>MZORK^&O&Rua=#G"t$anF55ZZDi 95.665 + 9p;V]Ccjh^SQTN$c]htp/W#X=U;<<+X`F]d.Vi6Fg!c4mgDuP_4dT5#[FDiKWBIW@A7sW?q 95.666 + 9n'Lg@_p$rE^$lFBGBY>[><LTS$$:q1h4GL.JFOE:VegTNo?E4F?s(4NC\9XP%;h2W@BUg8 95.667 + J50W`e/t#kGpLJeX7\H\_RPM0t0o+p\^%g64,COR:`Je<2cXc5!0K]:hZQdaM/DK@'hD4Of 95.668 + a%r+'$%;2ik]e6HnJOHD.$TYYd";S4)K*S$`MMcf>HLpca)h=9.ro.K<m6SS4%1_U4]7FdA 95.669 + q=^C5bmCQB#W=L$D,.NThNRV5+LYoeG>$_!ZV)5HFgY)Cc)&jN_$QU2%D?f$A#&n3_QtHY3 95.670 + C(mR4$>?l-1+G##k)&c0i&.>fj+P\%92R4]?KLJY?4i2s'%Di>>HLra!4h&JT\^YuaA*]^" 95.671 + s$VW=pbHVM;<Tu!:o+ir*DpVf*^Wop%qf2r/WH?$'#O&6O52af;e^2#rX!eh<3OPs0qtKiC 95.672 + MGN]kg/E(4ZQ)i@QcGQ!G#O.>-b4eNg7r`Xn@m0*q1l@p"e%*>2j5BOfi+M@M8<28bKG`8: 95.673 + J^A6c6AeF4#($jtJW&1m>^D9*6Gn\:?'-ImM"4p$N<m8r\Ni_CE2PJNCKV^T85hjmeY@.:t 95.674 + R18(u\5\5/qoF2:.b7c$WO*4cl/m[;q>)Fogf0$7bX/emQ9I,mu%iuS<ORGR94HC\C=?r?] 95.675 + -7rZ&dAQ"ej`25G/13I6,M<QGb)UJaSoTW40p[F_,]36+ohWTXk@0Ga6nGT;#&FQ/:sK7G> 95.676 + -9&Z:$N29e`BN?^`Af7IPfpNctBD1B@XWJ5k<UlIUHId*Q1F(GZo]\.1dn)!B:aWlfSud*b 95.677 + ?CJ#UJ<Yn<'hTOMoDK)G,l]P-rd.M[]s@>r0=0b2A4"A5s)cNGSP"Nfs]CPTt:m85>>N#aX 95.678 + `^92/6736@$<(kc!'KB(uL/fp@8p6c=HdqW9UlBR\[@'c+`VWNS)idQ65Sr]$%OGJJ9>Ac= 95.679 + `\7=CP<RnO+l6r!.<hO)MT4q<h*+$2^.+#5ZL57_cM7R9#BoD;Un`r1SCJ,^Y][./>^WCZ5 95.680 + laET\XqXtrSqH1H$jOL_>Y+0o^hKB;&dC^aN^W$le87kFgsolb3<HVYm[gT5SuDBa2.ST4g 95.681 + .1R*js=j0(083:S?UC7W&W/d5g'L74lo\#g;U(/:lc`M1TVVQMk9-E%<kY4h/9;"2_aoBd4 95.682 + =YCp1>B3h>Yph7D4uQ]tMuP$GO:]K^''leaGKhhqmFM[MQFZa)2BQ#>!8,L9ZU<X?7gImW! 95.683 + 7/n=@+GGM'g,?V?m@\i[*2YsNi>_O5:>*s-)@-uJaMmIl+i[2.o5(Lf:NnAc(%ena"E:YOt 95.684 + BE7Sa8#eBHes7#Gh$8.-5AN#r>2qf+0BYKFe[Z0M86.5QG$Z%%n"]mJL=:.uinTM2Iei9Is 95.685 + q$6o<1AosJR-ScY;fYp;.&AH$3>(i/=ZZ^E@cfM\NoNhu-_HGJo00]geJ(tS:htgIl\P:U& 95.686 + Jt!bV&R4,F($-Eh\AlNF`R!aEsFF>O!]^=1<%hlnCG>_!o]E!JM).+'o+nf]N+SpT1.X'$G 95.687 + Sn6"T3?'HO2VfT0F`b7acffe*t+PF]suG@"[OM"_>]<.H0Y*B_B,cnAjX!mG229%?sgm.o3 95.688 + =NF*iehLF.,Q[jP0n$Y[B>q9a9_<br:I$sdu%GrFK'MkGY2TXEG@&<f&+#U)M9$$sB<1OBH 95.689 + >E"]p*+]+?r.N!@hTQ]gWGElOF#_mL>P?];3fMf99^l-`k;\9"e-$[83a(Go5/.,E8_5j[, 95.690 + (k9M5_Mp>0h)3Rio?_6Pf^.OLpnqih-'&I5T1WO*\h=7&e0p4)N5G'k#AC5P:35Z-I&!E*G 95.691 + je#ha'Vu:T3q9TFo3?AUgJ>dBkPG><<[kl(6N*<>5A@[n%b4Wf)Y*uk&FLonZ=]C/dLq'N+ 95.692 + ge&'r]Rh3oQ3ejC<[/E7WE[9,*7].LM=kF>7fl&>aJrcjMh4BLbOr+GY:=&8W]cl/$k"GI! 95.693 + XQ&:6ksHW(W(W5X,]^&pmAH1mC,caAW2WJNp"M@[d]B?@_l[gG@0BOA:UcajB0b5B!_Lc;L 95.694 + -`(8Mc[W?VSO(Zo=[)mXpU[PD/I)o$0fXC_A?G+m'F)Qqm0>r2sU\dj-HnVc$#`AtdM2@9k 95.695 + kEr2rC>+*Vc]"LIqo?[(O0Lh"K`4M+Ef],$+6nO2i<A\jrkMZcfB%fBRX9G(3cF5+nFguh< 95.696 + ;EHfJ"5s"i2C186n+e%^G55uRo]jtrWNCU5Mg9*'7FW'A=uaQ=G.9<DDrkm5cD&!0&'AUSa 95.697 + E<(7Ki'l1n"^bN+Q'+O\996q1Qb!1R_$Fi!I?aEgiRXB@>K)ApBc8;,NR'Jb#'p!#'(r)4I 95.698 + .n9Ur;$daj+_d9EVJAea6A12UO,=^ZC!"PV78JQhH,qh<&OF1*Tg9&Q^G.s\hbYF#.[#5a% 95.699 + g@*n7n4O4C_\j8%6HsR1*KZRPb9iVnR+-Xu]Ee.K0Am^b2kqTbt7]'s/SCfGoAaM9^2PhKC 95.700 + 27#^*@BurMGBSuO!i2aE=Z3o678mtRFRsXFSkXj+l'^;5r-jE5G<FmZHenRL$jO63Gs$!MK 95.701 + C30mI'd'1,sn<Mjna5DjS!MeeKR4"Rr>9FqjFGRkaB.<S&YLF`UVZJ]uQ5a2&`\%!14O5RF 95.702 + MX,A8)s#^kmWZE1ZR0eGbqU"Aol-%`3>A`$Yq[k,Th\N^bT26/\'2$6#S"-n6._)S2s8Gb< 95.703 + $uoRO*c8UOXkWU_fXlR$VQG+Qh^KP'!e0q;:@W3LG3(nECOW34/IS=5s!&aBZ?[V:,c-;2J 95.704 + /_(I!&4RhOQW`4_Q/b=lqIo&Z&#st8K4V:(YZk<5'(8?ndQ%;@8:(tTG]eN40<8BQ0e("=^ 95.705 + :t/Jc8Q+'g4],2/<F&a.e^](II%D^F,`J*8Gi)V)<S_q,f@B^B>,@-cW_X;XOiUoI$(;btf 95.706 + LXPdBA)u-4I@21;:TA)p=5pTgX_(0:V0[JS0lJEH[b%hDJdJ%:J2D[Y/TTEEBG*0/G;8%o` 95.707 + Y>_?`C1-E8XA,\9FEoiFji"XSXAu$\f85@4'5T<*UC(`YXT;=E19^RYeI)N&0,8#EE<9L+' 95.708 + @h3#tt$A]`5&=Y<dmF#G@h[UGLLapOO_TT`+(WjfAoBqWbOc.7!mpD]pjX\.okR-6#sNbE! 95.709 + m\mZ%1g>96?_(W.b&#JbugTPC:=nAt:>614q-?1rqY&!p#[S;ru*jHGmR[qKIU)W-cY[$FR 95.710 + !9gE;)I%<o'CF__kSu+=K("(;PJ8F6Su82N>(U;Ll$MQ]l6]UD(p>p+AICk&1eecP;:L:G8 95.711 + lFEiC"i::^N&''?/KqapYGk#i:p:%AQi=2[;k1$?=0,_TU'ob>7,tV1[,7<.V=AM[cb/YqT 95.712 + 0nVR@r^ZXmXr:=3KXVIWEVU.GC8+l))`J(7B4^1nJOUL_o<u3D&a:5I)L6Qh-_qNEqR(6UD 95.713 + dt!-Bu*<+h%g6GZ.MV)-/BGcN/XB$Be+0#G1&QRFUO@+g>kE-T"3&o,S4*%ZX&V!4)0jBPs 95.714 + f1F@q;))U>g$q_tO,Y6.QV50>Qfo(Yd8A643aEgdIWqJ%1fqO\/R[t2j#!8dBR(2^+D,)!m 95.715 + L$Ip4`YR]nO'sq3m?j<7pr(b1&d3'ieIk?[["+6c?S$$P^_A]''o4C./1h&#_ka#.>l!'7/ 95.716 + r5r\dt$[Sd;OmmOfFSsnD>J>09:e+73.S3!E8VP3R>D:"P@Q9$-ZD5VQ&&n7ohhZgoXFG&O 95.717 + nhS,.HBmG*^S5>YCK-0'20-QdYk@9BV2=e[i;Y1EL(#P%sUsM'![/8SSoOMY<?NcWR&_<B^ 95.718 + KFZ:4uII6]3EM&3QRk5<@RWL3<HPifMK**t5e!1kR4Cl?RY6=2H.507hL4^q8_.E;me&0n( 95.719 + !*3to]PNGfXg%@A(AIY?_0mV.B,t-S=Ec,NT'-MB`4j0!!DSqG7*a.W]O?*t?EK'o+JWMt7 95.720 + KPrDSkn5o^/pQU%nrC(RJOG*7=sDp'U*L<&:M2Rc,/Z$H"bLp)K%Q(G9h([fW2EU\XB]CgR 95.721 + \!97KpFcA-E"02MIR]iNYIZV_r8M2j:7j/d`RO64A:Qil$1R<aV5(C5q)?_ZVY[J?AgA6+0 95.722 + $McfFdj.a6^&Wl98@Q$#<9eAW<tG50-kG-"QA;c6(1?G`C[qAo-:l*ojJJ=^+=.m3ST.eag 95.723 + l#Jr:uC26F:;^=ZX/ASgb1[9(qPe(]dtDUn?YQ'McnW-;F?CcekeMH8S=S!A$^A^.d;53Q8 95.724 + kV0).$^pd?FlePdQG4+JJ]@VN$>l1g3Y8uT7`N_m7$\;_;0eT^@`oLHQja?NnotK&7r*Prd 95.725 + IdcB#Y#I7:f7Iibf.Hs:fH16(S/$YFAT;^iB(Fm7c#9`g_&o!R=^MDHKWsSZ_q9GM@N7gmn 95.726 + KmtI0HCso_f1Ro0`R_u9WjmJ98rD<29+;+*&W+>;X2Of]63uC==`%iXt>JT2D6._S<]9.Ak 95.727 + gD#5:C(]pQ&nh>&o`%.:o$WQLa0D^Nf1Zj\3@)1'36J\IRV*l]#AWM;ESH3=][&)k=73ER* 95.728 + 7`46Kl=T#T1J771<VMB);^o?N'9H4WQ++a>XN!;mo@j$[T%%A^>_mMb+jn..7p3AdV(dWua 95.729 + W%^FT0#?b3Yg)j,UN:o(rR$0sA^JsKH.A'$uJ'^7"=R)FlUCR9`dMh:KCQ0j@oZirY>9>rl 95.730 + *Cb8G.+$Wd#?:!5>`*ZYd+[4^>&.sYYVprNf6TAGmG5=DoX:,KqJ/iD4g2(J<i"7"X(UfO? 95.731 + :+B%ld)!p'^-"8]sk0%b^9A?4066h;8eN/.+]7(*YlQeB+<hL5Co+q,K&_gA[hIBiCaT9R^ 95.732 + +XaaTlonL&f$b\Kp&Ii=I1WTi)=cY9eSbRUVipaiiiH/lG&M</QmT3JJs$k1nR]/HOK])#< 95.733 + &-K_(i-:6[++^_fLFLQV3MP,,WQ.7HA&QLul<d[ikH45A/]os-C!3RQaISGTR7Ss@\!.Gj: 95.734 + JCU!KN^XG5a.I%qmo6"A>b<*aKjsPY_G-7%^3T!!g^!!*k6c%OT3o'.o5EU3IKAO2SI.1HI 95.735 + "aBqpk5=>=bYoj_M_5D<.Hm\2rcck<T2k1T@fkY,56(K6-cNDV)6gbiQA`Ps(mL-?(?4-=G 95.736 + CM?j]V6h?*_W>TUV#H37re$hS&9V<1#"ft8GZ[MMtm;=jF4jhjW3fkrK"mm^/;lFT-KisT* 95.737 + s@;+4p@[)s_t1jn=g,_Z!mUn+g>.qA0+m2,DNpY(HK0]^5+^m;E^<%cIC@&H7`BqiC14:Pq 95.738 + 7FNr`h%s3G6Y&2ODb2Zo.'"4078&43eNBYA>#]qS[N$<.\S3!56\47DP:_D;6\^B0K>r(o" 95.739 + '&-3!S\H$-O!3ds=Dr0m-is%0Bl)u5p0Quc$Ain@T#d6"/0*#$lT)C:b!0<l]:W3T,]((l4 95.740 + l#;[[E0CUtQohOC$dZp%0#%a4cN$bjq@D6dJhILAM[Qbpn^,)NYTF9lo(^N_%aK\3&4I.-# 95.741 + 8!"*&CD"#&JGaR(+rESis[R#9[Y6goH%H'*^RR]"B8R`e?b8uZV`ikYsT3;7hb2F*eDNT`) 95.742 + PP)8JG#p'sV*\Ma"Km^9Z_p'p3DLd;]ok-m!4D*oZQ(;1fZ>LD1p.+!L4;60'(aKbb8W'p1 95.743 + -_,Z>@rR2V3E'_,'i0io7?[i)H_(.5nRZ)\hKR2;!6(_O:u;0<`'ORNjI*APqYOeEFWYoWA 95.744 + T)UVCs9fF,u`>e>\ZOu.;dK6b;b1EnJ+*%Ar&_@mTQQZt\(%LB(;<]7OlPf<a*0LgT90BQn 95.745 + )'b;+,LSe%&jmpB7jO$W]e%D2Yorc1,p]<R(6W#NZ=>4ZB-rdW-IQf[&p#EuG:/Q"/b2Zrl 95.746 + N5<DHoqG3.)8>%&5O^;QRS)e.FOh<&u-pSV^dk1.`r\Y%r3IhPq(e7%l1jH+b_IF].B,g/C 95.747 + Mir'%8F1f.E0?/^Y:FdY.hME@p/W:nTm'!ce^Tp6Pf(0@KkRm6oWJlS+M10[gOe',**!(GV 95.748 + *m0p:O]dcVp?%$MlS!Ac?/@H*<ad3[ac1"/?D'14TT7l6E&1t,5X%$`RV/Ai,8$hI[V"6.n 95.749 + 1^(W;<2UcL7o2@SHG;k_42q*79'8&8CL3Rc@.!#k>PEGrfQ7W)t3R`gG';ITeV`L$B3n(8o 95.750 + '=)nd/<t:;0Yp7A"-<MH`Z4TmJD_Y8'@T)fF$5_p4k&:P'B;8Tk<>*q50bR[bC$OX>;3jP5 95.751 + JsdJ8!rBP#=+/G)&)I)'GEc3(I=9)6.?uC$X5]U;)OI\0VQZW"2k1LZ3Bk^68Unp'LP8f7m 95.752 + rS77+=uBdu?+]$5$6@C2)IJ@*M/?B1??&Ho+\j'QZcDG=RmE8(<#J:+RJdLIdWB/`9c'#,V 95.753 + keQ?cDl*g8T2'S/kUVb32S9%:%;'XK%,r3/#78<W$UP.<.fT1k"I!qadB-\>3Hh+a-g9sfa 95.754 + M<9$_Qk>%9-:=S`.$meGD]H9cK5Ea\k@,c[O!$PccGUikM'b`9#o21bl;:Qad'dHUV-CH\j 95.755 + .rsl*lN9i=02Q&[;oaKt6E)cK.9)R*<7OcE'iS+4<^ft7iq/3^'amiIEWHni*VF;od>f;)D 95.756 + c`-D<L&&9'n]UgLKKh"8+Z;:7om-A`@R[e=k.+4ZY`gpVco@d>1Kf\'sh*:OK\>B&iH(,dk 95.757 + `c;'3YHZ#Be=9dka-ef0+\+>?0Qe(#rV#k?aG>-<4<9FT3nhlk=Na.=_M.!P)T.G=g9j@+5 95.758 + Wlee;Im(L`UK@FcLB'eNcja9U9G.=`RO!1.1\qdY0jA&0U)!=r^+pLJf.ACHhF@[U_VqdL= 95.759 + FA_(4#(1UrWB+Ro\8@2GLTtb5@!!".*B?"CX!XCN]Qq&>'*nH>bp6#W'Q39+8>QtFHiU'+# 95.760 + Vaf6OC=]S((:.dW[qh29:j%pCPkZ>#@4K,T'hoIqJmCjsVacuH-)DG,DM[\XCK)LG<-Gll( 95.761 + @uHFpMZApDo98#e;%k*K2$ID:"8-?pChOJ(NGc\ERnQ-<%TgjVfJ(45a7dhoat%W!n:9nF4 95.762 + WWu(IN:G7oD8j-$'i.e^lr_14])`.(8SdQXb2?B6KVWG171Iet5rbF]XcF=4_A8(P?s6LNo 95.763 + /D0Xl+%'+6prcZc^4='(B-(Sc:XVg=]18%4U9Es`b.[qLR.>ut#h(#+&da*a5sI+Q\m%N`K 95.764 + M;dseU<oMqWErSi]fjM9?jVAGV2tMN#pOAP,J'8KT2q`4M'!O;(:"ON;p_/3\(P.qmJ^7nX 95.765 + 0cthM$%$*9H`,P32VCQo97ck"K@iDA(disHR=[93Jo^,qGZ05oASoK@Fi&9E(e9<_B82dhL 95.766 + =gBB=0YqQ$\6(LE>W\O(k[WHLPV=QLK>jD\*OBe0R]9FIPhpt\>+p`Vi$kBI+XK72cG)(,B 95.767 + ]AY4VXSGfWC*7a,HD/N7Sl('o@.$RM.W0N;2:j(upWYk?D';0_^onJMRqDH]FKjO4aJo)$> 95.768 + Flm4d0B/K!8f2ns_V`K44AOkCh>)'_QE9/8@XHSYtVpZ!pSI\W7o3B36/Qgp5A8!KE7PhAh 95.769 + n=Xc\H:GGrZLS<L"\P\YqB9ns$QIUV9@J=C0/MVMZ?:;\`(6=/Wc"ae-R+[Og)3^IdBhria 95.770 + E,u>>+h*hIgR=I5MrM@'3L?4<\!retS'P5V2TKGFMhdZ/L\\]U):P-Zf:@kKOHU&mJZ"_=7 95.771 + X:AlF*OCL\auFrpRdlM^:!K8fia4YnV^d!*-r-a_;U=jrLoZ!U"UT_$Y*D+o3:sQ=;]Y8\I 95.772 + kPs2kug'UY7niqBqp^)1_n$#F\C:J3B_t<Y$*QK&oZ?\md6..THmT/%.i#,t!_.H!FgG$X/ 95.773 + !ZFu0MO;l+&*V4d@Tj\'94Yt?<:VS]=1"]qNc4=Q_QW&?N3J36hXEKL!H<8*[<>+/F%Sgg+ 95.774 + hW`iE&[Pb)]L+&]:XkL6p>.R0,:TOVcVBJQ3(g\RNbZ.iEXWWp0H@?5gRB=7HXoT'978]Dg 95.775 + WNQ*hRc:<MKi/)d-7PBY#Fbgnq['Cd<"dqH/K'FFgD@$H@T?ma%6I<bHR8p./#<%sY\u^(g 95.776 + H#u%5D+YcZpK\Z>=pEX:(99`Z@\"B79?sZ?8W[5VK]IK'Po??E`H=<[09R9_O7n[<OdB`;n 95.777 + DG-iJ4rf9=]C1<I5+Og4?%:BiWe[J7UOJ,)`II=f'6fBY%WL6G'+K:TT/+W[1$@j+4F<f;g 95.778 + +QO]PL!49@,2O/XEsY.%c>77k4fFhZs9YJQ3t`Drj@qGg_0QhomGnmA);kX6WBZ6`AaicW* 95.779 + a;o3k8ZXm(P_Ps;!42BiuZ)(7"6?0p):W+Gu`+;fM>;`Y?/$:ufYueFc]O"Rm@K7B[<81E\ 95.780 + Rk@]GF2ZjW<BH-i]0K?-ng?PQ<?%L<V,bV=MmD)C\:[T"!ia=28]lX)\V3u*)h#,@J[0WV[ 95.781 + /@Wm]YZ+ek#C*"/%j3NqffU4;nXAt\n+gOY@:J#Z+aG(<;c)4SFBMT^aQhh]Qe([jAXC!F1 95.782 + lmZ]rHlO"]<WuWQpsQ_n'bs77ECt'4i-"$X<G?>)Fl_l[IOI^jRgaNY<_o25ut\WSKe=*CI 95.783 + $AdD?gP_HO4p3jm"t&]`ViesaM-h)lZ>4f,a9Wh"L@*Ik2CFg/IgYs"$]K$h`[8][E\<4lr 95.784 + n*,\aRRG+0+<?+mcS5rRYaoEHj<.2C3]X>6.Fj%FaZTO[VI,l]g``.B>h8N%34lsq:l*\4l 95.785 + [J^5-IInmmpf(PPd8)kSRsE7_V9QWOc24S@SeNP83`MX].@qX>*;.K;q5#(`"h`V"4Q%i_2 95.786 + pQg\cF^X4qn,p7(aiT0dJ-5"[(_g8:-94o&Q[T>`CLa#LR<<i<5Fd_)2FY,;4<'jQu@HK"[ 95.787 + eR)gc#l>%('U[T!D@5=qZ:8hBc+a@9r**O1ShsR!olO5+Cg*J%^C&D4\<(D-Q>An5Xq2RX( 95.788 + s\i_/Y8C/j'?Kmpr,^>@DSj6O.N<t;lC*pnZ1S*[\@klHrI(c1X[L[[4"mKHVV+ZXD3&+6W 95.789 + Nmc59cq4mK:On(MdnmPd'@N5q;g#p=Uo05/C,u@`1JXC:4*/.8^=BG%S=."F8<1d1`P[!h; 95.790 + Z^><*p4$i+IrU0E=8%,hKn"JLIt;?a<)n85pn_!cpfH]k:\NIsq5%*c]1>q.I;PUT<F;k^A 95.791 + QSF$Q%^M]qnJM$79B!Pg%.CGL/b[J[`(oY9.bSFh*M,AJO&.T=>V'2$&(_)OOsB`+D-Huib 95.792 + c343\_M37cTW`oR9(LO\"Pr=Yu^I.@!NeP1ark@540Dk*&rThJkQH:?Rhoo_sD-Thss;=u@ 95.793 + @`8Yo>LPhL7DTi%dglBPP\?EmY8<pQ%)omX_cYup8ZlSJ7]r3\_jQJ5@/d/C:8XI!/!/hGb 95.794 + 7?JW*F]Ii)n!+>;`7NNWNM8`roR+ujL+d'lWnsNak?SRtnB(MGGp4#B%d:i0@>rJ<PWRYbE 95.795 + 2`m#4pT`CUmPd:@hf2<"]=49cm`T[fiGeR^?8isgalRR=SDJHSU!`+HqOLs%?a8;OA@:!XI 95.796 + B.!qg=a)e=Q<3(7.km)DP))FA@qYbrbhbFS+6=QIfH%toD\eU0GF`n5d3'U"@4_@(C!1*Mn 95.797 + 6EjY5?0DY"p;_lBq(f,7[)Fl,O>j9F9Xo`2ktS$q2mM<u+60FC,kS0pH;h7^9==*(Ma5G3) 95.798 + %%S:7t"%CCC)-KiU59Z]%hP]OsP/>"=_16e[d9!Yh-/5%bJ[k:=ZoY0\4cN@_1[ZV=X0JcU 95.799 + @cR$i6SDQ0K1R.&`::%=r4ARc_pHDBZo`%0B;\Ag\9X(<D\kjqO:D0n0%3EV41mC-q6Uj3R 95.800 + 9N*du2bm;Yofl8P2&/VZ<4+JDf?A:]bsYOrbNsGeQ'(N=1.S0Yp/`n5VcQs-om^@O2AM!V= 95.801 + Kl6"A.#bFQXuDiFcC'<2NtYW2A@`G+kgZuAD^UlNO<_12\jAR>dlT:F?5O))T!"$FjkSA2j 95.802 + /#Wd$D?UCu/mF)0PuoH,@ZI#I=&\0/qGmKOHi@(PZA.F<,M][rCkmijcDX6-uOcYr#qS>4[ 95.803 + =iC['Qp9m>e%'B@bH=-dEt[SE@+a%9'q$+[AKRgGnAG>[K2mX763)0DQD*]0ZT5j:<NQ_ma 95.804 + 7c0le*\nd\CgTC'uWTuUr/k0Wfp.n/;)]!Tk)B1TCL$2*ns.&Ea).g<j\*H2b1e$j#_J\K$ 95.805 + -+`I_pA_pI/M<Yqh\bebL=^RkfpOTqU$l,JQ%osoEjh:ib[$\LdDj<hQJbneCju5ImAq@MZ 95.806 + PjSa8BZ.FVWPtmgp^qMG.k2\_E9l=o@oq&[Z:s;/<0[njZW'njAS1eQU^-m*1tn8Sr-<:;8 95.807 + #\Zl1R8m9>,7*^A70l58VB2I&V=26[*oBbg"DqSD,@7IqRs@97Dm#ct)sG:[!0W>M1:(O[c 95.808 + Ec!9i>2GCZmJ"[KR7m?ajl@u;P!Lo;^-TX5Mej2qf`ACgYk;so4@L(QB.&jP2F@;Ja4G!K_ 95.809 + A9Ubf(J<1bp6<EO_Tc?"H&ETc*26>bD<"^Md9p<6_b.ea%s"[,qEP)E6V4lC7M?kCE&1FF_ 95.810 + RknSs`Y:U*\+^L@F@.`8mENLud2,c5,BY_LS"a#n+!WQA,H=p*Z?EnE+s@D@NaRo;Q?O*<, 95.811 + ]/P%L"+!2$I2j#`.l3r4NNZuLuT.XN04='2cfSgd48`SEUZ[mis-\EUg>:.at:Y'],ch:,T 95.812 + AM8Z:S`;(>I4RBFFes"P.P:Uc`9:0n=L>nBiLlr4&%'DHTK^ec6sO4-Tjp3MKS97i@JLNMI 95.813 + %S1J(\W)Y?d_mjsMlOg?OuKPZq"IQ4%#QFeBBE/sMo(6dF^2l5m!&!FSb9efF$9H0Ia6ukm 95.814 + YH0bMV_$cH)Du`Jg:GQC=#GDhWY=$9.mZ/>Q-1M:jcBZ>L*/X9,k"1t#Zdu;C<?J"AAh(Z# 95.815 + #pRSEruk(-JNUt<8#\'e0Q`t@\sc[jh*Ygl1r=BtMI0%+OUdnglCF*,KOG/)-`E[>QHbiL: 95.816 + flu7-1pnp;t:Gn-7pRAm](Q")P%paaU)MHk+,KR>tV-0MlC^TIb#uW=U6lU0X[^9f#%ciR? 95.817 + ]XG%Z6deOt_^WlccEj,-+@/F^Sub6RJ)p;:nod>DOkMW)_!;5V`LMd4LA$PtFKq8jd6-oq* 95.818 + V94fD3JAg]/f*'HpLH7id=eW&SGZkg[7.O[p^;(Grt':#)sW[L*oj^#=u+d9IK0[-$:!hMe 95.819 + <h(rhl.EF*UZ"=d0OE^n9g@X/CaGoV^=.OE64d73n/100"i'FMrHr7@JAR-1Tf5ARRPr7Kf 95.820 + `EB_BCi)-SQ^pV$R_Z[AonFT1@$b1Maa'^W^h]_ml@98G.W3@Z]5eXU>ML8^-kg-ZU^bhrb 95.821 + ;g:VFr3C'(C6tp-qUQ\@^r>Ij48/MIkDKYB6[s<@Pg`78,QmBe+F=2ZO$QrHY-nMqFScF"G 95.822 + lQ]0uP=N%F+_HcNluJ_4tWMj%55`me-O`"N)HnbWn4/ps?pH3rI-ilk=3SqF%j)Pi(W8J-Z 95.823 + nl+P7:<gYC1uYYDIM)<X-q#LLKG2%Y$F)+Mt_)T^S<&n'D]7;0,ZOU(dYD@E,\&8;EqEL"\ 95.824 + [L(;Eo=eA+Q\HUE_gImXN]4MWqOs.A7<+V!(9:G4T$+c(Ll<EaChqF(26oRm&P$&N5(:#(T 95.825 + $QD*cJ4qg1Z,noe9RmRG@!,T[eP4(em(D7DYiu;=>1A8X6O0bc<h)>$lW./:ZpM4Z!8GF.> 95.826 + G>C/6=`M4bYLZq?LflDC@9Uq]3]2fmA*3pLpA1d<06Qj1e.2Q^Y'kc@;59CYrG;af_ZA9CJ 95.827 + )"034B^M)>4?M<^EG4)3Wh@2</\:8]aY+8Sf@0JT;bg\Oa^4[e\fsB]9]:bV!YlRkpBBmU; 95.828 + Z>@40ZHr[lEt>"6'JPNS?tR.KkPctC!?,J4D_o0Nh%N%XAF/`@?2Jd5D%kr.c'm"Y,dgX?H 95.829 + ^:8!"DKQ^"jbdRON+H/_*f:l=]H*c@GGe[PrY2j"QTa'[CA"'_oXaW2D7$0X=#'T!Yg*Vf+ 95.830 + kbPi0?D9s?Z0O4kGuLjW?G4-816:q;</p]<)9KQNVhY+b5Pfu)eST9nCEBh8HSVYE'Q25>r 95.831 + S55P7dCe7c]fONkQ#tTi'uW0G4:U/OgGSDdOtRBQTl18;r-.orVr_[X7qG`mtL9nfcbL*o9 95.832 + T5+&bl3Yd-^k#KmeEo6)bocQ&Od_7A&X,Ihuf0T;Tbl5O\3#q<5DON^)j72/l#A)INhlp,E 95.833 + HI3-^0AlfGjEg-Cl/S,#@Dl]%MZDa;b#![I)jZ,`fQq&Gn35pR)#,-rgDbeW_"VsE(VF8%q 95.834 + Y(bh$uLbom`ETjej\1H(B/=Z8;e/L]bVRB\J5[3mf3YJA)n0C[-M'O31$m,a;*/0UtUX4ZK 95.835 + dtU1O(pNWW#m:77.rgLrNuj3/5'"_&lc]Va]<Pi$V\"t2A1Oi3R6m,f6$r4@#an&1PJU!GZ 95.836 + uRY5F=4(F'1<O#Rm@;rW?85cncl0aU0n8$;ij-CI^pFb7&3G3J^ubAgd;300uM:'e![:*:) 95.837 + e8hLb!PW6_Zo#<(.B3];.)Jr%UHq=$,1a5_N.-e#3O7;^tI8^"A[dHnG^&=[1[n`Z+*Y]=n 95.838 + [d9=#1^5J-39q3aPP2ET'06<mTJls2(l,/u/378-n)g`FHt?9T=-`O&CYZua8RLI<ib&d1V 95.839 + C8=cAn%h_J07soX'ZuSY2J#DXG6'Qc6b[<pTI`CT:Wp-%<ZXLJ!?cVeW8/tVt$g>Y7@Rt<S 95.840 + 8:5tY#b4>VN6!H;83AFoP`*K`Ku8".aNT1PjB9SL\3IV[73emflF]6+HH*%BM#<6aClZDkL 95.841 + ;W@n7\lJDFC)rqS]UMbaK0a21o$bsZc?M\4]p/79W,gFW61@(b+u&[[&_?fXNK%pb2fXSKW 95.842 + fo*Yfd`c9)&Zam'Fl'[*)FVb@J')FLTGH\BC,IbG;_m[(FN"]Z\g<bN-C\oY8TQ^s!M.)G! 95.843 + ,[)>h@1\])@=3*_u1Cge>ERg:jjM/+S4N1\-1@nJ/.bbJLdjH@T[TKen]6<"iE0V(o$Q-?S 95.844 + B8X$j*g9SgoU!7D96Nd2,eCbrI1HEpAc.#GnF"08ibQpnoM,`$?b9=W"cj4II#rLd9lW?X+ 95.845 + M25-\b!bO?Z&64m+,r6$:?6H@o^C*/nBVg=cQr)-2"T$]oZpM0cXcaqFSF+7ps53#c_UE`[ 95.846 + /7C"M9J)I);>&,CB[N"E^(e[`;@tIBRrDh!Jrpe^dQFA'K]"@N)3'2WU"jo1nIOVRQdPPLh 95.847 + $ZNeCk4?$&N3t,D=ak*=B#mcV;@e:k].1bl^['%+,')U<K")lll_ab;sl):(W(U6R`=9&lF 95.848 + nX:/H[Bplj(\&r=L;1L/U1'^O2$.%!:dMeKPYP]mQ^mK)DH;WTOZoe4bt0[gakdj6cu2)E] 95.849 + M1t,G^dq&0ud;_K?(,c<O4p5ap!/s)THrHg,0f7P)&h;Ad",TBd]G/`:bY,a2*@b!kLikhi 95.850 + /J$-gQrFL7e+A4@;jBop(!W!bLuh,@]gu)86S"Ws[q*Fg']Y$;j.oCB`a(dXe9o[mL"0R** 95.851 + ha$+]g`9E:JQmGLi#`3Q!`)CF:`uU;Q.#EdG><I/K$Q\<b5moF_B9ZB\&G_etm-4[;4@4Ct 95.852 + @-RJu*@:I;d^@E)u0P<o%fJ207A<FOsN8f4B-WFa)GkGh84+f;3fF[<pNEI+QnsfB%J5omb 95.853 + TtJCj!(fHHI-H#TH/(cIiT&M6>F<!^augFlie3kR9U6p-9J78So![Ts7Hd]V5AOLsl\;B9( 95.854 + B[>iI8@b?cr]1&"0]buZDOBAmoZ=(OH_;A8!7jo&N8NiG5,o9)M);'ni;/J\G72`^(I_=<b 95.855 + /i<UG[?jaHKN[(3#jmQVD2h^%(0RTPa5E39SHT<%qH>+L2[\tW*F7>cAQY_NTB0J8FgmZn_ 95.856 + @(I_N@e]R-l1RR*/9`lR6@^2]0eD:7,*F3N+8BEBm8$Z:VXT>_c.>^/WU/\J#*lZ7h[M20p 95.857 + t3:_H_f<O)fe,Mg#k`abWXN1qB#=]+R[(JmBTH["H[14iXZtpJFJ6glc\PA^S*:Fr^ZXZ`T 95.858 + il%,"A'2V`o#]a_>PaID"<V;0gjh$r+DUCgeV;r&kr>rrt\9uB=X;ma(ISOtfK"GKg7T#OT 95.859 + $?C@4q8TnEFOP^M6hci(K>`gOFY9a6r28u!;/Ip;gL7+n*N",3LgIp@,01/J!:^O?\ZZDPZ 95.860 + oSG`t2b!\TII8%3ml5aRU>=e6!u>&$oiWu(?;$nt:"k=abM4EVi?:8-bq';E]*p:(!GNO/- 95.861 + 5X$K1H>3hhoN[QSeC"tY[D$pQNR<C&14Zf`EQNA[_+j]E/*?d)n*C?3D#dN4#L-.k$\rPWo 95.862 + `uSeP&HN;i-_=g;5u1bO!a2Q=<N(@Tupn^*co*S(`#='RID5ANJNCUJWoYeBAlk4fID3[+1 95.863 + G3QXrhr*']ns.GcsC>l\j(ETQ52J)Xn#RjKNC?2%eL0SmiZ0k->W:+i,M0?!QU2qW@+ZCb- 95.864 + 7*9@r5P+6ZVOW[EGdpZ(i@:?sbEn<I7;ItrjiSDFS7%QMA56qmPjJktLfrl@Fn!E9gV;c/4 95.865 + g/C[aOCdOo-\c"J]C"CB1*sU[0q*PHAPn/EJKo&<1/]X"->"Q;5%\b?_-9EoH2XZSHsgo8e 95.866 + Vtp3o*XV2<Z;YLft<5Qd%9B&PG<#8k(Vu1P%7C(9'3f,OOP;=c@/#r35pVI=tX82V6.MPA6 95.867 + CO3j1pU85f.'^S-D(rVS,LFIJ17TK&\S/BK<6X%YX&oY+4?_Lc0f3IR5RtZS2/aM6T]e0q2 95.868 + iG!CfC]k^Jl1p3E('HIW4W#k!),mX==XBB_lgl=QoUL/UK+1UI<:cL&6uaW*RmDa<H*M]<9 95.869 + o$k_cJY_mU-R%m)_DQsaJZ\jDhlTnSW`j^Uj\EfHk"pV[)DS+34V%AZcPXT*l%TSH/<ft<h 95.870 + L9*k_IMrFtif$@>Cg`t&,=Up!`fL\OMKSdMDTNV&Oc1n6CrXcO(;1=VLME(@lE1le\\H1DG 95.871 + t4aXD.BeYXi'HT4m]&sO3ZF99.F0>g(WVnD2-k`nSho#dH+EWj^uu(Z'!(g9];T#mU5;GI^ 95.872 + ;m`k)]5j$5M#t.)KTYknCM^$m*]3f'eke.TS)/>HZt%%c\/']nVZ5mntEn"@h*Lmq6n(m\] 95.873 + IehWO9lkjPbRDlB7t`K9QA4H##5n0\;,0'2R5"I/kq$YJsEV(Lu@(6QH-5mUbi!6D+me0su 95.874 + )Dj]KPPhubgc/_G;.djHBA[:J/87IllRd?P$?MlV1rpWbGnW9=+qD+oHC2ojdn`LsM0&W1a 95.875 + o'hC_E02)tHe4$l[uRp9N8reh9U:Lh?.shJSGB[8JA9T8!!phTADA-pdZ<pR+*/5Qo-Z<b0 95.876 + duSs^C:C_!!^7O^@cDU]o85l)%FDb4l_QS.b%N5>ug*I*h`rP-42B6#o)Q4"@-K1ORiu=oO 95.877 + gYcG=V:V!V8nUM.pT+/SGnbHAZo)F)`.-G]I5R:W/"+`0SBh-ADuIj97\Nh/J@RmKF!%5me 95.878 + jqBZi'q[Yh@Broo`2ch(qQmmZl0@.kCFp*X=0-V<TjQ7.l=F9%s*k4BSK=.6R"^Fp(W$7b: 95.879 + >`JA^*<*r[urr!23Ka?cbl5r+o6fE,ZK_>X\G@u*nGB`e3a*'_9p0H0[8>Ps/,*B=8^uh_g 95.880 + EE[=aY]IOG#g.H@mWBp0%LD?CRG*+bDCAW4IktJ%BU,@W"q;8aEoQO"j5(@,Zc2^6FBqL.U 95.881 + CNmOLdl<C32nYrk426O@Y/IBKjK:9Vs:9cY_HuG/,7/+@\FEY!V:MBGkr5MqBr$60VnH1R7 95.882 + o/$RP.D(2`CA\)=/V<lmGZs;&"!4Mm1U83CaW7Y"tS-46><,k5rFP]s(jU3]mVuOY<n77dI 95.883 + [?i[eRq>,5fdmTus?D0aj&#i8"TKj%ipb4tsp2_7YQ^kDVEDgP6RHs`HhLS4K.aS_CHr27\ 95.884 + o3mf,E'NS#-o]``"8e5cGJ\<#!6(9[74(\2>\;Ue?h^/Z!1GJ_.l<l3iLaqe5o.&`)Onk)t 95.885 + g)Lh&e;G^?mBVH!;?t_WK.8MBHb\aR?uF0afP!#Lqe(,T=QPE0P<++U8E<B@"D/n4?HmM[@ 95.886 + 'O:4TeGn>5=Kp,!,hPSIqSKTGPD,PL)7>CmM@#\DpFKBj@>O>%[B$:!.[+<:\Z1N%0n5s5S 95.887 + 1G8_Arl6+!OP&@id35N'Yoi\BGj2n6&:lZ.83,.1;6=Ui8mf;HF^"b@I[,C^JQ2BMN/;Bft 95.888 + LN09=7enHk_oKc-2o-1b`n2MWiZJ1:%GAQBZT-I&Q0=HW/Y5)<0IQ)`VKWf4.,B+q7-Su6& 95.889 + '^Z0%-D9h0c]O#MX]B/bbJ&#H2=?HtH%:VG/E1":M2][t#A9(g8VH5@9b[tp!]]OE$T?q7n 95.890 + >!44!9rHKUF]uIj[p?2iCj'#GVUo[oghq=?^#o';J:DNFS2]=ANPg30H!D0Zs!Bkl91?NXG 95.891 + ?5!slr^k/0"$tbh['")?7'l_*H7pqR.Acl[c9f?qP"\TbdQ?(RnIP&s$^hNX.^pkY_FRi_q 95.892 + J&)!br(;,YW"EPJ:j!U5uNSlJf]$.nY9'5**"LYc9B,pn'pl@QOOeX&>Pt+R&ZM'IbO7],A 95.893 + VNW]LVD$rh'aa-#_:+35''Kd"O#/<(mr&knQ:ac^J2-d!'\V('QMXJk5&Y!\0.\8oKT.j48 95.894 + 1Gj.8Q"*St7"l.Wcc#Z26,::8QjZ1Uuo^)1L.\'n$6P-j>[_q=W2[qW!@PL57PQX[35j2V' 95.895 + 8#*:,(B^^oRMQ77oKiho^IXS>4KfH6:;>0!'$.jd8>IYc,O&sI\?&\iA;3;>2/QQin\V$=N 95.896 + toW^?e?,'KjiW"/WF8n(/:'*fp6KGBA+,\V&m11`3h1hDFD.qf+Sk>(><U=OEXrr/^!-Z1d 95.897 + +*teLFJk6W)l1>?.t$$:?u-FW+=U,7o/M!lM!#:Oo1#U'jgEb:W'`?PguCI\9bW(9AiujnP 95.898 + 2!3-I0,`!T-RKHZ__#l#U.U<APTbI,fa[aifi?=fObAXV\KY&0Zk):!AqkF(adTBI1'KZRE 95.899 + #<Ne"/:0kD7gW;OTE+j&4[d?-h1#&afg<R+.*1H6aO%"7ro2=pKJn($GFABWF`0!_OK2jTX 95.900 + &QbXo;Hl>]HTohZWG!&&W8`Xc@Buq\h[N(R#X0lSjkN,JK(%p#n\Xc$;PLLo2*Re[Z$^:^Q 95.901 + uef/7FCau029pg*D]\copp#,fCfJ.M_)B(`fbeoqI?:u9YH<bY+1s<L#>MWngNnkl"]+mE- 95.902 + kh+jtM\[>_KdlVE<mHIY(shmd)\P]l&W*,7u&i1ZXMk8NO-AU%"D=Vl"^%.84Sb_XGIJJ&; 95.903 + $&TpYrt]NZ?/GL-bW]OD`A+=%8E:bDr;fGt(PKFrf4:'s9h/8lPu7n\U`V&\*/R,-e!K'>9 95.904 + H/ndqi$u>\^O3*;DU]Nk&ZO&@FOG5th_Y_qa3(2k2I5(cN:<B74+E+giT&L7i'Y9lHn-Sk' 95.905 + _NMus*%E0Dam29\QsX((%Xda%/&F5>!JjtdMp[P?7TdnQj$[U@;6DfHf\ILjlksuK+YLU]] 95.906 + 'dY7:P)0jD^S*S*tg:%O@c`E-KgR'8UCneAPM28;@:<D0nb%0/k*[%lpkNJWJ8?#8WcOD9& 95.907 + E/>PN3WWa\mm.M0rHic6asYdP@^>EKQLiiE!2HWoYDRE+i+!!(JD[0BNDRQr=K(9Nd?0k![ 95.908 + =Z7e(7a3&\5'o!W8;jkdfCX#83Cfp^r$ihu@1nfkHO,8-sW+O[^uJ-9(!Z]KmHVt2F4ba4- 95.909 + K+H4KE9+d""H9m4_Q-0GDoB-e[SqZk89/6q18>M991W[R3ip'#MI.3P>:0pTY-Um7<)5C/K 95.910 + N`"Ln8*L1#AS3b-**7%GAs@N`Om8&J'\k$LKe]GV>]uM!9)"3hWI-;k+2[(Q9&Gde0G8P5O 95.911 + kJDPaNZX`,^"\o(Bd@nYr.>JN[+T0-W(t"6`B?6L_FHq5_'#"I0s,/PiD3]@OS.9ocV7NKa 95.912 + C.\%4t^^<?5-jm9T%sH*:69^/s%e?g/!D+,aQDa&d6.ktE4gOGX:l8nDMsUGST:9SCM#7pD 95.913 + ]YI'U[)T2ZM(8EJh9F%WZl'B6W;a8K#Foh9t$C)holbMRZ2qTZ<*S=_7H6^0?bQb7"*C5A. 95.914 + R[E8q]96Tr1gmK7T%%=2#HSVSI_rMrYg%cD1C-drtlB?-mJXG_F$g8lLYR+LE/)/*immZKS 95.915 + =0D7'gYI5FJl7V0%-!>Km7HY2At!hEC;Au/<+c8#46)?;SiO5iCID7)CndUo_[QI471(0]2 95.916 + 2rD6-3,Oo@k5^E8&NL&.S-r.T9A,e:@(#F*&\S@A5`oN,p)%5gn:a+cPVf(*J.NU!6!/4nJ 95.917 + BdLFJ'(_^*u8:j?/EanjZ3m=YD+4gmreqSbC2nlMO?qoh($G/:n2>670e_O].3f:9!$jU@P 95.918 + =a8tF*fZ?:DbHAZ#><YVij1p`B-:dcqe1On[P\]SAnj@Z"U&Xf@._]*i!kI,R\DF['UD"ED 95.919 + C=D6$hjFZRm?:*p3(=#/FZd,<78md]da)/&NQTQF'F/^J56iM]S`VlgnD%+PN-R.k>D6<KN 95.920 + \^sIgj(6`k2YI?efNSkq'`7'%19>])=7X?rji7[o3Q'LN[n:L#XH0clf@sMJDJe4BBPNHtY 95.921 + .K1(DHkYrh6i!6).-t:S,3;+r827g(7I?4[dc:7q;4q&D\CbU^A%p6i*6e%DA"D5pa6C,;\ 95.922 + e!<,E]9>qVQm#"+)oF]THrC-bqhtNc1Jpa*@n5jBR_,n7W?Bq'RWQ:fE+UDBB*75$$YsLQ: 95.923 + a"TKAi;/*C+!O7U)6ch[l4J_<RoFC'sS\DKX;>qOHEf4i.bL?hMLmrrU#)]pjO@iNN//o0E 95.924 + iQhk?']tF*EG$`GHqaYAf?*A\EM!<,EP#gju""d5]Z%5[\#=uJFQLpd%hrtAVn/`+WG[Cp= 95.925 + r'uV&LBbS2NR`K(SlkEM^Ob&'+&(D'MXsag_0NdYkPYXZoNmU,1<cMXa4)'r-9,CZd1P^CL 95.926 + ThjAbh)SQlN=f/QP28IdehmFkC**@pg4QkHs_m'c&\dFB,YG$7<hq@H)LAm;?cg?28%?_g[ 95.927 + ?0FC]'7,!e(C3r*PNUIUC@qr]b;C>X6DYqd;NLYEJVK2m2K7^l\E5=U:/moRGI\r%J!K0Eh 95.928 + Gq#lq1<i(i'qkj1'CgaOnN1s`&aa;F'aT]\!>!peeF&2=9+3<QKK"7SRPX6/O3T`JXKVLc> 95.929 + _0NA9EYl66.no,k*DDHJ*YXiX[ih4NQ&46\;k23;Z][1p00SKdOM$U>EJZbOHO4`9K,_@W6 95.930 + #7tuJDlj4r\Hq]+9Fs&gn?iXC\I5XT$fu@2B]f\?,6dPui,C)tmA14&fLW6Q%C"e$0]`d`k 95.931 + mjIc!@ge5mUY`]jSFZHbV$4$KS]W/])M3d&EA*HnIZ@Q)%j+o&b-tcmi("7i:7HT%++p'/- 95.932 + buZ,4@pV$=Xk@d3B?8;\;ku'_,$80i\s,cD6;f%l#RFA?,ba3qk9[pQ8Sp,<HUeFVh<2(\* 95.933 + %n/sd<rkj@i-k%b`a8m_6fG4RGB)<PWLOeE\5W>`%D)XV/J$O[_%PmOB3Q]X[+n$Mt34W>! 95.934 + W:W,"iDG_DDfc@?R*V&(k:Di3@MZHR_)m3k+.0L^[]^+Y*8C-l=/BJqg#U$CK+L2S&1)1sQ 95.935 + (jFB8%$<1^a<$#;DW_S_+gNdn&e?3B3?tgm,P"*&dN8usnJN`"*"ZjU:i>9sUEhRf,B@':1 95.936 + 1_eQBdTX.,]U@4%@D`DT-]LN'B?C6&lU.)FX@`X..WKL16j:u7jen/YqdT`0[a4Q/LcfZ.+ 95.937 + 54J1:8WQ\LXDt(lo[b18,d<+V5($&4D9bM$kEoN#r)W*T;SZ^t]\jQ3hTr0%0&<o(=Xkq(E 95.938 + BZ067(FTtV;9C,-sl)r\Oc',<1,(GIWc0(TPlj!-6dCGE.I0p==Ho'.u]U_9@O1@m@[1E%) 95.939 + 1edZ+<1k=17'3-hE!AgE!16Ycr;ctn4-qCSJ/(8Js/cn%r.NQ@m2tM/O-@m][.4ObS/;PA] 95.940 + Dmhd%S4M$m+`YBnTmdFndLs>0!E6*^'<aJR\N=lG4&`sWZbnl`W1jA8*J(.-PJo\+^HIe$4 95.941 + nH!C!N7b0aqI_054dMn1Z:CT-l=)`%J0*SF9OhD;?ie/16`+MZi`U8ofQ1N%HAm'PQsL\of 95.942 + f^!#L3i#F+lu'38e[JN&3CZZp^^"Kba-e37,hu.dj[foW05L5j:rsd;6*#SG8dU#/G(B<-: 95.943 + Nk_*Z$_5#c_mFG2nWkTb2%8FsS\Zi<T2Kfi<J5njc"P_29o,=dup6F4m*dr.Wr\P'#l6g8q 95.944 + c1qcRoQP+:t"OiDWbdL4XQkLXh:#dFg"uOC4fg.FL'S'3fFR`.+o1sK,:UL4!Pm'tA<Z=>$ 95.945 + 'a#X#iNsP(#uS)4;:PnKo`J&WZnaKI'bqlj2'l-X3DX-5)'K+o<Ad^_2cO4!$36_SPthZ$7 95.946 + ocri:c1KL6Rc$c8QN5B;Y2U_-=9GGa]Glu9B$p]0S*<uLfe\g9b^Md#TT1^LKUAr/E3nMU' 95.947 + S*(@NgZ40N#jY&^'ljm5ss4=JH0qFhq=*aJ:Qa%e\4T2:<95fj(r?9\#1FnoX/q,p..(/`G 95.948 + PA,V_b4%^Q-8`hNJU1=%(]M-I=&>P6i+[DcQ4).Bro@IFY3031]-BS%ufk2VCWc!(HS%6HH 95.949 + [@M.!i<^C8>8S#8'n.<PUZ6:!&qZ\G`=d>L6[PfXV<o28.pf9I;p-3*I=(-8tBD-mi2MB_% 95.950 + P6k.*1+e"qEVj5j?"0`U-`ucM2Dc]H7PIc4!#)+![W2CLGA(cs6OlmoG.h^8a_\E0f%*b&P 95.951 + Ya+()I@2g20PM'WfL?D""J/^+-2I_FU;&kcQLfT6l*a[[fp_p$#lp;@Sn[2f%MD=*]1=bJ^ 95.952 + Vc'_5D<`3[<pi`M45$9YE$E%/dP^F14GW2aqh+=WVIP37$2%O;K]*Tl&giETe?%:@Q`M.TU 95.953 + ZT0p]"Y2b5gWAp&[YRc27&_0pPOHlSi5(di:apNLn,R<c93F>&m$:RP>f*]n8#HL.I3e5WW 95.954 + +2.-Lg7VZKN(S3MYH8<_(bk8!^D'U?KUe.8'$in++5r\rH0mP\W9K*'$GP-H0q1#`+FMj45 95.955 + %oX5Z-;&JiJWZ8m<8JVh.^YpjPIJ5T`/f;@*[\uiD$As;KSb-Oj#d"uI\Uh,==&WF8VFTI8 95.956 + bWf4<[hUY-"[141s%h#!rZ=S$G^m^C2APYl$15t@S%CsITPc_eTB^!H%u*RM"m*h,`@@39. 95.957 + +`OOD_a="&/u:)djrXs$2Ck(mHf.-nmtOIRW6Da_n/r9%;c"MaVcEpcXEm6[nG8Mg43@39? 95.958 + 01D.p.Gju<]?=:Tn*0%q).2#+\CK4Buf!1arN-1#Tf7"L=r_1VN:A6B)!3@0i6-o:YcATa2 95.959 + 280<Q)$HJm=AuC?1;E.Lt/7)AV9-RCabtWUDrZY<Lg7l%'il#m>6ZJj/cpsr>XXAp>#0.S- 95.960 + ,Gk<mU*WJNCa^$M.QMr>\J[Ih*K@UT6T=V"\YYa?WLBRSP3u[oG$,Io>_+f+GZLV)!X)Gpp 95.961 + b?rq?]l6jXDk<$W5HXdC:3mc36YEGU9ik>SToB'(&`=8?GbaPW9]g(l-Z,VCRK7IRB<HVp; 95.962 + <?Q)54V^U$$!;'MXc.%>B]#6PnH&lX%I9ShP?S>``/7q.G*URshbZ+pgST+aTI7l&d7n,74 95.963 + :Zb07lAi2WNVR%an`_&0cDl&<_<,l"AglED<9+f8`K#'gnQRLB4#&2q$eU)K`*3i-q#R9ji 95.964 + ?Jla-kQR3V\*(C<([=S[o@d'`-*HOX#+*'VIH'0`&4=_?$;QV&bQeGkXhRUE&TRm*QC%/$S 95.965 + pmi;L+pX'tg4tU>NZsA!8(s</UM6_(Vm3iSZ1`lt/+7UYa-0%7G"`:>ir[&/2I8H$0,`*%& 95.966 + hkk?n4*%)UEZ>0)I>)mK!RIgS9f^NNFKMtb<m0L-#(`)=UD#$F.$+gL_rFO3?b[IM7C0WF0 95.967 + F-"G)qhHS?CuiPG596HVcG`^nrgq,:-'c$-k]9A1nmFa,.aOqkgG%\>_&57EU'bLh![d^7I 95.968 + E#NB;WLH\8<Mh2&\(^AIH82Bf*4/%MT#JM/[-Gq4K608G;1WWF.d/N:K)0ZP)O^!&ZrqX(k 95.969 + :rO2)rPK9*"UTLd\fsjo0RQL2\4@R22M8,;(^X\["op^ZrMh[(pL<ki:'*0rnJV'C$K,\>D 95.970 + ln?0/H+U.L^#BCWg#+JULiQX+PIj",HWlY=F0Q\EOh<ciRMBc]8]n]Jb4N6_gR2B8T-'Gq/ 95.971 + b/q"n+FdU2/@BH7bhju!qaM<efrG7?_#T_=uXL2e0DO`ZU4=lg695f43AN*Z$YfT*3mk=$. 95.972 + ,tpb>KQf8/mVg9onjZbg[*A][T2L=i'+g\/EK-4FPL;I@ijY,)V)HC!=m36:(sB0ErJN7!9 95.973 + Wfe/^j7:>K4q_;lR:_3+X[d+r\h@HH*K7G#5$f>/3S4`b.^&Y"!QJU'4G[Z^prc'27K5f"s 95.974 + Th',Aa.AM700?TQgHm0[/MAn+!e"SU]>u/;g?-#)7H`EChS>V>CZuqiUfR;^eeA7.Cj'7"j 95.975 + KmC3VL9Ut$_FU1t/6`%K.M,0-INH<si8A&Fi#WG;&cjmRg15V`SFs:"$"dcD_Ybs1Ho)tI/ 95.976 + pQ%Z;4G(nglf7:=jMNPcop^V2`olCmH%SG7'Z%n)7A?BNo2.A2nD@FI6YB?Hl&B&IK74C5T 95.977 + V)!Q%"sgiWOUiN,dl@Z+T'8gnHU2JicXHYJM?+YFB$d_C<e4+cH/!V-(_[>]toiDLe;8jke 95.978 + Bd_<L?3YS3Vam5>hAPg<Z?qob/F+BYnLA;sq.qlLbiIcP;l_&`#WSh+3$';/e=5*%u-WR>5 95.979 + djFE[e\2:fA/B5@W\3^@oG23&u19.ED[2N7<^9/p\n_7M[#(1?E[U8,;iUsrkp$kWA;=0Di 95.980 + UQ9('ZO*u(KR)J7UYmUTnf-:>"-G9gCK1A-!5FV*5n3X<+n;-Kn\Qt)s%7,JLV[P4`Be$j) 95.981 + >_=%;tRq.Z^ccd_8DjV*%Mj_GM^[>+4^=>f`42(U:p-XQkrK/Y+n1onglaYiNN9(dK<kS+9 95.982 + 2Z]%LE;k#%8#:;P\%b9*0Z@n5M)Vs,0>+&X_'c3?=/Nj:W<j)@%IM7bSK>e?#,kP!G(l'P, 95.983 + I820@+(%!g@@q$&ZOj_:V%%Q-+Mccm)*'b/$XVb9Ufl2<V<2g!6Y&pVZ)Ypj?eUbel1bo'W 95.984 + ^</hCr<J&n@[p/8:)jS]%9WT9g(JE<Hq0g"bn/*,\%gds-@IY2)<\G>Ma(+ZX*0sALQ-3b1 95.985 + )4]8r3M"K/oGS_cO%H1sC%WC8<j,Z.f5('sfCmJd[=2uMH_&aDq6b\<hq3^n%Gf"`EOZoAk 95.986 + :R/pkA5G]2kNf#ea%@JrLT'g\_Xbk.hHP>:$.u;%XfB?<FJ2\Mo?l;.&VFVoshi<)&c$)>= 95.987 + Q"A&$uD!0$/G/4?u_2'*U[@A/bb>n:W"m6?&_N$UX@$1CZ]jj?!l>nH;2k43dqUhD\0`DVm 95.988 + H*4:J;UmSfL)\\W)OfKb9:LE/]S&0i8enbL3K7a\QXJuX^G1uK3+@)42kP(V@8-/j6Oh`^1 95.989 + =ieTd=,eCr;b+g/]/Fo56r6*=.E.^F)7,'Xpo7Z-a:335s4&5Cco0#ljjSM/;oE><G7'3e8 95.990 + 'H_2Q<nX_iEaKY?:0;c'\b$O`Hd_$31JLe=;;VZuFT@7q<-9+]9#)nb^o&CI9."]0j:u,9e 95.991 + oNEXobTL&2#&7*OrI?G.P_F016;:R19?c<!Au"+AWpb0p4]8U>'?aCCKgGNZY`oijh#G8lY 95.992 + QoV`:Q2*g;T".)Nmtb%3nHa[fZE`3;91jGi%ZnOX&Cic!&09kID7W#'_G2K-Z%,&rtRWN43 95.993 + /$&@/E;TW/A\X!l.:a8emnJidP:Q>SdHA9fLpP@XJY;jCp>Am:U5q1S]d>`hJ!hpH7#Dk.C 95.994 + 6k'N]X&WJ(Sd[>tRm%!@ZFCE$UhO667qM(Ydl?Xro@,GNV4+B$Irk!A^nrO$[)>b`s/D$80 95.995 + /#p4"?9,F#f_Pi7mJEdH]5IMco=]'hk52o3r!*;?`7-\\'jURQM6ES7VY&i=g5dJURrF[XX 95.996 + B9i_goj^]b!3#7/cd3E!?EN&Oph4T5[po#aLEjFU?>S[o.:RZUahnTBZofl(?aLtrWe)7G^ 95.997 + _#uj*:PnPN@'"#&+d\]L.<(nRs!`jhVDVki9hb\c9q?#rb&m[tUHs#Q4NZ8-F-#n(T[CJ-U 95.998 + MsIXe9]qgSRcoDO/gkPP8kG6gDI3f%bAh<?npAE+RQG92i';F'n?1shDV;fGa04J]tiL_FZ 95.999 + R,eVJ-3'[cn&t/i?Q%LmErsD='h\Ms9B*cm($cH`+&n4Pc56p9WU!u/ZOS0b`pjiuc'LR\2 95.1000 + Fd]a:ob(E5kXNlpJN[W74CXI=MM6o0USf_A*`Eu!bS\J5LqlHtlsh/GhD63]313%%CK%JQs 95.1001 + ,47SQ@Mf%!rudLPVVZ5@s!'YOnM"0q#MUK'SDL+Sg0<;P9NNH95u[E"MInR+\[5Q3q?8@4L 95.1002 + i!M9Sh)[J::9%)*gX;0HcU4IT$D!:jU'-X"hN-D@OF_)!-REQ?(PZ96k5(-+(4LP0AB9On) 95.1003 + pN8BVlkmUJnhOY:<;g_I]9`!u6M/LEU&RZgK\N^81L$p`DY@ZG4tRD1Uh)!dB?'RUm'_`DE 95.1004 + 5aW@4MF;S.d/14]^Q]]@G7nDu]iP^&*;tb]:q>iip'a(+n(5!J2%fk[$#Ed7<"YU)M0F,ge 95.1005 + 3pdu@TSLHr>aQ8$O.6H7.R7qkR-c*X?BY@]:dKXI.uXSg`sn_?.VH)$@C4URdqWS:LWiXMU 95.1006 + DuIQg2Bf%bsSB39o#*E?Dsk=7B(Cc3!KHs4t:D;WcZa''/KtW#,'JG[<AP^!R*8f.>=W5b- 95.1007 + 0=;cTU<iG8r@!g!P-)>\fUGY*ISM=*jAoUcUE,BmM-,#b^#"qaj:k739E9Jrnt4))4H%`s+ 95.1008 + %:7E.3K!7k+-=`QbA/C=Y:(3IXK>.n)k'fr7I&t`,1dqW_=Be^>J,$Gpn6n3U^NjcsXe69" 95.1009 + ".a;2+f%R@Z1C7_H<M:*\MRHRNo5\_KbINrtk?RnXFAU]NJ2Al*,!,a3>HtbkWbs_g(aB.5 95.1010 + ,,VVaGfH5m1a;Bc(E']jl]JUI!!m6q^#gs+>C1]k.G40g[/U!\McaETFoSJMbeqs]LOsB^= 95.1011 + >6"TY$e=1DsJ](^m*soN:A#9/ij0.QV.itr'?-Y(*gbbQP0u.W1crGd"'6Lm)^%.E$!EH?J 95.1012 + (dnfY[\hST%gS=S2Wg66H>pGi^I`FFh])Zt/>ZmN"YSB4TeiPHopAb#qdoja=%n13!4NjqN 95.1013 + +kr3Mc2[URE_P]p#8&3InYg<>to1$8DV4Cp7'S:a<jAmFem-Z&6*KC%R[SDg+s./GuGR,[< 95.1014 + ]"e:>CYFfsP)ef0nUi_odd[F614MtiNYuWB*\()%!qB97)<J5("7EN(UUIaAk3%slF;33J[ 95.1015 + XD!j%)iZ8UP`#%0?IR]?RQ!n*rIM1r(;ndo(Lnj#'"N,NNOofe-fYEpj7Pc9EcG>m`KA'<m 95.1016 + kK>.>BQJEE\8?@&H`R@PeK-Ro(n.rV;7J"?Yk/L]Q]\5hOE,DDf\.K8)/s)Y>8e5%ABR=c8 95.1017 + -Kpo&Yob&KO-U*iidIh?[F2_?ZCCg20&Y>i";O37f,0S9L$6r^!g@&\=*%-0OOR5H#ON%3C 95.1018 + jm;8F(r6E]UBK([uW$8-9d`V2I"TGeCD60lmC%E[Wn-qOj\PW9BhSM6h4+HDNn-0fsEe 95.1019 + 2C)61NLQ.*[kqHN4D6[D7[ppOuLe*YQd29gio&\#NY)E87*\c`:l+P]\GCK$rH3j0N^%]9c 95.1020 + mFWk7c\(_C978r%VdHq3g<rksMB,hQ>_]GGUhBT>q/?T$<PZ0&*H</ebE^J&0;J02QdZcj# 95.1021 + Mf8BX7_4^_jd4o!]md9lODF%Gk7s44_\t.6];6Hn:g@FPEQ7O'Q3huG<ihXan_PfkBK3h8K 95.1022 + lF+qO^a?Bq7,Z0jfdphTp_!<pB6I1sm(pn==j_,O];&VU8pV2ZE7O)Ln)@U4i_kIt$E^I95 95.1023 + #"TD/@E]<+:_5en?=^aoQqq\5A9m5A1K&JLEKb3h9W?&)Yl'_tS;C@WbY35F7/#0[Sei$,u 95.1024 + G%>0Rk2nDD7_t$%7j?PgC6#7?'Hl,/-HRmdd]o%Q2H+bqrJg=#*\<)W+0ET*!T8k`L3=H2( 95.1025 + Ri[>a'gLIk6>S#9Hmh=?.4_INTHb445n?5+]KZsZ_+R]FF,IA'6(F?GJJ_"s3/`Hs2#sF1# 95.1026 + %TYR6le"P/1[d__ON\T]KAR*4[[p$+:<ffA&UY'`\rY3\>V24!,4LpQbCg2%H.8sqojR-?: 95.1027 + :0=_Fo3jn8,1n@gN8j#UD&/nFAuqK0u_(74_A+4B+aC<>ff=S1DN!Lr9Eq=XdTZ7B@RFK>k 95.1028 + >.8%9KU_($Y1E'utt,)t!lW:2=W4,tRZKe.a/,iE?ldqKeX1.I`+L1lPWpe/WJKE03!72rd 95.1029 + $P7GQ:ECV!h7kA^O3Bk@PAO="@$lO0n0m4!//KeL-4(r.p\F)+kB.it?+J]<(WM9sECIf?X 95.1030 + XLL.o*.nO/abHbN3;eC71,As@4NO"0Kp6>d3,Z6A,UHP_Ju"G?J-H8r&BPnPUb#D67$L8:P 95.1031 + t>5H8SIP/X;_QnGDIepN;Rt4ask!pc&Uch`n9T;@#Z/57AA.f#@sS44JY>P$7BmY+0484#U 95.1032 + )!+D%5!n3UBF#5d;TV>/1t?X+Z\YFKeCHYtH(B9.7YKKKq4No/gV08d&Be'O<>1(sA:tW:X 95.1033 + [4BM^d:o`SAg9Bh!187>0t8k^2=!'J.)(aVjIrAiM;7#2ONGlPWS;*&Kbb0[4/&-5"+Y=A= 95.1034 + F`sf:Jr6S.Hd7kUdb=$M=Bb8CugEm$X"O'=FKT8a2.B/,&T:ep'\4fW<Mn:ZoK:Lg]+?rU0 95.1035 + fa/q&/"Eff,ih]oj\B(C6'Th^j4Q`7]Ys#b`;&a-ZBP>7iJ9/n:@*KP;1L\(T$1T#c+$KW6 95.1036 + c#:_m>*8o:,L63AC""eq+mOW:TXFU,j3.!m`ps-69=PMTQQ>)`.Ct]L`eM#3T\C;Fq?@a8/ 95.1037 + Q+jn-dU%>J4,X:orW+FUU@epHR/H4/Dc#r=Dg8&Q'KVcc[*MfqH.]\&4'i67D]3kYtA,JZB 95.1038 + FA*_bLEn:?4?*=0:J::&LpW(G8O1=@)Q:-B3(O>P@M,uS"q;JddZI4/!Q.8l]d;QVHI]e!( 95.1039 + +/Q1CW;XH,8r@h.Z0iK)J;^jJR>r5D$O$!k-;f+HlI5k/b3E)J0;lr,[]G6?h<hL.Lc@d.a 95.1040 + 8\IllJPkq)Qi`=D)kY5$^]fE]*1D^J-m+6c(d>=n.8!:]V'=62OACin#dkpV`DBPD;,nW7< 95.1041 + @q-L4]GEU<E3=*<Gbf8eMI>5:5J!i<IJ(O]j+R^>uf]e;fh2]ANds/e&2[o)n]jmS4!o^Bn 95.1042 + I\iKH4\H/+u`]bCN@.Z03pn\DogC,hCYt!Bk?Obp-(#:Y"iQ="SJp4`jb"F]Vjl=)E._79J 95.1043 + *-NRb.Tf<'C$]mNo+I2/kkMZmM;m/9\=5VY@(9$dRj4O"nnncd!e#e\fG&11M=76Yj?(c8# 95.1044 + k4`FBJ\Q%Zcf,0Z?3%Mp)O]`]f=Y5h?4d9)DQ!%CY=`'L.I@+/sR9?)L=fn/r]pr6MSQXd? 95.1045 + =m_harLd='TirJ2=tQLQ4eu7UV-7+k$H78AOGqhjJq6q%>%Oa<]rYD^X]jP`>4&LsrNKK8P 95.1046 + h?4&Mff\8R1.>;\iF<08%<(@8Dm&V&=k[L*YMERPFfeXM[DhA"V_e6A<7HU8;AM.=Nq=Lm1 95.1047 + 39`O%4`.g4dR.D*s+2VqcNHg5pnG]uhs55p))H#rT'0Ct-GK'cUBXajF@T=X+bC:L.,Ia3` 95.1048 + [&C6'e$$I*r9!q"_U-mW*@jjsqQgg$:QD9UiEOPGYD>b/pjY^tTKi@DmlfBA?%r7!S%d56f 95.1049 + ](c*;]RD-:\+Fkt^"-AG;!*Fg&nM2(5[eV\l!k[:M&7+dW8Zh+3H[FTlJ_i9)?9j'J<VS)@ 95.1050 + k1o@e^;8tqKXBAELRZcI]uA\:&G-"F14n?e)sW8b+EAll*oNE:KanJ5!8>?+hDe?5&cD+T9 95.1051 + oU1\r_biR&UiSEc4i4.q$7`3>(uhR"oMe$\6n(1MUWP0>sCBP@[jdMe0+t4:eMHQSX[^W!X 95.1052 + 9kMAgBFe,c)Up4#Bp`3&?H2CP*TQd-]cK@"I3Y).M?/@9<M<D0]Q=(ujP,iLm]r9C4RdJCF 95.1053 + Ju^jt4UPR5.)#:U\\MSK[2]O)SXXU)SQL_qN"pu#QX;dTO+=C>BCXi+\_&sRPQj!I8Q^+Wt 95.1054 + "=lU.3jEcGg0XtQ(=4'243kQGlRt:lf(D)#,MS^&HZ1<U=mXU#8?*Gs8TG9l%F4TgoL_plg 95.1055 + ]'/$O&)tBU@b+1`q\s(*1l[BY`Wfp(F!Nnd8i85/-lu%iIHX]XJ\p/=M1-NX>k8<dPaf<R4 95.1056 + no6;OE"n>a5bs>eo3p2*51IZ&DZCdf^;1p?:LFU<Z^[Sk%MMBW/YH+s5k&!%?>)75%WocB4 95.1057 + e:sABk,`];S;[#@<h2eiQi38I28X21V'FJYn>EkZ?ulbX4?^b7'>9gnn^a_p='\doKcT#%& 95.1058 + -ge;m_'$Qu]g8<@K3%%=[+$8Dj$ON.^8MWn5pML`!'X:1LDSMoo-#UZ/MStHD+j_;MgC17) 95.1059 + (i94hNdqB5B-k<4W"7/#mP.<a&?Bhs*)b>TfYm;?m*!HR@pd8gi&*;=<krtILr;tkGR'tZe 95.1060 + C2iTVYf!Z'XU3sLCXPoBi="of=Z+#&C3I63`i*PDJn.O*C8S#/ri=ZEK;:u=NQrO-?E]B@( 95.1061 + 'UX>;b#&a?I/!KcYX`MD'mYI0%=_4`!2G^m69-=2V;kAfS0U8$p\8`*nTeFh/1Hmm:MB:Ks 95.1062 + s)0!!r#LD3!WChU65m_R*A(mV_'%Lj$Fu_X-.BDFWr/a_^CJm;@.pmSLc<B'sQnldJ3iDOM 95.1063 + @0(A)Gjea78Dmr%ZI?J5K``,C\.ms`aQnAK7JqX3kSCLm<XG'K=,-0tVnlo>AdVOJ-X!t5[ 95.1064 + 6b0[=/mfoT6#EZ\(NfM"mU*+8CfF@J3E9lQ%'@lGma/A@HiO6kZ(<bMDb`.En$!Rb@!!Ncr 95.1065 + @+!RBW`^r(6DZAk*<9.YK6Xsh(cr$/)Qd'VK[S\\Ii'ksYm`90nf$8KcR12L,4[rHX#gQ,B 95.1066 + ,>RAgMrPuEmk23\AFVG.]KTmN(5V%^F>76s%ffu&-6ON_#K;^@gRVfM"_7Is#Z.r3Jela9" 95.1067 + 9q>[gADA4bu$\_!mG-#&TIR4H5+(M'=-_e`4,K;K3c!CgN97509kf!97Ze%9Ro=$.s;[Zh! 95.1068 + $5ob*_b!5^E306)b&MjkW@pJW<'1lN@YFc)VAOMZ$V<NQRASX31GgBD_e_0)qhEJH(;cReW 95.1069 + _<V7_D.P\=>2_fJ*S+UI4G%c_U&GpNRqK$@dC3I>l#6Ggq$m2ZAMiO532aEh8F,2JkPFllT 95.1070 + G=IW++nUKboT5F"+%ddh&rAe/1ukRi5n$sode4m4"X[IK0GX@QKm5h:GYa(h?\\Ya`!/e8p 95.1071 + kOcPIuJW5Mh+u6/C;<=c.dL#Oa,37JR=9;&B&iIQ$Fa9L=4BV,;f\WQ2&ssH)I,:;YI.8cM 95.1072 + =*(H)YNOMOOA0Rs?ZR"[Ks#O.gkqLA?n$"\5D8+.DspM>49QqQHiBO,egB`-Tb-qA5@k:TJ 95.1073 + g1LAE>%p=/p3k;W,T:3<^lCS+*&Ybha6N=(3/i&HY[/te*KXp?Z^&,<.8fRi@,SKR/G$Zo& 95.1074 + L&&8GnSo^j7$Ps)!#+r?l[trpcMg?u](WHkJ^C#2'SZo)NGInjhEJc^#L_5N#pof%-%=D!> 95.1075 + S]%628'C.qR\a]*Hha4k8(TZ?XVMVFI7TW\^p80&b"\53GE@c3-ek#]Q2=[.IB]N'.GOe+f 95.1076 + 81;gLa]e3n4e=eSpe\a*uF!eG_1?(C3QNkGHi.KYC*,nIGFG\0!#8%!4f`M^]0i697@n@5D 95.1077 + "$Ejo7n/H3[CT"9&H+JjEekGXNkn$\h#Wd.i8`,nl/)@aTG=Ai1Nf7q9sB"GQj6OoQcUGra 95.1078 + ka,*kl5deSR9AM]cLB#^7WU3,mr9rHJ8`9L27Th44-=Ye-b8>\ut'_kBcTgGS,U:"/<*jk1 95.1079 + 7'5Q+O6))=gYYh+Ca+<g3AYrOc[47/"h/&lkXq9l0!i85g)CF(JV)#(a]YLX>b:VQ\N5f7> 95.1080 + M6)BJ!@Y\=WVGaJ%e2SYkB#=57X>`@_SW[iHqcp>PL<?C;#N#`OVPk\26r0mCLoqcl7<dP# 95.1081 + 7#qk#OuIq^./^!bN<kkh#;u?9@KalqV<45B=6L^GC/0G#D^'-VFlm]L\IYBl[F2/hZ%Mrqr 95.1082 + rT(r7&n[KR*Hg$\-J8&9\tHTe$?J:b3+Z)N9UU#/SZ6+UGq]RQOQ(Tr\h/6G]`P%`?Zk5nL 95.1083 + nI+i<fHE>27a`DKfFS..-gHPSjUMU%eA96/+N[jp@bK,:fj@!FMBdjg5.WY3\6W(dm3W@cP 95.1084 + -+W;Kh6KXh/C>oZ$8EhpNKZQeAC2D*b1=721Z+@UGTlQ</0;T$'Ng\*\bg<i,80m?T,ni(X 95.1085 + Tf/sYmX`Xh9_>efdo>il:J!W_QHdN7#+EhYX+5as.p@'Z9ksm8*h]ikR1`">&qZoTlLcWVd 95.1086 + O77*SPTNB%83r?b^WKf9I"/*d&QaL(ss\T(GIS/Z;FQGeV-2h7SnGh#Is1rQY>)RSZ%+NAL 95.1087 + jeHg:#hJDVNb@_!sOE6d50c:Li+,h,dh9q*'kF<?T%PicP2(Yabju5g[^i#$a+d!J'*/S2Y 95.1088 + lt:u2G1iE0D'L.%.[c\CF]Sg]<3f9RnT9o*'s/mm$FMc?B"_`5r8/GaKd+kV1EIq*.;GraI 95.1089 + ciYQ!Q'j;\3Tkd"PLePsd?VT[>p2-'A19+1m+o4N$6t?X:P_ccI3o-a/)7DqmBW31mVBjm$ 95.1090 + )6X#YEXJ[Z-pE-DPkH<FM_)IA,I)+l<lM?eR=:c4U"Yr0Wll.-0W.`/.`&[U/leBRM0qN*` 95.1091 + o0t3Z=3:YT..qRgq"eOW4+6/qE@\tepVXACY*d-6k<*"oj(p*GkK[UGlGJIQ1KVo&6j;$G? 95.1092 + s*OE8\4\%>8r>+,T!PR:eGlptfAFk[NgHmH2PKbbgs]>NS;hT_lS<bp;j0&*,#,Jf0el<^H 95.1093 + bE,Pcal@b>RWGbHhg@SEGAM#BWI,$RauAS=d<Wt?/d8Xh^KIB#$r^:1%7hoVR&`'sYS#Q4; 95.1094 + R=Uom0&@'"Do\5>J5pC8*n\FjGO9sAqE/b;j_6O^S^]XfaE#i?m`pu_>ld@)^,b5p1(Cd)! 95.1095 + 4XR<sU`F(o&#(=<Ls[3.4lUSH#d^+."7ac-&bP;uRH\aimF\UDAqXHj^d0(lgdHt;(ulbSG 95.1096 + O^+?7Te1Zf'Fq60.JkM(tS<$/('>Ggp3m-2[ThKpIelp*"_7p+@m^t!"[;81AM@eN`5\$jL 95.1097 + .R@f<@j#0b8u#kgL6$$pri-D,de0N_'jJ,fqm.ARq$r8V.C"V-FaeP(B$c.5jP)+97YE2G: 95.1098 + iR>:^oE6^*7I;A#d4e/S=+,&lJ)6`H&#j!6l<YmP);)5T1BUe2pF0T*g-qWJ_p;2UC%ai0$ 95.1099 + G^"oCbG0BR6bt6GHgmi"E87$I8)<>l!E@..gc?qWCk`Q\QEfUAISNSuX6XRJ<J<+ApR_hbo 95.1100 + #SK798f:gV.9o-uqb<]Y]q,q;C1(DA!1"qZNfuB?-fti*TO]g8ch]XGBULNLA6r]mg'LH/* 95.1101 + 3::tfRqWI3C)iIIOnHscpKfV5"I6G,kEL[<0nO[MA4F:<Bd?]':h"UHP)+8So(Wqf".aV<c 95.1102 + XC]/P\jI3MQ,SA+`I$<g4mlSdb+j<PGsS\`s/B]lC3u8puo70,k:5?W>$!WlmFi73B1nTHk 95.1103 + FC96(5t.7kq^!q`3c.W@ip,s\DL^66?rfh*^h3j;"qahiB\:$JIeZGe]j&aLBKi)M.cG)a, 95.1104 + f>"rfZh6`6Ob/)Q=D#/"fU4lX2e!A0UDl*,)W5P.#=*p1=C100&f.@P;)khB#oi.O1^ktjc 95.1105 + \Q8"[orIE*PV6V<=X*fVSMsI=+n>E?LD[`Af=(G1iSZX!j3+Q`*k*a0Upi#10>FaDG)]A"H 95.1106 + nU$3(deTAb(l0\Y>,NnFl\cWBZknhrPcX^>q[''G$cB9,8[J<PK8UbL@+4CB#V;?@4<4RBr 95.1107 + RICP1E)7]DmcUFgJR?Eu7`*=cD^5/@_'W+2:ufO0$>[_YFQ`iG2e_Z4.j%\5G<ADujuuG#^ 95.1108 + j&1mD8CXFmg2P@iCMLV\".LkmiF.>AhrigTV-abA<KQXG[+WjR$]Ml!K'L@>h&`Aq#Mjdd9 95.1109 + q5TUO.l_c]L(ub*Nhde@UUIsFeX%,\.b\J("fO,*r(et*^0nN7PjN\YK:`UN!7?SA.dPT9A 95.1110 + g^A:k9Y!2=<%%`6;COnqh%A0Qm[Xt2Bpg__9$''nR)/o!Y6buTY_oro>EU8fF'6oC;B3)B. 95.1111 + fHQTXG"$m1L'7*>H2\Oe8@?D?s0V6PB&i^DOZ0?@3S(<j!I[HRYQ,-r3/c`f'thkZ&J&G(e 95.1112 + (7b-A9sii:"AG7l,:1,$E!9<P#`3@]eM5&SCOOZlp6,oO+cu%u_23#!?u[LX@anqrlSD^(F 95.1113 + El``Woul!5qY[*G.-<R6;;Sn(Of*pM@f:R#BQ\[D/)k6\YRBUEE7W<hA,\9iF-93,Ro/8^9 95.1114 + Ofcm,4!c+:7q&Yj83/("mA^gB.&s7G&k]KEC97"3TJ649(FhN:SYo_UA=S&)FNlj=PQWiZ; 95.1115 + G@'\M"kVWt0]^V'G:a;;i5qkf,hpqf*8^\6;lL_gh6*De:D-'?/tX=M,D?Z?]+sqZ-I6gq5 95.1116 + -S_<jS^5Rj*Z&=BV[@!\J!`gBSY42X]HFO<g_?>EJSpJF@^\XA*3<Ff^KDadQ:kGZEdE9Cd 95.1117 + *JeINI7QHTo@$%WcPCYJGUm!2O*<<`A]=cdkKCI^=LDWk36Xee4qLrXr$#LcJB(6jrHLiZI 95.1118 + rAYAa8^e)p>?1&PDc&H7a1peT&qNq=F^cBh3%qIu>d.!G?()C'//!"TYB_L24")#Q&>eUjZ 95.1119 + J:\9"3X=<Em,fMVB@MJC7(aA-,c=PYeM84,R^u?i^ibQX-:+l`hC*E%@XJ?9bcW&;Mo$Pes 95.1120 + >Au&9E.i5WC?:LojmSA$mk"ajRNX>1h+5Ql9;JHo`-^f2J#)'IA9e;HLtlp)mg=*k#[6Qr. 95.1121 + ^?4P+H;unNgf=PK#@q(l"*sj8IXKj#2(CU.utV;08a]PAq@tQ4:p?L"N!iA&5I3.KL-+X^m 95.1122 + `J$o%=Tm"-A8G7VrVeb43`S$fVg,`qp8*'b-2e+jiIsL2>dB,l]=H!H=SE65ot;,o'lp#_i 95.1123 + tH&I/<q+R)`2$j%^P0Ad)?8g@j0]5U^kL"suC>4\BeoAh#8+heoSA2t6l$#uUWiG'.5?Q-c 95.1124 + l#7`6hB8dZ-edZVm)A0OiAcEMk,93aA!0&DTcYV^],3BH))Xs:)%t=p_JJ(`<!%rU4DMH*1 95.1125 + .Q4/_/J#`5Y979#P_:2TDIUuk_UNI?G9Mg#Z!t5)anXA[%f#QR$*bs,WZ;L`:>]nr0_.($U 95.1126 + ?)f%fY?u:kNPl!P!gF'859bA-*g@W0K/m3>0LI+,Xe1KYfcsmnG1DR+i*kf`(9drIih!%,S 95.1127 + G)5$54\J;LIql.<-FUJdWde!%ZKp+7`th5oD0c>Ur][gksJo1#jgI>$FnG+7]IhWuB5:!:K 95.1128 + =M/+NC__&+Z',aPOI+V?XKNmo5(Uc0X=0]P:]!Y#S.kTG_`kjmU$KP_dUAJ`3@(_BU(EJDc 95.1129 + a*>m'EcV>asOUa,S)DLZm0k&urb8N%?"V%Lh8&Tm5_UU'/"AHgO0^peEX"I)p<Y(Bt+7ihl 95.1130 + ;e%22D&Xf2)enIe5u0(b)#g6Q1P%DAdm4co"@SFQ'*>g*1C#?1T/mUTkQ(E8d6JnrXtd1'3 95.1131 + cYZ?On0SHaQKY:0>eqe!nBAPd-[$4$Na*",In*$^?)P;e'Lf@&QKlm.\G0.[dni)E!.<qe7 95.1132 + 6\I+_quM1;P)i:)ktk0JCcqO?bCMF"4M`bd-=Ei^-.obVKE/+d<Bidq&<>2J6KE6c2JZ@UV 95.1133 + X22+-J&2l-X-8l[._m_lJ1ISZ:1F2fE26ngGh7hg43;#Fnad7>K&7<68T_i0@("[@!./BES 95.1134 + bo!C.#'1kM4-W@9=jc9KhQOtDd!qUb*K*+[h#qE9#+On^9;'Q_$j"]OL1+j3u:H#iV0_<aM 95.1135 + Xu),,_V%<Y(=iRR9acb,[#S%IRPYW]kEQ9JCAM')+=S$:H*_sXdt4-4W%^'0HD8kc@_kjD+ 95.1136 + Y'jK7P<dakj_?C#ub>)fi/$kPQaBr7Q0p45\l9KoLLr_l9Q*P#q\3SFIsK#qO*GC7b(Wp:Y 95.1137 + /Q"dOS9G/[2W(oM&H(O$\HR2PeR)P$]h.q`H[E+EQHM'?_Y0TNKaS-3WKgF5nclNZjUA1kN 95.1138 + Y%d*XR75<U/I&5:G*Q),Z+Ip>n'>a"8T`+q20nQTZ\%2IJKe9;<Wh-crm.^R\:Pfi'Pd9e\ 95.1139 + %1UYn3cos1=O\6H<&XFske_a[WeQO5I[?8aZd`5FO<D#$g&J5!cPd=7%90e=@_bf;@@K]B' 95.1140 + 8?p+]YA!qL.0S@I0K5m2Z0(CR7/[mq#+F+e$rjV.e,<"+q%$?+:$Jsa&VDiYM)**j"k,73$ 95.1141 + JnC:``')sO7^U2FZLXgL/s3Tl[hnmK]`n?;#h<9-qP7,[an,Qg+1GJD@KlRVg202^J]p=AM 95.1142 + >l2oY4<O`G=P'.JCX`Q!u.C%NpaEk^jdU@%(0*Qll%H/ogVVQ=Lp\@rAS6860"Eo:&%?-ZX 95.1143 + D]F2`\_<$`s<dqk*(/]52$`!oc[h)nBg5?:D[Fa\I29d:I$GSc!W6:#.KLB4hZ*[gAf2J7- 95.1144 + +*htCb+mit?m:fpMROD,h+@iYS`B7o+jD=1'n$`l2=#3iW?6Eqk<Y.c9/$iu3,kFi6(q-[d 95.1145 + nWL$:D0i5pEFK2k<U/bq..6=:Y&^d:6'#]Bq)m2aHmcgTp]YgX#qK\IDkmt`l)Aqp\Uf>3I 95.1146 + b/$P=41p8M^l/>HU>D!!XNQH[3/NW'2]bG[=_J%R=l]PKQ_idE63YXhg^;,G$l&.U`gcQF* 95.1147 + Q"YGF3iTMALs`Ko"BBLf]Lk%gdLnY'jE-FCIBd;0ZdjHm#k?';>nhQ"X(6`IO]CHu@@U2o/ 95.1148 + 4r1HWKjq_n0B=4YYUgJ1H,16*:EPjK>&n>\3UFb2I-=Ge8'WImfh`2qcp/[L<mBeblTEk!> 95.1149 + !:K!cDSg'QlBWn6S'+i'k[0]sGEqm>!l5PFRXtS%\KlpLp/\-dae5uFZagD1:3-0jc+,@@l 95.1150 + oU(8s!Z]dTWKqgJQOoXC6mu>LGF.!4Qf5E@=`RtRRi9BX6'_p+`a8QqY_A5Er%:aaXdLBAO 95.1151 + ,Gs>\2a'pGhCsLh"*AdiT\@b%eq;%k3fI=Roob6&+P&!)0@bCJdi"k/Idi!fpNOr,+6NmGZ 95.1152 + `]<U7t,4._.:)R1";IY*\*C=d@`aVS@lH4-bniG1C[_:1KZN6'b\).l&D_,B82o0r*Gdn<n 95.1153 + GdH+B^S^R3DU;UR:H)$sOZ3Z\@'9Obd\.BT$LYei#25uM=iDo2]PBk=I9<VeclqFDe@0hur 95.1154 + OC?HIM2",3pV(fA1')%TJ%=t'MR@nk1FBYq[7D"[bki:p\V)#/nNGKd7SrsudkIP`4<Fmd` 95.1155 + -(qj,R90ujiWZGff'Sp7-@-aS\9W8o.AX$cUA8aZ\ppp\$a@jWUdQN-RgrVJ:J,*,X\0b=+ 95.1156 + t$=Rrl+P94F'd4)XIG@X<_bLHkAf3"R7FgC9T`</K5HKg5V+.Xc@\FXm[%n(gEQBZ`\AkF? 95.1157 + 6J2]'rpM]7P/UZ5)qFKmBbgj^@PF[^m9bq`$$[_7":*$B0;cS!Y`e/"PFT6e_2t'mHpA\$. 95.1158 + l2PLJ9u]>qRR&P7hC8]3]u>KTB=*D,>:A"`XZG;N'reZ'Rl+M&j%/T$f[:Un;sZ*2'OgZOn 95.1159 + befj\GS,/8TlGB\CAKKMpWm$="qes#Ib(mTWSuS'i(I6[njhL9sPZsuX4%HhB%B^9:\SOo@ 95.1160 + )%\nL[9##&]o1@Or+!a:CW=KfYp:NN+]ZRQHcMhVa;f*.K;aS]cZn%b^NS#Ck0[eiZbk3*$ 95.1161 + QDIU40="4otKgG7UkV2p7%eh%CK]pC7!h<0Nij,l$eMcn_u^V3O*9;FeG6TbFAl\LjC/\ef 95.1162 + H!I)r0o.4RaEng`=PraT)?%SCb:kho*A:R[VRARr,bVn\gX:`4Zi&*(E%VllACBcWp)`6,4 95.1163 + HZ\"[m$a@`;KI7)MT9@V8g]]tQk4\i"]h0<gsb+.B5]0u%t#hB^-JLiPi<o]F]4O)LUp0:7 95.1164 + 8>eD5a;2shR_,Ta/$Iopd3[>Tem/-H/H54C=T?2M\V49!bJpl2f5?55?,oA;8IC6O'O.Sa- 95.1165 + frH?^4Xn5`?ekSpdYR"MrO/gk8)B,uI4o"o$AapPoA8c)a$'EnI9hX,gRt%2*u=5V![.Qr$ 95.1166 + n'IN5l%852hBV5'&a+lFFB@C4;b3hTr::/s,hH$a<atliL:am[TqYM*>dX>i5YaZ5og?6*G 95.1167 + %mS2C)BhO.>=Z&BCp0C!c=XN$r0(h=ceukMMc.ic/&VhHHL\&)Y;i[tr#\UEQ$hR%@UcWAU 95.1168 + Z0Ff[>9D2E]J#10ojXh/9fBH]F\+k/o0I%+s3.hnRq-1q20rH$BcB6\kT+WFS;*63LP>SnO 95.1169 + ]&K_,E?N_Gm$?dGUXp2k/#/`Jc(*Sk6Bc_]W4WE,R*S.r+kru6>ijkn'H"e?8f=e6Q[mTQV 95.1170 + <S,n7f:M6P@M"XV[NGJl\Gj]aZK8<KFkC!]YJ!5RSrr5=Om.?PRV0n.U4,UaX2',B\qrgr? 95.1171 + YfECU[&tj<8s>AQ\Xo=CELG3+9HhAs%Ou+ULs'QH'P`'S2tOuH1i$u+fsMpAmd-n`t4f4JO 95.1172 + .3>>,/TW*M<?fAA7OUqcOb?>UDc;G_#i;OB=$M&H@GNiK2]64s:Mp7,_XsZl03%NC>(Sf^s 95.1173 + VY+d#=VP#tY;;&Fp7jc5aN3Y:do9[Ao*F/C0<BM,/"`m"E&3[W58;lHLl$R)<3.9*lA3^HC 95.1174 + =;eZkZ[9g+@X]FbQg@]otZEZ\mQ<?S0(GV4)j]8mNSu$4lbTRY!mEQkQP$Xl(H5SV@AO]JM 95.1175 + 2Yf]^&Nu")EKr$eb4,nW:N)@H,c^l6L?.L).SN2OR%`I_Qg,i+"f-rWnI0eE:Ffi+D"a>KK 95.1176 + e<LQg@"^)h=NLA8@.d[S6e,q\7t&(VEBl_5G?KhFS_P1?O#?;][S4=*nPnX,O\,SE*aWAdH 95.1177 + U=MrLV`Q5N+(<r;GMYr_bIdk/*uEYOYZ4(U(1N!]^E8%]L:a<!rmrW:81?1XM=lN^!sC,/H 95.1178 + T>oDD<>.)Z1K]Vm'\X/7SX2%;p1Zoe=ClJoni7PU(9R&Wm'XFE_flumhJZ1NMea(OaZIlGW 95.1179 + qR"W/oY]uEX6#:(URmtdr'np\(XX]f/5uAMqCHDJ06;/"?f$#]:1lb$7K=Ht:87^M3c48R/ 95.1180 + 0$^f0W`f`2KWcoP,(`Al%21LAR\S=.:I238/E8W<1hn<M1UKcN'd@X/-Oh<J'el1R8,Q.QY 95.1181 + (q]s9H^^B+&>Z);?#LM;8$%5/'uI:7Fj?'m,\[36/c&"[Io#W,P@E(eNHo+f/d"l;C,hY8c 95.1182 + $P4fliXYC/3***r/!cX;t'eKOR(S+KPIME][)X9*E(T/_7*_[N-&O25qdA_+Y2F-J$\2$om 95.1183 + jPO:;9;U[ATfXs['-m%c#1'EZ@OM7O(LWtoR*MDqf@E.LLke:er7&ep0H8B;^8rOoLARZ5< 95.1184 + 7@AmoR^ebc4Af5lms':t3b,I&h>8`7F#X[-n,8:OY,bt.''r.Dnp62@Q33Jkk'd9MkR-$Gk 95.1185 + C9(t-@\ghH8N*uHW-R'CStUI*c)2eR1];u'KBC4[[:qtZ[\0'->*iq^VK&:r)C9[)D(5m*H 95.1186 + I3$/ekL%\2AEIUM1"HNC(MChN)fe@Dos3T-SNaq[EWp@oK=![M)[F5h6Wfg:J#&88=gF<op 95.1187 + qF^W*8o9QeFL0H3n&TN4LaIG<QWeF58/bLZE_E=-r%nR(AF',a'K7NlUqo5pEe9-amW6^A# 95.1188 + ;_5.N^/-Uq6F>F4WcSnmKe^N\RMlMjZqX8X3Mn,+[5ap[G50)FNO$D%2Y-U,Wj/-CG7,i:& 95.1189 + X`hSDWC*eiBK/[dFlpu/n=Xl.:Q?Eb4$i9cI"]<@&ec(50$g]'4+iP,Cf*.!4q,0X(_&2l< 95.1190 + ]\F`Z+OGN95IKoMQ5V$";$J0_2f(qoS%+8f^"4gV:*u].Q[#>Y"[%%%'k4OOMZf%&Woc'.S 95.1191 + t"8#_sT6(kH=Mb)ri'eQ'F,Fk0-u(:5^jH3CbhIr1?V8I^.<a8%!gW!!E1\KmkV9Lhe,6>Q 95.1192 + o]J*^`K-r.#2d+sRRH1Eu!*"sN=O,t_H2VLkDF<?XdXBOVrIL]g,g&r9FtAl+Ws5:)2T,=! 95.1193 + rC7S>]G&P+`KQAZqi8H8aE--EZR,pFe]q2$h<1;Ju^)F+oP^-?*9@[[mk*O6KD)@.m/6-l, 95.1194 + \^:<,Vj4pf-'#&9,3:+k]UJm\(V!lSH>ik#<bFM7=Q4g/i4B95@JBe4C:UV\?a>:LSV+Eqo 95.1195 + _A#_k$]7=bk_p6e;Lb,$Z(EdoGY4[&6_4So6H/m'aAMqL"6/eoO8o8!P(5nkN=^jk%ZXDB@ 95.1196 + ^HOa-!A,t8P*qg5DUlkT9SGX94A8]-W@'gFQi!`&lgXN'h>5<,d0n.q%lURbt#\:WDtsP). 95.1197 + $"f,:o^.`lRU/UO>ajF0\G>"1:-m[-4TVUodZG0ft4b(cPHp$^A/,>`Vj?,uh%Z=0r2ZJ-C 95.1198 + (Z'J,>"qBI:W2%1pU&;aKPJROC6E?\$a^Y&Z4W@Un\+VIV4dXhj=LiSt-[PWhC82<^Uc(;, 95.1199 + )V#o,_#u@Hl]3(<5d^PU1C6!F),8D-O>J#/8l<sge"Fat-$E$lK)EjOOS;Y*R["Du@?&d4* 95.1200 + hVC8l88C&,XVY%*7lfI*X-K1tO>cKsqXG^S<TCat(>)]eR;#4jTHKIF<*NN@@EAYo:c(_%> 95.1201 + (S`rCq1R`f7dn'b=Fp1o`_dc9aDQIkX4K,ik7<>j''5!CSr32Uj*<)h[Ah)N\.a`f'<iU4@ 95.1202 + o&qr-u>sNi42WMc?R:6Us"?ji3dYK._Q6\heOCj1=W#k;uedR0E<?g>cJ/<Ii.[f(+o<fog 95.1203 + Aq*cY:;pF'e56*Q!A_6sRYbJjXMR"LI5o?P/eH@nI^I=ArqV_$J5:QtBi,f5pPFZ?0Va[qJ 95.1204 + @+LgMmQ2Em5E>EoJ)?j@)H\+bm=T"U$73Ki;@l87rf>aa*)o"GKTX;)Ea3j'Cl*]-*/!A_. 95.1205 + C)9Va9U8!55,6I>"#\ss;A4*D1aH8*.HQP$7j+(56:?/^Q7H@2WF[0ae*AW%%>QpN7[q[RC 95.1206 + 3pk/!BVkKa!;PpJnP%U[<Ah)d$UVkBR-15nU8N(<F>f$Mk*p(`8')D*.AELn2#`2NSW@,GE 95.1207 + ,OR0V?XY]/uoi%In0bGE223,"tS'/Nm:=[&`(QB2XgbS&0.dZBo3\[,tDSWnU"Niqu6?CP4 95.1208 + R:XBB&b(!hhNDF^/+0+PpI-6uQ4!ksbO/Z#W@flDZj["&A1k+(V*'qM[n?BZ=<M#_uf9OSg 95.1209 + J%ZdY>4uL'6c2tAPh;Zt>-1OLl:"uHb.!*o1O-/EaB%RG-iUf>&G,G30e`5r5Z%PKGFj1*B 95.1210 + ?jmRi:'#l"_(r)skLCdY[qll+b-q`Y*&kW<Xs'2'QQ"mJ)i8T^*O.K"Lub-mg+#GgCN!YAi 95.1211 + gse]pcE?8Xm;D8hJe8ADK4mR2lEIi+WG9tRF!u26E8a"-="i]<r-Em\m@&37lH^rhm/$jVL 95.1212 + &5a^:W"o%qC).iuhX2J;1c[$17]2Y4k-FN-HpH_j"NX&`3WI^>5gY\Sp:89\[Y%hi[G6Dj% 95.1213 + ]@(&*U*(r6'=NHq]FH[e9;\"7p&CN9`MI1t$F;uAlod5gHN#OrrqlU<iR7QN9Z[hEd:ZZA: 95.1214 + I[^D%N+B..3WWYCcTtg*k3odCrJX=)4Z5TI?]/o4BfI"E"SN_tB4/9Cm$e;l3UUm5G53l._ 95.1215 + )VZir_nSa'0FJ;Tqo6'#n\5b15Io=D&;%`#XM<c0TaD#adb$"b2ScYVZEk!+b3?[he<M7/^ 95.1216 + _?bmUb'CsPX$]O4`MOM9&m]kU9Tp8Z(p$^/).)iVnqF<VYd@0WTFjBN'^b[4tI8W"0k-:ZT 95.1217 + $%`6eI#YlkV[9(I"f'5.[FU3m`^o0o2VE[M2=c9I.,Y*'^eOM!ODd6W_,E$Gaj*`:5e!gJB 95.1218 + ><h7j=MLf25\S0CC@O/>RP7)HZ)g:9>?PsjZ^6NgW5")(%MX2%+[6VD@)C?7g(84.q4#H2_ 95.1219 + L5h?,!Bh"2+#"W:+6rKb,$pV<+7+>(rPRkJb5p+!pKUcc`XE-"qDo3P1^76"RZb)a.egK-K 95.1220 + />Ps-Zs^"/$o11N7d,TG;t:84MA7Bc^I1.S4B]EU;i'sA2L)@@C\J)38A@e2`(S%i6N5#e! 95.1221 + &'Rb7DS\m1M&'\<e(="^>*):oTZ]k@DF]&_c,4-;3XOac9\I"_o-C6ZlP@CEC9pAa\a\4e1 95.1222 + AX\F$?B:6'@p'fDn&CT83>lb$qXrb_&=IK+R"5]1B@;>cA!5p^+8\$TmOg["$-gL)^Vl#]" 95.1223 + #gKW,Dg`3g/59&Mm*Ya7iU]WXC*/Ej>VlAlrj+33`GVrV*Gkop@S_9=1A#IMC6LpOs7,re: 95.1224 + sa[Em;K+^a`P=@&j7QX&VA(aG9dL<,c)e5rNC(Lb<OeID8+cs"'UgC,WI[i^,$S73lJ\@N+ 95.1225 + 8@lqaaP;J<1lRqaR@rm(YV;N>CaZu]oV!^",&$0f!rYH-d>.YNMHI\hJ<!4]VTJJOO)3m\X 95.1226 + O^,(s3?#Db\HOf)48PtGeo9I.MBK[e=Xm*lRGJZ8F2#+Ef(/3OrJL?6`f'37'eRdKMS:0`N 95.1227 + Y(SkqJ4Y^JB*/1W";A,*Y;Cp*rbO&Y-t,ZIfj"P<mF5ct*TfV$K5#".lSN[e.d&":$tTEO: 95.1228 + SGN,t'pjR7nN;pFi#c]j'?>7M<'LPV2oPf2ZZ^lM:u6-oIf(_%EZLp,+BWR6VY'ZCss%-aC 95.1229 + SlHm?9dMjc9/?D`3=K^0CR=+PCFPEr$H7)CBbuA(H>pcK.:!r;N$TXk'1Ji_beASkZ%!iYF 95.1230 + XT-7Ta%spa:"X,Rkc#P07N?B;#jfur;16]rk"=:G+HVIZ41-A%^&pX20MOV7C6;C_0df[#& 95.1231 + X<e<m):u28'HYp<2EBkPtWeE1X*0n`^C$%U^,9raXCgs.!Wb5.#4c7OpikjLP$!CqnZ9HT# 95.1232 + dVM:(k^[N$'Rb_C;!o:!FZ6RZ*+BNNYIX(A(HD//;#]oT#J&b+aYI!/8teo2YRJdSd6rAPc 95.1233 + 9Gc.1WdLfJ;J,eg<Z.f`R#&8Xkg&q3agGc'ugb$<oMeTs*\1tP`U,\9U\NDWdI!`\iDfJ7R 95.1234 + $&<=+\%ok_Mbh:C$PXNK@;i$?;KohD#`3<,1rm=PuYf.M7j[k8=Ut.r<b92SAOJ1$oL:B:% 95.1235 + ei8Uk=RB.r7+hGf#pjMf2/q2-kh2MeLkV;MU?YfkG7\>1=k[@eSYN%'@G-U.dV@2soq`u5J 95.1236 + .Q[Hg9<Zm`N7e7>MA2<&7pIIort4QKS\`Dbe,g\%91^p#YCdkYJ\)3m%hCTL"FD$b"[6;]s 95.1237 + osP*)iMc0D1qCj<)83'A0i"<j7\?a>=73S/I<W>7fe!3l0<o7P:g:a+Z(j.Hj[ka.qalgu: 95.1238 + K!-&l&U@p9N\=cLb%`N!313a2d<h/XZC+GsA\;c*[.\iaQ89[6]b4KklMgl2D57)iAO;F3G 95.1239 + LYi)Uq^nojJFktjO32OV\'QRK(hVJ.Dg(ZurHq)_9/MTX2hO6I[p$\Z5K?,&->pZ_ReP9Ha 95.1240 + 5i#H5U93#(FnhPFfSJn:fO`de6.sdfRF*nSb8#q4fhC5h^>Ku.PpD2jV;EtC`OOt#g2Q63X 95.1241 + =.42MI(s$^.%i*"pi(($.iJL8gV[;h9<LN$mV&,i?Bc"NP8a_UZ"r]UXf(sEWfa((u_19?_ 95.1242 + t&jba20)ZsBoiT%J')rZIg>-!OYTRYD7WFT\Zc!meJ\5GdASXp0uQHf0/3@R]ln=Et.5:4U 95.1243 + \#@cf=Qk[fE$6Xcpqik9_B._,``21o3giqQB%5SQgIo4'6qiAN`k%?Y,$aOq=k+BB=hnb;" 95.1244 + 65ia)'iP!oQb[XqU*ad"A&j9?XAc:H8k8R*#JnrOtjDJAdZ,/+@ff<[)hBihp1Z;A$f,dOq 95.1245 + 77^)EULc1WA%l"*L02gB5\6):j;qLd_)p^;M;P_Iaai4.H:64qo]29n?hE>XKf*2DWT-Yq? 95.1246 + qpc57VEQQp<rp#?0.Yi4hAtJ>is%*jPFP.>mob+DB;PSk9b956igkrFIa1Ok@Sq!AmL4@ft 95.1247 + ^WqNNQ[4VI>NT@\"8D6>_2(hJhE&.63t/gSnf)r?0(FBFe]QAJTM"reG)tL/2E$\NgLTTF0 95.1248 + o&NG-KIk;J-1#*?9rFgeH4kr+R+p313dQ&_/U#^1McHj1&PCPGARl*d)G\:!PgnR=*L<G$' 95.1249 + dSr$k*M;iE(0Pl9V"BK-IjD"mVAEILg@kqe:E9>u&BX$`Ui-0q6;$NsrBg.OWW&b+_3bmSM 95.1250 + #,$*nTa$5_EJ>6glW\]Km]Yj,l%D$,"?s#E=F19TP&&-]lMeAJ3/E1E=p!isB[2V'(:%]CZ 95.1251 + g118kl.OIL<-Y1Oq'[WlJA]12R)KgZKu22CM(%k@63c#\neaeCY$48f"^OZ_/(IBlpf7d?F 95.1252 + 1BKQ#)c?NTQQ5DO=khHWsM*;'qnGY^[8KHj=n?mO$t3.s6WcCun]JLik@`d"g4BULs-BaL/ 95.1253 + fuW/0X8DUGRoj62\<#ifTam&'9"in!/X54]#BlL,d,=4XF4GZP*r=)E,un$]H:!=%p.NpGn 95.1254 + 6#5DG>8F(3Hk_<Je#%k(-n6?8I"R?!gL1#i+Y-;`f_1Lgm&8oPU[g_cU/P-"JaUmb+QMPO7 95.1255 + #jC.COCnTMVZ-&a!045s%Y"_&7fVsas6sq/E/,%q`sH\!$?3DVO?tB]%h8(AM`k*%.Xb2Qm 95.1256 + =rj6g)i-X6^ulf-?%]WLJ*$)LJ57e%e=9ir(F8G%",^Er/q>[^C0tA0L0`M<E]ebE6U"5jW 95.1257 + :Dd.X8[.p2btBlDBHqj$Jbi`beO>LDY:A(l)q:&FakhCMo*sG`Qi`kk&!<#E,a"rtYnV`9R 95.1258 + @mLQ<DEcjGSQ'a;V$lfeIia!(*l;:'4kWUC@XO$7Kr^iTN@Li5TJT0eWO\*XC0#j4[;Ip<I 95.1259 + B96?3!M'ko6^Ir[gYOp\bE+^0_q#Tl\;KcH1D8:lQCs'GGR;uOknn^<9pF'W\D2<'0OHfk' 95.1260 + $M`LZE-$k/G7(cLD.(,h8Bio/;jO9<LH>!dD'WaSY,:pXI]#l"p^T3tCB%>*-X@3PJIXlLm 95.1261 + 5DZHk1&k6ZA>E1#QJ<"#8$P0HtF1,ppZ1S.;VQ`Q0fp1n%XAn+,:=ZOU`akDnfh=k.^-\L' 95.1262 + XE,G_V4QQXt15@<)m;H*T#B/^7VkOEQL8)#%c:O!ZnlYJ[8"G:8;I!PX1Sd;l'N;bnu3U\` 95.1263 + J2;k-_m=XSV'<7r*W44D9Ie(m4aJH>McE[Oq8/t]E>T(hj$c&P#O(oOhPpUC\$<GMgBM"d8 95.1264 + "cHc6(*/LM!ESeQWR9a?YS,=YNV9[3mkIDB^`=:_E%Bm?Vhn'0_]E#.K#a^<np98M4JpEfZ 95.1265 + q6.\a"cE-$&]6I9-?_gjYFo17LV:0kG1Y*M:U>J$Tm,[^n]tVNa+&7?Y&R6k!3_UmO3I,He 95.1266 + VI9>Bg@IQ2b`ofM=e7[KW&O:Y0?li9(5X7IP8D@<lTR=r+ic0NNW\+GWH-)?i[CTM!qftG? 95.1267 + 4MtY\[)Hn`s(tVL8?7q>[0>Hq23T^YXCadf&&rLmW]RhTi@*:b)Ti^Yr#!A1?O6Gel_O,Wd 95.1268 + .[$].>\d@dR!)'"`-jA@oWH9Dd`XrH\[X$%sV$Hl>QV8OQ@0SQnTD+LZJ3B^e1fMZH1(6&b 95.1269 + U/IR[cUB'OKL/Uj0.S4ZS(m2b:n>XAI`q",JR]7dt8R0tN2]_;.h6r9=\,\-_4.?`IDS0:o 95.1270 + =1dSfrI;UjE*,4L(Cc/<@W>M_AiC`kaC/Bm4/Q!IQbU;A:Yb"%4T!K=F3i(jpGDljl>d!OA 95.1271 + lJa^fP7ZD`hQB^$3b;@4,0JD26u.ZG[*E[(QHJrEd:a*8CVFdh/c&u^8G&7fBd[-?+\:8]r 95.1272 + np-cQ'K[EmCi(1E?nFjQWX?RRF$<%s2mBbcFB#;9CH-r2cR6/+3GPDu_Am'M5qH"@.e(&B2 95.1273 + <GikBE2Ya`kD/ZS*>%3s%n\H\jDlPqb"NrnCaSdsg]'uc;O>o1KmN+EmHOfWC=`t?K;#KMg 95.1274 + CQQNksF>!2>0H*FT4pbHSQ+i+0m.J+I,PqR2&(CaTb,L%8L<E40Z@bed9HoV9E2p_t__<pr 95.1275 + !i)b@4YMDl',n@pYqQ0i(ie'u4jT>YrBJX@Zr&nI9Zo?>ZcCT27C4Ws:I)0Z@!L9]!GlN)2 95.1276 + U0.4hD`r<4\rLb[7*sBNHINc]2"VL"ZfXP?!#SlN*brm1a=^9:%0oKPV7k]d%dU5@[sAjDq 95.1277 + 0*,6]+$iX2rW8X!B*SF`rR,;duc"W+^!0WkGCd&ITk&3f@IA;_#7fUW>cNM^Z"@7r0Er^#6 95.1278 + oKK1tYH<`dQ=IG^CYrI<`B%L%E^Z/?]G8/9"mQs+-^HAGYf2;AP=<[,nN=Qq]jA5,_9R]7f 95.1279 + ;Jk]r*fZ^(Pg?KA5[G-j-]YiM8e\n1eLc*Edj/Oue&D`3j-Ac&BA`]1PCQ(tM@%'iUV<OFb 95.1280 + ?U;W[.f@c&XUQ(91^tHIV]iF4.+lP(`E(eRXo>l;`q:t7[FEr#glk`;drAFUql]=u]%*Wnn 95.1281 + [bo_WA#lK]%Z_JfW'e!c&&lVV]n]qToJ)8b+W0R$<IqW-60USqP8L['oArj/mF38CW@QOk+ 95.1282 + Jd<N_PO&l[,paa(<rtSZcnbpDqLiK4+gcXhRSdPS(_^Hm_I_nE:rLJ_dtJ%F6HY4LrQ^r2# 95.1283 + t-H&N9"KW+h/p#n+N!gV.^<Ypk,H:S!6eabk=O#g%i7s4Y,T<IVtl44)p^?UqKpskU+UJ]$ 95.1284 + F]!^QJV,Y"5Chdsr5Bn1Ni.8^^-LFhRkT^8h_e<s_79c=)-LmI3/hO8OM)&NSn.mP@+`CJ> 95.1285 + 1*iaoRD^dg_RPU_'*S/4WVeJD@#cDi(9UH_2I,]IJ!,S;a9(EL.PEd[6fX!gd5(KL0hs2e= 95.1286 + KN=t`*#O3nB.O#I!-Y/6>tr)&J_fH6)%=,@cSFB&EY+YO*\s)OM2_MG>f'C`,gr8aMYp47h 95.1287 + ^[U5\LT=oL)6/P+8UF>)k/5a7@f$?\:j$nS1Zf=Y/q^af^,)nc"Tu7VGL.Sq(FH\%lJ;!ZM 95.1288 + OTDGX39aa%/Bh:**!0NqRO=_ruRg\QQ#E\N[K%%O#M/S3usWk&fX0jbe-N9RcYP$!J](mI] 95.1289 + <:20)cVkZ,.'J(BNc1OQ6N?[F6_2N@X(G->kJVg0p6thl7],>NKkCiAs;pK\>(q<iqngp-' 95.1290 + _I,@ui('Y1<g_tu@h?bJRcCLKRL_;GT;ee2BO#nX-6@")=h*a0<>(g8)/%/P2`]>tl'qrI8 95.1291 + =g(J4_[>6V+5,kR;$hNjQWKtFO!`$`jXWu0lrTcc*9mLaJW`X6"#?3HB1pD(BW\gWAPf8$B 95.1292 + \7<:3*CQPmXNF+f$DPX\,QZoJ2/#CG'/J01DpYnuhco;,CfX6Nek];0fht(+Nad<).5V(Y` 95.1293 + 4=]\%@li5:c2O@%bCrH-P0ZCdk<8=4CAO4/uE<jNk^%g5e1[SFtJ>:jFQSG+XWjVZQ8QW]W 95.1294 + r7]eR+,"NIc>-09nXqQ,l;5C<MlfE>Y`Yog[3p^9jnHPYp"eM'T@-G\*(9n&*`KLV<A#Uo[ 95.1295 + V"S9[>hbc=WG-I<FMU>5=ZoJ*)gJ8,b+5:WHNbkr%Cu4m4V7_T!l.XQ&#&]q*;NZ8mj7Ko6 95.1296 + L6B1"]cuN^_j-8IL\<TB/86s7YhlceO]PiC$d&O@WDO\gH6Ejk&(_a[a^AiUB`R19]_d&`5 95.1297 + 7[m;Yd95K<b]ma^6SnM=F%a`Cdkh(FqLqkl^&t(_+p<fP!RH"`:Ns0*>Vq[;7O>Y/g7b$U^ 95.1298 + G9@W99BQr1l\A5`ScZ;Dhr=G4LqP:L\D?<PHK?Kdt!`*R/9rd[u#e%eOICLB53Vin(L5g6^ 95.1299 + ,cFrAR(TR0jR:P+7VJsjO;Yja7=+2gN1oqD&s!(bskfH6oI$GhN4_b?k1-B[,,nf-*MFTO@ 95.1300 + ]mJ1>,q>8Z.>LHJ\Na-%_dYDPM0%OQeQT.WC=;j75R&mgff4KFJg$kqV$,2N]F*m#JV:<A! 95.1301 + @rIq$KXVKVon//Y;S0[Qd(V"a[W"L7?#4I@d019G1kVE-SC`9VI$(c1k4n)R[S';:,>;9bu 95.1302 + ]6M._/clpOS1H<;>6]9A<FPcLKd])a</+o7#5lrC7]&\>AEAP6rPM[!*U!m+m:M$AG7sGY_ 95.1303 + meSMFWXrM\3#<5VR>*N<[_Oe(7qP&al'aletoek"/E!C7P+!$<lt>gJiEY&$V<.:hAri1f_ 95.1304 + D%>&C<(M*CEd<#:6@5`S\0DoIU(Z(Bb3;13D4'9)95#Kl,_E$AD")m<0X!d!/qojDU;Jq19 95.1305 + RT-Yn;`V2gDZ6usatE;QS(g#))rJAVLNt-!pHS-F"b.iLKfJ-<%4-)J8G+0=*,fYf\:c,0$ 95.1306 + dOO3ZVBeNAn,3E7i^dTp-D7/fO);K'^/!_;\r/*hRuFYoj4bMntm%?HmKg^lSJqSYUJALpQ 95.1307 + m.I4GERkalGJm*%;q&K6tHSm^;E'0RY=/(]QQ1EUM-JVB=0M^8P;Fa/o/FCrl:`\m@<&M/) 95.1308 + ):Z.!mDG0PL%7Q6]P$IN)TIt-l-,BRgj+nRn;R.2-5Hi8H?pA_>ss6p0kcj9\+$NFQ41P6Y 95.1309 + h!Se^B%0>r'!Y>kD@HJP\a>+q&*5Tl$:cSS24T]'Y*C811+ljUD_#pnh"V;q$%Rr0]qB$n) 95.1310 + "7T:p:hUfap`AD^1!f:f0PVV:TGe7$]k;F,6$O3,i;O:D(P<(uYYPJ-B*Bso"b]c.U&$SWT 95.1311 + *k(&W.F4gd'X5mTaU?!!?q=@E#T23bl;,6*'qLu+mL'Kd1#N\"7Y"b&4m#O:_fXR#S$^Y,\ 95.1312 + GD=Us%eS=JB>NJc7k#M%G93@Vc,Y.%(ZcK%"UVas>sjc&BZZ32<RBARW+\Dh,^.7ha4%0df 95.1313 + HBcCF`?Y!'\J_1EAD-bqG)8hP$WqiPG*EG62a<qXPJ3ACX_d0UB-$MLZ@i(4d*6FRP#C@Wr 95.1314 + iFWu/FVc+61MF5cN6Ao[p/<&eF*>EFVj)I790i0G6<>*>5N39$kb"V*JD&i)m09<dX!o3]* 95.1315 + `ZJb-r2n9BmF%n.e7gD$'e@ZRD<UAFd(I79cB7oEdJG&%i%^p3#_7aSEZ$"!<mRNbck79?O 95.1316 + sj==S.U;h1!@<UE]G58bS[%21"#S;Y3-'_=!CN_,-k,kdP*E&dMu.V-7Mt8!H&\5*@?>U-; 95.1317 + mhfOoR5B"XS2?-XfCGi(c$NC'm5&-W3Mai2%VJo-[64i"'ce7Xh+FXp^9t.qaBlU5^[@&BV 95.1318 + 1@d4^<\O]re7R#H(.q2r*>P.]t;0cGZ;g/>"%YDgCp6H"si*A[:@EqqA`$Pro3.^IAMiKbH 95.1319 + ,QQ]9>0d/P3DL.EM<@d-n(Bg'Vd_ROAMUq@<KHViY/8m4`2&`V]_=KuJZJ*uQ/2&d?0QQCJ 95.1320 + UCd:_mi9dS2DY(KDZni*^,,2p*_sm"Nm?HUdV4k7-o.$PEdBI'Ij];lJto1u&ecF0KfSSS+ 95.1321 + p/u7'9P<g=X,.1,BKtK?kjpW68>g!3j.*Q+TN&\K0#3[+EB+s!uWEVdlJ+]-Ltq8o>N\a(H 95.1322 + D$M]b6)KUEM(Mo-H/[.DRYc5ro*U2_%[X3eQjR&],0Zn1TP//u@!A:Q%)m*u`#)4RIqSY7` 95.1323 + !H-9Ul&EM?\bMB=EK:,%nW6IAFX@bjE2d4do2/J0Hd;-lZ]o/9Qf7l5?Adf;G9(5tZ6-<)$ 95.1324 + >FAdI;Y=Pjn7>F\k'K.C>3Zn!!(">QqoL:-K9(PnR0D(AYnK9L7UIG<T4S35>1L0f6G>.I, 95.1325 + 2MDSK9<TB#68XYC2eLA6$bC%N_a!^:*\.m`bL]Mtd3.He3O20f^_-Yk.68-<1%WdSOs`D51 95.1326 + u5PW3YT1P8t@=q/chU`*4'%E[21r'8Q!AE4k1cU_f7jb)^c?u,r=mB;t3h-#=!6g.2>bJPQ 95.1327 + NseT0%UI$m<GR%g,N2lNRC\4-XI[&S"nmNEGk8jOANZ-Z)rf\P0Ci=d>fDPgjGhDb\Ku:(G 95.1328 + ?qZ0Jr`mU1V$)W@h:_&<ona^!B>>kQWQ2;)7Mh-G0\>bUp7!Uqh[ar!Eu?5<-=[J*ubr#4N 95.1329 + \'I+e@5u8:2qd6%;&&A)J?r."-M@e_W@.hY]iG'.'+rVUO&p>R.ei-s0cl"!i0u=,8Fus&s 95.1330 + 9k0Jb!jF:3[DQ6m:LN-$&])g36'SCX0k46kB/WV"G!BL^)BU-`*`bpHG)'>kk5M+pB_I?s< 95.1331 + ek"(l7o^8?T+<eG)9J,gbHXT'u=0iG,o8!ZF$AIB(icC!C@m)'j$:12RTE"_,Y?FT5F&P't 95.1332 + *:?j-*SfMf!Y-D`76uop9T/hATGq#Zh-f_)6,jKj"WNDq>]RFfKqVY3[dZgonstFh7N-IrS 95.1333 + s5;ZI^?2`Med4`_E)7kaQT^t!P#f6$aR0i7ekf%"miQ3[.l/mouKG=i<1NHX??DU`TIf6MS 95.1334 + LI"F9RGNP%u(Pj\d$3;9SGr@,fUIT:naLP<GGZU]@[i1Hs+#c,)*b-*N7pua8<DJgoH=HLN 95.1335 + GK;CE3ILQ$)HXn+A!:=drH;7S',TbYK(jD)]cEI'?Qj-5AP$=':_6_/<eDW@=1s)C%=n3bG 95.1336 + @Z#XY?ui,oN$JGJgB[b3%,7r/U]*?H0h_\3$!XM[<emQ9od#R'6Gug\=L,:4*SM]pcKt?[t 95.1337 + WjI!4ZPTfP-&LCbXEI'`^CPAa>*1M13a\Ii*Q0"%i[*N,<e`!)W4l!C)FEn/c'OJ=)+LGc? 95.1338 + RqQZtKk;olUgQ+R:/@M-H&N&+[j9s92:Z]+'_KED"I;fRJWZVEk*K^M9_,IN5Mcll'5&#AO 95.1339 + lGkl<Gmu#]Y#l+X>91t-9%>D<BqtU.d@)nD>\3(RgL#BBU=XeX"8M9C+GBk!gGr_(_NJeZ: 95.1340 + 7lE+8Goeiqp]+]ePp&qg@I9>Ss)AoDQ6sq;=0*Lr7nr<T1)U?+fm/ppH^1;k7@<J&iD#]:e 95.1341 + i["]Q<2%;JWp3RS1]'i#iXI*GlNmcKpb>;M4m.uVUP]N]FObRK*(S#=g=L-c&.oTSE+&qg" 95.1342 + DjK8mofQ%&&<FH'0Sd@@^Qj?[6@=3H&+^EpUf\Kp\q[3XLr,Xe>0'#<DBt3@l9Ag`6C6U*+ 95.1343 + $AH5hh=X`^?UFE8+jH9%b34eqj>UcLr?H:apD9r.V_V)hVQH<I)U?)@C+VE/"1J7kG+h1C/ 95.1344 + 4&fPj43d<'`ae=$3W&K3s,#)q4T;GeSWB-<DHC:bDSZ2IZW]H?#H>T.%)63Gd)k+1+fZ<?e 95.1345 + '<#*M;Ao0]=P6mp,?n=9Bt9"Y)A@rf*X@#MFS(Qo25cU1l3n4\*5WMc3B<hnTm\u&YWE#mH 95.1346 + O6pg%C#^AYr`]*HPs*#(PY0^$/6^?HRL_^J$,7qZSe/LJiqU'*OGW/Zo^^`HV(TV9sjbs!' 95.1347 + =2`!-T#;?'lMuZWgs0qSk+lh/X?)bk$0&g'*Gn6+?[F"Ik&`>D]e1cWC12\K^4)^`XF4SWl 95.1348 + 25./O%Q)l^E\Xh+D7]0!F-?qn8C!"`68+^6V0gW@+5e$FWFZeMt&HeH*Eh7`^EYlHGkGUs= 95.1349 + YIMr8([QDaKA6$(4\$l%9XV\?[Rb*VtOpO2O!dk_Vg\CYu6]'e<(*"WAJ7FN]cajVfD'GYT 95.1350 + _9&&!4i@1``&pK,HqD8h9uQs,`B7/>Hs+G$?,c_M`]RhPHtgS[\$P!'`uo`LGA\87TtGala 95.1351 + ?5.Cqp6L:hoP_2aZPj1I$r*hS]Uf'aulNB5eY=P5QI=Y"['2<H7C)MouMNr3?.lGquMf4"c 95.1352 + `eX^prjSi8:c/EWGo9'`>h+>80&j,L6(C"2*Zd)l(\gL_AMEYkoTBf&LXWo>hpMd6/2iI#H 95.1353 + B^(WX,u[6Ocuh'`qb/WesdbP`I1@i<L"U!1&e:,TSkGe9/j0@]qF[6Y8PI5lg@l8Y3>_*B> 95.1354 + "@*dE7c-O(,1'"`6HNFDBI?]'>7[Yt&feqAENS*PQJSFY*]oXsdC_9kQ"F[,Yn*+Ng!Rk>D 95.1355 + gEQC@_N31arR>%oTK+tJh8uq4)@U0ngIH!R`*OBGh"S9Q%3=QcJUQ,I1=2TA0c>KCSbR&HF 95.1356 + p#Y$>X>MII1b@#%H-J&dCp/F>?G`dAcc+^a1BaRqRZP@c/F++gOcW1]5`i/8).6+F2?&,!0 95.1357 + -'Q1#iH?h1SfHIT_onZfV*FW#]m>!r<TPCei]e!LiEmIX!]Z#M=$)fY2(`IY`2S($MBK^?" 95.1358 + [e)^Ga@g(dm%1**Xa*Y%.84u6@=XSMlTSjAR5*UES5Gk-XnqIg68c/el&<ZY4/=%3N<gb)t 95.1359 + dmQ#jESaR*c1$p/ZDLTW_1Ct7LrPAi4kS.loT(2<b$u+RZnG_2M!p?GNmLhR**@W/kZX9d5 95.1360 + &)CQn./l6B5.>R'8TNKN3P]F$^a&KbT:B7@C#7E&+cl;s,po=(O4kE4Io7GuiXm8Pjs-qb^ 95.1361 + MESYHr_=&m3.nmH,'pMCD.qXl@4<2h_HJ4b8ri1gb.!=.Zb%++-b^:q`ZD'AcPTBHi*d&%0 95.1362 + KiGT?6uhH8\/f,%)q!*c)N4\"(3Iqh.uDTB6'elpi.Mro9"6?hMKiRNN.9'Fk!EI_jp'Qdd 95.1363 + W*$%>1tYZLH,.2@b0it7[.DE/_u8)ki9&->EL(<PVMR8g=l/XK,m',d%[Bf1jC-PBS3O97X 95.1364 + &:WcWPXUYQtUJ7^%RT1u.9rCqT'cN?4W>M2VlP5K^2Rr"T<$Fog&73I)?s2d'RoQWED7<!) 95.1365 + 2]C*'l#41>mh_JDmeKX8hs4&H(&&#g_dW'PS5q9\NQ5Q")'"r<.@#gDo+c:PD_7O+BCm&f/ 95.1366 + rm<VdqEkBSQ;psXk.3):CE`E?P8/^T6m-Y3[#-fdj.<']UW3@j)OH9^/\DCbtW9=cT[K[W! 95.1367 + Vc?q](XJDn4]"<VbmZo;4(lo,g+1H242'de>@X&3#*b_qt9=l5(6HbjkK.5O\aH^PscP#6; 95.1368 + R/6k]_iE+Bmm61BL@bQ7(Z3=*Lk`#d<jXXd0U_smjs&O^?6@f@\`Z4M\u:"g6:TWoGfiM@, 95.1369 + 3C;q03_QHMOBZOg.,b]U;@`WPrM^(W.$%!sE:Kjo2am)]b.3tXHWc-&N4L39t;*;6>9C-0o 95.1370 + !hL&.b;2i`7+4"fF(/tm_P172HHp!$lT7kggtOtK&DT<TcZB<m5u;939WYCXlY;%r&Q0W>7 95.1371 + Hg71)(0;J#tlQl]e\`#@i[Uj'f?,;9".?BUJk(`78h.IjuTY7<U*NT/(SD_qcd'#_J(W!mA 95.1372 + 4l2:fA"4f[ogCMdol_7?]URl.\-VZnsPC6s3QbRm*l)2#h=FG3-<]=t74`73C#j)VuV(oP7 95.1373 + $r<3<i"#1nQ`PaD-;@s\6C_9[O8fB)j[]P>$f-Dk[Cju_MiRGNL^3+V/thpsr7Bihg!.g4K 95.1374 + S`T<"fGih)KA,-00Ag^W#;/dn,(.4*clG^)pAbh'iMWF$Q;O59YAK;Rm#aAah,]ohrR7P?3 95.1375 + MNo,!6@&XC^e:Uhi49u)2QKE;/ZU.iVR',D)O1J_>WAUmYqe;UYDm@F7anb^HXf:&Uq&!BG 95.1376 + j\t"laq&Q%eI-^=^nS$DgVcl2WfiKCmJ]C`)qHCk`1'&h.\d$_+^Yk.W+b?+"hEN#+m9h6! 95.1377 + C!nM%nbg3R\6s7mAcpq*r9PFm>"0Sa?<1CYO%2`n@hsRu_XJ-G/Pe^\@^TMXBni-Oc:1&RQ 95.1378 + 9m>s*ReG&gnEeKl$85kqI.-'u6t/\"@7nGqGhF7X^m6T]h!M20#0QCia6K"kYd5LsG[GO,2 95.1379 + OrK;<l^UO:E?k`]2%dX0WfEhOa#s*<M-3lg,hXUXKasBh;ILs@5MaugS6k2JF0%_:?cPlp9 95.1380 + :m@N1#Z+aD6n9OUhA7Z_6OZUdpJp3,QB"LT^&VRf8jOS=6hk2D?b;#A0a6H!dRsQ!1eW[f2 95.1381 + CB;S%0@`#[t/(U#/rR,(.c@VJqU!/6%TlO)<-d)-OHH9=L:Sia]B2H[I9\qZO$rmoIXfgH\ 95.1382 + sfP6k.S=C([=-&\#>&P&aAFjVW%C.1cWX;!O1*r9Zm2P7_>HH\hlg,tU*O-=kUlMC;Y&\-T 95.1383 + *+,.sP4O:!U3,!Q6jd1'`+2DQ!J-S/-eZ^-aG`PLI5#ULo%4><FA&bt:/%Y8g>o+Vp5E_?b 95.1384 + X7([oGl8FN?<=$b-AjF:b:!IfA(ron9+EM@AbemR/+IoC#%*D1m#qn;O<9p*7N_Z\Og=2r) 95.1385 + !0hQEHTC=cU.KI,H.',2'_N$)b\XeU;r!GF''p/X:^`tMi'Irh+[M[32'f*&?P-dX0;FXjH 95.1386 + K;Iq&l9`B727&A8Skpfan85.<9Kf/Wg?W[@&<%70k:sCHIGK*aCiXD;.K9i;t;"Ib+/Q8;c 95.1387 + L_48#]6S*=+7e_E&5%3CBfFCmWM;X&6g$9,caj("IC<ea[KYC71'O;0K4Hg0%:R4_q0b[0T 95.1388 + \lgq0Pk*j.BND:>o4\S:_%W%tl^b7Q*R//5Okmn(U?MT5V@=aM0t1c8D)$"Q:9PE$C2Tplo 95.1389 + %)Tp8]O>O>(1f:GX_&08\KFE63HRrU+/EBol!0S'Y>Q>s*BhXhigKT#DC+Fnj[O!A'=e^#R 95.1390 + Nt"m8Q-F/MRujX#`;?I>rXC:Z@pu&/8Z*4c2Fc-h,6q3l!Yd%*%-t`M?qJucpMc:K>L?L?& 95.1391 + U(R(V.<:CRRp,*n@ha(g0VD]IW*VX[qd>e>4Q3KmKHZ>EX(Nl7Bp,Oh@!$//XtPIRYr56Ne 95.1392 + =f5>hr"YChVKJ\:s3-&L$b%6p;h0(mbFgOm.a8m+\f(W&ir9:0VXOaeMd.SWqoFHuZjn0GP 95.1393 + AWiuEW3EY0h:Wtub@EbB>.'JL`9_'YAYR/ZM36ct4G#86WHKPl3)BCVDSfScdL:Jj>26LQ] 95.1394 + 39[H@<0KI:WL@l/L(^b>G=jE0L2O;!fZ"+;E.9Z'P><I5OCK>Z+RMPj4<HFe+.59.;QA^m< 95.1395 + 23!LJm!osL6YUWWQ0r&ZEB$R?@73=X1BfG%=EMF2&T!-ZXs"lJ@>bF$@6_i\j+jFr*=VmdX 95.1396 + ,;(G<@@)[eT,<+M>dXd=RcH&m<,^X<Gp1k'4D*)LeJ/ffd0^%S_7*1V7'^b4'HD)l--MPE1 95.1397 + F,]3*Lp^lo%EGWK/'h["41Li,Dr`gfZnSHVEui_I^*n(?&JI&FJ[U[Gn,8=uRIc*X_XVA0J 95.1398 + \b#D[9ogTsj$$'7SdQISlW7nHCj^oqnZD6>&'9`En,fKamFV\c9*+rSm0_!o(BRqI[>CZ^p 95.1399 + V!Efs?28nAr<s1gd?,nck6SCe/4Vj0;/S367IfiU@<1h\>(/)5XB^-RA@o+eCep>hKi^sTX 95.1400 + ohr"eH$jZc,cVb5%C:X(D@5]X[)I&P5sI4!IH`.eQI9)!<\fMq;#q3B'JZUQaCfBe&H$J^E 95.1401 + *;0j7uJS.A&gHg-qRTdKI,G/95_$ge9_nIo0$7pE8N,.I1uMDWX$`[D`&Go9=)ue*1b`rdY 95.1402 + BMNa7Oi1]CuV1agjn$\iG)Sd]Lpt2PH`3A.",'AS`H05U<S*fe79\[IV?#do=4Qq&_<Tp2r 95.1403 + =>,<f7?HBZ,,ToYlDT9o./01rF_!?D&KHhP(362CPC:\P!=\RiANQVj?LSXk_@%iEe$*!$' 95.1404 + 3!\?<J5Wee)3(UhgWrQ*(&tped$j;CPmhRGJM4=sH"7e^I%RB9?5=o+qbKd^*Qba9d5E$+= 95.1405 + 8=.)iNk`2G3E+eLg3C6NX0=;/P,Ke!W(A3FI]R4+_,1`@3i`7N+rGDE#c%fn,SNHonMk#DV 95.1406 + P>6M4=NUbAAJ:O6<K+3_ph"ej$?'_6M`9m&MCHF/@dfj];&1_@rj?@?+p^!%bW"[.=2)Q.7 95.1407 + 4+=JeU=*+KZg6-c>6^KK)jt$Sqt==@=Z$4gZK"r%/4c7@l=F_mDs&M*8_\<CCXmWa%.t/2' 95.1408 + DU0L94([feKKRclua1T+IW$G1*a3)IRsV&pf^"4UF4"ATL.%E5D37C]CNb[!<2[mWm^7*)1 95.1409 + B\`-#)=iN"&&j/c$9M7hTO?%rS]2?=)A7NKH:Hu(8[-RWYi<VNV?+@gX6dWrB81d=O#m^:% 95.1410 + #/WGkR-bi[GfKYcJ1Pq*e+puT&B8+I7M4Ot,]uW4ILpm;\0QD,g57s7E2JGp'm$`(9MNRo% 95.1411 + S!N8`k-3#9Jeb4$qB;eQn&u*XB,N=N_!R0[t&&1EiX_4Op0'n5id5X]RYj7Hm1[#]jrP4oU 95.1412 + /:<s$uk(2.0,"bah>PABF&V6u7F2e5V8"qmXJqPOt;09SWo71;2H[73aJ*QmYLnP/Ed&b"0 95.1413 + lI#Z=5*X["!>%rc5K9U*JsQ,(>D^sn^Co@D(&[S(;a8[-1V=M7+:l\`<6#m@i53Y]^ufunI 95.1414 + ?bE.XuFGWF)1;T2bL1J4bE(hM'gkD9=9CU+CFKPr&),-uLbe,1D*+_c)KM:A'8(>US%+,K* 95.1415 + \3#'m.7BfPo-TMS0oo_,YT!QtP\;*PBh]Po9E9uE'Ac?6hoK5P"o;_[:pUNtgC.hXba9_P9 95.1416 + BO&ibt%sM$?VT)bg9*9l;":j9dms)^q7Y)?\p>-Lr:2<,bn(tffNEl::%f4d#(QIVp$\ia4 95.1417 + thjiMH_\qE@%6$qkpJFHJSV28te5c>0<%;lNS*oM1qRcohL=I-_8,LJ1,A:jO)d,h1+aQHo 95.1418 + q1Jnml4TiNSpJM94W`f0N99;PE\JiPV^c.r%cN.rF)>!+KiSD`K4>nII[L]Bj_2C"[oFWEq 95.1419 + '!#2g(M!Z:T]`V-&,#ThU:g$'2r,5$?JNs8;aB^#KjUqh2S3ncubTdJ.o'*pMIMbU7;Yut: 95.1420 + jQ4gGW.st$2BeqIkZ:6E*g@rnLtt"\XWc.>3`Du8;F*QHM".?imYN+RbIRr,Kf_/7.>Ra-/ 95.1421 + *)Q'N;(GVL'@s\!Q@S6D+R\DWl-;f.^62Y]UjjOIT()U$&(ChrD?F_4B35_e.kn<D*lQ[7# 95.1422 + I6e"#X1\NEFN2`^mJ)c2/&,$=uiC</Hu4ebH6I%:N0hDb0Os<To[t%:iLEd8_c1#h;mTHPk 95.1423 + :;h$qM-<G8>2,=+nW`)X1?L"1,C/TD(G4'%H2;s42^eTD+>G"JN?f.`1b<HqT8L/rGC#T[U 95.1424 + 1])5U&EYN7B#Ljead%o7B-n$&mdc?h6qAhs#<`dY60(>$UoncdeXB0h*#T\1m]o>F6HWSaF 95.1425 + f\5+^j>,?`%9O1;=<s892(^MqKLq?ULW'PP!1(U&%F:\4=Z&sR3Jjq^R0`bMg$PFtoo@Y;O 95.1426 + 4jrPfb$]rF_jt"_ceoA5!2i!%-#pINEQ4X>.a@Z*I:m@X=ISP/)3t@bV[DCKA,_!63XAk]r 95.1427 + P@#[QA?.=.QKuC7JK+.lgV"&7oc<=@EEb70F038EIV@otXfQ_-AS-gc`MZ5\:6dAhTNtLJ> 95.1428 + Zk:!$Y"b$7BVLCe_9&?#f#FbZI0gmuVo%FA>sHjASW$@lH<#[Z<bem0$AKFgf]J4p<;:^3: 95.1429 + `?%(L6Fi4H&D,XQ9>M[$Le^<3t_1j(Q"sBiLJ:%TUia-K\>fFqpIEl*jiER,IL$N#K9nuqY 95.1430 + \R+T`gO4<NNUJRFe(NHH=6Z6CeLXGV/\$$;K[:<]W(I&lq-TuohlZf`^&;<Gra3qL"Sc\ap 95.1431 + o"D$Fp>AS?p4JH7K24>rJ!RY#!f*j?u1O/"^nJ;?sX7KW-F*=G`%#;L+kpO[LD*.&HVB"Ja 95.1432 + fXj?rhkk&RfPi?e@1=eCP%epYUuIi>rtH:e6=S8;_q;LQHN7Fr]JSs'U!U$@W:hVBTB=%tk 95.1433 + tig!R$,iZhi.ceddRik''b!Sl\.cX.G=.$_@[2>&`d'[>roiN=>6:(,ta!=F8W?oB=j*][T 95.1434 + 1,@HN<j&S2!^('#aVrDSVA,Z5^2A?La'k(]6j9>NkNZ!_/1h8d?@)a5GkbmD=+QRu>A#9Lk 95.1435 + [O#FL-K9:Kbs9/Ni-0q6;$Nsr?r/lg!'4[>;$N\9L7lYC&93F>qW3fI%/qjeYX=.16f7BUL 95.1436 + U(iTAm^=!s(0hMLr_1PTIsXg<97FbATh/ap+'VOC,EXV$:[m(-<"JF<FocUAWBpTY$'l+$] 95.1437 + E#7AbKL<DIMZ[?=lZ<AnGrCITML-04q5/gAGbQIAOD)Q+&hdjDI*D%KBpM!T5S'jL+gDXs@ 95.1438 + MkKP2,!j5(;T#(u+L6"*M'kair.:oWX_N+'FkiV"C-mXXLtVd`CEAF!<'d&#RV=(Fd1%%^^ 95.1439 + [k$`tZDhZ2CMr'hZFiB)Hs(S-2$#ZABp77#bM<7>]B#r*VRg'"gB*=kfL&(7RL8X<sWbS-+ 95.1440 + C6kr9Y,m="C5!e0lFsB9%^9^iXQojqLF?VhJ9(sgF)*,-CG*,4I]<VAGZH5jL1kZ5DRXE<\ 95.1441 + Ei:W#Io2;^.iD:_JAS@KNMdg=K1RtVee9%CbD`&k-#,R4bae:m"W`"NU,n2[VUIh#*;S<?> 95.1442 + GChQ>(McN0]uiesYd*Ru>kIMe8OEm[EDFRd(X-C*n\mY+o_sd7p&69rT?\^jCq5C2PBY"%M 95.1443 + ;<7cWo3k&+MgDF)I5Gc-9mAI!tQmV_-(cKoH*l_o>_$@qIJ7dKLam;F?67=]4@=@rf.o5AO 95.1444 + ;ms&RT&93Sp3.m$&mrn,;L?jnT@#B!ELXuBB%fL92*!_TmB>fVR7Aa$gH<sEm#C(V,T*XqA 95.1445 + $#m'TE5)_KcO4^=I#$`_ML#_ek6u=e&of!,E7Y\WfRAV.W,UsJnNRZV7i?<-$Ab40$;SAA^ 95.1446 + DLtJ)=cX/LQHoQ0W>;EI0ZAdE^(W7d!CJukmEIVE^q$gL!nd:Vhg.XnqSc:89aT*((,O-E2 95.1447 + Dc+<g5G\PmOm4B4+*fTSmF-Q>.8YA[ZSi\;tKO[r\4MA)70%BU.^ss(HqAD,/W8`W]rkaD+ 95.1448 + WWj=ZR'(6&Zf7,s;Z@s3KAcA(R+VWg$2BQ+=Mn>?Ae?j!T%iPpc9-B%N1N8^(^hhP"defJK 95.1449 + W3+J%%"dglY&BpGT:CG3!hqhja:l=jUhXb^-o7d#%Y`JC[[WWdno>U\"d$8\7LZ%=M@).\B 95.1450 + %mfALa60E-E%'k&a)(J%!VY,_p?-@<%rc_7DMB9C#B6U^+EM`SEH_A+GAh_M@)6mIVf,(KG 95.1451 + JA@ra)KT@?j`:(#&ep7%t+-h>QWh95-V"3:gSA_Gk`Y0+^Vc<fPlV\L3TnWG3E+`W-*&Bo& 95.1452 + >Z#fbuP`<dn4iHXb$+@)k"/^G:YKF5Pk\&9hUl=."n@<bFo$l'>^ap/VI^R-G.Zl"<?+8gM 95.1453 + Sa9QWd&@uj'9O&Y)Q7uDIKqHb.`TVch?9OpXf$?&[]pS6c8:l:=/HEKd7:.B@rXl1%VoS6K 95.1454 + +(K^9fASi9Nq/-+VGm=)3Wr&HhH*.&;+HL/@rV>**q<lu4rSEKgCCku3Ge]"2:ORFGF:*M? 95.1455 + GdkY>7r7peW->_mI)!aVa*r7%-MRhiI"uZc2hVO!Kma3PpO@u0c\_TZbkGb/pt7t&6r;IJo 95.1456 + tsgZ_e5.eB9V6IPdEB7M5Rrrs5<N]Ef8ORhr^O:s.<Z\Du9RoLtCJ?StgT>A(KC\HN0pNYH 95.1457 + \Fam,MCPok3^Na/KDQWdbKfG&XAUcgtZW'BlklHNo$"fV`EGZJ`L(qKGL'G?B!M$?`(f#Qt 95.1458 + &0"+igHd!.r*&f""B@?B\h.O>ac7:OYh`(hBnLrNrPki=uZ+-K(HNjba;E8OnhV/(nrSZ*N 95.1459 + ^aC9'(bJlkR=r/Hjq?.7#6NBtse7K^JK1i(?C!\c-:#lBWXt#]OX^8D<Y#[('])>Wb`-5/= 95.1460 + .V1E)_/$4./2m@:_;P3s64ZS`c+<Rb^0AN"('W8'9d[2bG73gY\6N_*TckPAo+.&'f22g.p 95.1461 + ,WQ>E4th0N<Qk-[<6)gg3l@1jRAr1:E''3qdfZZ5;pj$`oh19g-9aVm8!t@"s.c,TE/sYLW 95.1462 + eh$H//CS8#=]"FaDkma(Mg7iQ`fL?N=(1`^0>]hLA%mJ"1KJkh>XKAj[*t;\8;K4GW58FhO 95.1463 + >ZHhql^l,l?iOQ[YGn=f&N'aCI18k+Y!aa#@KP-BTh8u;"a%1"(jPRR]/"qej`2(@InLQ7) 95.1464 + hk_hl>U)t'nd./\*+\*F2EKiql7$,CLEO8ddLO$DZNA<TNU:"o=R3p&(I%_t2;Oj^9b0mki 95.1465 + (mH2$67is^e?L^O;]7Crbg&271qle-p7T>W%,-BM0E_7S]BL"="@:/8&I;1ZFR9E%d)7LFc 95.1466 + DW:2&3ga=%h_:T6r=[fO`X_CVm2cn)UgFREui<)%"BD@E[st[Pd3g[UmQ3L=]X)'I:67/<J 95.1467 + +@P4q3E^g:$ClE8A"*rFXM<U#V0oKshGQAD(!hR:b.'I@0Ii%i`]*>1U9Tp/]FjYmdE`!F2 95.1468 + K>LI%;pV$NMrLSa4'A<>SYAG$2VE:!=FhGB(?GL-#p6Vh$T]fgf$Z/\Pt,Vd-TK]*^EK1oV 95.1469 + HFSLL<GS@tW[1YIJ<(V8Q3KE.Pr]uY,<ck`%4>QQFOl]_FbQlB+<P(Q02[.0@>fiE\FJ60I 95.1470 + -$Hp[IH,alQf[UjT\%bQHXG8j*J!B'(7*!KcOLP@7lY(t9k!nLN.U&8H68&%oefTHAU?Vg[ 95.1471 + -_(&Z!,7,\piPGXke8/[ak7d[NP8aMWJb\rrKq)>TX8T>#9@@_XUOC[C=nN^;#$41Q!p)Uf 95.1472 + jE<(Xc/q-)m\FU'VbcRbBEj,Z-m=KVi"CF+:*%m2UaXFGn&dY..eNL7oUX+0+Xf$7@jnYJL 95.1473 + st4?\Q0GPM\30o[ej?_Q][?D"4^WL5<L0DaP[d?`nR>I2DH4^m?5El`_aKm:D7?A\E4DaC& 95.1474 + k*Vr0_o[L+UgE?H"/^QfiU#h@pAkuR?Jp.]1h%4ee"^UX4F@7;2-\mLE+'B,),RNQV;c;9] 95.1475 + 94iO4ILng_7$JX1mVW/m\LXBKh+-252N%UP\&2CSTc>qEd,#a0Pd'u0$]0X8r4tAF9]OFA3 95.1476 + bX%D:I*>Z[tnheJd;)W+il(.889#aD01IsneDZ8W[N`n"t6Ej'[MUM<\mOR)%_R:q\5G8Ma 95.1477 + SHeZbd4lc?mf-/8cS#R.VN\jF'ZMD="Qqr?02QhDM:/n/]#tKHa#K,;Cr33Pl:08ISrKc`T 95.1478 + &mQ0(K0Ta-L<H8-*>_LS'=."#]1dmf$E)PA?MNMKlUO>u5m)B;j?&9.A0km9!(jLoN:PiKW 95.1479 + $8I@uRFDe=mh`$p3EM8kNQd\-39c9bbU>ZW<dnX7<.>&3BgB`rL&5&'uaF,(C"c1HM3=n0[ 95.1480 + rhZ[eJ^S@g5e&Ha-\PQl`X,-J'h87e+X*Fug%pe0-;,A(>^dq*$BWs7FJH,/NtYuY;&U`Ke 95.1481 + k=Y+mqR_QaUD&-60Of^as3UDFu(Qn-)@<!PYO0r3CkFY81U]D:a?>6=$3"EWV2gsWa>5Rd8 95.1482 + #uaiR1MT90SLar#:jrT$%H!5fnT972-_kd#]bEcA]7mo'21aR^H2B4MWi'E0![aN3=Qr0Q9 95.1483 + k0UVf^7>3fa:XiE8FO0S*m`V=MWQ.ig-;7\>pHod`sI/'N&5)%@)@\=C=JKfou5O;@M+I&j 95.1484 + Q:]qR4/=@3P;HTdEpubCEA6aO:/uVOtNrR5gLjsH5#86o#AuKFaU%S-3>8q-iaIO(l9VU6. 95.1485 + H8\X!m=IhaI.2p]H6:_oJKO@qK%SM"@S,sF6h[7)cME/fY++^6KSmuL9<2TZl&N*s-I>Z1+ 95.1486 + P8/dV5CMXkRsUmC<Ug$276oKh](ZpC@Of]9uP^c1N_I3I*/P^1:59kkCE%K"i/b2[9*7m=; 95.1487 + #u`75XO)OJ\NO?V?Nfo^8^.;?Z0ONSLfu;Hm*/6[#^TU9^Ya2oXMl)XK:u6.)g=T8Q]oLog 95.1488 + DYc_Vj3M!jm(7QnfErYjO#+)Wh9dC3[&hPE=S6bo@Q!gaUPiB/VT88]4Y`'120`X-3/mN0# 95.1489 + b7&S_9>s6E_.C"-'$'G^(.q"Ho`c%*#@q^p`'e)P'V(([I"!grA=cLM5s$.-"l?i#/+#irY 95.1490 + ],SriE$ec,RB%DpkoD(GoVRm0==Z^CA?05bE=-_IFjF&]/HT9b<6Ns9&':l]Ao-TRb_A1"5 95.1491 + eBaWnN!%"cn3N!_LZJsD6MCAs'TXX>EFYY7+b53,Cg2dVXB15amM4MC&),7E7"X7D.]a&I8 95.1492 + ,MTIO<7MF"gP[>A!P2B%AqLL[.*"C3@8S<!]g9'DpQ^mt9!57>!ejIJ$rh)+D:/UAV('aaY 95.1493 + X4N5,3N!9jse_Y@aQiRPD2Ds[mro+fKci)K/MU(_R;[EdTUI#;D@=.BV9'm)Nu0XUXEapY3 95.1494 + *`?[YXQX+i5p%K!Zgu"V>Tcu9\Lk6J\$_I\J:,U!T3FgekAYjE*,XA:;$Qq9"ocBnaHD(P& 95.1495 + HtMNnm]G&R2)E3Q/u<Gja1+ZA,3'Nh&oHI@X\CkkeKedk'`M@3cOV`]gWZI+LSqiWiJd!Vr 95.1496 + a'Ni!Pc_#@c1>V7;u<7=pd-%n-`>j%,iX@laVij68-CTT/GcP:D*)D9dt+![&:^@l($67L? 95.1497 + 0fsXZ$0Y`2"1Um[ML#4,F%4V$C7:?WK\q^N/Ys]V+jONQlk6`VA=4j=H=QbS(M]_\c1u;Vt 95.1498 + =a&``*LG>$jY0$$A-M%/9/QeVDcJ*q9RfBsWamsG&`;gZ>LhQANG(%(V`J"tTa?4`'?BNHq 95.1499 + `-"_*L(auR-rhX'1JQ`A363k>%#LE[$78X)I*_Gf_rr\u\0>;,^D!nC5,)?_lWBq`,-u+SY 95.1500 + `QlE4/D*^S85k)ZTWV2rNQCu@S:!]@gMGCDUJh"V0).i!a,hGLOF%5ZIQ283OX%%2Y@\tKm 95.1501 + e&7j,&fM(/$^::5U8mbj8p[pd$u5_R-X6E"n#.jY[GV-mfm^V$a/4^!_E9d;X[,OrZ\NEE. 95.1502 + JJ<<rVPQ,-UWmMTW][rkK$_^eil[cjKj6_Z;G-%u0`Xd0C6#SH;XK3QF6L0VffPhX&W0,%o 95.1503 + KUYpR'P.g0h"JRf2&L_b+EN$*gE&[4\3OLG$]fL5)Yj3POMU+do__$4QgP9U59+9;2!%i5h 95.1504 + !(Jj?&6aIAX/J6AR"Mu)j7l(eB?P::bQ,t<\;)I+E.hdriNY.lsk&=ctM%jP7Bop@LmopMZ 95.1505 + 0,7qf#3FJ`&Ra=lAJt#M0!NY"k7nG8Wsu=W^qlNY_;Z2<<ZLYu+#38?&E;/5$s+m8nEgj,% 95.1506 + Lb3IW#74a+\naR1)`aR!'(Vb*^lD,ck-:Q.NL9"(/d%"&iu)Y$R0UX>9c,M"0ee#h&<"YLs 95.1507 + Me=1018+Ba\g_ioTnT62peBh'T>C'r%0D_HPKP\0DJiC$@ne&ST3W*=$UQ4Q/+8+Z'O7@L@ 95.1508 + .J.Pd\H;QD:gCDX9M]'e@'&1hHIV^6p,-aCVg&nNEs:a!&]C%?<mEQ0Bsa!^CO-na_jCW[$ 95.1509 + HXSn+EQS?j61#<]Yj!sA,%:Ia*U>6ocjWpu/+3*IdBNkG?mPP+)H,8G_nFHW8,qpRM,-_.m 95.1510 + m3s:doeZ1q1dWK#1&a5qhREj66HT3OkT__^%5lKpln[WEKu!&n;!u1)@0OImkc.IR=M$>2- 95.1511 + j#kr15[IMh$#T[.rgk[%H@.<Nj[<!1h3NqTn!WZOZHs<1c)I"K<ZpO[5A:VPi4,MJiu)f/N 95.1512 + iKI-ZRKJdr$P>EZe;(82GPnUbYcqN4AH54^sa@0%0W+QTd]?W^T5he!qfufe8?O1+i"ae%/ 95.1513 + X:1*%N66:2"bU5_Kj2+%MI0QRRSZOSjPTN;dBKi%(indR?!?SZ[Pi=PY?<#dr_2C)-$d^-B 95.1514 + ;oP$bC75Ug9s3tpt;/6s>GW7L[3qN):!_Z#4Mb+"H47mYN'TuZ7&63Q<6#QPFb_cpqXuQ%r 95.1515 + .?kr7oWA^V'2-;A9=1i6Pfaj8cU[$@4d7Bh6Am'sAOBB&0Z\/S_O3->p>Bj&7q5=M9Qr7FS 95.1516 + K\UK8]-la!Zsm14@q:m;)JS41ib`F\P`G1;G-9cFVnX'I6(@Z1t74@'f7'jO&ORq,P79aoH 95.1517 + 4ch:(('"*u.jV7A3<YX"Vp%.C:6mni@3dThOF*3:nK[U6er6O&n2'9soaXF<jHMfI4*T)AS 95.1518 + Q<Zo:`nD,-gkd.81de4_^a:`P?e>=3U'7f,W^=u0.c+ghe@,E<n_HX.A'9ORZjiY,SuHV>Y 95.1519 + g9@]=H!eFE1i]Yf6&X;0I,?-9qH!NdA?WD\%<Jb,#8R@W8'31,BoY"=YfHSeR?1n=Jp(TR< 95.1520 + 5U&Qs?kPL[oke-t3%,P"6<5K_eic?#+=$J*@pm\oZ9)RT_d!E!;8]OoDPRNgD?)S8!HrW+G 95.1521 + 'dgITi2[*BB%07P_j'_$Y's5BgMu&K;hjZnK-Xi$214r[]1alI;9Ua=`n(D9_SHb)D'I';* 95.1522 + p=1Jsg&!N$<ESD,qTJj3^pQO'[NK=k#N.P7^1aQVR0E:K3d$<<G#mZmZ[-!k$*1"-61LnSM 95.1523 + 9k=a&,!eT`:gl#E$@EE29J<$?9>LK;rZD0Ei?[InTNh."qC;.9KE"I!^JX)ik!?C*lqdP`= 95.1524 + /=*9+U?(s#Q(GB1JB5e&<An.8g@n%6,X`sgZGXYJN2f`&%K6Y7cBX<J>2cFuZ4_^[[(tYWp 95.1525 + "!@Y6:^7fCH0(0(NqZ.h^Ik5mH-#SYj'-Wb4a$mfES!TA_@e_Kl#Xe,?/rJ(<QnKEjt63g0 95.1526 + e%l#.`NQ3s&uTB1=@COpU2=@"`T*d=EimMTsK=%C]G.u@$al5@gR#fQm,Vs.(/`!_6P3$=' 95.1527 + ajI6BQ2==4LEi$ZZ=UI:=XQ@MN5a.:)=hK==GQ(%lW8O'bs8+P8&NpI6?O4+os-I,YBcFKd 95.1528 + X4(a3"327Rd[\/g<kO_lA-<nN-L<$>QA,Dm<H=a,$H($H,e^&n)IF5`mQR']mqOc7.5H#m\ 95.1529 + F\:'>p@sT^Z1QHts5Y[9j4qp!JNTFMoYgn*ifk_JDNQHU*6B?l<5COf;K=I\)U+q&(fh:A7 95.1530 + OZ(U9o]9tUTl.r,1sZPZUMYMV4s*l.dC$ZK@Qf8U4']6hK)ubYfbPc4hdBF+,%F\u!\K'M> 95.1531 + F)^[OCAYc)-qraFs@k<6Bni%(hnkYs&aQ&8[hW=3Kt_3,8U*E,9e_.'f$oa>>(4ZPbi#NJs 95.1532 + m[i^(Iom=P%"1i&R=\[T3+MSH:*sDq8+e4(2/\.($[G+tmIm:S'fPAAM&Q!\\"_dpn#7F<W 95.1533 + /B1bj#/*G"k/4SW)&H1.@cpRel]?hR!_,*/H:'qa"SATh5d(13VGIuY_)*]cb(qFbGYI:jZ 95.1534 + )S=3=r>$Ic_`K.>%O7D1j,(H,Lm@N#ZT,K4j[U#Rb@<S(sU6\n=\hBuae"8MpTt)tW[;I1u 95.1535 + >4>X@VYM&Wg&%G91fY:`R,X`f!l9@emkIl6s-EC_f)'u?"f:2jPjnpB3?+_Sh3NAS25<m83 95.1536 + ?a.EH^`Z*Qi\\P>.,Wc$7OR;+GE[Z3L?pY#F63$=/%@6ifAkH"gK82Km@N@'nK'TWNK\pOl 95.1537 + D@lUTBoY)OgNN+PF=N+mlYU9F4p$.Y%c$jH9lI?aN5?SQfPGRG0sfRPf>(EB&Z;@M=/Mafr 95.1538 + AE.,kK@=3\4K&X%?JTOY<^]74ucJg.gtFdo$HpM5B8T68n%KGm0$_fcgm^'f;*GX)qMUYH" 95.1539 + lcauTKVC/#N!C.Wh0H>GuCB<-<S'-t`$!DVu\s]]m3$DCNp,]S<FgU'N]EOW@Z^:OIW&tfs 95.1540 + \]M/X!EYaLF*f5_g:AfG^QVVa:?ola:(NSYdNI8p3d=lIRgpmsO+a6e9A'KbJh=i)!PZ)K< 95.1541 + >h;ues!We!MUbf_-7$bHuI%dq';A;&Y'rWi\SW#A35-%4@@6/!XH)a&3&R#b!:g+J-jBQm9 95.1542 + m^qb?V$iS@cu"^W[\8bZr34SBK.3ccmHYc!8lFSD2<Dhp*5%c<TPXSCtc1s0d:'[a@oS@om 95.1543 + \/'ukh)?C!%NGa]R2JdJuKLnON&q`C-Eo1ZZ]+IaDppg,YA@oGN,LE)C:pJ\:2PIHl,+ItB 95.1544 + Gp!=o=5Cu$b+PfR:r>i+eV'EO3MUg+4*DOYRVn7Nl)I7Lp*I7_aJ'/R_!e#jL]o1P!O4bP; 95.1545 + fj0rtSX\<gOq?HD+PYJARMjK.&^a^OLtu:d_A.<dA%:LtemWpVTmAeYlYN:GR^RpkJr1d9c 95.1546 + nL*_g=_T_]`FR2$aM!]a5VZe_S*hn\!(b%+?VSN[.gZO=#0OY`#M0+>YE&Ffr"m'QBF2Hp= 95.1547 + (6E/\:Ytdf$a&S`cV.K0+MEWa6km(Et7@\)c99iVd-FFsDilj2it(,[3XL4J!YR\*!bgk?P 95.1548 + @s*^SuGJ*7r+k['&.Sr;ghO6I^K25(QFJdp$f[Eij*=a4Z/Jg\p>&"5f5R[u;0HLp!X`R#e 95.1549 + \QpV2H+siW4_f37^+J,q*F=XO8g#TlW.)*mj*p"0o]pfWj74)%s_;677hs\D<*eEr)SSfR= 95.1550 + 6UCeonN^USSsAj'+7^Kunm<d8T.BH^;NO5!01rE64fdsQTC1S"+PkYZ>`'`:lT.5f3rEp"h 95.1551 + $(PUKHiH\`?L6*r^X:=4B3J->l-!.]^OaG/Uo\E6i8^S'LXmc"?1YJEH_<>>LEu^Hk$.4'g 95.1552 + /Jl@*09.bJ\lpdJc_R5I_k!%HIR<668A@!1VNr9AS/tkuWf)T=r7Ye`9%#j?L',hr4R,dDd 95.1553 + 5::?"Y'S$hCq!9/PR+G,t7!YG`m6K+$YF?Ui[M+$?c=L;Bh)3%,GOkB;T5p;@]i^e>Nr_Y+ 95.1554 + $b2MdqFJ`J$R7ub,=g[%*3Lrq.PM,U-JO,u+k`f5\eUVcLV#n$8D).)JWDB!@=CO%j;j]<* 95.1555 + OMsA3I(cdP.u\bT4_8?#\8@>IKt`1>Ct7i/WZ43BAZo2`[O(=(\M_&elfrg+NYc95_l,OsA 95.1556 + bteVa\RX@&WJiA>$7/sH//+C6(u\>o>(;]0UJc-]Ch#OE:708fh")k?+/X1\_V/tS)*^E[D 95.1557 + A7[G`_V@+%aT9EopG\"qDB%_r'uD)5fNFNeQOSPFHnck_tt]&XMa9pTZK?4?NO5It,'jo_L 95.1558 + ;+f2(6?B`1tkB""WB!LF?#"TZ7j1_02Pj2;_-+4,$)#XTp"-ON2%N#[=4nC!186`=Bs&4:F 95.1559 + O7hS4p1esT*Dj0IX77iU:(a4KIB!T*d=rQYF@VQu%%uK(I'ZH%?JJ:09'TF(bni?^o8+KlR 95.1560 + -bba;:3`BYM_M"W`#4M"aKkHQ0MEr7fPnZ'@X;W\,)k(Uc)oo03"49#k;lAE[-p+Q1Xu._: 95.1561 + UB]n5Ys9P#=;7o2%N)P1fY>X(A)WXQ&R5-?SPHc[4b.O$<4?,!johO9iNc#TZK@<>f`O2Ns 95.1562 + oo\53GQWYG$i4RcRS*rChoF$11]G]T3u8L0$t.G_K5I7:`&nLeWk)[#D%=::!XURqc-8Z^0 95.1563 + &@m6ajES!NQsDunQ(GR`H8A^>I(2c\IQ?+4t6G[4kAk2EhKF,j\_pX5sD=77_9[T+hpHFft 95.1564 + tl=jfQ(1`=D+d''-"JKh`K%j^R7Lt,D0jLTS^T[P;!Pip85DZ#;=RcU3n:W3<jgfIb#X]IK 95.1565 + ispj+r'Qn83S&D&@gPnXPXp`')'5^0!b\4#cJi]9V)W3+LU6hn93Z,o;Mc8\BpPiRlPPqpS 95.1566 + *F^BZ6mYuXKPCB;W`85D7S41Kk0HlostnXYcGD:qpJ"_DnC2m^i2"S,>"IH(D"GT[+)=Xe( 95.1567 + dQ)r='Td.(a8N7_Og/3tbK5\+(N?);,?2M9>l=a$hCt.K7H0W"sk#Bm%+UB)(+=fU%hp`YW 95.1568 + hZp;n.7i-(\.LZ0Xu+\LcT*\I,kFM0^O<dGBV'oC-%dM8VC/rKJTUicu$9'fn#1n`m^%RC0 95.1569 + lDGEfYDFtm'#sro\k^@%JmUc&>3Nd68s$-,TB2'EJ0rI(J#7F"KK_4I>QQf0D'Alc'%KrXD 95.1570 + Cp"%9_C'3:M^rq$!LOL2@#'TC_(ob1Q!,SPmP2*qfDu@gEA;>6-2/3agC6Qh2[;%tNr_4br 95.1571 + ZQYRL^AdP&E]`!@Pbq:@oQ<[0lRuhA57ub$-f7^<<=AF6%k>YhS@W/XeM7X@o7Xu7OYS3h0 95.1572 + RI)E?6u"[sUN%9=Q`%hDkqAkRsYp"cie4$q@c&+&*]pGq8#A,'V'Bd;36MY=5Lgp>Hemqup 95.1573 + .Q"J?>#9!ZUUBbj=O9Lr5]PbdP4*i%56%cQ2,V'Mq&Z4*JA_A<X'$h-Inc2'@g?A.;0WdeP 95.1574 + 2&3niJ04jZCJ8uPs2:[`ZT'X=WE)!SXpeK>79,E2!/;-THI.bQPMC(,M!)5e,22FZQBp1ZH 95.1575 + :#H%3&MtqR,r%!gaaZBT*&/TL\Blhd\0#@f,+f!G@SaPj5A0LJLh&Cfch[r6<NP2;dXHknB 95.1576 + 2_-moaG]bHA";X&Mb3Z%ZD**#>mE%);K#4T[\Zf`mPM>bp';&e>*u1Z7mRRFX![rp-:9TPt 95.1577 + XmdS>$Z<N(-DrLnoS.S<>mi;9:ae.E%.Aa2V.='[BOOJGhftc<<!Q/q^"u\KOl=Ut*!,0PJ 95.1578 + DBEobZ@OGX6:VUWO2C:U1g\#@pcZ99@baIq,e#knal?UIhP!(X>,eXia#<R.h<fBV-d/.5g 95.1579 + $Yu7ch8XX$$"R'j0Y-(n`j#d;Eni8++@+hd+B5&Ls$^QOi=u_'u>apJTQDW1FLR`!oCSS/` 95.1580 + (8MW\93GX2'=IKC[b.&Fk\89L!#>Kfg\N"2Cb.36`b%']]9m;,3=DY(*,/\4m<(\Ef-0(Xm 95.1581 + 9JDUn>Vfb?PdifdE?SdD;ATAcV0#I,emL'FQU6e/Xb+7d;Ub@i\&b6)-#9qb,U*bA^%RZ96 95.1582 + gbC#YeL;(aZrIl\RT31YO!#p.Z28>m(FmAWma/7P#e93=_01_?;(i+*(8I-KSr*mZd9D-4j 95.1583 + Ah.n,@taY7.m&W6sdN?Lje)\S@Kktcjh`u%5^A$SsmD=ItRoN[*`r$G)PFQ=T*&Lo)?<B?U 95.1584 + U$HieDJ[0(dLkiEG'cD`f"Jc"t^c#iJ=_BTDCJ<4tVJFHhXpYf"dS[?AH]h#4/`EbW;)#FL 95.1585 + 4RKQa_:^%6o$edaX;%(8HMC5Xer$2doU3R06P+-,9V`QH9bTTP!%s-S6A"N#"hdG.[4qt&q 95.1586 + PR'Q[4caFA`;1)ZPaEN)4k6]HXU)DZ-gfFU1"[C^JPY'h]*SPoTd>&G8C)A&p^]t^0N,Z4d 95.1587 + KIfpOMP9^;.Z3"Dl>n+X\$6fd+m*O]T;W*l2;4<To>#!dS&WT'Rf%YBLTA^RnTao4(k3Me% 95.1588 + up^5/riYsa-`E!3jb*+\Bi\\cNmKShfMFX[pS<',&j.#@J/$F\_kNAq6P]hFC=`8p?,?O_4 95.1589 + alsXh#Xg))N!nB50M:F/qe!:@jX38Rc,\QajOe$08V807%j*3(Ll1DbRqCnQ+!JdLA+msZ5 95.1590 + Eb8l'#H8C8>XJ+=;J]UaRYl.ebZN1<S:'%+o>N5PaCcPB[G`iI9#FE402pQZ0V6egie;Q]) 95.1591 + ;>FC>r.M=hb==5fm:iNQ*Rs7!!A@1p$f^f!sD[a*k;lQi1A&G8rn<b4$2n[9&_+(Gmj=?fc 95.1592 + C<4*n%:CM8gPdp$'Pb?8JoZEJ='Uldfl4%RX/BYWkho(eKclfs7F<!k]bm>i$:(4s.gjHsD 95.1593 + @%hi[M0^-9miC;O2u%"9dg%b>1R_dW7_?F4E$qIK$3hK!c68_<"9G9=$eS9`7@^6UP"_WC^ 95.1594 + ]<RB=W475<PqKMA-6Fse%]JDU*bO[7elTZW\4;aJA#_Xj>90c]H'd@$8+\TFVoXf0`^,u8( 95.1595 + MPi-!]">1q.]^3.lYM(RD84j>_*f!-"18iLK,!Y15uO19/.KFS)Ok6u.jNb6ZlP5hb7#oJ( 95.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 95.1597 + pP1$&^#?fS-g[d"k%90d@#9]-oJ21a4`J3WpKQ$i;0$r&T(X4-VldA,_9Ws1$epJ-7&N.(2 95.1598 + ,E1rCge"61gt;@'Oc-'\l]#Q#m\&;@n39#)Y@])cY3WnfmLMEoSE_".OaW<pBJX1Qf]]Au7 95.1599 + HPZbu"K>e.46#jo\KNb9i)9(ZDP8"u:"6N&U@Yulq4P5Q7fU4\fMF2.34V4;GOVioWbE4<m 95.1600 + .)]_RS7d]&D$ZAD6ZA&F)sF"Y4?o?G-1jA?@kWVB4G@m$a$WkF+G<-=WCF[Y2hRM*k`3[c8 95.1601 + ;Rap_JsA#1e,)N$'_eo[Nm7_oM_B.s#->H]=_2_Zb<3rGf[7MVJtG6;Ehp*8r(K:#KT_rTM 95.1602 + W`EP"?L&LHoIm_EPs2Q-"",7MK<'I$oi$ZFkMD!c-*i'MLHDf=ai4Lg/Der0^(I"H"/BPmh 95.1603 + 2cm%"=HSe3L$"Come]@7!GfRlQEX[6%0oW$%6Kh;nTas3(8#dun4a[/ANMbL@J"EP?KRNak 95.1604 + :96@\&S9]VfHDfu9LQH,&BR%_IG_Y^+#I)RfUEd^1CC.AJ9!kZQY_50PT?B&I"686(d;(rd 95.1605 + V_*R+Pl-2"]P+qDL'fHB[\Qp>!LU=.&]K)!`Jh?%<7R_]ND/=q8F4nn4I46Vg56<+badE^e 95.1606 + D6^$fV;][:#Z+FK](,uR`hM=-ZB@lOBs"g>V-4pU(#pS/Er"EcQ15bV6&(:][EXpe$dcUcD 95.1607 + 9sU&s5qRn[M9H:Gh'*`2q9Yp<RcRbed`4"S\ESiQn=S:-+iB,iqd0oM0?X:4aTa/Gm\&lO" 95.1608 + WY2Pc.g(iiG]1sg@MOJ,?6,SO!#$IH'N:`TqLbk+`]\BeFjd/kOeFH+OuK-a?"#68$5Li%j 95.1609 + *'nqHS#;B[c$(ar#)9I:(U_8:*jQ=a8kg;4ZaO0"p*7rTBJ']ubaE1EWbZ9]@PFO32:@o1F 95.1610 + "X98:3!Je2![(Ho,qOWj153e)d\SYH';3_60ul]ndkrtPI3H4;?dR%T6e*+(KO<-DOO;k`; 95.1611 + =+B]r$S$)i_s@q;hZHQo4_*$!C^PI5nMDkF(%jQ0i4Die!VnA?rhkf`W>R-Jb;R`eP32X1= 95.1612 + YAN;ajL4'bF;l;8:pI<AYXnWe46\!`/apU&@m>9GGti\^F#t9aq78'h,&8gla6ZaK8U-4\= 95.1613 + /&:=QsNeeM`H;Ee(QA\[%teobZO%9Z_qNR^I4^-u&LeE,*>!)`C`f"fTNY]PN=4GM+$f0+1 95.1614 + ,9j3D86<1u-e3*-J8C.Q8HB!&of>)dceL3tY=B5lMNpU:T[7j[+K%Mfo<c*K#%;8j?d"D+& 95.1615 + "8EL^fFli%MHHF(fYrf;*Ga<VK\"ZOf&]"poo?Iho2"n=/L>QHh02lDGd&AV<X"Wq'nKCCJ 95.1616 + m"A.fte<R9q8THL0<H5S6OoSrLqpgCbC#m5J<f3OaA_ar?qPEO<$I;;[$;]='7l;fhe5BAU 95.1617 + $u#Q_Wr8g6ejBTuPYHYhM%AMC"hJ6LNP"[>E_4XGEfZFh-8"S(Qi6X^."AI?<!%WE[6eg8s 95.1618 + Gg>X,OT)G"Ok:;oS(m-ZPZ.+"g*M9W;_FgBeVb1f@m>dCM:D9Rij\/])*>m74^^!Nad]dNK 95.1619 + O&.QB[,*:Rgs'-Cc3e4/j`Pg"9-;?@Hbsd-<=I<?TVHftRh?AjC`Sd[@c.riT'^amd<JK<M 95.1620 + jeqe#-gfD`IHN!Vf%"oph2%h3SO2/76qEI>?D)f(kR)k89RunW#Dd=(&:"KldK`m$#@6s," 95.1621 + o2N%o\ZeHhmNC>`Vn](F,-E0N?E7sQu_)u!oMQ2?fhIJ89TcuG)Zh*L[G:QQ3CYk$K$qk#L 95.1622 + Ic+#^cm8HsiNR@&=IlP`LU@d"d^1LR&N\%Mdq&E"+,u#At8bDAcgT!"BtM?mZXtQ4Mr.nAJ 95.1623 + O!+)Cg`np]FQcsB#XiZ9Ar:$1G56/I:UgZ>Be*[[['lWUmB>0*5fgk]*U``\#9</'/c)9)[ 95.1624 + o9`Z*Z"$g,o6RpiN2WJC-<Zogk4u^1[3b*-+'[Y4Gc9#Ou3f7<G#09gS%2]:=53'@Ej'ZX- 95.1625 + ?u$2W:PP64j>KQhn])(S,NP.Y'^dr?*]`;Q9B0VHiZ7";U-<$<c=F>nAKFh"SgJ#H,N=#mh 95.1626 + NcW&C*;N@o\.:$@L^4Q5^uU"/mM\-ir.Y-rS:ci0pM)]j#GHH:,V,#B&p`7jNu:bk%EcF:? 95.1627 + ;K%j5+E\W!_Si5n+#bB&7Cc<^mN&7q@?kB1>7J-<''(FQSD+k+6PSG&,tF;.Z3EM.K._??T 95.1628 + tqIaY)oBCZjMH=,co.Hh*TjeuEj`'@cHQ.<R6jo+YhV=<V%`o]`I@odkfDJ3"H3E4"XA2\` 95.1629 + BmVM+D9BPY.d>j<$:3#?48*O'6k?+PEIQM1ectAA\jM$a_G'dm_s5biVk?qs.:q,^2&e,+g 95.1630 + LT#=[(8>PUV<W5tl@,VqL8jHGBnof)N?E1qLiDX>Y3MmfC6l)YfQW)&dK[L1L;pH5<j1h$Y 95.1631 + _OoY#;FM[jhtq@Yj8I'LN%TqE7!OYH>C7'li+,D\:(r%cj*s*#A1d<<krGkXQnZ]laFfJB! 95.1632 + LYS-KkZ*TD!i4oXmi`^<?GiMDACPm(Md+^254Gm5EJ]0%J.tQNu0im<7&t<n(uPg?h=W#O' 95.1633 + Ni3-0kpgMNP>mI\-9^s[&ui9dE%mKV/FfPQDBdKZ(QbKf0d2WX9(#&G^6m1d6b^`3P@k2Nt 95.1634 + oilIX!h'LqL]]KqXAgQ@==DW[n8Hrj"Dg(noIe\T3BEZ-!"i,&1`q]#bq="%QE!H=2%fc!X 95.1635 + on?Mr"Xn-i0*-$)!cW>an:4l$&7:D,&o_apE5)hNI^=dEd,E"SE5r4R#5IOEFq"^k#>f,S* 95.1636 + t`L*&;6.nE0+Gs?Pd^S")pa6EM"6?Ii.0?Snu79C&Q4f@E&NhGm>25KSX5nNg\t"Mrn'!l, 95.1637 + P49i$N.,+*(s\`SQ`jrfZi6VeJ>5kt`r&QBl/9QZErqA>%<3?Rt/kNpO0KW@aq9qBKh*3:1 95.1638 + nX=[,%&[lnfJ>Qq'0LJZ@hpiUZH6M'A-eSqs7\BbF'Dfdp$oS5qu*<$BmkOb*/FLYQfS<XO 95.1639 + #&:k*pFO*eTcohK\0F\7KoYt*E``sg-L>(0^_#7P6mdo4`3VBjcbuZ!0_:io=b46EFnh25I 95.1640 + #:/kI1ZUJB%2Unq2J6a&cfr2$A2c&uSs"/,5NE<=A1qNXh_GW>F*=^/EdhVDL3I]^-#C>%S 95.1641 + YnNTLK&AV<;1<ToH-A@#>o\p9_;0.oP]&"d/`g3dIanlGMQ>Bf[=m9:j<4toS6=e0[KK+8* 95.1642 + F6q`Bact>J#-Go%h"KG=RVee;O"ONLWLFgkT7,Dd`-+-$K8C@lB9i(R'_hArQIspA\h8QYL 95.1643 + ]k`cCk#k6II<GA[i`DgBoHq,`k%DjOe.F85:DG>gBoDhN?GG`;qop^_oL\BoHGVL#IOGNdF 95.1644 + us*FOSk4g#no`(lb7tkf1GR*,"pjQKCMZ8d@nlM-6=8/KeQat#cNr,NZGm,u.J%^Qn^8/V, 95.1645 + "]/$C'mkUP_MB=&FW`gL^Vu_"3Ldf6Ju?]<fHLA-b(5>kJNqAV^_$RN%"PPcJ8b[B0E_A0( 95.1646 + kN#1K]$HqjHAimd-@iLaY2;g+5'4EgARr(rLB"(3,=I,d=r3PL)8Wn\(ps)ir0KnL@AE,+B 95.1647 + \p,=ah1Mr[6oXXH[hbcf$89I`L[Of@kuKGR!l:l;-dG2spU1]^+4sE9Hb@=7Sp"dXD/Rs(C 95.1648 + m%QfJ'?.XF%cRs1[7<nnDqEW>6Q-Bh1a'G:WSKL+QnBOiF/iGcKfnMm=F/Jj@8@Z^o.3^!k 95.1649 + 3_dj=fS'CaIPY,F[#(t&c09O>Q8d,<[<B$F:(X(uX_IYomXqqSYbna3S;`Uci)I,"]b'6d` 95.1650 + ;-1s&qb='@CK7t-G,4W3!%_/4)</nHIp-3f\)k$lDn'"YQFH7XrEd-CDcMq]p;pbZi,<j&- 95.1651 + 5R,H`+!^g]Oj)CO2tjP=ZiQ_/XO[nF'60<G<M@M3,eL`1#kKre7s,0]k1*iYL2"h'ch2DD7 95.1652 + >K^2aYdOa*k_\E-Oi)--L;KjDoNN^1TBqcffIn!</jSQe1JFHX4AJSP.ktYl%ea-^W*@oQk 95.1653 + pgc(=r.BXM%rYHOkTj`J+\n@-g-Nrg*3:^dL.^lU)V"2POB'a;9F$f&))OGkIlZ&O"VhmRL 95.1654 + "1sV\Sk^<uO;%,kO%e2(@%E/oQ<>EK8Cg=-SJ:"Ba4%Um`)93?5E_4<6I!m*3:AINO]Q+.7 95.1655 + ,KUQlPa&k`oA6W&bG*qk^8m.G'?C^Er4tsFm(G'r'+<699Tp180Yu1Z+Z%B,CH2bi$O#9E7 95.1656 + _uJ!&^Lpm"$Mdqm,pU['Fb43^bLd[-+e25@jfWfCRZJ<L)h:+dZgjc-7grO9di1QlK'KZMh 95.1657 + CN+aR[dYs3gR7<E7S2.qT7A"C5S>erJP77EotWF[8b3oJ9dl`r1TY:GsU-A!C"gJS!N#D4N 95.1658 + <3M^,Dn4&f-K7ToH.#tR#$'d[^%(Ce=Fg<9H!XNE2Ypp`r>Rb')\oeOWg>^*=;ELsY])1@d 95.1659 + Zl*Z#NeY)klXCVkMMA(5/Is^.57;ltn3,U#H=07K!M880>2.FL3<]jRH(rf",jI%M9BWQBH 95.1660 + [i7h?Cj8P4fc@TTgY%U(S*('bb0j`KS^U@e96/ndh=W%QGq=0:F/A,a!E#c@?jamVl@?UM0 95.1661 + 5C\kZs2jO(;2t?-`gblCl=EuZ`IYKe;>lIDK1Heg$[\,\JVA;MscU6mCfZVcMXr!>RiaNE$ 95.1662 + 1:&_s]]`'ueb76H,40S;UC8[!Ai$bOZD`G-^O.2L`5N.r@bf0)@X-;p1]W<RnY_s'<Hk!/G 95.1663 + )*p4GSG8p:TpI!0^s;5`=+bHPpDJGq&cFSPqrPZ7ILA])#jPi&%rZ5^+L]R#OqBC3]#3HV9 95.1664 + n+NMD-I%>l/%XePbea37,DqtM8^]u%WreoY^^[g9cp&2[2g;LPTnssk4L!d(,I*rE*WIL!^ 95.1665 + "rK,^'OZRU6pP>k"@t'`@)/:b6RE9fA6*N`/0PJLN/@ig9N]8E.5&KO()I5pUL&SCH;M<o& 95.1666 + r3Pk*lKoh@e(Q^_9!5=&DmIb$n4SB-luh_$].SH@Y0E+3$O#:MG[+u(t[dFiiH%,jcTJ[R( 95.1667 + X<[_u9WI!3%dK6Q+KqF_Jm.e#t_G(aF\e*\kkUa&jW.^]RF=1$i\re5ffZ7"G@O%336p=BN 95.1668 + K]M2j$XL`lJ*,2_H?2G)%^&u0P+%4Q<5&oL*.U*^L!!lk;%+EWY.9Pi&O,>Q&-h@@XX/*2F 95.1669 + kMWiJj^K@pHip=(>;XBoC.*1S9l#L'h%FI"68n1RFEAiR*"98Xk0.)=>*-4d_9j$nV>)7*d 95.1670 + :jF8n8\DNjTtCPk-j@abVDuEAknm@%BVL;ls4lu.F#$:k6^Zee8#(ML,Z$a%d`4;#Tl=$4C 95.1671 + _+ljkVFVPa.Yn7.o=]J&ZCB<SlAIB3I,5E.''D7jbd<jRQVX%o^O:`R@t.tm4i*Ma"`c(?V 95.1672 + *hW)d5pRU\)g#'_.F.J5k,[']FLueBV`:E$u6>%#P7(N*+fl[k<[\@oGc#46%>*WQi##!"& 95.1673 + $,a'DglJRYcM0Ec&mnDXFjN$d+R-pWI4Q*!i4S;1k7Do0b=Xd)Ym=&pV9la)ME?ilA?Rf*+ 95.1674 + 5%$,o`q>lYr5X(V_.5CJ"Mc/SN1M2&bZ:g&:$CI5VM\$*!9Rp<F!oVqUYhZT`L`Y8J.'c8R 95.1675 + @hZ;RadpSJ0C<O0WjQ.O"\W\i5gaPWKoLY=lF0gs7DXMn:<"&'gMttbZ+3pf9@o)hc7@_!\ 95.1676 + bAh2fG!4P(K+0qQ6tRXO^31r2;u2KJD=97AT]XmW=V"kbSD?RHf9")Hicq::n`nt5oob&2s 95.1677 + bbGdC4VBScKci%eQ5p?W=6ZosT$)"l+(OJ3oY<&D0[]h=4`U-n$/DfPJK]4?Y&[*XTbeNA" 95.1678 + Q'8AqZg7E"u'OkjS/FrCGJR!3R.Y8UgN:^/Jk8[uB4^p+pA!(a4Y<O)\"Z'!R-ccJou$&E% 95.1679 + =(:&V'4@dn=j]lt?n3)BGlY?[J\#<O7c=%@]N/ChIWE6C(h&P+N;*b2V70ck50nD\QAe?hb 95.1680 + o>Z&A=IVH*S5QifmX\Mc\?41QA@jRm.Y.<NB3ouiUX<R[G[T?:e_ujk^oj)uD2!J!Tq/+2X 95.1681 + o0:-L#7kN]Fo?Q'[1#k!p\L'U^U:,edFDh]$2i_`^[KkcR9G-D1)+"nRICVjGHa5,\-M]Ze 95.1682 + 8P6kNC*WX)n9dg.E#F's.p!a52YP\h_@o4hQ@o46Qd&O#%'4bZMg_kouRh,h=XS'F+]=X!= 95.1683 + b\#;&+qXT\fA^g;Bt/c>kUNq;#e93H3k<NTM*EumEeG4=+@!Q#?Z,)p8)(-=!O2BGI.r#:Z 95.1684 + 9h"Gk`r)i"%4)"1K9Th<6ka42lG.KiFIpGN(jS[6n:k>$0%MUH/jhRZ!@d1*i&7"Ee;YQ#V 95.1685 + $.73Epf/to<e+E<,`&<:$-bteO++3J3&_$'M@Y@s_Wds`B49^95:AB/"u^OYl?7^H=7s;`g 95.1686 + Wo64mKp@cpHIqsGtipq]45\=DIFKpQZqph-rp%H/m0*c$+tq(<Obsp.p\5J"?oVWnBp!7<# 95.1687 + ),HSL7[$L8#E2!>JR$/.)/MS*Ba@>4?6qY-MpB1kCFe[00;?qd2quqQT]1rp:Q]DccE,!P% 95.1688 + Q)"XWnMM=JnNGq31h):FR"M^E<.qHm%`I:',Lrl<^h?Z5@\hnAda#N>SfO7Ia,c2%B0l2=t 95.1689 + mp3toT,JHKOWkZ=FIp_UAs2Xs8?gmuDhu*ND!<=eW!,r5EVE!X4i^jLO!72SaYT3c6+Ta>D 95.1690 + !cQ/g#g+_JK__Rpq;bTQ0I[+n5m/l1"E6p8YY>8i;$AXR"_XS2,eEto=U$Qk#&n8\Y\aU6E 95.1691 + <e1?#B-RB&6qa;(C-%U#]PV+Y`/d)/=6J:""b)[b\GOCrs8+j$?2sOYcS9%YmW7n!Uu9XjB 95.1692 + 2Zu[gXt0$uj;sYg!UGd0FW=$cHBX0[gL#i=7R'!\h3]E%pC1M$%^g7IDS:;#Lpp!>$sh&9/ 95.1693 + !fYmh97&J6`4&TJ[#YoOGH+VHLU&of?5Yq6UY0bZ9!'6-#GYrrcj,3V;%NhBkpj+n+=Uq@g 95.1694 + G'k5/gnQ`^L4VfP?#I-Q1Z#(0bUt<C5Xrt#c!5,X'%.YO_(i8CC!1=\oD](9p)0)&^Z'P.2 95.1695 + fLY(W):>E%Yp1)naLiX,)e-gCTVMu._!/+G]HDbFWPo\$XW9.H*HBaQZ/$Gji>s`8*c^EcZ 95.1696 + 0`V&nK0K'AauKckVsG7ocQ!n+E@c2Z4.rI&Krmh)@[&8D%>[,N?>GOB'SM57aqm0>R9=;'_ 95.1697 + 447@,W?i.)4`L<j%GoK#VN`:a1_h#;L`KZ<[Qq-RL7WafR<"U#dWgDCfRT%0@pdEd[7kO![ 95.1698 + bY-ut.mZAcUOY6.O*..WaOK'7Rj12sEJh?aAe&j?d/==st20#;$JVUB<j-EY)M_@8p_ZHRW 95.1699 + L&ef1K$DJr$5r^E4<[*3;_^)$0o$8rZnLlZj05.C80UiSI'ebaRD9A#497Fq@`.rng/r:2P 95.1700 + D?NsJ8MVhPO<N!t_929j?S`nihW$sWF$*m)K/>.G,(S9%U;nA:C]W!a7j9A1Y89"d@5]oQ2 95.1701 + KNP?ZMbsT'fNC?A?RR3WlbXB.(*JE/7A95VV!J3;IC[I_9)\G_W`j!?>udZ2fkopWCZ[?RN 95.1702 + ddCnL[-I1V>8Y:*P6h4CP?SZ`?4[d60;94_25anFJ)Mffg^Re4IqTa=%-Bp>Jcl^E?"<79J 95.1703 + q&q@URmAn;ehZj`S#!'[aN6"DArM+er,jZ`$g,(aJB!ljKa.3dtR'pKS'Zog.f5nHp36hEr 95.1704 + <U+\[SZO,(_7+>=:J^6dObcLpp$1qnG+cAhMlDDO8@mKm<J13eQ2!M;H,)hO$%s(1HO?4_( 95.1705 + nmFg$JgfOY`Yar9Cbti!'Wjq`YtH;Sq,FapZ`5Y)R5Yae9@V$VmlE"7)@F>0l/n_<V/"sU- 95.1706 + k!EC/7F*)U>Q0]n3?Qc9XORLZsFa6VY"=GiZNj3kurL$WiOCg&L&Z"FSer.+%qkB;KDA&&F 95.1707 + i1F!E,1>9B,=$TtOCl7/#P#<+a$0_4oS&b#NH\W*o<CN9i*("]cfqFhn"GTiY08E%=oe%om 95.1708 + m3+bG(RFOu-2Ao*2GM9f6\O]N8D=Z)ThYF)-/[ma;d>%EX0FfapP)"qDcU&^.QeP(?'.TM^ 95.1709 + H$1W-biT3oGgk6f-,*`+2Pr._\;,?jK)p5iG@OXRXlV<]0pF/!9'9ukS!FReh?uH1pb7=!L 95.1710 + $"5).14nkb6H0El+Mpf!"I:J^79D1ddNXY*C+X>t2+@\@Y@KO+7?nE:NcZggRNdP=#a'Z)/ 95.1711 + NY\n.:dU5Ap.m#XW]@?:K'/gB4MN8Trf02cL!De!S/Y%KBhJilrL7:'Buk5i[>DITIb2d&c 95.1712 + sIg@2VoXGr?9c<T:s'K&D#A0EbFp0$8MmFm!Nud;:elD/1Fd((kDLi&s@6DJ2k#1UM=cRa# 95.1713 + 9b=9@if/2HHADJCo=,*\.+15HS[&9+Voh?pr8@O<q3K37jWEd&sQ[k*OK%#l!t0udO2Uie( 95.1714 + E06AD7AB7k*e2AjceTE&a]jUu[^uh6m=@USP,*g[6eIc'2`?_o\p^VW+K&E:'a$C0ceJ<m/ 95.1715 + cBEHrOa/mNH"SgPjj_[8*%ssBHL)MpQ`MJ_d'jM5SEb'`6KEq[_G]COi"C2WP"I9H7NuFQ' 95.1716 + K8=(m3+sXMbl_fI,`*qTjfWK`@cbno1lQ=fDU3o!IuJ?H-BcE&G@h;VM>tgJ62h<673K4OD 95.1717 + BI4)dm4.QlK1'Eq].p"JXjMTn"\0_h!biP_ms.67B\X]SItb*/R*$i0Y^Tm<3_CL3REe\85 95.1718 + !.18MA80m>^#`,U48Dh$:LFc0!t,0+$l.!G\?pL/MOW;7G)U_n^M#8jEW%+@N#CPs?IMg0i 95.1719 + V_W[59-j=k6hdbrN,0*3*-q'`r'R8;h\D</>iJo15D:^_,=R7e:+SP1jbq:)r+DN*eN`M-. 95.1720 + :lHA<M]%M*7O!_XNp1:2_Vj%2#U4g1P%)G/U?NA[-4otjPBf0P\NE#5$rdC!+uqlPW#RB@3 95.1721 + [0kV$MF$.!oQ<<OB5rX1=Is66IrVT`G,DmPfRu5i0BYel'NYD(P\[/2#caI=dPPAR<b3gUJ 95.1722 + bajZq?&,H9%ObU,A97I+:p1/9PVMM`EZV;D+@KG>k+i.WL/`.2U;fR`?]@/aH-J-E&bKHki 95.1723 + _!F^\<;-]AqrT6^7)\bsG4$XibqTDAg>,2m&*^dcicPZ6(6[#7Gn)'\([k<eQJ3XT>,D/"* 95.1724 + M615I&DC0-ca#md0/rB[]qCeZ@;5H:TNg=ga>$N0?7@p5&KuTjacB?H$'i!oT>h"AU["]cI 95.1725 + D-IM)V<+$7Uhrfb`.VOR,(R/%VP?\]8T%rE?+Plm\ui"-m>!8(LO-5%$1R>(S0E%V/8cj[M 95.1726 + S`E#.<Qc_>L`+;(5C[\_@eokHoei5Pu8^q+r#XK'AE4*M8],UP?6J,$[G[R]+)"A&V*shN8 95.1727 + j(c)\]&;_a3Gm"</c`1U**C0Nj8)C,6bPOh_A,`YZ6TBDW`A9$lPgYVp68m:%IUqcso%/[W 95.1728 + -$[X2_13jl5\8[c2;P_-r4:37\1Kt&_iP30Y-\:@K"CnD"e>pr#`QBr;QSj``o,CrWMT_YX 95.1729 + teso-EVUn[f673Sf@[*/W,%=Xm$ICa*Xh;8g]mJGG[5FeM*PL-rP`pPI@P7$9',q!%<ZqWp 95.1730 + %)Y'`qGsV5JrX[A/2Kf6B3o\%5s*9(UAm\d$D8<e@0R>qEmc.^?,J2d![kf>RD:$$W-0,Z^ 95.1731 + 0F7J]M1c*iO:pFPe7p9UIHIuNd29d!PE+]?qr<kU<'I"=cHH5H$%92D!]@O5^UX4noln#X, 95.1732 + 67j,+@"4C2?AiYgQu0IN&V@r/*0)XC5g7]#.%F6$pRu_9>$\2AMiX=:`W#hhtoR3'qZW;9B 95.1733 + ._-nREW#7d4K:),hoC4$g/'+U2&`hOBF.F3=j60$)0j(#[RS"W@',&Yu0"(pRkFLX;nG89s 95.1734 + )]X`?I]HZ*Ub7fl[*BhmM5pfS`+nOU1>sj?V6RQD6/%=jrHBa6LOD6bB=fY@g2%W7%pHI`V 95.1735 + SFt)drAW+%4-[b%/t46l(rQSe.Be:b/8gB!liV!4$od0eg0IM.]rg#W"jFYQ2a+Er6\!?dW 95.1736 + %2?9/NVg*cP#po?nRt_QltXCV&Z42=hi2K,'eVD;0C^4<RTmKd2>-?*&7]P"sTM#/8CQE&T 95.1737 + r=c*19,MN*X'S^)c2"T>`t(iYSfH+OS:3s4eh(Iat]pU?UJE'!*t8Y(]e";Qk_[l7?bE$W> 95.1738 + ]2>4T3K;SL%=2u+;TR9-OW+sMPekAM#"mpA&FKB.Y$]]/s+_DTNS8&?;rl"=+G%.3<G_]Sl 95.1739 + Gl?T!FcM=,^WHfPL,5sDQWEZpXdb%*Qi(-@OZRf7bY8A#;62WZX5X]u?H8PO>/=nSNY1(.Q 95.1740 + U3mSh`n60V,/mZY-BdCJfD^pU67=a@jt(fNlTZ5+<L<6j+>M_!R\(gFhRYFBI)jMI,YjiS@ 95.1741 + dSg!P#la_,*KkqEss7AFpI]j]ON>9_T-EH^"$CJ&"L=RmZXGIoZ\_XQ#rUM%&=_U6%+,E1] 95.1742 + L]5nortXa1Yh1q.?,ds-`]Y:<"!cgOC[K(?+iE-/Ff\8j_LVeq^EiJYYs^/t$YY!6b<3`B8 95.1743 + OJ1&OA,o7-:RG4k)VPCgc;4+Xn!%!S)2ND8=kQE22/#S[aT"_5C+n<d0-)%D?giXm#l:+6p 95.1744 + 97H4uIe8@8eO%87D)&/*&-'Lp^&t)_%=Y5t5jqAVsc=o/*:$31Xe<SuUK#%s3);PdZ7AE`E 95.1745 + 'Ui#SR8'SXl4k5&:8ops<St3Nj_a`tY?'PGQgJ)W<O5iq(7S=,fkn3&mM?bBrWbKh0(0@IX 95.1746 + mQCG^I!nS'4).@Kt1HE=HHQ8bDgUR_7:/$:).<+)D`1#'$E9uGXAaYXVC]&V8MQj)P'g]=U 95.1747 + If;i+m1pGV?H;mHf^id5-%&hcnEs)?+-%B[$Mn]U`+WREao9qAgWD:T;n1FlN*!B5b?9Ed. 95.1748 + C%*uC![jn!cr*hQD8`F,lNlZOhgYNb`WIK(C]f8ktb8\a4p!d_XoPR7FViZ&Sb5c0\,#<up 95.1749 + M*-mlIU(kG'BGk4f/:n!c5ssm@N`3l0Yo+3&mR_a27<)ds84DHA@WBD"r+cCb6DSXU%^Fqh 95.1750 + +#0ZD:uICkr.]sF0bd1pa`:p]-V<l^UFAfUUoQ"<o#.jd960#)Z9?NZp96_Q]Xosno0h%b9 95.1751 + k]aeVCY87QT5%%Tpn+bo>!RR5TsY#2BnoE!tL+m;,ot+@tbPL(_gEM7jLhidn(b'bpo@(`+ 95.1752 + 8mB4[ctE*n0EG3*@o8q@Y"%i0@5'*pmD'5;#EZ@j8E2SKr<aU2#0MRl&rJ?WZq)K4.l*-&Z 95.1753 + 88p-k0V8ojd=0[+:V?Y.r7V5nB8k^;0aRo\JoD]r)s#"Mp3;M%"Gf0tY'/3u/I#@6Luic&4 95.1754 + 37Hu;XoReu\>?8`>U>5ulqgfn`nHOQ1QpSFoiF*K?KcAZt,j=#3/U!%D#V@c\@sI,tO(7ti 95.1755 + 6]ko)-;0P+YAKg(g'\nCQs^"SA!pq/DGQa6q8RH:?].?l&811GJn8V:TE6KSkY^$0=OXOD; 95.1756 + ebGl_5SPm_03$iqS@6T,;L0eIG\2Y_M>s]T#u`o>=<CTS-Kha)rBS3'\O8A^?Y6$Lq`DaDg 95.1757 + UXD^Mj#T"2Sr(-OTOJR7[3.bYO4nQR2A^NmD\"V^oq`S'o\,+[Q]#!d!M-6O>ZD]8:(Ga2h 95.1758 + oD<8oAA:\EokN.gS3Rm]tdaPSesg2-G*Z36a(8?ZG*U'<mXkZ<d0plAd(M>>ubUZm)RVlT- 95.1759 + 0rl;A48fU1*Ps,Qd*3uF]M`&WRIn.u\/\Zh^YnMV;p%]b!#O6l(+2S`lP%Q`N@?s46!**,A 95.1760 + J:LN"%i>k\^aok=6pQB`F`aHZU6]:;RJ!PR`'#6kXT@p5,!kc6+e]JM(,1uW3RE@*+]8k2K 95.1761 + `,*eASc>0`#"/ief-u$E=QF,4,8h*mZ5l5b1pbaHu;3B\KZA2@T6!WNodJba&)j;kUDCCG[ 95.1762 + JF1#1S8+Q#Z*i_N1B>(h$72+\:ZD&2B(]@ebD3Mo9b"V/S]UZ6_p"'j-G$R["Kf%0SuB57j 95.1763 + Ki+Ao^-)s;Th6-p\PdXi\XjSh0%=):[nA9j?$<_H#00d^G\S!/OI+-m1ab8->5P`h>24SYL 95.1764 + hUN"MDKod6Gn..'PJDM<peTQOQ9.j7;[RMAkZiqiLJ&iI^R"QogaQ#\aa8)<hMTe7VF6GOE 95.1765 + PH:)pP_B0aYQ^oQW#"uIqnJ:,cptrO*&Ej*MKtG"9c4+9'.RZjq;FGKPk1K1epAu^Ic=oA6 95.1766 + ^2ZKIo#geqbC8aTRg^-#9".?K;Aqu@ZlKXVR.sglC1hqb]1FLj#2Fl)P`)sHD&&@841WH3: 95.1767 + rGd4":5Oc1'KtPdG/Qp]<NYW!H41-q%!S"tSrc@W%rH1WOf9:d>)lL%M7;<-j[)C/mp+Pr, 95.1768 + @6Qb>TGjB\b8<i]5@3`q/#>GbfNY8/9s=B-Jr=Z(#:[fJQo85Mp\Lu"r1_6fq(KIn=G%L:O 95.1769 + 9eP'HYP_2?O1lP<:TL3u3TYY36NS>"Sa$L[[&Ue!0`(&?Pd[731ilbJO0kP7PS$S4A:VH>2 95.1770 + .&s,7[$I#Bc-^D`/Q#mZ[^=#(Uk*!Oqk4q/,\(&!"rAl=$5$>2JVq'jBo7aV[6kMW)Zg-j/ 95.1771 + l;t5J>NDL7o<XX\;7"@$L:uEZ$($8gUieoO4j7AZg+&L]@WA?7(X!h5kXGl60O",X5Qffd: 95.1772 + @<6#dOf\nCm,_&AO@uE=A?;(N:(C]]?SHi,j.'#T1n(L3NjZof`mW<I5-V<M^2L$\iWO)oJ 95.1773 + %e%q56SGU!&m/'3tF@LQ+k>UlkNcmf3O]O4(/!3<ro-5)4OOtcFVcSn1`K`g[lkJ/4kaHcK 95.1774 + %Nr2jGCQe,ea@KiPncg%ROU;JA=!.V,=-@UT>K`FY04k'sR\BO``+BbR;*;abF&LW2oIN%- 95.1775 + EK(dk!$m[=\[IME0pYiT(bD'0JX@"o6A,8i\b*OKjl#m-@6k563])E=OZGg[?B\0=P/h1J0 95.1776 + rB'DS(!gM:DFhbR1([A`;4s^C3;A`;7n(abseUn+aL.l@`+;]!jbpAH4%(-?E``Y;eCr@=V 95.1777 + hp8csck\(bu<EBZ70tlog.?%8jKUQIFQW=)2N`6[5437,%N^D^>FZ\7kFA7ddL7B`f[iWTq 95.1778 + Soi]r(';.`r3Y4Ir%+$6A%:QYjgGEeqM`aa$(Muhb<UBbahTlLl_.PBW;S2Z4BrZT3p78Sd 95.1779 + T9(DF(0ud!>9pOYj<Xe0s!<B;JUD$18fi<lm`^'s``!eYHneE7!Qquk-e9;NN(^E(O(6ZR6 95.1780 + T2XF]W^)iO"f*V&a!3u=UL8Oa@k3O\rh7hfQW*11:Pr.':"=RA><-<.9+X8@),\RG)]b2SW 95.1781 + ZY[&Bo?c(DQ"G=9GfSCkiO+L1kG@^?Upg3StL_YEfLonDM%#k6Nd\_GLY[dd%Iu9Si=]7ru 95.1782 + pHNP.p5Qmh9LJ-g#g(2K]Uls54*=gb(RP%"=N-XH,sja;QKY$1a'N+u6*RqaUtI61!TKRuK 95.1783 + gC]-0H2hf)*tG;!&>H(Js7I".:LITO]R(P5KRJ!oqXOXeu=$[m6Q29pa3Xmc7[@)hBf-MKZ 95.1784 + ;+D_<IkUd%k\%rOd5IBJ&-a0U?kJQh-UQL+5-49T+.`SE_Kg/f+^^L6/*!/AV!so?OU(_CV 95.1785 + _umek".?*@Skt!5(ki#Z$T\rj(.u+X,)eT3CbcZT#Z@u7C"=aAY8f@o'H=T^=e^Md(C3pT# 95.1786 + TH,GC3Mpb)aV+:NmR3SlN0Aj+$=l^1Fl?hr$"G3[?9B.MXa.?!o0p1KV-%R1h]R?nR95SKU 95.1787 + [OeTR/[?"55H@HE%5O_[=m4'*&5-2a]R0(]]-%BLK-&+=WeL1V7eH/36/!j,EKfQS^ckgPn 95.1788 + Hj0>\\m6js,50EX]m=fI2_`(1KY=tck6"qskn"11W*:e8O)@AY3"WXscX5mA2=+>N2Y,@H( 95.1789 + V`)8h+OfiAO,.M!\#[4pK5t-0'3i"kHe3-6Z>;iPcT*)16]O!cg=g1FXL`1$Ale_`m@mZku 95.1790 + M^+r?OWZ=8#Xm%N517CcZ>h]TK`ZpD6O3^g10MG0(PkUO`sZ=_]O&W0F#\PMMkjOs4E`R"> 95.1791 + ceCt7r3H5K6SpqZ5t->SM5_qE)J[k@??X6]G,$/#TLi8]bW-4Lf:b_gkH1<`^I=(RlRi3FE 95.1792 + ts/M`/,q6BmHdCbj)EO"sCQS7Df**082lWOtjT]:-\blZ@q^<u(&)80"$e^aMTr/W0_?!^* 95.1793 + "p8`Pedfcp6GJBNU;1nmSnUImYE*jh$I"Jj1ULD=SF"rN$r9WB6[&rRkPb05_V@i<;9R7d5 95.1794 + S7p.H"4.64t7"a-G)hAs,Z9f/91P9Y#5_Q%.S@V@p]1]\Mb$927`4e.1V1LP>#ZDe#)jqY, 95.1795 + fbfi$M\BQg/?hf]J\mNuLK)@t]ZMt=Z:%e,apCn'jG4(@CJ4$@9aoED*7>J$]h'/@M-MgWg 95.1796 + l3=Bd`m*N$R4`/6a`8MHHFMYP*uW,`8410hZtc"J2C:<JrE$Z\1kSR[kNKRaFPBTY;Ps_9n 95.1797 + _b+SE`kNlOJciS6VotEUo$`)U?"b-b3NM"'5R,eW*2)!_i8$0NA[:\1hE"9/nBHRc_m(hoH 95.1798 + eq\aX>E5eDrkO%P4Zb1M3=0cRb%^V;QdcOC%S>m=,B#7==?Y7(S'g*6^:,RjVVd)pTjn^^H 95.1799 + 3It[J+#TKUr<;dGsY>6$X2.OHaEaI)(3R!S-%_W"$9CR`S;:2nZ%Cd%B&?`tp>V`60\MXgo 95.1800 + *?nB5,>pL]:lOd7fTshHT?dB\;Mn*YPE:=\ql%B'Z4iRWP;*EU67@X[dg;ErM^AorJq:SuN 95.1801 + b[gI/H%#UHAkB<#Z*k:S?.:d):Fd4;p@I(h$$QsD,?ml,W$O%m$H2_6QtBn,\2?c&1SSKPn 95.1802 + oc178Zg5]"p!q:_&Hb#Sd@c#V/*d#s\Y]eI>AU*E#H[e'nP!eOn&bN1disWmSoB^)4.#F[F 95.1803 + VY>?/@A<QlOb3Up,"?PqdR$],0OR_2!<moB<s<_[.+>Kp1.DH:=^(,]K_U<*ZcKo#RBX/T8 95.1804 + .I;5bg+fq>hdY2Ad*HG45F&c4Q8[WWk=Y!OCh$?&5&l=Z:BS-RVCsTVCUmU?\Yu+$AG$"Wm 95.1805 + =:Kg@`H93JJ_2t1f5W:"+O^W(3/B%`=2JS[FbNpdMcdZO=N_3'oa019NEGu^=K*b$TRo,\N 95.1806 + N*/0f8te/d*ErIM@63Z%98Nn"e&SrRp!>";H5s6opf1Ko%BEZQ.\g'Y`7=\JXE]#V+?Ks+k 95.1807 + YAueCk(u>)fLbSZ3lFN^_Ki>-4n63lhIc\d0U$"uqNEJ:sSDDP3pt'bt]nrM'W5CP]rGgBF 95.1808 + ;WU-"pRLPR)sUgq/q[BGB,[>8X@a3#9UXbtmCL^@o+Uh.8r&E6pBEnH?JgkEY%=VTXn!$lu 95.1809 + pgs+)Kh9He+5;aH.>j]oFBj4fSBNOklg/Y^!NRLI]>Zib7fg(-jd#D4:JR*e^>AUNK^kb.8 95.1810 + Js?n*?1<GP"i=PFZ/.0uN]kt7*T@?IM#[_$#U"h*34`D7dGDS'?HqjMPT[4NmG?[g#m*ZN8 95.1811 + 5k=Z4-de=>tDO4c1-;b9Nj]8N:Di4,'K\OL0FCX#j&\S7;`SHJJH!8cM:c&ToB>+_^Z[]Lo 95.1812 + '4fpkE$%T-n4ROU02A-0kg3>7jTkfnbI=+FfD39O2pGLhi5^%ME2&'4Ele==ht\7M](=on\ 95.1813 + `7?\S.n^l+0Ek*W[>M>eHM:&0Sd&VuSTO[/"6I@$rW8Vk@N@&\)iXchWKLY\&Ci$l=q5`"< 95.1814 + 5U]f&2=KT*]IJ[>o.UG0!gO9pu*\q4X1CIe0@m2bXl18BJO5SrTinBUME/*9+_2+rc@#0P! 95.1815 + pn-PBMV8fP#_j`5(+BN+h.--fih_s+NSOj]6jYH<?*NC!*\UrHNfH:Dj'GGjhG.VFR_5\Z< 95.1816 + CTbm/h:G#B8I*X,'HTbDFn'bLZ@Le#_knec;f[L"leqPhp,5.IONsB/E6G]AVIZ/c50o_YD 95.1817 + ]84AKGDp?=me_Me*(\k&p0!.+6aU-K*70i8tsek!m;9LgWC<Lh94_?-?gA?jH[&@+HBT(3& 95.1818 + 9)?<uKV@-265S]U"X@qM$S?G6Mt*3j/%IgC420-,1JrMl-kEo6Z?k/F.XW/KLIkD5\bB;P? 95.1819 + 6p1!2=j58dMAei,a5_WIO<s[@<Au`t80i;OXGiq6RMlqroOH3sJJn]XaB@qcJm[.Yd2!M.3 95.1820 + i5UleU6K>WPmG(g'uC41=n_(+JS/"'Lb=bQn::nrb@HotB$QVJ2L/c/Wp"&bC<`43Pd$#\X 95.1821 + _G#@.ZGb!7^(c/FbhAu#[M015+^U`X9a6XfCl`7\;B=\$jj'Z`7?$p#-!J4X,%g&A?L:Fk- 95.1822 + sY/_cSp"R@_An-H"u2m]e$^#NgU(D6<-FJng*pet.q-G`5[p6%B/2A9`i?-ie)qQ>5P7CVG 95.1823 + ..W2J>R5\;(7?A=d3m`KCLgMOW/m!CMqmSRi?l^cR?g'*Aj?GL($eV8dOjrg12-7e2T_2<, 95.1824 + $OVj_VfS+,?ent-IDU.WL%F9g\B^X]8@(o6>NkgHgc%cR]gpRCm?H[52M/,6FO\h%oVKRfV 95.1825 + cfB6s);a'S*K'4_o&&[U(odmRhWsV8")pI-:hH2RI6ggLmFABCcNW8A`fJj@Gi'p)k]VU\D 95.1826 + A`^l[LNd%'t3610(k2.#L<$%>Cf@P?2*h0N2J86A"\le^AmZQ_MV1MS[T/pQ:Y7E(C5d,KB 95.1827 + %Ztr_2a_rU>jnE_duR46JT3Z6(88j)3Cf>jCN6Tke=thPU$OAgU.GgMk_8muWI\-MiPNcZ7 95.1828 + OTkCAOu(F&7=)i@CK@0/Q#7K7DC)/E:unu"Wlh`aK;J>EJ,M,bpC-PZ1=kobFmka4hWTShE 95.1829 + B'3hu'nW*\:\BGu%V;^@ngA$Wh(JBT*\r@KbAMHjj:6Pss\FhK)l!UHM429QIbgt-)>?=/) 95.1830 + LsB=0+nJb[F+6Q"hd1Hl+7a7TDZ<"CNtcW,?ZnG(l$$Z]?Y4It]Ppu>9jH7+CtEiSCD/pDG 95.1831 + /%m;hekrLX6bm4p?uu=%rCt^F*Bij6+rgkm:Z/hG8T4XpO@I4T6`VdFkXlZpTJu\5Buq[Is 95.1832 + :pC2Xb=(%tYJpIeYRLGYa#KpOW*HLNn<)G`R\Z7u$f2Mg3!qGgD@BT8NF$O*L\dGn6$(095 95.1833 + iMPBfBWGu'\dhide?kl^]i"8FU)_p\@YRJF%VH,#nq\"7lkT)%99H4QZp+.rB_TmAYlH9\6 95.1834 + P:SrG.Vg;^JqJW<YT;d.?W;=9/HH3(4c`VTOYBng)H3d^ZkZ\n^6j>nEHN1/F&%-b&[X3M3 95.1835 + qiA45QahC7]6g`oH`+Q(^V0LM<X-WGH$@)P)JF?0E*CT):7*+,3$/.!8i\!6r--50T?2Jaa 95.1836 + S`fqI)jEXcd$pqc[=?kI.,G[s3Z6JdX=@-rD1mj=4DY*f6qSiI:q5]J(ad]g3p`jIF$XGhp 95.1837 + )@\AqZ#$!ao&\BAJ!VhL7-=IQuqC2s,Qbk5J`NIZN]ATBH3Wl$g+u";kW!-cH#Qmj,*S8Jc 95.1838 + @Fr6Tgu`r;n%s%i9:?gN8\om_2ZIt.9DO8=?]qgJ4s(uO;$-i3k8qZm1%-l%;!+E1FN*Yem 95.1839 + 66=I+.F@IDeLW*_"BV\rl)3.02dCB*t5pML`A28EUU.larZ&io"KZ7RZRS@DCH,Sif4.]5\ 95.1840 + e+s4PKgVS3B[h>s-C%6$;eabXKgqn;W`<faHGsL(>HV%Ceb]N)`FH2VCt<r%VU]Ij>A_sgK 95.1841 + uW4;IpHEJGMVESGCDbpf2qXk"bX[#E7fP--P_QZ@r^/tH2WPK0s1q1>eXDsS'>Se3W/#l4e 95.1842 + ^;;o\(ldQW'g4CNZ*E?H6?WfPL99?,k?9\)$IrS,N'dHc+44S#^@\-?=oQ+ugQ;(I+bDl?# 95.1843 + )C5/11(g[0334oXVsKWK!j3F72*Vq(,,H[XcNLWANJqL*hMJ&gaFqu2(YC[q8802($f!&+r 95.1844 + U&HopH>T!a^d!QuB_GHaO$Gt0&0atrrgc5k^d/60@`).LG'#`0[;&$c="9ANgBA3.`0!SAi 95.1845 + )TL1;E?*"rgj's]dJSP<aAO"7,081o)L9FjS=(_GUn",(8lD1Y.a$2NIhj]bF9`YdnXQj<b 95.1846 + YoM'1<e30d59*H>hM$[dsU+6Y"+0/!)D"UmQ=9DPkdMhe,99Hb>8Q9(X'kc%m\NA>o?,Ze9 95.1847 + rK2dSubd9%)5&0Xf8^K^hg`6cCiXe5[M\$W(X"\O4b%/Ql-)eU:k.elA8T>1V6;EB-T\S=O 95.1848 + !/"J'UAfN'#KVGM8L;,g"Y%?"iOepX6*g/acDC>.7PZ#&/qh77F@Ps(=Mflm&1Eno80d<+2 95.1849 + G?.jDWf6uV&hH-0aE$(3i@04XGAa+[$fDYf$i)h$,K&G9F&VT+F>8)?:8(Jh`9Gh@jMW3:& 95.1850 + 0oY-phDpVVf`"0u_RHrsP+PCt`iIS\m.!g2=aje;AWsbOREiu&C]J'#DKD9/fuAN4kZT$aU 95.1851 + ?L;pOI>0t2GUogQ!15Rk1OpAWp81'HO+C9`AUk7_a_J4OddE)=_`fM\#Zc<9H1De]'d>;k1 95.1852 + ^akZL$i,h6h0*hYFnSg\l&G:tO50M<ZnJF1^o]?Puc10NT<FRN.]ab3(n"mB@$+mio.[4T< 95.1853 + OKDg^mLaRWqu.OOa,^I4Z8MaosQoK*9sg@j@;ESU:a7g1O7RY%J>GXFEHiqTF\Okoh>>l!! 95.1854 + dRs/AmqGXXplLUGOj6()^e+MpGrh$%PPlAC/\bht2dIdBE?eP.M2E\HZfmX1^qYo"UcMVOt 95.1855 + fD1_T/tA@Z[ncr+d+NrqOd81DYgqXQpO@,S:;?NN!)oZqIukL`^kFiOT.BYgd!cNm(duGPJ 95.1856 + qR9"mLd='<1i)_p2/%7E5N<b$VLUZA.[Dh_Y.gT7gq2)A\K-N\:kLR,XmO3dLr\u,ekNc9o 95.1857 + 6kI9thu3b8[+pMT$JB5Y.cM6f_MhZ$m-0Jn#<6,H4H+V?0-%N<P!bArDdonOB77l.`!4Ej; 95.1858 + JY_l,UqiX#RA030[&LG^&[PHK9C@9U_A:EWTK<JolR/AK:DSYG=qMrOFaZU/(<+67;>&Y]1 95.1859 + o,)I6anop8&&g#(P-QQTRGEaiE+-63o-<[lJO]"jQ82mRtS&C)&nNL>S)20d,,&2>#&AH#< 95.1860 + M_aF'@s0Vml+5;dVW=hm:Cp'1'6\ELB!QW2"TDFreF*DF*7^QR\m.4hRgkoNk>(E1?I%dlX 95.1861 + <r:[Qd\Kr9h;lVk/>tcdrKG&npNK14QInhRX%3)B0&te5*'7VG0_Vq:2!>mRC$:Z;49@3d( 95.1862 + ID5cMbXXb!ekD/-KOFLmgAK;b@A=S!j<Y!]q;ujQ$aS-EaM=\ajG\geA5*1a1AjH.<*I7#c 95.1863 + "np7eHsklqHi(o?k,Qp)j"-"qB,-h(S,"PNuPC*`[TZ<g]jV27d.m49S`WQNe$DbI"6Gc)d 95.1864 + `R>hPgs!RE)Xn;$7e'[)KWWSNb<;;k]d.nD+3BX8`!i<\QB2bjJ<[Lg=2i#PV6AbA;Q*k?5 95.1865 + fXMB!lNDs9oTIR))b"H-+cg>RRO-Zl<GL?:Z)NueY:#.-1!0YXY,nq2PF;KC.oA*m/uG$Mq 95.1866 + [[R\He"q\=IqYn@p9sRQa<M<#1EC#:?d/k-BcVI>1YuSai0%DG1O6%7W!,O]t7&5oU/qX.s 95.1867 + 1&FZ('<TRb8'oEXCREZgmiP;Yl"_$=2&aWS7%ZS#]pK]p,pL*s>uA'nXSl]k"RL#%8C=?D> 95.1868 + @BY_"XP`Zfl/fjslAEkskE6@!.+_fR5lffS0PI,nqBc";("lJ65=@u8aB\F5BKe&=CmmhPR 95.1869 + u(fEn5ANPa+N"*[^G83KgEI8)t,cK@'RGruWm0XU[F7h[X@f]AaRmaM.ptE%26@4`pP`I1. 95.1870 + @gQb;eXH)?_kYE;A@Pa0RrbAlXGPr:;HP)uEa_^tc+<^N!f5U713UT=G97K8!p2+`@4/Do4 95.1871 + %mG9P-Q*^bkZNgkBTc<8iE-bg%KRQN=h."NQ/cQ(IC"GQSrleU*c<\bNR_oWQE/A!#eD!kt 95.1872 + FaHYV$j>])Q/S*JG'rILt.Y*W"dLZ`K#>%'Opm=(C&W5NTj!OT`tIjiQPio,M,\!!;e.h#p 95.1873 + I:Gt)rPThB4&SUUt>cGM`)=mP'W[<AlogGfb:_eCd5pB`a)S!R)k).gUl7g7i+++uJAMb#X 95.1874 + r$/s1gf^DBr?ajY,QEg%5Ds:cF?Nr!@\YCop]sk+'[:7L1$ZmhX,2BGQ'U'J/P%X2=:&*Tc 95.1875 + H<bfbnkt[m<:5Mg06<3FNcW,7-Um7T*Ir+Air(o.9lJeSs6#A%`jAL7lF`1''+Rs>q2QuhA 95.1876 + FD3f]V21u\MNG4Q\"jaL"%i";sJbZ[1nT"c$PGslh=buPFf[UqSr$m)fpE!0'h!!-\_'H*G 95.1877 + G)B;rToLHKU.FAoJ57i;5@9^jA;fp^Y"!4PuUjr6NJ!3j[^g]%HQ;hoPI'X5*0YQh>dfR<? 95.1878 + 8/g,K&3i%nZ]qG'cFIHS<<hYgK"WKls:,=CpF:!MGT`lg!n:\C2Q:B1lP;Y@NDn31n`Et5O 95.1879 + YITi;o"RB?;caDYrYK)ti;Y9q;nb'K&T)=&%R!g'R;SK8j-pGhVGV@nL6t7eFic=rHPh1qo 95.1880 + s)3eqcjp-g&kobSc#E"rEY3,R!c[a&F\&+[I",4%Xrd&k+-:TjbmIf.5apHj3(asJL\@ 95.1881 + )n;L"=9rIBWPd,.fHN^"JTN2:W+`%3o@*MqdPNfDfYgFG4/78;m9(GYZ/ilFTO7_@n2V%a, 95.1882 + LE2KGDk%$ALVCKaN%LQD?48$\d)R/XY.o81)Jcrbk3u#9pDAFt"u&AoPo`X6uTFppP$Y;f> 95.1883 + EWO?P"jE<"p4PL.7^VnTJ&g9>-LrIo"pmOJ*1r$INHe,kg/m^io^n0sIOjA8+mOQ-gb$78U 95.1884 + 7Y9n)q6=CC%1ac,s#S?tU01N1hgeQ6)$aElBd3qr3pD)(f@5+ijk6DAi)]"QZ>75UlM+!J" 95.1885 + DC4iS^0sdP/+=Sb:6MlBp2F4(%]\>[`>*t'LPocj,'OO4!,Sp#YYA"2:$T\jb10-<)Id1\k 95.1886 + pVInfW>Y;e*U9W&N]2Bppt-a#fTFQ`lAo!kgg;h(lQ[cZ&X?)-Q-ZA!0Cn#,&\ANT,M^LMU 95.1887 + ARS;6q3^#d>g<'i2:@WQuP.D$-\7*26j]huJqFe8gSE%Di&6ncl6*4rc<C(Qqs+EF;QG5:+ 95.1888 + `i?>kMB;J@K^UuFmG+j^4D/\ZT@M!smD"d4]P/aEU<`>e5]cr,%5Be%k(Cp<C%r5l&dU1l) 95.1889 + hD'u/O.E=(lEJGq0U70Ma)=a7,n+S6tXXQ"_*-.GQ9rR01cRKCn-ZZNuU1YsTI4FWh,,TE3 95.1890 + noHJgRjJ:0(/k;h`QKURR5"4J<f:S@bb#&JLG@-)X![%nnX0Ilbk<['P`j!+!;SCk^G>q1L 95.1891 + PNgEl#dij!:$m;&X,t+#RN.nE/o[mPJVX3o&BHM`@<'ZCoUg)ZIW!==DUII1*VE37Vm3'65 95.1892 + Qsu&b>BK7ja2$4X:<F3E&F!!Q-b>UGWIV3R_+g^sP%P)CSNs26,ChdI`M6E;\YA2cAifF*d 95.1893 + +-I_7HS5*P:re*\i?l<+^;$SWYe'E:<3"$ffj5a2XA`>LBa[m9R%6'N<Se/q!k,=4d=5r!L 95.1894 + KF>#uq1IG,#6^0Z"_P9GlYZKq48]>m@oM7mi;ajYe7?h!7e+R,XN,[_Ea:qoLe8IhkF%92R 95.1895 + 7u0YNe7.BgY\HX?2fsC;e;m08P=\`?8VRUB&TL%PVaPVt8X)q@['*+:ZV+9,99d"g9H7LuK 95.1896 + 1j_79U*^oeB^i'dT!8B_=Y]@<8UFbj%`S::6b$6F@/gQo1r?[:R(`PeG_U"lr>mu:_a@7eI 95.1897 + PLl'2_aF.*.R#7JAN:),aH^;O&b1eLsQ1*/*m$;\_AmeN["J6W@#,;anY"F[oFH;cQh!<L$ 95.1898 + b^eF?Ph@ocTB<g@H$b=bM0ogVr"=-\,6eUL[9Jpde,@HNrF'dHg\P?CnP=d>IZ`YD4&+Cu9 95.1899 + _0O]B5^dVHBZWf;g(W+ZC<PMa<_@]ef/YIAoe\VGV/du4C%Md`(!+0%6g(O)A>nsXb[I,VH 95.1900 + \R)\J(,btne\PU8`Xu4o>kPr@edl&Oh-;hq"ngt`Q1c.4+tZ*I@[6Wi<VdIgrZ5)k&%4MNT 95.1901 + T`n$d9tn7@3FN7p#7QS8S(pS@Ni!cFt6pC0J0^nA&?o0!0^qo&1s2/&%4#@[T!s,=^j_HA[ 95.1902 + X1((2$utGV-?o>o%<0[WuN:;e:+G@Y'gs<f:=.N\-PK?(g.jFq8;q6#$$S@b&166IfQ]/S_ 95.1903 + _t@Q#fE@4j.?)-n#iCZ)=2+He=b"`1T]D&)qb<[]P"mMr[k??Y@8(?\ttgKdh,>ekW'290W 95.1904 + Yc7LpH?Zinu2=GLMi%:8V>W(&O6SEGEc#M\W@b1cdokd_3#Srb-B/`j,K%2Pcm3Y0P"4q:! 95.1905 + J<tH]g'^u*AUkkH_V,RqJqak*/D"->+\R(s?r!S9G%0'HTKHeP)g>A.;n%,TpORQYC`6B`/ 95.1906 + O>/=f8k2$drli6%6)E]TNcg\UNAiUG@7h&[sfo[/Ug01HXWat\%ZJ+O;+GCB/dsB2pZmu4* 95.1907 + j6HJ'[U5\)\1Rl$J$2I\q1;(\hUorEt/#AXCaIU>(4%?n3'*B/dI?@b$%,D1U^!B/eRsGUn 95.1908 + 1Z0mp?C/GJgi\%RG2[V%ON&E;Gj``[u3fl=N!K&YHSAm%[!]7n7AK>Q.\V!Wo(D0OWPG@K< 95.1909 + N!1%2_Sh7I$;n.E0Q],P.?&6]iAXJW4Qu5j4T8D0>MDo=.B+TiBM0/DrFX%-L#%riq`Hc'. 95.1910 + H(ri7pMY77fm8>AHIoA4pP+qWd>d9kIohk5Q^KP;m<7+cI:CfV\)2MkfnPk/I_sQdf>2r]j 95.1911 + cJV;JjS.Bf@=lnomPGmIKJ,RQaMBRd?=7qHm70l\':,h!`'X;/U0&Qij4m3B7@@")H\#/=< 95.1912 + Wlr?nHVH;n+E55gt8#R?o7'Lq"=W=@JSO87pLqR!$Z/R?*&Rc%otERA/)^->/7Rf8Kk&RY' 95.1913 + (WK^kG^I>nqt4i57/H'sBgdtlo_S0HLRAFH%_du!kB"5(phL8UT:`K4XmNZulBH0QtAmS;E 95.1914 + Q/Xc<2\>>a!rap-DNHJ0![3&>"$5ja?#b!iMg-)3>O=`c_UmaND_)\>.V@-R$#_;ZG_V,RT 95.1915 + A#4^JVLmNL>$7WLX=P8WV]%W*!lq*fl)122V#`TQ>$5`pfqoo%VKuu/RW#*t]rFEK)LAH_H 95.1916 + @@DKK;`3'X+K%6]"b3\'<,/HUtTJginA4[LT3YRWg^&f]!*`S\#Z7VX5M1&2S:W1\.UiXXT 95.1917 + lJ@>,El4f;N^l/GeE?2G9m8l7KU?YCbH03d[m#VCc!UVn33cg4uYS&Z".rY<'4mH@d_?0;s 95.1918 + 4BZ?i@GEBYpWc)$mb/XF#R3kd2WMmN7OZm`\rHE)&,5IBr+/DF1#gK6%R>Ru-`T-D[k>'mU 95.1919 + Xe#/X]UcWT;4*JXGf=0Hu\3er[>D\32fspluVckTM<<WaFGIuVM]UR*WgX!P:1?h>q0H8c[ 95.1920 + gY]^aj1\a\^74H&g[Dlro=nN(^RP,8g],&/"2J.H^mkeJg^h4@'>[oi_42I\g`OBQ,Jm\5_ 95.1921 + ON-ngb6Pb1W*HV_jig+gcr^s6c<5"`10K=geYm/;oN!C`LL/OggA&@A&_bd`gghagi(4QF2 95.1922 + qO0a..LsgjdBbK?.;QaIJ10glKM:!'gSe~>Q 95.1923 +Q 95.1924 +showpage 95.1925 +%%Trailer 95.1926 +count op_count sub {pop} repeat 95.1927 +countdictstack dict_count sub {end} repeat 95.1928 +cairo_eps_state restore 95.1929 +%%EOF
96.1 Binary file 0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/VMS-core__internal_workings.png has changed
97.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 97.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/VMS-core__internal_workings.png.bb Sun Mar 11 09:26:44 2012 -0700 97.3 @@ -0,0 +1,1 @@ 97.4 +%%BoundingBox: 0 0 1465.44 623.76
98.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 98.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/VMS-core__internal_workings.svg Sun Mar 11 09:26:44 2012 -0700 98.3 @@ -0,0 +1,1046 @@ 98.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 98.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 98.6 + 98.7 +<svg 98.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 98.9 + xmlns:cc="http://creativecommons.org/ns#" 98.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 98.11 + xmlns:svg="http://www.w3.org/2000/svg" 98.12 + xmlns="http://www.w3.org/2000/svg" 98.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 98.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 98.15 + width="744.09448819" 98.16 + height="1052.3622047" 98.17 + id="svg2" 98.18 + sodipodi:version="0.32" 98.19 + inkscape:version="0.48.1 " 98.20 + sodipodi:docname="VMS-core__internal_workings.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="path3563" 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 + <marker 98.39 + inkscape:stockid="TriangleOutM" 98.40 + orient="auto" 98.41 + refY="0.0" 98.42 + refX="0.0" 98.43 + id="TriangleOutM" 98.44 + style="overflow:visible"> 98.45 + <path 98.46 + id="path3682" 98.47 + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " 98.48 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 98.49 + transform="scale(0.4)" /> 98.50 + </marker> 98.51 + <marker 98.52 + inkscape:stockid="Arrow2Lend" 98.53 + orient="auto" 98.54 + refY="0.0" 98.55 + refX="0.0" 98.56 + id="Arrow2Lend" 98.57 + style="overflow:visible;"> 98.58 + <path 98.59 + id="path3557" 98.60 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 98.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 " 98.62 + transform="scale(1.1) rotate(180) translate(1,0)" /> 98.63 + </marker> 98.64 + <marker 98.65 + inkscape:stockid="Arrow1Mstart" 98.66 + orient="auto" 98.67 + refY="0.0" 98.68 + refX="0.0" 98.69 + id="Arrow1Mstart" 98.70 + style="overflow:visible"> 98.71 + <path 98.72 + id="path3542" 98.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 " 98.74 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 98.75 + transform="scale(0.4) translate(10,0)" /> 98.76 + </marker> 98.77 + <marker 98.78 + inkscape:stockid="Arrow1Lend" 98.79 + orient="auto" 98.80 + refY="0.0" 98.81 + refX="0.0" 98.82 + id="Arrow1Lend" 98.83 + style="overflow:visible;"> 98.84 + <path 98.85 + id="path3539" 98.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 " 98.87 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 98.88 + transform="scale(0.8) rotate(180) translate(12.5,0)" /> 98.89 + </marker> 98.90 + <marker 98.91 + inkscape:stockid="Arrow1Lstart" 98.92 + orient="auto" 98.93 + refY="0.0" 98.94 + refX="0.0" 98.95 + id="Arrow1Lstart" 98.96 + style="overflow:visible"> 98.97 + <path 98.98 + id="path3536" 98.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 " 98.100 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 98.101 + transform="scale(0.8) translate(12.5,0)" /> 98.102 + </marker> 98.103 + <inkscape:perspective 98.104 + sodipodi:type="inkscape:persp3d" 98.105 + inkscape:vp_x="0 : 526.18109 : 1" 98.106 + inkscape:vp_y="0 : 1000 : 0" 98.107 + inkscape:vp_z="744.09448 : 526.18109 : 1" 98.108 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 98.109 + id="perspective10" /> 98.110 + <inkscape:perspective 98.111 + id="perspective4311" 98.112 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.113 + inkscape:vp_z="1 : 0.5 : 1" 98.114 + inkscape:vp_y="0 : 1000 : 0" 98.115 + inkscape:vp_x="0 : 0.5 : 1" 98.116 + sodipodi:type="inkscape:persp3d" /> 98.117 + <inkscape:perspective 98.118 + id="perspective4336" 98.119 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.120 + inkscape:vp_z="1 : 0.5 : 1" 98.121 + inkscape:vp_y="0 : 1000 : 0" 98.122 + inkscape:vp_x="0 : 0.5 : 1" 98.123 + sodipodi:type="inkscape:persp3d" /> 98.124 + <inkscape:perspective 98.125 + id="perspective4365" 98.126 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.127 + inkscape:vp_z="1 : 0.5 : 1" 98.128 + inkscape:vp_y="0 : 1000 : 0" 98.129 + inkscape:vp_x="0 : 0.5 : 1" 98.130 + sodipodi:type="inkscape:persp3d" /> 98.131 + <marker 98.132 + inkscape:stockid="Arrow2Mend" 98.133 + orient="auto" 98.134 + refY="0" 98.135 + refX="0" 98.136 + id="Arrow2Mend-9" 98.137 + style="overflow:visible"> 98.138 + <path 98.139 + id="path3563-4" 98.140 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 98.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" 98.142 + transform="scale(-0.6,-0.6)" /> 98.143 + </marker> 98.144 + <inkscape:perspective 98.145 + id="perspective4423" 98.146 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.147 + inkscape:vp_z="1 : 0.5 : 1" 98.148 + inkscape:vp_y="0 : 1000 : 0" 98.149 + inkscape:vp_x="0 : 0.5 : 1" 98.150 + sodipodi:type="inkscape:persp3d" /> 98.151 + <marker 98.152 + inkscape:stockid="Arrow2Mend" 98.153 + orient="auto" 98.154 + refY="0" 98.155 + refX="0" 98.156 + id="Arrow2Mend-8" 98.157 + style="overflow:visible"> 98.158 + <path 98.159 + id="path3563-2" 98.160 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 98.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" 98.162 + transform="scale(-0.6,-0.6)" /> 98.163 + </marker> 98.164 + <inkscape:perspective 98.165 + id="perspective4461" 98.166 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.167 + inkscape:vp_z="1 : 0.5 : 1" 98.168 + inkscape:vp_y="0 : 1000 : 0" 98.169 + inkscape:vp_x="0 : 0.5 : 1" 98.170 + sodipodi:type="inkscape:persp3d" /> 98.171 + <inkscape:perspective 98.172 + id="perspective14081" 98.173 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.174 + inkscape:vp_z="1 : 0.5 : 1" 98.175 + inkscape:vp_y="0 : 1000 : 0" 98.176 + inkscape:vp_x="0 : 0.5 : 1" 98.177 + sodipodi:type="inkscape:persp3d" /> 98.178 + <inkscape:perspective 98.179 + id="perspective14206" 98.180 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.181 + inkscape:vp_z="1 : 0.5 : 1" 98.182 + inkscape:vp_y="0 : 1000 : 0" 98.183 + inkscape:vp_x="0 : 0.5 : 1" 98.184 + sodipodi:type="inkscape:persp3d" /> 98.185 + <inkscape:perspective 98.186 + id="perspective14299" 98.187 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.188 + inkscape:vp_z="1 : 0.5 : 1" 98.189 + inkscape:vp_y="0 : 1000 : 0" 98.190 + inkscape:vp_x="0 : 0.5 : 1" 98.191 + sodipodi:type="inkscape:persp3d" /> 98.192 + <inkscape:perspective 98.193 + id="perspective3233" 98.194 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.195 + inkscape:vp_z="1 : 0.5 : 1" 98.196 + inkscape:vp_y="0 : 1000 : 0" 98.197 + inkscape:vp_x="0 : 0.5 : 1" 98.198 + sodipodi:type="inkscape:persp3d" /> 98.199 + <marker 98.200 + inkscape:stockid="Arrow2Mend" 98.201 + orient="auto" 98.202 + refY="0" 98.203 + refX="0" 98.204 + id="Arrow2Mend-8-1" 98.205 + style="overflow:visible"> 98.206 + <path 98.207 + id="path3563-2-7" 98.208 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 98.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" 98.210 + transform="scale(-0.6,-0.6)" /> 98.211 + </marker> 98.212 + <marker 98.213 + inkscape:stockid="Arrow2Mend" 98.214 + orient="auto" 98.215 + refY="0" 98.216 + refX="0" 98.217 + id="marker3239" 98.218 + style="overflow:visible"> 98.219 + <path 98.220 + id="path3241" 98.221 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 98.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" 98.223 + transform="scale(-0.6,-0.6)" /> 98.224 + </marker> 98.225 + <inkscape:perspective 98.226 + id="perspective3353" 98.227 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.228 + inkscape:vp_z="1 : 0.5 : 1" 98.229 + inkscape:vp_y="0 : 1000 : 0" 98.230 + inkscape:vp_x="0 : 0.5 : 1" 98.231 + sodipodi:type="inkscape:persp3d" /> 98.232 + <inkscape:perspective 98.233 + id="perspective3447" 98.234 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.235 + inkscape:vp_z="1 : 0.5 : 1" 98.236 + inkscape:vp_y="0 : 1000 : 0" 98.237 + inkscape:vp_x="0 : 0.5 : 1" 98.238 + sodipodi:type="inkscape:persp3d" /> 98.239 + <marker 98.240 + inkscape:stockid="Arrow2Mend" 98.241 + orient="auto" 98.242 + refY="0" 98.243 + refX="0" 98.244 + id="Arrow2Mend-8-5" 98.245 + style="overflow:visible"> 98.246 + <path 98.247 + id="path3563-2-5" 98.248 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 98.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" 98.250 + transform="scale(-0.6,-0.6)" /> 98.251 + </marker> 98.252 + <marker 98.253 + inkscape:stockid="Arrow2Mend" 98.254 + orient="auto" 98.255 + refY="0" 98.256 + refX="0" 98.257 + id="marker3453" 98.258 + style="overflow:visible"> 98.259 + <path 98.260 + id="path3455" 98.261 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 98.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" 98.263 + transform="scale(-0.6,-0.6)" /> 98.264 + </marker> 98.265 + <inkscape:perspective 98.266 + id="perspective4753" 98.267 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.268 + inkscape:vp_z="1 : 0.5 : 1" 98.269 + inkscape:vp_y="0 : 1000 : 0" 98.270 + inkscape:vp_x="0 : 0.5 : 1" 98.271 + sodipodi:type="inkscape:persp3d" /> 98.272 + <marker 98.273 + inkscape:stockid="Arrow2Mend" 98.274 + orient="auto" 98.275 + refY="0" 98.276 + refX="0" 98.277 + id="Arrow2Mend-8-12" 98.278 + style="overflow:visible"> 98.279 + <path 98.280 + id="path3563-2-3" 98.281 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 98.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" 98.283 + transform="scale(-0.6,-0.6)" /> 98.284 + </marker> 98.285 + <inkscape:perspective 98.286 + id="perspective4850" 98.287 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.288 + inkscape:vp_z="1 : 0.5 : 1" 98.289 + inkscape:vp_y="0 : 1000 : 0" 98.290 + inkscape:vp_x="0 : 0.5 : 1" 98.291 + sodipodi:type="inkscape:persp3d" /> 98.292 + <marker 98.293 + inkscape:stockid="Arrow2Mend" 98.294 + orient="auto" 98.295 + refY="0" 98.296 + refX="0" 98.297 + id="Arrow2Mend-8-8" 98.298 + style="overflow:visible"> 98.299 + <path 98.300 + id="path3563-2-74" 98.301 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 98.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" 98.303 + transform="scale(-0.6,-0.6)" /> 98.304 + </marker> 98.305 + <inkscape:perspective 98.306 + id="perspective4850-7" 98.307 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.308 + inkscape:vp_z="1 : 0.5 : 1" 98.309 + inkscape:vp_y="0 : 1000 : 0" 98.310 + inkscape:vp_x="0 : 0.5 : 1" 98.311 + sodipodi:type="inkscape:persp3d" /> 98.312 + <marker 98.313 + inkscape:stockid="Arrow2Mend" 98.314 + orient="auto" 98.315 + refY="0" 98.316 + refX="0" 98.317 + id="Arrow2Mend-8-7" 98.318 + style="overflow:visible"> 98.319 + <path 98.320 + id="path3563-2-9" 98.321 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 98.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" 98.323 + transform="scale(-0.6,-0.6)" /> 98.324 + </marker> 98.325 + <inkscape:perspective 98.326 + id="perspective4914" 98.327 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.328 + inkscape:vp_z="1 : 0.5 : 1" 98.329 + inkscape:vp_y="0 : 1000 : 0" 98.330 + inkscape:vp_x="0 : 0.5 : 1" 98.331 + sodipodi:type="inkscape:persp3d" /> 98.332 + <inkscape:perspective 98.333 + id="perspective4946" 98.334 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 98.335 + inkscape:vp_z="1 : 0.5 : 1" 98.336 + inkscape:vp_y="0 : 1000 : 0" 98.337 + inkscape:vp_x="0 : 0.5 : 1" 98.338 + sodipodi:type="inkscape:persp3d" /> 98.339 + </defs> 98.340 + <sodipodi:namedview 98.341 + id="base" 98.342 + pagecolor="#ffffff" 98.343 + bordercolor="#666666" 98.344 + borderopacity="1.0" 98.345 + gridtolerance="10000" 98.346 + guidetolerance="10" 98.347 + objecttolerance="10" 98.348 + inkscape:pageopacity="0.0" 98.349 + inkscape:pageshadow="2" 98.350 + inkscape:zoom="2.34" 98.351 + inkscape:cx="470.48905" 98.352 + inkscape:cy="738.60096" 98.353 + inkscape:document-units="px" 98.354 + inkscape:current-layer="layer1" 98.355 + showgrid="false" 98.356 + inkscape:window-width="1585" 98.357 + inkscape:window-height="878" 98.358 + inkscape:window-x="239" 98.359 + inkscape:window-y="0" 98.360 + inkscape:window-maximized="0" /> 98.361 + <metadata 98.362 + id="metadata7"> 98.363 + <rdf:RDF> 98.364 + <cc:Work 98.365 + rdf:about=""> 98.366 + <dc:format>image/svg+xml</dc:format> 98.367 + <dc:type 98.368 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 98.369 + <dc:title /> 98.370 + </cc:Work> 98.371 + </rdf:RDF> 98.372 + </metadata> 98.373 + <g 98.374 + inkscape:label="Layer 1" 98.375 + inkscape:groupmode="layer" 98.376 + id="layer1"> 98.377 + <text 98.378 + xml:space="preserve" 98.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" 98.380 + x="441.66748" 98.381 + y="404.66492" 98.382 + id="text8002" 98.383 + sodipodi:linespacing="100%"><tspan 98.384 + sodipodi:role="line" 98.385 + x="441.66748" 98.386 + y="404.66492" 98.387 + style="font-size:8px" 98.388 + id="tspan12172" /></text> 98.389 + <text 98.390 + xml:space="preserve" 98.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" 98.392 + x="439.16418" 98.393 + y="244.9225" 98.394 + id="text5831"><tspan 98.395 + sodipodi:role="line" 98.396 + id="tspan5833" 98.397 + x="439.16418" 98.398 + y="244.9225"><tspan 98.399 + style="fill:#159415;fill-opacity:1" 98.400 + id="tspan5843">Green</tspan> = VMS-core</tspan></text> 98.401 + <text 98.402 + id="text5835" 98.403 + y="245.02016" 98.404 + x="530.34119" 98.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" 98.406 + xml:space="preserve"><tspan 98.407 + y="245.02016" 98.408 + x="530.34119" 98.409 + id="tspan5837" 98.410 + sodipodi:role="line"><tspan 98.411 + style="fill:#0303b8;fill-opacity:1" 98.412 + id="tspan5845">Blue</tspan> = application</tspan></text> 98.413 + <text 98.414 + xml:space="preserve" 98.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" 98.416 + x="368.28989" 98.417 + y="245.02016" 98.418 + id="text5839"><tspan 98.419 + sodipodi:role="line" 98.420 + id="tspan5841" 98.421 + x="368.28989" 98.422 + y="245.02016"><tspan 98.423 + style="fill:#960a0a;fill-opacity:1" 98.424 + id="tspan5847">Red</tspan> = plug-in</tspan></text> 98.425 + <text 98.426 + xml:space="preserve" 98.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" 98.428 + x="368.25397" 98.429 + y="405.27225" 98.430 + id="text5849"><tspan 98.431 + sodipodi:role="line" 98.432 + id="tspan5851" 98.433 + x="368.25397" 98.434 + y="405.27225" /></text> 98.435 + <path 98.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)" 98.437 + d="M 289.73631,397.76803 C 263.95998,384.0618 244.9124,373.07853 244.9124,373.07853" 98.438 + id="path6066-9-4" 98.439 + sodipodi:nodetypes="cc" /> 98.440 + <rect 98.441 + y="231.42043" 98.442 + x="157.23335" 98.443 + height="194.79402" 98.444 + width="457.79532" 98.445 + id="rect18326-3" 98.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" /> 98.447 + <path 98.448 + sodipodi:nodetypes="cc" 98.449 + id="path3602" 98.450 + d="m 261.4119,372.41344 c 26.46687,13.70623 46.02474,24.6895 46.02474,24.6895" 98.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)" /> 98.452 + <g 98.453 + id="g3232" 98.454 + transform="translate(0,-1.1337509)"> 98.455 + <rect 98.456 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 98.457 + id="rect3614" 98.458 + width="131.25447" 98.459 + height="68.687347" 98.460 + x="352.18222" 98.461 + y="309.504" /> 98.462 + <text 98.463 + sodipodi:linespacing="100%" 98.464 + id="text3639" 98.465 + y="318.80692" 98.466 + x="417.67981" 98.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" 98.468 + xml:space="preserve"><tspan 98.469 + y="318.80692" 98.470 + x="417.67981" 98.471 + sodipodi:role="line" 98.472 + id="tspan3641" 98.473 + style="font-size:9px;text-align:center;text-anchor:middle">Physical-Core Controller</tspan><tspan 98.474 + id="tspan3661" 98.475 + y="327.80692" 98.476 + x="417.67981" 98.477 + sodipodi:role="line" 98.478 + style="font-size:9px;text-align:center;text-anchor:middle">(pthread)</tspan></text> 98.479 + <g 98.480 + transform="translate(69.355022,-312.20049)" 98.481 + id="g3647"> 98.482 + <rect 98.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" 98.484 + id="rect3649" 98.485 + width="61.691765" 98.486 + height="16.01606" 98.487 + x="317.60855" 98.488 + y="667.70459" /> 98.489 + <text 98.490 + sodipodi:linespacing="100%" 98.491 + id="text3651" 98.492 + y="678.71558" 98.493 + x="347.65115" 98.494 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.495 + xml:space="preserve"><tspan 98.496 + y="678.71558" 98.497 + x="347.65115" 98.498 + sodipodi:role="line" 98.499 + id="tspan3653" 98.500 + style="font-size:9px;text-align:center;text-anchor:middle">core_loop</tspan></text> 98.501 + </g> 98.502 + </g> 98.503 + <path 98.504 + sodipodi:nodetypes="cc" 98.505 + id="path3655" 98.506 + d="M 318.49369,397.76803 C 357.52667,383.08168 386.37044,371.313 386.37044,371.313" 98.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)" /> 98.508 + <g 98.509 + id="g3242" 98.510 + transform="translate(0,-1.1337509)"> 98.511 + <rect 98.512 + y="309.504" 98.513 + x="532.18225" 98.514 + height="68.687347" 98.515 + width="78.674728" 98.516 + id="rect4725" 98.517 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 98.518 + <text 98.519 + xml:space="preserve" 98.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" 98.521 + x="571.67981" 98.522 + y="322.80692" 98.523 + id="text4727" 98.524 + sodipodi:linespacing="100%"><tspan 98.525 + style="font-size:9px;text-align:center;text-anchor:middle" 98.526 + sodipodi:role="line" 98.527 + x="571.67981" 98.528 + y="322.80692" 98.529 + id="tspan4731">slaveVP</tspan></text> 98.530 + <g 98.531 + transform="translate(230.36868,-317.52206)" 98.532 + id="g4733"> 98.533 + <rect 98.534 + y="673.02618" 98.535 + x="316.63855" 98.536 + height="16.01606" 98.537 + width="47.791374" 98.538 + id="rect4737" 98.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" /> 98.540 + <text 98.541 + xml:space="preserve" 98.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" 98.543 + x="340.63751" 98.544 + y="684.03717" 98.545 + id="text4739" 98.546 + sodipodi:linespacing="100%"><tspan 98.547 + style="font-size:9px;text-align:center;text-anchor:middle" 98.548 + id="tspan4741" 98.549 + sodipodi:role="line" 98.550 + x="340.63751" 98.551 + y="684.03717">top_VP_fn</tspan></text> 98.552 + </g> 98.553 + </g> 98.554 + <g 98.555 + id="g5001" 98.556 + transform="translate(-104.17459,-375.52206)"> 98.557 + <text 98.558 + sodipodi:linespacing="100%" 98.559 + id="text4834" 98.560 + y="619.79431" 98.561 + x="339.56277" 98.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" 98.563 + xml:space="preserve"><tspan 98.564 + y="619.79431" 98.565 + x="339.56277" 98.566 + sodipodi:role="line" 98.567 + id="tspan4836" 98.568 + style="font-size:9px;text-align:center;text-anchor:middle">Shared Parallelism-Semantic State</tspan><tspan 98.569 + id="tspan4838" 98.570 + y="628.79431" 98.571 + x="339.56277" 98.572 + sodipodi:role="line" 98.573 + style="font-size:9px;text-align:center;text-anchor:middle" /></text> 98.574 + <rect 98.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" 98.576 + id="rect4840" 98.577 + width="149.25206" 98.578 + height="12.695431" 98.579 + x="264.97189" 98.580 + y="610.18365" /> 98.581 + </g> 98.582 + <path 98.583 + sodipodi:nodetypes="cc" 98.584 + id="path4883" 98.585 + d="m 205.94834,249.27344 c -0.0417,34.47629 -0.0725,62.1034 -0.0725,62.1034" 98.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)" /> 98.587 + <path 98.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)" 98.589 + d="m 193.94834,311.61326 c -0.0417,-34.47628 -0.0725,-62.10333 -0.0725,-62.10333" 98.590 + id="path4885" 98.591 + sodipodi:nodetypes="cc" /> 98.592 + <path 98.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)" 98.594 + d="m 530.74391,361.79676 c -25.49902,0.002 -44.34169,0.004 -44.34169,0.004" 98.595 + id="path4902" 98.596 + sodipodi:nodetypes="cc" /> 98.597 + <path 98.598 + sodipodi:nodetypes="cc" 98.599 + id="path4904" 98.600 + d="m 485.57785,337.79676 c 25.49902,0.002 44.34169,0.004 44.34169,0.004" 98.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)" /> 98.602 + <text 98.603 + xml:space="preserve" 98.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" 98.605 + x="508.8573" 98.606 + y="335.07925" 98.607 + id="text4721-1" 98.608 + sodipodi:linespacing="100%"><tspan 98.609 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1" 98.610 + id="tspan4723-9" 98.611 + sodipodi:role="line" 98.612 + x="508.8573" 98.613 + y="335.07925">Switch VPs</tspan></text> 98.614 + <text 98.615 + sodipodi:linespacing="100%" 98.616 + id="text4931" 98.617 + y="359.07925" 98.618 + x="508.8573" 98.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" 98.620 + xml:space="preserve"><tspan 98.621 + y="359.07925" 98.622 + x="508.8573" 98.623 + sodipodi:role="line" 98.624 + id="tspan4933" 98.625 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text> 98.626 + <g 98.627 + id="g4969" 98.628 + transform="translate(-12.174591,-319.52206)"> 98.629 + <path 98.630 + id="path17769-7" 98.631 + d="m 288.45515,727.81832 c 41.78708,0 41.78708,0 41.78708,0" 98.632 + style="fill:none;stroke:#159415;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 98.633 + <text 98.634 + sodipodi:linespacing="100%" 98.635 + id="text17771-1" 98.636 + y="737.88684" 98.637 + x="288.42194" 98.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" 98.639 + xml:space="preserve"><tspan 98.640 + style="font-size:9px" 98.641 + y="737.88684" 98.642 + x="288.42194" 98.643 + id="tspan17773-1" 98.644 + sodipodi:role="line">schedSlot</tspan></text> 98.645 + <path 98.646 + style="fill:none;stroke:#159415;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 98.647 + d="m 348.45515,727.81832 c 41.78708,0 41.78708,0 41.78708,0" 98.648 + id="path17775-5" /> 98.649 + <text 98.650 + xml:space="preserve" 98.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" 98.652 + x="348.42194" 98.653 + y="737.88684" 98.654 + id="text17777-2" 98.655 + sodipodi:linespacing="100%"><tspan 98.656 + sodipodi:role="line" 98.657 + id="tspan17779-7" 98.658 + x="348.42194" 98.659 + y="737.88684" 98.660 + style="font-size:9px">schedSlot</tspan></text> 98.661 + <text 98.662 + xml:space="preserve" 98.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" 98.664 + x="286.49493" 98.665 + y="724.40527" 98.666 + id="text17771-1-8" 98.667 + sodipodi:linespacing="100%"><tspan 98.668 + sodipodi:role="line" 98.669 + id="tspan17773-1-6" 98.670 + x="286.49493" 98.671 + y="724.40527" 98.672 + style="font-size:9px">slaveVP ptr</tspan></text> 98.673 + </g> 98.674 + <rect 98.675 + y="262.49448" 98.676 + x="163.84431" 98.677 + height="161.39378" 98.678 + width="329.44443" 98.679 + id="rect4979" 98.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" /> 98.681 + <text 98.682 + xml:space="preserve" 98.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" 98.684 + x="396.57816" 98.685 + y="273.16141" 98.686 + id="text4981" 98.687 + sodipodi:linespacing="100%"><tspan 98.688 + style="font-size:9px;text-align:center;text-anchor:middle" 98.689 + id="tspan4983" 98.690 + sodipodi:role="line" 98.691 + x="396.57816" 98.692 + y="273.16141">Repeated for each physical core</tspan></text> 98.693 + <text 98.694 + xml:space="preserve" 98.695 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 98.696 + x="263.94568" 98.697 + y="390.80692" 98.698 + id="text3911" 98.699 + sodipodi:linespacing="100%"><tspan 98.700 + style="font-size:9px;text-align:center;text-anchor:middle" 98.701 + id="tspan3913" 98.702 + sodipodi:role="line" 98.703 + x="263.94568" 98.704 + y="390.80692">1</tspan></text> 98.705 + <g 98.706 + id="g3195"> 98.707 + <rect 98.708 + y="271.504" 98.709 + x="172.18222" 98.710 + height="105.5536" 98.711 + width="131.25447" 98.712 + id="rect17981-6" 98.713 + style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 98.714 + <g 98.715 + transform="translate(-104.75363,-307.52206)" 98.716 + id="g3590"> 98.717 + <g 98.718 + transform="translate(-109.01365,39.321571)" 98.719 + id="g18019-8"> 98.720 + <text 98.721 + xml:space="preserve" 98.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" 98.723 + x="419.38776" 98.724 + y="590.22229" 98.725 + id="text17967-5" 98.726 + sodipodi:linespacing="100%"><tspan 98.727 + style="font-size:9px;text-align:center;text-anchor:middle" 98.728 + id="tspan17969-7" 98.729 + sodipodi:role="line" 98.730 + x="419.38776" 98.731 + y="590.22229">comm_</tspan><tspan 98.732 + style="font-size:9px;text-align:center;text-anchor:middle" 98.733 + sodipodi:role="line" 98.734 + x="419.38776" 98.735 + y="599.22229" 98.736 + id="tspan17971-6">handler_fn</tspan></text> 98.737 + <rect 98.738 + y="580.86206" 98.739 + x="395.11298" 98.740 + height="22.365267" 98.741 + width="48.927513" 98.742 + id="rect17973-1" 98.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" /> 98.744 + </g> 98.745 + <g 98.746 + id="g3604" 98.747 + transform="translate(-45.01365,39.321571)"> 98.748 + <text 98.749 + sodipodi:linespacing="100%" 98.750 + id="text3606" 98.751 + y="590.22229" 98.752 + x="419.38776" 98.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" 98.754 + xml:space="preserve"><tspan 98.755 + y="590.22229" 98.756 + x="419.38776" 98.757 + sodipodi:role="line" 98.758 + id="tspan3608" 98.759 + style="font-size:9px;text-align:center;text-anchor:middle">scheduler_</tspan><tspan 98.760 + id="tspan3610" 98.761 + y="599.22229" 98.762 + x="419.38776" 98.763 + sodipodi:role="line" 98.764 + style="font-size:9px;text-align:center;text-anchor:middle">fn</tspan></text> 98.765 + <rect 98.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" 98.767 + id="rect3612" 98.768 + width="48.927513" 98.769 + height="22.365267" 98.770 + x="395.11298" 98.771 + y="580.86206" /> 98.772 + </g> 98.773 + </g> 98.774 + <text 98.775 + xml:space="preserve" 98.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" 98.777 + x="237.94568" 98.778 + y="280.80692" 98.779 + id="text17977-3-5" 98.780 + sodipodi:linespacing="100%"><tspan 98.781 + style="font-size:9px;text-align:center;text-anchor:middle" 98.782 + id="tspan17979-3-4" 98.783 + sodipodi:role="line" 98.784 + x="237.94568" 98.785 + y="280.80692">localMasterVP</tspan></text> 98.786 + <g 98.787 + transform="translate(-103.63132,-319.52206)" 98.788 + id="g3580"> 98.789 + <path 98.790 + sodipodi:nodetypes="cc" 98.791 + id="path18292-2" 98.792 + d="m 317.62527,671.29009 c -5.09448,-8.49068 -8.85909,-15.29455 -8.85909,-15.29455" 98.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)" /> 98.794 + <g 98.795 + transform="translate(-7.0136518,5.3215684)" 98.796 + id="g17983-3"> 98.797 + <rect 98.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" 98.799 + id="rect17975-2" 98.800 + width="61.691765" 98.801 + height="16.01606" 98.802 + x="317.60855" 98.803 + y="667.70459" /> 98.804 + <text 98.805 + sodipodi:linespacing="100%" 98.806 + id="text17977-2" 98.807 + y="678.71558" 98.808 + x="347.65115" 98.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" 98.810 + xml:space="preserve"><tspan 98.811 + y="678.71558" 98.812 + x="347.65115" 98.813 + sodipodi:role="line" 98.814 + id="tspan17979-1" 98.815 + style="font-size:9px;text-align:center;text-anchor:middle">master_loop</tspan></text> 98.816 + </g> 98.817 + <path 98.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)" 98.819 + d="m 374.32675,655.55365 c -5.09448,8.49068 -8.85909,15.29455 -8.85909,15.29455" 98.820 + id="path3578" 98.821 + sodipodi:nodetypes="cc" /> 98.822 + </g> 98.823 + <text 98.824 + xml:space="preserve" 98.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" 98.826 + x="269.62048" 98.827 + y="298.02182" 98.828 + id="text4821" 98.829 + sodipodi:linespacing="100%"><tspan 98.830 + style="font-size:9px;text-align:center;text-anchor:middle" 98.831 + id="tspan4823" 98.832 + sodipodi:role="line" 98.833 + x="269.62048" 98.834 + y="298.02182">readyQ</tspan><tspan 98.835 + style="font-size:9px;text-align:center;text-anchor:middle" 98.836 + sodipodi:role="line" 98.837 + x="269.62048" 98.838 + y="307.02182" 98.839 + id="tspan4825" /></text> 98.840 + <rect 98.841 + y="288.66159" 98.842 + x="245.3457" 98.843 + height="12.695431" 98.844 + width="48.927513" 98.845 + id="rect4827" 98.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" /> 98.847 + <path 98.848 + sodipodi:nodetypes="cc" 98.849 + id="path3576-2" 98.850 + d="m 227.16268,311.46504 c 9.78768,-7.86986 17.02037,-14.17623 17.02037,-14.17623" 98.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)" /> 98.852 + <path 98.853 + sodipodi:nodetypes="cc" 98.854 + id="path3576-3" 98.855 + d="m 271.94834,302.4222 c -0.0417,4.62441 -0.0725,8.33012 -0.0725,8.33012" 98.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)" /> 98.857 + <text 98.858 + xml:space="preserve" 98.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" 98.860 + x="201.94568" 98.861 + y="348.80692" 98.862 + id="text3915" 98.863 + sodipodi:linespacing="100%"><tspan 98.864 + style="font-size:9px;text-align:center;text-anchor:middle" 98.865 + id="tspan3917" 98.866 + sodipodi:role="line" 98.867 + x="201.94568" 98.868 + y="348.80692">2</tspan></text> 98.869 + <text 98.870 + sodipodi:linespacing="100%" 98.871 + id="text3919" 98.872 + y="294.80692" 98.873 + x="199.94568" 98.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" 98.875 + xml:space="preserve"><tspan 98.876 + y="294.80692" 98.877 + x="199.94568" 98.878 + sodipodi:role="line" 98.879 + id="tspan3921" 98.880 + style="font-size:9px;text-align:center;text-anchor:middle">3</tspan></text> 98.881 + <text 98.882 + xml:space="preserve" 98.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" 98.884 + x="231.94568" 98.885 + y="302.80692" 98.886 + id="text3923" 98.887 + sodipodi:linespacing="100%"><tspan 98.888 + style="font-size:9px;text-align:center;text-anchor:middle" 98.889 + id="tspan3925" 98.890 + sodipodi:role="line" 98.891 + x="231.94568" 98.892 + y="302.80692">4</tspan></text> 98.893 + <text 98.894 + xml:space="preserve" 98.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" 98.896 + x="261.94568" 98.897 + y="344.80692" 98.898 + id="text3931" 98.899 + sodipodi:linespacing="100%"><tspan 98.900 + style="font-size:9px;text-align:center;text-anchor:middle" 98.901 + id="tspan3933" 98.902 + sodipodi:role="line" 98.903 + x="261.94568" 98.904 + y="344.80692">5</tspan></text> 98.905 + </g> 98.906 + <text 98.907 + xml:space="preserve" 98.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" 98.909 + x="297.94568" 98.910 + y="390.80692" 98.911 + id="text3935" 98.912 + sodipodi:linespacing="100%"><tspan 98.913 + style="font-size:9px;text-align:center;text-anchor:middle" 98.914 + id="tspan3937" 98.915 + sodipodi:role="line" 98.916 + x="297.94568" 98.917 + y="390.80692">6</tspan></text> 98.918 + <text 98.919 + sodipodi:linespacing="100%" 98.920 + id="text3939" 98.921 + y="390.80692" 98.922 + x="355.94568" 98.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" 98.924 + xml:space="preserve"><tspan 98.925 + y="390.80692" 98.926 + x="355.94568" 98.927 + sodipodi:role="line" 98.928 + id="tspan3941" 98.929 + style="font-size:9px;text-align:center;text-anchor:middle">8</tspan></text> 98.930 + <text 98.931 + xml:space="preserve" 98.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" 98.933 + x="503.94568" 98.934 + y="326.80692" 98.935 + id="text3951" 98.936 + sodipodi:linespacing="100%"><tspan 98.937 + style="font-size:9px;text-align:center;text-anchor:middle" 98.938 + id="tspan3953" 98.939 + sodipodi:role="line" 98.940 + x="503.94568" 98.941 + y="326.80692">9</tspan></text> 98.942 + <text 98.943 + sodipodi:linespacing="100%" 98.944 + id="text3955" 98.945 + y="350.80692" 98.946 + x="503.94568" 98.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" 98.948 + xml:space="preserve"><tspan 98.949 + y="350.80692" 98.950 + x="503.94568" 98.951 + sodipodi:role="line" 98.952 + id="tspan3957" 98.953 + style="font-size:9px;text-align:center;text-anchor:middle">10</tspan></text> 98.954 + <path 98.955 + sodipodi:nodetypes="cc" 98.956 + id="path3175" 98.957 + d="m 350.74391,361.79676 c -25.49902,0.002 -44.34169,0.004 -44.34169,0.004" 98.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)" /> 98.959 + <path 98.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)" 98.961 + d="m 305.57785,337.79676 c 25.49902,0.002 44.34169,0.004 44.34169,0.004" 98.962 + id="path3177" 98.963 + sodipodi:nodetypes="cc" /> 98.964 + <text 98.965 + sodipodi:linespacing="100%" 98.966 + id="text3179" 98.967 + y="335.07925" 98.968 + x="328.8573" 98.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" 98.970 + xml:space="preserve"><tspan 98.971 + y="335.07925" 98.972 + x="328.8573" 98.973 + sodipodi:role="line" 98.974 + id="tspan3181" 98.975 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text> 98.976 + <text 98.977 + xml:space="preserve" 98.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" 98.979 + x="328.8573" 98.980 + y="359.07925" 98.981 + id="text3183" 98.982 + sodipodi:linespacing="100%"><tspan 98.983 + style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1" 98.984 + id="tspan3185" 98.985 + sodipodi:role="line" 98.986 + x="328.8573" 98.987 + y="359.07925">Switch VPs</tspan></text> 98.988 + <text 98.989 + sodipodi:linespacing="100%" 98.990 + id="text3187" 98.991 + y="326.80692" 98.992 + x="323.94568" 98.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" 98.994 + xml:space="preserve"><tspan 98.995 + y="326.80692" 98.996 + x="323.94568" 98.997 + sodipodi:role="line" 98.998 + id="tspan3189" 98.999 + style="font-size:9px;text-align:center;text-anchor:middle">7</tspan></text> 98.1000 + <text 98.1001 + xml:space="preserve" 98.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" 98.1003 + x="323.94568" 98.1004 + y="350.80692" 98.1005 + id="text3191" 98.1006 + sodipodi:linespacing="100%"><tspan 98.1007 + style="font-size:9px;text-align:center;text-anchor:middle" 98.1008 + id="tspan3193" 98.1009 + sodipodi:role="line" 98.1010 + x="323.94568" 98.1011 + y="350.80692">11</tspan></text> 98.1012 + <text 98.1013 + sodipodi:linespacing="100%" 98.1014 + id="text3494" 98.1015 + y="404.80692" 98.1016 + x="243.94568" 98.1017 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1018 + xml:space="preserve"><tspan 98.1019 + y="404.80692" 98.1020 + x="243.94568" 98.1021 + sodipodi:role="line" 98.1022 + id="tspan3496" 98.1023 + style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique">(Animated)</tspan></text> 98.1024 + <text 98.1025 + xml:space="preserve" 98.1026 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1027 + x="331.94568" 98.1028 + y="242.80692" 98.1029 + id="text3498" 98.1030 + sodipodi:linespacing="100%"><tspan 98.1031 + style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique" 98.1032 + id="tspan3500" 98.1033 + sodipodi:role="line" 98.1034 + x="331.94568" 98.1035 + y="242.80692">(Blocked)</tspan></text> 98.1036 + <text 98.1037 + sodipodi:linespacing="100%" 98.1038 + id="text3502" 98.1039 + y="296.80692" 98.1040 + x="323.94568" 98.1041 + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.1042 + xml:space="preserve"><tspan 98.1043 + y="296.80692" 98.1044 + x="323.94568" 98.1045 + sodipodi:role="line" 98.1046 + id="tspan3504" 98.1047 + style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique">(Ready)</tspan></text> 98.1048 + </g> 98.1049 +</svg>
99.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 99.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/VMS-core__plugins.eps Sun Mar 11 09:26:44 2012 -0700 99.3 @@ -0,0 +1,365 @@ 99.4 +%!PS-Adobe-3.0 EPSF-3.0 99.5 +%%Creator: cairo 1.8.6 (http://cairographics.org) 99.6 +%%CreationDate: Sun Oct 17 19:38:15 2010 99.7 +%%Pages: 1 99.8 +%%BoundingBox: 0 0 116 67 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 +%%Page: 1 1 99.70 +%%BeginPageSetup 99.71 +%%PageBoundingBox: 0 0 116 67 99.72 +%%EndPageSetup 99.73 +q 99.74 +Q q 99.75 +q 0 0 117 67 rectclip 99.76 +% Fallback Image: x=0, y=0, w=116, h=65 res=300dpi size=399300 99.77 +[ 0.24 0 0 0.24 0 0.327072 ] concat 99.78 +/DeviceRGB setcolorspace 99.79 +8 dict dup begin 99.80 + /ImageType 1 def 99.81 + /Width 484 def 99.82 + /Height 275 def 99.83 + /BitsPerComponent 8 def 99.84 + /Decode [ 0 1 0 1 0 1 ] def 99.85 + /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 99.86 + /ImageMatrix [ 1 0 0 -1 0 275 ] def 99.87 +end 99.88 +image 99.89 +J3I@:BHu(:pOk^R:T.dk*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 99.90 + C^cenm@9:1mM9jS"!dTMT(d8$g?t7s\'HOJg#PSPQ1`C/m<k<ioH)<bk^Hj`\=EYZP^B4!g 99.91 + 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^Hf#!Qo!:QLNm9ApfKo@"^St*EZ$@h7Iu_ 99.92 + dAb*B(hHM_+c/A3_/KTg;O43>N3c+5)[@l+5FLs\BULUaal`3%:<o887eo3Me/cP3]=PdZ! 99.93 + go`"\NO%+%3I?d9;j#,$np4Qs03bd8X)RpL$EoAk_=@@arU18[WS6S6H@0(,e%b2Fq7f.4D 99.94 + ^FtK.-a-^`ir&L%0OEX9GI`IODGpB_@VYP$,Ve*/ITH-bVY3W/8C>o*cVOQKd#X?9bX/(9N 99.95 + ;hHOZZn_7?NO1(WM6kAK/XoKPq^J0sl-?a0F-D'h>PLB,o"@,_I111+\T;ajP!l-d!&iT.% 99.96 + e/>a[.cdZeMs92bu*/kbcJV__#PoP$$N1M#)o:%M?)+j1Opk9%o(KO6Z6F4AYo:,E+N3D]7 99.97 + S$Tq2Sh"*j$'D3;6:imCW5#QKF,=>9a`@jVR['[;:;RD-F8Q#.+Ki:rn"\Vipojq&s7-Kf$ 99.98 + _Sb_TSJ.XGc#m=DQ0j!,fG4pM@G$ktNFUWW9pK;CQ>N1*g(o[EC"elTX_ZZ,c*_ECQL2A(g 99.99 + _UF=ESQm4c#_\W:"=CB22WBi.$5D:LW)d^m<d_,c1QMBQgOa$i"uq-J`)nJ%>3UV:)/KAQu 99.100 + 3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOlVo_9p=ZV20BS3MB`J*?BIu]RHBp?D4B]+c?5 99.101 + ]@RI5KqkSaqbU$.ptNMGKY>YUNWW&A%=?FiV&WToqTXfLb+cF'e?RdRkmll-E@V&u.7m?bb 99.102 + [L1RW,Rr7&kmMh2J\aGrimCVg)-HTDpW&bNXT=`DQ_=3sJ%E%]U:DLk=Rg/S?A_M=UIHiq5 99.103 + /^*`*cS`u=SF8VekhLIRaI]tm.CJdg:K>s<SSqfcp)T12d<(p<.t3UdaN`Q8SaV!ap`9s!@ 99.104 + !J'lalE/&:R1%2IVq&SqAs"?l1^&^2HP5HVmYHE541ShO^?qahNOQa4?*3\+4ONnR+^6grE 99.105 + kB*k*pgLU\T:d[PdCdhoE)F+9NYtE"2h18'32$46_:!8bNO9h#&:!e/D.XNPR?G"C@kl*Nr 99.106 + c8_2"3S"2k7kOEoeM0dar7"=/4fnY%j0i4MRd[WMuM*^`a)%H55cLJ[C[6eHc4U')3_E;Cb 99.107 + H=H"rn6Q6`E/gEd:SIQ'!n7-Eh-cK26$Y%!pL7n)f7G)VrUB;P<nW#7l;%FPsf\qfeQ8S^K 99.108 + O>,Zn9T?<'.)e.H*9*n<O%adEa4TnqirE8A;3F/^fZkZ#9P]`p4Bb;,2^:beMi$u&E5uAV, 99.109 + bci9"4?[(8Vhd:6<bLp;L0EO#[4B6@utE-Q-$X\q%i';:5AsT+Uol1&L2[C'XHR;7ohJ^-0 99.110 + .(E!4FIHBnHm@%"eTP*ZR^r&iaK63gVC4--Nio'F[[$Rdt2g"M(]k=R9OcF%0dsW@9^``/p 99.111 + ,P2KV<3.5n&^ggdXACWZrP*i?TI@Y9,Y$b?4#kP?>CCaIe-\7FN!r32`ri`XH.(GsdgeY.$ 99.112 + ZN6DTr0]jokRPTMT:+<A,=Nos!ZpBXJ.GI9.`>4j4ac9.h2]-09KUJ'UN)D+P3geEYTl[qT 99.113 + a*H\dkFA*2PM(u=3MSd*S;2mH>(TA$QR\IdP$W"*KJ2U*0VZarX&X&?<SG,flNL^3eLDWi` 99.114 + Xq@'l[BoC!J"0pECMGnENW<e\lW)&?0f17LR"9[er%pBlYOSA',%r[>7G$-7>\9M/[3j*G@ 99.115 + )1E"fa>`WOdDV%4i64X#;`Y=kc)Pm002j9KL3]X!#5pPA%8-\UE&mDd4k7Z*m]Yg07cu<p_ 99.116 + Fu[-`mO&'/(iC]t-O2SRGjH]<%57EN)A0#knWQN\m&]sm=M[Tk:>@.%UZ]2rn<?/*$5D9Ou 99.117 + KC_"tF/#u[Q(]^u\IeI+&h0\UEhRkQ!nZXOeAM636](TmU?Q8rnn-/p/<YkL]$gPNCo6n,- 99.118 + UA`k?qge0j&].XG$9<JAJ_1/50oc14=<&9+XtCI-=H=)(>YN^f^!Nskos7i&o"P=A0b4!)) 99.119 + @67XM=JK<'3OZB0d36OiP=-f=Q^l=<uHlbPt`@KV:!Y(>7C'\;0)c5.RT/D1`1[''2[Unjk 99.120 + Q]!o)j-W)(R%$#\0(b^1#8])BIq:*tH5$EH.CO5%e-PSaU7\cU2n?BAE>kZQ^a-A.o.0N== 99.121 + VlZo_]a#].D_S"nb6NsWBJ6g7j8IIo.XdnPX.l.CELfLW<t;YFq:=FI(>7O?M$UK$O0]r6X 99.122 + L50_:r.L(]WUGHFDe_9HtlFU,^2<M_h)8o!4Adg_D6q5@opKYV\KsU6.)Qd,VBPge$'D96E 99.123 + e"[s/Cdo)'o%&tZHIj`c[NDsO-B?LLCJZ\[4MkQfYg/s5+)FZq_Y#tcfm;7.j1VS0g7H%4S 99.124 + -+@!8>Ec'S2qA^/V3@S&IpX]"3ULu3U&,W3`n<NN4[>`me.$i,K>o&X:ouBr\Y9FLBZd;T- 99.125 + `"bRq20;/*9Nh7W6[3^EL?(?r6<;m[/,h([!uF>j6e.YtlE%2]\(jdH7_gscEJaU#RIs 99.126 + U'^p*9.lV)qB_nDDX+kG=RH!VNY^:W$<)ZT/ok==pRJ3W%RbMnWHAZu[-%QZOed@D5]FU`H 99.127 + 1]0&4>h,/R=*[d`U,Z<IG(L$R`mCiARO_/RBJ\qt-jLiADkYU82EHl]U=6<\AIN'CsY3Ng1 99.128 + Rg8>"kDjf#SAk:Vn1d$LShPV5%XCjQi>o\WqqicZ.Y]SA55X=ns)0eX;#g7f&Uejf>!MrW3 99.129 + nql&fWWRrk9En?qQ(dCG>,Zdq5cXQr@/k1s,6^+5?P5KU\6C5&AGmIfTN;i7)OKs^&NEbms 99.130 + HeS`F],J.!!a3:1=aB@*^`cjs:#(o'nBf!N&?b93>OfNZHIq!i$5H0HBX:l2V?l?Orn*%7F 99.131 + OkieHmXs.BAdL%<WPNf^Cha6rBS:)<Q#%093pTkJQ:cX-c.FCWRk*hsY3Ab*7Q5f)r5j__G 99.132 + ]DfT3'DUtZQ$#HPIY+"_YZ<se9QKAU50VXAa;IFHX$]o0)&=E2gD[<Sg@k`6"n:J>(f*neg 99.133 + $RfunjmrU_!<<CF#po65/@bT=nH3YOdI!8)7JR=g"R[hQ"lKCVOMlo$)%]7t&WkZ>c*e2r, 99.134 + nb2E*DnB7-Hc*6bkPuGLN(iWmB$BH!>#f)fdLtScNmls2ZooEoM;:.7M-6P&HpEF?dWCkcq 99.135 + P6%6Pf2Wngqel/mAuA?MI=I]$WXY0m_OcDZn.$$ml&U-1Me6!q58')@sp;L(t0=D\fU%)Ng 99.136 + 3]Oab8hK$\>ZfBgqnYgjU'^=CRp)6f^e9g"38lsK8kU626YEUO*O]c(R/n\tkUW-%sb)]s( 99.137 + NplWG!/#;a:JCTd@LJ^8YX]#S*D\\!*i95M(7K4&s`<=HK'SYu7m&q+!OC+r\f!,/N0+'Eg 99.138 + >_b&(?a*5P;>eT+#6#'$LTQCT`Uo=QjNbaQ+#4tsOq+l1JJ`Ac(p"Sln;/O[;%EqN->!DAn 99.139 + lfF!QiI[&%Z,fe`UPEkfdd7!,"SaYL%cIA$O^qea0LsQbFGZ8<?Vs+`NkC'0[dl0+"Ze0,> 99.140 + QZpOH,(ck$TsH"-Htu'(V$`[16*Z/1g)N%N&TY[#))_?df:>Y!g>"]a$=Vo+HYaP1h'Od_? 99.141 + ARQ1<<P1FgcA:tZD_p1S@h"p5t[%akOUP*/l/N9]WS8De6a!=mW"mDAB*:>K`1+@ZdbP7KT 99.142 + [Rb3es?k),F;T&PEk319AkAgkc0!-npaXD3h#P1"t''1-4T^kuD4*/'JPGGq@L3Bj?..SB? 99.143 + ;nkIOeNI[74=h(,Cn2Qi4Xh&t5-sW?lG5X-1HlEf5#N<2'Ce=E"[H]d5=PSBKDtGjb7h5.1 99.144 + _^6^oH?OK"[L'*!Y'Ze6%)*D<C:jf(Gn9A<'`o/6uFh0?aMC)oLD>,<CLN^`k`\t1grj1@N 99.145 + )Uf','+WP)VnpF[pOuF&73Ee8n-eKh-<AD_t6\[#mp:P\mdg8T^LpoUt+uq&#:R8i3YBoW\ 99.146 + )[a!"*T3qTaOoYF3J3D$Ts9XN&<jrmE_d7n`99sbF'Eo04Uh+i(V9[nO/P_*eoUB7gu:UL' 99.147 + ro`7lH"]0=J:pga/oat%Y'iB)k;7.EAoc[3j,uSk7;RJ)SoeBB&-8D@o!qeELog)P779"D$ 99.148 + <4,G"ohe^H<E4/UIn)X1oG2?0N=5Dn<jcdFol4%jF]W^2=0TE9L%:URI9:WK=LF,jooWB7P 99.149 + ujuIF0sIu8b#r+V-8#@>.(J9os%T^csN&l>;a)uotalj`E[PF=f48_jn9R7e=[-H%L/t7Fi 99.150 + drIj^*)o?FB-T[=DU!]3b1+?a]i>p&S6;b]@k;bg=^D&;;`KV-XFL`g.WRp*!m'-";$H@^[ 99.151 + jtp+^&82.LeiA%"O1p-E4I7:^R5A@>3Cp/,BZ<Fp=r$T;7Fead&>p4mfoB!uPgp2O_'F_>l 99.152 + CB=<5$p46l'<eiR<8(&&:1]%Fn&MrRW@=S?9FR$Y\pkJKO?Ii`)etTrX/;KOKCOoi.i2^ZP 99.153 + `GAJb4nCHXP]9<lmpS$!Bbm7S(:(^kV>qC3+82lDG2g:Q[YK%;CNN0UQ-`l=fg41*=t"H0( 99.154 + @o0tkAI`s@94)R[e>JWqJ0.2?ZfdAe'1,^Z#/]?EVC0089o32Ys+L:^%WabL]VBo.UQ0CX` 99.155 + V6/2bA(7%#5W2FK=)7FgbY$)f<'#\X-'H(FI*6d][]C-s"YVQSCdm1hubE#FBbM[r@HE\TD 99.156 + p4H0a.-k\k\mZ#sXLE&V3OVR(QWXLn5$?ak5uQc?QpYQ,KHCA55F$RJHQo5I`uHoGYlpM51 99.157 + -Z[B6Z"h.uk9='%jg8oLQZ1j/4"A^#'%rHOVG!J0FGOp=mQ%,-CHC'tM99k$/;RrJ2\a5Ls 99.158 + %*LgmQ%>.*I0Pa[=>7:Q-sp'%Kf=E:f"$EF_0tG6He+O:[[Va>T6%MJJp0J8G=@#5_2#(RK 99.159 + 1J@P=:2Ff%m"oqKNDN8p\np[;2C-kKlr$"bP@$_MhW#CL.8q4L$a#m7UF[OLH$?1=<i_sB8 99.160 + Y74M\`RW95fX+fo,t3L;iR#\F@hgp`+PSN7];/R,GE_fk+@BD]&Vb\E/Pa4"XQ!**>Pi'k2 99.161 + (5Vi^4UOERaf[iLWi4-:l,keN%=q*C5G]p*VU'3<RW7d#q[1pgC;DV6agR9$S<3Eapo@+c` 99.162 + A\Q+qG5F&`_QV0c5FjEf#:IPKPQT9H"R<b(m9pk5WQkg!q=;Gd7NL>\>R5fnPq5KZ^\T1fc 99.163 + RJ<87(R&#>cZ&[\Rk#AFfV=t[':IF2D"F]'(=ejUFc@`)-e[!]q9b"Dn""a5FVp0>o;JkgD 99.164 + j\)uS>M@=g%K$Go:$X2Y8Pu63:3;?a**m[B\F&lVGX%3Z_JD-T=9B@\_E8=WKd\LRV%>LqD 99.165 + `#s23%H2U"VYV3^KJXCI)+@P$/6=`i#XO>%Cf<OP4l\g)b;N$`9<2DAl2^>'6b*5Gu%JWCj 99.166 + e$-SM2TNMbj;W@I8c':PuuYqegLWL71ob."AU/ZM*.XKa2e5s)2.rJ_^FBY(<)o5M`i%,?e 99.167 + c?.&;"/k7n[AL6qm'3<7`Bdi2rL=/ePb4<5*V<t)kmbA`B2c<c#NQT_I-*T!<Y\bJd]*oSh 99.168 + OT[BC0f!q/P&/E)lt\YqR<lZL>/YEi0;uD(IbH0!)V^jiSmm`ji@*F>dn(pj`6PM=&BLKE- 99.169 + 2TRa$J)Z/Z!1gI)f"Fc+#O6-\4HY0P#3s^CUWUP\-A#$]2#MU;K8)CM>0Z5-E3s+K<=]"l: 99.170 + E]B&Y=ciI#P:+?PAT`'.4_0h72S8,YfjIL'bQWk37mAl.WX^]<Sstj1Ap)`ZZr;>S4e7&fV 99.171 + f.Pd\u.+oes[*KU&9C0SbdcW8Ihgsi1j&:o0>d^^H[U(NOd_oR82!WOZI[c):(iq!rs/X\/ 99.172 + rCgg0Y__0ZlY2@.P5n?E]`BXFmHZKmpe&CmIa,T`7W-u_s0dS"%\L;g<VM2fJ"KX]kC:NN. 99.173 + >U=ZaWM_iA@Znf?P.^^?A,mQ<?dfh87Ib&=6=81D*Pg&-)s%ht\mHGl"hQY$@/++Le]>`4c 99.174 + )>P8[nb@Tra5AS`>kY.k]M\C_9.)AV>&Z?2Z8I_Fbt1YS+l$94<oEi[C,dR_PWI4ju4(Om; 99.175 + ?pI%")d7H]9e82%cBXc6<2t>h3;'qoo>'b$>jbgo>+ZYGQK,]@b6S=Ja2g/^@r^s'\^<8;Y 99.176 + &D9tl$U)Eir$I,Wb+jk7=XaA.`J*Eh(cD'4s0!Bmf&SScsC\^r1+f6P-,H&7Crp"2DfSsiI 99.177 + 0jrFV(C6Dkf&P_f*nO;"Tq'pf,!I`oK*OX`uD!?;hfWS#qL&p1pH.g__C7W8t>>`f##KkjJ 99.178 + ]Nlt&g-nb"e%>S1?2]K+rVkR?8sc+70YNn)`U>>&n\q#N,OLW6h=Mff>M;imjD_4Zr9j&\= 99.179 + il&FjrF1tP8i)d&;NC`j1ZXZ4ihADc/Ug>5(8H*Hc4Y;6=@7b!)1#OIV%8?BAVFg^SrsF^& 99.180 + crWFmMEolEL6PqkMZT\6p;4NP<6Y#.`^lNclJ,Bc`T%g#$r(kBm%Cl5i0_rha(mSLbgT`dO 99.181 + WLIAc0IpW3^(n=?90rlOYMs/uA9?eg$cruJf%JqlFTE*hYoB3jr&O7)OlGoKo=*^/>kA)7. 99.182 + *c2RkF*jt\<'AH)-faT4_S,`&>J&@!GI=B`-h\5.,!VX8dLYm#/^N*]Q(E8,;oD_'uT1!AM 99.183 + 8OiV$b<=OqR]H-de+L&<qjn\r^BsrF!R*+[d@RRN4SQiWoD$(Sp4'dFs+/'/Ckh??r8,k1F 99.184 + &^<>P&ERUq<(^"%gW^J#mGpP+V4?I/f>+R6fJ[pPYNYBKd#IfB[]R6(5KZ#&'5LE8G861AJ 99.185 + .MNmTBFS70f"nci@9-O%ndNRE0]"1RO4N<#QJ5B*G!JO-H'',l$>r6sVYcKhWFbU;7sJ#c1 99.186 + c,7t9,7K\I3d]fB$El\jLs7]+Nh>O.MeKeeudV`8E+.]$=P=g6Q=<`lZN$!aL*)`X4]h[$N 99.187 + b@'UXe?/E+/6c<T2fq)h&S^1s@)BBTS8YsmMobsB$HF$k0*]89]Am2_bBi(T9knEUY]p!Bk 99.188 + d]$aE>lBNmGl\sf/9f@lBkN"]oZ*Sq\Fo_788]`[g$a)99A83.]jQ]K0(?Hq+5)F\T0+jnM 99.189 + l4>BYnMN3ro_o/1\eWJ]@)BrDef'".?F<T\j*@f2$Z1E"":4Ubee,>VU0r?"ea225l&+WoG 99.190 + gRX9T%PU]8H15pF>XD%`Y^!b[VM[EMR@NTPD)G)`3PKY1klA$:^2Skt4M*\?XgukdkL3P+= 99.191 + n%Jg0n*nq%;_0sA_E/>t>X*j_+%X0BX=d57Nn^Mb;D.Ej1cY/8F3PeT+/1E%bp:1tm?[`QZ 99.192 + 3,bi/3K/3mhZf6$`UJ,Gh4.t#j4L^:U/G?nJ81YCD_fDjE6IU&<4&7`=aqIQ+&aG8rW%H29 99.193 + PrIqnlJX%gI7D^XB[VB55SM&>`Mq@]Y,4k]&fC,cnKbM%-rT=T0A)K2`@o19CZeA6Pd2XJf 99.194 + kZ0rVGX:/P)(a`lAK#Np'MUEgFDJ?Cf2$^RqK!,MPFm9(9/X]Z+$/0EKp*\DOaMESH+Gl8C 99.195 + KSK<sU>Ecp$mGDOJF:JnDpKl;_mni:t;JNAK)dM]H;Aaa]E_q'JatSG>R'h+1&T=X'\bK8k 99.196 + sKoqDn"ApMC:cf:rU+.ZI.iX)5im]HPL?q>GHK4*B__apeDKZbl3kdHG&/(6foKd+hMd^;O 99.197 + M@dbbFOR@t3D"u#%K4FdG<E/(FD-D;SE]mp@W*-,.S*p19qM&5/oOksY/FKTkkm20kK'A]K 99.198 + Z@_'MS/dsN#d"T2hl4j9RHt3=kAG70#=D8R83KDh1`L`8Q#8U2l^;kYT(7JOI>;Re9Dn_sp 99.199 + *P+CCnUM5@YN!6.i3WNWQ_@s$F<hc0sb;Ef/T:;?0XSt,@#hCAgk<gN2$+)#K#!_LaLgF./ 99.200 + ckA,$!&LA+QCbO9+'`s.XY:;<r.rJ(j3TY:mXg,lPo5q&i'cr[%mJ=l9<IE5W@,&B>JN*+M 99.201 + 3Zld3&((:p4K+ZVu&`13OmY.[AIK7S!-'+id:!$=$F,-RgdO(DLqc6IL\n&>+>aDaJ4b.2i 99.202 + &jF>(SnIK(!ep.NqjX:foo2HrIKEN0d]qs(A>:U1FcZM*,Z`_6fS(f'dQ*[Z8#mXRp<Hf_m 99.203 + .E3Pg@GqeX9<4V,2)-p_@f_U!V%ghe<ndsi>XKb#"Pt*XJ8ek31Ni3:SuYeh+!Ja/N<t9U^ 99.204 + Sl,s&2J<hn.nGCZ,6'*]L[=-/a#$Gk80d"76or]3?s9c?jJRg.1t+i+,/E;'9_(6c(597eF 99.205 + _5rRIc>lnM@?SW;#9#Xt&dD4!sU;/k1J,O%u-:OQTM[8'HOG9Ys+]#]1btHp`p72161(J5b 99.206 + U`&Y$($=pN0d?7-[lP`,ekYW.goU0DJZA.hoT=_=EM#rlqH[0Jk)K_MA=I$(^#)ik'21785 99.207 + >=#"BDQ'\/H80jq&;5SCN(oFU2m1LPe@@U$?@62J?/nM5h)'k"'2H"B9V3JET,A7tq+F+?H 99.208 + ,goJtGBiXK[1QN:iXCoY_ZaMS$u/0F.F[ob0FM;f3sn//UmZ*d$p?s.-\dH)65:_@\`&$,[ 99.209 + U+IiSp8G9O/R'VLK&j^Qfu[!/[Y'3a_#0V.=EIQca%=aLZqF1I=&/_o[M>.AjWJu'5b*1!) 99.210 + `$<;]`hU-W2e5`6o#VaE<4f2&0jlE[kA[rAb1l4R0eQ4@CE^&Z.FeMUq)(/r5c!/6!ID]gB 99.211 + \=#d%I$b_!B'l:C4kZ`]c1*Lfd'rGZWh_^P3[GI3dtip"'lT:c3Z&Cor?e9"P<'uGK"U)ud 99.212 + %XcTPO<2!=XW48\(14lkmcqg,U!hdAE@J2I6dG%VsTWOn3[l3ESX)CXJbH,SkhVM/"I,;"0 99.213 + /r19_(Dof@QPMa&73tY)d&\(=DD[iS&pEA42Zme6"gA<2P`8'Z.^3*`GdEAtWS+Q`IHqLD, 99.214 + *FkfTrEhJ/WgaZQ%6@']&$JF4H2/$O]c%[=^<I5K<Gn)kt$\59BbD&/bm(#21-TND++KJ2? 99.215 + %d+H]I*'9G4mQnd<TW^BVgg<kQ@$)Wh?f6!r(3[D`K[?O<#eP-.TYVM?6*m!YGrQ:o2]IT- 99.216 + t?pGh^X0QjS/M20mu'm*K7%XL">=/u(g$(ZmtKG,i#m&,"`\Z<Sc/O?rfC@?".VBaR>!*`> 99.217 + >p>UP$`oKJY&58Tko6t8YBgm[l'2+pQY'Iip%nRf,_T)-M,1's$PJ]^0:\=NsdM;3m5]a3" 99.218 + <pmZMADXcQn=-74WMS(LF(Mp/kH"#nj!\,hZOj-i@S*/i=BD_d?UBI%%^*C\dg38Fc0`2HC 99.219 + m!')CI#@UqE)2'"5meYPoI912)[RNfd+]dB`%qun/X+;R@'r,M^>LrL>1aICMr*:^?B\o>h 99.220 + nDsa%dg#W+Aq+.Q3J@J.64RG+kk!4J:%S4\7^\bidETUpBTP>73>.I8m#e;j4<g%!!]9+o< 99.221 + dFm*6gQ\=G21[NoN"4bKk\cQ2>/bE(G;/XJ0/V`X68R?72peo-":/?kr8mOg8-[heJ`e8Fo 99.222 + 9IX5NdL$F?i%DHp^2Fgb8IXPB4h<8;oe#/NDaS,WZddF.Aq`g80DhuF#Y.Elor`\YFgTe=? 99.223 + %--er6,pU:LiP6W]*OE8Xp.514d0ALI)N>ZKKA7fIAB4bX[sHpjM?2K$1-OSIW#,bK62-Td 99.224 + W@%l,(;$Mpr&S-I#c\H\%b!$m="'T+Q6UN(oinV/ZJ=RVsLt_3$+ds^+kK=6s.aKH+5#`r: 99.225 + @Y5^@MR%H7U9HoI8rK58PeGKbSdOXcVrtnqjo]kJ/bO&JGta!]Rd.H*DgSP+'lT:l%<&M(4 99.226 + FN$EI:$fV^r14sjcgRp'GDoA^*,j9`^%Ru73Kqo$!c`O^]AYS5'eU[8l)&\DPq2r!pii?uI 99.227 + QadeP@P^E-7YjXBbF,ud>%f>36C\T?Rq(*]A.#]/qo62YcbR!_J]eG:!Gm(I!3P1+bYULtc 99.228 + Y^aMgQ'5VQ^[)uK^s>@k0YN*'-p^\/$,StfJjDqs^/Mq`A/BgWOI>uXZ;_qPK3>AL*lE(F5 99.229 + ,pM/.NbpQM)UqL`(F"*JNQ*<EPd%<6AmIe3CUVXTYLB\M8@A(!/W=CLI6U\]:fKq;")2]]S 99.230 + B0,Nq>3?$=L^>cG7k5$PXqSoAU^*49,LI#kU;?=I;C,kJ<AG[#@K\>VnjSUF4f%`b:&k^kK 99.231 + &c0IO*2XYBR[&PBp]kI&\'.\$JDqPqEEFh\j/`6a"8*)<%;-Gs5]2&ogbg/LS+P_tA3LhO5 99.232 + Z',3^a7M1!uPjr]?qXBV^1.IDb&1C!V1k^TFI7-oZ,FT_kgg7E'&Y1I7*"65p(lLj6V7:$4 99.233 + `^@!pK-WXB^;q1r_##smqb9JRlaYH3`Oq$5HEY:qKs``i%8:aK]99,@"=5T1XpfJDF3hM?O 99.234 + $YCn8m9t?an!7uU'Sj_4;4M8o7WnJ@m4^l5Fc:V4D$JJ=@Xn.6sNtbCdoBAC']3&%$[@,3_ 99.235 + W1M'?Vk$8j&tDXLfK8?^jHDb+n%1+r@gg]=MC*5'2t1lc2R`N^=uo8Y_9g,asT9)p<k]1[N 99.236 + +QS2ST,"\Wlu99[Z<Pe50;cl9X1RlnBD]>9n<eP#f$Z7C[J"/hVF6+h`Ka7uMD'T9u$btD$ 99.237 + Cbe2+Kb)=BWKen*47_;kuX%Q$;j1`am`64L;4"S.*cGt=ZcCF/lCcWF*W&spV'f<Wj<50k4 99.238 + _b/-;`!Mu/N#PMod5nAN6+cWu]P\(8CnS$&8X)fl1S7;[bf_Ob:21#/HmhaK\k]@.:`CM!E 99.239 + YV?mim-;R:@(-hqV=GQ`!D/Y:m`G'XU>4_$qW:nb5D2I2"aStl;6]!`pkr^(tHfH&P^4Yc= 99.240 + <E/r;T1@!)OsZ;41;+)7*$fK:@GC:D4sB>A$e5aO'kW3n4t$D"s%fR#oQ,9RO0E.VHudnkl 99.241 + 54;OJBLZ(b+6e!3n_6gWAG'_=A^+?MG(c6/k"_A#g#S;Y$>5@Fdk\Cf57bX)1^UfAg;I4A1 99.242 + /4:R9#)>J!rkZ(R[5Z@nC,OEoB/AOPo*m4-te!qX(jKSuDS&YO57"jWWU[X.KmRg>(;hX#T 99.243 + <@1Mt(8l3\3s@%]bu7V&S^90BVKupO!8p`5o@!Jt97X32Lp954&l4[eMfS=8Emu!R:/n=me 99.244 + G>J0X;KJVA6)7Be(PelC2(i/OKIje\<Io\"\&pf,LlVK&7eqi]_X@HPRnsIUhKs2PY"amp" 99.245 + $\r<]"@<<HhMhSQ92>8HciN&b+>6Fk*/$<R":bCg'iNF[UA$;(HZW$qFAn-R?BK9J(KkD21 99.246 + Eqla-fu<FkR!X]SKmW1gn?=@gl\km&VqUl'6]V`PMa9p'r+qj2\-^!V*[N8RZP-WifH9\fU 99.247 + rPo%JW\_)>$=kiRNMgnit9>On$d#D/[bGj1RqO:HTg-H!H>cq7AW)cW<+_@>R70l9R7*sbg 99.248 + Tf%7%fZ@<=cW^"H:aN*74aL'rU=Pg5<irWoal#^A1Esb0gM%MZ"R0-e]M#Z<Tf'11-&c&.N 99.249 + EaVY3I1N0RJf$q"M;Xh%@+P%%E7+LY$9Tm[O@>A]mJHj[TnAI78Yj4IE`3i`n^O?3pk$3?" 99.250 + Z,sBWqZU>!:8qZ:RT%L5N*!h.Xl8%GG+".,??Q>OALr9cmZW:+%XG0+r@C,fSUBDHX!Tfu4 99.251 + fb7HZ2gh&icU;Wrl;[Hdi.ls@co!_j+iV<?_3Qef(=?Q*q@M>CPK_$Fko>'ZiD`U[A`\DC5 99.252 + Tau/s$Wbtg:TGok/hq25lmJgP_H/K,Obt*4YH+I5P_91T<R0E=l[KdlhnR-eP+/SQFodi_; 99.253 + 6IO]5?WI>7\W(!7$/l3<@#bh-.GE^Z>N!0.i6:[o*T"mXf2b'.gr:"9WS6;X)e$k&iB^UT< 99.254 + :=7,Md9$He$MDLVB',+^>['W@Tf71iDJS,#0fQ:eUAYINV244NSt'g@bH6?<\@kWKAplH@Y 99.255 + A2mX!-)rA)WDjiLSNSc7iaR:?(t,A!o[D&Ph@3O5i(diiL_].@K2H3b/O7A!TDk.2cX#:1M 99.256 + -Vj45#QV@I*9L1=fPj>KUBSjHtj9FY#j'])7aV5f<QX5n5S@_N?ic9Ppc<"0U9j\Ahc%S`0 99.257 + ?:5GK;i8.>hmDi\],@tau%5q5JhHr?]r(,TV:fG0S2@NL7(<p.WjfV-]Ag68Q?fm1Nhj%'O 99.258 + k!*IDC^LYRPNGu'Q1S.d8*7NjAqk-b.'I4MF(\+mAdQiHk_S%XBOa;aKYDaM0p2ZgHsZ2TB 99.259 + 3'Htrb=:`,%p=pB3h,q-=KN&6]J2P@kK31F(8_A^Z:u;ka[pg$S5nkk[tZgBBF&oG'=4HDq 99.260 + :52B\nU/7ZqB/NflqWku_ifDO5'XBj_rKAl`jl2H/j(Bk]JqAr`+H%U&"LbNC4Ckq7Iop42 99.261 + ELF_U*eAH#Ef=l3r-Uh/,JC5u?[;8R#VeS-))B$RC@hGe6p_!8eLjj(&B2Ql?u9'ZMm>bYu 99.262 + f7YoPpZte`t\H\hpNaHR!^?:5#B9ogf(;";+\^`%<li*pI@bbL+RV<PICaNM)5/q*(]Gp"< 99.263 + >0ZMPIUDGbb@:atS%d##p;QCD<:%RB>4$QO,"6>$[d%H,iI7HbdQS0$d'@%99sXQR6D)qXC 99.264 + @)XNf'/caIbHT;3EY7fD7t!051:b=e/Lm&Lj42_CP"MWGj^T?>?Z%!)*1kOd1;Vag0Gn*S> 99.265 + :#MB9Sckfj+FsVW3m&o:bm=Rm,rl:1iM*&*kD]<4KP6=RKCAgd&m=:Rp\<!_\^Em7D"%8$! 99.266 + *I$,:E3_!alaln\NU74r=oKk2T8muG.+o9uRX$1Lp@n+&n%nd<8L&FT5"nC+(M@DJ%n6uc! 99.267 + ;EDUdtD?8agL[4(QA[^jY$5;qU\oG[#nDZVdo6FC8f(%0$mo\7VrBb*c+Rta]llH@LOrTA@ 99.268 + fs;]]$TncR9S"qJg`h!E[h2,nq[J>n0>aDq4fdt5qB-202b'hfLgKJP$E%bmZkLD6(")9\8 99.269 + hd3RK!74;8&=riiZZk^Db\]-$Yan<0)c,t2G$ee5oTXA.1qBf/rMe-^FIk,YZX4m4Y8Dko/ 99.270 + lF.X\VlR.e4_7nhOltG$5/Y$$!)u+YlOW!4'SjlgGc?^n`fFMIgYcQS@W[`Gk.j2`SFa>[A 99.271 + Z@:+o3FUXTgU3F@f)#W:`$UJ:@_T'_?Dp.J=UpkJLDBg8e-m`.>J^LLK1.eZYEDS2\8rD'L 99.272 + 3;%6l1#]BA!%jkp1f-*(i8-^Q!HT1N*LG^mCFB:=,03K\cMXR_W(6]U.EWbs\V\bjMX^]T* 99.273 + OLqVbCC:"_1&$)bk>)@d'j[/T+C@>Vo,f]j?[-"*NoJP)l*Y['KpS0^<0'D&;PWi:hGt2BG 99.274 + cPZU\:o1K7U//,Kg14q%u#;<?h"cepINhY>*70PrbYt=F[m?D2ThnH=?p!o<7GtT*)h(-E( 99.275 + 8BsF:akBOqb$=k3h>mp0As?%fqG[9.WnlHS9:0"QXY6Suh*==f5iVG)T5rND)bT[hl+>kaB 99.276 + K/n?o#47&OS`3A.Q!\W$,86q6VAEsVUbeG:kQl2N&<LV0"oW-I6uG9=7!;fNRC>kT8LE%Q0 99.277 + N2m.&k+]1oA*!<bIKD4^BCNk*>Hp:7Tj4sT,R_K6SIFh7Er!pqn3;mc]NKhQ]'#/gEe9m@3 99.278 + GA_#?\V'h&*"0C_6Ss;2O4%0jK>G3X<2'nD"Xa1<M7YgPr(UZ!L5c(t]j1#pmKW7^Dnd[j3 99.279 + /E-)]4HIV&6X4\[^31-n0MZ<[E]$X!X&LQ_-kW7/.NBrKL91ppk2*_'8f4fd<NSMi>[KfNt 99.280 + M02L.*>F+lq&')bO*TInO.3pVb&<1O@;X08J?Eq`BXq-dg=Y#"_1V7>'*7m.bipVGh3YpbQ 99.281 + NX9r^]b[<QM^[9Ke!WeB#YDCo=TfceTJ7=MjaJjc]k3n-p^(qIKN[0st9ob2<%CN<rJ6@pe 99.282 + ^:p5+k7OA(=[6i3,op/'*n;Q2jf,/gL2'&p<eG8m1?$gA5WUdTX[\BI/BObnID+p]>ZeAA6 99.283 + Fh%8-CV,D\.rqMOZ<],2nRd/m[,,j#S\JgDpg+JV[A/MV1[^lJ[11\W9ca)UWt2H(m&[oKr 99.284 + Un'4d:E0cbeKT"jFm@^+"r!p\,6/NYN[hGTWk,*q#\/]U5K.=-rM2UTk]^qW2`DQdgDhnRn 99.285 + Bfpj$VVs^($#bVSC:&g5Wp^)W^c\d9@7<X%gf?g,I1'JDhTlH2-Bk/ja13-V<;CV*K$XT^' 99.286 + ,R>_s`0/#up+_lMQ,qS*U5oRo"gd]BNBOCYg7/s0+!.\nYLRXn'$<7%>WBgVn$Y`=VN1sS] 99.287 + 5U689M1_A7qW&-8\6Y[hma,c&CY8#,lr5o"5l5ZuYQaAS9LX,L^.#5d`6t&]enX<;nUe,B? 99.288 + QmPD!Cm_bNCRuS<FOEN$+_k"[=JC_U)MPOl7-e*k("Eg.Tp#A#KMlk"\;++`;d!7+88Qk;c 99.289 + )>so<S;PcnLuE#*"bAb$Mk1_)#!fq9@>52B[*5o8ss!jFn4:%?-"V9L!qu,1JT1%nj?5D$+ 99.290 + l4dT!@mT+<iQTi<!>AKj9=4(d"W&SMrkaDj^/A2.eM_>/,h:fTXiV9N^tGOA".O7g?(,7Bp 99.291 + VNZq`Jd?"bgYY:>oN=dYm`H6$\W\YWkG[.XhO"@<fC4%6tG;\o";f&bAV6.uLBP\Ab2j`mQ 99.292 + B#,mDcaBe:ohc19YIp^h3:l-"C3E<HR7F'SfT_M+aL$d)YZpnrcl4JkM42N"T+DUluK0p(D 99.293 + #J1S9'n9BN)NDdITQAu]DlnCUgAC!q55]t.>+Ht8F#MaO^nD<p%DH^qc>8'p#]=a<3aFl0T 99.294 + 4Q[Pc_quug:'DCX^b!0+h[gaas%i*!43pj-LSU@gi<S>+S_9MM0XUVFkBD,Z3P[Oa@<UlCT 99.295 + ,7eIO=q)C4#m/4pC?(W^U7\I7qn*f;$&/TSkQOQfRj5=q;DuEpKraYiQKue._RR`c^#g7Z_ 99.296 + 0=)-V88$3$"[55n(e%t3YuMl+DmZk*m4K':2,+#kJ)*MF'q`G*^3'a4a]!)7%.ncZcg.0Z@ 99.297 + V<Aj7[aM;g<%74kSKBCgH,5/8P`-auT0chT.JZBF2ZMRU2fs.PfIWM4Y(N'?^\OBDd`1/Pd 99.298 + E6?uo(Xl!N@DK0iO=CCM7REGH9E@J`9gM5M%VVJmQ%BUF42:>.(u__,/+6Lr1/]TJN@]2sX 99.299 + r7,Rpp<TJ8HO$F+kD`6?R!hO5'F3r1eE9-db1$*OG83O-f_pT@lsaQEJdR5pq5FY8erQY3] 99.300 + IuOj?]Q:Wf=#\NQ>7>*MfC:HNXZB9@BF,=5p#_nO\8M8VFr&@g[Y5/ndrsV)6\tN;sSRK?4 99.301 + `0,j(oY019sG:$KVPjnJhC1QClD2oQHU4(NaqFt8(KZT9J0oq'XfLs9Y<6)N!/S!2i^1'^N 99.302 + =BHo@(Z^uc1f><Q1iQ7JsQ>o\<k<`jY'r&saI6k;_#@2@iU@\WQ8g)MOkp"9CnIC_Cq2#dE 99.303 + M)^B6U5;S?;bZGP2*fZ%^qmtH7p%W,RVY"1Ypt/ud9S+Y<77%mL&.c_FNLBn27V*bM,`c:< 99.304 + @!gf2_?M]&'J4aX*&h+`"b"!.4n,jEuq4+$,'#17:<7J^9?(EF]PPqYTRUs;BflA?H^;WVR 99.305 + 7`@%p-t<haGVhF[@WZ.f!Q?AI5M=DOnm!4_&<)Q(GD[Ue[nI'Im[JWTRFXf%Vcim3L/cm]q 99.306 + jU.XPlHAZ^kk@[Ye]NB=3un?EYL`EM9pKH?\.46^&cgT-#UTZYQT<hd[[]-hR@c+I<"Tafc 99.307 + ^NH6_G(Ub$TficJFB;Zbd\u"C((<$DFQui!tl;I2@)p``^V5KIlVWD!nfMQPnCV41YoSY6N 99.308 + S?L37^2+kVelgNj&`pC+koTkh7\2lp'a#QA5gn.20*tNUQGFuhpJ%.95H\</,5<b7)#PD-% 99.309 + /plZ;;hF^Ccm9Q%4&PB[dF_>Q]/o?29+::[pA?$87>X/_96-sS\.s_ce]P3Qu7E767Isd<^ 99.310 + 1<.U.XJdP`0U!+3!qsQ_Y:g:E>0Nb'6Z=Q]-Z.Eun[IGo2.Zgln.rmSG03Pk!idfRGZY(Wu 99.311 + Jj/?h7GC9m69U3Y",8loX51CTliq(b=HCP/*u-57X")DW04-!mqZI(5t)IHI&^LNKVK9\N= 99.312 + ;B[mWeZp>(=g+H(a.;qC]5c<$Rnb_N%3^<5:ee\,;1M`P(Y(n@;M62BFfK<V2(a`L0q0Q8+ 99.313 + Lq75Y##EcQY@ZojmgM+%]HOMO65B6CZ<4Bt.p?J5k,gYFp5>!bXWM<$c-$8KS-[iE:M`ABZ 99.314 + rFKm%G%\umZN`6VsMecYW*RR.]>Jbp."_kkY;@AD.Mb8G,uZ1Q:3S2ql)gbW0G5Rd1P2EW! 99.315 + FsuO2Y%OjZLr#FPZNEXUg)@c9mHLd0S+S7.g"**_1I^H/YWRX7<;=AK6UA@iU,]CH_+MpW3 99.316 + J`jBk"<%/%EE2[%IXkC[[c[$C3+/EZ%KRmC\?7N/W-@r=qO)K$#*pD517_uH\KNi;NTIWDr 99.317 + fG_L:=fsQX&>r"QmT+J!>Z?dI2kb&$QO`$@MkBRQi\as>'qaK36EIHYRUUbM`_`-M2_fOmu 99.318 + q8qIYff:^EdJc/<(;D*Fo-]gG?=1/2o"i/SlYc1j"H(R4NIcI'[IDl;pugBt1V@(doAbVHi 99.319 + 56YS4IHp>Dr6F8+!i%cUnQU,[j?=CPD;4Y^@Ar?d$:`fgrUYY1-[%er(i\Jrcc]`\c^NkT3 99.320 + o=ac3*cQ,Gf3PEV2KG#l;JF#Ul.TWdd)W25pB$:W1dr./_)Po5-*ll]/[IVTj&IGiGV$!X/ 99.321 + O@/gA28JZ&)>:?^DmbieFqhQP@BO4H9Bpf&]nWCpjsV,FINW8Om",)ebe$iL$c`qSZg(T*- 99.322 + s:9Ok@#6hssqG:5uU*BjRAHIH/R`%h]L.MW3G6:Rq#>g!r&3sli7+^p%XRG-lmgf(F')-.8 99.323 + pTU=fOMW2sVZLaPs00`PJg+&E<t#RJmL+uO.j500g<l"(:9_fhE1IF,PmO0,%;pe.M/XL<E 99.324 + 3+iP$BRf8`km+bYkILPnID)tWtPm2!sl-!"#2FP&CMa6n58^)#ga-*:_^fD(u0*nJ'dQSbY 99.325 + \U!p*$\$'Z)(%7VNG&gB=FoI#Wg*0BEem[h95<nV/%GVk35V'T`n)![%L*&Loks:4afpQ,4 99.326 + r5Lg:nX-=`(gnW84XDU0.-VID97+E<8^d@;418H6Wo*'u4q0p3^MWZ3[?(+'n7B"[$*::j@ 99.327 + ?+gA?QOLZ1Qc>KPD*Nj^,ENFCt#Vj4<N9@),@K,<*l>u,I&.&"QO&Uf\"r-5-DU3_M%\"Q' 99.328 + ,':*nj/'L51&`@P)^*QM+7]uuiXI&E,:%g7j_'Bk0t;0oF!Hi#o?lE&n`$)oC8HlnWQkSUA 99.329 + f1cS\GW+.IY9<uE%]N](l*n-N2Uk7&sF0s<cI%>m3l*GX_/k5*piHT/Wu.hd\MYn??">]L@ 99.330 + $79"`4c)"Y!/?-GgcQkUA#64!t3r-VfdFC)\52&0/"P)m]Jt!QQlilEi5bMiY17#44$P0TV 99.331 + C:ogc$J$_I,Yq#>&C%1tHA%:'h7raN,riT!,PmPbG-0bap7'MOQ%O/h'C%M=l'0k)djY;-E 99.332 + j+H>t<`%rho@K/+30Q49`1Ld='%D+MR$J#]2!Rg7=o'Z!Cgdc9rXY1$MEebD$VQKEu(R(g[ 99.333 + $K!iIg_9:j#'7OA'>PQ.`sSk*`Y!7"d3?%3-Ta-<W0=>*1Yk5eWB4h6n8k2pe"ZA2k<G0f1 99.334 + o[Z8m56aWq`p$S5,lLbm>!hZpHZ)(U=8'%ZlMJ)nNc?OYRtc#o?`qiV*]8bSs1B4ZopfKWC 99.335 + !Sr5r:G`;q0.c7n&>15OH8QZs-!k]gSj!7.Pf$1\X@\G+(6R2,nil#N&"MVaft%6$!E)1m3 99.336 + a'I7[D,K(Oed:LuPii<:aD7oZ$P#>[pUZV-%Z8dV7`Z_3ad3D6a%=]Dk(eC%Nb^7#bR5;^D 99.337 + Qo[Q]*@nd[#:;nYVM3gr\%nRK(:W1^W[/Wrj=\gK#6KZ6''QC;Je0&-f;:Qad'dHUV-W63[ 99.338 + ;UmF!'f/cg2cGu';q4*3'gkr#7oYaH<7OcE'iS+4=&kMi;;_a]"9/i]O=PHZ<n2+i'm!GVG 99.339 + ?:&V=4Me&'n]TG-WlK:W9[q7D?!5&+r$<2&J^pA!BXI`#m6Hn>1Kf\'sh+E[p,-0>LgJn'u 99.340 + O9V`dUlp_fa(,("6Ggf3OZr?.Ih=(#rO+&C/_q"V^D0;6jsdj'Ga_?e,0a('@rF#@NhK>gK 99.341 + <U[M*(M(L`UK@FcN)p#r."pF$dKC4N^%!/Y2d2e/.8A(EkT(.2V57q@oYACaOf(/ndF=(R\ 99.342 + %A_(4#(1UrWB4dHFB%Cm5(3=(#&g5!5B@_3=(5$:$LM3!3B\&5Y(6`H5QYDab':,5J;n<Y6 99.343 + _ePCT)fVgmPc8"*.jJ%!CY$7:(;g8!:.C;t*`,LF.GJ!FFXT/eD:[T^(?.QBPkI!%*k'Z.0 99.344 + BYY[j_pI^Dq=n9QKTNY.-Yp0E#0%)(DCd)"<qt!4S9G-0m>f?'loWkEn92hJgGEWb<n33&[ 99.345 + r3ipHs%(7nM;f+u]gFQ7[3F=*9j67@-[l(K#336$:dpG1UXHf3fcfZY`aPE48hk(P?s6LB6 99.346 + "K+k3>A<q18*JU!NNH.SY3f8QD(m;_cXH$6fG(UJHi[_):0+W"Z4^ls.:P)/%?I+PoW(Xme 99.347 + *8UJ;bHl(C`(ZTs;=ad"RF)(r#\#k+'pOAP+X:9%_m<=(TH5r-l-`liZfDU8&(P.KuIJ=b5 99.348 + (aFW)iIUbOK%M`/$aD^YPBYY8K@iDA$3PmSRP4a1K\0(S(fQ,j=,!#;J-0DfG[#o)B81u0L 99.349 + ;RUBpiD1WGDDP\*;Ft@@=O)8H\e%k&,;/D@nVWfQ\>GnM8OLmTc],YVA8m,L'Pt\Gd7hSC` 99.350 + 3"fLKLs@R!p%8An"lYM3sG^ps"T(S.bUiLq(ujR&Un]GE*Mr`rcj-+hs&IH]2(J>PRrJK6N 99.351 + >Y!JX^N2gF#;Qs5S=%>82Y?^7m*8:_=p_A'O12IVB)'u]eInF-%O!Vno<Fta;(^I;W*T=(s 99.352 + 63DqbLb?HtV'Y,l\28bVeTG#pn>ZjF()+a$19jI@rPp"L6FiBZ?/X?EmP?,m]q1k9rCR=_/ 99.353 + Ddr;[),ZYe$^%0AOnGo@,+k-cZ'F"#R.*R"3BLET4otJ!P]a[(U@jcHI@=ogP'+U1UD8t1N 99.354 + L!_/06rgf3R*mhfpu8m>5<Z828bf,]q2dM0cBLd"*^0@]p[mMRQ9&g)6$aq0X-d<.J^/Nfs 99.355 + 3'[[p&Ue0feEdj(FlY3LlN1SJcXD[Lo5O<if<9UVd\>)@ABK&R5*+>Ii083S0o!g,=51QF[ 99.356 + B-).k>oBj9:+PrYC'3ZS-EV4o41Ie*6.@Q#7\VlH2dWnOYW)RHGrN](H7X'39>)T#!3AiY1 99.357 + TXP2"#KQ2n.n#[M_X!-B'"*P`SkH3J(WhJOX"*P_HpTE6H?eW(;])/]th5k*$XLe_?g=.iD 99.358 + Dm:5JY$1(p]$IP\jf_k`Z9$76j(kssg*Z[;-Ta8h)\b"g)71=+2eDrp]"bFWi\u33[5t_%3 99.359 + h:S[I=G?d[bG`0#q;=TF17Wc\&ITW':hEnJ%1u+\A_U\2RFQ1QaXMe\_Eaf"*dcIRR[L&Y] 99.360 + kH)@J$e!S%G0%]A(*5)oK<ma1Rnb]\CcG)q2K)f=d[.^"_GY)rnY:kJ!GO^>&+k)tUgKpV3 99.361 + 3p^YAe(*!<u]#Jci;^t]I:*#$.n(VuUU7g#&"+9~>Q 99.362 +Q 99.363 +showpage 99.364 +%%Trailer 99.365 +count op_count sub {pop} repeat 99.366 +countdictstack dict_count sub {end} repeat 99.367 +cairo_eps_state restore 99.368 +%%EOF
100.1 Binary file 0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/VMS-core__plugins.png has changed
101.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 101.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/VMS-core__plugins.png.bb Sun Mar 11 09:26:44 2012 -0700 101.3 @@ -0,0 +1,1 @@ 101.4 +%%BoundingBox: 0 0 465.36 265.2
102.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 102.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/figures/VMS-core__plugins.svg Sun Mar 11 09:26:44 2012 -0700 102.3 @@ -0,0 +1,196 @@ 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__plugins.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="path4008" 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 + <inkscape:perspective 102.39 + sodipodi:type="inkscape:persp3d" 102.40 + inkscape:vp_x="0 : 526.18109 : 1" 102.41 + inkscape:vp_y="0 : 1000 : 0" 102.42 + inkscape:vp_z="744.09448 : 526.18109 : 1" 102.43 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 102.44 + id="perspective10" /> 102.45 + <inkscape:perspective 102.46 + id="perspective12172" 102.47 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 102.48 + inkscape:vp_z="1 : 0.5 : 1" 102.49 + inkscape:vp_y="0 : 1000 : 0" 102.50 + inkscape:vp_x="0 : 0.5 : 1" 102.51 + sodipodi:type="inkscape:persp3d" /> 102.52 + <inkscape:perspective 102.53 + id="perspective12937" 102.54 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 102.55 + inkscape:vp_z="1 : 0.5 : 1" 102.56 + inkscape:vp_y="0 : 1000 : 0" 102.57 + inkscape:vp_x="0 : 0.5 : 1" 102.58 + sodipodi:type="inkscape:persp3d" /> 102.59 + </defs> 102.60 + <sodipodi:namedview 102.61 + id="base" 102.62 + pagecolor="#ffffff" 102.63 + bordercolor="#666666" 102.64 + borderopacity="1.0" 102.65 + gridtolerance="10000" 102.66 + guidetolerance="10" 102.67 + objecttolerance="10" 102.68 + inkscape:pageopacity="0.0" 102.69 + inkscape:pageshadow="2" 102.70 + inkscape:zoom="2.5442307" 102.71 + inkscape:cx="338.67763" 102.72 + inkscape:cy="624.1511" 102.73 + inkscape:document-units="px" 102.74 + inkscape:current-layer="layer1" 102.75 + showgrid="false" 102.76 + inkscape:window-width="782" 102.77 + inkscape:window-height="1141" 102.78 + inkscape:window-x="889" 102.79 + inkscape:window-y="6" 102.80 + inkscape:window-maximized="0" /> 102.81 + <metadata 102.82 + id="metadata7"> 102.83 + <rdf:RDF> 102.84 + <cc:Work 102.85 + rdf:about=""> 102.86 + <dc:format>image/svg+xml</dc:format> 102.87 + <dc:type 102.88 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 102.89 + <dc:title></dc:title> 102.90 + </cc:Work> 102.91 + </rdf:RDF> 102.92 + </metadata> 102.93 + <g 102.94 + inkscape:label="Layer 1" 102.95 + inkscape:groupmode="layer" 102.96 + id="layer1"> 102.97 + <rect 102.98 + style="opacity:0.44897958;fill:none;stroke:#000000;stroke-width:0.10000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.4, 0.10000001;stroke-dashoffset:0" 102.99 + id="rect4618" 102.100 + width="145.33414" 102.101 + height="82.783836" 102.102 + x="303.08145" 102.103 + y="354.28436" /> 102.104 + <rect 102.105 + style="opacity:1;fill:none;stroke:#000000;stroke-width:1.08018123999999990;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 102.106 + id="rect12971" 102.107 + width="57.808529" 102.108 + height="52.250008" 102.109 + x="376.19687" 102.110 + y="375.43658" /> 102.111 + <text 102.112 + xml:space="preserve" 102.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" 102.114 + x="384.66901" 102.115 + y="395.52637" 102.116 + id="text12973" 102.117 + sodipodi:linespacing="100%"><tspan 102.118 + sodipodi:role="line" 102.119 + id="tspan12975" 102.120 + x="384.66901" 102.121 + y="395.52637">VMS-core</tspan></text> 102.122 + <rect 102.123 + y="358.77173" 102.124 + x="306.62949" 102.125 + height="75.595757" 102.126 + width="138.05142" 102.127 + id="rect12977" 102.128 + style="opacity:1;fill:none;stroke:#000000;stroke-width:1.08018123999999990;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072500000000040, 4.32072500000000040;stroke-dashoffset:0" /> 102.129 + <text 102.130 + sodipodi:linespacing="100%" 102.131 + id="text12979" 102.132 + y="369.76575" 102.133 + x="360.49323" 102.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" 102.135 + xml:space="preserve"><tspan 102.136 + y="369.76575" 102.137 + x="360.49323" 102.138 + id="tspan12981" 102.139 + sodipodi:role="line">Master</tspan></text> 102.140 + <rect 102.141 + y="375.43658" 102.142 + x="316.19687" 102.143 + height="52.250008" 102.144 + width="57.808529" 102.145 + id="rect12983" 102.146 + style="opacity:1;fill:none;stroke:#000000;stroke-width:1.08018123999999990;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 102.147 + <text 102.148 + sodipodi:linespacing="100%" 102.149 + id="text12985" 102.150 + y="389.4043" 102.151 + x="344.89117" 102.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" 102.153 + xml:space="preserve"><tspan 102.154 + y="389.4043" 102.155 + x="344.89117" 102.156 + id="tspan12987" 102.157 + sodipodi:role="line" 102.158 + style="text-align:center;text-anchor:middle">Language</tspan><tspan 102.159 + y="399.4043" 102.160 + x="344.89117" 102.161 + sodipodi:role="line" 102.162 + id="tspan12989" 102.163 + style="text-align:center;text-anchor:middle">Plug-in</tspan></text> 102.164 + <text 102.165 + xml:space="preserve" 102.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 102.167 + x="345.07574" 102.168 + y="415.4043" 102.169 + id="text12991" 102.170 + sodipodi:linespacing="100%"><tspan 102.171 + sodipodi:role="line" 102.172 + id="tspan12993" 102.173 + x="345.07574" 102.174 + y="415.4043" 102.175 + style="font-size:8px;text-align:center;text-anchor:middle">Semantic</tspan><tspan 102.176 + id="tspan12995" 102.177 + sodipodi:role="line" 102.178 + x="345.07574" 102.179 + y="423.4043" 102.180 + style="font-size:8px;text-align:center;text-anchor:middle">State</tspan></text> 102.181 + <text 102.182 + sodipodi:linespacing="100%" 102.183 + id="text12997" 102.184 + y="415.4043" 102.185 + x="405.06989" 102.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 102.187 + xml:space="preserve"><tspan 102.188 + style="font-size:8px;text-align:center;text-anchor:middle" 102.189 + y="415.4043" 102.190 + x="405.06989" 102.191 + id="tspan12999" 102.192 + sodipodi:role="line">Physical</tspan><tspan 102.193 + style="font-size:8px;text-align:center;text-anchor:middle" 102.194 + y="423.4043" 102.195 + x="405.06989" 102.196 + sodipodi:role="line" 102.197 + id="tspan13001">State</tspan></text> 102.198 + </g> 102.199 +</svg>
103.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 103.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/latex/Sept_2011__Multiprog.ddf Sun Mar 11 09:26:44 2012 -0700 103.3 @@ -0,0 +1,2 @@ 103.4 +[MakeIndex] 103.5 +.idx=.ind
104.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 104.2 +++ b/0__Papers/VMS/VMS__Performance_on_Multicore/Multi-core_2011/latex/Sept_2011__Multiprog.tex Sun Mar 11 09:26:44 2012 -0700 104.3 @@ -0,0 +1,1173 @@ 104.4 +%&latex 104.5 + 104.6 + 104.7 +\documentclass[conference]{../helpers/llncs} 104.8 +% 104.9 +\usepackage{makeidx,geometry,amssymb,graphicx,calc,ifthen} 104.10 +% 104.11 + 104.12 +% *** CITATION PACKAGES *** 104.13 +% 104.14 +%\usepackage{cite} 104.15 +% cite.sty was written by Donald Arseneau 104.16 +% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package 104.17 +% \cite{} output to follow that of IEEE. Loading the cite package will 104.18 +% result in citation numbers being automatically sorted and properly 104.19 +% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using 104.20 +% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's 104.21 +% \cite will automatically add leading space, if needed. Use cite.sty's 104.22 +% noadjust option (cite.sty V3.8 and later) if you want to turn this off. 104.23 +% cite.sty is already installed on most LaTeX systems. Be sure and use 104.24 +% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does 104.25 +% not currently provide for hyperlinked citations. 104.26 +% The latest version can be obtained at: 104.27 +% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ 104.28 +% The documentation is contained in the cite.sty file itself. 104.29 + 104.30 + 104.31 + 104.32 + 104.33 + 104.34 + 104.35 +% *** GRAPHICS RELATED PACKAGES *** 104.36 +% 104.37 +%\ifCLASSINFOpdf 104.38 + % \usepackage[pdftex]{graphicx} 104.39 + % declare the path(s) where your graphic files are 104.40 + % \graphicspath{{../pdf/}{../jpeg/}} 104.41 + % and their extensions so you won't have to specify these with 104.42 + % every instance of \includegraphics 104.43 + % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} 104.44 +%\else 104.45 + % or other class option (dvipsone, dvipdf, if not using dvips). graphicx 104.46 + % will default to the driver specified in the system graphics.cfg if no 104.47 + % driver is specified. 104.48 + % \usepackage[dvips]{graphicx} 104.49 + % declare the path(s) where your graphic files are 104.50 + % \graphicspath{{../eps/}} 104.51 + % and their extensions so you won't have to specify these with 104.52 + % every instance of \includegraphics 104.53 + % \DeclareGraphicsExtensions{.eps} 104.54 +%\fi 104.55 +% graphicx was written by David Carlisle and Sebastian Rahtz. It is 104.56 +% required if you want graphics, photos, etc. graphicx.sty is already 104.57 +% installed on most LaTeX systems. The latest version and documentation can 104.58 +% be obtained at: 104.59 +% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ 104.60 +% Another good source of documentation is "Using Imported Graphics in 104.61 +% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or 104.62 +% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ 104.63 +% 104.64 +% latex, and pdflatex in dvi mode, support graphics in encapsulated 104.65 +% postscript (.eps) format. pdflatex in pdf mode supports graphics 104.66 +% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure 104.67 +% that all non-photo figures use a vector format (.eps, .pdf, .mps) and 104.68 +% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats 104.69 +% which can result in "jaggedy"/blurry rendering of lines and letters as 104.70 +% well as large increases in file sizes. 104.71 +% 104.72 +% You can find documentation about the pdfTeX application at: 104.73 +% http://www.tug.org/applications/pdftex 104.74 + 104.75 + 104.76 + 104.77 + 104.78 + 104.79 +% *** MATH PACKAGES *** 104.80 +% 104.81 +%\usepackage[cmex10]{amsmath} 104.82 +% A popular package from the American Mathematical Society that provides 104.83 +% many useful and powerful commands for dealing with mathematics. If using 104.84 +% it, be sure to load this package with the cmex10 option to ensure that 104.85 +% only type 1 fonts will utilized at all point sizes. Without this option, 104.86 +% it is possible that some math symbols, particularly those within 104.87 +% footnotes, will be rendered in bitmap form which will result in a 104.88 +% document that can not be IEEE Xplore compliant! 104.89 +% 104.90 +% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 104.91 +% thus preventing page breaks from occurring within multiline equations. Use: 104.92 +%\interdisplaylinepenalty=2500 104.93 +% after loading amsmath to restore such page breaks as IEEEtran.cls normally 104.94 +% does. amsmath.sty is already installed on most LaTeX systems. The latest 104.95 +% version and documentation can be obtained at: 104.96 +% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ 104.97 + 104.98 + 104.99 + 104.100 + 104.101 + 104.102 +% *** SPECIALIZED LIST PACKAGES *** 104.103 +% 104.104 +%\usepackage{algorithmic} 104.105 +% algorithmic.sty was written by Peter Williams and Rogerio Brito. 104.106 +% This package provides an algorithmic environment fo describing algorithms. 104.107 +% You can use the algorithmic environment in-text or within a figure 104.108 +% environment to provide for a floating algorithm. Do NOT use the algorithm 104.109 +% floating environment provided by algorithm.sty (by the same authors) or 104.110 +% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated 104.111 +% algorithm float types and packages that provide these will not provide 104.112 +% correct IEEE style captions. The latest version and documentation of 104.113 +% algorithmic.sty can be obtained at: 104.114 +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ 104.115 +% There is also a support site at: 104.116 +% http://algorithms.berlios.de/index.html 104.117 +% Also of interest may be the (relatively newer and more customizable) 104.118 +% algorithmicx.sty package by Szasz Janos: 104.119 +% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ 104.120 + 104.121 + 104.122 + 104.123 + 104.124 +% *** ALIGNMENT PACKAGES *** 104.125 +% 104.126 +%\usepackage{array} 104.127 +% Frank Mittelbach's and David Carlisle's array.sty patches and improves 104.128 +% the standard LaTeX2e array and tabular environments to provide better 104.129 +% appearance and additional user controls. As the default LaTeX2e table 104.130 +% generation code is lacking to the point of almost being broken with 104.131 +% respect to the quality of the end results, all users are strongly 104.132 +% advised to use an enhanced (at the very least that provided by array.sty) 104.133 +% set of table tools. array.sty is already installed on most systems. The 104.134 +% latest version and documentation can be obtained at: 104.135 +% http://www.ctan.org/tex-archive/macros/latex/required/tools/ 104.136 + 104.137 + 104.138 +%\usepackage{mdwmath} 104.139 +%\usepackage{mdwtab} 104.140 +% Also highly recommended is Mark Wooding's extremely powerful MDW tools, 104.141 +% especially mdwmath.sty and mdwtab.sty which are used to format equations 104.142 +% and tables, respectively. The MDWtools set is already installed on most 104.143 +% LaTeX systems. The lastest version and documentation is available at: 104.144 +% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ 104.145 + 104.146 + 104.147 +% IEEEtran contains the IEEEeqnarray family of commands that can be used to 104.148 +% generate multiline equations as well as matrices, tables, etc., of high 104.149 +% quality. 104.150 + 104.151 + 104.152 +%\usepackage{eqparbox} 104.153 +% Also of notable interest is Scott Pakin's eqparbox package for creating 104.154 +% (automatically sized) equal width boxes - aka "natural width parboxes". 104.155 +% Available at: 104.156 +% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ 104.157 + 104.158 + 104.159 + 104.160 + 104.161 + 104.162 +% *** SUBFIGURE PACKAGES *** 104.163 +%\usepackage[tight,footnotesize]{subfigure} 104.164 +% subfigure.sty was written by Steven Douglas Cochran. This package makes it 104.165 +% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE 104.166 +% work, it is a good idea to load it with the tight package option to reduce 104.167 +% the amount of white space around the subfigures. subfigure.sty is already 104.168 +% installed on most LaTeX systems. The latest version and documentation can 104.169 +% be obtained at: 104.170 +% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ 104.171 +% subfigure.sty has been superceeded by subfig.sty. 104.172 + 104.173 + 104.174 + 104.175 +%\usepackage[caption=false]{caption} 104.176 +%\usepackage[font=footnotesize]{subfig} 104.177 +% subfig.sty, also written by Steven Douglas Cochran, is the modern 104.178 +% replacement for subfigure.sty. However, subfig.sty requires and 104.179 +% automatically loads Axel Sommerfeldt's caption.sty which will override 104.180 +% IEEEtran.cls handling of captions and this will result in nonIEEE style 104.181 +% figure/table captions. To prevent this problem, be sure and preload 104.182 +% caption.sty with its "caption=false" package option. This is will preserve 104.183 +% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later 104.184 +% (recommended due to many improvements over 1.2) of subfig.sty supports 104.185 +% the caption=false option directly: 104.186 +%\usepackage[caption=false,font=footnotesize]{subfig} 104.187 +% 104.188 +% The latest version and documentation can be obtained at: 104.189 +% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ 104.190 +% The latest version and documentation of caption.sty can be obtained at: 104.191 +% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ 104.192 + 104.193 + 104.194 + 104.195 + 104.196 +% *** FLOAT PACKAGES *** 104.197 +% 104.198 +%\usepackage{fixltx2e} 104.199 +% fixltx2e, the successor to the earlier fix2col.sty, was written by 104.200 +% Frank Mittelbach and David Carlisle. This package corrects a few problems 104.201 +% in the LaTeX2e kernel, the most notable of which is that in current 104.202 +% LaTeX2e releases, the ordering of single and double column floats is not 104.203 +% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a 104.204 +% single column figure to be placed prior to an earlier double column 104.205 +% figure. The latest version and documentation can be found at: 104.206 +% http://www.ctan.org/tex-archive/macros/latex/base/ 104.207 + 104.208 + 104.209 + 104.210 +%\usepackage{stfloats} 104.211 +% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e 104.212 +% the ability to do double column floats at the bottom of the page as well 104.213 +% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in 104.214 +% LaTeX2e). It also provides a command: 104.215 +%\fnbelowfloat 104.216 +% to enable the placement of footnotes below bottom floats (the standard 104.217 +% LaTeX2e kernel puts them above bottom floats). This is an invasive package 104.218 +% which rewrites many portions of the LaTeX2e float routines. It may not work 104.219 +% with other packages that modify the LaTeX2e float routines. The latest 104.220 +% version and documentation can be obtained at: 104.221 +% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ 104.222 +% Documentation is contained in the stfloats.sty comments as well as in the 104.223 +% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE 104.224 +% does not allow \baselineskip to stretch. Authors submitting work to the 104.225 +% IEEE should note that IEEE rarely uses double column equations and 104.226 +% that authors should try to avoid such use. Do not be tempted to use the 104.227 +% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does 104.228 +% not format its papers in such ways. 104.229 + 104.230 + 104.231 + 104.232 + 104.233 + 104.234 +% *** PDF, URL AND HYPERLINK PACKAGES *** 104.235 +% 104.236 +%\usepackage{url} 104.237 +% url.sty was written by Donald Arseneau. It provides better support for 104.238 +% handling and breaking URLs. url.sty is already installed on most LaTeX 104.239 +% systems. The latest version can be obtained at: 104.240 +% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ 104.241 +% Read the url.sty source comments for usage information. Basically, 104.242 +% \url{my_url_here}. 104.243 + 104.244 + 104.245 + 104.246 + 104.247 + 104.248 +% *** Do not adjust lengths that control margins, column widths, etc. *** 104.249 +% *** Do not use packages that alter fonts (such as pslatex). *** 104.250 +% There should be no need to do such things with IEEEtran.cls V1.6 and later. 104.251 +% (Unless specifically asked to do so by the journal or conference you plan 104.252 +% to submit to, of course. ) 104.253 + 104.254 + 104.255 +% correct bad hyphenation here 104.256 +\hyphenation{op-tical net-works semi-conduc-tor} 104.257 + 104.258 + 104.259 +\begin{document} 104.260 + 104.261 +\bibliographystyle{plain} 104.262 +% 104.263 + 104.264 +\title{Abstraction for High Performance Multi-Core Runtimes} 104.265 + 104.266 +\author{Sean Halle \and Merten Sach \and Ben Juurlink} 104.267 +\institute{Technical University Berlin} 104.268 + 104.269 +\maketitle 104.270 +% 104.271 + 104.272 +\begin{abstract} 104.273 +The current renaissance in multi-core programming techniques and tools is generating new languages and concurrency constructs at a furious pace. This supports the belief held by many that Domain Specific Languages will satisfy the productivity goal for parallel programming. However, each of the new approaches and every domain specific language requires a runtime. Further, the runtime should be tuned to each flavor of multi-core hardware in order to get the lowest overhead. This represents non-trivial amounts of work, especially given the complexity of runtime internals, which have tricky concurrency issues. 104.274 + 104.275 +Regarding this, we present an improvement to the Virtualized Master-Slave abstraction, which has been demonstrated as one way to avoid such runtime implementation difficulties. VMS is a Mutable Concurrency-Hardware Abstraction used to quickly and easily create high performance runtime systems. It captures the difficult concurrency issues inside a reusable abstraction that exports a simple interface. Runtimes are created on top of this interface using only sequential reasoning, which greatly speeds implementation. The interface also modularizes the runtime and hides details of underlying concurrency hardware. 104.276 + 104.277 +We improved the interface by making it multi-core aware, and show how much it can reduce overhead. Across a collection of platforms, runtimes that use our multi-core-aware interface have an average of X\% less overhead. Specifically, we show the improvement from splitting malloc across cores, and demonstrate split constructs such as pthread-style mutexes and condition variables, which now have X cycles of overhead, compared to X cycles previously. 104.278 +\end{abstract} 104.279 + 104.280 +\section{Motivation} 104.281 +The current renaissance in multi-core programming techniques and tools is generating new languages and concurrency constructs at a furious pace. This supports the belief held by many that Domain Specific Languages will satisfy the productivity goal for parallel programming. However, each of the new approaches and every domain specific language requires a runtime. Further, the runtime should be tuned to each flavor of multi-core hardware in order to get the lowest overhead. This represents non-trivial amounts of work, especially given the complexity of runtime internals, which have tricky concurrency issues. 104.282 + 104.283 +Regarding this, we present an improvement to the Virtualized Master-Slave abstraction, which has been demonstrated as one way to avoid such runtime implementation difficulties. VMS is a Mutable Concurrency-Hardware Abstraction used to quickly and easily create high performance runtime systems. It captures the difficult concurrency issues inside a reusable abstraction that exports a simple interface. Runtimes are created on top of this interface using only sequential reasoning, which greatly speeds implementation. The interface also modularizes the runtime and hides details of underlying concurrency hardware. 104.284 + 104.285 +We improved the interface by making it multi-core aware, and show how much it can reduce overhead. Across a collection of platforms, runtimes that use our multi-core-aware interface have an average of X\% less overhead. Specifically, we show the improvement from splitting malloc across cores, and demonstrate split constructs such as pthread-style mutexes and condition variables, which now have X cycles of overhead, compared to X cycles previously. 104.286 +\paragraph*{A partial solution.} 104.287 + 104.288 +\paragraph*{Contribution.} 104.289 + 104.290 +We show in this paper the definition and implementation of such a 104.291 +mutable hardware abstraction, albeit at user-level rather than in 104.292 +the kernel. The abstraction lets a language's runtime be implemented as 104.293 +a mutation, which we call a plugin. The plugin implements parallelism constructs and assignment of tasks to cores. 104.294 + 104.295 +We focus in this introductory paper on the definition of the 104.296 +abstraction and its support for parallelism constructs, postponing 104.297 +exploration of assignment of tasks onto cores and other performance 104.298 +optimizations to following papers. This paper defines multiple time-lines in a program, and a virtual timeline that globally orders events among them. It demonstrates three sets of parallelism constructs: synchronous \texttt{send}-\texttt{receive} 104.299 +mo\textbf{\(f\)a}tivated by process calculi; \texttt{spawn} and \texttt{sync} from 104.300 +Cilk {\cite{Fri98,CILKHome}}; and \texttt{mutex} and \texttt{condition 104.301 + variable} from pthreads. The assignment policy we implemented with 104.302 +them is simply first-come first-served. 104.303 + 104.304 +We call the abstraction Virtualized Master-Slave, or VMS. It 104.305 +exports facilities to create virtual processors and control how their timelines relate to each other, and relate to physical time. It also exports facilities to suspend a virtual processor and for an executable to interact with the plugin. The plugin embodies most of a language's runtime. A wrapper-library or keyword is what appears in application code, and is what triggers the runtime. 104.306 + 104.307 +\paragraph*{Organization of paper.} 104.308 + 104.309 +Section~\ref{secAbsModel} provide the original concepts and 104.310 +definitions of VMS. Section~\ref{secInternal} focuses on the 104.311 +implementation, describing the elements and how they interact, then 104.312 +relating them back to the theoretical definition. 104.313 +Section~\ref{secApp} takes the point of view of the application code, 104.314 +studying the usage and implementation of parallel language constructs 104.315 +as a VMS plugin. To wrap up, measurements of effectiveness appear in 104.316 +Section~\ref{secResults} and conclusions in 104.317 +Section~\ref{secConclusion}. 104.318 + 104.319 +\section{Background and Related Work} 104.320 + 104.321 +User-level thread packages and most parallel language runtimes have to 104.322 +side-step OS threads, by pinning one to each core, which effectively 104.323 +gives the user-level package control over the core. Our VMS 104.324 +implementation also does this. We are not claiming in this paper to 104.325 +have the OS level implementation of VMS that is possible -- but just 104.326 +the user-space version. 104.327 + 104.328 +\paragraph*{Related work.} 104.329 + 104.330 +The most primitive methods for establishing ordering among cores or distributed processors are atomic instructions and clock-synchronization techniques \cite{Lamport78,Christian89}. 104.331 + 104.332 +Meanwhile, the most closely related work is Scheduler Activations 104.333 +\cite{SchedActivations}, which also allows modifying concurrency 104.334 +constructs and controlling assignment of virtual processors onto 104.335 +cores. However it has no virtual time to guarantee globally consistent 104.336 +sequentialization, and no interface for plugins. 104.337 + 104.338 +BOM \cite{BOMinManticore}, which is used in Manticore to express 104.339 +scheduling policies and synchronization, also bears resemblances to 104.340 +VMS, but at a higher level of abstraction. BOM is a functional 104.341 +language, rather than a primitive abstraction meant to sit at the 104.342 +hardware-software boundary as VMS is. 104.343 + 104.344 +Coroutines is a high-performance means of switching between 104.345 +tasks. Coroutine scheduling and stack handling techniques were well 104.346 +suited to the user-space implementation of VMS. 104.347 + 104.348 +Other related work either provides an abstraction of the thread model, 104.349 +or is a full language with specific parallelism constructs. As a 104.350 +protypic example of user-level threads, Cilk {\cite{Fri98,CILKHome}} 104.351 +provides a simplified abstraction with an efficient scheduling and 104.352 +load balancing algorithm, but limited to fork-join concurrency. OpenMP 104.353 +{\cite{OpenMPHome}} is a typical example of a parallel extension of 104.354 +sequential languages; it allows creating tasks and controlling their 104.355 +execution order. We claim that both Cilk and OpenMP, as well as most 104.356 +thread abstractions or parallel languages may be implemented via 104.357 +plugins to VMS, with similar performance. 104.358 + 104.359 +VMS is unique in that it doesn't impose its own concurrency semantics as a programming model, but rather takes preferred ones as plugins. This 104.360 +makes it only a \emph{support} mechanism to 104.361 +implement language runtimes -- VMS is hidden from the application, underneath the language. Parallelism constructs may be implemented 104.362 +as VMS plugins, easily, quickly, and with high performance as 104.363 +indicated in Section~\ref{secResults}. 104.364 + 104.365 +This work presents a first incarnation of VMS. We plan 104.366 +to explore the embedding into VMS of a variety of parallel languages, 104.367 +with a special interest for coordination languages 104.368 +\cite{Gelernter85Linda,CnCInHotPar,CnCHome}. We will also explore 104.369 +VMS's compatibility with different concurrent semantics 104.370 +\cite{Kah74,hoare78,milner99,Hewitt10,Actors97}. One particularly 104.371 +important application would be to use VMS to facilitate the design and 104.372 +implementation of the emerging hybrid programming models, such as 104.373 +MPI+OpenMP, or OpenMP+OpenCL \cite{Car10,OpenCLHome}. 104.374 + 104.375 + 104.376 +\section{Abstract Definition of VMS} 104.377 +\label{secAbsModel} 104.378 + 104.379 +We start with an intuitive overview, then precise the definitions and 104.380 +properties in the following sub-sections. 104.381 + 104.382 +\paragraph*{Definitions:} 104.383 + 104.384 +1) We want to avoid the confusion associated with the various 104.385 +interpretations for the terms ``thread'' and ``task'' so will use 104.386 +the term \emph{Virtual Processor} (VP), which we define as state in 104.387 +combination with the ability to animate code or an additional level of 104.388 +virtual processors. The state consists of a program counter, a stack 104.389 +with its contents, a pointer to top of stack, and a pointer to the 104.390 +current stack frame. 2) A \emph{physical processor} executes 104.391 +a sequential stream of instructions. 104.392 +3) A program-timeline is the sequence of instructions animated by a 104.393 +Slave VP, which is in turn animated by a physical processor. 104.394 + 104.395 + 104.396 +\paragraph*{Intuitive Overview.} 104.397 + 104.398 +VMS can be understood via an analogy with atomic instructions, such as Compare and Swap (CAS). These are used to establish an ordering among the timelines of cores. They consist of two parts: 1) the semantics of what is done to the memory location, 2) a mechanism that establishes an ordering among the cores. For CAS, the semantics are: ``compare value in this register to value at the address, and if same, then put value in second register into the address.'' Multiple kinds of atomic instructions share the same order-establishing mechanism, they simply provide different semantics as a front-end. 104.399 + 104.400 + VMS can be viewed as virtualizing the order-establishing mechanism. It allows the semantics to be plugged-in to it. This breaks concurrency constructs into two parts: the VMS mechanism, which establishes an ordering between events in different timelines; and the plugin, which supplies the semantics. 104.401 + 104.402 + Below the interface, hardware mechanisms are employed to order specific points in one physical processor's timeline relative to specific points in another's timeline. Above the interface, a plugin provides the semantics that an application uses to invoke creation of the ordering. 104.403 + 104.404 +Together, VMS plus the plugin form a parallelism construct, by which an application controls how the time-lines of its virtual processors relate. Such constructs also guarantee relations of VP time-lines to hardware events. 104.405 + 104.406 +As an example, consider a program where one VP writes into a data structure then calls a \texttt{send} construct. Meanwhile, a 104.407 +different VP calls the \texttt{receive} construct then reads 104.408 +the data structure. The semantics of the \texttt{send} and \texttt{receive} constructs are that all data 104.409 +written before the \texttt{send} is readable in the other time-line 104.410 +after the \texttt{receive}. 104.411 + To implement these constructs, VMS provides the mechanism to enforce the ordering, and to include the writes and reads in that ordering. The plugin directs that mechanism to order the \texttt{send} event before the \texttt{receive} event. 104.412 +%% AC. Too early. 104.413 +% VMS provides a primitive guarantee that 104.414 +% plugin code builds upon to provide such higher-level guarantees. The 104.415 +% primitive guarantee is defined in Section~\ref{scTime}, after the 104.416 +% necessary vocabulary is established. 104.417 + 104.418 +\paragraph{What the VMS interface provides:} The interface provides primitive operations 104.419 +to create and suspend VPs; a way for plugins to control when and where 104.420 +each VP is (re)started; a way for application code to send requests to the plugin; and a way to order a specific point in one VP time-line relative to a specific point in another VP time-line. All implementations of the VMS interface provide these, whether it is on shared memory or distributed, with 104.421 +strong memory consistency or weak. 104.422 + 104.423 +\paragraph*{Specification in three parts.} 104.424 + 104.425 +We specify the observable behavior of a VMS system \emph{with plugins present}. Hence, 104.426 +the specified behaviors remain valid with any parallelism construct 104.427 +implementable with VMS. First we give the specification of a computation system that VMS is compatible with; then specify a notion of time and the key VMS guarantee; and lastly specify 104.428 +virtual processor scheduling states and transitions between them. 104.429 + 104.430 +%% AC. Too early, Master has not been defined. I renamed VMS-core into 104.431 +%% VMS afterwards, finding no ambiguity. 104.432 +% The Master mentioned in the definition is an abstract entity, with a 104.433 +% plugin present. In practice, this Master entity is implemented as part 104.434 +% of a core VMS, and plugins later added. This VMS-core is the hardware 104.435 +% abstraction. It hides the physical hardware behind an interface that 104.436 +% creates virtual processors and enforces well-defined time-behavior. 104.437 + 104.438 +\subsection{The Specifications for a VMS-compatible Computation System} 104.439 + 104.440 +\begin{itemize} 104.441 +\item An application creates multiple VPs, which are Slaves, each with an 104.442 + independent time-line. 104.443 +\item A schedule of Slaves is generated by a Master entity, from 104.444 + within a hidden time-line(s). 104.445 +\item A schedule is the set of physical locations and time-points at which Slaves are 104.446 + (re)animated. 104.447 +\item All semantic parallelism behavior is invoked by Slaves communicating 104.448 + with the Master. 104.449 +\item A Slave communicates with the Master by using a VMS primitive, 104.450 + which suspends the Slave. 104.451 +\end{itemize} 104.452 + 104.453 +\paragraph{Where we define:} 104.454 + Semantic Parallelism Behavior is the actions taken by a parallelism construct, which establishes an ordering among events in different Slave timelines. 104.455 + 104.456 + 104.457 +\paragraph{Discussion:} The key point is that 104.458 +\emph{scheduling is separated from the application code}. This is enforced by the schedule being generated in a time-line hidden from the application. The rest of the requirements are consequences of that separation. 104.459 + 104.460 +The Master entity appears as a single entity, to the slaves. However it may 104.461 +be implemented with multiple (hidden) timelines. This is the approach taken in our initial implementation, which has several Master VPs hidden inside the VMS 104.462 +implementation. 104.463 + 104.464 + 104.465 + 104.466 + 104.467 +%% AC. Calling memory a processing element only adds confusion. 104.468 +% {\bf Definitions:\ }VMS is intended only for hardware systems that 104.469 +% consist of processing elements connected by communication. We define 104.470 +% a memory-space to be a processing element, albeit without the ability 104.471 +% to transform data. 104.472 + 104.473 + 104.474 +\subsection{The Time-Related Specifications of VMS} 104.475 +\label{secTime} 104.476 + 104.477 +To prepare for the time-related specifications, we give an advance peek of the following section, 3.3. There, Slave VPs are specified to have three scheduling states: Animated, Blocked, and Ready. When a parallelism construct starts execution, the Slave transitions from Animated to Blocked. When it ends execution, the Slave transitions from Blocked to Ready. VMS provides a way to control the order of these state-transitions, which is equivalent to controlling the order of the parallelism-constructs. Controlling the state transitions is how the ordering among constructs in different timelines is established. 104.478 + 104.479 +With that background, here are time-related specifications for VMS: \begin{itemize} 104.480 +\item VMS provides a Virtual timeline that globally orders changes of scheduling state of Slave VPs. 104.481 +\item Ordering is created among construct-invocations by controlling the order of Blocked to Ready transitions in the Virtual timeline. 104.482 +\item 104.483 +Causally tied construct-invocations are tied-together inside the Master. \item VMS enforces ordering of \textit{observations} of physical events in Slave timelines to be consistent with the Virtual time ordering. 104.484 +\item Virtual time defines only ordering, but not spans, nor widths. 104.485 +\end{itemize} 104.486 + 104.487 +\paragraph{Discussion:} 104.488 +Most importantly here, Virtual time defines a global ordering among Slave state-transitions. To make this useful for parallelism, VMS must be implemented so that observations of physical events, like reads and writes to shared memory, are consistent with that ordering. 104.489 + 104.490 +The Virtual timeline plays the same role as the mechanism added to memory systems to support atomic instructions. All atomic instructions require hardware that establishes an ordering among the timelines of physical cores. That hardware sequentializes execution of atomic memory accesses to the same address. VMS virtualizes this mechanism. It provides the same ordering function. 104.491 + 104.492 +An important point is that the Virtual timeline is generated inside the Master. When a Slave uses the VMS primitive to send a parallelism-construct request, it suspends. However, that Slave doesn't actually transition state from Animated to Blocked until the Master \textit{acknowledges} the suspension. It is the acknowledgement that adds the Slave transition into the Virtual timeline. 104.493 + 104.494 +The essential value of VMS is using it to control the order of observing events. It has to be able to causally link the execution of a parallelism construct in one timeline to the execution of a construct in a different timeline. Establishing such a causal link is called \textit{tying together} two construct executions. 104.495 + It is specific executions from different timelines that are causally linked with such a tie. 104.496 +\paragraph*{The key VMS guarantee:} 104.497 + 104.498 +the order of observing physical events is consistent with the order of tied together parallelism constructs. 104.499 + 104.500 +To explain this, take as given: two Slaves both execute parallelism constructs, those are tied together by the Master, establishing a causal ordering from one to the other. So, one construct is the \textit{before}-construct, the other is the \textit{after}-construct. Now, the guarantee means that any events triggered before the before-construct, in its timeline, are guaranteed to be detected in the other timeline as also preceding the after-construct. In addition, events triggered after the after-construct are guaranteed not visible before the before-construct in its timeline. This two-part guarantee is the result of the above specifications of VMS's time-related behavior. 104.501 + 104.502 + 104.503 + 104.504 + 104.505 +\paragraph*{Definitions:} 104.506 + 104.507 +Some more definitions, to prepare for the next explanation. 1) An \textit{ordering-point} exists in a Slave VP's timeline as a zero-width event that can be tied to ordering points in other timelines. It is initiated by a Slave VP executing the suspend 104.508 +primitive, and ended by the Master transitioning the Slave back to Animated. 2) A trace-segment is a portion of a Slave VP's stream of instructions bounded by ordering-points. 104.509 + 104.510 +Hence, the timeline of a Slave is a sequence of trace-segments. Each 104.511 +trace-segment is animated by a single physical processor, but not 104.512 +necessarily the same as animated the Slave's other trace segments. 104.513 + 104.514 + 104.515 + 104.516 + 104.517 +\begin{figure}[ht] 104.518 + \includegraphics[width=3.5in]{../figures/Time_in_VMS_2.eps} 104.519 + \caption 104.520 + {Time Behaviors: \ Shows Ordering Point 1.1 being tied to Ordering Point 2.1. As a result, VMS guarantees that events triggered in Trace Segment 1.1 are seen as having taken place in the past in Trace Segment 2.2. Also shows that there is no common tied ordering point between segments 1.2 and 2.2, so VMS provides no guarantees about what order segment 2.2 sees events triggered in segment 1.2. 104.521 + } 104.522 +\label{figTimeMapping} 104.523 +\end{figure} 104.524 + 104.525 +\paragraph*{Relating time-lines to each other.} 104.526 + 104.527 +Figure \ref{figTimeMapping} shows two ordering points being tied together. A trace segment starts, at the same time an ordering-point ends, by its Slave transitioning to Animated. Because the transition to Animated exists as a point in Virtual time, the start of a trace-segment has a well-defined position within Virtual time. Likewise, a trace-segment is ended by its Slave executing the suspend primitive of VMS. Although this does not have a well-defined point in Virtual time, every execution of suspend is acknowledged by the Master, which transitions the Slave to Blocked. That transition does have a well-defined position in Virtual time. Hence, the end of every trace-segment is associated with a well-defined position in Virtual time. 104.528 + 104.529 +As a result, trace segments can be ordered relative to each other, by checking their start and end points in Virtual time. If they have no overlap in virtual time then they have a total ordering. However, if any portion of them overlaps in Virtual time, then they are considered concurrent trace-segments, and their Slaves are considered to be executing in parallel between those points of Virtual time. 104.530 + 104.531 +Note that this is conservative because it doesn't take into account the physical wait time between a Slave suspending and the Master acknowledging. The Slave may stop executing at a physical time-point that would map onto an earlier point in Virtual time. In some cases, ending the Slave's trace-segment at the earlier point would eliminate the overlap with a particular other trace-segment. But VMS's set of specifications doesn't allow such mapping of suspend-execution onto Virtual time (for implementation-related reasons, which require downloading the code and gaining experience with it, to establish a common language, for an explanation to be understood). 104.532 + 104.533 + 104.534 + 104.535 +A subtlety is that events triggered 104.536 +before one tied ordering-point, {\em{might}} be visible in the other timeline before the other tied ordering-point. In the figure, segment 2.1 might be able to see events from segment 1.1 if it looked. The VMS guarantee doesn't cover overlapped trace-segments. Physical events triggered before are only guaranteed visible 104.537 +{\em{after}} the tie point, and events after are only guaranteed 104.538 +{\em{not}} visible {\em{before}} the tie point. 104.539 + 104.540 +We call this bounded non-determinism, because events within overlapped trace-segments have non-deterministic ordering, but the region of non-determinism can be bounded by tied ordering-points. This allows a program to specify non-determinism, but control the region of non-deterministic behavior. For example, a reduction construct could be created that non-deterministically assigns portions of the reduction work to overlapped Slave segments. It would tie together ordering points from all the Slaves that mark the end of reduction. Hence, the outcome is deterministic, but the path to get there is not. 104.541 + 104.542 +\paragraph*{Sequential algorithms for parallel constructs.} 104.543 +The globally-consistent sequential order in Virtual time enables one 104.544 +of VMS's main benefits: sequential algorithms for parallel constructs. 104.545 +An implementation to 104.546 +tie ordering points together equals an implementation of parallel constructs. A plugin has an ordering of state transitions available, and chooses from those. Sequential algorithms rely on an ordering existing, while concurrent algorithms must include operations that establish an ordering. Plugins have Virtual time ordering available, so they can use sequential algorithms. 104.547 +\subsection{Specification of Scheduling State} 104.548 + 104.549 +Scheduling state is used in VMS to organize internal activity, for 104.550 +enforcing the guarantees. 104.551 + 104.552 +\begin{itemize} 104.553 +\item VPs have three scheduling states: {\em{Animated}}, 104.554 + {\em{Blocked}}, {\em{Ready}}; see Figure~\ref{figStates}. 104.555 +\item VPs in Animated are {\em{allowed}} to advance Program time with 104.556 + (core-local) physical time. 104.557 +\item VPs in Blocked and Ready do not advance their Program time. 104.558 +\item Animated has two physical states: {\em{Progressing}} and 104.559 + {\em{Stalled}}. 104.560 +\item VPs in Progressing advance Program time with (core-local) 104.561 + physical time, those in Stalled do not (allowing non-semantic 104.562 + suspend for hardware interrupts). 104.563 +\item Scheduling states are defined in Virtual time only. 104.564 +\item Progressing and Stalled are defined in (core-local) physical 104.565 + time only; the distinction is invisible in Virtual time. 104.566 +\end{itemize} 104.567 + 104.568 +\begin{figure}[h!tb] 104.569 +\begin{minipage}{.55\textwidth} 104.570 + \includegraphics[width=\textwidth]{../figures/Scheduling_states_2.eps} 104.571 + \caption{Scheduling states of a slave VP in the VMS model. Animated, Blocked, and Ready are only defined in Virtual Time and only visible in the Master. Progressing and Stalled are only visible in physical-processor local time, not visible in Virtual time.} 104.572 + \label{figStates} 104.573 +\end{minipage} 104.574 +\hfill 104.575 +\begin{minipage}{.43\textwidth} 104.576 + \includegraphics[width=\textwidth]{../figures/VMS-core__plugins.eps} 104.577 + \caption 104.578 + { 104.579 + The Master, split into a generic core and a language-specific plugin. 104.580 + The core encapsulates the hardware and remains the same across applications. 104.581 + The plugin implements the semantics of the parallelism-constructs. 104.582 + } 104.583 + \label{figMasterSplit} 104.584 +\end{minipage} 104.585 +\end{figure} 104.586 + 104.587 + 104.588 +Some important points: (1) only VPs Animated can trigger physical 104.589 +events that are seen in other program time-lines; (2) the distinction 104.590 +between Blocked vs Stalled is that a Slave has to explicitly execute a 104.591 +VMS primitive operation to enter Blocked. In contrast, Stalled happens 104.592 +invisibly, with no effect on semantic behavior. It is due to hardware 104.593 +events hidden inside VMS, such as interrupts. 104.594 + 104.595 +The Ready state is used to separate the parallelism-construct behavior 104.596 +from the scheduling behavior. It acts as a ``staging area'' for 104.597 +scheduling. VPs placed into this state are {\em{ready}} to be 104.598 +animated, but the scheduler decides when and where. 104.599 + 104.600 +An interesting point is that in VMS, the causal tie between timelines is created by actions {\em{outside}} program timelines. In contrast, memory-based lock algorithms place the concurrency-related behavior {\em{inside}} program 104.601 +timelines. 104.602 + 104.603 +\paragraph*{Transition Between Slave Scheduling States.} 104.604 + 104.605 +\begin{itemize} 104.606 +\item VPs transition states as shown in Figure \ref{figStates}. 104.607 +\item Animated$\rightarrow$Blocked is requested by a Slave executing suspend, but takes place in Virtual time at the point the Master acknowledges that request. 104.608 +\item Blocked$\rightarrow$Ready is determined by the semantics 104.609 + implemented in the plugin. 104.610 +\item Ready$\rightarrow$Animated is determined by the scheduler in the 104.611 + plugin. 104.612 +\item Transitions in scheduling state have a globally consistent order 104.613 + in Virtual time. 104.614 +\end{itemize} 104.615 + 104.616 +The parallelism primitives executed by a program do not directly control change 104.617 +in scheduling states. Rather they communicate messages to the Master, 104.618 +via a VMS supplied primitive. If it suspended when sending the request, then the act of the Master acknowledging the request places the Animated$\rightarrow$Blocked transition into Virtual time. Inside the Master, the plugin then processes the message. Based on contents, it performs changes in state from Blocked$\rightarrow$Ready, 104.619 +creates new VPs, and dissipates existing VPs. Most communication from 104.620 +Slave to Master requires the Slave to suspend when it sends the 104.621 +message. A few messages, like creating new Slave may be sent without 104.622 +suspending. 104.623 + 104.624 +The suspend primitive decouples local physical time from Virtual time. 104.625 +Execution causes immediate transition to Stalled in physical time, 104.626 +later the Master performs Animated$\rightarrow$Blocked, fixing that 104.627 +transition in Virtual time. The only relationship is causality. This 104.628 +weak relation is what allows suspension-points to be serialized in 104.629 +Virtual time, which in turn is what allows using sequential algorithms 104.630 +to implement parallelism constructs. 104.631 + 104.632 +\subsection{Plugins} 104.633 + 104.634 +The Master entity has two parts, a generic core part and a plugin 104.635 +(Figure \ref{figMasterSplit}). The core part of the Master is 104.636 +implemented as part of VMS itself. The plugin supplies two functions: 104.637 +the communication-handler and the scheduler, both having a standard 104.638 +prototype. The communication-handler implements the parallelism 104.639 +constructs, while scheduler assigns VPs to cores. 104.640 + 104.641 +An \emph{instance} of a plugin is created as part of initializing an 104.642 +application, and the instance holds the semantic and scheduling state 104.643 +for that run of the application. This state, combined with the virtual 104.644 +processor states of the slaves created during that application run, 104.645 +represents progress of the work of the application. For example, 104.646 +multi-tasking is performed simply by the Master switching among 104.647 +plugin instances when it has a resource to offer to a scheduler. The 104.648 +parallelism-semantic state holds all information needed to resume 104.649 +(hardware state, such as TLB and cache-tags is inside VMS). 104.650 + 104.651 +\section{Internal Workings of Our Implementation} 104.652 +\label{secInternal} 104.653 + 104.654 +For our example implementation, we name the elements and describe their 104.655 +logical function, then relate those to the abstract model. We then step 104.656 +through the operation of the elements. 104.657 + 104.658 +\paragraph*{Elements and their logical function.} 104.659 + 104.660 +As illustrated in Figure~\ref{figInternals}, our VMS implementation is 104.661 +organized around physical cores. Each core has its own {\em{master 104.662 + virtual-processor}}, \texttt{masterVP}, and a {\em{physical-core 104.663 + controller}}, which communicate via a set of scheduling slots, 104.664 +\texttt{schedSlot}. The Master in the abstract definition is 104.665 +implemented by the multiple \texttt{masterVP}s plus a particular 104.666 +plugin instance with its shared parallelism-semantic state (seen at 104.667 +the top). 104.668 + 104.669 +On a given core, only one of: the core-controller, \texttt{masterVP}, 104.670 +or a slave VP, is animated at any point in local physical time. Each 104.671 +\texttt{masterVP} animates the same function, called 104.672 +\texttt{master\_loop}, and each slave VP animates a function from the 104.673 +application, starting with the top-level function the slave is created 104.674 +with, and following its call sequence. The core controller is 104.675 +implemented here as a Linux pthread that runs the \texttt{core\_loop} 104.676 +function. 104.677 + 104.678 +Switching between VPs is done by executing a VMS primitive that 104.679 +suspends the VP. This switches the physical core over to the 104.680 +controller, by jumping to the start of the \texttt{core\_loop} 104.681 +function, which chooses the next VP and switches to that (switching is 104.682 +detailed in Section \ref{secApp} Figure \ref{figAssembly}). 104.683 + 104.684 +\paragraph*{Relation to abstract model.} 104.685 + 104.686 +We chose to implement the Master entity of the model by a set of 104.687 +\texttt{masterVP}s, plus plugin functions and shared 104.688 +parallelism-semantic state. VMS consists of this implementation of the 104.689 +Master, plus the core-controllers, plus the VMS primitive libraries, 104.690 +for creating new VPs and dissipating existing VPs, suspending VPs, and 104.691 +communicating from slave VP to Master. In Figure~\ref{figInternals}, 104.692 +everything in green is part of VMS, while the plugin is in red, and 104.693 +application code appears as blue, inside the slave VP. 104.694 + 104.695 +Virtual time in the model is implemented via a combination of four 104.696 +things: a \texttt{masterLock} (not shown) that guarantees non-overlap 104.697 +of \texttt{masterVP} trace-segments; the \texttt{master\_loop} which 104.698 +performs transition Animated$\rightarrow$Blocked; the 104.699 +\texttt{comm\_handler\_fn} which performs Blocked$\rightarrow$Ready 104.700 +and the \texttt{scheduler\_fn} which performs 104.701 +Ready$\rightarrow$Animated. \ Each state transition is one step of 104.702 +Virtual time; is guaranteed sequential by the non-overlap of 104.703 +\texttt{masterVP} trace segments; and is global due to being in 104.704 +parallelism-semantic state that is shared (top of 104.705 +Figure~\ref{figInternals}). 104.706 + 104.707 +Transitions Progressing$\rightleftarrows$Stalled within the Animated 104.708 +state are invisible to the parallelism semantics, the Master, and 104.709 +Virtual time, and so have no effect on the elements seen. 104.710 + 104.711 +\begin{figure*}[h!tb] 104.712 + \centerline{\includegraphics[width=5in]{../figures/VMS-core__internal_workings.eps}} 104.713 + \caption 104.714 + { Internal elements of our example VMS implementation 104.715 + } 104.716 + \label{figInternals} 104.717 +\end{figure*} 104.718 + 104.719 +\paragraph*{Steps of operation.} 104.720 + 104.721 +The steps of operation are numbered, in Figure \ref{figInternals}. 104.722 +Taking them in order: 104.723 + 104.724 +\begin{enumerate} 104.725 +\item \texttt{master\_loop} scans the scheduling slots to see which 104.726 + ones' slaves have suspended since the previous scan. 104.727 +\item It hands these to the \texttt{comm\_handler\_fn} plugged in 104.728 +(which equals transition Animated$\rightarrow$Blocked). 104.729 +\item The VP has a request attached, and data in it causes the 104.730 + \texttt{comm\_handler\_fn} to manipulate data structures in the 104.731 + shared parallelism-semantic state. These structures hold all the 104.732 + slaves in the blocked state (code-level detail and example will 104.733 + come in Figure~\ref{figReqHdlr}, Section~\ref{secApp}). 104.734 +\item Some requests cause slaves to be moved to a \texttt{readyQ} on 104.735 + one of the cores (Blocked$\rightarrow$Ready). Which core's 104.736 + \texttt{readyQ} receives the slave is under plugin control, 104.737 + determined by a combination of request contents, semantic state and 104.738 + physical machine state. 104.739 +\item During the scan, the \texttt{master\_loop} also looks for empty 104.740 + slots, and for each calls the \texttt{scheduler\_fn} plugged in. It 104.741 + chooses a slave from the \texttt{readyQ} on the core animating 104.742 + \texttt{master\_loop}. 104.743 +\item The \texttt{master\_loop} then places the slave VP's pointer 104.744 + into the scheduling slot (Ready$\rightarrow$Animated), making it 104.745 + available to the \texttt{core\_loop}. 104.746 +\item When done with the scan, \texttt{masterVP} suspends, switching 104.747 + animation back to the \texttt{core\_loop}. 104.748 +\item \texttt{core\_loop} takes slave VPs out of the slots. 104.749 +\item Then \texttt{core\_loop} switches animation to these slave VPs. 104.750 +\item When a slave self-suspends, animation returns to the 104.751 + \texttt{core\_loop} (detail in code in Figure 9), which picks 104.752 + another. 104.753 +\item Until all slots are empty and the \texttt{core\_loop} switches 104.754 + animation to the \texttt{masterVP}. 104.755 +\end{enumerate} 104.756 + 104.757 +\paragraph*{Enabling sequential implementation of parallelism semantics.} 104.758 + 104.759 +All these steps happen on each core separately, but 104.760 +%% AC. Cannot be both an essential property of VMS and "un this particular..." 104.761 +% in this particular implementation 104.762 +we use a central \texttt{masterLock} to ensure that 104.763 +only one core's \texttt{masterVP} can be active at any time. This 104.764 +guarantees non-overlap of trace-segments from different 104.765 +\texttt{masterVP}s, allowing the plugins to use sequential algorithms, 104.766 +without a performance penalty, as verified in 104.767 +Section~\ref{secResults}. 104.768 + 104.769 +Relating this to the abstract model: the parallelism-semantic behavior 104.770 +of the Master is implemented by the communication handler, in the 104.771 +plugin. It thus runs in the Master time referred to, in the model, in 104.772 +Section \ref{secAbsModel}. Requests are sent to the Master by 104.773 +self-suspension of the slaves, but sit idle until the other slaves in 104.774 +the scheduling slots have also run. This is the passive behavior of 104.775 +requests that was noted in Section~\ref{secAbsModel}, which allows the 104.776 +\texttt{masterVP}s to remain suspended until needed. This in turn 104.777 +enables the \texttt{masterVP}s from different cores to be 104.778 +non-overlapped. It is the non-overlap that enables the algorithms for 104.779 +the parallelism semantics to be sequential. 104.780 + 104.781 +\section{Code Example} 104.782 +\label{secApp} 104.783 + 104.784 +To relate the abstract model and the internal elements to application 104.785 +code and parallelism-library code, we give code snippets that 104.786 +illustrate key features. We start with the application then work down 104.787 +through the sequence of calls, to the plugin, using our SSR 104.788 +{\cite{VMSHome}} parallelism-library as an example. 104.789 + 104.790 +In general, applications are either written in terms of a parallel 104.791 +language that has its own syntax, or a base language with a 104.792 +parallelism library, which is often called an {\em{embedded 104.793 + language}}. Our demonstrators, VCilk {\cite{VMSHome}}, Vthread, 104.794 +and SSR, are all parallelism libraries. A parallel language would 104.795 +follow the standard practice of performing source-to-source transform, 104.796 +from custom syntax into C plus parallelism-library calls. 104.797 + 104.798 +\paragraph*{SSR.} 104.799 + 104.800 +SSR stands for Synchronous Send-Receive, and details of its calls and 104.801 +internal implementation will be given throughout this section. It has 104.802 +two types of construct. The first, called {\em{from-to}} has two 104.803 +calls: \texttt{SSR\_send\_from\_to} and 104.804 +\texttt{SSR\_receive\_from\_to}, both of which specify the sending VP 104.805 +as well as the receiving VP. \ The other, called {\em{of-type}} also 104.806 +has two calls: \texttt{SSR\_\_send\_of\_type\_to} and 104.807 +\texttt{SSR\_\_receive\_of\_type}, which allow a receiver to accept 104.808 +from anonymous senders, but select according to type of message. 104.809 + 104.810 +% An example of a double column floating figure using two subfigures. 104.811 +% (The subfig.sty package must be loaded for this to work.) 104.812 +% The subfigure \label commands are set within each subfloat command, the 104.813 +% \label for the overall figure must come after \caption. 104.814 +% \hfil must be used as a separator to get equal spacing. 104.815 +% The subfigure.sty package works much the same way, except \subfigure is 104.816 +% used instead of \subfloat. 104.817 +% 104.818 +%\begin{figure*}[!t] 104.819 +%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% 104.820 +%\label{fig_first_case}} 104.821 +%\hfil 104.822 +%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% 104.823 +%\label{fig_second_case}}} 104.824 +%\caption{Simulation results} 104.825 +%\label{fig_sim} 104.826 +%\end{figure*} 104.827 +% 104.828 +% Note that often IEEE papers with subfigures do not employ subfigure 104.829 +% captions (using the optional argument to \subfloat), but instead will 104.830 +% reference/describe all of them (a), (b), etc., within the main caption. 104.831 + 104.832 +\paragraph*{Application view.} 104.833 + 104.834 +Figure~\ref{figAnimVP} shows snippets of application code, which use 104.835 +the SSR parallelism library. The most important feature is that all 104.836 +calls take a pointer to the VP that is animating the call. This is 104.837 +seen at the top of the figure where slave VP creation takes a pointer 104.838 +to the VP asking for creation. Below that is the standard prototype 104.839 +for top level functions, showing that the function receives a pointer 104.840 +to the VP it is the top level function for. 104.841 + 104.842 +The pointer is placed on the stack by VMS when it creates the VP, and 104.843 +is the means by which the application comes into possession of the 104.844 +pointer. This animating VP is passed to all library calls made from 104.845 +there. For example, the bottom shows a pointer to the animating VP 104.846 +placed in the position of sender in the \texttt{send} construct call. 104.847 +Correspondingly, for the \texttt{receive} construct, the position of 104.848 +receiving VP is filled by the VP animating the call. 104.849 + 104.850 +\begin{figure}[h!tb] 104.851 +{\noindent 104.852 +{\footnotesize 104.853 +{\small Creating a new processor:} 104.854 +\begin{verbatim} 104.855 +newProcessor = SSR__create_procr( &top_VP_fn, paramsPtr, animatingVP ); 104.856 +\end{verbatim} 104.857 + 104.858 +{\small prototype for the top level function:} 104.859 +\begin{verbatim} 104.860 +top_VP_fn( void *parameterStrucPtr, VirtProcr *animatingVP ); 104.861 +\end{verbatim} 104.862 + 104.863 +{\small handing animating VP to parallelism constructs:} 104.864 +\begin{verbatim} 104.865 +SSR__send_from_to( messagePtr, animatingVP, receivingVP ); 104.866 +messagePtr = SSR__receive_from_to( sendingVP, animatingVP ); 104.867 +\end{verbatim} 104.868 +} 104.869 +} 104.870 +\caption 104.871 +{Application code snippets showing that all calls to the parallelism library 104.872 +take the VP animating that call as a parameter. 104.873 +} 104.874 +\label{figAnimVP} 104.875 +\end{figure} 104.876 + 104.877 +Relating these to the internal elements of our implementation, the 104.878 +\texttt{animatingVP} suspends inside each of these calls, passing a 104.879 +request (generated in the library) to one of the \texttt{masterVP}s. 104.880 +The \texttt{masterVP} then calls the \texttt{comm-handler} plugin, and 104.881 +so on, as described in Section \ref{secInternal}. 104.882 + 104.883 +For the \texttt{SSR\_\_create\_processor} call, the comm-handler in 104.884 +turn calls a VMS primitive to perform the creation. The primitive 104.885 +places a pointer to the newly created VP onto its stack, so that when 104.886 +\texttt{top\_VP\_fn} is later animated, it sees the VP-pointer as a 104.887 +parameter passed to it. \ All application code is either such a 104.888 +top-level function, or has one at the root of the call-stack. 104.889 + 104.890 +The send and receive calls both suspend their animating VP. When both 104.891 +have been called, the communication handler pairs them up and resumes 104.892 +both. This ties time-lines together, invoking the VMS guarantee. Both 104.893 +application-functions know, because of the VMS guarantee 104.894 +(Section~\ref{secAbsModel}), that writes to shared variables made 104.895 +before the send call by the sender are visible to the receiver after 104.896 +the receive call. This is the programmer's view of tying together the 104.897 +local time-lines of two different VPs, as defined in 104.898 +Section~\ref{secAbsModel}. 104.899 + 104.900 +\paragraph*{Concurrency-library view.} 104.901 + 104.902 +A parallelism library is a wrapper. Each call, in general, only creates a request, 104.903 +sends it, and returns, as seen below. To send a request, it uses the 104.904 +combined request-and-suspend VMS primitive that attaches the request 104.905 +then suspends the VP. The primitive requires the pointer to the VP, 104.906 +to attach the request and to suspend it. 104.907 + 104.908 +In Figure~\ref{figImplLib}, notice that the request's data is on the 104.909 +stack of the virtual processor that's animating the call, which is the 104.910 +\texttt{receiveVP}. The \texttt{VMS\_\_send\_sem\_request} suspends 104.911 +this VP, which changes the physical core's stack pointer to a 104.912 +different stack. So the request data is guaranteed to remain 104.913 +undisturbed while the VP is suspended. 104.914 + 104.915 +Figure~\ref{figAssembly} shows the implementation of the VMS suspend 104.916 +primitive. As seen in Figure \ref{figInternals}, suspending the 104.917 +\texttt{receiveVP} involves switching to the \texttt{core\_loop}. In 104.918 +our implementation, this is done by switching to the stack of the 104.919 +pthread pinned to the physical core and then jumping to the 104.920 +start-point of \texttt{core\_loop}. 104.921 + 104.922 +This code uses standard techniques commonly employed in co-routine 104.923 +implementations. Tuning effort spent in \texttt{core\_loop} is 104.924 +inherited by all applications. 104.925 + 104.926 +\begin{figure}[h!tb] 104.927 +{\noindent 104.928 +{\footnotesize 104.929 +\begin{verbatim} 104.930 +void * SSR__receive_from_to( VirtProcr *sendVP, VirtProcr *receiveVP ) 104.931 + { SSRSemReq reqData; 104.932 + reqData.receiveVP = receiveVP; 104.933 + reqData.sendVP = sendVP; 104.934 + reqData.reqType = receive_from_to; 104.935 + VMS__send_sem_request( &reqData, receiveVP ); 104.936 + return receiveVP->dataReturnedFromRequest; 104.937 + } 104.938 +\end{verbatim} 104.939 +} 104.940 +} 104.941 +\caption{Implementation of SSR's receive\_from\_to library function.} 104.942 +\label{figImplLib} 104.943 + 104.944 +{\noindent 104.945 +{\footnotesize 104.946 +\begin{verbatim} 104.947 +VMS__suspend_procr( VirtProcr *animatingVP ) 104.948 + { animatingVP->resumeInstrAddr = &&ResumePt; //GCC takes addr of label 104.949 + animatingVP->schedSlotAssignedTo->isNewlySuspended = TRUE; //for master_loop to see 104.950 + <assembly code stores current physical core's stack reg into animatingVP struct> 104.951 + <assembly code loads stack reg with core_loop stackPtr, which was saved into animatingVP> 104.952 + <assembly code jmps to core_loop start instr addr, which was also saved into animatingVP> 104.953 + ResumePt: 104.954 + return; 104.955 + } 104.956 +\end{verbatim} 104.957 +} 104.958 +} 104.959 + \caption 104.960 +{Implementation of VMS suspend processor. 104.961 +Re-animating the virtual processor reverses this sequence. \ It saves the 104.962 +\texttt{core\_loop}'s resume instr-addr and stack ptr into the VP structure, 104.963 +then loads the VP's stack ptr and jmps to its \texttt{resumeInstrAddr}. 104.964 +} 104.965 +\label{figAssembly} 104.966 + 104.967 +{\noindent 104.968 +{\footnotesize 104.969 +\begin{verbatim} 104.970 +handle_receive_from_to( VirtProcr *requestingVP, SSRSemReq *reqData, SSRSemEnv *semEnv ) 104.971 + { commHashTbl = semEnv->communicatingVPHashTable; 104.972 + key[0] = reqData->receiveVP; key[1] = reqData->sendVP; //send uses same key 104.973 + waitingReqData = lookup_and_remove( key, commHashTbl ); //get waiting request 104.974 + if( waitingReqData != NULL ) 104.975 + { resume_virt_procr( waitingReqData->sendVP ); 104.976 + resume_virt_procr( waitingReqData->receiveVP ); 104.977 + } 104.978 + else 104.979 + insert( key, reqData, commHashTbl ); //receive is first to arrive, make it wait 104.980 + } 104.981 +\end{verbatim} 104.982 +} 104.983 +} 104.984 + \caption 104.985 +{Pseudo-code of communication-handler for 104.986 +\texttt{receive\_from\_to} request type. The \texttt{semEnv} is a pointer 104.987 +to the shared parallel semantic state seen at the top of 104.988 +Figure~\ref{figInternals}. 104.989 +} 104.990 +\label{figReqHdlr} 104.991 +\end{figure} 104.992 + 104.993 +\paragraph*{Plugin view.} 104.994 + 104.995 +SSR's communication handler dispatches on the \texttt{reqType} field 104.996 +of the request data, as set by the \texttt{SSR\_\_receive\_from\_to} 104.997 +code. It calls the handler code in Figure \ref{figReqHdlr}. This 104.998 +constructs a hash-key, by concatenating the from-VP's pointer with the 104.999 +to-VP's pointer. Then it looks-up that key in the hash-table that SSR 104.1000 +uses to match sends with receives, which is in the shared semantic 104.1001 +state seen at the top of Figure \ref{figInternals} in 104.1002 +Section~\ref{secInternal}. 104.1003 + 104.1004 +The most important feature in Figure~\ref{figReqHdlr} is that both 104.1005 +send and receive will construct the same key, so will find the same 104.1006 +hash entry. Whichever request is handled first in Virtual time will 104.1007 +see the hash entry empty, and save itself in that entry. The second 104.1008 +to arrive sees the waiting request and then resumes both VPs, by 104.1009 +putting them into their \texttt{readyQ}s. 104.1010 + 104.1011 +Access to the shared hash table can be considered private, as in a 104.1012 +sequential algorithm. This is because our VMS-core implementation 104.1013 +ensures that only one handler on one core is executing at a time. 104.1014 + 104.1015 +\section{Results} 104.1016 +\label{secResults} 104.1017 + 104.1018 +We implemented blocked dense matrix multiplication with right 104.1019 +sub-matrices copied to transposed form, and ran it on a 4-core 104.1020 +Core2Quad 2.4Ghz processor. 104.1021 + 104.1022 +\paragraph*{Implementation-time.} 104.1023 + 104.1024 +As shown in Table~\ref{tabPersonDaysLang}, time to implement the three 104.1025 +parallel libraries averages 2 days each. As an example of 104.1026 +productivity, adding nested transactions, parallel singleton, and 104.1027 +atomic function-execution to SSR required a single afternoon, totaling 104.1028 +less than 100 lines of C code. 104.1029 + 104.1030 +\paragraph*{Execution Performance.} 104.1031 + 104.1032 +Performance of VMS is seen in Table~\ref{tabOverheadCycles}. The code 104.1033 +is not optimized, but rather written to be easy to understand and 104.1034 +modify. The majority of the plugin time is lost to cache misses 104.1035 +because the shared parallelism-semantic state moves between cores on a 104.1036 +majority of accesses. Acquisition of the master lock is slow due to 104.1037 +the hardware implementing the CAS instruction. 104.1038 + 104.1039 +Existing techniques will likely improve performance, such as 104.1040 +localizing semantic data to cores, splitting malloc across the cores, 104.1041 +pre-allocating slabs that are recycled, and pre-fetching. However, in 104.1042 +many cases, several hundred nano-seconds per task is as optimal as the 104.1043 +applications can benefit from. 104.1044 + 104.1045 +\begin{table}[h!tb] 104.1046 +\begin{minipage}{.35\textwidth} 104.1047 +\begin{tabular}{|l|l|l|l|} 104.1048 + \cline{2-4} 104.1049 + \multicolumn{1}{l|}{} & SSR & Vthread & VCilk\\ 104.1050 + \cline{2-4} 104.1051 + \noalign{\vskip2pt} 104.1052 + \hline 104.1053 + Design & 4 & 1 & 0.5\\ 104.1054 + Code & 2 & 0.5 & 0.5\\ 104.1055 + Test & 1 & 0.5 & 0.5\\ 104.1056 + L.O.C. & 470 & 290 & 310\\ 104.1057 + \hline 104.1058 +\end{tabular} 104.1059 +\caption 104.1060 +{Person-days to design, code, and 104.1061 + test each parallelism library. L.O.C. is lines of (original) C code, 104.1062 + excluding libraries and comments. 104.1063 +} 104.1064 +\label{tabPersonDaysLang} 104.1065 +\end{minipage} 104.1066 +\hspace{-.05\textwidth} 104.1067 +\begin{minipage}[t]{.7\textwidth} 104.1068 +\hfill 104.1069 +\begin{tabular}{|l|l|r|r|} 104.1070 +\cline{3-4} 104.1071 +\multicolumn{2}{l|}{} & comp only & comp + mem\\ 104.1072 +\cline{3-4} 104.1073 +\noalign{\vskip2pt} 104.1074 +\hline 104.1075 +VMS Only & \texttt{master\_loop} & 91 & 110\\ 104.1076 +& switch VPs & 77 & 130\\ 104.1077 +& (malloc) & 160 & 2300\\ 104.1078 +& (create VP) & 540 & 3800\\ 104.1079 +\hline 104.1080 +Language: & & & \\ 104.1081 +\quad SSR & plugin -- concur & 190 & 540\\ 104.1082 +& plugin -- all & 530 & 2200\\ 104.1083 +& lock & & 250\\ 104.1084 +\quad Vthread & plugin -- concur & 66 & 710\\ 104.1085 +& plugin -- all & 180 & 1500\\ 104.1086 +& lock & & 250\\ 104.1087 +\quad VCilk & plugin -- concur & 65 & 260\\ 104.1088 +& plugin -- all & 330 & 1800\\ 104.1089 +& lock & & 250\\ 104.1090 +\hline 104.1091 +\end{tabular} 104.1092 +\caption 104.1093 +{Cycles of overhead, per scheduled 104.1094 + slave. ``comp only'' is perfect memory, ``comp + mem'' is actual cycles. 104.1095 + ``Plugin-concur'' only concurrency requests, ``plugin-all'' includes 104.1096 + create and malloc requests. Two significant digits due to variability. 104.1097 +} 104.1098 +\label{tabOverheadCycles} 104.1099 +\end{minipage} 104.1100 + 104.1101 +\vskip-1.5cm 104.1102 +\begin{tabular}{|l|lr|} 104.1103 +\hline 104.1104 + Matrix size&Lang.&sec.\\ 104.1105 +[2pt]\hline 104.1106 + $81\times81$ & Cilk & 0.017\\ 104.1107 + & VCilk & 0.008\\ 104.1108 +\hline 104.1109 + $324\times324$ & Cilk & 0.13\\ 104.1110 + & VCilk & 0.13\\ 104.1111 +\hline 104.1112 + $648\times648$ & Cilk & 0.71\\ 104.1113 + & VCilk & 0.85\\ 104.1114 +\hline 104.1115 + $1296\times1296$ & Cilk & 4.8\\ 104.1116 + & VCilk & 6.2 \\ 104.1117 +[2pt]\hline 104.1118 +\end{tabular} 104.1119 +\hfill 104.1120 +\begin{tabular}{|l|r|r|r|r|} 104.1121 +\multicolumn{5}{l}{}\\ 104.1122 +\multicolumn{5}{l}{}\\ 104.1123 +\multicolumn{5}{l}{}\\ 104.1124 +\hline 104.1125 + operation & \multicolumn{2}{c|}{Vthread} & pthread & ratio\\ 104.1126 + & comp only & total & & \\ 104.1127 +[2pt]\hline 104.1128 + mutex\_lock & 85 & 1050 & 50,000 & 48:1\\ 104.1129 + mutex\_unlock & 85 & 610 & 45,000 & 74:1\\ 104.1130 + cond\_wait & 85 & 850 & 60,000 & 71:1\\ 104.1131 + cond\_signal & 90 & 650 & 60,000 & 92:1\\ 104.1132 +\hline 104.1133 +\end{tabular} 104.1134 +\caption 104.1135 +{On left, exe time in seconds for MM. To the right, overhead for 104.1136 + pthread vs. Vthread. First column is cycles 104.1137 + for perfect memory and second is total measured cycles. pthread cycles are 104.1138 + deduced from round-trip experiments. 104.1139 +} 104.1140 +\label{tabHeadToHead} 104.1141 +\end{table} 104.1142 + 104.1143 +\paragraph*{Head to head.} 104.1144 + 104.1145 +We compare our implementation of the \texttt{spawn} and \texttt{sync} 104.1146 +constructs against Cilk 5.4, on the top in Table~\ref{tabHeadToHead}, 104.1147 +which shows that the same application code has similar 104.1148 +performance. For large matrices, Cilk 5.4's better use of the memory 104.1149 +hierarchy (the workstealing algorithm) achieves 23\% better 104.1150 +performance. However, for small matrices, VCilk is better, with a 104.1151 +factor 2 lower overhead. Cilk 5.4 does not allow controlling the 104.1152 +number of spawn events it actually executes, and chooses to run 104.1153 +smaller matrices sequentially, limiting our comparison. 104.1154 + 104.1155 +When comparing to pthreads, our VMS based implementation has more than 104.1156 +an order of magnitude better overhead per invocation of mutex or 104.1157 +condition variable functionality, as seen on the bottom of Table 104.1158 +\ref{tabHeadToHead}. Applications that inherently have short trace 104.1159 +segments will synchronize often and benefit the most from Vthread. 104.1160 + 104.1161 +\section{Conclusion} 104.1162 +\label{secConclusion} 104.1163 + 104.1164 +We have shown an alternative to the thread model that enables 104.1165 +easier-to-use parallelism constructs by splitting the scheduler open, 104.1166 +to accept new parallelism constructs in the form of plugins. This 104.1167 +gives the language control over assigning virtual processors to 104.1168 +physical cores, for performance, debugging, and flexibility 104.1169 +benefits. Parallelism constructs of programming languages can be 104.1170 +implemented using sequential algorithms, within a matter of days, 104.1171 +while maintaining low run-time overhead. 104.1172 + 104.1173 +\bibliography{../helpers/bib_for_papers} 104.1174 + 104.1175 +\end{document} 104.1176 + }
105.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Scheduling_states_2.eps Thu Feb 02 12:22:53 2012 -0800 105.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 105.3 @@ -1,460 +0,0 @@ 105.4 -%!PS-Adobe-3.0 EPSF-3.0 105.5 -%%Creator: cairo 1.8.6 (http://cairographics.org) 105.6 -%%CreationDate: Sat Nov 13 08:19:40 2010 105.7 -%%Pages: 1 105.8 -%%BoundingBox: 0 0 196 77 105.9 -%%DocumentData: Clean7Bit 105.10 -%%LanguageLevel: 2 105.11 -%%EndComments 105.12 -%%BeginProlog 105.13 -/cairo_eps_state save def 105.14 -/dict_count countdictstack def 105.15 -/op_count count 1 sub def 105.16 -userdict begin 105.17 -/q { gsave } bind def 105.18 -/Q { grestore } bind def 105.19 -/cm { 6 array astore concat } bind def 105.20 -/w { setlinewidth } bind def 105.21 -/J { setlinecap } bind def 105.22 -/j { setlinejoin } bind def 105.23 -/M { setmiterlimit } bind def 105.24 -/d { setdash } bind def 105.25 -/m { moveto } bind def 105.26 -/l { lineto } bind def 105.27 -/c { curveto } bind def 105.28 -/h { closepath } bind def 105.29 -/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 105.30 - 0 exch rlineto 0 rlineto closepath } bind def 105.31 -/S { stroke } bind def 105.32 -/f { fill } bind def 105.33 -/f* { eofill } bind def 105.34 -/B { fill stroke } bind def 105.35 -/B* { eofill stroke } bind def 105.36 -/n { newpath } bind def 105.37 -/W { clip } bind def 105.38 -/W* { eoclip } bind def 105.39 -/BT { } bind def 105.40 -/ET { } bind def 105.41 -/pdfmark where { pop globaldict /?pdfmark /exec load put } 105.42 - { globaldict begin /?pdfmark /pop load def /pdfmark 105.43 - /cleartomark load def end } ifelse 105.44 -/BDC { mark 3 1 roll /BDC pdfmark } bind def 105.45 -/EMC { mark /EMC pdfmark } bind def 105.46 -/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 105.47 -/Tj { show currentpoint cairo_store_point } bind def 105.48 -/TJ { 105.49 - { 105.50 - dup 105.51 - type /stringtype eq 105.52 - { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 105.53 - } forall 105.54 - currentpoint cairo_store_point 105.55 -} bind def 105.56 -/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 105.57 - cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 105.58 -/Tf { pop /cairo_font exch def /cairo_font_matrix where 105.59 - { pop cairo_selectfont } if } bind def 105.60 -/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 105.61 - /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 105.62 - /cairo_font where { pop cairo_selectfont } if } bind def 105.63 -/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 105.64 - cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 105.65 -/g { setgray } bind def 105.66 -/rg { setrgbcolor } bind def 105.67 -/d1 { setcachedevice } bind def 105.68 -%%EndProlog 105.69 -%%Page: 1 1 105.70 -%%BeginPageSetup 105.71 -%%PageBoundingBox: 0 0 196 77 105.72 -%%EndPageSetup 105.73 -q 105.74 -Q q 105.75 -q 0 0 197 77 rectclip 105.76 -% Fallback Image: x=0, y=0, w=196, h=76 res=300dpi size=776967 105.77 -[ 0.24 0 0 0.24 0 0.916468 ] concat 105.78 -/DeviceRGB setcolorspace 105.79 -8 dict dup begin 105.80 - /ImageType 1 def 105.81 - /Width 817 def 105.82 - /Height 317 def 105.83 - /BitsPerComponent 8 def 105.84 - /Decode [ 0 1 0 1 0 1 ] def 105.85 - /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 105.86 - /ImageMatrix [ 1 0 0 -1 0 317 ] def 105.87 -end 105.88 -image 105.89 -J3I@:GU(oO"FIqV0;rCK*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 105.90 - C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`A'g"%<TR;.<aa6d`HE,+YZP^B4!g 105.91 - 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 105.92 - _Aoh+fk'&t\ctI:h]"?)EVlIDd]!t-Xh$Ve"[JLu9_eZN2gNOTbQKrP([VkioDBB7=[,UR, 105.93 - Hi@$GNQ^C&p\W4]93o[!Fh+rPIlj(Jn9-kkY-14!k3ht)5*"HoRH<m_r]WPZbLQ=\HN&Dt^ 105.94 - XMoO5Hj,<r%.;1#6R5q'GCO!c[3P"3fin8!'p!h(Bd%.<&4_0Y]I&S^9EhP$:=6h2[i'Xe5 105.95 - Hi.ORs\,]MULe&O`lL:DH='_T*?\/t?>d]TK".)b+h3HQG[sd`!J'DZ"t[_D3s3(.rT]M^h 105.96 - <(_S[]nEccj\7PZ6M.8)G'`o"._.^6"^W"Ppcc4c/u3R3him5rW-bk4-FPO/64ckHom6-ti 105.97 - J%7AMW9b)h,-_jSiSuV&ELS'g5/:Q%^br&5DeEnb\e.gFr;4j*_9i=p_2*k2@[8f4f<AenT 105.98 - <`W38;-MOnKj.e_Q,3?(f9Om7?e4oCJQgZ*h2u1!2'n#gg%K!DB3<_"X(keF*MZ_@G1Ed7> 105.99 - ;haXA))8C?"dI7ot,?P2T;S5?2%pJG?hVRcZ<)f7H[>"\)m@0?8V'$JR>njlZch42=GEj[T 105.100 - 4&n?hf?XIq!P\.u@^0VDF-?GfCPQA,''qCLT7E23?\J*`H"p).jbLiOLj8QXgt7CRShB%EX 105.101 - iFq6k?EkOj:*SRe,%AVXodSr'0))J4\okLfL'T'%#7D6$`!`A)dSfo@#OBmIG1V.mMqX0?E 105.102 - InfEH^'PuKNd`;(C\aGrimCVg+cLnm>S*p6in/MrB_=3sJ%E%]U:DLk=S8TFgnf3]:amtt* 105.103 - /^*`*cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu>q+ssgKcl$loZ@-jp`9s"i 105.104 - V8utNT9gU:R1&;So:1_qAt]ol2%!TXm>j*caE0;T'sA]r#ZHgnbf"4c1ClU:Y#.:T5WQ[rZ 105.105 - @3_q>R"imJHo*ch78:TC;^Xhuj(2:F3QNPpBD[Js(>X@KF9s*<Y5Q&V<hS$:.cG"lR<:K2? 105.106 - Fq6.e=*i<1<W:lZ/T=A9+[qup"1*.pM>])p%>.#(RD)FIVD%H55cLJ[C[6eHetiWMQ';%=d 105.107 - <=H*&a;#Q*#g(u1n*:KUa;2S4G.RdIA(#m/7Mc"@E7G,9iirieH&L<&FZF9n0Hjks2Xu8c% 105.108 - h&GC-EK3oA3_*<>*TP(`Kb5XX`7SK>U]c71;@Z#a=UcP87#@%(/k/Ca#i)(-?%E3_1_7*i, 105.109 - G`8GP>Z9n5GAiRV$*J3dYr(d=\L[65g5KkXC+ZJG:Vd.YSC']>"`"1.ODluQW!6X9;*jh`' 105.110 - hG/;\!2k3K,!@7*1iq+?3'AbqnL8d@&s:C'@bB2<Mj1Rc,`6"A-9ck60b6;iYln+FQ8dSEZ 105.111 - SCY'*Rnh)jeQnX`#NH;7W14m(ZpRoAa(9q\[Sk*5rU_:jK7\We7N7)YI%:52EpGUTMD[[*Z 105.112 - )MG"j=0Bg?TUJe%&dFh5CV&8?Z,JK=4g.b0'74EU=nju1$.1>000r7jpRT!C,"4V.\*0fki 105.113 - b*c3_l3+=,<=W20!C\WZNCfL(#,Y(^RN*^]>cL_9,h6&9%B@A6"EeMm<R=*7^l;d(5WZ1N$ 105.114 - I)`>7;8l(Y-qBbh-93!ENW<e\lW)&?0fITY>t#)=5*U[lihV72@ctm.h,Qr5U$At/p.8#*B 105.115 - 8Y!Odbn>/'njfA`cO0ZW&>F=kRsGXTZ!HQB#&URnPW?7&CrIY#))IDen`oZ%;POHon**5pQ 105.116 - ?6[oVqR7`OU>7kMQAd]?p5=^Wa45btqglpb7-$$56"CV!G0/6uD]&h_,[#5<"X!dhUi!4Cd 105.117 - e5T92q)pNZs7HqKeY4c2Vh0\UEn\/)MqHm&!"7O#=^K)Hkhq?O?_=ZUlQk&D8M4bf,7*1h5 105.118 - %Uf[&*%,]Y[&@HV=A#j'L$@7N*Z/eOiS6R?Xe_.Y1r;mTX?VR37O`bkKQ,quWJebc0pY_]: 105.119 - ub]&;X/)>%2eFcA(e!snc1qr=*F$5r/Fg/5"WKA0.(5`rI+`p@]WTX.Th3oQ045b]3sKBKL 105.120 - tc"B"ZV$ZjLLOr67O+0S7PK.lM"ph*Rt5Q(cmW3bM^b/ugcAU/`-okM5HooEKjWq@>Dr=d* 105.121 - F7NarR7MagLt"r/oW1t#=<'5:^P@K=-1b$&]!J=N1.o`e*kJ2e!Q>q-/Y:d`c66mm]%>T*3 105.122 - fagpCB88D'_XlZ4df2iYqN?*ErV$UMJ>7Y1/X@#Xc*)=GZb@9hoSKj+Rn\[=kC^e"Z/-TqE 105.123 - `hJ45M*VZ]k"'7B=bnJD>uVBu<i6$]X9NRu6bE)HB=ra5Z"]:Q@P7-tSNu4a:&D.--Fd4:< 105.124 - !55N=puRa71,a*Dh_+4?,Pm1],4dJNJt]S`T[5r*?8rnaq>f&jOYE:'ShX,hCDD,*3^5aY) 105.125 - *Jq>qX(10qgo1RS8h/c0,Y?$ZfQ%F4nOI!Q=9<TVfY7TI5s_O%I$q,Qm[S&.El86L$j4WWk 105.126 - Yg*BM.F&>EC3$?!L.qZ\bm")"nLT$=LM#ANR$04VrC?a?KBC[PKR'.K'sh8\W'Q$CMQ$*O1 105.127 - MHiSH]=R7kP>_!FWha7L[/-pLWQ/h2O!V06K;Ltk[%(sA:o2C.="Yd@Ik(\\[2)%;>+XQC7 105.128 - hKbDrcdk`!;(D*\e<JTt:oOrhmGq`>PW#U_b%jg0XY@k_(5uEi90al$hgc;"c=H'Fh_[Ij> 105.129 - +5&4+Tr,$$GOK8!hX93IGZ4/2eWU%T8XQb>QLl,s66N^PLG@<NU$b8`;X"HC>9ED6G:G8OV 105.130 - *\+7UcdhY2]IX"TW2B;62O<!N+rhi2FuUoSjF&TYT?UT_b<g!j%=_m7.!A*W`K)nuStsWRM 105.131 - 0W6jU"fRc(j^l(F]"m,iirQqh*'iBIMqB^>b;UB,h\bUsk(FL@jT!0DU6kW0mO66":-)GlA 105.132 - 0d#d?tFI%k.'<73.0!q$"#c^/#!_L,IJ56#M3:WXb"&&"'%8QL[F:$=8d=B1)5k5N6e>U3# 105.133 - %BZ]L@Dr^#[g3Q/LX+V4lq%12lORcUg*o_j+_qW=N"PRc&!7800bEr[Wr/Mnnu_'_bNdQW_ 105.134 - ?.lg"DQB^TUQTJU=K=iek;VAmuE]j@-g\Q`M(/50_lG<<5ZUGU`m,\kuJV*A/6n5W6h+I&T 105.135 - IQldL5Qc$.)'FWtkl#ZiP0'&dndYJ/8:R[L$rA(N'QiDj:MM55kSD)QrWMK2WM)[!tj)O31 105.136 - rOEPRSC2BDn.*3R6TNOK?_*"R&B'97AG5^sh0K&'fi!3to.bKf@&0cse#+/!ZslDb.DU>/# 105.137 - `ZU"-pEY.]U1mW]4+g$"@_4q9e]Ta]o*&9)inh>HC']WWKg6&BPnCeZ']G/TLeo@;H^rIJ[ 105.138 - kQi;>-(mOMmZARulI2Ct-D5W2lR;SF'dmE[-a@1uTrf^ta!3?qH',]*lZ4J[P_92k*:fX+_ 105.139 - 5,[KEi?en.^>Sh:C[QV[2si)/$`]hE4I:Q5jA>Z-#qfN^u[.!(86:+\Nrd]NHkG[6On.'0! 105.140 - ajsk\=$>f.UR90<S+do)P+n(AZ6tnF.n2i&<ACR4IRR!E1!@nUA9RT"1O4-_X$7dXiCT9.p 105.141 - hH[YnrCVg06Q3AbBs+mMB4'2\sn[ikbg/Kj-^O@TY^(uE%32R=7'%6Fqr%\)el\j4jNO4k; 105.142 - SKd!./Q#2&9#3Rh,PrWoQOFp1GTsk=/N5BLnq,:Q%i4P[3YQhm+40on-;]-G^:;@>B$Se8* 105.143 - O5VQ%2`[mN1WsV8$r&mKRSlt()t2i)JQ"cf#SHTuk=s8>0dcHV"#fGn47<peZ<@G4NBqX.% 105.144 - ?qjZ@/hgA7k.;a%O&dae)`qR2+)9D;@uUh8gkG`iX`Cf%*A)k5[<0nn>oO0!`,?;Tci=Q>k 105.145 - d437^P.9&rtX#P=G$ImbuhK&HW`PRhl)*RK/aHo++8h#qMYT*g7*W1U-0FkpiAG1=Ds9oW\ 105.146 - (QkspuK9=2B",/3f8V*m)l7"G.9&d&`.-Lq^-!O78Ji0cmHfenV"pbFj&kbUd*i7X@aVSX' 105.147 - 3ZgU+%;a58o4L'AKYIX`HnK,IQo!6?/0m8s>eLeU_;Qp`!_:(D$qbqVt;me`6_A*d6V++88 105.148 - *J!lG$iqnYR,.-jk])srC7a1dM&Pq8;s6LHJb&iX\IULV<ljbR')EO;UmH&Ik<O5nmjg;h" 105.149 - Uii6qZ'Tbo<A`=@5pPF(Y,V\+k9dSI9Uj)>ID+m@NHL(`#(AQgMG@N:s@_cC'9Y?aj&u*2. 105.150 - 'B74"=*%;cUROM',_&b5]uc?KeCe&*ZV9igD;FkRm%L'U^Zu2ToL'@B:"LXhGA3N@4CN;76 105.151 - @3p+^&81q%#WrmU=>NXucL38a9&"V!N7OcZ,0U=O+A'p'",(,gP>oiICRAgfoB:L_1]fbs6 105.152 - >Z+t)U[XdTo7p4B9"SGJ@O_>LRQ"b1(%p!O]p7Z4ZUk=gipaKod1/T)8Iii&P^9j:1m9(RR 105.153 - E"rmmm1uRE(1utLHYhm;/+';1Pc55pdl&m5=\V+G:FdOFF$-,cDm3RQP;?\!fl2-AE46726 105.154 - W6VYSeZGeCC[I^<Xuhqk=#oV@P?\([\H"+F^MTfHt"09n7_d/*q8\M<G\"):phY.Gg'/]iI 105.155 - Noo:<4A)?$!JhG.2=3kbT8:`>V=2eW!@HbM*DbU^0hi>*CaVeF@TMG./,RG6aC"d$3jI/C> 105.156 - 2=h_c7bTEfg!`G8DW64p%AktQ!GSU>Y'I(.=XJe\3M>1RI<=kA2;0>e3!*r,:L<jXZ"1j<o 105.157 - ep)S1'/Wi%qi-,QelWI%:S+br9O5S`X@=7hfJ[c_Okj0Ho'eROjT.hn2O2CamP;!#DUb_Ii 105.158 - (Rnn$UH29e%G4A0o[^aB'd[82KsGk6=?-BuB7^t7L:D)Tkn>%S-5]]j(NG(UlN95A4IYjj3 105.159 - `j92QpB>HqB62,)6/Z"==hP:jPJ:6%+ZYCJQF]0TgKZ:Mn$HYpqW)f&F<5#KqQT:5\XN)!> 105.160 - u?loSH`g'Xom+nfP:5N7U'M8k9unIkm52A@JiECYn:$X#JC3jUk@K3>%B6'p39>;GP1;n"U 105.161 - MrbitHo+OYaoD4?A@OVLiD#*qU'lO^c%g<3mGPdC(L&tBs;)3oJMQ+:/;os,T6M+lD7#h7S 105.162 - 3o=lD&eH$(UP?-97,/3h*gBs$+]oJL3Nc^Xi0*bMEQ2-u=q4X6.4AsP`*DKZ"b5YmH+;FX^ 105.163 - O"4S(enWmam;-^3Dc7Fb&%2P'@rJ%1:ednKq5'ZCjdpb]fS8Pi%D&j2J-)bH;2N$AZn/$IP 105.164 - d]Q>Ik,kh0Uil(,eX^=<Ua.DO\MFY-),]7U9;p^Dgn'TLJ]]Knk%A:q08$i^pWoGc7L,RMp 105.165 - 3+T[09N?_`BBGqI-6^AF3qO#)s3tb4uX8,GHUlUhMb4Q)G*PKnrA$5Yd(Ca`iYEmA>2tWOe 105.166 - Y"m@P<g.2VdYY1*Ukn6\],mAJ&5;V60s<)GnQq+6m"d24m03h`Z:eZF/Mm5\Y_X][aNm+uO 105.167 - d#0>b)'m5Q#m>j0Fk=Z3b>/r/&<<\JL)`l`Xq[p(p'\K0Z1=?8\$KG:9T."Bd%e'F0LuFXY 105.168 - V'UI2Y0hj#n):M*(USN\[(B#N'enCH`N2\n)$uuTkd.=G\ON:Hf&8VI3i]A%ro[33PrhdNq 105.169 - gl7=KZ!>`%2`!G1mn]3k_a^tMF,'G0es'EY-/S2"^#uJH\]3p[C^dqVM-=cJPNufk?1[=pZ 105.170 - RI,F$Y)=P_d_jSW>;$cR")U@$KEX^:WdHqs^JDl#'ZaXn2cZ\cRZ!dB?)_DK"KYHW[G<d5@ 105.171 - A<^H<OQr#rp+0VgL0r$pY&/SC(lBt:0S+\l8V)K;ja.pVs[_H]gRr)(E^%7eeS&"G2Qpk8E 105.172 - uCVtrt+VXT8lK7>h.$b`0`E[i3r.2p;fVC4GDT^i_%AJO0nR%b>KL-chg5)n2%u'kfaBYji 105.173 - r3=En`=;6cXqJ^5kXWa>mE):bDKrEsWoaJ4e\h0Cb?WlJr8GpLMJdF1-7[VM:J$tQ1WG4tp 105.174 - [N^8G's(Tp!-hLd(Kn8k]&r<@]gF(S)!auB_s4q6@p$JDHr.&cA,uE#LOPPe%IonkWEa$gL 105.175 - TU&?$hlhg]u&Z"E&R'YNk)&:QM(f6.UHuf"GmO[hPn$6ER9+jTm<K'19HH!0l)j2[]ioS2J 105.176 - mrQ.^SRfr+GMOohbf4+i>6c\L^^e>]TChdN1Q>X?3Zh8.l0`S>+];_ZS#\Gl9e*SSQm'\gR 105.177 - .lOaG/akhI1hS&9'1>0,dd90^=eU8R:Y2)TR-@RfUJ4eLUo3I9Fn)8^5iP$:WGd36#c]@`% 105.178 - J,I7r(=ep&e0,H$Xq?9\4s/iL7HAng+7s-UC=(gbA:K$[HunTE!+`4="ba\H+Wa;=rc.*ak 105.179 - A5S=XR)XV-h$/p^Bn&IXc;]n5'?*RQ0E^c_8.h-[F_Mclf^jJ7NQlX.DJXWRHo=4lb,G=b1 105.180 - eg;2LV-I]j,l0jYHYgAF`<U],nZQro*9-XA[12XgG$UI].Q:[e$NR9t"9o?NKX\"irF=/5" 105.181 - FKG8,KInp.@4F\:BY\@(gU-1ZO7_C^&uhuQ,-gjK,;GrYB<C>0Rf"7j2uoY4,4:fsj'g3p[ 105.182 - gZMlV*[!h'DgOL:bo`&e%s)G;1*uHKX$_F/B)_G-@?@!hhoEs7fqaL6DQ2,otWR\'dg_-^W 105.183 - S:+a*GN'@iWn?,+(&>VTqnKh=Dka@.41E8TnRgqH9%qI<\,63YrP.0RZ6cdc&bDRm[]=8t5 105.184 - 0eC0+K_mdb.ldU&,6hK#mGrIi=MAU/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV 105.185 - !t\Y$!?C9BHm*Pg3u#Rn`&ZRFLYM#;K#i'H.N@M"@B5hpe"[/b)P]e*7Y!_sXKsI_uo.O:? 105.186 - )]64R)PFrB\-a^qe]m1u0kY1[[$>OE:HQ-SW:]3XkAS(6s&ID9.WD;5[9$!j4%E>4:117Ip 105.187 - W<,&a1h-(HBb6%8P?iV]:bg0ZR)BBTS8YsmMobsB%Y?A!ZC\A\fQHs9QJWr)2Tt]t0ri9#' 105.188 - cYS;1X%S(/GlnOWC:4.AF8"E2QVXU2lZN(FT%@nkh=#Rc*Zl(ZC$!T9YYEds-[eYK5'T1.Q 105.189 - :iY13dpqu'9DV&rVo+O"9SZiE$Pen5k%/T"[R!OX:<#4d2NBTCg$W/^+=?fii;2SLCZDHct 105.190 - *ePn750*7.EZD'h*+Q>8K`uKOYlD6VM7>#Vj7Gp7JJi*iHnLR[2&!Z6M3O!Cj_c)9Ho0RjU 105.191 - euKVKtgEho`d7*d;qblG'.i@cH0@t)G<a/jfl&Q;'f!"m[jY;]2IK]>'fF/8+`:@lE'0-1* 105.192 - -qTTfJ"MkGF8qVl?*HXOe75I\8@*)2$Kd0/eFJUK\;Y7pa9dClF3mA3n"U,pnPUYmEeEi:c 105.193 - <B5riNE9&$Kk"7dFerkX<qXFPedL$g1aZ;s'Z>AY/fDuF1B:W9/(o'qRqGmtKqi?cG,;6D& 105.194 - 9brK:5&<K).CaHPs@U@5TS#nReF/<F^93&gNQrtL#U`!GG?tshX=o:0\b/&SpFc/pc-M+GU 105.195 - ;I(@/*2)Kjf4<)i#SK"sZ!-a$')&_XPB?ND2lc4,;kl#"+M`GpZ1J7OFF"2&dEF/Q'`0&tU 105.196 - UcCs[6mAGO5dSS*61H_4s:agIg:7YZhf=AB1YV,9L!1f7u`#,A/4HD[aDCAPdOE9hRE4CRI 105.197 - JiuD(cCsWWt:Mm@$[1bW6gUD%sL?#g^H`$,@DYqHF]l/8[qnI(I#6Ve]Hm]<>E;W3>`Gp9; 105.198 - p1j-k[a\+C]Vd:'Er<s6c#\9q43qr$O$g"@pnp@*FT"^.eTH:Q>M!bI:L_`k4f$S@pA4u;V 105.199 - ^^XZHHc^:"/Z=uF'":[GlC3sj`u;fS*,(rLSO*[I]'74HN(skm<a<F]C1$@\&3!+@"5r_I/ 105.200 - c^comM=&g\6-rLSc,AI3-)srr:%1rI9=[qu8nMnGl9.72cK3Tado?O%6KD"f>rq_"WNP+8c 105.201 - e(OB)`TGVKD1e/*KV=n0<V2[Eh+,D;/E'0^'k%j.emK^cDd6MOst@5Iuq#*<1ZFOW>pe-RS 105.202 - .k]AFR#%j%B&U^h*,=Hd=&n4g5I*d$I`)rEA@['fKOW"qNZ%j''e6@inFpc,S817s\7PfsF 105.203 - h%,'p)H0JeNKFfi.FUF"A!D%pOk)TaGjuhbe9d7=p-2(C!?bneK92636V)J7,%OZ2OchUm8 105.204 - GO1bP>k:\YEChrGp+MFe=2YbG#(^*5q$:YUQLD5/%(`1IR>*UP`iIV9)2mHAX'NeP/L\MFO 105.205 - _3;(k.g+BGJ_cb^7;[_d&+aWCGnV(8b$*R=r\HN@?4LUoY[e;^a4ke`?lAe>I'pV";]"Ye( 105.206 - S(\U[//AVG1^'W4oB.RG>')5&iL:T;a)djAYO)=U71I*mSq:+/h>mljf`g+^uqX3KZ^3%,E 105.207 - iS7gti)B_C89[JWjPH^p?.PPIboc'K7g3T%;X[;7a,+iN1Ke4c=5UO/h>r3+qct9CH$oKE/ 105.208 - M`uleH6-G6<BEoQgg8B:n/lBWRK\rlNgj3M:h^@rWJ"lHc2"0C.S'Q=FZ!l2ie:&EXYME6d 105.209 - ]4mUDJ#liI[FT/blGo61!'LoN8bV^)5'9#C,rZ$F]P]tEZ\6D9i5):epuA+RoTk*>&'=ATi 105.210 - LCYXQp1IXC_*HcC*6SlX<[)(030jWoe-`odd:*FG*_qB4!)Ue>ZIIcRWc6!%]?nYf-gb>'2 105.211 - ]3b3b0A,JMn4RrDu7&>;Te#[(C(eCkCtS$j+IJQ`DmBU4Xr\B<CPg:!hn5R"@%W`Ide.qi5 105.212 - lXkR1*h5(VIHFJY5j%WA*?VH>CBs+R_\J?7J/IRtmeW%n(P+i^iCYsN(V:R+SA@`L`;1M?e 105.213 - =hodaX"f1l^efn%\9=%8?E<`tDf)Yl.m!Ia'f17]<VD>0idTj?/Uma(r[qZT'.0DuMJt<<3 105.214 - <o[@@e2Dg0pUt!=G"0D4/[d5DAU=8<t.TTq2]F!?C[,,]FW5K0>Ue[JW&TQ=Z0Y=16J"ZJ. 105.215 - \oD)Ei_R[R-d7ip&%qH']5*5Jrlo0e")2M$nad&uhg0B(Ard(ARU3_n67fF#8<_VHKPbQHj 105.216 - )g(RMDX@*;Y>5UUBi2fHB+_tkB8AspeI.G3q2i'Sh:9/C+C)nSq?X%ucBd)@QeL!TTVE9Jk 105.217 - mB_1X&e@M&/kaE$Vle\Vkai?q_@d,q*Q0!b][lGp8l8:I4I/lqMJt"=/X]j#KM<8S*m%iaE 105.218 - .?:^@3n%agI;W<.k1`U/S=!q8qO'rj]F2ld!2op9Cc5&?C:c6ND!_\D'"65hHW&ql@qm5If 105.219 - )#ccp#GMfS%e:bZFEH=2/S;/6aV\e)>l?:R@l:Q7o'fQqJSBa1;Z$CWL<n$G:T-<f=[Q<m] 105.220 - 'HSO_kej6#Wo`_n%Pf4jF7i\2m[F-*VE2Hk^"LDWiEoJT)J>W$](gC'L4FJsq-Uak?\>YIp 105.221 - @$-N31;GI?kr#1;msI^"_*RT8LHUH4#k^m]o-@j]a4"<T7HO@SMCm>7b^p@\DJ3_)s0m8Kl 105.222 - sXl6<RLATkH6\/J@5".Ni00^h6_3^1WCHA%$lDDnFOF42cr/bU_M6"FdD]Y-hl"!S<'H/<k 105.223 - WT\AB2!<*'E?%a';utUO9jXnABegMeI?==!L!QRh<d3Bf?Z[o=IsmG413C5:fD&q'`8)LON 105.224 - dPQHpnTR:$)9BLd7;GQSnssXDm0Y!dV9$eFJokF8th@""&E=Zo-UI]#^C%/+Z\$grp_H8:' 105.225 - ke2k-'W%P(ikXbQQiD!Wjaml3i7#08&*hOn8b:":0AT^15$?oEC.oj-kki1AKM;G_85jbr> 105.226 - gi^h^)48t7kCS0iQAJFPJtoFjF`S\GIQ]1TVtgDL&92&e4O(;N5#G_2W^T`D_G-ZDHYN#rE 105.227 - hqMeF)MA)A8_gk"qI_Z'r$d8X;Hm">@$O@FCWUcXW\;!>+f0[Bq6<hAg8sd(m=Li3M]HHg% 105.228 - `%;Md1Qc25$)#3>lEgP"2$.#C4,C1"q,3J;H]Oi[#XHKgn227K!.dC:6l:KBk[tQ*#fKC>" 105.229 - 5uWQ=Iqj(e3Z-f^sjSfnA@Yf'VH^?NO1O#4=7;>!fN"4L_Il736aRY1d\i-%\ut=bZ0S.#a 105.230 - tl&ZlBFlG_j=Q4h)J#P>cnK.#jlEkJWIb`C&h-n;`^eX9C^c76AX]9+_G'?&UT<#eUQS1ej 105.231 - "322Q'+#1t4kl/RD$E&'\-$To.e4?X86L8ujnJ;N<GfGfNlGQ@)U*][aAfJpFOEXB*D*LYW 105.232 - Bak?s?]0G?TJntCK4CJR2:.;Cu7/J"D#e3<:J\Iq9%5`p$>`+C!=IK(i^0FjZ.#LOibso4" 105.233 - _AVT&nY6A3JHBQM\--N%S15S-K8_L;THMKK8;p+_Y/W0\7`^cGpcZaqg]0o'$6TPTfXAgL1 105.234 - IKfN8&RCh=lhVgk!>-dK.(V0W0g*-dCsl`5*:rJ\@p&SSOd6W2-X_7I"a`e9>X5Rb5fo4A; 105.235 - X#>\OahS]blsSgbK;bMS&)i.I`0`8a]+tKhKhZ`5%/Ona?`oR",0q7TdPh39a#mO2&9""6u 105.236 - kEcl1-@D2X(C6"HetWNh.Z'$UaOU&o*WGa1n:d2l/I95qMf@%0e$)&T'8K!=El1\lkIe-dO 105.237 - &bV63A['e)-M8_$^%+BXJi/gCMhp*(V7I/&\<8\$=RLD%1#b9rZP\?+?jp!f+7RO7NA7<Jn 105.238 - X@@HJbE6'Zo,!#Z?dDA=Ls3I@X6Mp\!`&6Y9H]*^Gk8pKQG4Rr8P7p(pk2Cu!&t*Zb]&&qg 105.239 - 7M&4is8VG&'S!H"R$aTq+6[%c`j*7d"fW>Y0,\gb^bS0OBg0-.a\PT!%HsN#X_HNg'?!8]/ 105.240 - (4a`2(F=N!te@d?kNnWUGj\-W/+r#mB%AoMWsZI14XHQsA5NXWiUtfFhH*+!<=:BOK89\d5 105.241 - tjM<kJnJYLFi!6\2n`G>@tM<25MJ'#:[8Lo8:E.YlR"cDX'LnpO^KTcUjMU8'Z9MC+8*%re 105.242 - c0Gd]+Jl&.,*6FO,NR)EA*q_4CEnNDSbD;E:67@Oad"tR!Th,fKbY79E7#qUOfgS/_;eViQ 105.243 - 1nDGQYsAAEO(<aBg2jdWjGmn&eQVKu!5,uqZophMLqp&HOB=#h&0F<eJLFDrk`8W/^.u:j/ 105.244 - X8mr\ALuClH['<\*N5,9])F19*u?UZFjS`YcboM"OMC,;T"#cBs#AMU=QE2$oDES'd:Onl\ 105.245 - MZR^dMKfeT6PZmRC-tf-Khh4Rig0,a"Im<C$/,'n8oIWeTGhec;84r'erVB?S)J'AY\jQ"L 105.246 - A=XWGG=LckFAS7,GHLeZjpeF8.DdHukQneQ1R=W-7fYT0uZf`u2I<"S;cbZ%\hL/d(2<m6W 105.247 - Fm;'L.P<L!X$4T]8]Ed*Y!)tA$ddZZ^\La4cIAPjd2^B%;oQ?aX@Pu\r$cL<?Pg5+(CEIWh 105.248 - !OR(TI40o*Jd]7#$5DaY"b]e/CHt8afP0DMR"A%4@oH<S;jB#FlRUO`k#n@3cfHn`D6o$Qm 105.249 - *siGSrG\XMHi`,CKOSa),h%ZJ2Z2.jUQ(X)f5W^26_qZmT?#nd#a+8j*n!#!`+f$cMUXtFd 105.250 - WRMIG,D6#DE92[?q45l:)LscgZ`pV6W/$Z]j4Z%mA'k'f<p<1g>+M"%=GkSWK.he<<aVJ3. 105.251 - %:[1nEkQ9H#f>oD\Xd#(`:O$^d7`_F)e=G5,A[n_'=LgqsLMkLDfZ&/u_Nl,)X8a<40%8$= 105.252 - XLAgrX-*#!FPM^BR4S6jRNQ[6^R7V8QM@E$^'I6`tl<WV'gOP)&h:IHG/4j,!#Yi*jFeBe` 105.253 - n;&\)T"r'AaX.22&0@D(d0M4UXqP,dJRA2AT)A[bBSSpnnrM&1Lg7mQEtMX'L/+jm>Yp&Zm 105.254 - MXNn:dgkd<qqPO>2Ri#`8=Lp]G0OeIH-W@*$1<(J>bA8W]5eTk`1S[i#&WUrZ.VEL.D1q*h 105.255 - FWb7667K/7.`J=d@NEAg"4E!8l2aZDg<dGW_71@o\oC6a8tq`V^#]qk=,a^N^RTZP8,S4BN 105.256 - SY%5j's^k:I/$/p0i>tN`U2$7)CoAD3Rgu\\Lb\(4SJ_f*2L$O?O\6d>6o>s:melX9G*`*+ 105.257 - X;c#k4A<l\@^"[!m;r,[rROtsU<\=^o#0AiWhAtUQFiHF]2i!]1A.e/.[V&+;2nR/C5^>NL 105.258 - gT2&gp"6,gLaA^+aG8NH7gL]7?EfPSI@suhKis]]#`^N>`LVM_SqsgaM2isLFqY%YmK$(2@ 105.259 - iNE\^.nr&LtT:%#c[Q2NGTa9$>/-JMX<pq=Mn[rJkkt7%b"Xrcksf.Gl[.V(&0+bW&>;s7o 105.260 - FS>_k>`Dj7,3-P#7T>T&j7?W&0CQ<nU$*iD@$nj`cLZ2Irso;AL'Nc>200Ja)$@gHbAn6*2 105.261 - '`r9>te>Gd75AoNQ\GM'ogjfI`WI7.NeM;g3l@k=).=Gc4.QFB6.Jtc0cQnrMAZtiFECL4G 105.262 - bDRXD1\8.,8CS&+QY.JJ`\B9Br!fk!,SqRG=[Gj^W@"'ra@)HB#oJiE"?Mu"*2E'_L%VH`/ 105.263 - #fZ-9lc7le@;%"&Md$W6VS$aEcts9?D'%,B0%4Y=a.IlPm9Y9U@#%ENS*HRd#u2=u4+JdR` 105.264 - *J%M8?=Z/J0p(1g;50]NqEkm%K!mWO:&:fJRRbSE!n?B/AlA\M&)NfIXpH<K\o<#C4=iN(l 105.265 - .Mhmg)<46VK%4\<T=,<p*LdLphKfG#7CFdR,q;M`=)mW\8;$rJkP:n(h<(,hn5^MW]G,D:Y 105.266 - _#?L1hgh=$s=C+f9D[]E`ep'<LnLu,?BHOW7^r,Be(?<m*_5!9?D1g.7f#aQPlTTnlST][X 105.267 - sm<2"d(?t<BT\MG(eimMH2\Q\hif=<(ks1=KGYoME2t,BEOH;r&\7jUoX5mO8cBbX>Aa](q 105.268 - "7#l&miM^@?Rj$4CBZlhi+Em#:lF\=NblGLMXI;H<sjdjqLh'BF'85IBHm%srkV))Ej"inK 105.269 - ?A8=..Zg6E)-Ol)<G2mWG3%;kViQ[Sp>CMZZ*L8o4LN9D<6B<8-RmBE;7o!`tSLY!JipWnn 105.270 - joh7k8ZEJ+UKLnqS(7?8ot?@<<k:@s[KA&H>U8pec.Y;1OW203`=8._Tu$Bb:sc2X63++7) 105.271 - 2sLgOQ3cCXXJ;Y31M>R&IA-S+Q?0j^R=od;D9;>5$q_/nLFMgT&da);Vj5f%qiG9:jL06;> 105.272 - %FE^N'G@,N;Dg-DTG^"#dT6@pMNk]bp.<PkFGK4HA7r!l@j3F2HD3"..p<@gE6$(,YYgR<2 105.273 - O,%t0Lj4u;Gb9k<YD9f2q!D0Rm;I[aCrGb5m0XXbn!A]K1kfRlO_i:PoJF;Hpoa'`T8sL&N 105.274 - rN2m^jAq'O%fArKo@)YMq`8K^WsSoEF1ucInsuQB(g_;p1KQa7LjZ=AGA1XoiBpo0X9R+-+ 105.275 - f'bT$HM2K!]-T,C6a!ok15P50`UGFGR*h!!f7Tmh^f2CinjFLPF]+-Gs<])i6e?p)e\XB8+ 105.276 - gG_:-ML@/sORj?Vngj`osoLk[O.(kc0Z'XuZ6mK'H/f(TG?5X7dDd^<r`(sQGi`(!PEL_9b 105.277 - sO2ZpA[En&]%i:XopDrn!eogboq$HHIr)WYaV=ZD0l6j>pkM>D_E0F>WV7u3ma56RSQ?oai 105.278 - MdNOtSjVHKHf6,!iBVnkOI8YC@cdnWpb1a_#'G`?9nb`jq/tHl(Ja_EE+Mi7IjSD,=&F=2# 105.279 - ^G[qHihiG&U!Ztk$jpC@^uu_9F;%-rWNCU6"&&a6m`WVL-oCr0Eaik&r4>&;0\U"HQ.a4,L 105.280 - Mn^L.*8DVP,T07#k7tOiH"WQV>D%1R^a@ET?,?EAjCaB@H\[n_litSg`),74+9mMSH.:g4S 105.281 - C\p8U8jeL/9&[8;>$/(OLk5/eWr=_nk#6H[h8[S!Yp-qoY`EedpE[qXs`D0giVA-gB^rqUP 105.282 - r;C<(`Ml+l.-KAVH*/2]HMonb_=a:oi23lI"F4KlBL=cOT%eRl671J2aYlj?YD#Snh2TRjt 105.283 - UtGpd#pGNk@Je^^hc13*aS2p0XGrpsT;hY5c(#jd);;tfZ7]?K4k\q<-f#f'E*M@a%m8\j8 105.284 - #Oo'KoCH2^d#c8o2pEJ?[,3SopO)%5Ko9WV7,TOKV>+*HJ4Xmm`HAV_9beFMnogj'\^?AJg 105.285 - 1Z=.T@Bt]<9W_&@.9nMPJ*e4#j,[b2TY+7E;F4XWM<=;&Z-&CL/S^c&=Lg5qT]lO?aEklO" 105.286 - g(!Z*+*;H/nE8CC2'T"2g$5q0GsnhVdE12M-*1?Oeq91uT2aFU@HYTl!#@3!oa9uc8PT>q5 105.287 - [b8j9ZqF';9CeM)`Ui7hbKK<e9DW@G?*!jR#LdX<GU++e9^_)DA91'iiaO*\U<*Beb+7;`W 105.288 - 9T9TEer`j0Z]N6[oR\#Z,]]GPK"Ek)4Zf?U(g?LCosK'OZ`r^s*8!s4/9][fj7Hd(2=t`hT 105.289 - l'oeP,Ltn<fa%J`2??XNNB@GgCA;)Ju."<,+^+168M1bnKaj$]("ODGbB7i6DG&-Q10Ao;. 105.290 - ?@<WlMgS)+Kt9f/]RHXpC\(#b88tccF@?J(`?=g4Wp[RN[Q^Z=Ys=j/=JeP[2CpYjXB.k"? 105.291 - 75\AdP_fm$8"YZ?R<=u0d1%WN44GVURuAgfKa$rFJI(7-V5Z=?C<+9QN"VjBl=M,fuK5(g^ 105.292 - cRTtm,g58=5:O+:sRHNdFEErg=*mpUt5lTD"mF[;GAEE\`l+6<,>!]?0nZD#:?JF8UIB"cc 105.293 - WiN.%&u!)m)<)m5EC_suM-MN*(5Zs3c/?EQ]YoW<o6@`/MK:Ti\#CV-RLMG@H(%)`+^0VTh 105.294 - c<KYZ@luYqZ42LXf\Te+nm0J=D3r6<kr:5Na.]KS:?oUSK<$Xk`oJEcH>[-#9C2<.9^_h-J 105.295 - 3WDib9rcIAWkk7p2M$GrDYLU:pd3;ANTqR72O[>V5M[?e7BTCntV52KtVjcX=P=_1i(KJV) 105.296 - 1*4*#U:p&[Ms,i&b.g4EqU^6+`]"j^D)+/NC%U?#cage8\_7?'>I#U2eS&SPlS[Jm(ZglP( 105.297 - KH#taW)T*t46/8O5,YljC15%?WLgs81Na.5ipjEV(,KV2a/e^YdR.]=ZBRYke;n@R4G"F/% 105.298 - -g5^FY*/j@91%DXmf>h0eKl(G/2JHroDh:2)JYi-3[;gZqih90l!k9`?"FWq0:2Z+i!`MFb 105.299 - eaTQp`UgAA;r`JJKRMD3<i$E)j3Zg%mgL.N#Xr*/$`E6`CNu"(',:37@i1q(tcd&$ofGIH8 105.300 - d+[>!SZ?Ss6?.P002!6_=BqKqpb85,[biLh$6>&!d,]QPC0j"Ak<r4G1d%m5-/ceXFYS6'3 105.301 - T(2<Nl^OY\mac.U&n%8rQl8S%#016EjgPa7k.rXTO-jI+IZ,=ZX<ED7hee/n-fM+Tmk3Q[N 105.302 - JV2VQ$L$i*dapO@]=U0o&C-)[=V\Y'aj.,$-SfO/*@olNB>%>E1Xa'8TTX9"iE>XMZd:GBU 105.303 - /!$*OAnOm7)*Y$b25\mYT?WND2X/1DDC=iWVCI!jhI158FV6^U"mUrE5mrl/&:6_m4$D[&q 105.304 - 1T4u;:O=-<pJ\YV;tC=e^kO1.huWsd70Z,$@,e>eDI,:L:1.t\k=4nEZil9!)Dh*;ocg"E5 105.305 - cEb:9)EAX<iS)a`u$/)\1RQ*K.2R4Yg',f467/DQFSib#snQ7$SK#1,_J3=/sMP/+f@9'iM 105.306 - kJG'd8+eZH70'!IEI_e[f1NOG/0g_@pWY3jH_ZI[1B>MFjNaBbL=Q*S+WiTe2`]83JnG2$7 105.307 - pV0(XdYp)*Ol671BG&HEZ[r;]BaD69JmLA-fenX4uHKAidh"G,u=P#m-Vg7a-oj8M;!*tNL 105.308 - BC=UQ^Xa1hhtSLBn'0t0=<=X%RdGGONISLiVYJ]"kCPCb'fJ#1rF'0QC7K.B_cVA^?lVGfn 105.309 - 0T$kGb/n_X4C5)*IYW/:A<QQ3;,'".)sopL#It"NX>+Oa-cj&@P!&HE@s>oGodH)WoH3SSF 105.310 - dlS\pS!=,AQ_>8BTS;*E4SnO)^[ibB\OEj=J*M1+lbSH(F).X-&;_rD9)q_^NdRI@;sgeB9 105.311 - l%L?C\hT%HeIc\U1.kPYP-F&dS3P%t9UC`bY.eq;B$5<J*"$);U.Pt&=]9-12;VKCg'd'f! 105.312 - &eI&-enW%Y5\CXL@Ra%XM[Zo<G][(;O?tV=QZe!0P:Y&a5^TM1,^'Nn+ll*:41p4"6>9'GS 105.313 - /Wa&AY05M;03m'[G)PpFcd^WD%cpug[cXa2dT[Z.DA!Vg[hV,1<\&4YOrq&GmL7Tkq^H=je 105.314 - \'sThU24QH>Y=V^.<FlhjaXh<R'?PX:C3=qeL]NR?qAn<bC+a+,+\Hs1\8j#N+<<Ept!VP6 105.315 - ]B.an`hi9muQO3?kogg,kGf?"_,:;#fPQ[qB]\[Dt9#e\W9KQueQt_^>[!hY><O-D#q<qBn 105.316 - _qh&iG7Ss@b#B2.XH5H&]GV:>@><U/CIXEC,Bf)"Q8leN\GffjLCn0^NfrL^H?T%2QlB5R% 105.317 - l^USJ/jj?=0F[W^>-0cIUU3X3PgDJCmG!?+iq*'FWnLqh*T,$A`B8uH<5KJ*l-04uu)!kQ: 105.318 - ZM@ibk5=D5oA4uDH65T:XVSM:<gUPdqrQc7@V,&?$cDg*AaKAn[J&J7gj>K6D`r$,pKmmXH 105.319 - ln(3r[52I]1]hBY>`)^?`j.FgXkWX^\#CHeb\01m!YM6pAX72qqlnmINQQ(s!Qq+hk0OiT@ 105.320 - Nf<BC5ZT^\E:#jni8$IJMq$C]C$irr;0[s3L]F&-Do/#69hn!70^?YS+cjP1PEii3-+s:[\ 105.321 - ?Q6M`A`!miS&&2OD[0_F^<e;WDJ:*B^Y7P,0%"HZC_&5ra/,iEMS!UlEX0NSHFHN_].#1.8 105.322 - n&9?HC>5<$<k7DbA!XAq6K*[Qs#geUR%VWu2HNYu#bKu@U:koAhV[ANd$HosbN^2aqRgSXb 105.323 - $;e>C&AnoQ`mDY)`NN,H:AkFeaTF63%?THW&E=6l5moA1j=.1l0]qB!h%*?Z&((=f#(G9:> 105.324 - h?2e#LL!m0*`#M'+p?G&^_X_0^@L,%gFa2jq/CBd5)G52\Uc^&lB)EYgt6H`tXQs'[]\k&Q 105.325 - 9EA<u$j%(!aB#EFLHg0b^g-(=@%4Ys,Q,eI_kI<"Fm(&VCotLDZ/26NGRQ&SC3`hWN:+):> 105.326 - &p&JGIBkm<IA"@ALmnVnJb[i:IA)p^kh!7MfR^tfTt*7<(Q&D4gXh[\#B&u(^3,"2M%k8oc 105.327 - O*msEu&b@)ApA9G3*&5HNERQ%.#9]+b(JRO:0mY9'iZ_eA+jp_*Z2GOa]bZbS,18+h%SIr6 105.328 - 5oS+?eH14DJgDSV%jNSH,#Q<'Od<<CRj>:D-.6,Y;$LCs*>`Z;b(@AR+sS@B#,MAf2X47c; 105.329 - /A<=DLH5TR^,^3&^)L6QRS)dgQH+OdVB%"DCa.U!"sI@LmD"<K+c1gOt!R`&lTd1)_'4Y/C 105.330 - Mhoni%'CWt-LS*$Rm'$5E#F9.R!)I\<.!ZGJ&R.kMD20@Kj<En)2YW>bp_/eT6V.N14EH;> 105.331 - dq'2jT6J=A0JT.`Nt09ZDm'/MF;bo1TT&onX+nU3+.74oo60d`,nZSmDe73D*>+>["U'4Wp 105.332 - n__\$d)RA$7n_l<66SteULeB^+1M2Nn=X%n\,tie8PD)"qQT9s?0N!*P1)DlY5rYe^8^jc= 105.333 - _V[+fM*"9"18:$ho:%j@a#o3j3V%"@13#?a1HMIXL<:DfMC]2@nfm(<N!G;@_Z5K+F;uR'N 105.334 - <D#3K)dthINg49F@^U>;s5LDClX+t-`GT^_N@%D-6jaQ,dXp&1aY1,)a`cZL53X*V)Dl6)A 105.335 - Yq'$)1%dP!Cc9r1`E';H*i\@re?n&gS,p37>h0Zcbj<G=RO/.MH]gP1h&lXZ`Zh6&Lnd1Tk 105.336 - f)H6Q;s-3@[AinAQ"IW?gE<)cdcM3UYs$V"SDQm@-JB!`p2I&Q)$O+Q+[WXNtn5^TEKR,ft 105.337 - h!Z+J+_b05Z/j_?`dk*QFaZ22):XoD@#brj]$S#"&0U);dnjuJ'Fsj/GO0k.4U=c*<mO2\3 105.338 - CQu(teAh#-@!<;5-?UXY',ZMR[o>a=2'NE-U_?`"%OH6X6F,rk-X;J7c@2!A,#n.r'_]>Lq 105.339 - bT.s=4Mb;Zd1+Bdjh]U+gVbUob`'BdV29S<lIC(-6l[1&<&C4-.QNK8^0GATN#N\,@t1AeN 105.340 - b5:'3-.U5A*5-;RUgZ#?kRI;9+;o-dEj6auOSq+uQSHo2%Htn2I7uG!Z^H5u1j>;.%f04k7 105.341 - n)APZT@">s3:7RH'<_0]Df:L$o@3PnrEL-[e^;+C.a=;F,3(.)@CKi$<V0XBRmQ&m86n/u@ 105.342 - g<3gm+[9QO\)eFUA.b2H\L6XiBUKldsQLfZ3WF]ZARqA[`*Y^L=[4ibgUIiuOT]2>`p'jRD 105.343 - KHq;d+dGJj+q&%L1*X/U+t7s`PJ/J%_dlfkCt?l`(.g=t%l@<a2jRG5ZFOI36V\gE<)lsBp 105.344 - )G8)jIfM;LK:<I5QPbs(me9L-]$_TVP.]jD/iPA/Hn7]nuYe*r+0E6CdO8#QI0bT2fjS>c& 105.345 - (NAYa5eTd-q_!D:>J%#^oIA_eMLcBXG]4pDbO%rW!_ME$U3X(?QkY?;`TLEgLcdLu:2c$ms 105.346 - SZ0t2rf2^"ePqe>_pUBJ&Hei,$5a`FqlHIo;K2Us%W6n&h,FXUB]U,")14"/]23sIWhGBJ* 105.347 - Qs&umn+ZArm(:.g9dsc3p+Yt99jJlH$A0JGP@WrW:(XHhSS>DqpIC?\)28=N2"+<K`<u/hX 105.348 - 9MKjN-\@^9HW+o/cN?U;:Hb&ZI:FdXGO&Z2c%L0E@?oh,64,G+i$)7YJ<umR0/[pi&2dJ1E 105.349 - ms>FiSfOBpP0SWKD6C2[f:R7Af;F4@\R@dJi/)r?\.r+Jh2n5\>+p^d=V"C2`BDf2jo2k_h 105.350 - :"WL)5Ds+qKH>0n*2A.9O/4p)5/r]k/I:NBqoNP45.^"b).gN+=)\="Ym[1Q$GSO40RpEbQ 105.351 - [5[inhb=OKWjfS22Lcl_NJ?:&u^R*&Z9'PV=IF4\`=FYk:CE(=N6DZY?NajYc"7uY<8@X+% 105.352 - f\Li*ZRu_fd=.'#R).Q1(WgXWTU"Kr(=VH`=4cu!uKu+RBq*^UF+\QkEI#85pLVI<_ckPT0 105.353 - B`c&;oL"E/7@JEJQY5iUQ"a7j:*TE;M3Ein<,ieDAXo13:YBELq.q2*]hqdnRe[bKJd6POM 105.354 - (ujdG(M#X62uVTE&Y9-R2N"Jg$U%E]Kc30Mq2I1q+I@U'Hl*&,MDsDRMT$#_,iY9-$db1)D 105.355 - dHd3q&D*=EdD?\2d[egS!3^R3HuGe$`,Zm?0dAL#Z[=U&RdD!F]"./]W/\K2bf:>bZjN:3^ 105.356 - @mqK,XsH%291,8Ib_(q--,:R^"%+^/2j(Ss";Q(qN`Wm`[\Y!3r5Tl$!iUfe;*RH'*,&gu. 105.357 - (<XFio\N*ZA-?<Tr6Wb*7R=Cmhc^:S^Dh8.X"<hEhnj,=uL&.!kqT#SeSZSWAXl:ZT(QjbF 105.358 - JWH8'Z.g?<n^f\Q4_2,iAGEL7j3skL#HZPK9H)BBiZF3QaaobWTE9\AA0E@q'<\'2PPH/e6 105.359 - JJpBSZisIY]W=$D\GgV(+8tuZ5\;'&Mosa6(LMiQP-Kg>Ap)N0IT!n;mrbTe6-!rmpNY)-7 105.360 - 5Fk>/b0t6<hT%'`&(XBXf8]j-\gH]KnEfRCbi>V4j9-\Q`j;5u)k2)nMaL0fuXURs6=8ICM 105.361 - B9^X3"jBeQuj$(["bP+$q,4:aD3^LN\LA)%%#*$Z60!kGR%OHZH$g:rt7g;*SDq;UeV:hc3 105.362 - M-,c<H'6J`0QIfZt&S4'aZ37):(48FD[f62566^hnddN+I=g=Je`8#j`&Hfft-,=\.\FSXa 105.363 - dMPqNZX4@^[l<uJY?At91Wc'NaOC%.q3f9L.=rHi3?3[q*5`7KL6:8K+C#8Z)d7`9jS@T][ 105.364 - 921PQlXA;S]fOYbZsV_&A+u"JX3gLX4o>5j&K9[Jl5Zpjh1hA`jsI/Xhg@%7m-Ck*?tj&pV 105.365 - f6JX1U78$X6#i#+u;LIs5#urAW+bi3V6*[+scZ\gtVq-.SPj"T6?']Za=PO'*K./0%!]*:$ 105.366 - [SD:b>*"$L%hI/VM6>M%Q%W`D3]SVu0,QK>bVX*7,Aie,JrRC9m3a.%Frh5T.7[c'=t1]8o 105.367 - EGd5nl\Y;D8gACX!4iuMcf%L"POSrbEIG(hFcbs+3JmIKq*V.VVglU@Nesp%'=]`mo>Me#+ 105.368 - i'%\1%):\UV;L&b,%*k!*[BZN-fU^Jinc?K*])h_2rgJkj5*#]*^f!p8*$77jPE\o*`M0,= 105.369 - 66#Xin\Q/h:(=HBBGd#F6oA7SL]=/\_:8K)ub?N*eWZ_LZSXg^Rf6**g4-!(5b9pkanF3*i 105.370 - &!tMr("GeUEeL*jWU'R"X:+0d)>>*lI>Na6]D@m,$(U*n0L_fBo0amG?ag*olZpkO+r-mb[ 105.371 - F$*mOj/p&TX>mlpd@*s;"=fFgCVdFlS+?PDs'"m^t)ek:$$+!^.2l10cs*a^N#?SWfkS+DS 105.372 - 7kl2Ik+%#EMbfujN\Q&rtIWpmT-l/FZAUPE3!AX:ICZ'"@oD_8R+*+?q)M7u1[i\chT3b>F 105.373 - /-Fde,QJ5J"D#FMDtdV.q9!:CLaVr?DtkE-_P+gC"%WD97M^Kcq0loNs24bA7UM2Lh>Akt> 105.374 - VYoD>qs*K^u5V!!a'akXo&)*Q2eo)+7c<M.G=P^g*-OsJO&.T=>V'2$&(_)OP"Y=+VBPtQB 105.375 - =uH?83:A7cJF?oR9(LO\"D>Bf'F!(^*Ieo%>;&@540Di6<^XVD+=,9dc.Xo_sD-Thss;=u@ 105.376 - @`8Yo>LPhL7DTi%dglBPP\?EmY8<pPj6omQ^GHs#7V>;_E0qmBO5[G#"Pi@-?`mFPN`<G=F 105.377 - N`nhMIo`^D-]jSV^S2L<Y5asU7F/65l+d'lWnsNak?SRtnB(MGGp4#B%d7<NklXcg7p!m4t 105.378 - :V15!6#[(aY+#k8is0tdAkcLb-0TQhh<+6Pg#!=&alRR=SDJHSU!`+HqOLs"%nih+=`mMGA 105.379 - Zir&JaBh!Y8/L*HJNl3c_#/LiP1l_IZ;[_ZEqN`A%s,CoD\eU0GF`n5d3'U">[.&`3HqWl0 105.380 - em8XaA@a,n$3e"KHB4E:q*u.9d?I:QYSh6cr'oS3N,m<u+60FC,kS0pH;h7];7]I]X0&<jB 105.381 - M;$n/X&c)b`T_eDe++s_bfQOu18*1kU#.>1N^`DVr(/5%bJ[k:=ZoY3"K%7@ZI/M@1[+?"6 105.382 - S0eapE1/T;kW);/-!7S<E&K$_]jG6Eb7'/XL1_g6^:p`(j6r>BA`9j/Alb:t@mh@71_Xp_N 105.383 - 2kr0g%S>-U`:,Q^1qEuX,;]Qo<)keU=&r>/F^E>5%rq0H/Fi)Pp/6^c/Qa.&au#,ViN7l2a 105.384 - e4?K#TiXZ8t<Eam@S&q2O11T>.18<pK"=H+UQS;%4`UU(&IZ4d,qa^@bi.-;g);X]D#rAf9 105.385 - PNF?FR?2HpDd^nC5[eo[.SO<s72r,0s946Ou.VeRFB&FkjuC%"7`)@^rj"N+4iqZ[L`6ol! 105.386 - CZ%_ZtBf9A:dPUsme`W/qN1!Q()\Wj8*"1b`B!bXDN+I%F;n/%a1)9L@%;)Vl:;r`1)Q_nK 105.387 - .G+YVgES`o9A2VWH?/.7foO7r,nOp).>7qC2;eL:!6u='\f9\s<k2)%T6Y>MjQ\VI+4DuZ> 105.388 - H+l/5<rPC(3NtQ'&c=PHGJuM$TuM)bG9=nH1ZkMSff/o6JSR4k$I[&T)DDSA,B$%OoVCA>_ 105.389 - 3j%[:/-XpG'jFf!k2eo%/mF?ghu;L'>0AFhY;brSe49J#lZapM"+T>-0BKeGG")F0,?W)C7 105.390 - Mrbo$h1T[t\0WT>)sQLKYeVpYk*RZ^o?X%ASFl:Smi85F:R0I]CGf7pjfeYr1$VOPN*N"n& 105.391 - !*/HK3^LjZ"l^-6\8qd4^DJe1BX5r^:s87VElm"'&[2R(;,dY\:6L&me5i<`L(#pV,UBu&m 105.392 - J"eg#kL(M?B2"e)T(=Lu9:iX^qk;K&fe3AUu&X3^f:>VXB^k&X7.`0hN'4Q&ZM@i9W6&5*_ 105.393 - TAp#R7IZRmLk8(sA7&>5TSu49P4E'dbDK/o2+G+/)c<D1HI(u/]p2\8,IC`#i[R)\(l\l36 105.394 - ICLLU,PV'#pEh9LH6$a*&8b?aT)Di<C5D26kBSL7kC!fNqt!9aT3$<r(N4cL/CQ'8L[;RPX 105.395 - 3Su3CBb/Wm,=Q!tTP7"EdocLqI8^Z'nJ0.8;I,oY6b,"J//_2%F/5*Kfi><<kOOpI-(JQEg 105.396 - -<a7Z,KAe`jd'4u)UZ`mOC@f1PX/^-i;=u7T^klJ,eh+\bE+/IuJPKK=j:!)W_B=.DfEtPF 105.397 - g\W76_9KcCK^4@Y^^HkkQ[K$s"GY>$t0.4^LU(g(R4SW["LU?&umV->?auGsrocKju8mBP/ 105.398 - T/ER<-`%NSPqeWpXf'so3jLe;.e1hZA>fSa?uhf6`E,AS<@+4e2MY2AM,A"F7o^5elc1s\[ 105.399 - "5&L0QSp.XU9JJ(%!?I'kXRJ]"",>ni9ROAs^T]@koL%]apC(_2QOi<@JXhWli2[<SH\CCU 105.400 - J@Ont?;^)-9%8,0qgU3l)DYDdc\;<LrdaL/]Ym@r-:KZ4\LfUSN*'.V)XbTp!Y4KfULG4`@ 105.401 - 7k?D+Z^k@AEeVmR;9`)Nc6=_ID?=p"u^-X[AXXShISFsbU=]1Gid<PQ$[#2p9.=V\$O)C?) 105.402 - %Ejb5$F)H-H\edj#>s#$.DRJ*.(M<&?1M(atp#!CuL@JS3a`lFk.>rD9oj58`HZ$oQ^')Hd 105.403 - gcObKDmf<coMupT>0(h8Pfb6RLB0o($%[%R#Jh6)"^nt\K5buE_AGcFL7B]?XW-]8\)Rp+] 105.404 - K(_Md^?C/ZDNf_"?:@d-cHq#'k4gYMfEnn`XAgS#+R8`0ZCcD\E=lB]1m9Zjo2@6!0?,<j: 105.405 - O.*8')Vr-"OZVPB(hBar*\uANZrWEjf&m).tO4]XaALp0Z#]LG<C'QsfHU2)s7K*bN(<Rqb 105.406 - ,NVATHej<?aL$da[T)7_D4Cat\=]FW=l#=3#`l!C*e5<=#fJ7'?%Sb(-[9,[=>BC'K.1kq@ 105.407 - G)J2?M@I#DG2BoIEP=Capn0.GP7+,53M/%HAX*&M]c564Cj;f%uobf4.]"JtrSLL"Mf"]iV 105.408 - "o<!Pa,%haG1;sCktYZ\7g*7Q$+i]?$SA=3:"b.DgL05^URA:lIIl)qLN.2iSZsTe4=3-7> 105.409 - \p1+>!q@:h8_Tp&M<-dGH&^=`05.X:&2PJo(Bom\u"["Of5NCNmu*.G@4.D/;X#DhBkmBOT 105.410 - $SI\?=F:=eB$c^&Q,tpE*Q8RcEgf@Ch:b\N*"NPo)\a03$dS0I%Z`1dTPX[YRX(-;TP]c?= 105.411 - 1&l(d,]O+$R/M:$W)J`L&LP&On9apq2T,ojjtF7Qll#Y.qZ"m^GRSGTeerYaquLTu"ZB@:S 105.412 - h`[#r!N:c.med7CT.ilEWG9]?.%,X>r>n=5b^A6Y_7\%r]+R*RAe#iF0m-!2<UN^1Hj#gb? 105.413 - n`F>o&g$`']XO7!#@"N<lMa>d;&J\U$oE8c;i+*>#9mA-+,R.<8pqOiomKAkq!SnibNB?"" 105.414 - QO-A05O+s5JQmj]@$NG:1$,?Qh"[>b5%Zto6t\fo6JO)OrlkVr<^+2KVsWicVQt%B<?i7hj 105.415 - SO\CV;q]+Q9R1S*\!Tb?jYq-QR#nEN[!OHO%ms+6WS?5GP=ORp*/!_`M)@%GTnNe+KUp\$. 105.416 - Q@2KJu2]CJ1EftTM'^<6Yo@#%"J"i$.`^S?3<q_^Un&A]%mR,Y<7RYrm.ZaC0N^_>'[+QPF 105.417 - gq)s(j^f1Sr'GuY<S%4AMMrU,<J;cdeKtX9$#a=uje)ES/JrA[X[YW_+5_=a7.#]+s^po$* 105.418 - A)P.l[^tKj^T1^-,VR%<0T)<bQJ2<r//>cj(;@-lN`-S-^qr+E+GfpTLbmSkH?4p1m>+FZ\ 105.419 - ]BTB0T<QSdg5;!Lr4t'9HT)&i\o"3]M&(3ljl=f&47.'`2$"^MuL@.>!+<f[S):6X=Lt,ho 105.420 - !fs_k<F.r&tEPM*FOq6]d?qLhsfR["pOY#g:hV$rW%ZjG<]p`3`jioO!E%9Fcut3@m#f"7( 105.421 - u[:]iu!`>F?K^kB[Ri]YD*\`?4LFDD.U#/s-#2nWu5bUUP9+ulq][8H$T"EVUOFGNl2/)sF 105.422 - A;hDhr:,cER&.Bci`,J$WC^BB/`$.<5XDnMu\M7cM6pL_Y,\OWOE]Diq7oY5aFC6rd'YNJ5 105.423 - 4S3,Q5laEZN&Gb`6gPc0`!o5\J4Sa<a9r^$Y_'j4KFEfF#kVFoI$_s-kJe(s7O+ci5m,%"N 105.424 - 'MWC5!/%["?<qk5mUFga4-g*."b)jObh56auIbi@#i?NR*(Ym]B#B?I%&*6VScgC3lC!k=H 105.425 - pn^#tYhq8n`jhP\Grd,`3:faqSg9kiKs3M9:dW9;K/0"+\9=Z,8\K6VMbf4F.PYSB3%+bC$ 105.426 - Qg.#H(lZ,XGq#YYY_`'k"QYDGZg6_(HoXG'",N_?b(bi>Hk_Mc;fF/Sq1b1+3<'ZgX)4%\A 105.427 - D7=;R<*5bKuZV=sY^G)0PBSSU@_8j?_7A,mignb:p%>dI_\eG\!m,QAYJ',"Y9#SHg.-Ea? 105.428 - L<FB]6B#hG.ffp'Zq:..c+&?`A6+L#m5K.OLa/?HAEsn^-\s&83P=d9AG/dZg'De#^!_p:E 105.429 - .fqrgdR<[8*GoG,l>mXF&,3#\$X@IKJ-(p"OL(Sc<05SCl6F.!R3=Q8BO%gTSLeV@`o%/7= 105.430 - ,;9!.n%G_?a]a]#<ti,h30"gou1b#gD9ibi;N*(t"O@aGeKV*7;bX#f1WiNJ/#_AIjT]`tE 105.431 - 3PLc^uu$e<S!_h^/n9ONJ#AL.Uf,ej_#c2@Jn'S;Of/-rp)#fRTBV&3(#0[g[na'a8(*-\u 105.432 - !XNA!7]i#rum#<FRL:4HNL4o='CMC5ML+t7/7>O,k,k<s32pfE_4^7\E9gU$%6O<#4[\Y&G 105.433 - "*ZpT.YsR[e9*kWPeg0@DU:6"`/QM$ohVgZ#**7"^8-ZZh,$/':!nAaeO<NhEo5CYjjbSF; 105.434 - :IJNj]@<J\;6B[e\tkFns.a]j].dS<NK]\4^X&B>mQEr<^gWOEdGt-M*@/]<@q\$]k<1eAJ 105.435 - =Gb<lJt-np=CCjOP:Nf!T#=r*.]O0@aWTf4B-&"`TJjEJWtR<kW]NX@GV="3f;B=64n,/U. 105.436 - aGGmKse=#GJ&!/o:sj]:Jq=Cm5]FY_E.M8Maf$lPV*9oIZCN7c[?f]A.GooIc0OP(A2fd2g 105.437 - 723Z]^PhB'%fk$K&FdLd8R+[amf^3M]I:cT(SCu<S=9.10&;a!M(to^ug*NKI25AkoUlUdo 105.438 - `SH7$h5AtXq,uq9=nmg,%Ad7IXP24,g?#KkmA<HlVco(bgEF[BR+PT@Lg%Kq>@k7tFgp+Z\ 105.439 - <\_N8qjNS/\BcRVUg_G3`R.+Gh/Mc^t][@ga0hm28e3<`8"A3gh"L\FiW9kaP<'&gni0K[E 105.440 - I@EbhUanguZh`["Y8<]\O=MRYo4OCOn'SC"T!)%/$,rA_5ah<nfU]gJ-=ZNRqIDgtgB'>r$ 105.441 - @@auIFaM+csdN4n"Q-0*iJ/_Gd,^[p^H:#"F1kMDKghGrF$SS;DIC0mRJhDO]Wp$\s+hO+! 105.442 - &7*GVf!6AL6oA<R@O$20U(#%PQW8C>Ehkg10A\H::d4L(L$FT]ejo=6=cel]th,WFl#cZ_T 105.443 - "5m2`N0X,H%JX==U0p_%i2-j=ecuWg#[jm/i1:D9p(*$t)W/dYhqenO/e6hu']Dl]?<uLI/ 105.444 - MuEm'Ae`diMINN4q%l!%:QYe:duJap)f/%*";N]@Ka5MSg*/`,`(k3%.5<K:krIK-fUF2?l 105.445 - eB:/a$T7*`q2LioVkL/g_"d7gQmlj!HPA2DaA_1uhUoj(:40FuSH939-;bj/+lt[QENh4QG 105.446 - !Uj5rPcp-7UB5i`\Hj8^K:2BLlO7,m>_%,N^CQ:L"j8E?(.jJAY/[RF`H+66hSA9LT+p.sc 105.447 - S:urHij@2i)2BZFD_+#>RAL:I>G$!d[=P>Z+jZZl,8K8L;h&XmRQ'pS9i6p`l@-/55jsFR" 105.448 - 2Ikl=AEHp(T1F.fG%]rlB]bUpk,)nU[VP$FD!';ck2pRDp2B*uE9A!Vk9b642KS%NFQZ\Ik 105.449 - @So#G&EU@A`oA)kGERg[X72WI-9(/kN76Vp4)91JERc"kU(oF2M:3_K]lHjk[oS5G),:9M! 105.450 - 1.]kba7$[Ys@hN9JiPkiRogkdG'mA;?b=LR++(&[;Sl?YNBr$YG]_%[H:5Q"bE-l&M4op6k 105.451 - 0RRq\IUC!N,\fRE)QR-DV`l!C"I#,2@bUM<8jBr7`kAtS?pV.t1Ll#s&kVOd"4W+qotl?9. 105.452 - A-Eh10VX!TOCAtMS%\@GWXD15/CL4%+hQpqa[VIM#CHf4CSuuk3U[([fCQ>o?^6e/7[;5cQ 105.453 - CMq"**jfYl\SP$QCX0k6m_N\aX)(h*m%0a5k/6Nib\PeNljh5'f"Z$-_efn0Co5QqI`H9U` 105.454 - pD!rCYm'J51aTla_`r0D4])@(>%rfg2)M\m7,LjL>-PlbAI76D=5j>hUq2_iU,4SmKV5/k2 105.455 - g<3b3j/lmXEsZNnWnZipITBm[if`T%S#Dm-]VuDPkqOY4$9Un8;j4m`+AVG4TX,ennIYl%% 105.456 - ?@#Q~>Q 105.457 -Q 105.458 -showpage 105.459 -%%Trailer 105.460 -count op_count sub {pop} repeat 105.461 -countdictstack dict_count sub {end} repeat 105.462 -cairo_eps_state restore 105.463 -%%EOF
106.1 Binary file 0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Scheduling_states_2.png has changed
107.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Scheduling_states_2.png.bb Thu Feb 02 12:22:53 2012 -0800 107.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 107.3 @@ -1,1 +0,0 @@ 107.4 -%%BoundingBox: 0 0 785.04 307.92
108.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Scheduling_states_2.svg Thu Feb 02 12:22:53 2012 -0800 108.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 108.3 @@ -1,210 +0,0 @@ 108.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?> 108.5 -<!-- Created with Inkscape (http://www.inkscape.org/) --> 108.6 - 108.7 -<svg 108.8 - xmlns:dc="http://purl.org/dc/elements/1.1/" 108.9 - xmlns:cc="http://creativecommons.org/ns#" 108.10 - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 108.11 - xmlns:svg="http://www.w3.org/2000/svg" 108.12 - xmlns="http://www.w3.org/2000/svg" 108.13 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 108.14 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 108.15 - width="744.09448819" 108.16 - height="1052.3622047" 108.17 - id="svg2" 108.18 - sodipodi:version="0.32" 108.19 - inkscape:version="0.48.1 " 108.20 - sodipodi:docname="Scheduling_states_2.svg" 108.21 - inkscape:output_extension="org.inkscape.output.svg.inkscape" 108.22 - version="1.1"> 108.23 - <defs 108.24 - id="defs4"> 108.25 - <marker 108.26 - inkscape:stockid="Arrow2Mend" 108.27 - orient="auto" 108.28 - refY="0.0" 108.29 - refX="0.0" 108.30 - id="Arrow2Mend" 108.31 - style="overflow:visible;"> 108.32 - <path 108.33 - id="path4008" 108.34 - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 108.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 " 108.36 - transform="scale(0.6) rotate(180) translate(0,0)" /> 108.37 - </marker> 108.38 - <inkscape:perspective 108.39 - sodipodi:type="inkscape:persp3d" 108.40 - inkscape:vp_x="0 : 526.18109 : 1" 108.41 - inkscape:vp_y="0 : 1000 : 0" 108.42 - inkscape:vp_z="744.09448 : 526.18109 : 1" 108.43 - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 108.44 - id="perspective10" /> 108.45 - </defs> 108.46 - <sodipodi:namedview 108.47 - id="base" 108.48 - pagecolor="#ffffff" 108.49 - bordercolor="#666666" 108.50 - borderopacity="1.0" 108.51 - gridtolerance="10000" 108.52 - guidetolerance="10" 108.53 - objecttolerance="10" 108.54 - inkscape:pageopacity="0.0" 108.55 - inkscape:pageshadow="2" 108.56 - inkscape:zoom="1.7990428" 108.57 - inkscape:cx="380.09076" 108.58 - inkscape:cy="756.04202" 108.59 - inkscape:document-units="px" 108.60 - inkscape:current-layer="layer1" 108.61 - showgrid="false" 108.62 - inkscape:window-width="760" 108.63 - inkscape:window-height="878" 108.64 - inkscape:window-x="889" 108.65 - inkscape:window-y="6" 108.66 - inkscape:window-maximized="0" /> 108.67 - <metadata 108.68 - id="metadata7"> 108.69 - <rdf:RDF> 108.70 - <cc:Work 108.71 - rdf:about=""> 108.72 - <dc:format>image/svg+xml</dc:format> 108.73 - <dc:type 108.74 - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 108.75 - <dc:title /> 108.76 - </cc:Work> 108.77 - </rdf:RDF> 108.78 - </metadata> 108.79 - <g 108.80 - inkscape:label="Layer 1" 108.81 - inkscape:groupmode="layer" 108.82 - id="layer1"> 108.83 - <rect 108.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" 108.85 - id="rect4618" 108.86 - width="245.17555" 108.87 - height="96.120583" 108.88 - x="248.82765" 108.89 - y="196.71402" /> 108.90 - <g 108.91 - id="g6133"> 108.92 - <rect 108.93 - y="223.7659" 108.94 - x="346.78796" 108.95 - height="19.030159" 108.96 - width="51.619602" 108.97 - id="rect6089" 108.98 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 108.99 - <text 108.100 - sodipodi:linespacing="100%" 108.101 - id="text6091" 108.102 - y="236.91867" 108.103 - x="355.0636" 108.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" 108.105 - xml:space="preserve"><tspan 108.106 - y="236.91867" 108.107 - x="355.0636" 108.108 - id="tspan6093" 108.109 - sodipodi:role="line">Blocked</tspan></text> 108.110 - </g> 108.111 - <g 108.112 - id="g6138"> 108.113 - <rect 108.114 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 108.115 - id="rect6095" 108.116 - width="51.619602" 108.117 - height="19.030159" 108.118 - x="426.78796" 108.119 - y="223.7659" /> 108.120 - <text 108.121 - xml:space="preserve" 108.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" 108.123 - x="438.72571" 108.124 - y="235.94211" 108.125 - id="text6097" 108.126 - sodipodi:linespacing="100%"><tspan 108.127 - sodipodi:role="line" 108.128 - id="tspan6099" 108.129 - x="438.72571" 108.130 - y="235.94211">Ready</tspan></text> 108.131 - </g> 108.132 - <path 108.133 - id="path6155" 108.134 - d="m 322.39366,234.14931 c 15.56383,0 24.45745,0 24.45745,0" 108.135 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 108.136 - sodipodi:nodetypes="cc" /> 108.137 - <path 108.138 - sodipodi:nodetypes="cssc" 108.139 - id="path6157" 108.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" 108.141 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 108.142 - <path 108.143 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 108.144 - d="m 399.05855,234.14931 c 27.79256,0 27.79256,0 27.79256,0" 108.145 - id="path6527" /> 108.146 - <g 108.147 - id="g3898" 108.148 - transform="translate(0,0.4467926)"> 108.149 - <text 108.150 - xml:space="preserve" 108.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" 108.152 - x="267.54309" 108.153 - y="254.91867" 108.154 - id="text6077" 108.155 - sodipodi:linespacing="100%"><tspan 108.156 - sodipodi:role="line" 108.157 - id="tspan6079" 108.158 - x="267.54309" 108.159 - y="254.91867">Progressing</tspan></text> 108.160 - <rect 108.161 - y="271.7659" 108.162 - x="267.2655" 108.163 - height="11.804094" 108.164 - width="51.619602" 108.165 - id="rect6145" 108.166 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 108.167 - <text 108.168 - sodipodi:linespacing="100%" 108.169 - id="text6147" 108.170 - y="280.90646" 108.171 - x="269.74329" 108.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" 108.173 - xml:space="preserve"><tspan 108.174 - y="280.90646" 108.175 - x="269.74329" 108.176 - id="tspan6149" 108.177 - sodipodi:role="line">Suspended</tspan></text> 108.178 - <path 108.179 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 108.180 - d="m 283.06571,260.15959 c 0,10.07749 0,10.07749 0,10.07749" 108.181 - id="path6153" /> 108.182 - <path 108.183 - id="path6713" 108.184 - d="m 303.08493,271.76394 c 0,-11.10513 0,-11.10513 0,-11.10513" 108.185 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 108.186 - <rect 108.187 - y="223.31911" 108.188 - x="262.8187" 108.189 - height="66.833359" 108.190 - width="60.513218" 108.191 - id="rect3890" 108.192 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 108.193 - <text 108.194 - sodipodi:linespacing="100%" 108.195 - id="text3892" 108.196 - y="236.91867" 108.197 - x="272.02063" 108.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" 108.199 - xml:space="preserve"><tspan 108.200 - y="236.91867" 108.201 - x="272.02063" 108.202 - id="tspan3894" 108.203 - sodipodi:role="line">Animated</tspan></text> 108.204 - <rect 108.205 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 108.206 - id="rect3896" 108.207 - width="51.619602" 108.208 - height="12.915796" 108.209 - x="267.2655" 108.210 - y="246.54515" /> 108.211 - </g> 108.212 - </g> 108.213 -</svg>
109.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Time_in_VMS_1.eps Thu Feb 02 12:22:53 2012 -0800 109.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 109.3 @@ -1,943 +0,0 @@ 109.4 -%!PS-Adobe-3.0 EPSF-3.0 109.5 -%%Creator: cairo 1.8.6 (http://cairographics.org) 109.6 -%%CreationDate: Sun Nov 21 13:32:58 2010 109.7 -%%Pages: 1 109.8 -%%BoundingBox: 0 0 330 127 109.9 -%%DocumentData: Clean7Bit 109.10 -%%LanguageLevel: 2 109.11 -%%EndComments 109.12 -%%BeginProlog 109.13 -/cairo_eps_state save def 109.14 -/dict_count countdictstack def 109.15 -/op_count count 1 sub def 109.16 -userdict begin 109.17 -/q { gsave } bind def 109.18 -/Q { grestore } bind def 109.19 -/cm { 6 array astore concat } bind def 109.20 -/w { setlinewidth } bind def 109.21 -/J { setlinecap } bind def 109.22 -/j { setlinejoin } bind def 109.23 -/M { setmiterlimit } bind def 109.24 -/d { setdash } bind def 109.25 -/m { moveto } bind def 109.26 -/l { lineto } bind def 109.27 -/c { curveto } bind def 109.28 -/h { closepath } bind def 109.29 -/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 109.30 - 0 exch rlineto 0 rlineto closepath } bind def 109.31 -/S { stroke } bind def 109.32 -/f { fill } bind def 109.33 -/f* { eofill } bind def 109.34 -/B { fill stroke } bind def 109.35 -/B* { eofill stroke } bind def 109.36 -/n { newpath } bind def 109.37 -/W { clip } bind def 109.38 -/W* { eoclip } bind def 109.39 -/BT { } bind def 109.40 -/ET { } bind def 109.41 -/pdfmark where { pop globaldict /?pdfmark /exec load put } 109.42 - { globaldict begin /?pdfmark /pop load def /pdfmark 109.43 - /cleartomark load def end } ifelse 109.44 -/BDC { mark 3 1 roll /BDC pdfmark } bind def 109.45 -/EMC { mark /EMC pdfmark } bind def 109.46 -/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 109.47 -/Tj { show currentpoint cairo_store_point } bind def 109.48 -/TJ { 109.49 - { 109.50 - dup 109.51 - type /stringtype eq 109.52 - { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 109.53 - } forall 109.54 - currentpoint cairo_store_point 109.55 -} bind def 109.56 -/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 109.57 - cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 109.58 -/Tf { pop /cairo_font exch def /cairo_font_matrix where 109.59 - { pop cairo_selectfont } if } bind def 109.60 -/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 109.61 - /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 109.62 - /cairo_font where { pop cairo_selectfont } if } bind def 109.63 -/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 109.64 - cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 109.65 -/g { setgray } bind def 109.66 -/rg { setrgbcolor } bind def 109.67 -/d1 { setcachedevice } bind def 109.68 -%%EndProlog 109.69 -%%Page: 1 1 109.70 -%%BeginPageSetup 109.71 -%%PageBoundingBox: 0 0 330 127 109.72 -%%EndPageSetup 109.73 -q 109.74 -Q q 109.75 -q 0 0 331 127 rectclip 109.76 -% Fallback Image: x=0, y=0, w=329, h=125 res=300dpi size=2165625 109.77 -[ 0.24 0 0 0.24 0 0.991089 ] concat 109.78 -/DeviceRGB setcolorspace 109.79 -8 dict dup begin 109.80 - /ImageType 1 def 109.81 - /Width 1375 def 109.82 - /Height 525 def 109.83 - /BitsPerComponent 8 def 109.84 - /Decode [ 0 1 0 1 0 1 ] def 109.85 - /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 109.86 - /ImageMatrix [ 1 0 0 -1 0 525 ] def 109.87 -end 109.88 -image 109.89 -J3I@:BHu(:pOk^R:T.dk*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 109.90 - C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`C/m<k<ioH)<bk^Hj`\=EYZP^B4!g 109.91 - 3;'o"oFO(X`dh"8*[iD5A+f'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 109.92 - _Aoh+fk'&t\ctIN)4XQLiVpoI(>.nOW?*DmsG$@,,f58"PDKf<uk4a;=i,EpG4sq/+a5h8d 109.93 - >eAJlo*B]ZT!'31_l[h@F?.u;GBO/Fms$q.0(\8JhnaScr]a26g[)`OH[c!ea5-IbHN.>J^ 109.94 - &uma4O=2qs$*R]rqo%N,N/ekE&6SU_%/pY#XOP%r<0s`>VcdTn?Vp$6h#Hs$,(:o3t4UJ1d 109.95 - _,U&KE;87<)6$&4UXR>8tG!P4okbE:do]7$5Dp*BCCsHPf9CjGP9SnfmZ1_N<P!(W<VLV's 109.96 - ;<['M)NEcU[r8b'0?1!"Cb@l$\47%5DoZW,[19_.8^3D8sSk:fZ;U@13?EtkSs9(MWO4YG4 109.97 - F$U78RFTXQtoORPZ;"=bh1/W+Gdn<DW`8=*<Zo'p,;=t(t:+\<q912Ep<4>aKPr2cC;DiIe 109.98 - =]UeUj&Ji3AS5+DoHeiff@<$:=41&B!EIOt*KsUYFo?So=&oL$B%e#sM.tF<D6m'kFksZG= 109.99 - uLf4CKoB/ED,(FrP`g5G;KJD?.$pUG2AN9::[qD>26Ti%akKdi"uq-J`)nJ%>3UV:)/KAQu 109.100 - 3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOfAd`n:WD!U$%]D85^LXAf6I&RHBp?D4'K(L2E 109.101 - LD\^#SOB:9<[SS1%?LS/=k^5o"&3Mqk7kIM_.VeLHHVl/fmm]ihX]$@^_CHC=GWp8=[_6.G 109.102 - Ip;s^Yq_lp-laqo/ZtJ-*Qb..IQLh\)\o,L%Dn8]q]k9FI$c6e.G5&spqr\X.EVpUTU@<PR 109.103 - A]/We[i<>"*&ft'F*r`Zd<%L:n'Gma-U5juI-3<;Bq:#`eTLhgA(u0T2b2\G]Va`?F5=$Fa 109.104 - S4O<Kus,g5Cq=/4n"TjpqDNUjCat^LZ*PCVN'tW?8nqBp0MZ9lhTE;^$Yasn#bsN5A.7crA 109.105 - p#"Wd]5c/+EA*8)Noa?g#T.+'\5aDup!QVmuYsli_a@$3J#!)Z:dP#(E\'$,@AU"^jG(Ja_ 109.106 - :]4,:cLTH"St0KKBRGU!M<*#aL7.MK[t;[4G_b'spRejB-\$Xn]JL@Adp_74[ri=nJ-d';? 109.107 - >8:_*l/+/6J1*a["QO0C67#A/A.DtpsrS[;CL9X2j^,VAoU1@>\O]jA*LoV*Hll_7l3\Wu. 109.108 - gD$Cs0o&V8,=2&86dB[m3_Z@5(7&DoU]c71;@Z#a=UcP87#@%(/k/Cb*@'WuOciU;8kE/;- 109.109 - 03"4P>Z9n8_H6SjTM9A;N=XI=\U@,7&cGLY#\0J>q>#iZ'J;5>"`"8/`jp]QW!6X9A+_Hjo 109.110 - iMf;\!81=cG/u7*1iq/nRf1SMTD]d@+!/C/%j52<Mi1Ar?r&ZI///fqAA8;iYln=j8ti7-U 109.111 - 7@Y'*Rnh)jeQnX`\)H;@]24m0cZT2V*W:YG\2VqhBH<"=LV=q*d]71#Ye/r!3V*CK%E&Y`6 109.112 - "MGF!I7HgikUJu,k;;+0'kli6+<0!,>>"qTQ74G'4Y*Mu>>ta@_(SC?:RT!C,:$KVWVc<)U 109.113 - ;qcXq.?sn2oa[]q>)b^V#nJY"XQ^N]^s)#qefFn8WWn?_:hT!NX&Vu!<@X&2lNHIQ!!9CU> 109.114 - 0U497.@3VEiTD%a&[k)>cZDP\l7n7?#.E)Y>t#)=5*U[lihs1<N`@PHEg^*Ok-a;/s"V2). 109.115 - W#eOg8"_H<<IE>AJXkWg1lP=kXU#XS&9o<J%$.lBX_,2,5=DL5HEJ>SCt.A%#>0[b<f[6#? 109.116 - e7[oVq1>2c/k!c>9P<n?,4>%:Sc29EC10'6EnSTF&'^:4sdZ.r!GF03^=]2rn<?$iDaDP]Y 109.117 - 1f661[S&osE7.@RYmaI53R`hg=:nf23qHb,>.IY7?\Q>6u?ebNCn"ApZf*_E_HiJ";jp/_) 109.118 - 0*Yh>*J<RY!Pim)!oXM7JoJ.9_cUg_hcqO2n?*b9G[h=p>:"UUdF'/u,,^LU,UTdM1:S+rF 109.119 - &a`=N!.M\a&neM@SD'.mTqlm<l5hN>]"8]`]>&!!l3j_R?R2r;9E$:ULYi-N9tdG3nW=,A? 109.120 - ;b9Ectg6=cW_tC&aJ'L0>W9Eua5Qa]Yq[DpD>F'G.:4C2\Y"[?O"_NZA"fm$;Y<)@j+:h#F 109.121 - '&mE!Zn01KX2*MW0[iR.>i6"rJ6V<c]pdhUn8l+K5J1T:)oj4;anX6#s1<M.etb7%B%$YCg 109.122 - #E#AGsMcGaBIPlfYXgf03Bdr_E/tEdhRh&h=H.u$#m,Q?VA4C*4o5C[a6OC9_?Kp91[HTU# 109.123 - \Fg)Ddj`bJ`BLi)g<3YplGpCn'st!q(LM"VOc21,s4CcOG&(7\Z=arrYk;dE:Q;&K[[,Fhg 109.124 - M:VE?4FaG7=!gT_hI1=d:&sPj;@dJR;i#Y7J5L3h]'(=@u]M5\"<9Je6e4(We4P8m.B2p1P 109.125 - "KpX/bqj1$2HeL%.bi4ZIH4ebhdSeZEK&q&Mc\eB<f.IQ,$NGad[apQ4pINB9$f`oPXmP\$ 109.126 - 9Ob5#_>jnj+ep"BqTFWRC*F?akt$TUM_D_N:.#Gp6La#Y^mD8+P@HL2\:7IeDpUA,N+pNcX 109.127 - lB:e_`f#t7A>!L\e4h0lag6p5mfm#1mDk-dHaC5)44Zg-*!$13Edk:HF4<K*F?45##cOK.; 109.128 - 8#c/\Mo8`$($W,=Mk"*;i8HmH5:X]o]KTYIq4@oT-Wco2reC?s+%b^B^T70;/r'5MiS$G\a 109.129 - 8/!K&,UXqjZTekpQNeXGOL)b]ALNphMQN)J!!RABBbsGXQN=+$.uXK&+@+<@F1UplmEQ\TA 109.130 - P`[h=-m5O)Va(XQ;(c^4CV2mb7a#HCaMb\.BAE+o]SZbc<5#r!R&U$j)sEIa_*8fP[Xg9Y? 109.131 - msPkRekrD61\Ds#nPlCeaVgW@V<:B($faT'TeqWb;eYR&#u'`g!!!K]F9YT3`5+TbJhi\2k 109.132 - M$YKPLklXXm",Yb6?i[>@6Ca-,nun5[n?E?T[0mODj:G@bOBW(]?H+Y8^rab(OC\L=M#_Fp 109.133 - S<.jo&?GjC'aMPLT?r0+Y_L1pTWSjUWt:L90UN^HS=MA.":X)nN-,8b[h3TsSM7Y>OM7B,_ 109.134 - XXVO"onZ'OO4K_K*LhtbqC(;d,=dMr=3d.%^:Jl&0CMl&0!>2&Wljf0`M\=#+Z?1$>INfYs 109.135 - f'u)YHk@[1,[Q0#jU-V!YDT&l57j:[fImSA6jr#n`>kN$R!%<1M8i\.CFjd#+IB#cqtNSM1 109.136 - cQ;)Js35n'aM)DRj#ER:5<LCQ%rTM['7$-*p!ko$ZP)!TEfc79fIb8REi)X62f&[n_P\t'G 109.137 - J*/W8ZnLk>#f,kTI*ASWYnfZ4tf,#P1*NAWNl2)4ci?%OP&Fq\'.H;S.rrNMI++Th&d-.?) 109.138 - !iRjYSFR#Zn7j'9&LJsO,Z6QF12un!-JD<g,4Y%6ER,M#Ii4D4):2W[&o=2G8=WRP,nWcr: 109.139 - tm$H"Y(tQ-1CRO8]`<"YamP5"L<(6d<`LMn=/b'`QBV*O)hZ;$Rp"j-o$i4ntbJHoUa>E+V 109.140 - K*kDRUQ_W1FE_"7]Y$dbQ.,"QKik.uZUB;[V\#Ik1#p/II*>'%\aS)(+r&,RMQIo-H+i!hE 109.141 - 6V#H>m".JkEjfe9I;#kK](EBc-u&.K9^2+d`Bdb?Af))cPM2QRoRc)!0KSt7\l/'nA?1Nt4 109.142 - q2]P+YVGciP;a:<r7%JBj#h&`0o7o1Wf/8bg0U&H,DJM/Z[*Wl5b4=&s'%nN$I5d4^1D>A4 109.143 - ''gNOs#B!;3AZtl;jumUT.Vp1S[(ZS;suFsYr*3'dF,nFo#T>/bbL=4XE3&Hnf$^JlOqJ)T 109.144 - 5GH*0_h0D&OF^m2lY6+P+`Q<pGt,,rDX-)'Fs`@q)@hd6'3@_oH)q390R(/6>?))e1@.)0V 109.145 - \0r4B+C3oPmAORmZIn6o"!pPXuLEbs]AC6Bm$WoMmonbsg*85."dhP\-Q[CFI[G7oZS;P^, 109.146 - 7;4Z5-t5no"]@5Oi\)b'Bh8HH^^e<`<s.5Oqo9XCEV[%f9R2"ibe9'jXK/6'Ssm_u1t#B8] 109.147 - Qn\[aolTUGR40g@O'Xpi$lVUMS$)u/8YKjRuK2$Hu9BjP*'>mXH(J`>b:XU[g'.Z1_)!t<4 109.148 - ,1RQ/eP<Uh*p8e4\5an3ePB).0f([;;O'7Col4%_nPdXt.rt_iF_b"k;](c3!Hd!fZkZHG< 109.149 - oWdU\s6W%<C35+B0>e-:j$nam!i)oYpP=H8b-W1Q&#aRI7r+-=Z$^eaidQsRi+)rS5lH@[? 109.150 - 4Z%`D73=rY,R4nuYBEpK@1J<=`]UQ.9.4a&hro>a:!k<S"Ts-!dn8@'qk#e`?O+o1E$W@$U 109.151 - [m25+C9dpP%-@J2?X2D&>nVdG^M@e6p7'nKgP<Fp>UVR@jI<,H0Rb5et0<K,7+[QuO1.qD; 109.152 - .5?/#"p,sbr:Ls0'BWN"]o0Zuq;.:;3SP0,qQ>p0\B407YB9mm*p4$h!WD_<&:"G9@PQ*1U 109.153 - pna'27<YY;[^7.L[&>h%-l,`r<Y&l/X)7Rd9")?8f"U9Ib=P`e@.nW3QIef0:Ik-CD"^57c 109.154 - rk/7]0*P;@CC`*2^*3#,bc(K5#u/\G7'kL!reFBDmhH$FkLcCd;]pVBt$TRpEt)7)fi/37@ 109.155 - ,$32b]do2[*8EDRU^,f3`W\Tl1WRFB98s(KA4O_\_qI(b/S.eejtOOUbA)E;*47ePr'AgJ] 109.156 - R(GrL4o2f3^SK'#"SENU+'FFA&rm'[5FH?Ep=f6MA&JU7$XH[":opYg/e@rrNl)pf*\f:-t 109.157 - CT2N.mS<qK(M@X-^`I55UJ?,-V(Ta2E_1+ALG?:JcQ_b0NWCYY,H.V4[3$!On)#]$jrRL83 109.158 - (V>)SefXWg!#&c!F5qDMLCBIt:3RA)<Ijt>!?RR,K20+53%KJMnV"DJEO\pS1JF<Y/P:,SJ 109.159 - =%9spgo2GiI?)hM7B*p3"^MhI%6RLB@nc,R"%FOabY,*I2I$]nYk@Q08Wb'M>5<*pnNQ\N1 109.160 - CfdCDa4GGdE2Zo7`K<Tlq<115gUKf8T%!K7WUl_<lmKaU,;e>m]&2pb@VmQ[VNd+V&skbC* 109.161 - )%m>=eo:,$0S3;%IipsJk0J#UnZ(?^a'07B6FSG=/[Y\(;r,h6#I@ehT!3AH9!2jS`':>%^ 109.162 - \$."hR1OE6IE1$BamX^WHTp9Q`P*Fn)Ohl/8CRJs*QMCu;\0ZOr\!NG$P\Jm>)'P8Gc'!?V 109.163 - -M_"QQa;<)R(HFTO@gXq:$1X,Nj*#qH$R4=fcH^3/LKuE=P*A8)6BAh,ESnX$5pZC)3%7gV 109.164 - &Pf6RX)lBCc.amLRh24SUoajeU<@#kb#EFS[mokq<IL<4cS^`T6>.@nS&q&0:9;^FIEFaG[ 109.165 - 6ZI&Z'eV-UY#,/SCV_ri0-FQ8n&$.PINqfqS4*UGs?k(j)?14a_R,>$=@\)G,k_8LF:0-(5 109.166 - 4.fh80QUnsLo&"4?kWQ1m&mot)_Sf(D'H7*1uI@g:nWHo)B9r4JnO.Z&ATJ\=#Znmh*VS)` 109.167 - J(_>W"fj=/h@%>kubo6Bg>*#'0ANijIg_l<KcSicUSS"+3N/>SOd%udYnB]C0D7LONGVaV[ 109.168 - \Zp+1'\GpYCWWb4rNC0.a%`B1RlaWlb=X8CYc`+C>">h0@l6=eZ;lYi4!Md\d+>l[E-_%rf 109.169 - )_peK<oN`['<c<3mY/PQ+:_mZqg(sO<_-c$agoSZck/3MRBk.i@A)KBkdUUE880sCU[?8>T 109.170 - 7YogW5o>Gh.3nYo/fLRtRYCM%CVc$5ohRS+*1WSGKasSGN*'P4u@A,t;%"Fh>&nPJt0R+1t 109.171 - fcTDKX=:><6,e%K1N]t0oOqn5ms1od$*]!g_8.iDZP<Lh@VB$<HqGUGg_)SXp\(KLUI>V0+ 109.172 - I#Hu80WjQ%-qDjd#9>>C<`!eH@lbg[ZV3Kb9]KBCrgjlh<@sQjB^`$+AS8D.dEMtfN@N9Xa 109.173 - >^adX[*"o&`XR^B11eP-WQ=`]bGqhhGP0(NRu!N>V>HABr25JhAV3+Jn9h^jmgm@\-cfBj3 109.174 - 0+<gQV#EPfsfb(n(_TY>i!!;9?oTCO^'QbS-rk4n@:YL4"OMcW[d2si9dPu`uNa&DQu7OFj 109.175 - <S)doaQLmX;/14P-`[=cg9,M\FF><9Z)-hJ2!M>8PeXjISM:^E#;iC[ipg-GeM3&Y4@[*Bg 109.176 - Cu3jmUNkc6\\*K&O=Fk(=,e[G_5$TH.TQK,++:[oP<SSnN,F4%VVSfN+krJn\,L"Lh,h5h^ 109.177 - N]oUi/T;Z%`eFR&"!DhD>J(cLJ&Y5hi+9C9cb2.PUT5B/6^]E$/[FZ@UdJY)pl,h`Ze(?Ge 109.178 - WEn?>pib5:2\%u3`Z775rBiGj8)/sQhjmX%h,WAS"_QTtgHB)=ILfBU^YBuZgjCog4E@!!- 109.179 - 0(Qdh0q&b>3gFEm`GAkkPgFCSr;h3Q0EabV`p=/^7gsDTB\:RkVgH'?Dm([[&3i/l[HP5rk 109.180 - Y(q/aP[CM8$UgZaVJ7^$=sZm/GE"lPk_1iU20Zm_/_ihXQQ]h=!*BO4aQPN1o]hq=&W9m!f 109.181 - ?2rt4N\"n=ep/,pFUYd<WN0ZnkenfKHi*ZstQ2=l4)o"R3Vn(%$e5kR>f5YS0L?Us_f;>!. 109.182 - VosVX.IpMb#&b[;Wi?(^;heVsNFn^B2pV2.Ns+0quQ.!&4m@T+-s,m+AQ2,otq7iKrrd^(; 109.183 - Pg7[)n/nA#s0;Gc[JPHaqnKiAl0J'BL8A,AbjC/E>es4JKj\\U*8eQ?hojAp_:9]ir@1;`s 109.184 - 4FUg(&gC#X1bk_&,6hK#mGrIi=MAU/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV 109.185 - !t\Y$!?C9BHe<jNIW^Rn`&Z1ZC07a.GIB',]0kM)M(]BN1BeVO9?=;sG)9Ptn;YX&\I#Ra` 109.186 - *q33Q'>;oE5BO$IqjiDb+\'%'aTf5':Nd`Ufd[b^BgS(6rrrkCYd%u_1V#kc)CT,7gfpDJ= 109.187 - fj73jp5#32=XOA1K7?O?*BZq-3'^OnB8YsmMoajfWY.p0!j_O[<AnsA>QtQ%Pb_&9.WS_Xh 109.188 - *$,n,M8eLpq&GqXl^.\(Cb+6kc-pI"VJ$:I/luu%h=#Rc*%l-pT6eQM[[Gftj0RdLD]0Z=Q 109.189 - d=on^H\u!T@O\Np;A[Z@J]1Nb_gMT/P2t&XM!i9i9WKXX<S$<E2!dC2c)9u"99!2Ym)MtJo 109.190 - 90ma=4G/60Z5''gf09>8K`uKOYlhEMB9;[?/Pc%E#3Y5-$uob&83>E[6Pf8Ef\`e]01.G.' 109.191 - c^Z<n0K9UnY*7)mGIS&Il+OY9ArS*n6M&*"(E^[)(*!Q[eubkN__I!ICgna`L#205;Z4\oa 109.192 - =l@MaTjP[Pn;rRa@-)B'(p`]4F]gS&`/L*hbFJUK\;XQs`JPZQ)"L$19jYWf/m#<_u<:r[X 109.193 - PLNRn4Kh]th*dN*oNE8)V\FPZ>ut_c`5&Tn.h9B\$u=*9U().V-;_+5=Y;V8AU.unD@N%ef 109.194 - dY'V8m9SIO(qnn"iG=bG9a_;+L]/'D,PR=;.m5$NQZTRGGJMfTQa"FA^iX2N7d!s"aOGsF! 109.195 - ZGpfQ0cE]\`;7JVG941L4ZA%BEbe,$0`f'ZF`!iCC0='l&KF8]"HIe<g.:Q"=YF*j]G#"sn 109.196 - M'N92^P+rJH8Y@@:mH&o*g$[RNfP@T#hjdJZ&V.k6e`L%\bIUk8cfW-BkB+<9,S`]_?'9FT 109.197 - 0(3Q>u\ME3065jaj[;BYRT;]&?RW#3jqRl^,k]kmpSsgPn^S&;&`lDuY4(ep>?u/6U1EQI* 109.198 - M#gu<7PU[308>;-DTue4&N.e&DXsK**lsSCc*"7*nD-ONe"Bc\/!=r:G&i6dguga,oC04UX 109.199 - %SnVe^X?m#D:u[DI4dDprG[*-$C.In'EF&WDChqSY(&PVS+U#ebGa!]9[elCO+)USAas5b+ 109.200 - .XlfD<,mX57HJ\%VT!Hp\(V=A2I'a5MJ6':4o8YX9/92`hJ%JL,uHJl6qtE.eqUW:M]/M]n 109.201 - .!YFUi@olBpLMt;RYS[Uid5ld$%?@]-a/#$\iLEKg_K'thC5m!GWM=_KomV32seacF?`#XV 109.202 - pp)cZsGmE7Q+X(e5RmL0W$-(1<<Y/E._d_X7#>?linBnp9k\a':b8Pr:!\["8FV(906m5DE 109.203 - R`'de!XYP[M6UM*`<*dgU81h*:\:_UPFV:j"FDeurEkV=b5NB$CHFpI^6<6=6;l2hJg<BGP 109.204 - >nY)@d*tLn//Ns=.p\2PZ]K>DE^Y`kelIA23B..7t:ma6Y/BBM:*.K'8\8,:tt2tEP/E>Bh 109.205 - nnD"M:"`p0T6t7+[^@M'8%R<6S<n9r2B<M=S<Kb7YC<iRF<ad^c,E3I`r!dO^b0Bh(i`(GV 109.206 - VBNgVXfTY,QSC5\%t+S/2f^:BXhMTiT#TE8Cn\aW3uXFO^#TZ+.0n>cltD^U]K'1Y&=4:$? 109.207 - &/<I/LcDf5Y9Z+Pm0/eW]B^IusdDhhH_L`'9%2*>AS"W52L(ihm4J6g7+Oj-\93NB;A&6]j 109.208 - FOlp[H>mgOm2r,L-4/%^,tZ*>.<JM.U6,4Vgn"(VV+"9X;jsCZAF%<:Zkdf2EXP\-,sd^th 109.209 - M0=43CGA,&h13%<n)0!9^5n]Xb9i.T:th*9I0U3:-m6j@`1VKEAa?K/bbHTo2m<H@^'td!* 109.210 - E^X;sS:Y.J;K"=:u?TkHm)iec*2pb7RnD3>>ZJ.$[qIo4'?eUU6>ON*,(ZA-bnmYG<Yp!"2 109.211 - e=WJ+'TFeUKh3\a(j27p>V[a\H").'>K>I&o?f@q4'B'r5*Za?s7g@B)rD=++#kO,l^8cW/ 109.212 - ar1tQ7T$uKV%.YJDi3Ua9h-E+hfkbfdO]0j"hKN*lD]QF%UnUfEbL:oYebb]bDK&4KgdTh3 109.213 - c+XtM_U?((gM[8n_3d.\.1+(BBo*G;GKU0JMfEu\8OC/crs%:Mr4s-Kp.X(HrQl2;.II5*R 109.214 - .^mo^s"S\0,>A.R(_;6Z=A<%r]@*ASpKD%l&05`0t(2qg0Yh>N3B*8;%j9[K\;]Q16tk]NM 109.215 - snWU2!f8AE1ZH+"lSi0pf1H7)7K.%;&9KP&d^@W]=E.jcXnTigpk+R>3S14N3I>7WulKT0/ 109.216 - @;7K<q<;9b?VIE306rb)3X]33X?fW6SaDk:L[7%6g4>TKT0Q>4FMpH3&)-_L%A*fSWqP\H+ 109.217 - SWc_4he8n[FBtYsL[,qM;Giqe9]l>GXDIq;M(Er&q*N_-n0[uoPYNq_gLg3UI`6o<#OpesR 109.218 - T`@fn3qI"Mr9p5c*KAYI,5uA`%CA[5,`J&?j^[,mSMFNA,k@LSmHrlFGEOi=";c&_c)7sn7 109.219 - ekece<k/[kJ1;7!$HXFc>T54[IjI3g=rN[Q#5<fp_;JTDqoZK_=&N4[b2l`ZJpthO(L@I%c 109.220 - Mdc?Z'Wm[s4IUi.MK!7<0KkD@[uR*$9XsZ<*]0AmFGFpRcNuO3:&n0-XZEI;81AbrIg]h44 109.221 - YG2P,WM#`hI>="g%OSqKMBd5B!N4tpYqqSG'qcKQU'XV5?76fZ2,k.EpZo8^+G]8p9br<or 109.222 - q?ID3Q?DlNqpJC,b<(D*bG^Q(2_g$YBi:laUmbe2[OP]_.qQB__rWB$\^?=L'd['=Jba`qK 109.223 - )<?*.DUJ=(`KDkZj1I%7MuA8@814)`#uXrW,W_a@4fQ#n%tEQ"V(?koEU,/_F7u)fL&67Gm 109.224 - W/>VfJI6u,%?`bl)2DpT3(=k+,H#,W=AYA$fcHf9qSrX2o@jBD#=gap&@q&q`%79OO(Q9r1 109.225 - ?O;T9_?uIt*5$YLEGho@FN5B"6TM#he;Ud$_YiJeA.l$*n_:UXD#PS0r9H,tT^P!1#ajrh/ 109.226 - ;^^aPY.e-$$s"V5p\56J4%//#NtG,jm2"69e$<!rulXagNb^s!]_X;\n-nJ9206(!/<$<TS 109.227 - 5[_Qtj1GfCES/-kg(U$cd_6bO&e/S[DAO&?@#V7&EHlt^BnidFF57AaP@kL$IeVO\O_;lr7 109.228 - ''cNTlame@TB"+NX2^3B#/\8p5>+bd#_O9ka1$F(]F6Qjg^FGc2ieq<]!Odj)rA??-+K%t5 109.229 - iU\;4?g]282?Do`!GMD*$IPAb/?8'%V.^b`'-SJ:_@M8]^[:9ZqNk<h)WD9$]Ii:`'u?V:m 109.230 - _@:0e>17aL9"]JXD;()4IB(5nU"VENu!9ZuF8LLd!K1:IAr#U%DS,BQtGYMFI<H[Zd2uU_= 109.231 - #u@]-/q7R2nf_T,,NE(:9-`bC5HN*Vm?pdUG@]#3[8`,*4o%Z-]n0/Ouq'RL@\E^e>RRu,Q 109.232 - 2W@GmiqR-N8a)JUZ1jOnaD_&JIQQ0/AK<`L&Le*J]8=YQ.XG]W^N(D0P+.S(m98uKtO@]kC 109.233 - 8K<mb/<`XfPY"Q6$&a\5]8T;YQ-"uQ8Xu5@XIDeoS4Uqq1b=[&%%YN<TLoWd8fXQt/>Gg"U 109.234 - _Ko%`N)I#9W(L1W(N#J8t;nRXK+t'LWWgi6X6]bm&s%ZYY,D09,t61/$D<$\I\>09/O(MCq 109.235 - !&b\4_dk9:WR7%'<*S]$&=29AI6Sm(Z3k^e>$kbIcEN'Z3U,`(WkD9O,S2Cq`RgLWjk^9Us 109.236 - 7!XNO;MbY66-a_A^cI)=+WcqOqr9cVSU/CR<Sh9=q`9&*WF7+Y.\fM.=X9q9p3WG5+[Y"c: 109.237 - Z:#+T"m,(P8i(aR*c,A2Y']VqNjA&D1:0cpV"LLNiek0c@cCF/pXQrWolqYd2:3cc[o^,EO 109.238 - n4sJ_:E8q$/;h^ukta//:L*ThD"g_QpbQIQ:Q5-GXSYf+r(kQ8+p?FeFPP3u!)O+*:`TU6/ 109.239 - HZ[Arj]MYbl%XjD$Nmc#Z-Ke:meoASI/3,$rG1X:u)UXk_)d?%oEcJ;&p9H/JCmss/VZtd6 109.240 - /7BD&6&t(f?76cK"t&>o?MQ*)Xs$;;E9cI1RRd/cr-u;B6p9>pE54#))q$!M(Q8BI2)T,Z9 109.241 - T#K\\+U,p<CS/5h`""J%/CD'jkJ0N-9"dJ=mgPqsY]0eZ6P"?<Rbof#fD3(bSUe!R=:GU:g 109.242 - tl@[&=$Leh[m5t``1*Gs?#*h#DqU8AK2Ud&:`E9=(_^u7l1/p+He!Mu@XXI/5jjVR=;rp4q 109.243 - /OhZA-Id9C</cf59[?Ci*n22seABU45b(bl%nSP6NNH)YAI_\992iN.:.7lVi"iFP=cDHGa 109.244 - H]#`j])\GkuHH,eSq#.Kipf[.k)3E:u,@_`B.+jj&P<5;sdqo/SJ1DN7KHRei9ka9l)6.Ad 109.245 - PkX8L\Efi]IS>6<?;Teu5(h]m3?ND$dmn<W\63ESCnUGfR43+-gjbgR)'UA^\OceW"`,T_9 109.246 - D#C03oMe"phZ]noJ>I#57Zf(Fe.\pC(*Ls`%6:5U/r.aZh]K[XL6e5VSPgdXNiPYc4C$+5+ 109.247 - _N7uq*Rb6?B=`bY&m#+s`mo_F*=?W-#h/nLUFkLPJ`usIPe5KO%PZaBBfr_2INLTtPSLkdO 109.248 - 7/7YQF=We[TH<Ko/rPeEWa=C=!*W'Yg=l[mn>"%`;D@Tq$R3\F!]Gk:In/:#4i+nOA&m>CU 109.249 - 0E-J83@G$nO1*Qc4kW64K5BEiCCmC2Q>_NP^RUW0rEZd!*Z5B9gu,:b0aF'=JG2lgYKBDJ; 109.250 - @F(iN.9q>I]Ppc,!A!YRcGZ]0n?igP9&SF:#Xt)r8QLh8GOP`NoH^O]C8YJ@PuWaHR.`^.l 109.251 - aS."g7\mTUUD??OMfjg85kOWN3UZ?p?9qn`N#p^1TK%UeX((kk84)kP<K&H2&\<U^8^.Zq7 109.252 - -3pJ(#&pI\*ck>I6PDU+3WO6!Mc!U+k>jY;>gIGT)gg9>8)`??*36Y_Hh-V]^Ln4/L^%FX5 109.253 - p;)1POM1J#jnde<'b;/J?e,C@D:Ssj;c$b!;_9fV7I"7n04)>X>?aTFEo]/J\r2RE7jrUQ8 109.254 - IO=PJR@(<[l,4`rZ0uMq*+[s<r&J!"rJ/B!*HZWboQpemK5<.)`\TF@R-Glg3R'`-K03$@M 109.255 - &Ym2D,<M,MlS.^QR[;@?N3Z"O?]V<$iDb-7P\g)-CIH0u\p)`Se3nIY1$0A,(YWOR*<8AWM 109.256 - P]=bIKCkf8[(+Ul>6TMVFF7R6#R^)Wu@NkhqI=L/>q;rKhP+%AYXjrYaC?BV`mi=4UIQ91L 109.257 - 8.+QmMbml5Tjuuo?j('BhjLtqV*aK$m6Oa5f8--Eb>.*F/7uX$1MIoHA7O=YF@:eYRAbj$Q 109.258 - `_PYC*b>D!iAfB.<%;H82i57W`h%#.@ROdHJ_kt;?BWFj[TT<t4P"b\f8MBeP;b['__`EN3 109.259 - JeIZIN>V/j!SESAJ2)`-:#%0I:j[]?.n;pS9T\G_chBM$*C,'FuEuYH=`+q9a4eRk'?.BJS 109.260 - 2-4`&$K,$GU6A*FSI=BFV0/*WCk1`oLY]Z@7uCL5#sj7R_,R^h'^*2MlqgMWJH.L_b+S*d2 109.261 - "9NLh29fPW$C2OWgkBaC.i=TX<=A7SsJ0.H2Ah$_],'J4&k?0KkD9YQPH]l31YgKJiTlCEa 109.262 - rY"'fZdqX7l6^0Xs#+gZu@7I\rl^9u)ETC7:[94[ql96q<*i2t=Q/gF6/9VE>b&_5mMBP`j 109.263 - #V5?-QG(4Y+PjJpLqtVOFu!gpYK";sCrX@-k-8bSam1O\/Oman/s#@LM<pPFLdoPL51)h.C 109.264 - 8P$n#j0EkT$PInY/b:]lioIL()GLSg$M)Tl<ZWPUcc\[7;KNslfQFY_Q^,-Jd<VS`4k(?2@ 109.265 - 'podI.J=mSRq?54VBZeQhmZmegqiNi:#/]g-s[DS@uGaFWd9\npNt>p8p\7d9:eq$8=ASef 109.266 - 1UG4V:8k%n:KLs#S`C#h^/Bn\`^LJ@[,VX?lrLI?%M5pl@l*s7bAo5OWGDbA#>-O3+>nLAG 109.267 - _-[uHlY%M[oMK)mTEJFL4hZ9;Z!q?ljn4i9'k1=QYgW*M_k%Pe!f+dYMPD9WpMEQ#;No7u# 109.268 - +E>dhnII'B%h_&J+)*)&DQaPb%jDS",B='Jl2F&--RQMbd-SM"].Q(j[8cQWK6"-4fi;YCT 109.269 - -!Mm22Ks#kPlgENef,BEt9<2`BK!]Eo;#anaPEgF-0DlVaa>J/$!S%6g$Vs<do'g*G]YhF< 109.270 - ;EWUHnJ77I.-FEVhCt98q503RqJ,S2VK<\MFep8b#,0Dm=CcqH>GL'jkY@'rL52QS%a*;"a 109.271 - Q[o%-m,f11!8]_%&uMt$]WO'(t/J+]D"]2r3UO%]/mcunLFoM3g)'?bEGE-3[B0c\`e`oCR 109.272 - +jD[%g)IHOEYq?'tGRG('pR(GnIl)sC;Wp`K.k%UY2OqXGD![c(4-cYG-K00^VKZ/1p-47( 109.273 - QXpdH13eU2GaMn6W;Do?/B(BZUIl-,T$<')mYSE&E6Jh)2h?'PNH"Ulp(qWBD<LX3IQ`(>F 109.274 - [pNG=,*/VG,`8Dq:M/:+.iU1TEQ^:G&!%^cMr^k'VdpH$RB3fH\3pE'Hp#</SN@5QIkg@@! 109.275 - !ccPc'7^gp_NR)M]]F!)Km,YS$al5PmuhHX!0>2jA0>')GFWqIFG2;K/iGPV95>$(n4)B<, 109.276 - *gh7_tsFVPG_KXC/!@rm?fqY-Lr7lp!7W/#lE!+3kWGR+/V0RV3(L(B3%:O@?Cg1A.5i9ND 109.277 - >+fgMYe0tM@B&l-=9&KS[.!S7kHsm<Wn(LDfYS&'5IFuSj&)REVhuqBbGl1eET7Mg\53#bl 109.278 - F6:(431t[q5AnX?rGpC4Do$Sr_KgD($j*qd5<!^[3rQg:I!'RQZF5260b846s&_JbBPi6Dd 109.279 - X;([GM%$!5(!9:K6$c67-dLaT]QL]C':ho!$KX548os&L-hRFphWDG$\uSCEHl"p',Za"A' 109.280 - t)TL.*>M8S$7p7&Es7Q:kf;q1Qb!1R_$Mds8lZdlWGMkL5k'#),F=;/"I*74+9mVGh3YqLq 109.281 - D8,<St8U>!R][2`].@o`:`-H&oi/SrbV7;ahfUY@+JRt3KZ@(JY,7,*?k7]3t+Dq@A=#!6^ 109.282 - gf3%eEX9g`e=^`L6knZTQP(gZVcb.0U2"o3XF4mJ2@J9ZJ>.!".]1Z.3E9hWbrJ&@(ZeB8> 109.283 - gO7!t&%d^S\(dJZ"]<1U?cP9Na!KK`e7C$Jl%U&ne$*rAQt^.%:2'&]mes$/L*LuZT-C>n7 109.284 - R"RBf!o^#%kh_Q&bI`'L5=Zhf-TWgs)&5G!5MDN#m.oh3W>S/.I)Bc6-t!&#f9E..13r=&u 109.285 - n&DlHClK1l(9>&@eb@/J='u3M@.tYPO(SV9Y:'YI`#r<p`*=o&T:&88H;^]^JH?(F8HbhQO 109.286 - XDj5u*1Z+:@%aAR+^aN>o@/:TKN"#tW`a/_JQ6h'HXKf)>`=P$5&4OH"1;d@tR2e5!rhp&K 109.287 - r6?5iK*:O'V9-C6::WLud3`&BSiBj9B]a$sQ<*^A2dF:i)"poC".8&%<]eN408Sg0lKs]P\ 109.288 - ,h,c27]ZchD,>9'<<VJOSeO8s<[dO?Y0F;Sq_^#`W0r6C*.pM^qcG`[Kjr]#4bmS#el@iDg 109.289 - "(#6Am/5`VeFeM]rc,)[b\3+=G!c?:+QJ)T'b:a4hGgj=&mXjh:HN&G$\6ukBPjM^$U4(\) 109.290 - $S'?WZXrJ)FE%$%UsD*Y!e](g[`-iE16p)hm;r.L#o=[NCIeR+<F@j-]f_!<>A28Woa^8.Z 109.291 - %9\QP>del,87Qf_GBBpu.n;'J.>6\(r&kIK`'T]d:8J"l.12Mn3n>#(K]C"cmcVWo(kV5if 109.292 - A^7Zg,_$VY2KHS:6XD6K"ag(3e(=BGT4$M3'm@/RV\F&%:iOSC2Y49)A>JBjEn!j=T_!eoX 109.293 - !Q&e\0+l+l>W3P=n[r3LaRU=BXt0dN1+EieJ9N<[oA&d/-O&HE9p1$7&-=#1@DPUfb;lpYR 109.294 - .^hlB[!e\gpVS(<RLZ$Q6f,6+U-t?L#R?+09P;j?8n;5q7^4,kkZ?mTBc8Z\#J]j?I-1KHf 109.295 - !YpiJ,0/*3]Z68MT^_?LQM8rSMPPp3p@ukP5%K^[:su^YeS\Io#b<5PPB]THjPgYRUb#Qk9 109.296 - DX4:Qj<3X.kE,lb[t)%0tS"9;gY"CU:%K@!@(_:V$VJ1q*-%[Ie?n5ft86nKI!^"JYQ[#GA 109.297 - 8L*EJN(rM_`%cQA((STJ4MNF23U(g"OE>BffGa/l8A4_W_/gj()TbQL6<JjXW.ReTi(1Q?, 109.298 - MpYcS!VfDW_2oE5EGdGKf[1Vt<,IUL^,AIeh&Kq#F,nYj4@`NF*TPXtO-0E)a;FjuU]c=3d 109.299 - M>5A8JNE0>`"T+5"A0^)^OKtP`epF9M'Le(P7/_!_2edJ9`psV'Mgt@8IU<3)_<B!"Y@2MH 109.300 - C;OAIhC41Fo8i)\Dda/I@';+),.fV8[Ie')<2bmfj?IQq%FZABK>(NUiA/cMD-peX:J^B$G 109.301 - V/2J2%&S'u7nc.Tomk7m$J1S/V^M9P^eX;<&LAe!%bjZ7%Ml^lER!e<NT.iC#ZT>B*/-96< 109.302 - K%r/<X#c),`iZ`_Ed9o%8%Z!t#,s^Ge6'H>XMp[qc,%D$k+VC"rdAeojkp7RMe;BJg>#S#W 109.303 - <@t&3^6R.c>th5O1T&[QS5W%&:$LGHPHoRkJa#NsC#qdD+\#7'`_$8H?r*c=[\t)O-;Z*>% 109.304 - mKV0Kb2rT?V:8-Waqu69E_`*%1L0VA4UHp&_\RbJCCWc]!g2dj]lStE3@a:]@U6V?L--iY; 109.305 - Q<n=:5"7CaF_<edB>t>8(4.pidIlJ4'Y4F^hGKLU+?@bZT9MAZY!]ZaObt=rTb@m/<cf<gq 109.306 - H?HW=ftAZ3#fY1MC^@;P=r[C/!Mg09JPDJeL7$:-@*&Ps_U5g?pNf';=#gQQXF<O3>_4D96 109.307 - V!W]5t@&\Yr*.qXd/hZ*r+-h5KSm/6JMj<55f:MU`@CRnC0[UR90)&]\hgB@=o=ii!r*N\" 109.308 - IIG_b^R+rui#DWFYQb3FfG=Zu9GN)pYX/R?<$$Y\;h=FE$,W':$XoPUL@E2&_cV*o@JiQLY 109.309 - pLX4\;q;4S5G164tX`U],"lRAW1W+0ZMbk)rk1CNq([`a#O)?A.3mJE[F/pfI/HWY_#;0-l 109.310 - `=L(Em?0To6dL56gk@\cTZ8#=M+4%qDq"?BU"eZGC^s\VQF"'l@(8'kK4ET/74'`gK=,ER* 109.311 - 7p4>UO)S3Zdn2BuEkAVNSQJd-oBqApH64T&%+ERq*Z>--r$-)C11Pr?cQLQggIV6oBUe(T6 109.312 - &.FK9:RA`9ufjN\<j>&UcAtUJS2&OK\+JEpt$CAZn>U>W?QYSCjetecqQ1U9Dp*Rc2`CE)@ 109.313 - ']lUB318IJX;#L`$+0CIbU1KB`b=Fl?r)qtg=q*rDB1m;#Y(9<>G$"TS^^O0&I?mF][-Y<j 109.314 - QSpAoaDep?142>]#e"*+Id&(,]QVfFtRMO$"Y^SbhoV5i="9`CP$N^-,fNVaWVS#MA%\)`m 109.315 - ,tFj2&'`6V]GYq'RKLg/E#'IEfn0B.`6!K6E?)hQ2q1YW03&,'/l<cLamckJX-JE/Ma*36r 109.316 - *Z]LSUdSs9eqYm9;0/<C=TV4bo0H3!Ut-hCV_5'huileR&p-D"+$\R/e3h4M&&c=0)MR]He 109.317 - N]Wa`,<sqD_WZ8^M]PD"0mC59piEPc-FCH??43rWMaA\stDP,m>hi/cA*#sf",]^q?#L'OD 109.318 - MpR(D?0Fd)0/E"6qB&,Lq\T>"^5pciT2]V'=9.`gA79g(U]=7?((K-VQAj-AjlKVco3Q5[q 109.319 - ;$pj#SD98jiGDg,R_GZ_4Gj<hkG*d"@>3uX8:^Yds-rTiql:!qo>%(%<O,h4m<XTf8q?LT0 109.320 - ?N.DqP$G^TeHs14t(3p&<k):).V8LD7U*&24#;K`E2_,lEHr,HoB9%m\VIMM20#0-gVpO., 109.321 - P(i8Ll:+Rc?1&2ODTAG]05"(Qr`W)+]-&4[8ZiNLf=U+6?8<s=4ioWM$oY[[l5Y4\u)mgqg 109.322 - -YR^Vn'$T`*0oW@<6ZVBCr0V@;kbD229t^aMQO/6s"0ImrUaC7O7ec@0q+]3u+gV<'+UTp8 109.323 - $c7Gun*(5L`sdu8#-[h+E2FnbWq1mCe*[2YitVqG,#uPH$X`rhK7O;Ef`H%.n1]s`&=![/# 109.324 - 6,7+c`mcM@PmasIPDEH&^_XF&Aln9+VKnef^R0bn66>sHok0-,O'4l"VD#8p)e1\f0_P/Y` 109.325 - ;D=P0U<a(!f;[d9d"ZVX5V^8VBSL;0*;2,o9F*(X27[&7ZAl<u>DBf'RMmnP]3\!9iqV(\+ 109.326 - *[nREI>AJhRt4p(j>0rl44[e*FB)j.lT%7:(hh$jo[)c&sDiggTt'*tcB!jS-^ELe((k1t$ 109.327 - R*eLd?+t4,"V#$(`pjk:4j2sQh1.<nTbeTZ%:bX/sr"_uI,=H.0igBqP6m9rl*qCrQn\$.[ 109.328 - 2^="](bmll_G3(b5oHq2+7]@R,6K&t-D;%\!!;U41#sVn)'QjI+p!]^j]j")b7@H@XARWpd 109.329 - G3W@/0N@U,I3?YZ0`tAQQIt40B,JK_koVq8hT/Y-D^/X@S[Sl;%94l.,u#i,LmB(QRn05,> 109.330 - u]:'%0&956[4=,;Jm:d\7>:VI\,T26sAQEj?t=[jm!k'>mNY!Y5er7S:u$q5i<H/gi&t!@Z 109.331 - CH1!@rn;][>bh'@"9#7:2\U)K`/0/)=S/^l"&%:(OV6St!!.rs;P1.!88.kWV1WDbPqP;^X 109.332 - k3\"!E+S*B-cm!ZET.r&"'la=$d31BarA;T@1,Fe7P<L.p2D;tU2Z`pcUAR3W,7^Kq/-?S3 109.333 - ''LQ-[/o8*<R[Zmo:@C0PrTN#cI59G_ehABlTHn&2%e(j6<88.RP0ks49Fb.D.k(kWY`"E+ 109.334 - B,U-b.96i\fm9O7540goCOL^&0e-e3&0"JD0m!kkn;Ir/sG"4'9>K^><J&@/7U"Wo4T=?WZ 109.335 - tJ25*Q-SOA$l3FSuk\+u=$Xdfq8N4%"+)U(bpD_d>a[Bh'd'4n(C#PW]1:4tICAX$^)^YhU 109.336 - JP[033c7?g_>_AbrUn0!=\8oqs1147>eJN'jk2tBU.[!+n0H;kS99TrOA1.=nm`COH0'6Kj 109.337 - @U+\0O%51%@$SllZ6D$e*cVKTmr_:QE<;J1G`CtCWlnj1o<;%F*k=oK>;7$[,eC.0#!D]@\ 109.338 - :?!?CJtGq`.jqY1QgE;TESCPXLE7')3&0Sn<=DWebuI`";=^D\nsrN3/IRg!9eos"ohn#>@ 109.339 - o]p_G'%_*_f&UVK&h%d"#UfjPm]tpPpDW4eg'`3Q%gOu80IR\q/Jt?d?@O+rCbWh,5%d7KY 109.340 - ^ZR_BMs)3L+k\<GPVMR5oBqrNp3C(!0cN0j#1Q2AO&7c-oe@nQ?SK)R]T>2;MQtPn*El5a3 109.341 - EH'I=W=^E,7.*&GYk7$]p/+$0NN0[fG5j/au"Yu8KV0iY%n7"?QJ&2@'\%un20d@XZdo20Y 109.342 - j27;($<a\/CA0Zb]:m"1Q(27?GG#HlVB7dTJKVr9HnR@^].tYBC!Y&X+$"JQW$T:4Y@M*,o 109.343 - H6h'4ponsGXggq8AS:":?Z5C?[WPk"/Q[,7;:]l%j^KYm)),$i6.QVc;\`9905H]Z@KZXE+ 109.344 - qXQKmSo@\,\:8",5lGs5:+9?@^2V<Fn8kgH!hE4>da`GeV/$%]5iSPB@eU_(5#!K![,qkDh 109.345 - RY"AI),A3%gOa,52F?(CtQgAS^c%Cc,j;2doju*DMgLD"hI*'e^7Ze3Xr0>BD5-OtgkF*]e 109.346 - L=+]9^1n/+45k<$Wj8WjTuZh@5"mP.`N+\E=^pJ`>W*%pjR*WdPo1@R?U<&]f%&GK7GGA1) 109.347 - ZD-;(&AbXt'Eq+Io&RQ>UI`$)Ep[9Pt-S>(K&XSFupQ-PBPWF#V;?>a%nm3qMU*&K&H@c<L 109.348 - GHkmAZltdG/m#`6"2fLRVgh$=Fg(+RpXi(SeUP'eB!g$96Jt+jmn+gE2b.n4Fqnmq)-#4AJ 109.349 - !Xmp=6E/o$V"(r5GB6T\$efD++Q[<Jq>3)!q1n23A2)+&_@\&f@,E)+,#s#=qtafJh]/M%m 109.350 - e,UI^hIu"&XP-_C4"m//XZtdMO6S'8RhY0,TQk(lfbAOtKk`,5@X!=NDbT55lBdM`,4*GXm 109.351 - iSDhM%GX+CqAUN:::@r9.3GLD+CD:^Le>8C:p,.Q>S&[PCMnfh.X@lQFp25tZ,ng%@$Bj!_ 109.352 - <32'Z'V3&/rQ+6p\pePO*2+4uG5e+Ri=`Pu/a-T,FN7`]DU5>2%Z4DO?Pe[<I@U53`!K#Kg 109.353 - 4>Q#bU8],MAK8(.LA>DBG$Bj5f8o^3MW,qL@NV#4[m?)%6b+:3[7Q+=l")TaP/8<$_JVCP( 109.354 - R^\-4#mh@o[0.I]9QCXQ'o74q.#]D!Hrap;L(G<Qjb2!g+eko.X?$&3[-!JH(mWBQf8UK,' 109.355 - 0>b"<tCr,WN8@@Srj7I?0HHO4j,dRL*!Ip3'UMPkl"_@POR.$),4eJ_%%Jg(ZlAd=tSJ>LD 109.356 - o1qG\a2)0HR`,':"S6=3?(6Pm<1>abVg)@*9&@AmA/Wd'1ZcS(;[pRca^X4YBemT!(E^G:) 109.357 - <Rp!(9pit]hSkfD@W>E8pg6VfNa<R-GrRt&C3i0#@$_UW+YG)tXLJ+[WAZ2Vn2XueL0hre@ 109.358 - j/:L]>PcU%g@cf'>m+>0Wo@#Feo;I/SQn4LZ<Hl#)>1*HgRigADmK>5dNu1;l*Z,.U75=4g 109.359 - +Tbk8$p91YM-%Q;qJ?[?m0j_q\o"33`i\59<\,i\7-8_Udoq:AM?1.9/Sj[oHOXm(T6ffW& 109.360 - nXKR"n*T%:b$a\.b"2Q&2j%K71@iLE!M.gWUj^BtI@7AE*E[e&SkCH+nl_[JT584(YbX7kX 109.361 - r4]:+qjQef<$n0]0&qYS%;>Lg6QEO5dG]pc7b2RF1qi[*(co(rqj:AYQgJ%D*iW#On<\.ba 109.362 - N"/o&a-EuriP*`gD$,rE=(VB.Te^q>./\baZ`*#+(S4fb!a<ga]^`6f0Hk".,8#MiSL3ot$ 109.363 - *'n/cVhLn>-/*Ge\`pto2oU0"b1s0.ggSADZ,'X_]c,^A3SDDT>KQ_N-(Lg>4LQM?L!<?DL 109.364 - $tRe4H6VPJVMmj`gh=DghXa7/1];/'1-9#U(NeL6d!'rd+o32]X?-,(X)`e_4%LP>eRK@RK 109.365 - +93%:iD+*>b/42#hPOdnWW^p(P_O]>NC*a]\A?i^)"^0+RoW,SKX01=OU`5LuB?m6)35qt8 109.366 - 8:8_#O[caIuH][A(]?n\'fY.:FsRB+ubq8fjqP#g`o[d+iYYL4UB`o-ZA@e61C.q>!6Mj+I 109.367 - #=.10;&3RJM"VTq>!Z!r-0?4ZSepWnA*TH2:ERS38,sAHd,2q9c+5=/b5XA1pF:9'.bM49Z 109.368 - gu9E$I*G4@_qg`=b1t\,9l&Fm,2HBLg/4QtSTZ9*$8E_/+JKrVSeo8^8'k]uE#[Mb4Y7;;h 109.369 - r6h(jj!VXSJU/"=6"nr0i^/C=r'!07QA+Tgfjh7*`]V>+m&)QYo=F_SOq+r+3rWidJ\G0o' 109.370 - ej6@q!rDdC96.\r&-#X?O3N+uZPG*-[dA\31nH&cPqs^=2IDNTNA9k$nd5*`)hXVBAVYlJ8 109.371 - H`KO>CD_<Z-<m(Ni$`)C3\`#ut@m"'NMg<&QMf$]#.>?N+RRFTD$)4*P7nt.T,%2\EH1\6E 109.372 - FnUEUF4t#naT:LD*S\II3+"d.-=7qDao7(!<"Z>oO@]TMtGTN4FQRh`9F8);Q;ZC+uhh"[3 109.373 - BD>&4e39)e>tat#kP'Imq;7c;5CrYQVF&%SqM/M/1O5n4PtW:'=J))[ho#@ZKDJrqr58^6h 109.374 - p,5oD8X,.rD`Uj+5d')kEgM3m$buoTCP;*e,MierIP%LJO&.T=>V'2$&(_)OP"Y=+VBQ!i@ 109.375 - QI^!\kRO\7:XloR9(LO\"Pr=Yu^I.@!NeP1ark@540Dk)sgKhDH,\:?Jn9o_sD-Thss;=u@ 109.376 - @`8Yo>LPhL7DTi%dglBDrV??-#lf'9ZsomX_cYup@Y>;`#".Qgo#,277;iGlD5m[%$[qXFB 109.377 - q4tht4p&=a]]ft>`>IGS;(26fZESO#J+d'lWnsNW;h%*YZLU,Ugp4#B%d:i0@>rJ<PEN>OD 109.378 - 26pPd@BnL%p7#?q`n#CCg\1O#pA\uSIph.r>Q+^"K>PBJ(/.aa0cY0(HC\BO?a1ZrAuD2kp 109.379 - OC$<nTau'?T(8QXfcsJT&4b,iUGXj`P3M(hsh-6@.6,LX8]oF9Jc74\aG*H!\@u;(0Nqu6l 109.380 - tOl"CrkaQ;C`C"N)qAWpQ]8gc#d40bd+j7'SRDKY8hX>nf`+N%YOSj$Y*uOcZXt(Ip4/Y5+ 109.381 - tGF6ajf1(t`-YA<G$s.6G%o]=/./.BNa&orY=8tp.*#g4X7ALY!A9YVF\o'2nYUJUm/1efc 109.382 - *f/?@0EX<I*;.SPr8u@9E-Hf<2\N2LOq9q$W'C6#HUJ^sp6r>CdMLE7F6ic;iO<#$g8d`e= 109.383 - 8gLb@ohH_84[2WCd#CAa9W61];H5SS=&r>/Ego%`1S%kC;fqC!:R(OHdo"_8"U^48p%=):d 109.384 - >SKt,bF^/"Qi^kZ?&]ALg`/U.l5-1K0o1;W(e3hoq\hD[f\7Q6dG)>FBph*f60\bMD88iXo 109.385 - 5eG9(p+0D+_7u]PQFsV8[pB[K80l?oTu?@n>diP9mGtSQBI!<fR%`ib\hu>gXAm%YrQUe^' 109.386 - 7d3>P,JA?<2qXZ^qc;i7j)2DJ$)GhuKK?sj0HRV+9c&pupnK*=hL[:UW&\p-DNQs4a0n>q\ 109.387 - >F`WHak!#]@%uSSB>gN8H1CBh5ap_VC0p\<,CT'_>?L)=NX*^W<;)P4fH@8#VTle"S\&ON$ 109.388 - g4\&KekM2*'h3>_E4e+?`$Q?jj2A:86=74i.+YGtA]XSBA*lh<Yts[hG.@hGWQr>b65u$^Z 109.389 - QT-81lUgbW_(:T*Bu'L+hPL)]Xe]Xq7CRncPjCWfuJ['2nA(!,uQ^GKnprB5:qA$C!:O_`k 109.390 - Cs]DB\skY)HQ_IsR)@^>1g<:ApLWN1rMF\;bh`EjK$&5@=NaT`:UuP41RUMuJ4@oD`?=/X8 109.391 - R'*qY9;e0WGCqnD&4ptiXEFAISp^uVlu>`uRFUe1eT3#MiibOJO"c4#eimc`RPAU$]8'>h( 109.392 - DUCJ^J39BsjUt)",P)I[n:W_(Kf/0'<6jOoNnaWAP'):E&s+a&u5EPO0g'BJ3K&l#U3J%[1 109.393 - U5/enKH;22G^b8(HJXHk9s5k>\Iut6Qt<GO%mjnArg<m?NY08k7l8`rNI5h#;'jf#k]l:Il 109.394 - s+?]!.dNdr'mD($]*$FJk)PV)2M6dCb^<R`H!aKg72/8c^]s5R#<+roRVq=(.'lfF!9GJA6 109.395 - P-UJ]<J;)P7-,Ns2*hU^:N_9;BO)mj4Vh[9V)hN&Y+A?7X.fH:]5WGa1ZWn[?s6<b3ulK4J 109.396 - F@54bHq#V"1g/+A9caUK)C7)qpk,_jOP^F@B;eoa]@pdh@77\0a#1QpI;:H@Z&:F(+T`KFY 109.397 - $W;[H>E?gtS2K9;Ma>>0Xd$`@-KhW*Z1us&7S>7KJ*=9)>k2@2Go6gqe=i-NHPm&;O7W^[W 109.398 - HTK^,e1m0JYY.#W91nid@;PmS9A"(Jfc#@'PP&2%+r*MeeKZ5Qnq;h9#=Bo=$E-jgKgn+$6 109.399 - sP!B6L<!i8\-*6C/!H^OHAZ<-#D_m'X*LV,'[#Na]WC:B/2:&Zk_;757#\^VfIHFeM8jU.R 109.400 - N!jA/_3pqL`*(<EZ$g1l,-(Z@_@iFGgl5LfJaU;TKT++Vf*XVoNXTlWI#[Q<qfM8moOX<&A 109.401 - 91eS%V\73`GhrukF1OtJ7.3MhF'[Ig3GfinSEm85+-p9o.,RpfE(4_(gB#2rfKLeoU%`@=o 109.402 - V#hjkDD93GI[mV"_h%C$:#TZ^O`.mJY@OH:N[E'[1B(0+^<6l=Gs&h_GRDVr>.pPGTV_?JA 109.403 - &6KAJ>P6U[OYZjc$/JO`h6aV7f)$oNG")c1e%b;di*K(pK5buE+BKWj'^O^^T`+I)QjWr(q 109.404 - k\m_jh/M+)ZO#GAT+frVSdWl%cU+dLTP_H_IU[V@iT/LY;PKtCctckhuMS<1MERb.ho%2.< 109.405 - ii2hSn+]!"g`jOOMaEUcBe6jLhBPf.(Blpt%*/]X]#dQ<bqb!f0Zh=-Jj(?b3d@(Z3sLD!g 109.406 - Y,^K@f>Ao,bcZS!rM\\foZ!aUcVk$>=#ae7*UgC<7c`1l=%N9#B:0rWbcW8o;FBWE/CF2jN 109.407 - l=9B4ICKI9GeoK(4B*Djh:R6)$Vpu]_!0r4=!;02Zd3qX[l,#_mfBmu*2<R-^h*Inm#&DiO 109.408 - _cg`uH^&\+Y9V`tA75oL0!AQSd'VL.1H;R6#s?J9lV2,XRdHX:G.Z$XcYD&`Kr;?`,1kSDZ 109.409 - "c`m4Eb'"hAaF8Ac:[d[\[lq`2@EONO1$ic$%1`#8_870MD*\8D*ghL?u&XEZoGBL,e;WA% 109.410 - P.IXWtbrCX[0'U/`CO3<[Q$:-N,M^UeH_]XE3&TCKd$_=L^F?oTfoo0-m5=*CZ?>.^7;:,B 109.411 - ?S?=YBFHBL0Oq7(O\9$*I4PuUS096k^fgYEsBOFA(sm(X'c*(J97V,NF0o8(sHie-R"K->7 109.412 - Z&"n9%4R=-@\qh.!Z*jaToaO.-HB+_=SBIsW^A6Y^DY3D9Vm*"Ha0nR@'[FCiF7Od>hDm:s 109.413 - mM]$7Eo#!F]=+F#ScjZ<?StK"D\CEZV2c^BWob/((Z[EA:<Gm\&]n(YC?RkD&P`Mc1JYXI> 109.414 - T:i]NnkJ_0c8>%kB8g::$6saa8#q;^jMbFe%IRtob4:fHK#+r8WU)'.*L<7Nhtb3:C6m9X/ 109.415 - Gc6#l+B0Sb&I#H27HK`;8p;BWQ1\igc]Q;Z'Tc^RTkG-SX(a,N""RI#0B-^E^oY]!dgF^VA 109.416 - -H5N/V&)biG92n[>-SN97NOjocY]g#I*^uQ!+9:Q`\SNg'KYhT#149R,R"c*![SBM5Qqpl% 109.417 - s!A;jW[Nkpfj2O<fFMGWu_,M17o<gdC#`("\Lr$+,Y`:udR_MN,,GQ3D6dRJrd24qS*kA;e 109.418 - OaI^E`#cK"Lar1b\SaJ+)nu4h4hL8KC`"<H/jAm\2`**0fo\PL-:="X_k=4t>NA,Eha4Yi# 109.419 - [B0j9Jm)40,3b,34lf<S01(\hM=ii0\eoEHl>C073k8$&<%^Aga0k<'uFs$Q<QYlMY@u#bR 109.420 - pj*OcaN>k_C1;"H6chOf>]M;Gj\m'h"!#5_MM;G_j=48t'j&Rg[2(RfgL#$DP)2`,U&iN(h 109.421 - 5ZAB%H?6bE"[&IHE"#K8Kb#b5.[KN8YS="*ZF6ZKk,<!#8M"%!QQ7^Q17ghasrD8TQF`.3D 109.422 - .'":=RC-&^q7To`*@U6):k-g/pZocMD]$j'SHAb1$a:s6I1kUW1B#m6Y8,<e7I"d`RH:WV) 109.423 - 8%WESe1!ZSQq3U>80j29oT.'uKh29_8CWc_N/:+\P,Wum8&MJE,HjKc=-9R7La'qgm$*C+B 109.424 - ?ALoalK%I/>(&&TZRs0aV:G+>a`LfKh8KK3u"G%-tLJRT#p1rb+tpT/$'nMHU<?u8Af[<,c 109.425 - 2ge?E)p7.s(+#['RqD[*):$at0rWr3)tCZ)#TD#gBVJFM#`3K#k#h9&rf-N$9@V,g4EJbTt 109.426 - 'HgpYE\QcoL+bS8">FL00E?57-jbb,it[*-\'F3N+&7X.Bl)7bG`?VGjpbp:`Md*,2%b6*. 109.427 - BbqPj8m*C=CXN+;kc(pTJN-pn(FU'mQ#M=GhFP;Q?^PCn/c33.P1uk)cGR!qZLVS->AE6L= 109.428 - kg#9G7,%9$m)]ue+b>/EJe/`PAF>.Z8-C>RcBs=gK_(#@#>\/E:Ls%BFSF+42i#1nLM0]iO 109.429 - ;<O@-35t$JM:jC85%9bci`qAJ;jVda<"/H!74Wgc+KAX<:E_;mfZ0G#%[so+>;*WXF`kMd' 109.430 - XA1oad-TIZ)_T;'c)EJ56;B&.F\j!L4GJ<>WDP]TP"@V9H',FU6:jmf\_>3c,%PI34?f/CG 109.431 - 7M;C*O80^DRerQii&"J@s,3T,g(+!FW3d\6\;Cu<TemnpkfKA^=fph%tXWWcL!di_rF2(I' 109.432 - D1t,:D#N0ra[3X)VBS?FTdo`tLJ7Ou(<E%7Le)`X>oW-B$IA)%idBQ`(+;iDc/Pbdr"#s^f 109.433 - rC>@k8CW`tLJV^i>rYX,E!>H,e=B@ao0:[6?%P<\"a(de&1Ie5:XrHFeR_d;QtuqN:Xm/n# 109.434 - CpateQ5bi>cnN4Q(TW/0Nul>,Cudp#LIkH`EcM5ACaa)L$1RL]d/;6-im.oMoB8Y[;2Uu?5 109.435 - 7]E!t\j;`:*sj@0\r3=!_n=1ujA<HAA&)JRp*\^bu7*F4Z\&Scn>6Wq=B;<eOH[<rDCgGVF 109.436 - jUH<:o5fHd@!Lei\(=b`kRKXHEaFbc=nHW2Fp"ZT9^`I?4U<X*MRLK0.4ooIc/%L94\LHT= 109.437 - %>pP,#-@n.&LJW$E%@>b!<S#Q!"s@9./W<I*2$2E;$n-U.NM"o.TX?bl#O#RupbGj?AqI^i 109.438 - >%ORp<LK+cF,)/ifu6A`?rI3lCg(t`g?#K=\7u1$8_'@1#7+^kSZc6d[#l'(3n0JH3E:[(+ 109.439 - bcbmKjZ,+TN;?eD)a,T>NNTRn_aX+AHhj/!cSk(Qs'S'+]/f!>Q)RsE:R4@j4Kc$"9:H:4` 109.440 - >n*N6_Z+L!Y,NS]4o_d+oGaQ6:7'E+.(s(L%mX#7+]@Q-rrlfT!SC'mNmcBQ$b`,QYDVfYB 109.441 - M"-t(<e\)!>.hBh0D4k!\%.:#pO<L@'ELagoOT3aD>hOr$ITiVIiF5!Ik:B33QaBhua6A*? 109.442 - j<il%U&E-rto\WOF?"dAH:"=ePe;&j"#2St0[JPlAM*G]oK.nf_"fhcN63_*XJtQE%^dNh= 109.443 - A_HG1#;-46/dHqK#h.^:ho6#][>9V%IKk$l"?lNX88SNd:uJQ8i?]RtGY6p[DIHQRiF&Na[ 109.444 - <tX+@Tpa/g9<"-#[)pBEX/NnebtF/n2Q.[i6<t7!:D%ga=H7>(?/@@Q#M&)=E=Z@4Tb$^?= 109.445 - a!=0LQ"kkhio/!<+Um/gb'.Ol!WP#=*>8W$0YZ*!Q+BLDY&e&:+E),_`Xb"0G%JW-V_PdM] 109.446 - 9JLNYlA%R9"T2$WPU"^"h-YSgoH,lo]+".1QniL\u3?t>B*Kr.K'%SMY=0pV5fK,A"D^bu8 109.447 - X?O.Kk#=*V<!%8#qN+FtRLBqf'PgP6:=F^laJehOE2I#7^>ij?GLR<,f!+:HS1#u%SKs3@b 109.448 - 4Q_E:(5HL5KSF*_\-hAKI:edNk+Ip[=rC]#FQ6JCfYD0T@!.8BGDC-b"'@/Zoo&r[*<hFkf 109.449 - lY8hSp0>"Git1`LX:>PLhHqT6s2BMg`R;2Qs9_q-&9!SB*MW'>j(:AKS]TJa^ojcPi7De/- 109.450 - 8!qg9s`\#_NB'HjARuKD9%\`9d_98d%t($fHJI<g2c:l<IG.Kr@n'J1Uf8p]XZ3<L@%oGUU 109.451 - n*GA0gCl/72)d:*8m;?ks9#&%NP8;)\Q</0T]!M*-FjR30V.#$#a#-OM2m]5WlVVG9k"fP? 109.452 - 'QnX*qp]XbJJRu\!<EY%n5m'PtLRtU5G*H_:@Hf0iJgIt]YVC`s?"ebAL8\d@?n?n!MHn[" 109.453 - C1(*Gpe$:DP3[S9lt(2Bk)>&I=bR\q!rsEWO=#ND=b?\qgDuO`OAQ./U24_pk,u4[OBD``D 109.454 - V2t%hl)7an9kF.0&*$NJll7/%<:b^h!NWV#Inu5?%ms)=G#`WA4TpW5U6MH/*'/LjA8nZ\/ 109.455 - GSh@Kjd-m\X7JI-]%nFkQ0]hu/Lc=<*$L*/C2BL(IYr+=Mg9=kfeqL,J=QY3PJ1ps42/#2! 109.456 - Yp84NcjZ.EmUBD=B:G(9X*p]^.KK$\h!:3Q)m"QEb:(DpijBQ`PC*!;ii"r6]bE-DOpHis. 109.457 - (>e[,ga<Z>@=+od/L7igIQ9=Y<'_,/0#M=BYW,ICJ<n^S_cdkPeW+#l`2J:nG:Xs-0<<!*2 109.458 - IpgS;ng4``@<@0A6&'N@"[Gkk\;BUeg',1$Da7HZAt`ZM,4a>;``RBg\7Z"O-A?+_JW<.O8 109.459 - /)7F6%_F7KWm`+I[KZf70V$t!fm*]V_3&0qf4]=A%6r=cm<_'X)'1uL44d]Ss"d%9*VM,C3 109.460 - IGGcTd,n?%nqji*<Z5I67&H9]*km#:OAA?ql?`j7/cUDK$KuGYNiFD$?"t"fO2./bij1)0J 109.461 - bPneRF2f3@+'L1\E6)),e0J9G`\*+@c/jWJmV#]^.]H%ZGa#"Jsgo^DqG-AB6?Kog7hgnOs 109.462 - !Cl$.qG3%WT[p4+\^5&q9#=]7.#[RV0BA$?`o9^q\i*$:4D?[OKKr?eMIlPh%Pm03:"-@j7 109.463 - DPQq:JDMqBQY9?P!,U<-!X7H4M'-R<OETiq\k`Q%"gD&4s")7\9R+qjK=?m9(Q[8LIg8`O" 109.464 - Ya;9a=_Nu;2'6GJZ*16^d3#1BD7KdKqL/P(.@sP/p"J%LGtf`&!1FrJer!5h[j@)mGI]SP& 109.465 - 7sfGa.Z1OBVlb:kmO_nO.t^VlP]r$$t3pLGtlPom-jnE/)se"kYg:TN(YmHuk*D!dGE6#X8 109.466 - D+ZA"Zm#>fIGQr4'C=9@+pA5.9"?ugug@d;%n!T1bF8&L''`;9I=H4bF/%Gt^j%g4";##@j 109.467 - J/Sa`&EW\!Gmd7Su86CPL7>?gXmsK`9^Vf7(</",erFK6h=EK:RA7r\GF_DtA*<("DSGAbH 109.468 - LNm]kY[mrf4R^ihL!Va[J8p;l>jW<GKX^*$a8pa?<rSH:j8SAJ<Z%>RfD9+j"COKLDp)b#T 109.469 - *?]NLG1Q:csHQ^<`D%Zp/kj@mmBQ?TDkbae:;iM3,o/\>6Q]i";itLBRgg%$Beec#mQ!tiD 109.470 - >mkW1#,@SP'EgP(i>kF["[N<q>KU]/^TLE/>j"G]P@F=Y&,$q>C8[9P.3`Ut0BAS5*]q\`E 109.471 - I45G1hd<&u<@NCTdBBiMZT2P!X2O=EL&V,TrdHIcgG]&e+K?a*XK<]_Unc"FCeD-"8[[bYl 109.472 - 3>\fMcoBtu?]N/rH>JoIeqgRI@=?IoG@-VhsMWA?J#[XUQA239mX!.35Ib37(2`]7/_T:q\ 109.473 - qCIf6bZ8%$Ptfl:eb=gNCj'#GVUo[oghq=?^#o';^Yj'U>WsMONQ:*Y?VaamQ'B!pV@ZC!. 109.474 - 2GG*L.PdQ_N;0[JMXc:$CAB<f.hJ-g5NtTrENDAp,bTP;)hIm6Q7%_<bEfXs1f0S"K!f)6j 109.475 - s/`"l'gn_2rIR#Jq%2,mhGMWl2J%lfmdGY=n0[^p>`%7&HJ$n`23Vlt]*+Q%QTp@@lYg?Ef 109.476 - o2_;7QjL00BQ(!S"Oa,,Ap?q:j+EO]hV&KI&^ac^J2-d!'\V('QMXK="r&u#)J*lg:2@@AJ 109.477 - C(mBiR:nAB8;bODu$Xpl77h3QWMHloHZ=8/$Vb+$kP=<:<--]5R=t57REAU!'LH3=)d?JJf 109.478 - j;^"9+%anFXY!2p'[-Lb0'gG6euLLqm1<2oC!^oBUA1<ba5p^]/ska`i-_W(@FfdhKUJbe# 109.479 - K;s4<n6=-Al]kkU#pc&[S.T@=biQ=AQfk/V.nYLXfZBn'Vt#9RO1=t;A(;>ln"E2J6,"_1G 109.480 - D^_MWUm58tDj,UmFIsqj)Mt"n>u.%tap''O;3jFuY@T&Q4T0[a#VAiL"L'LZ0/2-&J_1iV% 109.481 - ZZ'`C6n0FS^FruL9:n2#t+j]X?q-.0eQSng[^IMX;m_,luRr)h$s+gG??O![_mA0!&fqNp7 109.482 - =.^iu($E,&CN>cN]Vs)ipV5`aKY-"bj$PG(7*(Cf`B9QjY"t<h[$g*S;@gITrP!e$c>TZJ0 109.483 - jI0s6Q1A%EA/NZnMBQTUK>$63Qq@n0EO]b!4AQ^2nXOM<a7:-,/W:c2e2NCeS;V?4Sqk\P0 109.484 - pjh7K=i"u.bu#6jEV#D$":qaRl%4&YToIPq'p-LLDF+=C?"u8WiD_9KR.m6kDeNt*`&'_q2 109.485 - 4G7INO>j\n`7=\P?ZIUT%o^#^cHSq%b1DG%6Y%Q4/&/`r^.+Sk"(??5:Ht"hjB=oB?&g6hn 109.486 - `A(ZgeS5"E60J5?^W5ZeHri'[cYaCu,6'(C\/oEd,0jEqKVE&,sW6O!Ur9ShZ'oGSlhF+`[ 109.487 - YMNPIg!m&&u$FDYoZ$\&*+PRohWW9j]T_&KI3JUB1WWni=%AEtkLf"X+6rX.L7p+mn@h;lS 109.488 - !BMDnn957,Zml.Om%@9b3'RGND2V7`4@]t;-V>Y(%?Y$G`V=]dLXe4EptU89aDD7$A64WKn 109.489 - 2b#8H&khj5"F9(+3gkp;p[A85kRVMA-$0t6ZaQ*<-lg5H_2-/c5N#m]JbOqQ4[Up.YL*%$I 109.490 - N6L"sUE7L/EOSKlGoj6cE5"Pc?McJ7b*75$CSCD(Xkf\X-&\4-!a60?15q'#P8I#,,QDJ`K 109.491 - mljG[:IE/ZQ*Lj:5>Y^$^E]M=7HQQ8FeA;qa!,?+/`R<+=M$]s!S7]<6uZW:kb\_T@1K^kX 109.492 - 4c,[mKn6Y$mIZWmHH5+c22$\3/(<X!3"2SFu`IQi("pBDaK/au@TZE8$4kRjY916\MDGG#j 109.493 - <Qa"l8*L1#Uf<A;35t,>7f-I,ab3+l&H3NcLg:6a.C5S/\-lAK:([SiA.-6C49oR`*^bm(O 109.494 - [2;fKEu1IKFW#N&TShBI-I2C>*@E>X]=Z*=fY%*HV]4X4mN4^T9X5c%ftNN"0cGUDSS>gTn 109.495 - YTu3sdf;aF&nC=uV(qA/HI";9Au5&V6=PXWn9`NTNPk.j@n*egqnFd1'UIT[0l$:<H^D/Cm 109.496 - >TqB%6+Bs;$7-%l?dWH?O0"OKq#68R7(UMO*@7H-/$atkDTi-::@`%ZnHcjq>A0E^W36W5t 109.497 - [%q0p^%oLd>XM)`d="`W?gFYRQqAk[AG-Ti^C=%b*V%[?E*RR5Fkf&pi)l1!ua[&rU`mAE- 109.498 - :o]F8#t-:ZaMAVnTPb75cCM,D!t#k4*WQ1YJ+(Y`^fV*K+9pgf7nD&G0pkcGOWGP'Le_3JW 109.499 - o)9'81]Af4ZhVnG6pR\1BnEd*b3-]9p,(W#"7;[Xc7hh;.(/j\Af+(^i55EB8Ef>"ij+R"U 109.500 - hU.O7D'maB8sHP2nDAeHCSu=&U:V3A*E;7I6bGQ'r.ZUJO\>.ir/Y9au'c("kJ3bXRk\$c, 109.501 - (S`i.Q/UUp#,dqE)RAoYS[$T_ndm@EjgGp^kAGE/Aq1</Oe'b,[[YJA&1!U^\.-eMXXOHTD 109.502 - AOOk5!Cig*UM,3]Y5p'Ui7&BRj,XqKS$dhj&<8#@'6!S+3K32+[M`AC+f!.,bQWaAPC_Ls. 109.503 - T@R37?>IuuF<%WSOW!!e$=PtR!^f#$0Pj&\JWj=hOhHT=cr:>AZ[.>l)Tm3t`J[es1PS`E* 109.504 - =u%rCZ<QEKV%E7>HA!Gd?hK>2Y#X.c<H?LgcF$Ea,?[VAdM<6WhRdreA.NB[P='n_rgh:K4 109.505 - &>g]C8ZB]3Q343)#,_F;r)UCu@RJ7YI$8+U9^E(^qX8E`1[D\OHHHTb!G*://q-L:hPCB40 109.506 - OS1TsY(nn*ouS;QhtY)R;(2u>oY%C"\+7Kr7a`f\i1!;[YS0Wu2NESS1?@T4iXpZCR"CA#t 109.507 - Cf>fOQlMZdLG#Y8#7o8;?_[\^6k1Ca,@'9q<duCeE?5>i/_@-##]8m!.2P,BZ.)`\N%D;fm 109.508 - /Q:DN]FD29S7ETdR._P1T<if@bW3>O,kFH(!;YKc.(m$_oN*\RA=\EsH':T2!i0];&:Q1dJ 109.509 - 5lkacrsLl0Bs#9miB=)R#V1G*/6[Pl#^#ZKX#I)`ZVu8Wu5Go1>X)OL&D6`:Zm.5XnBkHpM 109.510 - e#JPtVcCK7gc<$>KtdpKe*("jh2q046hU_(e^hk@hC0.i``I]\Z"GG6YgL'2oHa(nhEKX;F 109.511 - )DW7DKa!91R0E"iFO(_Y19!>$CU.HL-%UrdM_jIt]W61bfK)B(-;Fo\fS!GmF_](Y0Ggl9/ 109.512 - k%DLT#L<<n]#!lE&!5o]T6k^`FTBt3DE$QnDV?]cj$BTfDE.nR9Ye]Qa`h@(G:V^7hfEX)) 109.513 - CrZTNMf]m=>SE&[(d[@++ikt.67F5K`<!1XTf2H0'a`k,j/J[^8)>!$d!\`I%H=rP:uMn'k 109.514 - _O1+T.7eMY,W#JiY]qM0oi%KNQB27rlmaabCQi$6%K3u>6Ucm=+Oln5jT?q&0'X@iUH+["@ 109.515 - */'3:idE.^0m*d5)JV8AHV*Vua1B+i5&sAAbV',iGcCi,9%J/0o-$#0<MH7g9L@-koB*(np 109.516 - ::J^>p#l9A^E_1@[[JEE8mNlA1=i+s_VJER@*F<%!9(TfD+Z*bNj\JqLDX/YUS0_5%UTG_1 109.517 - fgC!kBTkNYmJjHT-(kI,UXhG0nQko33U;4bUJTd5CU)@Bu*<ojiJ^Y`M<?SL[*+HGE+j(@Z 109.518 - (`2``%T0n`1*gU'knkSj*FZ#eVth($:(i[q%UcCSnRuaXrYAn[#R0u3%O_ls\/)nS_',!], 109.519 - .qfuN4"4-_8,Q1/i=O:C/&*E#9ea3!6UZP/=U(2J*AI-Eg8(oR45$k%d]H#E"4[4cKB#`1* 109.520 - E"j@:Bkc(`G!'6>ig;@CYR\N;-;Rb\Od!^qLWHEmO:U*O;1`JPRn6qEY)i*`DM\1A*;2Rj, 109.521 - $`(rc%]"l'`nh^'MG#d$rLD?c)OBFJ:%d)4KHmb8YrHAhm7ZRS'iB;%*'<#S%j&]`rA!GDm 109.522 - ,K/#VbmQbI4bZ%>'Ek'HY09]g&1M&IV)(H.m#a,$*!8It`J?R,j'sbnnkjUpBDAj[c*FUo? 109.523 - 6)G)>;`F771pIl,@(7#o3Z:;E(dZICP@u9Cf/p&0"V\^6F2^7O?t_k$r^jO9;Ze^hFOVGGn 109.524 - P^)KO_A#fW!Is+&&?+$Te6m-(mi3NR`nGVUWOTo.N"8G'<f42i1b.ErB=,('u6mT6$s1C\; 109.525 - A$7[c)!2ZcPRV3CC/9;3PhYc%cbeSf'iD%Nr]31<q_L`X6-rp7]/P"@VuMn/$Xl*'k2JTp? 109.526 - %HB0#!C^$NoaOl.4Qi`:)g%J5_`1mBJ_a%<X&8bAZ'Vu@bLgF0nP(SP.RJP6\sE7?#B4oh7 109.527 - mPT;-Ya?EPd%(#=c'D4S@?ka:PV$g`a%5o8c?5p_('o'L8cLhLM9H`:r$=I0a+L'ngm\jp@ 109.528 - BN1a(2&/u2(dY<:Eis0Ze410,%"dakYKiRKJH?^jX<!K#-/lQWJ`?lq,T.,'POqn!'7V)IF 109.529 - qS3p)<$0Y9+Mtp5T4c])`;RbKKq$F7b7X0+b9n<eV-l.Lt?Mb:r1Ks!KB_1?E-pJ_ePbLmK 109.530 - 6.(9Yt]_4jn=C5pog!df*#D/TNEZmImmF!@9<0:SJK/e*7d$$4Ui9M.(?`Ttp`ZM`Y@,?M3 109.531 - Vk2=s.56W-^")aW7"Jaa@>0H/Gd<=QC2^q^9XEYRIp)[Rob@DnF'll3bL%mcHaPuC+`:_uj 109.532 - ?(L^ts/uqi8WFW/2.Y34`2>:ZsYtf3Em<%\0N&onTpo+8;S1jP@'ZuF&;-N?T[o3Mc27i02 109.533 - bUq"J1;V$K_0#Xoh@@lN63(S064Ypf-4>I#&4R)e@@lPG=[U'u$Wb'o^]kR_a_S?0Cu]SDZ 109.534 - DB"RDARk=*&5iN@9C5$ndT#`(]e^uE<]%/c5_E!(BItb'QP(!ZjBUsDF\(A5_'VXp^Q2>'T 109.535 - 9F?U"".DKeJ!;EpNQ%QSfs&d;u6!?A>m/_7CPkr#;>M'g\c4Td7*GmL2f.$!*a7<N%%B;)% 109.536 - Q=mIl-=;2k'3cX)4_Vr__5_45r4>"g(U?%CM6$n$3`9Yt4W%=jf_i>)o6p(L1f(^Q3Cf0*5 109.537 - fkQ\N/^S[:tiO+&W[sY[//U#X9F2\^,,S8q+$0?L;Vab<MPSh5e*6U3HjIm4[5TDX<)5U;4 109.538 - QOqAVh@-'W(N$n\[O*%hgDe[Z)IW`"/_14nM1VJ:+i/UEGVn#Rc\&$``7M:8JZ]m:i88B9% 109.539 - 4jG(8&>LOG@u/*s-+BUTS41@U^gh+'>YB]ergh8gD).*GJ`>cdOcla3YcC4!!(^h5hl\_@s 109.540 - 3*'4"nZkDqOs,hXIlSK@\B`34-Gn08lNbMtjQ935d99^b9]HI8i:X2Xh]0l55PHDFt6O2[9 109.541 - L47T%-@*oVPa!QIZ]SOK5pNV4$I-!Pg!A.LrX(mYIQ-@n6Yo`q4lF$L$-!;DFt-oS4K?;18 109.542 - 7C/c-<@MCb\Bq^+hTZ!?TAU0:oVVu7u^l)s.<2Gap168m#_p4>eqB(:P*<F1skGf6g/=:t; 109.543 - S18HA_m5ZfGs0^"(U8I:3@gM,A.2V2#+;/-q3d[sW$f*u!k-]X.4K9<Xp^ni(DEDR!?4sXW 109.544 - Gc>iEg)1h)%7@E+\0[,<HMMriG97f^)R0b*\4K_@fG2V'Yg=dTD>O\,)8d7ZF0<&GaGI,3, 109.545 - :ig[MH[*#n'7[fn:W8rWW-<#nHV*!N$Q>+XNgU3Pg(`iOg)pBH>!8`s8CYcf((=6K@cV)3a 109.546 - *;qIDc`-FFYOV3';aTqZG9"fJ)2;spuig4cH6d`IeW)[t:2#X&;?#Cp5b#s`GF&GR*qjr<u 109.547 - *;^'.#!Ts-M+qUH?JAHFARG>qt7ZpS-)BjGsqQ_/e)_$!N)aG@F/,C,El)8egc]]qD/gMBE 109.548 - Ae])Ghk:"9eHE8jaeE_K4lC$soA';%FH"%#'k(Z%eI>8`IVu_b)Z!O!Y!*\R"q<+-E'"Ii1 109.549 - `58VnBd>7*9!>'B@%VU^TQ<s[JOC@,%IRU05ShQb/)gSQ8Ob,hNVF%$c.;E_6HrjE`AiD+* 109.550 - StETf<u-)Ao-C#VTVca'l'I5q@M]7`!&pH1M`+EIm(-]B:RmJPEdbD7lOp]_f\_gLTBH9d8 109.551 - 1XFFfer246_pF_RcE%$dTTQ^=FNq5.f=[)$2ZJ97<sRj]E&-PJTSnU!-V0H%E=*-A&;].Kh 109.552 - *1));HGo2bQ'2c+]kG#Tp560=S+[-K6%p:'82;!JnHr\.5=g$9rEl%-$pr'cFVA[5%IA*6$ 109.553 - "BDq!!r/I-XPp)r!SP(rT\=Ve<Pb9L.fd39UnZSd76@Vg`?I_*M*ob'%;YeDI'pqo0>4WDZ 109.554 - ]k?"15Oq@#^h0_ToM4PHi(^47QZ-*D'4@&O7=$/[.*'S(TUmegKHTg9jUTHUY'Gr=HNJ(UW 109.555 - m$Ad-.].]a,Ik&.S4n&_:HU..>?M.FPm]`LL:53O>-3a;[FH*T9<tiN10R[5mpjg[fKHV5R 109.556 - taU`#lW'k'KL5ml;t"$,/+O<fDn&JZCXUusk@/iUEIX8>J]a3s2P--!Ej2m3[$p(K"aL94H 109.557 - uq+Jt\WR1bSM`5!XY9,'3#4V*?,6=>E[^\XU0n_i`,BMKM!:nZFi>LIRh=d]R+DoJ][\m=( 109.558 - 'RE"c!Q#dDle(%lhu3Yq]4k/hm,%j1]HOis(@9]t?TJ"T(4+9h-67,jNRd@BI[1`c4`/6$> 109.559 - 3W2M(]c)u6(nq)4<=7B'WVu_^r,8]Zitfj'4SJ,!C>jVXlccli&cnSlT(eMA/&9:&QidQ5d 109.560 - Q2KA'LC36&Tsmh$LmC_9agh0KW)JBA=F1\'JTT-.&q;OKUqCBbrNng8le?rTFg.g)8j/&F, 109.561 - 8#iSY[6Za-0BmG`jQSmE.\l0]V[M]N+Q>M$CDL30@H$/g,2g728(!#u\`@Q,adU"8G9/f@t 109.562 - Oj*J^%OVqZ&"qKUU\5K<aeJ&oD3ID$sl_1BIj<i=d[ka+_V2s:G1[@>uNM]l0L.0e%JC?84 109.563 - ;A)^uLN/9DRWq`V"#@mR.$9Z&I0e>m37O:d$(FP'511a+fBo\#oO"7?iNN)cHhsJ:!l(r[T 109.564 - =+M[\Rh24%iE^^"\1OH^E$-TNZg:n+f69VDJIILnNg?5+V##kQ".?*ngZ5QM+SUK65gcB+: 109.565 - XX;\aoNE5N*0@<%]$tLI:&5(mIcE'oPN@&X_'c3?=/Nj%7?(!_F[>8`%m`"KklZQV6HS)3i 109.566 - E\24I>'&LZo/o($f[SBSt\D.o_Y-W(:?.BRW--S%fa'hL)R;l\@teXFHpY?e83X-NPsEEH* 109.567 - SXNVpniQSC@6(/[*1ZM2#O_q2LDDj!+f%"A.S+!hueoQP_8$Gcj>?RKN>,cBe`S&2+AJWqb 109.568 - )4\]aW2_3P<e_e*r:F9+,Yp"'8m0$I=h>U]pVXi#LYH\?)kGRKH+i*Rp`(=k%uJ8n/3+>L< 109.569 - 04r@j)b&;*g][%ea%AT*M1l$\_Z^rhqf1,NUc+Vq>ChR=,lqPpNQTY+.(8hrdMVN/B:p.o# 109.570 - `54`H[%PQ&l[d!PkofNZ+2$=TE%R7eu-A6>1r:HCnf;S9:*n+gscLL02GF(Lf(1=$[B[;Zf 109.571 - I.6s16iU*sPQMunQN5n:n#9MV&]3J;IE7lfrD89,r\502Y%P*1Q?A;_g,nq<a,T'(+E`L4a 109.572 - IIT[Sc3@\R%j2$+*$Y>F8*u.+U:sLji%,3[7lM4g>#3EqY-CA<Lc=R^,qc$4Xjlp)nRO1>] 109.573 - ELWlRkm9sWgLbW"#'l#?Q%[hN71MbrdNl089\3'7b5#?p#)2:+/"'q0p1tJ^l-<lX8"%S?+ 109.574 - 0Q\&>?:F9F'Vjija,pD2?HJ^=CnUm?Wd"jP@[m?AXd=8p4IVZT?h#iHmLJQcYG\)EVjG(pB 109.575 - >kh*bWl.<1AM*Z<kMZA-O33-#!?>R.,eGE4UhXoR<9A\_^SW7fb53RNnKL@1#=%B6M8HAf$ 109.576 - /XiULG<N+NAE7%+:a>]6)9U"k!da5-3H46N2-?tABE;O`Kq@"jpX3J!TdA9k%ehk*E<k'!4 109.577 - `Ohb<>-BU\dR%u^q>Rc9n==Jsrr8CIdo6FXnL:T@3@1XY<Qq@n/WDH46"aSI.(s2<\INKrO 109.578 - CuK3n\^Y@3F]g]#%:tX8*pL;Th7AB=!;J5c`5r4$(<&#VBc/;/hKA3jB,em2r.cK`S=H8Bb 109.579 - 9!1o--^LYk<%"2r<GZSg30O?CcrQga):NTB3L[q7r\_pR3Es9LHoj9>"9,nC"RRq4`c'qpZ 109.580 - >V;F;4rSZ9o-l:rk-)OZ.35`VuZ6+bg/.Zm:sTd+De@,]TVb(+0;GG93ZZ6f@o[l1=WM++o 109.581 - jZ&tc)TqcN:nk]E>M3LjN;Tk#QMfRG`/H+g\QSH;L#XpX+6>mBem0gm^4)?P.P3&+,,7MtY 109.582 - 86Z@K+GOB>RW9G;!Zrsm>"tmfT<#&h,'gRMBdXc[Z$E[u+%Dcp2c%+/</(tQPpjiuc'LR\= 109.583 - (*c4lOV2,&9/j#8niC?d8mP$U4n19X3Pip!a.SS,j#eT>F9;,3.K:.BE(LKtd/'KI3+!p&D 109.584 - @M`d/qo\O'+]aWL2hk\_@m98;>'1opTF3rfQ[jDIIN/'?H1XaBoR*QR1.-s8S!4.P(jg'&& 109.585 - J&H#2%oP6I`RQ&W@o$J@Q-*4L0S&@+6*.WX7g<1'BN3(^=*,B0M4qjA`NqWEAFt+<;J. 109.586 - ;riJSSU`OUm<\dkQ1$#2`V=H*nV,,$h5)i*'ubR(O4B%5S)PBLk=q8#%'';C?$mIq-YUD/b 109.587 - =gkrFuG:UMf43,.-&n=`aK99R6K!7ZZUBk098`!0sE9nYK0Op-*;CESbbRC[<&u'XKoVdp& 109.588 - HU?@HL7sAC7[/]Jj'6;Yfbm%X)jD=o16VlF:^O+#k9bh-QOV)G8=\sE*GRiK2\D2tK<Vor_ 109.589 - *Soh\X,)1BIXe6S0JG."r]seTFk[U>RHe80o)Fc*-2IT&dbZn#/I>S@g##N0j5:mKgAG[0H 109.590 - &F!`\doRP8p>??B7t53GQ6KY*ISM=*jCCCXmd8Nj`u1B25n5>H47%p;7o;Hp,E(Kc0MGkm* 109.591 - m80h44b0U<]E\tQbpa,%MI6]=ft@B(G;TZBTSk/U=<;'42!=:"P&N%cEM7g?3GU]\tl=_Bo 109.592 - :mEm3^(A'T@qf&;LA@rkukZ/,^2BbNiHOJiK/VAr&!fH!3#(l>*"`mE[A[%UCK,e1*<G<AS 109.593 - #o5WJ]oA#F@OOlgBRt]^k`o]*$3e4\$$U"@MTMfA<qYLfQhLGIRTqe4AcKQ5(B\&m&4LC4: 109.594 - g50q.D!/*KMBPK*(.siN/7VQ_GE3-#]OXP*$e/4:u<4XDU++?05,2>@L>Hee(Uj$7)`P6#_ 109.595 - LD`L/EOI`$!>?@Z5.4Tnk`RaRhX5q[fg4A!12\A'(,YkX3l)1+LqG(r@CSe521'07-MoK%) 109.596 - Q/<j!<t3/FQNUid,$PbYO('W-M-?&Hk+)j?@Bb@$]="^knF'&]!S_[7II]`FdJ'$3b`X?#K 109.597 - `%AH8IMpQc/7qhiE#]Nu!,qbq.`Cos$FO;*I""\Ru=/6jh5f9ifClg]O^c-6eitOgfCK_mC 109.598 - (rDjs#*_IlCOBZEKm'a<9?:V_@A^f["g]5EaEWc:9QX&q"kesX:Mfum9M?#k0;C4;MZH!s" 109.599 - CQ;o!i./pI-P;rE&bC:IcLcMmk5Vld33_uSW+ek.7B;^$?sMRedu1l0&H&cgTuBJrW$oRcN 109.600 - AV]B7i3ql+hOF$fRU4ltJ9&H;@h"dl]^G7bq6*UE^-R+T,B$6%*"J[\l9`KPqAEJhDg+)8c 109.601 - 7>,AUOqb\]mK#U7JP"sJLA":38G,@k9m#dQDpS=%CQN0fS8O=e%?Hg-04V\;Nl4NCN%^l=k 109.602 - 36aDLs')6\f!N7=+WE%SEaK#XjZCV4,EZLX/2Q!#^J&B[R0a5U%(*R^0FsA\PN?DM"JlZ>e 109.603 - *o5b%(P<q6a2:+c:&tNrMt!;sa*@V,6St?b_:i6%Go`Z6#FcAD01\S=0q<N$^R-8%'9`qUr 109.604 - &Fp/S/VMT5)c_u(Idgh#GTD0CPu+Y_Y?nC+nR^P@59(kgDWF(Y'?"g88a+db5aa`(]=4A*9 109.605 - >/8Ug$Z:_IuauK7HgtH\AP73m]^;#`Y%"ekK._)JmH)3#(r'<[lnp=EaTQ$6r5AM%$00^/+ 109.606 - Y+S[]`Upa<i_C;:ef^aoRQ4$Yot8urSO-Y&%L6Um-@Ii^jk\U.NmBJY7U?3a#BXK2[6J9Qc 109.607 - fHp/r^KkPBH!,2Pn2hi_6!cVC!HeZAn'c;I(4c!Hu:d5.m*<s;fL$3Qb89gnG%uA"R_C>9] 109.608 - Ca:@uCBo*&#.V:!)+t'nZiU?u$L7>X.]%f&\:qct-j0Gg89LTB!kSNu$L4jHJdDNmDM?/34 109.609 - )?(XHoNs=oL"Qu6``@!]EL!)#HTI<ZiFqIY]mJUlBjh>L4Ek@<'H/LeH[%e"s@9.-r_TnSH 109.610 - `ad!ru^s,T/b^5FokJJm_gcb!N4\=bU7%2!B'1)rs87%E2KG5)LkL8Os%94ba5+K+OsgPPC 109.611 - eE1QrA%L3QGr3,jTP=U1H=L\hWJ17AVj;S1^>+@;fS1NTRQ=tRBT`iNrF]PL']D+<1QV^cb 109.612 - c8:*_Z#KGd,&?pS8pc/O=Kq6:dKfEs?+P\k/I"nS5LM?:6"(4VaA$KEI2:P=?q#Q(\*JK;+ 109.613 - K$[hW3'E!m;?YWf\O^a-!S'8PP!2uE!o/\<'T=4K%u7B1L1k#4bBcC"E45R9Jl5a(k\l15= 109.614 - $JZn^8)#C8Y60EpC-m82Yu_@\86kD:DJ\)7tdL+r1HXjTh6<!#b4#aZj+%9U9HEb"W0r<\T 109.615 - `aAKrp#<b#mH)-ut(SH3QoKLH&:f&8aQ)B*45N"pc]1(g9H59bD,qa5^8*#YToXc9u/B8;o 109.616 - X7#Y@\3OqkQ:-6k[;&2#F/3i+fC"1Tp4=@NNLAHhp;6qHgR3+Y/+1WcR/Pq8F/J5?YNF%Wg 109.617 - b9^0VZQurMld6(N79_?e.4Ob-gUVLCF9hPGJk];>`*<h:Ra?X<0[+>cooEWe8"lNR>#YtSr 109.618 - C,LTtL"hTlN8u5][]sYXbDa!QJG-]LP6>9VJ/%<6p`>4?m14g>_JG`qo.\CY>dk@/S!d90k 109.619 - psCLCb($V]B_*O+p9QU;M)dX"UjWjbkt8YAV<2F2IHTL=XMJF!Djd<%c#UIXJE5B!j07TL; 109.620 - 8"bUpLtB63\ToY8%5$/.!kpHCcO,"`RBEil-XtJqageJiHrW;qoT">r@;5#.S,rpi?["E]? 109.621 - ^I!W<rZO<Drlm$)UZV$K%>)`ji]*<nJlK:;[r"J7"P]`l=J'1rBGX)!C`HO!r#:q\AW\L3' 109.622 - \/L6.8"iW,m`@t4"0aXV23/DmA:j^H(0rrbH`9:GC>FU?IHj@<N;cr=[8b4@k'I^J"W3$b/ 109.623 - 9S!A'2hMBD;$^<Y=Dl0PG/lC)QL,Ulq':J-P(]Au%P[C-E,GlT^5H)D2mi+4iqA*L63C*c" 109.624 - VOO%,+:UY"3&FG!Qi+[+En%BC/_ND<N,8M^^=)bk(!^a<Tn*rrEE;3@9+C(\;YE.)S8F+%# 109.625 - *Yob913ASN>=emF/n3e'[[6jZcL69Zi/D!ao6?oXG+4*eu;JLSUrS.!4'39@m9ef4a"GfR! 109.626 - k"-&jlI;A/2i3`r5_9S[:tL5UN'=gnT<9*:+?]+Ug;5W"6=A-M&e<gAGBGi0&s=9b%J=G;Z 109.627 - 8]`M"nA(\Y\(DqQ:8TgW)4,+Er=Q(H)TQaG@BiF%19208+GZIP(5u\t!"Aibi'$Q,h,.M$( 109.628 - =m1%^r:W%Y:`q=*<;<VRBI?"U7_d#rbk,VP-rnthB.>b,^K$J$]rYD^X]jP==OYG\jfTs&G 109.629 - lo`Nem[j[:h&,6Y`b)mLOac,BOh?=<Y4U;#%_@t5laj[5GIpS_6?I`0P@?G#)@T]1]Vh,3, 109.630 - o(_1P2huJ`mVu7AC3s1Y=s1Kt()X][p58H;?\(TLhm3>`OOY@lc3Lh(<'53GI;,eQlGY7e- 109.631 - 4C"c_>IDVJiPc7+I#J3o!5fbNi%3B1B"^i>%[8;<Q#L*[J[4d\+K"bTBh9,(6Xn8&@N_Q2? 109.632 - W<(X8T3p<m=,1UuK5LfVG;u6]Ll5FGXbX=)>h=OVZ!/%uY/a*THmJ($_q-T[<NtCj$qK1PQ 109.633 - qBj,lLW)1h>TM_TB#g-70_#[9$X'%%WEr1]2:L33nV[U)hZjF-#7,UQ#^?RSD'\uRJm+h28 109.634 - cmG#,Z%_uL1j55$5jatm/i-:"b</P7KHqVr>+T,iMlVg!%?fl*F[_6g@YT]^)eP8bs]A_,R 109.635 - @_1Y]4+YDq9V2(GK_0=?hOJ1BOde6&#R\?mlkO$*ca1L.&2Y3[0?`G)&d?g6JEtGY\Cn++k 109.636 - CPJUi"pXXj^eG)&n+KYTlW.Km43=Q3@F:X%2gj2;6`ETA0)j=WeZ[NAFK6_^nr>N$@Pi]!_ 109.637 - 57@=^Y#OU`1F[LoMZ!LgEa7_$N?#GA+63G#6gR)id-0^qAQkIbRKCCTbD1ao"ouTa+#KV1G 109.638 - NA1b'GG]mZ,rmidM4t)e?=]X:9_5.dp]KYL.HX`=Ao6&[/nejT5uoP4A6*Cg7<,QR'a!#6K 109.639 - t)D4G&*UVeJI.fKof:=mCL@!W8#]$Yh3&?id(g)Xp7+N9iRFtLh$X%3mSKqTp.CR#[&%b$] 109.640 - XXgkUC=54j>KR8[GoE'3haC@8m?a@S-!,kcCL>7S.:%NG.&Jk+M=p7Vc\s+jL@.(g&kP87B 109.641 - <"OW968L3R87;q6W<5(eAq=`/C!EHjA&g]h_'KqNCj)(A?mn:crW!Ta$>8m(2J`/Z<gJA.o 109.642 - ]QDan7W<Vdj4E=k";`Wt9<fE"2BjRu(2M:;oZ"k:WA5&h8+s4*B5%"C3lTrl&:ilrKe@l3& 109.643 - 4Q:^cc;0R#I>+_("_^egfP^u@GZQlo8SE.!:gXmO1Za2kR]/l3hD#7+lNLV;;W%OeBO3e=_ 109.644 - Zijl'70H%+?AYW[r!'Y=%IFdIaeD4eH,BpD'mkOHNWRk"`8ha8!\#r]XB]#9C8G#3[*-Pn8 109.645 - 8@?3eg,;l*sbRkZP=cG)#.pllFL`f#X<D9#@#"C*4Qdn3b'#CQA0GDX$rt0(<J"L<j<8"(= 109.646 - t`qXoVoDhcQoDehUk`qUX@?*Fh5Dm&sfS33+VrGT6n[NXFgC_h`D$LcsHZ4M?Hk]"oUk69^ 109.647 - bld"P#p>nec&dOH6$#E`4/V9WfTu0UOfD,aX2\6I40N=]:\7;QITL`YaW)V^-#(H\oHN^], 109.648 - ru[=fnZNdL^DnMqf-a#bgAGs\aj%n/CYc\ZncBoco,n9':P>Z]duD!b%(4"kKS0=d"uodP2 109.649 - %9hmBq#0%!dXtQQn\XBeHE<@6q+0#KP-KTlQJ.5ni&K\kU,n\7tf2LBZE('^H<UHfjY1KS9 109.650 - lI/M&)lpiq)FXLa[^@2D.pg:ND;H!pCtb`P7Xr7u)V:$s6L4`p4pQc\<9&"%:*3qYaU7*hf 109.651 - oY2ZYi`3M;%SV=Z-9/*-(eVcNJO=WH<^gBUlLXVhA@]9-jVoJ^!K)prA=F`^9HFB]UaL`(l 109.652 - e56:g<"Xk[s"0laMG_D@++rFU/^D_b7T8.0D0'HU5af&2N2-`<jp&B(RCI5C19nLu?F6@W= 109.653 - Is<'M>4MW;QOZq2??l4E,Wu]O#"WlN+>nc/?XQ\ZJY5Vg0HgLj<.\IU+@o0-80A%k15'%?" 109.654 - b:IIl6HDfN<q!;puk-@qJU$_cuW'r=B<Z?f9@8:B),cVE<'Ko:RHEac"Qc+\=VCLO`.NYJ; 109.655 - *M/[FV!r_BWtqCk`KeK4q7ZBZs_3'80I3!ba3;YXB=5W;5(C"NY@k-OQCNPD0:b"F%$rg0t 109.656 - Ks+H5&nL1!W+q`jo^[2C&fJ;:TUO?%ZK[JQT-9i_&qg;#sZ"DJCXQ<8%"LB!B:RJD?HSdP& 109.657 - n`&-!62nL1JKjZlmE2A8"5g*/n`1:nt@Es.#AqE7m#q]D4UT!_29I0VW$F;9c&&S9:E-G\A 109.658 - <S/5gG``-leU=(D&q>3*WFfOpL!]#<*.gm(T2LkX1X&:g#[=#-TP+R<:+*0L>;o"_0.2D)2 109.659 - [1[7Kn+*tU!4j-<rUfF.[Y5*kHY+M1#DZ]s!_:Zch%GQom\poIq\7u^\8K$H&%K0@NcJok* 109.660 - :FQBCda3aUtHW!jns^Bdf+iQ]o,_$\h#Wd.h+Md.UWn>K>3>(mI!^&;BDjoR]:NP"=Wo6&N 109.661 - &3ARMRgmDtLF+Z#Q]B%)%Dk&ibW:M8/Q"U9ZJSN0g\eT"]%W?qqNPj3#)]KC9lfX+8iB!kj 109.662 - G=)6@`"bt!+Z<;"pHUXg^CURGaf)(-Vl#Tm29UB_sjkY9nhf%-E"pY<a_I7E9Hq#IuMoK7H 109.663 - f_gIo-'OlaZHp2$k;;nXB3uPS_sR>rb%YtOI7C,7=]qdEdTI3fGd_U,p=k#8kB2f5^##kK) 109.664 - F7P+(fU4Zg3k5X^dpd5(0A]<prd/.&kI1kCmMQ_G@]G@(r9<i/h`IRk/3J&o\KCmds(EVq# 109.665 - s9g8YUYs5YT*_)P77kh"ST\*!l\^co_mC_+P*L#(R84+UAfZS/2OLd(D(A_bf,K%`?Zk5nK 109.666 - opZ2DtTkJK?,`DJ]`d@[ZX@2R!\dmefq,)LEo$\Df)bXM&lJKW$.\bpmuL=p<>Q6PO7r4aj 109.667 - $?tkjYM=Pq`/.o[8Sg>72CQ/D;HLEaJ&jeG`Aareu)bH!CTq&H7aZ.3e6/H"1_\AW<Q"#8E 109.668 - D3fl$gHa+b*=5'Zd-+=p_D$5P7aUdU+\:$\SLI1Ze@dQ.7$08i'ZFnlI*tqN*D'/$jr&Jcb 109.669 - Y;fb;cV@qL34Dh=`?8*PKWSu$/nIE9+V?Ei-$k'3QcZ5Kd!l`N$\U&<m6U#66W0MJAbh2,t 109.670 - Y[lS]A]!0AF9:^cC1??-*Kqk4u5b$t9rj=UX3QenZ/RL$<p?f=g\TNVD'sIZ9]iIt6E9*XR 109.671 - GVfKKn#iDLmQbXD*nlP<GSrYLIObsO%3N?Zlhn%2$$N.5=4*_<fn#AK>kNpj=DjCQZbLdI) 109.672 - 6OiVIM7sWg9<J/*<@L0fD?"_Appkfq(UU\`\Q\DEUHQK*@"Dd9f*iVSY"%KO&SE=gGJHe!J 109.673 - HoqdL\_M>g]0=WLm8,g`[Zk!@h71C]'/Y+(HbT$_mp"ZE^;/7T*7)T/)<uS<d;;=eEEl\'l 109.674 - 5^NRQ>lAaT'jcDVVuDkQ/]Sn>UedmjssasS/-Ak#K^d`)rmU8@9L/T?mURSJJ(/7Ar2mtj" 109.675 - ZB:hLJo0+9VC/#DiSQ`R.gOKiPsX9Ft)Nq9""iT;h+M(^Y\m63ap0l[.Lg_=7A0+0!$tEBa 109.676 - b*T,^<LnpT9<2ib<k(oCS_It-u\*X;_Q?&h3JcP4c9(P15t(]qd.^N;S"7p,L#_O,3Fi4^k 109.677 - j$U]NekoL0T1,XhXk8pRTBgNB%#fCI)5iu2u#o.D/JnQPO,/@#>Qt6]bU6mQCciV+NX<jS$ 109.678 - 22BQX+@I'#&C&D\@HMRGYp2Zr@O+ZJlCh30!^>Y=FB(Z25\g_#0Ijqq/;7j*B*k7;5)5g%: 109.679 - ns\)%oH.O#0:9]K'h22oqX*D@)<`>jDgsU4H#:EQ5P9N5:_:e'S15`(o$.C8=:2:c-SJ5^] 109.680 - m=2fd%skUl:Jb?;*qY2%S\%SV[lVp.;e_OO&eB7g?an#8)qDj^F5l,D^3J!36)c0Y@mH>^) 109.681 - 1TXJlEFeK)M#6k&R\&4N+/2Bbm?Ma9<J`hLD(mtCIs_3-$qZFCYNC`Er$YVYBWh4)eoF\WN 109.682 - M38l9&%'uJ0NEOcA)`6HCe%U'&)<@V91NbLNGu-o<gH=ZY"r:[LDOUif.n<_+-<'Vk()JMZ 109.683 - `F,0s@'s5Hi3!L.kdV?[=aQq&LbHdt(`:(+)716W"f%H1B;6;O%V0>7#O.Tm_B:e?d\]-^( 109.684 - u:lBhOHO`*DY=m#cGquSCAI2;!K>qMX30JcY;f1U/ZN=eNCr1iV!ocd2b=.KM0M"TiT6]A0 109.685 - #.W4U((`0LPVF*lG4(1,a)8'1ggbiB1Ah@RA,SC<.HkdASHZiEj]4d:OQ(>RN7(&-nlk2RR 109.686 - SD=HuQ9/7[C"iu6!@X!M<CV3S@*%SiaT5/_*Y:9sS@[tsP[1Q?od#iaBrg'SJD`YbrgM)CW 109.687 - iP*GLU>R=q9<KR^[PWFI/FVtmFO[4''<<\2F&YhfP9_;jXDI=Hp_2d_S_T$/A5`H82i*(kC 109.688 - MEOI+jgA0=n0/R*56,if?_EO""nAL:mg\Ztf=q#P4#4`(CeVQ%gnG7oZ9/d3`>@R'r(4GnP 109.689 - _=]@"Ua0q#Je0"0([R5_m"Lq;)gH8cq,#%)M*\UkV=IL!CQt+&2diCLrT-7/+5;\?%C'08% 109.690 - @q,=9f[Q'$E7):nPbE[i?/]pP6#>4ic4T+?/UAqJ>3X@X/2('2[<t7JX0#K+fNK9NjK2n95 109.691 - 7;Hk_Q[<[OrTmZb3UEsE8r0Pcdm%cO?pN?OcQ:pB?3^dC(=@#:Drr$bpFJ0,:fcoCTVIF#h 109.692 - o3bT=Y!0D^id+SFeBUom4gI=PY/f8rX*>sqBaKcd"$)9)K\YS*omMfY4=_EWo(]jK=)0%KM 109.693 - NH*eu_q<+EpB@5q&B$7l:rTOb/9'p:Vlnkf#9+TZXptJ]/>ff,*Wq(4C!Dp%7,H1'g'i)j* 109.694 - LF/,VUaDB[e\UglTY$UmPEnm-Nh1oC_^R<Easo6Md]^%_0WU.62WJc8M3(0;"pAf:a^nCAM 109.695 - LJm^)=g9(SJ%@^rkU$)P]#MK!Y'[_0G>d,=cfp)a9b3/<Jl,";pZkTuQko*TPq)O>2WT&__ 109.696 - ?"aS^e^lG8^$,HiM4-<P!i;'a="^sEah,TmQSrVfU-^qOdc@9)9*6?Qc]SZNa]g__85p 109.697 - ^5r]RC@=-2/V,3[kXE/NUX4I.1?0fJ!CsRO=fBfYJdfQn$%fJ?>(X18E69mZ6Lq!fspq.?K 109.698 - ,^^,Bq#eXp<sZ[nTg;NU*6'u!*(.sfO2I\EK5aXg"(5/d^=hT)-9Ldi?d*ef2:sBI9'fT%q 109.699 - g#c-5)75X\;%e&O`*XeHr0STJdaL&:ia3<D+5UWk^JF5<&[.B6l(ai=575Y4NEQ[6dblugC 109.700 - fr1`0brFIm(E)0;KpYTJHAl8/D.7[J'U_cg3A6cu%+@6:<5Ij_&s&#(_R)e;3rBUWd)#OLV 109.701 - FsTOJ0Ob]8^O-b&,<fa7_,hen#ji1^J8B([=[Pb]dZc%u0\9G]tP$7O%hn(@bs$l!Y5Z+p> 109.702 - VYVuWf3s3hnfl+Ucan5cCqA=d2MBcT?#>B$^8k*aS*bfEtj_u"9ed5dO*MLoo%u;;n4;*4D 109.703 - G"SjG6!+RA^ssVC5cbe_6h6s:BH;Z@)iq350W%8->meP#1S?$%7][$F]*e&B$kU:g&4FUA, 109.704 - n*AVmihH3i+ggE4r;%QYjfq*623kWWljfM#"+or.LI65#S-s!Ju$>X@58G2V%"Ym1<RD694 109.705 - C*Da;Da8?XV`*^g.S+iZ+'A'*O!,!8n(/3YRW>L@I&6;+D=WjO)!RdLaY;WAN1"a?/>t&2. 109.706 - f6A.K0$m&U2u<tJma@I-.9Jf:>W*Nf0O5dUh`DAiPAi$28A6"CZuE;>%ZlQOIQEMdKdCDt% 109.707 - ^)\H^%6o$SR[i<`0*!iSRNlN+g()2<X)WP5BTktdDf,G6Z/;^)<@0R/EE#2pA$>@M>bl2)q 109.708 - C_bpC$1Ipg8EUP8V"B_d0riM>"J@t*e-Joq(SUi[iNNN,.KP\b)fd_TZ8X"k4!W0;^bNk,1 109.709 - -g<s`bo6+(ZF"?6e*A*.Pehc-5&irTn=\C'.2.&/"rOJ@163J(^^DH!c=1(E;US#KFEC2(L 109.710 - arqEe5J)\gU5&)IZ>i6>dYrWiop(-H]X(`10$MdMbE7-B[.&;TC+^at/,$/IZ>Edap(6g3V 109.711 - 18aO!L1a1T&mYqEk^0*2t[TUH+&`]NGaVS[?jo*,I6$4ep'/n,SPXa17O)B%!F.j;D<ThHo 109.712 - o8-qOR&tjs^6"\W$:?/%4(kL&@cN'bKO9WO.+3&+?_#lQG4#P2D-VMJf5U6]cCEdXEDBRa3 109.713 - !cBK]MXEb'%,lCi;\M-B\q]/S3<19a5f#IEM`K7Y3X-.eUGf)kaZ:du21Yfq#oj1'W"T0Z$ 109.714 - c,LB+C5dl6FWYM+m,R=kB[b>\8'I^(/p(qPNG1@"ppL]'_Cn+P*dT4dMcPY&E&!?+Jo:C7K 109.715 - FV;'4@74U#6mKZK8p`*[1,'L4g.HrY^?_+-&5t"<[fr3Y/S^0O^!i!cA>Z8jX"=ct"7/oN! 109.716 - ;o//KG_$,JS,^d\c`@KQUH"+VQqe94-a<BBc$-V;Hq`i&lM\>rS[8JI@[70tRY<Cpfpid_> 109.717 - -:bi$$#$_-:!oP7'^dnU8\u3=U"!eulFN6H#q+T;T61-9,eCFp?g'Y4D$8g`HDDD6c%KM6b 109.718 - #iJ#N+jq8PNpVI2*)M5\5g0SoGU>!N#5"le5XSD0YQ^:5c2]"^#IFRJ.L4KVc<uG4^fgn,* 109.719 - WY+'"#F[!e=T]l*dE7Of;>V\[9$>8>?03[W8pQi.l?=kb2i5'D\V1<2()Iid7%I33oP3`<I 109.720 - 7i'ZiGUZ!$Qq-JK",G_Ag>P$ils'.RrmCC(T>4&s\AZ<OZ(o*d!Ze</Ja&FiPh[K3T/;>nt 109.721 - dF<1?q]e7>7m?5:"T9,JP1Y&J&p!4CoiJ><D\Z@Pe,W^-Cj!K9];Op9lE!MC>3p%;aYZj8Q 109.722 - 20N:PJcm]=1-XtX[@fm5Uk6D_ZgLDQE7DM?&<Z6<a`WUCM4k</$FK,=,]Gj/@qkRs>_%mq7 109.723 - _unpM$$K<]:buDYE%g/bBE2CQ<DR,uMeL\&BbEL;E(;f%P$mmC&GC<:<*;dXnS6XN6/]Nci 109.724 - 26^Xl5O^E,N*GBi?)hNV,?/R-N`'=QIeZ\+9L-N(ma2rf&pq:lYb'"?'=;ejouhAqaY$'B4 109.725 - 7-G<0e<o$YNiT8kj>H:omZQjs2&l!FSiB[R_)k.PLGJ#mRMMiIu?=pN+qNF;I:)2Y1Xl6sc 109.726 - -IA<du72+m^2j[rM@@A(aOJB&-d.N?GY"[G3`=!q41S-+Y!0>pTnf7lU$RdsNR^+u>gpQdV 109.727 - EOa5QNH3+sF@IgC4R3[!N<T/:O<_*_0]2eA^#1`@$+:2_D1).Pc)ZYBl_,#%N)dcSp!u=E> 109.728 - GNLUr[-Dk>ZjXkbGP?%:+:_KQIi&9<<p+dQX#el;;ZoZd?qk!0"P!*MH_B\3:q@(_[6gRS" 109.729 - 2HAm[Ik.iohmQKJIa0AG#CX`M(5gIKK)na<H3,A6\T(u&\)=TG?%l`eeXO[E<$;8Z*a5`q? 109.730 - nF3'K"9C@AAX>Z!2&H%[^Sno@."Z%n]m(%i-IJ=Jq%?TnTcaMPUZNPeU=f,?tkbD7+\[i6* 109.731 - +GPTCqo!PhoAQkgj4O][qKig@%BE%ViF`Yhn?Nu7I?esBFgooDN_$[DhVR-e07.L(#C8jEW 109.732 - :E]+A7a:Yh:6f@eaJUN]HM0NFAO81Sq=Z;P$h2dj`O4cQj+bu;I-3P2^D)H<_i8mjE`_k/H 109.733 - 77$>B!"K&f-]!d*+_4@mi#)VL/=f)-PZ`X+=biB#Bo;_D:d@,FTM#A5`"$r;()`l>L8`%e> 109.734 - 9n`p$,Fpj1qEh,BF/(,#d?&i@!i2i2gMrrSJfnI=k5=<O.Cr9%KP2oE&+^5rE[7pc,h)T5c 109.735 - P+*JLt<+)Bl<b+9A-H((<IB%K^;T_!cJ[Zkn:8OT[<ei*i@1rM&!&UDbq`=uIp,_OhJ$FLj 109.736 - G!EmPib'r8bkPi+im2:ZA*?:#?^)aUD@Entd@X;UkP-C%>@^g[K*>XJd7#9&2/d5RnJ7B"q 109.737 - $W>[^GZ`AEKP!c&a$m[!aer)I4+:MGW3.YA96m53r8gd%?"U#q_3lXN$6Q0>JC>+7E(o=4N 109.738 - 0o!M%Xr?&t>3>4?h6)Db)&i'4)Y6*-5H@(UFlBs:;i!7Q2mC*lYl]%]G!lI2S3o;-(gnGk= 109.739 - ssRl6*B<!'0A!@Q19=X0=0CsgtM/&"=a_i9;o8RSXQ\i;m2q2rMJhh-R!Q>;qOK"?S,JO;A 109.740 - ,Zl,o-QOHHj:\[i9t09`)2$L-WT.\JF>ue"aD3HI<Bm\B9I:S#<+FW"OH\\i[71;F9GW"OZ 109.741 - BCA)"FKi01gC)6oKX&QUUFS'AX6*D%&O]pm90JUP1'\.AK)(-D-%]D''u6+FQ'10BK4GbJU 109.742 - `'a$N@8J83/3,QGN)o:;O\9n7m!u\mB,J]Tu^rmb7'S4(n*Pn6n`"'OU_"_ZhUBa-!`5\pt 109.743 - @VJ269?"]96V#r74@<,]-,tQJ_PA?lp+=00[DR*9_l'o[r,9Z:6UW9&(0m"Qr/qgbX[F@I` 109.744 - Q#%!ggm\FMb/5\oD1b,goN2WE^BVI@XNK:gj_B_Jnj(rbFI#?4JfEZ^WIi<-N)^e4Jjfs28 109.745 - s,O`dH<,r,'bHrQDtWbSAsX72O13UWg[nbm!^/r;4lq8Zi(NC><8K'JsR\*[^eh`Va-(K*0 109.746 - Ce+AuJ9dBfCiSO+p`s3NXRct"BJZ_>b,,LIh&(>WF%4_EVhPLQ.@;B`Bu>q<'%Z-h^9f2N_ 109.747 - I4[;mCM:WBpe:!?/4\]\H$J.BNPaiAiHl$X2ms*Gj64;,JrKZ,k"4O%fZGM%?]]_5$N)8?T 109.748 - gTjD7qn\L[dOeal%iq/[4eVb$3SJjDg84.O)76Zb+lD,2-jY&1bFf8j*T.$@abHq(U47XIO 109.749 - i]t-h$",E4qAl_q1/Gm/H+Pa?0U'/iS&ir?L,T;IRcquXqH1;-_'ZB35PY:7L=F8jTAH#,o 109.750 - >HJJ_tiIg-TFSJpZ;)mH3LHd_[#@U2T%#Fm,Q46X:egk,rJ?+3EMrkl,'2I?Wq_\`6pLg&* 109.751 - _]4mh:cn`0lF.fL7LU25SXh?(^!FoKAH@o($TX`6[MeNE7H^31lp61)&,aatVu@VtBoM9;Q 109.752 - 0dhk#P]NrJ4H11aa*58EB!f?4?H0[S@l[49?r.X#m(2Xq=F\XJ%T/Z>Y;on&:59WcL?UMra 109.753 - #Og2gnAhrJ@2W1>$g:Wro]E5'I\ZRZbM8\KnGbT8D`^"MZUs%r.pj7>59J+!,L!nMbl93g# 109.754 - "lmd4o+!%gnbh\ibdphJa^?\9Ki.&+s6(/EVf^KpEG+P4X`Vo>spim+eHSu?C1%cq><IN'R 109.755 - [0\s*t"LL%npWpmh`dh$s0#&c"`ns+*GnOB==\&IF.XiK2]64s:Mp7,j>2ZsGI)NCMrjf^s 109.756 - VY+d#=VP$'W5;(7c&jc\;=^0raa9]hIJeD('bSMV^URH$VV3h*"@Zl1bnNBno>hA"Vu-?W+ 109.757 - _!$`4>UcO8GT@-N#fR6q=@Bir$Q<Q5<d:p!lm?ZLK[Jb)ngtroL[GC.o]"Te8\*a1PJ\ba` 109.758 - Qs;Nj4tX`O:DhkV59Z028K9`oZO\dSc"?R7H>CC![*`N.RU%hD;5r)\opX][^L=C+2KkA.o 109.759 - HLkoV!T*X>+Hk85EAnk>Y)=B:WS7\[Tq[55G?KhFS_(lMu*<t]=kC$>M]#PrTa1USmO=l'J 109.760 - 7=7]`-f39.JoDk'd8:[*(\-dJa*;ht-jJ5VNlW!^N^\Q6rR^q?HkrcpFbiU+3McNk(/?Ta4 109.761 - !kUNf_TXidaW-S#$="%9CN:D?5P;@;a%/$$8L]Bbs('umMcDO.sh=RdA$Z+K#kQuVbQpHbg 109.762 - 36s<-E<0nq'Z?2]e8h2&r.Od-HA:_no[&FJ5/d+"l_T8OkLeNU\GVi,L%+d0VP;K*q:,A-t 109.763 - -H3$]?Pji^]_:hK';YXn51.f;`lF;Q%bO;ZRkZ'`'QXX,.5F=68lE%(02,;$dT1J=W_=Ib5 109.764 - mg=IFN^[H,n`1[8hW,s[;*0/<]+%q<mu3!Dd6?mK^=-!9>^>4c`\(+@T]Zg#,'>O23tRG8q 109.765 - e-p=t(11UJc9#YA@E$e[KEO0`$b=PjP^MWD0=6CGFCZ]Y.?O8/7[kWFbJZps%E2%s2$beb= 109.766 - MaQ0!D]=:=2&5@:oY%Y@gieWkerW3tQY=r;DpC+)!JQ?csb2E"e"\=PpHA2tBlA)t%`8n6Y 109.767 - cABT>LapqEM\G*RhUlh(Qf9kFH2Fj?O\as6ZY0Pbi))'VpJ#$"&;KIS,3?B<9i`^K$MPjRi 109.768 - FC/f,#.C')Rdo4<,6uN7WG6c<ca7O@/S.ppH.H'*mMBW3$6gCi7"enq:%Q&8>PA*4,^&7hI 109.769 - ->l&K7[3Q%i6PV?j<+??Wr&(ZLTilmJq"paZ7Wrf\"E*]&O;j7s)DQ:5msTVcVAjY)2u,&c 109.770 - Iiig-#2*VQ@YFDY)]H8qVAI9d;ugH'bIp^UG=imIB&+C:AcGH9R[lTUu_LA&N'9=/YIO*-W 109.771 - Rof\Dp:b5=&n1!Nc0\<HV665SKsr[<p%qK-3SFA%*J2th-=TM,:bn,u'C1A_".0q&eQ,b5# 109.772 - s(aNL0UcKjmkF4s#c<!*P,**k;+GZUU$2_[b.tjri!YA/a&o/XEBUkQWl9Z4/5A%be$'aEc 109.773 - $@i7!Jrh#o6ae!-?Fp8@;">bM8%s<o)Ol+^!V40NR/.?Ib8cX5r/"pd7#(&0#Vfkc`Aj7G: 109.774 - :NNI"XF+<0p<Jalt7mt>ST`6Oo]'3:Q>LV3>]#2W/8Zi9JBk+4L-$0'p1e:,UH>YoKsXj8H 109.775 - 49>&k*J484&muClK&s8L\>#YKlam7ZpM@)H_ljUtUW]0eQ7r\=A^b!:#gMr`)2P&ljVWYEW 109.776 - mom=r_s(r-_E%J&X`bHbM$-1\>C;Zno#0o[n^>$<:&>`cV.pdAO)KQom?5=h_l2H=N@O_#B 109.777 - 'b_ZfqVKsAOPD4'%GH.65dX6$jNcc-54$(iLTg"[N'1u8H1+0<<T+[f>&7`:/kO>%8!FgT[ 109.778 - M?p;;/I.kA,\>?,R6sK@&"tgJNXg@a2G+6$UB1d^6IRe7aik;A'/D]_Jq"5k6nt)t3;BWn: 109.779 - /R"o-m6^opq(R>DH@8e+E&$]Q#\!CarH/1<<f-<8LhMd]*!C[%](5!(82p091RII7b%V>4V 109.780 - c)2"a+@Ob/u88W&UWRQ%lP'$8;d$ksbY1U`WXB5?h?oA$-Qd\Kb:8p*rIuY&#tsMs080C\< 109.781 - 1]('_TW3sf>322AFOp^^K4Oq]HiM6[mda]U\SASec@ZPI/t=h?\,D"XF-(%s)AC,@'8%B$T 109.782 - LVU\k^=_hksYHu)tfbJ'+Cb<'([h\g4>Heo^CH?8A[g(XC4,Irp2936D-KSLER<*7gcajo^ 109.783 - l!6BM?pVc`\*9sr?*J["CAY4WQ0.UC432]JX?`=8Q%"A/flh:Vn%KUXq-Q5JI;cOf^DH&2? 109.784 - b?,`DtX.G(^C(L4:-RX2@%&8-O!nj)1umO&&K/R$"5qFKlFI:_\d"q@D"Q(Yk>gBUIu2*X@ 109.785 - \7g0r8i+NPc9=MdA,!g:`%.%V%V8NH)Bc`u*t[A%[)JEV;W<)$_<q4Gf2@2Fkk,-RE<9R=5 109.786 - ,W:C.n,BB;6_Q#a<7/U*e]`#Q"hnW$>f)2BqY4NX"42J:8PV_r)!fpd&+DpB6@3G1GCf"h? 109.787 - EcNBLsA_d*RF7D$/=LFpeqo:d?+mu@6*7iYOZJdFG35+m@7;4n5J:]\G^7\\)#9>gh`dX3& 109.788 - )M_0%4Td#f*i#_R)cRgu'<9:=N*Be]=Z,+tDtK?uf,E`#Se*!ID>^IBqZL*h42J).2TO6eP 109.789 - rttLn!>q$'%L2Kf';(e@C:^C)-^VTD7V9;[]\NC"r_gsM%s2Z%;Q3f%_(jHft2/<b!m9UmI 109.790 - '4_[!/47g7-m*m</+O2t[s)6VDiH4pXga0*b3ZO+gb>XuCSY&)n<3;V-=m`+&0.il3'fnWL 109.791 - f)([`E.>R-91GcSpF4VSn0oECGO,Kj?i`>IBsPB/p%,e0Gkk-4H9F->:tq;EpcbOY-*Y)'0 109.792 - 7#=mt?4RIb"R@XO`oBI>Bl%T\H'=tT"NeW`%PN$h=&4YOA?&,[%N)JV>2Y-3Qn"'08aj7S- 109.793 - ,j6crc[npURd%k22)N[N!C$;V7fR^Of7K)&cF-%b1`Ilm"3#Mj_qB$:B^q+l[J:GDgUs4!m 109.794 - OTJtH+eM+b-9mt*aHu[W7Xsu2lH:OYJQBN%itRDWV.CONq7VHm$n$=p;ETHH]f];=E>Juq) 109.795 - e\NW+k]/1"R/T-LQN7F=;T^`nf*#L6MVL;Yp^Gq]B@"qb!(GR\.+e`-^>>&ej`$s%`?A_t" 109.796 - Z7RJU5:le2;2pjYNl6+;Pkk9&69ILl'>IiJC%0p%"R!K#3_LQaoTg]XU/rkMpe5ElAfKBth 109.797 - 4]XD>J^km\.j9qq`b7n-)^sISH$'5YL)o3ac'Ou1b6kl:269Dgj_/Q\FHl'V_`P1@K6()UU 109.798 - bSu?os1d%pR1OAT"%fG)-6j-XJcm=!BMZ3iH,7uWM+ebXEEJD!SLEKcM7_>h!8OA`K->f8( 109.799 - PjDq*#=@/c]YjY$.9[+>UMm:*fH.BT!D!OKJf(6*5c#&5HGqoOQqup=X@H-_sgo!"(K0l6& 109.800 - ;$Z*`OR'69lEo8#FB2%u`:ZN%KjCDCDipM<mPs_.]hsmDFlVQ7P'a<'*=?4@J]%2</$jb7= 109.801 - U%&31G&`Gg=F1g!.3Q8#*h#XWI5PO$28?'M,)4$-A"S6coZ:dT8$5FbV@&D0#d,qk>t7WHk 109.802 - 0F2>ji)+BFMW>n9f!H>MMJ%hSPP?Hn7W6`CiW#a#N(RV6>$u#tYcc52PMO\P'S9U3M)Ruko 109.803 - 'RX@VCh#\_*sKG^LB(J2?uJR=JOg3#a>ALi7"Rs/K?.;NaCL(IFGS"SM9(@-8<f"Q`/D^dM 109.804 - b)ofaR"o-oT7/tOi[H`aV9q1,a6>LPf[I#8T^6>I$Vm-RE:\M!iROM;Z%aV!J-m]!WYdpJ5 109.805 - ;3\HU$k3LanMoKO"j],g&r:`uDquC\!@!0?(/MWS!aj9VP/,Im[pVRM)A`m&cLoHpQ815?o 109.806 - 93BH;e_+TZgg94YM)Cq%TP\BC\X9=27Q]Xl;)^!"p>bKR`EjM4F\^s"(?bV[.07)I/A_ou* 109.807 - "b[ec<>fb-2a\7B0bd>O:`6(d'bKSbcbiI*ooY1DT%0H\4]]mas%+MhPYs$=+,M[(RP&?:b 109.808 - fGq\[`1WX=OGTc(TT.1H:%9:FUgVIC3_L_;b;8]^7(#_lcH]t^c?.FYD!4WAkg$!gcEuh2` 109.809 - 9PXlld"#JcK+H>gq&%r%KeKg2_Z7J5[@/biOuVM6B'S=AG@,!fM?e'#U1,3Z'PfVp.sW\^m 109.810 - ]>QCYI,!3R0/nc9(O3n19/V>69$jKp;khI0WT&$.+qEd#AF[V$p2.%++)Fd.IiF"V/oh&() 109.811 - +)d3TIR*>HmY'i@C7d<-5PKbdON(X\cjdA7f0[2dSr*RVhI;:Q`9"Wu+d'`e:f0CT@"YRZ< 109.812 - Q-(jC=$(:qB)e2ZcCer:.c]R'^]_KpVfWYf5dd[?5%53p1!l:-(^@Yr7&B#lf2D;,VK-`J$ 109.813 - 879\ER]GXDe$V2lCHVnNM$JGmdn5GESLu%i=&5YB<#H:D3rl.;5La*8;[l3ZI54*:1Hs>G< 109.814 - .Me-?l?*DiC6pJ<:llB@!5N`i;ocQKmcn9Y_!88#$#/e!?,3qHd.;nn3-gmeZ`o@`Cm+/5f 109.815 - uMIRsdYs]gU@%>ui*Ke9teh,tUCF8j:Km<^="s?"gqb71W(*23;kfK6.Gk%+aN!K-V_,@bC 109.816 - nbWrei4f&-sndPq;VB;ZJN9nV\3JU=)tF]W.#O;qUG*3e&"("Q=pemn&IFa]/]oFV?;=>N\ 109.817 - SN)ko(r%HPb"iZ$=*HtE*qUPg:=Ic.Q]NbcbE7fl)O7d#8nJ#'k%9NGj=:L@KE4pf3Q&3pi 109.818 - -kIpf(g=iheCD?OYJN/J<BODN,M88g;T57CV.#Q3O%N)=g"iE`V3"kH!a-KNfdl)c4f+!#5 109.819 - h_uT5Y+ViJCjlsXfngHg6*dcm>B5\Mp6[U=J;(;>hd1n7NgoJO,PiR]s$1P_:ho"O7fBcNM 109.820 - jJOW8"P=,)C7M3C9p2#[AW$gZfs:%CAR#TN`GV=oGT2/4_D<Y?X65M]Dc4XT;\35q6SZWdI 109.821 - n&e(i^>c&ru]08MYp7FE@@`6[8YgkDEU2+(VFLYGd#^9s_A<SWFYs4>fW%kYFZL![N@dG== 109.822 - 2NsH-M78:(8Wno2Uh-ms%FkO]-a&:I>b)gjPJDCR$Rh4q`hJM_<4hBMNl.uOIh@nRK-1R*l 109.823 - D_:p1?WHjXKn3SGpl94^^h*,NNV),%!o9kC"o\JYh>lIK1tTZ@7KrmRIJZ7rr&oc4?pOaPg 109.824 - Qa$_V?),Ni3j$<AceJaMG=oq%8I'kecn94#@R'#/9!!_<Q\`&(#`[hhjtUBmLVUc&NpmB@= 109.825 - \'g8Qc%j*Rt?5iV"A0Fr0-<aPi?Z@AD$)[NU[1;HB1sK?bk(<[cskqVC99ig@u"/,A0db$n 109.826 - *rNfu,RQi^b4k$n$>j"qZHke3lObeEL$N(,A5L+U&u0&pp(=<OOD[QL/fle0iMj7Y^@2DiS 109.827 - Rr*7f<-Y:Sj?-gK53BUn7A2)Ro#cgm]"'4nUA@3cFISAhLf]!Z@M_6tR?:I%`7qD,=_+57H 109.828 - cktkB*N/CBit)8N2-U+69]`+PjXsd!^pc_g%D]DWM^D7b-;cm+;J#@CK=5:(CZhE'.V<(h+ 109.829 - :&($Y%ZLFq?PS\k-f&^SddDd.qZT%job,8'>S3,DN'B\B.s\U6hd;fHj/4m1scV45\B2FEb 109.830 - D7qM"XU,Ya&htmq3$@B-)GZ..F@k8L!B4[b(a8q"05?L""V'BQf0G[R!9.Y\*$R&^Ec_Ajo 109.831 - -@I_1&Ykchm5l5g!JOfsu-!^;gWn5<]_O6L7\kJigE#(=5:N]Ubn#"V7:\75Y,2egj7C#5H 109.832 - H#+t/rT5#^Gl7Sdq2PfV-V<U7Al;jftAuFp[W9U7YC::,,^8gJ<Xm4K?lHZTuk-/UoYj3X@ 109.833 - lSc"`7^D>TZg1Z#lXmWl?F]<E\SHr1laFCj`k#s:]Be=dlfPtJp7[(O)M))jJ62pS0J!9U- 109.834 - <#n'l%[7<S]iHN2XGsXBp7oJUU7l,<s#lLKh*Nk2UCb#ctsQHm3^<L*n9R8eSRe+m<7(JL= 109.835 - U4-fBo0^mAAY*[bU8Qh<i5=D:[S3#2ehaheje!mOmJd2WX9qjmG=pmT/LgB'8TJkjG>3DRS 109.836 - ft^?Y.+mI&Qnm`t:hk4!9^nF%^om6E(N+:0_G`IRV-KC)fXY5$uTQg^#pm(;V#bH^EjcL3C 109.837 - UDta2"#4ld5!H8PMn2CF<7fmX2"7TY#n7N!qG6m\V$1N]WE0gq$`s_<[-uV`[!RD:0Y7QJ- 109.838 - &aun9iElA#0T,>2k\nYLBssOJ#/9Vo)"FK=nXgb?Y8d#`*:`23EVCLDruU_9+n?Enndcu9- 109.839 - R<^k,k>RolW1jg.fB@W#QSO!"%Y1OD\Vcn'(JIDLlW:b2\s"8O)jh\,6/ghPKof.39^r/o6 109.840 - (/se_]nI'kkG(kgWCL'<-%#3O6K<-m/X@[8&b0Pj)O=F>aYMmmDn$0KnS]\kbK];\R(&6<: 109.841 - )6k\j#a`YS2B9Sac[4jQVYs%%7ko#=e4=$;3@O&Yco<T1\eocHsm[no*J;0??X[`E#+Z;q% 109.842 - Y?.k4*orh`]B$!jZb'!c<on1q?PFV<D@]E8oK84*<!)DXbAp1$ZiiWc7Y@DXQn75c6(46WX 109.843 - f4F[%EVCi$QJYbck@;2dA@\m`G;ja?LNo'@FEGiO4bn2@Vg!?OIJ;oRPF"8mYB+ooeG$kKp 109.844 - Xan>7tgY8E_>T54F_nU07geQK"3gmpg8sSa,H)ZH?@2a4MQb6+,bBqOngAfNh;>RO,lE$O> 109.845 - uEcGrM)cLR=&kCZY#)q,>B1@uU5-R<dteq=)8p(Rk'DS%NC(\@8%)s.oKmV;/eA+o<kP062 109.846 - @``VMBHqF@E/a/o-fnG75dG_`8Ah`Jd&WjmhbqVSXV8$n)\?0:$\GE8`9=0af8Z[5cbqmX2 109.847 - "B83Zj?i,%lH\9+\PCi\0]R2*DqU^sR;>(&^&U\62kZC8C9g*lBao#V%L0PT]2p-N:^&0h7 109.848 - r:eO-(Tuu"^AS;brAW4(8(<h``-k_<rHHllLY109M.9l6m!%-2a5$XFh>QN#r>%_C-f4h=i 109.849 - Vk4ar\pKuqXf4Ij8N]RrcdQ)J<G=nkl.LFrjV4lhgg,&ljIr$^lRr5kOAKfnZ!ttqM41]'J 109.850 - ^;sX,8Zs&uTHqD./Hco`^]U>?NKVKjF_@>;/$k7i6b0?r-PC((CM%6=E^#A2YG=LdY]L32B 109.851 - S,(Q:gn;7P\14WfbVA5YE5Q;&`k8nCo2A@>bsQqV*j3Mb5C2k3WU;n:u_I6XB$BN.#=(6(h 109.852 - [;J>OaA+#l^W'..V>,=OT:49lm<3#&']jJ!0=r&l1PQ>F(>&@<H7CL*P\4UU]Mi=s]d'AjQ 109.853 - GIqFtl[Q]?n!G(?G56p3@W6;A?5FWCaCK<o4Jl13Qcs&_=hNm@4eL)7FBUgSQVAg(5H>N6P 109.854 - M2u.X&^`Hh*0G-T60L@>I?ZhDnhUuGPd_%mhNN7n2XCl(G<>>k]C^(fFmo*e`V+&?,#KG^# 109.855 - /=(HsT#bQd+^cH@9,0Ni,rTfB_;n4dBs=p\[ID?b9V+mXuVm$L[kV7a);=]P_M%!^E_9re& 109.856 - !6KEhCj`lo"b_,._$%)Yp.4V,IC$q1cHOXs3?`=YdD'uc!`go%jsMdWJIXe]/?\*N"j*QJ[ 109.857 - )37CApjEh$5EZ/^8aO3bI--;<dSL;PmN27uGP,taB7H`E-WN*4tSCu'V$H",6P9Ll#67tUY 109.858 - 1bE6KggeV8MYT*<ZWd2^3>'r]Nl#>To!OOC%.bVclWj(e/9#(m2\D-t0Y>_oBU]'!;_pj89 109.859 - X6-"+3oR&m'T]SJWDfEFR;9!c#as!N_d"XeNf1\<CjLDkTp#=;3Z)Y857U!.36kN&h@@`c8 109.860 - %%RXOV_%hU]+MSS-XlNMU@CQE@9)gD7qtVT&kY>1^2<qsA6*M02S#67Eq2K?*C+>j+n*.ee 109.861 - .u7@!4tdOp^5!a\MmOQ9bA4-5>#(^gi8h!7,OP20e.'mEe>K)IL^G`D$9U=[[!!+1[oeUP' 109.862 - <2?o(I\D$+dU3LDh@j60K%?BNfNb+X@RBCCrk8DQfSZ@pqo:NFmD8NC0H01'@i"f/bF]2<^ 109.863 - RY4O>o6c1nlcr"X/ot<?JiJdmkd.l,L.VG!0!5tB6G"/`7V-C(#i[!B'SBDZRo7R%6E!:&Y 109.864 - H9E`P-idH2H58o>)L_.d0mh7`$%e9['?;Cl34n<."94BTNaGb[*UUFh6sQbHZQ^B)k&"`!# 109.865 - ridKC=&jeYDW&HNi)?]^!he(VJ0&c4?H8);'0T%u'!;ShH)`q&W2"T4f,Lm@h`F<f[OTS\k 109.866 - oj<bl&.m3/VZo8dGGRu'/@-seaCmKfF^Xe4qBfS-o;?PnE6r'%!5r-lOZl?1i*b2lsAiG$X 109.867 - EJu31nlIs/2,#@:1]:o`0b:Dg$:T_\j_Y3lJ;t4AdgkELD"U?+5\pmE4_5LI*6"#4;Jkhlk 109.868 - (76fJTnG.T:sKtH=D\N+_luc_CtBu]Y.0V$3G,?X]eN?PEZfE$JOE?W^-U]X@Ta@s^]FKI7 109.869 - 4MK7Gn*0Dpk1?R(g7`4#E.]80YfZBE$?HQC<#rmOU+R2U3'4SjB="O;?%BiF;6")D,<7f/H 109.870 - H-1@fR++aMK6"`8Y;TB$chi7kt`!$Ue,@Z1,-/aFtr$`0lfeDGEdV4X\L]4";\!)8l0)&7k 109.871 - q)MIl??4h2RWA,umR`LXfDR:8QpK6NC&d?)NA1E7Z>$(&R.HOD%L,c26'47]Jdb1FHIhTWm 109.872 - '?ijMo\4\G[9Y2FP:,u"F*AD&HhB<OJA&kQW1`=MrRI^o*bLsifk6.cU;pK\b=m\B8`;-!F 109.873 - LjUEr8r[K3jD3*7q])$U433TP2_S22O>SsZAk@7k$mh)V\@Y-W]WlSk[M);T^Hgd-F+/1`l 109.874 - ,IFm)G=#[U%EYadZVdAbA@tT<+^5Lg1s18/M!^"hK;M\92$"11--*RU/Y<U;<gSAWDtMu:W 109.875 - `N^a1VJPMcpQ+3+!We$,iQlU6SYkfZIKr6=N6TRT93t67M:b2t^3lN<pOj-B2t[L?>VMH5\ 109.876 - GPNBa=>%^@!f#jc8:Dm*)g^rGXnat$DMKQZqCfD;CTm"LS-<_ge?>:a&minoOA9$=<ujW@e 109.877 - ,MQjJ_Z]RjF?RDm#['RVOfU?#Xm8*ea[E@+MZcd"BXP1$^g<s1L+_f-UWOI#=]\9t(D[?SL 109.878 - V3RpqY$51Jll62>[W^qA>HN&9`S%k)D"b!L[4(##s+hJ2.n&-i?nOap+B#M#&=]%jBTWO<P 109.879 - ]GjAGM?5<[F2Jh@URuldR%_XC73]1rQuNjI%TfuG'Fed>\k?tLrI\D3(i5^CZeH2-5j^'D[ 109.880 - p424br"0R<d+EU>c<>H*Ch/^Z7H27L9ZaXsB2rd;X`_3KZ7<NJ<`M\?imF9l1D5B#!!:LZ6 109.881 - t.Mt!l7`^=AW9-a6J-Sl1FaT!:]%"1/,,;d9(lC-aLUPZ;]@E_l811je8M]Q:%H-\W,8pnp 109.882 - Anh^7OUb<+oqSA&)4upEGXFnJL6p_9q9lO60g.k0t6*^E84P@aLONd$V10(``d$HsE(8t@- 109.883 - (/iHrEjKFkV4of$MNN,FKBK?=BJY+:eQT.WC>E0rbdJ_.30I6V"1X"aJtcDD'aW_<5!nD'I 109.884 - j,P%4ZP"^NiM4H^"52Ah[Pf:h*iR)H1N<61a;h&rIVl*hcqQMFJ1SO!S>g8LMRt^6hVk]+8 109.885 - ZtdkhI4J2K$X^A2e2=!^i(:VUpFsB2\/pFdDJc7,GM->B!mX_>$M,iERpjlQsB:?B5LS)L@ 109.886 - :nk4O\tE(tb@nALF%4JN[,SUOet:)90a3b0Z'R@.4]&@t_V6tTLCl02&M/XN@0%CFo%SmoR 109.887 - GG(H2RU,76pPAt%H,r_/0kRb-*EV/).:^g:V=m^X0^4!T;cR\-G-^V9Kh:BY#1eo%FGLsMQ 109.888 - cG0ZJFDeF]]A6#c\-H!]4a(+P*a?k9h_e4m9>5W,rSRMXJY,%cc/(YfBks]p<Z!;m$?clkC 109.889 - H%))4d-^],Q5@_B&2k(ad@6W'>K>f7'E[9R'LWHL'Whj0g7pWGp<p_2QJ1qosfkSWl=.KY< 109.890 - oZC8't?bJ_X9:[]!Nm_u*l$nbu&#q+Fnh,:]C"5$=IV8hn%,ZjD`5C:k.8hBZN_c1KQOMbX 109.891 - )@D#a_2R_:5%:brp-&J^F!<!%VJLKCPI?Zg>[O'tOk,O1TDOH<9+1iL/AO89:rY4E+\/8V= 109.892 - d.+nF<7f[+>r+/@N!n@//lMVpR<Y*jU!]'`?;#Wl<rf5RlmAU$15Tu4?'^uJ0km[cl[.k$r 109.893 - "3Z<"!>u#8;#2kc#;C9*E-V\`o'hRUc-Ui`%c[h(>mRZo#r%VNE1%$:SI+DM#RtJT#@RoMW 109.894 - $G3A$LkG2E4H@\]aO>F1bb`b$qh!Z&FJu2Bo[0B0\Ho>h$rl4%PZriXO>@4V[d:A$S_(ZYk 109.895 - J[4r=AE!&2==t0ZK@&,7nD)%oEoN;%XDF*>.fb&htZ;OUCps-;"jf&5b4rnMq8f4VR?O'IS 109.896 - MGY721C9bd+p'er]'EEO$];#-mGq=.)md:jB$D&2Y](GU%KDAa3"*tZfB(QjCgEJYO;N>V2 109.897 - J)(@9SOG+Q?1kC7D)@]S*Y(Dt#em?\V0Ti0'&ZRHp?rSE1)^9a2X9TWjboH9$*ANTmOUiI" 109.898 - cK4&H*Xp'VL%P6Dh]>AYZ%)i>@Y5>'/i\]FkgA3/EX<ko%.B;C`,NfKZ48snWdgb"+n+@ml 109.899 - oO'<*-JP6r6<#1ng+I\Kca,Hmp_7rMqTQ+r?8ID,r/IHC5X5^K+@HS3H'5e,&&BBo#$P!p4 109.900 - =@M!m^Rm_^<_3P@Z^=:_`gOk8^83,k>FoEg\A^S;'no(c%[=V"F?.DC)Th!s9,(&sOY^ZD\ 109.901 - u^T10`VDdY[?]..jK/Mbj.A]ZDW)(gIp09U-!Eo^QTcFWT7^7sdCC%>]7oZm\8.nKsF`L.r 109.902 - eo"VCY:k`fb72l7;Ea[>S1,C43F!tWtI.4D118?><^sH5io!Cg:1XOLmBsAdIO#)tg%;9e> 109.903 - &-DNZ/f%*;Zu/??k!\9o*agc]2`#S8F*L:*/fq9/1Ga>3dX=%?+=@h[mS\YeNhnYNOZ>3]K 109.904 - Su<QmGs1#0\O`.bO.@*;G.(N+u(]FFFfHoc20KlLHP1U4YtSU;VaKVj"t7u4q']+OttX!#s 109.905 - 'P\\Z)Je+pr7Ll6/kD43iN6&p,;AI34Z44k(34F;[B>]fi_B1,JFFniY-PV_l9j6=t!]A0i 109.906 - Y-[bl06+RJ,S$imtMeC[\14O?YHJdd`?0f`,\68W7CFD44>$J%\#+`qQboAh3>1oY2n/JIJ 109.907 - *e:)"M5jk?db-ZmHafprX;Z*7AaAdLVFK%m>X\.SM-.HuQ'&Q=`\Oa*!i<K*BP^,,WE?A0$ 109.908 - +NF1$7>"3/f1jaF9@W&uFQlQ$\hupfZVZ8p[-]^BVCkjI]4n,q0uP\$^h,"ETT8=):i=]ZY 109.909 - 4m#A7PnOB;e&E6qbm)A;`-BT'HpCaM,<fdee33Z1f,sX5e5DI7<K[O&-GZA=S(&d;q5G[F_ 109.910 - O=14'&X]<@nGLbVjC&atcsl>`faqCKW^+,>sSD;H740F`CQlSQYP72tMYtQ(TJSK2n2$bRM 109.911 - u#'E0bPY$3Uq8Q-'iKn.\gO&F:g=V#"J<NBE5h-KR\<qYAtFh^rcbuA0!R%llPYk(pq7!,0 109.912 - R?V$u`_U2>j6X]T9>nuO2Fr=_nf"9"K(\'(ce)OMb&hbW["Di'^/3O!-;^,6u;5/&;No=?^ 109.913 - &man[KHlB7/ONE7=].adlkV$^G%kQn5@.B,,n!stb`PVc9X49"Akh\HFC$9e86W8Von?f>E 109.914 - ]V>W6VK3/m*::9`F+9cojCgACGrS9E8=/RV'Ztfdo>=Xnr7I.m)7@XZ%=CHZ^)n<N`qU1c6 109.915 - K/,f$A6Ac>67Cp$tOf2Yh:"r<[XeDtZ+qJh3q1;OZ0cWCH\*68*<&SgO0f>&s'c1;Pc-]$A 109.916 - ME0biKTWJais"&1]XF>lX1DAR7N8KXlpi/p4YQVVb5?$5mL]2q^M,&WGUQP+LZ>^'n+GBnD 109.917 - AI%F?65*9K%iadk2YnP`J@i'uIGF<`cS;%],C_r^RilH+\SJ!\(7$jfuGI`(0]NUY7Hf@.J 109.918 - ((CrOaS_CDI5f])GM+q++M8I9G^%nkGNjRcm=+g!+]c8#Pdu9&rI=SCJ2d^UQhPf.#CuR]J 109.919 - N+BqF`Ddg)1hQ+JiG'.F,,>!.>%=LK/b`@ERf@lF`oM??Ijuh\3^s57`<qPK]=G62LC(D?% 109.920 - r&^<gSE<2s#/U,>].,]6J7,<tg<JI>@TK170Y3pi[qXMN\m<CfOhu315W5SMupkDqL3uR&; 109.921 - fdHV`:8M>4K:Ge#+WEGP>6<u39/f?1qpAg2-bo4NIRG;3!i%Q^U=>BnGc(rip"b?G/B+un$ 109.922 - Q+W69*>=DZQ0LfIEfXm6U%?U,kJ@NKt;<T_i"d"<RBr1IqGhaD2\rnX!W(HH?UCfrj+OCq* 109.923 - ,9r22QLC!fnuBe(PPGfUH!-E;LPdqNRV1f12m6@C#i,o\RkF%o`$!i79fik'O-rN]f^D^QQ 109.924 - ^1A5QBtT[67-Fp<L8:Gf=?@e=bAGsL*4$b"PI^Yft!T_]bS(d:.PdP2MH%c,XOGM\+uoaQ^ 109.925 - "p&d9F/KW7f023QmHb0:a!8SO9Me3V-6;f:EjQS,*;]H3k;=_b8)1g3Ao/.0WfG-_3..WEK 109.926 - sKGd8N^)fKM%U(jA[q?s(04eqM1L3=qC8Z/97r^cc@TCt-W<]H\>9;<C?<I-(&K))&S*GrA 109.927 - RV`JsuE1`fqYo\e7UO"C4RICtmfV6q/BA/)r>(EdM"s^^;W:Ij*.;`nTH)g_GX"TC/eE!Z/ 109.928 - "Q!%=TA!HlZ@OqQWH1+dP8_,TXu!.:Qm0,bO#kUd>-4i/mB6<Ti4?HpX+;5D@;6u?FTV,58 109.929 - i]o*AZb8?YHQr"F=Enm$a;t@Y`LkNH/l&s*NqOZZTC"o3>I%P)XSH[KXRk`q^[udT";O"41 109.930 - bJ:4%HQEDe7FrMRtgUHYKpi6[e(/PaDngCu^`&m%Thb[<_/>].U'EH\K&MRplo<(Nm5lP:p 109.931 - ,*[bIXiH`3p4pK&:CV\Bf@R;Z_a30X!g\[GkW]48JMX1\>W]dRs5oVgT0]l;sCAhNKpl7!] 109.932 - RjgH#4^0.,-]A0Lbi#u=s,!5+r@MccUaf0Xi]j);gHl/M;7>A3*l+n5%!T?&LQ]:glRY:iY 109.933 - `-7pp>3b.)N^ac!S$jPh56Q/5T;auj>UdPE=i3.u`>gsb>Yem&jrHQP!#l;<Htr[I_kUHUa 109.934 - ?50tB9Ru&4]ZU*"8c>WR+6+[Q6?%#49P<L9ErA%/nmoAaY7ALkU2VmPT_$@D;;$Ae%"'-Sg 109.935 - 7RDrEQnSSCu0"gh0jE9$e_9RBe"Q3e*u79fVhu:TQd&LQF:-YlZr2nh\T:p7D3E/oe]/@Q2 109.936 - Z'(HFVOORN_*dgaY4oa9LpBidUFrAi??4B``be,;_bI7_qu0seG]eD4-TI9G+1(PZAkefjk 109.937 - ?I9kF;D:\Z*IA:C)$D8H2Hld]e94VcqI>QUiNS+2lffbVRI@8d%S_<t8g-):dIAtr6XkN`Y 109.938 - gHDt!IC\+G^"`M%gc`X3IEC9Xc.r9Fh*'<EIG*Gih;/%ghEBuWIHfV%mG@g3h`^YiIJMd6r 109.939 - SRSTi'%>&IL4rH%H.3tiBA"8IMq+Y*T?u@i]\[JIOX9j/`Qaaj$#?Q_Q[\3nfT%~>Q 109.940 -Q 109.941 -showpage 109.942 -%%Trailer 109.943 -count op_count sub {pop} repeat 109.944 -countdictstack dict_count sub {end} repeat 109.945 -cairo_eps_state restore 109.946 -%%EOF
110.1 Binary file 0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Time_in_VMS_1.png has changed
111.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Time_in_VMS_1.png.bb Thu Feb 02 12:22:53 2012 -0800 111.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 111.3 @@ -1,1 +0,0 @@ 111.4 -%%BoundingBox: 0 0 660.96 253.92
112.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Time_in_VMS_1.svg Thu Feb 02 12:22:53 2012 -0800 112.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 112.3 @@ -1,407 +0,0 @@ 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.47 r22583" 112.20 - sodipodi:docname="Time_in_VMS_1.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="448.37508" 112.65 - inkscape:cy="648.10677" 112.66 - inkscape:document-units="px" 112.67 - inkscape:current-layer="layer1" 112.68 - showgrid="false" 112.69 - inkscape:window-width="880" 112.70 - inkscape:window-height="1141" 112.71 - inkscape:window-x="889" 112.72 - inkscape:window-y="6" 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 /> 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 - <rect 112.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" 112.92 - id="rect4618" 112.93 - width="413.02609" 112.94 - height="158.61386" 112.95 - x="216.25447" 112.96 - y="368.18201" /> 112.97 - <path 112.98 - style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 112.99 - d="m 219.06883,401.37498 c 128.4693,0 128.4693,0 128.4693,0" 112.100 - id="path11721" /> 112.101 - <g 112.102 - id="g11990" 112.103 - transform="translate(-60,0)"> 112.104 - <path 112.105 - id="path11907" 112.106 - d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 112.107 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 112.108 - <text 112.109 - xml:space="preserve" 112.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" 112.111 - x="298.7023" 112.112 - y="376.52615" 112.113 - id="text11715-4" 112.114 - sodipodi:linespacing="100%"><tspan 112.115 - style="font-size:9px;text-align:center;text-anchor:middle" 112.116 - sodipodi:role="line" 112.117 - id="tspan11717-9" 112.118 - x="300.05582" 112.119 - y="376.52615">Suspend </tspan><tspan 112.120 - style="font-size:9px;text-align:center;text-anchor:middle" 112.121 - id="tspan11940" 112.122 - sodipodi:role="line" 112.123 - x="300.05582" 112.124 - y="385.52615">Point 1</tspan></text> 112.125 - </g> 112.126 - <g 112.127 - id="g11984" 112.128 - transform="translate(-60,0)"> 112.129 - <path 112.130 - id="path11911" 112.131 - d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 112.132 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 112.133 - <text 112.134 - xml:space="preserve" 112.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" 112.136 - x="378.7023" 112.137 - y="376.52615" 112.138 - id="text11948" 112.139 - sodipodi:linespacing="100%"><tspan 112.140 - style="font-size:9px;text-align:center;text-anchor:middle" 112.141 - sodipodi:role="line" 112.142 - id="tspan11950" 112.143 - x="380.05582" 112.144 - y="376.52615">Suspend </tspan><tspan 112.145 - style="font-size:9px;text-align:center;text-anchor:middle" 112.146 - id="tspan11952" 112.147 - sodipodi:role="line" 112.148 - x="380.05582" 112.149 - y="385.52615">Point 2</tspan></text> 112.150 - </g> 112.151 - <text 112.152 - xml:space="preserve" 112.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" 112.154 - x="352.7023" 112.155 - y="400.52615" 112.156 - id="text11954" 112.157 - sodipodi:linespacing="100%"><tspan 112.158 - sodipodi:role="line" 112.159 - id="tspan11956" 112.160 - x="352.7023" 112.161 - y="400.52615">Program </tspan><tspan 112.162 - id="tspan11958" 112.163 - sodipodi:role="line" 112.164 - x="352.7023" 112.165 - y="410.52615">Time 1</tspan></text> 112.166 - <text 112.167 - sodipodi:linespacing="100%" 112.168 - id="text11960" 112.169 - y="412.52615" 112.170 - x="278.7023" 112.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" 112.172 - xml:space="preserve"><tspan 112.173 - y="412.52615" 112.174 - x="278.7023" 112.175 - id="tspan11962" 112.176 - sodipodi:role="line" 112.177 - style="font-size:9px;text-align:center;text-anchor:middle">Trace</tspan><tspan 112.178 - y="421.52615" 112.179 - x="278.7023" 112.180 - sodipodi:role="line" 112.181 - id="tspan11964" 112.182 - style="font-size:9px;text-align:center;text-anchor:middle">Segment</tspan></text> 112.183 - <path 112.184 - id="path11996" 112.185 - d="m 446.59318,401.37498 c 138.89067,0 138.89067,0 138.89067,0" 112.186 - style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 112.187 - <g 112.188 - id="g11998" 112.189 - transform="translate(166,0)"> 112.190 - <path 112.191 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 112.192 - d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 112.193 - id="path12000" /> 112.194 - <text 112.195 - sodipodi:linespacing="100%" 112.196 - id="text12002" 112.197 - y="376.52615" 112.198 - x="298.7023" 112.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" 112.200 - xml:space="preserve"><tspan 112.201 - y="376.52615" 112.202 - x="300.05582" 112.203 - id="tspan12004" 112.204 - sodipodi:role="line" 112.205 - style="font-size:9px;text-align:center;text-anchor:middle">Suspend </tspan><tspan 112.206 - y="385.52615" 112.207 - x="300.05582" 112.208 - sodipodi:role="line" 112.209 - id="tspan12006" 112.210 - style="font-size:9px;text-align:center;text-anchor:middle">Point 1</tspan></text> 112.211 - </g> 112.212 - <g 112.213 - id="g12008" 112.214 - transform="translate(188,0)"> 112.215 - <path 112.216 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 112.217 - d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 112.218 - id="path12010" /> 112.219 - <text 112.220 - sodipodi:linespacing="100%" 112.221 - id="text12012" 112.222 - y="376.52615" 112.223 - x="378.7023" 112.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" 112.225 - xml:space="preserve"><tspan 112.226 - y="376.52615" 112.227 - x="380.05582" 112.228 - id="tspan12014" 112.229 - sodipodi:role="line" 112.230 - style="font-size:9px;text-align:center;text-anchor:middle">Suspend </tspan><tspan 112.231 - y="385.52615" 112.232 - x="380.05582" 112.233 - sodipodi:role="line" 112.234 - id="tspan12016" 112.235 - style="font-size:9px;text-align:center;text-anchor:middle">Point 2</tspan></text> 112.236 - </g> 112.237 - <text 112.238 - sodipodi:linespacing="100%" 112.239 - id="text12018" 112.240 - y="400.52615" 112.241 - x="590.70227" 112.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" 112.243 - xml:space="preserve"><tspan 112.244 - y="400.52615" 112.245 - x="590.70227" 112.246 - id="tspan12020" 112.247 - sodipodi:role="line">Program </tspan><tspan 112.248 - y="410.52615" 112.249 - x="590.70227" 112.250 - sodipodi:role="line" 112.251 - id="tspan12022">Time 2</tspan></text> 112.252 - <text 112.253 - xml:space="preserve" 112.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" 112.255 - x="516.70227" 112.256 - y="412.52615" 112.257 - id="text12024" 112.258 - sodipodi:linespacing="100%"><tspan 112.259 - style="font-size:9px;text-align:center;text-anchor:middle" 112.260 - sodipodi:role="line" 112.261 - id="tspan12026" 112.262 - x="516.70227" 112.263 - y="412.52615">Trace</tspan><tspan 112.264 - style="font-size:9px;text-align:center;text-anchor:middle" 112.265 - id="tspan12028" 112.266 - sodipodi:role="line" 112.267 - x="516.70227" 112.268 - y="421.52615">Segment</tspan></text> 112.269 - <path 112.270 - id="path12042" 112.271 - d="m 267.24968,477.37498 c 232.74658,0 232.74658,0 232.74658,0" 112.272 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 112.273 - <g 112.274 - id="g4352"> 112.275 - <path 112.276 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 112.277 - d="m 364.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 112.278 - id="path12046" /> 112.279 - <text 112.280 - sodipodi:linespacing="100%" 112.281 - id="text12048" 112.282 - y="506.52615" 112.283 - x="364.7023" 112.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" 112.285 - xml:space="preserve"><tspan 112.286 - y="506.52615" 112.287 - x="366.05582" 112.288 - id="tspan12050" 112.289 - sodipodi:role="line" 112.290 - style="font-size:9px;text-align:center;text-anchor:middle">Tie </tspan><tspan 112.291 - y="515.52612" 112.292 - x="364.7023" 112.293 - sodipodi:role="line" 112.294 - id="tspan12052" 112.295 - style="font-size:9px;text-align:center;text-anchor:middle">Point</tspan></text> 112.296 - </g> 112.297 - <text 112.298 - sodipodi:linespacing="100%" 112.299 - id="text12064" 112.300 - y="476.52612" 112.301 - x="504.7023" 112.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" 112.303 - xml:space="preserve"><tspan 112.304 - y="476.52612" 112.305 - x="504.7023" 112.306 - id="tspan12066" 112.307 - sodipodi:role="line">Virtual</tspan><tspan 112.308 - y="486.52612" 112.309 - x="504.7023" 112.310 - sodipodi:role="line" 112.311 - id="tspan12068">Time</tspan></text> 112.312 - <path 112.313 - sodipodi:nodetypes="csc" 112.314 - id="path12088" 112.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" 112.316 - style="fill:none;stroke:#422fac;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 112.317 - <path 112.318 - style="fill:none;stroke:#a94c26;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 112.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" 112.320 - id="path12090" 112.321 - sodipodi:nodetypes="csc" /> 112.322 - <path 112.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)" 112.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" 112.325 - id="path12092" 112.326 - sodipodi:nodetypes="csc" /> 112.327 - <path 112.328 - sodipodi:nodetypes="csc" 112.329 - id="path12094" 112.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" 112.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)" /> 112.332 - <g 112.333 - id="g4338" 112.334 - transform="translate(8,0)"> 112.335 - <path 112.336 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 112.337 - d="m 270.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 112.338 - id="path3246" /> 112.339 - <text 112.340 - sodipodi:linespacing="100%" 112.341 - id="text3248" 112.342 - y="506.52615" 112.343 - x="270.7023" 112.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" 112.345 - xml:space="preserve"><tspan 112.346 - y="506.52615" 112.347 - x="270.7023" 112.348 - sodipodi:role="line" 112.349 - id="tspan3252" 112.350 - style="font-size:9px;text-align:center;text-anchor:middle">Suspend</tspan><tspan 112.351 - y="515.52612" 112.352 - x="270.7023" 112.353 - sodipodi:role="line" 112.354 - style="font-size:9px;text-align:center;text-anchor:middle" 112.355 - id="tspan4072"> 1,1</tspan><tspan 112.356 - y="524.52618" 112.357 - x="270.7023" 112.358 - sodipodi:role="line" 112.359 - style="font-size:9px;text-align:center;text-anchor:middle" 112.360 - id="tspan4068">start</tspan></text> 112.361 - </g> 112.362 - <g 112.363 - id="g4345"> 112.364 - <path 112.365 - id="path3276" 112.366 - d="m 322.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 112.367 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 112.368 - <text 112.369 - xml:space="preserve" 112.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" 112.371 - x="322.7023" 112.372 - y="506.52615" 112.373 - id="text3278" 112.374 - sodipodi:linespacing="100%"><tspan 112.375 - style="font-size:9px;text-align:center;text-anchor:middle" 112.376 - sodipodi:role="line" 112.377 - id="tspan3280" 112.378 - x="322.7023" 112.379 - y="506.52615">Suspend</tspan><tspan 112.380 - style="font-size:9px;text-align:center;text-anchor:middle" 112.381 - sodipodi:role="line" 112.382 - x="324.05582" 112.383 - y="515.52612" 112.384 - id="tspan4070">2, 1 </tspan><tspan 112.385 - style="font-size:9px;text-align:center;text-anchor:middle" 112.386 - id="tspan3282" 112.387 - sodipodi:role="line" 112.388 - x="322.7023" 112.389 - y="524.52618">start</tspan></text> 112.390 - </g> 112.391 - <path 112.392 - style="fill:none;stroke:#422fac;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 112.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" 112.394 - id="path3284" 112.395 - sodipodi:nodetypes="csc" /> 112.396 - <path 112.397 - sodipodi:nodetypes="csc" 112.398 - id="path3286" 112.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" 112.400 - style="fill:none;stroke:#a94c26;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 112.401 - <path 112.402 - id="path4334" 112.403 - d="m 367.06883,483.37498 c 57.09423,0 57.09423,0 57.09423,0" 112.404 - style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 112.405 - <path 112.406 - style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 112.407 - d="m 367.06882,491.37498 c 95.45,0 95.45,0 95.45,0" 112.408 - id="path4336" /> 112.409 - </g> 112.410 -</svg>
113.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Time_in_VMS_2.eps Thu Feb 02 12:22:53 2012 -0800 113.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 113.3 @@ -1,1034 +0,0 @@ 113.4 -%!PS-Adobe-3.0 EPSF-3.0 113.5 -%%Creator: cairo 1.8.8 (http://cairographics.org) 113.6 -%%CreationDate: Thu Aug 25 15:29:49 2011 113.7 -%%Pages: 1 113.8 -%%BoundingBox: 0 0 210 178 113.9 -%%DocumentData: Clean7Bit 113.10 -%%LanguageLevel: 2 113.11 -%%EndComments 113.12 -%%BeginProlog 113.13 -/cairo_eps_state save def 113.14 -/dict_count countdictstack def 113.15 -/op_count count 1 sub def 113.16 -userdict begin 113.17 -/q { gsave } bind def 113.18 -/Q { grestore } bind def 113.19 -/cm { 6 array astore concat } bind def 113.20 -/w { setlinewidth } bind def 113.21 -/J { setlinecap } bind def 113.22 -/j { setlinejoin } bind def 113.23 -/M { setmiterlimit } bind def 113.24 -/d { setdash } bind def 113.25 -/m { moveto } bind def 113.26 -/l { lineto } bind def 113.27 -/c { curveto } bind def 113.28 -/h { closepath } bind def 113.29 -/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 113.30 - 0 exch rlineto 0 rlineto closepath } bind def 113.31 -/S { stroke } bind def 113.32 -/f { fill } bind def 113.33 -/f* { eofill } bind def 113.34 -/B { fill stroke } bind def 113.35 -/B* { eofill stroke } bind def 113.36 -/n { newpath } bind def 113.37 -/W { clip } bind def 113.38 -/W* { eoclip } bind def 113.39 -/BT { } bind def 113.40 -/ET { } bind def 113.41 -/pdfmark where { pop globaldict /?pdfmark /exec load put } 113.42 - { globaldict begin /?pdfmark /pop load def /pdfmark 113.43 - /cleartomark load def end } ifelse 113.44 -/BDC { mark 3 1 roll /BDC pdfmark } bind def 113.45 -/EMC { mark /EMC pdfmark } bind def 113.46 -/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 113.47 -/Tj { show currentpoint cairo_store_point } bind def 113.48 -/TJ { 113.49 - { 113.50 - dup 113.51 - type /stringtype eq 113.52 - { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 113.53 - } forall 113.54 - currentpoint cairo_store_point 113.55 -} bind def 113.56 -/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 113.57 - cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 113.58 -/Tf { pop /cairo_font exch def /cairo_font_matrix where 113.59 - { pop cairo_selectfont } if } bind def 113.60 -/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 113.61 - /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 113.62 - /cairo_font where { pop cairo_selectfont } if } bind def 113.63 -/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 113.64 - cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 113.65 -/g { setgray } bind def 113.66 -/rg { setrgbcolor } bind def 113.67 -/d1 { setcachedevice } bind def 113.68 -%%EndProlog 113.69 -%%Page: 1 1 113.70 -%%BeginPageSetup 113.71 -%%PageBoundingBox: 0 0 210 178 113.72 -%%EndPageSetup 113.73 -q 113.74 -Q q 113.75 -q 0 0 211 178 rectclip 113.76 -% Fallback Image: x=0, y=0, w=210, h=177 res=300dpi size=1939464 113.77 -[ 0.24 0 0 0.24 0 0.13 ] concat 113.78 -/DeviceRGB setcolorspace 113.79 -8 dict dup begin 113.80 - /ImageType 1 def 113.81 - /Width 876 def 113.82 - /Height 738 def 113.83 - /BitsPerComponent 8 def 113.84 - /Decode [ 0 1 0 1 0 1 ] def 113.85 - /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 113.86 - /ImageMatrix [ 1 0 0 -1 0 738 ] def 113.87 -end 113.88 -image 113.89 -J3MmeQm:T""FRqW:afj4*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 113.90 - C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1\+]#%(hQ6CO<M&\m`$2*dYZP^B4!g 113.91 - 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 113.92 - _Aoh+fk'&t\ctIN'kXBO&=F.Y<:MjZX]jl_3@$]W5-J>f\D0C8SQKMblgi#.L/UagF]AmgS 113.93 - S;UGjD9:c/35"*4".<l]oXS81IoE-!m.`X8Nt5a$bO52<ri[u=\)R&W[p<p3TA0)2pHG3ET 113.94 - <lQ84`?PPZTr:W$F2\<gX,pan0?fi5-T+k"i?;[qZ0!e1`m,k0Ea$>6SLmupd%``6J+YF"= 113.95 - "@BDq$936h$=M(.N9X>7sBoKPM8hZ'8"g5r$SD#"<O=G9B=/oQqKHlO4:F8b,99,>"p=K,7 113.96 - /mKW;5u13A^,8ofTnWQVTS7gMMge;H%UEg2V<7e9#mXu49E[+6;IX.H99PO/64ckHom6-ti 113.97 - J%7AMW9bg+EP\hF2dM.Ze8^`j*/PFOuP=gHWF/#bqT9T`[;:LjW6W;MM/QGg$'l@#Re9,V= 113.98 - IT@23B2M^;<Gu&B2(a#Nf<t9i@+<aJLjmtK`JImQp-jsPff!]8A(l*[Iq`'Z%BF>L2Pm`dg 113.99 - NNh5CK=KTB6.<8c-okPFbQ#c>a9HFF5D+XD/\63`S#7cQ_i_AhRD%kJR8*Dqg2>1-52#:<k 113.100 - \Zd?hO[GEoM7C%s_VD`\3-XGa:.G@CW1!FCA2#94;7qc5i&,[tZu(A3#BEO_+=mB:3+P:32 113.101 - )!g"$D#@(GDsRV"RgGE^[j"rF"GqGqs?B_jW:TkQQBVjqMuG)*/43p)d)<]^JUX_PH`WNb` 113.102 - Y7aJ@)g?tfHD7]`(\RX<ql_<hDDY'gp3e"cWDL;ZcXmeG"pU!kt1)TB<a7gUpnf3]:amtt* 113.103 - /^*`*cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu?D;4e*cZS(<SaV!ap`9s"i 113.104 - V8utNT9gU:R1&;So:1_qAt]ol1[%_(4oNO$5l`]kPr6ar#ZHgnbf"4c1ClU:Y#.:T5WQ[rZ 113.105 - @3_q>R"imJHo*ch78:TC;^Xhuj(2:_!Ol=:G;h6j\E@/d=Sn*<Y5Q&V<hS$:.cG"lR<:K2? 113.106 - Fq6.e=*i<1<W:lY[gpTd,N3=IBUD,J"!8IOL10nrNM)FIVD%H55cLJ[C[6eHetiWMQ';%=d 113.107 - <=H*pP6qN54/b$Vg6<)o8!ek.kmPsEu(#m/7Mc"@E7G,9iirieL;3!D$=Nq`D6tqWXXu8H, 113.108 - S3J3LTnPle.RMdi)e6g3O&>=/8(db^j91$q;@Z#a=UcP87#?Lm^,V1j*ogbCMNUk48kE/;- 113.109 - 03"4P>Z9n8_H6SjTM9*E\\>!.&@phgf5HEMH3@&>q>#iZ'J;5>"`"8/`jp]L@UFS71o8.j\ 113.110 - 0i_Ep@+-=cG/u7*1iq/nRf1SMTD]-#q;'?HQu3.OA'ARo=3B:"d3=k60b6;iYln=<fIDR9t 113.111 - Z#p(pJ<h)jeQnX`\)H;@]24m0aRQ]h2Q9ptT;kQM![<"=LV=q*d]7)tp@>(4[F'1:u;&Y`6 113.112 - "MG[P/7HhZ,TlN1mO/^_mB[%]r<0!,>>"qTQ74FX(DF^e.5t\,10r@pqRT!C,:$KSUV1_<f 113.113 - ;jr,%^]d$&<=5AJ>)`;-*D*4&/uDS4G;\UVFe+[bVU\e-1b-;"X$JYH<0.(u.fc$><FBK.$ 113.114 - GB:\=M:h:$FL8qX]s]EA?/$PXp!Il=9D!$'314%<cA'PCMdmi<PlUT=SGbXD,ZgF)TG-!dp 113.115 - q^_I^2tF]FC>^%]kmgZSj_e5'n>3ClOXc<<gV!G]RKV4fG]qY1?%12YO/90=A76$B?'BB^N 113.116 - d5YE7Jg7#M.DCMgGdG1^cgRuLS<gblRG'&S3IK5duId>.G.YYk7rFKWOe*Z&_*f6Y890%fZ 113.117 - @<dqL5gAP[CV9?J0XrZ@<bu!`Fi4F2na51"3H0ftDYLg)Z?eL9F-H-J0fF@feHjs/0jp?L( 113.118 - ,X,5nkC0HoiNr:r;rC5YKePt'IX!XR<NI?FVY1\=fNSteHi[2Y%>r*6XnZ3A-$Wdo0#%Lbo 113.119 - %^h2BPJQ6I<E]7<U/mVXsN@]<Kb%%qLsPUV8Re,g9kFJKoVc7`l>D6,sCUO=KId/\M(m2jk 113.120 - MjoCW7'pq0W/M/Bs(up+i`E_>35n]m:bI9Gb6#T]HF-Ns'&YX-j%Dhm_@*`7@DV3?nW;=4s 113.121 - +MTE*9j8b:L"%A5K$>0Cin/rY2":pUW9b]kJ.Amo8>2$G;*j?B1#*DH8#X^8l*lO6a`4d>G 113.122 - ohU;)o8\R?#EUje*Y'T*6kA=X`23scA<FPE2a2b3aV?b_<#?ALoDm([o[FFbC<7IJ-r\\O[ 113.123 - ebR6M&,i+uG*Cn>q_#6>SThV"I:C<FGB)+_PHhOpbh424FDZ6L]5>j@fUGZc;*@B6UkO`a] 113.124 - 2*Lt4"N9sf*B3f1O.D1kJ!uIiR5?q@;tM>_;?%6crCPJk"=rDF(=.dqVMPFb0Rujk-a2eX' 113.125 - F@>opd*.eZATbo':_jpU8@c^H<!!n61Oc+3t:n4I9R0mSFRB<aF^P2kfbg9usEF)r/*XMXg 113.126 - PnaBnlkijB/gE8J-+q+ghL4Y'"hhRug4Ilm",*m&It`RadL'mr.+V"5(Ah<7$M]%d\+Ar\h 113.127 - $+1?'c2:o1a54&/nTE+-CRa:;d^VO]hLOD5@>1u1dr-<1elqaA<e1VU3lR*'g*;Z?!^AB1f 113.128 - rUYM&#QT*E9k:oKlL@&dnp'$8pj@d#p+MoXH+]nc^#&)+0:L"#(WY]cMrO@l2hjMG8,te3V 113.129 - ts?l]iuGZo^K>MIbn\CmC2!?YD$BU*o6<r*Pq3:B0tV82=Oa%]`%il^jVi-9R\A2oD/ROrE 113.130 - XpHI>JC08*^(*>g2Bhrej>Ha54@Fbc#H=I1Q%M0"UfG])[oor/HU9b<3&q]F>+arskWJYT< 113.131 - cU,6-"\SdVKf:TX#H9#%S1IZO^%cI@9e4KHgIm&u.k:D3X;aS$0Sqf"52n65MMPmC,EIB\> 113.132 - -B\Ng]`s2#Yk=fQ<&8(k.,69I>#;CQ4O4qTmFUJa6$]\?pE.7;\OUPsK"R?]/:rp6[P^X0M 113.133 - l=]&+mf:`(IaKaoh?U_'E9.JSJIF5Kr_U3;d(^)fdZ4t/IF-]H//IXR!=gc:&-;e@OQs:d` 113.134 - .'HA&?tU3&HrH%h%4QcRP1\[0[UQ7B[JJc!3e<(&.oHBL42uO$S_5d/XERP<=#Ms&F09)OF 113.135 - IcQ>80WA'TdWiYRIT&;[K^1$#pssd4lCEN>>AK&J6H&OS9DAM&A%+&2B4^Og(NNVMXP0UPb 113.136 - `5EO*/*oW-<4Ia=>YE@2K`TW&NE*H@\i;2lL!>oMnSf.]>G#L<N,7iWr+*,:ZWVs>>kq&M3 113.137 - M(6T%=EHZeO''QTs's!ZBn/Sa[73@[@R'Aj)Z7<2`AB=*oIh/.o#JVF&70i9Z]LW2LEX<SG 113.138 - %1(=1+Aa2ua3PjS)#Y(&N3Y@gE]S[?54"FM*g%B_;3;5!8q>>e,uHT:EfV-djX&8B-3qdB: 113.139 - #..ZCFX%'hr4:e18qO_=K#!MIIJ#Qd2<Sei;(TCWA!ik1$L.pK*J7D.'e1J'#c6Fq^r,hk0 113.140 - -;B09?/B)(R,c.r'\eVqilgP:SG`/ksSAXpkL(=UPkl!#!q6;V`TQTcqd40$`O*'([bsq(l 113.141 - _l,4#IhM\tt;,8]OiZgKaoEfCsWjU*Jlp6"YeWj*a]"#;Z2(@p?/E:Yd(^>B;HX:\)^#e`& 113.142 - jFYo18*A^J?dSbMb=S'u0$BVMAP>HbXBeZjW1/c.Nnrk]2'XVWF2tMS^kpJ:2<BLWp^!#iB 113.143 - DQFYYij8#7j(dm6PH?c6cS*`f.T*)^;_3G4V`lm#16\mgo6LiRT0.qY4Nd#i1XeL&+$HsUW 113.144 - )MRG;sun?bs%=52Qj"CP?U&Roc;M&3jRd5e0@?q!<[EK5a4s+;oKG-:8mYL),R.Wo5K.6o$ 113.145 - a\ankQS['+HeJ)^XG\/Eam[N@Qea6Uic5*g?OVd,@;*<faUl7FIq<ES3DA33?rne'r3>c,P 113.146 - .<F[5EI8'f>de:T,(k=C`c+ga6Y'3'?YP9eYE9rU=I$9J[bY>*0*\;mB:'>$5gLH?mD3HUf 113.147 - d1Zl;jGdu"H6HAm;dLT.Za%kr\c[iu/Lquj9G8;u_:K*F*Pl4D@d(D4?[l"OT'bpo$-VX1B 113.148 - ;0=5;PoWa;<0+Cb:3BU:N@ObmlE;\X51F":LZZ+*.-#/"'_-fW#L(O0(r;*lXflq5F?`H`O 113.149 - $j\#8^tFRkd+;G&Hce@6F?Jd-gau/%9JG&bY_/.9WY9'McB7d&!`$S;h$iJ.o_Yo/sVnpeX 113.150 - p"[jGYs#"]a_ll0Q&9'1c-n?`4oN9pDT!q-V\YM\YPc[Lf%\O^U-c.9+Dt[NL@2XXb/3@]= 113.151 - CNF5VF#K([\HA$>=$<\f%<2QN-,A>jW#dD9AE<0T1A5r=j3+e[k;94`8kAZE9$(1&*Ja_"0 113.152 - NAsRgup((g0KTbt>glL?+FrP+sQY?)TBrEn&2P"S3-!Eq*;Jc_AeLbN:'5EOdC@f,S<ks9* 113.153 - beQ$TCc9OSp<d_8e=K^\`=anBG2[<sj_f8*Q?Js>[de8ool#$KO>cQGWOl*7oYE$>d^DJpC 113.154 - R\pLrqm%3EL-ZUpB=ZV[;a];KJsQWW=*^e/?Q%o_2UTspE+K8;$AmFS(.H5-q@]Yof\8Y)2 113.155 - L(AFb#)\@9XO?J%&2C<&B7E<.?i/(0=anG@rhT+*]Bb>1[P.(+,m.?$PV#G4IU'QRtgfST> 113.156 - &kGB*bc%Q8tuG>`XQ,kmjKGG'U*0!32PHH5K$FLcQC$Sp)gj&IH\(V=Tds*cnr#OB7Q$RKd 113.157 - `rHutbbf`J.eMBNnknap(Id47CC6O-<qgXf2J'163[B!?K_ZVh]J9R+pB]0o0dq(KjI^Qs5 113.158 - p%M-Ns+,sP\<.qekRE3f_%,*Z$[;g;('AjH$&")aKg=%>Lgu1,>@BGEK:$hLnF8\tf3eVSd 113.159 - 5?9"'42AKLsbn6b79KZ==%7Wl@<g/J_3eL\>g<HF`]Tp]6Ln.$n7"_]$RKp/JoR'GaKB_)Z 113.160 - PuR8^`Gf\?1JK3K&-3?eB^IR-TPCfftcEAeAHcPbW`tLu*"4gll$)NR<WF%LijVNf`h8)&n 113.161 - W]o,5#k0m"]jNHpU'.59#.fe)N632M`sZ&s;VMWcWG;2#+?-Z4.kQ"b)nm.:Ug5pB8>lnkA 113.162 - ^e_[6L'o=c+Zqf'Vmagd8b@0#PJ2f&^3JrAJO#i[*Q.^FN#K6;$3L4*[Q7Zm=.g:<b4.36V 113.163 - XA:-1ErVMLYEGh'R<]d%Y@j(;SS\++SS;XG'-!?W2f%CP.![C/Y;MX/bqD'f<4Aok80OMsq 113.164 - 48Fna">egq<)N@_4K>PS!ihqH24"6rHu0VJlE0+fu9N5d@Ij*Q0iXC_4an-f)69`T<F<%8q 113.165 - eN)a#c!F(cQr@GA)S3"Tl5/S_?9>GO_BiaeZKoT6a?+Z?_Ng6)D!(<dKIf\n.V7,4R^$UUf 113.166 - '1#o]Y:iC-q?Q']67YPRu1&-*Q/I(<*82(t@9A#:-cX=,HnF[`1<f;e\_HdA=bVoc"2OfY" 113.167 - 4R5u]p)Tm[.d8qmqk'Ah`[`tS:!0fE\R:j9]1)4)[&V-)lYBh.jg<Za$SZo[8I6/$7],O^p 113.168 - 9jN(pJGU=8/iU#h#AQ=(ZtVY.<>_l\XeAl0XEu%seBtH[RBdc9[Td3nHU"d'TsWQO>ahq*H 113.169 - %B#n@BQ#T[FLV;gH1DlP(=8c61ij;gB4Gm1o%R/\d:fOdRSre(HL5+\T;Dh8/\lpkCK,/]= 113.170 - Bqp)``p__n66_8["hd40?(;r0iJk:0$\q.6Dk10-Ig'\@Z=^q2;mhc*nYFP'@kZHZ\qh8\a 113.171 - !F\9d\]]53(h"ec^6KNmt_4%mHT07)@0YNOB;>-kX6s1K+,_L*GJ4:@30)8ij'ICqkU>U-\ 113.172 - )*Obj%NdO`SpsuB(l,-PM_`W1,Q`WLj1jmU_V-1jSHu$S=$+n7l`7EOkS:q$"f>tS_aS_6n 113.173 - qiSQ_(Wk?MQB3HBr-rQGIEX,T_"5meY8O:B#JkbtT,T^VNGi,a"2MCmiYQIOpj\&lhoukCc 113.174 - !2!L>d7BN!O^_C0h<lJh!:9\5uN#uba^E!8ZNfI).K-VP?8\ON#>:?d0>u5XPF-$-bhGg'' 113.175 - 9RYaE\N4e(r94+jV!LLKuUM4Z.R$-[=@a`]ZOY@=#g6q:(=>eCd@B'dq=jA"]j8c<Vr7f1- 113.176 - MkQe;5ZeVDJ@$]il/:YL'<W=IfU$UnHM4i"a0ck1'HfK55OTX`gS[_.mA3K%o?/:eGigT5T 113.177 - W3j6POR9CTNhJ!4WfSPPPd)),8`*AGIe!/)-]"pHs]DK:h/s4VrdGA'-VLA&iEDbV0%H"l! 113.178 - f&tdRQd]3R$e5*]I!uZ2eJXA&m:%+%jF0har__c,NK3t&^A_-oraFqQA>J'bD>n21rc.*bF 113.179 - J+(UkC.jBrdj8^RHM;<ke<&?rfE?bPNL_cl+W_Qrh,BTPH'%tl9;?8ritc;alo>(lb:'urk 113.180 - O:Q\a2N%m(Ua2kUYf%5OBNFmCqEDkS`bgbO-G9m_8)VkND2\n>--6n"?`Mrr<f6"n-3-*<- 113.181 - EOIhD38&fZ<<n=GX.?Q>kl4n<@#&H=?Q.[cP/KGn2Xo,`PT+$?;_-3N-Uo)D%T^GMlR3#Y[ 113.182 - NE(]H(9[25I:5]%Kl(;Rb+%Pss&,,::ocO;.E\hn)9-57#M4[*/W[7BhPOdUTq$M!5hglub 113.183 - j.ptnq8e9bs/_nYPc0)"q^Q=V+$9<rTj(Y,Z@48"aCY5jd%J.^W*d18C17#^=o;AdGaD;,( 113.184 - +%BJlYN#hrsC;"!U('r#mE]4hsd"4/f>+R6fJ[pPYNYBMacY<R+-"6*KN_O&fDCD8L9QljV 113.185 - !t\Y$!?C6X2Da/C"OLRnMoXRFLYM4dA_gEQ3\BJ7t]RW>(e$/t#G3;sG)9Hhs]=X$3R!BB/ 113.186 - Ej=FF6mDqc"(rDKt)m1u0kY1[[$>OE*E&:/m46elSrS(6s&ID9.Y'8_X%JH_N"YW/.R/gH( 113.187 - %8+FA'AOU0qTsQS#SCVU=4L/"geZ/k"_.%lH1V0,XY?A!ZCZSVZX<V/]gMQ[(S^m`FOi-V^ 113.188 - *#Qsk+c_J#+cG2W(stTCF5ng#Ou')"l6A;^fe*_0h<%N?^)k!q00m[]U)\trB>6:dVP8?cI 113.189 - tX:[UO2i2IOreM$GjGp$@k<*DTX*F]'fa<pV3jF)V;=\]!A@nC;WZKWfV<Y%7>*q3oMtgU? 113.190 - rIZE?n0j7-ilZa#ENV>0afPal++',&<5!+YXc.aIo^t-?R;sCj*n6L<PO84n9;M_RYb;*;) 113.191 - fW9R;FKn"c3l5*>ZhiMMXIZR[`5UB`2?l(e\'9^>@pIP`aI^of1^1Jou(F/8+`:?[p-RD`% 113.192 - Bq`dmK"?R>PZ"4#)/CB&(02%>$Cr4"$['GKW7tdou8Q':N1",X#*2$1B<@!;u']b#<bB5C8 113.193 - <Bl>"%p($_<7n=tdraUY<V==P>utf`oRf&ejb$uDFs;,rW"^hAAL+WT.4iohS+BE1c=DfKT 113.194 - sg+1;BV$qZUuCB]RkaGLn,<u];7YYL!)DB,;V'['rrQ&QHC3<gQ)a6DkWDjZY1JjH7'uo(Y 113.195 - TZT5Va(f)'N)IPfUQ3?6Y'R0U66u[#3s]ZJo!K4-*m:nd.Kiq'Jau<u*i2AE<Pq(s(X7Jn" 113.196 - ?$dAepiAdHCSRGCEArdlohKuARN.')q9%2]`uqI^)b+H>7BS9&DAH3,Uf+M+R%F!.Z`>?t] 113.197 - ndmU@U\BHUcle=nX[6lq[!KlbrL?#g%qRUF2mWgBc.pCIiJZPW5C2%c7RbA(G8^Y+2Atc;d 113.198 - rhXUJIisVh<1IU>mh<FNcn!ip_m=D)#=Hll>Ai?Go_h9XW,A74=4LD7e<Zk.3O9a',;e*^g 113.199 - *6+5NqDo+h^F0>pf^I/>oh0CWM$3QKm5;bHsOu`4QJ'Bf)C`:m<`P+943+=#K-(E.?moGr, 113.200 - m'*TkZ8#hoB_C#N=kl4I*>TBU[KlRVGB[S;aR_f'H^GO*E=t!LY=^L>JC8@h*eM[WiGg@$B 113.201 - >l`SLp;GVJI>A$1G5dJjmT%09h(+EC1ATIttD6;l!\-?%k_64u-^SW#7Vn;Y/G8"0r1l)oS 113.202 - N:p7<0*tI9E6Z"MX,"-[;ae7DOM(#eCP*hih@Bgl!c3>/J=8:k8d1g_]FQGToC/?$83Jq?R 113.203 - .)aRL%ooCU:/R`E7eLa5UP*]KM?YAoM!BfV3@9et60*P%;FT9g=^8/p<LnAP:e:.J;1^PY7 113.204 - Ns?)?6!0nnWl;)aOH]CK:e=tG#';ajX9.(UI.o8;3h7Q.S\]],]^,D`F]*jS,qH!kB)V/,R 113.205 - 0E-U[BON4rd!_.0!lbs-8c`@ELpo-=CU-R1hJk)d,Nak*4=NZC4W+5bU)'AD:Ff\lV*fN^T 113.206 - 2=1j7qChO*I#7%o\B7k7as:'iK=B8gGiEuK>C.3UPVgra]E14;sp!+2U_!MGYk\'8VX2!@a 113.207 - ;TnF*o;"4i[B6fB(n<.aQ8H+#ZGmZbeqK<u>HGUq)0;>`M*76UKJ^1=)Gcs;YaHr;#WI4t& 113.208 - O=eaRff;bUeN55P%\?VqJ59iHbm@AaaO%^*&8G%6WIrKo(n)q'l'WYsoSM4sKRX$NC6Uq9f 113.209 - c7ll,=T[ij,3(JYRnA4<9"ub/JQp.`lG>g/!Y0%'`,CBHLOGi*68m1ohGM!!#Fo4]<I!&][ 113.210 - [mN4im:r5,tK]-)*+F.k(U_Q%m6iG)Y:=HS^S&VI,Id&RJ$Sr.jc&2VKZYC.On=[8s`f&=W 113.211 - >B.WFtZQIXW=X)K*HeI!4+[a<4_7S;t5.oGJ-DNX&-OADV7SL^faa84,#m=@!SL(t]2LN\" 113.212 - O2)1rYI[EAn6!17;UFNHEYq^QE&8rTT[5P>a?M`c"AnX$8Q;!_L47FM6e:F&\;;Y^dPA)P# 113.213 - &0Z["B+D/m(.IWt_0@I7@/M$uE,H?+(fL`L>VUs%eeZ/jB+En54c"(^,K';C&RoQJM=FUq` 113.214 - L*D:@_?'+EJ?9h=P"DMHteTq[Q2BqmiQ&@JWFg]5KHtD,%Q(VP&WGi!C0b[")qQa1,_bH), 113.215 - Dbo>d9PLelU%?B.dcn]pNj.A'>gS0kO\<RIaHkc'bI]"i-]Yb_T:+,',\UI+OrGDL'Q[oFV 113.216 - ,NI=776$ikh]+,#2FU1HmjRTE,^3dEJ_,i.`/_]3(pE.eV<Asq+oCJJUB4fEJjUXU3G;/0B 113.217 - 6WV';heXEC:lFgK)Fb[6QqU\kcD/$-Ff"'D$j'QT8J$4#"_q800@-i;uZ8OV_fpaX-CosD; 113.218 - G)jo&>?>QVIAaMr\-N)M:nRkD1)BSlg=mR-F)G:2\MmRPh0Z&CDZ/D(GAd$/)q0(N?1GW&f 113.219 - (S!jkB-m";C2g.2?`#$IrKi1_DgoiiI\9C!AKA'Pi*26JX_Q,DD:o'7E;_>8K):;Oas/0Vd 113.220 - >g!KlVV]auE`Yj]o9Zo);e93Hm4?SBm[G/of-Z2Vd'*dr91WF3XO46g.elT_*\idQ0<Yl(' 113.221 - K*FKV=ap]gjTg_5<_*hUo-a%-:T80IFJX^D-7JdZ&RZWLkUcAl>"Bnp_4)!;.F+t"SAe\m1 113.222 - P&\L5Zd#]/on%SPArSW&.KCAdU_0Bl)iVZc6nX^uGGeY?\I#!pV?<>5DIjsMB\!ciZDpN^4 113.223 - 60EY,TCcHVdX$C5l?tUkocC<gHJ`/s4dWAGI`L/hIr4V%YIjBK8-jd0J/!TCE;(FFh0`Rln 113.224 - buV0q4B%sr4efpIYZDJs&\H5DlNF/f@g%nA++i\Qm)Y-\hYH,4,WLCqL7nuqu<ko%5;)r!X 113.225 - E*[?j$I[+A`Aq\;V"d?J2!g5H?69]9A>[.5dKm+#"Z95[&dnF9Y!VB<RJ/!?;G'&r2$'6U8 113.226 - eNTYX5BYuM:FEkm84RfXZY>+EDC'IH3Q5ti%=bR#QiEl!UbJ=IN)fJWq5*$lIp%m1@RT`M= 113.227 - 4<l&Mo4/.3k'I+j('uE'Z,!6[;n4CKB07Z/6!gG/bkZA2a-,Rd766m5]e1W!#,f9I6+%.HN 113.228 - W3QG'1^o0[_cTOKBQh:@0uJjU_W+6UPWKs$0Z1Od*CMZXTMn5QJr?![`#@csA,7;\FUAu^. 113.229 - +2Fp]#I+icErEeMR4SGKM*=Z4N+m,)h^DME3BAn:^.>*3?ZSb3P>]eO$FTdXCCTcg,-T"=X 113.230 - ./T7<D]P`(\.O>T"e^`QIVf1$&\*<0]K6`FA:)i4_RS;FWKS)"_%P>\=f\?,h,O1i[J&<(2 113.231 - CRNLb?1..gQ[OLRbI]12F4((=fq*-2ecBZE0%7Oi,Ri?^uj[juI`\K#S/KR4C)ElYh@&Nk0 113.232 - Ug+=kg(C>s!Oq`BrCfhOSS#n56a=N&XFF;/GL^k,JaGM[l@Sr)@*2boL8>)Kn!s2$SO;hSY 113.233 - OU:Ku%$M7HM9.PD')AMiB`F*=O"1!/#^Va=@2]\^+Gh'YN3!#8+R?PqU`/3>Ng,F(%$QP7O 113.234 - %MO2%KqR0>c/"#PfX?!Pj1f8C).HX0Sta[P#AWB[!*6a7L[))%t"r.Uo0$M8JS<Zb<33B9W 113.235 - $!L\-q)jaTST`I&b0VahZPaXHL]FaJMTe\;5O>[%([1KY0pQ^lWBAX\?XU[)@sZ\]EjI#Z< 113.236 - %;)"*i$K</c-Qr&#E@2V\J_[_3Sbl@_e6EHO4),/039^&EKSB$FbUqg6TP"aJhr/m2uP/)I 113.237 - ua<]K!bfIl$f-V\fN-)fPLr)n47\@b.\G1n6n<utjE/<KGP)uTe%+ia_!_q>gc0V<%\R2#: 113.238 - 'Md0D:>iQTr.rW,b-)N<8D&XAEm)W$Tui[^X!.0=i2FsA`5e)U6``"<`:=>\`Qntc:\`[?1 113.239 - l+pqiQl&/`p.k$\bd.R!MKZ#:aED=3O#*NrQHfDch.VR<<0iM%T)B(:c*pR7.r2(UJP^5)0 113.240 - GCG8>X]B[a)fGXU/UBd,pC2d0PR+b1Q$@4:n.\,*.$BacPlqnG,Y-X$Q5=63QMi'bA*6)BX 113.241 - qX%WrbIKcR#2a&2'CdJ/Tb[370UrK&<#$4rnm"O/./+-,^$6#@6*AJ7pD`))o0:Jp:PBE/h 113.242 - of$KBg#[J<Dm6+.:`6-c7:.U(5;TB:VieVkP<"UY177%d<iY>>._HeP6eN]ju&_(1g++6Kk 113.243 - /?jr<7FK.N<-5ANU`P^G8]"Ica=T?lZHH0uHrY9<eV-[sTZPT7[SuNGdYd%;AP\YgU'Q)1N 113.244 - k@]78VYMqkDp')#Pgt?nFr^bE74de<ChlZg+NWoVA?I%UdQM.X9M\`:QD8YLg6SY9js'Y@b 113.245 - ,)9UbnbHC_507,hA@GepsHW%;H/cCC^j!.iBP^fgaLhnrt=F9RTshF][+Y=P,K6fKgKW&;% 113.246 - +DbgjY<bT'5J>VB.Ya&mkL8_EYL<H\Wnl6GtW#UOMINI-p/i[fB1=WL5dHk]WRfi5WWN/`f 113.247 - &SW3uu(0Lot,Q3d]Kp.<q:g$VR,Q1$G,ur"YK$[t!e[;7+A7!tdL.gR:ND57%I9fsgR1,(G 113.248 - $.Or57/I7;q?SZj#r.uS.#;(9T3(q+fnA_GaN%K:SD*?V=5[oH$:bCcZIs2T><i0m*#;^?I 113.249 - G.<_=A>_r?%lN0_5B"0S8GqJ?)l%iX2<DG);N\u8]`Te6.IBHbN*BjP0mKD\Qk\\goR0@NQ 113.250 - `:=`ealE-\\EX"i*XY_&u1a>V3m"P4.52M,/Yieff<pLr#-5b)2J)b$E*8h7$=J:_Ap5</b 113.251 - 1?EV7mfkuO%g_DT\#"jpRKSR,.8eNDOkA`p%+P/nV1_DTrc^"BAhnD6T;g3%dG@^=\c(YnZ 113.252 - n_'-)(S%?]>XC"seh.V`&e3m["p+/nWe&A`?nW?Pi4'oVU#mL>t4VhDQ"2C]7>Q')<7=iZW 113.253 - o?4iH:gNEp5`FW<;9$T)hi7t@h*+Z@o?b^-gm-pXfSM$#TnY\8TnWur($`/T"UPq]!bm'i" 113.254 - p_0")TMI@a0m+f(&^uug'Fg@9%rTkmB[.:iQ>0[_Hn4<nePO@g5(?A$!NBrKMCF;!+Mmeij 113.255 - t4!P,[HnQ"'/'7TL\k2E*)q.Df+??B#nhAL>f)=Wb%nM&"LmD9YOV0MFA?i!>.2>rCR&"ln 113.256 - .iM(V!OHqe*g2roje=J1+6?!ZM3_r0*4A48".oc+KmPG_^$A-N,TFp(0u3QGH"g3r<=aI1q 113.257 - >,75VaiYDlh<X[uS>VCc;`LJpL8<$sRed/-S<O.ZrFd8*:_'QNf$`&q]"?kl9N91+uAfY#d 113.258 - /eNp15MDW;A;4@Ol=sgf,Na]@<^ce[#qY-#TKrn89esdcCt+=^N85V27O?mB7Rar!R*r[O_ 113.259 - TkEMIW5Y-1'?Z[&cQkYUUK9_RHIt4Pb?4_Ncp4rH<V/3(:]-Y*dpBKDJ&U%->mch2LgP-mL 113.260 - g/WN2WCAlKO'4DA9f^LilPV65em<#NtCGB_[O##p&7I=_THBkJi`fM,%bkKoqWp')n7`ArP 113.261 - s1Ua5m:022mbVG(GiNG$Y6ai6Du<@QkiM(Td;)Gor6T^:@5RStd`;`ugei@^-kY\B+qSMWF 113.262 - mVPoN<5E9?U#]?^$?;?5<;idf^L$l=fW+]*dN"@&Dlg+f?5,@O-1LW]\C1\4I7`Pf&R;@>3 113.263 - Cc9COX1@Rp#&IlKCpqUpVTA,l8F35#D&NQ@ma>qVcg<k-D&1Z=C$as:H>MHiD'%3oSFUN/g 113.264 - MP'ZjJGRef$<Zchb8LSD@YYF<mtq=NG\s]95`_V?KW1Qj6h@fDH?!o?KU[YlkV4MaAn.9c> 113.265 - RTtmn"#Tmgen'`pMmMo'ZLbjZ`=u`prM8p_3)ZPGO:H'eKTT02,'!$g.DU0(9>,qVIB)dIo 113.266 - HE-N8mIm,DFSn0VP1k4e>*#SX*2O`aE`jpAm:/<<"'Mai"#cOTF;p#^7!n>T(Mg_OkMb4.0 113.267 - lE;66mM,`Ul=)`WpnX10^R1iee<T_dS@Yfp3-G'X]*uR!:NJAJg<ujSF*XJYdMH4Q;^,<pd 113.268 - GiV(+kWm$s^D_.'P3qE"PI<[,*7"kD,D=W2_+u>4L(J*MVfP&'(loi"IkK7uT^rAmEu',n7 113.269 - JR6K20&D_V<1!uNP9-\.F()-,KD?W.?ebV&r_l#%=*,/;=*m,PM[,l$.-N\Q;*Y-2Q#uaFB 113.270 - I.:BN(M[8-f/en.b8JpJ?jQ)0@f;&9gMS-/nG(R+"T)o]9Hb5.HJ.FqicB?X<p%Xflm"J+- 113.271 - 0u&^M:"O'#JD-M<n!a_[L=#jVtsU8o]4g=DF.]a,$!&98QuQ.K+/T30NI20N)\C64koB3`t 113.272 - '?n.dU;HI7L(7/5!@ZWNeG"5\W=J-:FB2[&hB"^3uT5!&0C>g`/p9><S:K@0Lh=YIok)c*I 113.273 - YpArAJ*J%Di>4]-!1D[IpNW;P9XdfRhhPn\.cN.6QUJP#s!.<Hs+t`8SXc5C4pR6`QM;UbF 113.274 - NE&.@$gZfS,!>GplQTfp)hrjSp8SQeL$NChiil"S/?aH8hZ>hGuFK'IecO#q,fHdDjLaY[0 113.275 - ep*GW1;%khBI=oO#&`PJ"V=^m!Bk-J-n)<n3LN"bubrJoX)=LaKL02P#X'-u0rnO/%_Tp.' 113.276 - I"[0U-JH\K2g<Mk^,BBPA+k,(4LaJRYjX,'iuH'(/`T[nHB15TYZ%TR>sn$`-OS_7YdH>oO 113.277 - (WJ(/`]U>\3`j`X.rD?V1cA'Sn>J:)b7="f4`Z<ZNAS4.4kK3K1V:q8+(+682pYu^$Kb3p% 113.278 - Hdung/YJ.7_?aGA:/4Z7!/DZ(T(V3hLmch8*HG]aHMsLmIX!4=LkU;MMZ2/UIn5><B;g)G9 113.279 - AI#!HCt"sT?@[NjcQF(#hSWs2n+SC!X/[>6!s,+.maIC7RLSQpk1gLN.o'7nT^"(rtU7)@o 113.280 - 4$NL,f?Pa^aiH],isGPJj0!12OqY1R?)-PBc/7,9qb7VQb41"urNT:Z:o\"WEY!VFTkbg4` 113.281 - "hn>]/RZ,mB.V-C*(CXr98ArtHH==i$M7AeUN[TdV"qh<&OF1PXpf6bL!om=D[Dp\g`"o3e 113.282 - !@;p/*hBr[,`4k-=r!WB$PIJcl2/5Q`Lo778/2AWTqOo3Ob2L]lS9%7ddV4i-qL(;47aCA\ 113.283 - 2D#=UV6,Wu.FZFo=u^3TCcE;(Y1o(.j`:1KE;)g]L[&sWess0XH((I?F7'pklD)"Gn"9HDY 113.284 - -)R$L2#b^hDC7Z[H#99&`4@a9<O6O-E[t2iXH6!r9(ku\fT,+DCcA(X`(d1Z5QP].13r=]J 113.285 - 0i4:u"&@_pJ<H[B_>F(;mDY>8kPSXGfLU5tXHnTU2Z`?A5K*S.=Gj:.smS8#fMr)PD)_IY^ 113.286 - KII#@pF0!pZ)ag#Y?k_%0MX!g?@'OUo1;5/l,8<MUb--6f%:FF64'[&4($;/+rbgKJ4*_nC 113.287 - WhT<V?Wj=3D'=ntd:K.2m5gWIN#t!"g4V6pICa0A)Z)h^O'h+?[Y8KDn)`F>(;U%3sbK)g3 113.288 - 0[=`n5,M:5/N6I*<92M*a:h!.=?.*(.9]W-m%l0Cot2eJ-7VG>Raj9$M(hp%Q&f!?FXf1Uf 113.289 - X?)0;Bi-rc!)hZZM."bAC\4s6BgC65?l_[a`?1g4jeB-=&g#b7'q(Y8(('?f#gHS6U[L!(Y 113.290 - f.gelJ#P3E_VqPucga4niUHZ.9F-@'u":=l8d^-[Mr'asu[XGdErfVjG[@K\2Yt7>B`$Skj 113.291 - mdfWG*`A6;eKOQ?h/X-PEI_XD@U8E-`>@uK`iJQu@WM5'4f5*;Z*=&%FnYmaP='XAOPQFit 113.292 - Hjr'Shmm7f_-*Lb\o3g;'$'SM=-=rGp[^;*c0&(F@\8&%(0SSOkRea"nYBBpiXubQ5P<Ej@ 113.293 - p=JCfp/d(=[Z7]%/j!Yq\Lr8mhln8<:@PjY+9mVFoA'@3d.CTc8;uf?DOu9q$r,m+FK9KkD 113.294 - '3!Pg4\buDKPB:&!"o>n]k[af`3%ejiCmnV]VC;>ZY:D3`sV,k4po:L#O\4[gJc%/^JXYnX 113.295 - NC%`pj>\WiC<X<a5(\59(X'/\Vj85'fk72pVDP^[_7%?f1XmFQ;Tu(q-1))OmmZV0)jQZgd 113.296 - ]^KCL@$'Ss$R(Aq9Ul>^OCn2>k?!f/#qH>m$W4nj@$';ObHDn5*k;?kt83G<soESVEZ*(<m 113.297 - 7&;!:[$8u!CpRoG>LL^;n'A,EO?8Nd8Yl*ZNK$b-#=dFc<Fo%D+T+p:\<Jo10k.gZn!1K'$ 113.298 - C6;nm\"XX<M*'?PXmij<2-,7%F?4X6ng$O=H:26tm;U?G'1@*%^7Jb_M,E7r`Fr49Tk%O[O 113.299 - bfA<(s5-M]J:iCN8d=YJKS'J7XZui3jomQ&L5IVP(iHkQ00\``K[3\`AT-<3DV-dA?D-F]b 113.300 - &/Zi9HsQNe">"cG'uiSk+^/L@EUs'%k]!iMgaX"RuL=ZD=d:[$?XrraCm;MX2VRZC2m:Y9` 113.301 - ?&7S$*O.a3Gsbh/m;^]]@Ao&Q:`Z9h#lnNnUe9T;bli*.Ng,FKh]C-8J`1Zt"=/Wgf]OSQ( 113.302 - <=JVRYKGJJ>)8K.A'-rkH[T(WM,t-sn'r&[]=ZVmN/Y_kAIhIuK1@bZ;O81SV6r&=G!jYF, 113.303 - befM'/aF0tpE&'P1a2$n?as9;6g7_iV6Rn,6c+=+^]X+i7:qVtk9TPl+`!;pP&a<1qa`.J! 113.304 - i1LXS/$?li/b,dV1dWrc$EkZBFK9Y8KOt%l?5JXkf9Ukb'_7`M,B,+Ca:kaS'A5L;^>47M2 113.305 - h^Td;s2=#oiTB<Z]1]Rh\>ib4/e9h>JndT_rRC24Xd=Wdk:q8_t*!B2\;h_FfAmWY%k/p1D 113.306 - S'<bTHa\O`jg?G-pXp_.<=Z%$mbkeMNjZg=IL.CPhJg6+=+<[FB/G,cW`&i?#Z"X:HQ?F\9 113.307 - 2>#-_qG\u$UV9,2_EhD/"Z$1Zd?5pi_/8F]Q2F7<TOs`Ul,<DN0E.kQuM,?jT'1PkjN1*D: 113.308 - Zg1kB[$HFY7dL%Lmu#o7DoVYg)t@/[>KW`P^mj-Mo]2n:$,,GHVn+s/`o<i[+h+[4?Kd,FY 113.309 - UGsUpXFrTHKmu'eLtM.p6ji$(fYK--P)Ri?Jr<EJ7-XW,PXHm_)rpNCX!'DPTpQF1-^0Qb[ 113.310 - A'7O!nQZV3K[sjd(WV!`@aOLQ(M6]")`55^YMX;%?l)UfT539[rZSIV[3]^Goj>SX$/.Xj0 113.311 - IM%-N$1U%9=P6[@iZBG@S<F;BSWg)i]nqD/,JY'/2=Y_h%21k6ekIF7msFD'D`>I9C(.,%Q 113.312 - egJ'W*e[Y5#_Ilh_SPhOlAu*u2^K=?=(S`2>PL_$LWXpAUN2_gPX$eROCOLl.o[^o1HK5'A 113.313 - Z@f?$7_^'m#@hTkV6orne^`@%7c'-+8*V;qY8_D!+^L#98T*?f)h2mGS^k=GB'kk1@k:L%D 113.314 - 7bWj(VP(u*#!BPNjkna0&\I6"$Qn(`;^"u`4$6_bTIudhCIO^5DX;#-,eC.nCFjoMK,4E?H 113.315 - 8H(+%AVWnfC6@q'RKLaCd"P!sbU34VS>f]T*+)A]n)`<X>GL+Th1:c?\;.$)$WeMLe'$H)6 113.316 - 8ur>^B=:6[""B1;(@5H&]=ou45^oBK5GQ\LY_%m&lT:ji1Co?P>#\_s:t@pcE:/]ZRlB5R% 113.317 - l^5NmT)#ttSFk^3=.J9:Af6b@XllD.Yp^p1I7`TqAo8lIeT+0fXB8uH8/%I:q:l4nk>4M(N 113.318 - B).Qhk5=/OoA3a^">F:8Hj>09,$\o0#c91:B:K[m]P@<c<UB[^[Gt'_b!jUV`]^fEdJfK<H 113.319 - kBI,"AB6uh]Lp,T9\uok>^;EoB(H@fC1m54:m)%AGn0hpAX72qo,&fEmMMqlqmO#,PUJJ!7 113.320 - Ve'pZ2;1^\E:#IJA0(o)@(AGRj96qL/uJ#6A6/&+9Kp#69hmif6nk/'d_4%0;9V*5TW9O8/ 113.321 - RSF<%!m*fq<C&2ODb2V'PnZ1&P3O@"&?\/QULqLG">:;ZclBGI5S"AiG0&7Yo<UAg6?#&nH 113.322 - niMIL/f(sph%AA[K!<`nKOTuGU#geV=#bM=(XU-\M>_.VGU!!4_A/.D?n,Sg\6!tc8mN7O] 113.323 - $dcWs&Ah^iB(o)mUX6sh"U#SA;$tX&$:'1YDt4tMN!<]qn,[bLU9tFapCEA_&'e#B-CiJCi 113.324 - quXQ&B$I?JL2:r!"?ZE(Q&>)n:::!i!_o&&FhCe&Mk(eh$J$&'6-2kJJ&KeQLFnF%:P&9iI 113.325 - VkSaSLId)?JM*&RuSRB,33`%.S$J!q$PKbSX+U&V1!$U)nGCqW?(Bpd"N^_2B*aQPkpT#r" 113.326 - L$nS];^ln`Q>(=B9(nZra6\d>'Ln.*\0![8@F65r]##[h$TJYj=T@2`V=77"$s!D+=tiuWc 113.327 - T*mr^a&b>(G4TSBI+%"rhOockh&eWL/r5&48O%/U>KGT3\,9cCpU%SfNH599V%3VqmU&7?! 113.328 - r[ji8,JXa6!]\%p3@'b[hm%#D_W1^f<[3/S-.'RL_6jElK]dp')o:S\iDpY4b9i6k(?&X?n 113.329 - kq&IALN-i$Smbk;NiP(_'K_[/L(`-&u$V%="9<M(ZBBSDZL?!>]kWnFb%+2dCf6P-5Jo"*C 113.330 - 9-C_Rp<Jec7JZ"gZtsEoS`,k:Vat&1:<dEMG.^6nfi:*jYeS:JMhS!"8k#(F#._!JVT_W>* 113.331 - `W04LRo'-\G1-Sb3C1<g=<NpR&"0-<IW%O$f#!<s&&Z72IY&!9F2Tih_R]/,XT2:GmZ17L0 113.332 - 6n-X]#(68G1iD(>DTH6DY+#/[(5\LnKYSs4k2KOp>'9^LZAN<V%!jEn,+gX/&[Mbd#*AS9" 113.333 - O+[l@NY^"'3O?I_'>g%+R64>)(L^ts0)u;$DAD1:)FBl,Nm@KOjp[r9(j!kb'D"FYmiRQjr 113.334 - j2>0i?Ai,T'ua>$pfLC"!eCBfGK[J&>8S3;*@/Y-UO%I?'=XDMDXn/rBelX$\4T[mf;iq$7 113.335 - u;B*b"[L@&Ol[W"S&-)DjNF'OsU$&Nl:j$.<W2:T,4@YT;`U*C8$n^odsjN<3Nj'1!`ZFDX 113.336 - TKQUuib7^SWjTir/([dX9s#_?\V6I-u%i!KI4,-t2[+fS'Ja%V`?0+W#:&BbWlbm%$h(U&N 113.337 - /nU`BE[Mn,]$1tn,JMIhRV+WYu:XoD@!aA7h!s8SX*F\Cu%fdH?IN65p3^MO-^j-)_M\JID 113.338 - 4k%,"FU:uH2D$ck;ih8"@7;Q)"&@fd+QE)66*)*bV?fJ"qN6jVYdY"H=s!?O%+T5#olEKc5 113.339 - ?F+r,?6lb@j2k7LC_cN(QSP._$*S#rZ$L-*al>]<'rMcd3B?S*n)/L[B]uO[Ng=m>Le.,'u 113.340 - G(B0LX+/5LVPO+e;n*"pC4F5XF".&=ZFGhYN=U*FkT[Pn"4QX$q).9#50ZiMIX$l!=DA"1A 113.341 - [aOob`:h-lSf@F]]C%sL2.NakC8!B)T3ZI&t79f3F_$Xf89o_L5H+<P"e&hg0i!,ND/E#'V 113.342 - 5/qbJNp0n3VAfPu0@J4V@Q%:gnKkGus$!)N^[IPBsNAs]6'O`j=,Ujs(rCGnF!^RS5!LOrP 113.343 - nQ'[p)-3m]<jQES[o<!C2<-_4f"s[<7r49U'>Z+0DhJET<BJ,W(P-BB5aDWu@/?.I*'q=e( 113.344 - :e?apDMF96Ztn:O(o`0kT=3,#PD?s5oUXD>=S\1$6aNfPL^K-?kjiqE#/Ut(GcHmr=G1mF& 113.345 - -Td5qt'3KcK&R*!*Vl,kY]4*Z7d#0t)dWpLAACRqpVfnBg8)'di+*I2PH^(Em</(NTA8a^p 113.346 - cDG1Ve#&3"dAP3p(:&V6\scUS+j4AddR*e<#RiI:nomL:rd*22\DQc"2Hh-r(_HuBc?@DEp 113.347 - lNWu`Spd#8a"j/S4_(0H'$NXZU@C8;j/26#tJ'CY.GL(e:ANuma9m?m01u.R#M?Z@N=h"N= 113.348 - 6+[8mc3kAJ2(j/*!H8oBL`I-M&\("IFtNe=4+rlCJJ_1(Fia!Zs'g4Lk)f*r1K-`L?>,PX' 113.349 - ]D.n(=j5i-$P^u.3Z*T(doU!DhscTL"MFlf9_=(1*/a>+#)Sl%g!*rNY]&oBm/nc=;?GUF_ 113.350 - H>2'4E('Gc`(XZ5`L^#XSbJTE5t?f84b,Kd$APBX]d"NK)4=&"ql<'2fZuHlT%Q$3A9W5`u 113.351 - o0,RUkpL)2KYQGOBPl&hA!Ok4<$:F/_:4d#.X(1C5_YG_u)hAF;/*u:h>+g6Yt,lM/!)1de 113.352 - g3@g@t<nMY^,F+!&GQA!,Fd@W/7i*IDZYUZ@g`Hdp*?i]LZU>Zb,j0^7$mC->6(;3V=db\H 113.353 - d+M\H!uki[?!uSOo8k^H)6sCU[NtK=+$daO=!;[Jd5ng9MP6[\@F\K5M!%%g%,ljXTqc"@S 113.354 - Xu87baG.F[ONYc?51`l0q`<T&lo"m)Bn,a6$+&'2"[&)%6_O>'nO&UFGYd7IpR2$&t1E[=u 113.355 - $rK2kJ_amFVesnq7A(7O*FbUt%7$@/m&i3GRN;+o#[GJE.-&m,R@Q+S;HKF)*]/[M>-$&-1 113.356 - o2iP$7t;_DT\?(a_5JCgc(4fOI:T+UZ95tD'gVAOW[!1I*U5R8Tc&Z^Il'fe'-+M%l1EL1r 113.357 - sYk;NA!BqG]%>lg;oKc\l_2F^AQR+:E.03AN)Omp*MlH7G*npVoP5ZMq:U#G4"/%UV;A2U( 113.358 - _+SU<A<r5oocnZaGR]27(Xa-?QBr[:bHl`fZbR`k)NUP[pU#rRYIdELJD%>!<!D2J%rQZNT 113.359 - p?PJ3m<UF+'-Z*QK<"QGitO7AX^AKG,lO)Z5u[m[2Y.c'[Y"tkE-^Fb$fA&(t)DL'EI&M*8 113.360 - sm4;B4"Kj,)AS)VCaSJQ[jL]ktBP]\C_:gJ>Kj%b6-a"+/m3@&s]G#15MbP2X$^gV\%t,S8 113.361 - q,7h_%?Tt.sCf>*@6]j(o=TWc1$?]@+@drq(a!87h4[C;0=FLl!"+b1@pa"+JJO[')g%KHf 113.362 - TXqnrU_&Q5TR3MA\ou.?7T8U-#5R5;,>SCsaY'T-1qnnMhBG9>S)PPY#orfuUK?/X("C.#+ 113.363 - gfqln(Shota_ED>TuI-rVoAd.WBf(FNFRk\j-4p@'pGnd@>l'iMB*Wn+5tJh!"mIB3A)Hka 113.364 - o(##2p8!Zi1]0T#b:A+V)V(54jTN\XNb*2U%/qL8/ksN$/os<4+"&;;WrJ;+#3@B@F,R6-` 113.365 - HpscCHT=>ZFK\=jm^+&j8J*,s2367L8rb'Ko6PN?2DWS/EL"&-1i0pZp#SfG24(%Y9`s+jT 113.366 - -aqmjC%f>sl*n=26mr"33d"(@oB!N#ji$3;/6!$#MLG_cR^p"GHh(YnrFP0>!="ZRL7kEZ# 113.367 - Z_%mqN)qY&3`O@kVOZjE6ef],M(S0FaQVJRZ.KVk1ZQN!"!7ft0'HR/KjO;qGi9UmRLNL3B 113.368 - k>eGs\o8\KgX#ID%%\Q\Rg%U(-URUdmWdiIOZso'YLHqo,FPTB0CB[.IN5"Q"/)_tTJ,D)N 113.369 - XIg;'<=Ce!QZ6(jqG!74*_(cfXVL)_rP7LIr^dc><i6.WYg16kf(Tp0TIp(RH^*d/\U$Rn* 113.370 - K7(Z3Hsq&G"NT69+3p&-uZs#hV@1_4hi2;Xq2^S@;Y1?47R69>?%M*C8B1Z"$hmbThWUm`d 113.371 - 'ArpilLP8WB_h-hiFIffW.4qb]3#N/c"TG@P.3!%qQ"Md8(i2@+#aqKs<@o)2sQ\uK-J`+7 113.372 - _'q-B&+efmkU`I20&,N%LJ7KdCedVQNou.Ti>b1QN4qeY(kC@j^@6Oq3=;4R/()UH`iQll0 113.373 - 6k^`G6hR9HYU,ASD4smb374$<+hd_ZBDR;eagKOmVX[&n:?WbV#j(7g+da9mOr:Z#m7qs%o 113.374 - YX1@Hi$%^;kEg``Hc=Z`Ug87lkNItOO/-@F(:[cr8I]0<YpV9K_e]KhJG@snCVhH+VBQ!if 113.375 - R?M?83=W7cTW`oR9(LO\"Pr=YsEt.;m;ho%A-!@540Dk*&rThJkQH:?Rhoo_sD-Thss;=u; 113.376 - 6;8UaRp<8(RHpJIg%W\:jK?BY;_f'AUTomX_cYup@T(@uD&8K4_O:b-:bN&4TlR4bNlhXPm 113.377 - )7itNnlPY686Cq=J_:$3XM76sER&+5-QFBL2g+=(MY-E>uB(MGC_1+]Od1WgE]f(47WRYbV 113.378 - Rb`/%@BnL%ld_GP:N'1/eS=R,cI7?\iGeR^=S(),q_/^#38tdk=MJ*#pt]8bV=OD10\<I,) 113.379 - ;UHJ*+CXimkb<E5?X^VXM3_[nFqBSrh!CFYODks!'d+)/,oE20GF`n5d3'U"@4O7Co/Z.CN 113.380 - SD`$;;0A6EmgLiK46$QLgApfck.J&JR]u4t#<>>o[ATk[TGmZIn`f/8H+>($!s%@[=uQ^3? 113.381 - -G`(;(<jc"or8?_>I!?3dnK-j0qFIssR16d=o+-".'WiC#rI0n&:oY3(R#"aPj_kVIn?o'S 113.382 - If+LKtHe;oC-(I%X+@6oS<fOulIT.!Cai89@F(GR*SFeN26pK]`#t@e!FWX.P1j#cKWX=r5 113.383 - W4/o-,u.CGo(75LB@*e+(9DJH*gT<!dX+pcF98N^#$KHtROj#.3lZ<k*%m)%_'DC9o,5j?^ 113.384 - 3+jbA6CfjQY'C/F&tt"e?Sa";_XBBBA5>p[Yg6$;5"Jd"c:'5>cjG/GSGhaXu)%_l^qJ&;! 113.385 - QP3O!@e`=-Vk+aDk$X2?/273#2aN@'E(oI4=H]Wi+<DmL<bGG`_ZW*dG+:6(B:lj<Fk?Eu[ 113.386 - ;Kpr5eL<G/RG<1BYmdUB:<rT0DJ<UG9DR1gi>Tq7\#;K!EJnR\@1=r'[AT%YpJUhH2tQ_nK 113.387 - .?4hlhlD:U8>8hW.XG;,Nq@)\d?GEP_UU\f^Z,/J8<ue+Ml*0QU,ER<j-/$@/&126c;e@o. 113.388 - OVa%q6&&C(B%Aea+tB]'F.-?49O3mQE?E744HRP)$,!K^bQJp4(!]%VoCs5G0>Z8L5icQQ# 113.389 - 'D02<d45M043@T4d;M99,a&(:%iW7;r2TnnH%Ql:eN?^_kb['>R0[gAO9\_^5JL;;_%(] 113.390 - l*r<l:X+>#GK2aKuEYJl"'*#@N'!'`m6#49bgoO+$eP5F:O3"CJWAGPQ-j/9uj)o=bHk"oU 113.391 - \G#m"EgST_&.C6`A6!Rc54JdlB6T?ned8$!MXa4*)'+bF3UQpMR*_@4::JuDn3F)J,9;O6f 113.392 - e$%u+^!8qSf6TAch5QD%E"$.Gh6\Hq_n,\=Tpfg-GGnFLB7u7A2KI)h(eDOh:M(&R276%7\ 113.393 - :'l"_89@mi;7@:7nN:(YTMQ)Zg_`K$)ZkR+)b.?i*92-J2IeL&"5)gO!`X-"&`u5A8.uX\E 113.394 - t2s4mQitD<nU/S<X>GM@`UPH9ZOC1+(?3UM9m">J:qa&%X84MZ.gX:Bs<3LekaFK8L[^lI< 113.395 - P!Tgra>5aO`cJ0uC_*NQGBV8LW_f!>8[0R+Mas-qG(>KP`WEfe''Xa-dSf"3Q=rVBUDgR8Z 113.396 - OdTqjYX'9MuN;bCm=@^74joJcjAnbIe+6lsQk@g[hSK928D2Wo2NSeK(Ebf1Jtj95%G$93; 113.397 - A&b:oTFR,PU"GW=AU'dhUici35(((ds>Jg_D(IEdJNFBU]7u[SF'P<>%Z`?5+>gHjNEfhP8 113.398 - :cD'hHkk\WGGG")4;opI%<TT4!#[Ho5bK&+JXBk#em?"'o]MbhN(jb(!5GLI>S*/I>RkM0; 113.399 - egFER?0%JeG?+pQY=&e_A#*@R]AUUX^?Rn=rROsa?t`MnfL3f>)j:tMc"m37R<Oq$c`<,Om 113.400 - O^#UtNcq6i$rOn?&o0k.t.[#?5;X;m;Q5i%B[D1Boi'YuA;W=ZGdWi/nh<j6U*1@Dj7?LrQ 113.401 - 8+_-K3D>.oY6dN!=:@p'F,khrN1F5T[D5DrZ]D7"[>83G\$#usN5]tZ@\eAh`cOtDIZ^:4h 113.402 - IXGKT;IXk)*"Lgd\2[\%o;7OS]o_-Z8cupsK9>n<k,_*q`g(\H]^(o7snQri[dpPjDO75($ 113.403 - h_MpR#O#%k$-^BqnLQP9UtZfT";bH%q`#pR+b\$pE!J)>0N5U:DalF4$])_ZCVB<RpgcBn] 113.404 - DmY*o)Q#H`[G9n85KL5^)X%24:ZAQ0l\bdRfh[[LFQmlnZank,Fj(n&[6<$D@orD\3Pg8O> 113.405 - B?kl+$9h(Z`5sP>_B'G8H#^&K'Rb"qF_Mq+QX40pH1P@):#bBO,4)6((=.fG]CQ?jur&I]< 113.406 - 0!$\:!9j2'S6X2\So)<X.'H9B(27XH;P6U;g@8"i>bLX6/%9SD>K/51#j'r-+Dbabt7'Ze* 113.407 - ,6]o+l4<J7>aGLMG1$:cl-`M5HV_7f<L>OQU3jius!7(@(lTGms0i4tmK<0FbN1#S/TUc^* 113.408 - :b%,aBkWENB,DOpEYQ0OY;URMg'#SI>MYd9Ek&ro5Y1n'2L2#bTSZnX0K"R#IC+%Gbf&P,O 113.409 - GlmqO933f(<Q2b_Ca$GGII5iqbE5i>k<n_n>^Lpk>PVOCh'a4ps2kM9!.[oUTt'Y(+=QENn 113.410 - ni(kTg]Vg`qeuZB9$&ZI6H)7t,I%82j#Zn3`suDGbjSSrQ)5?R'Uug+#oDKG`"%Q:,`aYW: 113.411 - #p7mFm8T9f+5LdZ0/:#oRr-&Nj$22l]u(B#a]Tf%V&m1;Z]!YVWF8uX4S+>%feb[>TXV:g) 113.412 - _qTo,/q?G<Z0?eTTm9;YLL`l%>3lV`Uij/mOb)91d(Or;poIBW!/)5M1M<u4f_q^CB4bqiU 113.413 - 0uq&Jm0SRn`$!@4/B6+47JTfZha%MHL/@\18ZB?t,P8G"AIMG_F,ke@*WtTTmU=m4#Jc`>j 113.414 - %(JKPKDZu-^GY(k?ZK=$gdjN9\!(r`I*"G`2WgLq4&ZjO+Au0L6D1153uAY!A66GcdDY4L> 113.415 - 3=*G1:,A,5Ap1UP?RrgPfO(&Hb8jENa+@'s.CH+]KVC8kZKTS,^8)V*-p4^^>WTCWDh6aH# 113.416 - Tg\Cbs0:j[kG6ABO/(!:V%fi\]i#!gZIQHTB8PR])Le\,Y90RMG8PRoh-_CY1d(!1\]ct'q 113.417 - 5iP@o"_4a=B=fEm7jh[sB0ApT(F!!^&U'?ut#@$m*oBa0NGneIF_IP!U,S)mT-RMa?%!$)L 113.418 - PEq<!c%cu22CY#G+=`)tC^-h^.Vd[(]JH9E-otI-"V=nUF4%F@.09l9$[OD!lngaIb_41*) 113.419 - 0$.g+A2iFBUQ_g"EZt\e3eu/7)Qr3VH])qW]rO;%uokh!1<brp]L`T9XQYrLT(c<W+^rs7Q 113.420 - W'93jG';\7c(W%&\>=`F7X(gfK6c=N(tWS^ZYTj0Z"_A4=oA"oM]70OY.CEX[$$`#MrB1?u 113.421 - 2[%^:=DL60-)lUhLT/k1u\!$l<j$tDcCd^/:2Yjbf8o:CKjrd\g)MORNIi(4-BkJk]a^6h7 113.422 - idk8N00Gd&dMKgYlZtb+8YD''#a5O8?;^S#2Be06b[GX)u3+35::^1HZ]d[BA\0IKcT.\2c 113.423 - Kck6JqGIZI)aBRA8E$F9r/RR^&&Y&k8>J>h"3%1jI)1)5KBP9!1:)bcPKB&WM!Lh<j*f%D4 113.424 - =O*S&F1PlKUf_$/JUNR&Ek\I:g:gO1.h\Gb$:E%bLB-n,Xk$NOd"`rMpb#S,7s/,Kof:=m& 113.425 - S;4L.M6HU#M6#3$/<gZ9:cQQ)[puPR*"bs%?>%_S!.sU'$()6ABa*")opu"M;B%pP^obZL\ 113.426 - 9UPM"(^`5+iY[\Ukb3&lO/%ZFoU9QSmR7&(L5)&\f_#9+IQXO"Wa>=HKW*Lo,](fgfZ;^J6 113.427 - f4Y3.qTO8>p.R2R%_]76%ZdMLRgRE2m&F#Yh4P`.MqaYaQ.J1HunnBBU:<lhs:12\ubiY@- 113.428 - D2,iMOR'&EK?94El@tE2WBjsi0PsSc(XEZl`5kZu]^q*;V^sqN:I1]oP[Qj$4>4)8]gu0pX 113.429 - LBqj\I8P:,p94p-kW$B9<tYq:a!!g;tNVo!gk2>N,s2s[08`J=bTsqcbR#XE+=V:hk_H#:u 113.430 - DB$nG\rn*![2jd"N*i2!;!>?;XS<2oFP^EXf>Y'0Va(#5`S/d<Z"YAt:,D*WSG-AKS1:),_ 113.431 - $>d6bdVMJs*i'2hY5dUQrZ.:!'Y5KI+R]pMt[N=(ITLe"!c;W?T^.`)Ba0V=G<;^5s1nAd` 113.432 - Ps&/19cs[e2^i]lJ<mt>7X;oV`@`8K#4O=J.MQ:D_(roI;YLB9"^2Y"m:b@Cn@alDeW?!Xn 113.433 - <=t!#JZ`BQ2M#>!lI1M?7Qi1,KFg2!5n9*49iVgce9+WOJY!b/cNpo'#GDX67&:0fG?'o,3 113.434 - ?]%p*$^T/lID_:VgVIni?6X$qZ.@[MKk!_TP+R=%b$+l#^f$p_Xdhd+jbXE\D0g\I'a<'L: 113.435 - PQD<oR<!]CX0m!`nP.4U<-jl-052=bHKXf3j!XFSEIf<JHlTL90rt'mlpME"22S\D9hV^fD 113.436 - qtq:F_ZU_R6=+U`tJKV=j&J:IlTU)3mW"+Vd+J04lC65c/`4kMiZ9?b)3OA7\CNS+pt=>c5 113.437 - &9(FikKHHqVL?4`S1P?Ml1;a.!)aJEK$dU.gEER\;=Y62+5UT_=PolQ;g%14PW-Gt*`WORG 113.438 - "sROaWhb:j.pA44cTO?^KrP^r<*IhG+-9=QorL.298$tlOQ^/-r;Iu_QA4<8gL8tCA[gCsh 113.439 - +V@L>DWq<$upf7Xq0MdJ9=iGX+VFFfg=q/0Uj>`qXPXt"s*>T=*,,1r5Vt-a,gQZgnh[a!C 113.440 - ^7WNWmL,#6>=\H;]G;d#[B+>p*T^29a;CaPB,I_f/i8Z]&0oZ\m*c!jGu>F[NVf<a>u.a"> 113.441 - rfXTQT)h[i&QWsWhI:#k(DNWnFf&F&1\:$9=Y7l^[I9Pru)9co!sE<K;/hQqSfABYI$7>(g 113.442 - nhX0m3S`pt_gHRjZWpN=X-23"^pt&B=8c)Gr_G!J:abN=V2oLl<F%-=lB4'd%R`4n`2/po7 113.443 - US=IX;.EQ4c!_d'TE99<2o<2BTZ0sN$=M7J>Fa*@GXLEjhZ0ek\#kU_YZP='%Ca3Ea?[aCN 113.444 - UgLY(m:/b=ji<7/fU?`49Ah0K&.QXW+t;n)5$C+h<l.=MP16a`tc<5@UUY?<[NfN'*0Ks+- 113.445 - 8JbLcOIIF%Pm3^7Hn8nI&fT09&d`K+L0fQ69+,0f;4<#;f2<PY['P2.MaMh?E3)R,M"q,S0 113.446 - )X!O*O']3Z&;eRSSEO>]/SVEtb%Ef]TMK[rP%E2*m-oS%EOjEpCV%SDZ(KS7Im!)Rq$p.T# 113.447 - tS^?;"!KL'=kY>\Y:qgO7j\W4c+>RM_<ooF2NU6\9n.=^$,3><3AS,5+%9Z\c?Y0k52uU_+ 113.448 - k\Fd"@CqO<?qt8?iW+Pk@9+#Sc>@3+Q>>&nY\(=ZeeW(uYhjt,E.jg&dLKo%?3=P8"@A,i$ 113.449 - J5l%ESgo-Gg:,UT9OlL#'qAOHY6r=M>giEi1+G!%qgWB:1ekqL4)[SK,sZ=BDQie5X$4]q? 113.450 - `/X*VP8ETP/#Tb@o6LkeLjS+o)H4IqWMakRN/s[X"BDHCS#_ktZWj?BM.:T*@=5)?dF(L74 113.451 - \,R0][L*VPJ+q=s1`oHX'PBn3C$.F71;PNXWbkWY?s:8V]2VeR]*l06@tNh.6cMsA.)C%/< 113.452 - >mY__gO9t'3-AuZ0@$QK78iO2RSG&cC5\Xq/Bk_1hBm.%%RWr@Ohe;5;B^+Db@#O7:NL[Gj 113.453 - MVbIrkr%c<Sa.J2!Y35@n1a3]Hu!-hlZT,jVP`[fVsM-rm*<5?fd-jJ^Ji4;CWXoi!7ksX0 113.454 - C;<#lrmqMrn!_161'u[B7?Xi,iE?5cfeo9mE*[khTmP*_[k[MDBP$Y+F%Y"-B3K)P+LeB^1 113.455 - M"]J;Sch*Ultp[b>C1gM0dEC51PZQJQNIherGO-J"\,r?_^3ODdUW)@#<g#-dQF`FhJNW;] 113.456 - /aTu:BL@^U;X2m18`k0!,Sc0k;Nmfrl3(BSM!BkX3dK1?-ofMLmgkkTs0RFB(U%sd:?p 113.457 - H>dhP+[c[qZ&.#G!jC[?N#7+jPSI$)E$)Z;C8<NB1!,r(sD<Uudr1*;Urc,[hVN-G&n8Rpu 113.458 - NH,#<kc$rU^C'K@q!mnNBrHjWkl,Tdpk]4k#]@GJ[@q9bM/l2_C('Saeo]5DX7>,>nW+R4^ 113.459 - Dqb/*Qap1F&Ir:7=F9hR2tp8Ls)IUae*U2)K;tVSN'(^[k.l8-\)FaSa_d4TRZS%6#,VCoJ 113.460 - i6!2@jjGSF\AfnYYgG[din.96&QW-\1()Q"U.N:tCq@mRW=W2_"<ZN1ljLD)d>k:lKL7<HU 113.461 - inF?[F"k)F)@j+r`Umme%05`KoBQh5\foT"H=Y.!u#1\B9Uo]J+*?T+e6Wl92lSa\(O[UJP 113.462 - PcYO_\Fg98.plG+SLEDhAFjQ<G%hJ?*4n@Nip@s\lkl0lQ=Ed<*EHblJmn)s)9(4c4n4-1H 113.463 - hbEk1Hu`B9-O*sihU$9k4p\';O7--BVg4)tq0(DSG<^oYLL>A:R!'!tM)TbTY`8Cs\*K'bq 113.464 - &54ss-(J'55A#oH"M,;2fa]Qj7P&?prJ:6Q^E#qReXpGM%>UPDU:ETL*L?%oIdE;T).>WO7 113.465 - kKup.'N(=+BpVJG+2cG(P!JY#b!GcZ3]RqT/[4hk'Yq%XS_Aq<(+l(lEJHcu@;YqBi<?2_R 113.466 - /ho^AHO[9kY7:n)_?bBY_bHf)H4f*1I%WsEVWF9bcl03NZ^PPOsBHTqj_YBTUT.""OZn!CO 113.467 - PH;s@B^O+"2m&+C=[l/DGR=,=>I*uPO&--dVchEL,Hr!(UE0pK0-[]jPI;"B++*!gZoPu&* 113.468 - *;?o?n$g%b0Mk7&r@!m,cN*k2!rc!TVH5c$Y?1[8b'j!pI>?MQ8*bL<g5#]EO7,:12sGNVm 113.469 - ;[%>\IL]M@%%!YI=>OQIp3G_IP5_3`I4B2rt"UG!VgrUN;8frJ"V;dfRNrE:cK-f%0qPQ@8 113.470 - OIE2>n&76sieNMt/53I6Q[ef]53o%?O+k;E6"g9dc/tAQ$'L[D=MC9P(OjUt0BAS5*]q\`E 113.471 - HV*hYeA8STOINCTdBBiMZT2OumC<+o*#Mb9UCXB'+:]&e*2<N3e![Hf-)c"E>$/OiBEU>9a 113.472 - t>]*N*NRa#4O'LkiX6#'>Hqd@S^^3I?H%TqmAnI!59m_qc+#6r3Al;ctO^^%E\F`fT'obE: 113.473 - qAA8do6So$Bl4r!UKkai8<>ng?I[<1;Jp#K`sWu;Wo.i@;q_4tVaO0sq-:XH2U,XE=S^c:V 113.474 - cTu0kZE.:IckmD\P`TY7_^<tc0+_%Qi=3"Zq'RNHs=?M9Ht2'br0NBln@pQaUa8rRfU7e;5 113.475 - ")sjm!a__2K?HL;;r((c3p[)B/Z+E!(?>SM9CS7RRY&i=Vk^_M&#IYUYa[U.D"&d'RK?3et 113.476 - GSWo=md#T/79Q-nj^+/%U]KW0m8.Lsmo;Fo%YJT>Qc)bLa#G2g$s/>Xl?'$?C(Wc$V"0?b( 113.477 - <\=lRE%*Yc?1J0-bUW(1,+O1=^1HE\NXR,e>e&nQ]J0FR_:!aIii:Fnn*)OPfaYPW@685M^ 113.478 - &.t#b4%E2),n!,7:VA8QdZAcB"Oi5b=GoVgjC!hOOd\KreVUO3=0Q($ANpF8NGPSK[E+21J 113.479 - sGVu-eK/NKe(<''9Q_V(/*sJWeue$BA*`AR'BfFNNAA/(<AFONE5:6Djcq"k&-\j/CJ'oG> 113.480 - $"7^#9t[]9q0_ja!ieD=((!2or7PQFH53k8%/,#Cr+>6Gi`[l1>fkdtetjO\rW*/HRX`=r- 113.481 - !4pl`M0@$n;;#1:s6+Vp\E"%%tkXXd1n>3:!6NFiG0emIO,X&WW%Q9K/VkDI6UJP<WBKqY; 113.482 - fp]7&OQEiUmBpju#4s!mfPH!i';D&,g)K7@3N]QMNiPVQc#I*./Se8:X&<'>?M6r!CP.-f` 113.483 - -Od:__A/+TNT1#T^_g=JKL%\g$Br=X"YRY>eJg^hUJZmBPt%4EKq)l$(g5&Q>fr\]-uudSc 113.484 - h%KLNMLYZ/YCGE]ets`Fd(u=7g,BD<S?5mJ:lIT+`DHlpP1DMg3=+*'iNQFb[f1C.03r?c@ 113.485 - 0]&kP?6\V<RiJYH@-f*m_7]qk!8imuooDE5@I)0>[8Y+&CG[rL\#ap\l6/-2FQMfBrA5+4' 113.486 - WYs.AcXs54"\H9qB/(cVdCTG.]`:bDr;fGt(O9F$*p&dUd*/Ht'73J1+d^B5<9"sF*mKM[[ 113.487 - A6840$i8PIO:p%om_%R3uM"Z'Ibg\a59&g?nW-I[1L4dQq$=X-(Lf"X+6s,E\i^?@p;(a1` 113.488 - fUW]8KMdV(:+A\7XVKj6=c6-p/k+F+(ZPX,N)>Tj7TdnQj$[U@;6<RnptQ]2JAI7Bnet"r[ 113.489 - 1/]XNcGK.O@.rO)^GQ;OAZQT86HBFj@"ie;D(F0fc;<uKTVEq:.e)\/LBJr)ut"q,0ADK*M 113.490 - im_A878HWb37\S9h1\5pfV_BjE7NKX$h@c<<kDD(Xkf\X-4^?;&t"0BND@!7MDl`o%pmAjj 113.491 - b/;_DZUfpsq]K[H2AX8s%oYQC\dfpboXDGAft2s1>&S5RQ9:/_BX5]l%W;m(:=g"eaQKZ]i 113.492 - !SoW-pm60XNp6q0\2c#k?5Ni7OTMu(t!/R/R^t=I::AAkP)B;g%ZR1G\)H=A*q*WK,WM<5H 113.493 - .+-a'8'#J9!"A.S;H2r/KmbDGe?%uIJuqZZ0XR]Pi?j)]92$eNf8]l`,(XKV)sRL`)3j9X1 113.494 - *QR.Sg:5.Om\s7AHW&!K2.X'2GhgO8Q@7Vf,,6=_2S6(<bhcb.RuqWeeFco6<d1heZQ5Zdc 113.495 - :`#K=Io]*%KQAQ7PS?DQcI.Lr4j3b%4S"3,.Fu0q_f\lk@17c?dF]d`GP0!)3_aoE#"QX'$ 113.496 - m"NjD.mQW^Z-2=1AIZqP-gg06^Sb!P209f`^cQ^U!QKrDFJ0##J?:9&!8ZS!UKN>N%FjK)M 113.497 - +\+^<"-mIq%5ul$::6OUAdMZ\8EQnu;9oTH@X`SHs-4dS&8ceh&G/NOu]N8_)>??`#,GjHO 113.498 - "-W@=jW(HhUbTPVmbltaln\%FA%trJN<'S%!>_N"^=Qu\?o(\CE'P8V8oi!\C[=1QL'e"c% 113.499 - V#\_/KBKSl+trBo2Md;no38X#'c,"#@'uZ=/GT/(3q!_;)sQba>J/A1]m_7]30,Z]"ki:\; 113.500 - B!gV_*Gda-SbIA6E"I:Bg;LEHMO0FARi5r^/K)NQ'%2ojDg&8Nn=(_154lht"q2`E@qsNGQ 113.501 - fXZUDfiG;D!T!Ur3AE;^kGk8i^5aD!r;Gq`kI4'VF"G;<S8E9\;AkLUB4'e'ub'f/2j_5!d 113.502 - L(fJdc2.>W1.78m9R:0M+:.1%1%*Tc/de)I.M"'g__T4SN652A1!#u%0^&leqD2_f\$!K3X 113.503 - \LI@XL$18pU%Qej_mE2Md=$U@!7&\9@]O*WFNpYjF.aKL9K_]C[KYZ2fb>?[*,QT[S&]KL$ 113.504 - :)+#KYU<m5ql[M?s?b#ij9NrJQ!'ucZa;*]\Wsh&]s5I..:V@Yk#K<ho)Of#4_s,3(F'D4% 113.505 - "]XeCpCEB+_&rZ6^b=Oe$`5FW1Cl:2Z(S'1"Ss!Iu,4nWK/a#9XH:6k+k@DHp'5a"Jq^%bo 113.506 - B929^kQ^?7lohfFB@IKioHkXl-1E6`jWEG`b1&ICW0Y+<Qn4.d\VoNHuGMoW:\ZOO`DDJLl 113.507 - !:4ti?+CeKYE7#i^l5*eS]Z7DoSnQ7PNf<A$+OG^Xm?5)L$8f/l)_[9c(An74(9@A=oPX6F 113.508 - a%)!<c;Z3:dLXhi4%('@(gV9DcaecYVA!6ZaHM2FkM^-KiM+ZH&3*l\KLH=@Uk?+%Z?<r>? 113.509 - <HlKVq2KbGO<Tk)YZP@hJ+7"iOu8`,Jfm("id)j#+s$-oo/9Thh'.mi,]7^>H3?RUk/I,cR 113.510 - ,3EC@d?e<9Bpe#`"$<%mO.]8LgDZKh]=kUA<fq!hLQKI1W,p#%04f2,HsY[?WTlDT6Md$C: 113.511 - B][/cp`m_DLpM[fp,*<Dk[!TKLA&.2SajrD4Q('(cJ!0RI-+Cdq.$UPQu&11R(fGaj_o$,N 113.512 - #6"C[+70IP#gI4*`5T$D-Gm:9dkjQmsAN'K2KMht=AgC23O8<<]j<\D!FmPbdjlEkP'``+T 113.513 - "jeV&Af?k@"pn,-'[X)Q!cnE>TN.]P*F[5/@)*$7ckO9]"JAWo5S?tR]E!Mj%Ic^[N_9bVX 113.514 - r+td%F6R?^odlmp)`2Y"gI4^VP5,.g1eH^g7\#D!NtP2E[5SR&]i,p,"?!SMVk7q$&oYOYl 113.515 - aejg_U6LR*5+1CbY#29ad(A9EFW(!SS=IdKr`HgqdA0!8+Ga#8ADf%ReD6d8!Hqj;```'gS 113.516 - 2k%kJV"4:tAT)Gd[UE!jT5K^Xi#&n0H3/_q#9c6uM66DbO^JeHs/##h9=)aXI":jun`pa!, 113.517 - a.V9IBiXep`\-\s!7"pg);)BGI[Mo8((1C;adIA;Uo,huN+0knhOp)ru#9Yc.+S#sb1(,7G 113.518 - &L!;P+gN77ng,I-.3^Mt,'#7[1,1"o0-db[,LSRsnjOfZ8L+pC,]Z[+Z;Dog<?XXt'7lC)? 113.519 - n;AP3"(8B%I:qO@SmiePY*+m*l7(:+KH789GjH3%>"F!U%l3,jsk-.-/lZUnW:'iH<>#V%h 113.520 - C5H5[5Ahg)X%O)'VKqP#EoP`@S<!/<\=1da9XeeLe)U/b7RI'&>/qkq7#D/lEAhTS*ZnOKt 113.521 - Mb#2j5%JMn0-9(V$2e8_E4nJX*$/0lHc0p%VFOj;SG$7$o#5XYhi6:u2`#]9+kd0WFXk]Xl 113.522 - G&er/C)ZYNpiE8#o=#EoZ2=k*31KubY@5a<\2R@B]o5ut?GrIO+2fjC,1P%N,IlOcg37E^D 113.523 - o9D<lR5kqO3HLfQZ_9F$V)krX3qK=4'<O>P\N=kU#VF,TMcpbbaN,ht-mahWP,_.UqD:Ke% 113.524 - m[fVPMQ\rg)iWkg0q_Hc6<^L71^-`8jV__+j(O-TES+B)5/Sm&E>6YRd7g040u=]1a,2,]g 113.525 - >[K6Bj&h1bh@>013*(6e"+`oL2/)8OO58"5k^;.&)/u,[G!>cI3D'75,uD@Nb;Q1A#0%E/l 113.526 - '&MBt\J-q"(Ko0B$F!u-qn2&&bQFH],"PtA?N8bA?A1n@6<Th9F/9!kiq5Qh'0$Asmd"%3, 113.527 - 1oY_nNGsC?".3\I'JHu]_M'u3sL-c^^[,d\F*ZXeK(Bp9oeBCQ"&.f@(5_)j".N0Hdr#kX< 113.528 - 9(])[2%`].%oK_L;:QO]od*Kn.6-6R!s#Q_OJp7i!6S8V#=]@>'gin6#UOCm;?kJpofbu#h 113.529 - B-M6$/uX6JOg_fSd1s#<jcjHeT"Z5F]Ytl=7pi@'n'1AM-+n[=B1Jc[?F_cQ!(M_=nS+b24 113.530 - [oNTiuT@>.(V=Q*jfg[p(`#>P5[727m+9_-E8E>d_saoo9>dF;7?:ZCh]s!4NWF#s@7-4Y) 113.531 - 4^A8E-7/._<-(BE"mEDjkE6G*_#%\cTm[IcT0\/eJSo$X]k;SXP8dp1HU@^\!s<\Ir`1LkS 113.532 - kA%"[5Q:5<W7q=MLAG/`/2G7016j#]EM82L^+A`YnB_>(/<F[gT+raO*H"TGVMNidmk"/+) 113.533 - @oa?\kKM-gaGQF?B]q`H&7S^7[Z3@VXqbA$."Pt=5_0=8lm.X0(NH/iQ4m%&");AL)?Dl2% 113.534 - kSUu;&>q>@T'1AcK5J"kbkG.CS9Zu_4930ECQ7A+a/33EtrWcCl/E=1\QKdQAGpq8T%9-'A 113.535 - "@\.c:Hr[kg?TC0)B4!PfN1A/-^^o$B&q&1]4SO^V<H3L1UmmEFAeN"I2k:@oD6G>@>D&?\ 113.536 - WuY+Vfa9(LiiqXp0]BD6n"f*+WFL2Qa;F>;l6D2i^V"q*A[@oQP>2l/t&O`M>+/HO9<+cem 113.537 - ==">Dj"n5,&!h"/^XuISn'&`q0@%7BDiZ(j<,WEhmX`G(D1f&XGIcm1?&K,iQ<AA^nE#8P! 113.538 - f8:_*V&`'VNs_.CZUoU?S/lhon&#@:5RLTnSe[VE0ZQ+8#'2q0(bQui)r\+65\GL1;B2Bl5 113.539 - sh,k3'&YmkT(hgH]K]q!?5GK8VL8Id*e:ZL"a0@e/OGZGID^FpB+DQ84(0\&qYeuW+UB.D1 113.540 - QqLenhcED*JoseV^*CHJ"f<[^[)<^^&;D)hD`<_R#!LZ7M]6&chN!oElXjc5]m*Ftn&6=N] 113.541 - (Nh2\I>_MHu!JB8LMSF8Ff1:W$g2h?L%7>QO4Cbm5^7qmg?jc40s57eA9q'B`!jbjur-c,E 113.542 - rJ`IUIfEm^s)Bh@D,.EN!/h7N[)rXa&i)9-^QkFrI,oK:=X>`@_X9h_-'[X5jGlN:3$%Q.f 113.543 - GaX%"q19cSG5oKG77'6uO8(J,QUke0JQJ2(9XB;df*:86P1cWXeBf$u!"?/h)$(Qa@K2C_S 113.544 - !H(?.:J5K5iX@;U]mIY*J)V((<C/$Fe%fQ,L7$p1Y7t=I2^X%R!B(3_G`oXUkLFI=nQ!!pD 113.545 - ]^SopZj:-%VKu!<kYPndCZH/=FbViclL&]GgLro"gn2@1"<,1S\,IV4%.@H3'YG97OJT+Ve 113.546 - (GY`Rb+,G?!F[a&ZN\kca\*N*@:MucX$O/lYtc_S."-D>r#JAUln=pfde'fNuV>)fKWW/eG 113.547 - fVATK&[f*7.Kr&6Ls(2A+U',D1))8"RVXm65\YH10Q)D4G+T]q-iJJ@Of+0",#'Se'=Q*%: 113.548 - hC5/D)1dJiJZ'9V,URi8YIbCO-<ZIm$*d>0XkMDK!Q#dX7?'Q4HQeD%>7\!^Bdl>e%7$6M_ 113.549 - .!efG>7rDSn=%T]/d9G=D)V-,8'+HYe.1ZI:-uoMtk.H)`P2krYqPK'bZ<A_/pEDD7=k;\G 113.550 - M@O]3h!GP6?5HUJpFoT^3%AM531%2-Z'HP("I'@LJiNo%>u/PgR"Q;"r_6]_g&Jq\a)%ddt 113.551 - )CU#D4K37E"skQJ_V&7EnuHa15q<P>+D)IZ)J&r7OdS/>^V]0#u-4;9Cef:dR-k8W<J0N8` 113.552 - Ds-'uK*^b_!)Z+<$=aTTg(a/ed@X5jr+2kfck'GD:\!=o"kJB54ZPr(nHg>bskT']D3Li[C 113.553 - NCj]U80.fI)dGnJR,u;WM9)FKTe>B1]Stt-?&LBd*$J\t5]<s[Z5EbBa#\Sg@B:?u49Y+() 113.554 - .=j&M`Jj`QEdV^bcQ$(\]N)*rQ2Q2&#&=%15HlXAe\aWb8N64!HJXbT+<'G#!qYt_:QnWpM 113.555 - @LpY=r79MK`k3XjHF2c!&`Hc0NX+as#`"&>7W'JX-p6p,fqWU$u"q;Ma@A3_OkBdRq_?+CE 113.556 - Z.#8$:'&RA5O4-sWn*S)fbd[-B+@3m=QH4HUQU>rf5q6D(#hApS-#+NG:2MKZ:$_ElDf#i% 113.557 - <"W\K(XZYF4\\2WqSCcK^F4V3J*+=^@4M(+9\-L`\4T0u&>^$>]5TN.f))oUcrOAm6@KIS: 113.558 - ;i-5/fI.LUpsUDXhJ5!s*WY$P]kI/o)hD0"TOW>a?6-kj)MOO7>M:)`W#:$(^7gQ!H,YJ$- 113.559 - /`O,UU4!CoN=Cicf<0mi*K+0rX2ES[MH[*#p%Y$iPHETAkF)mM`-5)+P7"5rQlPf.K48I-@ 113.560 - 0le)Mk.n"T](s2_F5c*T\?0ep^[MU)k/F%Lp%M'4D;Are#saZkbbQ^9,a$+^c!$a5`m[W?B 113.561 - %E*n1^le*WaYmCqQHroNP(l0^b$mXFQl54S)jn*e!`n)!m/rrqmV$1K#Gn:(u<^Cg!c(%K$ 113.562 - Pnc'Kt+!'o:.Iqs?nm=-B^GGH\((c"r#Y::T?igQU>Qm$Ur4\b_glNVHFnI<ql7nRRP)'pi 113.563 - n-aZ18m\uU>m&a7s1B42p>W8tdY[aJ_>(2eq#?3H+-$(\RJD?'q-Tik^SCW)V>@s+qZ!Jj5 113.564 - HXfiZ29$aqnKuET>g^-a8A0Dr;Y%?5Kj"Bck%=A"/r1'7#DAVC)<LIF^CX<s'LCF#-.JO+: 113.565 - b9<,udVRW_%eU5ac.h*^/?)\,8uM'oPN@&X_'c3?=/M>#Gn7N_(LX[%m2[<3B@UQV6HS)3i 113.566 - E\24I:,aFejmGYJj_RZ+ei_G;JQ8`_bL9e$lNVc.=Eb*>/g;6!X]eXEUXZ!=D4C_cg^HHBU 113.567 - $f^.1Y7BXsR[9Kc!qj#1cE4]BCpKPQ^!'1V;YS\>q%gaKniQq:bjt;FKa(+ZX*0sALQ-3b1 113.568 - )49I]3;h)dZl/&emn'1#Bch9L<cS),f5((!*L>#c[G,Qm&YSjd!1)M[GT7b@%TN.F3Yhn(b 113.569 - qW6q'tW,ChBlQeJu!Mc*M1l#;WM>jlE#YQf5K3Tp#F9'U%d+(p%s1Zs-L@^nbW1_hk.sXn, 113.570 - <2Lcf>$+5VOGa"$gff$Nrb7<#YtU`[Mlh_2s$n$UN.P.h"dae2n)VnDlkFO[C7k_Skt28-T 113.571 - );33X\7L(n+J4-?=S)b0A9Elp8!'26e2%5Ui2+0h>Y,=qAnP9ie<_fcPLXo+S98o;]HI@is 113.572 - ll78m3d:?(rM0mI^4VItA1Ih\lk'3Snig<gU6+QK0*KM[<lQe8Ko0"COXSX3fF9B$@:iT2: 113.573 - !!'AkPslEe@IH]_1kd/G;Jr"Lca4;e9h[C,*</W0o`[][<"a;G92p%&,\E5C&uoH(A"?MT9 113.574 - M.G;=]Y443+W^Id].7&jcb7!,dSe<@lQrsP*-XTAWLINianlP0L:u(7p>(MZY/$9jh!=sa5 113.575 - hWo;_:-le[(S7drer?@P^o\c1OkUhJKg=?PY,jE&EJbiUD1q()fnO?C3"&F;b?<;P,Cm&HX 113.576 - aJGR?rMi4,Ll6K75TqC:L6@HEONR0<p,A7Mc8M;t!n;jA]="iSfq[+eN#[CKUZRqD*5hNH_ 113.577 - U`d4!n-P<df$=S7J<smoSk&Qt-4sBu;q=^Q+T4b_$=q$!$Qr]*<M<oATpk8#*i-L]8)JnX\ 113.578 - $+1c-B$4-dRtCnJmUG&<>]/pEh7[`Ok$$-eH%jG08=)gA_f5N?4.RXbk7b=3Vm1+rM(4[9m 113.579 - h^0(SZ$P`i`'QSA1FTs(<&)7c"rp;g2HY#)$AK51Wet9"?iC]gB\h95M]hiQXScqobRIR8* 113.580 - rZ7d8R\2J`V0$V\YEb^1L8ROlO$QBTqLW^!if!O-k)0#'pW/WTEX=/YE#;_J(]Ohn*+HjDt 113.581 - M7rbY0],EtF/#Q5W,kO&:6oU,->,K32Ic2^+S&>Yn:!.#2&D[l5].uL?0$OKp`]r&`8h*_` 113.582 - k6hGd;O`24j=\KQ]8/F+[R!,(V**,>q(F!j%$t3[&L60r;^aB,Ifo*p`OP1dDp2Y'fJl.=2 113.583 - V4\:;L=&V<Y6uK*HB+]A]&?m_B;8-u#nj6q`F,0)Ytcbr[b*U2YQ@5O$8Y-Gd2HLmAVU].* 113.584 - B5Hm)WR''1/KS-a$fR\*0<d5TU^%]TmXN4oQX\P]P`^=RL4p[\dea/Ih0s&(LYCnH]esf0, 113.585 - 4foAC/nkP$1XQq*8P%C79os)GnS%:dq.d7$T2TAI/A-<CVM1HRodqb11Ms#KZY#B.t_8U#% 113.586 - __\i?#Hi>MhjOL2e'D4-S+B2&,o73rqLJ?BM+bo*c$-!Kl/.+iHrd9]gAi,f=q=b=k#\tp- 113.587 - FXXaKQ;i*o%3[[M.*L#$]!(iCX-d_IWPKnYRpjX5a,h5iC!eW`%[mA:b7hq^q,o$]Q%:X]^ 113.588 - @^F42-3;=H"q(b@jY1!G0WQGZME7K]>g3T?;)4(1RAH.:QW!R+5b&8dI5Jg131:LTc'+5r: 113.589 - lMCfkl2c.9dQ].iAhCq@M_>Z=pfeqH&cQ9Om45]1'';6;PK*Y.b.M!Q$&?j-j[A\[9fqnp7 113.590 - 0]4/2G/*H^7!?7'gX+=q6q;&7M63NT"t/dUdF$7(dcrn./oA_1<H3(;AFJ&?9LHW-Im%`7X 113.591 - b7=mU\t*+K[f:+=8LLXg@,CD%*01OqDQ\>UmP&42,YWF%4X*>J4U_3d.Gq<_Io[YZW@,T=W 113.592 - fD6:EL2G2gG<kh%+0NSI2e9')-DecEMP9*)QDp[2Z6H+ae#@lh?%f91;=;7%2A>C\\qd*Z\ 113.593 - 2<,]YQL<UVcu&0_V6"m<pEuGYHcW<5(ZFR1Pu5CP7AEbk=3-fG@<NVWS:)C;3+8\"qel_J$ 113.594 - NYK1n<cKNKQ$Pt_M16gWN'Yin?*^#(WQiAEE4DYX4%RGlNH1`<]#LAO"-na9aF/[M=%7E`g 113.595 - An&Uu[;g1"JE2\6drM4*?T>&])B:\9<k*V'8N>[1&`CI?.h$M6>;?ZhY#qSH52SMIer;6fT 113.596 - $F2P67QOBp(nAk`>ccj6sS(<qZ*=Q]O`S8mBNNYX]:B6.bpJ`^^nJ;@*9r$Kr!Y"T,,p_>s 113.597 - ^T])2-f[%,f7H]8)5)5g$(4hDf*5J9V#C,,F$3s#`h#!l9W;4r,kQhej7L"LjWu*n)Htr45 113.598 - 3H^Fcer4@ZJ8gRPFG@E@q9oc<bKqnc&L?!qp,j/rD(F_)=;o&P9;KgjYr3B<.*rsZ$rIEP$ 113.599 - E2Vmid5&^&T>0dQlC69Io6f?LDWB*lPmIFDsmL:YH?&,h@Qr.NfluIcG>.eKU%f4+bhS+X5 113.600 - s_RLlUqPo!XPor/R6is/"+2<CR7B$r<W-DcFk3psAHhL1;4nN^7+?>K/JHa,n0SA]dRl.9I 113.601 - rnBTbN9W^]3/&"M/sE98ThLFB>6!77TabDJ@$0e)4SYEYP@?3!!CW9.S3RYT1,[9mn@)e2_ 113.602 - ,K!Led_:ip)N[('7I_jZLT(9rAe$2,PX:n/QBnj<L,^/;&8@TgChu_]"G+R;cTkA=8h=9-3 113.603 - +m#PB\PIT@#\9*\)<+LX:Z[L]^NP)MjCJ:$jPEJlNLqn4r4q"SI7Y`0ot@\"\Q)^>jHb)+2 113.604 - <H#WTLSpca)-@\<CWpc&u;hLp6">%<^3bXhY5o('0;uH*')(==5UX[2=a<dM%PE)jGBU;8M 113.605 - +VRpERT=QiPP-I+]N.jBn[&dJpIu_'A4)6h:n>Vte%4:]"[NrXKW<g4#Xi,EjOAI6Y"U$jY 113.606 - #Sg*DrtX7WF%Oh])8M'>9`'<@!u>6?i01_>s:\<4L8k<;Pn#oi-CX9]+_r4cp)^?CNipkh9 113.607 - M!C'eW^[(MDC\9o%eHk40^P]'VRtX,lBo.3750No;9G7^0!'s!b^a!:#n_XPl=9S])L&aC> 113.608 - $\Jaia1U0)^67'\g`SdC.70IA*YEEV.m$(kc9')oLniflplW0]r0/`+Lsuq@W00BgU6/)X_ 113.609 - \j0(i/Y]p'K\ta#fHNFj*SO<6G@f!QHVKXR<9YC&-H;e$=Hj8GSIGEmQsl,]?lDOr%pfT-G 113.610 - trZ_^mJM,Vq\)m))s?6Ym]/HkhIm8dm736&Y2"!09Lk&]<B2#g?:1;QLo.FbZi,5Y.fad!L 113.611 - OmM$\7T5--A'K7?5;@7D.7]VI*u+h]pQ-NuJe5+%KoC^Q"LVo5fh^8rZ<*'OZ*\-rJH^uPn 113.612 - f:np(!3l\LpM'JpTX<!!WA\R4RM,Udn9H8l,-:]SR2OKH@PNG66B!$/uQJ(SW:o]8C;M:-u 113.613 - ``*=4G_sFZOiE&k7gkd*UiHRu$,2(I`XFp91iC8@DhQKQ7hcf]N,q"`R)_mC^T;m@>^*3TG 113.614 - _j"XaHV"Z0T/H=`5gA\a5i-u8;ILR2FKAi#S:PRPXn2q'88PGJ-5d83/k[i;F,W[ae4nh9D 113.615 - (U??Ftl+J-;bUdtBq2O[_aA9'L4_1A8l\[n<__]gSt`KLSPG<u0"eaK,ILYeW`(9Zp7k9$F 113.616 - jQXL>s0]85LCb.*DLoM#EQMo[`M4@k^Z&Q#dN/IHh)Js(0]FL"2kZU#kD#kQY@ZaNMGOis, 113.617 - T99`)mG`BnRcqD;K7qB;hoY/9uN_BEQ5KJ^U,N_Z^PFEtM%.IU+\1KVnDTsHULnqXWE0%ta 113.618 - AOab"8gqNp.!1;>iC/Q\9I%Q5r(]dnYtghS'caG5%-j6ShnI0k5?,Bg]\^hbfu6(b8dt79' 113.619 - _$prrkQ`6biI$*>cP'9pP>mW#okor2"[%FWX#jW![86YO;=8bD2EZ-bRf`Yo[Q_?dEfc8bL 113.620 - Hg6o^g"[r5=!hLns^a!>J6c#Di<Qc]F#[VuTW,#>^c**;Dl.W+(E>2Rp-N:tU9>CM?@jO%D 113.621 - kha]OHuKU7O+P"7]I#lL(nA>_st\kQ_Zd@:f_XR+A0,np`LLYBbk%4.E9kdd(?;AA<<[0k9 113.622 - W$&AFqd`jCBoLMjo44+lF7Z@-C"X;<I/^m]9'hDp>YWn#DC^"cQM3TNE4Y"R]/'i>nbgeo* 113.623 - `7*$i/\Q9]77BC(NAJg2/Q6K3d35t\WfB>@1]g#lZA>!O*8$)FeBU`.4j5b.i0_^/ND5)D; 113.624 - t,c=XUti7aj)1\eSSA1$fI?X^S>hR^,8uZ/+le.[C=+D<!>`fQ!`!O7oK:Odfg#g9=29I>u 113.625 - h,;cQuuF7;%Hn`)\0tP`Ts@BOTDInfKR2#O%RUbM?1S;,hBsd+)a[,t$3?FU5rs.^`hh%;& 113.626 - ZnF@G:E9pITc?#uFDGR!qZY(EMOJg65#ANEqY;!T&+eI0IW'Su,f<D@ap`55M^Ma5N+,5YL 113.627 - J-pH;)@p%Ese\.#+SQM;#J[_,,f_KX5Rg7SgGh9?:dd:MsI:'mVcVRVheeNH9oJo\AQdA/r 113.628 - <V;fFTeqs807iAi)W5oH5]MXGPV3K2<#(_DSYoWhQ,gO5J-D@lFfAE/MHS1,g"[1meS&-KN 113.629 - [d&iR`_7R41^B7\2m>XM,csom!ZoRk#3Q^=3T5mF`F0Q:#"=9!2[F8V8-4k_'<4N]/@Ejh" 113.630 - EB1M-6[Ef1hl?]r9_'LYR$*5;UnlSKV6?R6]"[ct0HrM-#=sWeT_BKi"5n9%VkKHsDrV=_3 113.631 - !9NRqHGf0AZGf;OU4bZ9Rkc8n+2RC(\'iqe8slQ3ja]R6a)Q#g5=Qe,mtf6DOD`T:B2]&&6 113.632 - mb,fjDV&gl!>_4rN)`Sa@4n'[`+"q0k?O:4CS\*V#@p+Loh1a_>U]"'6k.-t972;i:R$>=c 113.633 - ofdc$2nS>-<2BmOQ:c6#h"a*g(h,&+X;GZ,e@jU+X\W,Sp"FgZi1:$5HoY:SfAE7;6]Lua7 113.634 - &R`CrOu#*QHfHK#`<!tn),H5f=?&/E(kp%WeM'M""Y^VS&`KpgfK#c>32?4Q'i`]cX*H>?& 113.635 - 4Nb,]ed4<+/*N^W6]?G`j#5"Q)*e+nbB3XXIYX>YHIA$$@Ct7BkXFRpn90j!Da%mA5adVrI 113.636 - Y)#gC-o*O^d9pVZe@@u-)n.[:__S<J1:\bI_,W-a;5FU>3'@0?DK[P1aZ$fJGGA7dVhA'C' 113.637 - 12<74bfS0kE-9DLQ3Q5,8jNY3=H(->"<Jmj]JigaV_q.m27P//?>ubT8NU0G8h7j-SM!aig 113.638 - Z2R`$"!mZj)n9,X#%1ok@3F[Kfe-]u'Zf8.Q/E,th/2o@VD@:^ap@&,_j%,+]atJ9&Oh55j 113.639 - RA("L/(HYm(T$kLs,eM1\0>0#Ekgm/$Q*7!*]dOA;PbI9&;;bQ-&0K1ZuQ2k,kZG\;OtC^, 113.640 - ?`fB(1al#&\#'EafT>k<+&[PS3.[(DbZe#'=&VJYRdbk(`Z_7"l1SW/=s3&`;[Qht#@G((A 113.641 - 6fMW9*jiD>Zp*<b:Q0k+1=N!7Mh5+H?.Rq=:DC$F8'aB=dI70ARB(!WM/)!$7d6O5H+L'ZG 113.642 - ML64uNNo]&MjR#j$Xu)(Y8_]=,A5&]Y!0?APP1p28lRoLsSWMBjYdOJ:lY2tPjutiKV(T1= 113.643 - lZ#_5!*ho<3<a@s%Addh?/17eKKdCqX_r07rdS:8E<AZ>#bHSQp4l4_L]cdAerEtsDS'`1[ 113.644 - o.&jh_*/iq/us+To,dh"u'>"!D'1(,6J#[St^`D#-Vl5fj`O(D4]Jtk]-km?4*X$K6H"6%6 113.645 - )alXBl7Y-_=Pn?Jk0F_sOVgDJ;sO%%X+r-G&@&'*KIF+KRCH\gNul_j4AAY4,=a/*gg:mjU 113.646 - Lb.:3n*o+G/GL-T(h=K#t,VlGVjlI23i7eQ5oZ#:YGDq=q$@fk6'Ko1<`DttV766rDs'o,= 113.647 - ne&$UV#X3'C")sc>DJ';q\Eu*d_(HQBRdmV$_!UT^V!giVnHT_I3Q#gF'I#')m)%;N=j[Dd 113.648 - *hY_5kHbjP4$j:T'a/^qna@P;mhKj>[c^hb7@7Zj:aU`YVHs]I+@WCaWQ6L_.Z1Cendrou? 113.649 - S$6,/JHFT3@n\2g';YEQa6$WWaHXCG]:=`M60sDB5"=.DB&0IR]!*-,8_]t\6SXNcZ>F:'X 113.650 - "gW)E1"&/G&-+;]MkSbNHW=[(_",UVqYjfN8:V2&%T*LJL=S+%<n>7]0#>V\5(2JY)D5b-g 113.651 - >iKBU)rciAg8<HKTh%c8E%C$>1CMeoA,klN_tE,GlU6_>3o-Q"B*O!dmc=m2#[Fg>\TZ7Kn 113.652 - :-E9)*Et\5,5S/*p^_BTkFba`Ba&huFk%]VVM(B%ni/-]b9qekT"jf2[MbF.ZGR"Lk+ocEb 113.653 - JA?@-\qmP0BOYWfkYR/>q'ps/G&mUHWVlr:$$[:tGV<oY38d-._"8F+pd*EY%T_p+J]aPMU 113.654 - L/C3PM.4YLhc)@LpNo:l=Uk,=]X+4)FHo:mpSkm6p=C8.^qlkZH+_&J,"5V%C^0LYD:R"+( 113.655 - *?3c2oYZ0Q\5c(lDbD!_bn)f:?*JZ=si@eH/e?DYJrGFRWoJ)rFe2mp^F@Uj:"`4$T52l,; 113.656 - J&=7]Sp2T'B942W:=Z!NkuqPOJ/+G4ukcM)g5X`"&$%Mm:WR!T(P2@$G_l+VLL[+;5VWXI6 113.657 - $JiS2n[rNZ31,s"3b!)]t=.T)FaI&4er^2&<bqm*eLZM`ffu(a`S^%YP9F;lffNEh<+;8`S 113.658 - #JbS>GJs>Q`HkXCcmhg857rdk+`rk)I2A_`m(`C7?2Y#f1)2/)-fUXTb28;A5gPN8W`dCCX 113.659 - <<$o\*[kW(C:B!kBtE0+[`AOdhVP97ouUoIS]PeT>1CdS&:TUrXX5\1Lep>lGVVDHb'?efP 113.660 - G]_VDoqMUS%5c!hE*dJjEek7t`,g$\g<Cd$KD$+L6kl+d!$mAi1Nf7q9sB"GT>iP"B33a.& 113.661 - L6Z7lfS,f)=O@k_OB:i^j"k&ibW:LMR`>`+%3S5ACuH:90G9;YX%eG=kgV,OBoC=RXLB!kj 113.662 - G=)6@`"XX+WIT^#YHRnX\CU:aWDn#,R`r<3uDV'6Sk4O)8<nR0C*=Wm=N3k:k*(:AHd(\OU 113.663 - [Q!L@kZ=0GQ":P;`PgQPB5tES4sh/"7U^94/J^!&X0B9C/le<qJX)TrR;!o#rl;+s:MA/i7 113.664 - g9gpi^gS>QtHQL^#jB]h#<(!V:4^PHJO%go&j_qpFWh#IDu))m.l%cIn-BF%UP?IfIS:b_t 113.665 - -TNIDjcNhs-[+\:%.=\6G3bU1P&W71gU@_+>Tuqn<LijSD'dH5?HCYO!&6T#Y!Z>)]1$#al 113.666 - PUGjsNAONX$KU^.Q-L7u^&p4c"u6tmRZdCaH=a&1W;*]n-md3(O>$KU$`Z946pa\lB2V&nf 113.667 - FelN4;U^7P;Vr@2o8[@-]oUb5[e67gJ/4,^@jB1Po+/e22]"(\$"HT8a)q^)m#YHLJ.!)cM 113.668 - 50q^V!C5"2*=.j!kMs.ZXm9eZn]933+\:$\SLC"qjA=qnKZ?BM@T'T35c,V.J_41d,#'n'O 113.669 - Q10-2H2/a5h#cC,>;cO9M8Ae\dNbp?CA5"F^Wj&*Jn7,1d)JZ/WTtanN<*pTkN.\Rla@^Pg 113.670 - qBH>*du30:c*#:tj\j0o/.*8*T_q>Dc)n$6n#r,&k;9F=R#LE5gDJOS@HG!aijR!.80Uc3] 113.671 - *\fK?]T82aB'L=t(*&W#FKSb"BS'!qro#*O8`MIY&ulujBQYg+KB7M,VUh%s*VQH?#\@)Rb 113.672 - eRIcm/ftMHrk=g3D+Y>Zgf!OE+5'Nabg,s=hPiSr(!2+X-T]r&G;9KJ<(E-gmOCLa]W9_c- 113.673 - k!eW%2TPpcbm(qim9<n@KcaIrQFC#&/r@#SgV30[C1ett.>@77GWCZ*L@`9`#GKRd(5!0N< 113.674 - 05"0]>JYaH'c[:4MN8fo3C)X[r*!VR(.%(k=O+oa>&WA%F?7t-A;\=Zt]12RZNc(-()R&lN 113.675 - r>E2kS8HC#Jbm+,T"04S4=sDKL'fj*B%r<:"oa0;ca[-AdjZ2XSd=lFO_$WUMX?OiVGV6MP 113.676 - n%)$FL!2>R9%iV<CZS/(*^%fYS;H(V#0Y?ls?$Qm:K:l5;9Hr#1mR-/o_"i+m[Ch5&q1"r: 113.677 - mq2'VPi/g3FUBZa3*%p9]DN.M&(BMsQ6t,%T^XuNniFFNo`GPK#[mJI#Ho3@qgsce#F@Y9Z 113.678 - cA/WI"IRTD/;4G"Lgl')_h1AfL<Mc901mU_G^`_L=Oe:JC$c3\pu*'Hlp\eabsaU/(ullQ3 113.679 - `*f*W7@LXUL?TK,\\#6PCjO)Zj)N[69:IS,o.::%1-u+,fap9*(X5TNeB/L8!C7rMTFot@f 113.680 - a<QpN?jtBUB?%R0=ROL2fl.M2X1s2Tcn+.*L[bF:[LP8kDuP@Jh+-L9amMfj[sQg7!?J+\> 113.681 - ;Z5XAtLSX637?^1Z/0L_Y8$372&%5CC!&[H[*M<)?=iYHkQiLg^F?3Efu=#T4%h($j?\$RM 113.682 - Q2l>p]:3%+1Om%76f:),Zn-kMPafZ]m)9PC0@#Vq>(7Z:h.j.ErTGg7>8B?B6J*/:q9qq"@ 113.683 - #+M^u#SGR@jXW?I<9Q>`Wa1^3fS%Sfoa.\UGTajD4Qi][T(I\r:SUYb&Xae2PQ>uq3X2+19 113.684 - a4nQ+GWW'R+$ac:'E&!-A$6C/-Pf0J*5X`;kiYWV^5':eNQnoVtCtnI%u'Z*g.)ER3B]Z*h 113.685 - RF#TMmU(ET!oX?3G!47)MKA8F9qnd4"sUqV=YW"Ge\M5[B-VUk'eLH_PP4XA*^Q<p7L0,?9 113.686 - 3(OLi@rX.>*KoVPGcU).>*)8rVVhRM69dq.N9@2e.,9a[>@lRD>[(LjWhfcpT-):_D32S,p 113.687 - C)eBt'N&-uIc8O=CSjabJL*BSrM^$+76"iguT*-27RR<*)@V*]GQ(g4h3T`kn\bE@>(+*%C 113.688 - !At/=0Y,)sN6"Y>=%;Da'hW2:#us?1Lg8:P08ai+&d<6q-,h$O*.Qb-#BImKc+eHdaB35S2 113.689 - @0iC4kEqj?(2!Sd<Pu/fDb811'MJ.127]dCdTYH/dhn,`YV29(tg\L6S->(T7fQCO^jYl0F 113.690 - XNtG3i@:66-$gSVsAqdWsikiiJ3P/AI@R\s&"XE2X4$0Z8j#O=C`ZDm;\b`'I^`dF"3G``: 113.691 - 1+(>?ohDjB?'m%u0u+C6f&Gd/\>Tes-/:n&k/*i[:Gq#$.KSDZo@N.rJ?`t;nj\W_pGqAt: 113.692 - -=9YpJ.Mir/$t0I#?G*tCF4hPWLX_GuFQ7d`cAX2t[,C*E!(QRGRj5JpFH?@hXQsJX.c^/L 113.693 - &!qU>KkOEi$?0IMKCXAcjVbW0!;k4KAUZM9U;/-+B1%=)Y+a'$,MNh2*pi#bnd-JE[F[1]X 113.694 - "@QLBmUo5>TW9q(^[Y/i7lq+E,HF$gS'ctH$*&*6JLEb9O%P/RbkXgWaW3Sk+JI0)XV=WFG 113.695 - d6P#U<Dd7E4pj@.lDpf#:UWLd;de_"_CCTNITl6'*`8%dP/T[<HNao-cPhT&-pY3tM;]8d\ 113.696 - &c_-d@p&Y9$=GE2j,>Sg<R1%IHILqaHDED6f0Z40<3fGWou;<EeTg+R_:SoA(n?*0lhGE3[ 113.697 - ea55BVKBc:rSj2I%T';H?P)Dk;BZ7B$SD[eE^T^]0_3'?TA5,T>2I5>,V;sc5'+u"kVWmO) 113.698 - h.UAeeAOGdrJ1*IXR?Y8e%:&UNVHFYcd&M@3&`DQqTsl9cO`[gJD_A4g`(gk&-2bBCBacH@ 113.699 - 0dFgYrhkE+eAqUGX!FhnU*XnHSYD>_Cb%(092ga-e3J!$<%2.lQ"=J9fTA/ArP_A]3,*KGg 113.700 - 9bg,hKNh\VQsJY@6kmOi[3e)dIXuRI50WPlMcMNUL<aW:OA'c\:\#O&1o6aC$Uu_n5\fhrX 113.701 - dcYBo"&oD1Zn,q'iLZ[/f]<s&lC:5JdccK)13pCI``+O16XA,njr,/G$#5Y)r)arCp`!<NQ 113.702 - ,YPA8RVX+h#!?r@8E!@uaQ8d/P"9K,RiNab]>`rN9%D\Q>`0U4l!9>=ZJ+(2UckQE$HMW3l 113.703 - QV>?j0R+gP(<%S2"N!XiD]Bn&>Q>1T!2DSeU%/[IWZ9Bgs"Lbe70NV4VZ.49GgH*[%QNiPF 113.704 - <`JT#3#pKX<K(Q'Zf8>Y%-n6Jdi/uP6W^&ors)ud&%/cPR+"=!T3qq5rK;9TaXbHHr0+]_h 113.705 - a=Imh%mO%Ds%n%Ap_@jrgoM-ZJM`OHM!5DNBGX-:*.mJANC:llLhgfH:1pMo*>Hg:*,XqiL 113.706 - CSn:q7PT,)?H%nt"YX*#)<D"c#6"&MhsYe_0=MJ"BRBHkTa0oZSpY-ALO#AkItDDWT^;X;1 113.707 - *dGZo2-cGqB9#=A7l!ehT/)9kr@O\#&*<:<h@!"+G2?CT++(=RYYmhSn<uMV`)Gao_Jiamq 113.708 - -PoXqdL@gn&\?:c^;Q09-]uFan]M2iEZ>+-(+_@l5oL62,"m^k'%&'&ca!k^HLOfO(6N/Jd 113.709 - R,1:iqpX]1_Af7d>&PnE[7n#,]T5!;J'LFOC?AB-AQ9o`S.JSr2((/+7%pEjS0p..OYkj+p 113.710 - \*3D3d0B=Pq1[$.2dKiSc4QlR@IB7?F/bU\ZBLo%@iJ.RC$b5Xd5XA-h+>#:68qCh?u$I-j 113.711 - g_-r/):K^gJ-/M;(B?.,%fd[D:R;^J\d+7c00U(8\.o.&2_.fok]'"B>&][P<E-Xt(6@7Ck 113.712 - ;6j2U.)F6\%WA$uG<99:N0CiTk0mt4LK.mo,]<9Z[;c*lG:D3eP'2X*6;KFa[C0Qe3)09V9 113.713 - c<2Os1<H^,YmV3u_>`I%k_W*Y1bq?HDT!cPqQkfO3<BWVbLe9&D*#HS3s_&]e$go("#lqb2 113.714 - t(fI.dGp?MQtRB,O/tr$`c:_k;hQk3]!ZMJker>mSuO+;bD?>+gr/;85N-Ci%`,01M&RF7m 113.715 - /Y"5`oe+Zc>>1B,`%C+\ZB3'6QX+.U-t6-PS+Q.hY'fLH!@FjR_)38iYC:5!n[.,S%99$1& 113.716 - d1V"C@e+Rui:.Vd("W<UL>7C5l9O@J=":7Cel.=iR37a(jJ&f!6a40$+aYhl0AHFm-ESZ:n 113.717 - Ej8:/Z<:*O$V"CWDU-Q+c"Xl3@'^ID@JPS.4#tL$"p2kb[F&!k:llDeJY:B7/D-@,Ear)hY 113.718 - :h^e"1J7N89cV[]5dOQ;.UaE97Y?kR+3]fi19)!cXrT:'joPiDJh8_)2U[/'"Z/)8<Am?;m 113.719 - !fGNIs!bN7QrDsbuDtj)RWLCA9<J*Ws,=VG6!.6iP$67$Ks>[,`[X6F:BJC8QX;J:c&A$F$ 113.720 - );dk>ss0,F&Zl';I(!h+#@p4u%6(eQ5q>W_`:MIh)0t[B3YeTH1GS#W9K\J.#V6hclll_kD 113.721 - 2&W?i5[?uR6g*oYmaV'>^(n0A_r)AN9=1.>;!JPWCa0kt*o'_)L27l4+g61kp5$uVl6d7YZ 113.722 - J9^``-P^k2kG@JhE>kTs`6LdDX6Xt:';PC:)5YGXKC]G"$"h$ZYU;jOu1nhmm&O>@'2H3jH 113.723 - dLGnf+bfY%[V9B?H7G4B@hsK+7$\WiM?5\sAAT/k2OA)eT,o0@(r6gp"Z8'OW"d&q1R=J3J 113.724 - @00ELIcu+C_jEp<lQDjD-L&_D$4_h[ang$$#(T6&=2?n,91mCEXdPf;aFLm5['O`Bl7L>(t 113.725 - Sh*J.*TbYQ<^&E>JRo<p(gO`FIL9EW`0ji7E"8hD@N,Eu-#J[Xod`c5E=1k<Nc\8'V@;?lE 113.726 - *'=J7s%5Y6*LX``5mFr#dF&ANBIC+iD\3C%(u5Ws=A"aAQL+bjADGAJOVk&TE)-T5'A@5C, 113.727 - :1`)hM$Ph].GDK@0m<[B`HPSJ^Fgl]V\h@Xu*s%LO5hZU]XoeY>!3Eg6GLelX]Hb6EIK4S@ 113.728 - 6;)%X,AMg<)1a=Ljj5)nh1+&VJ-Nf%Vs\EbP.&saJ2e/lok#-L+r&t$"Mids+>O#V('*Q_# 113.729 - '_qT64IHkXoVWg"*d-X7r/tAfEmKn1BG-)92U=d>D:^920H.Yd(Odn@>;Xbcb\[P#-b$LXq 113.730 - tMO%(Lmi5f&8D2D(S9M#rDOGa9S*a;F]$8p<aQ!SSJ9UPAQIM\raS(^=+pbA?s]N"[BW`_[ 113.731 - )?1`@N'+JJcH=OmI3g*h3s&Qgq%Gig_(3KCraIuH"t.n5\1H4I`rA!k/q=U1%?I=$5IOTIb 113.732 - +i>>Kj6jtJA,Be/W@;h<r!Z6298:qN[3Ateg!XdQI"N"mbGPR@GYV'GZ&,B.g\Q:,G&!`P` 113.733 - )hD`<eR1:$n/`b.,N@hm3Hhp^Fa/K!QkIIC8<a[YL8X8_'u6mT6,XUKDjB@c)d/m?RAM-lL 113.734 - f`Q)RJF/g2]EW61RhLN*9!D)GFDcIU]t8d"_(*H@F,+EgOM8>$k![N!#u"6*^Hr;$1KGHq7 113.735 - \ngQiQs].!UgXQT:\,$FVs#T\++4REW$g;B5e2(rCK1X?V-L=ea2D$6Vk@6'`.6qdt-e3l( 113.736 - oo65Thd900n+U`*.?)A/fJ![T#*cld:A\Rh%fXrP5)V[cjhTE5g2H_mL@Hkpi&3e+)cTo4X 113.737 - AMpLjH\r1a-2B;C"N7cOCK'!?mX)c^G&pgm`R^]>a+P__2W`*u>[nqZBC^gB+;aHc`T`8df 113.738 - &e\C*GQSKbRcdo=-`hX_Y80F#Re(E1,SqTW$.`Jo3?aWp;Au2AYo;UY5V96l&[B10Z5WK`K 113.739 - %%#0/":jGJ>O3c3PD`LHrOP,(BDs9kp@64rX=rAOYEX9`b2PD'6%?/[MhOF+eQ343[7GY*P 113.740 - i,m=kWt/]=6O3\.-9XH\5i53)m\X;aH!G^r8LJZ42>u$Tf(oRKO,tX.joq\:QU[HafmQ-7E 113.741 - 9V]Gn2i=q@qE5+FXFJK)X6K3TD-c)hpV[*;Dh3ER@hl5j@h%H+i0/m&9]qn)p_(&S0>!T1R 113.742 - W:(,he.!RoV6.s)E$c0qbCtb/jor9&6_MDjOAFDsp)%gr+L(ti<#@K"^2q!H]6,^RX`;rWN 113.743 - 6-mN?-7IiN`Ys"+S7eRD?,k'%]VQ=%4=/#>1`_.M):q2R<h^'D2iq-^)*oGW1FrdH3!$mN! 113.744 - T4FfJ=[$SHp;t*)n^JH=,"h&\r>C!bL)_`.3_\VRM*F;YaGf9TjeDFFs]KF#2hBDJ1^kQ^' 113.745 - .mo'EHPg-P.8f_p@-<$WpuHHdg=QZXpROP'3sC)%iK<6jsr!SBK%i>2.'[.N)X[dhPRKI1+ 113.746 - M`_pDKrTUe.!#$-ED1^X4_dTHl?Tr8[!,pGo--;Qr:g7?RaN[T)V[iIoh94c<fG06YpO2/' 113.747 - a/pF#c,E*hdQsjX-*FL3*=r^t,(EIT:SYe+b45/M=gBl!R]s=WRe/En)c(*RPAAebaoo(ML 113.748 - )>QF[!E9B`;iatOgO]Bt5TS^?UFKR0h]0DO-5^D5C#:D3)aRpI.?"F":1Z%i*]UGH6,jkQm 113.749 - >mOd5d"o2J_h?^YHK/)1]irr@C^b+s5V3kRt:C:?9X@BnfC*T(kE#'F7OJ0=;"08L'I>h5p 113.750 - -\$fpMa]-:FtA3q=)YH3di,_*Bg??:j@CNSAo>Kq[!7@?_O8^^&sX@mS<V6%=XN]\t;uR2q 113.751 - Xt`\\V8>SFc0XEP3l!u']YOmLhVhg1LDhTgh0//eOM&Np`c(S2!RfnJS^)5/Yo2Y70`6#T" 113.752 - n)Bh9V?;85)Jg)"Y!()I$_)^nT)VmP@<#n?ra,$FYO$>+B11;;e(_rnFOq1m(PTI*35lV%5 113.753 - _:l^d$K"_bs&KTd=t3T%%:L4L6'_//c16@%b.f*Xs)<4(l9O;Kk1<'K^6BKp2B?5-)8V2Mr 113.754 - oH@-g-f?:*eDTV=VJaS`$fK.#JYQ]<P.Jp[W5@6(Te)O=[5mCj5e'%ID[0I@>Yj[ShcnE1< 113.755 - GTPJGL=<cl@5V`IZA3U[OjXQi>tEs+*GnOB==\%Z5r?+ct'H4qSB`7,j>2ZsGI)NCMrjf^s 113.756 - VY+d#=VP$'W5;(7c&jc\;=^0raa9]hOA[,,dSInnmbf@9eGr-crTn#@>oqam?nV_m+M5+ti 113.757 - Q<9f`P[+4I+Ej3o&Kh3sm?a/069*3c-`5>g0m?ZLL^-qa@3u[Ckda6'&Z!Qd`d5%r%/S:j+ 113.758 - 05"L\iJGN_i9gG`$QuOm13/Pu(1%rJL,$#t`Vt7KTfM>c>$=Sn)6)/$opX][^L=D#D"a?([ 113.759 - *"_$U<mTG>!AOE\)D<$S6e,q5lH,FY,R[p9OE1Po[q6;Fii=Xm<7bn[nB;Ua$gtJAJ&QJd9 113.760 - p&lL@$iB8$UkFEQ8#`ciDDfQ9IO*G\L.X5&_2@!^NtH%g50P<#5`_mE0gL-`T4fTXY<`)[o 113.761 - (fe2H!N-Adae%0AoFl'A(mMK>2?'KHpp#Kc+QRmi0#>E'h#8J4G..C`QGa5QN77C!O1rZ;? 113.762 - 7N`X=Jba+TQP&p%?8h#"S.LT.Yh^fXCe;#YLZLkmc9J[C'1*]V@pt`eZ,(AFK:qXt2:,A+g 113.763 - GT8'XLd@"T_SEqj`h?'tT81PW3RFgPfPDH18KKuiZeM?W$)'Y:5E'4uOBs;O71BEb<:fMZ< 113.764 - %9A"37P.D66t$F<EE4$[<5hY<\;16#Tle%etXX4ZC+is[Io!8Su5H/7?7"r;+K&e)<Pu[(' 113.765 - U:mT#Y9dCmF)OE]/d(H_dtQ-AauW*eubpBL&ZXN;k&U`R^=q(NIK?+#fJ.H="(gmsJJ$d]G 113.766 - =M.MZq]T<8XtJmbtEn9CMDEATus@XqNMQ=BoDEL<TB%>(3BU#Ku,79P(&$ar4,Z3d3bIQWO 113.767 - D&VO>u8(KA_P513]RKhHM3LhCNDKbo/g%E[YBK?oaU1h+rO+,?=_gPfbe`MpkC+_gGH_.+. 113.768 - 8kBblTOC@V6%o5/lA)O==O9RK`aT_g+UU*>Y<)VPQ/]l"B9QjTjDg[$,%[5Jca_68-0BCUG 113.769 - jr?&&&`HM<u8k<>"rik3I4ScVfBAY/uKd=Ol0u=jK$iNdJ.Z^\raEfh98QjnbR\T#'l%oNs 113.770 - 0L*)<@$4S.q=mi4s8tKm(_jV1TkEqhLb%KB.;A=-r&pWeV[#nl=!bJPH,fYO!CpWRc-4](I 113.771 - .Tp,3N+m)+0-LgHK;M"PZZcB390MIst<:`ee6e]SpSd7=0F^[\3JL6PC7\-RON31YU2Q3BO 113.772 - `)$=8fMg>k%VEIBR"5pMA*[?JXXB$;JSZp$DJZ9-<\1W>;d-hq5oN-uK$l]\%d;BN6l'<K/ 113.773 - )8\1;*^c$-]TJ$]=%E<00a89/3/J5V1e2AD7=V!f.ck,-:L<(_CCJUF+H#b;>AT`XL4p0q, 113.774 - ([^<6](Vqp.uP/;n.7ppfN7.G3MM1g)<bOHUfb!*Da21NtHh(8%A@:A+Er_85;H$\Gm^NK2 113.775 - `o0FBj]sF;oga[Y(Ur&]eHa5DeUh)Ik10MD65+"(4f^0[-a/0Z4M,E1%8nG[rk?q$B@2Y5h 113.776 - J=(/$AF/S(ZdQP/Fd9=#9S=9D9DXZg&b1^sXYjJNQLc.^&[Ut;.fgDnZR[Of812T;Vk:B@7 113.777 - m"^kmi:6<!q_*,"4n[^THJEEC0GYo$G'MHHYmq6.=BhpbR4_M.r9Zka>+W-OKj<XMn#/'%. 113.778 - [ONmI!*p<o@V-G9bRPWVQ#f=0J<OS%h?GC=)1kgPMa58nVX]*M5s="YYeE#LOJ+0XOi+sZm 113.779 - K.*C7A=nDR8Z.\9h7*5.'rat;egPUTc2f#@`U2)a[.VtOApFu[GY!39Ku%oq&Mh!A[VVa*< 113.780 - Nnt"Z1Vk[ifF.6ZCs"ilN!t(K*'T1d;f,VP[D*fir667&La\l-K4`>t^"C*M[FRMD92m!fW 113.781 - gKYGaS'nY]ZKi]eL%TP+aDga#>XGRK6+(=f.u<X%]1$T(%"b/^Z!aESC!2M;n#0l(K>25dh 113.782 - tVU[M;I.Wd7't&5)V[np20nn-1K<g4MKP8D.m>2&iA(Z);@@/`Lpl$#_e19:B(FZG+@Rid> 113.783 - 9*b,B0.<nj(q4$u?+YT1DY;o"$GP*?WIoG2>cb1t(hJOhqc><K;?ar\7L)$'5MifJ>!o!j$ 113.784 - \=ls"?Z)[ELs8ef5)tS^bfn:XDSDS9c.&b9,SR73aj_YKl8jc_\d"q08j$WTV_D#F%TIViK 113.785 - $Gqr=,7?R`C,j3\)hrL2>7.ArV@H-UoM>%ALosKA.g`QL$.3[$X]WJZu#A>;?iSg]?KJ[f. 113.786 - uk:WaPF.4+mQ:uZ?Rb&RFnSdV>9`J@b(<G<*L8fr\dHH[?RJ6r[%:*AGE;Rr,Y!^eGj%gG" 113.787 - O%X9O'8N30P#9BK<-f$)*S?no22M]Zi3di[AHK=ChM1X;&lI[XbSF1@$$_Z]qM.$E!L3<3W 113.788 - <6=[b;04XK&<BshK-&hA9lAN1hA9Y,C.)32%R>cX$ejb0N*RU1FnWT&"h*sbl?BI=;:oBQX 113.789 - t@Ne[?n_\?'SH2JEf45WO5'Xd^dP<./B)]6g/!aUR5VO$6pYMd,:c?)g-&3ft0i,Mk?9W\a 113.790 - 3VWfa!&b)^X!.>ahgkWmqOrJl"[@9r0Q*A2tUJUg*5';AR*gX$i<^:B\kl+)u*AaNl!*N6X 113.791 - GsGkW<@*/3SE#9c:qc*,&*M0q33X,2Ol?jGDgNW^[F.RoAtFctk8hO!@Q//E/$g058CFEB6 113.792 - j88oLLZq]OQJit2+KcVEoW<-t96UoC'j]uN$FhY@U2BMJ5*HbLDJ\)cmn7$7c;3PV^X=?WB 113.793 - mi0/N5I0Op27$,`)?P.PG'MRJpkG*YB2ggLEEU`:q\lPu*-Ctcl2csUH1Du6aa$*"b.@U$e 113.794 - 36kdd96p7KqMl\3j-RUXS%$Or6X4d!9Tjqj=UO:9?o^"k?oQ%&j-t`'6g@m9>Ib":V=";Sn 113.795 - m;45Dc*s]YLrt'a@:L&2WO!r2Ug\ct2*5@NdC!*M[.YNR;\pF)?sGQl$`g,p,KD"XIu[)d! 113.796 - H`gc!0HJfb]P[#<jprC'6N?:3o;J%tgZDY#?5gFL!2rsmHHUek&@o(P0X)''TV!qR<5j0Be 113.797 - :MPBG>L4E$P6"N1Ud&9l[^fonA)K5b&A-?R,\k#PN3+iF5q_E6p6$*pZKG^:Rj08F)_3!5! 113.798 - 6e&ZIg:`Uh1tY&GWNdLR'<6k"L?Miq6^jRm0JV#t5l4QKO<92g5Q`LrLBq:AR!8i9D($AC_ 113.799 - XoM!">H?.)Dlgr$G1Y>bS.d5[).(&-;nZddki(9\HckL-EpCar!,-$nhdVT"lMCmW+CXL4t 113.800 - FuWUqgNCnt(V!7>'YjKIfX21e>QL8ZB'P2l'%PPJejtAV?..\U0^]Bh/r%!"X$>,f!t:Z<! 113.801 - JVr1.e9Z4i+Ln2l6L\H0'$5k#EjBI\Rk!#@*?#;B]mqCoG%e-(_>J37=tCKl=>H,aAg7W`: 113.802 - _Jm4al7_(VA3D=+C!DOe`Bde;-Wk(#U#dHeno`NU,Kr]6_3g>at@54EM`8EefiakQbDB5L$ 113.803 - 7soL#>*Q>6?q92uKTpu+`.5oCJY9YK3t-]HX?%j3=YGjs[`Y^8)fMJj4r>_C,7Iq5qqMr;! 113.804 - (FsGa-u/0Uf`5tMR!ps]eb_1W#LP+-V7eRL.$\dKUBlDeAsHIa:m\?\7\5\!#ZbqMZ_\(/* 113.805 - `8uHT4&,2'?Z<:eX.t3X*khJr?;@]@f)a#=88LYp;@o.NjJ'GIs*-b4Mm\!PQUVCW)E.'Z3 113.806 - O&F&e\$3&"`d#=rkN"B;6RJt2$s3\WN/^aDK[W6+Pn_JCO/X<WEe,,%-'bV[5]7)Y@4!'h7 113.807 - (6&T7jnnbaF^:9ZFKMrL$EEGkQEX+"("nU9N`"="0O0r@/^tE9a\3rSDk-9<Q9m#"3K\2KQ 113.808 - !'J1:#Ins_>XHOHT$-'VVGeU&35Z.jK:#:E.54T:&3`JV.jitfbN[as34o;0@>"nBWWCt1F 113.809 - D\U*)mf+A#(5*""Rs_LN(Y-04IQq<i*1mrK<Puj3LcJGLn9eR9d.SrMb%&)3+2pq1I>p+%[ 113.810 - *nFgB<7m:kWM$L&b?]E,LE1V8T$LcuTMGU6bjPd=HTD:E9hi`=/#jo",L=:;LL)MkN473.d 113.811 - 6,Kg88BKW^L6Ys*!rKfag;oKRr,XW`ASWmXcH"=_3d:]t$Wcq%oRSAR*K+,)9jd+'Ah73nF 113.812 - &Oq#jM9rjCF3S9r$&!f9"K$6R'3>S\`),<:,"0!2j<8L=mcmUkcKYTlI&@r'bI0Z]rdQ!tP 113.813 - *B8ji=F_(+"3i,j`B;Vs%4dBP_5h_aZoY\G*^Y.9;3EZZ&IgsWk(_Ml"X2O.SG(6S)))X@J 113.814 - k5D6Luu`_gP9&tLp\F\.4PC5,HNIm<Ad_*5jcqY?U\]]e<JgcBIH$^c&cc<cGPOU'Bmr7k= 113.815 - Fof62U'R9C.CklW$Ygehpsg5m>eC.4q#)\=-6oj-mkO".M+k\'V8[7#0=FYtf%dbd;FYPfH 113.816 - g!ERuLWf.c4/Uh`a\<MB4D#Inu5=f[4<p9_.,;:C4s#l.PHFgt;sd?P9jZ5FSP'u*HF"d=T 113.817 - s"`pf*G1]fLfQ'2M@%P7aOp6Vt\r]B]&Gq)KNM%#DU@@-o@02/MObdk:L$4>rb:^uk8$f8) 113.818 - KXF(#8F;s/rPAFd7C*"fbTFI/N#c2ZLrB`:NK72TN/Z;HK11gQW8lP;!a.CDfc?\gKrC(ZA 113.819 - VgN.LJ=NerN+^)NOlW9NMWJ5*KZ;td`R,2X6:t<:ftr_iN!f9"uonc7;'F%<N>-Y"#ZE+@c 113.820 - :LPO9N&+JN^c&Xh^3%X'3KE>W&9[khFhm!F/pDgi^YsV5agZE87;->d^\9nCZN0q-%Hd"lN 113.821 - R<RcDhcD&,29`AlVk9LI%3=ORtue?ZnM\8_`7K\V*>MHDId_#'cI*QbQ?>bH&k^#4tEb`/1 113.822 - <NoeQ:"d<5ojkaCs;sNpZk_b.Ll.R9(g,4ptRY_;%X'%=FO1hS'FlNtbQO[hW/ntm+X"t3M 113.823 - :+Al>?T!A:Eo"7,F'%2[M1@Zp_B4_u<YHeGhXH8+]o([fK3mZ%htYFQ!8(Wnqd="?RLSGg, 113.824 - _Loo;rF>G`+V=@"q-L*Mr+h_O<dbY^bl0rn/];TKQ'"[:rZ\I$3`8'ak?IFD>6kjE_'K'?u 113.825 - VV@XrN!.*Is.kK\dg-M':fM;rG#Pi64[KgSnH/%j#m/i2.IQKfr\+l!Bf#i#%O3arfP4KA9 113.826 - ar>U[gh&;jX)W=Q[>+;Nel=G^/N!FS)!iZ6p4eh5Vs08O?D*B5nWJ.)TJk*A*F5`gO-^,QB 113.827 - 622s(-fY-8MfONuC%9hC@"[+&a^gDeg97lXXK\.LM)c`F3L7q.>T,oD<\7Xh7G6^DnilQ<% 113.828 - \;t2\s'jW5@ut$WTS?q^MdmSn@jrm;4j)blN+=&*@r+WpIEH&[?&0OT=P3N4R"AWMLu]%SA 113.829 - 0$Q,@<CQnUkn/%#!PL_[>j/dX(K.MB(f&6"Unk-MIs*iiY[kg)#NIb=_;8Ok/&5$5_E]tiE 113.830 - F<^=MB(lp1/uUOQW"TZj6X9#Yp%p=ql3EJ[c1F-?b?n+m2UJ#\J.6[XN`?5_3;M!)PG%BFB 113.831 - LU9KQ&aeV[(SKf(hBE1\b'N7Ndk-AIK)Fm)[!L`V#+^3GH'QtUH_Lq\6#Xu_OjMs'4J>fLM 113.832 - j<QjWELZi=oBs*[+VOCg+;/)>ZC37F-(l@LmbhPaPg?p5>Atb1.Tou:Mk-0[)m>L8.Jm.RE 113.833 - LhM_/`DKbr</;QtlOG3HSjPQ)VJ65L"ctYER7DqG+or5p!6>B15.K=p!G,qqBe]Qt&;/oPd 113.834 - !u*2!13on5WJo$4iIilc2pGak,4q+WOfF;C9su+`iTMaXo`LEA6,Mjp8tolZ0Q2+lS+'15X 113.835 - #Hk[94QZ#Ssmd:=8BXM//B8C@7`#*j:C-j'4LZ4BR5P5%]Q[Y\h[["ZV-K<U]?>c#0?/=GV 113.836 - E.R#598gBe?im?oG@&C##>MXHMf#ed9K:8ubZna2@(mJqjo2D(;p>d[R(.2$.k8-/c,QY[D 113.837 - qms'[q5_ePhJHeYM3Hu9hYY9Ws&Lu.$E*-<I#W9iAjmK-%mbR,a2X^o_;/ZpIDO?FP-ie3' 113.838 - M/Pjm#VPc_VY1:eId1TtmuJ!9#3$Fp(5PH\mkB@Gp<`)j1(;amE3CA,#,pqP'+$l@&,):pc 113.839 - P#B]1^NL/@mJ:YTSi$Ec!]I_+oZVdS0*uB!!dI\#,`8X-<G6oM=OJtK30p^.i-.rB!VJDKJ 113.840 - 5B%E!5N?.e3X(@o!s5(k;+jDi!R3i!#,2D^'4HbjpRIEh:frcRTf-,RGhCDr?Rqn,QWGK5B 113.841 - J#D.&$=52C<V3qVL#EYf4BB1HkV(^RQmmra\Ih;`J\OnB:0LCe6USJ`"_dC7V6o)Sf'h`Q^ 113.842 - f&HI%YBYY"/p`oka:q-UY2N+*d#@2H8PRR=ojWUAi\<$;rL@J)tof":;rgn-X<J_N+LhCJp 113.843 - %pX3XEHP&$G)i6i-Y<$OB_;=EoQZVon,Na^IdZB9G=[>INh"rAXT:Zn!)7;B-o1oX0(T#@p 113.844 - O@Aqd#'l"4^0sDKb%So8/Hfmf*3RapdU`s=Hj7S6$VE9J/BL+"eZ^QF8$2tpICDQf6VDONa 113.845 - ,q=pXZ$_^;0:m4S^?!G;j)BkF?eCS\_sQRU-9Z#_[EJE-(?af[iB6NnAViSTm)HqG3I3f1G 113.846 - ]R*.ZB?KchZB.2#\"f(I@9q9Q5d*".Enk+rNnJfkSSIf/ZlV$P,1q;@-_hmfBT62R@LH66# 113.847 - k%nQP`YPCGBqfac@pS_`F^&/,LM%=k,0;j([`HSf/H[j)PLN\J;BT17Z#p1/XVVV/'`d@HW 113.848 - EZ_K-^W-X_-34Y`j4r(P"kn<AS0@oa<5i-3^L2U812,!c#TlZh#>9k;9Sd=BI"7;6BFt.SL 113.849 - ;l1TUVKKj(Wm#%b6]!/F@T/NQd:,9`V@6:qu5RMVs/K9YC4II#WLT?#N't0n\K^sDFR'(/d 113.850 - r%>gjWo$H'Vn;#L<@*J+1/=$#Q#OR>9kl4F`u-JLH$O5mMtFD,O%@6/aMR<&P<#3Yf^:cu9 113.851 - s/!WY\sn[RUG4W0=]&X#-7Q;!a387OC:KUQ1"QqV*j3Mb5C2k3WU;n:u_I6XB$BN.#=(6(_ 113.852 - J#UrHYAKIC<W)R8cHDIJ>I&p2@BZd_[O"m\+-l*ZLrl>)+'5^`^Ksmg1Zd\=u$_6YN*KS@D 113.853 - F%J]5XXps>E*,4L(Cc/<@W>M_AiC`kaCK<o4Jl13Qcr5Ifsg*doq0OE+*p'HlULc#l>pn.e 113.854 - [=@KE9q6W(Cd!B@'WRDF_8qmHZt[rAQT:t;+d",6H%"Z5`sLBYL'cl='J[lHQ.`#4h*h[TI 113.855 - OIs:6+K&<]SWh<Y(I,5IOh1pf5"1T;U<.p\]JT)SantSC]Y.P()+CbAuh%VsW2;hO?+p&<a 113.856 - 5tqE2X.%[8$E6Ku]DJ%\Wfgljo*lf>.^d4A!*`=YdD'uc;O>o1KmN+E_]D$rt_[-]qAe=Wr 113.857 - (GkRBeZIC4l1+IDjSMD+b]r#c&BN[q=nP9B@.>h7SUl'/p<Kg299M`3m3$\X*bGj?:)WhV3 113.858 - 1<[s7?7Z;8M*OM$a(`uW8u\=AZ`JdIr?OjS%0]&EPV!<]8.lQc5US<TPeB^=Pan48"dGi5. 113.859 - `le98.grZ187-XSL%(.e(j`!:W#U=6e.H=?!#SlNFc8DQ*"m!`iSbscGqg/GonDNFWQXcE= 113.860 - 6ZJ8JJ:]O@XOX7m,ESC<kfd'bsE(8.$6K?5:FMRM34f!([]R!(+VuWkbPI!k]bO<$m;4C(O 113.861 - ,G_&9=RP3:6XH)C6I]i0Fr9LE%BQnAi#i<gTY[A?nSiFaC$9VH$m2J`h8djb1pZ<EU^8<)? 113.862 - ec*G.7<5MWt@k4uOP2Gpr"ScCcNb+X@RBCCrk8DNS>b@.lGg\D84atYS&7ts<eG/C"Q)='Y 113.863 - cUu`$j;F&T.A\&>,V%RdR'qnDe8uSj.9%Yu/kK.oL#GG?Pc/9"!\8r^Th$I4[ua=1"Cc%6J 113.864 - H1399rb'/VBMLLS1b>h^H+98`PP2]D3CdMElk7NaYp#t6[H83/.n?)@BQVkT-'p]fj>kg_g 113.865 - E4Q`-%Vh?.\cjO(I"kq<!(PBFQafTs]akBo6ne"]MAlG(P9;pcN#'f4pmJ06NN]OC%#7@7e 113.866 - UP6sV!UE>W8t.NsILZ!&U]#+8"QJK+%1%:stnP.nAqVrdaRS1fAnGs2rBb1aSXFRgNs7ja9 113.867 - ObWlfB?V.#j-VB*m+Erc9T6%ht#RU@D==j^7`#42(D-FP_G0`l56$Hq?U(lV"Jr9u80<H[g 113.868 - 5k9MD&d,pL.01\ZU.e2flk(`/?q1Kr&1^*J5tf+3>)H8)"%db0*@$YRLZ$,,KhtPK,;`%!! 113.869 - U`%i>XsLlH7b8g/pcG2$THFQ1.GBiMP3$T/F]U&6HBrU$.LXlYfT*s7#MM0r&>u6kk,[t6L 113.870 - c'aE.*jjJ&dAPqT19qN%p.n`d&RLjFiYY;GKgsBKSJ@ZlsW_U(TQ@.T?U[Q4N5)AVhQ';2j 113.871 - 0+)e.#g^+`sNL%op$K>;GcUfM8q8Leg[IU4h(;(onI_3_J<@Mjr@HVkW-R'SDW9\Gsmk(38 113.872 - iki(=(.6B@Xi8khCq/7ke(dl3.<?J"&I2"Z*3<enr$Vf8V"os$17L6@tOrA.4<)=tj^]U2o 113.873 - .Xhe?rB7(_!G)\2JP]MZ60L`DP*8V4c:CAO&aUg;6u[O7+lFn<i&WkBZmp\?kW-Zq6QAH!> 113.874 - )M7@%23L6PTg!R0>m?]g_hl%X>I=^3c'6LI5q:,m&L-/Hol'H2lKL"Qo_Nc9\(LIW-'_i<8 113.875 - *mAe27YY$MG(Z)*L]K@$D2DH#8GeJ3O:Sp)-1b4Z?ea)+#b9)FGe`^]4APL$^T@Nrag^$LD 113.876 - 7)rHTY%kQ-OOrE\al1p,<F\In,jbUa3[YuWKs=ONa>WhMSDoLsE;JY9X,N8FcU$pb)LJ3?C 113.877 - njVL4m-oYnH+0,D871MpYOd.G,XasBR+oG5B>@VO#Krh\j^>)rII;eNW6a@A+WiQO;B#Wii 113.878 - CsA\qPL7l:`^m<A@,Wacn7Xf$.(N//UddHKeK'je_7Wj0nhV5qGDaAt]XP';?JF9R/fbFcD 113.879 - XrI@0o.FpnCA=@@%Pot]F'hpaU5r8FUhX5Jac,8_,r>p@,)cTd@F1!=3eq7+oGtAY\4=J,[ 113.880 - #j%IQn(Ypa8XM0!4cY15(1'+/A%Ii='"MnV/d<=O.mq>TJKneCLYL)L)WX]JkPkX!\*fB8O 113.881 - G7Q_K9b)a_VC@r.^"nqL#a=\gMY=XAGi/ipMf"p2/VqFJd%0gA^E\sW@bBl)/)%,i99O2>X 113.882 - Dm5eR$@(^Oh_1GJq$dBnDWCl:tm8>^JJWb<BYiYBmQteANba'EiB:QRhF7+l>g,^p$;R*#f 113.883 - L4[lXDba]AYs[uT9=:RLOe:=j;<q'#9>a"pM8^sE8U6dC_IPu=:pLOHX,\QFC=^Db/[#O7S 113.884 - _-bK;3J%RIJ#US@RA7?(p/?+Fn(+;n/H'-4fu-c`D"bU;]Y-TMF_=3pX*IB`scAf)idIo$c 113.885 - )/DJ/Jr]E]oj76GtL/U#J%dfg';/!goY$JG`*KF+5,6D"(M5\)pHF4sXbrR=15p\(U0+VY> 113.886 - SV6OUh$58+tu<,h>E4id@$fY/ctcKZ0"5m_h>-'4e#E7T"t7t@WI+L'pd;,AQ3W`p,cHKbN 113.887 - gBe>2n.mde"`=a"!AF"FMj=V"obRn?E&Dnr^gp!&amLLFtLI0T\e"W!8Nad=^2s[8PYOoQR 113.888 - g&"0LgNdOj:cAAL--kF:N9VSo=/adWYj<A6S8o$hGrJJhYR<_OGE)-sANE[U2N"?Mp6[<Pr 113.889 - .,su^.`nL>[8C4M'1S+_o.r"3b!L:Nq?Y=dP+GJEI2L3OUqt9Fbu,-r*_(0B=ECUfEJa?ca 113.890 - Ag&pp(XBW'g]taU^Yl%@1s(\O@'$DRO4V[nUq]]"rE-Bh.C`<b*aF^]F=$==J[U0C-;fKI, 113.891 - KifTI=g.K->Q?k=TKH_NWUIH`!1Ui11D:I8Li^XiEln,=OR:8/0*O>"QH%c/Od2N0/2-Ee? 113.892 - gKRiYAJe\;O'8nP)+ER]N)CiN<!2'N/J;+1OOqe$0#Cn]5__+38A5C)_ImDBSYO_^i?5QLH 113.893 - !jH2\!"fF/OTt9h!,bR4U1"&c%08-7p@*8,WK;W^N[2s91=/_mcqlq\QN^2k$8A:`B505VF 113.894 - H^Mfm>A(>:/H4S_HDb\-;MR_im`[='^De;rD:*6K#01?!+hlk,%)C,^n_.W;Bq1V!!)9gJ2 113.895 - Bp8WYFD?5*-`a&<?)Y;!l6J$ASs.&Jt]A*#)6m`[L=dC6Amt@gln'%)[C+Ni`R?<s]%+%EJ 113.896 - 5n@]Cu?dg_EP5>_XsYltE8842n^(,9A9A,QAp9b@j@-I:W6d1.L9J<0hAGRXNN;*H8%VW_K 113.897 - ([=IKPK9@';!XuqN#lm3l"M>R:rX=AWock_jB/]^k/2GRV(53/RY+Y(mG3dP%-1QI!EI?\P 113.898 - !>o?%#>pNI@V3)=72?JS/HbS`JuoaI0cuOjj0?QGEX<k`*u<'N+!P1Z6(mLp6J=-O>7p@F/ 113.899 - f#]V]a[e`(m*;qUlYRpZoNY-3?bmJThH\^jrD4S'Q93r+_1trGTQtG*RS%]0M\slm2Rkj-R 113.900 - I,NEZ$%;5_Y@G*os1G1$elQ/pOXYORb;EaR:I\4Xjks&8dk#&u>o?FXlse.k+=&a?Ypr)Ts 113.901 - d2$Z\)_"ILN6*?W.4$0!`lZC`?rj!c0aptu]V_<)`2_&FQq(]a=>,E`c!Q3>C&Xb/D]6:3= 113.902 - :_"t@E0f!q2!^SDi9e>hK-F4"5d!$3Z;&:m&/dVn?!td5=5qp2,1XC+t1DMaQ9f1ifjC:Zb 113.903 - 9tN0[(@8<\)m\7\F#>CFB,K)/$%PDF/^gC<3#gh&($*"9+BS]_mW]CQ5-f/c':Cch&NM&a* 113.904 - Q#gQ"[pl3X##A=3>'_"n_H5>Rlg5X+ELLP0lJi:aYlXKEf7gk18-jpD_:S82Ua3)&GH^91` 113.905 - 2nr%AEJ:iU!<H1p]J!HjA)<__W:p.P4NV0^s3I1`7ML_*%r^4]EFX#i@pdk^-716PH[XF:C 113.906 - A)&i*EI@a-\pZq3ZiV'-LV+\#$jB2:S\/1'71#cGPG6*_6a4QaI09>G-@i"nRe,7J$I..'_ 113.907 - rFA4k2QU:=O78O^d<0J".j[auu8-1S<6g73@N%1'M9/O$JZr$fZiB?1XGS?tfZmQqo>ti+Q 113.908 - *s(:?Uq@[5L_erS$G^14,Hq96C,&B.R7'hAoX?2)q+O:O9TkN%1m(Q(a%+XM:r<l@,P=ouq 113.909 - bd#/j=G8'0XWL?&1I,n+@:''AKt+&.8_r.-1+T'_3u"q!]su-"99JCob9*E3[>;f5;`160u 113.910 - ZqR16*SgF-OjHeBp1>6WRZA<T5f8,:ck]!EbV$=Z)GdPp\*o!?5"Q;W<Za+9;`LD%Lfg!0s 113.911 - BW[6c1]<YT&,';auib##E1NY+P<=9<J7eZ;0heQHjh:R.nbU1mgGYu#PY1N]*HdktG!Lc;3 113.912 - &8d"NfQ3CS1%:JP#9=:Hm(%NclL.GckW>$F@[JK1uB%F">&n$D_A!EIbmMfc:F2JiTP&)TX 113.913 - "@uphraL:_eds/O.qSCZgD/7InA?]+dSWjn=4Qn00QgnSa(02G.Uo#\nM;$aF_$eBBf;3qQ 113.914 - 5(rNUJpk[0.u;rQ:*A,TQh5PC%ZgLp7N`UL_,*d3ANi[.%1Q23@LZP<F]`LNe05W_ePp9GS 113.915 - VDNelc]qrYq0m!4MOs5QV:9r=P4\g==^Ybk<P&i/]At*S.Q*Q+(+#>@3X_D$$tZ6XstbM-/ 113.916 - @?@F<nK@W?H)Ir<k(F=\"dFXpZs\gfS9GrHOTQFCWrFNin6+[OBkTnZOK*`VSd.2Ja7Q5Uu 113.917 - kj^th8EVDjKTW`U7X8nTK)cr9Xp/uMcK6;BDFOs`((E,FqDGQU>.!GuAQ_tj*2g>C8HZsa[ 113.918 - GKG64TfdC!9@k&'injTdr)F$fi_:_3<uR,1":"#T(4aI3EptD%Po[cm42QT):m*06M%$hPG 113.919 - W!*\_L)ns*2gRh,QQ;FD@:?V2grKhIK7aPQfgN`lS/\8J+Ok=@/5=>JUi`;-MS*_3"dQ?:t 113.920 - 0_-L,`_;2O]u3;g'>r)F6b'ph$eIeVE)=L`t0%G^G7VNJR@l(:(Gnj%ih,b*$XNLB(%Yplg 113.921 - TFXbunYM`$oZBKlk[_O%8d*(K92+PI.S[>an.NB#IJCWBS[5p7[**Po6(L?qZ$(QFgPO#Zf 113.922 - nGkdraC6sn5*C6\CUqCLEMBd\QOWb=!Go;a3qiU5O%iHW$fdW)XJWfgPP;tJX\Ghk(bS`]q 113.923 - (-oS=U(e>mU]mhb*o]-n\QOO;2jNY<"5.37_(Ct`@@$_/Meq,uWMmO48t!m/*4ZJ(fiSs!? 113.924 - 'dR5RJC@qfkHbr@*k3Y.qL5P3KooA@snh[NX>rW\W<34]U,%QR@u2F;]&LpWLN_2@/2jVfs 113.925 - s]me",a.S0Ct!\]2W*\2\_;Sf.2uq:;4LgL#7#TK2%uH0:U>?;sJW-A;1^q?<S!:S52,Q+> 113.926 - _Eg*i+ej<QbMS<`g%EeU7!4Zhm]M6(cVl4KZ_Kqma=*Vr_l3`%Qb/gM>kT$n9uG(ld(D(>B 113.927 - )TK5euH>Zbd.KUN=qk0`"3f0c0$)QW;VE,5VRO2W8.s`+nW[DMY.KQGkH`BM>"?Nn>^t5Wu 113.928 - YV#^5!#h+-3_sc7Xu^)[r3=T^6?KhkcB$?#GJdl\)V%+2ReO[%GACJl]$3Ebds^4UKZJ'0k 113.929 - kAa9r%GKg@Zs;\6YM67!%SXB,ApPA8n\O0-W=3`S,0(Tg9#\51/O[RZm*fm!F`=oTr^;p_@ 113.930 - 99RQ7%!<K:3_P(05:TV\hsMc7bL=gZ;?U_X"WFX0747EB$F5,_oM6frbRcIjBb,RsZda,IH 113.931 - ,_RfW>AqK8N9!P/D?1uX5%@/[^1GJ!\h])m,_)@`d:GWkUJ0ss)h;LC$\M'*9?1`'uV\&Z1 113.932 - O-tr:1]r8hiPfoZc8%r3HO&noKM@[&&ft]]]Fkb$0\sK1&MKg'R4O@)Ir$!Dl*3bD8-(AVG 113.933 - U0f=S,S]JC8J).P)kLFTc#_l'_R?R4m1D`q8i=ORYjKQ?d9biq1UomS=N3#6)q2#I\%t'$Z 113.934 - YAa@f=T*DN,]gRUI*Xd[at;,_nV^U6pc5W<KA/PCMOgY,C=.8iaZ/^3BgX6]HV-q=2V4D8P 113.935 - HTpb*Q0X]V3FAo>jM.aIM)3Hki<C0tb+u^VVe8o?F9:?PRT.-PD>f:6^<]_p?4(7CYV\"(/ 113.936 - %?l$.I.gR$HsS#rd*+4B7baZ<tk)g=-/C!8nQC7G:$;O[uY96rKsFMc/L!dI"aJ[r+dd<i' 113.937 - :gX"=cNRBh:SXh:^]kuAtA^am'K0mn7.,2on>LM-TaLCDK&fo/I@<,??Fb62NRqT4;FsiT$ 113.938 - fc>Lh(qD0>Vhs*7]"*gJh7)18?.^+@Wpce8I8N[XMgSEV`$C8Yc5EcGqnV34h@:.OrK#R#_ 113.939 - :`,=LqMZ74QYKb$s)33cTToIhA>&J!T/K=`+^$74d,>8E\*+,e9r(_IC%hf%s0o==n\Dd]m 113.940 - &:=5NLm6i@H(?]kQQEA87Tm-;t61S3+cho.lPp-knc+*,4CQQf7P\jVY&0>H-\Sa5Oadkp, 113.941 - l_9HE5U57i75-=$X#F!NY*Hq8.mkMh9D]jp)nA_UOV=agRD*Xh<ubXPp+B*#:)@'f6s.ia7 113.942 - Ol.Ol+'G5tl?"-AC!8Pd]6lFL$($4:ngE*u.^,tg*cX>VLRJtD!rtn1RdUti(nfg=#h^S+= 113.943 - i#/.@;#]S@!_d?pM]RUT.[;$so;+m*3('%84]=U;)^[)+=74VLnD7BUh50YO):oi7f3XO)+ 113.944 - )UbI)tE'2*8cHq!!k.6>PS"2*5@_-5<&=g9;A!M;1,Jf05<Augm;4ghVHm5oW<>/U[Z$4qg 113.945 - X$9+*$@6'CgRl1-nq=A:P=Xh='2rp]h'35Nm*%p^#dH[\655htTV^RNMS9'FFdCK0eH-QrG 113.946 - 6X%49!NE>Xp8#7i0!>qie;rD+Gk8)t9bjGl)?NQL3SGuTN$"&2G>;].E`B./I.B$cCQk'9+ 113.947 - ^:ZrK2'b6'hUJ^7iRT1u.9rCqT'cN?4WE#utT@K:iD=q2:^E7V;lfu@aIbF$?lFj@RD2fu^ 113.948 - '>&D4l#jUDmh_JDmRnX%?gj@%((U_*_cqcGR$q4sLW;^pfbnV5)jN*gfGU/?pE'@F<V,k9; 113.949 - ]QaPOD.R\3^e*cB\,[]qSph+',Zk(,&?#a-UU@Bn)`f5'TZD3E5Hflh/T.o.,OQjoIbT:WR 113.950 - ^<Wq]29[Dn4\qg2$CCrKbK8c.[O$RSCUke+J(e+!6ipJKXZ759HNLmYco40l1Y#WuFk[-Nb 113.951 - Q2nG<A.&7bqL0IMMtM7ISQ.gn]5`%qiiE9'(L.uNo+nggn!d&`ofl#Kc@`'E,o7F>pY)+H? 113.952 - V@2h[U]PAKWER]=Ta785A+%S.4LEf>f7"RZ3!]iUkaYGuN.7u@kTdr`U]W3SVEn%]PbOX`1 113.953 - 02+/Ia"pCf7*@F2o2OHhJD_g]!<>@j*!Cfq.(1Erdp2c6:\/-"5>Y;_#=D=p70uCZoN_/!J 113.954 - cKO43XPot'1Pml[)-8`j)!oZ_"@am(5)\:(eYmW6p"Bt:N]`?<V;&U=]T[A<=b^_'L]7..f 113.955 - 7O*Ta"pV5F!F#9k%5U/WXIG2J&"`=a#4_BNfSEX(^5\V6Of?2W_Dd>?;!62MN?s6#PI9rQf 113.956 - Ul2eCB\?$C_OG[>TZlZh:\V=An>2s'd`?W[L/JD^,;$\Dd]*YX07=@O*^@CV%0M.-1N,Dot 113.957 - *[JgL6+<i-eKqPk/MWB$u":"qB*CH);+?isXjlM5+Z.?+B=OefO)CCASRHAjgBDMgbTe1E# 113.958 - Ej.)l,/[b><X"2?j#JH[VrCbub)bh6`hfeP3p*cOl[&9BY\\XbbHYm<-I9):4(cmLD0p`d\ 113.959 - 6/O_3f.AB%ctBA2n0n2jZ-ZLM#b12S\m,B;=VV=DSqG?[DmtH#bD;pN7K6`B,Ss8I-3T;F7 113.960 - A%E&Er<3bG@V\@Lj0lFDkAWFk"`C--<+cA(UGQ[r^2GIE-WhGJ4<3iHO-+KAuZT2j<<JIQs 113.961 - =`H/<)68(&fN-VF4Va.G$1FT2M@K`L<j8Gm/A5jYrYnl_O]he1^<IK,)^[rb-ha.t8W3VrA 113.962 - s95E3]^W6EU?k`]nO1bK8!A++;oF$'mKFP`dmfZ+U'7cs&adS#(5g;Z[K!9D/623_O:j_h& 113.963 - AW?U'B2JqlC]6@KWY\"s@16S,L4J>V;a/T!%U`rYLOjIf$b1_!iL,^HAAhV:Jj+%s.DL[Y2 113.964 - CCofTbL)YoR>)NUr%oZYMt[-KnN>U`V@7d@h^)@Udc<;^p+eS3cb9e&iU-li&p%a@uc]&4% 113.965 - FPc*_It_=&E-7[(,`p,3]c&1)<5JGn>BK.0GOsG]ZLG%4"LF.$B0'9,qXZ-=kVqPEL(^a2^ 113.966 - a8U;QkidL:t(ktrpA<3%Hg/:g@D3ZTN/!s4Y82G8%V/l0\/Q]_oD\IkK'LpXs[#8lB]AopD 113.967 - c%)eEp2J5_U1FO!l]IS"(6crj_1a^`,S!%en!"!&n&0T[6o9G]$#%iLam->dISn&E\f,fq\ 113.968 - %68?mDU3Uu5"m6MRV8!<\sWpa%W)!7PSSm=$,8H53BWjrXHZKN,<TJC7\R1]L!b3$7S4BmO 113.969 - 43r':_MdrB[n?'Pa.n<PQOL7F8mY0!auZ9R2t9Q&ND,]Clju1EbL"+Lt&Gs;u-qn,o"pp[" 113.970 - ^55$B\5$;>I%"-DcrQ=[gSH0dhq@M'5K`<bg-PPRs96e4MuQBbajRQ'S`mR[[I+X^eJ$k,? 113.971 - kbiETb:?)uJ$/QNeI>cZD%YCmh$f@'OnliB&IQ4Cf7G<Jd&r$e*-)IHU)+_5@GJ$N)8kSZD 113.972 - u7&7X&R)H_0O<\X`8CYGPB##a`)`CT'.5?5RI+0rn[,f;r\$B&cgG@"f+7*Q-XB#\_g\ZOk 113.973 - XJM&b`6eZiOs4WN97eA.)V24+6r>A-l'Q?VlW%C=:MpWr]80XN:YNW-BGBjG\!HV[$\r7F. 113.974 - 2tPH,)4tF"_pWhQbF22_]5s0#;87;^P@.(bsD/MA(BT>(\O5(#$6A[;*_fQ,5'gW:KrZaXM 113.975 - 7.EQOs:$EcA-@2ai2SPKT7^c"-MjmS=4DdQrR\%)=')B*I;m?t$1^G+]Y/a'frsX0=r@a#N 113.976 - ^F@+u3En<L_t`)?IE[i@p/3?#gm7#-q`ANU6HngE&IM-Zk[Q&(GMa4YYi'l7L]B`9p![QcF 113.977 - =S9CiP5!I%')^,l0=aKDZ;94D?l&cpZ;!GBo,_bhOO?E-'oG3'.Fj^q58J-M1,<sHL0*>h@ 113.978 - #GZ;lB$tq^TB@^36>\=8.2kaQjH:a)1j5YDKa0tE4*P!fcDAQbY?#65+^d/"J^Tmk='9reK 113.979 - I5!0brXXg=muHK21EHqKGuVf3q&IoT#EirGe"faZqH7$-o?-1M406[QO3mS3'0UV&j6:mAd 113.980 - $/l)MI)^go7UkG-S6_0#D7,Br-[[R,.u3?BP)g?"]a1-9J8XCd!i0UX"bSk]^Z;/Zk2=YmA 113.981 - ;B173$dCuk@`TXpm`SnYW7L\N=qh3ISU)pNarpSPLBI$9\5'=j_"\ZXt?[o)W8;mNr(/jC< 113.982 - qMAhL)6>_8[hd?H6;eg9)Ec%].6lF,5",!h6/ATG6BT:g</V]@D$)ZKOe8n"=a(sQShV6Y+ 113.983 - nniBZM<XHfI44c)%F`li<\_ALm9]B(#EAE6CI.mNOEP)YC;l<"k[Y&P&=t8paj3^,<6U8EJ 113.984 - ks>U?Z\?bC;"c8:Y3,^P1Pp.[J<-K7u3H`4^@]PDr2GrHXU)G&(Wr0M>s;sQ^786laq)\p0 113.985 - >\YHk2cEg$NiQ;mcW.nRUC>>b?*':</Bt?9j-U*bX+%(:s0l0A5it/9^Pq;@1)GlX6l(l>1 113.986 - ?Lq0uZDqXPlj$X%NA`!bFd>Nsqc0?3n.5N5`dfOqoo,Q#$hjQH([ccr.237/[B$X9C8."Sr 113.987 - 3p:r0G50G[mMs`f/"#arU]*nlq;$`mPN%\jt2Xg]-.&4Sq?GL6p5C0h(Mr["<Gef7"1uOn6 113.988 - RU3WLWPGNW5kGmCaq>f.e3HZX]j)7;M!_qZk)(tm+Nqm=!iS&fLptSK$k*[tC_8n%#J07F2 113.989 - 7*u%>T^Ip-GMO:0#S7:4=r!]"?&pW5E%1OU`MhCTfAEt%3,gAP<-Qc.)Q>__Fh4'A1,)R-G 113.990 - 59tLg)gMe.jn:4t<%X$G0\"6oRLPN'chK_YcI5+M>T2!fA5:J-5hf4@Y,g?j_g"6VKoYlo7 113.991 - DW:.4GE$_0RI<!C,):Q-8_$7lTI9?P)oN'JM_5:?LuZr2pc9uWW,7D)k4)n*A*m4IBQ7ED1 113.992 - A32/X5#f=B.6"$M&S)=E[?k1[i`b]<XN+T\;6pBC5`fm[G9KYekK>>E!#Xi/g0S6_9=[OU" 113.993 - Z"T0;^rOHBF[p7l6Zc/EZu/BYUrEt>`-C%K0T8GPr488K4kn5;la&<#aN)AVLsV)="8s[YK 113.994 - oRs(Zg<!&E5a!+PfSfA8A%X:N*f)FN(+596aQWGr"fd/i5,;0LcFE_#uJ4CPIQiuV;u/Xkb 113.995 - 6%-R7XKL2tKtL>[Fg;2T`T(aS\(jka]_=gc8In/OCci6YHpV1'h"0aV]pg:u+>Kd@?,80g[ 113.996 - .B*2s,.W_)]L8YiO_%'_TnS?:;3\Wid\*47:ZYY/6197$QXe=K%?\4`j"bA=d`be5Pq\P#? 113.997 - %9AI<3,eQeZ_FuGb`hP7ToGbahVT^m;.*TNOI*#'NP"")>]7e/C]ZNq%4%tUY9`36ajM&Q# 113.998 - [*9$.,g=S/4Om/09hcVOaop9iMD.aufhJR&,8@H'XGtIUgWf"3c(s5l%,i@WgrrGZc$\AC* 113.999 - 9A>ci(dP?:3lh5E]c<*`&lHY#SV"\N,QZ0jMTbD#od^$n@VN_Q\_<hcO%`Hgucn8p.oDKcB 113.1000 - :97U;/a&^qql`Lr(B4YdMPG!?;MgMJW8a_=(1r^/&#.:d"q""Sa4Kq('qWTZbV:>g3OYM6N 113.1001 - fG#Vql27&5^B$Ae"b:sAoh"B?un"&M]*;)qb&ZN/4fl+t;0X5$f;aFm),BIU"\ZkWn'g1A1 113.1002 - sPJ-j-"OOU)gZZ?BgPD)]X>LX<73ti8BY>Qo*?#R8e@E[.Z\\htOQ_X"MG2F?Q-FsOddj6_ 113.1003 - 9dWdZ1(Vn=UTFa7/MK*tX"<oTU/Q/1fUp;0a+H_kLhc+br$OeSV2er?:HQo/<:WX3Es(M*# 113.1004 - t&^]FTDag3!DGqe(kU4h*d89f*s;5-0W7pj<;f@ZI9ODeGW2S9f&Q@1olRR:qRR'1%`mRKh 113.1005 - h.?d?EYl"92.K=1EQad0Q&dd%8>s"4^qTL`"]-8X3<*+J23A8,rWceROU;3j#ec<=NVBM!D 113.1006 - gF5=)Bi;/F6LHG*>n4pn'`#^`OH8;"LU>#)uneST>W"^P0hnAm^lZbYCQ71`F&l9#W-c_-* 113.1007 - @-#\BPE4rJl]!ZV1.#L&[G6g<ML`K"-"E=imG#fa%fPGZ3X_64MMHHgn<>mUB._%_QH2n&G 113.1008 - f8-680Sdg<FAsLA3.ticeUWH[N*!E<=ZmpaeRUoc)i7+N^Wi%"<KRR#Jr/O,;<0S?SH;3-L 113.1009 - K0:2$oO%NSV2p7Uo`*,/;8r5[Ad>s\lcg(=OO`V#`o>"$Wdn2<^fC-Pp44MK10XGLg;*(1h 113.1010 - Kg99>4%[3An$E!1mCfT39=Ld!1,m<,L.C\^tE+$l-N;@c,n!Wa%-n$D"4B%BM)aFpS;8Lt- 113.1011 - Z*lB*U<pKXLTNU=g:gKMTCUY7QEN")2YNMh^Md+!m3g`20G1lC'Oem3-,dW)$0ls;ucCfJi 113.1012 - FWRY5Z'r$L@l`o8Qd\Y8je_o1u[#OJ0`"bgJlj-otjP9OE3^[V?IHXQ3oj(0Z?!Z&gc0\WH 113.1013 - fM[<Mc88C(ZCaO5QpE6/\'<)Y`Uq@KJrT+@67p#U<TZW$\mH#@;2C"QfXp%V-K!?!?F!Yh` 113.1014 - U2S)!a;_o]eWF+e_3fY(GJg-a^sG]84ElT<s[?f@"n2YFpQ+2Y>NQi@+F/e=M*=\J_>"V@3 113.1015 - C,01>CS2!o\#5#Q;T9"i[YnhSd*,$>#IV:m=D%=^PIm=a\6J[BBpl&)J'1i\8$R"A"J0,tN 113.1016 - XZ@:g>8NU9IkA55;Adp%kjFrjkLVU4O*N^F<*r[1o[H/-+c$%8LVi20s78IQ#V#SiM0hD>N 113.1017 - ;37sMs-O'T\Q9Aa1U10mK@_KK,*,qj_$QP)[>?q_?8=$0UT&V.-?Y,nFXrQ3!6jer43A)D2 113.1018 - [M2`,5`@$ae'djIL-B/hMd_JriL7)EE'=^MFKj\0SAg;qI<=<#/(qFoNa9]d`XuG3838/$j 113.1019 - c(n<8sVH.$B(B]>POqt4]i$iA)E1JAJS0UNG)lY/`f=)_OUJbE0K#+S-3G5a["b++I"jVs# 113.1020 - e#%j"nnkjCRKKK1KsH@U9N#,e?L]Og-/1jQNK$GQ;AaUUC@n@GX##VLE(d4/c1oBKh)-2?T 113.1021 - \Rn53d%<m&3a3<K`)Ek3t2eT"F9A<dl4Ug6.[ABjpY"m4f0Kk43uhMuj@/@=W[6AfqXW+q+ 113.1022 - 8%Y':@Qbe*KBJ)F2:7Yr:'k@5uhm.,lGgb_jUPXE'M7#q=f\=R'nQ.$#+&7CGp0HoRT'B&* 113.1023 - cM0S<Ak)"pP$VIW1U*8+BKfGcU1i@V-2GW]Hn+/QK^1C"/<4CXhRQHHC*JsZ7o@C[ApA*Zp 113.1024 - hPo(C]*;[W[R2GM!>2[&*CWC5/g715A50D?u03nhAaO$L8IW/lrj(8`m"TDc>;^gL'Gk=%I 113.1025 - EFtZcsgf6.7pJpg1DZHo)"gD&1c@NnFup_'4WN6J_2P%T%#6hJM]<&!kqDIbVeAT`eu4;n. 113.1026 - eRroJ$(jppP3mV_6+Np1GL=\M:7m\]>gcL#N&=119FMb`b[%e4HYno$/PDa*f3:A&O3p2=j 113.1027 - CDgqJ"NqmUbqJWP6Dnc-fcM_\<rbq6)DuTfV%fpVk!cTdpE'FJE:Bb]E#&nJcE.8.4NsTct 113.1028 - $?30VE5)g#cOFjN%WLkIE;pJh%hWe'"cV7c_4nN<R'6$e(3+7/EISgFNu;r0)KDr"EPEK5c 113.1029 - Q.#_*c^WjEW7/%%j>s8,'#=]E^(gi:F1$g-?=#PEdoKXO"#+A.WV^CEka/GcRj1p/opD6Er 113.1030 - Rh7%l&,I135*)F$DL&:Gm3#2KNdqEk6^X(k@,~>Q 113.1031 -Q 113.1032 -showpage 113.1033 -%%Trailer 113.1034 -count op_count sub {pop} repeat 113.1035 -countdictstack dict_count sub {end} repeat 113.1036 -cairo_eps_state restore 113.1037 -%%EOF
114.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Time_in_VMS_2.svg Thu Feb 02 12:22:53 2012 -0800 114.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 114.3 @@ -1,480 +0,0 @@ 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.1 " 114.20 - sodipodi:docname="Time_in_VMS_2.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="Arrow1Lstart" 114.27 - orient="auto" 114.28 - refY="0.0" 114.29 - refX="0.0" 114.30 - id="Arrow1Lstart" 114.31 - style="overflow:visible"> 114.32 - <path 114.33 - id="path4394" 114.34 - 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 " 114.35 - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 114.36 - transform="scale(0.8) translate(12.5,0)" /> 114.37 - </marker> 114.38 - <marker 114.39 - inkscape:stockid="Arrow2Mstart" 114.40 - orient="auto" 114.41 - refY="0.0" 114.42 - refX="0.0" 114.43 - id="Arrow2Mstart" 114.44 - style="overflow:visible"> 114.45 - <path 114.46 - id="path4418" 114.47 - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" 114.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 " 114.49 - transform="scale(0.6) translate(0,0)" /> 114.50 - </marker> 114.51 - <marker 114.52 - inkscape:stockid="Arrow2Mend" 114.53 - orient="auto" 114.54 - refY="0.0" 114.55 - refX="0.0" 114.56 - id="Arrow2Mend" 114.57 - style="overflow:visible;"> 114.58 - <path 114.59 - id="path4008" 114.60 - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 114.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 " 114.62 - transform="scale(0.6) rotate(180) translate(0,0)" /> 114.63 - </marker> 114.64 - <inkscape:perspective 114.65 - sodipodi:type="inkscape:persp3d" 114.66 - inkscape:vp_x="0 : 526.18109 : 1" 114.67 - inkscape:vp_y="0 : 1000 : 0" 114.68 - inkscape:vp_z="744.09448 : 526.18109 : 1" 114.69 - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 114.70 - id="perspective10" /> 114.71 - <inkscape:perspective 114.72 - id="perspective11923" 114.73 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 114.74 - inkscape:vp_z="1 : 0.5 : 1" 114.75 - inkscape:vp_y="0 : 1000 : 0" 114.76 - inkscape:vp_x="0 : 0.5 : 1" 114.77 - sodipodi:type="inkscape:persp3d" /> 114.78 - </defs> 114.79 - <sodipodi:namedview 114.80 - id="base" 114.81 - pagecolor="#ffffff" 114.82 - bordercolor="#666666" 114.83 - borderopacity="1.0" 114.84 - gridtolerance="10000" 114.85 - guidetolerance="10" 114.86 - objecttolerance="10" 114.87 - inkscape:pageopacity="0.0" 114.88 - inkscape:pageshadow="2" 114.89 - inkscape:zoom="2.0363696" 114.90 - inkscape:cx="371.76816" 114.91 - inkscape:cy="548.07581" 114.92 - inkscape:document-units="px" 114.93 - inkscape:current-layer="layer1" 114.94 - showgrid="false" 114.95 - inkscape:window-width="1600" 114.96 - inkscape:window-height="848" 114.97 - inkscape:window-x="-8" 114.98 - inkscape:window-y="-8" 114.99 - inkscape:window-maximized="1" /> 114.100 - <metadata 114.101 - id="metadata7"> 114.102 - <rdf:RDF> 114.103 - <cc:Work 114.104 - rdf:about=""> 114.105 - <dc:format>image/svg+xml</dc:format> 114.106 - <dc:type 114.107 - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 114.108 - <dc:title></dc:title> 114.109 - </cc:Work> 114.110 - </rdf:RDF> 114.111 - </metadata> 114.112 - <g 114.113 - inkscape:label="Layer 1" 114.114 - inkscape:groupmode="layer" 114.115 - id="layer1"> 114.116 - <rect 114.117 - style="opacity:0.44897958;fill:none;stroke:#000000;stroke-width:0.10000002;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.39999998, 0.10000001;stroke-dashoffset:0" 114.118 - id="rect4618" 114.119 - width="262.76309" 114.120 - height="221.46587" 114.121 - x="216.25447" 114.122 - y="368.18204" /> 114.123 - <path 114.124 - style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 114.125 - d="m 219.12256,401.37498 c 186.41556,0 186.41556,0 186.41556,0" 114.126 - id="path11721" 114.127 - inkscape:connector-curvature="0" /> 114.128 - <g 114.129 - id="g11990" 114.130 - transform="translate(-2,0)"> 114.131 - <path 114.132 - id="path11907" 114.133 - d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 114.134 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 114.135 - inkscape:connector-curvature="0" /> 114.136 - <text 114.137 - xml:space="preserve" 114.138 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.139 - x="298.7023" 114.140 - y="380.52615" 114.141 - id="text11715-4" 114.142 - sodipodi:linespacing="100%"><tspan 114.143 - style="font-size:9px;text-align:center;text-anchor:middle" 114.144 - sodipodi:role="line" 114.145 - id="tspan11717-9" 114.146 - x="300.05582" 114.147 - y="380.52615">Ordering </tspan><tspan 114.148 - style="font-size:9px;text-align:center;text-anchor:middle" 114.149 - id="tspan11940" 114.150 - sodipodi:role="line" 114.151 - x="298.7023" 114.152 - y="389.52615">Point 1.1</tspan></text> 114.153 - </g> 114.154 - <g 114.155 - id="g11984" 114.156 - transform="translate(-2,0)"> 114.157 - <path 114.158 - id="path11911" 114.159 - d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 114.160 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 114.161 - inkscape:connector-curvature="0" /> 114.162 - <text 114.163 - xml:space="preserve" 114.164 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 114.165 - x="378.7023" 114.166 - y="380.52615" 114.167 - id="text11948" 114.168 - sodipodi:linespacing="100%"><tspan 114.169 - style="font-size:9px;text-align:center;text-anchor:middle" 114.170 - sodipodi:role="line" 114.171 - id="tspan11950" 114.172 - x="380.05582" 114.173 - y="380.52615">Ordering </tspan><tspan 114.174 - style="font-size:9px;text-align:center;text-anchor:middle" 114.175 - id="tspan11952" 114.176 - sodipodi:role="line" 114.177 - x="378.7023" 114.178 - y="389.52615">Point 1.2</tspan></text> 114.179 - </g> 114.180 - <text 114.181 - xml:space="preserve" 114.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 114.183 - x="410.7023" 114.184 - y="400.52615" 114.185 - id="text11954" 114.186 - sodipodi:linespacing="100%"><tspan 114.187 - sodipodi:role="line" 114.188 - id="tspan11956" 114.189 - x="410.7023" 114.190 - y="400.52615">Slave 1 </tspan><tspan 114.191 - id="tspan11958" 114.192 - sodipodi:role="line" 114.193 - x="410.7023" 114.194 - y="410.52615">Time</tspan></text> 114.195 - <text 114.196 - sodipodi:linespacing="100%" 114.197 - id="text11960" 114.198 - y="412.52615" 114.199 - x="336.7023" 114.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" 114.201 - xml:space="preserve"><tspan 114.202 - y="412.52615" 114.203 - x="336.7023" 114.204 - id="tspan11962" 114.205 - sodipodi:role="line" 114.206 - style="font-size:9px;text-align:center;text-anchor:middle">Trace</tspan><tspan 114.207 - y="421.52615" 114.208 - x="336.7023" 114.209 - sodipodi:role="line" 114.210 - id="tspan11964" 114.211 - style="font-size:9px;text-align:center;text-anchor:middle">Segment 1.2</tspan></text> 114.212 - <path 114.213 - id="path11996" 114.214 - d="m 218.7367,566.3745 c 136.92639,0 136.92639,0 136.92639,0" 114.215 - style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 114.216 - inkscape:connector-curvature="0" /> 114.217 - <g 114.218 - id="g11998" 114.219 - transform="translate(-61.820758,164.99952)"> 114.220 - <path 114.221 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 114.222 - d="m 298.82881,392.82004 c 0,30.42814 0,30.42814 0,30.42814" 114.223 - id="path12000" 114.224 - inkscape:connector-curvature="0" /> 114.225 - <text 114.226 - sodipodi:linespacing="100%" 114.227 - id="text12002" 114.228 - y="382.52615" 114.229 - x="298.7023" 114.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 114.231 - xml:space="preserve"><tspan 114.232 - y="382.52615" 114.233 - x="300.05582" 114.234 - id="tspan12004" 114.235 - sodipodi:role="line" 114.236 - style="font-size:9px;text-align:center;text-anchor:middle">Ordering </tspan><tspan 114.237 - y="391.52615" 114.238 - x="298.7023" 114.239 - sodipodi:role="line" 114.240 - id="tspan12006" 114.241 - style="font-size:9px;text-align:center;text-anchor:middle">Point 2.1</tspan></text> 114.242 - </g> 114.243 - <g 114.244 - id="g12008" 114.245 - transform="translate(-41.820758,164.99952)"> 114.246 - <path 114.247 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 114.248 - d="m 378.82881,392.77746 c 0,29.45519 0,29.45519 0,29.45519" 114.249 - id="path12010" 114.250 - inkscape:connector-curvature="0" /> 114.251 - <text 114.252 - sodipodi:linespacing="100%" 114.253 - id="text12012" 114.254 - y="382.52615" 114.255 - x="378.7023" 114.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 114.257 - xml:space="preserve"><tspan 114.258 - y="382.52615" 114.259 - x="380.05582" 114.260 - id="tspan12014" 114.261 - sodipodi:role="line" 114.262 - style="font-size:9px;text-align:center;text-anchor:middle">Ordering </tspan><tspan 114.263 - y="391.52615" 114.264 - x="378.7023" 114.265 - sodipodi:role="line" 114.266 - id="tspan12016" 114.267 - style="font-size:9px;text-align:center;text-anchor:middle">Point 2.2</tspan></text> 114.268 - </g> 114.269 - <text 114.270 - sodipodi:linespacing="100%" 114.271 - id="text12018" 114.272 - y="565.5257" 114.273 - x="360.8815" 114.274 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.275 - xml:space="preserve"><tspan 114.276 - y="565.5257" 114.277 - x="360.8815" 114.278 - id="tspan12020" 114.279 - sodipodi:role="line">Slave 2 </tspan><tspan 114.280 - y="575.5257" 114.281 - x="360.8815" 114.282 - sodipodi:role="line" 114.283 - id="tspan12022">Time</tspan></text> 114.284 - <text 114.285 - xml:space="preserve" 114.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" 114.287 - x="286.8815" 114.288 - y="577.5257" 114.289 - id="text12024" 114.290 - sodipodi:linespacing="100%"><tspan 114.291 - style="font-size:9px;text-align:center;text-anchor:middle" 114.292 - sodipodi:role="line" 114.293 - id="tspan12026" 114.294 - x="286.8815" 114.295 - y="577.5257">Trace</tspan><tspan 114.296 - style="font-size:9px;text-align:center;text-anchor:middle" 114.297 - id="tspan12028" 114.298 - sodipodi:role="line" 114.299 - x="286.8815" 114.300 - y="586.5257">Segment 2.2</tspan></text> 114.301 - <path 114.302 - id="path12042" 114.303 - d="m 219.28541,477.37498 c 221.9881,0 221.9881,0 221.9881,0" 114.304 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 114.305 - inkscape:connector-curvature="0" /> 114.306 - <g 114.307 - id="g4352"> 114.308 - <path 114.309 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 114.310 - d="m 364.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 114.311 - id="path12046" /> 114.312 - </g> 114.313 - <text 114.314 - sodipodi:linespacing="100%" 114.315 - id="text12064" 114.316 - y="476.52612" 114.317 - x="444.7023" 114.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" 114.319 - xml:space="preserve"><tspan 114.320 - y="476.52612" 114.321 - x="444.7023" 114.322 - id="tspan12066" 114.323 - sodipodi:role="line">Virtual</tspan><tspan 114.324 - y="486.52612" 114.325 - x="444.7023" 114.326 - sodipodi:role="line" 114.327 - id="tspan12068">Time</tspan></text> 114.328 - <path 114.329 - sodipodi:nodetypes="csc" 114.330 - id="path12088" 114.331 - d="m 296.85586,423.61086 c -0.6746,9.23477 12.95804,17.15062 36.60665,23.60165 30.29629,8.26442 30.49549,19.8861 30.49549,19.8861" 114.332 - style="fill:none;stroke:#422fac;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none;marker-start:none;marker-mid:url(#Arrow2Mstart);stroke-miterlimit:4;stroke-dasharray:none" 114.333 - inkscape:connector-curvature="0" /> 114.334 - <path 114.335 - style="fill:none;stroke:#a94c26;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-mid:url(#Arrow2Mstart);marker-end:none" 114.336 - d="m 235.15581,558.27524 c 5.57821,-24.46042 65.20732,-15.75184 92.00591,-34.36182 27.7906,-19.29887 36.98694,-43.82527 36.98694,-43.82527" 114.337 - id="path12090" 114.338 - sodipodi:nodetypes="csc" 114.339 - inkscape:connector-curvature="0" /> 114.340 - <path 114.341 - 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.99999995;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 114.342 - d="m 260.32322,423.61086 c 0.16936,12.05605 -1.4168,12.84312 -7.33661,21.29812 -7.37929,10.5395 -8.68389,35.47541 -8.68389,35.47541" 114.343 - id="path12092" 114.344 - sodipodi:nodetypes="csc" 114.345 - inkscape:connector-curvature="0" /> 114.346 - <path 114.347 - sodipodi:nodetypes="csc" 114.348 - id="path12094" 114.349 - d="m 289.91195,566.05438 c -1.10318,-15.47383 23.11587,-34.78941 62.58518,-37.65538 43.07369,-3.12769 41.76645,-35.21296 41.76645,-35.21296" 114.350 - style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.00000004, 4.00000012;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 114.351 - inkscape:connector-curvature="0" /> 114.352 - <g 114.353 - id="g4338" 114.354 - transform="translate(8,0)"> 114.355 - <path 114.356 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 114.357 - d="m 270.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 114.358 - id="path3246" /> 114.359 - </g> 114.360 - <g 114.361 - id="g4345"> 114.362 - <path 114.363 - id="path3276" 114.364 - d="m 322.82881,468.62956 c 0,29.31256 0,29.31256 0,29.31256" 114.365 - style="fill:none;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 114.366 - </g> 114.367 - <path 114.368 - style="fill:none;stroke:#422fac;stroke-width:0.99999981999999998px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);marker-mid:url(#Arrow2Mend)" 114.369 - d="m 296.20749,423.61086 c 0.16704,9.23477 -2.97293,14.97151 -8.86546,19.11208 -7.50179,5.27138 -7.75,24.37567 -7.75,24.37567" 114.370 - id="path3284" 114.371 - sodipodi:nodetypes="csc" 114.372 - inkscape:connector-curvature="0" /> 114.373 - <path 114.374 - sodipodi:nodetypes="csc" 114.375 - id="path3286" 114.376 - d="m 234.9439,557.68134 c 1.07457,-27.09268 43.69432,-13.3954 59.98795,-41.77377 14.33191,-24.96167 27.52892,-37.0233 27.52892,-37.0233" 114.377 - style="fill:none;stroke:#a94c26;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-mid:url(#Arrow2Mend);marker-end:url(#Arrow2Mend)" 114.378 - inkscape:connector-curvature="0" /> 114.379 - <path 114.380 - id="path4334" 114.381 - d="m 367.06883,483.37498 c 57.09423,0 57.09423,0 57.09423,0" 114.382 - style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 114.383 - <path 114.384 - style="fill:none;stroke:#a94c26;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 114.385 - d="m 367.06882,491.37498 c 57.47452,0 57.47452,0 57.47452,0" 114.386 - id="path4336" 114.387 - inkscape:connector-curvature="0" /> 114.388 - <text 114.389 - xml:space="preserve" 114.390 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.391 - x="256.7023" 114.392 - y="412.52615" 114.393 - id="text3133" 114.394 - sodipodi:linespacing="100%"><tspan 114.395 - style="font-size:9px;text-align:center;text-anchor:middle" 114.396 - sodipodi:role="line" 114.397 - id="tspan3135" 114.398 - x="256.7023" 114.399 - y="412.52615">Trace</tspan><tspan 114.400 - style="font-size:9px;text-align:center;text-anchor:middle" 114.401 - id="tspan3137" 114.402 - sodipodi:role="line" 114.403 - x="256.7023" 114.404 - y="421.52615">Segment 1.1</tspan></text> 114.405 - <text 114.406 - xml:space="preserve" 114.407 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.408 - x="277.68213" 114.409 - y="503.09308" 114.410 - id="text3278" 114.411 - sodipodi:linespacing="100%"><tspan 114.412 - style="font-size:7px;text-align:center;text-anchor:middle" 114.413 - sodipodi:role="line" 114.414 - id="tspan3280" 114.415 - x="277.68213" 114.416 - y="503.09308">Animated</tspan><tspan 114.417 - style="font-size:7px;text-align:center;text-anchor:middle" 114.418 - sodipodi:role="line" 114.419 - x="277.68213" 114.420 - y="510.09308" 114.421 - id="tspan4070">to</tspan><tspan 114.422 - style="font-size:7px;text-align:center;text-anchor:middle" 114.423 - id="tspan3282" 114.424 - sodipodi:role="line" 114.425 - x="277.68213" 114.426 - y="517.09308">Blocked</tspan></text> 114.427 - <text 114.428 - sodipodi:linespacing="100%" 114.429 - id="text12048" 114.430 - y="503.86087" 114.431 - x="364.27106" 114.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" 114.433 - xml:space="preserve"><tspan 114.434 - y="503.86087" 114.435 - x="365.32379" 114.436 - id="tspan12050" 114.437 - sodipodi:role="line" 114.438 - style="font-size:7px;text-align:center;text-anchor:middle">Ready </tspan><tspan 114.439 - y="510.86087" 114.440 - x="364.27106" 114.441 - sodipodi:role="line" 114.442 - id="tspan12052" 114.443 - style="font-size:7px;text-align:center;text-anchor:middle">to</tspan><tspan 114.444 - y="517.86084" 114.445 - x="364.27106" 114.446 - sodipodi:role="line" 114.447 - style="font-size:7px;text-align:center;text-anchor:middle" 114.448 - id="tspan3131">Animated</tspan></text> 114.449 - <path 114.450 - style="fill:none;stroke:#422fac;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 114.451 - d="m 219.06883,483.37498 c 57.09423,0 57.09423,0 57.09423,0" 114.452 - id="path3234" 114.453 - inkscape:connector-curvature="0" /> 114.454 - <path 114.455 - 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.99999997;stroke-dashoffset:0;marker-end:url(#Arrow2Mend)" 114.456 - d="m 340.32324,423.61086 c -0.57122,12.05605 4.77853,12.84312 24.74468,21.29812 24.88863,10.5395 29.28874,35.47541 29.28874,35.47541" 114.457 - id="path3238" 114.458 - sodipodi:nodetypes="csc" 114.459 - inkscape:connector-curvature="0" /> 114.460 - <text 114.461 - sodipodi:linespacing="100%" 114.462 - id="text3240" 114.463 - y="503.09308" 114.464 - x="321.68213" 114.465 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height: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.466 - xml:space="preserve"><tspan 114.467 - y="503.09308" 114.468 - x="321.68213" 114.469 - id="tspan3242" 114.470 - sodipodi:role="line" 114.471 - style="font-size:7px;text-align:center;text-anchor:middle">Animated</tspan><tspan 114.472 - id="tspan3244" 114.473 - y="510.09308" 114.474 - x="321.68213" 114.475 - sodipodi:role="line" 114.476 - style="font-size:7px;text-align:center;text-anchor:middle">to</tspan><tspan 114.477 - y="517.09308" 114.478 - x="321.68213" 114.479 - sodipodi:role="line" 114.480 - id="tspan3246" 114.481 - style="font-size:7px;text-align:center;text-anchor:middle">Blocked</tspan></text> 114.482 - </g> 114.483 -</svg>
115.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Time_layers.eps Thu Feb 02 12:22:53 2012 -0800 115.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 115.3 @@ -1,869 +0,0 @@ 115.4 -%!PS-Adobe-3.0 EPSF-3.0 115.5 -%%Creator: cairo 1.8.6 (http://cairographics.org) 115.6 -%%CreationDate: Sat Nov 20 00:16:39 2010 115.7 -%%Pages: 1 115.8 -%%BoundingBox: 0 0 206 75 115.9 -%%DocumentData: Clean7Bit 115.10 -%%LanguageLevel: 2 115.11 -%%EndComments 115.12 -%%BeginProlog 115.13 -/cairo_eps_state save def 115.14 -/dict_count countdictstack def 115.15 -/op_count count 1 sub def 115.16 -userdict begin 115.17 -/q { gsave } bind def 115.18 -/Q { grestore } bind def 115.19 -/cm { 6 array astore concat } bind def 115.20 -/w { setlinewidth } bind def 115.21 -/J { setlinecap } bind def 115.22 -/j { setlinejoin } bind def 115.23 -/M { setmiterlimit } bind def 115.24 -/d { setdash } bind def 115.25 -/m { moveto } bind def 115.26 -/l { lineto } bind def 115.27 -/c { curveto } bind def 115.28 -/h { closepath } bind def 115.29 -/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 115.30 - 0 exch rlineto 0 rlineto closepath } bind def 115.31 -/S { stroke } bind def 115.32 -/f { fill } bind def 115.33 -/f* { eofill } bind def 115.34 -/B { fill stroke } bind def 115.35 -/B* { eofill stroke } bind def 115.36 -/n { newpath } bind def 115.37 -/W { clip } bind def 115.38 -/W* { eoclip } bind def 115.39 -/BT { } bind def 115.40 -/ET { } bind def 115.41 -/pdfmark where { pop globaldict /?pdfmark /exec load put } 115.42 - { globaldict begin /?pdfmark /pop load def /pdfmark 115.43 - /cleartomark load def end } ifelse 115.44 -/BDC { mark 3 1 roll /BDC pdfmark } bind def 115.45 -/EMC { mark /EMC pdfmark } bind def 115.46 -/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 115.47 -/Tj { show currentpoint cairo_store_point } bind def 115.48 -/TJ { 115.49 - { 115.50 - dup 115.51 - type /stringtype eq 115.52 - { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 115.53 - } forall 115.54 - currentpoint cairo_store_point 115.55 -} bind def 115.56 -/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 115.57 - cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 115.58 -/Tf { pop /cairo_font exch def /cairo_font_matrix where 115.59 - { pop cairo_selectfont } if } bind def 115.60 -/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 115.61 - /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 115.62 - /cairo_font where { pop cairo_selectfont } if } bind def 115.63 -/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 115.64 - cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 115.65 -/g { setgray } bind def 115.66 -/rg { setrgbcolor } bind def 115.67 -/d1 { setcachedevice } bind def 115.68 -%%EndProlog 115.69 -11 dict begin 115.70 -/FontType 42 def 115.71 -/FontName /f-0-0 def 115.72 -/PaintType 0 def 115.73 -/FontMatrix [ 1 0 0 1 0 0 ] def 115.74 -/FontBBox [ 0 0 0 0 ] def 115.75 -/Encoding 256 array def 115.76 -0 1 255 { Encoding exch /.notdef put } for 115.77 -Encoding 1 /uni0050 put 115.78 -Encoding 2 /uni0072 put 115.79 -Encoding 3 /uni006F put 115.80 -Encoding 4 /uni0067 put 115.81 -Encoding 5 /uni0061 put 115.82 -Encoding 6 /uni006D put 115.83 -Encoding 7 /uni0020 put 115.84 -Encoding 8 /uni0054 put 115.85 -Encoding 9 /uni0069 put 115.86 -Encoding 10 /uni0065 put 115.87 -Encoding 11 /uni0068 put 115.88 -Encoding 12 /uni0079 put 115.89 -Encoding 13 /uni0073 put 115.90 -Encoding 14 /uni0063 put 115.91 -Encoding 15 /uni006C put 115.92 -Encoding 16 /uni0053 put 115.93 -Encoding 17 /uni0064 put 115.94 -Encoding 18 /uni0075 put 115.95 -/CharStrings 19 dict dup begin 115.96 -/.notdef 0 def 115.97 -/uni0050 1 def 115.98 -/uni0072 2 def 115.99 -/uni006F 3 def 115.100 -/uni0067 4 def 115.101 -/uni0061 5 def 115.102 -/uni006D 6 def 115.103 -/uni0020 7 def 115.104 -/uni0054 8 def 115.105 -/uni0069 9 def 115.106 -/uni0065 10 def 115.107 -/uni0068 11 def 115.108 -/uni0079 12 def 115.109 -/uni0073 13 def 115.110 -/uni0063 14 def 115.111 -/uni006C 15 def 115.112 -/uni0053 16 def 115.113 -/uni0064 17 def 115.114 -/uni0075 18 def 115.115 -end readonly def 115.116 -/sfnts [ 115.117 -<00010000000a008000030020636d61700076f10b00001a9000000064637674207d0742a80000 115.118 -1af4000002706670676d49d7df9200001d640000060a676c7966e942e463000000ac000019e4 115.119 -68656164d5ceeae00000237000000036686865610f7e06ae000023a800000024686d74784af9 115.120 -067a000023cc0000004c6c6f63613a8c41da00002418000000286d617870037802c900002440 115.121 -0000002070726570292ded1600002460000004ad00020080015e0380045e0003000700264016 115.122 -059c039d049c070017003700030000079c019d049c00002ffdfded012f5f5dfdfded31301311 115.123 -211125211121800300fd800200fe00015e0300fd00800200000200960000042605c3000a0013 115.124 -0108b9000cffea40170c0c024b0b180c0c024b670701021045070b4401440207b8ffd8b41010 115.125 -024b07b8ffdab40b0b024b07b8ffdab40d0d024b07b8fff0b40d0d064b07b8fff4400e0e0e06 115.126 -4b07471507022702020002b8ffeab41313024b02b8fff4b41010024b02b8fffa400b0f0f024b 115.127 -02040b0b024b02b8fffeb40d0d024b02b8fff0b40e0e064b02b8fffeb40c0c064b02b8ffe840 115.128 -2d1010064b0247143a124a125a1203350e450e550e0303050b120c000e180c0c024b0e160d0d 115.129 -024b0e4909090212b8ffe8400b0c0c024b12490502080502003f3f10ed2b11392fed2b2b3332 115.130 -113311335d5d0110e62b2b2b2b2b2b2b2b5f5d10e62b2b2b2b2b10eded10ed5f5d3130002b2b 115.131 -0111231136332011102122031116332011102122015ec8e32f027efdcc22727f070174fe7328 115.132 -0234fdcc05b90afe55fe1202dbfde30a0125010c0000000100960000031c0443000e00af401e 115.133 -0a400b0d024b081018102810c81004c70ed70e020e06094d064d68070107b8ffecb41313024b 115.134 -07b8ffeeb41010024b07b8fff240110f0f024b07040b0b024b07040c0c024b07b8ffeeb40f0f 115.135 -064b07b8fffcb40c0c064b07b8fff2b41010064b07b8fffc40250e0e064b070f170a270a370a 115.136 -470a570a670a0600050a400e0e064b0a02520c0806070a0c07003f3f3f10edcd2b325f5d0110 115.137 -d62b2b2b2b2b2b2b2b2b5deded10c65d5d3130002b01262322061511231133153633321702cd 115.138 -3e3f6597bebe68cd336003782bba83fd9a042fabbf1200020041ffec040a0443000b0015013c 115.139 -402517401010024b17400b0c024bb7050101381701114e17063706470667060406041010024b 115.140 -06b8ffdeb40f0f024b06b8fffcb40b0b024b06b8ffe4b40c0c024b06b8ffd4b40d0d024b06b8 115.141 -ffeab40e0e064b06b8ffe0b40c0c064b06b8ffe440760d0d064b060c4e87009700a700b700c7 115.142 -00e700063800480058006800040000101010024b000e0f0f024b00200b0b024b00200c0c024b 115.143 -00160d0d024b000c0e0e064b00100c0c064b000c0d0d064b00166a030165090103670e016813 115.144 -0102450e550e650e034a135a136a13030e100f0f024b0e520913b8fff040160f0f024b135203 115.145 -09180f0f024b09180f0f064b090b03b8ffe8b40f0f024b03b8ffe8b50f0f064b0307003f2b2b 115.146 -3f2b2b10ed2b10ed2b5d5d5f5d5d5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b2b 115.147 -2b2b2b5ded5d5f5d31302b2b1334003332121110002322001310213236351021220641010bda 115.148 -e6fefefce0e5ff00c8011d8597fee4829b021af80131fedbfefcfefdfed5012e0100fe6dd8bb 115.149 -018ed40000020050fe5c03c804740030003c0160402c48195819681978190400272b372b0202 115.150 -65017501020320101c12064e282b382b482b582b682b782b882b072bb8ffeab40e0e064b2bb8 115.151 -fff0400f0d0d064b2b193a4e1c0e1010024b1cb8fff440860c0c024b1c120d0d024b1c3e0023 115.152 -4e0d344e12060e0e064b120c0f0f024b12120b0c024b12120d0d024b123d17010188199819a8 115.153 -19b8190488189818a818b81804280c380c02006701770102026a317a31026537753702031020 115.154 -37281a171f181537180f0f024b37521f40090a064b1f9708a708b70803970ba70bb70b030028 115.155 -530825530b01b8ffc0b41114024b01b8ffc0b40b0c024b01b8ffc0b41114064b01b8ffc04009 115.156 -0c0c064b0103522e31b8ffe8400d0f0f024b3152152e0e0b061507003f3f3f10ed2b10fdc62b 115.157 -2b2b2b10edd4fd5f5d5dd42bed2b10c6123939111239395f5d5d5f5d5f5d5d5d5d0110d62b2b 115.158 -2b2bedd4edc610d62b2b2bedc6d42b2b5ded111239395f5d5f5d5f5d31301337163332363534 115.159 -2322062322353436372611343633321737170716151406070706061514333236333216151404 115.160 -2322260122061514163332363534266067a68c8195bc20a82fe46b4fe2eaac9e595f7c7249ca 115.161 -a49d1c5e622bb62c9eb1fef7cb68e6014d637d796765727bfedb986f59428220ac3556136a01 115.162 -06a8e0417275565f99a2dc101003251e291f978694b64a05048c6470938f74648c0000020050 115.163 -ffec03e40443001b002501d3b627401010024b25b8ffecb40b0c024b25b8ffee40490d0d064b 115.164 -071317130201672077200202280f480f0200b70fc70fd70fe70f04010025150f053718471857 115.165 -1867187718871897180718254d0a4d881501150c1313024b150c1010024b15b8fff8b40f0f02 115.166 -4b15b8fff040110c0c024b151e0d0d024b150c0e0e064b15b8fff040440f0f064b150c0d0d06 115.167 -4b1527214e38050100050c0f0f024b05160b0b024b05100c0c024b05120d0d024b050c0e0e06 115.168 -4b050c0c0c064b050c0d0d064b05263a0301032500b8ffc0b40d10024b00b8ffc040320d0f06 115.169 -4b480058006800780004000218191c520a080e52080f180f280f380f480f580f980fa80fb80f 115.170 -c80fd80fe80f0c000fb8ffc0b41317024b0fb8ffc040240d0d024b0f124a1e5a1e02031e52a8 115.171 -08b80802580801006a087a08020347085708020008b8ffc0b41414024b08b8ffc0b41313024b 115.172 -08b8ffe8b41010024b08b8ffe8b40f0f024b08b8ffc040131313064b08080c2352020c521219 115.173 -0b020b1207003f3f3f10ed10ed11392f2b2b2b2b2b5f5d5f5d5f5d5ded5f5d10dd2b2b5f5ded 115.174 -10d5ed10cd10dd5d2b2bcd5f5d0110d62b2b2b2b2b2b2b5f5ded10d62b2b2b2b2b2b2b2b71ed 115.175 -edc65d10c41112395f5d5f5d5f5d3130005f5d2b2b012b250623222635342433321710232207 115.176 -273636333216151114171522260326232206151433323702e472eb7eb9011ddd3c4ce8b26050 115.177 -36bf57e9d35474732b5a2490b6c5906f7b8fb788a3e11a0104609f2c3fd4e7fe808d2f5f4201 115.178 -df149465a789000100870000061d0443001f01b8403821400f10024b21400c0c024b071c0101 115.179 -08216821022721372157219721c72105004d371f011f101313024b1f081010024b1f1c0f0f02 115.180 -4b1fb8ffec40170b0b024b1f180c0c024b1f040d0d024b1f0e0f0f064b1fb8ffed400b0c0c06 115.181 -4b1f101010064b1fb8fffe401d0e0e064b1f084d37070107101313024b07021010024b071a0f 115.182 -0f024b07b8ffec40170b0b024b07180c0c024b07040d0d024b07080f0f064b07b8ffedb40c0c 115.183 -064b07b8fffe40180d0d064b07061010064b07104d071117112711e711040011b8fff8b41010 115.184 -064b11b8fffa400b0e0e064b11100909024b11b8fff4400b1313024b11040d0d024b11b8fff4 115.185 -b41010024b11b8fff440110f0f024b110a0b0b024b11080c0c024b11b8fff440530f0f064b11 115.186 -100c0c064b1120171c271c371c030118400d0d024b18401010064b182c0d0d064b4718571867 115.187 -187718040018400e0e064b18400e10024b18160f141603521b0c52161f0a080a110a1b071607 115.188 -1206003f3f3f3f3f3f10ed10ed10ddcd10cd2b2b5f5d2b2b2b5f5d0110d62b2b2b2b2b2b2b2b 115.189 -2b2b2b5f5dfdd42b2b2b2b2b2b2b2b2b2b5dedd42b2b2b2b2b2b2b2b2b2b5ded5d5d3130005f 115.190 -5d012b2b2111342322060711231134262322060711231133173633321736363332161511055f 115.191 -db457816be776239811bbe7c3f6ea5e65c20ae5ca6b602a6fd5536fce802f94f5b5835fcea04 115.192 -2f7c908f3d52c5b2fd34000100120000049305b900070080401e270701280401079301042c13 115.193 -13024b049301442702010002081010064b02b8ffe440111313024b02180f0f024b02100b0b02 115.194 -4b02b8fff6b40d0d024b02b8ffe640200e0e064b02120f0f064b02010c0c064b02220d0d064b 115.195 -02074804480502080502003f3f10eded012f2b2b2b2b2b2b2b2b2b5f5dede62b10e65d5d3130 115.196 -011123112135211502acc8fe2e04810505fafb0505b4b400000000020050000001c105c4000b 115.197 -001100d9b613400f0f024b13b8ffc0b60d0d024b097b03b8fff4b40e0e064b03b8fff8b40f0f 115.198 -024b03b8fffab40c0c024b03b8fff940200c0c064b03110e0c4d7711010011041313024b1102 115.199 -1010024b110e0f0f024b11b8ffeeb40b0b024b11b8ffecb40c0c024b11b8ffe6400b0d0d024b 115.200 -110e0f0f064b11b8fff8400b0c0c064b11120d0d064b11b8ffd640100e0e064b11081111064b 115.201 -11130d511000b8ffc040120f0f024b007c06400f0f024b06100c0a1006003f3f10d62bed2b10 115.202 -ed0110d62b2b2b2b2b2b2b2b2b2b2b5f5dfdc610d42b2b2b2bed3130012b2b01321615140623 115.203 -2226353436031123352111014b314545313045443793015105c44530314545313144fa3c038f 115.204 -a0fbd100000000020041ffec041c04430019002201ff408724400b0b024b58170103b807018a 115.205 -079a07aa07ba07ca07da0706025705016808780888089808a808052808380848085808680878 115.206 -0888089808a808b808c808d8080c00571877180208221010024b08180f0f024b08180c0c024b 115.207 -082c0d0d024b08100c0c064b08100d0d064b081f4e471e0102171837184718671887189718a7 115.208 -18b718c7180918b8ffe0b40e0e064b18b8ffdeb41010024b18b8ffdcb40f0f024b18b8ffe2b4 115.209 -0c0c024b18b8ffd4b40d0d024b18b8ffe4b40c0c064b18b8ffe4406b0d0d064b18011e4e014e 115.210 -87100138104810581068100410100e0e064b10101010024b10100f0f024b101c0b0c024b1016 115.211 -0d0d024b100c0c0c064b100c0d0d064b102387079707a7070300270537054705570504020752 115.212 -2a083a084a08030357086708770803070817080208b8ffc0b40b0c024b08b8ffd4b40d0d064b 115.213 -08b8ffc040350d0d024b080c1e50470157016701a701b701050001400f0f024b01400d0d024b 115.214 -01400f0f064b010105581a011a5214100f0f024b14b8ffe8b40d0d024b14b8ffe840200e0e06 115.215 -4b140c0f0f064b14671401024a145a140205100c0c024b05520c0b1407003f3fed2b5d5f5d10 115.216 -2b2b2b2bed5d11392f2b2b2b5f5ded10d52b2b2b5d715f5ded5f5d5f710110d62b2b2b2b2b2b 115.217 -2b5d5deded10dd2b2b2b2b2b2b2b5d5f5dedc42b2b2b2b2b2b5d5f5d715d5f5d5d5f5d313001 115.218 -2b0121141716333237170607062322272635103736333217161514012207060721342726040d 115.219 -fcfc675b8fa36d502c5b728cca8d9da190c5e5827efe247f56520b0251484f0205bc65585f89 115.220 -2c202a8997ff0109a08f817ccd3f0169524e74734d5400010087000003d905e60013010d400d 115.221 -15400b0b024b07101710020100b8fff8b60c0c064b004d13b8ffecb41010064b13b8fff8b413 115.222 -13024b13b8fff640171010024b130a0f0f024b131a0b0b024b13080c0c024b13b8ffd6b40e0e 115.223 -064b13b8fff6400b0d0d024b130e0f0f064b13b8fff840130d0d064b13080b4d084d07091709 115.224 -2709030009b8fff2b41010064b09b8fff4b41313024b09b8fff4400b1010024b09040d0d024b 115.225 -09b8fff440110f0f024b090a0b0b024b09080c0c024b09b8fff4b40e0e064b09b8fffa400c0f 115.226 -0f064b09146a047a040204b8ffe8400f0f0f024b04520f130a090a0f070a00003f3f3f3f10ed 115.227 -2b5d0110d62b2b2b2b2b2b2b2b2b5f5deded10d42b2b2b2b2b2b2b2b2b2bed2b3130005f5d01 115.228 -2b2111342623220607112311331136363332161511031b766b458b25bebe26a95aaac102a178 115.229 -8a5136fce405e6fdd33b4fe0c2fd5f000001000cfe5c03e6042f000f0105b9000dffe0b31010 115.230 -024bb1020243545840120d0b0452030e0e060b06030d0f0e0d0b0c0db8fff4b70b0b024b0d0d 115.231 -11101112392f2bddcd10ddcd10c4003f3f3fed123931301bb1060243545840150d0b0452030e 115.232 -0e060b06030d0f0e0d0b0c0d0d11101112392fddcd10ddcd10c4003f3f3fed123931301b4058 115.233 -4c0801380f0127000103270401004701010237010103081128110200380d480d02020d0d0c45 115.234 -07010707040e4f0f110c4f450b0103040b10980da80d020167060102270d470d570d670d770d 115.235 -05000d0f0452030e0f060b06003f3f3fed11395f5d5f5d5f5d0110d6c65f5ded10d6ed11392f 115.236 -5d11393d2f5f5d5f5d5f5d5f5d5f5d5f5d5d5d31305959002b05060623353236353426270133 115.237 -010133022025ed9277aa3e31fedec2013b011bc2b66688aa6f5058ab7e02e9fcc4033c000001 115.238 -0041ffec02fc0443002100e7402b23400b0b024b081f181f02070e170e022823482388230300 115.239 -3a0c01351d0103c8110111054e671d771d021db8ffeeb40e0e064b1db8ffe0405a0d0d024b1d 115.240 -1700174e480c01970ca70cb70ce70c04000c040e0e064b0c22e81901271b0101280701270f01 115.241 -28200102651a751a020307191a0314034812581268127812c81205120f370147015701670177 115.242 -01b701c70107000103b8ffe040141113064b03522014181113064b14520f200b0f07003f3f10 115.243 -ed2b10ed2bc55f5d10c55d111217395f5d5f5d5d5d5f5d5d0110d62b5f5d5dedc610d42b2b5d 115.244 -edc45d5f5d5d5f5d3130005d5d012b37371633323534272e0335343633321707262322061514 115.245 -17171616151406232241439f61b0aa835b4321c09b75b2367172445d75887d72cab3a940b468 115.246 -946a4c3c3e4f593384944ab05a403167353e39926e90a300000000010041ffec03b504430017 115.247 -0119401e450501a1010103281938190200870d970da70d030200070d870d970d030db8fff4b4 115.248 -1010024b0db8ffeab40f0f024b0db8ffeab40b0c024b0db8ffe840610d0d024b0d074e381248 115.249 -12028712a712b712c712e712050012101010024b12180f0f024b12200b0c024b12180d0d024b 115.250 -12060e0e064b120c0e0e064b12120c0c064b12100d0d064b1218250a350a450a032a043a044a 115.251 -0403030c52070d170d020db8ffc040160b0b024b0d0f015208001800020000400b0b024b0004 115.252 -b8ffe8b40c0c024b04b8ffe840190d0d024b0452150a180c0c024b0a180d0d024b0a520f0b15 115.253 -07003f3fed2b2b10ed2b2bdd2b5f5ded10dd2b5ded5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5d 115.254 -fdd42b2b2b2b5d3c5f5d5f5d5f5d5d3130010726262322061514163332371706232200351000 115.255 -21321603af5e1d93479bb6baa580824b99e2dbfee20129010253c203d8861d34d9bdbcc563a0 115.256 -630126fb01000136460000010096ffec020705e6000800c7b9000affc0b41313024b0ab8ffc0 115.257 -b41010024b0ab8ffc0402a0c0c024b070a170a270a370a470a570a670a770a08070617062706 115.258 -0306024d070117012701d701040001b8ffecb41313024b01b8ffeeb41010024b01b8fff24011 115.259 -0f0f024b01040b0b024b01040c0c024b01b8ffcc40170e0e064b01180f0f064b01130c0c064b 115.260 -01160d0d064b01b8ffec401b0b0b064b0109b705c70502010a081a082a083a08040652070b01 115.261 -00003f3fed5d5f5d0110d62b2b2b2b2b2b2b2b2b2b5f5dfdc65d5d3130012b2b2b1311331114 115.262 -1633152096be6350fe8f012f04b7fb695663aa00000000010050ffe7038805d2002601ccb102 115.263 -02435458401907221a0e180b0b024b0e120c0c024b0e22070e1a0425131714b8ffc040120c0c 115.264 -024b1411000401251749110304492509003fed3fed10cd123910cd2b1239121739012f2b2bcd 115.265 -2fcd31301bb106024354584086082401071001002520452065207520042a0b01034828a82802 115.266 -68130113074507223722672203221a001a45380e01870e01000e2777040102351e651e751e03 115.267 -351f451f651f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e04254814581468 115.268 -14781404141137014701570167017701a701b70107000125174911044925091103003f3fed10 115.269 -ed10cd5f5d10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f 115.270 -5d5d5f5d5d1b4086082401071001002520452065207520042a0b01034828a828026813011307 115.271 -4507223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f451f65 115.272 -1f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e042548145814681478140414 115.273 -1137014701570167017701a701b70107000125174911044925091103003f3fed10ed10cd5f5d 115.274 -10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d5f5d5d 115.275 -5959373716163332363534262727262635343633321707262623220615141616171716161514 115.276 -042322544938a742758e4f9f769677e8b6f35f3b28a44666752a4b74789679fef7dec343b829 115.277 -3780634a7f4b3746c087a4d84fae1d36745b385c3e383947c598a5e60002004bffed03ec05e6 115.278 -000e0019011e40161b400b0b024b004d0d190c4d470d010d201313024b0db8ffeab41010024b 115.279 -0db8fff6400b0f0f024b0d080b0b024b0db8fff6b40c0c024b0db8ffe4400b0d0d024b0d0c0f 115.280 -0f064b0db8ffe2b40c0c064b0db8fff240660d0d064b0d140c0c0c064b144e87060138064806 115.281 -020006080f0f024b061a0b0b024b061a0c0c024b06120d0d024b060c0e0e064b06100c0c064b 115.282 -060c0d0d064b061a251635164516032a113a114a110303580368030216180b0c024b16100f0f 115.283 -024b16520311b8ffe8400e0b0c024b115209480901020e0a03b8fff0b60f0f024b030b09b8ff 115.284 -eeb70d0d024b09070d00003f3f2b3f2b3f5f5d10ed2b10ed2b2b5d5f5d5d0110d62b2b2b2b2b 115.285 -2b2b5f5d5dfd2bd42b2b2b2b2b2b2b2b2b5dfd3c10ed3130012b253506232202353400333217 115.286 -1133110326232206151021323637032e63bdc9fa0120c7a656bebe487d99bd01602d7e10014f 115.287 -630120f0f101554e01f1fa1b03366ce4b0fe7d39200000000001007dffec03e3042f001200fb 115.288 -402714400b0b024b7714010a4d074d070801170847087708a708048708b708e70803080c1010 115.289 -064b08b8fffab40e0e064b08b8ffecb41313024b08b8ffec400b1010024b08160b0b024b08b8 115.290 -ffeeb40d0d024b08b8ffccb40e0e064b08b8fff0b40c0c064b08b8fff440150d0d064b08004d 115.291 -e812f81202071217122712030012b8fff8b41313024b12b8fffab41010024b12b8fff640230f 115.292 -0f024b120c0b0b024b120c0c0c024b12080d0d024b12040c0c064b12040d0d064b12b8fffa40 115.293 -110e0e064b121303520e090a0e0b08061206003f3f3f3f10ed0110d62b2b2b2b2b2b2b2b2b5f 115.294 -5d5dfdd42b2b2b2b2b2b2b2b2b5d7172eded5d3130012b011114333236371133112335060623 115.295 -22263511013bd75e9c19bebe20c15cb0bb042ffd55f86c4702f0fbd1943f69caba02bf000000 115.296 -0002000300000000001400010000000000340004002000000004000400010000f012ffff0000 115.297 -f000ffff10000001000000000006003000000000001300000001000200030004000500060007 115.298 -00080009000a000b000c000d000e000f00100011001205e6000005b9001905b90014042f0014 115.299 -0000ffe70000ffec0000ffecfe5c000005c30000fe5400000338000005d300000253000005c8 115.300 -000a000000000000000000000000000000000000000000000000000000000000000000000000 115.301 -0000000000000000000000000000000000000000000000000000000000000000000000000000 115.302 -00000000000000c800cd00cd009600b400b400000000000000be00c800c8008c00a0009b0096 115.303 -0000000000be00c800c8000000aa00aa000000000064007d0082008c009600a00064007d0082 115.304 -008c009b00d20064007d0082008c009600a002300136011801a401d600460218012c01c20000 115.305 -01d600eb00eb01d1017f0154011301450168012c008d02350159033f0505012c00b4006e0136 115.306 -015e01cc01cc04d8006e006e01d600d2005f01f4012c007802d00190037f00800280006e00b4 115.307 -000000a5fea2003200b9008c0000000000000000000000000000000000000000000000000000 115.308 -0000000000000000000000000000000000000000000000000000000000000000000000000000 115.309 -0000080005e6000005b9001905b90014042f00140000ffe70000ffec0000ffecfe5c00000000 115.310 -0000000000000338000000000000025300000000000000000000000000000000000000000000 115.311 -0000000000000000000000000000000000000000000000000000000000000000000000000000 115.312 -000000000000000000000000000000000000000000000000000000c800cd00cd009600b400b4 115.313 -00000000000000be00c800c8008c00a0009b00960000000000be00c800c8000000aa00aa0000 115.314 -00000064007d0082008c009600a00064007d0082008c009b00d20064007d0082008c009600a0 115.315 -4036544b214a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f 115.316 -181411100f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346 115.317 -236120b02661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361 115.318 -b0206020b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c45 115.319 -23462361b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd4423 115.320 -20b8015a51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d442359 115.321 -21212d2c20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00 115.322 -b10a0b4323430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b0 115.323 -0325456164b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c20 115.324 -69b04061b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87 115.325 -b0112bb0292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c 115.326 -01b005251023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0 115.327 -062510f500edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b0 115.328 -06430b2d2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b 115.329 -59b002602d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb8 115.330 -4000626023212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b0 115.331 -042545234520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b040 115.332 -61441b2121592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121 115.333 -592d2c4b515820b0032545695358441b2121591b2121592d2c45b01443b0006063b001606944 115.334 -2d2cb02f45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb3 115.335 -330034005944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b0 115.336 -01615923586559b02923442310b029e01b2121212121592d2cb0164358b004254564b0206066 115.337 -20581b21b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b00425 115.338 -2046b0042523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b004 115.339 -25b029e0b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625 115.340 -b00325b0016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b0 115.341 -4059b0016123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b004 115.342 -2523423cb00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b00425 115.343 -10b00525b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b005 115.344 -25b003254348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b0 115.345 -0425202046b004252342b0052508b003254548212121212d2c02b0032520b0042508b0022543 115.346 -482121212d2c452320451820b00050205823652359236820b040505821b04059235865598a60 115.347 -442d2c4b53234b515a5820458a60441b2121592d2c208a08234b538a4b515a5823381b212159 115.348 -2d2c00208a49b0005158b04023208a3812341b2121592d2c462346608a8a462320468a608a61 115.349 -b8ff8062232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b010606801 115.350 -3a2d2c208a2349648a2353583c1b21592d2c4b505845441b2121592d2cb0024354584b53234b 115.351 -515a58381b2121591b21212121592d2cb1020042b123018851b1400188535a58b91000002088 115.352 -5458b202010243604259b12401885158b920000040885458b2020202436042b12401885458b2 115.353 -022002436042004b014b5258b2020802436042591bb940000080885458b202040243604259b9 115.354 -4000008063b80100885458b202080243604259b94000010063b80200885458b2021002436042 115.355 -59b94000020063b80400885458b202400243604259595959592d00000001000000050000093f 115.356 -e5da5f0f3cf5001b080000000000ad61b71900000000c142e956ff50fde708a8078b0000000a 115.357 -0001000000000000000100000783fe39000008e9ff50ff7808a8000100000000000000000000 115.358 -0000000000130400008004760096031c0096044b0041040400500434005006a4008702690000 115.359 -04a5001202480050045d0041045f008703f2000c033d004103f60041025c009603d900500475 115.360 -004b045f007d0000002800d20144020c031204340540054005940622075a080208a4094a0a00 115.361 -0a780b980c540cf2000100000013004d0007004b000500020010002f0055000002f001ff0003 115.362 -0001400a54bfa50140a5111546a4b8010cb2321fa1b8011540b21f1f6fc731216ec731216dc7 115.363 -31216cc731216bc731216ac7312169c7312168c7312167c7312166c7312165c7312164c73121 115.364 -63c7312162c7312161c7312160c731215fc731215ec731215dc731215cc731215bc731215ac7 115.365 -312159c7312158c7312157c7312156c7312155c7312154c7312153c7312152c7312151c73121 115.366 -50c731214fc731214ec731214dc731214cc731214bc731214ac7312149c7312148c7312147c7 115.367 -312146c7312145c7312144c73121b80137b26f0821b80136b26e0821b80135b26d0821b80134 115.368 -b26c0821b80133b26b0821b80132b26a0821b80131b2690821b80130b2680821b8012fb26708 115.369 -21b8012eb2660821b8012db2650821b8012cb2640821b8012bb2630821b8012ab2620821b801 115.370 -29b2610821b80128b2600821b80127b25f0821b80126b25e0821b80125b25d0821b80124b25c 115.371 -0821b80123b25b0821b80122b25a0821b80121b2590821b80120b2580821b8011fb2570821b8 115.372 -011eb2560821b8011db2550821b8011cb2540821b8011bb2530821b8011ab2520821b80119b2 115.373 -510821b80118b2500821b80117b24f0821b80116b24e0821b80115b24d0821b80114b24c0821 115.374 -b80113b24b0821b80112b24a0821b80111b2490821b80110b2480821b8010fb2470821b8010e 115.375 -b2460821b8010db2450821b8010c40ff4408216957311f5857311f5657311f5152311f464431 115.376 -1f4544311f4f4e311f4d4e311f2097309740975097043088010f8c018f849f84af84bf84cf84 115.377 -058f689f68af680360697069028f5b018f5a017057018f509f50af50bf50cf50058f519f51af 115.378 -51038f529f52af52033f7c4f7c02507b607b707b03704e01708f01308f608f708f03008e0100 115.379 -8e01408e708e02008e308e408e508e608e708e06107040700260740160730170440100282800 115.380 -000012110840370f3fce16010fa21fa20218c7312114c731210ec731210dc731210cc731210b 115.381 -c731210ac7312109c7312108c7312107c7312106c7312105c7312104c7312103c7312102c731 115.382 -2101c73121407c00c73121e0180821dc140821d60e0821d50d0821d40c0821d30b0821d20a08 115.383 -21d1090821d0080821cf070821ce060821cd050821cc040821cb030821ca020821c9010821c8 115.384 -000821230e45220c45210a452008451f06451e04451d02451c00451a08180816081408120810 115.385 -080e080c080a08080806080408020800084bb807ff524bb008505b58b101018e59b0124b004b 115.386 -5442b9000101ff858d2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 115.387 -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b7342011d4bb01b5358b096 115.388 -1d594bb0325358b0001db1160042594b20b0325323b096515a58b0301d592b0145695342014b 115.389 -5058b108004259435c58b1080042591610703eb13737456920b0005458b040605944b1300070 115.390 -b33200300019701870737373737373747473737373737373737373737373737373732b2b2b2b 115.391 -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 115.392 -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 115.393 -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b742b00000000> 115.394 -] def 115.395 -FontName currentdict end definefont pop 115.396 -%%Page: 1 1 115.397 -%%BeginPageSetup 115.398 -%%PageBoundingBox: 0 0 206 75 115.399 -%%EndPageSetup 115.400 -q 115.401 -0 g 115.402 -0.864145 w 115.403 -0 J 115.404 -0 j 115.405 -[] 0.0 d 115.406 -4 M q 1 0 0 -1 0 74.329308 cm 115.407 -67.75 3.387 m 124.164 3.387 l 124.164 18.609 l 67.75 18.609 l 67.75 115.408 -3.387 l h 115.409 -67.75 3.387 m S Q 115.410 -BT 115.411 -8 0 0 8 70.70321 60.248497 Tm 115.412 -/f-0-0 1 Tf 115.413 -[<01>-1<0203040205060708>1<09060a>]TJ 115.414 -ET 115.415 -q 1 0 0 -1 0 74.329308 cm 115.416 -147.75 3.387 m 204.164 3.387 l 204.164 18.609 l 147.75 18.609 l 147.75 115.417 -3.387 l h 115.418 -147.75 3.387 m S Q 115.419 -BT 115.420 -8 0 0 8 150.70321 60.248497 Tm 115.421 -/f-0-0 1 Tf 115.422 -[<01>-1<0203040205060708>1<09060a>]TJ 115.423 -ET 115.424 -q 1 0 0 -1 0 74.329308 cm 115.425 -106.148 56.188 m 162.566 56.188 l 162.566 71.41 l 106.148 71.41 l 115.426 -106.148 56.188 l h 115.427 -106.148 56.188 m S Q 115.428 -BT 115.429 -8 0 0 8 109.10321 7.448497 Tm 115.430 -/f-0-0 1 Tf 115.431 -[<01>-1<0b0c>-1<0d090e>-1<050f07>1<0809060a>]TJ 115.432 -ET 115.433 -q 1 0 0 -1 0 74.329308 cm 115.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 115.435 -l h 115.436 -3.75 30.586 m S Q 115.437 -BT 115.438 -8 0 0 8 3.603992 33.048497 Tm 115.439 -/f-0-0 1 Tf 115.440 -<100e0b0a11120f0a02070809060a>Tj 115.441 -ET 115.442 -0.8 w 115.443 -q 1 0 0 -1 0 74.329308 cm 115.444 -95.039 19.262 m 94.672 27 101.449 32.363 114.461 35.277 c 133.074 115.445 -39.445 131.441 55.703 131.441 55.703 c S Q 115.446 -133.785 22.595 m 131.344 17.571 l 129.949 22.982 l 130.996 22.032 115.447 -132.547 21.884 133.785 22.595 c h 115.448 -133.785 22.595 m f* 115.449 -q 1 0 0 -1 0 74.329308 cm 115.450 -173.063 19.262 m 173.43 27 166.652 32.363 153.641 35.277 c 135.027 115.451 -39.445 136.66 55.703 136.66 55.703 c S Q 115.452 -138.168 22.982 m 136.773 17.571 l 134.332 22.599 l 135.547 21.876 115.453 -137.098 22.036 138.168 22.982 c h 115.454 -138.168 22.982 m f* 115.455 -1.12 w 115.456 -[ 3.36 1.12] 0.224 d 115.457 -q 1 0 0 -1 0 74.329308 cm 115.458 -111.125 32.664 m 111.125 34.766 109.418 36.473 107.313 36.473 c 105.211 115.459 -36.473 103.504 34.766 103.504 32.664 c 103.504 30.559 105.211 28.852 115.460 -107.313 28.852 c 109.418 28.852 111.125 30.559 111.125 32.664 c h 115.461 -111.125 32.664 m S Q 115.462 -[ 3.36 1.12] 0.224 d 115.463 -q 1 0 0 -1 0 74.329308 cm 115.464 -163.922 32.664 m 163.922 34.766 162.219 36.473 160.113 36.473 c 158.012 115.465 -36.473 156.305 34.766 156.305 32.664 c 156.305 30.559 158.012 28.852 115.466 -160.113 28.852 c 162.219 28.852 163.922 30.559 163.922 32.664 c h 115.467 -163.922 32.664 m S Q 115.468 -0.8 w 115.469 -[ 3.2 0.8] 0 d 115.470 -q 1 0 0 -1 0 74.329308 cm 115.471 -104.352 35.625 m 60.328 37.32 l S Q 115.472 -[ 3.2 0.8] 0 d 115.473 -q 1 0 0 -1 0 74.329308 cm 115.474 -157.684 36.473 m 145.832 47.477 60.328 40.703 60.328 40.703 c S Q 115.475 -Q q 115.476 -q 0 0 207 75 rectclip 115.477 -% Fallback Image: x=0, y=0, w=206, h=74 res=300dpi size=796293 115.478 -[ 0.24 0 0 0.24 0 0.169308 ] concat 115.479 -/DeviceRGB setcolorspace 115.480 -8 dict dup begin 115.481 - /ImageType 1 def 115.482 - /Width 859 def 115.483 - /Height 309 def 115.484 - /BitsPerComponent 8 def 115.485 - /Decode [ 0 1 0 1 0 1 ] def 115.486 - /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 115.487 - /ImageMatrix [ 1 0 0 -1 0 309 ] def 115.488 -end 115.489 -image 115.490 -J3KW%GU+$o#COBr:T)u+*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 115.491 - C^cenm@9:1mM9jS"!dTMT<$3[GQ$8#0$s<4ZX!SPQ1`B[F7^jpq0?^FN,^V01s.HIuWPG[6 115.492 - W[B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^gM+`4=1jRLW!YA=M/6)*KS9PE`kN%="Tc 115.493 - _Aoh+fk'&t\ctIN)4XQLiVp8<#YAIm[Y7B-r[TbficW^RQh!2M]<QfX_h/>87rW`7R`ng.Y 115.494 - r2oA,QcS@]\G\$U6`4nep,_pH-TAH`l>Cq)%f_I)hX5T5S6nLebM0LLI6LH!bN&*#rP(P"+ 115.495 - 0X8e4n!IWoKM[fr;O?J":"rmYZ)P=/W\C+#VBr\)#_11HnPfAcpQOe^lZJT&O\>6,mqMI<) 115.496 - 45nOSh6A`,RV,'LOT#CDfKZUgkE6.nj"d8#o$0"3&T&G8<[<jDuS:ne?\^ag-S(!6C:UB-p 115.497 - 7A"HtB0En$.'9/:TN,0H!@_^S6b'YcLslSP@q9rfh#(Vt(oQS:oZX&O[%1[41VTk`T"YUi< 115.498 - hWi8i09bg+EP\hF2dM.Ze8^`j*/PFP,br&5EPjLV0e.iE];:1TU%b7tHH5`j1e1'iRTrQXR 115.499 - INPu"D-PU,STS1=Q+_<Ies5WL?n57mLLOB9jb[-n29h7qf%+-#B\@P\VLI6"]sDG,[^EYYg 115.500 - \(fSCg4@h[qK%?D7a322>td=>o,*#G[4CIPBG^U($C!N\$_3;hY6\sHs_)@$XM]bjl;&$\7 115.501 - PhXh`*LjAmmZb(Q2_3`ZK_<p_AjFA%77DDdrK2-]MXs7L+uW=-cXF@lZG?OC`^75F#jVAY# 115.502 - <%\`S*rB">p.TkF2OIA9u6p5b>IpL\&@@QHqnTP$6]S#BkDG%7Req3JLkBtB=iV!+7RbHbk 115.503 - a-HE+Q3$uPElru[,[I%1alaH7$VVSE@=Pga+Dd1NS^$GKL!O-L47coJ*a2J%0EJR=cHRe=' 115.504 - ["!-:cS`u=SF8VeoGnH2dI`t_:"/bU:K>s<SSqfcp)T3*g%Lu?D;4e*cZS(<SaV!ap`9s"i 115.505 - V8utNT9gU:R1&;So:1_qAt]ol2%!TXm>j*caE0;SonVc[qKnq5bPJ>&r1NUs4-f@T5WQ[rZ 115.506 - @3_q>R"imJHo*ch78:TC;^Xhuj(2:_!Ol=:G;h6j\E@/d=Sn*<Y5Q&V<hS$:.cG"lR<:K2? 115.507 - Fq6.e=*i<1<W:lZ/T=A9+\6n*gdXqj@V>mM??%O#@C><YR"X9[MEL%+LO6eHetiWMQ';%=d 115.508 - <=H*pP6qN54/ga!=SJ1"9;2S4G.RdIA&#"ghL1E1\O>k=_h`2.$;-l"I=Nq`D6tqWXXu8c% 115.509 - h&GC-EK3oA3_*<>*TP(RM^.XAO1;bbUASC@0;6T[R11>#7#@%(/k/Cb*@'WuOciU;8kE/;- 115.510 - /dj2O0S[L_hc>[,m9p+;N=XI=\U@,7&cGLY#\0J>q=fKRW9![>/Oii(h(XBQ4iUl9A+_Hjo 115.511 - iMf;\!81=cG/u6n+Ei10P4AD#'kH@[C"?C/%j5*_"<+$F=Vf:"d3=k60b6;iYln=j8ti7-U 115.512 - 7@Y'*Rnh)jeQnX`\)H;@]24m0cZT2Y0,:YG\,#&OC0nY1N[=q*d]71#Ye/r!3V*CK%E&Y`5 115.513 - =51*N"%4/)^L@X>"coO<[klb'#e;OB*>"qTQ74G'4Y*Mu>>taF90r@pqRT!C,:$KVWVc<)U 115.514 - ;qcXql30JP<=Ya&>)cDE74o@@/s+%uP>gb#;6!VkW`<6)<U.P+X&X&?<:G07ke,0.nd7\ol 115.515 - C1rB7;7SMN([1)h-93!ENW<e\lW)&?0fH_WFF;`74Rn9lihsE<XuuK>7G$*[9j0(L-JP'!> 115.516 - jhhe$$2Tb#qh>>:Fe/ZW:th=kc)Pm002j<fYU3>>8i!7B*[qY1?e2?#/h]Z*m]Yg07cuD=, 115.517 - <Q[oVqR>71%%/@8*W2YQ-8>E*Xj7EN)A0'6EnSTF4QdC0gq`E:5BA16Q&\2S<n?.^<4.9P$ 115.518 - 2=*jFD=JoKiAUD);(7#/oh0SODnVKN>qGNf_io8IoZ*QKN96m9bCGk[u=:YGh$<;>*Q3>$+ 115.519 - /eq]M=*h)]0>4j0#iT#?#VVi&^=@i58'CRJkhZ96\6fkX=cn97:'eejY80CI*D3Pj/VKKb1 115.520 - ug-(NSkiq_fd[Cah&Q@DU&:')%Ro`4Ae^*<^k,5/b\3#;iGa-)9/(7.V-bG8h[ekL0/pIh2 115.521 - FdGZE@W[;9L34I$9rh7O6+*UF9`A+dDSAEPgC8PNA.GIV*0gXEI)WB.X"RieD$?fq1NC>KN 115.522 - >u5&JZn+#mrI*HuS$-I0SG/a&WiJ#b2_dopW0kUK6!2!1L-)BtAYX[N2rDPu#aHUuRj-9j> 115.523 - h(r)A$&F#`eXnBUKe%c&^CRol-2'jQugAUm5SVaW5p8n<5^KB&;q_U1=aP'ims(f;p[5Pt" 115.524 - fH:9)m?cM2[eA[EHRi]@NFe^P%cZ;KYA7H-f=U+HgY9>uE,Q3Q,PNN)b?LHKCJ?N?ZgRSG> 115.525 - 2seaSd3*m:@bn7$[V<&*?DW74PtC194cpp^c6f]dsMskES0BiX60TD]R,f2Sg/Bf[f=,_Q^ 115.526 - 27O3Ql]$A`OgQOn0W2'KJ??bF6a"Ac;eVq?Ak>r<K&bc=b4t?1,_G(T'UGF2[VC4NlJLVY+ 115.527 - 1Ed/(4SL]&<LFIXf2]*(@_q;7'II@jY%a'n@:_lS$qh$Nr?pZB0(\m^N_Q8dE+l8tc5G@(5 115.528 - ZHZ+E':i!T0DWfsU6kep5;grA^c_!<qOe^b<aa$u-iHL'4o%n6dGeIPGFM?,h5',.G+"?H& 115.529 - 6icft^Wh(s>lK-Ec10Qcd;m!/mH%uYJ:[=K;]qRu`+Qn%?OUcK?ZDhkKCKj%0Al]SS+=RQ+ 115.530 - 8'uaf"^Zu+$KA6pg4]pI!?$(?`29HhZ)e:s't7Q:US,jHhL$lFTC\4B`;?QD#W&`p`G:9V* 115.531 - ?p'<4gT;DWL-/Q@VikrboCIa7TB:jSqhKs,C.Km-=$m)!nC$kH:cb&298ChLJ4Yr3.s/YEJ 115.532 - o=IfF>8s.O-+mR$6><9Zpk"0\$nn3F,=klHZ;!QkWEn0n!L/G*mi#H8LABEG#ckSu:4'_%' 115.533 - XiSb(sI/++KJM4t>E'0e3VVP%Jrp!PjE/P"e>mV\5$"sbR8/DU$SI-gL#7gItmF)Hie;l;6 115.534 - J.TMG!RhN4BVa"6'_']Q&?a%bVV[C<"gIS.&EO%0;%Bi!"-EN'E6RK_q#^'o&ZFFnVuI4ho 115.535 - _Jnmr]njCd3B4hAIiXq$E*\48+R@N;%h81eIaXXnIjiaUuLi['X:o&&Kqk8RhIMgP&H'j:r 115.536 - pb@5fKufgX/-5EH_F<:6G'b(G(mi/7fPKbk@(E'sV*`l9qG+_VNQF(h`FX%DNV9HQ-rUV'. 115.537 - ]8kO]V]`:tJmV3/k=@=!INL`A,7)mC7X5oBG17&9?jIPH$e&_s2P^(X$)q@WH3C.f2epDcJ 115.538 - [$Hc-bB@e/Drt%dtqXMr.:R<&_8-uQq+UD3i&VR"o18N>L+7^-cnc/Y&*?0#A)A4>:ngPOK 115.539 - 3e.dP(@SFHc\!?r2]&U&(\0J\&D\8Fh]D<tr_^?K#P0($:8Lh6,_uUEESDkh;&k_Zq.`hLV 115.540 - r9"SHQO_3+*%/QEY\td.fN<N*)^i#n;/;BM(:&S,]V7]&"tCd9_ktE/1=FA&O*'>m\M[#,N 115.541 - 1L*1<h)Me>0D',uWNKP$7X$?DVY`-:g!3:b(aLGo@>5MG[k+b#3_n\KY\N%J'e#ZClYCiZ0 115.542 - eQVN72FL\i04$4RVKIBtL!Wa.D.h$co!q6N"4C/HCQHD_:C*HNj1Z6([hFXHBX2j7f2O+0( 115.543 - ::o;]^IrTBaYK6t3.41%Z-IK"UBBM$j;)T#%2X4@$8)Z7F3i6s_!9`f-8q@W(9,f[f3,2SX 115.544 - #MCtlFZ%P+2p[*s'7^CqK_l*p336aR&V2Q)m%lLeVXnR/PH:X&m!k4[4`ce_-n-k^FYQaa0 115.545 - shpWdiU1sC4B1@2D9\<ZO$=UAMrZ0$^*iSF2iYc!iOMH5En"%1cTpSp8=!h6ON?O-p]Hjn> 115.546 - 9-/Y*<=BnEQs7N5a-@_=.Hod/&<8A:??bV")PpZn39);*D9J#rFiD<,R,+7]3VU8CUD3'N0 115.547 - A/=#g8M7]PWD-oFP:T-I;.Y;F'c&@AB8G(F`LoJ)g5F<=7-f,@<n)Mf(f\=6SQRAV=?, 115.548 - o#MW%0j$dmU*>#b=DjNP*8:GZ<V(h4.-e1"pEi!j_-Ycp_o=TKO"YC@X09:T*Pn&5H\K);M 115.549 - ;Q&<HnEX%0deT%CV3MJr8(CRY[\].gK[fNb^]@LJkm5g=I<3o7[9j<L@gP"2V%m`o<JmUF+ 115.550 - %_7@$^H1;20sgpR+dap7W\'IeFchA92fs0;Xb+o[0%r"k>74h=>^X.'bpXHM,n@m=^fc`&E 115.551 - ?Z'<E.FA>JSW_#ME=HcRj9(**&^TojelH9.8.rV3Ot['il4eStu&(=CL/k192f/799%,1,R 115.552 - .M[LZJ@'4GWM@C?2=Q.Vp5Ndd9:Up]!+eX]^'[&%pEJMc*Z1u?Fjj^r1_68S2/<a'oKf0H? 115.553 - 97Ao:EO.0c0lQ'_C;?uM51tEc?[pFjO+Hj2Hp3ri]K4,#dA8st8Z5WJ%>bs?AIFa4NG.N+0 115.554 - P@rGo>4sHo'ZY!QQ"Y,mV3\uHQH'-8RN<(h9]tFtF3oIqVV60n8ubU!<d+7]JSnJiB<Qeu: 115.555 - p:otMcki(Bbo9JG*cTlmqL0>>um_>^mf<Ko4l>9*bnCFpAC_ph^hhDC_n0jQ:##D\qG5UB( 115.556 - dfaW_mk]F`"T^5mQ^n2cbB+V$=8Y0B`"H%u,Z/?PRHY:)7Pgk^@'nFJlP:CNj91kP&:_G7M 115.557 - [h=Z8<gG?\&<nSQmNK61[O-e3@KGBNNG6>sVTe&d!'dqo?[I!=4kep1c7,_(m>/@Mp:f(Rf 115.558 - uqdSiIH+3TppM>>gV.@r3J%)Oh=0[/cm<a%lKJ`4H!WRODPCa&^JsZJ4pHr"?c[uJoIFpN. 115.559 - =5p$aR""epV&)CJf7srZ(O6j"LUWOsC3_pCI=h1mC5;UM2XNR[j(\9)I+MYPntTc`Ck2!=% 115.560 - ^`--Q+Mh(1GTeuCq,`AfUn!ZeSr$rM.bd9E5-ros*lV_Is5=U0BIsH/S>oTIop]FE<%"=H! 115.561 - \"UMV+`$(GpY%M[7sqV>/kJ(n$$O*K+$LO&mul\7h\Jnta=jM\j^!W!e;5d-nJKOgn[lN)N 115.562 - Km&>bT"F74ArG@cd/r>&N:O1>RSoWN^Ac@6RmK_[Khpk\^U.]6@=PBcPN),Ydl4"L,>LcH' 115.563 - 3q#uCr@uZAGJbZb-pq;rm9pK`fP4?;N3JEeRK9)CHMKDpQBAo)an!=kKPp*K$MK+pVWJS0m 115.564 - K@hc6q0/9q#FS]aO6W]h:a"1_,kLMH:!XuFg#.S:?^l=GJ_@eh3H(CbeT9+C#hFtkG"M`PT 115.565 - n5:lIX1^e=d,;bbELW$Fd`].)B5Ch'p]a_T3;N#FVaQ?HH$YJo/)(<\ar?q++%0YU/gqn\c 115.566 - $N5,7Za:TR#sR\dkZ"/YP2FU1ccfq8JFVD5MU'T"!.J3\l8S'cEFsSiVga3Tm</6'f(GS2t 115.567 - D6Qj0IV9r=)7G*ap('[M.&++bDN&)'[MHBjo/\YiWMVoW)/m>72kH`>(2V]+A=>,%p@Vlb7 115.568 - pJ!RjLn[GPXdAr_FUj;@2g.eZ:Ffr=YV_5rZ/R=ocAY%2sW;@R?q&mcs,mg$.:AY&a;p;&G 115.569 - N.1WlP/-jAq?!NnO.r(dJ!7]@_&96Kl*S&1X;W+[qan3LS$8?[IImWJBN_GHJ#uo`K">s1q 115.570 - G_q`3i'@LIJZ@.4%H`+=FXOMUt_*A>0F%;>IHV#ZE\,Tg+U&V8\8,NXCp4r(#F_WLBho?Z2 115.571 - ;atg68a3-`7lXTP*;b0aN6Wk,%YF'3UI0]$7gS3P3u7]:+5a4+"QNq7?J/N-kN<]F2;4$,. 115.572 - 5`LV%Z[gNgV>Q`p9oITtQUBCWg)W.%t5V;(=Mqu=63TtafI`-\DZq_,@'_j9'gHo(<18:A- 115.573 - m)0jo^`i(K&4AURA;BP[,GF(+E\93d'=+A9JT^T&_R)R#!Q+^EK[9=HbBK<-*n\e[8_*"d6 115.574 - *1P#.\UZb_UMQQtY?@Xt/],$(b_P/t[oJG9f/%/EaH_0h)a2:[d175A^tc'-4RpC<mE5bgb 115.575 - $=\`S3s`T<NpkEc'TE'r+-V5Bu\sGJin%k]%b8P0g;+UBefuJ)5d[][E9K4`Ofun3Jn?3D_ 115.576 - lF_PW7XC)mdie\(+`]cs3?o?!GdKA'*Ml+8A42*8GtO!Z#!uQe]6uSA=uk`KGXXalj1!0:U 115.577 - D;`R>biIW@c,>CY-5YLIOOe?kL"Q8QiKNR4))eXa1i4IO-CkLTO#pcWYGSTi\q;6^RsYtrb 115.578 - lO4@iJ)r>AFZ7O8+I663=l-m]5>;fPOO+4VYrhQh]$^-4nh*\m2?-]A(bmKGEReb7ArQK]c 115.579 - d!M&/S]#tZlDI^e>$ZU)4bF*4LU*KDOT$_XrVWSBft9>Ei38F'rNEQa("GGAI_Hf#\m;MR- 115.580 - .op&k.WRr4i?:BoAaS,j/<^?2iHNul02jtdJb`O*dOSjdpnn2i&cRk'[ipCe^-HiIhsQtZ+ 115.581 - o(`$0"*2idH[BStG4/p!nM=I9sjhh333"4TtD*"Y^#^DSP2&8q<MW+9#2'hQ>n2YS?AZl[0 115.582 - <3VsE[6E?BYedN4+sq"O.r_;KdSm@=:48+l97C[O<pJ\I9'/q<,X7"IOmkQi-rVqpJJ?kJ[ 115.583 - rJ!,s((KCsXM)05UiZ=j>d`3<l=ShOQ4E9m?>?U<ap[oS%mscAQrmgfllS(JIe/LO\]Kh#& 115.584 - *nNM!b5X,j?R9`4a5J&^op*IFhd?(2NV7>Op:N-Ls/pilmItOEpUJWFs'aI8L%-84e]9K?S 115.585 - n\-fkP[UsrmRSa%gR^/#^h7)+V:#7)#1"a1a3J*PYNYBMacY<R$b<B$A8p8&(qWe8GeT7V% 115.586 - RFrM>J]L4m!Cobg'2eRms:hRFLYM4eGO6'H.\rM++1:knKRd/t#G3;sG)9Ptn;YX$r3%R.M 115.587 - i(?)uTD()itTiEJ-AlrKTUY1[[$>OE0DV9ZOV\ZIJCS(6ruFbCZP(X*X)SRf'10USA20,]b 115.588 - i:1Jn0gjjZ$P!:6jku=ro0pt`]dqAA=8YsmMobsB%Y?@ud<`7Q-"a-ZEgK\o+IFdk4]s->d 115.589 - =+0fRM*K[$%6Rrs6Z^H6F8?mCN_VqdP0)f@Cuh?S0U]XeZ[RsralW,>r>qCc_e$4JD;iW\5 115.590 - L+uSA(Jc:T7?>*rMhgbo7[-/Ca4tU^l:_@q`_3QnGPWaKHgdN:7=;f1=!H(br\K13psWK$V 115.591 - (NAE?n0j7.;/J^HKt3"E;?H37*I"$R./=S1fe2pr0N!HKRO$X9B\:C.&KkaGY^i(rgQq.iZ 115.592 - MZoQMQQEhc\CThrA&bW?'Y2\*H]q`oS:;QS%t9_1[#Sjc;R=Z%_n@q@YqBM7nCc1AmE[7CY 115.593 - [Kfr-c2#aN#1SkGicI<RB74L(('.fcW]/&`LEr',s]F>7f7FQA?4&7^i@^e9pl:T,e<:i$U 115.594 - ;j!5[8QSpUV"g!HeV$dbeuCT%<)k`F='!og"[,>Mm]@W@_fVVW0Jh)[1D*_IKqi?cB[oG1< 115.595 - -G!fZ64jd<nSXWN,NOfF3S6L<gP'0>MUb,[Xq`,otZ>f=(U\RfO+k)8B[1hPtP8D'Zk]0GU 115.596 - <eAg</EgK40"9EH<bUSf77WGa9k<;0U"PA(#8Nrm0%,*Arc9GpZ/<@0fT4P@]#M:PYV[7U" 115.597 - [.R?hWX65[t*ID]1K.dio%DF8(!qBh,q.To(MQ"^#+Rbq]7#%OPg)5a=4C@,nZb0*bK]+/3 115.598 - $re#c;)^`b-kq/JAZYb&!#H2BACD3`94/V;NCJ_sYSnlnN4b.&^*ppd_GHT>in=2u]U[@i; 115.599 - 'Z"[7G9b3WgW$dQC]!fi&Ft534$di?=$=rQHt)WnXh9EbeT'BHNP/I3m_aS9?!hC%6@ArOg 115.600 - \6(39AV3?:Oh>=*H$)RB@O[TiV@q4U"oIXL7R4J/n4b>HCi-;io>CKA)u>"cbo90hLET;A: 115.601 - C/rU\I&TgO"9qIXA;GqA7ubId:%]7t5+-qu8nU!<?LA"+ZIK"$h)C!ant8JWMbp5klK*@$D 115.602 - =VOB)`TGVKD1e/O%%Fq6n6-6+0@_/Z[:TUR&s$=O&fKoi_Z6MOst@?`R&OOb@<G]<rtP8\m 115.603 - 'FlYLUPmO0!6RhDr?:9%#&n4g5M30\D7/3Gi@['fKO]Eu$Gd/#ne6@inFtY@*9+_Kk?]:,5 115.604 - 1IcW:)Il`^NKLY.7ekp\iT"3NY%6u_2MW-Ee9`Su)E>e5!?bneK92636V)J7)4Q;,,-iOc8 115.605 - GODSA<`:@P#b4C[WM6gWloHZJjr?-5Y`QrQ^!Z!;bD=4.V2S>O`H1Vb5#HsAX'NeP1;oi2_ 115.606 - NuujEGPQdSS-_68p5&WgJtc@n_0111jM/R?KOA9_kA=AsCc5P?)HnH*K8>eD$IVG&L+N_)Q 115.607 - 'Aj.)=!F&%"L3N#il,86eq:ANj2B9`"ZPLb(VH1=(2eGGfRqL:GkkiO2G5`ZSaK2?k*?GsM 115.608 - b#a@6&66P5RBU'6"U@sLAl7kY>U&CVsjmPSD4\"ZN,G^#-j;gL28SM0T4JJ:2*84M?.-l5D 115.609 - CjKDU)IlNVeK^mNGTbK3G>N#dXD/4LTpsbJn_]l[I^L5p<;?,^85MaTPsVNOEqHgMOl*2Dl 115.610 - D20Cm6N&bH)n?=ZTKr!>%pE<Xd-8lMH\q=^_Lpm`jW(glB`l5D0<%IouMoH!*7='I^#+PSd 115.611 - E"?<ks-AYf<-DdoU*_ltqrlNEep*Ejc6ieWmJ,)?#BN[KeB!SM?EoJQ$=&:+[cm[>\3b>4T 115.612 - *&m?Of^Q'=:5EjcFZe[7)3RU'*O`@n@T_mkUm?<hP^4"aOP\Wk#`h"%lfDO&I!(Aa*DWf;- 115.613 - Re_<qGG4-@nR<WW2j.RUXo+eLiH>asA]$UHC>V"ERDj!70J1CF2]3ZnhSbnIk/-hHF21TW( 115.614 - =1u$(S'i8]JoFU""unHAfDtGnn<;lPQrM`I9JM4CNWlLC#-q[=6&89TA]0:?WWZQqMI$ju` 115.615 - J&+0@e&cCED]BHPRe:74E6BUYb/siC^+D@093=OP7G,;Xb0l@ONL$M\.f`*AGi*/#2W9:6U 115.616 - *)4*3e6P0KHf_X"9JTR:L/8?d+q&YC\m`<l@1;bh9D!NniOmo9!5n3S-2'bej<2c?IU&oV0 115.617 - ouhH%J4K?r6dP);sGO0SKTd@(o2kF.g1oQHGHKN<R1ijJi/d,*6?=&1JGRA`a1;Uh._MeNR 115.618 - VL\3R+c\>[4lLMA+FdB,[MVrSlHsQg\fVmDje:6bB%pnr&_p,Zd30g^2Z:S*8fnq%@m..Re 115.619 - [ZL4:RepJrS.W)Nek\bIaAhR*\%#?khZGs)Xl;UhZSoNVgfq62kV.!oD;O^;M"FO4F(@)9f 115.620 - '7;*daR>1Zb:T!'AMND&isn8_GD+"KclV^KFT06pKgVR>ZUrhTL$Rih@0ZM98df]S0p</Z5 115.621 - ,QhM/V+5LNo^>jd3&EEq<jkH#GJuUX,D1^2R,hQTO6]Z\d?fC!^ak.Kph,XauLo4F1'ql%Z 115.622 - YkLJq_8qNgO3q2_EGHWc71J[,a@GH>rY*&Teh"mgqZ,BeM$eT_U4m?U]tpA3lU`Xd.X^!sP 115.623 - )i+_%?fEUes?b^cU;-5Q^/+270_IYI1!dn"9ZU;pVG]+^+_uGoY60l^5T%1'XO.38g8'`,) 115.624 - Sec_:UFDrGdqbEU7l4WKo,\+KEisuX4dB;05muEd+Xui-T=ZK2TAON_1Z&#k<Z1g>bk'_;n 115.625 - nHAa*.V8VHlriLr`@PmB7(eLF(?Npf.?^k_s2[H=%.i2EWBZe$N>MepcXb6$\,P:"^g6554 115.626 - 5HL?e1AGYOH@Z-i4okp\R(*#Rum:\kmXdPLh@<4[/K;^flUFOKF(e#Sm7A3YKVh=P58;%L3 115.627 - s_3b/!$S.@%cbCXgJ%?MOF/-8*6Q9E;]1sc6(;T4BL(coSF_*f1iRi$p\T7R@%/^PFmJ9Jc 115.628 - 0HG7`r_-jCKYQ[0D@68!;_?;264.?JE/\hpX4n*NQF92\h/3R5bR4H;_PUm&YR#aU;":3[4 115.629 - O9:3d1cr&j_V@$qr%>L0+:XMk!?8cX\Dk9U&dm7s6ei<*\2H_Op]@L2#IHCU+NcU#BfjBS$ 115.630 - TKt/&19ehgC1_a%?hla@K/HC28h%?,\03QGU8?2#fR/2L#BrSXA_K>#me0L!J2RMn2A73FU 115.631 - '`tP>GW*X4m[eDoKefJim?`6qW(W?l,Ka6Kf]7/5SbCkranu`LLNb&=5id1(BGQ!%Z@uMrY 115.632 - 6?AB)hQ$J8%lka]RP-H)iI7iY&hBbUcAF@IZ(MVDcs(n?2JGTq4J!(].@W-?:l`5AMga4T& 115.633 - Fr-pd>C-@ema#&Al,Q%[D+q*lg86gLsGd*/=5Y-dCJ.UBh5T5L':ElGD8D1o%./egPO?GkD 115.634 - 8+7&!n1VmE.QP9RL.%=8cqm;]9#96;6DNC.*03\%r"e2sak59+a:Lg3W56,3U-NQf.#c109 115.635 - ZL+$79V',X+JI/oFCXNb*jR[/?9'!\-4ChJi&Ade?:'8"A9"qb8@VlUpC.+ZkK7B!sCp(S= 115.636 - <-(\0#E([tJHW+]XA,V8O9"-"r8JpfC,`'2/gkU-l%UM!#2X-TM`5$4rI1\/3A:OVQoCK^c 115.637 - %YJ7uMB'L\]<KcJB&[("79clX*i"2*&Q8@l_*b6fcn5B8!%/D!O.VS4=(JQY$$lk@VLi^<K 115.638 - !,!\<9ln40;3ki*G';V6X\9&(:6*Q#VNK=rOCc]@Bc\]HC-fjPfXQrWolqYdl:>G84m-c9? 115.639 - B$Un@#f+'e3!tY/>e5;%M>0KbBiN<pU5%%!Q!<eb82X2T+O:n^8jQFu,h._S!//h8!&0)/O 115.640 - =7umW&(AWaOh(<TJKDl0Ym>ELsXj%[0ogE$rG1X:tddu]_r,Rk!n#aXO%N4[1`kg)9dpu77 115.641 - aYdbH?J?%uql0#5!2+89E7h[`'q([3-n*N8jui+;:PIJ;gDCAI41;$IIl\;I(VID'r5(%oJ 115.642 - .A%2>U*fE`.`.oOSrLA6Z-r@\h[4>'HR;NXD"I5;P4$p`0ZN[U4sXZ',q3WcuT7>s.Q3/ga 115.643 - 0-e$=';r'W9l:4a31'tnZ4UF/G**7c.XVFNiN(_^D7!Jd(5`A[c9eb6)"\T:YbGfGZ;<5@q 115.644 - OHpE94AI,[dF;dWY`$uJ;7.SfeQl3UD-'_c=B1>`<Lm;nW)cp/p/Hj+\r^.C@6.7^^GGr2b 115.645 - :n6/'U9$[$jJ"`$fc>-NB%Dln'%8UMVSpL[9biS?a4sUeg,jt0T/prNt$eSRBXRMYliSpT# 115.646 - ;Vs"2(jg67'Z#`k\QQf0I""XYU$,?iU1Lf@\-e(f$g#/WlR5f'nRK!/4JhH5U:7Mlf6H8=p 115.647 - L(0j'E__/KXpXP8\5-^1?h=E(uO\9*ChO@O!5%f.OR<Kg*-n^ntA=>5E\7?/63Ko4]@fm'. 115.648 - oXd`-E8dk6)!-EO>TQ+-0`50PV#6gi)Tdg@jc35-d'h`(foTt78:=/s)#b@7e7@.14MV3fH 115.649 - =e2W*?t7n&6UmFq>8uQ0e#/D+;Hi;u_X&FLC*WlR\16TOg6d_#VuU#7[2<2O#Z\$3aJ'dIL 115.650 - E]'?9DDQpE4$=03<[=?>O_tdX/FCO-VnDDfM/p^rOZ:Q`Y]`0LeYV=aG\;^6A.eT-s0-Gb= 115.651 - dY\i`d6P:0BqJE!oh8kDHKT?(!`0=@:m5W!$tn"?#%-!(\Y+:!c_F_L!=,r,<D3^k"4$"3o 115.652 - t5U]\+("M^V"gpjHA_1LIp^XkX7#gAiiR+Y&-N7muG=m_cS5TS`Fin&^WL)otnX#=;:V?&j 115.653 - U6RpcI"I96\#D4o)U-'EL`W&I03\Z9N*HH\4qg^fUT&-,5?\*Q1^]7X-#"e=;:`,ch,RVGX 115.654 - ,[&t$`Md.iaJ"<:&/1^.i>r11=;g'X3XUl:?-l'-_)b)WeLq2?#dm;0!BOKj!M2*`12GO!r 115.655 - WQ^ZG$oJ!?\S*&ffDU4M[^F?^M#4HW[#)?$r=Aj@-.t+a?a:G3X&hA@K<43#UU4\hhi`M/G 115.656 - h$Pa[4rG);uE(aCq*s!(dj"al1B:?@tea:n1tn/f,QP?Ih5or+Hb>J-nQI@obE1?799K.L@ 115.657 - 5U!tId6UiZg45)M5(PFNm)jY]@?1:5IT;RG7gOJ,Ns3_HVcj,tJ!7QTCl4,W7T>fK=##!J, 115.658 - 5<mV.63d@UL#\M?2o40YQ%RI$#hC@W#TNiX$8N8BSpo_\#Y6!31';P+HF$p0WfEsNJM"M&* 115.659 - 7EXZ1?l"Juk0!,sku>)nWJnCf?cWRe.P58RU;H_*b?PH">Ok4rdTH":@/sB\SW7<r<=AM$B 115.660 - 0fU2hL9'.3a>KT$W_6hmW)qq-J`c53n<n9i1/(*.VF+_B8ml<R*e:h3&uDRkJ1eC?0^Wn>\ 115.661 - EbPApIA$0XtdE?,U<NU29qj/`m/[?=OH3M.#%I<@ia1-qa]Ib2/!\8@9-T3G0`IBPqTlIKN 115.662 - o4Tk;<+'n29WaHfME(R(XjAb``CPl[W.>fa5*K9MIPN#u#TbD'?./H'qPl7+t%Y0U4Z_lg& 115.663 - (S_mVjNbJ+il<.5(DLPs^>STr7MhK8Z@6$]p/HoBK@$2p/R)mP&>D6X:LKmQ1<VtS`6q:&X 115.664 - m$]?SBiMq1W/FZM#6ZgrV$:.hRVRq3B`>SUk^caZ"q;8"`-.<O\@0+[3_#]5Lr;?j<B1,mi 115.665 - $+*q%#l(Y,r%TNbMAOs82qo50$/WY.)Ra]:$=aX5[=\UAs>1C$Z1r:@l[QN]^69AkMFXO?F 115.666 - rF$L;2qpB'b%VQ4@eQ@ci'665IXVI4^8Z]>mg)@n*CnA)L6*M3KpOMiQa*PrAiEU<ee;>C\ 115.667 - @u+t1O%N^jpNA[AgD(#mRtrM"Za!Zqb:*ZF0sN/mksZ_KSic+@9>6X7q($Jh$\R<TE*r0:E 115.668 - &;..*eJL#5S`USL7U]?@9R6)(iJJ@88ZHS'i?>eH#C>k7aEYsc#mGD`4b6-4khp,\!%cW(< 115.669 - LI>2>aOl4Q[dbR0)N)>4,5pF+c!GE-@gXb7nHUV%`D$V2=+If\Cteg,Ki"LsP#6R!k6#p+h 115.670 - ;:SQqP%lfnpT8('uLABnSjF1$-XYk<[7sh6,9Y9$-K@UpI"3u!\!X62@i=?2NI/A954MSnu 115.671 - imgnLF'k\TI@,,P[4]Ym1rW*Gmr\AV-h:B-5g8o0oYY-7l7@7jHh+,_NR3?c[#*k_g5;M`B 115.672 - f&8Q?r"BjNI^N69j+=GS[;[Ke"MF>(q@0n#/j^sN-hC^Sr;p!>cRc-gS6@ni>ml@>H0T6"b 115.673 - ?YgZMJp17STD=6<-0K!F&/H'BT$QjsjHu+N6o:W*aY$).gS<0t:G3+2_Kun@2E<u%DpfqU^ 115.674 - f$JCPUFs;RA$lYVaL]Di.$if2FTEQYi5,3_(\Jo0FYJjj7oYC"<Le$6EUrR@k\FUm)P?_L# 115.675 - gU6YcX"nF[DWJL.!K('Ddg2q+iJ#+F]'fX7Znt>1Nb,DU=C@fd#=]A!R_qr:h,MS(lMa/@H 115.676 - :fMhp$<3B#mHCUf>p\TCs2^Q^8)A\g$3.NH#oo/P#NM"eo;u!Br#e'O`c<QTEZDlgc;]fGR 115.677 - 595][0Z$[Bkb@"6$[/qn5_CSqc/1\!n*)iq4XB9uAOY>=g&`q]X2r6V/-[i9p;*0f>$P>5k 115.678 - KR*f?+\V:FjC^BgY6u)(Ck'#kaqU@e"@#EO;#'a5[dN6].Ch\^MHhq:rH?q2A.#K?$/r7\m 115.679 - 8Q>s`>`1"P:IGW!hp61dp!IO<N:(j!@@&*KmdXdph*QuO;Xbcg.%$=]WIl6sU-+:2Eanc1# 115.680 - mSHG<'U&@j'9FEC@'Tm88MT65%KHOjok^95tLKa"==ikL-oCrpe]*Yrea!Nd<NTA2&hQGA' 115.681 - t)TL.*>M8S$7p7&Es7Q:kf;q1Qb!(k0_:PBYgDofJ\Xk-*Iml0h!65bBjbU\[a6VF2T/HA' 115.682 - S?.>UsgeTk.qYqW:\ldbk)G/7[o=_*R$6pT4:ZUp`HpLV=UF)0T7QZ`i"GC*@t<;6%1"u`6 115.683 - n)=YWs6!"ap`XsrCI"9Ng,0C.2_&U682$tpJ@s%)BL)R#=7MT*T(8jMkN+YdeXb8JI9oX_t 115.684 - g7U(]0G+b4Ee5Hi"DPco&Jr*)`A+02jrV(SNe0KlJP<%hg3$<Z[(l$7fo8c2c+<32CG!8M7 115.685 - "M]1blTdepfOHTmeV6Gds'g[oPFL0^X%7U8O,e1#l?m64:q_48Sds,$.*o##dmKb"QGXW]& 115.686 - Im!BaL7=K^egV`!f0cbn>Si45gm_k9O1>`R0'A(rfFCBW\3$_KqlQWVV4@.&[c?MPSNr<>q 115.687 - ^7'TEr$&Y,15aiQ*'-d#(sd!.-8@P5?\C["s9PjY=M8NHu>q(e!%3t*p`9MhbB\?aO:=jBa 115.688 - rC]hX.&q8E<Zb'0_ccFkq4uFW$#`KO`4TsD0W5.pm\06KZ)E=Hk.5hS+\BR^XK;eB:b\iOa 115.689 - l8[nj2J:Oc!N>NNLK!D\8p,PiPKK]WBS?L&]^?M96!\_>=3ia5R%G-5Yt><f*K\fPi.TB;S 115.690 - @3iuB\HLU;P)(]Mr#'#6l!4NgXV117pJ:gaG;eJ=pfQ2:q8iF!dB%['4+@oAl.@5c)H*J=5 115.691 - E\$WtDp^SL99<Gb)mt)N>l=;Au"RhoO$:LT:-.?]&;j@NUNg8JJ3UN@;RUOO5WhfgAUS)b! 115.692 - 2ij!Ion.Dd]FNIgno+9H0"fJB&,iI6&C\=u`L2A\Cm0_%h\&KL'iKc@:jQR2?umi$MA`,t: 115.693 - pDE"Z_:U6.&CX1mf=):XJDmI"%+m#i+G'V7chE`qs")^Iql*bG5^@7PgpT[$rn'+ZD^l06O 115.694 - nmL)bM3l/94Bk,pn]+uZOrSkA$<QfD`I(l->i&JnoA'@3d&`T8q&J=,nnT<)pe#VFUiI\YD 115.695 - ]CDmW`aM`B5iZN"Ce$6Ul+VVgJ"C%)nHJ!Z"05H-'sDCG9-.:ZqK77Mn2R6mP9l5aT&a:XQ 115.696 - rB=k+Vb2TT_ri+/jo-?X+E9HWY;XLA".kAbD6]RN(58B\B*YpLH,6^Lu\%*a@VIc]G)gB<X 115.697 - a]>9>'UbQkH5+=3\S(iZ]ML+IiZDV%/j&Fb),KSW$c!q[d;+db:,Po:\W(la6o.)I!UOUT= 115.698 - cZ5jM4<k@H_%cQJ3LW%-'M\q*XiZY=4+=0aUR"#b&a[o-_kS5#//JQ,3<H82DI'mD2)PZ7M 115.699 - !/*WF..W!(,:$iZd@?Oa7nc+/gSnT+XWT[SKLoI#U3L77j=$4(s$hP\+qaAC)\Zj"M*-&[; 115.700 - =4@GF[hq_#nA46\;i`(Z:a15I$#$6pW2>#!JlBLIBlPJ^B-ej?/1?,-I(48_d`Ve1mO2X1- 115.701 - Q<f(.2JD(^&4AKgDJW"sr6C"k*?q"?D/AJjO8]ZQ9dg!\cXsA2%_PS6Sc'7X'kiieHKe<j. 115.702 - >,2Wj)VS&iD6"c:27N=6AUU'5ZM3PRW&ES;4%@+<.!BI:kGq,O-:Hm3MHBL*pB(j#\":`9L 115.703 - &h#(np;6b^Bie8?Z4E=kMd>"+s/leON(]Y'65>bp$@gO>cUI6G2OpX?BaAe4b&"8]e$<'Gf 115.704 - r?S0o7Ie!R;]u]OOJ=.ZhpP+]!6G*`UK"mcb;'qe8@hfj<"c!+R[$e']<[+]OO+kQ3gV=-< 115.705 - @,r3.+OM\cN/C6LJ(2'!8>A)>EB&]!RQ/DR]TcZASjlc(k&0Z&l9g!5';MGYEB1V6V_TH1b 115.706 - TbJ8OmUgKOO0c,[i1&3?(a&q4MqT(lUn`.RW)B*0eB%02k1gQ"0oS+qA^R=CNECWW<osO/> 115.707 - W7b#\FW=VdmQ?H\Gb1=`HlBX=Bjc^'J-;k>k.,5,&5g60!^D:oJHp?L*kfc!6n)kF5]*/Hg 115.708 - g4`!Z#ZQ1sRG[#N84=UYO+nZJW?5pk.mihuUGFU8APUL3W-0H4kQF@P?'7AujTl&qR<)e"8 115.709 - 4\3/)(1]^O!#4+5YD*4rfGp1.$KUJ&V$jHR`k4es8RBJK'GA^6e.Ddq?tGV[+kUaq4M"3RV 115.710 - "#\8A1ifQWe:?u6Jj'@A;&r?1NLQ/?6o).f@$^Q7^:5h`NIN'[mD$mLrL>fQ@U=AS45k[aU 115.711 - Y\RES3kX&kFXP/>JT5%hPgk8b%<2aH[Pme24F^1F?\Wfpn%]*7^#SF@Ql[]VB(q\q=ICTpF 115.712 - V_H'?dSL.%ne"hFOkBG*!sF8.=19Y_k-%-=5UAamN2SV#e\Im\17&&NEVL>cSrC%;k/NoYd 115.713 - n&=cX#DBU$Y9Lhp0$p[C$&Id.L>!>)Gd3s"j0\3cn-5#$SWc_GieYFj"jAI(`dWS6H3p'<) 115.714 - ?#?l$l;k=(nDk4QIR:IQ@+im_1$IH$[eAfT<+)J?)AO<n2X@#<A)U/=Z6#Q(p?`pU]ia^ml 115.715 - ujl";'H!=Hu<sY0K8$K)1.^#E#P":kXGu'=?fDZP!=X+?CE+ME&8.9W^^@k%(FrS>M@@X5P 115.716 - V2c\9cbeOKFAZ[V!,(<8Wl!Y#7d##moYiXFa`cA$N.;)n;\")tJB%CO'Rnjo"-iD0]j(GS` 115.717 - g4h&XfU@1CZ?#RVa\Zq,<\("*hT;]9]S(E+;*2S.mHSKbPI-Ha7/:O1M*]i2:]RCU-YD@L" 115.718 - 6hRiG942V>*%O>1YO_$^VcjLpP+KS&'8g4Y4&jJE!rVMuKXE3<6a#iG:-c9_[q3(ZJ,kAPp 115.719 - NVLCYGBt$6J_dBRH65PV>4CH9iB+.t#4:X%WC_f\2*d8m2seLZ[7S8og^/IPciR"J4ok'02 115.720 - pLIM4t"<b?*_$1I3ugg?C8U6<0Lm!8$KXO;XkeLf(l$]n\1nT8fer;aY0^hIaJN"SicCW?R 115.721 - +[Bp["]_U[e>E0AldY%/f1!'p,K4n\=8cs23+rO91"8+C3nPF"dMXj>%k9N\hlb!Q!Xp"CA 115.722 - i/rn^'V6f:_ai;hm,&He+U>QS_L.cSk`'^b>J_FIr.c5QN\9#o/Ymr-qKYL`sHhZdt'/<?t 115.723 - 5O5g$JFQW($#I%n4OF7?&A7Dd!f^It`d!-c&B^cRl--u-*0D>RqV[ANc,_on9&@.5t+qUui 115.724 - mSKu2B_XOG+B`,I%)`]LV_Sd%ecrA4#8#`:@!N5Rpn+S344(eS&Fr:dOPn:Hq.^oFTqm9Z< 115.725 - p)(nPs>>SK!>/'>7g*W.r<lN0>@`h(Ab+R&Z]UOE0NpjSE1<Dfl9.gY_;TY]b9Y6/<HM)&> 115.726 - ]n7<u$fX-fi:I!ZVPeAt:Y[,qJHcEH36'I2@r`*(%Fi+gDkRpks[PlOD>e`$cY2Q6QD:)9= 115.727 - Z0!-V%EXW!==)UY]Od.l$C9#;.R,Au]g0'mrR3tt!gVns.f_S6_E]c?BR0B0dcn^/B:W;H] 115.728 - <aT=[A&OQg27&?rb*cPU&:l?GMNuYBerA"fr&eQ7[ruIa5*?rN=&QKb_-R+T!C&r\`Z8*U- 115.729 - GQhTr,,-hA-(;Un+?tD/N+-=7%_rgU3Y*Hn!+o%h!\dVf4!X<3-Glr*:e7:@Qsl*[+n<Lha 115.730 - 4;E7Ua&R-fP^>XJPQP+pC^97eFJW`!j:*0Tb+L>,0[XMU,rqWR/DOP")U_HbbZd5[g*$H/? 115.731 - imPceSfRRisLN+`a0rdZ>sl,3Y2.0%018Db;3=A0M>)!sM@9nieJ>>j:9*'Cu\ZkcRlq_K* 115.732 - J!,7dD@_g2DQfFkM?olBRY'/G@T5]j"9mB;a_&\A2*72u:-#I@0N&L&?u%-O?"2*rrRU(Vq 115.733 - '^=EPc[15[6d5^YLWmr:-Z/aC[a(0QCas8OM*^NR[JdRR&@kB0W+07Z[+u8-g2_.;=J--ZL 115.734 - +uM<]7!B<M,1D3i;i)W[\4TZF/$m>Le'T78f()]S+LAMNo=Hs`4$3b94AkUl+r3*[$3Tns0 115.735 - 49c)$,d2`M@['$<!<OA9unO<Ifa[K6.?rsc/gX2*eFjr(_Nj?1]Rfu+D2fP))ON%$.D9#Oq 115.736 - X'P%Q$p?TJ&`#+S=YO2e,0@LnKF`q'4B47au<%P&fs<G7YC5r3@@h1:C"S-Tq"QrXu:T["M 115.737 - t1La/)@nUa,"aUYZ%Pj]+l8OX:aOFKg??Tc]%##L]oaWX:<"\UJ"nVu65_D)lnYZA_\><kY 115.738 - U/J&9=k(Mib9Ok"_"LL87j$sg\:W(U0/HQD\$3:@L(!uM=,9R3M+Dp(!;8C(I&U4Q,AclXM 115.739 - 2rZ`OJ:BeV58IY(^0q[!inb_5s&>7U,kQ49%cK6=/Hlc7Vc'fG;j]F7-QuF=4ES"Ve)3C^B 115.740 - Hu\Nc';p6EA]4Ui&5GM/[<P\m<5^G;-0!i3Nd!R;q"e_CKbUk8IsoGe$W=j7p34Cn1LFJ!\ 115.741 - bJA`r)O@>f&1!JHRpnkQk2B$C0HVFlQ:icWh+n'D2d&@d\8Fa&LUd7c_T8BJN^'@e=,])tj 115.742 - b@BC$*$(FA&\?AYgYC.R]!F^g!m,7F<Seh^f&92uQ%1bKFu@RDuPqL6nQ4+S5o&agr8l@!K 115.743 - [2J<YGda_LmO'(h&3+n$jkCuXYE$U--8Omu91\4YkTNfI6e#e-oXVD(`Y;W)II`WL/8&7;G 115.744 - E$<eS0D9Zq(5>;c]/MH%9G.SEG&%$mV*<J/IjE3MEofLta<=P=l!Y"%j?s=Jk;;+CMA#igZ 115.745 - k+GsFFsj`,5+]^;5,:H,)QU@#:YH9pCg;tc@b'c_U&>uMu>u[]i8#kEm=_"f.qtF)Q^$S]W 115.746 - C`Lif+>>$4V2Oo]7;b[K8W"\8;9S3sO\^:9ZV-)Sai5)tCU^pN(OF2.Na7A+Fl='jT3B$$U 115.747 - TO-IV,Li_G7s8fZ%D_Uh8Yp#6BfV0[n:#ULQkFrDO.-ZL93nV$fH@Q(s(!hNjU,3*ib^d?D 115.748 - W%7<P:H<(djkD)gm!pn!](,nK&b0h?)l$o%ZJ&X*6f/=e0b%\r<guMQWM"k]9+^>2>E+$LL 115.749 - ;E07E\gE#E5AqAN=>D*%X+Qb?AUqmBUTd`2:Oi.4KYg0%Z+4B[=Yu4<m^J%+pgXgNO@Gsn6 115.750 - Qs-u!]Ch(GAZG"%(La\N=Z<HLB@&ELuKPj+LWKrHUmW*+LMXU[P/i'NXMQq^a"")R'PKI:g 115.751 - TKipOq0e=%Wp5Rn*T6I`/U;ZN-H8De3$^NP[>i+['s7'^<$F(rVs"l*!fpAf2!T5mEF)Dh] 115.752 - J,=97(^UmC9jD!n%J.!KR2NVOZZ!`aq2Gg`i!&7I/R3AU[QBT0fe<GUD',)l3ed=)oRhR2& 115.753 - C;YE'0quTt'+iOp,JhV,()*_Rg$5maOQmleq@d1F*2tAq7NE/E?RLRr.:fcFHDfcWPW4rP* 115.754 - BOnJk@?`jt$'S1G18-4Y@M9t//"2&RhGKRZUVuHNU7K3+3gf[e$f(KC$pHpT6b&.Q<,*Vu< 115.755 - q2G-,?6f85^@^`:(AR89@PdB'btc"X.Ymg,Io/[(P's.K_bEuT\:IS=ZG=up`>9q>f!rdU+ 115.756 - S'lXu_6UG^&+m7+jq.-jNHSI3WonfiTJ5KEuK6;?4U&-.Mjnr$*"#nV$0PGJR"H+ajRm2tH 115.757 - [0.>0[g3_bu+7%lTe@OOoY0r^*_DhG8U!F_urZqF:L45-hip[f[3N)c]YKUO#.ie_-]/lcD 115.758 - p6tE]q\tBd*W&g;$&Q,&0Kq!%u+ThD:$;('sPpeS:Z9A9gYJN#hDp+Rn0_OI*MphM,Rh@]W 115.759 - /dpis_U&c=2b"u#$]Va6ZIpIr&H@p#I4+euZMQi?=sZKEoHQ`:Q3=n'\2'T9RX!I+9op/i- 115.760 - 0Ulb,:kLTeSHf,L`dpVM"--d]+<)N!\k`@5`"HD2fr"#j*irLhbt^X%:Jlh[GD7DfM-n,]# 115.761 - [[Z)md.Zq(]<1-tSiMWQn1aa1Rnb]\CP8@PA\Sf=_"8^"_9i!\KgE_7kVmN*E^%84j9EW%g 115.762 - d;[XlnFV<Pc_-*J8P18?HX"R>`u'guLc@P7h2@NCQ'*:]BRR;&%_b0)P4\\Y!mbsA,(JMAm 115.763 - YrYTr?Do0P8)Ypo_e$L*!P?TheoQtgC0?)^]d@3SE_E93B>8PHk44GgM+`KLXm?pA_9`XS& 115.764 - )7gra=36m$?CV?XO:!pdO>JdU%P[&70iULnb<j'#[grSM68b#=)&6"FU>/>`a=-SJOilU-b 115.765 - `_:C&'N3!0?`X'Q(5knTE'QY"hVV>Z'XFQ_#@:Jm4kKS0GeT!AV)p;RN\i'SK)_!(hL]%<J 115.766 - >]MZaq1*4Yj_kERRAI8u5a8_o4o.1Etk`IbRa47)pUC=DipjHb3T,r'DV4fJi`(1Dh`U*9J 115.767 - I#lD0rO,?aW_pQ?Ye_9PXRcCEG/#%u2oK=C<VCnYdW;M6neYIM@mI5KeeQKgA=X.>t'^a)< 115.768 - /O(oCWO\\=4)M,#6aE(l?bag`&gVq76SNG\0NRDc?KpG/]dDN<HkMM/\e"-@"%HXXckaLPM 115.769 - 4A--Y+tWAtW%Wc"X[,sI3nQ,46+j2CEM>CofK[-?W:tq&j5*#]"XE$d/t%::^gLft*"D"9= 115.770 - 65&_hqDiG5$R-C'VA]B15`RdGX(9g:N5/Vj;>YHQc^N>jVYVp=gc_k]%u@31217&^W<UU+m 115.771 - (mWA6$5k,l0I:+qut[Cr!Za$\BNJScS1Z/`*m:d_[$=50*%^^#/h@mFeP;_B2WVn?%uB+rU 115.772 - !RIc'TnD="qdZ_#S%IeW>&H0r?OnCUNli6!5[7]hsMHU8A&!%EI@&+YnRn%'66]P6rO2KSm 115.773 - +o:J6W=7rg@=<XL+e7o7<4*Vp-",C<#oH.EaIkSfF(\;!Bp;S3Ghf&6gEC>(W+]sI'hX[=# 115.774 - NZo:9pOA575@q0KB@?gBq8K-'5G.dMn&YRr+orqc$3F4=Q6EcD".lXkJ&:h"Q$39c1qqH:? 115.775 - d_;kU]"QS'r$Q@_AHErBUbAQ+r_^(ht$/Aak^hNh]`%#90hD(=>V'2$&(_)OP"Y=+VBQ!if 115.776 - R?M?83=W7cTW`oR9(LO\"Pr=Yu^.n<Eu"P1aQH@47O;k*&rThJkQH:?Rhoo_sD-Tgm[6:^n 115.777 - IO/2C,eFP'5ETE;)j5R"0q3jDhi<pQ%)omX_cYu[L*=66"IBmj1P0=rb.f(saKmZ3jF[JbB 115.778 - 01p<09C^ht+_-lc">W*Z9M3:K&([5JGdu)7XnsNak?SRtn7OlBWV+:a7d:VE?Qgj`H<!@$l 115.779 - Rb]=*@BnL%p7#;%^<ZYbghjLsNRI-:[-=c<gi`d:alRR=SDBJe*!"'$\t*0:?a8;L34kW`< 115.780 - D\b8m6B/c?A]-<j7R`sT&4b+-+L<cXd5ONYCUc,5&V79](fu#.;2-O5d3'U"@4_@(C!10F< 115.781 - :cT0U*pl6EmgM$pu_u2\&3ZoKNmT0bd+j7'SR*$,nNTVYETbFC,kS0p2J-&5J(;*'12U@3- 115.782 - nL%">cWEYO9Q8?t!qq);*Co\Q[Oqss^#Vt5fH^f%PC/5%bJ[k:=ZoY3(R1DIkb9X?S%1efc 115.783 - *f/?@0FPf&Q1?;R_cEjnH4ARERlTPCAnu*[-/u_i;3[G4G4]+%9(Igja96U06dW=q,3(M_Z 115.784 - s1$OC2bm;Yofl8P2&/VZ<4+SZ<(o*E)cftHF^H>Tool+X<j#@p(0;uY:L5t;Kn!K42A6<ca 115.785 - `;.T8iRHALArI;oq!@22O11T>.1iBCg/gJ[r,EYotPHN2\jAR>dlT:FBph*f61H/Fl.FM2j 115.786 - NQP>==J>@Ga#opO4lq[JgWn0*B/RQP_NQ;rK\'(PZA.E]7I"D<("TY#MItAkI;s2i_CXp-4 115.787 - XL3>7g-Ot*2d!1LGsC*R;iTN.@2q&X1;B!O$6M:,Eo/S.i0`bhA^3YmLFBY$)b4s$AoQDtA 115.788 - )F(EZ9cA=EYB_o0@X>9Uj,5^P`%P^W0]$A@%CqDUOZu%?:q6hc':>U24/UE^<.[jHgJ"GCq 115.789 - pV(RF5.;kJRG7:Zfm=2d^MuA;(WLI-G)gWa+?(XI&q%#BH1N.k2QB6ZIm;;"]EO?DkIUqJd 115.790 - .KP'=4VN-F5"p>JU_:V'7I0b!r"'4GLuT&p1r(F>qWl@GQ'O^jEWpjQC\oLF/!8m/@]]b.Y 115.791 - ="jk'K;B@Gp<T)tfh>?JifoI(qVdd'UV2euB3eF!tr*/r=B?I35re(ONa^$,^m-_uG5u"p$ 115.792 - tI(*R'?<!1JnrtnTD"%o4+Jdfd'5r^9/?dfa>O+kM<=?-UooH/_k<VVR&U+p(2M?ZnQWWtL 115.793 - d#[qg./9"n2Z$2*7+ga1`&EXuIctO"_TQ#\k*,S)"U,$174,FOpRmSR;iF(/-M@i<,76%53 115.794 - TP0*1O/rq\E>o]dTH/t&/h4k#a?q.\a`rbV1<-iW)e3sC)0*UY_D;H1A$JuA1$1F8\CVVPo 115.795 - AF`ZMEXQk#pEh8@kHo?$'de2,>/mKOp?63$>Cq4jKpt/ct5PZ\M#=@oUh?UoIJ'>W"e>J@s 115.796 - PrePE^(9.qK-mK!Ju,7]BfJA[Jq5#gK@UU8S3ko"HX5k$\umGRPnBa*uIYdmI9#1M1aTRKe 115.797 - jlbrCUnb4mi`"].8)\YD)i7*:KA*cFe6aZ3ug=TjqaW^'u"=%@)q1^-]\cT0<7>m0)I'/Fo 115.798 - 1\bSI&nJDXU"KDUi#ZkZ+\N1tLKhqO^g1S?!PB8^>;*$-hKO#BDJ:<Imd1]#InirkUKr`Sp 115.799 - q]MjQ-`%NS6]8NXFD#jc.m[X4'gSNgBiR*(P`dECMKr!3oMHWO"R(ctLfT'q7k0)pV,R5X_ 115.800 - l;/uWO53p<B&4Q7=A5\/-HEI8@g$<E:g43%^?a9at-(;m&^tD7+Fo^U?[.&XgQ0Z=#W<K%e 115.801 - +,7%Rb@@](f8,om\1i]Q)RZ$uTkuj!+XI`>oQ,@ou:"JKT98#TDr=;C-7IQ<MO9]/\H[*M4 115.802 - X\C^'t\86$_(3$MBC9%pLJCIX#]+Z.7k#!6Kq7MNW]U5IbgLN;atGuR99%aNich.A#L`46[ 115.803 - 2jY>H@Q@M-EBu-#nh)Kp)!eo50G@[]VbIBnXM^TmW.aNc0U)i\VC:sVUod-7IHV`J@^'@Qr 115.804 - 7P!MIDmf=8!uh+c.#]oPI=)?8]^UT$nUXE2o;("X"^nt[Gfsb0_?mK5KOQ6:L,s7T=>p[,C 115.805 - _8$KhB0ZQK\52cfklPFdS5?E'k/^rYmW;X@SLkO9082mEOIgH"q3t2[*fJinJG<%!Ao?9M/ 115.806 - G&n7k(rl,\4QUP=auaapFr2$aMZ$19tMbJNG5jZ@.nAk$Q=MKnpLI'U\8J*alkD1GW4SRn8 115.807 - oPc.U,tB/0iDJsp0bRH0ISJ81Iu#'A2pG;s7V$))@[PgKehdK:HP7VaJ]!np.6k\V_7ZlYL 115.808 - ])J9-]D)dmdAtL?'RboFE7MYRHVi99A-"@_mpS1.PZT=jaCHIU^Fg>1P+L2:d<<t(;m#;Ys 115.809 - dopI6Ks>eYCnMqg/IGdN9ZqiS"USoeNNJ8@p*S>E)eP?Ac+'%T0&OagaAM@^YH<?#g='85F 115.810 - DeeF5Gjh*9&b2C'9_*\:5DX%)n/FWXnBGQo]*L?*3'#<#[BsZMW"e.4n-/bTQfQ.iYou=L2 115.811 - JHZGdeLL*+t7N^,a5YpE/H9LQQU@8]c6:-fl>GQ#[F1b=\QZ#$e@""tjQj3O)O>]ZZje^3S 115.812 - %MpHRj^#GH/gqnu1#&*Vgs8o2=9Wd8kbl5`BoFZueTHFHuA*AaN/SrqV#p2fJhA$L2@ak;# 115.813 - "BC-_;[3b7Kf?>mRmG5f:Fro8kHae4f*Tt+[^A(>_DfURnWCUdUpPh#%JFOL=\ej[b1^=PP 115.814 - /%'nR;YeLT:60np-%EFMT/hnD?,/roFnBrh*TfKsAFN50iG/34>Wk<To@ku=qB',?r?6X^h 115.815 - UJ7p^NK!`\">*52r?cjDH/jG_oocl<]X#Z8T=FFqB#[i)"31N?:Vs`59K2)T6^/0olKm2]B 115.816 - ]@hHhIbigAHWQmf&j3;h#**r-u-)raK+.5ER;kJ)C3&TAE4*MuB1CqE+:\^]S45;4P9KA[R 115.817 - Hu^g`nMkQ!jF#+Sp!!!E*`P<hGq)'PLR0rtbunrpk:#f-8M5bncR)Sj/3_D.Pj4?O:nEc]& 115.818 - )g-L*!&];f-,T4D5IZ;Oe^1'=?C^%Yn+K$b-XqW#u<"d$[,=+^<0n]Zq>&_;o,smc!66n"L 115.819 - 4<t(].gWcb_UL36,V$\$XMVn0Ln$(b,Vu2H0LJ.$6Q@t>F>H:+320A06]n%ZCc[AG3((VIT 115.820 - nGHoiL.Tr5DT/"6kht\X?T*-O2MGk`$@ahEWAKq8!r(#_rO;*PY7W*8;RAU"5tgj^a?>=7K 115.821 - o#RL<NPOf]\Plf7nrS`;EUGHrLEiW!Hp67:U^6EO/'/4iF^$7H*W%d#XA]1e&0WL<,7kJNU 115.822 - mGW^QbdN,Y<+OG1\FUrHYE6*&GN9L_<A*i.9:7I4ob*++Nl2oW:_7QES#LmLSup;\SM`d!2 115.823 - -30qTVZ:2u"7GMfOZ/<S%NlP7U4EthHGq4h]LWA(/`M?\X)"pK;Y"2*D81[e43O-Vp3le=K 115.824 - aJ%2*aGrenL*^MTa*<n$I"=b%-qMF\aVj53N&aG!MTJ`BaLkHn#`D,JW^[OV8H?LLN09'?S 115.825 - /tXn_i0i%>b@O&QAF%]#],[H+qR@+TZTjd8`Vg%oUng-^If&rb#j>>1ma/3;2(608X*XUd" 115.826 - tBQUr_2JaOmL\i.nPD:rZF]-/=93;(W(GXMl0e%!5=MY`)"K?-)408X`r.]V3GlYY(jJbCG 115.827 - HWUje+VI`p2f9/3k)+C<$Uf?9t394=ho5`X$PXda.<Z/!*OgnqtoVojtGRnTf;`5.6(kXLb 115.828 - `LiDS!BeI@%Z%uYPMG0(ee?'(RcNm4KP4Z*)+Y8H)g_1B&Xb>B0I(ddWHqf]Zbs7jqBS9&1 115.829 - jpFdYb]tm1r-loL0$JR!:(]2*+D;+(cpL4K9dK;!,h!%3e5!+0Z.te3A9c+I`X57radB)!# 115.830 - _Y_D0ho$ac2`d!fegYRL.n!k:P<a^#d;NuK?f:03u#koK`%$5[gD-c6Tjp82%,k[oE_h#aP 115.831 - =JReDH?%:rXW2aP?fSFUs9jondf*#^iq88mR6`]rZVYLcf,tI1_9oV9\;);%uq75fQKFF3n 115.832 - lZc(G&)q[68oK2McF9AJp^bl`jr"GgTbP._`i<?b1#q%+7\dA8.Cl)C,MLJ^mJ/:?R-:mFb 115.833 - "a&5I!d%iEn[1#ubU!V;!;cP?(>^k)UeUhWB%!8\/V%X/X!/On1$$;SkXZV+;#m`+39l29a 115.834 - AO6a#-O?6dLm8e_]cr;LhbZ/!$Pc-,j\AR4^Jn0]4FGaU.#:e=Q;B.hN,:^U(lD+fUsnh)d 115.835 - qg_eI5ocnRa[eE'6P9ofW#4r(KCHi:k4k^n;#PMQO&!*M.Kc."\/i(6rX`%asBgi[;/NkBM 115.836 - 'jn:NZDgV+=YVKiCK4#fL1GBKcb$>/Kr:e]i9*%:.Kj1J+-M<paHl"_#ln;UKnHLi$Q,D#K 115.837 - 0$F&UV08(DJ_70/6V@u8/D(enTTh*+oZ.+gAV=IcEoXUnM9o[_QG!!&,3^l6lE0%XZY=Wrf 115.838 - ,Knr@b1_,I>95RVP4c@nILkoVt;cn\%7>2"a1lLqFf;0kJQ&JcMRmn]7P;SS.%0Tgf3a)EK 115.839 - fZalZ9l/Nd;:eKV]u4^)XDGRT+$Oh1g>TbK4eGnpCYF24gB`R6^m7ufK[rjtLks&O.*#;pG 115.840 - hP<X>F:W/3AjttHWHuJgW5]7<O1AE]j(HHe6,Ss0V;JV/Qj*sggPWbrEn>&PYb&Ma#sLEkc 115.841 - .iXNDfD^gL[ZqNJgtBOPI@d7/Y*Ym0-XHO,9FX>V4=V"i44#f3>*(>t*ET<Q)b^`S>=dQ4: 115.842 - mdXhR;a^066+#^o\%9iKek!)kS6fQD^MIGbBbLKum#;ui68S\a-Y.GbW-h-b`\V<uMqL"LP 115.843 - 0N31l%S_[T5oTaRV<,L@r*Qd%VDu^&97m4bHUp\\-p>-pGhG*/>(&2-Ymp=f4?lf2NrTB#K 115.844 - Qf&>"?eBkcl%KPjo0S`7?WIMu?1qQpkZ\f+i'iZ^^#[c`U;pi%asGHc'pf3&rs1L_?u?/U9 115.845 - q2R@mb[pQ?*4t$2=-,NIgSnIN'7P7<XN6C+HseR?Ig#b%KbQ(,7#n88-M(SR$C76dl`=+M, 115.846 - ihtAc#ph)[KH($#3c)J:ba?ABT+N7-2n=gf7hAQ<C<FbhU>BDD-kg)-\-NhZ\kd7I)\b3(u 115.847 - ucb102n(*>k$+CZ*POu=Lllt9cr"P@ijRp_1]0ec]UcXFfVj(U;Zn:K:)3+RhujF/?\4um& 115.848 - K3au,8im<<g=Ye`kWJ2B36Hhf-(.)S`)<<\I@+GqO*Ym[%$WT%Q#ej6#hA'Q\NFPO3cM3-* 115.849 - d4ls(45`YchG-t*hG@g-)W3dfk$=lnVI^D6@YtX\65EYaNc1&'=lFNqjShR,7NH+aMG)'k> 115.850 - ia%\efJE/N_E<M=s[0-`4IQsMW^F7%!56Ijse\MU/jgBk?(GK4rEASGh_Y$hSraS%Yk=Sbi 115.851 - SPJ(f#<UV5c^:X$tR?20H#MhJd00L1_)B$Dpe@2JthkDeT]HNujFH(oh8V3GCl$Bi^O6Yj6 115.852 - "C(smu^`"ncWSsnoXTT3WSO''D3$t3']#XlD!6%5JA(8m.pU(59sAA4o(_sHU:H>)@B_Li! 115.853 - VL9HfLW=H`phRmakA/B!(Y\R([CCofgCmjJ]E62Fm_*56l?Fu0![d1`5CSVR.[_;#-_s>mh 115.854 - MWVXgrkIeH`/>DIlqjd"1_4Cl`pAehlt4B"ri<dtXN6^0_L#BMm`TGIlKk\#gd]LPY0BO-c 115.855 - 9U6h^4+LIG,W-E`^,pBN5ioR^<#]=gkiJemEh?iZjCThhX1r=D<Bf6T&7>$i9iMbM#QE%@$ 115.856 - >Ir#&[K)m\#M(GXu_gkjI$hmcNs*p@%GSnF%._mj@Vo2Y6B,o^>iRmq2:^G5(H[q!XOEn## 115.857 - sM[eoO5r9r58mtU03L/p];l0b_ULn"^^mfW&L"RoIrn7Msj``C#2!H9CmLj&r?G73o\%.Mj 115.858 - XnDQAn1skVf-JI>aE?MK)[gqpu'_,6>nRi8Lr:0:bk32gXnY!!%:hkYR*:_W$n`Lt`pE/r2 115.859 - +S$<lng>XP2^@l`,k>"_nn0<?G:2s:..W]Rnu!u.[k%$i/FqCEo&h09^B!eaO",o'o-Z<b0 115.860 - V7d#1\4[*mADf4B/fF:`H-5_o;=Y8#<DCb4S.-co>a#cpHRTAj#,^ZF=0ECT[O9q_3rC"nI 115.861 - \D'aLCes8G&6?oVY=R[nHA69_?q2o]K!ApJ:Ge;"YW%od<Z12cKB><:s<mok.=uG?=Hm=S8 115.862 - "`oqu!d[p/OG>kQ]Sp#fZSpL!V!@.kCFp*X>C2e2POAG0)9p1J"2GA$W)B_Id&_:^-)2b#r 115.863 - >8-d1(NR)M9pM]d2E;(/gpEt"U2fn^`FSAjZpLe[DGB`e:Gk[PMpSW?3[sRkiI.u6@pZI#" 115.864 - pODrCJG9q3pa:[g2hUlqK_SW&ph,?VGDGsKM"m<npns#E[u:%%N;2"apud\4pQ,*"[_*IUp 115.865 - :.Gb#Q~>Q 115.866 -Q 115.867 -showpage 115.868 -%%Trailer 115.869 -count op_count sub {pop} repeat 115.870 -countdictstack dict_count sub {end} repeat 115.871 -cairo_eps_state restore 115.872 -%%EOF
116.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/Time_layers.svg Thu Feb 02 12:22:53 2012 -0800 116.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 116.3 @@ -1,198 +0,0 @@ 116.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?> 116.5 -<!-- Created with Inkscape (http://www.inkscape.org/) --> 116.6 - 116.7 -<svg 116.8 - xmlns:dc="http://purl.org/dc/elements/1.1/" 116.9 - xmlns:cc="http://creativecommons.org/ns#" 116.10 - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 116.11 - xmlns:svg="http://www.w3.org/2000/svg" 116.12 - xmlns="http://www.w3.org/2000/svg" 116.13 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 116.14 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 116.15 - width="744.09448819" 116.16 - height="1052.3622047" 116.17 - id="svg2" 116.18 - sodipodi:version="0.32" 116.19 - inkscape:version="0.47 r22583" 116.20 - sodipodi:docname="Time_layers.svg" 116.21 - inkscape:output_extension="org.inkscape.output.svg.inkscape" 116.22 - version="1.1"> 116.23 - <defs 116.24 - id="defs4"> 116.25 - <marker 116.26 - inkscape:stockid="Arrow2Mend" 116.27 - orient="auto" 116.28 - refY="0.0" 116.29 - refX="0.0" 116.30 - id="Arrow2Mend" 116.31 - style="overflow:visible;"> 116.32 - <path 116.33 - id="path4008" 116.34 - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 116.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 " 116.36 - transform="scale(0.6) rotate(180) translate(0,0)" /> 116.37 - </marker> 116.38 - <inkscape:perspective 116.39 - sodipodi:type="inkscape:persp3d" 116.40 - inkscape:vp_x="0 : 526.18109 : 1" 116.41 - inkscape:vp_y="0 : 1000 : 0" 116.42 - inkscape:vp_z="744.09448 : 526.18109 : 1" 116.43 - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 116.44 - id="perspective10" /> 116.45 - </defs> 116.46 - <sodipodi:namedview 116.47 - id="base" 116.48 - pagecolor="#ffffff" 116.49 - bordercolor="#666666" 116.50 - borderopacity="1.0" 116.51 - gridtolerance="10000" 116.52 - guidetolerance="10" 116.53 - objecttolerance="10" 116.54 - inkscape:pageopacity="0.0" 116.55 - inkscape:pageshadow="2" 116.56 - inkscape:zoom="1.3364318" 116.57 - inkscape:cx="426.82234" 116.58 - inkscape:cy="692.65809" 116.59 - inkscape:document-units="px" 116.60 - inkscape:current-layer="layer1" 116.61 - showgrid="false" 116.62 - inkscape:window-width="730" 116.63 - inkscape:window-height="1141" 116.64 - inkscape:window-x="889" 116.65 - inkscape:window-y="6" 116.66 - inkscape:window-maximized="0" /> 116.67 - <metadata 116.68 - id="metadata7"> 116.69 - <rdf:RDF> 116.70 - <cc:Work 116.71 - rdf:about=""> 116.72 - <dc:format>image/svg+xml</dc:format> 116.73 - <dc:type 116.74 - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 116.75 - <dc:title></dc:title> 116.76 - </cc:Work> 116.77 - </rdf:RDF> 116.78 - </metadata> 116.79 - <g 116.80 - inkscape:label="Layer 1" 116.81 - inkscape:groupmode="layer" 116.82 - id="layer1"> 116.83 - <rect 116.84 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 116.85 - id="rect2383" 116.86 - width="70.518539" 116.87 - height="19.030159" 116.88 - x="336.78796" 116.89 - y="189.7659" /> 116.90 - <text 116.91 - xml:space="preserve" 116.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" 116.93 - x="340.47986" 116.94 - y="203.13492" 116.95 - id="text3161" 116.96 - sodipodi:linespacing="100%"><tspan 116.97 - sodipodi:role="line" 116.98 - id="tspan3163" 116.99 - x="340.47986" 116.100 - y="203.13492">Program Time</tspan></text> 116.101 - <rect 116.102 - y="189.7659" 116.103 - x="436.78796" 116.104 - height="19.030159" 116.105 - width="70.518539" 116.106 - id="rect3184" 116.107 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 116.108 - <text 116.109 - sodipodi:linespacing="100%" 116.110 - id="text3186" 116.111 - y="203.13492" 116.112 - x="440.47986" 116.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" 116.114 - xml:space="preserve"><tspan 116.115 - y="203.13492" 116.116 - x="440.47986" 116.117 - id="tspan3188" 116.118 - sodipodi:role="line">Program Time</tspan></text> 116.119 - <rect 116.120 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" 116.121 - id="rect3190" 116.122 - width="70.518539" 116.123 - height="19.030159" 116.124 - x="384.78796" 116.125 - y="255.7659" /> 116.126 - <text 116.127 - xml:space="preserve" 116.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" 116.129 - x="388.47986" 116.130 - y="269.13492" 116.131 - id="text3192" 116.132 - sodipodi:linespacing="100%"><tspan 116.133 - sodipodi:role="line" 116.134 - id="tspan3194" 116.135 - x="388.47986" 116.136 - y="269.13492">Physical Time</tspan></text> 116.137 - <rect 116.138 - y="223.7659" 116.139 - x="256.78796" 116.140 - height="19.030159" 116.141 - width="70.518539" 116.142 - id="rect3196" 116.143 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0.60163802" /> 116.144 - <text 116.145 - sodipodi:linespacing="100%" 116.146 - id="text3198" 116.147 - y="237.13492" 116.148 - x="256.60583" 116.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" 116.150 - xml:space="preserve"><tspan 116.151 - y="237.13492" 116.152 - x="256.60583" 116.153 - id="tspan3200" 116.154 - sodipodi:role="line">Scheduler Time</tspan></text> 116.155 - <path 116.156 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 116.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" 116.158 - id="path3202" 116.159 - sodipodi:nodetypes="csc" /> 116.160 - <path 116.161 - sodipodi:nodetypes="csc" 116.162 - id="path3204" 116.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" 116.164 - style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> 116.165 - <path 116.166 - sodipodi:type="arc" 116.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" 116.168 - id="path4610" 116.169 - sodipodi:cx="384.12698" 116.170 - sodipodi:cy="355.53677" 116.171 - sodipodi:rx="4.7619047" 116.172 - sodipodi:ry="4.7619047" 116.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" 116.174 - transform="translate(2.1164021,-129.1746)" /> 116.175 - <path 116.176 - transform="translate(68.116402,-129.1746)" 116.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" 116.178 - sodipodi:ry="4.7619047" 116.179 - sodipodi:rx="4.7619047" 116.180 - sodipodi:cy="355.53677" 116.181 - sodipodi:cx="384.12698" 116.182 - id="path4612" 116.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" 116.184 - sodipodi:type="arc" /> 116.185 - <path 116.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" 116.187 - d="m 382.53968,230.06589 c -55.02645,2.1164 -55.02645,2.1164 -55.02645,2.1164" 116.188 - id="path4614" /> 116.189 - <path 116.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" 116.191 - d="m 449.20635,231.12409 c -14.81482,13.75661 -121.69312,5.291 -121.69312,5.291" 116.192 - id="path4616" /> 116.193 - <rect 116.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" 116.195 - id="rect4618" 116.196 - width="257.40311" 116.197 - height="92.786636" 116.198 - x="252.16335" 116.199 - y="185.59641" /> 116.200 - </g> 116.201 -</svg>
117.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/VMS-core__internal_workings.eps Thu Feb 02 12:22:53 2012 -0800 117.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 117.3 @@ -1,1926 +0,0 @@ 117.4 -%!PS-Adobe-3.0 EPSF-3.0 117.5 -%%Creator: cairo 1.8.6 (http://cairographics.org) 117.6 -%%CreationDate: Sun Feb 06 23:03:28 2011 117.7 -%%Pages: 1 117.8 -%%BoundingBox: 0 0 366 156 117.9 -%%DocumentData: Clean7Bit 117.10 -%%LanguageLevel: 2 117.11 -%%EndComments 117.12 -%%BeginProlog 117.13 -/cairo_eps_state save def 117.14 -/dict_count countdictstack def 117.15 -/op_count count 1 sub def 117.16 -userdict begin 117.17 -/q { gsave } bind def 117.18 -/Q { grestore } bind def 117.19 -/cm { 6 array astore concat } bind def 117.20 -/w { setlinewidth } bind def 117.21 -/J { setlinecap } bind def 117.22 -/j { setlinejoin } bind def 117.23 -/M { setmiterlimit } bind def 117.24 -/d { setdash } bind def 117.25 -/m { moveto } bind def 117.26 -/l { lineto } bind def 117.27 -/c { curveto } bind def 117.28 -/h { closepath } bind def 117.29 -/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 117.30 - 0 exch rlineto 0 rlineto closepath } bind def 117.31 -/S { stroke } bind def 117.32 -/f { fill } bind def 117.33 -/f* { eofill } bind def 117.34 -/B { fill stroke } bind def 117.35 -/B* { eofill stroke } bind def 117.36 -/n { newpath } bind def 117.37 -/W { clip } bind def 117.38 -/W* { eoclip } bind def 117.39 -/BT { } bind def 117.40 -/ET { } bind def 117.41 -/pdfmark where { pop globaldict /?pdfmark /exec load put } 117.42 - { globaldict begin /?pdfmark /pop load def /pdfmark 117.43 - /cleartomark load def end } ifelse 117.44 -/BDC { mark 3 1 roll /BDC pdfmark } bind def 117.45 -/EMC { mark /EMC pdfmark } bind def 117.46 -/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 117.47 -/Tj { show currentpoint cairo_store_point } bind def 117.48 -/TJ { 117.49 - { 117.50 - dup 117.51 - type /stringtype eq 117.52 - { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 117.53 - } forall 117.54 - currentpoint cairo_store_point 117.55 -} bind def 117.56 -/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 117.57 - cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 117.58 -/Tf { pop /cairo_font exch def /cairo_font_matrix where 117.59 - { pop cairo_selectfont } if } bind def 117.60 -/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 117.61 - /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 117.62 - /cairo_font where { pop cairo_selectfont } if } bind def 117.63 -/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 117.64 - cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 117.65 -/g { setgray } bind def 117.66 -/rg { setrgbcolor } bind def 117.67 -/d1 { setcachedevice } bind def 117.68 -%%EndProlog 117.69 -11 dict begin 117.70 -/FontType 42 def 117.71 -/FontName /f-0-0 def 117.72 -/PaintType 0 def 117.73 -/FontMatrix [ 1 0 0 1 0 0 ] def 117.74 -/FontBBox [ 0 0 0 0 ] def 117.75 -/Encoding 256 array def 117.76 -0 1 255 { Encoding exch /.notdef put } for 117.77 -Encoding 1 /uni0047 put 117.78 -Encoding 2 /uni0072 put 117.79 -Encoding 3 /uni0065 put 117.80 -Encoding 4 /uni006E put 117.81 -Encoding 5 /uni0020 put 117.82 -Encoding 6 /uni003D put 117.83 -Encoding 7 /uni0056 put 117.84 -Encoding 8 /uni004D put 117.85 -Encoding 9 /uni0053 put 117.86 -Encoding 10 /uni002D put 117.87 -Encoding 11 /uni0063 put 117.88 -Encoding 12 /uni006F put 117.89 -Encoding 13 /uni0042 put 117.90 -Encoding 14 /uni006C put 117.91 -Encoding 15 /uni0075 put 117.92 -Encoding 16 /uni0061 put 117.93 -Encoding 17 /uni0070 put 117.94 -Encoding 18 /uni0069 put 117.95 -Encoding 19 /uni0074 put 117.96 -Encoding 20 /uni0052 put 117.97 -Encoding 21 /uni0064 put 117.98 -Encoding 22 /uni0067 put 117.99 -/CharStrings 23 dict dup begin 117.100 -/.notdef 0 def 117.101 -/uni0047 1 def 117.102 -/uni0072 2 def 117.103 -/uni0065 3 def 117.104 -/uni006E 4 def 117.105 -/uni0020 5 def 117.106 -/uni003D 6 def 117.107 -/uni0056 7 def 117.108 -/uni004D 8 def 117.109 -/uni0053 9 def 117.110 -/uni002D 10 def 117.111 -/uni0063 11 def 117.112 -/uni006F 12 def 117.113 -/uni0042 13 def 117.114 -/uni006C 14 def 117.115 -/uni0075 15 def 117.116 -/uni0061 16 def 117.117 -/uni0070 17 def 117.118 -/uni0069 18 def 117.119 -/uni0074 19 def 117.120 -/uni0052 20 def 117.121 -/uni0064 21 def 117.122 -/uni0067 22 def 117.123 -end readonly def 117.124 -/sfnts [ 117.125 -<00010000000a008000030020636d617000a2f14100001fdc0000006c637674207d0742a80000 117.126 -2048000002706670676d49d7df92000022b80000060a676c7966489d9ecf000000ac00001f30 117.127 -68656164d5ceeae0000028c400000036686865610f7e06b2000028fc00000024686d74785bc6 117.128 -0894000029200000005c6c6f636153405a880000297c000000306d617870037c02c9000029ac 117.129 -0000002070726570292ded16000029cc000004ad00020080015e0380045e0003000700264016 117.130 -059c039d049c070017003700030000079c019d049c00002ffdfded012f5f5dfdfded31301311 117.131 -211125211121800300fd800200fe00015e0300fd0080020000010050ffe704d305d2001a0137 117.132 -403a1c400b0b024b55060103370e470e570e670e04006a167a16025516010506150645060303 117.133 -680078000200160c0c024b000f0e0c44170f370f020fb8fff0400b1010024b0f0c0f0f024b0f 117.134 -b8ffe8400b0c0c024b0f040d0d024b0fb8ffeab40c0c064b0fb8fffab40d0d064b0fb8ffe840 117.135 -571010064b0f0645181638160200160c1010024b16060f0f024b16200b0b024b16100c0c024b 117.136 -16120d0d024b16120c0c064b16120d0d064b160c0e0e064b161b080168017801030223100103 117.137 -2813011803380302020c510eb8ffc0401a0c0c024b0e090118000100001909100b0b024b0949 117.138 -1303491913b8fff0b70b0b024b13091903003f3f2b10ed10ed2b10cd5f5d3210d62bed5f5d5d 117.139 -5f5d5f5d0110d62b2b2b2b2b2b2b2b5f5dfdd42b2b2b2b2b2b2b5dfdcd10c62b5d5f5d5d5d5f 117.140 -5d5f5d3130012b010726232200111400333237112335211106042320001110002132048d5397 117.141 -91e6fef60105e1a063cb019350fee287fed1fea101810147e50553a570febcfef5fefeca6001 117.142 -57aafd824453019b0155015401a7000100960000031c0443000e00af401e0a400b0d024b0810 117.143 -18102810c81004c70ed70e020e06094d064d68070107b8ffecb41313024b07b8ffeeb4101002 117.144 -4b07b8fff240110f0f024b07040b0b024b07040c0c024b07b8ffeeb40f0f064b07b8fffcb40c 117.145 -0c064b07b8fff2b41010064b07b8fffc40250e0e064b070f170a270a370a470a570a670a0600 117.146 -050a400e0e064b0a02520c0806070a0c07003f3f3f10edcd2b325f5d0110d62b2b2b2b2b2b2b 117.147 -2b2b5deded10c65d5d3130002b01262322061511231133153633321702cd3e3f6597bebe68cd 117.148 -336003782bba83fd9a042fabbf1200020041ffec041c04430019002201ff408724400b0b024b 117.149 -58170103b807018a079a07aa07ba07ca07da0706025705016808780888089808a80805280838 117.150 -08480858086808780888089808a808b808c808d8080c00571877180208221010024b08180f0f 117.151 -024b08180c0c024b082c0d0d024b08100c0c064b08100d0d064b081f4e471e01021718371847 117.152 -18671887189718a718b718c7180918b8ffe0b40e0e064b18b8ffdeb41010024b18b8ffdcb40f 117.153 -0f024b18b8ffe2b40c0c024b18b8ffd4b40d0d024b18b8ffe4b40c0c064b18b8ffe4406b0d0d 117.154 -064b18011e4e014e87100138104810581068100410100e0e064b10101010024b10100f0f024b 117.155 -101c0b0c024b10160d0d024b100c0c0c064b100c0d0d064b102387079707a707030027053705 117.156 -47055705040207522a083a084a08030357086708770803070817080208b8ffc0b40b0c024b08 117.157 -b8ffd4b40d0d064b08b8ffc040350d0d024b080c1e50470157016701a701b701050001400f0f 117.158 -024b01400d0d024b01400f0f064b010105581a011a5214100f0f024b14b8ffe8b40d0d024b14 117.159 -b8ffe840200e0e064b140c0f0f064b14671401024a145a140205100c0c024b05520c0b140700 117.160 -3f3fed2b5d5f5d102b2b2b2bed5d11392f2b2b2b5f5ded10d52b2b2b5d715f5ded5f5d5f7101 117.161 -10d62b2b2b2b2b2b2b5d5deded10dd2b2b2b2b2b2b2b5d5f5dedc42b2b2b2b2b2b5d5f5d715d 117.162 -5f5d5d5f5d3130012b0121141716333237170607062322272635103736333217161514012207 117.163 -060721342726040dfcfc675b8fa36d502c5b728cca8d9da190c5e5827efe247f56520b025148 117.164 -4f0205bc65585f892c202a8997ff0109a08f817ccd3f0169524e74734d5400010087000003d8 117.165 -044300110103401813400b0b024b070f170f0201771301004d11101010064b11b8ffd4b40e0e 117.166 -064b11b8fff8b41313024b11b8fff440111010024b110a0f0f024b11080c0c024b11b8fff440 117.167 -110d0d024b111c0b0b024b110e0f0f064b11b8fff8b40c0c064b11b8fff8b40d0d064b11b8ff 117.168 -f440100b0b064b11084d070917092709030009b8fff4400b1313024b09040d0d024b09b8fff6 117.169 -b41010024b09b8fff4400b0f0f024b090a0b0b024b09b8fff8b41010064b09b8fff4400b0e0e 117.170 -064b09080c0c024b09b8fffa40110f0f064b091204520e110a090a0a060e07003f3f3f3f10ed 117.171 -0110d62b2b2b2b2b2b2b2b2b5f5dfdd42b2b2b2b2b2b2b2b2b2b2b2bed5d3130005f5d012b21 117.172 -1134262322060711231133173633201111031a6779418e26be823c5ed50160026fab894e39fc 117.173 -e4042f8a9efe54fd690000000002007a018b03c0036c00030007002d401b0105870207061706 117.174 -37065706770605060803840207840706010006002f5f5dfddeed0110d65d3cfd3c3130011521 117.175 -350115213503c0fcba0346fcba036c8d8dfeac8d8d0000000001000dffec04a605b900060133 117.176 -b10202435458b90004ffe8400d0c0c024b040402010502020201002f3f3f111239012f313000 117.177 -2b1bb10602435458403804601010064b04400c0f064b04100a0a064b47080100370401010808 117.178 -18082808580804054606034602067600027601040400754701010104b8ffc0b42227064b04b8 117.179 -ffb0b41a1d064b04b8ffc040261416064b04240b0b064b480401370401170427043704570467 117.180 -0477040600048e010906020202003f3f3fed5f5d72712b2b2b2b012f5ded39192f1810ed10ed 117.181 -10ed10ed5d5f725f5d3130002b2b2b1b40414708010037040101080818082808580804054606 117.182 -0346020676000276010404007547010101480401370401170427043704570467047704060004 117.183 -8e010906020202003f3f3fed5f5d7271012f5ded39192f1810ed10ed10ed10ed5d5f725f5d31 117.184 -30595905230133010133029465fddede0179016bd71405cdfbc90437000000010014ffec05a3 117.185 -05b9000c01f0401401400e0e064b04400e0e064b0e401010024b0002435558401d0c0e180e28 117.186 -0e380e03080e180e380e480e580ea80eb80e070606080702003f3f012f5d7110d631301b40ff 117.187 -4a030145020143087308024c0a7c0a0203280301280a0127080102970101980401870701880b 117.188 -0101180e280e380e03080e180e380e480e580ea80eb80e070000460c0546380c480c02370647 117.189 -0602022806480602270c470c020672070c720b01010a0b04040875070a75680b016707010b73 117.190 -0207730309090275c70301270377038703a703d703e703060003770901016709010809180902 117.191 -680988099809a809b809c809d809e809f80909580101580401004a0201034701014704010107 117.192 -011701020701270187019701a701b701c701d701e701f7010a07041704020704270487049704 117.193 -a704b704c704d704e704f7040a070117010217014701570167017740490187019701a701b701 117.194 -c701d701e701f7010d0704170402070417042704470457046704770487049704a704b704c704 117.195 -d704e704f7040f00097102017104710702090c0806080b020702003f3f3f3f3f10ede410ed5f 117.196 -5d715d715d715d715f5d5d5f5d5f5d5d5d715d5f5d012f5f5d71ed39192f1810ed10fd5d5ded 117.197 -10ed39192f1112392f1810ed10fd5d5d5f5d5ded10ed5f5d715f5d5d5d5d5f5d5d5d5f5d5d5d 117.198 -5d3130592b002b2b2103012301032301330101330104e5aefec032feb7aabe01125b015d0142 117.199 -5a012903adfc3f03c1fc5305b9fbd3042dfa470000010050ffe7038805d2002601ccb1020243 117.200 -5458401907221a0e180b0b024b0e120c0c024b0e22070e1a0425131714b8ffc040120c0c024b 117.201 -1411000401251749110304492509003fed3fed10cd123910cd2b1239121739012f2b2bcd2fcd 117.202 -31301bb106024354584086082401071001002520452065207520042a0b01034828a828026813 117.203 -0113074507223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f 117.204 -451f651f751f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e042548145814681478 117.205 -1404141137014701570167017701a701b70107000125174911044925091103003f3fed10ed10 117.206 -cd5f5d10cd5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d 117.207 -5f5d5d1b4086082401071001002520452065207520042a0b01034828a8280268130113074507 117.208 -223722672203221a001a45380e01870e01000e2777040102351e651e751e03351f451f651f75 117.209 -1f040a0c3a0c4a0c6a0c7a0c0533220103380e010a0b1f1e0425481458146814781404141137 117.210 -014701570167017701a701b70107000125174911044925091103003f3fed10ed10cd5f5d10cd 117.211 -5d1217395d5f5d5d5d5d5f5d0110d65f5d5dedc410d45dedc45d5d3130005f5d5d5f5d5d5959 117.212 -3737161633323635342627272626353436333217072626232206151416161717161615140423 117.213 -22544938a742758e4f9f769677e8b6f35f3b28a44666752a4b74789679fef7dec343b8293780 117.214 -634a7f4b3746c087a4d84fae1d36745b385c3e383947c598a5e60001009f01fa024b02a90003 117.215 -00254017280368037803a803040307002700370003000004014800002fed0110d65f5dcd5d31 117.216 -30133521159f01ac01faafaf000000010041ffec03b5044300170119401e450501a101010328 117.217 -1938190200870d970da70d030200070d870d970d030db8fff4b41010024b0db8ffeab40f0f02 117.218 -4b0db8ffeab40b0c024b0db8ffe840610d0d024b0d074e38124812028712a712b712c712e712 117.219 -050012101010024b12180f0f024b12200b0c024b12180d0d024b12060e0e064b120c0e0e064b 117.220 -12120c0c064b12100d0d064b1218250a350a450a032a043a044a0403030c52070d170d020db8 117.221 -ffc040160b0b024b0d0f015208001800020000400b0b024b0004b8ffe8b40c0c024b04b8ffe8 117.222 -40190d0d024b0452150a180c0c024b0a180d0d024b0a520f0b1507003f3fed2b2b10ed2b2bdd 117.223 -2b5f5ded10dd2b5ded5f5d5d0110d62b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b5d3c5f5d5f5d 117.224 -5f5d5d313001072626232206151416333237170623220035100021321603af5e1d93479bb6ba 117.225 -a580824b99e2dbfee20129010253c203d8861d34d9bdbcc563a0630126fb0100013646000002 117.226 -0041ffec040a0443000b0015013c402517401010024b17400b0c024bb7050101381701114e17 117.227 -063706470667060406041010024b06b8ffdeb40f0f024b06b8fffcb40b0b024b06b8ffe4b40c 117.228 -0c024b06b8ffd4b40d0d024b06b8ffeab40e0e064b06b8ffe0b40c0c064b06b8ffe440760d0d 117.229 -064b060c4e87009700a700b700c700e700063800480058006800040000101010024b000e0f0f 117.230 -024b00200b0b024b00200c0c024b00160d0d024b000c0e0e064b00100c0c064b000c0d0d064b 117.231 -00166a030165090103670e0168130102450e550e650e034a135a136a13030e100f0f024b0e52 117.232 -0913b8fff040160f0f024b13520309180f0f024b09180f0f064b090b03b8ffe8b40f0f024b03 117.233 -b8ffe8b50f0f064b0307003f2b2b3f2b2b10ed2b10ed2b5d5d5f5d5d5f5d5d0110d62b2b2b2b 117.234 -2b2b2b2b5f5d5dfdd42b2b2b2b2b2b2b2b5ded5d5f5d31302b2b133400333212111000232200 117.235 -1310213236351021220641010bdae6fefefce0e5ff00c8011d8597fee4829b021af80131fedb 117.236 -fefcfefdfed5012e0100fe6dd8bb018ed400000300960000043705c6000f0018002201ac406f 117.237 -24400b0b024b05060103580a680a02a805b805c805030178150102480a780a880a980aa80ab8 117.238 -0ac80ad80ae80af80a0a0a1545380748070207200b0b024b071e0c0c024b07160d0d024b0710 117.239 -0c0c064b07100d0d064b07220e0e064b070d10441a44011f45070d170d270d370d040db8fffa 117.240 -400b1010024b0d100b0b024b0db8fff4b40c0c024b0db8ffd8b40d0d024b0db8fff4b40e0e06 117.241 -4b0db8fff4b40c0c064b0db8fff4400f0d0d064b0d24070117012701030001b8ffecb4131302 117.242 -4b01b8fff4b41010024b01b8fffa400b0f0f024b01040b0b024b01b8fffeb40d0d024b01b8ff 117.243 -eab41010064b01b8fff0b40e0e064b01b8ffff40330c0c064b0123671c0101371c471c571c03 117.244 -020a0a111348190722014722572267227722041722372247229722c722f722060022b8ffc0b4 117.245 -0f0f024b22b8ffc0401f0f0f064b22100d0d064b22221a17021048041a1c200f0f024b1c4801 117.246 -080402003f3fed2b3210ed333211392f2b2b2b5f5d717233ed3239192f5f5d5f5d011810c62b 117.247 -2b2b2b2b2b2b2b5f5d10d62b2b2b2b2b2b2b5ded10eded10d42b2b2b2b2b2b5dedc45d5f5d5f 117.248 -5d31305d5f5d012b212111243332161514060716161514040111163320353421220311163332 117.249 -36353426230238fe5e010b76d9ee985cae9ffee5fe423f5d011cfefb644f6737bcada5c105b9 117.250 -0dbbae66a8152ac2a7c1e60519fe5b06e7cbfdb9fdd10a8d9a8f8800000000010096ffec0207 117.251 -05e6000800c7b9000affc0b41313024b0ab8ffc0b41010024b0ab8ffc0402a0c0c024b070a17 117.252 -0a270a370a470a570a670a770a080706170627060306024d070117012701d701040001b8ffec 117.253 -b41313024b01b8ffeeb41010024b01b8fff240110f0f024b01040b0b024b01040c0c024b01b8 117.254 -ffcc40170e0e064b01180f0f064b01130c0c064b01160d0d064b01b8ffec401b0b0b064b0109 117.255 -b705c70502010a081a082a083a08040652070b0100003f3fed5d5f5d0110d62b2b2b2b2b2b2b 117.256 -2b2b2b5f5dfdc65d5d3130012b2b2b13113311141633152096be6350fe8f012f04b7fb695663 117.257 -aa0000000001007dffec03e3042f001200fb402714400b0b024b7714010a4d074d0708011708 117.258 -47087708a708048708b708e70803080c1010064b08b8fffab40e0e064b08b8ffecb41313024b 117.259 -08b8ffec400b1010024b08160b0b024b08b8ffeeb40d0d024b08b8ffccb40e0e064b08b8fff0 117.260 -b40c0c064b08b8fff440150d0d064b08004de812f81202071217122712030012b8fff8b41313 117.261 -024b12b8fffab41010024b12b8fff640230f0f024b120c0b0b024b120c0c0c024b12080d0d02 117.262 -4b12040c0c064b12040d0d064b12b8fffa40110e0e064b121303520e090a0e0b08061206003f 117.263 -3f3f3f10ed0110d62b2b2b2b2b2b2b2b2b5f5d5dfdd42b2b2b2b2b2b2b2b2b5d7172eded5d31 117.264 -30012b01111433323637113311233506062322263511013bd75e9c19bebe20c15cb0bb042ffd 117.265 -55f86c4702f0fbd1943f69caba02bf0000020050ffec03e40443001b002501d3b62740101002 117.266 -4b25b8ffecb40b0c024b25b8ffee40490d0d064b071317130201672077200202280f480f0200 117.267 -b70fc70fd70fe70f04010025150f0537184718571867187718871897180718254d0a4d881501 117.268 -150c1313024b150c1010024b15b8fff8b40f0f024b15b8fff040110c0c024b151e0d0d024b15 117.269 -0c0e0e064b15b8fff040440f0f064b150c0d0d064b1527214e38050100050c0f0f024b05160b 117.270 -0b024b05100c0c024b05120d0d024b050c0e0e064b050c0c0c064b050c0d0d064b05263a0301 117.271 -032500b8ffc0b40d10024b00b8ffc040320d0f064b480058006800780004000218191c520a08 117.272 -0e52080f180f280f380f480f580f980fa80fb80fc80fd80fe80f0c000fb8ffc0b41317024b0f 117.273 -b8ffc040240d0d024b0f124a1e5a1e02031e52a808b80802580801006a087a08020347085708 117.274 -020008b8ffc0b41414024b08b8ffc0b41313024b08b8ffe8b41010024b08b8ffe8b40f0f024b 117.275 -08b8ffc040131313064b08080c2352020c5212190b020b1207003f3f3f10ed10ed11392f2b2b 117.276 -2b2b2b5f5d5f5d5f5d5ded5f5d10dd2b2b5f5ded10d5ed10cd10dd5d2b2bcd5f5d0110d62b2b 117.277 -2b2b2b2b2b5f5ded10d62b2b2b2b2b2b2b2b71ededc65d10c41112395f5d5f5d5f5d3130005f 117.278 -5d2b2b012b250623222635342433321710232207273636333216151114171522260326232206 117.279 -151433323702e472eb7eb9011ddd3c4ce8b2605036bf57e9d35474732b5a2490b6c5906f7b8f 117.280 -b788a3e11a0104609f2c3fd4e7fe808d2f5f4201df149465a78900020087fe5c042c0443000f 117.281 -001b014d40161d400b0b024be71d01164e470af70a02470a970a020ab8ffe4b40f0f024b0ab8 117.282 -ffeab40c0c024b0ab8ffd4b40d0d024b0ab8fff4b40e0e064b0ab8ffe6b40c0c064b0ab8ffea 117.283 -401e0d0d064b0a111101044d014d1702010702170227028702e702f702060002b8fff4b41313 117.284 -024b02b8fff6400b1010024b02040d0d024b02b8fffa40110f0f024b020a0b0b024b02080c0c 117.285 -024b02b8fff4b40e0e064b02b8fffe40330f0f064b02020c0c064b02020d0d064b021c580d68 117.286 -0d025707670702024514014a190114100e0e064b14100f0f024b14520d19b8fff0b40e0e064b 117.287 -19b8fff0400c0f0f024b195207010e03060db8fff0b40e0e064b0db8fff040140f0f024b0d0b 117.288 -07100e0e064b07100f0f024b0707003f2b2b3f2b2b3f3f10ed2b2b10ed2b2b5d5d5f5d5d0110 117.289 -d62b2b2b2b2b2b2b2b2b2b5f5d71eded103c10d42b2b2b2b2b2b5d71ed5d31302b2511231133 117.290 -15363332121114002322260311161633201134262322060145bebe6c99e4feff00f2449b1612 117.291 -74370162a8b928743bfe2105d3586cfee4feeef4fecb30032cfd901b310190cbbc3800000002 117.292 -0050000001c105c4000b001100d9b613400f0f024b13b8ffc0b60d0d024b097b03b8fff4b40e 117.293 -0e064b03b8fff8b40f0f024b03b8fffab40c0c024b03b8fff940200c0c064b03110e0c4d7711 117.294 -010011041313024b11021010024b110e0f0f024b11b8ffeeb40b0b024b11b8ffecb40c0c024b 117.295 -11b8ffe6400b0d0d024b110e0f0f064b11b8fff8400b0c0c064b11120d0d064b11b8ffd64010 117.296 -0e0e064b11081111064b11130d511000b8ffc040120f0f024b007c06400f0f024b06100c0a10 117.297 -06003f3f10d62bed2b10ed0110d62b2b2b2b2b2b2b2b2b2b2b5f5dfdc610d42b2b2b2bed3130 117.298 -012b2b013216151406232226353436031123352111014b314545313045443793015105c44530 117.299 -314545313144fa3c038fa0fbd10000000001004fffec02fc0558001500cab90017ffc0403f0c 117.300 -0d024b0813181302281701871001109708010809010006090309010c0c064b094d4800580068 117.301 -00f8000400000c1313024b000a1010024b00120f0f024b00b8fff2b40b0b024b00b8fff0b40c 117.302 -0c024b00b8ffe8401d0d0d024b00160e0e064b00100f0f064b00260c0c064b00280d0d064b00 117.303 -b8fffc401b0e0e064b002c133c13020f0d0205070d52120152085207120b0706003f3f10eded 117.304 -10ed10c63c10c65d012f2b2b2b2b2b2b2b2b2b2b2b5f5ded2b3c103c10cd10dd5dc65d5d3130 117.305 -005d012b13233533353711211521111416333237170623222635cb7c7cbe0126feda5b65494e 117.306 -1c768d7faf039996e049fed796fdec877225a71ebd90000200a0000004a805c8000f001a0106 117.307 -4017670e770e02010e040b00460f0f1c16060d0d064b16450bb8ffe8b40b0b024b0bb8ffea40 117.308 -120d0d024b0b471c1044044407052705020005b8ffe4b41313024b05b8fff2b40f0f064b05b8 117.309 -fff0b41010024b05b8fff4b40f0f024b05b8fffcb40c0c024b05b8fffab40d0d024b05b8fffe 117.310 -b40c0c064b05b8fff4b40d0d064b05b8ffeab41010064b05b8fff040290e0e064b051b481701 117.311 -0245150103570e01025513015a196a197a1903101906090e1103134901010519b8ffe8400d0f 117.312 -0f024b194909000805080902003f3f3f10ed2b11392fed333233113311335d5d5f5d5f5d5f5d 117.313 -0110d62b2b2b2b2b2b2b2b2b2b5f5deded10f62b2bed2b103c10ed111239395d313021012227 117.314 -112311322433201114060701011116333236353426232203c3fe794391c80b0121420210aa75 117.315 -01a9fcc04844b4a4b0be1e02750afd8105b90ffe5c8add1bfd5e0505fe240a74957b6c000002 117.316 -004bffed03ec05e6000e0019011e40161b400b0b024b004d0d190c4d470d010d201313024b0d 117.317 -b8ffeab41010024b0db8fff6400b0f0f024b0d080b0b024b0db8fff6b40c0c024b0db8ffe440 117.318 -0b0d0d024b0d0c0f0f064b0db8ffe2b40c0c064b0db8fff240660d0d064b0d140c0c0c064b14 117.319 -4e87060138064806020006080f0f024b061a0b0b024b061a0c0c024b06120d0d024b060c0e0e 117.320 -064b06100c0c064b060c0d0d064b061a251635164516032a113a114a11030358036803021618 117.321 -0b0c024b16100f0f024b16520311b8ffe8400e0b0c024b115209480901020e0a03b8fff0b60f 117.322 -0f024b030b09b8ffeeb70d0d024b09070d00003f3f2b3f2b3f5f5d10ed2b10ed2b2b5d5f5d5d 117.323 -0110d62b2b2b2b2b2b2b5f5d5dfd2bd42b2b2b2b2b2b2b2b2b5dfd3c10ed3130012b25350623 117.324 -22023534003332171133110326232206151021323637032e63bdc9fa0120c7a656bebe487d99 117.325 -bd01602d7e10014f630120f0f101554e01f1fa1b03366ce4b0fe7d392000000000020050fe5c 117.326 -03c804740030003c0160402c48195819681978190400272b372b020265017501020320101c12 117.327 -064e282b382b482b582b682b782b882b072bb8ffeab40e0e064b2bb8fff0400f0d0d064b2b19 117.328 -3a4e1c0e1010024b1cb8fff440860c0c024b1c120d0d024b1c3e00234e0d344e12060e0e064b 117.329 -120c0f0f024b12120b0c024b12120d0d024b123d17010188199819a819b8190488189818a818 117.330 -b81804280c380c02006701770102026a317a3102653775370203102037281a171f181537180f 117.331 -0f024b37521f40090a064b1f9708a708b70803970ba70bb70b030028530825530b01b8ffc0b4 117.332 -1114024b01b8ffc0b40b0c024b01b8ffc0b41114064b01b8ffc040090c0c064b0103522e31b8 117.333 -ffe8400d0f0f024b3152152e0e0b061507003f3f3f10ed2b10fdc62b2b2b2b10edd4fd5f5d5d 117.334 -d42bed2b10c6123939111239395f5d5d5f5d5f5d5d5d5d0110d62b2b2b2bedd4edc610d62b2b 117.335 -2bedc6d42b2b5ded111239395f5d5f5d5f5d3130133716333236353423220623223534363726 117.336 -1134363332173717071615140607070606151433323633321615140423222601220615141633 117.337 -32363534266067a68c8195bc20a82fe46b4fe2eaac9e595f7c7249caa49d1c5e622bb62c9eb1 117.338 -fef7cb68e6014d637d796765727bfedb986f59428220ac3556136a0106a8e0417275565f99a2 117.339 -dc101003251e291f978694b64a05048c6470938f74648c000000000200030000000000140001 117.340 -0000000000340004002000000004000400010000f016ffff0000f000ffff1000000100000000 117.341 -000600380000000000170000000100020003000400050006000700080009000a000b000c000d 117.342 -000e000f001000110012001300140015001605e6000005b9001905b90014042f00140000ffe7 117.343 -0000ffec0000ffecfe5c000005c30000fe5400000338000005d300000253000005c8000a0000 117.344 -0000000000000000000000000000000000000000000000000000000000000000000000000000 117.345 -0000000000000000000000000000000000000000000000000000000000000000000000000000 117.346 -000000c800cd00cd009600b400b400000000000000be00c800c8008c00a0009b009600000000 117.347 -00be00c800c8000000aa00aa000000000064007d0082008c009600a00064007d0082008c009b 117.348 -00d20064007d0082008c009600a002300136011801a401d600460218012c01c2000001d600eb 117.349 -00eb01d1017f0154011301450168012c008d02350159033f0505012c00b4006e0136015e01cc 117.350 -01cc04d8006e006e01d600d2005f01f4012c007802d00190037f00800280006e00b4000000a5 117.351 -fea2003200b9008c000000000000000000000000000000000000000000000000000000000000 117.352 -0000000000000000000000000000000000000000000000000000000000000000000000000800 117.353 -05e6000005b9001905b90014042f00140000ffe70000ffec0000ffecfe5c0000000000000000 117.354 -0000033800000000000002530000000000000000000000000000000000000000000000000000 117.355 -0000000000000000000000000000000000000000000000000000000000000000000000000000 117.356 -0000000000000000000000000000000000000000000000c800cd00cd009600b400b400000000 117.357 -000000be00c800c8008c00a0009b00960000000000be00c800c8000000aa00aa000000000064 117.358 -007d0082008c009600a00064007d0082008c009b00d20064007d0082008c009600a04036544b 117.359 -214a494847464544434241403f3e3d3c3b3a39383736352f2e2d2c2826252423221f18141110 117.360 -0f0d0b0a090807060504030201002c4523466020b02660b004262348482d2c452346236120b0 117.361 -2661b004262348482d2c45234660b0206120b04660b004262348482d2c4523462361b0206020 117.362 -b02661b02061b004262348482d2c45234660b0406120b06660b004262348482d2c4523462361 117.363 -b0406020b02661b04061b004262348482d2c0110203c003c2d2c20452320b0cd442320b8015a 117.364 -51582320b08d44235920b0ed51582320b04d44235920b0042651582320b00d44235921212d2c 117.365 -20204518684420b001602045b04676688a4560442d2c01b10b0a432343650a2d2c00b10a0b43 117.366 -23430b2d2c00b0282370b101283e01b0282370b10228453ab10200080d2d2c2045b003254561 117.367 -64b050515845441b2121592d2c2045b0004360442d2c01b00643b00743650a2d2c2069b04061 117.368 -b0008b20b12cc08a8cb8100062602b0c642364615c58b00361592d2c8a03458a8a87b0112bb0 117.369 -292344b0297ae4182d2c4565b02c234445b02b23442d2c4b525845441b2121592d2c01b00525 117.370 -1023208af500b0016023edec2d2c01b005251023208af500b0016123edec2d2c01b0062510f5 117.371 -00edec2d2c20b001600110203c003c2d2c20b001610110203c003c2d2c00b00743b006430b2d 117.372 -2c21210c6423648bb84000622d2c21b08051580c6423648bb82000621bb200402f2b59b00260 117.373 -2d2c21b0c051580c6423648bb81555621bb200802f2b59b002602d2c0c6423648bb840006260 117.374 -23212d2c4523456023456023456023766818b08062202d2cb00426b00426b00425b004254523 117.375 -4520b003266062636820b0032661658a2344442d2c2045b0005458b040442045b04061441b21 117.376 -21592d2c45b1302f4523456160b0016069442d2c4b5158b02f2370b01423421b2121592d2c4b 117.377 -515820b0032545695358441b2121591b2121592d2c45b01443b0006063b0016069442d2cb02f 117.378 -45442d2c452320458a60442d2c45234560442d2c4b235158b90033ffe0b134201bb333003400 117.379 -5944442d2cb0164358b00326458a586466b01f601b64b020606620581b21b04059b001615923 117.380 -586559b02923442310b029e01b2121212121592d2cb0164358b004254564b020606620581b21 117.381 -b04059b0016123586559b0292344b00425b00725082058021b0359b0052510b004252046b004 117.382 -2523423cb0072510b006252046b00425b0016023423c2058011b0059b0052510b00425b029e0 117.383 -b0072510b00625b029e0b00425b00725082058021b0359b00425b003254348b00625b00325b0 117.384 -016043481b2159212121212121212d2cb0164358b004254564b020606620581b21b04059b001 117.385 -6123581b6559b0292344b00525b00825082058021b0359b0042510b005252046b0042523423c 117.386 -b00425b0072508b0072510b006252046b00425b0016023423c2058011b0059b0042510b00525 117.387 -b029e0b02920456544b0072510b00625b029e0b00525b00825082058021b0359b00525b00325 117.388 -4348b00425b0072508b00625b00325b0016043481b2159212121212121212d2c02b004252020 117.389 -46b004252342b0052508b003254548212121212d2c02b0032520b0042508b002254348212121 117.390 -2d2c452320451820b00050205823652359236820b040505821b04059235865598a60442d2c4b 117.391 -53234b515a5820458a60441b2121592d2c208a08234b538a4b515a5823381b2121592d2c0020 117.392 -8a49b0005158b04023208a3812341b2121592d2c462346608a8a462320468a608a61b8ff8062 117.393 -232010238ab14b4b8a70456020b0005058b00161b8ffba8b1bb0468c59b0106068013a2d2c20 117.394 -8a2349648a2353583c1b21592d2c4b505845441b2121592d2cb0024354584b53234b515a5838 117.395 -1b2121591b21212121592d2cb1020042b123018851b1400188535a58b910000020885458b202 117.396 -010243604259b12401885158b920000040885458b2020202436042b12401885458b202200243 117.397 -6042004b014b5258b2020802436042591bb940000080885458b202040243604259b940000080 117.398 -63b80100885458b202080243604259b94000010063b80200885458b202100243604259b94000 117.399 -020063b80400885458b202400243604259595959592d00000001000000050000f72805665f0f 117.400 -3cf5001b080000000000ad61b71900000000c142e956ff50fde708a8078b0000000a00010000 117.401 -00000000000100000783fe39000008e9ff50ff7808a800010000000000000000000000000000 117.402 -00170400008005690050031c0096045d0041045f0087026900000432007a04b3000d05ad0014 117.403 -03d9005002f0009f03f60041044b004104870096025c0096045f007d04340050047500870248 117.404 -0050032c004f04a800a00475004b040400500000002800f40166029e03400340036c041a0532 117.405 -06520672072807f0090009780a160b380c0e0c9c0d240dd60e920f98000100000017004d0007 117.406 -004b000500020010002f0055000002f001ff00030001400a54bfa50140a5111546a4b8010cb2 117.407 -321fa1b8011540b21f1f6fc731216ec731216dc731216cc731216bc731216ac7312169c73121 117.408 -68c7312167c7312166c7312165c7312164c7312163c7312162c7312161c7312160c731215fc7 117.409 -31215ec731215dc731215cc731215bc731215ac7312159c7312158c7312157c7312156c73121 117.410 -55c7312154c7312153c7312152c7312151c7312150c731214fc731214ec731214dc731214cc7 117.411 -31214bc731214ac7312149c7312148c7312147c7312146c7312145c7312144c73121b80137b2 117.412 -6f0821b80136b26e0821b80135b26d0821b80134b26c0821b80133b26b0821b80132b26a0821 117.413 -b80131b2690821b80130b2680821b8012fb2670821b8012eb2660821b8012db2650821b8012c 117.414 -b2640821b8012bb2630821b8012ab2620821b80129b2610821b80128b2600821b80127b25f08 117.415 -21b80126b25e0821b80125b25d0821b80124b25c0821b80123b25b0821b80122b25a0821b801 117.416 -21b2590821b80120b2580821b8011fb2570821b8011eb2560821b8011db2550821b8011cb254 117.417 -0821b8011bb2530821b8011ab2520821b80119b2510821b80118b2500821b80117b24f0821b8 117.418 -0116b24e0821b80115b24d0821b80114b24c0821b80113b24b0821b80112b24a0821b80111b2 117.419 -490821b80110b2480821b8010fb2470821b8010eb2460821b8010db2450821b8010c40ff4408 117.420 -216957311f5857311f5657311f5152311f4644311f4544311f4f4e311f4d4e311f2097309740 117.421 -975097043088010f8c018f849f84af84bf84cf84058f689f68af680360697069028f5b018f5a 117.422 -017057018f509f50af50bf50cf50058f519f51af51038f529f52af52033f7c4f7c02507b607b 117.423 -707b03704e01708f01308f608f708f03008e01008e01408e708e02008e308e408e508e608e70 117.424 -8e06107040700260740160730170440100282800000012110840370f3fce16010fa21fa20218 117.425 -c7312114c731210ec731210dc731210cc731210bc731210ac7312109c7312108c7312107c731 117.426 -2106c7312105c7312104c7312103c7312102c7312101c73121407c00c73121e0180821dc1408 117.427 -21d60e0821d50d0821d40c0821d30b0821d20a0821d1090821d0080821cf070821ce060821cd 117.428 -050821cc040821cb030821ca020821c9010821c8000821230e45220c45210a452008451f0645 117.429 -1e04451d02451c00451a08180816081408120810080e080c080a08080806080408020800084b 117.430 -b807ff524bb008505b58b101018e59b0124b004b5442b9000101ff858d2b2b2b2b2b2b2b2b2b 117.431 -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 117.432 -2b2b2b2b2b2b2b2b2b7342011d4bb01b5358b0961d594bb0325358b0001db1160042594b20b0 117.433 -325323b096515a58b0301d592b0145695342014b5058b108004259435c58b108004259161070 117.434 -3eb13737456920b0005458b040605944b1300070b33200300019701870737373737373747473 117.435 -737373737373737373737373737373732b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 117.436 -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 117.437 -2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b 117.438 -2b742b00000000> 117.439 -] def 117.440 -FontName currentdict end definefont pop 117.441 -%%Page: 1 1 117.442 -%%BeginPageSetup 117.443 -%%PageBoundingBox: 0 0 366 156 117.444 -%%EndPageSetup 117.445 -q 117.446 -0.0823529 0.580392 0.0823529 rg 117.447 -BT 117.448 -8 0 0 8 222.394666 145.083551 Tm 117.449 -/f-0-0 1 Tf 117.450 -[<010203>1<0304>]TJ 117.451 -ET 117.452 -0 g 117.453 -BT 117.454 -8 0 0 8 244.004041 145.083551 Tm 117.455 -/f-0-0 1 Tf 117.456 -<0506050708090a0b0c0203>Tj 117.457 -ET 117.458 -0.0117647 0.0117647 0.721569 rg 117.459 -BT 117.460 -8 0 0 8 298.536267 145.005426 Tm 117.461 -/f-0-0 1 Tf 117.462 -<0d0e0f03>Tj 117.463 -ET 117.464 -0 g 117.465 -BT 117.466 -8 0 0 8 314.161267 145.005426 Tm 117.467 -/f-0-0 1 Tf 117.468 -<0506051011110e120b1013120c04>Tj 117.469 -ET 117.470 -0.588235 0.0392157 0.0392157 rg 117.471 -BT 117.472 -8 0 0 8 162.495227 145.005426 Tm 117.473 -/f-0-0 1 Tf 117.474 -<140315>Tj 117.475 -ET 117.476 -0 g 117.477 -BT 117.478 -8 0 0 8 175.963977 145.005426 Tm 117.479 -/f-0-0 1 Tf 117.480 -<050605110e0f160a1204>Tj 117.481 -ET 117.482 -0.8 w 117.483 -0 J 117.484 -0 j 117.485 -[ 0.4 0.4] 0 d 117.486 -4 M q 1 0 0 -1 0 155.935211 cm 117.487 -106.051 133.129 m 85.43 122.164 70.191 113.375 70.191 113.375 c S Q 117.488 -72.852 38.791 m 69.273 43.08 l 74.777 42.131 l 73.484 41.564 72.711 117.489 -40.213 72.852 38.791 c h 117.490 -72.852 38.791 m f* 117.491 -Q q 117.492 -q 0 0 367 156 rectclip 117.493 -% Fallback Image: x=0, y=0, w=365, h=155 res=300dpi size=2955450 117.494 -[ 0.24 0 0 0.24 0 0.895211 ] concat 117.495 -/DeviceRGB setcolorspace 117.496 -8 dict dup begin 117.497 - /ImageType 1 def 117.498 - /Width 1525 def 117.499 - /Height 646 def 117.500 - /BitsPerComponent 8 def 117.501 - /Decode [ 0 1 0 1 0 1 ] def 117.502 - /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 117.503 - /ImageMatrix [ 1 0 0 -1 0 646 ] def 117.504 -end 117.505 -image 117.506 -J3P/PW$E,P#D#)]Yda6_*=IZk@Smti:+[9:6_dMgggVWNO%&)l3,F<u-'Lr3ni8Oi=Xo4rAe 117.507 - MXrJnFtN9]iX;9Zh9:P"TG/l2;B;6]T<ce+t'$M+3>"ku50(ntAUMcm)Oo767PIW6f'4L\5 117.508 - \kA?XR`oI6ngb@$B1Xu2,k(=?iT>clVY*TH%*\_C`i]H,l'I_aEM\,-pfWJ.h;Yh9F33aZ( 117.509 - 0aK`4DVIpEFWTEaCRq?tVS%dgY=GpbJ,H]O/Zl3]AP@]X%lggJ"c<!$+dd8mf/\XH'QJ?:, 117.510 - HbLg3Kn/(Q2)]l+lRfO)EV)>+[?Ad(f6041Y3,bl8*7kdSpsb88$VLUH@&DRa+9rLG^FoND 117.511 - ^X2u4q@0,r4R%'`mh`+CX3-Y/Xua.5d1A%#rg$9-NZ;D;c(\#%]h;k6Ed`o#K06XUA708PM 117.512 - G:_:Ffu[_f+m=#JX*b1AAfWRnX)R%nq*]_D+/;'#*l]AK8dRj:r0DD<q!/7PT4,JtE[WXFh 117.513 - Z%&tXd"P3e-lbG\<=0[)<K9emh`JeIZ!o0gPR9_.hr2bc)[-TY#%SBE?*drat:bDCoB2p^\ 117.514 - n#+s4[[-p+RZg?d-;3YfA5:Fucq*iMlPhS^T'W!*CVY!QK7oM7p0hYCXV+jc^<9,W0bnVuW 117.515 - ;'\#1='3nWbstl423K1f,Ls10@9#0RG=gC$oaOu)1lX_4:f_(]?<@nYX%h,EofY]E<IM,fg 117.516 - %F`jAD5UfkAaVsrQ/n[<rLW7fTbd7Q.hRAiHnn?75\r32k?jj?WEB-I+[!jc#M*rogs_mfE 117.517 - s?Xc5;8)LI&ErrJ'7?Sb[6`R%2i`h\a?dOAraOhg&WhV?)Y,pngWC_>'<<HV8THbEl\k:2c 117.518 - M()#a&;<d>/)Cuj8$UR*aGhHQ:WH5:"[<k4sRR:84"Q_J2?[7Qun)E$3<CV!K)0ZoQXn$AW 117.519 - J8e-9C3NfWck=j1?U$@Y$#G*$IhNOmRD5QKdgRF38]B"+s\\.F#4,(H7qlMS1E11ArOmUq9 117.520 - L@aukN:"^W=oK/O>l7o(VX,8eMp?*>#:mN.qtEUlFd_W<c>Yn4=0H,Zf/(A1]qs%_DgQtSd 117.521 - rO.QKg9Z!7glQlR\+k)oNfIXcLtO.;;1iK[iMO@*Ij(9pn#6MAp?Km\^u.5-`PRA*VL)_o3 117.522 - DmSNrCnS"dFBUs0L'u*S7sa?&NlR:(;K_=8q==S#Loj[HfrQmdhD3[sZIF#JesToA!9NI]q 117.523 - `/_$9E*hFn`'mVW'A`_uo19C-Om*W8<jB*D^jb%U4rk<_,gpgJ7EGjW?Z_1pn5Tr\o\&8@h 117.524 - ([`8\_qrBIBJg%mB56BR*4akPJpd=17oO/F/I.1;i6PcKkU4a5-YiZ9]UDF?2)ZbX)4r>s* 117.525 - aU;=j`em/1[C2Ih5"I0%7EPKS.<Cl4;m_'I#l-8#1R*t66B.%?*^ut4qP'-`NK8m`"=4p5+ 117.526 - V"i/P#;H2UY.PTj><,mE\^69.6`&'H8Lf5AjeHY)^(tFX-(iOk=HO`WMP0`Pp^<CSTt/de1 117.527 - @MaZ>rV`q0sgSS;B53(.-27%ZViTk`HM??6_I!2!"#'R7S`58U4(BAq[=S;d+*6fi^&lN7= 117.528 - .L12T[pf/=sB,b/Qa782qCPG[..T/$mpapIG\,h1tD1M0_7oO0m0]Z6RB*`u)rP<W2M!M=G 117.529 - !GgP]E4"%]"BG7D(:>-.CB8jEskH]BYl5;j`XV.=KqMEWM0g)ERs.r[-Qr4hg6k4V*85mA[ 117.530 - OHKs:)e+([eIJ<Q;eJt-77jIY/uDV%SQ"g-;6!VkW`<6)<U.E1X#4dt<SG,flNL^u<K=@c> 117.531 - *Va]2/00mY-qBbh-93!E@3Wd\lW)&?0fITY>qa4=1\?;lihsE<Xu]BgBh<T7>\9M0#f"_f4 117.532 - /WNOg8"_b#[g;ASf>"NW]Zra.aJ:m002j<e,s/4&'GV7B*[qY1?e26YUC[Z*m]Yg07cuD=, 117.533 - <Q[3TeK>MFREmKLG:<gqlM4,n7I?*LjU0%SgYR<.eMdCNA?NSQ[uFmd5^\@6)<>8s,WDEZm 117.534 - i(QS&lHae9=7Hq@LT(QD_`HuIHn%KU`qHH&7I;d+#[9)5`>q>#dDJc#](_6Z)bR&jhD?don 117.535 - )ZSa-M1DgR&\T#3$"7&9KeTpG_73\YiLE&UDQY)"=%<[.4)'IhQ70](Y1qr?f+;[4&B1$_) 117.536 - Im#hNUb"Ka&qdOA))KnnchD$=Uu]e>`Fm:7S1^)0.(5bSWiW!;9E$;.V2keQ1Dptb?8a9AZ 117.537 - -o68+p64=cY=M>g8].7VU+MY;U"Jh4+"jER%_53bM^bSb'jHcWT^#BAEHXoEGULOjUS5Pi% 117.538 - A*%Z/S:01KX2*M`7]Oj[E/8nhQ_V=_cqdopZbC#(qMo`h,6`61J\><S?j=SNp>^gIA^fIF_ 117.539 - i44Y=n=R/+eX`_Xjf37';lOg9J`?!>IUS)^Ec&JlL5/#WQb]=1iMfa,U`S!=KA8PV=XEGHE 117.540 - \g'mAM1)A2pBJ_TTh$V<@>GpkY2A&>>@)2dlZKZR;Vc\TG&*XuY\o3KhL"^;K>"%e2Ko#TS 117.541 - .BH']t;(i7^:f3RriV@#J51LnD'NqJT#sjYrJWZffT2sD&tLNp!3fQ)foq;Y"c_,?.7WbIs 117.542 - LJM-+pcQ+6)&<N,p%W\2`Trj4rNpMSOTML,aSlU[]i!/re9T7nMrN0;`jJS^[Fj;<hF_;// 117.543 - E&:WM%a[=];Z#GE[MJ6-+E4bL"_?HLmt+)1)tX0`;o(aCYho,L,U[J+"Th7I<FlpH;-MgM5 117.544 - V"i#<O?/NMCY//nK(")4gpVHWC*Spr2-Ns@^`q`sLgA+IknfXRJGlKGOH[g&'IWs4cn.jkC 117.545 - s*aORHe*G&(!sX$Z0WNMb'Iu;hL*Sqo7#TIp?pm]4@d'XhA=[I%fu15B5@1l6cJta47+Yln 117.546 - bM&N"ac`4mf'-*pYLh>I@n45^+I\+s*qZj@6Q(8Vs4.eYP*G&h>@5-nbunAqL;d$eVE1#O# 117.547 - _gCI4r\Amdg6nJFmd\p@#l/O2guL$LJ@i\aQ!gE"i=KTXmqt!\\HfbF\SB/H?=b\aP.P%p& 117.548 - bsQN8b:ordHMmhl6=W<-k1!jG;c&2:YV2$NFV"07gln2CS)p@#1_n1[iD0H.K`*sYTV"cK& 117.549 - Xd!l6/aL]`2#r$,d0F%EYM$G_&\I_=6!J1d=hYtm4$a@;PnA,Me`=-_-%'[tbn'_4F$IH\F 117.550 - s/jB2%TqVkB"@=$kE,&^:3*n*G2s50fe,\'mR[m@;$h,>iNVb.:0dWJ-P5]a%VqIBYko#lr 117.551 - 7T?qg/0-R;#\"f!tt#t"tQ#$EB)lr'*=:4&i!)mbEihR"P`G:\T%9XD>OtsQP4@4i))VI&O 117.552 - @28D\R.p'X;'!;,Fe8<>7/j&ro$2/l!+R=p;)!$S]%!&YU*tV&F?Q)R6C_nZa#f[2Wn6%8b 117.553 - XA932E2,k=gC*3ma.n^/@-QldL2*\j,l;:Q^BjW8F+*jP)RnaR\UocJ!@ctbW\n+dqWhX(l 117.554 - 6+-I'Une!#tN?+/:n?JN-;B[5>,pI@Y,-idEnhD@?QQ+1D+=gG3;@=^I73lnF,cm%MOl%&I 117.555 - 9dOg_-*gf&nmNk#AL;B2,E"W.b>TYuaX30r-aJ.Jl]3>)*?GiE.'eg\nrY@VPppaA.BF%,d 117.556 - +CXgg^6g.,Vko?o!']#%NhDN)hD0-ZFqe%^)]M2)=k0do$K$EeLbgp/[F1R66+L\DU@`\[1 117.557 - [TPEo/N*oe1@]0=(O0o)UO$"Yb!(0WTaW1&iK(kg^;1+E#XXdg\&g,r0Nj1:&Pfo.`$W2)B 117.558 - ;5dSg_W1''+MV^eur1UBe4o2.A$<Aei#27$RGo3jO#s!eA.1f=K,OpNtHH2nV(2m[i/F+$# 117.559 - %`AfZ$[ZcP,lj#NAGrATh3O>8:o-,51fGT7e)1a7Ti@54dBFB>?&qDJoTIW)h\N8\"3e<\S 117.560 - JGD>aL`J;(\F\>n1Pn7;ppM>'5-p?\!MM_6H5e[8\+B//%c.e]PQ1]Q5dUS.<"RSgiAqYj6 117.561 - *0rAOhicYEA@',]egHi!FuWR2*c6o5qQ-FPQs/]Pe&[45]bsK1]eNd<C'=O6n;n=bQ10@DA 117.562 - TZo2md67XT:c\&OSh26]U%k'Nl]GDar5i`q4C@1cIEo3Yk\I6.DF4+eTGk,>'+'(;QjUNuL 117.563 - ^,WCh`U(85LeN1TJI5=S?b5P,=Wi0ut$bS@t$("9uno=[m4^J6WM:34<7@Ak2TWA'Q9)"WS 117.564 - O$]dXgM,10^8!A9o979!t2+WsN[kp`GeKHl8j[nd6&YU*^odh'?"or(O;ft0#Ps&)(5uX%( 117.565 - (1Ceq6,FTbm^DdW;rM^oMk`t(CJ<7*9f)@f<G>/B&C+5u-PGf$cG_OHZWB"/5]h9>'Lr%$A 117.566 - @V;j=gNDgoq9V'QF1k4^6P_,26P5IM-8;[=Rid^oJ'RnJQjZU>BRJ8[D]J<_+/T(__p%;!7 117.567 - =g[,6j1W9;-+BPf2&$aNq6>30_`.!S/=.f0!$o@'o6-eEo@3aYGaP5c]rQZ\:j>K2G9k30X 117.568 - KQocIH1Pu&4V\WpB/og`$56"Ete;X8%-Fum1!p9f&e2q@oT2Hr,K?WWBg1_UT5ZYq[`n@Wi 117.569 - "@oN\:!Dci3O$m$'\e]]s[3j1B<jYnn]XF9:'SeW3DU2@1B_.'o&[uK?>A>8]C2?UZ[]ML> 117.570 - YdN&h^37\21!a0def/$s'hjfu/N[e8lXhquAoXYT2?u<e&NkWS*T=N92XhPL`Y___42JoX6 117.571 - ,t`<'f_J%[o<;dQ70/k;B.UUZnqIr2Aun&Bkroh7eE.V2^_D-jZW=a\J@\Wp-Ws;>S"XJ)f 117.572 - &qp(J;3h.^TuU5aED5;u^P^JTeKgc4t[ab>]H)F;I6C';7L4TfO,Y;AC_*EH?b+pDUCQ'gM 117.573 - @+EqY2HQAKr(NEIc-H?8[C1^@g?heQ;*](a@p=.NpP$[NurHblD%Zhk\CcH#\.AlmSblUQB 117.574 - Ti#=PYH]08"G@MQ"i3b3L*<D<@+bC0=h!Yf+aB/YqGQ?"=F*\Ym)IX*n!=qq(`GkPa[kl8a 117.575 - QS3@mlF6NR2j^VReGDLTfX<X@3EJDPFu)(b$%OPVFphkEJasVnHl]XcLI'Y%Qu.SD.t>`ZJ 117.576 - p6W$%'auVKo"8rM%&Qkp2ImU#BFsTLlS<`25uJV=_JLF5&B2*R'aT;Yg:t"<AG)DCit]1_d 117.577 - ure_"c<5:sFRWA/_.('@,3iJNV$+jO6*GFuKO@=>`0`nPY]hL$N;9=#.4O><)@$[^?Q)=AH 117.578 - 96qi2&(Lb!9Z!K\>p=q*aH)Rt?@2*$heLM43>NNGBhd+:1cUOW)5\("i,FVSJpcV[fC[b!r 117.579 - 2<0]uG4[F6;P`%muq&_QK)RYp25.>;k<e6R;EBj36H1VK1PuEi]7r)6>Q)d]Hi;#mZ)+YH+ 117.580 - Cm_>l'U+nd7^[NHRp!:gMe.hbI()+n'3UAZ3KoET]q'Ep=fYIe<e6VoHUTbkJ$Y$>H,3"WK 117.581 - 0E<q[.J9k2'kCF<k<RP[CP%_i;&s(f:I'PQh5!a=qV@7$FJLtQP4d2=r+PLbEk5uQZJ-G3L 117.582 - -/G[A5<?Cc3KF<LgMl02Yn,!#+IA=P9:68#=!$[[K]GoTtZ_;l?'6[X'#\\@\J<7-YW_[DD 117.583 - 2M6.G:D[?")k9R3b>CKkbbm=Y)nO`_O2FDEis2RV5-7*B:\(W/eT.AcmF]GW;a\Ns6]=0;> 117.584 - RQaaAe\ocFX5F"&L_HL`R=^>NZ&Sg$%Zk^hq==K*[l]dhM3;X%)qTEX,L:,bTVj1bllVUoV 117.585 - %p\uFHMV!SZ\*[q2d;b5Xa0r;4#"'H,A?s$[/&6M.nr2$CJm%=ZT?&k)aQmH'=N$,Chp5Xq 117.586 - 7=.A=(g8k[+,,b)Eh6XGGu>'\(QU&4*ar?9<iW3BGI4UgRXdZM5Rki=K>pt>B<\(VRTi]SJ 117.587 - l^KgR]<&UV']iZe!"%RtkKXMls0HWN0UEb^7)6/"s$j6Q7*m[.5-"j:6`k%ZBLY$Vc][#S* 117.588 - *['LA`595-FQiYMX0(DnfX2@hmuafC>N_H\P,fJ.;cZ,;K6:0[k-4?^Qo09@<e_8/QmN7"a 117.589 - @H+'bbVRK."eKL)+=bS^V@d@<s\Wk'TO1mDqT7N$3<;Xae!C/\b[aer^3(+EQBh8,BaNZrP 117.590 - MeuIeSdFAFPP.SN>NiN-pr`NScZrAE3EF!V\Y+#mMR6)T>]-oM3B0)#+8=5L4EYsE=3c#+$ 117.591 - ,#T#\k0PM6&'/T@l2MQgOjOqq6@S\d(>L_Y2@PKs)S"3ZMO."=fZsP1pq`"dPp0m<#*`Dcd 117.592 - ')/cp@]YMbVZo):DeXX?AGelTqrTfX?2;5eRcBb<^1I)%%<g[5s)#fLc,_Z6/a\fR&TU*1P 117.593 - Atq78E/eJet/)jrY>rjY)BU\riW*GPnoDRA5BdJT?_SW?1pPL?"sF$6)HSY-:u)1nnfeQl> 117.594 - (I9h<WrR!]Dc1C8H.mq@@O2sKMY5?PPq<ldWCX*UIZuc8746F#cX#IM1c/&<+h;-QG6e.lW 117.595 - F$3rGSUH524j`h8OPRO<1P=)f_UI93[D#8@Or7TBOq8c<mhDaO_32<+)/Xq)JN+G4*c:&&K 117.596 - ^UJ27N+AL)M%5Rc_'&9[2gpaSS#:=-_EE:hGaSApE-j&A@gK)`rH-AI&YlRB0O$(dZiEZeE 117.597 - b$M&&TM>ZohFVPJQTY?,Q@JmBl1A>Y_`ag$KjF:>Xr*94L_%05hc:mFDq4hVuc6)saP'Ed5 117.598 - 4=D-(d:Y?F":lWp90X&\,)1<"RQB`1Z61YJY;PsE#/^!lG_1O6';<V!SHo'IaH$Y0tQ:`S" 117.599 - iog-jGeQZ%BijW8k[>e3/F\EfW=;uER;`QNPm,P&CeQ]C<;-o$be*lJq[J9`\Y5ac_T:,<" 117.600 - Qg33(aDTo2H2EE(o9MP_`d`n1^SAEQ\%A2X]?>9;5HglRPGJ/RK"eST*T`_.-GS,Hs$@$qX 117.601 - <U#4H.L^!\%#B[%0hIa#mGrIekhG2/f:LA6/^&pPU0lPMa>t"Qt.s$(P>3<&B@J)4XG\),n 117.602 - Rq0Y"%Z>7?<WM$jm4ELFM:?H$gB3+bibU')D/PK*=tHj>:u.^*N3.d9lF/m"V,JTuQ3%#`M 117.603 - Ll>,bLPZ>.'fa&&!F,uVi26=P>1^nMTJe:*0m]#geNS(.k$1mb^k'mnDA?H9rSD"g%k(7Qg 117.604 - $aDo`]>^F_1-J!$t.0]PY=3aBV%NH5O9nm0;,o"M_<hWl^<Fa_JK`bU"SQN&j41+ikD34"_ 117.605 - <3=[=)_9!%nm"<Fk8-kFD'N6]%.<58b/3]%MD"`kb3sQP*Zl2ZalW,>r>qS4YM&<!-%S=bL 117.606 - We_9GIEuJ5FWr#J]4,?WG;Aq0H96Y5c(]`.NO8+UrAjY!J(<hE$Qn:5pE*Q"[15mg8g2F!j 117.607 - <1t$!T`h\uLE[\]%,1PnD""oKY6$d.C]G/;XG^QEeiCI*]^9"G63-VKjWuP(9Wo$Ckak`uu 117.608 - _6<21^0Ou/:M8M[Z7Fe6WW?<8(7FK[Dl1;q?jJu56mC+(k8__OpWK\n%L1KmL/MhRh736]j 117.609 - 9b'9O+N1WBuNA>O0W!U(b_^eD!P,$#jZqh[=0"Ns<[7>hOa%,b@JttoAZP&2+XF3AO7ZO3u 117.610 - 9#^5H4[dfIm5[qmFeVJ/J7Z]<>h9;i7XUXOM<%-gVYtXC$0$6!T\.f6FN)pufl5p((36'NQ 117.611 - =j3sB%qKgTk#%L!TdM?Cf4sg<XAl6[FI!j6Z`;:F\t_9UIF'b7'$RSON.rcL5K<][:FmEc8 117.612 - G]MZM.PuK0-$EHEAL#L#0j(GN'J\,^2E!JNS_]3e$,Pk!FK,GpYk,A*<8@Ip@r&GCla:Ec4 117.613 - Ui/n0@.UbS(UT$h-2'X0HQRmOT]X.:/j<(Hq2NTVil=Rp1HqO3jQCtiRnBiqZMfVi\83NOB 117.614 - >DLI6f\q2*!C:Y].]eoq&GC?qt;QlM!>:pk`Uq+5-p#X^V@$TkFP-qWkGhRA:,C2Za\uON8 117.615 - 7Yu,&*khVj/]2h3E`upFaC^sJ/]49P:0<*dPh,hhDKr>)+EC_`fsg/r%a`2dl6M%3T4cis? 117.616 - PhPMH/5%Y-Um!=IOC'6GlC$&%5DIG,"TMRJUjjAAPlG:HLS:!#!pB:WU"mq":t"tISYZOa1 117.617 - %B%cLiU?LW-lt5@5OAguFI0iI+5>rB)l#LHUDYJ/njPmi-pFAe'BZ9?%P'(eL8VV6mg"e+i 117.618 - H.M;^TFfHs+]>RaK54Y@<P-O!GkB7hI84f([S!FV(@K5$i\%J?OrhCJ:J/7bB?UM<.'P5cd 117.619 - 9:lCN+'J\Rg$\u[g+<iXQEaC"R-cMZ$R)1+JR*4_:bu'+Y-h9LDUCh3RJUJ4hAJ<-.^a.;9 117.620 - gCWIM5oPjeL;\Zp_^OHLf&GCfZ-GE_&H!W)g:g^0hDn).@V"Mm5nsHoF%8e6*S,i$N[iU10 117.621 - XDc9hha^XNG_=^.4TAq=[7Fibnirj!9dmk.?kH7:.bgDMolC&PQ1bY\AnIFfJIM//?+jhB5 117.622 - oOogEpJ?W^`._?Ap(,@XY@9`h!DN<T?Y>Qn[@-)jm![*%]$ra.cVG"&b+hflSUj/c!V7'f[ 117.623 - :6nsBP@EZ$dq31Y,j+Hh,3]%>b!Rrn"fEtpu7e424U.6*oR/p,@KW9me7niP;IJkHEr4Qj! 117.624 - ,C(n0m2.r+:&JY)5ZW///Z2[9!KbC)Co_,3aieE0nD[l::P>Z^(8nh0gI"[`2%\_DG`X$Gk 117.625 - a<:^%VkSp;oe.=R6BF@;0SZP-*^8cKnC')Hp;ln^VNeNSTu9-N*%@SU6nup.RQX)Q'`OKiR 117.626 - "iV8''RFX<?ZH^DpS_=<T8)9M?C`!&@T2Ll?iIkamCUC'^hQ$.<C)T?4/$sS78,kF@u&:5` 117.627 - f1GR4J,.0m4&D_ZDrgi&h;q$+2:>EKD@04P-V]Y(mRt$PCJ5_D+nid((B=7BH7aNFP58em_ 117.628 - <d@cO9k[_X)qP'q2'n]j14RFod<_G9-)!1IF2g.Oehj4?ou*%!;kf*cq1X-AI&(K"Hh0u"g 117.629 - ]L"]ah:-TA(Fus30KcJM0K97>N\5rNL]ba65=sG#$U<-,e9YMMZRK<I$PuB@OP5Ri6:;&== 117.630 - iP3oLES9+L6:j#]B]PmB2&N&W@[d+Jj9Wq9-NeY`LqU<AlN>MF$UNdWOWuSm/["<K)C1M__ 117.631 - =u=?PNq0[=S!YGb_BBG`]l,[E>ZPofT9:*Z%seKBHl$s=\/1%ISLp0Z]0t>&Bg3!O&W6gL/ 117.632 - 0%)L&6YhZ/EdqO`Y.cLOt>j9Zah_NFf-!=GKVg`.I]cA5%WAo*02&B7B^#.*a9`IUp[$hG% 117.633 - T5l(>9l#frmH/4uqkTem7#`&SJXAJ^K"b.^-g3=+U*da5Vr?>1gunnY&t5tIt%44K^c;egO 117.634 - Mp)b'NeQ!<Vl4be(#FOKj7P:JZ;ueL@og(pjGfA2!Vk8$r_9N5BOdd]HTCc/tcrn+<AB[/) 117.635 - PUR`jaTjWLP(so%AEINnU6O7sQ!KS"GYb<ciRh\E#0n2;ZM%gbDM6-CNRmGiQ=A**AGTd%# 117.636 - 2hZ!$XoXIB]Rmp(Wl1[[M95nL.D/HPf-^`]%85VMUj.]W/c*J//]jJal]=$:nksGX.X>Z46 117.637 - &CjQgc%L\"er6O^,;-XmqK.#CLr](NF-EmV:d;g>5sZ!.1*;e/F(Acs$)9@Vd<^a@_/\CFo 117.638 - 3Pn+'fGW.)j^)_?ni.mZQ]<gJ3J>23<Yn5M.t60UfSVD\nhT_da5SPBTTc/MH:q&*8g70\T 117.639 - hPJo,A7Pr,jop%8g<'dR5`9U?C5]lra6o`?td>4uU@[Y-=C=^Wlp<p>]JgoI^08j5l/F`JT 117.640 - !TSSDbfRIuCXB3_`%aXQjOY<&q&^-tHXF#!-^2BV?Q\>ihb`!eZec735eXiQPPBJcXSR>iM 117.641 - qT8l.N\mi@%OLc1[^nW1kqdj56LV.fA$1XK2m?l/Q+Ht[43*VkTLUp;,A_>5K"T0TN[Frp& 117.642 - XFP2K.fAIP]Z*VmGn7;o^X<j?,6qO#(Re$b&A?mZj8j%F];1.rl<]$EMguP+oR\j*ZYF$9& 117.643 - q45_@(m\B2Nk"HOJ[S"$UD+=="BNOWYR\B.]82ul%@f0MrmNt[BX]=^Ao6jU(K0R3+I.T\< 117.644 - s\X^P;*71CdJ=WF=nN[KoOqL'KY]pE*]a(;&0,d1aHmXcA/%Mp"LpNhAK(+d?.$fHIL=l16 117.645 - WaD\\aU*=lMEBr\+GC+(rBZ@o_e^(*H,M\qjM3:t^4ZCiqi6n#\[_i$5Np)&F5Mus]fXseR 117.646 - 1$bI>U?hK4.C$BVDBD^o(\/!j?l<q`$;%m6f#CHVo.0K7'Mr\^j&!5fgIfm73Eqr1fQnk5" 117.647 - /Cd6V-^`<&m"G8I?FV^_AuHPQ+!a=:[ej-H&JE9Mdu";+&gS7:]IfS0CCt@n$;k`fmhr"Ap 117.648 - 8r@>J-E7[W/SA5"s^?SpPQ6_XH9K2nlhP/:IH7pL4"$BZfPnW:$<KS\U-R0&E_q8]`J.T"q 117.649 - cS9DpaiPBSM^YDs^$+M<E>=G&VaAGl,"0TW0:.P-=\$7Hb!:mr/%`%)8PO&Lpljj@QO$JA[ 117.650 - ^o3/^^o0g]M%!=AMQE)GLn__+;&kgd6aJ12!.mN/,7If2]IQ7`b_&-UCW:Hu7]Y=c>a1BS/ 117.651 - <!G503N0Qn;g14U<8"g8s"WW_X3BmW_,7DN#8&#nkR=F_(GMa66*3:KRlcADFcm'6/.$RjK 117.652 - 8c1Y<Aqo81[l_3.f!;=1X<"[\U9"N"el<`C*=&`*43!9>EksW'CY(,;`]L/7(uELGAAN8[. 117.653 - a+9SCK+oZUgPbf$-qe)`YYVb<Pl7D+FMI*ma,&^6p=bd=%#N6d=6gI>/X87^/6WMiNb;oJ% 117.654 - Vbp:@KK[!4"c:Se+^&6's9ZXQX<(,539lR)?m,?2OJkgiSc,,^c1\a/PX\R+-:>'YXn:El% 117.655 - n>YGTa,<to,Oc6uLc+8c%eT3bjO6U=kJj=:9l0%5U+8BB_+f<s`giYlN8VJKg!=X/Kb/!Q& 117.656 - M'rQMob]U:fItHjTe?l#El[7LkLo;N=,`g$+Ij4:i-Zg&>G\YL9;K?$n0#ROe;u3/f`+MbN 117.657 - OPVPTC>B1Ig/5cg:DD/G`*ua$'%7a;kd&m&Z)lE0c+H8p]sC`?N1H?3n0//ut=:>ong3_6i 117.658 - gm:\;%XN8i*WJ'DM;;Rs1>bpbi(d8,Gr1aOZt<8Gaeo>F7+-.6);@iW]T&Bmi!O]*T"bi)J 117.659 - cafSd0NZ>J9,YClB5L*B5;lh*;r;*^'eVIKm;oKa*\JCG*_F`fb`e?m=gha1k'i]<*4sBkQ 117.660 - D+H^Y)cWWi:6c`R]g=>fpr=[M<7IWlbs&Ne1JE=NeNFpO'gmp[4]IR^::'H8`@'47?rdQDc 117.661 - Y.obW)!QfooJJ0cRia)4ElEspR_`[eg1>q/;-rm)q)Z7]/r-P=I-T>r)0(\;[gFj'k%R"ag 117.662 - Z&4NuXB\V$7?6G)ne2O%jnVI<sD4U_T[I41rgs;Md\li(9\r#0EKnnhX(Wk,qZ$5rfG'j\< 117.663 - HG51[,==#o?hpr+#$TSBQm3R&dNjWlB:K@4%f;JBB<c!aZ4<n1/W<m=k!>qsSULE\M^5+PZ 117.664 - lWc_F/.oso^LkR]@Z.p3K2bZ%u535GR<?,/D;V?HW<m>MZORK^&O&Rua=#G"t$anF55ZZDi 117.665 - 9p;V]Ccjh^SQTN$c]htp/W#X=U;<<+X`F]d.Vi6Fg!c4mgDuP_4dT5#[FDiKWBIW@A7sW?q 117.666 - 9n'Lg@_p$rE^$lFBGBY>[><LTS$$:q1h4GL.JFOE:VegTNo?E4F?s(4NC\9XP%;h2W@BUg8 117.667 - J50W`e/t#kGpLJeX7\H\_RPM0t0o+p\^%g64,COR:`Je<2cXc5!0K]:hZQdaM/DK@'hD4Of 117.668 - a%r+'$%;2ik]e6HnJOHD.$TYYd";S4)K*S$`MMcf>HLpca)h=9.ro.K<m6SS4%1_U4]7FdA 117.669 - q=^C5bmCQB#W=L$D,.NThNRV5+LYoeG>$_!ZV)5HFgY)Cc)&jN_$QU2%D?f$A#&n3_QtHY3 117.670 - C(mR4$>?l-1+G##k)&c0i&.>fj+P\%92R4]?KLJY?4i2s'%Di>>HLra!4h&JT\^YuaA*]^" 117.671 - s$VW=pbHVM;<Tu!:o+ir*DpVf*^Wop%qf2r/WH?$'#O&6O52af;e^2#rX!eh<3OPs0qtKiC 117.672 - MGN]kg/E(4ZQ)i@QcGQ!G#O.>-b4eNg7r`Xn@m0*q1l@p"e%*>2j5BOfi+M@M8<28bKG`8: 117.673 - J^A6c6AeF4#($jtJW&1m>^D9*6Gn\:?'-ImM"4p$N<m8r\Ni_CE2PJNCKV^T85hjmeY@.:t 117.674 - R18(u\5\5/qoF2:.b7c$WO*4cl/m[;q>)Fogf0$7bX/emQ9I,mu%iuS<ORGR94HC\C=?r?] 117.675 - -7rZ&dAQ"ej`25G/13I6,M<QGb)UJaSoTW40p[F_,]36+ohWTXk@0Ga6nGT;#&FQ/:sK7G> 117.676 - -9&Z:$N29e`BN?^`Af7IPfpNctBD1B@XWJ5k<UlIUHId*Q1F(GZo]\.1dn)!B:aWlfSud*b 117.677 - ?CJ#UJ<Yn<'hTOMoDK)G,l]P-rd.M[]s@>r0=0b2A4"A5s)cNGSP"Nfs]CPTt:m85>>N#aX 117.678 - `^92/6736@$<(kc!'KB(uL/fp@8p6c=HdqW9UlBR\[@'c+`VWNS)idQ65Sr]$%OGJJ9>Ac= 117.679 - `\7=CP<RnO+l6r!.<hO)MT4q<h*+$2^.+#5ZL57_cM7R9#BoD;Un`r1SCJ,^Y][./>^WCZ5 117.680 - laET\XqXtrSqH1H$jOL_>Y+0o^hKB;&dC^aN^W$le87kFgsolb3<HVYm[gT5SuDBa2.ST4g 117.681 - .1R*js=j0(083:S?UC7W&W/d5g'L74lo\#g;U(/:lc`M1TVVQMk9-E%<kY4h/9;"2_aoBd4 117.682 - =YCp1>B3h>Yph7D4uQ]tMuP$GO:]K^''leaGKhhqmFM[MQFZa)2BQ#>!8,L9ZU<X?7gImW! 117.683 - 7/n=@+GGM'g,?V?m@\i[*2YsNi>_O5:>*s-)@-uJaMmIl+i[2.o5(Lf:NnAc(%ena"E:YOt 117.684 - BE7Sa8#eBHes7#Gh$8.-5AN#r>2qf+0BYKFe[Z0M86.5QG$Z%%n"]mJL=:.uinTM2Iei9Is 117.685 - q$6o<1AosJR-ScY;fYp;.&AH$3>(i/=ZZ^E@cfM\NoNhu-_HGJo00]geJ(tS:htgIl\P:U& 117.686 - Jt!bV&R4,F($-Eh\AlNF`R!aEsFF>O!]^=1<%hlnCG>_!o]E!JM).+'o+nf]N+SpT1.X'$G 117.687 - Sn6"T3?'HO2VfT0F`b7acffe*t+PF]suG@"[OM"_>]<.H0Y*B_B,cnAjX!mG229%?sgm.o3 117.688 - =NF*iehLF.,Q[jP0n$Y[B>q9a9_<br:I$sdu%GrFK'MkGY2TXEG@&<f&+#U)M9$$sB<1OBH 117.689 - >E"]p*+]+?r.N!@hTQ]gWGElOF#_mL>P?];3fMf99^l-`k;\9"e-$[83a(Go5/.,E8_5j[, 117.690 - (k9M5_Mp>0h)3Rio?_6Pf^.OLpnqih-'&I5T1WO*\h=7&e0p4)N5G'k#AC5P:35Z-I&!E*G 117.691 - je#ha'Vu:T3q9TFo3?AUgJ>dBkPG><<[kl(6N*<>5A@[n%b4Wf)Y*uk&FLonZ=]C/dLq'N+ 117.692 - ge&'r]Rh3oQ3ejC<[/E7WE[9,*7].LM=kF>7fl&>aJrcjMh4BLbOr+GY:=&8W]cl/$k"GI! 117.693 - XQ&:6ksHW(W(W5X,]^&pmAH1mC,caAW2WJNp"M@[d]B?@_l[gG@0BOA:UcajB0b5B!_Lc;L 117.694 - -`(8Mc[W?VSO(Zo=[)mXpU[PD/I)o$0fXC_A?G+m'F)Qqm0>r2sU\dj-HnVc$#`AtdM2@9k 117.695 - kEr2rC>+*Vc]"LIqo?[(O0Lh"K`4M+Ef],$+6nO2i<A\jrkMZcfB%fBRX9G(3cF5+nFguh< 117.696 - ;EHfJ"5s"i2C186n+e%^G55uRo]jtrWNCU5Mg9*'7FW'A=uaQ=G.9<DDrkm5cD&!0&'AUSa 117.697 - E<(7Ki'l1n"^bN+Q'+O\996q1Qb!1R_$Fi!I?aEgiRXB@>K)ApBc8;,NR'Jb#'p!#'(r)4I 117.698 - .n9Ur;$daj+_d9EVJAea6A12UO,=^ZC!"PV78JQhH,qh<&OF1*Tg9&Q^G.s\hbYF#.[#5a% 117.699 - g@*n7n4O4C_\j8%6HsR1*KZRPb9iVnR+-Xu]Ee.K0Am^b2kqTbt7]'s/SCfGoAaM9^2PhKC 117.700 - 27#^*@BurMGBSuO!i2aE=Z3o678mtRFRsXFSkXj+l'^;5r-jE5G<FmZHenRL$jO63Gs$!MK 117.701 - C30mI'd'1,sn<Mjna5DjS!MeeKR4"Rr>9FqjFGRkaB.<S&YLF`UVZJ]uQ5a2&`\%!14O5RF 117.702 - MX,A8)s#^kmWZE1ZR0eGbqU"Aol-%`3>A`$Yq[k,Th\N^bT26/\'2$6#S"-n6._)S2s8Gb< 117.703 - $uoRO*c8UOXkWU_fXlR$VQG+Qh^KP'!e0q;:@W3LG3(nECOW34/IS=5s!&aBZ?[V:,c-;2J 117.704 - /_(I!&4RhOQW`4_Q/b=lqIo&Z&#st8K4V:(YZk<5'(8?ndQ%;@8:(tTG]eN40<8BQ0e("=^ 117.705 - :t/Jc8Q+'g4],2/<F&a.e^](II%D^F,`J*8Gi)V)<S_q,f@B^B>,@-cW_X;XOiUoI$(;btf 117.706 - LXPdBA)u-4I@21;:TA)p=5pTgX_(0:V0[JS0lJEH[b%hDJdJ%:J2D[Y/TTEEBG*0/G;8%o` 117.707 - Y>_?`C1-E8XA,\9FEoiFji"XSXAu$\f85@4'5T<*UC(`YXT;=E19^RYeI)N&0,8#EE<9L+' 117.708 - @h3#tt$A]`5&=Y<dmF#G@h[UGLLapOO_TT`+(WjfAoBqWbOc.7!mpD]pjX\.okR-6#sNbE! 117.709 - m\mZ%1g>96?_(W.b&#JbugTPC:=nAt:>614q-?1rqY&!p#[S;ru*jHGmR[qKIU)W-cY[$FR 117.710 - !9gE;)I%<o'CF__kSu+=K("(;PJ8F6Su82N>(U;Ll$MQ]l6]UD(p>p+AICk&1eecP;:L:G8 117.711 - lFEiC"i::^N&''?/KqapYGk#i:p:%AQi=2[;k1$?=0,_TU'ob>7,tV1[,7<.V=AM[cb/YqT 117.712 - 0nVR@r^ZXmXr:=3KXVIWEVU.GC8+l))`J(7B4^1nJOUL_o<u3D&a:5I)L6Qh-_qNEqR(6UD 117.713 - dt!-Bu*<+h%g6GZ.MV)-/BGcN/XB$Be+0#G1&QRFUO@+g>kE-T"3&o,S4*%ZX&V!4)0jBPs 117.714 - f1F@q;))U>g$q_tO,Y6.QV50>Qfo(Yd8A643aEgdIWqJ%1fqO\/R[t2j#!8dBR(2^+D,)!m 117.715 - L$Ip4`YR]nO'sq3m?j<7pr(b1&d3'ieIk?[["+6c?S$$P^_A]''o4C./1h&#_ka#.>l!'7/ 117.716 - r5r\dt$[Sd;OmmOfFSsnD>J>09:e+73.S3!E8VP3R>D:"P@Q9$-ZD5VQ&&n7ohhZgoXFG&O 117.717 - nhS,.HBmG*^S5>YCK-0'20-QdYk@9BV2=e[i;Y1EL(#P%sUsM'![/8SSoOMY<?NcWR&_<B^ 117.718 - KFZ:4uII6]3EM&3QRk5<@RWL3<HPifMK**t5e!1kR4Cl?RY6=2H.507hL4^q8_.E;me&0n( 117.719 - !*3to]PNGfXg%@A(AIY?_0mV.B,t-S=Ec,NT'-MB`4j0!!DSqG7*a.W]O?*t?EK'o+JWMt7 117.720 - KPrDSkn5o^/pQU%nrC(RJOG*7=sDp'U*L<&:M2Rc,/Z$H"bLp)K%Q(G9h([fW2EU\XB]CgR 117.721 - \!97KpFcA-E"02MIR]iNYIZV_r8M2j:7j/d`RO64A:Qil$1R<aV5(C5q)?_ZVY[J?AgA6+0 117.722 - $McfFdj.a6^&Wl98@Q$#<9eAW<tG50-kG-"QA;c6(1?G`C[qAo-:l*ojJJ=^+=.m3ST.eag 117.723 - l#Jr:uC26F:;^=ZX/ASgb1[9(qPe(]dtDUn?YQ'McnW-;F?CcekeMH8S=S!A$^A^.d;53Q8 117.724 - kV0).$^pd?FlePdQG4+JJ]@VN$>l1g3Y8uT7`N_m7$\;_;0eT^@`oLHQja?NnotK&7r*Prd 117.725 - IdcB#Y#I7:f7Iibf.Hs:fH16(S/$YFAT;^iB(Fm7c#9`g_&o!R=^MDHKWsSZ_q9GM@N7gmn 117.726 - KmtI0HCso_f1Ro0`R_u9WjmJ98rD<29+;+*&W+>;X2Of]63uC==`%iXt>JT2D6._S<]9.Ak 117.727 - gD#5:C(]pQ&nh>&o`%.:o$WQLa0D^Nf1Zj\3@)1'36J\IRV*l]#AWM;ESH3=][&)k=73ER* 117.728 - 7`46Kl=T#T1J771<VMB);^o?N'9H4WQ++a>XN!;mo@j$[T%%A^>_mMb+jn..7p3AdV(dWua 117.729 - W%^FT0#?b3Yg)j,UN:o(rR$0sA^JsKH.A'$uJ'^7"=R)FlUCR9`dMh:KCQ0j@oZirY>9>rl 117.730 - *Cb8G.+$Wd#?:!5>`*ZYd+[4^>&.sYYVprNf6TAGmG5=DoX:,KqJ/iD4g2(J<i"7"X(UfO? 117.731 - :+B%ld)!p'^-"8]sk0%b^9A?4066h;8eN/.+]7(*YlQeB+<hL5Co+q,K&_gA[hIBiCaT9R^ 117.732 - +XaaTlonL&f$b\Kp&Ii=I1WTi)=cY9eSbRUVipaiiiH/lG&M</QmT3JJs$k1nR]/HOK])#< 117.733 - &-K_(i-:6[++^_fLFLQV3MP,,WQ.7HA&QLul<d[ikH45A/]os-C!3RQaISGTR7Ss@\!.Gj: 117.734 - JCU!KN^XG5a.I%qmo6"A>b<*aKjsPY_G-7%^3T!!g^!!*k6c%OT3o'.o5EU3IKAO2SI.1HI 117.735 - "aBqpk5=>=bYoj_M_5D<.Hm\2rcck<T2k1T@fkY,56(K6-cNDV)6gbiQA`Ps(mL-?(?4-=G 117.736 - CM?j]V6h?*_W>TUV#H37re$hS&9V<1#"ft8GZ[MMtm;=jF4jhjW3fkrK"mm^/;lFT-KisT* 117.737 - s@;+4p@[)s_t1jn=g,_Z!mUn+g>.qA0+m2,DNpY(HK0]^5+^m;E^<%cIC@&H7`BqiC14:Pq 117.738 - 7FNr`h%s3G6Y&2ODb2Zo.'"4078&43eNBYA>#]qS[N$<.\S3!56\47DP:_D;6\^B0K>r(o" 117.739 - '&-3!S\H$-O!3ds=Dr0m-is%0Bl)u5p0Quc$Ain@T#d6"/0*#$lT)C:b!0<l]:W3T,]((l4 117.740 - l#;[[E0CUtQohOC$dZp%0#%a4cN$bjq@D6dJhILAM[Qbpn^,)NYTF9lo(^N_%aK\3&4I.-# 117.741 - 8!"*&CD"#&JGaR(+rESis[R#9[Y6goH%H'*^RR]"B8R`e?b8uZV`ikYsT3;7hb2F*eDNT`) 117.742 - PP)8JG#p'sV*\Ma"Km^9Z_p'p3DLd;]ok-m!4D*oZQ(;1fZ>LD1p.+!L4;60'(aKbb8W'p1 117.743 - -_,Z>@rR2V3E'_,'i0io7?[i)H_(.5nRZ)\hKR2;!6(_O:u;0<`'ORNjI*APqYOeEFWYoWA 117.744 - T)UVCs9fF,u`>e>\ZOu.;dK6b;b1EnJ+*%Ar&_@mTQQZt\(%LB(;<]7OlPf<a*0LgT90BQn 117.745 - )'b;+,LSe%&jmpB7jO$W]e%D2Yorc1,p]<R(6W#NZ=>4ZB-rdW-IQf[&p#EuG:/Q"/b2Zrl 117.746 - N5<DHoqG3.)8>%&5O^;QRS)e.FOh<&u-pSV^dk1.`r\Y%r3IhPq(e7%l1jH+b_IF].B,g/C 117.747 - Mir'%8F1f.E0?/^Y:FdY.hME@p/W:nTm'!ce^Tp6Pf(0@KkRm6oWJlS+M10[gOe',**!(GV 117.748 - *m0p:O]dcVp?%$MlS!Ac?/@H*<ad3[ac1"/?D'14TT7l6E&1t,5X%$`RV/Ai,8$hI[V"6.n 117.749 - 1^(W;<2UcL7o2@SHG;k_42q*79'8&8CL3Rc@.!#k>PEGrfQ7W)t3R`gG';ITeV`L$B3n(8o 117.750 - '=)nd/<t:;0Yp7A"-<MH`Z4TmJD_Y8'@T)fF$5_p4k&:P'B;8Tk<>*q50bR[bC$OX>;3jP5 117.751 - JsdJ8!rBP#=+/G)&)I)'GEc3(I=9)6.?uC$X5]U;)OI\0VQZW"2k1LZ3Bk^68Unp'LP8f7m 117.752 - rS77+=uBdu?+]$5$6@C2)IJ@*M/?B1??&Ho+\j'QZcDG=RmE8(<#J:+RJdLIdWB/`9c'#,V 117.753 - keQ?cDl*g8T2'S/kUVb32S9%:%;'XK%,r3/#78<W$UP.<.fT1k"I!qadB-\>3Hh+a-g9sfa 117.754 - M<9$_Qk>%9-:=S`.$meGD]H9cK5Ea\k@,c[O!$PccGUikM'b`9#o21bl;:Qad'dHUV-CH\j 117.755 - .rsl*lN9i=02Q&[;oaKt6E)cK.9)R*<7OcE'iS+4<^ft7iq/3^'amiIEWHni*VF;od>f;)D 117.756 - c`-D<L&&9'n]UgLKKh"8+Z;:7om-A`@R[e=k.+4ZY`gpVco@d>1Kf\'sh*:OK\>B&iH(,dk 117.757 - `c;'3YHZ#Be=9dka-ef0+\+>?0Qe(#rV#k?aG>-<4<9FT3nhlk=Na.=_M.!P)T.G=g9j@+5 117.758 - Wlee;Im(L`UK@FcLB'eNcja9U9G.=`RO!1.1\qdY0jA&0U)!=r^+pLJf.ACHhF@[U_VqdL= 117.759 - FA_(4#(1UrWB+Ro\8@2GLTtb5@!!".*B?"CX!XCN]Qq&>'*nH>bp6#W'Q39+8>QtFHiU'+# 117.760 - Vaf6OC=]S((:.dW[qh29:j%pCPkZ>#@4K,T'hoIqJmCjsVacuH-)DG,DM[\XCK)LG<-Gll( 117.761 - @uHFpMZApDo98#e;%k*K2$ID:"8-?pChOJ(NGc\ERnQ-<%TgjVfJ(45a7dhoat%W!n:9nF4 117.762 - WWu(IN:G7oD8j-$'i.e^lr_14])`.(8SdQXb2?B6KVWG171Iet5rbF]XcF=4_A8(P?s6LNo 117.763 - /D0Xl+%'+6prcZc^4='(B-(Sc:XVg=]18%4U9Es`b.[qLR.>ut#h(#+&da*a5sI+Q\m%N`K 117.764 - M;dseU<oMqWErSi]fjM9?jVAGV2tMN#pOAP,J'8KT2q`4M'!O;(:"ON;p_/3\(P.qmJ^7nX 117.765 - 0cthM$%$*9H`,P32VCQo97ck"K@iDA(disHR=[93Jo^,qGZ05oASoK@Fi&9E(e9<_B82dhL 117.766 - =gBB=0YqQ$\6(LE>W\O(k[WHLPV=QLK>jD\*OBe0R]9FIPhpt\>+p`Vi$kBI+XK72cG)(,B 117.767 - ]AY4VXSGfWC*7a,HD/N7Sl('o@.$RM.W0N;2:j(upWYk?D';0_^onJMRqDH]FKjO4aJo)$> 117.768 - Flm4d0B/K!8f2ns_V`K44AOkCh>)'_QE9/8@XHSYtVpZ!pSI\W7o3B36/Qgp5A8!KE7PhAh 117.769 - n=Xc\H:GGrZLS<L"\P\YqB9ns$QIUV9@J=C0/MVMZ?:;\`(6=/Wc"ae-R+[Og)3^IdBhria 117.770 - E,u>>+h*hIgR=I5MrM@'3L?4<\!retS'P5V2TKGFMhdZ/L\\]U):P-Zf:@kKOHU&mJZ"_=7 117.771 - X:AlF*OCL\auFrpRdlM^:!K8fia4YnV^d!*-r-a_;U=jrLoZ!U"UT_$Y*D+o3:sQ=;]Y8\I 117.772 - kPs2kug'UY7niqBqp^)1_n$#F\C:J3B_t<Y$*QK&oZ?\md6..THmT/%.i#,t!_.H!FgG$X/ 117.773 - !ZFu0MO;l+&*V4d@Tj\'94Yt?<:VS]=1"]qNc4=Q_QW&?N3J36hXEKL!H<8*[<>+/F%Sgg+ 117.774 - hW`iE&[Pb)]L+&]:XkL6p>.R0,:TOVcVBJQ3(g\RNbZ.iEXWWp0H@?5gRB=7HXoT'978]Dg 117.775 - WNQ*hRc:<MKi/)d-7PBY#Fbgnq['Cd<"dqH/K'FFgD@$H@T?ma%6I<bHR8p./#<%sY\u^(g 117.776 - H#u%5D+YcZpK\Z>=pEX:(99`Z@\"B79?sZ?8W[5VK]IK'Po??E`H=<[09R9_O7n[<OdB`;n 117.777 - DG-iJ4rf9=]C1<I5+Og4?%:BiWe[J7UOJ,)`II=f'6fBY%WL6G'+K:TT/+W[1$@j+4F<f;g 117.778 - +QO]PL!49@,2O/XEsY.%c>77k4fFhZs9YJQ3t`Drj@qGg_0QhomGnmA);kX6WBZ6`AaicW* 117.779 - a;o3k8ZXm(P_Ps;!42BiuZ)(7"6?0p):W+Gu`+;fM>;`Y?/$:ufYueFc]O"Rm@K7B[<81E\ 117.780 - Rk@]GF2ZjW<BH-i]0K?-ng?PQ<?%L<V,bV=MmD)C\:[T"!ia=28]lX)\V3u*)h#,@J[0WV[ 117.781 - /@Wm]YZ+ek#C*"/%j3NqffU4;nXAt\n+gOY@:J#Z+aG(<;c)4SFBMT^aQhh]Qe([jAXC!F1 117.782 - lmZ]rHlO"]<WuWQpsQ_n'bs77ECt'4i-"$X<G?>)Fl_l[IOI^jRgaNY<_o25ut\WSKe=*CI 117.783 - $AdD?gP_HO4p3jm"t&]`ViesaM-h)lZ>4f,a9Wh"L@*Ik2CFg/IgYs"$]K$h`[8][E\<4lr 117.784 - n*,\aRRG+0+<?+mcS5rRYaoEHj<.2C3]X>6.Fj%FaZTO[VI,l]g``.B>h8N%34lsq:l*\4l 117.785 - [J^5-IInmmpf(PPd8)kSRsE7_V9QWOc24S@SeNP83`MX].@qX>*;.K;q5#(`"h`V"4Q%i_2 117.786 - pQg\cF^X4qn,p7(aiT0dJ-5"[(_g8:-94o&Q[T>`CLa#LR<<i<5Fd_)2FY,;4<'jQu@HK"[ 117.787 - eR)gc#l>%('U[T!D@5=qZ:8hBc+a@9r**O1ShsR!olO5+Cg*J%^C&D4\<(D-Q>An5Xq2RX( 117.788 - s\i_/Y8C/j'?Kmpr,^>@DSj6O.N<t;lC*pnZ1S*[\@klHrI(c1X[L[[4"mKHVV+ZXD3&+6W 117.789 - Nmc59cq4mK:On(MdnmPd'@N5q;g#p=Uo05/C,u@`1JXC:4*/.8^=BG%S=."F8<1d1`P[!h; 117.790 - Z^><*p4$i+IrU0E=8%,hKn"JLIt;?a<)n85pn_!cpfH]k:\NIsq5%*c]1>q.I;PUT<F;k^A 117.791 - QSF$Q%^M]qnJM$79B!Pg%.CGL/b[J[`(oY9.bSFh*M,AJO&.T=>V'2$&(_)OOsB`+D-Huib 117.792 - c343\_M37cTW`oR9(LO\"Pr=Yu^I.@!NeP1ark@540Dk*&rThJkQH:?Rhoo_sD-Thss;=u@ 117.793 - @`8Yo>LPhL7DTi%dglBPP\?EmY8<pQ%)omX_cYup8ZlSJ7]r3\_jQJ5@/d/C:8XI!/!/hGb 117.794 - 7?JW*F]Ii)n!+>;`7NNWNM8`roR+ujL+d'lWnsNak?SRtnB(MGGp4#B%d:i0@>rJ<PWRYbE 117.795 - 2`m#4pT`CUmPd:@hf2<"]=49cm`T[fiGeR^?8isgalRR=SDJHSU!`+HqOLs%?a8;OA@:!XI 117.796 - B.!qg=a)e=Q<3(7.km)DP))FA@qYbrbhbFS+6=QIfH%toD\eU0GF`n5d3'U"@4_@(C!1*Mn 117.797 - 6EjY5?0DY"p;_lBq(f,7[)Fl,O>j9F9Xo`2ktS$q2mM<u+60FC,kS0pH;h7^9==*(Ma5G3) 117.798 - %%S:7t"%CCC)-KiU59Z]%hP]OsP/>"=_16e[d9!Yh-/5%bJ[k:=ZoY0\4cN@_1[ZV=X0JcU 117.799 - @cR$i6SDQ0K1R.&`::%=r4ARc_pHDBZo`%0B;\Ag\9X(<D\kjqO:D0n0%3EV41mC-q6Uj3R 117.800 - 9N*du2bm;Yofl8P2&/VZ<4+JDf?A:]bsYOrbNsGeQ'(N=1.S0Yp/`n5VcQs-om^@O2AM!V= 117.801 - Kl6"A.#bFQXuDiFcC'<2NtYW2A@`G+kgZuAD^UlNO<_12\jAR>dlT:F?5O))T!"$FjkSA2j 117.802 - /#Wd$D?UCu/mF)0PuoH,@ZI#I=&\0/qGmKOHi@(PZA.F<,M][rCkmijcDX6-uOcYr#qS>4[ 117.803 - =iC['Qp9m>e%'B@bH=-dEt[SE@+a%9'q$+[AKRgGnAG>[K2mX763)0DQD*]0ZT5j:<NQ_ma 117.804 - 7c0le*\nd\CgTC'uWTuUr/k0Wfp.n/;)]!Tk)B1TCL$2*ns.&Ea).g<j\*H2b1e$j#_J\K$ 117.805 - -+`I_pA_pI/M<Yqh\bebL=^RkfpOTqU$l,JQ%osoEjh:ib[$\LdDj<hQJbneCju5ImAq@MZ 117.806 - PjSa8BZ.FVWPtmgp^qMG.k2\_E9l=o@oq&[Z:s;/<0[njZW'njAS1eQU^-m*1tn8Sr-<:;8 117.807 - #\Zl1R8m9>,7*^A70l58VB2I&V=26[*oBbg"DqSD,@7IqRs@97Dm#ct)sG:[!0W>M1:(O[c 117.808 - Ec!9i>2GCZmJ"[KR7m?ajl@u;P!Lo;^-TX5Mej2qf`ACgYk;so4@L(QB.&jP2F@;Ja4G!K_ 117.809 - A9Ubf(J<1bp6<EO_Tc?"H&ETc*26>bD<"^Md9p<6_b.ea%s"[,qEP)E6V4lC7M?kCE&1FF_ 117.810 - RknSs`Y:U*\+^L@F@.`8mENLud2,c5,BY_LS"a#n+!WQA,H=p*Z?EnE+s@D@NaRo;Q?O*<, 117.811 - ]/P%L"+!2$I2j#`.l3r4NNZuLuT.XN04='2cfSgd48`SEUZ[mis-\EUg>:.at:Y'],ch:,T 117.812 - AM8Z:S`;(>I4RBFFes"P.P:Uc`9:0n=L>nBiLlr4&%'DHTK^ec6sO4-Tjp3MKS97i@JLNMI 117.813 - %S1J(\W)Y?d_mjsMlOg?OuKPZq"IQ4%#QFeBBE/sMo(6dF^2l5m!&!FSb9efF$9H0Ia6ukm 117.814 - YH0bMV_$cH)Du`Jg:GQC=#GDhWY=$9.mZ/>Q-1M:jcBZ>L*/X9,k"1t#Zdu;C<?J"AAh(Z# 117.815 - #pRSEruk(-JNUt<8#\'e0Q`t@\sc[jh*Ygl1r=BtMI0%+OUdnglCF*,KOG/)-`E[>QHbiL: 117.816 - flu7-1pnp;t:Gn-7pRAm](Q")P%paaU)MHk+,KR>tV-0MlC^TIb#uW=U6lU0X[^9f#%ciR? 117.817 - ]XG%Z6deOt_^WlccEj,-+@/F^Sub6RJ)p;:nod>DOkMW)_!;5V`LMd4LA$PtFKq8jd6-oq* 117.818 - V94fD3JAg]/f*'HpLH7id=eW&SGZkg[7.O[p^;(Grt':#)sW[L*oj^#=u+d9IK0[-$:!hMe 117.819 - <h(rhl.EF*UZ"=d0OE^n9g@X/CaGoV^=.OE64d73n/100"i'FMrHr7@JAR-1Tf5ARRPr7Kf 117.820 - `EB_BCi)-SQ^pV$R_Z[AonFT1@$b1Maa'^W^h]_ml@98G.W3@Z]5eXU>ML8^-kg-ZU^bhrb 117.821 - ;g:VFr3C'(C6tp-qUQ\@^r>Ij48/MIkDKYB6[s<@Pg`78,QmBe+F=2ZO$QrHY-nMqFScF"G 117.822 - lQ]0uP=N%F+_HcNluJ_4tWMj%55`me-O`"N)HnbWn4/ps?pH3rI-ilk=3SqF%j)Pi(W8J-Z 117.823 - nl+P7:<gYC1uYYDIM)<X-q#LLKG2%Y$F)+Mt_)T^S<&n'D]7;0,ZOU(dYD@E,\&8;EqEL"\ 117.824 - [L(;Eo=eA+Q\HUE_gImXN]4MWqOs.A7<+V!(9:G4T$+c(Ll<EaChqF(26oRm&P$&N5(:#(T 117.825 - $QD*cJ4qg1Z,noe9RmRG@!,T[eP4(em(D7DYiu;=>1A8X6O0bc<h)>$lW./:ZpM4Z!8GF.> 117.826 - G>C/6=`M4bYLZq?LflDC@9Uq]3]2fmA*3pLpA1d<06Qj1e.2Q^Y'kc@;59CYrG;af_ZA9CJ 117.827 - )"034B^M)>4?M<^EG4)3Wh@2</\:8]aY+8Sf@0JT;bg\Oa^4[e\fsB]9]:bV!YlRkpBBmU; 117.828 - Z>@40ZHr[lEt>"6'JPNS?tR.KkPctC!?,J4D_o0Nh%N%XAF/`@?2Jd5D%kr.c'm"Y,dgX?H 117.829 - ^:8!"DKQ^"jbdRON+H/_*f:l=]H*c@GGe[PrY2j"QTa'[CA"'_oXaW2D7$0X=#'T!Yg*Vf+ 117.830 - kbPi0?D9s?Z0O4kGuLjW?G4-816:q;</p]<)9KQNVhY+b5Pfu)eST9nCEBh8HSVYE'Q25>r 117.831 - S55P7dCe7c]fONkQ#tTi'uW0G4:U/OgGSDdOtRBQTl18;r-.orVr_[X7qG`mtL9nfcbL*o9 117.832 - T5+&bl3Yd-^k#KmeEo6)bocQ&Od_7A&X,Ihuf0T;Tbl5O\3#q<5DON^)j72/l#A)INhlp,E 117.833 - HI3-^0AlfGjEg-Cl/S,#@Dl]%MZDa;b#![I)jZ,`fQq&Gn35pR)#,-rgDbeW_"VsE(VF8%q 117.834 - Y(bh$uLbom`ETjej\1H(B/=Z8;e/L]bVRB\J5[3mf3YJA)n0C[-M'O31$m,a;*/0UtUX4ZK 117.835 - dtU1O(pNWW#m:77.rgLrNuj3/5'"_&lc]Va]<Pi$V\"t2A1Oi3R6m,f6$r4@#an&1PJU!GZ 117.836 - uRY5F=4(F'1<O#Rm@;rW?85cncl0aU0n8$;ij-CI^pFb7&3G3J^ubAgd;300uM:'e![:*:) 117.837 - e8hLb!PW6_Zo#<(.B3];.)Jr%UHq=$,1a5_N.-e#3O7;^tI8^"A[dHnG^&=[1[n`Z+*Y]=n 117.838 - [d9=#1^5J-39q3aPP2ET'06<mTJls2(l,/u/378-n)g`FHt?9T=-`O&CYZua8RLI<ib&d1V 117.839 - C8=cAn%h_J07soX'ZuSY2J#DXG6'Qc6b[<pTI`CT:Wp-%<ZXLJ!?cVeW8/tVt$g>Y7@Rt<S 117.840 - 8:5tY#b4>VN6!H;83AFoP`*K`Ku8".aNT1PjB9SL\3IV[73emflF]6+HH*%BM#<6aClZDkL 117.841 - ;W@n7\lJDFC)rqS]UMbaK0a21o$bsZc?M\4]p/79W,gFW61@(b+u&[[&_?fXNK%pb2fXSKW 117.842 - fo*Yfd`c9)&Zam'Fl'[*)FVb@J')FLTGH\BC,IbG;_m[(FN"]Z\g<bN-C\oY8TQ^s!M.)G! 117.843 - ,[)>h@1\])@=3*_u1Cge>ERg:jjM/+S4N1\-1@nJ/.bbJLdjH@T[TKen]6<"iE0V(o$Q-?S 117.844 - B8X$j*g9SgoU!7D96Nd2,eCbrI1HEpAc.#GnF"08ibQpnoM,`$?b9=W"cj4II#rLd9lW?X+ 117.845 - M25-\b!bO?Z&64m+,r6$:?6H@o^C*/nBVg=cQr)-2"T$]oZpM0cXcaqFSF+7ps53#c_UE`[ 117.846 - /7C"M9J)I);>&,CB[N"E^(e[`;@tIBRrDh!Jrpe^dQFA'K]"@N)3'2WU"jo1nIOVRQdPPLh 117.847 - $ZNeCk4?$&N3t,D=ak*=B#mcV;@e:k].1bl^['%+,')U<K")lll_ab;sl):(W(U6R`=9&lF 117.848 - nX:/H[Bplj(\&r=L;1L/U1'^O2$.%!:dMeKPYP]mQ^mK)DH;WTOZoe4bt0[gakdj6cu2)E] 117.849 - M1t,G^dq&0ud;_K?(,c<O4p5ap!/s)THrHg,0f7P)&h;Ad",TBd]G/`:bY,a2*@b!kLikhi 117.850 - /J$-gQrFL7e+A4@;jBop(!W!bLuh,@]gu)86S"Ws[q*Fg']Y$;j.oCB`a(dXe9o[mL"0R** 117.851 - ha$+]g`9E:JQmGLi#`3Q!`)CF:`uU;Q.#EdG><I/K$Q\<b5moF_B9ZB\&G_etm-4[;4@4Ct 117.852 - @-RJu*@:I;d^@E)u0P<o%fJ207A<FOsN8f4B-WFa)GkGh84+f;3fF[<pNEI+QnsfB%J5omb 117.853 - TtJCj!(fHHI-H#TH/(cIiT&M6>F<!^augFlie3kR9U6p-9J78So![Ts7Hd]V5AOLsl\;B9( 117.854 - B[>iI8@b?cr]1&"0]buZDOBAmoZ=(OH_;A8!7jo&N8NiG5,o9)M);'ni;/J\G72`^(I_=<b 117.855 - /i<UG[?jaHKN[(3#jmQVD2h^%(0RTPa5E39SHT<%qH>+L2[\tW*F7>cAQY_NTB0J8FgmZn_ 117.856 - @(I_N@e]R-l1RR*/9`lR6@^2]0eD:7,*F3N+8BEBm8$Z:VXT>_c.>^/WU/\J#*lZ7h[M20p 117.857 - t3:_H_f<O)fe,Mg#k`abWXN1qB#=]+R[(JmBTH["H[14iXZtpJFJ6glc\PA^S*:Fr^ZXZ`T 117.858 - il%,"A'2V`o#]a_>PaID"<V;0gjh$r+DUCgeV;r&kr>rrt\9uB=X;ma(ISOtfK"GKg7T#OT 117.859 - $?C@4q8TnEFOP^M6hci(K>`gOFY9a6r28u!;/Ip;gL7+n*N",3LgIp@,01/J!:^O?\ZZDPZ 117.860 - oSG`t2b!\TII8%3ml5aRU>=e6!u>&$oiWu(?;$nt:"k=abM4EVi?:8-bq';E]*p:(!GNO/- 117.861 - 5X$K1H>3hhoN[QSeC"tY[D$pQNR<C&14Zf`EQNA[_+j]E/*?d)n*C?3D#dN4#L-.k$\rPWo 117.862 - `uSeP&HN;i-_=g;5u1bO!a2Q=<N(@Tupn^*co*S(`#='RID5ANJNCUJWoYeBAlk4fID3[+1 117.863 - G3QXrhr*']ns.GcsC>l\j(ETQ52J)Xn#RjKNC?2%eL0SmiZ0k->W:+i,M0?!QU2qW@+ZCb- 117.864 - 7*9@r5P+6ZVOW[EGdpZ(i@:?sbEn<I7;ItrjiSDFS7%QMA56qmPjJktLfrl@Fn!E9gV;c/4 117.865 - g/C[aOCdOo-\c"J]C"CB1*sU[0q*PHAPn/EJKo&<1/]X"->"Q;5%\b?_-9EoH2XZSHsgo8e 117.866 - Vtp3o*XV2<Z;YLft<5Qd%9B&PG<#8k(Vu1P%7C(9'3f,OOP;=c@/#r35pVI=tX82V6.MPA6 117.867 - CO3j1pU85f.'^S-D(rVS,LFIJ17TK&\S/BK<6X%YX&oY+4?_Lc0f3IR5RtZS2/aM6T]e0q2 117.868 - iG!CfC]k^Jl1p3E('HIW4W#k!),mX==XBB_lgl=QoUL/UK+1UI<:cL&6uaW*RmDa<H*M]<9 117.869 - o$k_cJY_mU-R%m)_DQsaJZ\jDhlTnSW`j^Uj\EfHk"pV[)DS+34V%AZcPXT*l%TSH/<ft<h 117.870 - L9*k_IMrFtif$@>Cg`t&,=Up!`fL\OMKSdMDTNV&Oc1n6CrXcO(;1=VLME(@lE1le\\H1DG 117.871 - t4aXD.BeYXi'HT4m]&sO3ZF99.F0>g(WVnD2-k`nSho#dH+EWj^uu(Z'!(g9];T#mU5;GI^ 117.872 - ;m`k)]5j$5M#t.)KTYknCM^$m*]3f'eke.TS)/>HZt%%c\/']nVZ5mntEn"@h*Lmq6n(m\] 117.873 - IehWO9lkjPbRDlB7t`K9QA4H##5n0\;,0'2R5"I/kq$YJsEV(Lu@(6QH-5mUbi!6D+me0su 117.874 - )Dj]KPPhubgc/_G;.djHBA[:J/87IllRd?P$?MlV1rpWbGnW9=+qD+oHC2ojdn`LsM0&W1a 117.875 - o'hC_E02)tHe4$l[uRp9N8reh9U:Lh?.shJSGB[8JA9T8!!phTADA-pdZ<pR+*/5Qo-Z<b0 117.876 - duSs^C:C_!!^7O^@cDU]o85l)%FDb4l_QS.b%N5>ug*I*h`rP-42B6#o)Q4"@-K1ORiu=oO 117.877 - gYcG=V:V!V8nUM.pT+/SGnbHAZo)F)`.-G]I5R:W/"+`0SBh-ADuIj97\Nh/J@RmKF!%5me 117.878 - jqBZi'q[Yh@Broo`2ch(qQmmZl0@.kCFp*X=0-V<TjQ7.l=F9%s*k4BSK=.6R"^Fp(W$7b: 117.879 - >`JA^*<*r[urr!23Ka?cbl5r+o6fE,ZK_>X\G@u*nGB`e3a*'_9p0H0[8>Ps/,*B=8^uh_g 117.880 - EE[=aY]IOG#g.H@mWBp0%LD?CRG*+bDCAW4IktJ%BU,@W"q;8aEoQO"j5(@,Zc2^6FBqL.U 117.881 - CNmOLdl<C32nYrk426O@Y/IBKjK:9Vs:9cY_HuG/,7/+@\FEY!V:MBGkr5MqBr$60VnH1R7 117.882 - o/$RP.D(2`CA\)=/V<lmGZs;&"!4Mm1U83CaW7Y"tS-46><,k5rFP]s(jU3]mVuOY<n77dI 117.883 - [?i[eRq>,5fdmTus?D0aj&#i8"TKj%ipb4tsp2_7YQ^kDVEDgP6RHs`HhLS4K.aS_CHr27\ 117.884 - o3mf,E'NS#-o]``"8e5cGJ\<#!6(9[74(\2>\;Ue?h^/Z!1GJ_.l<l3iLaqe5o.&`)Onk)t 117.885 - g)Lh&e;G^?mBVH!;?t_WK.8MBHb\aR?uF0afP!#Lqe(,T=QPE0P<++U8E<B@"D/n4?HmM[@ 117.886 - 'O:4TeGn>5=Kp,!,hPSIqSKTGPD,PL)7>CmM@#\DpFKBj@>O>%[B$:!.[+<:\Z1N%0n5s5S 117.887 - 1G8_Arl6+!OP&@id35N'Yoi\BGj2n6&:lZ.83,.1;6=Ui8mf;HF^"b@I[,C^JQ2BMN/;Bft 117.888 - LN09=7enHk_oKc-2o-1b`n2MWiZJ1:%GAQBZT-I&Q0=HW/Y5)<0IQ)`VKWf4.,B+q7-Su6& 117.889 - '^Z0%-D9h0c]O#MX]B/bbJ&#H2=?HtH%:VG/E1":M2][t#A9(g8VH5@9b[tp!]]OE$T?q7n 117.890 - >!44!9rHKUF]uIj[p?2iCj'#GVUo[oghq=?^#o';J:DNFS2]=ANPg30H!D0Zs!Bkl91?NXG 117.891 - ?5!slr^k/0"$tbh['")?7'l_*H7pqR.Acl[c9f?qP"\TbdQ?(RnIP&s$^hNX.^pkY_FRi_q 117.892 - J&)!br(;,YW"EPJ:j!U5uNSlJf]$.nY9'5**"LYc9B,pn'pl@QOOeX&>Pt+R&ZM'IbO7],A 117.893 - VNW]LVD$rh'aa-#_:+35''Kd"O#/<(mr&knQ:ac^J2-d!'\V('QMXJk5&Y!\0.\8oKT.j48 117.894 - 1Gj.8Q"*St7"l.Wcc#Z26,::8QjZ1Uuo^)1L.\'n$6P-j>[_q=W2[qW!@PL57PQX[35j2V' 117.895 - 8#*:,(B^^oRMQ77oKiho^IXS>4KfH6:;>0!'$.jd8>IYc,O&sI\?&\iA;3;>2/QQin\V$=N 117.896 - toW^?e?,'KjiW"/WF8n(/:'*fp6KGBA+,\V&m11`3h1hDFD.qf+Sk>(><U=OEXrr/^!-Z1d 117.897 - +*teLFJk6W)l1>?.t$$:?u-FW+=U,7o/M!lM!#:Oo1#U'jgEb:W'`?PguCI\9bW(9AiujnP 117.898 - 2!3-I0,`!T-RKHZ__#l#U.U<APTbI,fa[aifi?=fObAXV\KY&0Zk):!AqkF(adTBI1'KZRE 117.899 - #<Ne"/:0kD7gW;OTE+j&4[d?-h1#&afg<R+.*1H6aO%"7ro2=pKJn($GFABWF`0!_OK2jTX 117.900 - &QbXo;Hl>]HTohZWG!&&W8`Xc@Buq\h[N(R#X0lSjkN,JK(%p#n\Xc$;PLLo2*Re[Z$^:^Q 117.901 - uef/7FCau029pg*D]\copp#,fCfJ.M_)B(`fbeoqI?:u9YH<bY+1s<L#>MWngNnkl"]+mE- 117.902 - kh+jtM\[>_KdlVE<mHIY(shmd)\P]l&W*,7u&i1ZXMk8NO-AU%"D=Vl"^%.84Sb_XGIJJ&; 117.903 - $&TpYrt]NZ?/GL-bW]OD`A+=%8E:bDr;fGt(PKFrf4:'s9h/8lPu7n\U`V&\*/R,-e!K'>9 117.904 - H/ndqi$u>\^O3*;DU]Nk&ZO&@FOG5th_Y_qa3(2k2I5(cN:<B74+E+giT&L7i'Y9lHn-Sk' 117.905 - _NMus*%E0Dam29\QsX((%Xda%/&F5>!JjtdMp[P?7TdnQj$[U@;6DfHf\ILjlksuK+YLU]] 117.906 - 'dY7:P)0jD^S*S*tg:%O@c`E-KgR'8UCneAPM28;@:<D0nb%0/k*[%lpkNJWJ8?#8WcOD9& 117.907 - E/>PN3WWa\mm.M0rHic6asYdP@^>EKQLiiE!2HWoYDRE+i+!!(JD[0BNDRQr=K(9Nd?0k![ 117.908 - =Z7e(7a3&\5'o!W8;jkdfCX#83Cfp^r$ihu@1nfkHO,8-sW+O[^uJ-9(!Z]KmHVt2F4ba4- 117.909 - K+H4KE9+d""H9m4_Q-0GDoB-e[SqZk89/6q18>M991W[R3ip'#MI.3P>:0pTY-Um7<)5C/K 117.910 - N`"Ln8*L1#AS3b-**7%GAs@N`Om8&J'\k$LKe]GV>]uM!9)"3hWI-;k+2[(Q9&Gde0G8P5O 117.911 - kJDPaNZX`,^"\o(Bd@nYr.>JN[+T0-W(t"6`B?6L_FHq5_'#"I0s,/PiD3]@OS.9ocV7NKa 117.912 - C.\%4t^^<?5-jm9T%sH*:69^/s%e?g/!D+,aQDa&d6.ktE4gOGX:l8nDMsUGST:9SCM#7pD 117.913 - ]YI'U[)T2ZM(8EJh9F%WZl'B6W;a8K#Foh9t$C)holbMRZ2qTZ<*S=_7H6^0?bQb7"*C5A. 117.914 - R[E8q]96Tr1gmK7T%%=2#HSVSI_rMrYg%cD1C-drtlB?-mJXG_F$g8lLYR+LE/)/*immZKS 117.915 - =0D7'gYI5FJl7V0%-!>Km7HY2At!hEC;Au/<+c8#46)?;SiO5iCID7)CndUo_[QI471(0]2 117.916 - 2rD6-3,Oo@k5^E8&NL&.S-r.T9A,e:@(#F*&\S@A5`oN,p)%5gn:a+cPVf(*J.NU!6!/4nJ 117.917 - BdLFJ'(_^*u8:j?/EanjZ3m=YD+4gmreqSbC2nlMO?qoh($G/:n2>670e_O].3f:9!$jU@P 117.918 - =a8tF*fZ?:DbHAZ#><YVij1p`B-:dcqe1On[P\]SAnj@Z"U&Xf@._]*i!kI,R\DF['UD"ED 117.919 - C=D6$hjFZRm?:*p3(=#/FZd,<78md]da)/&NQTQF'F/^J56iM]S`VlgnD%+PN-R.k>D6<KN 117.920 - \^sIgj(6`k2YI?efNSkq'`7'%19>])=7X?rji7[o3Q'LN[n:L#XH0clf@sMJDJe4BBPNHtY 117.921 - .K1(DHkYrh6i!6).-t:S,3;+r827g(7I?4[dc:7q;4q&D\CbU^A%p6i*6e%DA"D5pa6C,;\ 117.922 - e!<,E]9>qVQm#"+)oF]THrC-bqhtNc1Jpa*@n5jBR_,n7W?Bq'RWQ:fE+UDBB*75$$YsLQ: 117.923 - a"TKAi;/*C+!O7U)6ch[l4J_<RoFC'sS\DKX;>qOHEf4i.bL?hMLmrrU#)]pjO@iNN//o0E 117.924 - iQhk?']tF*EG$`GHqaYAf?*A\EM!<,EP#gju""d5]Z%5[\#=uJFQLpd%hrtAVn/`+WG[Cp= 117.925 - r'uV&LBbS2NR`K(SlkEM^Ob&'+&(D'MXsag_0NdYkPYXZoNmU,1<cMXa4)'r-9,CZd1P^CL 117.926 - ThjAbh)SQlN=f/QP28IdehmFkC**@pg4QkHs_m'c&\dFB,YG$7<hq@H)LAm;?cg?28%?_g[ 117.927 - ?0FC]'7,!e(C3r*PNUIUC@qr]b;C>X6DYqd;NLYEJVK2m2K7^l\E5=U:/moRGI\r%J!K0Eh 117.928 - Gq#lq1<i(i'qkj1'CgaOnN1s`&aa;F'aT]\!>!peeF&2=9+3<QKK"7SRPX6/O3T`JXKVLc> 117.929 - _0NA9EYl66.no,k*DDHJ*YXiX[ih4NQ&46\;k23;Z][1p00SKdOM$U>EJZbOHO4`9K,_@W6 117.930 - #7tuJDlj4r\Hq]+9Fs&gn?iXC\I5XT$fu@2B]f\?,6dPui,C)tmA14&fLW6Q%C"e$0]`d`k 117.931 - mjIc!@ge5mUY`]jSFZHbV$4$KS]W/])M3d&EA*HnIZ@Q)%j+o&b-tcmi("7i:7HT%++p'/- 117.932 - buZ,4@pV$=Xk@d3B?8;\;ku'_,$80i\s,cD6;f%l#RFA?,ba3qk9[pQ8Sp,<HUeFVh<2(\* 117.933 - %n/sd<rkj@i-k%b`a8m_6fG4RGB)<PWLOeE\5W>`%D)XV/J$O[_%PmOB3Q]X[+n$Mt34W>! 117.934 - W:W,"iDG_DDfc@?R*V&(k:Di3@MZHR_)m3k+.0L^[]^+Y*8C-l=/BJqg#U$CK+L2S&1)1sQ 117.935 - (jFB8%$<1^a<$#;DW_S_+gNdn&e?3B3?tgm,P"*&dN8usnJN`"*"ZjU:i>9sUEhRf,B@':1 117.936 - 1_eQBdTX.,]U@4%@D`DT-]LN'B?C6&lU.)FX@`X..WKL16j:u7jen/YqdT`0[a4Q/LcfZ.+ 117.937 - 54J1:8WQ\LXDt(lo[b18,d<+V5($&4D9bM$kEoN#r)W*T;SZ^t]\jQ3hTr0%0&<o(=Xkq(E 117.938 - BZ067(FTtV;9C,-sl)r\Oc',<1,(GIWc0(TPlj!-6dCGE.I0p==Ho'.u]U_9@O1@m@[1E%) 117.939 - 1edZ+<1k=17'3-hE!AgE!16Ycr;ctn4-qCSJ/(8Js/cn%r.NQ@m2tM/O-@m][.4ObS/;PA] 117.940 - Dmhd%S4M$m+`YBnTmdFndLs>0!E6*^'<aJR\N=lG4&`sWZbnl`W1jA8*J(.-PJo\+^HIe$4 117.941 - nH!C!N7b0aqI_054dMn1Z:CT-l=)`%J0*SF9OhD;?ie/16`+MZi`U8ofQ1N%HAm'PQsL\of 117.942 - f^!#L3i#F+lu'38e[JN&3CZZp^^"Kba-e37,hu.dj[foW05L5j:rsd;6*#SG8dU#/G(B<-: 117.943 - Nk_*Z$_5#c_mFG2nWkTb2%8FsS\Zi<T2Kfi<J5njc"P_29o,=dup6F4m*dr.Wr\P'#l6g8q 117.944 - c1qcRoQP+:t"OiDWbdL4XQkLXh:#dFg"uOC4fg.FL'S'3fFR`.+o1sK,:UL4!Pm'tA<Z=>$ 117.945 - 'a#X#iNsP(#uS)4;:PnKo`J&WZnaKI'bqlj2'l-X3DX-5)'K+o<Ad^_2cO4!$36_SPthZ$7 117.946 - ocri:c1KL6Rc$c8QN5B;Y2U_-=9GGa]Glu9B$p]0S*<uLfe\g9b^Md#TT1^LKUAr/E3nMU' 117.947 - S*(@NgZ40N#jY&^'ljm5ss4=JH0qFhq=*aJ:Qa%e\4T2:<95fj(r?9\#1FnoX/q,p..(/`G 117.948 - PA,V_b4%^Q-8`hNJU1=%(]M-I=&>P6i+[DcQ4).Bro@IFY3031]-BS%ufk2VCWc!(HS%6HH 117.949 - [@M.!i<^C8>8S#8'n.<PUZ6:!&qZ\G`=d>L6[PfXV<o28.pf9I;p-3*I=(-8tBD-mi2MB_% 117.950 - P6k.*1+e"qEVj5j?"0`U-`ucM2Dc]H7PIc4!#)+![W2CLGA(cs6OlmoG.h^8a_\E0f%*b&P 117.951 - Ya+()I@2g20PM'WfL?D""J/^+-2I_FU;&kcQLfT6l*a[[fp_p$#lp;@Sn[2f%MD=*]1=bJ^ 117.952 - Vc'_5D<`3[<pi`M45$9YE$E%/dP^F14GW2aqh+=WVIP37$2%O;K]*Tl&giETe?%:@Q`M.TU 117.953 - ZT0p]"Y2b5gWAp&[YRc27&_0pPOHlSi5(di:apNLn,R<c93F>&m$:RP>f*]n8#HL.I3e5WW 117.954 - +2.-Lg7VZKN(S3MYH8<_(bk8!^D'U?KUe.8'$in++5r\rH0mP\W9K*'$GP-H0q1#`+FMj45 117.955 - %oX5Z-;&JiJWZ8m<8JVh.^YpjPIJ5T`/f;@*[\uiD$As;KSb-Oj#d"uI\Uh,==&WF8VFTI8 117.956 - bWf4<[hUY-"[141s%h#!rZ=S$G^m^C2APYl$15t@S%CsITPc_eTB^!H%u*RM"m*h,`@@39. 117.957 - +`OOD_a="&/u:)djrXs$2Ck(mHf.-nmtOIRW6Da_n/r9%;c"MaVcEpcXEm6[nG8Mg43@39? 117.958 - 01D.p.Gju<]?=:Tn*0%q).2#+\CK4Buf!1arN-1#Tf7"L=r_1VN:A6B)!3@0i6-o:YcATa2 117.959 - 280<Q)$HJm=AuC?1;E.Lt/7)AV9-RCabtWUDrZY<Lg7l%'il#m>6ZJj/cpsr>XXAp>#0.S- 117.960 - ,Gk<mU*WJNCa^$M.QMr>\J[Ih*K@UT6T=V"\YYa?WLBRSP3u[oG$,Io>_+f+GZLV)!X)Gpp 117.961 - b?rq?]l6jXDk<$W5HXdC:3mc36YEGU9ik>SToB'(&`=8?GbaPW9]g(l-Z,VCRK7IRB<HVp; 117.962 - <?Q)54V^U$$!;'MXc.%>B]#6PnH&lX%I9ShP?S>``/7q.G*URshbZ+pgST+aTI7l&d7n,74 117.963 - :Zb07lAi2WNVR%an`_&0cDl&<_<,l"AglED<9+f8`K#'gnQRLB4#&2q$eU)K`*3i-q#R9ji 117.964 - ?Jla-kQR3V\*(C<([=S[o@d'`-*HOX#+*'VIH'0`&4=_?$;QV&bQeGkXhRUE&TRm*QC%/$S 117.965 - pmi;L+pX'tg4tU>NZsA!8(s</UM6_(Vm3iSZ1`lt/+7UYa-0%7G"`:>ir[&/2I8H$0,`*%& 117.966 - hkk?n4*%)UEZ>0)I>)mK!RIgS9f^NNFKMtb<m0L-#(`)=UD#$F.$+gL_rFO3?b[IM7C0WF0 117.967 - F-"G)qhHS?CuiPG596HVcG`^nrgq,:-'c$-k]9A1nmFa,.aOqkgG%\>_&57EU'bLh![d^7I 117.968 - E#NB;WLH\8<Mh2&\(^AIH82Bf*4/%MT#JM/[-Gq4K608G;1WWF.d/N:K)0ZP)O^!&ZrqX(k 117.969 - :rO2)rPK9*"UTLd\fsjo0RQL2\4@R22M8,;(^X\["op^ZrMh[(pL<ki:'*0rnJV'C$K,\>D 117.970 - ln?0/H+U.L^#BCWg#+JULiQX+PIj",HWlY=F0Q\EOh<ciRMBc]8]n]Jb4N6_gR2B8T-'Gq/ 117.971 - b/q"n+FdU2/@BH7bhju!qaM<efrG7?_#T_=uXL2e0DO`ZU4=lg695f43AN*Z$YfT*3mk=$. 117.972 - ,tpb>KQf8/mVg9onjZbg[*A][T2L=i'+g\/EK-4FPL;I@ijY,)V)HC!=m36:(sB0ErJN7!9 117.973 - Wfe/^j7:>K4q_;lR:_3+X[d+r\h@HH*K7G#5$f>/3S4`b.^&Y"!QJU'4G[Z^prc'27K5f"s 117.974 - Th',Aa.AM700?TQgHm0[/MAn+!e"SU]>u/;g?-#)7H`EChS>V>CZuqiUfR;^eeA7.Cj'7"j 117.975 - KmC3VL9Ut$_FU1t/6`%K.M,0-INH<si8A&Fi#WG;&cjmRg15V`SFs:"$"dcD_Ybs1Ho)tI/ 117.976 - pQ%Z;4G(nglf7:=jMNPcop^V2`olCmH%SG7'Z%n)7A?BNo2.A2nD@FI6YB?Hl&B&IK74C5T 117.977 - V)!Q%"sgiWOUiN,dl@Z+T'8gnHU2JicXHYJM?+YFB$d_C<e4+cH/!V-(_[>]toiDLe;8jke 117.978 - Bd_<L?3YS3Vam5>hAPg<Z?qob/F+BYnLA;sq.qlLbiIcP;l_&`#WSh+3$';/e=5*%u-WR>5 117.979 - djFE[e\2:fA/B5@W\3^@oG23&u19.ED[2N7<^9/p\n_7M[#(1?E[U8,;iUsrkp$kWA;=0Di 117.980 - UQ9('ZO*u(KR)J7UYmUTnf-:>"-G9gCK1A-!5FV*5n3X<+n;-Kn\Qt)s%7,JLV[P4`Be$j) 117.981 - >_=%;tRq.Z^ccd_8DjV*%Mj_GM^[>+4^=>f`42(U:p-XQkrK/Y+n1onglaYiNN9(dK<kS+9 117.982 - 2Z]%LE;k#%8#:;P\%b9*0Z@n5M)Vs,0>+&X_'c3?=/Nj:W<j)@%IM7bSK>e?#,kP!G(l'P, 117.983 - I820@+(%!g@@q$&ZOj_:V%%Q-+Mccm)*'b/$XVb9Ufl2<V<2g!6Y&pVZ)Ypj?eUbel1bo'W 117.984 - ^</hCr<J&n@[p/8:)jS]%9WT9g(JE<Hq0g"bn/*,\%gds-@IY2)<\G>Ma(+ZX*0sALQ-3b1 117.985 - )4]8r3M"K/oGS_cO%H1sC%WC8<j,Z.f5('sfCmJd[=2uMH_&aDq6b\<hq3^n%Gf"`EOZoAk 117.986 - :R/pkA5G]2kNf#ea%@JrLT'g\_Xbk.hHP>:$.u;%XfB?<FJ2\Mo?l;.&VFVoshi<)&c$)>= 117.987 - Q"A&$uD!0$/G/4?u_2'*U[@A/bb>n:W"m6?&_N$UX@$1CZ]jj?!l>nH;2k43dqUhD\0`DVm 117.988 - H*4:J;UmSfL)\\W)OfKb9:LE/]S&0i8enbL3K7a\QXJuX^G1uK3+@)42kP(V@8-/j6Oh`^1 117.989 - =ieTd=,eCr;b+g/]/Fo56r6*=.E.^F)7,'Xpo7Z-a:335s4&5Cco0#ljjSM/;oE><G7'3e8 117.990 - 'H_2Q<nX_iEaKY?:0;c'\b$O`Hd_$31JLe=;;VZuFT@7q<-9+]9#)nb^o&CI9."]0j:u,9e 117.991 - oNEXobTL&2#&7*OrI?G.P_F016;:R19?c<!Au"+AWpb0p4]8U>'?aCCKgGNZY`oijh#G8lY 117.992 - QoV`:Q2*g;T".)Nmtb%3nHa[fZE`3;91jGi%ZnOX&Cic!&09kID7W#'_G2K-Z%,&rtRWN43 117.993 - /$&@/E;TW/A\X!l.:a8emnJidP:Q>SdHA9fLpP@XJY;jCp>Am:U5q1S]d>`hJ!hpH7#Dk.C 117.994 - 6k'N]X&WJ(Sd[>tRm%!@ZFCE$UhO667qM(Ydl?Xro@,GNV4+B$Irk!A^nrO$[)>b`s/D$80 117.995 - /#p4"?9,F#f_Pi7mJEdH]5IMco=]'hk52o3r!*;?`7-\\'jURQM6ES7VY&i=g5dJURrF[XX 117.996 - B9i_goj^]b!3#7/cd3E!?EN&Oph4T5[po#aLEjFU?>S[o.:RZUahnTBZofl(?aLtrWe)7G^ 117.997 - _#uj*:PnPN@'"#&+d\]L.<(nRs!`jhVDVki9hb\c9q?#rb&m[tUHs#Q4NZ8-F-#n(T[CJ-U 117.998 - MsIXe9]qgSRcoDO/gkPP8kG6gDI3f%bAh<?npAE+RQG92i';F'n?1shDV;fGa04J]tiL_FZ 117.999 - R,eVJ-3'[cn&t/i?Q%LmErsD='h\Ms9B*cm($cH`+&n4Pc56p9WU!u/ZOS0b`pjiuc'LR\2 117.1000 - Fd]a:ob(E5kXNlpJN[W74CXI=MM6o0USf_A*`Eu!bS\J5LqlHtlsh/GhD63]313%%CK%JQs 117.1001 - ,47SQ@Mf%!rudLPVVZ5@s!'YOnM"0q#MUK'SDL+Sg0<;P9NNH95u[E"MInR+\[5Q3q?8@4L 117.1002 - i!M9Sh)[J::9%)*gX;0HcU4IT$D!:jU'-X"hN-D@OF_)!-REQ?(PZ96k5(-+(4LP0AB9On) 117.1003 - pN8BVlkmUJnhOY:<;g_I]9`!u6M/LEU&RZgK\N^81L$p`DY@ZG4tRD1Uh)!dB?'RUm'_`DE 117.1004 - 5aW@4MF;S.d/14]^Q]]@G7nDu]iP^&*;tb]:q>iip'a(+n(5!J2%fk[$#Ed7<"YU)M0F,ge 117.1005 - 3pdu@TSLHr>aQ8$O.6H7.R7qkR-c*X?BY@]:dKXI.uXSg`sn_?.VH)$@C4URdqWS:LWiXMU 117.1006 - DuIQg2Bf%bsSB39o#*E?Dsk=7B(Cc3!KHs4t:D;WcZa''/KtW#,'JG[<AP^!R*8f.>=W5b- 117.1007 - 0=;cTU<iG8r@!g!P-)>\fUGY*ISM=*jAoUcUE,BmM-,#b^#"qaj:k739E9Jrnt4))4H%`s+ 117.1008 - %:7E.3K!7k+-=`QbA/C=Y:(3IXK>.n)k'fr7I&t`,1dqW_=Be^>J,$Gpn6n3U^NjcsXe69" 117.1009 - ".a;2+f%R@Z1C7_H<M:*\MRHRNo5\_KbINrtk?RnXFAU]NJ2Al*,!,a3>HtbkWbs_g(aB.5 117.1010 - ,,VVaGfH5m1a;Bc(E']jl]JUI!!m6q^#gs+>C1]k.G40g[/U!\McaETFoSJMbeqs]LOsB^= 117.1011 - >6"TY$e=1DsJ](^m*soN:A#9/ij0.QV.itr'?-Y(*gbbQP0u.W1crGd"'6Lm)^%.E$!EH?J 117.1012 - (dnfY[\hST%gS=S2Wg66H>pGi^I`FFh])Zt/>ZmN"YSB4TeiPHopAb#qdoja=%n13!4NjqN 117.1013 - +kr3Mc2[URE_P]p#8&3InYg<>to1$8DV4Cp7'S:a<jAmFem-Z&6*KC%R[SDg+s./GuGR,[< 117.1014 - ]"e:>CYFfsP)ef0nUi_odd[F614MtiNYuWB*\()%!qB97)<J5("7EN(UUIaAk3%slF;33J[ 117.1015 - XD!j%)iZ8UP`#%0?IR]?RQ!n*rIM1r(;ndo(Lnj#'"N,NNOofe-fYEpj7Pc9EcG>m`KA'<m 117.1016 - kK>.>BQJEE\8?@&H`R@PeK-Ro(n.rV;7J"?Yk/L]Q]\5hOE,DDf\.K8)/s)Y>8e5%ABR=c8 117.1017 - -Kpo&Yob&KO-U*iidIh?[F2_?ZCCg20&Y>i";O37f,0S9L$6r^!g@&\=*%-0OOR5H#ON%3C 117.1018 - jm;8F(r6E]UBK([uW$8-9d`V2I"TGeCD60lmC%E[Wn-qOj\PW9BhSM6h4+HDNn-0fsEe 117.1019 - 2C)61NLQ.*[kqHN4D6[D7[ppOuLe*YQd29gio&\#NY)E87*\c`:l+P]\GCK$rH3j0N^%]9c 117.1020 - mFWk7c\(_C978r%VdHq3g<rksMB,hQ>_]GGUhBT>q/?T$<PZ0&*H</ebE^J&0;J02QdZcj# 117.1021 - Mf8BX7_4^_jd4o!]md9lODF%Gk7s44_\t.6];6Hn:g@FPEQ7O'Q3huG<ihXan_PfkBK3h8K 117.1022 - lF+qO^a?Bq7,Z0jfdphTp_!<pB6I1sm(pn==j_,O];&VU8pV2ZE7O)Ln)@U4i_kIt$E^I95 117.1023 - #"TD/@E]<+:_5en?=^aoQqq\5A9m5A1K&JLEKb3h9W?&)Yl'_tS;C@WbY35F7/#0[Sei$,u 117.1024 - G%>0Rk2nDD7_t$%7j?PgC6#7?'Hl,/-HRmdd]o%Q2H+bqrJg=#*\<)W+0ET*!T8k`L3=H2( 117.1025 - Ri[>a'gLIk6>S#9Hmh=?.4_INTHb445n?5+]KZsZ_+R]FF,IA'6(F?GJJ_"s3/`Hs2#sF1# 117.1026 - %TYR6le"P/1[d__ON\T]KAR*4[[p$+:<ffA&UY'`\rY3\>V24!,4LpQbCg2%H.8sqojR-?: 117.1027 - :0=_Fo3jn8,1n@gN8j#UD&/nFAuqK0u_(74_A+4B+aC<>ff=S1DN!Lr9Eq=XdTZ7B@RFK>k 117.1028 - >.8%9KU_($Y1E'utt,)t!lW:2=W4,tRZKe.a/,iE?ldqKeX1.I`+L1lPWpe/WJKE03!72rd 117.1029 - $P7GQ:ECV!h7kA^O3Bk@PAO="@$lO0n0m4!//KeL-4(r.p\F)+kB.it?+J]<(WM9sECIf?X 117.1030 - XLL.o*.nO/abHbN3;eC71,As@4NO"0Kp6>d3,Z6A,UHP_Ju"G?J-H8r&BPnPUb#D67$L8:P 117.1031 - t>5H8SIP/X;_QnGDIepN;Rt4ask!pc&Uch`n9T;@#Z/57AA.f#@sS44JY>P$7BmY+0484#U 117.1032 - )!+D%5!n3UBF#5d;TV>/1t?X+Z\YFKeCHYtH(B9.7YKKKq4No/gV08d&Be'O<>1(sA:tW:X 117.1033 - [4BM^d:o`SAg9Bh!187>0t8k^2=!'J.)(aVjIrAiM;7#2ONGlPWS;*&Kbb0[4/&-5"+Y=A= 117.1034 - F`sf:Jr6S.Hd7kUdb=$M=Bb8CugEm$X"O'=FKT8a2.B/,&T:ep'\4fW<Mn:ZoK:Lg]+?rU0 117.1035 - fa/q&/"Eff,ih]oj\B(C6'Th^j4Q`7]Ys#b`;&a-ZBP>7iJ9/n:@*KP;1L\(T$1T#c+$KW6 117.1036 - c#:_m>*8o:,L63AC""eq+mOW:TXFU,j3.!m`ps-69=PMTQQ>)`.Ct]L`eM#3T\C;Fq?@a8/ 117.1037 - Q+jn-dU%>J4,X:orW+FUU@epHR/H4/Dc#r=Dg8&Q'KVcc[*MfqH.]\&4'i67D]3kYtA,JZB 117.1038 - FA*_bLEn:?4?*=0:J::&LpW(G8O1=@)Q:-B3(O>P@M,uS"q;JddZI4/!Q.8l]d;QVHI]e!( 117.1039 - +/Q1CW;XH,8r@h.Z0iK)J;^jJR>r5D$O$!k-;f+HlI5k/b3E)J0;lr,[]G6?h<hL.Lc@d.a 117.1040 - 8\IllJPkq)Qi`=D)kY5$^]fE]*1D^J-m+6c(d>=n.8!:]V'=62OACin#dkpV`DBPD;,nW7< 117.1041 - @q-L4]GEU<E3=*<Gbf8eMI>5:5J!i<IJ(O]j+R^>uf]e;fh2]ANds/e&2[o)n]jmS4!o^Bn 117.1042 - I\iKH4\H/+u`]bCN@.Z03pn\DogC,hCYt!Bk?Obp-(#:Y"iQ="SJp4`jb"F]Vjl=)E._79J 117.1043 - *-NRb.Tf<'C$]mNo+I2/kkMZmM;m/9\=5VY@(9$dRj4O"nnncd!e#e\fG&11M=76Yj?(c8# 117.1044 - k4`FBJ\Q%Zcf,0Z?3%Mp)O]`]f=Y5h?4d9)DQ!%CY=`'L.I@+/sR9?)L=fn/r]pr6MSQXd? 117.1045 - =m_harLd='TirJ2=tQLQ4eu7UV-7+k$H78AOGqhjJq6q%>%Oa<]rYD^X]jP`>4&LsrNKK8P 117.1046 - h?4&Mff\8R1.>;\iF<08%<(@8Dm&V&=k[L*YMERPFfeXM[DhA"V_e6A<7HU8;AM.=Nq=Lm1 117.1047 - 39`O%4`.g4dR.D*s+2VqcNHg5pnG]uhs55p))H#rT'0Ct-GK'cUBXajF@T=X+bC:L.,Ia3` 117.1048 - [&C6'e$$I*r9!q"_U-mW*@jjsqQgg$:QD9UiEOPGYD>b/pjY^tTKi@DmlfBA?%r7!S%d56f 117.1049 - ](c*;]RD-:\+Fkt^"-AG;!*Fg&nM2(5[eV\l!k[:M&7+dW8Zh+3H[FTlJ_i9)?9j'J<VS)@ 117.1050 - k1o@e^;8tqKXBAELRZcI]uA\:&G-"F14n?e)sW8b+EAll*oNE:KanJ5!8>?+hDe?5&cD+T9 117.1051 - oU1\r_biR&UiSEc4i4.q$7`3>(uhR"oMe$\6n(1MUWP0>sCBP@[jdMe0+t4:eMHQSX[^W!X 117.1052 - 9kMAgBFe,c)Up4#Bp`3&?H2CP*TQd-]cK@"I3Y).M?/@9<M<D0]Q=(ujP,iLm]r9C4RdJCF 117.1053 - Ju^jt4UPR5.)#:U\\MSK[2]O)SXXU)SQL_qN"pu#QX;dTO+=C>BCXi+\_&sRPQj!I8Q^+Wt 117.1054 - "=lU.3jEcGg0XtQ(=4'243kQGlRt:lf(D)#,MS^&HZ1<U=mXU#8?*Gs8TG9l%F4TgoL_plg 117.1055 - ]'/$O&)tBU@b+1`q\s(*1l[BY`Wfp(F!Nnd8i85/-lu%iIHX]XJ\p/=M1-NX>k8<dPaf<R4 117.1056 - no6;OE"n>a5bs>eo3p2*51IZ&DZCdf^;1p?:LFU<Z^[Sk%MMBW/YH+s5k&!%?>)75%WocB4 117.1057 - e:sABk,`];S;[#@<h2eiQi38I28X21V'FJYn>EkZ?ulbX4?^b7'>9gnn^a_p='\doKcT#%& 117.1058 - -ge;m_'$Qu]g8<@K3%%=[+$8Dj$ON.^8MWn5pML`!'X:1LDSMoo-#UZ/MStHD+j_;MgC17) 117.1059 - (i94hNdqB5B-k<4W"7/#mP.<a&?Bhs*)b>TfYm;?m*!HR@pd8gi&*;=<krtILr;tkGR'tZe 117.1060 - C2iTVYf!Z'XU3sLCXPoBi="of=Z+#&C3I63`i*PDJn.O*C8S#/ri=ZEK;:u=NQrO-?E]B@( 117.1061 - 'UX>;b#&a?I/!KcYX`MD'mYI0%=_4`!2G^m69-=2V;kAfS0U8$p\8`*nTeFh/1Hmm:MB:Ks 117.1062 - s)0!!r#LD3!WChU65m_R*A(mV_'%Lj$Fu_X-.BDFWr/a_^CJm;@.pmSLc<B'sQnldJ3iDOM 117.1063 - @0(A)Gjea78Dmr%ZI?J5K``,C\.ms`aQnAK7JqX3kSCLm<XG'K=,-0tVnlo>AdVOJ-X!t5[ 117.1064 - 6b0[=/mfoT6#EZ\(NfM"mU*+8CfF@J3E9lQ%'@lGma/A@HiO6kZ(<bMDb`.En$!Rb@!!Ncr 117.1065 - @+!RBW`^r(6DZAk*<9.YK6Xsh(cr$/)Qd'VK[S\\Ii'ksYm`90nf$8KcR12L,4[rHX#gQ,B 117.1066 - ,>RAgMrPuEmk23\AFVG.]KTmN(5V%^F>76s%ffu&-6ON_#K;^@gRVfM"_7Is#Z.r3Jela9" 117.1067 - 9q>[gADA4bu$\_!mG-#&TIR4H5+(M'=-_e`4,K;K3c!CgN97509kf!97Ze%9Ro=$.s;[Zh! 117.1068 - $5ob*_b!5^E306)b&MjkW@pJW<'1lN@YFc)VAOMZ$V<NQRASX31GgBD_e_0)qhEJH(;cReW 117.1069 - _<V7_D.P\=>2_fJ*S+UI4G%c_U&GpNRqK$@dC3I>l#6Ggq$m2ZAMiO532aEh8F,2JkPFllT 117.1070 - G=IW++nUKboT5F"+%ddh&rAe/1ukRi5n$sode4m4"X[IK0GX@QKm5h:GYa(h?\\Ya`!/e8p 117.1071 - kOcPIuJW5Mh+u6/C;<=c.dL#Oa,37JR=9;&B&iIQ$Fa9L=4BV,;f\WQ2&ssH)I,:;YI.8cM 117.1072 - =*(H)YNOMOOA0Rs?ZR"[Ks#O.gkqLA?n$"\5D8+.DspM>49QqQHiBO,egB`-Tb-qA5@k:TJ 117.1073 - g1LAE>%p=/p3k;W,T:3<^lCS+*&Ybha6N=(3/i&HY[/te*KXp?Z^&,<.8fRi@,SKR/G$Zo& 117.1074 - L&&8GnSo^j7$Ps)!#+r?l[trpcMg?u](WHkJ^C#2'SZo)NGInjhEJc^#L_5N#pof%-%=D!> 117.1075 - S]%628'C.qR\a]*Hha4k8(TZ?XVMVFI7TW\^p80&b"\53GE@c3-ek#]Q2=[.IB]N'.GOe+f 117.1076 - 81;gLa]e3n4e=eSpe\a*uF!eG_1?(C3QNkGHi.KYC*,nIGFG\0!#8%!4f`M^]0i697@n@5D 117.1077 - "$Ejo7n/H3[CT"9&H+JjEekGXNkn$\h#Wd.i8`,nl/)@aTG=Ai1Nf7q9sB"GQj6OoQcUGra 117.1078 - ka,*kl5deSR9AM]cLB#^7WU3,mr9rHJ8`9L27Th44-=Ye-b8>\ut'_kBcTgGS,U:"/<*jk1 117.1079 - 7'5Q+O6))=gYYh+Ca+<g3AYrOc[47/"h/&lkXq9l0!i85g)CF(JV)#(a]YLX>b:VQ\N5f7> 117.1080 - M6)BJ!@Y\=WVGaJ%e2SYkB#=57X>`@_SW[iHqcp>PL<?C;#N#`OVPk\26r0mCLoqcl7<dP# 117.1081 - 7#qk#OuIq^./^!bN<kkh#;u?9@KalqV<45B=6L^GC/0G#D^'-VFlm]L\IYBl[F2/hZ%Mrqr 117.1082 - rT(r7&n[KR*Hg$\-J8&9\tHTe$?J:b3+Z)N9UU#/SZ6+UGq]RQOQ(Tr\h/6G]`P%`?Zk5nL 117.1083 - nI+i<fHE>27a`DKfFS..-gHPSjUMU%eA96/+N[jp@bK,:fj@!FMBdjg5.WY3\6W(dm3W@cP 117.1084 - -+W;Kh6KXh/C>oZ$8EhpNKZQeAC2D*b1=721Z+@UGTlQ</0;T$'Ng\*\bg<i,80m?T,ni(X 117.1085 - Tf/sYmX`Xh9_>efdo>il:J!W_QHdN7#+EhYX+5as.p@'Z9ksm8*h]ikR1`">&qZoTlLcWVd 117.1086 - O77*SPTNB%83r?b^WKf9I"/*d&QaL(ss\T(GIS/Z;FQGeV-2h7SnGh#Is1rQY>)RSZ%+NAL 117.1087 - jeHg:#hJDVNb@_!sOE6d50c:Li+,h,dh9q*'kF<?T%PicP2(Yabju5g[^i#$a+d!J'*/S2Y 117.1088 - lt:u2G1iE0D'L.%.[c\CF]Sg]<3f9RnT9o*'s/mm$FMc?B"_`5r8/GaKd+kV1EIq*.;GraI 117.1089 - ciYQ!Q'j;\3Tkd"PLePsd?VT[>p2-'A19+1m+o4N$6t?X:P_ccI3o-a/)7DqmBW31mVBjm$ 117.1090 - )6X#YEXJ[Z-pE-DPkH<FM_)IA,I)+l<lM?eR=:c4U"Yr0Wll.-0W.`/.`&[U/leBRM0qN*` 117.1091 - o0t3Z=3:YT..qRgq"eOW4+6/qE@\tepVXACY*d-6k<*"oj(p*GkK[UGlGJIQ1KVo&6j;$G? 117.1092 - s*OE8\4\%>8r>+,T!PR:eGlptfAFk[NgHmH2PKbbgs]>NS;hT_lS<bp;j0&*,#,Jf0el<^H 117.1093 - bE,Pcal@b>RWGbHhg@SEGAM#BWI,$RauAS=d<Wt?/d8Xh^KIB#$r^:1%7hoVR&`'sYS#Q4; 117.1094 - R=Uom0&@'"Do\5>J5pC8*n\FjGO9sAqE/b;j_6O^S^]XfaE#i?m`pu_>ld@)^,b5p1(Cd)! 117.1095 - 4XR<sU`F(o&#(=<Ls[3.4lUSH#d^+."7ac-&bP;uRH\aimF\UDAqXHj^d0(lgdHt;(ulbSG 117.1096 - O^+?7Te1Zf'Fq60.JkM(tS<$/('>Ggp3m-2[ThKpIelp*"_7p+@m^t!"[;81AM@eN`5\$jL 117.1097 - .R@f<@j#0b8u#kgL6$$pri-D,de0N_'jJ,fqm.ARq$r8V.C"V-FaeP(B$c.5jP)+97YE2G: 117.1098 - iR>:^oE6^*7I;A#d4e/S=+,&lJ)6`H&#j!6l<YmP);)5T1BUe2pF0T*g-qWJ_p;2UC%ai0$ 117.1099 - G^"oCbG0BR6bt6GHgmi"E87$I8)<>l!E@..gc?qWCk`Q\QEfUAISNSuX6XRJ<J<+ApR_hbo 117.1100 - #SK798f:gV.9o-uqb<]Y]q,q;C1(DA!1"qZNfuB?-fti*TO]g8ch]XGBULNLA6r]mg'LH/* 117.1101 - 3::tfRqWI3C)iIIOnHscpKfV5"I6G,kEL[<0nO[MA4F:<Bd?]':h"UHP)+8So(Wqf".aV<c 117.1102 - XC]/P\jI3MQ,SA+`I$<g4mlSdb+j<PGsS\`s/B]lC3u8puo70,k:5?W>$!WlmFi73B1nTHk 117.1103 - FC96(5t.7kq^!q`3c.W@ip,s\DL^66?rfh*^h3j;"qahiB\:$JIeZGe]j&aLBKi)M.cG)a, 117.1104 - f>"rfZh6`6Ob/)Q=D#/"fU4lX2e!A0UDl*,)W5P.#=*p1=C100&f.@P;)khB#oi.O1^ktjc 117.1105 - \Q8"[orIE*PV6V<=X*fVSMsI=+n>E?LD[`Af=(G1iSZX!j3+Q`*k*a0Upi#10>FaDG)]A"H 117.1106 - nU$3(deTAb(l0\Y>,NnFl\cWBZknhrPcX^>q[''G$cB9,8[J<PK8UbL@+4CB#V;?@4<4RBr 117.1107 - RICP1E)7]DmcUFgJR?Eu7`*=cD^5/@_'W+2:ufO0$>[_YFQ`iG2e_Z4.j%\5G<ADujuuG#^ 117.1108 - j&1mD8CXFmg2P@iCMLV\".LkmiF.>AhrigTV-abA<KQXG[+WjR$]Ml!K'L@>h&`Aq#Mjdd9 117.1109 - q5TUO.l_c]L(ub*Nhde@UUIsFeX%,\.b\J("fO,*r(et*^0nN7PjN\YK:`UN!7?SA.dPT9A 117.1110 - g^A:k9Y!2=<%%`6;COnqh%A0Qm[Xt2Bpg__9$''nR)/o!Y6buTY_oro>EU8fF'6oC;B3)B. 117.1111 - fHQTXG"$m1L'7*>H2\Oe8@?D?s0V6PB&i^DOZ0?@3S(<j!I[HRYQ,-r3/c`f'thkZ&J&G(e 117.1112 - (7b-A9sii:"AG7l,:1,$E!9<P#`3@]eM5&SCOOZlp6,oO+cu%u_23#!?u[LX@anqrlSD^(F 117.1113 - El``Woul!5qY[*G.-<R6;;Sn(Of*pM@f:R#BQ\[D/)k6\YRBUEE7W<hA,\9iF-93,Ro/8^9 117.1114 - Ofcm,4!c+:7q&Yj83/("mA^gB.&s7G&k]KEC97"3TJ649(FhN:SYo_UA=S&)FNlj=PQWiZ; 117.1115 - G@'\M"kVWt0]^V'G:a;;i5qkf,hpqf*8^\6;lL_gh6*De:D-'?/tX=M,D?Z?]+sqZ-I6gq5 117.1116 - -S_<jS^5Rj*Z&=BV[@!\J!`gBSY42X]HFO<g_?>EJSpJF@^\XA*3<Ff^KDadQ:kGZEdE9Cd 117.1117 - *JeINI7QHTo@$%WcPCYJGUm!2O*<<`A]=cdkKCI^=LDWk36Xee4qLrXr$#LcJB(6jrHLiZI 117.1118 - rAYAa8^e)p>?1&PDc&H7a1peT&qNq=F^cBh3%qIu>d.!G?()C'//!"TYB_L24")#Q&>eUjZ 117.1119 - J:\9"3X=<Em,fMVB@MJC7(aA-,c=PYeM84,R^u?i^ibQX-:+l`hC*E%@XJ?9bcW&;Mo$Pes 117.1120 - >Au&9E.i5WC?:LojmSA$mk"ajRNX>1h+5Ql9;JHo`-^f2J#)'IA9e;HLtlp)mg=*k#[6Qr. 117.1121 - ^?4P+H;unNgf=PK#@q(l"*sj8IXKj#2(CU.utV;08a]PAq@tQ4:p?L"N!iA&5I3.KL-+X^m 117.1122 - `J$o%=Tm"-A8G7VrVeb43`S$fVg,`qp8*'b-2e+jiIsL2>dB,l]=H!H=SE65ot;,o'lp#_i 117.1123 - tH&I/<q+R)`2$j%^P0Ad)?8g@j0]5U^kL"suC>4\BeoAh#8+heoSA2t6l$#uUWiG'.5?Q-c 117.1124 - l#7`6hB8dZ-edZVm)A0OiAcEMk,93aA!0&DTcYV^],3BH))Xs:)%t=p_JJ(`<!%rU4DMH*1 117.1125 - .Q4/_/J#`5Y979#P_:2TDIUuk_UNI?G9Mg#Z!t5)anXA[%f#QR$*bs,WZ;L`:>]nr0_.($U 117.1126 - ?)f%fY?u:kNPl!P!gF'859bA-*g@W0K/m3>0LI+,Xe1KYfcsmnG1DR+i*kf`(9drIih!%,S 117.1127 - G)5$54\J;LIql.<-FUJdWde!%ZKp+7`th5oD0c>Ur][gksJo1#jgI>$FnG+7]IhWuB5:!:K 117.1128 - =M/+NC__&+Z',aPOI+V?XKNmo5(Uc0X=0]P:]!Y#S.kTG_`kjmU$KP_dUAJ`3@(_BU(EJDc 117.1129 - a*>m'EcV>asOUa,S)DLZm0k&urb8N%?"V%Lh8&Tm5_UU'/"AHgO0^peEX"I)p<Y(Bt+7ihl 117.1130 - ;e%22D&Xf2)enIe5u0(b)#g6Q1P%DAdm4co"@SFQ'*>g*1C#?1T/mUTkQ(E8d6JnrXtd1'3 117.1131 - cYZ?On0SHaQKY:0>eqe!nBAPd-[$4$Na*",In*$^?)P;e'Lf@&QKlm.\G0.[dni)E!.<qe7 117.1132 - 6\I+_quM1;P)i:)ktk0JCcqO?bCMF"4M`bd-=Ei^-.obVKE/+d<Bidq&<>2J6KE6c2JZ@UV 117.1133 - X22+-J&2l-X-8l[._m_lJ1ISZ:1F2fE26ngGh7hg43;#Fnad7>K&7<68T_i0@("[@!./BES 117.1134 - bo!C.#'1kM4-W@9=jc9KhQOtDd!qUb*K*+[h#qE9#+On^9;'Q_$j"]OL1+j3u:H#iV0_<aM 117.1135 - Xu),,_V%<Y(=iRR9acb,[#S%IRPYW]kEQ9JCAM')+=S$:H*_sXdt4-4W%^'0HD8kc@_kjD+ 117.1136 - Y'jK7P<dakj_?C#ub>)fi/$kPQaBr7Q0p45\l9KoLLr_l9Q*P#q\3SFIsK#qO*GC7b(Wp:Y 117.1137 - /Q"dOS9G/[2W(oM&H(O$\HR2PeR)P$]h.q`H[E+EQHM'?_Y0TNKaS-3WKgF5nclNZjUA1kN 117.1138 - Y%d*XR75<U/I&5:G*Q),Z+Ip>n'>a"8T`+q20nQTZ\%2IJKe9;<Wh-crm.^R\:Pfi'Pd9e\ 117.1139 - %1UYn3cos1=O\6H<&XFske_a[WeQO5I[?8aZd`5FO<D#$g&J5!cPd=7%90e=@_bf;@@K]B' 117.1140 - 8?p+]YA!qL.0S@I0K5m2Z0(CR7/[mq#+F+e$rjV.e,<"+q%$?+:$Jsa&VDiYM)**j"k,73$ 117.1141 - JnC:``')sO7^U2FZLXgL/s3Tl[hnmK]`n?;#h<9-qP7,[an,Qg+1GJD@KlRVg202^J]p=AM 117.1142 - >l2oY4<O`G=P'.JCX`Q!u.C%NpaEk^jdU@%(0*Qll%H/ogVVQ=Lp\@rAS6860"Eo:&%?-ZX 117.1143 - D]F2`\_<$`s<dqk*(/]52$`!oc[h)nBg5?:D[Fa\I29d:I$GSc!W6:#.KLB4hZ*[gAf2J7- 117.1144 - +*htCb+mit?m:fpMROD,h+@iYS`B7o+jD=1'n$`l2=#3iW?6Eqk<Y.c9/$iu3,kFi6(q-[d 117.1145 - nWL$:D0i5pEFK2k<U/bq..6=:Y&^d:6'#]Bq)m2aHmcgTp]YgX#qK\IDkmt`l)Aqp\Uf>3I 117.1146 - b/$P=41p8M^l/>HU>D!!XNQH[3/NW'2]bG[=_J%R=l]PKQ_idE63YXhg^;,G$l&.U`gcQF* 117.1147 - Q"YGF3iTMALs`Ko"BBLf]Lk%gdLnY'jE-FCIBd;0ZdjHm#k?';>nhQ"X(6`IO]CHu@@U2o/ 117.1148 - 4r1HWKjq_n0B=4YYUgJ1H,16*:EPjK>&n>\3UFb2I-=Ge8'WImfh`2qcp/[L<mBeblTEk!> 117.1149 - !:K!cDSg'QlBWn6S'+i'k[0]sGEqm>!l5PFRXtS%\KlpLp/\-dae5uFZagD1:3-0jc+,@@l 117.1150 - oU(8s!Z]dTWKqgJQOoXC6mu>LGF.!4Qf5E@=`RtRRi9BX6'_p+`a8QqY_A5Er%:aaXdLBAO 117.1151 - ,Gs>\2a'pGhCsLh"*AdiT\@b%eq;%k3fI=Roob6&+P&!)0@bCJdi"k/Idi!fpNOr,+6NmGZ 117.1152 - `]<U7t,4._.:)R1";IY*\*C=d@`aVS@lH4-bniG1C[_:1KZN6'b\).l&D_,B82o0r*Gdn<n 117.1153 - GdH+B^S^R3DU;UR:H)$sOZ3Z\@'9Obd\.BT$LYei#25uM=iDo2]PBk=I9<VeclqFDe@0hur 117.1154 - OC?HIM2",3pV(fA1')%TJ%=t'MR@nk1FBYq[7D"[bki:p\V)#/nNGKd7SrsudkIP`4<Fmd` 117.1155 - -(qj,R90ujiWZGff'Sp7-@-aS\9W8o.AX$cUA8aZ\ppp\$a@jWUdQN-RgrVJ:J,*,X\0b=+ 117.1156 - t$=Rrl+P94F'd4)XIG@X<_bLHkAf3"R7FgC9T`</K5HKg5V+.Xc@\FXm[%n(gEQBZ`\AkF? 117.1157 - 6J2]'rpM]7P/UZ5)qFKmBbgj^@PF[^m9bq`$$[_7":*$B0;cS!Y`e/"PFT6e_2t'mHpA\$. 117.1158 - l2PLJ9u]>qRR&P7hC8]3]u>KTB=*D,>:A"`XZG;N'reZ'Rl+M&j%/T$f[:Un;sZ*2'OgZOn 117.1159 - befj\GS,/8TlGB\CAKKMpWm$="qes#Ib(mTWSuS'i(I6[njhL9sPZsuX4%HhB%B^9:\SOo@ 117.1160 - )%\nL[9##&]o1@Or+!a:CW=KfYp:NN+]ZRQHcMhVa;f*.K;aS]cZn%b^NS#Ck0[eiZbk3*$ 117.1161 - QDIU40="4otKgG7UkV2p7%eh%CK]pC7!h<0Nij,l$eMcn_u^V3O*9;FeG6TbFAl\LjC/\ef 117.1162 - H!I)r0o.4RaEng`=PraT)?%SCb:kho*A:R[VRARr,bVn\gX:`4Zi&*(E%VllACBcWp)`6,4 117.1163 - HZ\"[m$a@`;KI7)MT9@V8g]]tQk4\i"]h0<gsb+.B5]0u%t#hB^-JLiPi<o]F]4O)LUp0:7 117.1164 - 8>eD5a;2shR_,Ta/$Iopd3[>Tem/-H/H54C=T?2M\V49!bJpl2f5?55?,oA;8IC6O'O.Sa- 117.1165 - frH?^4Xn5`?ekSpdYR"MrO/gk8)B,uI4o"o$AapPoA8c)a$'EnI9hX,gRt%2*u=5V![.Qr$ 117.1166 - n'IN5l%852hBV5'&a+lFFB@C4;b3hTr::/s,hH$a<atliL:am[TqYM*>dX>i5YaZ5og?6*G 117.1167 - %mS2C)BhO.>=Z&BCp0C!c=XN$r0(h=ceukMMc.ic/&VhHHL\&)Y;i[tr#\UEQ$hR%@UcWAU 117.1168 - Z0Ff[>9D2E]J#10ojXh/9fBH]F\+k/o0I%+s3.hnRq-1q20rH$BcB6\kT+WFS;*63LP>SnO 117.1169 - ]&K_,E?N_Gm$?dGUXp2k/#/`Jc(*Sk6Bc_]W4WE,R*S.r+kru6>ijkn'H"e?8f=e6Q[mTQV 117.1170 - <S,n7f:M6P@M"XV[NGJl\Gj]aZK8<KFkC!]YJ!5RSrr5=Om.?PRV0n.U4,UaX2',B\qrgr? 117.1171 - YfECU[&tj<8s>AQ\Xo=CELG3+9HhAs%Ou+ULs'QH'P`'S2tOuH1i$u+fsMpAmd-n`t4f4JO 117.1172 - .3>>,/TW*M<?fAA7OUqcOb?>UDc;G_#i;OB=$M&H@GNiK2]64s:Mp7,_XsZl03%NC>(Sf^s 117.1173 - VY+d#=VP#tY;;&Fp7jc5aN3Y:do9[Ao*F/C0<BM,/"`m"E&3[W58;lHLl$R)<3.9*lA3^HC 117.1174 - =;eZkZ[9g+@X]FbQg@]otZEZ\mQ<?S0(GV4)j]8mNSu$4lbTRY!mEQkQP$Xl(H5SV@AO]JM 117.1175 - 2Yf]^&Nu")EKr$eb4,nW:N)@H,c^l6L?.L).SN2OR%`I_Qg,i+"f-rWnI0eE:Ffi+D"a>KK 117.1176 - e<LQg@"^)h=NLA8@.d[S6e,q\7t&(VEBl_5G?KhFS_P1?O#?;][S4=*nPnX,O\,SE*aWAdH 117.1177 - U=MrLV`Q5N+(<r;GMYr_bIdk/*uEYOYZ4(U(1N!]^E8%]L:a<!rmrW:81?1XM=lN^!sC,/H 117.1178 - T>oDD<>.)Z1K]Vm'\X/7SX2%;p1Zoe=ClJoni7PU(9R&Wm'XFE_flumhJZ1NMea(OaZIlGW 117.1179 - qR"W/oY]uEX6#:(URmtdr'np\(XX]f/5uAMqCHDJ06;/"?f$#]:1lb$7K=Ht:87^M3c48R/ 117.1180 - 0$^f0W`f`2KWcoP,(`Al%21LAR\S=.:I238/E8W<1hn<M1UKcN'd@X/-Oh<J'el1R8,Q.QY 117.1181 - (q]s9H^^B+&>Z);?#LM;8$%5/'uI:7Fj?'m,\[36/c&"[Io#W,P@E(eNHo+f/d"l;C,hY8c 117.1182 - $P4fliXYC/3***r/!cX;t'eKOR(S+KPIME][)X9*E(T/_7*_[N-&O25qdA_+Y2F-J$\2$om 117.1183 - jPO:;9;U[ATfXs['-m%c#1'EZ@OM7O(LWtoR*MDqf@E.LLke:er7&ep0H8B;^8rOoLARZ5< 117.1184 - 7@AmoR^ebc4Af5lms':t3b,I&h>8`7F#X[-n,8:OY,bt.''r.Dnp62@Q33Jkk'd9MkR-$Gk 117.1185 - C9(t-@\ghH8N*uHW-R'CStUI*c)2eR1];u'KBC4[[:qtZ[\0'->*iq^VK&:r)C9[)D(5m*H 117.1186 - I3$/ekL%\2AEIUM1"HNC(MChN)fe@Dos3T-SNaq[EWp@oK=![M)[F5h6Wfg:J#&88=gF<op 117.1187 - qF^W*8o9QeFL0H3n&TN4LaIG<QWeF58/bLZE_E=-r%nR(AF',a'K7NlUqo5pEe9-amW6^A# 117.1188 - ;_5.N^/-Uq6F>F4WcSnmKe^N\RMlMjZqX8X3Mn,+[5ap[G50)FNO$D%2Y-U,Wj/-CG7,i:& 117.1189 - X`hSDWC*eiBK/[dFlpu/n=Xl.:Q?Eb4$i9cI"]<@&ec(50$g]'4+iP,Cf*.!4q,0X(_&2l< 117.1190 - ]\F`Z+OGN95IKoMQ5V$";$J0_2f(qoS%+8f^"4gV:*u].Q[#>Y"[%%%'k4OOMZf%&Woc'.S 117.1191 - t"8#_sT6(kH=Mb)ri'eQ'F,Fk0-u(:5^jH3CbhIr1?V8I^.<a8%!gW!!E1\KmkV9Lhe,6>Q 117.1192 - o]J*^`K-r.#2d+sRRH1Eu!*"sN=O,t_H2VLkDF<?XdXBOVrIL]g,g&r9FtAl+Ws5:)2T,=! 117.1193 - rC7S>]G&P+`KQAZqi8H8aE--EZR,pFe]q2$h<1;Ju^)F+oP^-?*9@[[mk*O6KD)@.m/6-l, 117.1194 - \^:<,Vj4pf-'#&9,3:+k]UJm\(V!lSH>ik#<bFM7=Q4g/i4B95@JBe4C:UV\?a>:LSV+Eqo 117.1195 - _A#_k$]7=bk_p6e;Lb,$Z(EdoGY4[&6_4So6H/m'aAMqL"6/eoO8o8!P(5nkN=^jk%ZXDB@ 117.1196 - ^HOa-!A,t8P*qg5DUlkT9SGX94A8]-W@'gFQi!`&lgXN'h>5<,d0n.q%lURbt#\:WDtsP). 117.1197 - $"f,:o^.`lRU/UO>ajF0\G>"1:-m[-4TVUodZG0ft4b(cPHp$^A/,>`Vj?,uh%Z=0r2ZJ-C 117.1198 - (Z'J,>"qBI:W2%1pU&;aKPJROC6E?\$a^Y&Z4W@Un\+VIV4dXhj=LiSt-[PWhC82<^Uc(;, 117.1199 - )V#o,_#u@Hl]3(<5d^PU1C6!F),8D-O>J#/8l<sge"Fat-$E$lK)EjOOS;Y*R["Du@?&d4* 117.1200 - hVC8l88C&,XVY%*7lfI*X-K1tO>cKsqXG^S<TCat(>)]eR;#4jTHKIF<*NN@@EAYo:c(_%> 117.1201 - (S`rCq1R`f7dn'b=Fp1o`_dc9aDQIkX4K,ik7<>j''5!CSr32Uj*<)h[Ah)N\.a`f'<iU4@ 117.1202 - o&qr-u>sNi42WMc?R:6Us"?ji3dYK._Q6\heOCj1=W#k;uedR0E<?g>cJ/<Ii.[f(+o<fog 117.1203 - Aq*cY:;pF'e56*Q!A_6sRYbJjXMR"LI5o?P/eH@nI^I=ArqV_$J5:QtBi,f5pPFZ?0Va[qJ 117.1204 - @+LgMmQ2Em5E>EoJ)?j@)H\+bm=T"U$73Ki;@l87rf>aa*)o"GKTX;)Ea3j'Cl*]-*/!A_. 117.1205 - C)9Va9U8!55,6I>"#\ss;A4*D1aH8*.HQP$7j+(56:?/^Q7H@2WF[0ae*AW%%>QpN7[q[RC 117.1206 - 3pk/!BVkKa!;PpJnP%U[<Ah)d$UVkBR-15nU8N(<F>f$Mk*p(`8')D*.AELn2#`2NSW@,GE 117.1207 - ,OR0V?XY]/uoi%In0bGE223,"tS'/Nm:=[&`(QB2XgbS&0.dZBo3\[,tDSWnU"Niqu6?CP4 117.1208 - R:XBB&b(!hhNDF^/+0+PpI-6uQ4!ksbO/Z#W@flDZj["&A1k+(V*'qM[n?BZ=<M#_uf9OSg 117.1209 - J%ZdY>4uL'6c2tAPh;Zt>-1OLl:"uHb.!*o1O-/EaB%RG-iUf>&G,G30e`5r5Z%PKGFj1*B 117.1210 - ?jmRi:'#l"_(r)skLCdY[qll+b-q`Y*&kW<Xs'2'QQ"mJ)i8T^*O.K"Lub-mg+#GgCN!YAi 117.1211 - gse]pcE?8Xm;D8hJe8ADK4mR2lEIi+WG9tRF!u26E8a"-="i]<r-Em\m@&37lH^rhm/$jVL 117.1212 - &5a^:W"o%qC).iuhX2J;1c[$17]2Y4k-FN-HpH_j"NX&`3WI^>5gY\Sp:89\[Y%hi[G6Dj% 117.1213 - ]@(&*U*(r6'=NHq]FH[e9;\"7p&CN9`MI1t$F;uAlod5gHN#OrrqlU<iR7QN9Z[hEd:ZZA: 117.1214 - I[^D%N+B..3WWYCcTtg*k3odCrJX=)4Z5TI?]/o4BfI"E"SN_tB4/9Cm$e;l3UUm5G53l._ 117.1215 - )VZir_nSa'0FJ;Tqo6'#n\5b15Io=D&;%`#XM<c0TaD#adb$"b2ScYVZEk!+b3?[he<M7/^ 117.1216 - _?bmUb'CsPX$]O4`MOM9&m]kU9Tp8Z(p$^/).)iVnqF<VYd@0WTFjBN'^b[4tI8W"0k-:ZT 117.1217 - $%`6eI#YlkV[9(I"f'5.[FU3m`^o0o2VE[M2=c9I.,Y*'^eOM!ODd6W_,E$Gaj*`:5e!gJB 117.1218 - ><h7j=MLf25\S0CC@O/>RP7)HZ)g:9>?PsjZ^6NgW5")(%MX2%+[6VD@)C?7g(84.q4#H2_ 117.1219 - L5h?,!Bh"2+#"W:+6rKb,$pV<+7+>(rPRkJb5p+!pKUcc`XE-"qDo3P1^76"RZb)a.egK-K 117.1220 - />Ps-Zs^"/$o11N7d,TG;t:84MA7Bc^I1.S4B]EU;i'sA2L)@@C\J)38A@e2`(S%i6N5#e! 117.1221 - &'Rb7DS\m1M&'\<e(="^>*):oTZ]k@DF]&_c,4-;3XOac9\I"_o-C6ZlP@CEC9pAa\a\4e1 117.1222 - AX\F$?B:6'@p'fDn&CT83>lb$qXrb_&=IK+R"5]1B@;>cA!5p^+8\$TmOg["$-gL)^Vl#]" 117.1223 - #gKW,Dg`3g/59&Mm*Ya7iU]WXC*/Ej>VlAlrj+33`GVrV*Gkop@S_9=1A#IMC6LpOs7,re: 117.1224 - sa[Em;K+^a`P=@&j7QX&VA(aG9dL<,c)e5rNC(Lb<OeID8+cs"'UgC,WI[i^,$S73lJ\@N+ 117.1225 - 8@lqaaP;J<1lRqaR@rm(YV;N>CaZu]oV!^",&$0f!rYH-d>.YNMHI\hJ<!4]VTJJOO)3m\X 117.1226 - O^,(s3?#Db\HOf)48PtGeo9I.MBK[e=Xm*lRGJZ8F2#+Ef(/3OrJL?6`f'37'eRdKMS:0`N 117.1227 - Y(SkqJ4Y^JB*/1W";A,*Y;Cp*rbO&Y-t,ZIfj"P<mF5ct*TfV$K5#".lSN[e.d&":$tTEO: 117.1228 - SGN,t'pjR7nN;pFi#c]j'?>7M<'LPV2oPf2ZZ^lM:u6-oIf(_%EZLp,+BWR6VY'ZCss%-aC 117.1229 - SlHm?9dMjc9/?D`3=K^0CR=+PCFPEr$H7)CBbuA(H>pcK.:!r;N$TXk'1Ji_beASkZ%!iYF 117.1230 - XT-7Ta%spa:"X,Rkc#P07N?B;#jfur;16]rk"=:G+HVIZ41-A%^&pX20MOV7C6;C_0df[#& 117.1231 - X<e<m):u28'HYp<2EBkPtWeE1X*0n`^C$%U^,9raXCgs.!Wb5.#4c7OpikjLP$!CqnZ9HT# 117.1232 - dVM:(k^[N$'Rb_C;!o:!FZ6RZ*+BNNYIX(A(HD//;#]oT#J&b+aYI!/8teo2YRJdSd6rAPc 117.1233 - 9Gc.1WdLfJ;J,eg<Z.f`R#&8Xkg&q3agGc'ugb$<oMeTs*\1tP`U,\9U\NDWdI!`\iDfJ7R 117.1234 - $&<=+\%ok_Mbh:C$PXNK@;i$?;KohD#`3<,1rm=PuYf.M7j[k8=Ut.r<b92SAOJ1$oL:B:% 117.1235 - ei8Uk=RB.r7+hGf#pjMf2/q2-kh2MeLkV;MU?YfkG7\>1=k[@eSYN%'@G-U.dV@2soq`u5J 117.1236 - .Q[Hg9<Zm`N7e7>MA2<&7pIIort4QKS\`Dbe,g\%91^p#YCdkYJ\)3m%hCTL"FD$b"[6;]s 117.1237 - osP*)iMc0D1qCj<)83'A0i"<j7\?a>=73S/I<W>7fe!3l0<o7P:g:a+Z(j.Hj[ka.qalgu: 117.1238 - K!-&l&U@p9N\=cLb%`N!313a2d<h/XZC+GsA\;c*[.\iaQ89[6]b4KklMgl2D57)iAO;F3G 117.1239 - LYi)Uq^nojJFktjO32OV\'QRK(hVJ.Dg(ZurHq)_9/MTX2hO6I[p$\Z5K?,&->pZ_ReP9Ha 117.1240 - 5i#H5U93#(FnhPFfSJn:fO`de6.sdfRF*nSb8#q4fhC5h^>Ku.PpD2jV;EtC`OOt#g2Q63X 117.1241 - =.42MI(s$^.%i*"pi(($.iJL8gV[;h9<LN$mV&,i?Bc"NP8a_UZ"r]UXf(sEWfa((u_19?_ 117.1242 - t&jba20)ZsBoiT%J')rZIg>-!OYTRYD7WFT\Zc!meJ\5GdASXp0uQHf0/3@R]ln=Et.5:4U 117.1243 - \#@cf=Qk[fE$6Xcpqik9_B._,``21o3giqQB%5SQgIo4'6qiAN`k%?Y,$aOq=k+BB=hnb;" 117.1244 - 65ia)'iP!oQb[XqU*ad"A&j9?XAc:H8k8R*#JnrOtjDJAdZ,/+@ff<[)hBihp1Z;A$f,dOq 117.1245 - 77^)EULc1WA%l"*L02gB5\6):j;qLd_)p^;M;P_Iaai4.H:64qo]29n?hE>XKf*2DWT-Yq? 117.1246 - qpc57VEQQp<rp#?0.Yi4hAtJ>is%*jPFP.>mob+DB;PSk9b956igkrFIa1Ok@Sq!AmL4@ft 117.1247 - ^WqNNQ[4VI>NT@\"8D6>_2(hJhE&.63t/gSnf)r?0(FBFe]QAJTM"reG)tL/2E$\NgLTTF0 117.1248 - o&NG-KIk;J-1#*?9rFgeH4kr+R+p313dQ&_/U#^1McHj1&PCPGARl*d)G\:!PgnR=*L<G$' 117.1249 - dSr$k*M;iE(0Pl9V"BK-IjD"mVAEILg@kqe:E9>u&BX$`Ui-0q6;$NsrBg.OWW&b+_3bmSM 117.1250 - #,$*nTa$5_EJ>6glW\]Km]Yj,l%D$,"?s#E=F19TP&&-]lMeAJ3/E1E=p!isB[2V'(:%]CZ 117.1251 - g118kl.OIL<-Y1Oq'[WlJA]12R)KgZKu22CM(%k@63c#\neaeCY$48f"^OZ_/(IBlpf7d?F 117.1252 - 1BKQ#)c?NTQQ5DO=khHWsM*;'qnGY^[8KHj=n?mO$t3.s6WcCun]JLik@`d"g4BULs-BaL/ 117.1253 - fuW/0X8DUGRoj62\<#ifTam&'9"in!/X54]#BlL,d,=4XF4GZP*r=)E,un$]H:!=%p.NpGn 117.1254 - 6#5DG>8F(3Hk_<Je#%k(-n6?8I"R?!gL1#i+Y-;`f_1Lgm&8oPU[g_cU/P-"JaUmb+QMPO7 117.1255 - #jC.COCnTMVZ-&a!045s%Y"_&7fVsas6sq/E/,%q`sH\!$?3DVO?tB]%h8(AM`k*%.Xb2Qm 117.1256 - =rj6g)i-X6^ulf-?%]WLJ*$)LJ57e%e=9ir(F8G%",^Er/q>[^C0tA0L0`M<E]ebE6U"5jW 117.1257 - :Dd.X8[.p2btBlDBHqj$Jbi`beO>LDY:A(l)q:&FakhCMo*sG`Qi`kk&!<#E,a"rtYnV`9R 117.1258 - @mLQ<DEcjGSQ'a;V$lfeIia!(*l;:'4kWUC@XO$7Kr^iTN@Li5TJT0eWO\*XC0#j4[;Ip<I 117.1259 - B96?3!M'ko6^Ir[gYOp\bE+^0_q#Tl\;KcH1D8:lQCs'GGR;uOknn^<9pF'W\D2<'0OHfk' 117.1260 - $M`LZE-$k/G7(cLD.(,h8Bio/;jO9<LH>!dD'WaSY,:pXI]#l"p^T3tCB%>*-X@3PJIXlLm 117.1261 - 5DZHk1&k6ZA>E1#QJ<"#8$P0HtF1,ppZ1S.;VQ`Q0fp1n%XAn+,:=ZOU`akDnfh=k.^-\L' 117.1262 - XE,G_V4QQXt15@<)m;H*T#B/^7VkOEQL8)#%c:O!ZnlYJ[8"G:8;I!PX1Sd;l'N;bnu3U\` 117.1263 - J2;k-_m=XSV'<7r*W44D9Ie(m4aJH>McE[Oq8/t]E>T(hj$c&P#O(oOhPpUC\$<GMgBM"d8 117.1264 - "cHc6(*/LM!ESeQWR9a?YS,=YNV9[3mkIDB^`=:_E%Bm?Vhn'0_]E#.K#a^<np98M4JpEfZ 117.1265 - q6.\a"cE-$&]6I9-?_gjYFo17LV:0kG1Y*M:U>J$Tm,[^n]tVNa+&7?Y&R6k!3_UmO3I,He 117.1266 - VI9>Bg@IQ2b`ofM=e7[KW&O:Y0?li9(5X7IP8D@<lTR=r+ic0NNW\+GWH-)?i[CTM!qftG? 117.1267 - 4MtY\[)Hn`s(tVL8?7q>[0>Hq23T^YXCadf&&rLmW]RhTi@*:b)Ti^Yr#!A1?O6Gel_O,Wd 117.1268 - .[$].>\d@dR!)'"`-jA@oWH9Dd`XrH\[X$%sV$Hl>QV8OQ@0SQnTD+LZJ3B^e1fMZH1(6&b 117.1269 - U/IR[cUB'OKL/Uj0.S4ZS(m2b:n>XAI`q",JR]7dt8R0tN2]_;.h6r9=\,\-_4.?`IDS0:o 117.1270 - =1dSfrI;UjE*,4L(Cc/<@W>M_AiC`kaC/Bm4/Q!IQbU;A:Yb"%4T!K=F3i(jpGDljl>d!OA 117.1271 - lJa^fP7ZD`hQB^$3b;@4,0JD26u.ZG[*E[(QHJrEd:a*8CVFdh/c&u^8G&7fBd[-?+\:8]r 117.1272 - np-cQ'K[EmCi(1E?nFjQWX?RRF$<%s2mBbcFB#;9CH-r2cR6/+3GPDu_Am'M5qH"@.e(&B2 117.1273 - <GikBE2Ya`kD/ZS*>%3s%n\H\jDlPqb"NrnCaSdsg]'uc;O>o1KmN+EmHOfWC=`t?K;#KMg 117.1274 - CQQNksF>!2>0H*FT4pbHSQ+i+0m.J+I,PqR2&(CaTb,L%8L<E40Z@bed9HoV9E2p_t__<pr 117.1275 - !i)b@4YMDl',n@pYqQ0i(ie'u4jT>YrBJX@Zr&nI9Zo?>ZcCT27C4Ws:I)0Z@!L9]!GlN)2 117.1276 - U0.4hD`r<4\rLb[7*sBNHINc]2"VL"ZfXP?!#SlN*brm1a=^9:%0oKPV7k]d%dU5@[sAjDq 117.1277 - 0*,6]+$iX2rW8X!B*SF`rR,;duc"W+^!0WkGCd&ITk&3f@IA;_#7fUW>cNM^Z"@7r0Er^#6 117.1278 - oKK1tYH<`dQ=IG^CYrI<`B%L%E^Z/?]G8/9"mQs+-^HAGYf2;AP=<[,nN=Qq]jA5,_9R]7f 117.1279 - ;Jk]r*fZ^(Pg?KA5[G-j-]YiM8e\n1eLc*Edj/Oue&D`3j-Ac&BA`]1PCQ(tM@%'iUV<OFb 117.1280 - ?U;W[.f@c&XUQ(91^tHIV]iF4.+lP(`E(eRXo>l;`q:t7[FEr#glk`;drAFUql]=u]%*Wnn 117.1281 - [bo_WA#lK]%Z_JfW'e!c&&lVV]n]qToJ)8b+W0R$<IqW-60USqP8L['oArj/mF38CW@QOk+ 117.1282 - Jd<N_PO&l[,paa(<rtSZcnbpDqLiK4+gcXhRSdPS(_^Hm_I_nE:rLJ_dtJ%F6HY4LrQ^r2# 117.1283 - t-H&N9"KW+h/p#n+N!gV.^<Ypk,H:S!6eabk=O#g%i7s4Y,T<IVtl44)p^?UqKpskU+UJ]$ 117.1284 - F]!^QJV,Y"5Chdsr5Bn1Ni.8^^-LFhRkT^8h_e<s_79c=)-LmI3/hO8OM)&NSn.mP@+`CJ> 117.1285 - 1*iaoRD^dg_RPU_'*S/4WVeJD@#cDi(9UH_2I,]IJ!,S;a9(EL.PEd[6fX!gd5(KL0hs2e= 117.1286 - KN=t`*#O3nB.O#I!-Y/6>tr)&J_fH6)%=,@cSFB&EY+YO*\s)OM2_MG>f'C`,gr8aMYp47h 117.1287 - ^[U5\LT=oL)6/P+8UF>)k/5a7@f$?\:j$nS1Zf=Y/q^af^,)nc"Tu7VGL.Sq(FH\%lJ;!ZM 117.1288 - OTDGX39aa%/Bh:**!0NqRO=_ruRg\QQ#E\N[K%%O#M/S3usWk&fX0jbe-N9RcYP$!J](mI] 117.1289 - <:20)cVkZ,.'J(BNc1OQ6N?[F6_2N@X(G->kJVg0p6thl7],>NKkCiAs;pK\>(q<iqngp-' 117.1290 - _I,@ui('Y1<g_tu@h?bJRcCLKRL_;GT;ee2BO#nX-6@")=h*a0<>(g8)/%/P2`]>tl'qrI8 117.1291 - =g(J4_[>6V+5,kR;$hNjQWKtFO!`$`jXWu0lrTcc*9mLaJW`X6"#?3HB1pD(BW\gWAPf8$B 117.1292 - \7<:3*CQPmXNF+f$DPX\,QZoJ2/#CG'/J01DpYnuhco;,CfX6Nek];0fht(+Nad<).5V(Y` 117.1293 - 4=]\%@li5:c2O@%bCrH-P0ZCdk<8=4CAO4/uE<jNk^%g5e1[SFtJ>:jFQSG+XWjVZQ8QW]W 117.1294 - r7]eR+,"NIc>-09nXqQ,l;5C<MlfE>Y`Yog[3p^9jnHPYp"eM'T@-G\*(9n&*`KLV<A#Uo[ 117.1295 - V"S9[>hbc=WG-I<FMU>5=ZoJ*)gJ8,b+5:WHNbkr%Cu4m4V7_T!l.XQ&#&]q*;NZ8mj7Ko6 117.1296 - L6B1"]cuN^_j-8IL\<TB/86s7YhlceO]PiC$d&O@WDO\gH6Ejk&(_a[a^AiUB`R19]_d&`5 117.1297 - 7[m;Yd95K<b]ma^6SnM=F%a`Cdkh(FqLqkl^&t(_+p<fP!RH"`:Ns0*>Vq[;7O>Y/g7b$U^ 117.1298 - G9@W99BQr1l\A5`ScZ;Dhr=G4LqP:L\D?<PHK?Kdt!`*R/9rd[u#e%eOICLB53Vin(L5g6^ 117.1299 - ,cFrAR(TR0jR:P+7VJsjO;Yja7=+2gN1oqD&s!(bskfH6oI$GhN4_b?k1-B[,,nf-*MFTO@ 117.1300 - ]mJ1>,q>8Z.>LHJ\Na-%_dYDPM0%OQeQT.WC=;j75R&mgff4KFJg$kqV$,2N]F*m#JV:<A! 117.1301 - @rIq$KXVKVon//Y;S0[Qd(V"a[W"L7?#4I@d019G1kVE-SC`9VI$(c1k4n)R[S';:,>;9bu 117.1302 - ]6M._/clpOS1H<;>6]9A<FPcLKd])a</+o7#5lrC7]&\>AEAP6rPM[!*U!m+m:M$AG7sGY_ 117.1303 - meSMFWXrM\3#<5VR>*N<[_Oe(7qP&al'aletoek"/E!C7P+!$<lt>gJiEY&$V<.:hAri1f_ 117.1304 - D%>&C<(M*CEd<#:6@5`S\0DoIU(Z(Bb3;13D4'9)95#Kl,_E$AD")m<0X!d!/qojDU;Jq19 117.1305 - RT-Yn;`V2gDZ6usatE;QS(g#))rJAVLNt-!pHS-F"b.iLKfJ-<%4-)J8G+0=*,fYf\:c,0$ 117.1306 - dOO3ZVBeNAn,3E7i^dTp-D7/fO);K'^/!_;\r/*hRuFYoj4bMntm%?HmKg^lSJqSYUJALpQ 117.1307 - m.I4GERkalGJm*%;q&K6tHSm^;E'0RY=/(]QQ1EUM-JVB=0M^8P;Fa/o/FCrl:`\m@<&M/) 117.1308 - ):Z.!mDG0PL%7Q6]P$IN)TIt-l-,BRgj+nRn;R.2-5Hi8H?pA_>ss6p0kcj9\+$NFQ41P6Y 117.1309 - h!Se^B%0>r'!Y>kD@HJP\a>+q&*5Tl$:cSS24T]'Y*C811+ljUD_#pnh"V;q$%Rr0]qB$n) 117.1310 - "7T:p:hUfap`AD^1!f:f0PVV:TGe7$]k;F,6$O3,i;O:D(P<(uYYPJ-B*Bso"b]c.U&$SWT 117.1311 - *k(&W.F4gd'X5mTaU?!!?q=@E#T23bl;,6*'qLu+mL'Kd1#N\"7Y"b&4m#O:_fXR#S$^Y,\ 117.1312 - GD=Us%eS=JB>NJc7k#M%G93@Vc,Y.%(ZcK%"UVas>sjc&BZZ32<RBARW+\Dh,^.7ha4%0df 117.1313 - HBcCF`?Y!'\J_1EAD-bqG)8hP$WqiPG*EG62a<qXPJ3ACX_d0UB-$MLZ@i(4d*6FRP#C@Wr 117.1314 - iFWu/FVc+61MF5cN6Ao[p/<&eF*>EFVj)I790i0G6<>*>5N39$kb"V*JD&i)m09<dX!o3]* 117.1315 - `ZJb-r2n9BmF%n.e7gD$'e@ZRD<UAFd(I79cB7oEdJG&%i%^p3#_7aSEZ$"!<mRNbck79?O 117.1316 - sj==S.U;h1!@<UE]G58bS[%21"#S;Y3-'_=!CN_,-k,kdP*E&dMu.V-7Mt8!H&\5*@?>U-; 117.1317 - mhfOoR5B"XS2?-XfCGi(c$NC'm5&-W3Mai2%VJo-[64i"'ce7Xh+FXp^9t.qaBlU5^[@&BV 117.1318 - 1@d4^<\O]re7R#H(.q2r*>P.]t;0cGZ;g/>"%YDgCp6H"si*A[:@EqqA`$Pro3.^IAMiKbH 117.1319 - ,QQ]9>0d/P3DL.EM<@d-n(Bg'Vd_ROAMUq@<KHViY/8m4`2&`V]_=KuJZJ*uQ/2&d?0QQCJ 117.1320 - UCd:_mi9dS2DY(KDZni*^,,2p*_sm"Nm?HUdV4k7-o.$PEdBI'Ij];lJto1u&ecF0KfSSS+ 117.1321 - p/u7'9P<g=X,.1,BKtK?kjpW68>g!3j.*Q+TN&\K0#3[+EB+s!uWEVdlJ+]-Ltq8o>N\a(H 117.1322 - D$M]b6)KUEM(Mo-H/[.DRYc5ro*U2_%[X3eQjR&],0Zn1TP//u@!A:Q%)m*u`#)4RIqSY7` 117.1323 - !H-9Ul&EM?\bMB=EK:,%nW6IAFX@bjE2d4do2/J0Hd;-lZ]o/9Qf7l5?Adf;G9(5tZ6-<)$ 117.1324 - >FAdI;Y=Pjn7>F\k'K.C>3Zn!!(">QqoL:-K9(PnR0D(AYnK9L7UIG<T4S35>1L0f6G>.I, 117.1325 - 2MDSK9<TB#68XYC2eLA6$bC%N_a!^:*\.m`bL]Mtd3.He3O20f^_-Yk.68-<1%WdSOs`D51 117.1326 - u5PW3YT1P8t@=q/chU`*4'%E[21r'8Q!AE4k1cU_f7jb)^c?u,r=mB;t3h-#=!6g.2>bJPQ 117.1327 - NseT0%UI$m<GR%g,N2lNRC\4-XI[&S"nmNEGk8jOANZ-Z)rf\P0Ci=d>fDPgjGhDb\Ku:(G 117.1328 - ?qZ0Jr`mU1V$)W@h:_&<ona^!B>>kQWQ2;)7Mh-G0\>bUp7!Uqh[ar!Eu?5<-=[J*ubr#4N 117.1329 - \'I+e@5u8:2qd6%;&&A)J?r."-M@e_W@.hY]iG'.'+rVUO&p>R.ei-s0cl"!i0u=,8Fus&s 117.1330 - 9k0Jb!jF:3[DQ6m:LN-$&])g36'SCX0k46kB/WV"G!BL^)BU-`*`bpHG)'>kk5M+pB_I?s< 117.1331 - ek"(l7o^8?T+<eG)9J,gbHXT'u=0iG,o8!ZF$AIB(icC!C@m)'j$:12RTE"_,Y?FT5F&P't 117.1332 - *:?j-*SfMf!Y-D`76uop9T/hATGq#Zh-f_)6,jKj"WNDq>]RFfKqVY3[dZgonstFh7N-IrS 117.1333 - s5;ZI^?2`Med4`_E)7kaQT^t!P#f6$aR0i7ekf%"miQ3[.l/mouKG=i<1NHX??DU`TIf6MS 117.1334 - LI"F9RGNP%u(Pj\d$3;9SGr@,fUIT:naLP<GGZU]@[i1Hs+#c,)*b-*N7pua8<DJgoH=HLN 117.1335 - GK;CE3ILQ$)HXn+A!:=drH;7S',TbYK(jD)]cEI'?Qj-5AP$=':_6_/<eDW@=1s)C%=n3bG 117.1336 - @Z#XY?ui,oN$JGJgB[b3%,7r/U]*?H0h_\3$!XM[<emQ9od#R'6Gug\=L,:4*SM]pcKt?[t 117.1337 - WjI!4ZPTfP-&LCbXEI'`^CPAa>*1M13a\Ii*Q0"%i[*N,<e`!)W4l!C)FEn/c'OJ=)+LGc? 117.1338 - RqQZtKk;olUgQ+R:/@M-H&N&+[j9s92:Z]+'_KED"I;fRJWZVEk*K^M9_,IN5Mcll'5&#AO 117.1339 - lGkl<Gmu#]Y#l+X>91t-9%>D<BqtU.d@)nD>\3(RgL#BBU=XeX"8M9C+GBk!gGr_(_NJeZ: 117.1340 - 7lE+8Goeiqp]+]ePp&qg@I9>Ss)AoDQ6sq;=0*Lr7nr<T1)U?+fm/ppH^1;k7@<J&iD#]:e 117.1341 - i["]Q<2%;JWp3RS1]'i#iXI*GlNmcKpb>;M4m.uVUP]N]FObRK*(S#=g=L-c&.oTSE+&qg" 117.1342 - DjK8mofQ%&&<FH'0Sd@@^Qj?[6@=3H&+^EpUf\Kp\q[3XLr,Xe>0'#<DBt3@l9Ag`6C6U*+ 117.1343 - $AH5hh=X`^?UFE8+jH9%b34eqj>UcLr?H:apD9r.V_V)hVQH<I)U?)@C+VE/"1J7kG+h1C/ 117.1344 - 4&fPj43d<'`ae=$3W&K3s,#)q4T;GeSWB-<DHC:bDSZ2IZW]H?#H>T.%)63Gd)k+1+fZ<?e 117.1345 - '<#*M;Ao0]=P6mp,?n=9Bt9"Y)A@rf*X@#MFS(Qo25cU1l3n4\*5WMc3B<hnTm\u&YWE#mH 117.1346 - O6pg%C#^AYr`]*HPs*#(PY0^$/6^?HRL_^J$,7qZSe/LJiqU'*OGW/Zo^^`HV(TV9sjbs!' 117.1347 - =2`!-T#;?'lMuZWgs0qSk+lh/X?)bk$0&g'*Gn6+?[F"Ik&`>D]e1cWC12\K^4)^`XF4SWl 117.1348 - 25./O%Q)l^E\Xh+D7]0!F-?qn8C!"`68+^6V0gW@+5e$FWFZeMt&HeH*Eh7`^EYlHGkGUs= 117.1349 - YIMr8([QDaKA6$(4\$l%9XV\?[Rb*VtOpO2O!dk_Vg\CYu6]'e<(*"WAJ7FN]cajVfD'GYT 117.1350 - _9&&!4i@1``&pK,HqD8h9uQs,`B7/>Hs+G$?,c_M`]RhPHtgS[\$P!'`uo`LGA\87TtGala 117.1351 - ?5.Cqp6L:hoP_2aZPj1I$r*hS]Uf'aulNB5eY=P5QI=Y"['2<H7C)MouMNr3?.lGquMf4"c 117.1352 - `eX^prjSi8:c/EWGo9'`>h+>80&j,L6(C"2*Zd)l(\gL_AMEYkoTBf&LXWo>hpMd6/2iI#H 117.1353 - B^(WX,u[6Ocuh'`qb/WesdbP`I1@i<L"U!1&e:,TSkGe9/j0@]qF[6Y8PI5lg@l8Y3>_*B> 117.1354 - "@*dE7c-O(,1'"`6HNFDBI?]'>7[Yt&feqAENS*PQJSFY*]oXsdC_9kQ"F[,Yn*+Ng!Rk>D 117.1355 - gEQC@_N31arR>%oTK+tJh8uq4)@U0ngIH!R`*OBGh"S9Q%3=QcJUQ,I1=2TA0c>KCSbR&HF 117.1356 - p#Y$>X>MII1b@#%H-J&dCp/F>?G`dAcc+^a1BaRqRZP@c/F++gOcW1]5`i/8).6+F2?&,!0 117.1357 - -'Q1#iH?h1SfHIT_onZfV*FW#]m>!r<TPCei]e!LiEmIX!]Z#M=$)fY2(`IY`2S($MBK^?" 117.1358 - [e)^Ga@g(dm%1**Xa*Y%.84u6@=XSMlTSjAR5*UES5Gk-XnqIg68c/el&<ZY4/=%3N<gb)t 117.1359 - dmQ#jESaR*c1$p/ZDLTW_1Ct7LrPAi4kS.loT(2<b$u+RZnG_2M!p?GNmLhR**@W/kZX9d5 117.1360 - &)CQn./l6B5.>R'8TNKN3P]F$^a&KbT:B7@C#7E&+cl;s,po=(O4kE4Io7GuiXm8Pjs-qb^ 117.1361 - MESYHr_=&m3.nmH,'pMCD.qXl@4<2h_HJ4b8ri1gb.!=.Zb%++-b^:q`ZD'AcPTBHi*d&%0 117.1362 - KiGT?6uhH8\/f,%)q!*c)N4\"(3Iqh.uDTB6'elpi.Mro9"6?hMKiRNN.9'Fk!EI_jp'Qdd 117.1363 - W*$%>1tYZLH,.2@b0it7[.DE/_u8)ki9&->EL(<PVMR8g=l/XK,m',d%[Bf1jC-PBS3O97X 117.1364 - &:WcWPXUYQtUJ7^%RT1u.9rCqT'cN?4W>M2VlP5K^2Rr"T<$Fog&73I)?s2d'RoQWED7<!) 117.1365 - 2]C*'l#41>mh_JDmeKX8hs4&H(&&#g_dW'PS5q9\NQ5Q")'"r<.@#gDo+c:PD_7O+BCm&f/ 117.1366 - rm<VdqEkBSQ;psXk.3):CE`E?P8/^T6m-Y3[#-fdj.<']UW3@j)OH9^/\DCbtW9=cT[K[W! 117.1367 - Vc?q](XJDn4]"<VbmZo;4(lo,g+1H242'de>@X&3#*b_qt9=l5(6HbjkK.5O\aH^PscP#6; 117.1368 - R/6k]_iE+Bmm61BL@bQ7(Z3=*Lk`#d<jXXd0U_smjs&O^?6@f@\`Z4M\u:"g6:TWoGfiM@, 117.1369 - 3C;q03_QHMOBZOg.,b]U;@`WPrM^(W.$%!sE:Kjo2am)]b.3tXHWc-&N4L39t;*;6>9C-0o 117.1370 - !hL&.b;2i`7+4"fF(/tm_P172HHp!$lT7kggtOtK&DT<TcZB<m5u;939WYCXlY;%r&Q0W>7 117.1371 - Hg71)(0;J#tlQl]e\`#@i[Uj'f?,;9".?BUJk(`78h.IjuTY7<U*NT/(SD_qcd'#_J(W!mA 117.1372 - 4l2:fA"4f[ogCMdol_7?]URl.\-VZnsPC6s3QbRm*l)2#h=FG3-<]=t74`73C#j)VuV(oP7 117.1373 - $r<3<i"#1nQ`PaD-;@s\6C_9[O8fB)j[]P>$f-Dk[Cju_MiRGNL^3+V/thpsr7Bihg!.g4K 117.1374 - S`T<"fGih)KA,-00Ag^W#;/dn,(.4*clG^)pAbh'iMWF$Q;O59YAK;Rm#aAah,]ohrR7P?3 117.1375 - MNo,!6@&XC^e:Uhi49u)2QKE;/ZU.iVR',D)O1J_>WAUmYqe;UYDm@F7anb^HXf:&Uq&!BG 117.1376 - j\t"laq&Q%eI-^=^nS$DgVcl2WfiKCmJ]C`)qHCk`1'&h.\d$_+^Yk.W+b?+"hEN#+m9h6! 117.1377 - C!nM%nbg3R\6s7mAcpq*r9PFm>"0Sa?<1CYO%2`n@hsRu_XJ-G/Pe^\@^TMXBni-Oc:1&RQ 117.1378 - 9m>s*ReG&gnEeKl$85kqI.-'u6t/\"@7nGqGhF7X^m6T]h!M20#0QCia6K"kYd5LsG[GO,2 117.1379 - OrK;<l^UO:E?k`]2%dX0WfEhOa#s*<M-3lg,hXUXKasBh;ILs@5MaugS6k2JF0%_:?cPlp9 117.1380 - :m@N1#Z+aD6n9OUhA7Z_6OZUdpJp3,QB"LT^&VRf8jOS=6hk2D?b;#A0a6H!dRsQ!1eW[f2 117.1381 - CB;S%0@`#[t/(U#/rR,(.c@VJqU!/6%TlO)<-d)-OHH9=L:Sia]B2H[I9\qZO$rmoIXfgH\ 117.1382 - sfP6k.S=C([=-&\#>&P&aAFjVW%C.1cWX;!O1*r9Zm2P7_>HH\hlg,tU*O-=kUlMC;Y&\-T 117.1383 - *+,.sP4O:!U3,!Q6jd1'`+2DQ!J-S/-eZ^-aG`PLI5#ULo%4><FA&bt:/%Y8g>o+Vp5E_?b 117.1384 - X7([oGl8FN?<=$b-AjF:b:!IfA(ron9+EM@AbemR/+IoC#%*D1m#qn;O<9p*7N_Z\Og=2r) 117.1385 - !0hQEHTC=cU.KI,H.',2'_N$)b\XeU;r!GF''p/X:^`tMi'Irh+[M[32'f*&?P-dX0;FXjH 117.1386 - K;Iq&l9`B727&A8Skpfan85.<9Kf/Wg?W[@&<%70k:sCHIGK*aCiXD;.K9i;t;"Ib+/Q8;c 117.1387 - L_48#]6S*=+7e_E&5%3CBfFCmWM;X&6g$9,caj("IC<ea[KYC71'O;0K4Hg0%:R4_q0b[0T 117.1388 - \lgq0Pk*j.BND:>o4\S:_%W%tl^b7Q*R//5Okmn(U?MT5V@=aM0t1c8D)$"Q:9PE$C2Tplo 117.1389 - %)Tp8]O>O>(1f:GX_&08\KFE63HRrU+/EBol!0S'Y>Q>s*BhXhigKT#DC+Fnj[O!A'=e^#R 117.1390 - Nt"m8Q-F/MRujX#`;?I>rXC:Z@pu&/8Z*4c2Fc-h,6q3l!Yd%*%-t`M?qJucpMc:K>L?L?& 117.1391 - U(R(V.<:CRRp,*n@ha(g0VD]IW*VX[qd>e>4Q3KmKHZ>EX(Nl7Bp,Oh@!$//XtPIRYr56Ne 117.1392 - =f5>hr"YChVKJ\:s3-&L$b%6p;h0(mbFgOm.a8m+\f(W&ir9:0VXOaeMd.SWqoFHuZjn0GP 117.1393 - AWiuEW3EY0h:Wtub@EbB>.'JL`9_'YAYR/ZM36ct4G#86WHKPl3)BCVDSfScdL:Jj>26LQ] 117.1394 - 39[H@<0KI:WL@l/L(^b>G=jE0L2O;!fZ"+;E.9Z'P><I5OCK>Z+RMPj4<HFe+.59.;QA^m< 117.1395 - 23!LJm!osL6YUWWQ0r&ZEB$R?@73=X1BfG%=EMF2&T!-ZXs"lJ@>bF$@6_i\j+jFr*=VmdX 117.1396 - ,;(G<@@)[eT,<+M>dXd=RcH&m<,^X<Gp1k'4D*)LeJ/ffd0^%S_7*1V7'^b4'HD)l--MPE1 117.1397 - F,]3*Lp^lo%EGWK/'h["41Li,Dr`gfZnSHVEui_I^*n(?&JI&FJ[U[Gn,8=uRIc*X_XVA0J 117.1398 - \b#D[9ogTsj$$'7SdQISlW7nHCj^oqnZD6>&'9`En,fKamFV\c9*+rSm0_!o(BRqI[>CZ^p 117.1399 - V!Efs?28nAr<s1gd?,nck6SCe/4Vj0;/S367IfiU@<1h\>(/)5XB^-RA@o+eCep>hKi^sTX 117.1400 - ohr"eH$jZc,cVb5%C:X(D@5]X[)I&P5sI4!IH`.eQI9)!<\fMq;#q3B'JZUQaCfBe&H$J^E 117.1401 - *;0j7uJS.A&gHg-qRTdKI,G/95_$ge9_nIo0$7pE8N,.I1uMDWX$`[D`&Go9=)ue*1b`rdY 117.1402 - BMNa7Oi1]CuV1agjn$\iG)Sd]Lpt2PH`3A.",'AS`H05U<S*fe79\[IV?#do=4Qq&_<Tp2r 117.1403 - =>,<f7?HBZ,,ToYlDT9o./01rF_!?D&KHhP(362CPC:\P!=\RiANQVj?LSXk_@%iEe$*!$' 117.1404 - 3!\?<J5Wee)3(UhgWrQ*(&tped$j;CPmhRGJM4=sH"7e^I%RB9?5=o+qbKd^*Qba9d5E$+= 117.1405 - 8=.)iNk`2G3E+eLg3C6NX0=;/P,Ke!W(A3FI]R4+_,1`@3i`7N+rGDE#c%fn,SNHonMk#DV 117.1406 - P>6M4=NUbAAJ:O6<K+3_ph"ej$?'_6M`9m&MCHF/@dfj];&1_@rj?@?+p^!%bW"[.=2)Q.7 117.1407 - 4+=JeU=*+KZg6-c>6^KK)jt$Sqt==@=Z$4gZK"r%/4c7@l=F_mDs&M*8_\<CCXmWa%.t/2' 117.1408 - DU0L94([feKKRclua1T+IW$G1*a3)IRsV&pf^"4UF4"ATL.%E5D37C]CNb[!<2[mWm^7*)1 117.1409 - B\`-#)=iN"&&j/c$9M7hTO?%rS]2?=)A7NKH:Hu(8[-RWYi<VNV?+@gX6dWrB81d=O#m^:% 117.1410 - #/WGkR-bi[GfKYcJ1Pq*e+puT&B8+I7M4Ot,]uW4ILpm;\0QD,g57s7E2JGp'm$`(9MNRo% 117.1411 - S!N8`k-3#9Jeb4$qB;eQn&u*XB,N=N_!R0[t&&1EiX_4Op0'n5id5X]RYj7Hm1[#]jrP4oU 117.1412 - /:<s$uk(2.0,"bah>PABF&V6u7F2e5V8"qmXJqPOt;09SWo71;2H[73aJ*QmYLnP/Ed&b"0 117.1413 - lI#Z=5*X["!>%rc5K9U*JsQ,(>D^sn^Co@D(&[S(;a8[-1V=M7+:l\`<6#m@i53Y]^ufunI 117.1414 - ?bE.XuFGWF)1;T2bL1J4bE(hM'gkD9=9CU+CFKPr&),-uLbe,1D*+_c)KM:A'8(>US%+,K* 117.1415 - \3#'m.7BfPo-TMS0oo_,YT!QtP\;*PBh]Po9E9uE'Ac?6hoK5P"o;_[:pUNtgC.hXba9_P9 117.1416 - BO&ibt%sM$?VT)bg9*9l;":j9dms)^q7Y)?\p>-Lr:2<,bn(tffNEl::%f4d#(QIVp$\ia4 117.1417 - thjiMH_\qE@%6$qkpJFHJSV28te5c>0<%;lNS*oM1qRcohL=I-_8,LJ1,A:jO)d,h1+aQHo 117.1418 - q1Jnml4TiNSpJM94W`f0N99;PE\JiPV^c.r%cN.rF)>!+KiSD`K4>nII[L]Bj_2C"[oFWEq 117.1419 - '!#2g(M!Z:T]`V-&,#ThU:g$'2r,5$?JNs8;aB^#KjUqh2S3ncubTdJ.o'*pMIMbU7;Yut: 117.1420 - jQ4gGW.st$2BeqIkZ:6E*g@rnLtt"\XWc.>3`Du8;F*QHM".?imYN+RbIRr,Kf_/7.>Ra-/ 117.1421 - *)Q'N;(GVL'@s\!Q@S6D+R\DWl-;f.^62Y]UjjOIT()U$&(ChrD?F_4B35_e.kn<D*lQ[7# 117.1422 - I6e"#X1\NEFN2`^mJ)c2/&,$=uiC</Hu4ebH6I%:N0hDb0Os<To[t%:iLEd8_c1#h;mTHPk 117.1423 - :;h$qM-<G8>2,=+nW`)X1?L"1,C/TD(G4'%H2;s42^eTD+>G"JN?f.`1b<HqT8L/rGC#T[U 117.1424 - 1])5U&EYN7B#Ljead%o7B-n$&mdc?h6qAhs#<`dY60(>$UoncdeXB0h*#T\1m]o>F6HWSaF 117.1425 - f\5+^j>,?`%9O1;=<s892(^MqKLq?ULW'PP!1(U&%F:\4=Z&sR3Jjq^R0`bMg$PFtoo@Y;O 117.1426 - 4jrPfb$]rF_jt"_ceoA5!2i!%-#pINEQ4X>.a@Z*I:m@X=ISP/)3t@bV[DCKA,_!63XAk]r 117.1427 - P@#[QA?.=.QKuC7JK+.lgV"&7oc<=@EEb70F038EIV@otXfQ_-AS-gc`MZ5\:6dAhTNtLJ> 117.1428 - Zk:!$Y"b$7BVLCe_9&?#f#FbZI0gmuVo%FA>sHjASW$@lH<#[Z<bem0$AKFgf]J4p<;:^3: 117.1429 - `?%(L6Fi4H&D,XQ9>M[$Le^<3t_1j(Q"sBiLJ:%TUia-K\>fFqpIEl*jiER,IL$N#K9nuqY 117.1430 - \R+T`gO4<NNUJRFe(NHH=6Z6CeLXGV/\$$;K[:<]W(I&lq-TuohlZf`^&;<Gra3qL"Sc\ap 117.1431 - o"D$Fp>AS?p4JH7K24>rJ!RY#!f*j?u1O/"^nJ;?sX7KW-F*=G`%#;L+kpO[LD*.&HVB"Ja 117.1432 - fXj?rhkk&RfPi?e@1=eCP%epYUuIi>rtH:e6=S8;_q;LQHN7Fr]JSs'U!U$@W:hVBTB=%tk 117.1433 - tig!R$,iZhi.ceddRik''b!Sl\.cX.G=.$_@[2>&`d'[>roiN=>6:(,ta!=F8W?oB=j*][T 117.1434 - 1,@HN<j&S2!^('#aVrDSVA,Z5^2A?La'k(]6j9>NkNZ!_/1h8d?@)a5GkbmD=+QRu>A#9Lk 117.1435 - [O#FL-K9:Kbs9/Ni-0q6;$Nsr?r/lg!'4[>;$N\9L7lYC&93F>qW3fI%/qjeYX=.16f7BUL 117.1436 - U(iTAm^=!s(0hMLr_1PTIsXg<97FbATh/ap+'VOC,EXV$:[m(-<"JF<FocUAWBpTY$'l+$] 117.1437 - E#7AbKL<DIMZ[?=lZ<AnGrCITML-04q5/gAGbQIAOD)Q+&hdjDI*D%KBpM!T5S'jL+gDXs@ 117.1438 - MkKP2,!j5(;T#(u+L6"*M'kair.:oWX_N+'FkiV"C-mXXLtVd`CEAF!<'d&#RV=(Fd1%%^^ 117.1439 - [k$`tZDhZ2CMr'hZFiB)Hs(S-2$#ZABp77#bM<7>]B#r*VRg'"gB*=kfL&(7RL8X<sWbS-+ 117.1440 - C6kr9Y,m="C5!e0lFsB9%^9^iXQojqLF?VhJ9(sgF)*,-CG*,4I]<VAGZH5jL1kZ5DRXE<\ 117.1441 - Ei:W#Io2;^.iD:_JAS@KNMdg=K1RtVee9%CbD`&k-#,R4bae:m"W`"NU,n2[VUIh#*;S<?> 117.1442 - GChQ>(McN0]uiesYd*Ru>kIMe8OEm[EDFRd(X-C*n\mY+o_sd7p&69rT?\^jCq5C2PBY"%M 117.1443 - ;<7cWo3k&+MgDF)I5Gc-9mAI!tQmV_-(cKoH*l_o>_$@qIJ7dKLam;F?67=]4@=@rf.o5AO 117.1444 - ;ms&RT&93Sp3.m$&mrn,;L?jnT@#B!ELXuBB%fL92*!_TmB>fVR7Aa$gH<sEm#C(V,T*XqA 117.1445 - $#m'TE5)_KcO4^=I#$`_ML#_ek6u=e&of!,E7Y\WfRAV.W,UsJnNRZV7i?<-$Ab40$;SAA^ 117.1446 - DLtJ)=cX/LQHoQ0W>;EI0ZAdE^(W7d!CJukmEIVE^q$gL!nd:Vhg.XnqSc:89aT*((,O-E2 117.1447 - Dc+<g5G\PmOm4B4+*fTSmF-Q>.8YA[ZSi\;tKO[r\4MA)70%BU.^ss(HqAD,/W8`W]rkaD+ 117.1448 - WWj=ZR'(6&Zf7,s;Z@s3KAcA(R+VWg$2BQ+=Mn>?Ae?j!T%iPpc9-B%N1N8^(^hhP"defJK 117.1449 - W3+J%%"dglY&BpGT:CG3!hqhja:l=jUhXb^-o7d#%Y`JC[[WWdno>U\"d$8\7LZ%=M@).\B 117.1450 - %mfALa60E-E%'k&a)(J%!VY,_p?-@<%rc_7DMB9C#B6U^+EM`SEH_A+GAh_M@)6mIVf,(KG 117.1451 - JA@ra)KT@?j`:(#&ep7%t+-h>QWh95-V"3:gSA_Gk`Y0+^Vc<fPlV\L3TnWG3E+`W-*&Bo& 117.1452 - >Z#fbuP`<dn4iHXb$+@)k"/^G:YKF5Pk\&9hUl=."n@<bFo$l'>^ap/VI^R-G.Zl"<?+8gM 117.1453 - Sa9QWd&@uj'9O&Y)Q7uDIKqHb.`TVch?9OpXf$?&[]pS6c8:l:=/HEKd7:.B@rXl1%VoS6K 117.1454 - +(K^9fASi9Nq/-+VGm=)3Wr&HhH*.&;+HL/@rV>**q<lu4rSEKgCCku3Ge]"2:ORFGF:*M? 117.1455 - GdkY>7r7peW->_mI)!aVa*r7%-MRhiI"uZc2hVO!Kma3PpO@u0c\_TZbkGb/pt7t&6r;IJo 117.1456 - tsgZ_e5.eB9V6IPdEB7M5Rrrs5<N]Ef8ORhr^O:s.<Z\Du9RoLtCJ?StgT>A(KC\HN0pNYH 117.1457 - \Fam,MCPok3^Na/KDQWdbKfG&XAUcgtZW'BlklHNo$"fV`EGZJ`L(qKGL'G?B!M$?`(f#Qt 117.1458 - &0"+igHd!.r*&f""B@?B\h.O>ac7:OYh`(hBnLrNrPki=uZ+-K(HNjba;E8OnhV/(nrSZ*N 117.1459 - ^aC9'(bJlkR=r/Hjq?.7#6NBtse7K^JK1i(?C!\c-:#lBWXt#]OX^8D<Y#[('])>Wb`-5/= 117.1460 - .V1E)_/$4./2m@:_;P3s64ZS`c+<Rb^0AN"('W8'9d[2bG73gY\6N_*TckPAo+.&'f22g.p 117.1461 - ,WQ>E4th0N<Qk-[<6)gg3l@1jRAr1:E''3qdfZZ5;pj$`oh19g-9aVm8!t@"s.c,TE/sYLW 117.1462 - eh$H//CS8#=]"FaDkma(Mg7iQ`fL?N=(1`^0>]hLA%mJ"1KJkh>XKAj[*t;\8;K4GW58FhO 117.1463 - >ZHhql^l,l?iOQ[YGn=f&N'aCI18k+Y!aa#@KP-BTh8u;"a%1"(jPRR]/"qej`2(@InLQ7) 117.1464 - hk_hl>U)t'nd./\*+\*F2EKiql7$,CLEO8ddLO$DZNA<TNU:"o=R3p&(I%_t2;Oj^9b0mki 117.1465 - (mH2$67is^e?L^O;]7Crbg&271qle-p7T>W%,-BM0E_7S]BL"="@:/8&I;1ZFR9E%d)7LFc 117.1466 - DW:2&3ga=%h_:T6r=[fO`X_CVm2cn)UgFREui<)%"BD@E[st[Pd3g[UmQ3L=]X)'I:67/<J 117.1467 - +@P4q3E^g:$ClE8A"*rFXM<U#V0oKshGQAD(!hR:b.'I@0Ii%i`]*>1U9Tp/]FjYmdE`!F2 117.1468 - K>LI%;pV$NMrLSa4'A<>SYAG$2VE:!=FhGB(?GL-#p6Vh$T]fgf$Z/\Pt,Vd-TK]*^EK1oV 117.1469 - HFSLL<GS@tW[1YIJ<(V8Q3KE.Pr]uY,<ck`%4>QQFOl]_FbQlB+<P(Q02[.0@>fiE\FJ60I 117.1470 - -$Hp[IH,alQf[UjT\%bQHXG8j*J!B'(7*!KcOLP@7lY(t9k!nLN.U&8H68&%oefTHAU?Vg[ 117.1471 - -_(&Z!,7,\piPGXke8/[ak7d[NP8aMWJb\rrKq)>TX8T>#9@@_XUOC[C=nN^;#$41Q!p)Uf 117.1472 - jE<(Xc/q-)m\FU'VbcRbBEj,Z-m=KVi"CF+:*%m2UaXFGn&dY..eNL7oUX+0+Xf$7@jnYJL 117.1473 - st4?\Q0GPM\30o[ej?_Q][?D"4^WL5<L0DaP[d?`nR>I2DH4^m?5El`_aKm:D7?A\E4DaC& 117.1474 - k*Vr0_o[L+UgE?H"/^QfiU#h@pAkuR?Jp.]1h%4ee"^UX4F@7;2-\mLE+'B,),RNQV;c;9] 117.1475 - 94iO4ILng_7$JX1mVW/m\LXBKh+-252N%UP\&2CSTc>qEd,#a0Pd'u0$]0X8r4tAF9]OFA3 117.1476 - bX%D:I*>Z[tnheJd;)W+il(.889#aD01IsneDZ8W[N`n"t6Ej'[MUM<\mOR)%_R:q\5G8Ma 117.1477 - SHeZbd4lc?mf-/8cS#R.VN\jF'ZMD="Qqr?02QhDM:/n/]#tKHa#K,;Cr33Pl:08ISrKc`T 117.1478 - &mQ0(K0Ta-L<H8-*>_LS'=."#]1dmf$E)PA?MNMKlUO>u5m)B;j?&9.A0km9!(jLoN:PiKW 117.1479 - $8I@uRFDe=mh`$p3EM8kNQd\-39c9bbU>ZW<dnX7<.>&3BgB`rL&5&'uaF,(C"c1HM3=n0[ 117.1480 - rhZ[eJ^S@g5e&Ha-\PQl`X,-J'h87e+X*Fug%pe0-;,A(>^dq*$BWs7FJH,/NtYuY;&U`Ke 117.1481 - k=Y+mqR_QaUD&-60Of^as3UDFu(Qn-)@<!PYO0r3CkFY81U]D:a?>6=$3"EWV2gsWa>5Rd8 117.1482 - #uaiR1MT90SLar#:jrT$%H!5fnT972-_kd#]bEcA]7mo'21aR^H2B4MWi'E0![aN3=Qr0Q9 117.1483 - k0UVf^7>3fa:XiE8FO0S*m`V=MWQ.ig-;7\>pHod`sI/'N&5)%@)@\=C=JKfou5O;@M+I&j 117.1484 - Q:]qR4/=@3P;HTdEpubCEA6aO:/uVOtNrR5gLjsH5#86o#AuKFaU%S-3>8q-iaIO(l9VU6. 117.1485 - H8\X!m=IhaI.2p]H6:_oJKO@qK%SM"@S,sF6h[7)cME/fY++^6KSmuL9<2TZl&N*s-I>Z1+ 117.1486 - P8/dV5CMXkRsUmC<Ug$276oKh](ZpC@Of]9uP^c1N_I3I*/P^1:59kkCE%K"i/b2[9*7m=; 117.1487 - #u`75XO)OJ\NO?V?Nfo^8^.;?Z0ONSLfu;Hm*/6[#^TU9^Ya2oXMl)XK:u6.)g=T8Q]oLog 117.1488 - DYc_Vj3M!jm(7QnfErYjO#+)Wh9dC3[&hPE=S6bo@Q!gaUPiB/VT88]4Y`'120`X-3/mN0# 117.1489 - b7&S_9>s6E_.C"-'$'G^(.q"Ho`c%*#@q^p`'e)P'V(([I"!grA=cLM5s$.-"l?i#/+#irY 117.1490 - ],SriE$ec,RB%DpkoD(GoVRm0==Z^CA?05bE=-_IFjF&]/HT9b<6Ns9&':l]Ao-TRb_A1"5 117.1491 - eBaWnN!%"cn3N!_LZJsD6MCAs'TXX>EFYY7+b53,Cg2dVXB15amM4MC&),7E7"X7D.]a&I8 117.1492 - ,MTIO<7MF"gP[>A!P2B%AqLL[.*"C3@8S<!]g9'DpQ^mt9!57>!ejIJ$rh)+D:/UAV('aaY 117.1493 - X4N5,3N!9jse_Y@aQiRPD2Ds[mro+fKci)K/MU(_R;[EdTUI#;D@=.BV9'm)Nu0XUXEapY3 117.1494 - *`?[YXQX+i5p%K!Zgu"V>Tcu9\Lk6J\$_I\J:,U!T3FgekAYjE*,XA:;$Qq9"ocBnaHD(P& 117.1495 - HtMNnm]G&R2)E3Q/u<Gja1+ZA,3'Nh&oHI@X\CkkeKedk'`M@3cOV`]gWZI+LSqiWiJd!Vr 117.1496 - a'Ni!Pc_#@c1>V7;u<7=pd-%n-`>j%,iX@laVij68-CTT/GcP:D*)D9dt+![&:^@l($67L? 117.1497 - 0fsXZ$0Y`2"1Um[ML#4,F%4V$C7:?WK\q^N/Ys]V+jONQlk6`VA=4j=H=QbS(M]_\c1u;Vt 117.1498 - =a&``*LG>$jY0$$A-M%/9/QeVDcJ*q9RfBsWamsG&`;gZ>LhQANG(%(V`J"tTa?4`'?BNHq 117.1499 - `-"_*L(auR-rhX'1JQ`A363k>%#LE[$78X)I*_Gf_rr\u\0>;,^D!nC5,)?_lWBq`,-u+SY 117.1500 - `QlE4/D*^S85k)ZTWV2rNQCu@S:!]@gMGCDUJh"V0).i!a,hGLOF%5ZIQ283OX%%2Y@\tKm 117.1501 - e&7j,&fM(/$^::5U8mbj8p[pd$u5_R-X6E"n#.jY[GV-mfm^V$a/4^!_E9d;X[,OrZ\NEE. 117.1502 - JJ<<rVPQ,-UWmMTW][rkK$_^eil[cjKj6_Z;G-%u0`Xd0C6#SH;XK3QF6L0VffPhX&W0,%o 117.1503 - KUYpR'P.g0h"JRf2&L_b+EN$*gE&[4\3OLG$]fL5)Yj3POMU+do__$4QgP9U59+9;2!%i5h 117.1504 - !(Jj?&6aIAX/J6AR"Mu)j7l(eB?P::bQ,t<\;)I+E.hdriNY.lsk&=ctM%jP7Bop@LmopMZ 117.1505 - 0,7qf#3FJ`&Ra=lAJt#M0!NY"k7nG8Wsu=W^qlNY_;Z2<<ZLYu+#38?&E;/5$s+m8nEgj,% 117.1506 - Lb3IW#74a+\naR1)`aR!'(Vb*^lD,ck-:Q.NL9"(/d%"&iu)Y$R0UX>9c,M"0ee#h&<"YLs 117.1507 - Me=1018+Ba\g_ioTnT62peBh'T>C'r%0D_HPKP\0DJiC$@ne&ST3W*=$UQ4Q/+8+Z'O7@L@ 117.1508 - .J.Pd\H;QD:gCDX9M]'e@'&1hHIV^6p,-aCVg&nNEs:a!&]C%?<mEQ0Bsa!^CO-na_jCW[$ 117.1509 - HXSn+EQS?j61#<]Yj!sA,%:Ia*U>6ocjWpu/+3*IdBNkG?mPP+)H,8G_nFHW8,qpRM,-_.m 117.1510 - m3s:doeZ1q1dWK#1&a5qhREj66HT3OkT__^%5lKpln[WEKu!&n;!u1)@0OImkc.IR=M$>2- 117.1511 - j#kr15[IMh$#T[.rgk[%H@.<Nj[<!1h3NqTn!WZOZHs<1c)I"K<ZpO[5A:VPi4,MJiu)f/N 117.1512 - iKI-ZRKJdr$P>EZe;(82GPnUbYcqN4AH54^sa@0%0W+QTd]?W^T5he!qfufe8?O1+i"ae%/ 117.1513 - X:1*%N66:2"bU5_Kj2+%MI0QRRSZOSjPTN;dBKi%(indR?!?SZ[Pi=PY?<#dr_2C)-$d^-B 117.1514 - ;oP$bC75Ug9s3tpt;/6s>GW7L[3qN):!_Z#4Mb+"H47mYN'TuZ7&63Q<6#QPFb_cpqXuQ%r 117.1515 - .?kr7oWA^V'2-;A9=1i6Pfaj8cU[$@4d7Bh6Am'sAOBB&0Z\/S_O3->p>Bj&7q5=M9Qr7FS 117.1516 - K\UK8]-la!Zsm14@q:m;)JS41ib`F\P`G1;G-9cFVnX'I6(@Z1t74@'f7'jO&ORq,P79aoH 117.1517 - 4ch:(('"*u.jV7A3<YX"Vp%.C:6mni@3dThOF*3:nK[U6er6O&n2'9soaXF<jHMfI4*T)AS 117.1518 - Q<Zo:`nD,-gkd.81de4_^a:`P?e>=3U'7f,W^=u0.c+ghe@,E<n_HX.A'9ORZjiY,SuHV>Y 117.1519 - g9@]=H!eFE1i]Yf6&X;0I,?-9qH!NdA?WD\%<Jb,#8R@W8'31,BoY"=YfHSeR?1n=Jp(TR< 117.1520 - 5U&Qs?kPL[oke-t3%,P"6<5K_eic?#+=$J*@pm\oZ9)RT_d!E!;8]OoDPRNgD?)S8!HrW+G 117.1521 - 'dgITi2[*BB%07P_j'_$Y's5BgMu&K;hjZnK-Xi$214r[]1alI;9Ua=`n(D9_SHb)D'I';* 117.1522 - p=1Jsg&!N$<ESD,qTJj3^pQO'[NK=k#N.P7^1aQVR0E:K3d$<<G#mZmZ[-!k$*1"-61LnSM 117.1523 - 9k=a&,!eT`:gl#E$@EE29J<$?9>LK;rZD0Ei?[InTNh."qC;.9KE"I!^JX)ik!?C*lqdP`= 117.1524 - /=*9+U?(s#Q(GB1JB5e&<An.8g@n%6,X`sgZGXYJN2f`&%K6Y7cBX<J>2cFuZ4_^[[(tYWp 117.1525 - "!@Y6:^7fCH0(0(NqZ.h^Ik5mH-#SYj'-Wb4a$mfES!TA_@e_Kl#Xe,?/rJ(<QnKEjt63g0 117.1526 - e%l#.`NQ3s&uTB1=@COpU2=@"`T*d=EimMTsK=%C]G.u@$al5@gR#fQm,Vs.(/`!_6P3$=' 117.1527 - ajI6BQ2==4LEi$ZZ=UI:=XQ@MN5a.:)=hK==GQ(%lW8O'bs8+P8&NpI6?O4+os-I,YBcFKd 117.1528 - X4(a3"327Rd[\/g<kO_lA-<nN-L<$>QA,Dm<H=a,$H($H,e^&n)IF5`mQR']mqOc7.5H#m\ 117.1529 - F\:'>p@sT^Z1QHts5Y[9j4qp!JNTFMoYgn*ifk_JDNQHU*6B?l<5COf;K=I\)U+q&(fh:A7 117.1530 - OZ(U9o]9tUTl.r,1sZPZUMYMV4s*l.dC$ZK@Qf8U4']6hK)ubYfbPc4hdBF+,%F\u!\K'M> 117.1531 - F)^[OCAYc)-qraFs@k<6Bni%(hnkYs&aQ&8[hW=3Kt_3,8U*E,9e_.'f$oa>>(4ZPbi#NJs 117.1532 - m[i^(Iom=P%"1i&R=\[T3+MSH:*sDq8+e4(2/\.($[G+tmIm:S'fPAAM&Q!\\"_dpn#7F<W 117.1533 - /B1bj#/*G"k/4SW)&H1.@cpRel]?hR!_,*/H:'qa"SATh5d(13VGIuY_)*]cb(qFbGYI:jZ 117.1534 - )S=3=r>$Ic_`K.>%O7D1j,(H,Lm@N#ZT,K4j[U#Rb@<S(sU6\n=\hBuae"8MpTt)tW[;I1u 117.1535 - >4>X@VYM&Wg&%G91fY:`R,X`f!l9@emkIl6s-EC_f)'u?"f:2jPjnpB3?+_Sh3NAS25<m83 117.1536 - ?a.EH^`Z*Qi\\P>.,Wc$7OR;+GE[Z3L?pY#F63$=/%@6ifAkH"gK82Km@N@'nK'TWNK\pOl 117.1537 - D@lUTBoY)OgNN+PF=N+mlYU9F4p$.Y%c$jH9lI?aN5?SQfPGRG0sfRPf>(EB&Z;@M=/Mafr 117.1538 - AE.,kK@=3\4K&X%?JTOY<^]74ucJg.gtFdo$HpM5B8T68n%KGm0$_fcgm^'f;*GX)qMUYH" 117.1539 - lcauTKVC/#N!C.Wh0H>GuCB<-<S'-t`$!DVu\s]]m3$DCNp,]S<FgU'N]EOW@Z^:OIW&tfs 117.1540 - \]M/X!EYaLF*f5_g:AfG^QVVa:?ola:(NSYdNI8p3d=lIRgpmsO+a6e9A'KbJh=i)!PZ)K< 117.1541 - >h;ues!We!MUbf_-7$bHuI%dq';A;&Y'rWi\SW#A35-%4@@6/!XH)a&3&R#b!:g+J-jBQm9 117.1542 - m^qb?V$iS@cu"^W[\8bZr34SBK.3ccmHYc!8lFSD2<Dhp*5%c<TPXSCtc1s0d:'[a@oS@om 117.1543 - \/'ukh)?C!%NGa]R2JdJuKLnON&q`C-Eo1ZZ]+IaDppg,YA@oGN,LE)C:pJ\:2PIHl,+ItB 117.1544 - Gp!=o=5Cu$b+PfR:r>i+eV'EO3MUg+4*DOYRVn7Nl)I7Lp*I7_aJ'/R_!e#jL]o1P!O4bP; 117.1545 - fj0rtSX\<gOq?HD+PYJARMjK.&^a^OLtu:d_A.<dA%:LtemWpVTmAeYlYN:GR^RpkJr1d9c 117.1546 - nL*_g=_T_]`FR2$aM!]a5VZe_S*hn\!(b%+?VSN[.gZO=#0OY`#M0+>YE&Ffr"m'QBF2Hp= 117.1547 - (6E/\:Ytdf$a&S`cV.K0+MEWa6km(Et7@\)c99iVd-FFsDilj2it(,[3XL4J!YR\*!bgk?P 117.1548 - @s*^SuGJ*7r+k['&.Sr;ghO6I^K25(QFJdp$f[Eij*=a4Z/Jg\p>&"5f5R[u;0HLp!X`R#e 117.1549 - \QpV2H+siW4_f37^+J,q*F=XO8g#TlW.)*mj*p"0o]pfWj74)%s_;677hs\D<*eEr)SSfR= 117.1550 - 6UCeonN^USSsAj'+7^Kunm<d8T.BH^;NO5!01rE64fdsQTC1S"+PkYZ>`'`:lT.5f3rEp"h 117.1551 - $(PUKHiH\`?L6*r^X:=4B3J->l-!.]^OaG/Uo\E6i8^S'LXmc"?1YJEH_<>>LEu^Hk$.4'g 117.1552 - /Jl@*09.bJ\lpdJc_R5I_k!%HIR<668A@!1VNr9AS/tkuWf)T=r7Ye`9%#j?L',hr4R,dDd 117.1553 - 5::?"Y'S$hCq!9/PR+G,t7!YG`m6K+$YF?Ui[M+$?c=L;Bh)3%,GOkB;T5p;@]i^e>Nr_Y+ 117.1554 - $b2MdqFJ`J$R7ub,=g[%*3Lrq.PM,U-JO,u+k`f5\eUVcLV#n$8D).)JWDB!@=CO%j;j]<* 117.1555 - OMsA3I(cdP.u\bT4_8?#\8@>IKt`1>Ct7i/WZ43BAZo2`[O(=(\M_&elfrg+NYc95_l,OsA 117.1556 - bteVa\RX@&WJiA>$7/sH//+C6(u\>o>(;]0UJc-]Ch#OE:708fh")k?+/X1\_V/tS)*^E[D 117.1557 - A7[G`_V@+%aT9EopG\"qDB%_r'uD)5fNFNeQOSPFHnck_tt]&XMa9pTZK?4?NO5It,'jo_L 117.1558 - ;+f2(6?B`1tkB""WB!LF?#"TZ7j1_02Pj2;_-+4,$)#XTp"-ON2%N#[=4nC!186`=Bs&4:F 117.1559 - O7hS4p1esT*Dj0IX77iU:(a4KIB!T*d=rQYF@VQu%%uK(I'ZH%?JJ:09'TF(bni?^o8+KlR 117.1560 - -bba;:3`BYM_M"W`#4M"aKkHQ0MEr7fPnZ'@X;W\,)k(Uc)oo03"49#k;lAE[-p+Q1Xu._: 117.1561 - UB]n5Ys9P#=;7o2%N)P1fY>X(A)WXQ&R5-?SPHc[4b.O$<4?,!johO9iNc#TZK@<>f`O2Ns 117.1562 - oo\53GQWYG$i4RcRS*rChoF$11]G]T3u8L0$t.G_K5I7:`&nLeWk)[#D%=::!XURqc-8Z^0 117.1563 - &@m6ajES!NQsDunQ(GR`H8A^>I(2c\IQ?+4t6G[4kAk2EhKF,j\_pX5sD=77_9[T+hpHFft 117.1564 - tl=jfQ(1`=D+d''-"JKh`K%j^R7Lt,D0jLTS^T[P;!Pip85DZ#;=RcU3n:W3<jgfIb#X]IK 117.1565 - ispj+r'Qn83S&D&@gPnXPXp`')'5^0!b\4#cJi]9V)W3+LU6hn93Z,o;Mc8\BpPiRlPPqpS 117.1566 - *F^BZ6mYuXKPCB;W`85D7S41Kk0HlostnXYcGD:qpJ"_DnC2m^i2"S,>"IH(D"GT[+)=Xe( 117.1567 - dQ)r='Td.(a8N7_Og/3tbK5\+(N?);,?2M9>l=a$hCt.K7H0W"sk#Bm%+UB)(+=fU%hp`YW 117.1568 - hZp;n.7i-(\.LZ0Xu+\LcT*\I,kFM0^O<dGBV'oC-%dM8VC/rKJTUicu$9'fn#1n`m^%RC0 117.1569 - lDGEfYDFtm'#sro\k^@%JmUc&>3Nd68s$-,TB2'EJ0rI(J#7F"KK_4I>QQf0D'Alc'%KrXD 117.1570 - Cp"%9_C'3:M^rq$!LOL2@#'TC_(ob1Q!,SPmP2*qfDu@gEA;>6-2/3agC6Qh2[;%tNr_4br 117.1571 - ZQYRL^AdP&E]`!@Pbq:@oQ<[0lRuhA57ub$-f7^<<=AF6%k>YhS@W/XeM7X@o7Xu7OYS3h0 117.1572 - RI)E?6u"[sUN%9=Q`%hDkqAkRsYp"cie4$q@c&+&*]pGq8#A,'V'Bd;36MY=5Lgp>Hemqup 117.1573 - .Q"J?>#9!ZUUBbj=O9Lr5]PbdP4*i%56%cQ2,V'Mq&Z4*JA_A<X'$h-Inc2'@g?A.;0WdeP 117.1574 - 2&3niJ04jZCJ8uPs2:[`ZT'X=WE)!SXpeK>79,E2!/;-THI.bQPMC(,M!)5e,22FZQBp1ZH 117.1575 - :#H%3&MtqR,r%!gaaZBT*&/TL\Blhd\0#@f,+f!G@SaPj5A0LJLh&Cfch[r6<NP2;dXHknB 117.1576 - 2_-moaG]bHA";X&Mb3Z%ZD**#>mE%);K#4T[\Zf`mPM>bp';&e>*u1Z7mRRFX![rp-:9TPt 117.1577 - XmdS>$Z<N(-DrLnoS.S<>mi;9:ae.E%.Aa2V.='[BOOJGhftc<<!Q/q^"u\KOl=Ut*!,0PJ 117.1578 - DBEobZ@OGX6:VUWO2C:U1g\#@pcZ99@baIq,e#knal?UIhP!(X>,eXia#<R.h<fBV-d/.5g 117.1579 - $Yu7ch8XX$$"R'j0Y-(n`j#d;Eni8++@+hd+B5&Ls$^QOi=u_'u>apJTQDW1FLR`!oCSS/` 117.1580 - (8MW\93GX2'=IKC[b.&Fk\89L!#>Kfg\N"2Cb.36`b%']]9m;,3=DY(*,/\4m<(\Ef-0(Xm 117.1581 - 9JDUn>Vfb?PdifdE?SdD;ATAcV0#I,emL'FQU6e/Xb+7d;Ub@i\&b6)-#9qb,U*bA^%RZ96 117.1582 - gbC#YeL;(aZrIl\RT31YO!#p.Z28>m(FmAWma/7P#e93=_01_?;(i+*(8I-KSr*mZd9D-4j 117.1583 - Ah.n,@taY7.m&W6sdN?Lje)\S@Kktcjh`u%5^A$SsmD=ItRoN[*`r$G)PFQ=T*&Lo)?<B?U 117.1584 - U$HieDJ[0(dLkiEG'cD`f"Jc"t^c#iJ=_BTDCJ<4tVJFHhXpYf"dS[?AH]h#4/`EbW;)#FL 117.1585 - 4RKQa_:^%6o$edaX;%(8HMC5Xer$2doU3R06P+-,9V`QH9bTTP!%s-S6A"N#"hdG.[4qt&q 117.1586 - PR'Q[4caFA`;1)ZPaEN)4k6]HXU)DZ-gfFU1"[C^JPY'h]*SPoTd>&G8C)A&p^]t^0N,Z4d 117.1587 - KIfpOMP9^;.Z3"Dl>n+X\$6fd+m*O]T;W*l2;4<To>#!dS&WT'Rf%YBLTA^RnTao4(k3Me% 117.1588 - up^5/riYsa-`E!3jb*+\Bi\\cNmKShfMFX[pS<',&j.#@J/$F\_kNAq6P]hFC=`8p?,?O_4 117.1589 - alsXh#Xg))N!nB50M:F/qe!:@jX38Rc,\QajOe$08V807%j*3(Ll1DbRqCnQ+!JdLA+msZ5 117.1590 - Eb8l'#H8C8>XJ+=;J]UaRYl.ebZN1<S:'%+o>N5PaCcPB[G`iI9#FE402pQZ0V6egie;Q]) 117.1591 - ;>FC>r.M=hb==5fm:iNQ*Rs7!!A@1p$f^f!sD[a*k;lQi1A&G8rn<b4$2n[9&_+(Gmj=?fc 117.1592 - C<4*n%:CM8gPdp$'Pb?8JoZEJ='Uldfl4%RX/BYWkho(eKclfs7F<!k]bm>i$:(4s.gjHsD 117.1593 - @%hi[M0^-9miC;O2u%"9dg%b>1R_dW7_?F4E$qIK$3hK!c68_<"9G9=$eS9`7@^6UP"_WC^ 117.1594 - ]<RB=W475<PqKMA-6Fse%]JDU*bO[7elTZW\4;aJA#_Xj>90c]H'd@$8+\TFVoXf0`^,u8( 117.1595 - MPi-!]">1q.]^3.lYM(RD84j>_*f!-"18iLK,!Y15uO19/.KFS)Ok6u.jNb6ZlP5hb7#oJ( 117.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 117.1597 - pP1$&^#?fS-g[d"k%90d@#9]-oJ21a4`J3WpKQ$i;0$r&T(X4-VldA,_9Ws1$epJ-7&N.(2 117.1598 - ,E1rCge"61gt;@'Oc-'\l]#Q#m\&;@n39#)Y@])cY3WnfmLMEoSE_".OaW<pBJX1Qf]]Au7 117.1599 - HPZbu"K>e.46#jo\KNb9i)9(ZDP8"u:"6N&U@Yulq4P5Q7fU4\fMF2.34V4;GOVioWbE4<m 117.1600 - .)]_RS7d]&D$ZAD6ZA&F)sF"Y4?o?G-1jA?@kWVB4G@m$a$WkF+G<-=WCF[Y2hRM*k`3[c8 117.1601 - ;Rap_JsA#1e,)N$'_eo[Nm7_oM_B.s#->H]=_2_Zb<3rGf[7MVJtG6;Ehp*8r(K:#KT_rTM 117.1602 - W`EP"?L&LHoIm_EPs2Q-"",7MK<'I$oi$ZFkMD!c-*i'MLHDf=ai4Lg/Der0^(I"H"/BPmh 117.1603 - 2cm%"=HSe3L$"Come]@7!GfRlQEX[6%0oW$%6Kh;nTas3(8#dun4a[/ANMbL@J"EP?KRNak 117.1604 - :96@\&S9]VfHDfu9LQH,&BR%_IG_Y^+#I)RfUEd^1CC.AJ9!kZQY_50PT?B&I"686(d;(rd 117.1605 - V_*R+Pl-2"]P+qDL'fHB[\Qp>!LU=.&]K)!`Jh?%<7R_]ND/=q8F4nn4I46Vg56<+badE^e 117.1606 - D6^$fV;][:#Z+FK](,uR`hM=-ZB@lOBs"g>V-4pU(#pS/Er"EcQ15bV6&(:][EXpe$dcUcD 117.1607 - 9sU&s5qRn[M9H:Gh'*`2q9Yp<RcRbed`4"S\ESiQn=S:-+iB,iqd0oM0?X:4aTa/Gm\&lO" 117.1608 - WY2Pc.g(iiG]1sg@MOJ,?6,SO!#$IH'N:`TqLbk+`]\BeFjd/kOeFH+OuK-a?"#68$5Li%j 117.1609 - *'nqHS#;B[c$(ar#)9I:(U_8:*jQ=a8kg;4ZaO0"p*7rTBJ']ubaE1EWbZ9]@PFO32:@o1F 117.1610 - "X98:3!Je2![(Ho,qOWj153e)d\SYH';3_60ul]ndkrtPI3H4;?dR%T6e*+(KO<-DOO;k`; 117.1611 - =+B]r$S$)i_s@q;hZHQo4_*$!C^PI5nMDkF(%jQ0i4Die!VnA?rhkf`W>R-Jb;R`eP32X1= 117.1612 - YAN;ajL4'bF;l;8:pI<AYXnWe46\!`/apU&@m>9GGti\^F#t9aq78'h,&8gla6ZaK8U-4\= 117.1613 - /&:=QsNeeM`H;Ee(QA\[%teobZO%9Z_qNR^I4^-u&LeE,*>!)`C`f"fTNY]PN=4GM+$f0+1 117.1614 - ,9j3D86<1u-e3*-J8C.Q8HB!&of>)dceL3tY=B5lMNpU:T[7j[+K%Mfo<c*K#%;8j?d"D+& 117.1615 - "8EL^fFli%MHHF(fYrf;*Ga<VK\"ZOf&]"poo?Iho2"n=/L>QHh02lDGd&AV<X"Wq'nKCCJ 117.1616 - m"A.fte<R9q8THL0<H5S6OoSrLqpgCbC#m5J<f3OaA_ar?qPEO<$I;;[$;]='7l;fhe5BAU 117.1617 - $u#Q_Wr8g6ejBTuPYHYhM%AMC"hJ6LNP"[>E_4XGEfZFh-8"S(Qi6X^."AI?<!%WE[6eg8s 117.1618 - Gg>X,OT)G"Ok:;oS(m-ZPZ.+"g*M9W;_FgBeVb1f@m>dCM:D9Rij\/])*>m74^^!Nad]dNK 117.1619 - O&.QB[,*:Rgs'-Cc3e4/j`Pg"9-;?@Hbsd-<=I<?TVHftRh?AjC`Sd[@c.riT'^amd<JK<M 117.1620 - jeqe#-gfD`IHN!Vf%"oph2%h3SO2/76qEI>?D)f(kR)k89RunW#Dd=(&:"KldK`m$#@6s," 117.1621 - o2N%o\ZeHhmNC>`Vn](F,-E0N?E7sQu_)u!oMQ2?fhIJ89TcuG)Zh*L[G:QQ3CYk$K$qk#L 117.1622 - Ic+#^cm8HsiNR@&=IlP`LU@d"d^1LR&N\%Mdq&E"+,u#At8bDAcgT!"BtM?mZXtQ4Mr.nAJ 117.1623 - O!+)Cg`np]FQcsB#XiZ9Ar:$1G56/I:UgZ>Be*[[['lWUmB>0*5fgk]*U``\#9</'/c)9)[ 117.1624 - o9`Z*Z"$g,o6RpiN2WJC-<Zogk4u^1[3b*-+'[Y4Gc9#Ou3f7<G#09gS%2]:=53'@Ej'ZX- 117.1625 - ?u$2W:PP64j>KQhn])(S,NP.Y'^dr?*]`;Q9B0VHiZ7";U-<$<c=F>nAKFh"SgJ#H,N=#mh 117.1626 - NcW&C*;N@o\.:$@L^4Q5^uU"/mM\-ir.Y-rS:ci0pM)]j#GHH:,V,#B&p`7jNu:bk%EcF:? 117.1627 - ;K%j5+E\W!_Si5n+#bB&7Cc<^mN&7q@?kB1>7J-<''(FQSD+k+6PSG&,tF;.Z3EM.K._??T 117.1628 - tqIaY)oBCZjMH=,co.Hh*TjeuEj`'@cHQ.<R6jo+YhV=<V%`o]`I@odkfDJ3"H3E4"XA2\` 117.1629 - BmVM+D9BPY.d>j<$:3#?48*O'6k?+PEIQM1ectAA\jM$a_G'dm_s5biVk?qs.:q,^2&e,+g 117.1630 - LT#=[(8>PUV<W5tl@,VqL8jHGBnof)N?E1qLiDX>Y3MmfC6l)YfQW)&dK[L1L;pH5<j1h$Y 117.1631 - _OoY#;FM[jhtq@Yj8I'LN%TqE7!OYH>C7'li+,D\:(r%cj*s*#A1d<<krGkXQnZ]laFfJB! 117.1632 - LYS-KkZ*TD!i4oXmi`^<?GiMDACPm(Md+^254Gm5EJ]0%J.tQNu0im<7&t<n(uPg?h=W#O' 117.1633 - Ni3-0kpgMNP>mI\-9^s[&ui9dE%mKV/FfPQDBdKZ(QbKf0d2WX9(#&G^6m1d6b^`3P@k2Nt 117.1634 - oilIX!h'LqL]]KqXAgQ@==DW[n8Hrj"Dg(noIe\T3BEZ-!"i,&1`q]#bq="%QE!H=2%fc!X 117.1635 - on?Mr"Xn-i0*-$)!cW>an:4l$&7:D,&o_apE5)hNI^=dEd,E"SE5r4R#5IOEFq"^k#>f,S* 117.1636 - t`L*&;6.nE0+Gs?Pd^S")pa6EM"6?Ii.0?Snu79C&Q4f@E&NhGm>25KSX5nNg\t"Mrn'!l, 117.1637 - P49i$N.,+*(s\`SQ`jrfZi6VeJ>5kt`r&QBl/9QZErqA>%<3?Rt/kNpO0KW@aq9qBKh*3:1 117.1638 - nX=[,%&[lnfJ>Qq'0LJZ@hpiUZH6M'A-eSqs7\BbF'Dfdp$oS5qu*<$BmkOb*/FLYQfS<XO 117.1639 - #&:k*pFO*eTcohK\0F\7KoYt*E``sg-L>(0^_#7P6mdo4`3VBjcbuZ!0_:io=b46EFnh25I 117.1640 - #:/kI1ZUJB%2Unq2J6a&cfr2$A2c&uSs"/,5NE<=A1qNXh_GW>F*=^/EdhVDL3I]^-#C>%S 117.1641 - YnNTLK&AV<;1<ToH-A@#>o\p9_;0.oP]&"d/`g3dIanlGMQ>Bf[=m9:j<4toS6=e0[KK+8* 117.1642 - F6q`Bact>J#-Go%h"KG=RVee;O"ONLWLFgkT7,Dd`-+-$K8C@lB9i(R'_hArQIspA\h8QYL 117.1643 - ]k`cCk#k6II<GA[i`DgBoHq,`k%DjOe.F85:DG>gBoDhN?GG`;qop^_oL\BoHGVL#IOGNdF 117.1644 - us*FOSk4g#no`(lb7tkf1GR*,"pjQKCMZ8d@nlM-6=8/KeQat#cNr,NZGm,u.J%^Qn^8/V, 117.1645 - "]/$C'mkUP_MB=&FW`gL^Vu_"3Ldf6Ju?]<fHLA-b(5>kJNqAV^_$RN%"PPcJ8b[B0E_A0( 117.1646 - kN#1K]$HqjHAimd-@iLaY2;g+5'4EgARr(rLB"(3,=I,d=r3PL)8Wn\(ps)ir0KnL@AE,+B 117.1647 - \p,=ah1Mr[6oXXH[hbcf$89I`L[Of@kuKGR!l:l;-dG2spU1]^+4sE9Hb@=7Sp"dXD/Rs(C 117.1648 - m%QfJ'?.XF%cRs1[7<nnDqEW>6Q-Bh1a'G:WSKL+QnBOiF/iGcKfnMm=F/Jj@8@Z^o.3^!k 117.1649 - 3_dj=fS'CaIPY,F[#(t&c09O>Q8d,<[<B$F:(X(uX_IYomXqqSYbna3S;`Uci)I,"]b'6d` 117.1650 - ;-1s&qb='@CK7t-G,4W3!%_/4)</nHIp-3f\)k$lDn'"YQFH7XrEd-CDcMq]p;pbZi,<j&- 117.1651 - 5R,H`+!^g]Oj)CO2tjP=ZiQ_/XO[nF'60<G<M@M3,eL`1#kKre7s,0]k1*iYL2"h'ch2DD7 117.1652 - >K^2aYdOa*k_\E-Oi)--L;KjDoNN^1TBqcffIn!</jSQe1JFHX4AJSP.ktYl%ea-^W*@oQk 117.1653 - pgc(=r.BXM%rYHOkTj`J+\n@-g-Nrg*3:^dL.^lU)V"2POB'a;9F$f&))OGkIlZ&O"VhmRL 117.1654 - "1sV\Sk^<uO;%,kO%e2(@%E/oQ<>EK8Cg=-SJ:"Ba4%Um`)93?5E_4<6I!m*3:AINO]Q+.7 117.1655 - ,KUQlPa&k`oA6W&bG*qk^8m.G'?C^Er4tsFm(G'r'+<699Tp180Yu1Z+Z%B,CH2bi$O#9E7 117.1656 - _uJ!&^Lpm"$Mdqm,pU['Fb43^bLd[-+e25@jfWfCRZJ<L)h:+dZgjc-7grO9di1QlK'KZMh 117.1657 - CN+aR[dYs3gR7<E7S2.qT7A"C5S>erJP77EotWF[8b3oJ9dl`r1TY:GsU-A!C"gJS!N#D4N 117.1658 - <3M^,Dn4&f-K7ToH.#tR#$'d[^%(Ce=Fg<9H!XNE2Ypp`r>Rb')\oeOWg>^*=;ELsY])1@d 117.1659 - Zl*Z#NeY)klXCVkMMA(5/Is^.57;ltn3,U#H=07K!M880>2.FL3<]jRH(rf",jI%M9BWQBH 117.1660 - [i7h?Cj8P4fc@TTgY%U(S*('bb0j`KS^U@e96/ndh=W%QGq=0:F/A,a!E#c@?jamVl@?UM0 117.1661 - 5C\kZs2jO(;2t?-`gblCl=EuZ`IYKe;>lIDK1Heg$[\,\JVA;MscU6mCfZVcMXr!>RiaNE$ 117.1662 - 1:&_s]]`'ueb76H,40S;UC8[!Ai$bOZD`G-^O.2L`5N.r@bf0)@X-;p1]W<RnY_s'<Hk!/G 117.1663 - )*p4GSG8p:TpI!0^s;5`=+bHPpDJGq&cFSPqrPZ7ILA])#jPi&%rZ5^+L]R#OqBC3]#3HV9 117.1664 - n+NMD-I%>l/%XePbea37,DqtM8^]u%WreoY^^[g9cp&2[2g;LPTnssk4L!d(,I*rE*WIL!^ 117.1665 - "rK,^'OZRU6pP>k"@t'`@)/:b6RE9fA6*N`/0PJLN/@ig9N]8E.5&KO()I5pUL&SCH;M<o& 117.1666 - r3Pk*lKoh@e(Q^_9!5=&DmIb$n4SB-luh_$].SH@Y0E+3$O#:MG[+u(t[dFiiH%,jcTJ[R( 117.1667 - X<[_u9WI!3%dK6Q+KqF_Jm.e#t_G(aF\e*\kkUa&jW.^]RF=1$i\re5ffZ7"G@O%336p=BN 117.1668 - K]M2j$XL`lJ*,2_H?2G)%^&u0P+%4Q<5&oL*.U*^L!!lk;%+EWY.9Pi&O,>Q&-h@@XX/*2F 117.1669 - kMWiJj^K@pHip=(>;XBoC.*1S9l#L'h%FI"68n1RFEAiR*"98Xk0.)=>*-4d_9j$nV>)7*d 117.1670 - :jF8n8\DNjTtCPk-j@abVDuEAknm@%BVL;ls4lu.F#$:k6^Zee8#(ML,Z$a%d`4;#Tl=$4C 117.1671 - _+ljkVFVPa.Yn7.o=]J&ZCB<SlAIB3I,5E.''D7jbd<jRQVX%o^O:`R@t.tm4i*Ma"`c(?V 117.1672 - *hW)d5pRU\)g#'_.F.J5k,[']FLueBV`:E$u6>%#P7(N*+fl[k<[\@oGc#46%>*WQi##!"& 117.1673 - $,a'DglJRYcM0Ec&mnDXFjN$d+R-pWI4Q*!i4S;1k7Do0b=Xd)Ym=&pV9la)ME?ilA?Rf*+ 117.1674 - 5%$,o`q>lYr5X(V_.5CJ"Mc/SN1M2&bZ:g&:$CI5VM\$*!9Rp<F!oVqUYhZT`L`Y8J.'c8R 117.1675 - @hZ;RadpSJ0C<O0WjQ.O"\W\i5gaPWKoLY=lF0gs7DXMn:<"&'gMttbZ+3pf9@o)hc7@_!\ 117.1676 - bAh2fG!4P(K+0qQ6tRXO^31r2;u2KJD=97AT]XmW=V"kbSD?RHf9")Hicq::n`nt5oob&2s 117.1677 - bbGdC4VBScKci%eQ5p?W=6ZosT$)"l+(OJ3oY<&D0[]h=4`U-n$/DfPJK]4?Y&[*XTbeNA" 117.1678 - Q'8AqZg7E"u'OkjS/FrCGJR!3R.Y8UgN:^/Jk8[uB4^p+pA!(a4Y<O)\"Z'!R-ccJou$&E% 117.1679 - =(:&V'4@dn=j]lt?n3)BGlY?[J\#<O7c=%@]N/ChIWE6C(h&P+N;*b2V70ck50nD\QAe?hb 117.1680 - o>Z&A=IVH*S5QifmX\Mc\?41QA@jRm.Y.<NB3ouiUX<R[G[T?:e_ujk^oj)uD2!J!Tq/+2X 117.1681 - o0:-L#7kN]Fo?Q'[1#k!p\L'U^U:,edFDh]$2i_`^[KkcR9G-D1)+"nRICVjGHa5,\-M]Ze 117.1682 - 8P6kNC*WX)n9dg.E#F's.p!a52YP\h_@o4hQ@o46Qd&O#%'4bZMg_kouRh,h=XS'F+]=X!= 117.1683 - b\#;&+qXT\fA^g;Bt/c>kUNq;#e93H3k<NTM*EumEeG4=+@!Q#?Z,)p8)(-=!O2BGI.r#:Z 117.1684 - 9h"Gk`r)i"%4)"1K9Th<6ka42lG.KiFIpGN(jS[6n:k>$0%MUH/jhRZ!@d1*i&7"Ee;YQ#V 117.1685 - $.73Epf/to<e+E<,`&<:$-bteO++3J3&_$'M@Y@s_Wds`B49^95:AB/"u^OYl?7^H=7s;`g 117.1686 - Wo64mKp@cpHIqsGtipq]45\=DIFKpQZqph-rp%H/m0*c$+tq(<Obsp.p\5J"?oVWnBp!7<# 117.1687 - ),HSL7[$L8#E2!>JR$/.)/MS*Ba@>4?6qY-MpB1kCFe[00;?qd2quqQT]1rp:Q]DccE,!P% 117.1688 - Q)"XWnMM=JnNGq31h):FR"M^E<.qHm%`I:',Lrl<^h?Z5@\hnAda#N>SfO7Ia,c2%B0l2=t 117.1689 - mp3toT,JHKOWkZ=FIp_UAs2Xs8?gmuDhu*ND!<=eW!,r5EVE!X4i^jLO!72SaYT3c6+Ta>D 117.1690 - !cQ/g#g+_JK__Rpq;bTQ0I[+n5m/l1"E6p8YY>8i;$AXR"_XS2,eEto=U$Qk#&n8\Y\aU6E 117.1691 - <e1?#B-RB&6qa;(C-%U#]PV+Y`/d)/=6J:""b)[b\GOCrs8+j$?2sOYcS9%YmW7n!Uu9XjB 117.1692 - 2Zu[gXt0$uj;sYg!UGd0FW=$cHBX0[gL#i=7R'!\h3]E%pC1M$%^g7IDS:;#Lpp!>$sh&9/ 117.1693 - !fYmh97&J6`4&TJ[#YoOGH+VHLU&of?5Yq6UY0bZ9!'6-#GYrrcj,3V;%NhBkpj+n+=Uq@g 117.1694 - G'k5/gnQ`^L4VfP?#I-Q1Z#(0bUt<C5Xrt#c!5,X'%.YO_(i8CC!1=\oD](9p)0)&^Z'P.2 117.1695 - fLY(W):>E%Yp1)naLiX,)e-gCTVMu._!/+G]HDbFWPo\$XW9.H*HBaQZ/$Gji>s`8*c^EcZ 117.1696 - 0`V&nK0K'AauKckVsG7ocQ!n+E@c2Z4.rI&Krmh)@[&8D%>[,N?>GOB'SM57aqm0>R9=;'_ 117.1697 - 447@,W?i.)4`L<j%GoK#VN`:a1_h#;L`KZ<[Qq-RL7WafR<"U#dWgDCfRT%0@pdEd[7kO![ 117.1698 - bY-ut.mZAcUOY6.O*..WaOK'7Rj12sEJh?aAe&j?d/==st20#;$JVUB<j-EY)M_@8p_ZHRW 117.1699 - L&ef1K$DJr$5r^E4<[*3;_^)$0o$8rZnLlZj05.C80UiSI'ebaRD9A#497Fq@`.rng/r:2P 117.1700 - D?NsJ8MVhPO<N!t_929j?S`nihW$sWF$*m)K/>.G,(S9%U;nA:C]W!a7j9A1Y89"d@5]oQ2 117.1701 - KNP?ZMbsT'fNC?A?RR3WlbXB.(*JE/7A95VV!J3;IC[I_9)\G_W`j!?>udZ2fkopWCZ[?RN 117.1702 - ddCnL[-I1V>8Y:*P6h4CP?SZ`?4[d60;94_25anFJ)Mffg^Re4IqTa=%-Bp>Jcl^E?"<79J 117.1703 - q&q@URmAn;ehZj`S#!'[aN6"DArM+er,jZ`$g,(aJB!ljKa.3dtR'pKS'Zog.f5nHp36hEr 117.1704 - <U+\[SZO,(_7+>=:J^6dObcLpp$1qnG+cAhMlDDO8@mKm<J13eQ2!M;H,)hO$%s(1HO?4_( 117.1705 - nmFg$JgfOY`Yar9Cbti!'Wjq`YtH;Sq,FapZ`5Y)R5Yae9@V$VmlE"7)@F>0l/n_<V/"sU- 117.1706 - k!EC/7F*)U>Q0]n3?Qc9XORLZsFa6VY"=GiZNj3kurL$WiOCg&L&Z"FSer.+%qkB;KDA&&F 117.1707 - i1F!E,1>9B,=$TtOCl7/#P#<+a$0_4oS&b#NH\W*o<CN9i*("]cfqFhn"GTiY08E%=oe%om 117.1708 - m3+bG(RFOu-2Ao*2GM9f6\O]N8D=Z)ThYF)-/[ma;d>%EX0FfapP)"qDcU&^.QeP(?'.TM^ 117.1709 - H$1W-biT3oGgk6f-,*`+2Pr._\;,?jK)p5iG@OXRXlV<]0pF/!9'9ukS!FReh?uH1pb7=!L 117.1710 - $"5).14nkb6H0El+Mpf!"I:J^79D1ddNXY*C+X>t2+@\@Y@KO+7?nE:NcZggRNdP=#a'Z)/ 117.1711 - NY\n.:dU5Ap.m#XW]@?:K'/gB4MN8Trf02cL!De!S/Y%KBhJilrL7:'Buk5i[>DITIb2d&c 117.1712 - sIg@2VoXGr?9c<T:s'K&D#A0EbFp0$8MmFm!Nud;:elD/1Fd((kDLi&s@6DJ2k#1UM=cRa# 117.1713 - 9b=9@if/2HHADJCo=,*\.+15HS[&9+Voh?pr8@O<q3K37jWEd&sQ[k*OK%#l!t0udO2Uie( 117.1714 - E06AD7AB7k*e2AjceTE&a]jUu[^uh6m=@USP,*g[6eIc'2`?_o\p^VW+K&E:'a$C0ceJ<m/ 117.1715 - cBEHrOa/mNH"SgPjj_[8*%ssBHL)MpQ`MJ_d'jM5SEb'`6KEq[_G]COi"C2WP"I9H7NuFQ' 117.1716 - K8=(m3+sXMbl_fI,`*qTjfWK`@cbno1lQ=fDU3o!IuJ?H-BcE&G@h;VM>tgJ62h<673K4OD 117.1717 - BI4)dm4.QlK1'Eq].p"JXjMTn"\0_h!biP_ms.67B\X]SItb*/R*$i0Y^Tm<3_CL3REe\85 117.1718 - !.18MA80m>^#`,U48Dh$:LFc0!t,0+$l.!G\?pL/MOW;7G)U_n^M#8jEW%+@N#CPs?IMg0i 117.1719 - V_W[59-j=k6hdbrN,0*3*-q'`r'R8;h\D</>iJo15D:^_,=R7e:+SP1jbq:)r+DN*eN`M-. 117.1720 - :lHA<M]%M*7O!_XNp1:2_Vj%2#U4g1P%)G/U?NA[-4otjPBf0P\NE#5$rdC!+uqlPW#RB@3 117.1721 - [0kV$MF$.!oQ<<OB5rX1=Is66IrVT`G,DmPfRu5i0BYel'NYD(P\[/2#caI=dPPAR<b3gUJ 117.1722 - bajZq?&,H9%ObU,A97I+:p1/9PVMM`EZV;D+@KG>k+i.WL/`.2U;fR`?]@/aH-J-E&bKHki 117.1723 - _!F^\<;-]AqrT6^7)\bsG4$XibqTDAg>,2m&*^dcicPZ6(6[#7Gn)'\([k<eQJ3XT>,D/"* 117.1724 - M615I&DC0-ca#md0/rB[]qCeZ@;5H:TNg=ga>$N0?7@p5&KuTjacB?H$'i!oT>h"AU["]cI 117.1725 - D-IM)V<+$7Uhrfb`.VOR,(R/%VP?\]8T%rE?+Plm\ui"-m>!8(LO-5%$1R>(S0E%V/8cj[M 117.1726 - S`E#.<Qc_>L`+;(5C[\_@eokHoei5Pu8^q+r#XK'AE4*M8],UP?6J,$[G[R]+)"A&V*shN8 117.1727 - j(c)\]&;_a3Gm"</c`1U**C0Nj8)C,6bPOh_A,`YZ6TBDW`A9$lPgYVp68m:%IUqcso%/[W 117.1728 - -$[X2_13jl5\8[c2;P_-r4:37\1Kt&_iP30Y-\:@K"CnD"e>pr#`QBr;QSj``o,CrWMT_YX 117.1729 - teso-EVUn[f673Sf@[*/W,%=Xm$ICa*Xh;8g]mJGG[5FeM*PL-rP`pPI@P7$9',q!%<ZqWp 117.1730 - %)Y'`qGsV5JrX[A/2Kf6B3o\%5s*9(UAm\d$D8<e@0R>qEmc.^?,J2d![kf>RD:$$W-0,Z^ 117.1731 - 0F7J]M1c*iO:pFPe7p9UIHIuNd29d!PE+]?qr<kU<'I"=cHH5H$%92D!]@O5^UX4noln#X, 117.1732 - 67j,+@"4C2?AiYgQu0IN&V@r/*0)XC5g7]#.%F6$pRu_9>$\2AMiX=:`W#hhtoR3'qZW;9B 117.1733 - ._-nREW#7d4K:),hoC4$g/'+U2&`hOBF.F3=j60$)0j(#[RS"W@',&Yu0"(pRkFLX;nG89s 117.1734 - )]X`?I]HZ*Ub7fl[*BhmM5pfS`+nOU1>sj?V6RQD6/%=jrHBa6LOD6bB=fY@g2%W7%pHI`V 117.1735 - SFt)drAW+%4-[b%/t46l(rQSe.Be:b/8gB!liV!4$od0eg0IM.]rg#W"jFYQ2a+Er6\!?dW 117.1736 - %2?9/NVg*cP#po?nRt_QltXCV&Z42=hi2K,'eVD;0C^4<RTmKd2>-?*&7]P"sTM#/8CQE&T 117.1737 - r=c*19,MN*X'S^)c2"T>`t(iYSfH+OS:3s4eh(Iat]pU?UJE'!*t8Y(]e";Qk_[l7?bE$W> 117.1738 - ]2>4T3K;SL%=2u+;TR9-OW+sMPekAM#"mpA&FKB.Y$]]/s+_DTNS8&?;rl"=+G%.3<G_]Sl 117.1739 - Gl?T!FcM=,^WHfPL,5sDQWEZpXdb%*Qi(-@OZRf7bY8A#;62WZX5X]u?H8PO>/=nSNY1(.Q 117.1740 - U3mSh`n60V,/mZY-BdCJfD^pU67=a@jt(fNlTZ5+<L<6j+>M_!R\(gFhRYFBI)jMI,YjiS@ 117.1741 - dSg!P#la_,*KkqEss7AFpI]j]ON>9_T-EH^"$CJ&"L=RmZXGIoZ\_XQ#rUM%&=_U6%+,E1] 117.1742 - L]5nortXa1Yh1q.?,ds-`]Y:<"!cgOC[K(?+iE-/Ff\8j_LVeq^EiJYYs^/t$YY!6b<3`B8 117.1743 - OJ1&OA,o7-:RG4k)VPCgc;4+Xn!%!S)2ND8=kQE22/#S[aT"_5C+n<d0-)%D?giXm#l:+6p 117.1744 - 97H4uIe8@8eO%87D)&/*&-'Lp^&t)_%=Y5t5jqAVsc=o/*:$31Xe<SuUK#%s3);PdZ7AE`E 117.1745 - 'Ui#SR8'SXl4k5&:8ops<St3Nj_a`tY?'PGQgJ)W<O5iq(7S=,fkn3&mM?bBrWbKh0(0@IX 117.1746 - mQCG^I!nS'4).@Kt1HE=HHQ8bDgUR_7:/$:).<+)D`1#'$E9uGXAaYXVC]&V8MQj)P'g]=U 117.1747 - If;i+m1pGV?H;mHf^id5-%&hcnEs)?+-%B[$Mn]U`+WREao9qAgWD:T;n1FlN*!B5b?9Ed. 117.1748 - C%*uC![jn!cr*hQD8`F,lNlZOhgYNb`WIK(C]f8ktb8\a4p!d_XoPR7FViZ&Sb5c0\,#<up 117.1749 - M*-mlIU(kG'BGk4f/:n!c5ssm@N`3l0Yo+3&mR_a27<)ds84DHA@WBD"r+cCb6DSXU%^Fqh 117.1750 - +#0ZD:uICkr.]sF0bd1pa`:p]-V<l^UFAfUUoQ"<o#.jd960#)Z9?NZp96_Q]Xosno0h%b9 117.1751 - k]aeVCY87QT5%%Tpn+bo>!RR5TsY#2BnoE!tL+m;,ot+@tbPL(_gEM7jLhidn(b'bpo@(`+ 117.1752 - 8mB4[ctE*n0EG3*@o8q@Y"%i0@5'*pmD'5;#EZ@j8E2SKr<aU2#0MRl&rJ?WZq)K4.l*-&Z 117.1753 - 88p-k0V8ojd=0[+:V?Y.r7V5nB8k^;0aRo\JoD]r)s#"Mp3;M%"Gf0tY'/3u/I#@6Luic&4 117.1754 - 37Hu;XoReu\>?8`>U>5ulqgfn`nHOQ1QpSFoiF*K?KcAZt,j=#3/U!%D#V@c\@sI,tO(7ti 117.1755 - 6]ko)-;0P+YAKg(g'\nCQs^"SA!pq/DGQa6q8RH:?].?l&811GJn8V:TE6KSkY^$0=OXOD; 117.1756 - ebGl_5SPm_03$iqS@6T,;L0eIG\2Y_M>s]T#u`o>=<CTS-Kha)rBS3'\O8A^?Y6$Lq`DaDg 117.1757 - UXD^Mj#T"2Sr(-OTOJR7[3.bYO4nQR2A^NmD\"V^oq`S'o\,+[Q]#!d!M-6O>ZD]8:(Ga2h 117.1758 - oD<8oAA:\EokN.gS3Rm]tdaPSesg2-G*Z36a(8?ZG*U'<mXkZ<d0plAd(M>>ubUZm)RVlT- 117.1759 - 0rl;A48fU1*Ps,Qd*3uF]M`&WRIn.u\/\Zh^YnMV;p%]b!#O6l(+2S`lP%Q`N@?s46!**,A 117.1760 - J:LN"%i>k\^aok=6pQB`F`aHZU6]:;RJ!PR`'#6kXT@p5,!kc6+e]JM(,1uW3RE@*+]8k2K 117.1761 - `,*eASc>0`#"/ief-u$E=QF,4,8h*mZ5l5b1pbaHu;3B\KZA2@T6!WNodJba&)j;kUDCCG[ 117.1762 - JF1#1S8+Q#Z*i_N1B>(h$72+\:ZD&2B(]@ebD3Mo9b"V/S]UZ6_p"'j-G$R["Kf%0SuB57j 117.1763 - Ki+Ao^-)s;Th6-p\PdXi\XjSh0%=):[nA9j?$<_H#00d^G\S!/OI+-m1ab8->5P`h>24SYL 117.1764 - hUN"MDKod6Gn..'PJDM<peTQOQ9.j7;[RMAkZiqiLJ&iI^R"QogaQ#\aa8)<hMTe7VF6GOE 117.1765 - PH:)pP_B0aYQ^oQW#"uIqnJ:,cptrO*&Ej*MKtG"9c4+9'.RZjq;FGKPk1K1epAu^Ic=oA6 117.1766 - ^2ZKIo#geqbC8aTRg^-#9".?K;Aqu@ZlKXVR.sglC1hqb]1FLj#2Fl)P`)sHD&&@841WH3: 117.1767 - rGd4":5Oc1'KtPdG/Qp]<NYW!H41-q%!S"tSrc@W%rH1WOf9:d>)lL%M7;<-j[)C/mp+Pr, 117.1768 - @6Qb>TGjB\b8<i]5@3`q/#>GbfNY8/9s=B-Jr=Z(#:[fJQo85Mp\Lu"r1_6fq(KIn=G%L:O 117.1769 - 9eP'HYP_2?O1lP<:TL3u3TYY36NS>"Sa$L[[&Ue!0`(&?Pd[731ilbJO0kP7PS$S4A:VH>2 117.1770 - .&s,7[$I#Bc-^D`/Q#mZ[^=#(Uk*!Oqk4q/,\(&!"rAl=$5$>2JVq'jBo7aV[6kMW)Zg-j/ 117.1771 - l;t5J>NDL7o<XX\;7"@$L:uEZ$($8gUieoO4j7AZg+&L]@WA?7(X!h5kXGl60O",X5Qffd: 117.1772 - @<6#dOf\nCm,_&AO@uE=A?;(N:(C]]?SHi,j.'#T1n(L3NjZof`mW<I5-V<M^2L$\iWO)oJ 117.1773 - %e%q56SGU!&m/'3tF@LQ+k>UlkNcmf3O]O4(/!3<ro-5)4OOtcFVcSn1`K`g[lkJ/4kaHcK 117.1774 - %Nr2jGCQe,ea@KiPncg%ROU;JA=!.V,=-@UT>K`FY04k'sR\BO``+BbR;*;abF&LW2oIN%- 117.1775 - EK(dk!$m[=\[IME0pYiT(bD'0JX@"o6A,8i\b*OKjl#m-@6k563])E=OZGg[?B\0=P/h1J0 117.1776 - rB'DS(!gM:DFhbR1([A`;4s^C3;A`;7n(abseUn+aL.l@`+;]!jbpAH4%(-?E``Y;eCr@=V 117.1777 - hp8csck\(bu<EBZ70tlog.?%8jKUQIFQW=)2N`6[5437,%N^D^>FZ\7kFA7ddL7B`f[iWTq 117.1778 - Soi]r(';.`r3Y4Ir%+$6A%:QYjgGEeqM`aa$(Muhb<UBbahTlLl_.PBW;S2Z4BrZT3p78Sd 117.1779 - T9(DF(0ud!>9pOYj<Xe0s!<B;JUD$18fi<lm`^'s``!eYHneE7!Qquk-e9;NN(^E(O(6ZR6 117.1780 - T2XF]W^)iO"f*V&a!3u=UL8Oa@k3O\rh7hfQW*11:Pr.':"=RA><-<.9+X8@),\RG)]b2SW 117.1781 - ZY[&Bo?c(DQ"G=9GfSCkiO+L1kG@^?Upg3StL_YEfLonDM%#k6Nd\_GLY[dd%Iu9Si=]7ru 117.1782 - pHNP.p5Qmh9LJ-g#g(2K]Uls54*=gb(RP%"=N-XH,sja;QKY$1a'N+u6*RqaUtI61!TKRuK 117.1783 - gC]-0H2hf)*tG;!&>H(Js7I".:LITO]R(P5KRJ!oqXOXeu=$[m6Q29pa3Xmc7[@)hBf-MKZ 117.1784 - ;+D_<IkUd%k\%rOd5IBJ&-a0U?kJQh-UQL+5-49T+.`SE_Kg/f+^^L6/*!/AV!so?OU(_CV 117.1785 - _umek".?*@Skt!5(ki#Z$T\rj(.u+X,)eT3CbcZT#Z@u7C"=aAY8f@o'H=T^=e^Md(C3pT# 117.1786 - TH,GC3Mpb)aV+:NmR3SlN0Aj+$=l^1Fl?hr$"G3[?9B.MXa.?!o0p1KV-%R1h]R?nR95SKU 117.1787 - [OeTR/[?"55H@HE%5O_[=m4'*&5-2a]R0(]]-%BLK-&+=WeL1V7eH/36/!j,EKfQS^ckgPn 117.1788 - Hj0>\\m6js,50EX]m=fI2_`(1KY=tck6"qskn"11W*:e8O)@AY3"WXscX5mA2=+>N2Y,@H( 117.1789 - V`)8h+OfiAO,.M!\#[4pK5t-0'3i"kHe3-6Z>;iPcT*)16]O!cg=g1FXL`1$Ale_`m@mZku 117.1790 - M^+r?OWZ=8#Xm%N517CcZ>h]TK`ZpD6O3^g10MG0(PkUO`sZ=_]O&W0F#\PMMkjOs4E`R"> 117.1791 - ceCt7r3H5K6SpqZ5t->SM5_qE)J[k@??X6]G,$/#TLi8]bW-4Lf:b_gkH1<`^I=(RlRi3FE 117.1792 - ts/M`/,q6BmHdCbj)EO"sCQS7Df**082lWOtjT]:-\blZ@q^<u(&)80"$e^aMTr/W0_?!^* 117.1793 - "p8`Pedfcp6GJBNU;1nmSnUImYE*jh$I"Jj1ULD=SF"rN$r9WB6[&rRkPb05_V@i<;9R7d5 117.1794 - S7p.H"4.64t7"a-G)hAs,Z9f/91P9Y#5_Q%.S@V@p]1]\Mb$927`4e.1V1LP>#ZDe#)jqY, 117.1795 - fbfi$M\BQg/?hf]J\mNuLK)@t]ZMt=Z:%e,apCn'jG4(@CJ4$@9aoED*7>J$]h'/@M-MgWg 117.1796 - l3=Bd`m*N$R4`/6a`8MHHFMYP*uW,`8410hZtc"J2C:<JrE$Z\1kSR[kNKRaFPBTY;Ps_9n 117.1797 - _b+SE`kNlOJciS6VotEUo$`)U?"b-b3NM"'5R,eW*2)!_i8$0NA[:\1hE"9/nBHRc_m(hoH 117.1798 - eq\aX>E5eDrkO%P4Zb1M3=0cRb%^V;QdcOC%S>m=,B#7==?Y7(S'g*6^:,RjVVd)pTjn^^H 117.1799 - 3It[J+#TKUr<;dGsY>6$X2.OHaEaI)(3R!S-%_W"$9CR`S;:2nZ%Cd%B&?`tp>V`60\MXgo 117.1800 - *?nB5,>pL]:lOd7fTshHT?dB\;Mn*YPE:=\ql%B'Z4iRWP;*EU67@X[dg;ErM^AorJq:SuN 117.1801 - b[gI/H%#UHAkB<#Z*k:S?.:d):Fd4;p@I(h$$QsD,?ml,W$O%m$H2_6QtBn,\2?c&1SSKPn 117.1802 - oc178Zg5]"p!q:_&Hb#Sd@c#V/*d#s\Y]eI>AU*E#H[e'nP!eOn&bN1disWmSoB^)4.#F[F 117.1803 - VY>?/@A<QlOb3Up,"?PqdR$],0OR_2!<moB<s<_[.+>Kp1.DH:=^(,]K_U<*ZcKo#RBX/T8 117.1804 - .I;5bg+fq>hdY2Ad*HG45F&c4Q8[WWk=Y!OCh$?&5&l=Z:BS-RVCsTVCUmU?\Yu+$AG$"Wm 117.1805 - =:Kg@`H93JJ_2t1f5W:"+O^W(3/B%`=2JS[FbNpdMcdZO=N_3'oa019NEGu^=K*b$TRo,\N 117.1806 - N*/0f8te/d*ErIM@63Z%98Nn"e&SrRp!>";H5s6opf1Ko%BEZQ.\g'Y`7=\JXE]#V+?Ks+k 117.1807 - YAueCk(u>)fLbSZ3lFN^_Ki>-4n63lhIc\d0U$"uqNEJ:sSDDP3pt'bt]nrM'W5CP]rGgBF 117.1808 - ;WU-"pRLPR)sUgq/q[BGB,[>8X@a3#9UXbtmCL^@o+Uh.8r&E6pBEnH?JgkEY%=VTXn!$lu 117.1809 - pgs+)Kh9He+5;aH.>j]oFBj4fSBNOklg/Y^!NRLI]>Zib7fg(-jd#D4:JR*e^>AUNK^kb.8 117.1810 - Js?n*?1<GP"i=PFZ/.0uN]kt7*T@?IM#[_$#U"h*34`D7dGDS'?HqjMPT[4NmG?[g#m*ZN8 117.1811 - 5k=Z4-de=>tDO4c1-;b9Nj]8N:Di4,'K\OL0FCX#j&\S7;`SHJJH!8cM:c&ToB>+_^Z[]Lo 117.1812 - '4fpkE$%T-n4ROU02A-0kg3>7jTkfnbI=+FfD39O2pGLhi5^%ME2&'4Ele==ht\7M](=on\ 117.1813 - `7?\S.n^l+0Ek*W[>M>eHM:&0Sd&VuSTO[/"6I@$rW8Vk@N@&\)iXchWKLY\&Ci$l=q5`"< 117.1814 - 5U]f&2=KT*]IJ[>o.UG0!gO9pu*\q4X1CIe0@m2bXl18BJO5SrTinBUME/*9+_2+rc@#0P! 117.1815 - pn-PBMV8fP#_j`5(+BN+h.--fih_s+NSOj]6jYH<?*NC!*\UrHNfH:Dj'GGjhG.VFR_5\Z< 117.1816 - CTbm/h:G#B8I*X,'HTbDFn'bLZ@Le#_knec;f[L"leqPhp,5.IONsB/E6G]AVIZ/c50o_YD 117.1817 - ]84AKGDp?=me_Me*(\k&p0!.+6aU-K*70i8tsek!m;9LgWC<Lh94_?-?gA?jH[&@+HBT(3& 117.1818 - 9)?<uKV@-265S]U"X@qM$S?G6Mt*3j/%IgC420-,1JrMl-kEo6Z?k/F.XW/KLIkD5\bB;P? 117.1819 - 6p1!2=j58dMAei,a5_WIO<s[@<Au`t80i;OXGiq6RMlqroOH3sJJn]XaB@qcJm[.Yd2!M.3 117.1820 - i5UleU6K>WPmG(g'uC41=n_(+JS/"'Lb=bQn::nrb@HotB$QVJ2L/c/Wp"&bC<`43Pd$#\X 117.1821 - _G#@.ZGb!7^(c/FbhAu#[M015+^U`X9a6XfCl`7\;B=\$jj'Z`7?$p#-!J4X,%g&A?L:Fk- 117.1822 - sY/_cSp"R@_An-H"u2m]e$^#NgU(D6<-FJng*pet.q-G`5[p6%B/2A9`i?-ie)qQ>5P7CVG 117.1823 - ..W2J>R5\;(7?A=d3m`KCLgMOW/m!CMqmSRi?l^cR?g'*Aj?GL($eV8dOjrg12-7e2T_2<, 117.1824 - $OVj_VfS+,?ent-IDU.WL%F9g\B^X]8@(o6>NkgHgc%cR]gpRCm?H[52M/,6FO\h%oVKRfV 117.1825 - cfB6s);a'S*K'4_o&&[U(odmRhWsV8")pI-:hH2RI6ggLmFABCcNW8A`fJj@Gi'p)k]VU\D 117.1826 - A`^l[LNd%'t3610(k2.#L<$%>Cf@P?2*h0N2J86A"\le^AmZQ_MV1MS[T/pQ:Y7E(C5d,KB 117.1827 - %Ztr_2a_rU>jnE_duR46JT3Z6(88j)3Cf>jCN6Tke=thPU$OAgU.GgMk_8muWI\-MiPNcZ7 117.1828 - OTkCAOu(F&7=)i@CK@0/Q#7K7DC)/E:unu"Wlh`aK;J>EJ,M,bpC-PZ1=kobFmka4hWTShE 117.1829 - B'3hu'nW*\:\BGu%V;^@ngA$Wh(JBT*\r@KbAMHjj:6Pss\FhK)l!UHM429QIbgt-)>?=/) 117.1830 - LsB=0+nJb[F+6Q"hd1Hl+7a7TDZ<"CNtcW,?ZnG(l$$Z]?Y4It]Ppu>9jH7+CtEiSCD/pDG 117.1831 - /%m;hekrLX6bm4p?uu=%rCt^F*Bij6+rgkm:Z/hG8T4XpO@I4T6`VdFkXlZpTJu\5Buq[Is 117.1832 - :pC2Xb=(%tYJpIeYRLGYa#KpOW*HLNn<)G`R\Z7u$f2Mg3!qGgD@BT8NF$O*L\dGn6$(095 117.1833 - iMPBfBWGu'\dhide?kl^]i"8FU)_p\@YRJF%VH,#nq\"7lkT)%99H4QZp+.rB_TmAYlH9\6 117.1834 - P:SrG.Vg;^JqJW<YT;d.?W;=9/HH3(4c`VTOYBng)H3d^ZkZ\n^6j>nEHN1/F&%-b&[X3M3 117.1835 - qiA45QahC7]6g`oH`+Q(^V0LM<X-WGH$@)P)JF?0E*CT):7*+,3$/.!8i\!6r--50T?2Jaa 117.1836 - S`fqI)jEXcd$pqc[=?kI.,G[s3Z6JdX=@-rD1mj=4DY*f6qSiI:q5]J(ad]g3p`jIF$XGhp 117.1837 - )@\AqZ#$!ao&\BAJ!VhL7-=IQuqC2s,Qbk5J`NIZN]ATBH3Wl$g+u";kW!-cH#Qmj,*S8Jc 117.1838 - @Fr6Tgu`r;n%s%i9:?gN8\om_2ZIt.9DO8=?]qgJ4s(uO;$-i3k8qZm1%-l%;!+E1FN*Yem 117.1839 - 66=I+.F@IDeLW*_"BV\rl)3.02dCB*t5pML`A28EUU.larZ&io"KZ7RZRS@DCH,Sif4.]5\ 117.1840 - e+s4PKgVS3B[h>s-C%6$;eabXKgqn;W`<faHGsL(>HV%Ceb]N)`FH2VCt<r%VU]Ij>A_sgK 117.1841 - uW4;IpHEJGMVESGCDbpf2qXk"bX[#E7fP--P_QZ@r^/tH2WPK0s1q1>eXDsS'>Se3W/#l4e 117.1842 - ^;;o\(ldQW'g4CNZ*E?H6?WfPL99?,k?9\)$IrS,N'dHc+44S#^@\-?=oQ+ugQ;(I+bDl?# 117.1843 - )C5/11(g[0334oXVsKWK!j3F72*Vq(,,H[XcNLWANJqL*hMJ&gaFqu2(YC[q8802($f!&+r 117.1844 - U&HopH>T!a^d!QuB_GHaO$Gt0&0atrrgc5k^d/60@`).LG'#`0[;&$c="9ANgBA3.`0!SAi 117.1845 - )TL1;E?*"rgj's]dJSP<aAO"7,081o)L9FjS=(_GUn",(8lD1Y.a$2NIhj]bF9`YdnXQj<b 117.1846 - YoM'1<e30d59*H>hM$[dsU+6Y"+0/!)D"UmQ=9DPkdMhe,99Hb>8Q9(X'kc%m\NA>o?,Ze9 117.1847 - rK2dSubd9%)5&0Xf8^K^hg`6cCiXe5[M\$W(X"\O4b%/Ql-)eU:k.elA8T>1V6;EB-T\S=O 117.1848 - !/"J'UAfN'#KVGM8L;,g"Y%?"iOepX6*g/acDC>.7PZ#&/qh77F@Ps(=Mflm&1Eno80d<+2 117.1849 - G?.jDWf6uV&hH-0aE$(3i@04XGAa+[$fDYf$i)h$,K&G9F&VT+F>8)?:8(Jh`9Gh@jMW3:& 117.1850 - 0oY-phDpVVf`"0u_RHrsP+PCt`iIS\m.!g2=aje;AWsbOREiu&C]J'#DKD9/fuAN4kZT$aU 117.1851 - ?L;pOI>0t2GUogQ!15Rk1OpAWp81'HO+C9`AUk7_a_J4OddE)=_`fM\#Zc<9H1De]'d>;k1 117.1852 - ^akZL$i,h6h0*hYFnSg\l&G:tO50M<ZnJF1^o]?Puc10NT<FRN.]ab3(n"mB@$+mio.[4T< 117.1853 - OKDg^mLaRWqu.OOa,^I4Z8MaosQoK*9sg@j@;ESU:a7g1O7RY%J>GXFEHiqTF\Okoh>>l!! 117.1854 - dRs/AmqGXXplLUGOj6()^e+MpGrh$%PPlAC/\bht2dIdBE?eP.M2E\HZfmX1^qYo"UcMVOt 117.1855 - fD1_T/tA@Z[ncr+d+NrqOd81DYgqXQpO@,S:;?NN!)oZqIukL`^kFiOT.BYgd!cNm(duGPJ 117.1856 - qR9"mLd='<1i)_p2/%7E5N<b$VLUZA.[Dh_Y.gT7gq2)A\K-N\:kLR,XmO3dLr\u,ekNc9o 117.1857 - 6kI9thu3b8[+pMT$JB5Y.cM6f_MhZ$m-0Jn#<6,H4H+V?0-%N<P!bArDdonOB77l.`!4Ej; 117.1858 - JY_l,UqiX#RA030[&LG^&[PHK9C@9U_A:EWTK<JolR/AK:DSYG=qMrOFaZU/(<+67;>&Y]1 117.1859 - o,)I6anop8&&g#(P-QQTRGEaiE+-63o-<[lJO]"jQ82mRtS&C)&nNL>S)20d,,&2>#&AH#< 117.1860 - M_aF'@s0Vml+5;dVW=hm:Cp'1'6\ELB!QW2"TDFreF*DF*7^QR\m.4hRgkoNk>(E1?I%dlX 117.1861 - <r:[Qd\Kr9h;lVk/>tcdrKG&npNK14QInhRX%3)B0&te5*'7VG0_Vq:2!>mRC$:Z;49@3d( 117.1862 - ID5cMbXXb!ekD/-KOFLmgAK;b@A=S!j<Y!]q;ujQ$aS-EaM=\ajG\geA5*1a1AjH.<*I7#c 117.1863 - "np7eHsklqHi(o?k,Qp)j"-"qB,-h(S,"PNuPC*`[TZ<g]jV27d.m49S`WQNe$DbI"6Gc)d 117.1864 - `R>hPgs!RE)Xn;$7e'[)KWWSNb<;;k]d.nD+3BX8`!i<\QB2bjJ<[Lg=2i#PV6AbA;Q*k?5 117.1865 - fXMB!lNDs9oTIR))b"H-+cg>RRO-Zl<GL?:Z)NueY:#.-1!0YXY,nq2PF;KC.oA*m/uG$Mq 117.1866 - [[R\He"q\=IqYn@p9sRQa<M<#1EC#:?d/k-BcVI>1YuSai0%DG1O6%7W!,O]t7&5oU/qX.s 117.1867 - 1&FZ('<TRb8'oEXCREZgmiP;Yl"_$=2&aWS7%ZS#]pK]p,pL*s>uA'nXSl]k"RL#%8C=?D> 117.1868 - @BY_"XP`Zfl/fjslAEkskE6@!.+_fR5lffS0PI,nqBc";("lJ65=@u8aB\F5BKe&=CmmhPR 117.1869 - u(fEn5ANPa+N"*[^G83KgEI8)t,cK@'RGruWm0XU[F7h[X@f]AaRmaM.ptE%26@4`pP`I1. 117.1870 - @gQb;eXH)?_kYE;A@Pa0RrbAlXGPr:;HP)uEa_^tc+<^N!f5U713UT=G97K8!p2+`@4/Do4 117.1871 - %mG9P-Q*^bkZNgkBTc<8iE-bg%KRQN=h."NQ/cQ(IC"GQSrleU*c<\bNR_oWQE/A!#eD!kt 117.1872 - FaHYV$j>])Q/S*JG'rILt.Y*W"dLZ`K#>%'Opm=(C&W5NTj!OT`tIjiQPio,M,\!!;e.h#p 117.1873 - I:Gt)rPThB4&SUUt>cGM`)=mP'W[<AlogGfb:_eCd5pB`a)S!R)k).gUl7g7i+++uJAMb#X 117.1874 - r$/s1gf^DBr?ajY,QEg%5Ds:cF?Nr!@\YCop]sk+'[:7L1$ZmhX,2BGQ'U'J/P%X2=:&*Tc 117.1875 - H<bfbnkt[m<:5Mg06<3FNcW,7-Um7T*Ir+Air(o.9lJeSs6#A%`jAL7lF`1''+Rs>q2QuhA 117.1876 - FD3f]V21u\MNG4Q\"jaL"%i";sJbZ[1nT"c$PGslh=buPFf[UqSr$m)fpE!0'h!!-\_'H*G 117.1877 - G)B;rToLHKU.FAoJ57i;5@9^jA;fp^Y"!4PuUjr6NJ!3j[^g]%HQ;hoPI'X5*0YQh>dfR<? 117.1878 - 8/g,K&3i%nZ]qG'cFIHS<<hYgK"WKls:,=CpF:!MGT`lg!n:\C2Q:B1lP;Y@NDn31n`Et5O 117.1879 - YITi;o"RB?;caDYrYK)ti;Y9q;nb'K&T)=&%R!g'R;SK8j-pGhVGV@nL6t7eFic=rHPh1qo 117.1880 - s)3eqcjp-g&kobSc#E"rEY3,R!c[a&F\&+[I",4%Xrd&k+-:TjbmIf.5apHj3(asJL\@ 117.1881 - )n;L"=9rIBWPd,.fHN^"JTN2:W+`%3o@*MqdPNfDfYgFG4/78;m9(GYZ/ilFTO7_@n2V%a, 117.1882 - LE2KGDk%$ALVCKaN%LQD?48$\d)R/XY.o81)Jcrbk3u#9pDAFt"u&AoPo`X6uTFppP$Y;f> 117.1883 - EWO?P"jE<"p4PL.7^VnTJ&g9>-LrIo"pmOJ*1r$INHe,kg/m^io^n0sIOjA8+mOQ-gb$78U 117.1884 - 7Y9n)q6=CC%1ac,s#S?tU01N1hgeQ6)$aElBd3qr3pD)(f@5+ijk6DAi)]"QZ>75UlM+!J" 117.1885 - DC4iS^0sdP/+=Sb:6MlBp2F4(%]\>[`>*t'LPocj,'OO4!,Sp#YYA"2:$T\jb10-<)Id1\k 117.1886 - pVInfW>Y;e*U9W&N]2Bppt-a#fTFQ`lAo!kgg;h(lQ[cZ&X?)-Q-ZA!0Cn#,&\ANT,M^LMU 117.1887 - ARS;6q3^#d>g<'i2:@WQuP.D$-\7*26j]huJqFe8gSE%Di&6ncl6*4rc<C(Qqs+EF;QG5:+ 117.1888 - `i?>kMB;J@K^UuFmG+j^4D/\ZT@M!smD"d4]P/aEU<`>e5]cr,%5Be%k(Cp<C%r5l&dU1l) 117.1889 - hD'u/O.E=(lEJGq0U70Ma)=a7,n+S6tXXQ"_*-.GQ9rR01cRKCn-ZZNuU1YsTI4FWh,,TE3 117.1890 - noHJgRjJ:0(/k;h`QKURR5"4J<f:S@bb#&JLG@-)X![%nnX0Ilbk<['P`j!+!;SCk^G>q1L 117.1891 - PNgEl#dij!:$m;&X,t+#RN.nE/o[mPJVX3o&BHM`@<'ZCoUg)ZIW!==DUII1*VE37Vm3'65 117.1892 - Qsu&b>BK7ja2$4X:<F3E&F!!Q-b>UGWIV3R_+g^sP%P)CSNs26,ChdI`M6E;\YA2cAifF*d 117.1893 - +-I_7HS5*P:re*\i?l<+^;$SWYe'E:<3"$ffj5a2XA`>LBa[m9R%6'N<Se/q!k,=4d=5r!L 117.1894 - KF>#uq1IG,#6^0Z"_P9GlYZKq48]>m@oM7mi;ajYe7?h!7e+R,XN,[_Ea:qoLe8IhkF%92R 117.1895 - 7u0YNe7.BgY\HX?2fsC;e;m08P=\`?8VRUB&TL%PVaPVt8X)q@['*+:ZV+9,99d"g9H7LuK 117.1896 - 1j_79U*^oeB^i'dT!8B_=Y]@<8UFbj%`S::6b$6F@/gQo1r?[:R(`PeG_U"lr>mu:_a@7eI 117.1897 - PLl'2_aF.*.R#7JAN:),aH^;O&b1eLsQ1*/*m$;\_AmeN["J6W@#,;anY"F[oFH;cQh!<L$ 117.1898 - b^eF?Ph@ocTB<g@H$b=bM0ogVr"=-\,6eUL[9Jpde,@HNrF'dHg\P?CnP=d>IZ`YD4&+Cu9 117.1899 - _0O]B5^dVHBZWf;g(W+ZC<PMa<_@]ef/YIAoe\VGV/du4C%Md`(!+0%6g(O)A>nsXb[I,VH 117.1900 - \R)\J(,btne\PU8`Xu4o>kPr@edl&Oh-;hq"ngt`Q1c.4+tZ*I@[6Wi<VdIgrZ5)k&%4MNT 117.1901 - T`n$d9tn7@3FN7p#7QS8S(pS@Ni!cFt6pC0J0^nA&?o0!0^qo&1s2/&%4#@[T!s,=^j_HA[ 117.1902 - X1((2$utGV-?o>o%<0[WuN:;e:+G@Y'gs<f:=.N\-PK?(g.jFq8;q6#$$S@b&166IfQ]/S_ 117.1903 - _t@Q#fE@4j.?)-n#iCZ)=2+He=b"`1T]D&)qb<[]P"mMr[k??Y@8(?\ttgKdh,>ekW'290W 117.1904 - Yc7LpH?Zinu2=GLMi%:8V>W(&O6SEGEc#M\W@b1cdokd_3#Srb-B/`j,K%2Pcm3Y0P"4q:! 117.1905 - J<tH]g'^u*AUkkH_V,RqJqak*/D"->+\R(s?r!S9G%0'HTKHeP)g>A.;n%,TpORQYC`6B`/ 117.1906 - O>/=f8k2$drli6%6)E]TNcg\UNAiUG@7h&[sfo[/Ug01HXWat\%ZJ+O;+GCB/dsB2pZmu4* 117.1907 - j6HJ'[U5\)\1Rl$J$2I\q1;(\hUorEt/#AXCaIU>(4%?n3'*B/dI?@b$%,D1U^!B/eRsGUn 117.1908 - 1Z0mp?C/GJgi\%RG2[V%ON&E;Gj``[u3fl=N!K&YHSAm%[!]7n7AK>Q.\V!Wo(D0OWPG@K< 117.1909 - N!1%2_Sh7I$;n.E0Q],P.?&6]iAXJW4Qu5j4T8D0>MDo=.B+TiBM0/DrFX%-L#%riq`Hc'. 117.1910 - H(ri7pMY77fm8>AHIoA4pP+qWd>d9kIohk5Q^KP;m<7+cI:CfV\)2MkfnPk/I_sQdf>2r]j 117.1911 - cJV;JjS.Bf@=lnomPGmIKJ,RQaMBRd?=7qHm70l\':,h!`'X;/U0&Qij4m3B7@@")H\#/=< 117.1912 - Wlr?nHVH;n+E55gt8#R?o7'Lq"=W=@JSO87pLqR!$Z/R?*&Rc%otERA/)^->/7Rf8Kk&RY' 117.1913 - (WK^kG^I>nqt4i57/H'sBgdtlo_S0HLRAFH%_du!kB"5(phL8UT:`K4XmNZulBH0QtAmS;E 117.1914 - Q/Xc<2\>>a!rap-DNHJ0![3&>"$5ja?#b!iMg-)3>O=`c_UmaND_)\>.V@-R$#_;ZG_V,RT 117.1915 - A#4^JVLmNL>$7WLX=P8WV]%W*!lq*fl)122V#`TQ>$5`pfqoo%VKuu/RW#*t]rFEK)LAH_H 117.1916 - @@DKK;`3'X+K%6]"b3\'<,/HUtTJginA4[LT3YRWg^&f]!*`S\#Z7VX5M1&2S:W1\.UiXXT 117.1917 - lJ@>,El4f;N^l/GeE?2G9m8l7KU?YCbH03d[m#VCc!UVn33cg4uYS&Z".rY<'4mH@d_?0;s 117.1918 - 4BZ?i@GEBYpWc)$mb/XF#R3kd2WMmN7OZm`\rHE)&,5IBr+/DF1#gK6%R>Ru-`T-D[k>'mU 117.1919 - Xe#/X]UcWT;4*JXGf=0Hu\3er[>D\32fspluVckTM<<WaFGIuVM]UR*WgX!P:1?h>q0H8c[ 117.1920 - gY]^aj1\a\^74H&g[Dlro=nN(^RP,8g],&/"2J.H^mkeJg^h4@'>[oi_42I\g`OBQ,Jm\5_ 117.1921 - ON-ngb6Pb1W*HV_jig+gcr^s6c<5"`10K=geYm/;oN!C`LL/OggA&@A&_bd`gghagi(4QF2 117.1922 - qO0a..LsgjdBbK?.;QaIJ10glKM:!'gSe~>Q 117.1923 -Q 117.1924 -showpage 117.1925 -%%Trailer 117.1926 -count op_count sub {pop} repeat 117.1927 -countdictstack dict_count sub {end} repeat 117.1928 -cairo_eps_state restore 117.1929 -%%EOF
118.1 Binary file 0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/VMS-core__internal_workings.png has changed
119.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/VMS-core__internal_workings.png.bb Thu Feb 02 12:22:53 2012 -0800 119.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 119.3 @@ -1,1 +0,0 @@ 119.4 -%%BoundingBox: 0 0 1465.44 623.76
120.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/VMS-core__internal_workings.svg Thu Feb 02 12:22:53 2012 -0800 120.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 120.3 @@ -1,1046 +0,0 @@ 120.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?> 120.5 -<!-- Created with Inkscape (http://www.inkscape.org/) --> 120.6 - 120.7 -<svg 120.8 - xmlns:dc="http://purl.org/dc/elements/1.1/" 120.9 - xmlns:cc="http://creativecommons.org/ns#" 120.10 - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 120.11 - xmlns:svg="http://www.w3.org/2000/svg" 120.12 - xmlns="http://www.w3.org/2000/svg" 120.13 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 120.14 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 120.15 - width="744.09448819" 120.16 - height="1052.3622047" 120.17 - id="svg2" 120.18 - sodipodi:version="0.32" 120.19 - inkscape:version="0.48.1 " 120.20 - sodipodi:docname="VMS-core__internal_workings.svg" 120.21 - inkscape:output_extension="org.inkscape.output.svg.inkscape" 120.22 - version="1.1"> 120.23 - <defs 120.24 - id="defs4"> 120.25 - <marker 120.26 - inkscape:stockid="Arrow2Mend" 120.27 - orient="auto" 120.28 - refY="0.0" 120.29 - refX="0.0" 120.30 - id="Arrow2Mend" 120.31 - style="overflow:visible;"> 120.32 - <path 120.33 - id="path3563" 120.34 - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 120.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 " 120.36 - transform="scale(0.6) rotate(180) translate(0,0)" /> 120.37 - </marker> 120.38 - <marker 120.39 - inkscape:stockid="TriangleOutM" 120.40 - orient="auto" 120.41 - refY="0.0" 120.42 - refX="0.0" 120.43 - id="TriangleOutM" 120.44 - style="overflow:visible"> 120.45 - <path 120.46 - id="path3682" 120.47 - d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " 120.48 - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 120.49 - transform="scale(0.4)" /> 120.50 - </marker> 120.51 - <marker 120.52 - inkscape:stockid="Arrow2Lend" 120.53 - orient="auto" 120.54 - refY="0.0" 120.55 - refX="0.0" 120.56 - id="Arrow2Lend" 120.57 - style="overflow:visible;"> 120.58 - <path 120.59 - id="path3557" 120.60 - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 120.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 " 120.62 - transform="scale(1.1) rotate(180) translate(1,0)" /> 120.63 - </marker> 120.64 - <marker 120.65 - inkscape:stockid="Arrow1Mstart" 120.66 - orient="auto" 120.67 - refY="0.0" 120.68 - refX="0.0" 120.69 - id="Arrow1Mstart" 120.70 - style="overflow:visible"> 120.71 - <path 120.72 - id="path3542" 120.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 " 120.74 - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 120.75 - transform="scale(0.4) translate(10,0)" /> 120.76 - </marker> 120.77 - <marker 120.78 - inkscape:stockid="Arrow1Lend" 120.79 - orient="auto" 120.80 - refY="0.0" 120.81 - refX="0.0" 120.82 - id="Arrow1Lend" 120.83 - style="overflow:visible;"> 120.84 - <path 120.85 - id="path3539" 120.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 " 120.87 - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 120.88 - transform="scale(0.8) rotate(180) translate(12.5,0)" /> 120.89 - </marker> 120.90 - <marker 120.91 - inkscape:stockid="Arrow1Lstart" 120.92 - orient="auto" 120.93 - refY="0.0" 120.94 - refX="0.0" 120.95 - id="Arrow1Lstart" 120.96 - style="overflow:visible"> 120.97 - <path 120.98 - id="path3536" 120.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 " 120.100 - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 120.101 - transform="scale(0.8) translate(12.5,0)" /> 120.102 - </marker> 120.103 - <inkscape:perspective 120.104 - sodipodi:type="inkscape:persp3d" 120.105 - inkscape:vp_x="0 : 526.18109 : 1" 120.106 - inkscape:vp_y="0 : 1000 : 0" 120.107 - inkscape:vp_z="744.09448 : 526.18109 : 1" 120.108 - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 120.109 - id="perspective10" /> 120.110 - <inkscape:perspective 120.111 - id="perspective4311" 120.112 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.113 - inkscape:vp_z="1 : 0.5 : 1" 120.114 - inkscape:vp_y="0 : 1000 : 0" 120.115 - inkscape:vp_x="0 : 0.5 : 1" 120.116 - sodipodi:type="inkscape:persp3d" /> 120.117 - <inkscape:perspective 120.118 - id="perspective4336" 120.119 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.120 - inkscape:vp_z="1 : 0.5 : 1" 120.121 - inkscape:vp_y="0 : 1000 : 0" 120.122 - inkscape:vp_x="0 : 0.5 : 1" 120.123 - sodipodi:type="inkscape:persp3d" /> 120.124 - <inkscape:perspective 120.125 - id="perspective4365" 120.126 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.127 - inkscape:vp_z="1 : 0.5 : 1" 120.128 - inkscape:vp_y="0 : 1000 : 0" 120.129 - inkscape:vp_x="0 : 0.5 : 1" 120.130 - sodipodi:type="inkscape:persp3d" /> 120.131 - <marker 120.132 - inkscape:stockid="Arrow2Mend" 120.133 - orient="auto" 120.134 - refY="0" 120.135 - refX="0" 120.136 - id="Arrow2Mend-9" 120.137 - style="overflow:visible"> 120.138 - <path 120.139 - id="path3563-4" 120.140 - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 120.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" 120.142 - transform="scale(-0.6,-0.6)" /> 120.143 - </marker> 120.144 - <inkscape:perspective 120.145 - id="perspective4423" 120.146 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.147 - inkscape:vp_z="1 : 0.5 : 1" 120.148 - inkscape:vp_y="0 : 1000 : 0" 120.149 - inkscape:vp_x="0 : 0.5 : 1" 120.150 - sodipodi:type="inkscape:persp3d" /> 120.151 - <marker 120.152 - inkscape:stockid="Arrow2Mend" 120.153 - orient="auto" 120.154 - refY="0" 120.155 - refX="0" 120.156 - id="Arrow2Mend-8" 120.157 - style="overflow:visible"> 120.158 - <path 120.159 - id="path3563-2" 120.160 - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 120.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" 120.162 - transform="scale(-0.6,-0.6)" /> 120.163 - </marker> 120.164 - <inkscape:perspective 120.165 - id="perspective4461" 120.166 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.167 - inkscape:vp_z="1 : 0.5 : 1" 120.168 - inkscape:vp_y="0 : 1000 : 0" 120.169 - inkscape:vp_x="0 : 0.5 : 1" 120.170 - sodipodi:type="inkscape:persp3d" /> 120.171 - <inkscape:perspective 120.172 - id="perspective14081" 120.173 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.174 - inkscape:vp_z="1 : 0.5 : 1" 120.175 - inkscape:vp_y="0 : 1000 : 0" 120.176 - inkscape:vp_x="0 : 0.5 : 1" 120.177 - sodipodi:type="inkscape:persp3d" /> 120.178 - <inkscape:perspective 120.179 - id="perspective14206" 120.180 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.181 - inkscape:vp_z="1 : 0.5 : 1" 120.182 - inkscape:vp_y="0 : 1000 : 0" 120.183 - inkscape:vp_x="0 : 0.5 : 1" 120.184 - sodipodi:type="inkscape:persp3d" /> 120.185 - <inkscape:perspective 120.186 - id="perspective14299" 120.187 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.188 - inkscape:vp_z="1 : 0.5 : 1" 120.189 - inkscape:vp_y="0 : 1000 : 0" 120.190 - inkscape:vp_x="0 : 0.5 : 1" 120.191 - sodipodi:type="inkscape:persp3d" /> 120.192 - <inkscape:perspective 120.193 - id="perspective3233" 120.194 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.195 - inkscape:vp_z="1 : 0.5 : 1" 120.196 - inkscape:vp_y="0 : 1000 : 0" 120.197 - inkscape:vp_x="0 : 0.5 : 1" 120.198 - sodipodi:type="inkscape:persp3d" /> 120.199 - <marker 120.200 - inkscape:stockid="Arrow2Mend" 120.201 - orient="auto" 120.202 - refY="0" 120.203 - refX="0" 120.204 - id="Arrow2Mend-8-1" 120.205 - style="overflow:visible"> 120.206 - <path 120.207 - id="path3563-2-7" 120.208 - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 120.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" 120.210 - transform="scale(-0.6,-0.6)" /> 120.211 - </marker> 120.212 - <marker 120.213 - inkscape:stockid="Arrow2Mend" 120.214 - orient="auto" 120.215 - refY="0" 120.216 - refX="0" 120.217 - id="marker3239" 120.218 - style="overflow:visible"> 120.219 - <path 120.220 - id="path3241" 120.221 - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 120.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" 120.223 - transform="scale(-0.6,-0.6)" /> 120.224 - </marker> 120.225 - <inkscape:perspective 120.226 - id="perspective3353" 120.227 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.228 - inkscape:vp_z="1 : 0.5 : 1" 120.229 - inkscape:vp_y="0 : 1000 : 0" 120.230 - inkscape:vp_x="0 : 0.5 : 1" 120.231 - sodipodi:type="inkscape:persp3d" /> 120.232 - <inkscape:perspective 120.233 - id="perspective3447" 120.234 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.235 - inkscape:vp_z="1 : 0.5 : 1" 120.236 - inkscape:vp_y="0 : 1000 : 0" 120.237 - inkscape:vp_x="0 : 0.5 : 1" 120.238 - sodipodi:type="inkscape:persp3d" /> 120.239 - <marker 120.240 - inkscape:stockid="Arrow2Mend" 120.241 - orient="auto" 120.242 - refY="0" 120.243 - refX="0" 120.244 - id="Arrow2Mend-8-5" 120.245 - style="overflow:visible"> 120.246 - <path 120.247 - id="path3563-2-5" 120.248 - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 120.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" 120.250 - transform="scale(-0.6,-0.6)" /> 120.251 - </marker> 120.252 - <marker 120.253 - inkscape:stockid="Arrow2Mend" 120.254 - orient="auto" 120.255 - refY="0" 120.256 - refX="0" 120.257 - id="marker3453" 120.258 - style="overflow:visible"> 120.259 - <path 120.260 - id="path3455" 120.261 - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 120.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" 120.263 - transform="scale(-0.6,-0.6)" /> 120.264 - </marker> 120.265 - <inkscape:perspective 120.266 - id="perspective4753" 120.267 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.268 - inkscape:vp_z="1 : 0.5 : 1" 120.269 - inkscape:vp_y="0 : 1000 : 0" 120.270 - inkscape:vp_x="0 : 0.5 : 1" 120.271 - sodipodi:type="inkscape:persp3d" /> 120.272 - <marker 120.273 - inkscape:stockid="Arrow2Mend" 120.274 - orient="auto" 120.275 - refY="0" 120.276 - refX="0" 120.277 - id="Arrow2Mend-8-12" 120.278 - style="overflow:visible"> 120.279 - <path 120.280 - id="path3563-2-3" 120.281 - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 120.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" 120.283 - transform="scale(-0.6,-0.6)" /> 120.284 - </marker> 120.285 - <inkscape:perspective 120.286 - id="perspective4850" 120.287 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.288 - inkscape:vp_z="1 : 0.5 : 1" 120.289 - inkscape:vp_y="0 : 1000 : 0" 120.290 - inkscape:vp_x="0 : 0.5 : 1" 120.291 - sodipodi:type="inkscape:persp3d" /> 120.292 - <marker 120.293 - inkscape:stockid="Arrow2Mend" 120.294 - orient="auto" 120.295 - refY="0" 120.296 - refX="0" 120.297 - id="Arrow2Mend-8-8" 120.298 - style="overflow:visible"> 120.299 - <path 120.300 - id="path3563-2-74" 120.301 - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 120.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" 120.303 - transform="scale(-0.6,-0.6)" /> 120.304 - </marker> 120.305 - <inkscape:perspective 120.306 - id="perspective4850-7" 120.307 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.308 - inkscape:vp_z="1 : 0.5 : 1" 120.309 - inkscape:vp_y="0 : 1000 : 0" 120.310 - inkscape:vp_x="0 : 0.5 : 1" 120.311 - sodipodi:type="inkscape:persp3d" /> 120.312 - <marker 120.313 - inkscape:stockid="Arrow2Mend" 120.314 - orient="auto" 120.315 - refY="0" 120.316 - refX="0" 120.317 - id="Arrow2Mend-8-7" 120.318 - style="overflow:visible"> 120.319 - <path 120.320 - id="path3563-2-9" 120.321 - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 120.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" 120.323 - transform="scale(-0.6,-0.6)" /> 120.324 - </marker> 120.325 - <inkscape:perspective 120.326 - id="perspective4914" 120.327 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.328 - inkscape:vp_z="1 : 0.5 : 1" 120.329 - inkscape:vp_y="0 : 1000 : 0" 120.330 - inkscape:vp_x="0 : 0.5 : 1" 120.331 - sodipodi:type="inkscape:persp3d" /> 120.332 - <inkscape:perspective 120.333 - id="perspective4946" 120.334 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 120.335 - inkscape:vp_z="1 : 0.5 : 1" 120.336 - inkscape:vp_y="0 : 1000 : 0" 120.337 - inkscape:vp_x="0 : 0.5 : 1" 120.338 - sodipodi:type="inkscape:persp3d" /> 120.339 - </defs> 120.340 - <sodipodi:namedview 120.341 - id="base" 120.342 - pagecolor="#ffffff" 120.343 - bordercolor="#666666" 120.344 - borderopacity="1.0" 120.345 - gridtolerance="10000" 120.346 - guidetolerance="10" 120.347 - objecttolerance="10" 120.348 - inkscape:pageopacity="0.0" 120.349 - inkscape:pageshadow="2" 120.350 - inkscape:zoom="2.34" 120.351 - inkscape:cx="470.48905" 120.352 - inkscape:cy="738.60096" 120.353 - inkscape:document-units="px" 120.354 - inkscape:current-layer="layer1" 120.355 - showgrid="false" 120.356 - inkscape:window-width="1585" 120.357 - inkscape:window-height="878" 120.358 - inkscape:window-x="239" 120.359 - inkscape:window-y="0" 120.360 - inkscape:window-maximized="0" /> 120.361 - <metadata 120.362 - id="metadata7"> 120.363 - <rdf:RDF> 120.364 - <cc:Work 120.365 - rdf:about=""> 120.366 - <dc:format>image/svg+xml</dc:format> 120.367 - <dc:type 120.368 - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 120.369 - <dc:title /> 120.370 - </cc:Work> 120.371 - </rdf:RDF> 120.372 - </metadata> 120.373 - <g 120.374 - inkscape:label="Layer 1" 120.375 - inkscape:groupmode="layer" 120.376 - id="layer1"> 120.377 - <text 120.378 - xml:space="preserve" 120.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" 120.380 - x="441.66748" 120.381 - y="404.66492" 120.382 - id="text8002" 120.383 - sodipodi:linespacing="100%"><tspan 120.384 - sodipodi:role="line" 120.385 - x="441.66748" 120.386 - y="404.66492" 120.387 - style="font-size:8px" 120.388 - id="tspan12172" /></text> 120.389 - <text 120.390 - xml:space="preserve" 120.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" 120.392 - x="439.16418" 120.393 - y="244.9225" 120.394 - id="text5831"><tspan 120.395 - sodipodi:role="line" 120.396 - id="tspan5833" 120.397 - x="439.16418" 120.398 - y="244.9225"><tspan 120.399 - style="fill:#159415;fill-opacity:1" 120.400 - id="tspan5843">Green</tspan> = VMS-core</tspan></text> 120.401 - <text 120.402 - id="text5835" 120.403 - y="245.02016" 120.404 - x="530.34119" 120.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" 120.406 - xml:space="preserve"><tspan 120.407 - y="245.02016" 120.408 - x="530.34119" 120.409 - id="tspan5837" 120.410 - sodipodi:role="line"><tspan 120.411 - style="fill:#0303b8;fill-opacity:1" 120.412 - id="tspan5845">Blue</tspan> = application</tspan></text> 120.413 - <text 120.414 - xml:space="preserve" 120.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" 120.416 - x="368.28989" 120.417 - y="245.02016" 120.418 - id="text5839"><tspan 120.419 - sodipodi:role="line" 120.420 - id="tspan5841" 120.421 - x="368.28989" 120.422 - y="245.02016"><tspan 120.423 - style="fill:#960a0a;fill-opacity:1" 120.424 - id="tspan5847">Red</tspan> = plug-in</tspan></text> 120.425 - <text 120.426 - xml:space="preserve" 120.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" 120.428 - x="368.25397" 120.429 - y="405.27225" 120.430 - id="text5849"><tspan 120.431 - sodipodi:role="line" 120.432 - id="tspan5851" 120.433 - x="368.25397" 120.434 - y="405.27225" /></text> 120.435 - <path 120.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)" 120.437 - d="M 289.73631,397.76803 C 263.95998,384.0618 244.9124,373.07853 244.9124,373.07853" 120.438 - id="path6066-9-4" 120.439 - sodipodi:nodetypes="cc" /> 120.440 - <rect 120.441 - y="231.42043" 120.442 - x="157.23335" 120.443 - height="194.79402" 120.444 - width="457.79532" 120.445 - id="rect18326-3" 120.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" /> 120.447 - <path 120.448 - sodipodi:nodetypes="cc" 120.449 - id="path3602" 120.450 - d="m 261.4119,372.41344 c 26.46687,13.70623 46.02474,24.6895 46.02474,24.6895" 120.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)" /> 120.452 - <g 120.453 - id="g3232" 120.454 - transform="translate(0,-1.1337509)"> 120.455 - <rect 120.456 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 120.457 - id="rect3614" 120.458 - width="131.25447" 120.459 - height="68.687347" 120.460 - x="352.18222" 120.461 - y="309.504" /> 120.462 - <text 120.463 - sodipodi:linespacing="100%" 120.464 - id="text3639" 120.465 - y="318.80692" 120.466 - x="417.67981" 120.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" 120.468 - xml:space="preserve"><tspan 120.469 - y="318.80692" 120.470 - x="417.67981" 120.471 - sodipodi:role="line" 120.472 - id="tspan3641" 120.473 - style="font-size:9px;text-align:center;text-anchor:middle">Physical-Core Controller</tspan><tspan 120.474 - id="tspan3661" 120.475 - y="327.80692" 120.476 - x="417.67981" 120.477 - sodipodi:role="line" 120.478 - style="font-size:9px;text-align:center;text-anchor:middle">(pthread)</tspan></text> 120.479 - <g 120.480 - transform="translate(69.355022,-312.20049)" 120.481 - id="g3647"> 120.482 - <rect 120.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" 120.484 - id="rect3649" 120.485 - width="61.691765" 120.486 - height="16.01606" 120.487 - x="317.60855" 120.488 - y="667.70459" /> 120.489 - <text 120.490 - sodipodi:linespacing="100%" 120.491 - id="text3651" 120.492 - y="678.71558" 120.493 - x="347.65115" 120.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" 120.495 - xml:space="preserve"><tspan 120.496 - y="678.71558" 120.497 - x="347.65115" 120.498 - sodipodi:role="line" 120.499 - id="tspan3653" 120.500 - style="font-size:9px;text-align:center;text-anchor:middle">core_loop</tspan></text> 120.501 - </g> 120.502 - </g> 120.503 - <path 120.504 - sodipodi:nodetypes="cc" 120.505 - id="path3655" 120.506 - d="M 318.49369,397.76803 C 357.52667,383.08168 386.37044,371.313 386.37044,371.313" 120.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)" /> 120.508 - <g 120.509 - id="g3242" 120.510 - transform="translate(0,-1.1337509)"> 120.511 - <rect 120.512 - y="309.504" 120.513 - x="532.18225" 120.514 - height="68.687347" 120.515 - width="78.674728" 120.516 - id="rect4725" 120.517 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 120.518 - <text 120.519 - xml:space="preserve" 120.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" 120.521 - x="571.67981" 120.522 - y="322.80692" 120.523 - id="text4727" 120.524 - sodipodi:linespacing="100%"><tspan 120.525 - style="font-size:9px;text-align:center;text-anchor:middle" 120.526 - sodipodi:role="line" 120.527 - x="571.67981" 120.528 - y="322.80692" 120.529 - id="tspan4731">slaveVP</tspan></text> 120.530 - <g 120.531 - transform="translate(230.36868,-317.52206)" 120.532 - id="g4733"> 120.533 - <rect 120.534 - y="673.02618" 120.535 - x="316.63855" 120.536 - height="16.01606" 120.537 - width="47.791374" 120.538 - id="rect4737" 120.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" /> 120.540 - <text 120.541 - xml:space="preserve" 120.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" 120.543 - x="340.63751" 120.544 - y="684.03717" 120.545 - id="text4739" 120.546 - sodipodi:linespacing="100%"><tspan 120.547 - style="font-size:9px;text-align:center;text-anchor:middle" 120.548 - id="tspan4741" 120.549 - sodipodi:role="line" 120.550 - x="340.63751" 120.551 - y="684.03717">top_VP_fn</tspan></text> 120.552 - </g> 120.553 - </g> 120.554 - <g 120.555 - id="g5001" 120.556 - transform="translate(-104.17459,-375.52206)"> 120.557 - <text 120.558 - sodipodi:linespacing="100%" 120.559 - id="text4834" 120.560 - y="619.79431" 120.561 - x="339.56277" 120.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" 120.563 - xml:space="preserve"><tspan 120.564 - y="619.79431" 120.565 - x="339.56277" 120.566 - sodipodi:role="line" 120.567 - id="tspan4836" 120.568 - style="font-size:9px;text-align:center;text-anchor:middle">Shared Parallelism-Semantic State</tspan><tspan 120.569 - id="tspan4838" 120.570 - y="628.79431" 120.571 - x="339.56277" 120.572 - sodipodi:role="line" 120.573 - style="font-size:9px;text-align:center;text-anchor:middle" /></text> 120.574 - <rect 120.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" 120.576 - id="rect4840" 120.577 - width="149.25206" 120.578 - height="12.695431" 120.579 - x="264.97189" 120.580 - y="610.18365" /> 120.581 - </g> 120.582 - <path 120.583 - sodipodi:nodetypes="cc" 120.584 - id="path4883" 120.585 - d="m 205.94834,249.27344 c -0.0417,34.47629 -0.0725,62.1034 -0.0725,62.1034" 120.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)" /> 120.587 - <path 120.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)" 120.589 - d="m 193.94834,311.61326 c -0.0417,-34.47628 -0.0725,-62.10333 -0.0725,-62.10333" 120.590 - id="path4885" 120.591 - sodipodi:nodetypes="cc" /> 120.592 - <path 120.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)" 120.594 - d="m 530.74391,361.79676 c -25.49902,0.002 -44.34169,0.004 -44.34169,0.004" 120.595 - id="path4902" 120.596 - sodipodi:nodetypes="cc" /> 120.597 - <path 120.598 - sodipodi:nodetypes="cc" 120.599 - id="path4904" 120.600 - d="m 485.57785,337.79676 c 25.49902,0.002 44.34169,0.004 44.34169,0.004" 120.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)" /> 120.602 - <text 120.603 - xml:space="preserve" 120.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" 120.605 - x="508.8573" 120.606 - y="335.07925" 120.607 - id="text4721-1" 120.608 - sodipodi:linespacing="100%"><tspan 120.609 - style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1" 120.610 - id="tspan4723-9" 120.611 - sodipodi:role="line" 120.612 - x="508.8573" 120.613 - y="335.07925">Switch VPs</tspan></text> 120.614 - <text 120.615 - sodipodi:linespacing="100%" 120.616 - id="text4931" 120.617 - y="359.07925" 120.618 - x="508.8573" 120.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" 120.620 - xml:space="preserve"><tspan 120.621 - y="359.07925" 120.622 - x="508.8573" 120.623 - sodipodi:role="line" 120.624 - id="tspan4933" 120.625 - style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text> 120.626 - <g 120.627 - id="g4969" 120.628 - transform="translate(-12.174591,-319.52206)"> 120.629 - <path 120.630 - id="path17769-7" 120.631 - d="m 288.45515,727.81832 c 41.78708,0 41.78708,0 41.78708,0" 120.632 - style="fill:none;stroke:#159415;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" /> 120.633 - <text 120.634 - sodipodi:linespacing="100%" 120.635 - id="text17771-1" 120.636 - y="737.88684" 120.637 - x="288.42194" 120.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" 120.639 - xml:space="preserve"><tspan 120.640 - style="font-size:9px" 120.641 - y="737.88684" 120.642 - x="288.42194" 120.643 - id="tspan17773-1" 120.644 - sodipodi:role="line">schedSlot</tspan></text> 120.645 - <path 120.646 - style="fill:none;stroke:#159415;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" 120.647 - d="m 348.45515,727.81832 c 41.78708,0 41.78708,0 41.78708,0" 120.648 - id="path17775-5" /> 120.649 - <text 120.650 - xml:space="preserve" 120.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" 120.652 - x="348.42194" 120.653 - y="737.88684" 120.654 - id="text17777-2" 120.655 - sodipodi:linespacing="100%"><tspan 120.656 - sodipodi:role="line" 120.657 - id="tspan17779-7" 120.658 - x="348.42194" 120.659 - y="737.88684" 120.660 - style="font-size:9px">schedSlot</tspan></text> 120.661 - <text 120.662 - xml:space="preserve" 120.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" 120.664 - x="286.49493" 120.665 - y="724.40527" 120.666 - id="text17771-1-8" 120.667 - sodipodi:linespacing="100%"><tspan 120.668 - sodipodi:role="line" 120.669 - id="tspan17773-1-6" 120.670 - x="286.49493" 120.671 - y="724.40527" 120.672 - style="font-size:9px">slaveVP ptr</tspan></text> 120.673 - </g> 120.674 - <rect 120.675 - y="262.49448" 120.676 - x="163.84431" 120.677 - height="161.39378" 120.678 - width="329.44443" 120.679 - id="rect4979" 120.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" /> 120.681 - <text 120.682 - xml:space="preserve" 120.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" 120.684 - x="396.57816" 120.685 - y="273.16141" 120.686 - id="text4981" 120.687 - sodipodi:linespacing="100%"><tspan 120.688 - style="font-size:9px;text-align:center;text-anchor:middle" 120.689 - id="tspan4983" 120.690 - sodipodi:role="line" 120.691 - x="396.57816" 120.692 - y="273.16141">Repeated for each physical core</tspan></text> 120.693 - <text 120.694 - xml:space="preserve" 120.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" 120.696 - x="263.94568" 120.697 - y="390.80692" 120.698 - id="text3911" 120.699 - sodipodi:linespacing="100%"><tspan 120.700 - style="font-size:9px;text-align:center;text-anchor:middle" 120.701 - id="tspan3913" 120.702 - sodipodi:role="line" 120.703 - x="263.94568" 120.704 - y="390.80692">1</tspan></text> 120.705 - <g 120.706 - id="g3195"> 120.707 - <rect 120.708 - y="271.504" 120.709 - x="172.18222" 120.710 - height="105.5536" 120.711 - width="131.25447" 120.712 - id="rect17981-6" 120.713 - style="fill:none;stroke:#000000;stroke-width:1.08018124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 120.714 - <g 120.715 - transform="translate(-104.75363,-307.52206)" 120.716 - id="g3590"> 120.717 - <g 120.718 - transform="translate(-109.01365,39.321571)" 120.719 - id="g18019-8"> 120.720 - <text 120.721 - xml:space="preserve" 120.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" 120.723 - x="419.38776" 120.724 - y="590.22229" 120.725 - id="text17967-5" 120.726 - sodipodi:linespacing="100%"><tspan 120.727 - style="font-size:9px;text-align:center;text-anchor:middle" 120.728 - id="tspan17969-7" 120.729 - sodipodi:role="line" 120.730 - x="419.38776" 120.731 - y="590.22229">comm_</tspan><tspan 120.732 - style="font-size:9px;text-align:center;text-anchor:middle" 120.733 - sodipodi:role="line" 120.734 - x="419.38776" 120.735 - y="599.22229" 120.736 - id="tspan17971-6">handler_fn</tspan></text> 120.737 - <rect 120.738 - y="580.86206" 120.739 - x="395.11298" 120.740 - height="22.365267" 120.741 - width="48.927513" 120.742 - id="rect17973-1" 120.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" /> 120.744 - </g> 120.745 - <g 120.746 - id="g3604" 120.747 - transform="translate(-45.01365,39.321571)"> 120.748 - <text 120.749 - sodipodi:linespacing="100%" 120.750 - id="text3606" 120.751 - y="590.22229" 120.752 - x="419.38776" 120.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" 120.754 - xml:space="preserve"><tspan 120.755 - y="590.22229" 120.756 - x="419.38776" 120.757 - sodipodi:role="line" 120.758 - id="tspan3608" 120.759 - style="font-size:9px;text-align:center;text-anchor:middle">scheduler_</tspan><tspan 120.760 - id="tspan3610" 120.761 - y="599.22229" 120.762 - x="419.38776" 120.763 - sodipodi:role="line" 120.764 - style="font-size:9px;text-align:center;text-anchor:middle">fn</tspan></text> 120.765 - <rect 120.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" 120.767 - id="rect3612" 120.768 - width="48.927513" 120.769 - height="22.365267" 120.770 - x="395.11298" 120.771 - y="580.86206" /> 120.772 - </g> 120.773 - </g> 120.774 - <text 120.775 - xml:space="preserve" 120.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" 120.777 - x="237.94568" 120.778 - y="280.80692" 120.779 - id="text17977-3-5" 120.780 - sodipodi:linespacing="100%"><tspan 120.781 - style="font-size:9px;text-align:center;text-anchor:middle" 120.782 - id="tspan17979-3-4" 120.783 - sodipodi:role="line" 120.784 - x="237.94568" 120.785 - y="280.80692">localMasterVP</tspan></text> 120.786 - <g 120.787 - transform="translate(-103.63132,-319.52206)" 120.788 - id="g3580"> 120.789 - <path 120.790 - sodipodi:nodetypes="cc" 120.791 - id="path18292-2" 120.792 - d="m 317.62527,671.29009 c -5.09448,-8.49068 -8.85909,-15.29455 -8.85909,-15.29455" 120.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)" /> 120.794 - <g 120.795 - transform="translate(-7.0136518,5.3215684)" 120.796 - id="g17983-3"> 120.797 - <rect 120.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" 120.799 - id="rect17975-2" 120.800 - width="61.691765" 120.801 - height="16.01606" 120.802 - x="317.60855" 120.803 - y="667.70459" /> 120.804 - <text 120.805 - sodipodi:linespacing="100%" 120.806 - id="text17977-2" 120.807 - y="678.71558" 120.808 - x="347.65115" 120.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" 120.810 - xml:space="preserve"><tspan 120.811 - y="678.71558" 120.812 - x="347.65115" 120.813 - sodipodi:role="line" 120.814 - id="tspan17979-1" 120.815 - style="font-size:9px;text-align:center;text-anchor:middle">master_loop</tspan></text> 120.816 - </g> 120.817 - <path 120.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)" 120.819 - d="m 374.32675,655.55365 c -5.09448,8.49068 -8.85909,15.29455 -8.85909,15.29455" 120.820 - id="path3578" 120.821 - sodipodi:nodetypes="cc" /> 120.822 - </g> 120.823 - <text 120.824 - xml:space="preserve" 120.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" 120.826 - x="269.62048" 120.827 - y="298.02182" 120.828 - id="text4821" 120.829 - sodipodi:linespacing="100%"><tspan 120.830 - style="font-size:9px;text-align:center;text-anchor:middle" 120.831 - id="tspan4823" 120.832 - sodipodi:role="line" 120.833 - x="269.62048" 120.834 - y="298.02182">readyQ</tspan><tspan 120.835 - style="font-size:9px;text-align:center;text-anchor:middle" 120.836 - sodipodi:role="line" 120.837 - x="269.62048" 120.838 - y="307.02182" 120.839 - id="tspan4825" /></text> 120.840 - <rect 120.841 - y="288.66159" 120.842 - x="245.3457" 120.843 - height="12.695431" 120.844 - width="48.927513" 120.845 - id="rect4827" 120.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" /> 120.847 - <path 120.848 - sodipodi:nodetypes="cc" 120.849 - id="path3576-2" 120.850 - d="m 227.16268,311.46504 c 9.78768,-7.86986 17.02037,-14.17623 17.02037,-14.17623" 120.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)" /> 120.852 - <path 120.853 - sodipodi:nodetypes="cc" 120.854 - id="path3576-3" 120.855 - d="m 271.94834,302.4222 c -0.0417,4.62441 -0.0725,8.33012 -0.0725,8.33012" 120.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)" /> 120.857 - <text 120.858 - xml:space="preserve" 120.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" 120.860 - x="201.94568" 120.861 - y="348.80692" 120.862 - id="text3915" 120.863 - sodipodi:linespacing="100%"><tspan 120.864 - style="font-size:9px;text-align:center;text-anchor:middle" 120.865 - id="tspan3917" 120.866 - sodipodi:role="line" 120.867 - x="201.94568" 120.868 - y="348.80692">2</tspan></text> 120.869 - <text 120.870 - sodipodi:linespacing="100%" 120.871 - id="text3919" 120.872 - y="294.80692" 120.873 - x="199.94568" 120.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" 120.875 - xml:space="preserve"><tspan 120.876 - y="294.80692" 120.877 - x="199.94568" 120.878 - sodipodi:role="line" 120.879 - id="tspan3921" 120.880 - style="font-size:9px;text-align:center;text-anchor:middle">3</tspan></text> 120.881 - <text 120.882 - xml:space="preserve" 120.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" 120.884 - x="231.94568" 120.885 - y="302.80692" 120.886 - id="text3923" 120.887 - sodipodi:linespacing="100%"><tspan 120.888 - style="font-size:9px;text-align:center;text-anchor:middle" 120.889 - id="tspan3925" 120.890 - sodipodi:role="line" 120.891 - x="231.94568" 120.892 - y="302.80692">4</tspan></text> 120.893 - <text 120.894 - xml:space="preserve" 120.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" 120.896 - x="261.94568" 120.897 - y="344.80692" 120.898 - id="text3931" 120.899 - sodipodi:linespacing="100%"><tspan 120.900 - style="font-size:9px;text-align:center;text-anchor:middle" 120.901 - id="tspan3933" 120.902 - sodipodi:role="line" 120.903 - x="261.94568" 120.904 - y="344.80692">5</tspan></text> 120.905 - </g> 120.906 - <text 120.907 - xml:space="preserve" 120.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" 120.909 - x="297.94568" 120.910 - y="390.80692" 120.911 - id="text3935" 120.912 - sodipodi:linespacing="100%"><tspan 120.913 - style="font-size:9px;text-align:center;text-anchor:middle" 120.914 - id="tspan3937" 120.915 - sodipodi:role="line" 120.916 - x="297.94568" 120.917 - y="390.80692">6</tspan></text> 120.918 - <text 120.919 - sodipodi:linespacing="100%" 120.920 - id="text3939" 120.921 - y="390.80692" 120.922 - x="355.94568" 120.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" 120.924 - xml:space="preserve"><tspan 120.925 - y="390.80692" 120.926 - x="355.94568" 120.927 - sodipodi:role="line" 120.928 - id="tspan3941" 120.929 - style="font-size:9px;text-align:center;text-anchor:middle">8</tspan></text> 120.930 - <text 120.931 - xml:space="preserve" 120.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" 120.933 - x="503.94568" 120.934 - y="326.80692" 120.935 - id="text3951" 120.936 - sodipodi:linespacing="100%"><tspan 120.937 - style="font-size:9px;text-align:center;text-anchor:middle" 120.938 - id="tspan3953" 120.939 - sodipodi:role="line" 120.940 - x="503.94568" 120.941 - y="326.80692">9</tspan></text> 120.942 - <text 120.943 - sodipodi:linespacing="100%" 120.944 - id="text3955" 120.945 - y="350.80692" 120.946 - x="503.94568" 120.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" 120.948 - xml:space="preserve"><tspan 120.949 - y="350.80692" 120.950 - x="503.94568" 120.951 - sodipodi:role="line" 120.952 - id="tspan3957" 120.953 - style="font-size:9px;text-align:center;text-anchor:middle">10</tspan></text> 120.954 - <path 120.955 - sodipodi:nodetypes="cc" 120.956 - id="path3175" 120.957 - d="m 350.74391,361.79676 c -25.49902,0.002 -44.34169,0.004 -44.34169,0.004" 120.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)" /> 120.959 - <path 120.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)" 120.961 - d="m 305.57785,337.79676 c 25.49902,0.002 44.34169,0.004 44.34169,0.004" 120.962 - id="path3177" 120.963 - sodipodi:nodetypes="cc" /> 120.964 - <text 120.965 - sodipodi:linespacing="100%" 120.966 - id="text3179" 120.967 - y="335.07925" 120.968 - x="328.8573" 120.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" 120.970 - xml:space="preserve"><tspan 120.971 - y="335.07925" 120.972 - x="328.8573" 120.973 - sodipodi:role="line" 120.974 - id="tspan3181" 120.975 - style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1">Switch VPs</tspan></text> 120.976 - <text 120.977 - xml:space="preserve" 120.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" 120.979 - x="328.8573" 120.980 - y="359.07925" 120.981 - id="text3183" 120.982 - sodipodi:linespacing="100%"><tspan 120.983 - style="font-size:8px;text-align:center;text-anchor:middle;fill:#159415;fill-opacity:1" 120.984 - id="tspan3185" 120.985 - sodipodi:role="line" 120.986 - x="328.8573" 120.987 - y="359.07925">Switch VPs</tspan></text> 120.988 - <text 120.989 - sodipodi:linespacing="100%" 120.990 - id="text3187" 120.991 - y="326.80692" 120.992 - x="323.94568" 120.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" 120.994 - xml:space="preserve"><tspan 120.995 - y="326.80692" 120.996 - x="323.94568" 120.997 - sodipodi:role="line" 120.998 - id="tspan3189" 120.999 - style="font-size:9px;text-align:center;text-anchor:middle">7</tspan></text> 120.1000 - <text 120.1001 - xml:space="preserve" 120.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" 120.1003 - x="323.94568" 120.1004 - y="350.80692" 120.1005 - id="text3191" 120.1006 - sodipodi:linespacing="100%"><tspan 120.1007 - style="font-size:9px;text-align:center;text-anchor:middle" 120.1008 - id="tspan3193" 120.1009 - sodipodi:role="line" 120.1010 - x="323.94568" 120.1011 - y="350.80692">11</tspan></text> 120.1012 - <text 120.1013 - sodipodi:linespacing="100%" 120.1014 - id="text3494" 120.1015 - y="404.80692" 120.1016 - x="243.94568" 120.1017 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 120.1018 - xml:space="preserve"><tspan 120.1019 - y="404.80692" 120.1020 - x="243.94568" 120.1021 - sodipodi:role="line" 120.1022 - id="tspan3496" 120.1023 - style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique">(Animated)</tspan></text> 120.1024 - <text 120.1025 - xml:space="preserve" 120.1026 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 120.1027 - x="331.94568" 120.1028 - y="242.80692" 120.1029 - id="text3498" 120.1030 - sodipodi:linespacing="100%"><tspan 120.1031 - style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique" 120.1032 - id="tspan3500" 120.1033 - sodipodi:role="line" 120.1034 - x="331.94568" 120.1035 - y="242.80692">(Blocked)</tspan></text> 120.1036 - <text 120.1037 - sodipodi:linespacing="100%" 120.1038 - id="text3502" 120.1039 - y="296.80692" 120.1040 - x="323.94568" 120.1041 - style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 120.1042 - xml:space="preserve"><tspan 120.1043 - y="296.80692" 120.1044 - x="323.94568" 120.1045 - sodipodi:role="line" 120.1046 - id="tspan3504" 120.1047 - style="font-size:9px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Trebuchet MS Oblique">(Ready)</tspan></text> 120.1048 - </g> 120.1049 -</svg>
121.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/VMS-core__plugins.eps Thu Feb 02 12:22:53 2012 -0800 121.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 121.3 @@ -1,365 +0,0 @@ 121.4 -%!PS-Adobe-3.0 EPSF-3.0 121.5 -%%Creator: cairo 1.8.6 (http://cairographics.org) 121.6 -%%CreationDate: Sun Oct 17 19:38:15 2010 121.7 -%%Pages: 1 121.8 -%%BoundingBox: 0 0 116 67 121.9 -%%DocumentData: Clean7Bit 121.10 -%%LanguageLevel: 2 121.11 -%%EndComments 121.12 -%%BeginProlog 121.13 -/cairo_eps_state save def 121.14 -/dict_count countdictstack def 121.15 -/op_count count 1 sub def 121.16 -userdict begin 121.17 -/q { gsave } bind def 121.18 -/Q { grestore } bind def 121.19 -/cm { 6 array astore concat } bind def 121.20 -/w { setlinewidth } bind def 121.21 -/J { setlinecap } bind def 121.22 -/j { setlinejoin } bind def 121.23 -/M { setmiterlimit } bind def 121.24 -/d { setdash } bind def 121.25 -/m { moveto } bind def 121.26 -/l { lineto } bind def 121.27 -/c { curveto } bind def 121.28 -/h { closepath } bind def 121.29 -/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 121.30 - 0 exch rlineto 0 rlineto closepath } bind def 121.31 -/S { stroke } bind def 121.32 -/f { fill } bind def 121.33 -/f* { eofill } bind def 121.34 -/B { fill stroke } bind def 121.35 -/B* { eofill stroke } bind def 121.36 -/n { newpath } bind def 121.37 -/W { clip } bind def 121.38 -/W* { eoclip } bind def 121.39 -/BT { } bind def 121.40 -/ET { } bind def 121.41 -/pdfmark where { pop globaldict /?pdfmark /exec load put } 121.42 - { globaldict begin /?pdfmark /pop load def /pdfmark 121.43 - /cleartomark load def end } ifelse 121.44 -/BDC { mark 3 1 roll /BDC pdfmark } bind def 121.45 -/EMC { mark /EMC pdfmark } bind def 121.46 -/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 121.47 -/Tj { show currentpoint cairo_store_point } bind def 121.48 -/TJ { 121.49 - { 121.50 - dup 121.51 - type /stringtype eq 121.52 - { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 121.53 - } forall 121.54 - currentpoint cairo_store_point 121.55 -} bind def 121.56 -/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 121.57 - cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 121.58 -/Tf { pop /cairo_font exch def /cairo_font_matrix where 121.59 - { pop cairo_selectfont } if } bind def 121.60 -/Td { matrix translate cairo_font_matrix matrix concatmatrix dup 121.61 - /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 121.62 - /cairo_font where { pop cairo_selectfont } if } bind def 121.63 -/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 121.64 - cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 121.65 -/g { setgray } bind def 121.66 -/rg { setrgbcolor } bind def 121.67 -/d1 { setcachedevice } bind def 121.68 -%%EndProlog 121.69 -%%Page: 1 1 121.70 -%%BeginPageSetup 121.71 -%%PageBoundingBox: 0 0 116 67 121.72 -%%EndPageSetup 121.73 -q 121.74 -Q q 121.75 -q 0 0 117 67 rectclip 121.76 -% Fallback Image: x=0, y=0, w=116, h=65 res=300dpi size=399300 121.77 -[ 0.24 0 0 0.24 0 0.327072 ] concat 121.78 -/DeviceRGB setcolorspace 121.79 -8 dict dup begin 121.80 - /ImageType 1 def 121.81 - /Width 484 def 121.82 - /Height 275 def 121.83 - /BitsPerComponent 8 def 121.84 - /Decode [ 0 1 0 1 0 1 ] def 121.85 - /DataSource currentfile /ASCII85Decode filter /LZWDecode filter def 121.86 - /ImageMatrix [ 1 0 0 -1 0 275 ] def 121.87 -end 121.88 -image 121.89 -J3I@:BHu(:pOk^R:T.dk*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=Al 121.90 - C^cenm@9:1mM9jS"!dTMT(d8$g?t7s\'HOJg#PSPQ1`C/m<k<ioH)<bk^Hj`\=EYZP^B4!g 121.91 - 3;B=(iZ<kDqOh/Bf.DHAorf'R[o?>ioWjnAY&^Hf#!Qo!:QLNm9ApfKo@"^St*EZ$@h7Iu_ 121.92 - dAb*B(hHM_+c/A3_/KTg;O43>N3c+5)[@l+5FLs\BULUaal`3%:<o887eo3Me/cP3]=PdZ! 121.93 - go`"\NO%+%3I?d9;j#,$np4Qs03bd8X)RpL$EoAk_=@@arU18[WS6S6H@0(,e%b2Fq7f.4D 121.94 - ^FtK.-a-^`ir&L%0OEX9GI`IODGpB_@VYP$,Ve*/ITH-bVY3W/8C>o*cVOQKd#X?9bX/(9N 121.95 - ;hHOZZn_7?NO1(WM6kAK/XoKPq^J0sl-?a0F-D'h>PLB,o"@,_I111+\T;ajP!l-d!&iT.% 121.96 - e/>a[.cdZeMs92bu*/kbcJV__#PoP$$N1M#)o:%M?)+j1Opk9%o(KO6Z6F4AYo:,E+N3D]7 121.97 - S$Tq2Sh"*j$'D3;6:imCW5#QKF,=>9a`@jVR['[;:;RD-F8Q#.+Ki:rn"\Vipojq&s7-Kf$ 121.98 - _Sb_TSJ.XGc#m=DQ0j!,fG4pM@G$ktNFUWW9pK;CQ>N1*g(o[EC"elTX_ZZ,c*_ECQL2A(g 121.99 - _UF=ESQm4c#_\W:"=CB22WBi.$5D:LW)d^m<d_,c1QMBQgOa$i"uq-J`)nJ%>3UV:)/KAQu 121.100 - 3q"iY[\%M;jo*/W8X+c8CUAR-m+uj;AFrOlVo_9p=ZV20BS3MB`J*?BIu]RHBp?D4B]+c?5 121.101 - ]@RI5KqkSaqbU$.ptNMGKY>YUNWW&A%=?FiV&WToqTXfLb+cF'e?RdRkmll-E@V&u.7m?bb 121.102 - [L1RW,Rr7&kmMh2J\aGrimCVg)-HTDpW&bNXT=`DQ_=3sJ%E%]U:DLk=Rg/S?A_M=UIHiq5 121.103 - /^*`*cS`u=SF8VekhLIRaI]tm.CJdg:K>s<SSqfcp)T12d<(p<.t3UdaN`Q8SaV!ap`9s!@ 121.104 - !J'lalE/&:R1%2IVq&SqAs"?l1^&^2HP5HVmYHE541ShO^?qahNOQa4?*3\+4ONnR+^6grE 121.105 - kB*k*pgLU\T:d[PdCdhoE)F+9NYtE"2h18'32$46_:!8bNO9h#&:!e/D.XNPR?G"C@kl*Nr 121.106 - c8_2"3S"2k7kOEoeM0dar7"=/4fnY%j0i4MRd[WMuM*^`a)%H55cLJ[C[6eHc4U')3_E;Cb 121.107 - H=H"rn6Q6`E/gEd:SIQ'!n7-Eh-cK26$Y%!pL7n)f7G)VrUB;P<nW#7l;%FPsf\qfeQ8S^K 121.108 - O>,Zn9T?<'.)e.H*9*n<O%adEa4TnqirE8A;3F/^fZkZ#9P]`p4Bb;,2^:beMi$u&E5uAV, 121.109 - bci9"4?[(8Vhd:6<bLp;L0EO#[4B6@utE-Q-$X\q%i';:5AsT+Uol1&L2[C'XHR;7ohJ^-0 121.110 - .(E!4FIHBnHm@%"eTP*ZR^r&iaK63gVC4--Nio'F[[$Rdt2g"M(]k=R9OcF%0dsW@9^``/p 121.111 - ,P2KV<3.5n&^ggdXACWZrP*i?TI@Y9,Y$b?4#kP?>CCaIe-\7FN!r32`ri`XH.(GsdgeY.$ 121.112 - ZN6DTr0]jokRPTMT:+<A,=Nos!ZpBXJ.GI9.`>4j4ac9.h2]-09KUJ'UN)D+P3geEYTl[qT 121.113 - a*H\dkFA*2PM(u=3MSd*S;2mH>(TA$QR\IdP$W"*KJ2U*0VZarX&X&?<SG,flNL^3eLDWi` 121.114 - Xq@'l[BoC!J"0pECMGnENW<e\lW)&?0f17LR"9[er%pBlYOSA',%r[>7G$-7>\9M/[3j*G@ 121.115 - )1E"fa>`WOdDV%4i64X#;`Y=kc)Pm002j9KL3]X!#5pPA%8-\UE&mDd4k7Z*m]Yg07cu<p_ 121.116 - Fu[-`mO&'/(iC]t-O2SRGjH]<%57EN)A0#knWQN\m&]sm=M[Tk:>@.%UZ]2rn<?/*$5D9Ou 121.117 - KC_"tF/#u[Q(]^u\IeI+&h0\UEhRkQ!nZXOeAM636](TmU?Q8rnn-/p/<YkL]$gPNCo6n,- 121.118 - UA`k?qge0j&].XG$9<JAJ_1/50oc14=<&9+XtCI-=H=)(>YN^f^!Nskos7i&o"P=A0b4!)) 121.119 - @67XM=JK<'3OZB0d36OiP=-f=Q^l=<uHlbPt`@KV:!Y(>7C'\;0)c5.RT/D1`1[''2[Unjk 121.120 - Q]!o)j-W)(R%$#\0(b^1#8])BIq:*tH5$EH.CO5%e-PSaU7\cU2n?BAE>kZQ^a-A.o.0N== 121.121 - VlZo_]a#].D_S"nb6NsWBJ6g7j8IIo.XdnPX.l.CELfLW<t;YFq:=FI(>7O?M$UK$O0]r6X 121.122 - L50_:r.L(]WUGHFDe_9HtlFU,^2<M_h)8o!4Adg_D6q5@opKYV\KsU6.)Qd,VBPge$'D96E 121.123 - e"[s/Cdo)'o%&tZHIj`c[NDsO-B?LLCJZ\[4MkQfYg/s5+)FZq_Y#tcfm;7.j1VS0g7H%4S 121.124 - -+@!8>Ec'S2qA^/V3@S&IpX]"3ULu3U&,W3`n<NN4[>`me.$i,K>o&X:ouBr\Y9FLBZd;T- 121.125 - `"bRq20;/*9Nh7W6[3^EL?(?r6<;m[/,h([!uF>j6e.YtlE%2]\(jdH7_gscEJaU#RIs 121.126 - U'^p*9.lV)qB_nDDX+kG=RH!VNY^:W$<)ZT/ok==pRJ3W%RbMnWHAZu[-%QZOed@D5]FU`H 121.127 - 1]0&4>h,/R=*[d`U,Z<IG(L$R`mCiARO_/RBJ\qt-jLiADkYU82EHl]U=6<\AIN'CsY3Ng1 121.128 - Rg8>"kDjf#SAk:Vn1d$LShPV5%XCjQi>o\WqqicZ.Y]SA55X=ns)0eX;#g7f&Uejf>!MrW3 121.129 - nql&fWWRrk9En?qQ(dCG>,Zdq5cXQr@/k1s,6^+5?P5KU\6C5&AGmIfTN;i7)OKs^&NEbms 121.130 - HeS`F],J.!!a3:1=aB@*^`cjs:#(o'nBf!N&?b93>OfNZHIq!i$5H0HBX:l2V?l?Orn*%7F 121.131 - OkieHmXs.BAdL%<WPNf^Cha6rBS:)<Q#%093pTkJQ:cX-c.FCWRk*hsY3Ab*7Q5f)r5j__G 121.132 - ]DfT3'DUtZQ$#HPIY+"_YZ<se9QKAU50VXAa;IFHX$]o0)&=E2gD[<Sg@k`6"n:J>(f*neg 121.133 - $RfunjmrU_!<<CF#po65/@bT=nH3YOdI!8)7JR=g"R[hQ"lKCVOMlo$)%]7t&WkZ>c*e2r, 121.134 - nb2E*DnB7-Hc*6bkPuGLN(iWmB$BH!>#f)fdLtScNmls2ZooEoM;:.7M-6P&HpEF?dWCkcq 121.135 - P6%6Pf2Wngqel/mAuA?MI=I]$WXY0m_OcDZn.$$ml&U-1Me6!q58')@sp;L(t0=D\fU%)Ng 121.136 - 3]Oab8hK$\>ZfBgqnYgjU'^=CRp)6f^e9g"38lsK8kU626YEUO*O]c(R/n\tkUW-%sb)]s( 121.137 - NplWG!/#;a:JCTd@LJ^8YX]#S*D\\!*i95M(7K4&s`<=HK'SYu7m&q+!OC+r\f!,/N0+'Eg 121.138 - >_b&(?a*5P;>eT+#6#'$LTQCT`Uo=QjNbaQ+#4tsOq+l1JJ`Ac(p"Sln;/O[;%EqN->!DAn 121.139 - lfF!QiI[&%Z,fe`UPEkfdd7!,"SaYL%cIA$O^qea0LsQbFGZ8<?Vs+`NkC'0[dl0+"Ze0,> 121.140 - QZpOH,(ck$TsH"-Htu'(V$`[16*Z/1g)N%N&TY[#))_?df:>Y!g>"]a$=Vo+HYaP1h'Od_? 121.141 - ARQ1<<P1FgcA:tZD_p1S@h"p5t[%akOUP*/l/N9]WS8De6a!=mW"mDAB*:>K`1+@ZdbP7KT 121.142 - [Rb3es?k),F;T&PEk319AkAgkc0!-npaXD3h#P1"t''1-4T^kuD4*/'JPGGq@L3Bj?..SB? 121.143 - ;nkIOeNI[74=h(,Cn2Qi4Xh&t5-sW?lG5X-1HlEf5#N<2'Ce=E"[H]d5=PSBKDtGjb7h5.1 121.144 - _^6^oH?OK"[L'*!Y'Ze6%)*D<C:jf(Gn9A<'`o/6uFh0?aMC)oLD>,<CLN^`k`\t1grj1@N 121.145 - )Uf','+WP)VnpF[pOuF&73Ee8n-eKh-<AD_t6\[#mp:P\mdg8T^LpoUt+uq&#:R8i3YBoW\ 121.146 - )[a!"*T3qTaOoYF3J3D$Ts9XN&<jrmE_d7n`99sbF'Eo04Uh+i(V9[nO/P_*eoUB7gu:UL' 121.147 - ro`7lH"]0=J:pga/oat%Y'iB)k;7.EAoc[3j,uSk7;RJ)SoeBB&-8D@o!qeELog)P779"D$ 121.148 - <4,G"ohe^H<E4/UIn)X1oG2?0N=5Dn<jcdFol4%jF]W^2=0TE9L%:URI9:WK=LF,jooWB7P 121.149 - ujuIF0sIu8b#r+V-8#@>.(J9os%T^csN&l>;a)uotalj`E[PF=f48_jn9R7e=[-H%L/t7Fi 121.150 - drIj^*)o?FB-T[=DU!]3b1+?a]i>p&S6;b]@k;bg=^D&;;`KV-XFL`g.WRp*!m'-";$H@^[ 121.151 - jtp+^&82.LeiA%"O1p-E4I7:^R5A@>3Cp/,BZ<Fp=r$T;7Fead&>p4mfoB!uPgp2O_'F_>l 121.152 - CB=<5$p46l'<eiR<8(&&:1]%Fn&MrRW@=S?9FR$Y\pkJKO?Ii`)etTrX/;KOKCOoi.i2^ZP 121.153 - `GAJb4nCHXP]9<lmpS$!Bbm7S(:(^kV>qC3+82lDG2g:Q[YK%;CNN0UQ-`l=fg41*=t"H0( 121.154 - @o0tkAI`s@94)R[e>JWqJ0.2?ZfdAe'1,^Z#/]?EVC0089o32Ys+L:^%WabL]VBo.UQ0CX` 121.155 - V6/2bA(7%#5W2FK=)7FgbY$)f<'#\X-'H(FI*6d][]C-s"YVQSCdm1hubE#FBbM[r@HE\TD 121.156 - p4H0a.-k\k\mZ#sXLE&V3OVR(QWXLn5$?ak5uQc?QpYQ,KHCA55F$RJHQo5I`uHoGYlpM51 121.157 - -Z[B6Z"h.uk9='%jg8oLQZ1j/4"A^#'%rHOVG!J0FGOp=mQ%,-CHC'tM99k$/;RrJ2\a5Ls 121.158 - %*LgmQ%>.*I0Pa[=>7:Q-sp'%Kf=E:f"$EF_0tG6He+O:[[Va>T6%MJJp0J8G=@#5_2#(RK 121.159 - 1J@P=:2Ff%m"oqKNDN8p\np[;2C-kKlr$"bP@$_MhW#CL.8q4L$a#m7UF[OLH$?1=<i_sB8 121.160 - Y74M\`RW95fX+fo,t3L;iR#\F@hgp`+PSN7];/R,GE_fk+@BD]&Vb\E/Pa4"XQ!**>Pi'k2 121.161 - (5Vi^4UOERaf[iLWi4-:l,keN%=q*C5G]p*VU'3<RW7d#q[1pgC;DV6agR9$S<3Eapo@+c` 121.162 - A\Q+qG5F&`_QV0c5FjEf#:IPKPQT9H"R<b(m9pk5WQkg!q=;Gd7NL>\>R5fnPq5KZ^\T1fc 121.163 - RJ<87(R&#>cZ&[\Rk#AFfV=t[':IF2D"F]'(=ejUFc@`)-e[!]q9b"Dn""a5FVp0>o;JkgD 121.164 - j\)uS>M@=g%K$Go:$X2Y8Pu63:3;?a**m[B\F&lVGX%3Z_JD-T=9B@\_E8=WKd\LRV%>LqD 121.165 - `#s23%H2U"VYV3^KJXCI)+@P$/6=`i#XO>%Cf<OP4l\g)b;N$`9<2DAl2^>'6b*5Gu%JWCj 121.166 - e$-SM2TNMbj;W@I8c':PuuYqegLWL71ob."AU/ZM*.XKa2e5s)2.rJ_^FBY(<)o5M`i%,?e 121.167 - c?.&;"/k7n[AL6qm'3<7`Bdi2rL=/ePb4<5*V<t)kmbA`B2c<c#NQT_I-*T!<Y\bJd]*oSh 121.168 - OT[BC0f!q/P&/E)lt\YqR<lZL>/YEi0;uD(IbH0!)V^jiSmm`ji@*F>dn(pj`6PM=&BLKE- 121.169 - 2TRa$J)Z/Z!1gI)f"Fc+#O6-\4HY0P#3s^CUWUP\-A#$]2#MU;K8)CM>0Z5-E3s+K<=]"l: 121.170 - E]B&Y=ciI#P:+?PAT`'.4_0h72S8,YfjIL'bQWk37mAl.WX^]<Sstj1Ap)`ZZr;>S4e7&fV 121.171 - f.Pd\u.+oes[*KU&9C0SbdcW8Ihgsi1j&:o0>d^^H[U(NOd_oR82!WOZI[c):(iq!rs/X\/ 121.172 - rCgg0Y__0ZlY2@.P5n?E]`BXFmHZKmpe&CmIa,T`7W-u_s0dS"%\L;g<VM2fJ"KX]kC:NN. 121.173 - >U=ZaWM_iA@Znf?P.^^?A,mQ<?dfh87Ib&=6=81D*Pg&-)s%ht\mHGl"hQY$@/++Le]>`4c 121.174 - )>P8[nb@Tra5AS`>kY.k]M\C_9.)AV>&Z?2Z8I_Fbt1YS+l$94<oEi[C,dR_PWI4ju4(Om; 121.175 - ?pI%")d7H]9e82%cBXc6<2t>h3;'qoo>'b$>jbgo>+ZYGQK,]@b6S=Ja2g/^@r^s'\^<8;Y 121.176 - &D9tl$U)Eir$I,Wb+jk7=XaA.`J*Eh(cD'4s0!Bmf&SScsC\^r1+f6P-,H&7Crp"2DfSsiI 121.177 - 0jrFV(C6Dkf&P_f*nO;"Tq'pf,!I`oK*OX`uD!?;hfWS#qL&p1pH.g__C7W8t>>`f##KkjJ 121.178 - ]Nlt&g-nb"e%>S1?2]K+rVkR?8sc+70YNn)`U>>&n\q#N,OLW6h=Mff>M;imjD_4Zr9j&\= 121.179 - il&FjrF1tP8i)d&;NC`j1ZXZ4ihADc/Ug>5(8H*Hc4Y;6=@7b!)1#OIV%8?BAVFg^SrsF^& 121.180 - crWFmMEolEL6PqkMZT\6p;4NP<6Y#.`^lNclJ,Bc`T%g#$r(kBm%Cl5i0_rha(mSLbgT`dO 121.181 - WLIAc0IpW3^(n=?90rlOYMs/uA9?eg$cruJf%JqlFTE*hYoB3jr&O7)OlGoKo=*^/>kA)7. 121.182 - *c2RkF*jt\<'AH)-faT4_S,`&>J&@!GI=B`-h\5.,!VX8dLYm#/^N*]Q(E8,;oD_'uT1!AM 121.183 - 8OiV$b<=OqR]H-de+L&<qjn\r^BsrF!R*+[d@RRN4SQiWoD$(Sp4'dFs+/'/Ckh??r8,k1F 121.184 - &^<>P&ERUq<(^"%gW^J#mGpP+V4?I/f>+R6fJ[pPYNYBKd#IfB[]R6(5KZ#&'5LE8G861AJ 121.185 - .MNmTBFS70f"nci@9-O%ndNRE0]"1RO4N<#QJ5B*G!JO-H'',l$>r6sVYcKhWFbU;7sJ#c1 121.186 - c,7t9,7K\I3d]fB$El\jLs7]+Nh>O.MeKeeudV`8E+.]$=P=g6Q=<`lZN$!aL*)`X4]h[$N 121.187 - b@'UXe?/E+/6c<T2fq)h&S^1s@)BBTS8YsmMobsB$HF$k0*]89]Am2_bBi(T9knEUY]p!Bk 121.188 - d]$aE>lBNmGl\sf/9f@lBkN"]oZ*Sq\Fo_788]`[g$a)99A83.]jQ]K0(?Hq+5)F\T0+jnM 121.189 - l4>BYnMN3ro_o/1\eWJ]@)BrDef'".?F<T\j*@f2$Z1E"":4Ubee,>VU0r?"ea225l&+WoG 121.190 - gRX9T%PU]8H15pF>XD%`Y^!b[VM[EMR@NTPD)G)`3PKY1klA$:^2Skt4M*\?XgukdkL3P+= 121.191 - n%Jg0n*nq%;_0sA_E/>t>X*j_+%X0BX=d57Nn^Mb;D.Ej1cY/8F3PeT+/1E%bp:1tm?[`QZ 121.192 - 3,bi/3K/3mhZf6$`UJ,Gh4.t#j4L^:U/G?nJ81YCD_fDjE6IU&<4&7`=aqIQ+&aG8rW%H29 121.193 - PrIqnlJX%gI7D^XB[VB55SM&>`Mq@]Y,4k]&fC,cnKbM%-rT=T0A)K2`@o19CZeA6Pd2XJf 121.194 - kZ0rVGX:/P)(a`lAK#Np'MUEgFDJ?Cf2$^RqK!,MPFm9(9/X]Z+$/0EKp*\DOaMESH+Gl8C 121.195 - KSK<sU>Ecp$mGDOJF:JnDpKl;_mni:t;JNAK)dM]H;Aaa]E_q'JatSG>R'h+1&T=X'\bK8k 121.196 - sKoqDn"ApMC:cf:rU+.ZI.iX)5im]HPL?q>GHK4*B__apeDKZbl3kdHG&/(6foKd+hMd^;O 121.197 - M@dbbFOR@t3D"u#%K4FdG<E/(FD-D;SE]mp@W*-,.S*p19qM&5/oOksY/FKTkkm20kK'A]K 121.198 - Z@_'MS/dsN#d"T2hl4j9RHt3=kAG70#=D8R83KDh1`L`8Q#8U2l^;kYT(7JOI>;Re9Dn_sp 121.199 - *P+CCnUM5@YN!6.i3WNWQ_@s$F<hc0sb;Ef/T:;?0XSt,@#hCAgk<gN2$+)#K#!_LaLgF./ 121.200 - ckA,$!&LA+QCbO9+'`s.XY:;<r.rJ(j3TY:mXg,lPo5q&i'cr[%mJ=l9<IE5W@,&B>JN*+M 121.201 - 3Zld3&((:p4K+ZVu&`13OmY.[AIK7S!-'+id:!$=$F,-RgdO(DLqc6IL\n&>+>aDaJ4b.2i 121.202 - &jF>(SnIK(!ep.NqjX:foo2HrIKEN0d]qs(A>:U1FcZM*,Z`_6fS(f'dQ*[Z8#mXRp<Hf_m 121.203 - .E3Pg@GqeX9<4V,2)-p_@f_U!V%ghe<ndsi>XKb#"Pt*XJ8ek31Ni3:SuYeh+!Ja/N<t9U^ 121.204 - Sl,s&2J<hn.nGCZ,6'*]L[=-/a#$Gk80d"76or]3?s9c?jJRg.1t+i+,/E;'9_(6c(597eF 121.205 - _5rRIc>lnM@?SW;#9#Xt&dD4!sU;/k1J,O%u-:OQTM[8'HOG9Ys+]#]1btHp`p72161(J5b 121.206 - U`&Y$($=pN0d?7-[lP`,ekYW.goU0DJZA.hoT=_=EM#rlqH[0Jk)K_MA=I$(^#)ik'21785 121.207 - >=#"BDQ'\/H80jq&;5SCN(oFU2m1LPe@@U$?@62J?/nM5h)'k"'2H"B9V3JET,A7tq+F+?H 121.208 - ,goJtGBiXK[1QN:iXCoY_ZaMS$u/0F.F[ob0FM;f3sn//UmZ*d$p?s.-\dH)65:_@\`&$,[ 121.209 - U+IiSp8G9O/R'VLK&j^Qfu[!/[Y'3a_#0V.=EIQca%=aLZqF1I=&/_o[M>.AjWJu'5b*1!) 121.210 - `$<;]`hU-W2e5`6o#VaE<4f2&0jlE[kA[rAb1l4R0eQ4@CE^&Z.FeMUq)(/r5c!/6!ID]gB 121.211 - \=#d%I$b_!B'l:C4kZ`]c1*Lfd'rGZWh_^P3[GI3dtip"'lT:c3Z&Cor?e9"P<'uGK"U)ud 121.212 - %XcTPO<2!=XW48\(14lkmcqg,U!hdAE@J2I6dG%VsTWOn3[l3ESX)CXJbH,SkhVM/"I,;"0 121.213 - /r19_(Dof@QPMa&73tY)d&\(=DD[iS&pEA42Zme6"gA<2P`8'Z.^3*`GdEAtWS+Q`IHqLD, 121.214 - *FkfTrEhJ/WgaZQ%6@']&$JF4H2/$O]c%[=^<I5K<Gn)kt$\59BbD&/bm(#21-TND++KJ2? 121.215 - %d+H]I*'9G4mQnd<TW^BVgg<kQ@$)Wh?f6!r(3[D`K[?O<#eP-.TYVM?6*m!YGrQ:o2]IT- 121.216 - t?pGh^X0QjS/M20mu'm*K7%XL">=/u(g$(ZmtKG,i#m&,"`\Z<Sc/O?rfC@?".VBaR>!*`> 121.217 - >p>UP$`oKJY&58Tko6t8YBgm[l'2+pQY'Iip%nRf,_T)-M,1's$PJ]^0:\=NsdM;3m5]a3" 121.218 - <pmZMADXcQn=-74WMS(LF(Mp/kH"#nj!\,hZOj-i@S*/i=BD_d?UBI%%^*C\dg38Fc0`2HC 121.219 - m!')CI#@UqE)2'"5meYPoI912)[RNfd+]dB`%qun/X+;R@'r,M^>LrL>1aICMr*:^?B\o>h 121.220 - nDsa%dg#W+Aq+.Q3J@J.64RG+kk!4J:%S4\7^\bidETUpBTP>73>.I8m#e;j4<g%!!]9+o< 121.221 - dFm*6gQ\=G21[NoN"4bKk\cQ2>/bE(G;/XJ0/V`X68R?72peo-":/?kr8mOg8-[heJ`e8Fo 121.222 - 9IX5NdL$F?i%DHp^2Fgb8IXPB4h<8;oe#/NDaS,WZddF.Aq`g80DhuF#Y.Elor`\YFgTe=? 121.223 - %--er6,pU:LiP6W]*OE8Xp.514d0ALI)N>ZKKA7fIAB4bX[sHpjM?2K$1-OSIW#,bK62-Td 121.224 - W@%l,(;$Mpr&S-I#c\H\%b!$m="'T+Q6UN(oinV/ZJ=RVsLt_3$+ds^+kK=6s.aKH+5#`r: 121.225 - @Y5^@MR%H7U9HoI8rK58PeGKbSdOXcVrtnqjo]kJ/bO&JGta!]Rd.H*DgSP+'lT:l%<&M(4 121.226 - FN$EI:$fV^r14sjcgRp'GDoA^*,j9`^%Ru73Kqo$!c`O^]AYS5'eU[8l)&\DPq2r!pii?uI 121.227 - QadeP@P^E-7YjXBbF,ud>%f>36C\T?Rq(*]A.#]/qo62YcbR!_J]eG:!Gm(I!3P1+bYULtc 121.228 - Y^aMgQ'5VQ^[)uK^s>@k0YN*'-p^\/$,StfJjDqs^/Mq`A/BgWOI>uXZ;_qPK3>AL*lE(F5 121.229 - ,pM/.NbpQM)UqL`(F"*JNQ*<EPd%<6AmIe3CUVXTYLB\M8@A(!/W=CLI6U\]:fKq;")2]]S 121.230 - B0,Nq>3?$=L^>cG7k5$PXqSoAU^*49,LI#kU;?=I;C,kJ<AG[#@K\>VnjSUF4f%`b:&k^kK 121.231 - &c0IO*2XYBR[&PBp]kI&\'.\$JDqPqEEFh\j/`6a"8*)<%;-Gs5]2&ogbg/LS+P_tA3LhO5 121.232 - Z',3^a7M1!uPjr]?qXBV^1.IDb&1C!V1k^TFI7-oZ,FT_kgg7E'&Y1I7*"65p(lLj6V7:$4 121.233 - `^@!pK-WXB^;q1r_##smqb9JRlaYH3`Oq$5HEY:qKs``i%8:aK]99,@"=5T1XpfJDF3hM?O 121.234 - $YCn8m9t?an!7uU'Sj_4;4M8o7WnJ@m4^l5Fc:V4D$JJ=@Xn.6sNtbCdoBAC']3&%$[@,3_ 121.235 - W1M'?Vk$8j&tDXLfK8?^jHDb+n%1+r@gg]=MC*5'2t1lc2R`N^=uo8Y_9g,asT9)p<k]1[N 121.236 - +QS2ST,"\Wlu99[Z<Pe50;cl9X1RlnBD]>9n<eP#f$Z7C[J"/hVF6+h`Ka7uMD'T9u$btD$ 121.237 - Cbe2+Kb)=BWKen*47_;kuX%Q$;j1`am`64L;4"S.*cGt=ZcCF/lCcWF*W&spV'f<Wj<50k4 121.238 - _b/-;`!Mu/N#PMod5nAN6+cWu]P\(8CnS$&8X)fl1S7;[bf_Ob:21#/HmhaK\k]@.:`CM!E 121.239 - YV?mim-;R:@(-hqV=GQ`!D/Y:m`G'XU>4_$qW:nb5D2I2"aStl;6]!`pkr^(tHfH&P^4Yc= 121.240 - <E/r;T1@!)OsZ;41;+)7*$fK:@GC:D4sB>A$e5aO'kW3n4t$D"s%fR#oQ,9RO0E.VHudnkl 121.241 - 54;OJBLZ(b+6e!3n_6gWAG'_=A^+?MG(c6/k"_A#g#S;Y$>5@Fdk\Cf57bX)1^UfAg;I4A1 121.242 - /4:R9#)>J!rkZ(R[5Z@nC,OEoB/AOPo*m4-te!qX(jKSuDS&YO57"jWWU[X.KmRg>(;hX#T 121.243 - <@1Mt(8l3\3s@%]bu7V&S^90BVKupO!8p`5o@!Jt97X32Lp954&l4[eMfS=8Emu!R:/n=me 121.244 - G>J0X;KJVA6)7Be(PelC2(i/OKIje\<Io\"\&pf,LlVK&7eqi]_X@HPRnsIUhKs2PY"amp" 121.245 - $\r<]"@<<HhMhSQ92>8HciN&b+>6Fk*/$<R":bCg'iNF[UA$;(HZW$qFAn-R?BK9J(KkD21 121.246 - Eqla-fu<FkR!X]SKmW1gn?=@gl\km&VqUl'6]V`PMa9p'r+qj2\-^!V*[N8RZP-WifH9\fU 121.247 - rPo%JW\_)>$=kiRNMgnit9>On$d#D/[bGj1RqO:HTg-H!H>cq7AW)cW<+_@>R70l9R7*sbg 121.248 - Tf%7%fZ@<=cW^"H:aN*74aL'rU=Pg5<irWoal#^A1Esb0gM%MZ"R0-e]M#Z<Tf'11-&c&.N 121.249 - EaVY3I1N0RJf$q"M;Xh%@+P%%E7+LY$9Tm[O@>A]mJHj[TnAI78Yj4IE`3i`n^O?3pk$3?" 121.250 - Z,sBWqZU>!:8qZ:RT%L5N*!h.Xl8%GG+".,??Q>OALr9cmZW:+%XG0+r@C,fSUBDHX!Tfu4 121.251 - fb7HZ2gh&icU;Wrl;[Hdi.ls@co!_j+iV<?_3Qef(=?Q*q@M>CPK_$Fko>'ZiD`U[A`\DC5 121.252 - Tau/s$Wbtg:TGok/hq25lmJgP_H/K,Obt*4YH+I5P_91T<R0E=l[KdlhnR-eP+/SQFodi_; 121.253 - 6IO]5?WI>7\W(!7$/l3<@#bh-.GE^Z>N!0.i6:[o*T"mXf2b'.gr:"9WS6;X)e$k&iB^UT< 121.254 - :=7,Md9$He$MDLVB',+^>['W@Tf71iDJS,#0fQ:eUAYINV244NSt'g@bH6?<\@kWKAplH@Y 121.255 - A2mX!-)rA)WDjiLSNSc7iaR:?(t,A!o[D&Ph@3O5i(diiL_].@K2H3b/O7A!TDk.2cX#:1M 121.256 - -Vj45#QV@I*9L1=fPj>KUBSjHtj9FY#j'])7aV5f<QX5n5S@_N?ic9Ppc<"0U9j\Ahc%S`0 121.257 - ?:5GK;i8.>hmDi\],@tau%5q5JhHr?]r(,TV:fG0S2@NL7(<p.WjfV-]Ag68Q?fm1Nhj%'O 121.258 - k!*IDC^LYRPNGu'Q1S.d8*7NjAqk-b.'I4MF(\+mAdQiHk_S%XBOa;aKYDaM0p2ZgHsZ2TB 121.259 - 3'Htrb=:`,%p=pB3h,q-=KN&6]J2P@kK31F(8_A^Z:u;ka[pg$S5nkk[tZgBBF&oG'=4HDq 121.260 - :52B\nU/7ZqB/NflqWku_ifDO5'XBj_rKAl`jl2H/j(Bk]JqAr`+H%U&"LbNC4Ckq7Iop42 121.261 - ELF_U*eAH#Ef=l3r-Uh/,JC5u?[;8R#VeS-))B$RC@hGe6p_!8eLjj(&B2Ql?u9'ZMm>bYu 121.262 - f7YoPpZte`t\H\hpNaHR!^?:5#B9ogf(;";+\^`%<li*pI@bbL+RV<PICaNM)5/q*(]Gp"< 121.263 - >0ZMPIUDGbb@:atS%d##p;QCD<:%RB>4$QO,"6>$[d%H,iI7HbdQS0$d'@%99sXQR6D)qXC 121.264 - @)XNf'/caIbHT;3EY7fD7t!051:b=e/Lm&Lj42_CP"MWGj^T?>?Z%!)*1kOd1;Vag0Gn*S> 121.265 - :#MB9Sckfj+FsVW3m&o:bm=Rm,rl:1iM*&*kD]<4KP6=RKCAgd&m=:Rp\<!_\^Em7D"%8$! 121.266 - *I$,:E3_!alaln\NU74r=oKk2T8muG.+o9uRX$1Lp@n+&n%nd<8L&FT5"nC+(M@DJ%n6uc! 121.267 - ;EDUdtD?8agL[4(QA[^jY$5;qU\oG[#nDZVdo6FC8f(%0$mo\7VrBb*c+Rta]llH@LOrTA@ 121.268 - fs;]]$TncR9S"qJg`h!E[h2,nq[J>n0>aDq4fdt5qB-202b'hfLgKJP$E%bmZkLD6(")9\8 121.269 - hd3RK!74;8&=riiZZk^Db\]-$Yan<0)c,t2G$ee5oTXA.1qBf/rMe-^FIk,YZX4m4Y8Dko/ 121.270 - lF.X\VlR.e4_7nhOltG$5/Y$$!)u+YlOW!4'SjlgGc?^n`fFMIgYcQS@W[`Gk.j2`SFa>[A 121.271 - Z@:+o3FUXTgU3F@f)#W:`$UJ:@_T'_?Dp.J=UpkJLDBg8e-m`.>J^LLK1.eZYEDS2\8rD'L 121.272 - 3;%6l1#]BA!%jkp1f-*(i8-^Q!HT1N*LG^mCFB:=,03K\cMXR_W(6]U.EWbs\V\bjMX^]T* 121.273 - OLqVbCC:"_1&$)bk>)@d'j[/T+C@>Vo,f]j?[-"*NoJP)l*Y['KpS0^<0'D&;PWi:hGt2BG 121.274 - cPZU\:o1K7U//,Kg14q%u#;<?h"cepINhY>*70PrbYt=F[m?D2ThnH=?p!o<7GtT*)h(-E( 121.275 - 8BsF:akBOqb$=k3h>mp0As?%fqG[9.WnlHS9:0"QXY6Suh*==f5iVG)T5rND)bT[hl+>kaB 121.276 - K/n?o#47&OS`3A.Q!\W$,86q6VAEsVUbeG:kQl2N&<LV0"oW-I6uG9=7!;fNRC>kT8LE%Q0 121.277 - N2m.&k+]1oA*!<bIKD4^BCNk*>Hp:7Tj4sT,R_K6SIFh7Er!pqn3;mc]NKhQ]'#/gEe9m@3 121.278 - GA_#?\V'h&*"0C_6Ss;2O4%0jK>G3X<2'nD"Xa1<M7YgPr(UZ!L5c(t]j1#pmKW7^Dnd[j3 121.279 - /E-)]4HIV&6X4\[^31-n0MZ<[E]$X!X&LQ_-kW7/.NBrKL91ppk2*_'8f4fd<NSMi>[KfNt 121.280 - M02L.*>F+lq&')bO*TInO.3pVb&<1O@;X08J?Eq`BXq-dg=Y#"_1V7>'*7m.bipVGh3YpbQ 121.281 - NX9r^]b[<QM^[9Ke!WeB#YDCo=TfceTJ7=MjaJjc]k3n-p^(qIKN[0st9ob2<%CN<rJ6@pe 121.282 - ^:p5+k7OA(=[6i3,op/'*n;Q2jf,/gL2'&p<eG8m1?$gA5WUdTX[\BI/BObnID+p]>ZeAA6 121.283 - Fh%8-CV,D\.rqMOZ<],2nRd/m[,,j#S\JgDpg+JV[A/MV1[^lJ[11\W9ca)UWt2H(m&[oKr 121.284 - Un'4d:E0cbeKT"jFm@^+"r!p\,6/NYN[hGTWk,*q#\/]U5K.=-rM2UTk]^qW2`DQdgDhnRn 121.285 - Bfpj$VVs^($#bVSC:&g5Wp^)W^c\d9@7<X%gf?g,I1'JDhTlH2-Bk/ja13-V<;CV*K$XT^' 121.286 - ,R>_s`0/#up+_lMQ,qS*U5oRo"gd]BNBOCYg7/s0+!.\nYLRXn'$<7%>WBgVn$Y`=VN1sS] 121.287 - 5U689M1_A7qW&-8\6Y[hma,c&CY8#,lr5o"5l5ZuYQaAS9LX,L^.#5d`6t&]enX<;nUe,B? 121.288 - QmPD!Cm_bNCRuS<FOEN$+_k"[=JC_U)MPOl7-e*k("Eg.Tp#A#KMlk"\;++`;d!7+88Qk;c 121.289 - )>so<S;PcnLuE#*"bAb$Mk1_)#!fq9@>52B[*5o8ss!jFn4:%?-"V9L!qu,1JT1%nj?5D$+ 121.290 - l4dT!@mT+<iQTi<!>AKj9=4(d"W&SMrkaDj^/A2.eM_>/,h:fTXiV9N^tGOA".O7g?(,7Bp 121.291 - VNZq`Jd?"bgYY:>oN=dYm`H6$\W\YWkG[.XhO"@<fC4%6tG;\o";f&bAV6.uLBP\Ab2j`mQ 121.292 - B#,mDcaBe:ohc19YIp^h3:l-"C3E<HR7F'SfT_M+aL$d)YZpnrcl4JkM42N"T+DUluK0p(D 121.293 - #J1S9'n9BN)NDdITQAu]DlnCUgAC!q55]t.>+Ht8F#MaO^nD<p%DH^qc>8'p#]=a<3aFl0T 121.294 - 4Q[Pc_quug:'DCX^b!0+h[gaas%i*!43pj-LSU@gi<S>+S_9MM0XUVFkBD,Z3P[Oa@<UlCT 121.295 - ,7eIO=q)C4#m/4pC?(W^U7\I7qn*f;$&/TSkQOQfRj5=q;DuEpKraYiQKue._RR`c^#g7Z_ 121.296 - 0=)-V88$3$"[55n(e%t3YuMl+DmZk*m4K':2,+#kJ)*MF'q`G*^3'a4a]!)7%.ncZcg.0Z@ 121.297 - V<Aj7[aM;g<%74kSKBCgH,5/8P`-auT0chT.JZBF2ZMRU2fs.PfIWM4Y(N'?^\OBDd`1/Pd 121.298 - E6?uo(Xl!N@DK0iO=CCM7REGH9E@J`9gM5M%VVJmQ%BUF42:>.(u__,/+6Lr1/]TJN@]2sX 121.299 - r7,Rpp<TJ8HO$F+kD`6?R!hO5'F3r1eE9-db1$*OG83O-f_pT@lsaQEJdR5pq5FY8erQY3] 121.300 - IuOj?]Q:Wf=#\NQ>7>*MfC:HNXZB9@BF,=5p#_nO\8M8VFr&@g[Y5/ndrsV)6\tN;sSRK?4 121.301 - `0,j(oY019sG:$KVPjnJhC1QClD2oQHU4(NaqFt8(KZT9J0oq'XfLs9Y<6)N!/S!2i^1'^N 121.302 - =BHo@(Z^uc1f><Q1iQ7JsQ>o\<k<`jY'r&saI6k;_#@2@iU@\WQ8g)MOkp"9CnIC_Cq2#dE 121.303 - M)^B6U5;S?;bZGP2*fZ%^qmtH7p%W,RVY"1Ypt/ud9S+Y<77%mL&.c_FNLBn27V*bM,`c:< 121.304 - @!gf2_?M]&'J4aX*&h+`"b"!.4n,jEuq4+$,'#17:<7J^9?(EF]PPqYTRUs;BflA?H^;WVR 121.305 - 7`@%p-t<haGVhF[@WZ.f!Q?AI5M=DOnm!4_&<)Q(GD[Ue[nI'Im[JWTRFXf%Vcim3L/cm]q 121.306 - jU.XPlHAZ^kk@[Ye]NB=3un?EYL`EM9pKH?\.46^&cgT-#UTZYQT<hd[[]-hR@c+I<"Tafc 121.307 - ^NH6_G(Ub$TficJFB;Zbd\u"C((<$DFQui!tl;I2@)p``^V5KIlVWD!nfMQPnCV41YoSY6N 121.308 - S?L37^2+kVelgNj&`pC+koTkh7\2lp'a#QA5gn.20*tNUQGFuhpJ%.95H\</,5<b7)#PD-% 121.309 - /plZ;;hF^Ccm9Q%4&PB[dF_>Q]/o?29+::[pA?$87>X/_96-sS\.s_ce]P3Qu7E767Isd<^ 121.310 - 1<.U.XJdP`0U!+3!qsQ_Y:g:E>0Nb'6Z=Q]-Z.Eun[IGo2.Zgln.rmSG03Pk!idfRGZY(Wu 121.311 - Jj/?h7GC9m69U3Y",8loX51CTliq(b=HCP/*u-57X")DW04-!mqZI(5t)IHI&^LNKVK9\N= 121.312 - ;B[mWeZp>(=g+H(a.;qC]5c<$Rnb_N%3^<5:ee\,;1M`P(Y(n@;M62BFfK<V2(a`L0q0Q8+ 121.313 - Lq75Y##EcQY@ZojmgM+%]HOMO65B6CZ<4Bt.p?J5k,gYFp5>!bXWM<$c-$8KS-[iE:M`ABZ 121.314 - rFKm%G%\umZN`6VsMecYW*RR.]>Jbp."_kkY;@AD.Mb8G,uZ1Q:3S2ql)gbW0G5Rd1P2EW! 121.315 - FsuO2Y%OjZLr#FPZNEXUg)@c9mHLd0S+S7.g"**_1I^H/YWRX7<;=AK6UA@iU,]CH_+MpW3 121.316 - J`jBk"<%/%EE2[%IXkC[[c[$C3+/EZ%KRmC\?7N/W-@r=qO)K$#*pD517_uH\KNi;NTIWDr 121.317 - fG_L:=fsQX&>r"QmT+J!>Z?dI2kb&$QO`$@MkBRQi\as>'qaK36EIHYRUUbM`_`-M2_fOmu 121.318 - q8qIYff:^EdJc/<(;D*Fo-]gG?=1/2o"i/SlYc1j"H(R4NIcI'[IDl;pugBt1V@(doAbVHi 121.319 - 56YS4IHp>Dr6F8+!i%cUnQU,[j?=CPD;4Y^@Ar?d$:`fgrUYY1-[%er(i\Jrcc]`\c^NkT3 121.320 - o=ac3*cQ,Gf3PEV2KG#l;JF#Ul.TWdd)W25pB$:W1dr./_)Po5-*ll]/[IVTj&IGiGV$!X/ 121.321 - O@/gA28JZ&)>:?^DmbieFqhQP@BO4H9Bpf&]nWCpjsV,FINW8Om",)ebe$iL$c`qSZg(T*- 121.322 - s:9Ok@#6hssqG:5uU*BjRAHIH/R`%h]L.MW3G6:Rq#>g!r&3sli7+^p%XRG-lmgf(F')-.8 121.323 - pTU=fOMW2sVZLaPs00`PJg+&E<t#RJmL+uO.j500g<l"(:9_fhE1IF,PmO0,%;pe.M/XL<E 121.324 - 3+iP$BRf8`km+bYkILPnID)tWtPm2!sl-!"#2FP&CMa6n58^)#ga-*:_^fD(u0*nJ'dQSbY 121.325 - \U!p*$\$'Z)(%7VNG&gB=FoI#Wg*0BEem[h95<nV/%GVk35V'T`n)![%L*&Loks:4afpQ,4 121.326 - r5Lg:nX-=`(gnW84XDU0.-VID97+E<8^d@;418H6Wo*'u4q0p3^MWZ3[?(+'n7B"[$*::j@ 121.327 - ?+gA?QOLZ1Qc>KPD*Nj^,ENFCt#Vj4<N9@),@K,<*l>u,I&.&"QO&Uf\"r-5-DU3_M%\"Q' 121.328 - ,':*nj/'L51&`@P)^*QM+7]uuiXI&E,:%g7j_'Bk0t;0oF!Hi#o?lE&n`$)oC8HlnWQkSUA 121.329 - f1cS\GW+.IY9<uE%]N](l*n-N2Uk7&sF0s<cI%>m3l*GX_/k5*piHT/Wu.hd\MYn??">]L@ 121.330 - $79"`4c)"Y!/?-GgcQkUA#64!t3r-VfdFC)\52&0/"P)m]Jt!QQlilEi5bMiY17#44$P0TV 121.331 - C:ogc$J$_I,Yq#>&C%1tHA%:'h7raN,riT!,PmPbG-0bap7'MOQ%O/h'C%M=l'0k)djY;-E 121.332 - j+H>t<`%rho@K/+30Q49`1Ld='%D+MR$J#]2!Rg7=o'Z!Cgdc9rXY1$MEebD$VQKEu(R(g[ 121.333 - $K!iIg_9:j#'7OA'>PQ.`sSk*`Y!7"d3?%3-Ta-<W0=>*1Yk5eWB4h6n8k2pe"ZA2k<G0f1 121.334 - o[Z8m56aWq`p$S5,lLbm>!hZpHZ)(U=8'%ZlMJ)nNc?OYRtc#o?`qiV*]8bSs1B4ZopfKWC 121.335 - !Sr5r:G`;q0.c7n&>15OH8QZs-!k]gSj!7.Pf$1\X@\G+(6R2,nil#N&"MVaft%6$!E)1m3 121.336 - a'I7[D,K(Oed:LuPii<:aD7oZ$P#>[pUZV-%Z8dV7`Z_3ad3D6a%=]Dk(eC%Nb^7#bR5;^D 121.337 - Qo[Q]*@nd[#:;nYVM3gr\%nRK(:W1^W[/Wrj=\gK#6KZ6''QC;Je0&-f;:Qad'dHUV-W63[ 121.338 - ;UmF!'f/cg2cGu';q4*3'gkr#7oYaH<7OcE'iS+4=&kMi;;_a]"9/i]O=PHZ<n2+i'm!GVG 121.339 - ?:&V=4Me&'n]TG-WlK:W9[q7D?!5&+r$<2&J^pA!BXI`#m6Hn>1Kf\'sh+E[p,-0>LgJn'u 121.340 - O9V`dUlp_fa(,("6Ggf3OZr?.Ih=(#rO+&C/_q"V^D0;6jsdj'Ga_?e,0a('@rF#@NhK>gK 121.341 - <U[M*(M(L`UK@FcN)p#r."pF$dKC4N^%!/Y2d2e/.8A(EkT(.2V57q@oYACaOf(/ndF=(R\ 121.342 - %A_(4#(1UrWB4dHFB%Cm5(3=(#&g5!5B@_3=(5$:$LM3!3B\&5Y(6`H5QYDab':,5J;n<Y6 121.343 - _ePCT)fVgmPc8"*.jJ%!CY$7:(;g8!:.C;t*`,LF.GJ!FFXT/eD:[T^(?.QBPkI!%*k'Z.0 121.344 - BYY[j_pI^Dq=n9QKTNY.-Yp0E#0%)(DCd)"<qt!4S9G-0m>f?'loWkEn92hJgGEWb<n33&[ 121.345 - r3ipHs%(7nM;f+u]gFQ7[3F=*9j67@-[l(K#336$:dpG1UXHf3fcfZY`aPE48hk(P?s6LB6 121.346 - "K+k3>A<q18*JU!NNH.SY3f8QD(m;_cXH$6fG(UJHi[_):0+W"Z4^ls.:P)/%?I+PoW(Xme 121.347 - *8UJ;bHl(C`(ZTs;=ad"RF)(r#\#k+'pOAP+X:9%_m<=(TH5r-l-`liZfDU8&(P.KuIJ=b5 121.348 - (aFW)iIUbOK%M`/$aD^YPBYY8K@iDA$3PmSRP4a1K\0(S(fQ,j=,!#;J-0DfG[#o)B81u0L 121.349 - ;RUBpiD1WGDDP\*;Ft@@=O)8H\e%k&,;/D@nVWfQ\>GnM8OLmTc],YVA8m,L'Pt\Gd7hSC` 121.350 - 3"fLKLs@R!p%8An"lYM3sG^ps"T(S.bUiLq(ujR&Un]GE*Mr`rcj-+hs&IH]2(J>PRrJK6N 121.351 - >Y!JX^N2gF#;Qs5S=%>82Y?^7m*8:_=p_A'O12IVB)'u]eInF-%O!Vno<Fta;(^I;W*T=(s 121.352 - 63DqbLb?HtV'Y,l\28bVeTG#pn>ZjF()+a$19jI@rPp"L6FiBZ?/X?EmP?,m]q1k9rCR=_/ 121.353 - Ddr;[),ZYe$^%0AOnGo@,+k-cZ'F"#R.*R"3BLET4otJ!P]a[(U@jcHI@=ogP'+U1UD8t1N 121.354 - L!_/06rgf3R*mhfpu8m>5<Z828bf,]q2dM0cBLd"*^0@]p[mMRQ9&g)6$aq0X-d<.J^/Nfs 121.355 - 3'[[p&Ue0feEdj(FlY3LlN1SJcXD[Lo5O<if<9UVd\>)@ABK&R5*+>Ii083S0o!g,=51QF[ 121.356 - B-).k>oBj9:+PrYC'3ZS-EV4o41Ie*6.@Q#7\VlH2dWnOYW)RHGrN](H7X'39>)T#!3AiY1 121.357 - TXP2"#KQ2n.n#[M_X!-B'"*P`SkH3J(WhJOX"*P_HpTE6H?eW(;])/]th5k*$XLe_?g=.iD 121.358 - Dm:5JY$1(p]$IP\jf_k`Z9$76j(kssg*Z[;-Ta8h)\b"g)71=+2eDrp]"bFWi\u33[5t_%3 121.359 - h:S[I=G?d[bG`0#q;=TF17Wc\&ITW':hEnJ%1u+\A_U\2RFQ1QaXMe\_Eaf"*dcIRR[L&Y] 121.360 - kH)@J$e!S%G0%]A(*5)oK<ma1Rnb]\CcG)q2K)f=d[.^"_GY)rnY:kJ!GO^>&+k)tUgKpV3 121.361 - 3p^YAe(*!<u]#Jci;^t]I:*#$.n(VuUU7g#&"+9~>Q 121.362 -Q 121.363 -showpage 121.364 -%%Trailer 121.365 -count op_count sub {pop} repeat 121.366 -countdictstack dict_count sub {end} repeat 121.367 -cairo_eps_state restore 121.368 -%%EOF
122.1 Binary file 0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/VMS-core__plugins.png has changed
123.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/VMS-core__plugins.png.bb Thu Feb 02 12:22:53 2012 -0800 123.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 123.3 @@ -1,1 +0,0 @@ 123.4 -%%BoundingBox: 0 0 465.36 265.2
124.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/figures/VMS-core__plugins.svg Thu Feb 02 12:22:53 2012 -0800 124.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 124.3 @@ -1,196 +0,0 @@ 124.4 -<?xml version="1.0" encoding="UTF-8" standalone="no"?> 124.5 -<!-- Created with Inkscape (http://www.inkscape.org/) --> 124.6 - 124.7 -<svg 124.8 - xmlns:dc="http://purl.org/dc/elements/1.1/" 124.9 - xmlns:cc="http://creativecommons.org/ns#" 124.10 - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 124.11 - xmlns:svg="http://www.w3.org/2000/svg" 124.12 - xmlns="http://www.w3.org/2000/svg" 124.13 - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 124.14 - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 124.15 - width="744.09448819" 124.16 - height="1052.3622047" 124.17 - id="svg2" 124.18 - sodipodi:version="0.32" 124.19 - inkscape:version="0.47 r22583" 124.20 - sodipodi:docname="VMS-core__plugins.svg" 124.21 - inkscape:output_extension="org.inkscape.output.svg.inkscape" 124.22 - version="1.1"> 124.23 - <defs 124.24 - id="defs4"> 124.25 - <marker 124.26 - inkscape:stockid="Arrow2Mend" 124.27 - orient="auto" 124.28 - refY="0.0" 124.29 - refX="0.0" 124.30 - id="Arrow2Mend" 124.31 - style="overflow:visible;"> 124.32 - <path 124.33 - id="path4008" 124.34 - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 124.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 " 124.36 - transform="scale(0.6) rotate(180) translate(0,0)" /> 124.37 - </marker> 124.38 - <inkscape:perspective 124.39 - sodipodi:type="inkscape:persp3d" 124.40 - inkscape:vp_x="0 : 526.18109 : 1" 124.41 - inkscape:vp_y="0 : 1000 : 0" 124.42 - inkscape:vp_z="744.09448 : 526.18109 : 1" 124.43 - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 124.44 - id="perspective10" /> 124.45 - <inkscape:perspective 124.46 - id="perspective12172" 124.47 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 124.48 - inkscape:vp_z="1 : 0.5 : 1" 124.49 - inkscape:vp_y="0 : 1000 : 0" 124.50 - inkscape:vp_x="0 : 0.5 : 1" 124.51 - sodipodi:type="inkscape:persp3d" /> 124.52 - <inkscape:perspective 124.53 - id="perspective12937" 124.54 - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 124.55 - inkscape:vp_z="1 : 0.5 : 1" 124.56 - inkscape:vp_y="0 : 1000 : 0" 124.57 - inkscape:vp_x="0 : 0.5 : 1" 124.58 - sodipodi:type="inkscape:persp3d" /> 124.59 - </defs> 124.60 - <sodipodi:namedview 124.61 - id="base" 124.62 - pagecolor="#ffffff" 124.63 - bordercolor="#666666" 124.64 - borderopacity="1.0" 124.65 - gridtolerance="10000" 124.66 - guidetolerance="10" 124.67 - objecttolerance="10" 124.68 - inkscape:pageopacity="0.0" 124.69 - inkscape:pageshadow="2" 124.70 - inkscape:zoom="2.5442307" 124.71 - inkscape:cx="338.67763" 124.72 - inkscape:cy="624.1511" 124.73 - inkscape:document-units="px" 124.74 - inkscape:current-layer="layer1" 124.75 - showgrid="false" 124.76 - inkscape:window-width="782" 124.77 - inkscape:window-height="1141" 124.78 - inkscape:window-x="889" 124.79 - inkscape:window-y="6" 124.80 - inkscape:window-maximized="0" /> 124.81 - <metadata 124.82 - id="metadata7"> 124.83 - <rdf:RDF> 124.84 - <cc:Work 124.85 - rdf:about=""> 124.86 - <dc:format>image/svg+xml</dc:format> 124.87 - <dc:type 124.88 - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 124.89 - <dc:title></dc:title> 124.90 - </cc:Work> 124.91 - </rdf:RDF> 124.92 - </metadata> 124.93 - <g 124.94 - inkscape:label="Layer 1" 124.95 - inkscape:groupmode="layer" 124.96 - id="layer1"> 124.97 - <rect 124.98 - style="opacity:0.44897958;fill:none;stroke:#000000;stroke-width:0.10000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.4, 0.10000001;stroke-dashoffset:0" 124.99 - id="rect4618" 124.100 - width="145.33414" 124.101 - height="82.783836" 124.102 - x="303.08145" 124.103 - y="354.28436" /> 124.104 - <rect 124.105 - style="opacity:1;fill:none;stroke:#000000;stroke-width:1.08018123999999990;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 124.106 - id="rect12971" 124.107 - width="57.808529" 124.108 - height="52.250008" 124.109 - x="376.19687" 124.110 - y="375.43658" /> 124.111 - <text 124.112 - xml:space="preserve" 124.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" 124.114 - x="384.66901" 124.115 - y="395.52637" 124.116 - id="text12973" 124.117 - sodipodi:linespacing="100%"><tspan 124.118 - sodipodi:role="line" 124.119 - id="tspan12975" 124.120 - x="384.66901" 124.121 - y="395.52637">VMS-core</tspan></text> 124.122 - <rect 124.123 - y="358.77173" 124.124 - x="306.62949" 124.125 - height="75.595757" 124.126 - width="138.05142" 124.127 - id="rect12977" 124.128 - style="opacity:1;fill:none;stroke:#000000;stroke-width:1.08018123999999990;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:4.32072500000000040, 4.32072500000000040;stroke-dashoffset:0" /> 124.129 - <text 124.130 - sodipodi:linespacing="100%" 124.131 - id="text12979" 124.132 - y="369.76575" 124.133 - x="360.49323" 124.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" 124.135 - xml:space="preserve"><tspan 124.136 - y="369.76575" 124.137 - x="360.49323" 124.138 - id="tspan12981" 124.139 - sodipodi:role="line">Master</tspan></text> 124.140 - <rect 124.141 - y="375.43658" 124.142 - x="316.19687" 124.143 - height="52.250008" 124.144 - width="57.808529" 124.145 - id="rect12983" 124.146 - style="opacity:1;fill:none;stroke:#000000;stroke-width:1.08018123999999990;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 124.147 - <text 124.148 - sodipodi:linespacing="100%" 124.149 - id="text12985" 124.150 - y="389.4043" 124.151 - x="344.89117" 124.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" 124.153 - xml:space="preserve"><tspan 124.154 - y="389.4043" 124.155 - x="344.89117" 124.156 - id="tspan12987" 124.157 - sodipodi:role="line" 124.158 - style="text-align:center;text-anchor:middle">Language</tspan><tspan 124.159 - y="399.4043" 124.160 - x="344.89117" 124.161 - sodipodi:role="line" 124.162 - id="tspan12989" 124.163 - style="text-align:center;text-anchor:middle">Plug-in</tspan></text> 124.164 - <text 124.165 - xml:space="preserve" 124.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 124.167 - x="345.07574" 124.168 - y="415.4043" 124.169 - id="text12991" 124.170 - sodipodi:linespacing="100%"><tspan 124.171 - sodipodi:role="line" 124.172 - id="tspan12993" 124.173 - x="345.07574" 124.174 - y="415.4043" 124.175 - style="font-size:8px;text-align:center;text-anchor:middle">Semantic</tspan><tspan 124.176 - id="tspan12995" 124.177 - sodipodi:role="line" 124.178 - x="345.07574" 124.179 - y="423.4043" 124.180 - style="font-size:8px;text-align:center;text-anchor:middle">State</tspan></text> 124.181 - <text 124.182 - sodipodi:linespacing="100%" 124.183 - id="text12997" 124.184 - y="415.4043" 124.185 - x="405.06989" 124.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:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 124.187 - xml:space="preserve"><tspan 124.188 - style="font-size:8px;text-align:center;text-anchor:middle" 124.189 - y="415.4043" 124.190 - x="405.06989" 124.191 - id="tspan12999" 124.192 - sodipodi:role="line">Physical</tspan><tspan 124.193 - style="font-size:8px;text-align:center;text-anchor:middle" 124.194 - y="423.4043" 124.195 - x="405.06989" 124.196 - sodipodi:role="line" 124.197 - id="tspan13001">State</tspan></text> 124.198 - </g> 124.199 -</svg>
125.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/latex/Sept_2011__Multiprog.ddf Thu Feb 02 12:22:53 2012 -0800 125.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 125.3 @@ -1,2 +0,0 @@ 125.4 -[MakeIndex] 125.5 -.idx=.ind
126.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/latex/Sept_2011__Multiprog.tex Thu Feb 02 12:22:53 2012 -0800 126.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 126.3 @@ -1,1173 +0,0 @@ 126.4 -%&latex 126.5 - 126.6 - 126.7 -\documentclass[conference]{../helpers/llncs} 126.8 -% 126.9 -\usepackage{makeidx,geometry,amssymb,graphicx,calc,ifthen} 126.10 -% 126.11 - 126.12 -% *** CITATION PACKAGES *** 126.13 -% 126.14 -%\usepackage{cite} 126.15 -% cite.sty was written by Donald Arseneau 126.16 -% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package 126.17 -% \cite{} output to follow that of IEEE. Loading the cite package will 126.18 -% result in citation numbers being automatically sorted and properly 126.19 -% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using 126.20 -% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's 126.21 -% \cite will automatically add leading space, if needed. Use cite.sty's 126.22 -% noadjust option (cite.sty V3.8 and later) if you want to turn this off. 126.23 -% cite.sty is already installed on most LaTeX systems. Be sure and use 126.24 -% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does 126.25 -% not currently provide for hyperlinked citations. 126.26 -% The latest version can be obtained at: 126.27 -% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ 126.28 -% The documentation is contained in the cite.sty file itself. 126.29 - 126.30 - 126.31 - 126.32 - 126.33 - 126.34 - 126.35 -% *** GRAPHICS RELATED PACKAGES *** 126.36 -% 126.37 -%\ifCLASSINFOpdf 126.38 - % \usepackage[pdftex]{graphicx} 126.39 - % declare the path(s) where your graphic files are 126.40 - % \graphicspath{{../pdf/}{../jpeg/}} 126.41 - % and their extensions so you won't have to specify these with 126.42 - % every instance of \includegraphics 126.43 - % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} 126.44 -%\else 126.45 - % or other class option (dvipsone, dvipdf, if not using dvips). graphicx 126.46 - % will default to the driver specified in the system graphics.cfg if no 126.47 - % driver is specified. 126.48 - % \usepackage[dvips]{graphicx} 126.49 - % declare the path(s) where your graphic files are 126.50 - % \graphicspath{{../eps/}} 126.51 - % and their extensions so you won't have to specify these with 126.52 - % every instance of \includegraphics 126.53 - % \DeclareGraphicsExtensions{.eps} 126.54 -%\fi 126.55 -% graphicx was written by David Carlisle and Sebastian Rahtz. It is 126.56 -% required if you want graphics, photos, etc. graphicx.sty is already 126.57 -% installed on most LaTeX systems. The latest version and documentation can 126.58 -% be obtained at: 126.59 -% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ 126.60 -% Another good source of documentation is "Using Imported Graphics in 126.61 -% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or 126.62 -% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ 126.63 -% 126.64 -% latex, and pdflatex in dvi mode, support graphics in encapsulated 126.65 -% postscript (.eps) format. pdflatex in pdf mode supports graphics 126.66 -% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure 126.67 -% that all non-photo figures use a vector format (.eps, .pdf, .mps) and 126.68 -% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats 126.69 -% which can result in "jaggedy"/blurry rendering of lines and letters as 126.70 -% well as large increases in file sizes. 126.71 -% 126.72 -% You can find documentation about the pdfTeX application at: 126.73 -% http://www.tug.org/applications/pdftex 126.74 - 126.75 - 126.76 - 126.77 - 126.78 - 126.79 -% *** MATH PACKAGES *** 126.80 -% 126.81 -%\usepackage[cmex10]{amsmath} 126.82 -% A popular package from the American Mathematical Society that provides 126.83 -% many useful and powerful commands for dealing with mathematics. If using 126.84 -% it, be sure to load this package with the cmex10 option to ensure that 126.85 -% only type 1 fonts will utilized at all point sizes. Without this option, 126.86 -% it is possible that some math symbols, particularly those within 126.87 -% footnotes, will be rendered in bitmap form which will result in a 126.88 -% document that can not be IEEE Xplore compliant! 126.89 -% 126.90 -% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 126.91 -% thus preventing page breaks from occurring within multiline equations. Use: 126.92 -%\interdisplaylinepenalty=2500 126.93 -% after loading amsmath to restore such page breaks as IEEEtran.cls normally 126.94 -% does. amsmath.sty is already installed on most LaTeX systems. The latest 126.95 -% version and documentation can be obtained at: 126.96 -% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ 126.97 - 126.98 - 126.99 - 126.100 - 126.101 - 126.102 -% *** SPECIALIZED LIST PACKAGES *** 126.103 -% 126.104 -%\usepackage{algorithmic} 126.105 -% algorithmic.sty was written by Peter Williams and Rogerio Brito. 126.106 -% This package provides an algorithmic environment fo describing algorithms. 126.107 -% You can use the algorithmic environment in-text or within a figure 126.108 -% environment to provide for a floating algorithm. Do NOT use the algorithm 126.109 -% floating environment provided by algorithm.sty (by the same authors) or 126.110 -% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated 126.111 -% algorithm float types and packages that provide these will not provide 126.112 -% correct IEEE style captions. The latest version and documentation of 126.113 -% algorithmic.sty can be obtained at: 126.114 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ 126.115 -% There is also a support site at: 126.116 -% http://algorithms.berlios.de/index.html 126.117 -% Also of interest may be the (relatively newer and more customizable) 126.118 -% algorithmicx.sty package by Szasz Janos: 126.119 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ 126.120 - 126.121 - 126.122 - 126.123 - 126.124 -% *** ALIGNMENT PACKAGES *** 126.125 -% 126.126 -%\usepackage{array} 126.127 -% Frank Mittelbach's and David Carlisle's array.sty patches and improves 126.128 -% the standard LaTeX2e array and tabular environments to provide better 126.129 -% appearance and additional user controls. As the default LaTeX2e table 126.130 -% generation code is lacking to the point of almost being broken with 126.131 -% respect to the quality of the end results, all users are strongly 126.132 -% advised to use an enhanced (at the very least that provided by array.sty) 126.133 -% set of table tools. array.sty is already installed on most systems. The 126.134 -% latest version and documentation can be obtained at: 126.135 -% http://www.ctan.org/tex-archive/macros/latex/required/tools/ 126.136 - 126.137 - 126.138 -%\usepackage{mdwmath} 126.139 -%\usepackage{mdwtab} 126.140 -% Also highly recommended is Mark Wooding's extremely powerful MDW tools, 126.141 -% especially mdwmath.sty and mdwtab.sty which are used to format equations 126.142 -% and tables, respectively. The MDWtools set is already installed on most 126.143 -% LaTeX systems. The lastest version and documentation is available at: 126.144 -% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ 126.145 - 126.146 - 126.147 -% IEEEtran contains the IEEEeqnarray family of commands that can be used to 126.148 -% generate multiline equations as well as matrices, tables, etc., of high 126.149 -% quality. 126.150 - 126.151 - 126.152 -%\usepackage{eqparbox} 126.153 -% Also of notable interest is Scott Pakin's eqparbox package for creating 126.154 -% (automatically sized) equal width boxes - aka "natural width parboxes". 126.155 -% Available at: 126.156 -% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ 126.157 - 126.158 - 126.159 - 126.160 - 126.161 - 126.162 -% *** SUBFIGURE PACKAGES *** 126.163 -%\usepackage[tight,footnotesize]{subfigure} 126.164 -% subfigure.sty was written by Steven Douglas Cochran. This package makes it 126.165 -% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE 126.166 -% work, it is a good idea to load it with the tight package option to reduce 126.167 -% the amount of white space around the subfigures. subfigure.sty is already 126.168 -% installed on most LaTeX systems. The latest version and documentation can 126.169 -% be obtained at: 126.170 -% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ 126.171 -% subfigure.sty has been superceeded by subfig.sty. 126.172 - 126.173 - 126.174 - 126.175 -%\usepackage[caption=false]{caption} 126.176 -%\usepackage[font=footnotesize]{subfig} 126.177 -% subfig.sty, also written by Steven Douglas Cochran, is the modern 126.178 -% replacement for subfigure.sty. However, subfig.sty requires and 126.179 -% automatically loads Axel Sommerfeldt's caption.sty which will override 126.180 -% IEEEtran.cls handling of captions and this will result in nonIEEE style 126.181 -% figure/table captions. To prevent this problem, be sure and preload 126.182 -% caption.sty with its "caption=false" package option. This is will preserve 126.183 -% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later 126.184 -% (recommended due to many improvements over 1.2) of subfig.sty supports 126.185 -% the caption=false option directly: 126.186 -%\usepackage[caption=false,font=footnotesize]{subfig} 126.187 -% 126.188 -% The latest version and documentation can be obtained at: 126.189 -% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ 126.190 -% The latest version and documentation of caption.sty can be obtained at: 126.191 -% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ 126.192 - 126.193 - 126.194 - 126.195 - 126.196 -% *** FLOAT PACKAGES *** 126.197 -% 126.198 -%\usepackage{fixltx2e} 126.199 -% fixltx2e, the successor to the earlier fix2col.sty, was written by 126.200 -% Frank Mittelbach and David Carlisle. This package corrects a few problems 126.201 -% in the LaTeX2e kernel, the most notable of which is that in current 126.202 -% LaTeX2e releases, the ordering of single and double column floats is not 126.203 -% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a 126.204 -% single column figure to be placed prior to an earlier double column 126.205 -% figure. The latest version and documentation can be found at: 126.206 -% http://www.ctan.org/tex-archive/macros/latex/base/ 126.207 - 126.208 - 126.209 - 126.210 -%\usepackage{stfloats} 126.211 -% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e 126.212 -% the ability to do double column floats at the bottom of the page as well 126.213 -% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in 126.214 -% LaTeX2e). It also provides a command: 126.215 -%\fnbelowfloat 126.216 -% to enable the placement of footnotes below bottom floats (the standard 126.217 -% LaTeX2e kernel puts them above bottom floats). This is an invasive package 126.218 -% which rewrites many portions of the LaTeX2e float routines. It may not work 126.219 -% with other packages that modify the LaTeX2e float routines. The latest 126.220 -% version and documentation can be obtained at: 126.221 -% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ 126.222 -% Documentation is contained in the stfloats.sty comments as well as in the 126.223 -% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE 126.224 -% does not allow \baselineskip to stretch. Authors submitting work to the 126.225 -% IEEE should note that IEEE rarely uses double column equations and 126.226 -% that authors should try to avoid such use. Do not be tempted to use the 126.227 -% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does 126.228 -% not format its papers in such ways. 126.229 - 126.230 - 126.231 - 126.232 - 126.233 - 126.234 -% *** PDF, URL AND HYPERLINK PACKAGES *** 126.235 -% 126.236 -%\usepackage{url} 126.237 -% url.sty was written by Donald Arseneau. It provides better support for 126.238 -% handling and breaking URLs. url.sty is already installed on most LaTeX 126.239 -% systems. The latest version can be obtained at: 126.240 -% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ 126.241 -% Read the url.sty source comments for usage information. Basically, 126.242 -% \url{my_url_here}. 126.243 - 126.244 - 126.245 - 126.246 - 126.247 - 126.248 -% *** Do not adjust lengths that control margins, column widths, etc. *** 126.249 -% *** Do not use packages that alter fonts (such as pslatex). *** 126.250 -% There should be no need to do such things with IEEEtran.cls V1.6 and later. 126.251 -% (Unless specifically asked to do so by the journal or conference you plan 126.252 -% to submit to, of course. ) 126.253 - 126.254 - 126.255 -% correct bad hyphenation here 126.256 -\hyphenation{op-tical net-works semi-conduc-tor} 126.257 - 126.258 - 126.259 -\begin{document} 126.260 - 126.261 -\bibliographystyle{plain} 126.262 -% 126.263 - 126.264 -\title{Abstraction for High Performance Multi-Core Runtimes} 126.265 - 126.266 -\author{Sean Halle \and Merten Sach \and Ben Juurlink} 126.267 -\institute{Technical University Berlin} 126.268 - 126.269 -\maketitle 126.270 -% 126.271 - 126.272 -\begin{abstract} 126.273 -The current renaissance in multi-core programming techniques and tools is generating new languages and concurrency constructs at a furious pace. This supports the belief held by many that Domain Specific Languages will satisfy the productivity goal for parallel programming. However, each of the new approaches and every domain specific language requires a runtime. Further, the runtime should be tuned to each flavor of multi-core hardware in order to get the lowest overhead. This represents non-trivial amounts of work, especially given the complexity of runtime internals, which have tricky concurrency issues. 126.274 - 126.275 -Regarding this, we present an improvement to the Virtualized Master-Slave abstraction, which has been demonstrated as one way to avoid such runtime implementation difficulties. VMS is a Mutable Concurrency-Hardware Abstraction used to quickly and easily create high performance runtime systems. It captures the difficult concurrency issues inside a reusable abstraction that exports a simple interface. Runtimes are created on top of this interface using only sequential reasoning, which greatly speeds implementation. The interface also modularizes the runtime and hides details of underlying concurrency hardware. 126.276 - 126.277 -We improved the interface by making it multi-core aware, and show how much it can reduce overhead. Across a collection of platforms, runtimes that use our multi-core-aware interface have an average of X\% less overhead. Specifically, we show the improvement from splitting malloc across cores, and demonstrate split constructs such as pthread-style mutexes and condition variables, which now have X cycles of overhead, compared to X cycles previously. 126.278 -\end{abstract} 126.279 - 126.280 -\section{Motivation} 126.281 -The current renaissance in multi-core programming techniques and tools is generating new languages and concurrency constructs at a furious pace. This supports the belief held by many that Domain Specific Languages will satisfy the productivity goal for parallel programming. However, each of the new approaches and every domain specific language requires a runtime. Further, the runtime should be tuned to each flavor of multi-core hardware in order to get the lowest overhead. This represents non-trivial amounts of work, especially given the complexity of runtime internals, which have tricky concurrency issues. 126.282 - 126.283 -Regarding this, we present an improvement to the Virtualized Master-Slave abstraction, which has been demonstrated as one way to avoid such runtime implementation difficulties. VMS is a Mutable Concurrency-Hardware Abstraction used to quickly and easily create high performance runtime systems. It captures the difficult concurrency issues inside a reusable abstraction that exports a simple interface. Runtimes are created on top of this interface using only sequential reasoning, which greatly speeds implementation. The interface also modularizes the runtime and hides details of underlying concurrency hardware. 126.284 - 126.285 -We improved the interface by making it multi-core aware, and show how much it can reduce overhead. Across a collection of platforms, runtimes that use our multi-core-aware interface have an average of X\% less overhead. Specifically, we show the improvement from splitting malloc across cores, and demonstrate split constructs such as pthread-style mutexes and condition variables, which now have X cycles of overhead, compared to X cycles previously. 126.286 -\paragraph*{A partial solution.} 126.287 - 126.288 -\paragraph*{Contribution.} 126.289 - 126.290 -We show in this paper the definition and implementation of such a 126.291 -mutable hardware abstraction, albeit at user-level rather than in 126.292 -the kernel. The abstraction lets a language's runtime be implemented as 126.293 -a mutation, which we call a plugin. The plugin implements parallelism constructs and assignment of tasks to cores. 126.294 - 126.295 -We focus in this introductory paper on the definition of the 126.296 -abstraction and its support for parallelism constructs, postponing 126.297 -exploration of assignment of tasks onto cores and other performance 126.298 -optimizations to following papers. This paper defines multiple time-lines in a program, and a virtual timeline that globally orders events among them. It demonstrates three sets of parallelism constructs: synchronous \texttt{send}-\texttt{receive} 126.299 -mo\textbf{\(f\)a}tivated by process calculi; \texttt{spawn} and \texttt{sync} from 126.300 -Cilk {\cite{Fri98,CILKHome}}; and \texttt{mutex} and \texttt{condition 126.301 - variable} from pthreads. The assignment policy we implemented with 126.302 -them is simply first-come first-served. 126.303 - 126.304 -We call the abstraction Virtualized Master-Slave, or VMS. It 126.305 -exports facilities to create virtual processors and control how their timelines relate to each other, and relate to physical time. It also exports facilities to suspend a virtual processor and for an executable to interact with the plugin. The plugin embodies most of a language's runtime. A wrapper-library or keyword is what appears in application code, and is what triggers the runtime. 126.306 - 126.307 -\paragraph*{Organization of paper.} 126.308 - 126.309 -Section~\ref{secAbsModel} provide the original concepts and 126.310 -definitions of VMS. Section~\ref{secInternal} focuses on the 126.311 -implementation, describing the elements and how they interact, then 126.312 -relating them back to the theoretical definition. 126.313 -Section~\ref{secApp} takes the point of view of the application code, 126.314 -studying the usage and implementation of parallel language constructs 126.315 -as a VMS plugin. To wrap up, measurements of effectiveness appear in 126.316 -Section~\ref{secResults} and conclusions in 126.317 -Section~\ref{secConclusion}. 126.318 - 126.319 -\section{Background and Related Work} 126.320 - 126.321 -User-level thread packages and most parallel language runtimes have to 126.322 -side-step OS threads, by pinning one to each core, which effectively 126.323 -gives the user-level package control over the core. Our VMS 126.324 -implementation also does this. We are not claiming in this paper to 126.325 -have the OS level implementation of VMS that is possible -- but just 126.326 -the user-space version. 126.327 - 126.328 -\paragraph*{Related work.} 126.329 - 126.330 -The most primitive methods for establishing ordering among cores or distributed processors are atomic instructions and clock-synchronization techniques \cite{Lamport78,Christian89}. 126.331 - 126.332 -Meanwhile, the most closely related work is Scheduler Activations 126.333 -\cite{SchedActivations}, which also allows modifying concurrency 126.334 -constructs and controlling assignment of virtual processors onto 126.335 -cores. However it has no virtual time to guarantee globally consistent 126.336 -sequentialization, and no interface for plugins. 126.337 - 126.338 -BOM \cite{BOMinManticore}, which is used in Manticore to express 126.339 -scheduling policies and synchronization, also bears resemblances to 126.340 -VMS, but at a higher level of abstraction. BOM is a functional 126.341 -language, rather than a primitive abstraction meant to sit at the 126.342 -hardware-software boundary as VMS is. 126.343 - 126.344 -Coroutines is a high-performance means of switching between 126.345 -tasks. Coroutine scheduling and stack handling techniques were well 126.346 -suited to the user-space implementation of VMS. 126.347 - 126.348 -Other related work either provides an abstraction of the thread model, 126.349 -or is a full language with specific parallelism constructs. As a 126.350 -protypic example of user-level threads, Cilk {\cite{Fri98,CILKHome}} 126.351 -provides a simplified abstraction with an efficient scheduling and 126.352 -load balancing algorithm, but limited to fork-join concurrency. OpenMP 126.353 -{\cite{OpenMPHome}} is a typical example of a parallel extension of 126.354 -sequential languages; it allows creating tasks and controlling their 126.355 -execution order. We claim that both Cilk and OpenMP, as well as most 126.356 -thread abstractions or parallel languages may be implemented via 126.357 -plugins to VMS, with similar performance. 126.358 - 126.359 -VMS is unique in that it doesn't impose its own concurrency semantics as a programming model, but rather takes preferred ones as plugins. This 126.360 -makes it only a \emph{support} mechanism to 126.361 -implement language runtimes -- VMS is hidden from the application, underneath the language. Parallelism constructs may be implemented 126.362 -as VMS plugins, easily, quickly, and with high performance as 126.363 -indicated in Section~\ref{secResults}. 126.364 - 126.365 -This work presents a first incarnation of VMS. We plan 126.366 -to explore the embedding into VMS of a variety of parallel languages, 126.367 -with a special interest for coordination languages 126.368 -\cite{Gelernter85Linda,CnCInHotPar,CnCHome}. We will also explore 126.369 -VMS's compatibility with different concurrent semantics 126.370 -\cite{Kah74,hoare78,milner99,Hewitt10,Actors97}. One particularly 126.371 -important application would be to use VMS to facilitate the design and 126.372 -implementation of the emerging hybrid programming models, such as 126.373 -MPI+OpenMP, or OpenMP+OpenCL \cite{Car10,OpenCLHome}. 126.374 - 126.375 - 126.376 -\section{Abstract Definition of VMS} 126.377 -\label{secAbsModel} 126.378 - 126.379 -We start with an intuitive overview, then precise the definitions and 126.380 -properties in the following sub-sections. 126.381 - 126.382 -\paragraph*{Definitions:} 126.383 - 126.384 -1) We want to avoid the confusion associated with the various 126.385 -interpretations for the terms ``thread'' and ``task'' so will use 126.386 -the term \emph{Virtual Processor} (VP), which we define as state in 126.387 -combination with the ability to animate code or an additional level of 126.388 -virtual processors. The state consists of a program counter, a stack 126.389 -with its contents, a pointer to top of stack, and a pointer to the 126.390 -current stack frame. 2) A \emph{physical processor} executes 126.391 -a sequential stream of instructions. 126.392 -3) A program-timeline is the sequence of instructions animated by a 126.393 -Slave VP, which is in turn animated by a physical processor. 126.394 - 126.395 - 126.396 -\paragraph*{Intuitive Overview.} 126.397 - 126.398 -VMS can be understood via an analogy with atomic instructions, such as Compare and Swap (CAS). These are used to establish an ordering among the timelines of cores. They consist of two parts: 1) the semantics of what is done to the memory location, 2) a mechanism that establishes an ordering among the cores. For CAS, the semantics are: ``compare value in this register to value at the address, and if same, then put value in second register into the address.'' Multiple kinds of atomic instructions share the same order-establishing mechanism, they simply provide different semantics as a front-end. 126.399 - 126.400 - VMS can be viewed as virtualizing the order-establishing mechanism. It allows the semantics to be plugged-in to it. This breaks concurrency constructs into two parts: the VMS mechanism, which establishes an ordering between events in different timelines; and the plugin, which supplies the semantics. 126.401 - 126.402 - Below the interface, hardware mechanisms are employed to order specific points in one physical processor's timeline relative to specific points in another's timeline. Above the interface, a plugin provides the semantics that an application uses to invoke creation of the ordering. 126.403 - 126.404 -Together, VMS plus the plugin form a parallelism construct, by which an application controls how the time-lines of its virtual processors relate. Such constructs also guarantee relations of VP time-lines to hardware events. 126.405 - 126.406 -As an example, consider a program where one VP writes into a data structure then calls a \texttt{send} construct. Meanwhile, a 126.407 -different VP calls the \texttt{receive} construct then reads 126.408 -the data structure. The semantics of the \texttt{send} and \texttt{receive} constructs are that all data 126.409 -written before the \texttt{send} is readable in the other time-line 126.410 -after the \texttt{receive}. 126.411 - To implement these constructs, VMS provides the mechanism to enforce the ordering, and to include the writes and reads in that ordering. The plugin directs that mechanism to order the \texttt{send} event before the \texttt{receive} event. 126.412 -%% AC. Too early. 126.413 -% VMS provides a primitive guarantee that 126.414 -% plugin code builds upon to provide such higher-level guarantees. The 126.415 -% primitive guarantee is defined in Section~\ref{scTime}, after the 126.416 -% necessary vocabulary is established. 126.417 - 126.418 -\paragraph{What the VMS interface provides:} The interface provides primitive operations 126.419 -to create and suspend VPs; a way for plugins to control when and where 126.420 -each VP is (re)started; a way for application code to send requests to the plugin; and a way to order a specific point in one VP time-line relative to a specific point in another VP time-line. All implementations of the VMS interface provide these, whether it is on shared memory or distributed, with 126.421 -strong memory consistency or weak. 126.422 - 126.423 -\paragraph*{Specification in three parts.} 126.424 - 126.425 -We specify the observable behavior of a VMS system \emph{with plugins present}. Hence, 126.426 -the specified behaviors remain valid with any parallelism construct 126.427 -implementable with VMS. First we give the specification of a computation system that VMS is compatible with; then specify a notion of time and the key VMS guarantee; and lastly specify 126.428 -virtual processor scheduling states and transitions between them. 126.429 - 126.430 -%% AC. Too early, Master has not been defined. I renamed VMS-core into 126.431 -%% VMS afterwards, finding no ambiguity. 126.432 -% The Master mentioned in the definition is an abstract entity, with a 126.433 -% plugin present. In practice, this Master entity is implemented as part 126.434 -% of a core VMS, and plugins later added. This VMS-core is the hardware 126.435 -% abstraction. It hides the physical hardware behind an interface that 126.436 -% creates virtual processors and enforces well-defined time-behavior. 126.437 - 126.438 -\subsection{The Specifications for a VMS-compatible Computation System} 126.439 - 126.440 -\begin{itemize} 126.441 -\item An application creates multiple VPs, which are Slaves, each with an 126.442 - independent time-line. 126.443 -\item A schedule of Slaves is generated by a Master entity, from 126.444 - within a hidden time-line(s). 126.445 -\item A schedule is the set of physical locations and time-points at which Slaves are 126.446 - (re)animated. 126.447 -\item All semantic parallelism behavior is invoked by Slaves communicating 126.448 - with the Master. 126.449 -\item A Slave communicates with the Master by using a VMS primitive, 126.450 - which suspends the Slave. 126.451 -\end{itemize} 126.452 - 126.453 -\paragraph{Where we define:} 126.454 - Semantic Parallelism Behavior is the actions taken by a parallelism construct, which establishes an ordering among events in different Slave timelines. 126.455 - 126.456 - 126.457 -\paragraph{Discussion:} The key point is that 126.458 -\emph{scheduling is separated from the application code}. This is enforced by the schedule being generated in a time-line hidden from the application. The rest of the requirements are consequences of that separation. 126.459 - 126.460 -The Master entity appears as a single entity, to the slaves. However it may 126.461 -be implemented with multiple (hidden) timelines. This is the approach taken in our initial implementation, which has several Master VPs hidden inside the VMS 126.462 -implementation. 126.463 - 126.464 - 126.465 - 126.466 - 126.467 -%% AC. Calling memory a processing element only adds confusion. 126.468 -% {\bf Definitions:\ }VMS is intended only for hardware systems that 126.469 -% consist of processing elements connected by communication. We define 126.470 -% a memory-space to be a processing element, albeit without the ability 126.471 -% to transform data. 126.472 - 126.473 - 126.474 -\subsection{The Time-Related Specifications of VMS} 126.475 -\label{secTime} 126.476 - 126.477 -To prepare for the time-related specifications, we give an advance peek of the following section, 3.3. There, Slave VPs are specified to have three scheduling states: Animated, Blocked, and Ready. When a parallelism construct starts execution, the Slave transitions from Animated to Blocked. When it ends execution, the Slave transitions from Blocked to Ready. VMS provides a way to control the order of these state-transitions, which is equivalent to controlling the order of the parallelism-constructs. Controlling the state transitions is how the ordering among constructs in different timelines is established. 126.478 - 126.479 -With that background, here are time-related specifications for VMS: \begin{itemize} 126.480 -\item VMS provides a Virtual timeline that globally orders changes of scheduling state of Slave VPs. 126.481 -\item Ordering is created among construct-invocations by controlling the order of Blocked to Ready transitions in the Virtual timeline. 126.482 -\item 126.483 -Causally tied construct-invocations are tied-together inside the Master. \item VMS enforces ordering of \textit{observations} of physical events in Slave timelines to be consistent with the Virtual time ordering. 126.484 -\item Virtual time defines only ordering, but not spans, nor widths. 126.485 -\end{itemize} 126.486 - 126.487 -\paragraph{Discussion:} 126.488 -Most importantly here, Virtual time defines a global ordering among Slave state-transitions. To make this useful for parallelism, VMS must be implemented so that observations of physical events, like reads and writes to shared memory, are consistent with that ordering. 126.489 - 126.490 -The Virtual timeline plays the same role as the mechanism added to memory systems to support atomic instructions. All atomic instructions require hardware that establishes an ordering among the timelines of physical cores. That hardware sequentializes execution of atomic memory accesses to the same address. VMS virtualizes this mechanism. It provides the same ordering function. 126.491 - 126.492 -An important point is that the Virtual timeline is generated inside the Master. When a Slave uses the VMS primitive to send a parallelism-construct request, it suspends. However, that Slave doesn't actually transition state from Animated to Blocked until the Master \textit{acknowledges} the suspension. It is the acknowledgement that adds the Slave transition into the Virtual timeline. 126.493 - 126.494 -The essential value of VMS is using it to control the order of observing events. It has to be able to causally link the execution of a parallelism construct in one timeline to the execution of a construct in a different timeline. Establishing such a causal link is called \textit{tying together} two construct executions. 126.495 - It is specific executions from different timelines that are causally linked with such a tie. 126.496 -\paragraph*{The key VMS guarantee:} 126.497 - 126.498 -the order of observing physical events is consistent with the order of tied together parallelism constructs. 126.499 - 126.500 -To explain this, take as given: two Slaves both execute parallelism constructs, those are tied together by the Master, establishing a causal ordering from one to the other. So, one construct is the \textit{before}-construct, the other is the \textit{after}-construct. Now, the guarantee means that any events triggered before the before-construct, in its timeline, are guaranteed to be detected in the other timeline as also preceding the after-construct. In addition, events triggered after the after-construct are guaranteed not visible before the before-construct in its timeline. This two-part guarantee is the result of the above specifications of VMS's time-related behavior. 126.501 - 126.502 - 126.503 - 126.504 - 126.505 -\paragraph*{Definitions:} 126.506 - 126.507 -Some more definitions, to prepare for the next explanation. 1) An \textit{ordering-point} exists in a Slave VP's timeline as a zero-width event that can be tied to ordering points in other timelines. It is initiated by a Slave VP executing the suspend 126.508 -primitive, and ended by the Master transitioning the Slave back to Animated. 2) A trace-segment is a portion of a Slave VP's stream of instructions bounded by ordering-points. 126.509 - 126.510 -Hence, the timeline of a Slave is a sequence of trace-segments. Each 126.511 -trace-segment is animated by a single physical processor, but not 126.512 -necessarily the same as animated the Slave's other trace segments. 126.513 - 126.514 - 126.515 - 126.516 - 126.517 -\begin{figure}[ht] 126.518 - \includegraphics[width=3.5in]{../figures/Time_in_VMS_2.eps} 126.519 - \caption 126.520 - {Time Behaviors: \ Shows Ordering Point 1.1 being tied to Ordering Point 2.1. As a result, VMS guarantees that events triggered in Trace Segment 1.1 are seen as having taken place in the past in Trace Segment 2.2. Also shows that there is no common tied ordering point between segments 1.2 and 2.2, so VMS provides no guarantees about what order segment 2.2 sees events triggered in segment 1.2. 126.521 - } 126.522 -\label{figTimeMapping} 126.523 -\end{figure} 126.524 - 126.525 -\paragraph*{Relating time-lines to each other.} 126.526 - 126.527 -Figure \ref{figTimeMapping} shows two ordering points being tied together. A trace segment starts, at the same time an ordering-point ends, by its Slave transitioning to Animated. Because the transition to Animated exists as a point in Virtual time, the start of a trace-segment has a well-defined position within Virtual time. Likewise, a trace-segment is ended by its Slave executing the suspend primitive of VMS. Although this does not have a well-defined point in Virtual time, every execution of suspend is acknowledged by the Master, which transitions the Slave to Blocked. That transition does have a well-defined position in Virtual time. Hence, the end of every trace-segment is associated with a well-defined position in Virtual time. 126.528 - 126.529 -As a result, trace segments can be ordered relative to each other, by checking their start and end points in Virtual time. If they have no overlap in virtual time then they have a total ordering. However, if any portion of them overlaps in Virtual time, then they are considered concurrent trace-segments, and their Slaves are considered to be executing in parallel between those points of Virtual time. 126.530 - 126.531 -Note that this is conservative because it doesn't take into account the physical wait time between a Slave suspending and the Master acknowledging. The Slave may stop executing at a physical time-point that would map onto an earlier point in Virtual time. In some cases, ending the Slave's trace-segment at the earlier point would eliminate the overlap with a particular other trace-segment. But VMS's set of specifications doesn't allow such mapping of suspend-execution onto Virtual time (for implementation-related reasons, which require downloading the code and gaining experience with it, to establish a common language, for an explanation to be understood). 126.532 - 126.533 - 126.534 - 126.535 -A subtlety is that events triggered 126.536 -before one tied ordering-point, {\em{might}} be visible in the other timeline before the other tied ordering-point. In the figure, segment 2.1 might be able to see events from segment 1.1 if it looked. The VMS guarantee doesn't cover overlapped trace-segments. Physical events triggered before are only guaranteed visible 126.537 -{\em{after}} the tie point, and events after are only guaranteed 126.538 -{\em{not}} visible {\em{before}} the tie point. 126.539 - 126.540 -We call this bounded non-determinism, because events within overlapped trace-segments have non-deterministic ordering, but the region of non-determinism can be bounded by tied ordering-points. This allows a program to specify non-determinism, but control the region of non-deterministic behavior. For example, a reduction construct could be created that non-deterministically assigns portions of the reduction work to overlapped Slave segments. It would tie together ordering points from all the Slaves that mark the end of reduction. Hence, the outcome is deterministic, but the path to get there is not. 126.541 - 126.542 -\paragraph*{Sequential algorithms for parallel constructs.} 126.543 -The globally-consistent sequential order in Virtual time enables one 126.544 -of VMS's main benefits: sequential algorithms for parallel constructs. 126.545 -An implementation to 126.546 -tie ordering points together equals an implementation of parallel constructs. A plugin has an ordering of state transitions available, and chooses from those. Sequential algorithms rely on an ordering existing, while concurrent algorithms must include operations that establish an ordering. Plugins have Virtual time ordering available, so they can use sequential algorithms. 126.547 -\subsection{Specification of Scheduling State} 126.548 - 126.549 -Scheduling state is used in VMS to organize internal activity, for 126.550 -enforcing the guarantees. 126.551 - 126.552 -\begin{itemize} 126.553 -\item VPs have three scheduling states: {\em{Animated}}, 126.554 - {\em{Blocked}}, {\em{Ready}}; see Figure~\ref{figStates}. 126.555 -\item VPs in Animated are {\em{allowed}} to advance Program time with 126.556 - (core-local) physical time. 126.557 -\item VPs in Blocked and Ready do not advance their Program time. 126.558 -\item Animated has two physical states: {\em{Progressing}} and 126.559 - {\em{Stalled}}. 126.560 -\item VPs in Progressing advance Program time with (core-local) 126.561 - physical time, those in Stalled do not (allowing non-semantic 126.562 - suspend for hardware interrupts). 126.563 -\item Scheduling states are defined in Virtual time only. 126.564 -\item Progressing and Stalled are defined in (core-local) physical 126.565 - time only; the distinction is invisible in Virtual time. 126.566 -\end{itemize} 126.567 - 126.568 -\begin{figure}[h!tb] 126.569 -\begin{minipage}{.55\textwidth} 126.570 - \includegraphics[width=\textwidth]{../figures/Scheduling_states_2.eps} 126.571 - \caption{Scheduling states of a slave VP in the VMS model. Animated, Blocked, and Ready are only defined in Virtual Time and only visible in the Master. Progressing and Stalled are only visible in physical-processor local time, not visible in Virtual time.} 126.572 - \label{figStates} 126.573 -\end{minipage} 126.574 -\hfill 126.575 -\begin{minipage}{.43\textwidth} 126.576 - \includegraphics[width=\textwidth]{../figures/VMS-core__plugins.eps} 126.577 - \caption 126.578 - { 126.579 - The Master, split into a generic core and a language-specific plugin. 126.580 - The core encapsulates the hardware and remains the same across applications. 126.581 - The plugin implements the semantics of the parallelism-constructs. 126.582 - } 126.583 - \label{figMasterSplit} 126.584 -\end{minipage} 126.585 -\end{figure} 126.586 - 126.587 - 126.588 -Some important points: (1) only VPs Animated can trigger physical 126.589 -events that are seen in other program time-lines; (2) the distinction 126.590 -between Blocked vs Stalled is that a Slave has to explicitly execute a 126.591 -VMS primitive operation to enter Blocked. In contrast, Stalled happens 126.592 -invisibly, with no effect on semantic behavior. It is due to hardware 126.593 -events hidden inside VMS, such as interrupts. 126.594 - 126.595 -The Ready state is used to separate the parallelism-construct behavior 126.596 -from the scheduling behavior. It acts as a ``staging area'' for 126.597 -scheduling. VPs placed into this state are {\em{ready}} to be 126.598 -animated, but the scheduler decides when and where. 126.599 - 126.600 -An interesting point is that in VMS, the causal tie between timelines is created by actions {\em{outside}} program timelines. In contrast, memory-based lock algorithms place the concurrency-related behavior {\em{inside}} program 126.601 -timelines. 126.602 - 126.603 -\paragraph*{Transition Between Slave Scheduling States.} 126.604 - 126.605 -\begin{itemize} 126.606 -\item VPs transition states as shown in Figure \ref{figStates}. 126.607 -\item Animated$\rightarrow$Blocked is requested by a Slave executing suspend, but takes place in Virtual time at the point the Master acknowledges that request. 126.608 -\item Blocked$\rightarrow$Ready is determined by the semantics 126.609 - implemented in the plugin. 126.610 -\item Ready$\rightarrow$Animated is determined by the scheduler in the 126.611 - plugin. 126.612 -\item Transitions in scheduling state have a globally consistent order 126.613 - in Virtual time. 126.614 -\end{itemize} 126.615 - 126.616 -The parallelism primitives executed by a program do not directly control change 126.617 -in scheduling states. Rather they communicate messages to the Master, 126.618 -via a VMS supplied primitive. If it suspended when sending the request, then the act of the Master acknowledging the request places the Animated$\rightarrow$Blocked transition into Virtual time. Inside the Master, the plugin then processes the message. Based on contents, it performs changes in state from Blocked$\rightarrow$Ready, 126.619 -creates new VPs, and dissipates existing VPs. Most communication from 126.620 -Slave to Master requires the Slave to suspend when it sends the 126.621 -message. A few messages, like creating new Slave may be sent without 126.622 -suspending. 126.623 - 126.624 -The suspend primitive decouples local physical time from Virtual time. 126.625 -Execution causes immediate transition to Stalled in physical time, 126.626 -later the Master performs Animated$\rightarrow$Blocked, fixing that 126.627 -transition in Virtual time. The only relationship is causality. This 126.628 -weak relation is what allows suspension-points to be serialized in 126.629 -Virtual time, which in turn is what allows using sequential algorithms 126.630 -to implement parallelism constructs. 126.631 - 126.632 -\subsection{Plugins} 126.633 - 126.634 -The Master entity has two parts, a generic core part and a plugin 126.635 -(Figure \ref{figMasterSplit}). The core part of the Master is 126.636 -implemented as part of VMS itself. The plugin supplies two functions: 126.637 -the communication-handler and the scheduler, both having a standard 126.638 -prototype. The communication-handler implements the parallelism 126.639 -constructs, while scheduler assigns VPs to cores. 126.640 - 126.641 -An \emph{instance} of a plugin is created as part of initializing an 126.642 -application, and the instance holds the semantic and scheduling state 126.643 -for that run of the application. This state, combined with the virtual 126.644 -processor states of the slaves created during that application run, 126.645 -represents progress of the work of the application. For example, 126.646 -multi-tasking is performed simply by the Master switching among 126.647 -plugin instances when it has a resource to offer to a scheduler. The 126.648 -parallelism-semantic state holds all information needed to resume 126.649 -(hardware state, such as TLB and cache-tags is inside VMS). 126.650 - 126.651 -\section{Internal Workings of Our Implementation} 126.652 -\label{secInternal} 126.653 - 126.654 -For our example implementation, we name the elements and describe their 126.655 -logical function, then relate those to the abstract model. We then step 126.656 -through the operation of the elements. 126.657 - 126.658 -\paragraph*{Elements and their logical function.} 126.659 - 126.660 -As illustrated in Figure~\ref{figInternals}, our VMS implementation is 126.661 -organized around physical cores. Each core has its own {\em{master 126.662 - virtual-processor}}, \texttt{masterVP}, and a {\em{physical-core 126.663 - controller}}, which communicate via a set of scheduling slots, 126.664 -\texttt{schedSlot}. The Master in the abstract definition is 126.665 -implemented by the multiple \texttt{masterVP}s plus a particular 126.666 -plugin instance with its shared parallelism-semantic state (seen at 126.667 -the top). 126.668 - 126.669 -On a given core, only one of: the core-controller, \texttt{masterVP}, 126.670 -or a slave VP, is animated at any point in local physical time. Each 126.671 -\texttt{masterVP} animates the same function, called 126.672 -\texttt{master\_loop}, and each slave VP animates a function from the 126.673 -application, starting with the top-level function the slave is created 126.674 -with, and following its call sequence. The core controller is 126.675 -implemented here as a Linux pthread that runs the \texttt{core\_loop} 126.676 -function. 126.677 - 126.678 -Switching between VPs is done by executing a VMS primitive that 126.679 -suspends the VP. This switches the physical core over to the 126.680 -controller, by jumping to the start of the \texttt{core\_loop} 126.681 -function, which chooses the next VP and switches to that (switching is 126.682 -detailed in Section \ref{secApp} Figure \ref{figAssembly}). 126.683 - 126.684 -\paragraph*{Relation to abstract model.} 126.685 - 126.686 -We chose to implement the Master entity of the model by a set of 126.687 -\texttt{masterVP}s, plus plugin functions and shared 126.688 -parallelism-semantic state. VMS consists of this implementation of the 126.689 -Master, plus the core-controllers, plus the VMS primitive libraries, 126.690 -for creating new VPs and dissipating existing VPs, suspending VPs, and 126.691 -communicating from slave VP to Master. In Figure~\ref{figInternals}, 126.692 -everything in green is part of VMS, while the plugin is in red, and 126.693 -application code appears as blue, inside the slave VP. 126.694 - 126.695 -Virtual time in the model is implemented via a combination of four 126.696 -things: a \texttt{masterLock} (not shown) that guarantees non-overlap 126.697 -of \texttt{masterVP} trace-segments; the \texttt{master\_loop} which 126.698 -performs transition Animated$\rightarrow$Blocked; the 126.699 -\texttt{comm\_handler\_fn} which performs Blocked$\rightarrow$Ready 126.700 -and the \texttt{scheduler\_fn} which performs 126.701 -Ready$\rightarrow$Animated. \ Each state transition is one step of 126.702 -Virtual time; is guaranteed sequential by the non-overlap of 126.703 -\texttt{masterVP} trace segments; and is global due to being in 126.704 -parallelism-semantic state that is shared (top of 126.705 -Figure~\ref{figInternals}). 126.706 - 126.707 -Transitions Progressing$\rightleftarrows$Stalled within the Animated 126.708 -state are invisible to the parallelism semantics, the Master, and 126.709 -Virtual time, and so have no effect on the elements seen. 126.710 - 126.711 -\begin{figure*}[h!tb] 126.712 - \centerline{\includegraphics[width=5in]{../figures/VMS-core__internal_workings.eps}} 126.713 - \caption 126.714 - { Internal elements of our example VMS implementation 126.715 - } 126.716 - \label{figInternals} 126.717 -\end{figure*} 126.718 - 126.719 -\paragraph*{Steps of operation.} 126.720 - 126.721 -The steps of operation are numbered, in Figure \ref{figInternals}. 126.722 -Taking them in order: 126.723 - 126.724 -\begin{enumerate} 126.725 -\item \texttt{master\_loop} scans the scheduling slots to see which 126.726 - ones' slaves have suspended since the previous scan. 126.727 -\item It hands these to the \texttt{comm\_handler\_fn} plugged in 126.728 -(which equals transition Animated$\rightarrow$Blocked). 126.729 -\item The VP has a request attached, and data in it causes the 126.730 - \texttt{comm\_handler\_fn} to manipulate data structures in the 126.731 - shared parallelism-semantic state. These structures hold all the 126.732 - slaves in the blocked state (code-level detail and example will 126.733 - come in Figure~\ref{figReqHdlr}, Section~\ref{secApp}). 126.734 -\item Some requests cause slaves to be moved to a \texttt{readyQ} on 126.735 - one of the cores (Blocked$\rightarrow$Ready). Which core's 126.736 - \texttt{readyQ} receives the slave is under plugin control, 126.737 - determined by a combination of request contents, semantic state and 126.738 - physical machine state. 126.739 -\item During the scan, the \texttt{master\_loop} also looks for empty 126.740 - slots, and for each calls the \texttt{scheduler\_fn} plugged in. It 126.741 - chooses a slave from the \texttt{readyQ} on the core animating 126.742 - \texttt{master\_loop}. 126.743 -\item The \texttt{master\_loop} then places the slave VP's pointer 126.744 - into the scheduling slot (Ready$\rightarrow$Animated), making it 126.745 - available to the \texttt{core\_loop}. 126.746 -\item When done with the scan, \texttt{masterVP} suspends, switching 126.747 - animation back to the \texttt{core\_loop}. 126.748 -\item \texttt{core\_loop} takes slave VPs out of the slots. 126.749 -\item Then \texttt{core\_loop} switches animation to these slave VPs. 126.750 -\item When a slave self-suspends, animation returns to the 126.751 - \texttt{core\_loop} (detail in code in Figure 9), which picks 126.752 - another. 126.753 -\item Until all slots are empty and the \texttt{core\_loop} switches 126.754 - animation to the \texttt{masterVP}. 126.755 -\end{enumerate} 126.756 - 126.757 -\paragraph*{Enabling sequential implementation of parallelism semantics.} 126.758 - 126.759 -All these steps happen on each core separately, but 126.760 -%% AC. Cannot be both an essential property of VMS and "un this particular..." 126.761 -% in this particular implementation 126.762 -we use a central \texttt{masterLock} to ensure that 126.763 -only one core's \texttt{masterVP} can be active at any time. This 126.764 -guarantees non-overlap of trace-segments from different 126.765 -\texttt{masterVP}s, allowing the plugins to use sequential algorithms, 126.766 -without a performance penalty, as verified in 126.767 -Section~\ref{secResults}. 126.768 - 126.769 -Relating this to the abstract model: the parallelism-semantic behavior 126.770 -of the Master is implemented by the communication handler, in the 126.771 -plugin. It thus runs in the Master time referred to, in the model, in 126.772 -Section \ref{secAbsModel}. Requests are sent to the Master by 126.773 -self-suspension of the slaves, but sit idle until the other slaves in 126.774 -the scheduling slots have also run. This is the passive behavior of 126.775 -requests that was noted in Section~\ref{secAbsModel}, which allows the 126.776 -\texttt{masterVP}s to remain suspended until needed. This in turn 126.777 -enables the \texttt{masterVP}s from different cores to be 126.778 -non-overlapped. It is the non-overlap that enables the algorithms for 126.779 -the parallelism semantics to be sequential. 126.780 - 126.781 -\section{Code Example} 126.782 -\label{secApp} 126.783 - 126.784 -To relate the abstract model and the internal elements to application 126.785 -code and parallelism-library code, we give code snippets that 126.786 -illustrate key features. We start with the application then work down 126.787 -through the sequence of calls, to the plugin, using our SSR 126.788 -{\cite{VMSHome}} parallelism-library as an example. 126.789 - 126.790 -In general, applications are either written in terms of a parallel 126.791 -language that has its own syntax, or a base language with a 126.792 -parallelism library, which is often called an {\em{embedded 126.793 - language}}. Our demonstrators, VCilk {\cite{VMSHome}}, Vthread, 126.794 -and SSR, are all parallelism libraries. A parallel language would 126.795 -follow the standard practice of performing source-to-source transform, 126.796 -from custom syntax into C plus parallelism-library calls. 126.797 - 126.798 -\paragraph*{SSR.} 126.799 - 126.800 -SSR stands for Synchronous Send-Receive, and details of its calls and 126.801 -internal implementation will be given throughout this section. It has 126.802 -two types of construct. The first, called {\em{from-to}} has two 126.803 -calls: \texttt{SSR\_send\_from\_to} and 126.804 -\texttt{SSR\_receive\_from\_to}, both of which specify the sending VP 126.805 -as well as the receiving VP. \ The other, called {\em{of-type}} also 126.806 -has two calls: \texttt{SSR\_\_send\_of\_type\_to} and 126.807 -\texttt{SSR\_\_receive\_of\_type}, which allow a receiver to accept 126.808 -from anonymous senders, but select according to type of message. 126.809 - 126.810 -% An example of a double column floating figure using two subfigures. 126.811 -% (The subfig.sty package must be loaded for this to work.) 126.812 -% The subfigure \label commands are set within each subfloat command, the 126.813 -% \label for the overall figure must come after \caption. 126.814 -% \hfil must be used as a separator to get equal spacing. 126.815 -% The subfigure.sty package works much the same way, except \subfigure is 126.816 -% used instead of \subfloat. 126.817 -% 126.818 -%\begin{figure*}[!t] 126.819 -%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% 126.820 -%\label{fig_first_case}} 126.821 -%\hfil 126.822 -%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% 126.823 -%\label{fig_second_case}}} 126.824 -%\caption{Simulation results} 126.825 -%\label{fig_sim} 126.826 -%\end{figure*} 126.827 -% 126.828 -% Note that often IEEE papers with subfigures do not employ subfigure 126.829 -% captions (using the optional argument to \subfloat), but instead will 126.830 -% reference/describe all of them (a), (b), etc., within the main caption. 126.831 - 126.832 -\paragraph*{Application view.} 126.833 - 126.834 -Figure~\ref{figAnimVP} shows snippets of application code, which use 126.835 -the SSR parallelism library. The most important feature is that all 126.836 -calls take a pointer to the VP that is animating the call. This is 126.837 -seen at the top of the figure where slave VP creation takes a pointer 126.838 -to the VP asking for creation. Below that is the standard prototype 126.839 -for top level functions, showing that the function receives a pointer 126.840 -to the VP it is the top level function for. 126.841 - 126.842 -The pointer is placed on the stack by VMS when it creates the VP, and 126.843 -is the means by which the application comes into possession of the 126.844 -pointer. This animating VP is passed to all library calls made from 126.845 -there. For example, the bottom shows a pointer to the animating VP 126.846 -placed in the position of sender in the \texttt{send} construct call. 126.847 -Correspondingly, for the \texttt{receive} construct, the position of 126.848 -receiving VP is filled by the VP animating the call. 126.849 - 126.850 -\begin{figure}[h!tb] 126.851 -{\noindent 126.852 -{\footnotesize 126.853 -{\small Creating a new processor:} 126.854 -\begin{verbatim} 126.855 -newProcessor = SSR__create_procr( &top_VP_fn, paramsPtr, animatingVP ); 126.856 -\end{verbatim} 126.857 - 126.858 -{\small prototype for the top level function:} 126.859 -\begin{verbatim} 126.860 -top_VP_fn( void *parameterStrucPtr, VirtProcr *animatingVP ); 126.861 -\end{verbatim} 126.862 - 126.863 -{\small handing animating VP to parallelism constructs:} 126.864 -\begin{verbatim} 126.865 -SSR__send_from_to( messagePtr, animatingVP, receivingVP ); 126.866 -messagePtr = SSR__receive_from_to( sendingVP, animatingVP ); 126.867 -\end{verbatim} 126.868 -} 126.869 -} 126.870 -\caption 126.871 -{Application code snippets showing that all calls to the parallelism library 126.872 -take the VP animating that call as a parameter. 126.873 -} 126.874 -\label{figAnimVP} 126.875 -\end{figure} 126.876 - 126.877 -Relating these to the internal elements of our implementation, the 126.878 -\texttt{animatingVP} suspends inside each of these calls, passing a 126.879 -request (generated in the library) to one of the \texttt{masterVP}s. 126.880 -The \texttt{masterVP} then calls the \texttt{comm-handler} plugin, and 126.881 -so on, as described in Section \ref{secInternal}. 126.882 - 126.883 -For the \texttt{SSR\_\_create\_processor} call, the comm-handler in 126.884 -turn calls a VMS primitive to perform the creation. The primitive 126.885 -places a pointer to the newly created VP onto its stack, so that when 126.886 -\texttt{top\_VP\_fn} is later animated, it sees the VP-pointer as a 126.887 -parameter passed to it. \ All application code is either such a 126.888 -top-level function, or has one at the root of the call-stack. 126.889 - 126.890 -The send and receive calls both suspend their animating VP. When both 126.891 -have been called, the communication handler pairs them up and resumes 126.892 -both. This ties time-lines together, invoking the VMS guarantee. Both 126.893 -application-functions know, because of the VMS guarantee 126.894 -(Section~\ref{secAbsModel}), that writes to shared variables made 126.895 -before the send call by the sender are visible to the receiver after 126.896 -the receive call. This is the programmer's view of tying together the 126.897 -local time-lines of two different VPs, as defined in 126.898 -Section~\ref{secAbsModel}. 126.899 - 126.900 -\paragraph*{Concurrency-library view.} 126.901 - 126.902 -A parallelism library is a wrapper. Each call, in general, only creates a request, 126.903 -sends it, and returns, as seen below. To send a request, it uses the 126.904 -combined request-and-suspend VMS primitive that attaches the request 126.905 -then suspends the VP. The primitive requires the pointer to the VP, 126.906 -to attach the request and to suspend it. 126.907 - 126.908 -In Figure~\ref{figImplLib}, notice that the request's data is on the 126.909 -stack of the virtual processor that's animating the call, which is the 126.910 -\texttt{receiveVP}. The \texttt{VMS\_\_send\_sem\_request} suspends 126.911 -this VP, which changes the physical core's stack pointer to a 126.912 -different stack. So the request data is guaranteed to remain 126.913 -undisturbed while the VP is suspended. 126.914 - 126.915 -Figure~\ref{figAssembly} shows the implementation of the VMS suspend 126.916 -primitive. As seen in Figure \ref{figInternals}, suspending the 126.917 -\texttt{receiveVP} involves switching to the \texttt{core\_loop}. In 126.918 -our implementation, this is done by switching to the stack of the 126.919 -pthread pinned to the physical core and then jumping to the 126.920 -start-point of \texttt{core\_loop}. 126.921 - 126.922 -This code uses standard techniques commonly employed in co-routine 126.923 -implementations. Tuning effort spent in \texttt{core\_loop} is 126.924 -inherited by all applications. 126.925 - 126.926 -\begin{figure}[h!tb] 126.927 -{\noindent 126.928 -{\footnotesize 126.929 -\begin{verbatim} 126.930 -void * SSR__receive_from_to( VirtProcr *sendVP, VirtProcr *receiveVP ) 126.931 - { SSRSemReq reqData; 126.932 - reqData.receiveVP = receiveVP; 126.933 - reqData.sendVP = sendVP; 126.934 - reqData.reqType = receive_from_to; 126.935 - VMS__send_sem_request( &reqData, receiveVP ); 126.936 - return receiveVP->dataReturnedFromRequest; 126.937 - } 126.938 -\end{verbatim} 126.939 -} 126.940 -} 126.941 -\caption{Implementation of SSR's receive\_from\_to library function.} 126.942 -\label{figImplLib} 126.943 - 126.944 -{\noindent 126.945 -{\footnotesize 126.946 -\begin{verbatim} 126.947 -VMS__suspend_procr( VirtProcr *animatingVP ) 126.948 - { animatingVP->resumeInstrAddr = &&ResumePt; //GCC takes addr of label 126.949 - animatingVP->schedSlotAssignedTo->isNewlySuspended = TRUE; //for master_loop to see 126.950 - <assembly code stores current physical core's stack reg into animatingVP struct> 126.951 - <assembly code loads stack reg with core_loop stackPtr, which was saved into animatingVP> 126.952 - <assembly code jmps to core_loop start instr addr, which was also saved into animatingVP> 126.953 - ResumePt: 126.954 - return; 126.955 - } 126.956 -\end{verbatim} 126.957 -} 126.958 -} 126.959 - \caption 126.960 -{Implementation of VMS suspend processor. 126.961 -Re-animating the virtual processor reverses this sequence. \ It saves the 126.962 -\texttt{core\_loop}'s resume instr-addr and stack ptr into the VP structure, 126.963 -then loads the VP's stack ptr and jmps to its \texttt{resumeInstrAddr}. 126.964 -} 126.965 -\label{figAssembly} 126.966 - 126.967 -{\noindent 126.968 -{\footnotesize 126.969 -\begin{verbatim} 126.970 -handle_receive_from_to( VirtProcr *requestingVP, SSRSemReq *reqData, SSRSemEnv *semEnv ) 126.971 - { commHashTbl = semEnv->communicatingVPHashTable; 126.972 - key[0] = reqData->receiveVP; key[1] = reqData->sendVP; //send uses same key 126.973 - waitingReqData = lookup_and_remove( key, commHashTbl ); //get waiting request 126.974 - if( waitingReqData != NULL ) 126.975 - { resume_virt_procr( waitingReqData->sendVP ); 126.976 - resume_virt_procr( waitingReqData->receiveVP ); 126.977 - } 126.978 - else 126.979 - insert( key, reqData, commHashTbl ); //receive is first to arrive, make it wait 126.980 - } 126.981 -\end{verbatim} 126.982 -} 126.983 -} 126.984 - \caption 126.985 -{Pseudo-code of communication-handler for 126.986 -\texttt{receive\_from\_to} request type. The \texttt{semEnv} is a pointer 126.987 -to the shared parallel semantic state seen at the top of 126.988 -Figure~\ref{figInternals}. 126.989 -} 126.990 -\label{figReqHdlr} 126.991 -\end{figure} 126.992 - 126.993 -\paragraph*{Plugin view.} 126.994 - 126.995 -SSR's communication handler dispatches on the \texttt{reqType} field 126.996 -of the request data, as set by the \texttt{SSR\_\_receive\_from\_to} 126.997 -code. It calls the handler code in Figure \ref{figReqHdlr}. This 126.998 -constructs a hash-key, by concatenating the from-VP's pointer with the 126.999 -to-VP's pointer. Then it looks-up that key in the hash-table that SSR 126.1000 -uses to match sends with receives, which is in the shared semantic 126.1001 -state seen at the top of Figure \ref{figInternals} in 126.1002 -Section~\ref{secInternal}. 126.1003 - 126.1004 -The most important feature in Figure~\ref{figReqHdlr} is that both 126.1005 -send and receive will construct the same key, so will find the same 126.1006 -hash entry. Whichever request is handled first in Virtual time will 126.1007 -see the hash entry empty, and save itself in that entry. The second 126.1008 -to arrive sees the waiting request and then resumes both VPs, by 126.1009 -putting them into their \texttt{readyQ}s. 126.1010 - 126.1011 -Access to the shared hash table can be considered private, as in a 126.1012 -sequential algorithm. This is because our VMS-core implementation 126.1013 -ensures that only one handler on one core is executing at a time. 126.1014 - 126.1015 -\section{Results} 126.1016 -\label{secResults} 126.1017 - 126.1018 -We implemented blocked dense matrix multiplication with right 126.1019 -sub-matrices copied to transposed form, and ran it on a 4-core 126.1020 -Core2Quad 2.4Ghz processor. 126.1021 - 126.1022 -\paragraph*{Implementation-time.} 126.1023 - 126.1024 -As shown in Table~\ref{tabPersonDaysLang}, time to implement the three 126.1025 -parallel libraries averages 2 days each. As an example of 126.1026 -productivity, adding nested transactions, parallel singleton, and 126.1027 -atomic function-execution to SSR required a single afternoon, totaling 126.1028 -less than 100 lines of C code. 126.1029 - 126.1030 -\paragraph*{Execution Performance.} 126.1031 - 126.1032 -Performance of VMS is seen in Table~\ref{tabOverheadCycles}. The code 126.1033 -is not optimized, but rather written to be easy to understand and 126.1034 -modify. The majority of the plugin time is lost to cache misses 126.1035 -because the shared parallelism-semantic state moves between cores on a 126.1036 -majority of accesses. Acquisition of the master lock is slow due to 126.1037 -the hardware implementing the CAS instruction. 126.1038 - 126.1039 -Existing techniques will likely improve performance, such as 126.1040 -localizing semantic data to cores, splitting malloc across the cores, 126.1041 -pre-allocating slabs that are recycled, and pre-fetching. However, in 126.1042 -many cases, several hundred nano-seconds per task is as optimal as the 126.1043 -applications can benefit from. 126.1044 - 126.1045 -\begin{table}[h!tb] 126.1046 -\begin{minipage}{.35\textwidth} 126.1047 -\begin{tabular}{|l|l|l|l|} 126.1048 - \cline{2-4} 126.1049 - \multicolumn{1}{l|}{} & SSR & Vthread & VCilk\\ 126.1050 - \cline{2-4} 126.1051 - \noalign{\vskip2pt} 126.1052 - \hline 126.1053 - Design & 4 & 1 & 0.5\\ 126.1054 - Code & 2 & 0.5 & 0.5\\ 126.1055 - Test & 1 & 0.5 & 0.5\\ 126.1056 - L.O.C. & 470 & 290 & 310\\ 126.1057 - \hline 126.1058 -\end{tabular} 126.1059 -\caption 126.1060 -{Person-days to design, code, and 126.1061 - test each parallelism library. L.O.C. is lines of (original) C code, 126.1062 - excluding libraries and comments. 126.1063 -} 126.1064 -\label{tabPersonDaysLang} 126.1065 -\end{minipage} 126.1066 -\hspace{-.05\textwidth} 126.1067 -\begin{minipage}[t]{.7\textwidth} 126.1068 -\hfill 126.1069 -\begin{tabular}{|l|l|r|r|} 126.1070 -\cline{3-4} 126.1071 -\multicolumn{2}{l|}{} & comp only & comp + mem\\ 126.1072 -\cline{3-4} 126.1073 -\noalign{\vskip2pt} 126.1074 -\hline 126.1075 -VMS Only & \texttt{master\_loop} & 91 & 110\\ 126.1076 -& switch VPs & 77 & 130\\ 126.1077 -& (malloc) & 160 & 2300\\ 126.1078 -& (create VP) & 540 & 3800\\ 126.1079 -\hline 126.1080 -Language: & & & \\ 126.1081 -\quad SSR & plugin -- concur & 190 & 540\\ 126.1082 -& plugin -- all & 530 & 2200\\ 126.1083 -& lock & & 250\\ 126.1084 -\quad Vthread & plugin -- concur & 66 & 710\\ 126.1085 -& plugin -- all & 180 & 1500\\ 126.1086 -& lock & & 250\\ 126.1087 -\quad VCilk & plugin -- concur & 65 & 260\\ 126.1088 -& plugin -- all & 330 & 1800\\ 126.1089 -& lock & & 250\\ 126.1090 -\hline 126.1091 -\end{tabular} 126.1092 -\caption 126.1093 -{Cycles of overhead, per scheduled 126.1094 - slave. ``comp only'' is perfect memory, ``comp + mem'' is actual cycles. 126.1095 - ``Plugin-concur'' only concurrency requests, ``plugin-all'' includes 126.1096 - create and malloc requests. Two significant digits due to variability. 126.1097 -} 126.1098 -\label{tabOverheadCycles} 126.1099 -\end{minipage} 126.1100 - 126.1101 -\vskip-1.5cm 126.1102 -\begin{tabular}{|l|lr|} 126.1103 -\hline 126.1104 - Matrix size&Lang.&sec.\\ 126.1105 -[2pt]\hline 126.1106 - $81\times81$ & Cilk & 0.017\\ 126.1107 - & VCilk & 0.008\\ 126.1108 -\hline 126.1109 - $324\times324$ & Cilk & 0.13\\ 126.1110 - & VCilk & 0.13\\ 126.1111 -\hline 126.1112 - $648\times648$ & Cilk & 0.71\\ 126.1113 - & VCilk & 0.85\\ 126.1114 -\hline 126.1115 - $1296\times1296$ & Cilk & 4.8\\ 126.1116 - & VCilk & 6.2 \\ 126.1117 -[2pt]\hline 126.1118 -\end{tabular} 126.1119 -\hfill 126.1120 -\begin{tabular}{|l|r|r|r|r|} 126.1121 -\multicolumn{5}{l}{}\\ 126.1122 -\multicolumn{5}{l}{}\\ 126.1123 -\multicolumn{5}{l}{}\\ 126.1124 -\hline 126.1125 - operation & \multicolumn{2}{c|}{Vthread} & pthread & ratio\\ 126.1126 - & comp only & total & & \\ 126.1127 -[2pt]\hline 126.1128 - mutex\_lock & 85 & 1050 & 50,000 & 48:1\\ 126.1129 - mutex\_unlock & 85 & 610 & 45,000 & 74:1\\ 126.1130 - cond\_wait & 85 & 850 & 60,000 & 71:1\\ 126.1131 - cond\_signal & 90 & 650 & 60,000 & 92:1\\ 126.1132 -\hline 126.1133 -\end{tabular} 126.1134 -\caption 126.1135 -{On left, exe time in seconds for MM. To the right, overhead for 126.1136 - pthread vs. Vthread. First column is cycles 126.1137 - for perfect memory and second is total measured cycles. pthread cycles are 126.1138 - deduced from round-trip experiments. 126.1139 -} 126.1140 -\label{tabHeadToHead} 126.1141 -\end{table} 126.1142 - 126.1143 -\paragraph*{Head to head.} 126.1144 - 126.1145 -We compare our implementation of the \texttt{spawn} and \texttt{sync} 126.1146 -constructs against Cilk 5.4, on the top in Table~\ref{tabHeadToHead}, 126.1147 -which shows that the same application code has similar 126.1148 -performance. For large matrices, Cilk 5.4's better use of the memory 126.1149 -hierarchy (the workstealing algorithm) achieves 23\% better 126.1150 -performance. However, for small matrices, VCilk is better, with a 126.1151 -factor 2 lower overhead. Cilk 5.4 does not allow controlling the 126.1152 -number of spawn events it actually executes, and chooses to run 126.1153 -smaller matrices sequentially, limiting our comparison. 126.1154 - 126.1155 -When comparing to pthreads, our VMS based implementation has more than 126.1156 -an order of magnitude better overhead per invocation of mutex or 126.1157 -condition variable functionality, as seen on the bottom of Table 126.1158 -\ref{tabHeadToHead}. Applications that inherently have short trace 126.1159 -segments will synchronize often and benefit the most from Vthread. 126.1160 - 126.1161 -\section{Conclusion} 126.1162 -\label{secConclusion} 126.1163 - 126.1164 -We have shown an alternative to the thread model that enables 126.1165 -easier-to-use parallelism constructs by splitting the scheduler open, 126.1166 -to accept new parallelism constructs in the form of plugins. This 126.1167 -gives the language control over assigning virtual processors to 126.1168 -physical cores, for performance, debugging, and flexibility 126.1169 -benefits. Parallelism constructs of programming languages can be 126.1170 -implemented using sequential algorithms, within a matter of days, 126.1171 -while maintaining low run-time overhead. 126.1172 - 126.1173 -\bibliography{../helpers/bib_for_papers} 126.1174 - 126.1175 -\end{document} 126.1176 - }
127.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/latex/Sept_2011__Multiprog.tex.Backup-20110925-135042 Thu Feb 02 12:22:53 2012 -0800 127.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 127.3 @@ -1,1242 +0,0 @@ 127.4 -%&latex 127.5 - 127.6 - 127.7 -\documentclass[conference]{../helpers/llncs} 127.8 -% 127.9 -\usepackage{makeidx,geometry,amssymb,graphicx,calc,ifthen} 127.10 -% 127.11 - 127.12 -% *** CITATION PACKAGES *** 127.13 -% 127.14 -%\usepackage{cite} 127.15 -% cite.sty was written by Donald Arseneau 127.16 -% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package 127.17 -% \cite{} output to follow that of IEEE. Loading the cite package will 127.18 -% result in citation numbers being automatically sorted and properly 127.19 -% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using 127.20 -% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's 127.21 -% \cite will automatically add leading space, if needed. Use cite.sty's 127.22 -% noadjust option (cite.sty V3.8 and later) if you want to turn this off. 127.23 -% cite.sty is already installed on most LaTeX systems. Be sure and use 127.24 -% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does 127.25 -% not currently provide for hyperlinked citations. 127.26 -% The latest version can be obtained at: 127.27 -% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ 127.28 -% The documentation is contained in the cite.sty file itself. 127.29 - 127.30 - 127.31 - 127.32 - 127.33 - 127.34 - 127.35 -% *** GRAPHICS RELATED PACKAGES *** 127.36 -% 127.37 -%\ifCLASSINFOpdf 127.38 - % \usepackage[pdftex]{graphicx} 127.39 - % declare the path(s) where your graphic files are 127.40 - % \graphicspath{{../pdf/}{../jpeg/}} 127.41 - % and their extensions so you won't have to specify these with 127.42 - % every instance of \includegraphics 127.43 - % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} 127.44 -%\else 127.45 - % or other class option (dvipsone, dvipdf, if not using dvips). graphicx 127.46 - % will default to the driver specified in the system graphics.cfg if no 127.47 - % driver is specified. 127.48 - % \usepackage[dvips]{graphicx} 127.49 - % declare the path(s) where your graphic files are 127.50 - % \graphicspath{{../eps/}} 127.51 - % and their extensions so you won't have to specify these with 127.52 - % every instance of \includegraphics 127.53 - % \DeclareGraphicsExtensions{.eps} 127.54 -%\fi 127.55 -% graphicx was written by David Carlisle and Sebastian Rahtz. It is 127.56 -% required if you want graphics, photos, etc. graphicx.sty is already 127.57 -% installed on most LaTeX systems. The latest version and documentation can 127.58 -% be obtained at: 127.59 -% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ 127.60 -% Another good source of documentation is "Using Imported Graphics in 127.61 -% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or 127.62 -% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ 127.63 -% 127.64 -% latex, and pdflatex in dvi mode, support graphics in encapsulated 127.65 -% postscript (.eps) format. pdflatex in pdf mode supports graphics 127.66 -% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure 127.67 -% that all non-photo figures use a vector format (.eps, .pdf, .mps) and 127.68 -% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats 127.69 -% which can result in "jaggedy"/blurry rendering of lines and letters as 127.70 -% well as large increases in file sizes. 127.71 -% 127.72 -% You can find documentation about the pdfTeX application at: 127.73 -% http://www.tug.org/applications/pdftex 127.74 - 127.75 - 127.76 - 127.77 - 127.78 - 127.79 -% *** MATH PACKAGES *** 127.80 -% 127.81 -%\usepackage[cmex10]{amsmath} 127.82 -% A popular package from the American Mathematical Society that provides 127.83 -% many useful and powerful commands for dealing with mathematics. If using 127.84 -% it, be sure to load this package with the cmex10 option to ensure that 127.85 -% only type 1 fonts will utilized at all point sizes. Without this option, 127.86 -% it is possible that some math symbols, particularly those within 127.87 -% footnotes, will be rendered in bitmap form which will result in a 127.88 -% document that can not be IEEE Xplore compliant! 127.89 -% 127.90 -% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 127.91 -% thus preventing page breaks from occurring within multiline equations. Use: 127.92 -%\interdisplaylinepenalty=2500 127.93 -% after loading amsmath to restore such page breaks as IEEEtran.cls normally 127.94 -% does. amsmath.sty is already installed on most LaTeX systems. The latest 127.95 -% version and documentation can be obtained at: 127.96 -% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ 127.97 - 127.98 - 127.99 - 127.100 - 127.101 - 127.102 -% *** SPECIALIZED LIST PACKAGES *** 127.103 -% 127.104 -%\usepackage{algorithmic} 127.105 -% algorithmic.sty was written by Peter Williams and Rogerio Brito. 127.106 -% This package provides an algorithmic environment fo describing algorithms. 127.107 -% You can use the algorithmic environment in-text or within a figure 127.108 -% environment to provide for a floating algorithm. Do NOT use the algorithm 127.109 -% floating environment provided by algorithm.sty (by the same authors) or 127.110 -% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated 127.111 -% algorithm float types and packages that provide these will not provide 127.112 -% correct IEEE style captions. The latest version and documentation of 127.113 -% algorithmic.sty can be obtained at: 127.114 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ 127.115 -% There is also a support site at: 127.116 -% http://algorithms.berlios.de/index.html 127.117 -% Also of interest may be the (relatively newer and more customizable) 127.118 -% algorithmicx.sty package by Szasz Janos: 127.119 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ 127.120 - 127.121 - 127.122 - 127.123 - 127.124 -% *** ALIGNMENT PACKAGES *** 127.125 -% 127.126 -%\usepackage{array} 127.127 -% Frank Mittelbach's and David Carlisle's array.sty patches and improves 127.128 -% the standard LaTeX2e array and tabular environments to provide better 127.129 -% appearance and additional user controls. As the default LaTeX2e table 127.130 -% generation code is lacking to the point of almost being broken with 127.131 -% respect to the quality of the end results, all users are strongly 127.132 -% advised to use an enhanced (at the very least that provided by array.sty) 127.133 -% set of table tools. array.sty is already installed on most systems. The 127.134 -% latest version and documentation can be obtained at: 127.135 -% http://www.ctan.org/tex-archive/macros/latex/required/tools/ 127.136 - 127.137 - 127.138 -%\usepackage{mdwmath} 127.139 -%\usepackage{mdwtab} 127.140 -% Also highly recommended is Mark Wooding's extremely powerful MDW tools, 127.141 -% especially mdwmath.sty and mdwtab.sty which are used to format equations 127.142 -% and tables, respectively. The MDWtools set is already installed on most 127.143 -% LaTeX systems. The lastest version and documentation is available at: 127.144 -% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ 127.145 - 127.146 - 127.147 -% IEEEtran contains the IEEEeqnarray family of commands that can be used to 127.148 -% generate multiline equations as well as matrices, tables, etc., of high 127.149 -% quality. 127.150 - 127.151 - 127.152 -%\usepackage{eqparbox} 127.153 -% Also of notable interest is Scott Pakin's eqparbox package for creating 127.154 -% (automatically sized) equal width boxes - aka "natural width parboxes". 127.155 -% Available at: 127.156 -% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ 127.157 - 127.158 - 127.159 - 127.160 - 127.161 - 127.162 -% *** SUBFIGURE PACKAGES *** 127.163 -%\usepackage[tight,footnotesize]{subfigure} 127.164 -% subfigure.sty was written by Steven Douglas Cochran. This package makes it 127.165 -% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE 127.166 -% work, it is a good idea to load it with the tight package option to reduce 127.167 -% the amount of white space around the subfigures. subfigure.sty is already 127.168 -% installed on most LaTeX systems. The latest version and documentation can 127.169 -% be obtained at: 127.170 -% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ 127.171 -% subfigure.sty has been superceeded by subfig.sty. 127.172 - 127.173 - 127.174 - 127.175 -%\usepackage[caption=false]{caption} 127.176 -%\usepackage[font=footnotesize]{subfig} 127.177 -% subfig.sty, also written by Steven Douglas Cochran, is the modern 127.178 -% replacement for subfigure.sty. However, subfig.sty requires and 127.179 -% automatically loads Axel Sommerfeldt's caption.sty which will override 127.180 -% IEEEtran.cls handling of captions and this will result in nonIEEE style 127.181 -% figure/table captions. To prevent this problem, be sure and preload 127.182 -% caption.sty with its "caption=false" package option. This is will preserve 127.183 -% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later 127.184 -% (recommended due to many improvements over 1.2) of subfig.sty supports 127.185 -% the caption=false option directly: 127.186 -%\usepackage[caption=false,font=footnotesize]{subfig} 127.187 -% 127.188 -% The latest version and documentation can be obtained at: 127.189 -% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ 127.190 -% The latest version and documentation of caption.sty can be obtained at: 127.191 -% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ 127.192 - 127.193 - 127.194 - 127.195 - 127.196 -% *** FLOAT PACKAGES *** 127.197 -% 127.198 -%\usepackage{fixltx2e} 127.199 -% fixltx2e, the successor to the earlier fix2col.sty, was written by 127.200 -% Frank Mittelbach and David Carlisle. This package corrects a few problems 127.201 -% in the LaTeX2e kernel, the most notable of which is that in current 127.202 -% LaTeX2e releases, the ordering of single and double column floats is not 127.203 -% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a 127.204 -% single column figure to be placed prior to an earlier double column 127.205 -% figure. The latest version and documentation can be found at: 127.206 -% http://www.ctan.org/tex-archive/macros/latex/base/ 127.207 - 127.208 - 127.209 - 127.210 -%\usepackage{stfloats} 127.211 -% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e 127.212 -% the ability to do double column floats at the bottom of the page as well 127.213 -% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in 127.214 -% LaTeX2e). It also provides a command: 127.215 -%\fnbelowfloat 127.216 -% to enable the placement of footnotes below bottom floats (the standard 127.217 -% LaTeX2e kernel puts them above bottom floats). This is an invasive package 127.218 -% which rewrites many portions of the LaTeX2e float routines. It may not work 127.219 -% with other packages that modify the LaTeX2e float routines. The latest 127.220 -% version and documentation can be obtained at: 127.221 -% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ 127.222 -% Documentation is contained in the stfloats.sty comments as well as in the 127.223 -% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE 127.224 -% does not allow \baselineskip to stretch. Authors submitting work to the 127.225 -% IEEE should note that IEEE rarely uses double column equations and 127.226 -% that authors should try to avoid such use. Do not be tempted to use the 127.227 -% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does 127.228 -% not format its papers in such ways. 127.229 - 127.230 - 127.231 - 127.232 - 127.233 - 127.234 -% *** PDF, URL AND HYPERLINK PACKAGES *** 127.235 -% 127.236 -%\usepackage{url} 127.237 -% url.sty was written by Donald Arseneau. It provides better support for 127.238 -% handling and breaking URLs. url.sty is already installed on most LaTeX 127.239 -% systems. The latest version can be obtained at: 127.240 -% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ 127.241 -% Read the url.sty source comments for usage information. Basically, 127.242 -% \url{my_url_here}. 127.243 - 127.244 - 127.245 - 127.246 - 127.247 - 127.248 -% *** Do not adjust lengths that control margins, column widths, etc. *** 127.249 -% *** Do not use packages that alter fonts (such as pslatex). *** 127.250 -% There should be no need to do such things with IEEEtran.cls V1.6 and later. 127.251 -% (Unless specifically asked to do so by the journal or conference you plan 127.252 -% to submit to, of course. ) 127.253 - 127.254 - 127.255 -% correct bad hyphenation here 127.256 -\hyphenation{op-tical net-works semi-conduc-tor} 127.257 - 127.258 - 127.259 -\begin{document} 127.260 - 127.261 -\bibliographystyle{plain} 127.262 -% 127.263 - 127.264 -\title{A Mutable Hardware Abstraction to Replace Threads} 127.265 - 127.266 -\author{Sean Halle\inst{1,2,3} \and Albert Cohen\inst{1}} 127.267 -\institute{INRIA and \'Ecole Normale Sup\'erieure, France 127.268 - \and 127.269 - University of California at Santa Cruz, USA 127.270 - \and 127.271 - Technical University Berlin} 127.272 - 127.273 -\maketitle 127.274 -% 127.275 - 127.276 -\begin{abstract} 127.277 - We propose an abstraction to alleviate the difficulty of programming 127.278 - with threads. This abstraction is not directly usable by application 127.279 - programmers. Instead, application-visible behavior is defined 127.280 - through a semantical plugin, and invoked via a language or library 127.281 - that uses the plugin. The main benefit is that parallel language 127.282 - runtimes become simpler to implement, because they use sequential 127.283 - algorithms for the parallel semantics. This is possible because the 127.284 - abstraction makes available a virtual time in which events in 127.285 - different program time-lines are sequentialized. The parallel 127.286 - semantics relate events in different time-lines via relating the 127.287 - sequentialized versions within the virtual time-line. 127.288 - 127.289 - We have implemented the abstraction in user-space and demonstrate 127.290 - its low overhead and quickness to implement a runtime on three sets 127.291 - of parallelism constructs: rendez-vous style \texttt{send} and 127.292 - \texttt{receive}; Cilk style \texttt{spawn} and \texttt{sync}, which 127.293 - have similar performance to Cilk 5.4; and \texttt{mutex} and 127.294 - \texttt{condition variable} constructs from pthreads, which have 80x 127.295 - lower overhead than Linux thread operations. Development time 127.296 - averaged around two days per set, versus an expected duration of weeks to modify a thread-based runtime system. 127.297 -\end{abstract} 127.298 - 127.299 -\section{Motivation} 127.300 - 127.301 -Thread parallelism constructs have been well documented to be 127.302 -difficult to program with. They directly expose low-level concurrency 127.303 -to the programmer. Arbitrary non-deterministic behavior and deadlocks 127.304 -can arise from improperly synchronized code. Efficient execution 127.305 -requires non-blocking algorithms whose correctness require deep 127.306 -understanding of weakly consistent memory models. In addition, the 127.307 -operating system abstraction for threads comes with a very high 127.308 -context-switching and synchronization overhead. 127.309 - 127.310 -%% AC. The following is wrong. 127.311 -%\paragraph{\bf Problems with threads: } Thread parallelism constructs have been well documented to be difficult to program with. In addition, threads are problematic when one has multiple physical cores because the thread abstraction hides the hardware, disabling control over placement of tasks. High performance requires such control. Hence, not only are threads difficult to use directly in applications, but they prevent easier parallelism constructs from being built on top of them that have high performance. 127.312 - 127.313 -%\paragraph{\bf Partial solution: } To deal with this, in practice, a language's runtime turns off 127.314 - 127.315 -\paragraph*{A partial solution.} 127.316 - 127.317 -To deal with the last problem, a parallel language's runtime turns off 127.318 -operating system threads by pinning one to each physical core. This 127.319 -way, the custom runtime is assured that the software thread is 127.320 -one-to-one with a physical core. It then implements a user-level 127.321 -thread package that lets it control which OS thread a computational 127.322 -task is assigned to. Finally, the runtime then implements the 127.323 -language's parallel semantics in terms of those user threads. 127.324 - 127.325 -The user-level threading approach addresses the system overhead issue, 127.326 -but it still hides important events such as input-output or 127.327 -node-to-node communications in a cluster. 127.328 -%% AC. Irrelevant for a parallelism-centric paper 127.329 -%software faults, and other hardware events 127.330 -Scalable runtimes need to coordinate task assignment 127.331 -to cores with application access of input and output, memory 127.332 -allocation over non-uniform cache and memory hierarchies, offloading 127.333 -to hardware accelerators, power management, and inter-node 127.334 -communication in a cluster. The user-level threading approach is hampered in addressing these needs, and 127.335 -further makes the parallel runtime implementation cumbersome, error-prone and 127.336 -complex, because it is still written in terms of threads. 127.337 - 127.338 - 127.339 -Ideally, the OS would be in terms of a mutable hardware abstraction, and export mutations as new behavior. We define a mutable hardware abstraction to be an interface to hardware-level behaviors that are normally inside the OS or below it. Examples include communication between cores, allotting time-slots to applications, and establishing ordering of events among cores (which is what atomic memory operations and equivalent patterns of instructions do). The kernel itself would be implemented in terms of such an abstraction, and would accept mutations the same way it accepts device-drivers. It would then export the mutated behaviors for the language to trigger. 127.340 - 127.341 -A language runtime would be in the form of a mutation. Being inside the OS, it has secure access to kernel-only hardware mechanisms. It could directly negotiate with the kernel to manage physical resources, in a low-overhead way. The arrangement enables the runtime to control which task is assigned to which processing element at what time. Both high performance and low-energy depend on this for implementing data affinity techniques. For example, the runtime could track data within the memory hierarchy and assign tasks to locations close to their consumed data. 127.342 - 127.343 -% \paragraph{\bf Support for portability: } This separation between 127.344 -% application executable and language runtime also supports 127.345 -% portability. It packages the language-specific scheduler into a 127.346 -% separate machine-specific module that is separately installed. The 127.347 -% scheduler is thus optimized for the combination of language with 127.348 -% hardware. This isn't a full solution to portability but it is a needed 127.349 -% precursor. 127.350 - 127.351 -% An interesting portability technique enabled by a separate 127.352 -% language-plus-hardware specific runtime is tracking which cores are 127.353 -% likely to already have data in the cache which a new task requires as 127.354 -% input. It could place tasks where the input data is likely to reside, 127.355 -% reducing communication to increase performance and power efficiency. 127.356 - 127.357 -\paragraph*{Contribution.} 127.358 - 127.359 -We show in this paper the definition and implementation of such a 127.360 -mutable hardware abstraction, albeit at user-level rather than in 127.361 -the kernel. The abstraction lets a language's runtime be implemented as 127.362 -a mutation, which we call a plugin. The plugin implements parallelism constructs and assignment of tasks to cores. 127.363 - 127.364 -We focus in this introductory paper on the definition of the 127.365 -abstraction and its support for parallelism constructs, postponing 127.366 -exploration of assignment of tasks onto cores and other performance 127.367 -optimizations to following papers. This paper defines multiple time-lines in a program, and a virtual timeline that globally orders events among them. It demonstrates three sets of parallelism constructs: synchronous \texttt{send}-\texttt{receive} 127.368 -motivated by process calculi; \texttt{spawn} and \texttt{sync} from 127.369 -Cilk {\cite{Fri98,CILKHome}}; and \texttt{mutex} and \texttt{condition 127.370 - variable} from pthreads. The assignment policy we implemented with 127.371 -them is simply first-come first-served. 127.372 - 127.373 -We call the abstraction Virtualized Master-Slave, or VMS. It 127.374 -exports facilities to create virtual processors and control how their timelines relate to each other, and relate to physical time. It also exports facilities to suspend a virtual processor and for an executable to interact with the plugin. The plugin embodies most of a language's runtime. A wrapper-library or keyword is what appears in application code, and is what triggers the runtime. 127.375 - 127.376 -\paragraph*{Organization of paper.} 127.377 - 127.378 -Section~\ref{secAbsModel} provide the original concepts and 127.379 -definitions of VMS. Section~\ref{secInternal} focuses on the 127.380 -implementation, describing the elements and how they interact, then 127.381 -relating them back to the theoretical definition. 127.382 -Section~\ref{secApp} takes the point of view of the application code, 127.383 -studying the usage and implementation of parallel language constructs 127.384 -as a VMS plugin. To wrap up, measurements of effectiveness appear in 127.385 -Section~\ref{secResults} and conclusions in 127.386 -Section~\ref{secConclusion}. 127.387 - 127.388 -\section{Background and Related Work} 127.389 - 127.390 -User-level thread packages and most parallel language runtimes have to 127.391 -side-step OS threads, by pinning one to each core, which effectively 127.392 -gives the user-level package control over the core. Our VMS 127.393 -implementation also does this. We are not claiming in this paper to 127.394 -have the OS level implementation of VMS that is possible -- but just 127.395 -the user-space version. 127.396 - 127.397 -\paragraph*{Related work.} 127.398 - 127.399 -The most primitive methods for establishing ordering among cores or distributed processors are atomic instructions and clock-synchronization techniques \cite{Lamport78,Christian89}. 127.400 - 127.401 -Meanwhile, the most closely related work is Scheduler Activations 127.402 -\cite{SchedActivations}, which also allows modifying concurrency 127.403 -constructs and controlling assignment of virtual processors onto 127.404 -cores. However it has no virtual time to guarantee globally consistent 127.405 -sequentialization, and no interface for plugins. 127.406 - 127.407 -BOM \cite{BOMinManticore}, which is used in Manticore to express 127.408 -scheduling policies and synchronization, also bears resemblances to 127.409 -VMS, but at a higher level of abstraction. BOM is a functional 127.410 -language, rather than a primitive abstraction meant to sit at the 127.411 -hardware-software boundary as VMS is. 127.412 - 127.413 -Coroutines is a high-performance means of switching between 127.414 -tasks. Coroutine scheduling and stack handling techniques were well 127.415 -suited to the user-space implementation of VMS. 127.416 - 127.417 -Other related work either provides an abstraction of the thread model, 127.418 -or is a full language with specific parallelism constructs. As a 127.419 -protypic example of user-level threads, Cilk {\cite{Fri98,CILKHome}} 127.420 -provides a simplified abstraction with an efficient scheduling and 127.421 -load balancing algorithm, but limited to fork-join concurrency. OpenMP 127.422 -{\cite{OpenMPHome}} is a typical example of a parallel extension of 127.423 -sequential languages; it allows creating tasks and controlling their 127.424 -execution order. We claim that both Cilk and OpenMP, as well as most 127.425 -thread abstractions or parallel languages may be implemented via 127.426 -plugins to VMS, with similar performance. 127.427 - 127.428 -VMS is unique in that it doesn't impose its own concurrency semantics as a programming model, but rather takes preferred ones as plugins. This 127.429 -makes it only a \emph{support} mechanism to 127.430 -implement language runtimes -- VMS is hidden from the application, underneath the language. Parallelism constructs may be implemented 127.431 -as VMS plugins, easily, quickly, and with high performance as 127.432 -indicated in Section~\ref{secResults}. 127.433 - 127.434 -This work presents a first incarnation of VMS. We plan 127.435 -to explore the embedding into VMS of a variety of parallel languages, 127.436 -with a special interest for coordination languages 127.437 -\cite{Gelernter85Linda,CnCInHotPar,CnCHome}. We will also explore 127.438 -VMS's compatibility with different concurrent semantics 127.439 -\cite{Kah74,hoare78,milner99,Hewitt10,Actors97}. One particularly 127.440 -important application would be to use VMS to facilitate the design and 127.441 -implementation of the emerging hybrid programming models, such as 127.442 -MPI+OpenMP, or OpenMP+OpenCL \cite{Car10,OpenCLHome}. 127.443 - 127.444 - 127.445 -\section{Abstract Definition of VMS} 127.446 -\label{secAbsModel} 127.447 - 127.448 -We start with an intuitive overview, then precise the definitions and 127.449 -properties in the following sub-sections. 127.450 - 127.451 -\paragraph*{Definitions:} 127.452 - 127.453 -1) We want to avoid the confusion associated with the various 127.454 -interpretations for the terms ``thread'' and ``task'' so will use 127.455 -the term \emph{Virtual Processor} (VP), which we define as state in 127.456 -combination with the ability to animate code or an additional level of 127.457 -virtual processors. The state consists of a program counter, a stack 127.458 -with its contents, a pointer to top of stack, and a pointer to the 127.459 -current stack frame. 2) A \emph{physical processor} executes 127.460 -a sequential stream of instructions. 127.461 -3) A program-timeline is the sequence of instructions animated by a 127.462 -Slave VP, which is in turn animated by a physical processor. 127.463 - 127.464 - 127.465 -\paragraph*{Intuitive Overview.} 127.466 - 127.467 -VMS can be understood via an analogy with atomic instructions, such as Compare and Swap (CAS). These are used to establish an ordering among the timelines of cores. They consist of two parts: 1) the semantics of what is done to the memory location, 2) a mechanism that establishes an ordering among the cores. For CAS, the semantics are: ``compare value in this register to value at the address, and if same, then put value in second register into the address.'' Multiple kinds of atomic instructions share the same order-establishing mechanism, they simply provide different semantics as a front-end. 127.468 - 127.469 - VMS can be viewed as virtualizing the order-establishing mechanism. It allows the semantics to be plugged-in to it. This breaks concurrency constructs into two parts: the VMS mechanism, which establishes an ordering between events in different timelines; and the plugin, which supplies the semantics. 127.470 - 127.471 - Below the interface, hardware mechanisms are employed to order specific points in one physical processor's timeline relative to specific points in another's timeline. Above the interface, a plugin provides the semantics that an application uses to invoke creation of the ordering. 127.472 - 127.473 -Together, VMS plus the plugin form a parallelism construct, by which an application controls how the time-lines of its virtual processors relate. Such constructs also guarantee relations of VP time-lines to hardware events. 127.474 - 127.475 -As an example, consider a program where one VP writes into a data structure then calls a \texttt{send} construct. Meanwhile, a 127.476 -different VP calls the \texttt{receive} construct then reads 127.477 -the data structure. The semantics of the \texttt{send} and \texttt{receive} constructs are that all data 127.478 -written before the \texttt{send} is readable in the other time-line 127.479 -after the \texttt{receive}. 127.480 - To implement these constructs, VMS provides the mechanism to enforce the ordering, and to include the writes and reads in that ordering. The plugin directs that mechanism to order the \texttt{send} event before the \texttt{receive} event. 127.481 -%% AC. Too early. 127.482 -% VMS provides a primitive guarantee that 127.483 -% plugin code builds upon to provide such higher-level guarantees. The 127.484 -% primitive guarantee is defined in Section~\ref{scTime}, after the 127.485 -% necessary vocabulary is established. 127.486 - 127.487 -\paragraph{What the VMS interface provides:} The interface provides primitive operations 127.488 -to create and suspend VPs; a way for plugins to control when and where 127.489 -each VP is (re)started; a way for application code to send requests to the plugin; and a way to order a specific point in one VP time-line relative to a specific point in another VP time-line. All implementations of the VMS interface provide these, whether it is on shared memory or distributed, with 127.490 -strong memory consistency or weak. 127.491 - 127.492 -\paragraph*{Specification in three parts.} 127.493 - 127.494 -We specify the observable behavior of a VMS system \emph{with plugins present}. Hence, 127.495 -the specified behaviors remain valid with any parallelism construct 127.496 -implementable with VMS. First we give the specification of a computation system that VMS is compatible with; then specify a notion of time and the key VMS guarantee; and lastly specify 127.497 -virtual processor scheduling states and transitions between them. 127.498 - 127.499 -%% AC. Too early, Master has not been defined. I renamed VMS-core into 127.500 -%% VMS afterwards, finding no ambiguity. 127.501 -% The Master mentioned in the definition is an abstract entity, with a 127.502 -% plugin present. In practice, this Master entity is implemented as part 127.503 -% of a core VMS, and plugins later added. This VMS-core is the hardware 127.504 -% abstraction. It hides the physical hardware behind an interface that 127.505 -% creates virtual processors and enforces well-defined time-behavior. 127.506 - 127.507 -\subsection{The Specifications for a VMS-compatible Computation System} 127.508 - 127.509 -\begin{itemize} 127.510 -\item An application creates multiple VPs, which are Slaves, each with an 127.511 - independent time-line. 127.512 -\item A schedule of Slaves is generated by a Master entity, from 127.513 - within a hidden time-line(s). 127.514 -\item A schedule is the set of physical locations and time-points at which Slaves are 127.515 - (re)animated. 127.516 -\item All semantic parallelism behavior is invoked by Slaves communicating 127.517 - with the Master. 127.518 -\item A Slave communicates with the Master by using a VMS primitive, 127.519 - which suspends the Slave. 127.520 -\end{itemize} 127.521 - 127.522 -\paragraph{Where we define:} 127.523 - Semantic Parallelism Behavior is the actions taken by a parallelism construct, which establishes an ordering among events in different Slave timelines. 127.524 - 127.525 - 127.526 -\paragraph{Discussion:} The key point is that 127.527 -\emph{scheduling is separated from the application code}. This is enforced by the schedule being generated in a time-line hidden from the application. The rest of the requirements are consequences of that separation. 127.528 - 127.529 -The Master entity appears as a single entity, to the slaves. However it may 127.530 -be implemented with multiple (hidden) timelines. This is the approach taken in our initial implementation, which has several Master VPs hidden inside the VMS 127.531 -implementation. 127.532 - 127.533 - 127.534 - 127.535 - 127.536 -%% AC. Calling memory a processing element only adds confusion. 127.537 -% {\bf Definitions:\ }VMS is intended only for hardware systems that 127.538 -% consist of processing elements connected by communication. We define 127.539 -% a memory-space to be a processing element, albeit without the ability 127.540 -% to transform data. 127.541 - 127.542 - 127.543 -\subsection{The Time-Related Specifications of VMS} 127.544 -\label{secTime} 127.545 - 127.546 -To prepare for the time-related specifications, we give an advance peek of the following section, 3.3. There, Slave VPs are specified to have three scheduling states: Animated, Blocked, and Ready. When a parallelism construct starts execution, the Slave transitions from Animated to Blocked. When it ends execution, the Slave transitions from Blocked to Ready. VMS provides a way to control the order of these state-transitions, which is equivalent to controlling the order of the parallelism-constructs. Controlling the state transitions is how the ordering among constructs in different timelines is established. 127.547 - 127.548 -With that background, here are time-related specifications for VMS: \begin{itemize} 127.549 -\item VMS provides a Virtual timeline that globally orders changes of scheduling state of Slave VPs. 127.550 -\item Ordering is created among construct-invocations by controlling the order of Blocked to Ready transitions in the Virtual timeline. 127.551 -\item 127.552 -Causally tied construct-invocations are tied-together inside the Master. \item VMS enforces ordering of \textit{observations} of physical events in Slave timelines to be consistent with the Virtual time ordering. 127.553 -\item Virtual time defines only ordering, but not spans, nor widths. 127.554 -\end{itemize} 127.555 - 127.556 -\paragraph{Discussion:} 127.557 -Most importantly here, Virtual time defines a global ordering among Slave state-transitions. To make this useful for parallelism, VMS must be implemented so that observations of physical events, like reads and writes to shared memory, are consistent with that ordering. 127.558 - 127.559 -The Virtual timeline plays the same role as the mechanism added to memory systems to support atomic instructions. All atomic instructions require hardware that establishes an ordering among the timelines of physical cores. That hardware sequentializes execution of atomic memory accesses to the same address. VMS virtualizes this mechanism. It provides the same ordering function. 127.560 - 127.561 -An important point is that the Virtual timeline is generated inside the Master. When a Slave uses the VMS primitive to send a parallelism-construct request, it suspends. However, that Slave doesn't actually transition state from Animated to Blocked until the Master \textit{acknowledges} the suspension. It is the acknowledgement that adds the Slave transition into the Virtual timeline. 127.562 - 127.563 -The essential value of VMS is using it to control the order of observing events. It has to be able to causally link the execution of a parallelism construct in one timeline to the execution of a construct in a different timeline. Establishing such a causal link is called \textit{tying together} two construct executions. 127.564 - It is specific executions from different timelines that are causally linked with such a tie. 127.565 -\paragraph*{The key VMS guarantee:} 127.566 - 127.567 -the order of observing physical events is consistent with the order of tied together parallelism constructs. 127.568 - 127.569 -To explain this, take as given: two Slaves both execute parallelism constructs, those are tied together by the Master, establishing a causal ordering from one to the other. So, one construct is the \textit{before}-construct, the other is the \textit{after}-construct. Now, the guarantee means that any events triggered before the before-construct, in its timeline, are guaranteed to be detected in the other timeline as also preceding the after-construct. In addition, events triggered after the after-construct are guaranteed not visible before the before-construct in its timeline. This two-part guarantee is the result of the above specifications of VMS's time-related behavior. 127.570 - 127.571 - 127.572 - 127.573 - 127.574 -\paragraph*{Definitions:} 127.575 - 127.576 -Some more definitions, to prepare for the next explanation. 1) An \textit{ordering-point} exists in a Slave VP's timeline as a zero-width event that can be tied to ordering points in other timelines. It is initiated by a Slave VP executing the suspend 127.577 -primitive, and ended by the Master transitioning the Slave back to Animated. 2) A trace-segment is a portion of a Slave VP's stream of instructions bounded by ordering-points. 127.578 - 127.579 -Hence, the timeline of a Slave is a sequence of trace-segments. Each 127.580 -trace-segment is animated by a single physical processor, but not 127.581 -necessarily the same as animated the Slave's other trace segments. 127.582 - 127.583 - 127.584 - 127.585 - 127.586 -\begin{figure}[ht] 127.587 - \includegraphics[width=3.5in]{../figures/Time_in_VMS_2.eps} 127.588 - \caption 127.589 - {Time Behaviors: \ Shows Ordering Point 1.1 being tied to Ordering Point 2.1. As a result, VMS guarantees that events triggered in Trace Segment 1.1 are seen as having taken place in the past in Trace Segment 2.2. Also shows that there is no common tied ordering point between segments 1.2 and 2.2, so VMS provides no guarantees about what order segment 2.2 sees events triggered in segment 1.2. 127.590 - } 127.591 -\label{figTimeMapping} 127.592 -\end{figure} 127.593 - 127.594 -\paragraph*{Relating time-lines to each other.} 127.595 - 127.596 -Figure \ref{figTimeMapping} shows two ordering points being tied together. A trace segment starts, at the same time an ordering-point ends, by its Slave transitioning to Animated. Because the transition to Animated exists as a point in Virtual time, the start of a trace-segment has a well-defined position within Virtual time. Likewise, a trace-segment is ended by its Slave executing the suspend primitive of VMS. Although this does not have a well-defined point in Virtual time, every execution of suspend is acknowledged by the Master, which transitions the Slave to Blocked. That transition does have a well-defined position in Virtual time. Hence, the end of every trace-segment is associated with a well-defined position in Virtual time. 127.597 - 127.598 -As a result, trace segments can be ordered relative to each other, by checking their start and end points in Virtual time. If they have no overlap in virtual time then they have a total ordering. However, if any portion of them overlaps in Virtual time, then they are considered concurrent trace-segments, and their Slaves are considered to be executing in parallel between those points of Virtual time. 127.599 - 127.600 -Note that this is conservative because it doesn't take into account the physical wait time between a Slave suspending and the Master acknowledging. The Slave may stop executing at a physical time-point that would map onto an earlier point in Virtual time. In some cases, ending the Slave's trace-segment at the earlier point would eliminate the overlap with a particular other trace-segment. But VMS's set of specifications doesn't allow such mapping of suspend-execution onto Virtual time (for implementation-related reasons, which require downloading the code and gaining experience with it, to establish a common language, for an explanation to be understood). 127.601 - 127.602 - 127.603 - 127.604 -A subtlety is that events triggered 127.605 -before one tied ordering-point, {\em{might}} be visible in the other timeline before the other tied ordering-point. In the figure, segment 2.1 might be able to see events from segment 1.1 if it looked. The VMS guarantee doesn't cover overlapped trace-segments. Physical events triggered before are only guaranteed visible 127.606 -{\em{after}} the tie point, and events after are only guaranteed 127.607 -{\em{not}} visible {\em{before}} the tie point. 127.608 - 127.609 -We call this bounded non-determinism, because events within overlapped trace-segments have non-deterministic ordering, but the region of non-determinism can be bounded by tied ordering-points. This allows a program to specify non-determinism, but control the region of non-deterministic behavior. For example, a reduction construct could be created that non-deterministically assigns portions of the reduction work to overlapped Slave segments. It would tie together ordering points from all the Slaves that mark the end of reduction. Hence, the outcome is deterministic, but the path to get there is not. 127.610 - 127.611 -\paragraph*{Sequential algorithms for parallel constructs.} 127.612 -The globally-consistent sequential order in Virtual time enables one 127.613 -of VMS's main benefits: sequential algorithms for parallel constructs. 127.614 -An implementation to 127.615 -tie ordering points together equals an implementation of parallel constructs. A plugin has an ordering of state transitions available, and chooses from those. Sequential algorithms rely on an ordering existing, while concurrent algorithms must include operations that establish an ordering. Plugins have Virtual time ordering available, so they can use sequential algorithms. 127.616 -\subsection{Specification of Scheduling State} 127.617 - 127.618 -Scheduling state is used in VMS to organize internal activity, for 127.619 -enforcing the guarantees. 127.620 - 127.621 -\begin{itemize} 127.622 -\item VPs have three scheduling states: {\em{Animated}}, 127.623 - {\em{Blocked}}, {\em{Ready}}; see Figure~\ref{figStates}. 127.624 -\item VPs in Animated are {\em{allowed}} to advance Program time with 127.625 - (core-local) physical time. 127.626 -\item VPs in Blocked and Ready do not advance their Program time. 127.627 -\item Animated has two physical states: {\em{Progressing}} and 127.628 - {\em{Stalled}}. 127.629 -\item VPs in Progressing advance Program time with (core-local) 127.630 - physical time, those in Stalled do not (allowing non-semantic 127.631 - suspend for hardware interrupts). 127.632 -\item Scheduling states are defined in Virtual time only. 127.633 -\item Progressing and Stalled are defined in (core-local) physical 127.634 - time only; the distinction is invisible in Virtual time. 127.635 -\end{itemize} 127.636 - 127.637 -\begin{figure}[h!tb] 127.638 -\begin{minipage}{.55\textwidth} 127.639 - \includegraphics[width=\textwidth]{../figures/Scheduling_states_2.eps} 127.640 - \caption{Scheduling states of a slave VP in the VMS model. Animated, Blocked, and Ready are only defined in Virtual Time and only visible in the Master. Progressing and Stalled are only visible in physical-processor local time, not visible in Virtual time.} 127.641 - \label{figStates} 127.642 -\end{minipage} 127.643 -\hfill 127.644 -\begin{minipage}{.43\textwidth} 127.645 - \includegraphics[width=\textwidth]{../figures/VMS-core__plugins.eps} 127.646 - \caption 127.647 - { 127.648 - The Master, split into a generic core and a language-specific plugin. 127.649 - The core encapsulates the hardware and remains the same across applications. 127.650 - The plugin implements the semantics of the parallelism-constructs. 127.651 - } 127.652 - \label{figMasterSplit} 127.653 -\end{minipage} 127.654 -\end{figure} 127.655 - 127.656 - 127.657 -Some important points: (1) only VPs Animated can trigger physical 127.658 -events that are seen in other program time-lines; (2) the distinction 127.659 -between Blocked vs Stalled is that a Slave has to explicitly execute a 127.660 -VMS primitive operation to enter Blocked. In contrast, Stalled happens 127.661 -invisibly, with no effect on semantic behavior. It is due to hardware 127.662 -events hidden inside VMS, such as interrupts. 127.663 - 127.664 -The Ready state is used to separate the parallelism-construct behavior 127.665 -from the scheduling behavior. It acts as a ``staging area'' for 127.666 -scheduling. VPs placed into this state are {\em{ready}} to be 127.667 -animated, but the scheduler decides when and where. 127.668 - 127.669 -An interesting point is that in VMS, the causal tie between timelines is created by actions {\em{outside}} program timelines. In contrast, memory-based lock algorithms place the concurrency-related behavior {\em{inside}} program 127.670 -timelines. 127.671 - 127.672 -\paragraph*{Transition Between Slave Scheduling States.} 127.673 - 127.674 -\begin{itemize} 127.675 -\item VPs transition states as shown in Figure \ref{figStates}. 127.676 -\item Animated$\rightarrow$Blocked is requested by a Slave executing suspend, but takes place in Virtual time at the point the Master acknowledges that request. 127.677 -\item Blocked$\rightarrow$Ready is determined by the semantics 127.678 - implemented in the plugin. 127.679 -\item Ready$\rightarrow$Animated is determined by the scheduler in the 127.680 - plugin. 127.681 -\item Transitions in scheduling state have a globally consistent order 127.682 - in Virtual time. 127.683 -\end{itemize} 127.684 - 127.685 -The parallelism primitives executed by a program do not directly control change 127.686 -in scheduling states. Rather they communicate messages to the Master, 127.687 -via a VMS supplied primitive. If it suspended when sending the request, then the act of the Master acknowledging the request places the Animated$\rightarrow$Blocked transition into Virtual time. Inside the Master, the plugin then processes the message. Based on contents, it performs changes in state from Blocked$\rightarrow$Ready, 127.688 -creates new VPs, and dissipates existing VPs. Most communication from 127.689 -Slave to Master requires the Slave to suspend when it sends the 127.690 -message. A few messages, like creating new Slave may be sent without 127.691 -suspending. 127.692 - 127.693 -The suspend primitive decouples local physical time from Virtual time. 127.694 -Execution causes immediate transition to Stalled in physical time, 127.695 -later the Master performs Animated$\rightarrow$Blocked, fixing that 127.696 -transition in Virtual time. The only relationship is causality. This 127.697 -weak relation is what allows suspension-points to be serialized in 127.698 -Virtual time, which in turn is what allows using sequential algorithms 127.699 -to implement parallelism constructs. 127.700 - 127.701 -\subsection{Plugins} 127.702 - 127.703 -The Master entity has two parts, a generic core part and a plugin 127.704 -(Figure \ref{figMasterSplit}). The core part of the Master is 127.705 -implemented as part of VMS itself. The plugin supplies two functions: 127.706 -the communication-handler and the scheduler, both having a standard 127.707 -prototype. The communication-handler implements the parallelism 127.708 -constructs, while scheduler assigns VPs to cores. 127.709 - 127.710 -An \emph{instance} of a plugin is created as part of initializing an 127.711 -application, and the instance holds the semantic and scheduling state 127.712 -for that run of the application. This state, combined with the virtual 127.713 -processor states of the slaves created during that application run, 127.714 -represents progress of the work of the application. For example, 127.715 -multi-tasking is performed simply by the Master switching among 127.716 -plugin instances when it has a resource to offer to a scheduler. The 127.717 -parallelism-semantic state holds all information needed to resume 127.718 -(hardware state, such as TLB and cache-tags is inside VMS). 127.719 - 127.720 -\section{Internal Workings of Our Implementation} 127.721 -\label{secInternal} 127.722 - 127.723 -For our example implementation, we name the elements and describe their 127.724 -logical function, then relate those to the abstract model. We then step 127.725 -through the operation of the elements. 127.726 - 127.727 -\paragraph*{Elements and their logical function.} 127.728 - 127.729 -As illustrated in Figure~\ref{figInternals}, our VMS implementation is 127.730 -organized around physical cores. Each core has its own {\em{master 127.731 - virtual-processor}}, \texttt{masterVP}, and a {\em{physical-core 127.732 - controller}}, which communicate via a set of scheduling slots, 127.733 -\texttt{schedSlot}. The Master in the abstract definition is 127.734 -implemented by the multiple \texttt{masterVP}s plus a particular 127.735 -plugin instance with its shared parallelism-semantic state (seen at 127.736 -the top). 127.737 - 127.738 -On a given core, only one of: the core-controller, \texttt{masterVP}, 127.739 -or a slave VP, is animated at any point in local physical time. Each 127.740 -\texttt{masterVP} animates the same function, called 127.741 -\texttt{master\_loop}, and each slave VP animates a function from the 127.742 -application, starting with the top-level function the slave is created 127.743 -with, and following its call sequence. The core controller is 127.744 -implemented here as a Linux pthread that runs the \texttt{core\_loop} 127.745 -function. 127.746 - 127.747 -Switching between VPs is done by executing a VMS primitive that 127.748 -suspends the VP. This switches the physical core over to the 127.749 -controller, by jumping to the start of the \texttt{core\_loop} 127.750 -function, which chooses the next VP and switches to that (switching is 127.751 -detailed in Section \ref{secApp} Figure \ref{figAssembly}). 127.752 - 127.753 -\paragraph*{Relation to abstract model.} 127.754 - 127.755 -We chose to implement the Master entity of the model by a set of 127.756 -\texttt{masterVP}s, plus plugin functions and shared 127.757 -parallelism-semantic state. VMS consists of this implementation of the 127.758 -Master, plus the core-controllers, plus the VMS primitive libraries, 127.759 -for creating new VPs and dissipating existing VPs, suspending VPs, and 127.760 -communicating from slave VP to Master. In Figure~\ref{figInternals}, 127.761 -everything in green is part of VMS, while the plugin is in red, and 127.762 -application code appears as blue, inside the slave VP. 127.763 - 127.764 -Virtual time in the model is implemented via a combination of four 127.765 -things: a \texttt{masterLock} (not shown) that guarantees non-overlap 127.766 -of \texttt{masterVP} trace-segments; the \texttt{master\_loop} which 127.767 -performs transition Animated$\rightarrow$Blocked; the 127.768 -\texttt{comm\_handler\_fn} which performs Blocked$\rightarrow$Ready 127.769 -and the \texttt{scheduler\_fn} which performs 127.770 -Ready$\rightarrow$Animated. \ Each state transition is one step of 127.771 -Virtual time; is guaranteed sequential by the non-overlap of 127.772 -\texttt{masterVP} trace segments; and is global due to being in 127.773 -parallelism-semantic state that is shared (top of 127.774 -Figure~\ref{figInternals}). 127.775 - 127.776 -Transitions Progressing$\rightleftarrows$Stalled within the Animated 127.777 -state are invisible to the parallelism semantics, the Master, and 127.778 -Virtual time, and so have no effect on the elements seen. 127.779 - 127.780 -\begin{figure*}[h!tb] 127.781 - \centerline{\includegraphics[width=5in]{../figures/VMS-core__internal_workings.eps}} 127.782 - \caption 127.783 - { Internal elements of our example VMS implementation 127.784 - } 127.785 - \label{figInternals} 127.786 -\end{figure*} 127.787 - 127.788 -\paragraph*{Steps of operation.} 127.789 - 127.790 -The steps of operation are numbered, in Figure \ref{figInternals}. 127.791 -Taking them in order: 127.792 - 127.793 -\begin{enumerate} 127.794 -\item \texttt{master\_loop} scans the scheduling slots to see which 127.795 - ones' slaves have suspended since the previous scan. 127.796 -\item It hands these to the \texttt{comm\_handler\_fn} plugged in 127.797 -(which equals transition Animated$\rightarrow$Blocked). 127.798 -\item The VP has a request attached, and data in it causes the 127.799 - \texttt{comm\_handler\_fn} to manipulate data structures in the 127.800 - shared parallelism-semantic state. These structures hold all the 127.801 - slaves in the blocked state (code-level detail and example will 127.802 - come in Figure~\ref{figReqHdlr}, Section~\ref{secApp}). 127.803 -\item Some requests cause slaves to be moved to a \texttt{readyQ} on 127.804 - one of the cores (Blocked$\rightarrow$Ready). Which core's 127.805 - \texttt{readyQ} receives the slave is under plugin control, 127.806 - determined by a combination of request contents, semantic state and 127.807 - physical machine state. 127.808 -\item During the scan, the \texttt{master\_loop} also looks for empty 127.809 - slots, and for each calls the \texttt{scheduler\_fn} plugged in. It 127.810 - chooses a slave from the \texttt{readyQ} on the core animating 127.811 - \texttt{master\_loop}. 127.812 -\item The \texttt{master\_loop} then places the slave VP's pointer 127.813 - into the scheduling slot (Ready$\rightarrow$Animated), making it 127.814 - available to the \texttt{core\_loop}. 127.815 -\item When done with the scan, \texttt{masterVP} suspends, switching 127.816 - animation back to the \texttt{core\_loop}. 127.817 -\item \texttt{core\_loop} takes slave VPs out of the slots. 127.818 -\item Then \texttt{core\_loop} switches animation to these slave VPs. 127.819 -\item When a slave self-suspends, animation returns to the 127.820 - \texttt{core\_loop} (detail in code in Figure 9), which picks 127.821 - another. 127.822 -\item Until all slots are empty and the \texttt{core\_loop} switches 127.823 - animation to the \texttt{masterVP}. 127.824 -\end{enumerate} 127.825 - 127.826 -\paragraph*{Enabling sequential implementation of parallelism semantics.} 127.827 - 127.828 -All these steps happen on each core separately, but 127.829 -%% AC. Cannot be both an essential property of VMS and "un this particular..." 127.830 -% in this particular implementation 127.831 -we use a central \texttt{masterLock} to ensure that 127.832 -only one core's \texttt{masterVP} can be active at any time. This 127.833 -guarantees non-overlap of trace-segments from different 127.834 -\texttt{masterVP}s, allowing the plugins to use sequential algorithms, 127.835 -without a performance penalty, as verified in 127.836 -Section~\ref{secResults}. 127.837 - 127.838 -Relating this to the abstract model: the parallelism-semantic behavior 127.839 -of the Master is implemented by the communication handler, in the 127.840 -plugin. It thus runs in the Master time referred to, in the model, in 127.841 -Section \ref{secAbsModel}. Requests are sent to the Master by 127.842 -self-suspension of the slaves, but sit idle until the other slaves in 127.843 -the scheduling slots have also run. This is the passive behavior of 127.844 -requests that was noted in Section~\ref{secAbsModel}, which allows the 127.845 -\texttt{masterVP}s to remain suspended until needed. This in turn 127.846 -enables the \texttt{masterVP}s from different cores to be 127.847 -non-overlapped. It is the non-overlap that enables the algorithms for 127.848 -the parallelism semantics to be sequential. 127.849 - 127.850 -\section{Code Example} 127.851 -\label{secApp} 127.852 - 127.853 -To relate the abstract model and the internal elements to application 127.854 -code and parallelism-library code, we give code snippets that 127.855 -illustrate key features. We start with the application then work down 127.856 -through the sequence of calls, to the plugin, using our SSR 127.857 -{\cite{VMSHome}} parallelism-library as an example. 127.858 - 127.859 -In general, applications are either written in terms of a parallel 127.860 -language that has its own syntax, or a base language with a 127.861 -parallelism library, which is often called an {\em{embedded 127.862 - language}}. Our demonstrators, VCilk {\cite{VMSHome}}, Vthread, 127.863 -and SSR, are all parallelism libraries. A parallel language would 127.864 -follow the standard practice of performing source-to-source transform, 127.865 -from custom syntax into C plus parallelism-library calls. 127.866 - 127.867 -\paragraph*{SSR.} 127.868 - 127.869 -SSR stands for Synchronous Send-Receive, and details of its calls and 127.870 -internal implementation will be given throughout this section. It has 127.871 -two types of construct. The first, called {\em{from-to}} has two 127.872 -calls: \texttt{SSR\_send\_from\_to} and 127.873 -\texttt{SSR\_receive\_from\_to}, both of which specify the sending VP 127.874 -as well as the receiving VP. \ The other, called {\em{of-type}} also 127.875 -has two calls: \texttt{SSR\_\_send\_of\_type\_to} and 127.876 -\texttt{SSR\_\_receive\_of\_type}, which allow a receiver to accept 127.877 -from anonymous senders, but select according to type of message. 127.878 - 127.879 -% An example of a double column floating figure using two subfigures. 127.880 -% (The subfig.sty package must be loaded for this to work.) 127.881 -% The subfigure \label commands are set within each subfloat command, the 127.882 -% \label for the overall figure must come after \caption. 127.883 -% \hfil must be used as a separator to get equal spacing. 127.884 -% The subfigure.sty package works much the same way, except \subfigure is 127.885 -% used instead of \subfloat. 127.886 -% 127.887 -%\begin{figure*}[!t] 127.888 -%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% 127.889 -%\label{fig_first_case}} 127.890 -%\hfil 127.891 -%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% 127.892 -%\label{fig_second_case}}} 127.893 -%\caption{Simulation results} 127.894 -%\label{fig_sim} 127.895 -%\end{figure*} 127.896 -% 127.897 -% Note that often IEEE papers with subfigures do not employ subfigure 127.898 -% captions (using the optional argument to \subfloat), but instead will 127.899 -% reference/describe all of them (a), (b), etc., within the main caption. 127.900 - 127.901 -\paragraph*{Application view.} 127.902 - 127.903 -Figure~\ref{figAnimVP} shows snippets of application code, which use 127.904 -the SSR parallelism library. The most important feature is that all 127.905 -calls take a pointer to the VP that is animating the call. This is 127.906 -seen at the top of the figure where slave VP creation takes a pointer 127.907 -to the VP asking for creation. Below that is the standard prototype 127.908 -for top level functions, showing that the function receives a pointer 127.909 -to the VP it is the top level function for. 127.910 - 127.911 -The pointer is placed on the stack by VMS when it creates the VP, and 127.912 -is the means by which the application comes into possession of the 127.913 -pointer. This animating VP is passed to all library calls made from 127.914 -there. For example, the bottom shows a pointer to the animating VP 127.915 -placed in the position of sender in the \texttt{send} construct call. 127.916 -Correspondingly, for the \texttt{receive} construct, the position of 127.917 -receiving VP is filled by the VP animating the call. 127.918 - 127.919 -\begin{figure}[h!tb] 127.920 -{\noindent 127.921 -{\footnotesize 127.922 -{\small Creating a new processor:} 127.923 -\begin{verbatim} 127.924 -newProcessor = SSR__create_procr( &top_VP_fn, paramsPtr, animatingVP ); 127.925 -\end{verbatim} 127.926 - 127.927 -{\small prototype for the top level function:} 127.928 -\begin{verbatim} 127.929 -top_VP_fn( void *parameterStrucPtr, VirtProcr *animatingVP ); 127.930 -\end{verbatim} 127.931 - 127.932 -{\small handing animating VP to parallelism constructs:} 127.933 -\begin{verbatim} 127.934 -SSR__send_from_to( messagePtr, animatingVP, receivingVP ); 127.935 -messagePtr = SSR__receive_from_to( sendingVP, animatingVP ); 127.936 -\end{verbatim} 127.937 -} 127.938 -} 127.939 -\caption 127.940 -{Application code snippets showing that all calls to the parallelism library 127.941 -take the VP animating that call as a parameter. 127.942 -} 127.943 -\label{figAnimVP} 127.944 -\end{figure} 127.945 - 127.946 -Relating these to the internal elements of our implementation, the 127.947 -\texttt{animatingVP} suspends inside each of these calls, passing a 127.948 -request (generated in the library) to one of the \texttt{masterVP}s. 127.949 -The \texttt{masterVP} then calls the \texttt{comm-handler} plugin, and 127.950 -so on, as described in Section \ref{secInternal}. 127.951 - 127.952 -For the \texttt{SSR\_\_create\_processor} call, the comm-handler in 127.953 -turn calls a VMS primitive to perform the creation. The primitive 127.954 -places a pointer to the newly created VP onto its stack, so that when 127.955 -\texttt{top\_VP\_fn} is later animated, it sees the VP-pointer as a 127.956 -parameter passed to it. \ All application code is either such a 127.957 -top-level function, or has one at the root of the call-stack. 127.958 - 127.959 -The send and receive calls both suspend their animating VP. When both 127.960 -have been called, the communication handler pairs them up and resumes 127.961 -both. This ties time-lines together, invoking the VMS guarantee. Both 127.962 -application-functions know, because of the VMS guarantee 127.963 -(Section~\ref{secAbsModel}), that writes to shared variables made 127.964 -before the send call by the sender are visible to the receiver after 127.965 -the receive call. This is the programmer's view of tying together the 127.966 -local time-lines of two different VPs, as defined in 127.967 -Section~\ref{secAbsModel}. 127.968 - 127.969 -\paragraph*{Concurrency-library view.} 127.970 - 127.971 -A parallelism library is a wrapper. Each call, in general, only creates a request, 127.972 -sends it, and returns, as seen below. To send a request, it uses the 127.973 -combined request-and-suspend VMS primitive that attaches the request 127.974 -then suspends the VP. The primitive requires the pointer to the VP, 127.975 -to attach the request and to suspend it. 127.976 - 127.977 -In Figure~\ref{figImplLib}, notice that the request's data is on the 127.978 -stack of the virtual processor that's animating the call, which is the 127.979 -\texttt{receiveVP}. The \texttt{VMS\_\_send\_sem\_request} suspends 127.980 -this VP, which changes the physical core's stack pointer to a 127.981 -different stack. So the request data is guaranteed to remain 127.982 -undisturbed while the VP is suspended. 127.983 - 127.984 -Figure~\ref{figAssembly} shows the implementation of the VMS suspend 127.985 -primitive. As seen in Figure \ref{figInternals}, suspending the 127.986 -\texttt{receiveVP} involves switching to the \texttt{core\_loop}. In 127.987 -our implementation, this is done by switching to the stack of the 127.988 -pthread pinned to the physical core and then jumping to the 127.989 -start-point of \texttt{core\_loop}. 127.990 - 127.991 -This code uses standard techniques commonly employed in co-routine 127.992 -implementations. Tuning effort spent in \texttt{core\_loop} is 127.993 -inherited by all applications. 127.994 - 127.995 -\begin{figure}[h!tb] 127.996 -{\noindent 127.997 -{\footnotesize 127.998 -\begin{verbatim} 127.999 -void * SSR__receive_from_to( VirtProcr *sendVP, VirtProcr *receiveVP ) 127.1000 - { SSRSemReq reqData; 127.1001 - reqData.receiveVP = receiveVP; 127.1002 - reqData.sendVP = sendVP; 127.1003 - reqData.reqType = receive_from_to; 127.1004 - VMS__send_sem_request( &reqData, receiveVP ); 127.1005 - return receiveVP->dataReturnedFromRequest; 127.1006 - } 127.1007 -\end{verbatim} 127.1008 -} 127.1009 -} 127.1010 -\caption{Implementation of SSR's receive\_from\_to library function.} 127.1011 -\label{figImplLib} 127.1012 - 127.1013 -{\noindent 127.1014 -{\footnotesize 127.1015 -\begin{verbatim} 127.1016 -VMS__suspend_procr( VirtProcr *animatingVP ) 127.1017 - { animatingVP->resumeInstrAddr = &&ResumePt; //GCC takes addr of label 127.1018 - animatingVP->schedSlotAssignedTo->isNewlySuspended = TRUE; //for master_loop to see 127.1019 - <assembly code stores current physical core's stack reg into animatingVP struct> 127.1020 - <assembly code loads stack reg with core_loop stackPtr, which was saved into animatingVP> 127.1021 - <assembly code jmps to core_loop start instr addr, which was also saved into animatingVP> 127.1022 - ResumePt: 127.1023 - return; 127.1024 - } 127.1025 -\end{verbatim} 127.1026 -} 127.1027 -} 127.1028 - \caption 127.1029 -{Implementation of VMS suspend processor. 127.1030 -Re-animating the virtual processor reverses this sequence. \ It saves the 127.1031 -\texttt{core\_loop}'s resume instr-addr and stack ptr into the VP structure, 127.1032 -then loads the VP's stack ptr and jmps to its \texttt{resumeInstrAddr}. 127.1033 -} 127.1034 -\label{figAssembly} 127.1035 - 127.1036 -{\noindent 127.1037 -{\footnotesize 127.1038 -\begin{verbatim} 127.1039 -handle_receive_from_to( VirtProcr *requestingVP, SSRSemReq *reqData, SSRSemEnv *semEnv ) 127.1040 - { commHashTbl = semEnv->communicatingVPHashTable; 127.1041 - key[0] = reqData->receiveVP; key[1] = reqData->sendVP; //send uses same key 127.1042 - waitingReqData = lookup_and_remove( key, commHashTbl ); //get waiting request 127.1043 - if( waitingReqData != NULL ) 127.1044 - { resume_virt_procr( waitingReqData->sendVP ); 127.1045 - resume_virt_procr( waitingReqData->receiveVP ); 127.1046 - } 127.1047 - else 127.1048 - insert( key, reqData, commHashTbl ); //receive is first to arrive, make it wait 127.1049 - } 127.1050 -\end{verbatim} 127.1051 -} 127.1052 -} 127.1053 - \caption 127.1054 -{Pseudo-code of communication-handler for 127.1055 -\texttt{receive\_from\_to} request type. The \texttt{semEnv} is a pointer 127.1056 -to the shared parallel semantic state seen at the top of 127.1057 -Figure~\ref{figInternals}. 127.1058 -} 127.1059 -\label{figReqHdlr} 127.1060 -\end{figure} 127.1061 - 127.1062 -\paragraph*{Plugin view.} 127.1063 - 127.1064 -SSR's communication handler dispatches on the \texttt{reqType} field 127.1065 -of the request data, as set by the \texttt{SSR\_\_receive\_from\_to} 127.1066 -code. It calls the handler code in Figure \ref{figReqHdlr}. This 127.1067 -constructs a hash-key, by concatenating the from-VP's pointer with the 127.1068 -to-VP's pointer. Then it looks-up that key in the hash-table that SSR 127.1069 -uses to match sends with receives, which is in the shared semantic 127.1070 -state seen at the top of Figure \ref{figInternals} in 127.1071 -Section~\ref{secInternal}. 127.1072 - 127.1073 -The most important feature in Figure~\ref{figReqHdlr} is that both 127.1074 -send and receive will construct the same key, so will find the same 127.1075 -hash entry. Whichever request is handled first in Virtual time will 127.1076 -see the hash entry empty, and save itself in that entry. The second 127.1077 -to arrive sees the waiting request and then resumes both VPs, by 127.1078 -putting them into their \texttt{readyQ}s. 127.1079 - 127.1080 -Access to the shared hash table can be considered private, as in a 127.1081 -sequential algorithm. This is because our VMS-core implementation 127.1082 -ensures that only one handler on one core is executing at a time. 127.1083 - 127.1084 -\section{Results} 127.1085 -\label{secResults} 127.1086 - 127.1087 -We implemented blocked dense matrix multiplication with right 127.1088 -sub-matrices copied to transposed form, and ran it on a 4-core 127.1089 -Core2Quad 2.4Ghz processor. 127.1090 - 127.1091 -\paragraph*{Implementation-time.} 127.1092 - 127.1093 -As shown in Table~\ref{tabPersonDaysLang}, time to implement the three 127.1094 -parallel libraries averages 2 days each. As an example of 127.1095 -productivity, adding nested transactions, parallel singleton, and 127.1096 -atomic function-execution to SSR required a single afternoon, totaling 127.1097 -less than 100 lines of C code. 127.1098 - 127.1099 -\paragraph*{Execution Performance.} 127.1100 - 127.1101 -Performance of VMS is seen in Table~\ref{tabOverheadCycles}. The code 127.1102 -is not optimized, but rather written to be easy to understand and 127.1103 -modify. The majority of the plugin time is lost to cache misses 127.1104 -because the shared parallelism-semantic state moves between cores on a 127.1105 -majority of accesses. Acquisition of the master lock is slow due to 127.1106 -the hardware implementing the CAS instruction. 127.1107 - 127.1108 -Existing techniques will likely improve performance, such as 127.1109 -localizing semantic data to cores, splitting malloc across the cores, 127.1110 -pre-allocating slabs that are recycled, and pre-fetching. However, in 127.1111 -many cases, several hundred nano-seconds per task is as optimal as the 127.1112 -applications can benefit from. 127.1113 - 127.1114 -\begin{table}[h!tb] 127.1115 -\begin{minipage}{.35\textwidth} 127.1116 -\begin{tabular}{|l|l|l|l|} 127.1117 - \cline{2-4} 127.1118 - \multicolumn{1}{l|}{} & SSR & Vthread & VCilk\\ 127.1119 - \cline{2-4} 127.1120 - \noalign{\vskip2pt} 127.1121 - \hline 127.1122 - Design & 4 & 1 & 0.5\\ 127.1123 - Code & 2 & 0.5 & 0.5\\ 127.1124 - Test & 1 & 0.5 & 0.5\\ 127.1125 - L.O.C. & 470 & 290 & 310\\ 127.1126 - \hline 127.1127 -\end{tabular} 127.1128 -\caption 127.1129 -{Person-days to design, code, and 127.1130 - test each parallelism library. L.O.C. is lines of (original) C code, 127.1131 - excluding libraries and comments. 127.1132 -} 127.1133 -\label{tabPersonDaysLang} 127.1134 -\end{minipage} 127.1135 -\hspace{-.05\textwidth} 127.1136 -\begin{minipage}[t]{.7\textwidth} 127.1137 -\hfill 127.1138 -\begin{tabular}{|l|l|r|r|} 127.1139 -\cline{3-4} 127.1140 -\multicolumn{2}{l|}{} & comp only & comp + mem\\ 127.1141 -\cline{3-4} 127.1142 -\noalign{\vskip2pt} 127.1143 -\hline 127.1144 -VMS Only & \texttt{master\_loop} & 91 & 110\\ 127.1145 -& switch VPs & 77 & 130\\ 127.1146 -& (malloc) & 160 & 2300\\ 127.1147 -& (create VP) & 540 & 3800\\ 127.1148 -\hline 127.1149 -Language: & & & \\ 127.1150 -\quad SSR & plugin -- concur & 190 & 540\\ 127.1151 -& plugin -- all & 530 & 2200\\ 127.1152 -& lock & & 250\\ 127.1153 -\quad Vthread & plugin -- concur & 66 & 710\\ 127.1154 -& plugin -- all & 180 & 1500\\ 127.1155 -& lock & & 250\\ 127.1156 -\quad VCilk & plugin -- concur & 65 & 260\\ 127.1157 -& plugin -- all & 330 & 1800\\ 127.1158 -& lock & & 250\\ 127.1159 -\hline 127.1160 -\end{tabular} 127.1161 -\caption 127.1162 -{Cycles of overhead, per scheduled 127.1163 - slave. ``comp only'' is perfect memory, ``comp + mem'' is actual cycles. 127.1164 - ``Plugin-concur'' only concurrency requests, ``plugin-all'' includes 127.1165 - create and malloc requests. Two significant digits due to variability. 127.1166 -} 127.1167 -\label{tabOverheadCycles} 127.1168 -\end{minipage} 127.1169 - 127.1170 -\vskip-1.5cm 127.1171 -\begin{tabular}{|l|lr|} 127.1172 -\hline 127.1173 - Matrix size&Lang.&sec.\\ 127.1174 -[2pt]\hline 127.1175 - $81\times81$ & Cilk & 0.017\\ 127.1176 - & VCilk & 0.008\\ 127.1177 -\hline 127.1178 - $324\times324$ & Cilk & 0.13\\ 127.1179 - & VCilk & 0.13\\ 127.1180 -\hline 127.1181 - $648\times648$ & Cilk & 0.71\\ 127.1182 - & VCilk & 0.85\\ 127.1183 -\hline 127.1184 - $1296\times1296$ & Cilk & 4.8\\ 127.1185 - & VCilk & 6.2 \\ 127.1186 -[2pt]\hline 127.1187 -\end{tabular} 127.1188 -\hfill 127.1189 -\begin{tabular}{|l|r|r|r|r|} 127.1190 -\multicolumn{5}{l}{}\\ 127.1191 -\multicolumn{5}{l}{}\\ 127.1192 -\multicolumn{5}{l}{}\\ 127.1193 -\hline 127.1194 - operation & \multicolumn{2}{c|}{Vthread} & pthread & ratio\\ 127.1195 - & comp only & total & & \\ 127.1196 -[2pt]\hline 127.1197 - mutex\_lock & 85 & 1050 & 50,000 & 48:1\\ 127.1198 - mutex\_unlock & 85 & 610 & 45,000 & 74:1\\ 127.1199 - cond\_wait & 85 & 850 & 60,000 & 71:1\\ 127.1200 - cond\_signal & 90 & 650 & 60,000 & 92:1\\ 127.1201 -\hline 127.1202 -\end{tabular} 127.1203 -\caption 127.1204 -{On left, exe time in seconds for MM. To the right, overhead for 127.1205 - pthread vs. Vthread. First column is cycles 127.1206 - for perfect memory and second is total measured cycles. pthread cycles are 127.1207 - deduced from round-trip experiments. 127.1208 -} 127.1209 -\label{tabHeadToHead} 127.1210 -\end{table} 127.1211 - 127.1212 -\paragraph*{Head to head.} 127.1213 - 127.1214 -We compare our implementation of the \texttt{spawn} and \texttt{sync} 127.1215 -constructs against Cilk 5.4, on the top in Table~\ref{tabHeadToHead}, 127.1216 -which shows that the same application code has similar 127.1217 -performance. For large matrices, Cilk 5.4's better use of the memory 127.1218 -hierarchy (the workstealing algorithm) achieves 23\% better 127.1219 -performance. However, for small matrices, VCilk is better, with a 127.1220 -factor 2 lower overhead. Cilk 5.4 does not allow controlling the 127.1221 -number of spawn events it actually executes, and chooses to run 127.1222 -smaller matrices sequentially, limiting our comparison. 127.1223 - 127.1224 -When comparing to pthreads, our VMS based implementation has more than 127.1225 -an order of magnitude better overhead per invocation of mutex or 127.1226 -condition variable functionality, as seen on the bottom of Table 127.1227 -\ref{tabHeadToHead}. Applications that inherently have short trace 127.1228 -segments will synchronize often and benefit the most from Vthread. 127.1229 - 127.1230 -\section{Conclusion} 127.1231 -\label{secConclusion} 127.1232 - 127.1233 -We have shown an alternative to the thread model that enables 127.1234 -easier-to-use parallelism constructs by splitting the scheduler open, 127.1235 -to accept new parallelism constructs in the form of plugins. This 127.1236 -gives the language control over assigning virtual processors to 127.1237 -physical cores, for performance, debugging, and flexibility 127.1238 -benefits. Parallelism constructs of programming languages can be 127.1239 -implemented using sequential algorithms, within a matter of days, 127.1240 -while maintaining low run-time overhead. 127.1241 - 127.1242 -\bibliography{../helpers/bib_for_papers} 127.1243 - 127.1244 -\end{document} 127.1245 - }
128.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/latex/Sept_2011__Multiprog.tex.Backup-20110926-155453 Thu Feb 02 12:22:53 2012 -0800 128.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 128.3 @@ -1,1173 +0,0 @@ 128.4 -%&latex 128.5 - 128.6 - 128.7 -\documentclass[conference]{../helpers/llncs} 128.8 -% 128.9 -\usepackage{makeidx,geometry,amssymb,graphicx,calc,ifthen} 128.10 -% 128.11 - 128.12 -% *** CITATION PACKAGES *** 128.13 -% 128.14 -%\usepackage{cite} 128.15 -% cite.sty was written by Donald Arseneau 128.16 -% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package 128.17 -% \cite{} output to follow that of IEEE. Loading the cite package will 128.18 -% result in citation numbers being automatically sorted and properly 128.19 -% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using 128.20 -% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's 128.21 -% \cite will automatically add leading space, if needed. Use cite.sty's 128.22 -% noadjust option (cite.sty V3.8 and later) if you want to turn this off. 128.23 -% cite.sty is already installed on most LaTeX systems. Be sure and use 128.24 -% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does 128.25 -% not currently provide for hyperlinked citations. 128.26 -% The latest version can be obtained at: 128.27 -% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ 128.28 -% The documentation is contained in the cite.sty file itself. 128.29 - 128.30 - 128.31 - 128.32 - 128.33 - 128.34 - 128.35 -% *** GRAPHICS RELATED PACKAGES *** 128.36 -% 128.37 -%\ifCLASSINFOpdf 128.38 - % \usepackage[pdftex]{graphicx} 128.39 - % declare the path(s) where your graphic files are 128.40 - % \graphicspath{{../pdf/}{../jpeg/}} 128.41 - % and their extensions so you won't have to specify these with 128.42 - % every instance of \includegraphics 128.43 - % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} 128.44 -%\else 128.45 - % or other class option (dvipsone, dvipdf, if not using dvips). graphicx 128.46 - % will default to the driver specified in the system graphics.cfg if no 128.47 - % driver is specified. 128.48 - % \usepackage[dvips]{graphicx} 128.49 - % declare the path(s) where your graphic files are 128.50 - % \graphicspath{{../eps/}} 128.51 - % and their extensions so you won't have to specify these with 128.52 - % every instance of \includegraphics 128.53 - % \DeclareGraphicsExtensions{.eps} 128.54 -%\fi 128.55 -% graphicx was written by David Carlisle and Sebastian Rahtz. It is 128.56 -% required if you want graphics, photos, etc. graphicx.sty is already 128.57 -% installed on most LaTeX systems. The latest version and documentation can 128.58 -% be obtained at: 128.59 -% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ 128.60 -% Another good source of documentation is "Using Imported Graphics in 128.61 -% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or 128.62 -% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ 128.63 -% 128.64 -% latex, and pdflatex in dvi mode, support graphics in encapsulated 128.65 -% postscript (.eps) format. pdflatex in pdf mode supports graphics 128.66 -% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure 128.67 -% that all non-photo figures use a vector format (.eps, .pdf, .mps) and 128.68 -% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats 128.69 -% which can result in "jaggedy"/blurry rendering of lines and letters as 128.70 -% well as large increases in file sizes. 128.71 -% 128.72 -% You can find documentation about the pdfTeX application at: 128.73 -% http://www.tug.org/applications/pdftex 128.74 - 128.75 - 128.76 - 128.77 - 128.78 - 128.79 -% *** MATH PACKAGES *** 128.80 -% 128.81 -%\usepackage[cmex10]{amsmath} 128.82 -% A popular package from the American Mathematical Society that provides 128.83 -% many useful and powerful commands for dealing with mathematics. If using 128.84 -% it, be sure to load this package with the cmex10 option to ensure that 128.85 -% only type 1 fonts will utilized at all point sizes. Without this option, 128.86 -% it is possible that some math symbols, particularly those within 128.87 -% footnotes, will be rendered in bitmap form which will result in a 128.88 -% document that can not be IEEE Xplore compliant! 128.89 -% 128.90 -% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 128.91 -% thus preventing page breaks from occurring within multiline equations. Use: 128.92 -%\interdisplaylinepenalty=2500 128.93 -% after loading amsmath to restore such page breaks as IEEEtran.cls normally 128.94 -% does. amsmath.sty is already installed on most LaTeX systems. The latest 128.95 -% version and documentation can be obtained at: 128.96 -% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ 128.97 - 128.98 - 128.99 - 128.100 - 128.101 - 128.102 -% *** SPECIALIZED LIST PACKAGES *** 128.103 -% 128.104 -%\usepackage{algorithmic} 128.105 -% algorithmic.sty was written by Peter Williams and Rogerio Brito. 128.106 -% This package provides an algorithmic environment fo describing algorithms. 128.107 -% You can use the algorithmic environment in-text or within a figure 128.108 -% environment to provide for a floating algorithm. Do NOT use the algorithm 128.109 -% floating environment provided by algorithm.sty (by the same authors) or 128.110 -% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated 128.111 -% algorithm float types and packages that provide these will not provide 128.112 -% correct IEEE style captions. The latest version and documentation of 128.113 -% algorithmic.sty can be obtained at: 128.114 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ 128.115 -% There is also a support site at: 128.116 -% http://algorithms.berlios.de/index.html 128.117 -% Also of interest may be the (relatively newer and more customizable) 128.118 -% algorithmicx.sty package by Szasz Janos: 128.119 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ 128.120 - 128.121 - 128.122 - 128.123 - 128.124 -% *** ALIGNMENT PACKAGES *** 128.125 -% 128.126 -%\usepackage{array} 128.127 -% Frank Mittelbach's and David Carlisle's array.sty patches and improves 128.128 -% the standard LaTeX2e array and tabular environments to provide better 128.129 -% appearance and additional user controls. As the default LaTeX2e table 128.130 -% generation code is lacking to the point of almost being broken with 128.131 -% respect to the quality of the end results, all users are strongly 128.132 -% advised to use an enhanced (at the very least that provided by array.sty) 128.133 -% set of table tools. array.sty is already installed on most systems. The 128.134 -% latest version and documentation can be obtained at: 128.135 -% http://www.ctan.org/tex-archive/macros/latex/required/tools/ 128.136 - 128.137 - 128.138 -%\usepackage{mdwmath} 128.139 -%\usepackage{mdwtab} 128.140 -% Also highly recommended is Mark Wooding's extremely powerful MDW tools, 128.141 -% especially mdwmath.sty and mdwtab.sty which are used to format equations 128.142 -% and tables, respectively. The MDWtools set is already installed on most 128.143 -% LaTeX systems. The lastest version and documentation is available at: 128.144 -% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ 128.145 - 128.146 - 128.147 -% IEEEtran contains the IEEEeqnarray family of commands that can be used to 128.148 -% generate multiline equations as well as matrices, tables, etc., of high 128.149 -% quality. 128.150 - 128.151 - 128.152 -%\usepackage{eqparbox} 128.153 -% Also of notable interest is Scott Pakin's eqparbox package for creating 128.154 -% (automatically sized) equal width boxes - aka "natural width parboxes". 128.155 -% Available at: 128.156 -% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ 128.157 - 128.158 - 128.159 - 128.160 - 128.161 - 128.162 -% *** SUBFIGURE PACKAGES *** 128.163 -%\usepackage[tight,footnotesize]{subfigure} 128.164 -% subfigure.sty was written by Steven Douglas Cochran. This package makes it 128.165 -% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE 128.166 -% work, it is a good idea to load it with the tight package option to reduce 128.167 -% the amount of white space around the subfigures. subfigure.sty is already 128.168 -% installed on most LaTeX systems. The latest version and documentation can 128.169 -% be obtained at: 128.170 -% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ 128.171 -% subfigure.sty has been superceeded by subfig.sty. 128.172 - 128.173 - 128.174 - 128.175 -%\usepackage[caption=false]{caption} 128.176 -%\usepackage[font=footnotesize]{subfig} 128.177 -% subfig.sty, also written by Steven Douglas Cochran, is the modern 128.178 -% replacement for subfigure.sty. However, subfig.sty requires and 128.179 -% automatically loads Axel Sommerfeldt's caption.sty which will override 128.180 -% IEEEtran.cls handling of captions and this will result in nonIEEE style 128.181 -% figure/table captions. To prevent this problem, be sure and preload 128.182 -% caption.sty with its "caption=false" package option. This is will preserve 128.183 -% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later 128.184 -% (recommended due to many improvements over 1.2) of subfig.sty supports 128.185 -% the caption=false option directly: 128.186 -%\usepackage[caption=false,font=footnotesize]{subfig} 128.187 -% 128.188 -% The latest version and documentation can be obtained at: 128.189 -% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ 128.190 -% The latest version and documentation of caption.sty can be obtained at: 128.191 -% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ 128.192 - 128.193 - 128.194 - 128.195 - 128.196 -% *** FLOAT PACKAGES *** 128.197 -% 128.198 -%\usepackage{fixltx2e} 128.199 -% fixltx2e, the successor to the earlier fix2col.sty, was written by 128.200 -% Frank Mittelbach and David Carlisle. This package corrects a few problems 128.201 -% in the LaTeX2e kernel, the most notable of which is that in current 128.202 -% LaTeX2e releases, the ordering of single and double column floats is not 128.203 -% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a 128.204 -% single column figure to be placed prior to an earlier double column 128.205 -% figure. The latest version and documentation can be found at: 128.206 -% http://www.ctan.org/tex-archive/macros/latex/base/ 128.207 - 128.208 - 128.209 - 128.210 -%\usepackage{stfloats} 128.211 -% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e 128.212 -% the ability to do double column floats at the bottom of the page as well 128.213 -% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in 128.214 -% LaTeX2e). It also provides a command: 128.215 -%\fnbelowfloat 128.216 -% to enable the placement of footnotes below bottom floats (the standard 128.217 -% LaTeX2e kernel puts them above bottom floats). This is an invasive package 128.218 -% which rewrites many portions of the LaTeX2e float routines. It may not work 128.219 -% with other packages that modify the LaTeX2e float routines. The latest 128.220 -% version and documentation can be obtained at: 128.221 -% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ 128.222 -% Documentation is contained in the stfloats.sty comments as well as in the 128.223 -% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE 128.224 -% does not allow \baselineskip to stretch. Authors submitting work to the 128.225 -% IEEE should note that IEEE rarely uses double column equations and 128.226 -% that authors should try to avoid such use. Do not be tempted to use the 128.227 -% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does 128.228 -% not format its papers in such ways. 128.229 - 128.230 - 128.231 - 128.232 - 128.233 - 128.234 -% *** PDF, URL AND HYPERLINK PACKAGES *** 128.235 -% 128.236 -%\usepackage{url} 128.237 -% url.sty was written by Donald Arseneau. It provides better support for 128.238 -% handling and breaking URLs. url.sty is already installed on most LaTeX 128.239 -% systems. The latest version can be obtained at: 128.240 -% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ 128.241 -% Read the url.sty source comments for usage information. Basically, 128.242 -% \url{my_url_here}. 128.243 - 128.244 - 128.245 - 128.246 - 128.247 - 128.248 -% *** Do not adjust lengths that control margins, column widths, etc. *** 128.249 -% *** Do not use packages that alter fonts (such as pslatex). *** 128.250 -% There should be no need to do such things with IEEEtran.cls V1.6 and later. 128.251 -% (Unless specifically asked to do so by the journal or conference you plan 128.252 -% to submit to, of course. ) 128.253 - 128.254 - 128.255 -% correct bad hyphenation here 128.256 -\hyphenation{op-tical net-works semi-conduc-tor} 128.257 - 128.258 - 128.259 -\begin{document} 128.260 - 128.261 -\bibliographystyle{plain} 128.262 -% 128.263 - 128.264 -\title{A Mutable Concurrency-Hardware Abstraction for Creating High Performance Multi-Core Aware Runtimes} 128.265 - 128.266 -\author{Sean Halle\inst{1,2,3} \and Albert Cohen\inst{1}} 128.267 -\institute{INRIA and \'Ecole Normale Sup\'erieure, France 128.268 - \and 128.269 - University of California at Santa Cruz, USA 128.270 - \and 128.271 - Technical University Berlin} 128.272 - 128.273 -\maketitle 128.274 -% 128.275 - 128.276 -\begin{abstract} 128.277 -The current renaissance in multi-core programming techniques and tools is generating new languages and concurrency constructs at a furious pace. This supports the belief held by many that Domain Specific Languages will satisfy the productivity goal for parallel programming. However, each of the new approaches and every domain specific language requires a runtime. Further, the runtime should be tuned to each flavor of multi-core hardware in order to get the lowest overhead. This represents non-trivial amounts of work, especially given the complexity of runtime internals, which have tricky concurrency issues. 128.278 - 128.279 -Regarding this, we present an improvement to the Virtualized Master-Slave abstraction, which has been demonstrated as one way to avoid such runtime implementation difficulties. VMS is a Mutable Concurrency-Hardware Abstraction used to quickly and easily create high performance runtime systems. It captures the difficult concurrency issues inside a reusable abstraction that exports a simple interface. Runtimes are created on top of this interface using only sequential reasoning, which greatly speeds implementation. The interface also modularizes the runtime and hides details of underlying concurrency hardware. 128.280 - 128.281 -We improved the interface by making it multi-core aware, and show how much it can reduce overhead. Over an array of platforms, runtimes that use our multi-core-aware interface have an average of X\% less overhead. Specifically, we show the improvement from splitting malloc-free across cores, and demonstrate split constructs such as pthread-style mutexes and condition variables, which now have X cycles of overhead, compared to X cycles previously. 128.282 -\end{abstract} 128.283 - 128.284 -\section{Motivation} 128.285 - 128.286 -\paragraph*{A partial solution.} 128.287 - 128.288 -\paragraph*{Contribution.} 128.289 - 128.290 -We show in this paper the definition and implementation of such a 128.291 -mutable hardware abstraction, albeit at user-level rather than in 128.292 -the kernel. The abstraction lets a language's runtime be implemented as 128.293 -a mutation, which we call a plugin. The plugin implements parallelism constructs and assignment of tasks to cores. 128.294 - 128.295 -We focus in this introductory paper on the definition of the 128.296 -abstraction and its support for parallelism constructs, postponing 128.297 -exploration of assignment of tasks onto cores and other performance 128.298 -optimizations to following papers. This paper defines multiple time-lines in a program, and a virtual timeline that globally orders events among them. It demonstrates three sets of parallelism constructs: synchronous \texttt{send}-\texttt{receive} 128.299 -motivated by process calculi; \texttt{spawn} and \texttt{sync} from 128.300 -Cilk {\cite{Fri98,CILKHome}}; and \texttt{mutex} and \texttt{condition 128.301 - variable} from pthreads. The assignment policy we implemented with 128.302 -them is simply first-come first-served. 128.303 - 128.304 -We call the abstraction Virtualized Master-Slave, or VMS. It 128.305 -exports facilities to create virtual processors and control how their timelines relate to each other, and relate to physical time. It also exports facilities to suspend a virtual processor and for an executable to interact with the plugin. The plugin embodies most of a language's runtime. A wrapper-library or keyword is what appears in application code, and is what triggers the runtime. 128.306 - 128.307 -\paragraph*{Organization of paper.} 128.308 - 128.309 -Section~\ref{secAbsModel} provide the original concepts and 128.310 -definitions of VMS. Section~\ref{secInternal} focuses on the 128.311 -implementation, describing the elements and how they interact, then 128.312 -relating them back to the theoretical definition. 128.313 -Section~\ref{secApp} takes the point of view of the application code, 128.314 -studying the usage and implementation of parallel language constructs 128.315 -as a VMS plugin. To wrap up, measurements of effectiveness appear in 128.316 -Section~\ref{secResults} and conclusions in 128.317 -Section~\ref{secConclusion}. 128.318 - 128.319 -\section{Background and Related Work} 128.320 - 128.321 -User-level thread packages and most parallel language runtimes have to 128.322 -side-step OS threads, by pinning one to each core, which effectively 128.323 -gives the user-level package control over the core. Our VMS 128.324 -implementation also does this. We are not claiming in this paper to 128.325 -have the OS level implementation of VMS that is possible -- but just 128.326 -the user-space version. 128.327 - 128.328 -\paragraph*{Related work.} 128.329 - 128.330 -The most primitive methods for establishing ordering among cores or distributed processors are atomic instructions and clock-synchronization techniques \cite{Lamport78,Christian89}. 128.331 - 128.332 -Meanwhile, the most closely related work is Scheduler Activations 128.333 -\cite{SchedActivations}, which also allows modifying concurrency 128.334 -constructs and controlling assignment of virtual processors onto 128.335 -cores. However it has no virtual time to guarantee globally consistent 128.336 -sequentialization, and no interface for plugins. 128.337 - 128.338 -BOM \cite{BOMinManticore}, which is used in Manticore to express 128.339 -scheduling policies and synchronization, also bears resemblances to 128.340 -VMS, but at a higher level of abstraction. BOM is a functional 128.341 -language, rather than a primitive abstraction meant to sit at the 128.342 -hardware-software boundary as VMS is. 128.343 - 128.344 -Coroutines is a high-performance means of switching between 128.345 -tasks. Coroutine scheduling and stack handling techniques were well 128.346 -suited to the user-space implementation of VMS. 128.347 - 128.348 -Other related work either provides an abstraction of the thread model, 128.349 -or is a full language with specific parallelism constructs. As a 128.350 -protypic example of user-level threads, Cilk {\cite{Fri98,CILKHome}} 128.351 -provides a simplified abstraction with an efficient scheduling and 128.352 -load balancing algorithm, but limited to fork-join concurrency. OpenMP 128.353 -{\cite{OpenMPHome}} is a typical example of a parallel extension of 128.354 -sequential languages; it allows creating tasks and controlling their 128.355 -execution order. We claim that both Cilk and OpenMP, as well as most 128.356 -thread abstractions or parallel languages may be implemented via 128.357 -plugins to VMS, with similar performance. 128.358 - 128.359 -VMS is unique in that it doesn't impose its own concurrency semantics as a programming model, but rather takes preferred ones as plugins. This 128.360 -makes it only a \emph{support} mechanism to 128.361 -implement language runtimes -- VMS is hidden from the application, underneath the language. Parallelism constructs may be implemented 128.362 -as VMS plugins, easily, quickly, and with high performance as 128.363 -indicated in Section~\ref{secResults}. 128.364 - 128.365 -This work presents a first incarnation of VMS. We plan 128.366 -to explore the embedding into VMS of a variety of parallel languages, 128.367 -with a special interest for coordination languages 128.368 -\cite{Gelernter85Linda,CnCInHotPar,CnCHome}. We will also explore 128.369 -VMS's compatibility with different concurrent semantics 128.370 -\cite{Kah74,hoare78,milner99,Hewitt10,Actors97}. One particularly 128.371 -important application would be to use VMS to facilitate the design and 128.372 -implementation of the emerging hybrid programming models, such as 128.373 -MPI+OpenMP, or OpenMP+OpenCL \cite{Car10,OpenCLHome}. 128.374 - 128.375 - 128.376 -\section{Abstract Definition of VMS} 128.377 -\label{secAbsModel} 128.378 - 128.379 -We start with an intuitive overview, then precise the definitions and 128.380 -properties in the following sub-sections. 128.381 - 128.382 -\paragraph*{Definitions:} 128.383 - 128.384 -1) We want to avoid the confusion associated with the various 128.385 -interpretations for the terms ``thread'' and ``task'' so will use 128.386 -the term \emph{Virtual Processor} (VP), which we define as state in 128.387 -combination with the ability to animate code or an additional level of 128.388 -virtual processors. The state consists of a program counter, a stack 128.389 -with its contents, a pointer to top of stack, and a pointer to the 128.390 -current stack frame. 2) A \emph{physical processor} executes 128.391 -a sequential stream of instructions. 128.392 -3) A program-timeline is the sequence of instructions animated by a 128.393 -Slave VP, which is in turn animated by a physical processor. 128.394 - 128.395 - 128.396 -\paragraph*{Intuitive Overview.} 128.397 - 128.398 -VMS can be understood via an analogy with atomic instructions, such as Compare and Swap (CAS). These are used to establish an ordering among the timelines of cores. They consist of two parts: 1) the semantics of what is done to the memory location, 2) a mechanism that establishes an ordering among the cores. For CAS, the semantics are: ``compare value in this register to value at the address, and if same, then put value in second register into the address.'' Multiple kinds of atomic instructions share the same order-establishing mechanism, they simply provide different semantics as a front-end. 128.399 - 128.400 - VMS can be viewed as virtualizing the order-establishing mechanism. It allows the semantics to be plugged-in to it. This breaks concurrency constructs into two parts: the VMS mechanism, which establishes an ordering between events in different timelines; and the plugin, which supplies the semantics. 128.401 - 128.402 - Below the interface, hardware mechanisms are employed to order specific points in one physical processor's timeline relative to specific points in another's timeline. Above the interface, a plugin provides the semantics that an application uses to invoke creation of the ordering. 128.403 - 128.404 -Together, VMS plus the plugin form a parallelism construct, by which an application controls how the time-lines of its virtual processors relate. Such constructs also guarantee relations of VP time-lines to hardware events. 128.405 - 128.406 -As an example, consider a program where one VP writes into a data structure then calls a \texttt{send} construct. Meanwhile, a 128.407 -different VP calls the \texttt{receive} construct then reads 128.408 -the data structure. The semantics of the \texttt{send} and \texttt{receive} constructs are that all data 128.409 -written before the \texttt{send} is readable in the other time-line 128.410 -after the \texttt{receive}. 128.411 - To implement these constructs, VMS provides the mechanism to enforce the ordering, and to include the writes and reads in that ordering. The plugin directs that mechanism to order the \texttt{send} event before the \texttt{receive} event. 128.412 -%% AC. Too early. 128.413 -% VMS provides a primitive guarantee that 128.414 -% plugin code builds upon to provide such higher-level guarantees. The 128.415 -% primitive guarantee is defined in Section~\ref{scTime}, after the 128.416 -% necessary vocabulary is established. 128.417 - 128.418 -\paragraph{What the VMS interface provides:} The interface provides primitive operations 128.419 -to create and suspend VPs; a way for plugins to control when and where 128.420 -each VP is (re)started; a way for application code to send requests to the plugin; and a way to order a specific point in one VP time-line relative to a specific point in another VP time-line. All implementations of the VMS interface provide these, whether it is on shared memory or distributed, with 128.421 -strong memory consistency or weak. 128.422 - 128.423 -\paragraph*{Specification in three parts.} 128.424 - 128.425 -We specify the observable behavior of a VMS system \emph{with plugins present}. Hence, 128.426 -the specified behaviors remain valid with any parallelism construct 128.427 -implementable with VMS. First we give the specification of a computation system that VMS is compatible with; then specify a notion of time and the key VMS guarantee; and lastly specify 128.428 -virtual processor scheduling states and transitions between them. 128.429 - 128.430 -%% AC. Too early, Master has not been defined. I renamed VMS-core into 128.431 -%% VMS afterwards, finding no ambiguity. 128.432 -% The Master mentioned in the definition is an abstract entity, with a 128.433 -% plugin present. In practice, this Master entity is implemented as part 128.434 -% of a core VMS, and plugins later added. This VMS-core is the hardware 128.435 -% abstraction. It hides the physical hardware behind an interface that 128.436 -% creates virtual processors and enforces well-defined time-behavior. 128.437 - 128.438 -\subsection{The Specifications for a VMS-compatible Computation System} 128.439 - 128.440 -\begin{itemize} 128.441 -\item An application creates multiple VPs, which are Slaves, each with an 128.442 - independent time-line. 128.443 -\item A schedule of Slaves is generated by a Master entity, from 128.444 - within a hidden time-line(s). 128.445 -\item A schedule is the set of physical locations and time-points at which Slaves are 128.446 - (re)animated. 128.447 -\item All semantic parallelism behavior is invoked by Slaves communicating 128.448 - with the Master. 128.449 -\item A Slave communicates with the Master by using a VMS primitive, 128.450 - which suspends the Slave. 128.451 -\end{itemize} 128.452 - 128.453 -\paragraph{Where we define:} 128.454 - Semantic Parallelism Behavior is the actions taken by a parallelism construct, which establishes an ordering among events in different Slave timelines. 128.455 - 128.456 - 128.457 -\paragraph{Discussion:} The key point is that 128.458 -\emph{scheduling is separated from the application code}. This is enforced by the schedule being generated in a time-line hidden from the application. The rest of the requirements are consequences of that separation. 128.459 - 128.460 -The Master entity appears as a single entity, to the slaves. However it may 128.461 -be implemented with multiple (hidden) timelines. This is the approach taken in our initial implementation, which has several Master VPs hidden inside the VMS 128.462 -implementation. 128.463 - 128.464 - 128.465 - 128.466 - 128.467 -%% AC. Calling memory a processing element only adds confusion. 128.468 -% {\bf Definitions:\ }VMS is intended only for hardware systems that 128.469 -% consist of processing elements connected by communication. We define 128.470 -% a memory-space to be a processing element, albeit without the ability 128.471 -% to transform data. 128.472 - 128.473 - 128.474 -\subsection{The Time-Related Specifications of VMS} 128.475 -\label{secTime} 128.476 - 128.477 -To prepare for the time-related specifications, we give an advance peek of the following section, 3.3. There, Slave VPs are specified to have three scheduling states: Animated, Blocked, and Ready. When a parallelism construct starts execution, the Slave transitions from Animated to Blocked. When it ends execution, the Slave transitions from Blocked to Ready. VMS provides a way to control the order of these state-transitions, which is equivalent to controlling the order of the parallelism-constructs. Controlling the state transitions is how the ordering among constructs in different timelines is established. 128.478 - 128.479 -With that background, here are time-related specifications for VMS: \begin{itemize} 128.480 -\item VMS provides a Virtual timeline that globally orders changes of scheduling state of Slave VPs. 128.481 -\item Ordering is created among construct-invocations by controlling the order of Blocked to Ready transitions in the Virtual timeline. 128.482 -\item 128.483 -Causally tied construct-invocations are tied-together inside the Master. \item VMS enforces ordering of \textit{observations} of physical events in Slave timelines to be consistent with the Virtual time ordering. 128.484 -\item Virtual time defines only ordering, but not spans, nor widths. 128.485 -\end{itemize} 128.486 - 128.487 -\paragraph{Discussion:} 128.488 -Most importantly here, Virtual time defines a global ordering among Slave state-transitions. To make this useful for parallelism, VMS must be implemented so that observations of physical events, like reads and writes to shared memory, are consistent with that ordering. 128.489 - 128.490 -The Virtual timeline plays the same role as the mechanism added to memory systems to support atomic instructions. All atomic instructions require hardware that establishes an ordering among the timelines of physical cores. That hardware sequentializes execution of atomic memory accesses to the same address. VMS virtualizes this mechanism. It provides the same ordering function. 128.491 - 128.492 -An important point is that the Virtual timeline is generated inside the Master. When a Slave uses the VMS primitive to send a parallelism-construct request, it suspends. However, that Slave doesn't actually transition state from Animated to Blocked until the Master \textit{acknowledges} the suspension. It is the acknowledgement that adds the Slave transition into the Virtual timeline. 128.493 - 128.494 -The essential value of VMS is using it to control the order of observing events. It has to be able to causally link the execution of a parallelism construct in one timeline to the execution of a construct in a different timeline. Establishing such a causal link is called \textit{tying together} two construct executions. 128.495 - It is specific executions from different timelines that are causally linked with such a tie. 128.496 -\paragraph*{The key VMS guarantee:} 128.497 - 128.498 -the order of observing physical events is consistent with the order of tied together parallelism constructs. 128.499 - 128.500 -To explain this, take as given: two Slaves both execute parallelism constructs, those are tied together by the Master, establishing a causal ordering from one to the other. So, one construct is the \textit{before}-construct, the other is the \textit{after}-construct. Now, the guarantee means that any events triggered before the before-construct, in its timeline, are guaranteed to be detected in the other timeline as also preceding the after-construct. In addition, events triggered after the after-construct are guaranteed not visible before the before-construct in its timeline. This two-part guarantee is the result of the above specifications of VMS's time-related behavior. 128.501 - 128.502 - 128.503 - 128.504 - 128.505 -\paragraph*{Definitions:} 128.506 - 128.507 -Some more definitions, to prepare for the next explanation. 1) An \textit{ordering-point} exists in a Slave VP's timeline as a zero-width event that can be tied to ordering points in other timelines. It is initiated by a Slave VP executing the suspend 128.508 -primitive, and ended by the Master transitioning the Slave back to Animated. 2) A trace-segment is a portion of a Slave VP's stream of instructions bounded by ordering-points. 128.509 - 128.510 -Hence, the timeline of a Slave is a sequence of trace-segments. Each 128.511 -trace-segment is animated by a single physical processor, but not 128.512 -necessarily the same as animated the Slave's other trace segments. 128.513 - 128.514 - 128.515 - 128.516 - 128.517 -\begin{figure}[ht] 128.518 - \includegraphics[width=3.5in]{../figures/Time_in_VMS_2.eps} 128.519 - \caption 128.520 - {Time Behaviors: \ Shows Ordering Point 1.1 being tied to Ordering Point 2.1. As a result, VMS guarantees that events triggered in Trace Segment 1.1 are seen as having taken place in the past in Trace Segment 2.2. Also shows that there is no common tied ordering point between segments 1.2 and 2.2, so VMS provides no guarantees about what order segment 2.2 sees events triggered in segment 1.2. 128.521 - } 128.522 -\label{figTimeMapping} 128.523 -\end{figure} 128.524 - 128.525 -\paragraph*{Relating time-lines to each other.} 128.526 - 128.527 -Figure \ref{figTimeMapping} shows two ordering points being tied together. A trace segment starts, at the same time an ordering-point ends, by its Slave transitioning to Animated. Because the transition to Animated exists as a point in Virtual time, the start of a trace-segment has a well-defined position within Virtual time. Likewise, a trace-segment is ended by its Slave executing the suspend primitive of VMS. Although this does not have a well-defined point in Virtual time, every execution of suspend is acknowledged by the Master, which transitions the Slave to Blocked. That transition does have a well-defined position in Virtual time. Hence, the end of every trace-segment is associated with a well-defined position in Virtual time. 128.528 - 128.529 -As a result, trace segments can be ordered relative to each other, by checking their start and end points in Virtual time. If they have no overlap in virtual time then they have a total ordering. However, if any portion of them overlaps in Virtual time, then they are considered concurrent trace-segments, and their Slaves are considered to be executing in parallel between those points of Virtual time. 128.530 - 128.531 -Note that this is conservative because it doesn't take into account the physical wait time between a Slave suspending and the Master acknowledging. The Slave may stop executing at a physical time-point that would map onto an earlier point in Virtual time. In some cases, ending the Slave's trace-segment at the earlier point would eliminate the overlap with a particular other trace-segment. But VMS's set of specifications doesn't allow such mapping of suspend-execution onto Virtual time (for implementation-related reasons, which require downloading the code and gaining experience with it, to establish a common language, for an explanation to be understood). 128.532 - 128.533 - 128.534 - 128.535 -A subtlety is that events triggered 128.536 -before one tied ordering-point, {\em{might}} be visible in the other timeline before the other tied ordering-point. In the figure, segment 2.1 might be able to see events from segment 1.1 if it looked. The VMS guarantee doesn't cover overlapped trace-segments. Physical events triggered before are only guaranteed visible 128.537 -{\em{after}} the tie point, and events after are only guaranteed 128.538 -{\em{not}} visible {\em{before}} the tie point. 128.539 - 128.540 -We call this bounded non-determinism, because events within overlapped trace-segments have non-deterministic ordering, but the region of non-determinism can be bounded by tied ordering-points. This allows a program to specify non-determinism, but control the region of non-deterministic behavior. For example, a reduction construct could be created that non-deterministically assigns portions of the reduction work to overlapped Slave segments. It would tie together ordering points from all the Slaves that mark the end of reduction. Hence, the outcome is deterministic, but the path to get there is not. 128.541 - 128.542 -\paragraph*{Sequential algorithms for parallel constructs.} 128.543 -The globally-consistent sequential order in Virtual time enables one 128.544 -of VMS's main benefits: sequential algorithms for parallel constructs. 128.545 -An implementation to 128.546 -tie ordering points together equals an implementation of parallel constructs. A plugin has an ordering of state transitions available, and chooses from those. Sequential algorithms rely on an ordering existing, while concurrent algorithms must include operations that establish an ordering. Plugins have Virtual time ordering available, so they can use sequential algorithms. 128.547 -\subsection{Specification of Scheduling State} 128.548 - 128.549 -Scheduling state is used in VMS to organize internal activity, for 128.550 -enforcing the guarantees. 128.551 - 128.552 -\begin{itemize} 128.553 -\item VPs have three scheduling states: {\em{Animated}}, 128.554 - {\em{Blocked}}, {\em{Ready}}; see Figure~\ref{figStates}. 128.555 -\item VPs in Animated are {\em{allowed}} to advance Program time with 128.556 - (core-local) physical time. 128.557 -\item VPs in Blocked and Ready do not advance their Program time. 128.558 -\item Animated has two physical states: {\em{Progressing}} and 128.559 - {\em{Stalled}}. 128.560 -\item VPs in Progressing advance Program time with (core-local) 128.561 - physical time, those in Stalled do not (allowing non-semantic 128.562 - suspend for hardware interrupts). 128.563 -\item Scheduling states are defined in Virtual time only. 128.564 -\item Progressing and Stalled are defined in (core-local) physical 128.565 - time only; the distinction is invisible in Virtual time. 128.566 -\end{itemize} 128.567 - 128.568 -\begin{figure}[h!tb] 128.569 -\begin{minipage}{.55\textwidth} 128.570 - \includegraphics[width=\textwidth]{../figures/Scheduling_states_2.eps} 128.571 - \caption{Scheduling states of a slave VP in the VMS model. Animated, Blocked, and Ready are only defined in Virtual Time and only visible in the Master. Progressing and Stalled are only visible in physical-processor local time, not visible in Virtual time.} 128.572 - \label{figStates} 128.573 -\end{minipage} 128.574 -\hfill 128.575 -\begin{minipage}{.43\textwidth} 128.576 - \includegraphics[width=\textwidth]{../figures/VMS-core__plugins.eps} 128.577 - \caption 128.578 - { 128.579 - The Master, split into a generic core and a language-specific plugin. 128.580 - The core encapsulates the hardware and remains the same across applications. 128.581 - The plugin implements the semantics of the parallelism-constructs. 128.582 - } 128.583 - \label{figMasterSplit} 128.584 -\end{minipage} 128.585 -\end{figure} 128.586 - 128.587 - 128.588 -Some important points: (1) only VPs Animated can trigger physical 128.589 -events that are seen in other program time-lines; (2) the distinction 128.590 -between Blocked vs Stalled is that a Slave has to explicitly execute a 128.591 -VMS primitive operation to enter Blocked. In contrast, Stalled happens 128.592 -invisibly, with no effect on semantic behavior. It is due to hardware 128.593 -events hidden inside VMS, such as interrupts. 128.594 - 128.595 -The Ready state is used to separate the parallelism-construct behavior 128.596 -from the scheduling behavior. It acts as a ``staging area'' for 128.597 -scheduling. VPs placed into this state are {\em{ready}} to be 128.598 -animated, but the scheduler decides when and where. 128.599 - 128.600 -An interesting point is that in VMS, the causal tie between timelines is created by actions {\em{outside}} program timelines. In contrast, memory-based lock algorithms place the concurrency-related behavior {\em{inside}} program 128.601 -timelines. 128.602 - 128.603 -\paragraph*{Transition Between Slave Scheduling States.} 128.604 - 128.605 -\begin{itemize} 128.606 -\item VPs transition states as shown in Figure \ref{figStates}. 128.607 -\item Animated$\rightarrow$Blocked is requested by a Slave executing suspend, but takes place in Virtual time at the point the Master acknowledges that request. 128.608 -\item Blocked$\rightarrow$Ready is determined by the semantics 128.609 - implemented in the plugin. 128.610 -\item Ready$\rightarrow$Animated is determined by the scheduler in the 128.611 - plugin. 128.612 -\item Transitions in scheduling state have a globally consistent order 128.613 - in Virtual time. 128.614 -\end{itemize} 128.615 - 128.616 -The parallelism primitives executed by a program do not directly control change 128.617 -in scheduling states. Rather they communicate messages to the Master, 128.618 -via a VMS supplied primitive. If it suspended when sending the request, then the act of the Master acknowledging the request places the Animated$\rightarrow$Blocked transition into Virtual time. Inside the Master, the plugin then processes the message. Based on contents, it performs changes in state from Blocked$\rightarrow$Ready, 128.619 -creates new VPs, and dissipates existing VPs. Most communication from 128.620 -Slave to Master requires the Slave to suspend when it sends the 128.621 -message. A few messages, like creating new Slave may be sent without 128.622 -suspending. 128.623 - 128.624 -The suspend primitive decouples local physical time from Virtual time. 128.625 -Execution causes immediate transition to Stalled in physical time, 128.626 -later the Master performs Animated$\rightarrow$Blocked, fixing that 128.627 -transition in Virtual time. The only relationship is causality. This 128.628 -weak relation is what allows suspension-points to be serialized in 128.629 -Virtual time, which in turn is what allows using sequential algorithms 128.630 -to implement parallelism constructs. 128.631 - 128.632 -\subsection{Plugins} 128.633 - 128.634 -The Master entity has two parts, a generic core part and a plugin 128.635 -(Figure \ref{figMasterSplit}). The core part of the Master is 128.636 -implemented as part of VMS itself. The plugin supplies two functions: 128.637 -the communication-handler and the scheduler, both having a standard 128.638 -prototype. The communication-handler implements the parallelism 128.639 -constructs, while scheduler assigns VPs to cores. 128.640 - 128.641 -An \emph{instance} of a plugin is created as part of initializing an 128.642 -application, and the instance holds the semantic and scheduling state 128.643 -for that run of the application. This state, combined with the virtual 128.644 -processor states of the slaves created during that application run, 128.645 -represents progress of the work of the application. For example, 128.646 -multi-tasking is performed simply by the Master switching among 128.647 -plugin instances when it has a resource to offer to a scheduler. The 128.648 -parallelism-semantic state holds all information needed to resume 128.649 -(hardware state, such as TLB and cache-tags is inside VMS). 128.650 - 128.651 -\section{Internal Workings of Our Implementation} 128.652 -\label{secInternal} 128.653 - 128.654 -For our example implementation, we name the elements and describe their 128.655 -logical function, then relate those to the abstract model. We then step 128.656 -through the operation of the elements. 128.657 - 128.658 -\paragraph*{Elements and their logical function.} 128.659 - 128.660 -As illustrated in Figure~\ref{figInternals}, our VMS implementation is 128.661 -organized around physical cores. Each core has its own {\em{master 128.662 - virtual-processor}}, \texttt{masterVP}, and a {\em{physical-core 128.663 - controller}}, which communicate via a set of scheduling slots, 128.664 -\texttt{schedSlot}. The Master in the abstract definition is 128.665 -implemented by the multiple \texttt{masterVP}s plus a particular 128.666 -plugin instance with its shared parallelism-semantic state (seen at 128.667 -the top). 128.668 - 128.669 -On a given core, only one of: the core-controller, \texttt{masterVP}, 128.670 -or a slave VP, is animated at any point in local physical time. Each 128.671 -\texttt{masterVP} animates the same function, called 128.672 -\texttt{master\_loop}, and each slave VP animates a function from the 128.673 -application, starting with the top-level function the slave is created 128.674 -with, and following its call sequence. The core controller is 128.675 -implemented here as a Linux pthread that runs the \texttt{core\_loop} 128.676 -function. 128.677 - 128.678 -Switching between VPs is done by executing a VMS primitive that 128.679 -suspends the VP. This switches the physical core over to the 128.680 -controller, by jumping to the start of the \texttt{core\_loop} 128.681 -function, which chooses the next VP and switches to that (switching is 128.682 -detailed in Section \ref{secApp} Figure \ref{figAssembly}). 128.683 - 128.684 -\paragraph*{Relation to abstract model.} 128.685 - 128.686 -We chose to implement the Master entity of the model by a set of 128.687 -\texttt{masterVP}s, plus plugin functions and shared 128.688 -parallelism-semantic state. VMS consists of this implementation of the 128.689 -Master, plus the core-controllers, plus the VMS primitive libraries, 128.690 -for creating new VPs and dissipating existing VPs, suspending VPs, and 128.691 -communicating from slave VP to Master. In Figure~\ref{figInternals}, 128.692 -everything in green is part of VMS, while the plugin is in red, and 128.693 -application code appears as blue, inside the slave VP. 128.694 - 128.695 -Virtual time in the model is implemented via a combination of four 128.696 -things: a \texttt{masterLock} (not shown) that guarantees non-overlap 128.697 -of \texttt{masterVP} trace-segments; the \texttt{master\_loop} which 128.698 -performs transition Animated$\rightarrow$Blocked; the 128.699 -\texttt{comm\_handler\_fn} which performs Blocked$\rightarrow$Ready 128.700 -and the \texttt{scheduler\_fn} which performs 128.701 -Ready$\rightarrow$Animated. \ Each state transition is one step of 128.702 -Virtual time; is guaranteed sequential by the non-overlap of 128.703 -\texttt{masterVP} trace segments; and is global due to being in 128.704 -parallelism-semantic state that is shared (top of 128.705 -Figure~\ref{figInternals}). 128.706 - 128.707 -Transitions Progressing$\rightleftarrows$Stalled within the Animated 128.708 -state are invisible to the parallelism semantics, the Master, and 128.709 -Virtual time, and so have no effect on the elements seen. 128.710 - 128.711 -\begin{figure*}[h!tb] 128.712 - \centerline{\includegraphics[width=5in]{../figures/VMS-core__internal_workings.eps}} 128.713 - \caption 128.714 - { Internal elements of our example VMS implementation 128.715 - } 128.716 - \label{figInternals} 128.717 -\end{figure*} 128.718 - 128.719 -\paragraph*{Steps of operation.} 128.720 - 128.721 -The steps of operation are numbered, in Figure \ref{figInternals}. 128.722 -Taking them in order: 128.723 - 128.724 -\begin{enumerate} 128.725 -\item \texttt{master\_loop} scans the scheduling slots to see which 128.726 - ones' slaves have suspended since the previous scan. 128.727 -\item It hands these to the \texttt{comm\_handler\_fn} plugged in 128.728 -(which equals transition Animated$\rightarrow$Blocked). 128.729 -\item The VP has a request attached, and data in it causes the 128.730 - \texttt{comm\_handler\_fn} to manipulate data structures in the 128.731 - shared parallelism-semantic state. These structures hold all the 128.732 - slaves in the blocked state (code-level detail and example will 128.733 - come in Figure~\ref{figReqHdlr}, Section~\ref{secApp}). 128.734 -\item Some requests cause slaves to be moved to a \texttt{readyQ} on 128.735 - one of the cores (Blocked$\rightarrow$Ready). Which core's 128.736 - \texttt{readyQ} receives the slave is under plugin control, 128.737 - determined by a combination of request contents, semantic state and 128.738 - physical machine state. 128.739 -\item During the scan, the \texttt{master\_loop} also looks for empty 128.740 - slots, and for each calls the \texttt{scheduler\_fn} plugged in. It 128.741 - chooses a slave from the \texttt{readyQ} on the core animating 128.742 - \texttt{master\_loop}. 128.743 -\item The \texttt{master\_loop} then places the slave VP's pointer 128.744 - into the scheduling slot (Ready$\rightarrow$Animated), making it 128.745 - available to the \texttt{core\_loop}. 128.746 -\item When done with the scan, \texttt{masterVP} suspends, switching 128.747 - animation back to the \texttt{core\_loop}. 128.748 -\item \texttt{core\_loop} takes slave VPs out of the slots. 128.749 -\item Then \texttt{core\_loop} switches animation to these slave VPs. 128.750 -\item When a slave self-suspends, animation returns to the 128.751 - \texttt{core\_loop} (detail in code in Figure 9), which picks 128.752 - another. 128.753 -\item Until all slots are empty and the \texttt{core\_loop} switches 128.754 - animation to the \texttt{masterVP}. 128.755 -\end{enumerate} 128.756 - 128.757 -\paragraph*{Enabling sequential implementation of parallelism semantics.} 128.758 - 128.759 -All these steps happen on each core separately, but 128.760 -%% AC. Cannot be both an essential property of VMS and "un this particular..." 128.761 -% in this particular implementation 128.762 -we use a central \texttt{masterLock} to ensure that 128.763 -only one core's \texttt{masterVP} can be active at any time. This 128.764 -guarantees non-overlap of trace-segments from different 128.765 -\texttt{masterVP}s, allowing the plugins to use sequential algorithms, 128.766 -without a performance penalty, as verified in 128.767 -Section~\ref{secResults}. 128.768 - 128.769 -Relating this to the abstract model: the parallelism-semantic behavior 128.770 -of the Master is implemented by the communication handler, in the 128.771 -plugin. It thus runs in the Master time referred to, in the model, in 128.772 -Section \ref{secAbsModel}. Requests are sent to the Master by 128.773 -self-suspension of the slaves, but sit idle until the other slaves in 128.774 -the scheduling slots have also run. This is the passive behavior of 128.775 -requests that was noted in Section~\ref{secAbsModel}, which allows the 128.776 -\texttt{masterVP}s to remain suspended until needed. This in turn 128.777 -enables the \texttt{masterVP}s from different cores to be 128.778 -non-overlapped. It is the non-overlap that enables the algorithms for 128.779 -the parallelism semantics to be sequential. 128.780 - 128.781 -\section{Code Example} 128.782 -\label{secApp} 128.783 - 128.784 -To relate the abstract model and the internal elements to application 128.785 -code and parallelism-library code, we give code snippets that 128.786 -illustrate key features. We start with the application then work down 128.787 -through the sequence of calls, to the plugin, using our SSR 128.788 -{\cite{VMSHome}} parallelism-library as an example. 128.789 - 128.790 -In general, applications are either written in terms of a parallel 128.791 -language that has its own syntax, or a base language with a 128.792 -parallelism library, which is often called an {\em{embedded 128.793 - language}}. Our demonstrators, VCilk {\cite{VMSHome}}, Vthread, 128.794 -and SSR, are all parallelism libraries. A parallel language would 128.795 -follow the standard practice of performing source-to-source transform, 128.796 -from custom syntax into C plus parallelism-library calls. 128.797 - 128.798 -\paragraph*{SSR.} 128.799 - 128.800 -SSR stands for Synchronous Send-Receive, and details of its calls and 128.801 -internal implementation will be given throughout this section. It has 128.802 -two types of construct. The first, called {\em{from-to}} has two 128.803 -calls: \texttt{SSR\_send\_from\_to} and 128.804 -\texttt{SSR\_receive\_from\_to}, both of which specify the sending VP 128.805 -as well as the receiving VP. \ The other, called {\em{of-type}} also 128.806 -has two calls: \texttt{SSR\_\_send\_of\_type\_to} and 128.807 -\texttt{SSR\_\_receive\_of\_type}, which allow a receiver to accept 128.808 -from anonymous senders, but select according to type of message. 128.809 - 128.810 -% An example of a double column floating figure using two subfigures. 128.811 -% (The subfig.sty package must be loaded for this to work.) 128.812 -% The subfigure \label commands are set within each subfloat command, the 128.813 -% \label for the overall figure must come after \caption. 128.814 -% \hfil must be used as a separator to get equal spacing. 128.815 -% The subfigure.sty package works much the same way, except \subfigure is 128.816 -% used instead of \subfloat. 128.817 -% 128.818 -%\begin{figure*}[!t] 128.819 -%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% 128.820 -%\label{fig_first_case}} 128.821 -%\hfil 128.822 -%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% 128.823 -%\label{fig_second_case}}} 128.824 -%\caption{Simulation results} 128.825 -%\label{fig_sim} 128.826 -%\end{figure*} 128.827 -% 128.828 -% Note that often IEEE papers with subfigures do not employ subfigure 128.829 -% captions (using the optional argument to \subfloat), but instead will 128.830 -% reference/describe all of them (a), (b), etc., within the main caption. 128.831 - 128.832 -\paragraph*{Application view.} 128.833 - 128.834 -Figure~\ref{figAnimVP} shows snippets of application code, which use 128.835 -the SSR parallelism library. The most important feature is that all 128.836 -calls take a pointer to the VP that is animating the call. This is 128.837 -seen at the top of the figure where slave VP creation takes a pointer 128.838 -to the VP asking for creation. Below that is the standard prototype 128.839 -for top level functions, showing that the function receives a pointer 128.840 -to the VP it is the top level function for. 128.841 - 128.842 -The pointer is placed on the stack by VMS when it creates the VP, and 128.843 -is the means by which the application comes into possession of the 128.844 -pointer. This animating VP is passed to all library calls made from 128.845 -there. For example, the bottom shows a pointer to the animating VP 128.846 -placed in the position of sender in the \texttt{send} construct call. 128.847 -Correspondingly, for the \texttt{receive} construct, the position of 128.848 -receiving VP is filled by the VP animating the call. 128.849 - 128.850 -\begin{figure}[h!tb] 128.851 -{\noindent 128.852 -{\footnotesize 128.853 -{\small Creating a new processor:} 128.854 -\begin{verbatim} 128.855 -newProcessor = SSR__create_procr( &top_VP_fn, paramsPtr, animatingVP ); 128.856 -\end{verbatim} 128.857 - 128.858 -{\small prototype for the top level function:} 128.859 -\begin{verbatim} 128.860 -top_VP_fn( void *parameterStrucPtr, VirtProcr *animatingVP ); 128.861 -\end{verbatim} 128.862 - 128.863 -{\small handing animating VP to parallelism constructs:} 128.864 -\begin{verbatim} 128.865 -SSR__send_from_to( messagePtr, animatingVP, receivingVP ); 128.866 -messagePtr = SSR__receive_from_to( sendingVP, animatingVP ); 128.867 -\end{verbatim} 128.868 -} 128.869 -} 128.870 -\caption 128.871 -{Application code snippets showing that all calls to the parallelism library 128.872 -take the VP animating that call as a parameter. 128.873 -} 128.874 -\label{figAnimVP} 128.875 -\end{figure} 128.876 - 128.877 -Relating these to the internal elements of our implementation, the 128.878 -\texttt{animatingVP} suspends inside each of these calls, passing a 128.879 -request (generated in the library) to one of the \texttt{masterVP}s. 128.880 -The \texttt{masterVP} then calls the \texttt{comm-handler} plugin, and 128.881 -so on, as described in Section \ref{secInternal}. 128.882 - 128.883 -For the \texttt{SSR\_\_create\_processor} call, the comm-handler in 128.884 -turn calls a VMS primitive to perform the creation. The primitive 128.885 -places a pointer to the newly created VP onto its stack, so that when 128.886 -\texttt{top\_VP\_fn} is later animated, it sees the VP-pointer as a 128.887 -parameter passed to it. \ All application code is either such a 128.888 -top-level function, or has one at the root of the call-stack. 128.889 - 128.890 -The send and receive calls both suspend their animating VP. When both 128.891 -have been called, the communication handler pairs them up and resumes 128.892 -both. This ties time-lines together, invoking the VMS guarantee. Both 128.893 -application-functions know, because of the VMS guarantee 128.894 -(Section~\ref{secAbsModel}), that writes to shared variables made 128.895 -before the send call by the sender are visible to the receiver after 128.896 -the receive call. This is the programmer's view of tying together the 128.897 -local time-lines of two different VPs, as defined in 128.898 -Section~\ref{secAbsModel}. 128.899 - 128.900 -\paragraph*{Concurrency-library view.} 128.901 - 128.902 -A parallelism library is a wrapper. Each call, in general, only creates a request, 128.903 -sends it, and returns, as seen below. To send a request, it uses the 128.904 -combined request-and-suspend VMS primitive that attaches the request 128.905 -then suspends the VP. The primitive requires the pointer to the VP, 128.906 -to attach the request and to suspend it. 128.907 - 128.908 -In Figure~\ref{figImplLib}, notice that the request's data is on the 128.909 -stack of the virtual processor that's animating the call, which is the 128.910 -\texttt{receiveVP}. The \texttt{VMS\_\_send\_sem\_request} suspends 128.911 -this VP, which changes the physical core's stack pointer to a 128.912 -different stack. So the request data is guaranteed to remain 128.913 -undisturbed while the VP is suspended. 128.914 - 128.915 -Figure~\ref{figAssembly} shows the implementation of the VMS suspend 128.916 -primitive. As seen in Figure \ref{figInternals}, suspending the 128.917 -\texttt{receiveVP} involves switching to the \texttt{core\_loop}. In 128.918 -our implementation, this is done by switching to the stack of the 128.919 -pthread pinned to the physical core and then jumping to the 128.920 -start-point of \texttt{core\_loop}. 128.921 - 128.922 -This code uses standard techniques commonly employed in co-routine 128.923 -implementations. Tuning effort spent in \texttt{core\_loop} is 128.924 -inherited by all applications. 128.925 - 128.926 -\begin{figure}[h!tb] 128.927 -{\noindent 128.928 -{\footnotesize 128.929 -\begin{verbatim} 128.930 -void * SSR__receive_from_to( VirtProcr *sendVP, VirtProcr *receiveVP ) 128.931 - { SSRSemReq reqData; 128.932 - reqData.receiveVP = receiveVP; 128.933 - reqData.sendVP = sendVP; 128.934 - reqData.reqType = receive_from_to; 128.935 - VMS__send_sem_request( &reqData, receiveVP ); 128.936 - return receiveVP->dataReturnedFromRequest; 128.937 - } 128.938 -\end{verbatim} 128.939 -} 128.940 -} 128.941 -\caption{Implementation of SSR's receive\_from\_to library function.} 128.942 -\label{figImplLib} 128.943 - 128.944 -{\noindent 128.945 -{\footnotesize 128.946 -\begin{verbatim} 128.947 -VMS__suspend_procr( VirtProcr *animatingVP ) 128.948 - { animatingVP->resumeInstrAddr = &&ResumePt; //GCC takes addr of label 128.949 - animatingVP->schedSlotAssignedTo->isNewlySuspended = TRUE; //for master_loop to see 128.950 - <assembly code stores current physical core's stack reg into animatingVP struct> 128.951 - <assembly code loads stack reg with core_loop stackPtr, which was saved into animatingVP> 128.952 - <assembly code jmps to core_loop start instr addr, which was also saved into animatingVP> 128.953 - ResumePt: 128.954 - return; 128.955 - } 128.956 -\end{verbatim} 128.957 -} 128.958 -} 128.959 - \caption 128.960 -{Implementation of VMS suspend processor. 128.961 -Re-animating the virtual processor reverses this sequence. \ It saves the 128.962 -\texttt{core\_loop}'s resume instr-addr and stack ptr into the VP structure, 128.963 -then loads the VP's stack ptr and jmps to its \texttt{resumeInstrAddr}. 128.964 -} 128.965 -\label{figAssembly} 128.966 - 128.967 -{\noindent 128.968 -{\footnotesize 128.969 -\begin{verbatim} 128.970 -handle_receive_from_to( VirtProcr *requestingVP, SSRSemReq *reqData, SSRSemEnv *semEnv ) 128.971 - { commHashTbl = semEnv->communicatingVPHashTable; 128.972 - key[0] = reqData->receiveVP; key[1] = reqData->sendVP; //send uses same key 128.973 - waitingReqData = lookup_and_remove( key, commHashTbl ); //get waiting request 128.974 - if( waitingReqData != NULL ) 128.975 - { resume_virt_procr( waitingReqData->sendVP ); 128.976 - resume_virt_procr( waitingReqData->receiveVP ); 128.977 - } 128.978 - else 128.979 - insert( key, reqData, commHashTbl ); //receive is first to arrive, make it wait 128.980 - } 128.981 -\end{verbatim} 128.982 -} 128.983 -} 128.984 - \caption 128.985 -{Pseudo-code of communication-handler for 128.986 -\texttt{receive\_from\_to} request type. The \texttt{semEnv} is a pointer 128.987 -to the shared parallel semantic state seen at the top of 128.988 -Figure~\ref{figInternals}. 128.989 -} 128.990 -\label{figReqHdlr} 128.991 -\end{figure} 128.992 - 128.993 -\paragraph*{Plugin view.} 128.994 - 128.995 -SSR's communication handler dispatches on the \texttt{reqType} field 128.996 -of the request data, as set by the \texttt{SSR\_\_receive\_from\_to} 128.997 -code. It calls the handler code in Figure \ref{figReqHdlr}. This 128.998 -constructs a hash-key, by concatenating the from-VP's pointer with the 128.999 -to-VP's pointer. Then it looks-up that key in the hash-table that SSR 128.1000 -uses to match sends with receives, which is in the shared semantic 128.1001 -state seen at the top of Figure \ref{figInternals} in 128.1002 -Section~\ref{secInternal}. 128.1003 - 128.1004 -The most important feature in Figure~\ref{figReqHdlr} is that both 128.1005 -send and receive will construct the same key, so will find the same 128.1006 -hash entry. Whichever request is handled first in Virtual time will 128.1007 -see the hash entry empty, and save itself in that entry. The second 128.1008 -to arrive sees the waiting request and then resumes both VPs, by 128.1009 -putting them into their \texttt{readyQ}s. 128.1010 - 128.1011 -Access to the shared hash table can be considered private, as in a 128.1012 -sequential algorithm. This is because our VMS-core implementation 128.1013 -ensures that only one handler on one core is executing at a time. 128.1014 - 128.1015 -\section{Results} 128.1016 -\label{secResults} 128.1017 - 128.1018 -We implemented blocked dense matrix multiplication with right 128.1019 -sub-matrices copied to transposed form, and ran it on a 4-core 128.1020 -Core2Quad 2.4Ghz processor. 128.1021 - 128.1022 -\paragraph*{Implementation-time.} 128.1023 - 128.1024 -As shown in Table~\ref{tabPersonDaysLang}, time to implement the three 128.1025 -parallel libraries averages 2 days each. As an example of 128.1026 -productivity, adding nested transactions, parallel singleton, and 128.1027 -atomic function-execution to SSR required a single afternoon, totaling 128.1028 -less than 100 lines of C code. 128.1029 - 128.1030 -\paragraph*{Execution Performance.} 128.1031 - 128.1032 -Performance of VMS is seen in Table~\ref{tabOverheadCycles}. The code 128.1033 -is not optimized, but rather written to be easy to understand and 128.1034 -modify. The majority of the plugin time is lost to cache misses 128.1035 -because the shared parallelism-semantic state moves between cores on a 128.1036 -majority of accesses. Acquisition of the master lock is slow due to 128.1037 -the hardware implementing the CAS instruction. 128.1038 - 128.1039 -Existing techniques will likely improve performance, such as 128.1040 -localizing semantic data to cores, splitting malloc across the cores, 128.1041 -pre-allocating slabs that are recycled, and pre-fetching. However, in 128.1042 -many cases, several hundred nano-seconds per task is as optimal as the 128.1043 -applications can benefit from. 128.1044 - 128.1045 -\begin{table}[h!tb] 128.1046 -\begin{minipage}{.35\textwidth} 128.1047 -\begin{tabular}{|l|l|l|l|} 128.1048 - \cline{2-4} 128.1049 - \multicolumn{1}{l|}{} & SSR & Vthread & VCilk\\ 128.1050 - \cline{2-4} 128.1051 - \noalign{\vskip2pt} 128.1052 - \hline 128.1053 - Design & 4 & 1 & 0.5\\ 128.1054 - Code & 2 & 0.5 & 0.5\\ 128.1055 - Test & 1 & 0.5 & 0.5\\ 128.1056 - L.O.C. & 470 & 290 & 310\\ 128.1057 - \hline 128.1058 -\end{tabular} 128.1059 -\caption 128.1060 -{Person-days to design, code, and 128.1061 - test each parallelism library. L.O.C. is lines of (original) C code, 128.1062 - excluding libraries and comments. 128.1063 -} 128.1064 -\label{tabPersonDaysLang} 128.1065 -\end{minipage} 128.1066 -\hspace{-.05\textwidth} 128.1067 -\begin{minipage}[t]{.7\textwidth} 128.1068 -\hfill 128.1069 -\begin{tabular}{|l|l|r|r|} 128.1070 -\cline{3-4} 128.1071 -\multicolumn{2}{l|}{} & comp only & comp + mem\\ 128.1072 -\cline{3-4} 128.1073 -\noalign{\vskip2pt} 128.1074 -\hline 128.1075 -VMS Only & \texttt{master\_loop} & 91 & 110\\ 128.1076 -& switch VPs & 77 & 130\\ 128.1077 -& (malloc) & 160 & 2300\\ 128.1078 -& (create VP) & 540 & 3800\\ 128.1079 -\hline 128.1080 -Language: & & & \\ 128.1081 -\quad SSR & plugin -- concur & 190 & 540\\ 128.1082 -& plugin -- all & 530 & 2200\\ 128.1083 -& lock & & 250\\ 128.1084 -\quad Vthread & plugin -- concur & 66 & 710\\ 128.1085 -& plugin -- all & 180 & 1500\\ 128.1086 -& lock & & 250\\ 128.1087 -\quad VCilk & plugin -- concur & 65 & 260\\ 128.1088 -& plugin -- all & 330 & 1800\\ 128.1089 -& lock & & 250\\ 128.1090 -\hline 128.1091 -\end{tabular} 128.1092 -\caption 128.1093 -{Cycles of overhead, per scheduled 128.1094 - slave. ``comp only'' is perfect memory, ``comp + mem'' is actual cycles. 128.1095 - ``Plugin-concur'' only concurrency requests, ``plugin-all'' includes 128.1096 - create and malloc requests. Two significant digits due to variability. 128.1097 -} 128.1098 -\label{tabOverheadCycles} 128.1099 -\end{minipage} 128.1100 - 128.1101 -\vskip-1.5cm 128.1102 -\begin{tabular}{|l|lr|} 128.1103 -\hline 128.1104 - Matrix size&Lang.&sec.\\ 128.1105 -[2pt]\hline 128.1106 - $81\times81$ & Cilk & 0.017\\ 128.1107 - & VCilk & 0.008\\ 128.1108 -\hline 128.1109 - $324\times324$ & Cilk & 0.13\\ 128.1110 - & VCilk & 0.13\\ 128.1111 -\hline 128.1112 - $648\times648$ & Cilk & 0.71\\ 128.1113 - & VCilk & 0.85\\ 128.1114 -\hline 128.1115 - $1296\times1296$ & Cilk & 4.8\\ 128.1116 - & VCilk & 6.2 \\ 128.1117 -[2pt]\hline 128.1118 -\end{tabular} 128.1119 -\hfill 128.1120 -\begin{tabular}{|l|r|r|r|r|} 128.1121 -\multicolumn{5}{l}{}\\ 128.1122 -\multicolumn{5}{l}{}\\ 128.1123 -\multicolumn{5}{l}{}\\ 128.1124 -\hline 128.1125 - operation & \multicolumn{2}{c|}{Vthread} & pthread & ratio\\ 128.1126 - & comp only & total & & \\ 128.1127 -[2pt]\hline 128.1128 - mutex\_lock & 85 & 1050 & 50,000 & 48:1\\ 128.1129 - mutex\_unlock & 85 & 610 & 45,000 & 74:1\\ 128.1130 - cond\_wait & 85 & 850 & 60,000 & 71:1\\ 128.1131 - cond\_signal & 90 & 650 & 60,000 & 92:1\\ 128.1132 -\hline 128.1133 -\end{tabular} 128.1134 -\caption 128.1135 -{On left, exe time in seconds for MM. To the right, overhead for 128.1136 - pthread vs. Vthread. First column is cycles 128.1137 - for perfect memory and second is total measured cycles. pthread cycles are 128.1138 - deduced from round-trip experiments. 128.1139 -} 128.1140 -\label{tabHeadToHead} 128.1141 -\end{table} 128.1142 - 128.1143 -\paragraph*{Head to head.} 128.1144 - 128.1145 -We compare our implementation of the \texttt{spawn} and \texttt{sync} 128.1146 -constructs against Cilk 5.4, on the top in Table~\ref{tabHeadToHead}, 128.1147 -which shows that the same application code has similar 128.1148 -performance. For large matrices, Cilk 5.4's better use of the memory 128.1149 -hierarchy (the workstealing algorithm) achieves 23\% better 128.1150 -performance. However, for small matrices, VCilk is better, with a 128.1151 -factor 2 lower overhead. Cilk 5.4 does not allow controlling the 128.1152 -number of spawn events it actually executes, and chooses to run 128.1153 -smaller matrices sequentially, limiting our comparison. 128.1154 - 128.1155 -When comparing to pthreads, our VMS based implementation has more than 128.1156 -an order of magnitude better overhead per invocation of mutex or 128.1157 -condition variable functionality, as seen on the bottom of Table 128.1158 -\ref{tabHeadToHead}. Applications that inherently have short trace 128.1159 -segments will synchronize often and benefit the most from Vthread. 128.1160 - 128.1161 -\section{Conclusion} 128.1162 -\label{secConclusion} 128.1163 - 128.1164 -We have shown an alternative to the thread model that enables 128.1165 -easier-to-use parallelism constructs by splitting the scheduler open, 128.1166 -to accept new parallelism constructs in the form of plugins. This 128.1167 -gives the language control over assigning virtual processors to 128.1168 -physical cores, for performance, debugging, and flexibility 128.1169 -benefits. Parallelism constructs of programming languages can be 128.1170 -implemented using sequential algorithms, within a matter of days, 128.1171 -while maintaining low run-time overhead. 128.1172 - 128.1173 -\bibliography{../helpers/bib_for_papers} 128.1174 - 128.1175 -\end{document} 128.1176 - }
129.1 --- a/0__Papers/VMS/VMS__Performance_on_Multicore_paper/Multi-core_2011/latex/Sept_2011__Multiprog.tex.Backup-20110928-161933 Thu Feb 02 12:22:53 2012 -0800 129.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 129.3 @@ -1,1173 +0,0 @@ 129.4 -%&latex 129.5 - 129.6 - 129.7 -\documentclass[conference]{../helpers/llncs} 129.8 -% 129.9 -\usepackage{makeidx,geometry,amssymb,graphicx,calc,ifthen} 129.10 -% 129.11 - 129.12 -% *** CITATION PACKAGES *** 129.13 -% 129.14 -%\usepackage{cite} 129.15 -% cite.sty was written by Donald Arseneau 129.16 -% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package 129.17 -% \cite{} output to follow that of IEEE. Loading the cite package will 129.18 -% result in citation numbers being automatically sorted and properly 129.19 -% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using 129.20 -% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's 129.21 -% \cite will automatically add leading space, if needed. Use cite.sty's 129.22 -% noadjust option (cite.sty V3.8 and later) if you want to turn this off. 129.23 -% cite.sty is already installed on most LaTeX systems. Be sure and use 129.24 -% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does 129.25 -% not currently provide for hyperlinked citations. 129.26 -% The latest version can be obtained at: 129.27 -% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/ 129.28 -% The documentation is contained in the cite.sty file itself. 129.29 - 129.30 - 129.31 - 129.32 - 129.33 - 129.34 - 129.35 -% *** GRAPHICS RELATED PACKAGES *** 129.36 -% 129.37 -%\ifCLASSINFOpdf 129.38 - % \usepackage[pdftex]{graphicx} 129.39 - % declare the path(s) where your graphic files are 129.40 - % \graphicspath{{../pdf/}{../jpeg/}} 129.41 - % and their extensions so you won't have to specify these with 129.42 - % every instance of \includegraphics 129.43 - % \DeclareGraphicsExtensions{.pdf,.jpeg,.png} 129.44 -%\else 129.45 - % or other class option (dvipsone, dvipdf, if not using dvips). graphicx 129.46 - % will default to the driver specified in the system graphics.cfg if no 129.47 - % driver is specified. 129.48 - % \usepackage[dvips]{graphicx} 129.49 - % declare the path(s) where your graphic files are 129.50 - % \graphicspath{{../eps/}} 129.51 - % and their extensions so you won't have to specify these with 129.52 - % every instance of \includegraphics 129.53 - % \DeclareGraphicsExtensions{.eps} 129.54 -%\fi 129.55 -% graphicx was written by David Carlisle and Sebastian Rahtz. It is 129.56 -% required if you want graphics, photos, etc. graphicx.sty is already 129.57 -% installed on most LaTeX systems. The latest version and documentation can 129.58 -% be obtained at: 129.59 -% http://www.ctan.org/tex-archive/macros/latex/required/graphics/ 129.60 -% Another good source of documentation is "Using Imported Graphics in 129.61 -% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or 129.62 -% epslatex.pdf at: http://www.ctan.org/tex-archive/info/ 129.63 -% 129.64 -% latex, and pdflatex in dvi mode, support graphics in encapsulated 129.65 -% postscript (.eps) format. pdflatex in pdf mode supports graphics 129.66 -% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure 129.67 -% that all non-photo figures use a vector format (.eps, .pdf, .mps) and 129.68 -% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats 129.69 -% which can result in "jaggedy"/blurry rendering of lines and letters as 129.70 -% well as large increases in file sizes. 129.71 -% 129.72 -% You can find documentation about the pdfTeX application at: 129.73 -% http://www.tug.org/applications/pdftex 129.74 - 129.75 - 129.76 - 129.77 - 129.78 - 129.79 -% *** MATH PACKAGES *** 129.80 -% 129.81 -%\usepackage[cmex10]{amsmath} 129.82 -% A popular package from the American Mathematical Society that provides 129.83 -% many useful and powerful commands for dealing with mathematics. If using 129.84 -% it, be sure to load this package with the cmex10 option to ensure that 129.85 -% only type 1 fonts will utilized at all point sizes. Without this option, 129.86 -% it is possible that some math symbols, particularly those within 129.87 -% footnotes, will be rendered in bitmap form which will result in a 129.88 -% document that can not be IEEE Xplore compliant! 129.89 -% 129.90 -% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000 129.91 -% thus preventing page breaks from occurring within multiline equations. Use: 129.92 -%\interdisplaylinepenalty=2500 129.93 -% after loading amsmath to restore such page breaks as IEEEtran.cls normally 129.94 -% does. amsmath.sty is already installed on most LaTeX systems. The latest 129.95 -% version and documentation can be obtained at: 129.96 -% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/ 129.97 - 129.98 - 129.99 - 129.100 - 129.101 - 129.102 -% *** SPECIALIZED LIST PACKAGES *** 129.103 -% 129.104 -%\usepackage{algorithmic} 129.105 -% algorithmic.sty was written by Peter Williams and Rogerio Brito. 129.106 -% This package provides an algorithmic environment fo describing algorithms. 129.107 -% You can use the algorithmic environment in-text or within a figure 129.108 -% environment to provide for a floating algorithm. Do NOT use the algorithm 129.109 -% floating environment provided by algorithm.sty (by the same authors) or 129.110 -% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated 129.111 -% algorithm float types and packages that provide these will not provide 129.112 -% correct IEEE style captions. The latest version and documentation of 129.113 -% algorithmic.sty can be obtained at: 129.114 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/ 129.115 -% There is also a support site at: 129.116 -% http://algorithms.berlios.de/index.html 129.117 -% Also of interest may be the (relatively newer and more customizable) 129.118 -% algorithmicx.sty package by Szasz Janos: 129.119 -% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/ 129.120 - 129.121 - 129.122 - 129.123 - 129.124 -% *** ALIGNMENT PACKAGES *** 129.125 -% 129.126 -%\usepackage{array} 129.127 -% Frank Mittelbach's and David Carlisle's array.sty patches and improves 129.128 -% the standard LaTeX2e array and tabular environments to provide better 129.129 -% appearance and additional user controls. As the default LaTeX2e table 129.130 -% generation code is lacking to the point of almost being broken with 129.131 -% respect to the quality of the end results, all users are strongly 129.132 -% advised to use an enhanced (at the very least that provided by array.sty) 129.133 -% set of table tools. array.sty is already installed on most systems. The 129.134 -% latest version and documentation can be obtained at: 129.135 -% http://www.ctan.org/tex-archive/macros/latex/required/tools/ 129.136 - 129.137 - 129.138 -%\usepackage{mdwmath} 129.139 -%\usepackage{mdwtab} 129.140 -% Also highly recommended is Mark Wooding's extremely powerful MDW tools, 129.141 -% especially mdwmath.sty and mdwtab.sty which are used to format equations 129.142 -% and tables, respectively. The MDWtools set is already installed on most 129.143 -% LaTeX systems. The lastest version and documentation is available at: 129.144 -% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/ 129.145 - 129.146 - 129.147 -% IEEEtran contains the IEEEeqnarray family of commands that can be used to 129.148 -% generate multiline equations as well as matrices, tables, etc., of high 129.149 -% quality. 129.150 - 129.151 - 129.152 -%\usepackage{eqparbox} 129.153 -% Also of notable interest is Scott Pakin's eqparbox package for creating 129.154 -% (automatically sized) equal width boxes - aka "natural width parboxes". 129.155 -% Available at: 129.156 -% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/ 129.157 - 129.158 - 129.159 - 129.160 - 129.161 - 129.162 -% *** SUBFIGURE PACKAGES *** 129.163 -%\usepackage[tight,footnotesize]{subfigure} 129.164 -% subfigure.sty was written by Steven Douglas Cochran. This package makes it 129.165 -% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE 129.166 -% work, it is a good idea to load it with the tight package option to reduce 129.167 -% the amount of white space around the subfigures. subfigure.sty is already 129.168 -% installed on most LaTeX systems. The latest version and documentation can 129.169 -% be obtained at: 129.170 -% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/ 129.171 -% subfigure.sty has been superceeded by subfig.sty. 129.172 - 129.173 - 129.174 - 129.175 -%\usepackage[caption=false]{caption} 129.176 -%\usepackage[font=footnotesize]{subfig} 129.177 -% subfig.sty, also written by Steven Douglas Cochran, is the modern 129.178 -% replacement for subfigure.sty. However, subfig.sty requires and 129.179 -% automatically loads Axel Sommerfeldt's caption.sty which will override 129.180 -% IEEEtran.cls handling of captions and this will result in nonIEEE style 129.181 -% figure/table captions. To prevent this problem, be sure and preload 129.182 -% caption.sty with its "caption=false" package option. This is will preserve 129.183 -% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later 129.184 -% (recommended due to many improvements over 1.2) of subfig.sty supports 129.185 -% the caption=false option directly: 129.186 -%\usepackage[caption=false,font=footnotesize]{subfig} 129.187 -% 129.188 -% The latest version and documentation can be obtained at: 129.189 -% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/ 129.190 -% The latest version and documentation of caption.sty can be obtained at: 129.191 -% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/ 129.192 - 129.193 - 129.194 - 129.195 - 129.196 -% *** FLOAT PACKAGES *** 129.197 -% 129.198 -%\usepackage{fixltx2e} 129.199 -% fixltx2e, the successor to the earlier fix2col.sty, was written by 129.200 -% Frank Mittelbach and David Carlisle. This package corrects a few problems 129.201 -% in the LaTeX2e kernel, the most notable of which is that in current 129.202 -% LaTeX2e releases, the ordering of single and double column floats is not 129.203 -% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a 129.204 -% single column figure to be placed prior to an earlier double column 129.205 -% figure. The latest version and documentation can be found at: 129.206 -% http://www.ctan.org/tex-archive/macros/latex/base/ 129.207 - 129.208 - 129.209 - 129.210 -%\usepackage{stfloats} 129.211 -% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e 129.212 -% the ability to do double column floats at the bottom of the page as well 129.213 -% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in 129.214 -% LaTeX2e). It also provides a command: 129.215 -%\fnbelowfloat 129.216 -% to enable the placement of footnotes below bottom floats (the standard 129.217 -% LaTeX2e kernel puts them above bottom floats). This is an invasive package 129.218 -% which rewrites many portions of the LaTeX2e float routines. It may not work 129.219 -% with other packages that modify the LaTeX2e float routines. The latest 129.220 -% version and documentation can be obtained at: 129.221 -% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/ 129.222 -% Documentation is contained in the stfloats.sty comments as well as in the 129.223 -% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE 129.224 -% does not allow \baselineskip to stretch. Authors submitting work to the 129.225 -% IEEE should note that IEEE rarely uses double column equations and 129.226 -% that authors should try to avoid such use. Do not be tempted to use the 129.227 -% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does 129.228 -% not format its papers in such ways. 129.229 - 129.230 - 129.231 - 129.232 - 129.233 - 129.234 -% *** PDF, URL AND HYPERLINK PACKAGES *** 129.235 -% 129.236 -%\usepackage{url} 129.237 -% url.sty was written by Donald Arseneau. It provides better support for 129.238 -% handling and breaking URLs. url.sty is already installed on most LaTeX 129.239 -% systems. The latest version can be obtained at: 129.240 -% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/ 129.241 -% Read the url.sty source comments for usage information. Basically, 129.242 -% \url{my_url_here}. 129.243 - 129.244 - 129.245 - 129.246 - 129.247 - 129.248 -% *** Do not adjust lengths that control margins, column widths, etc. *** 129.249 -% *** Do not use packages that alter fonts (such as pslatex). *** 129.250 -% There should be no need to do such things with IEEEtran.cls V1.6 and later. 129.251 -% (Unless specifically asked to do so by the journal or conference you plan 129.252 -% to submit to, of course. ) 129.253 - 129.254 - 129.255 -% correct bad hyphenation here 129.256 -\hyphenation{op-tical net-works semi-conduc-tor} 129.257 - 129.258 - 129.259 -\begin{document} 129.260 - 129.261 -\bibliographystyle{plain} 129.262 -% 129.263 - 129.264 -\title{Support for Creating High Performance Multi-Core Aware Runtimes} 129.265 - 129.266 -\author{Sean Halle\inst{1,2,3} \and Albert Cohen\inst{1}} 129.267 -\institute{INRIA and \'Ecole Normale Sup\'erieure, France 129.268 - \and 129.269 - University of California at Santa Cruz, USA 129.270 - \and 129.271 - Technical University Berlin} 129.272 - 129.273 -\maketitle 129.274 -% 129.275 - 129.276 -\begin{abstract} 129.277 -The current renaissance in multi-core programming techniques and tools is generating new languages and concurrency constructs at a furious pace. This supports the belief held by many that Domain Specific Languages will satisfy the productivity goal for parallel programming. However, each of the new approaches and every domain specific language requires a runtime. Further, the runtime should be tuned to each flavor of multi-core hardware in order to get the lowest overhead. This represents non-trivial amounts of work, especially given the complexity of runtime internals, which have tricky concurrency issues. 129.278 - 129.279 -Regarding this, we present an improvement to the Virtualized Master-Slave abstraction, which has been demonstrated as one way to avoid such runtime implementation difficulties. VMS is a Mutable Concurrency-Hardware Abstraction used to quickly and easily create high performance runtime systems. It captures the difficult concurrency issues inside a reusable abstraction that exports a simple interface. Runtimes are created on top of this interface using only sequential reasoning, which greatly speeds implementation. The interface also modularizes the runtime and hides details of underlying concurrency hardware. 129.280 - 129.281 -We improved the interface by making it multi-core aware, and show how much it can reduce overhead. Across a collection of platforms, runtimes that use our multi-core-aware interface have an average of X\% less overhead. Specifically, we show the improvement from splitting malloc across cores, and demonstrate split constructs such as pthread-style mutexes and condition variables, which now have X cycles of overhead, compared to X cycles previously. 129.282 -\end{abstract} 129.283 - 129.284 -\section{Motivation} 129.285 - 129.286 -\paragraph*{A partial solution.} 129.287 - 129.288 -\paragraph*{Contribution.} 129.289 - 129.290 -We show in this paper the definition and implementation of such a 129.291 -mutable hardware abstraction, albeit at user-level rather than in 129.292 -the kernel. The abstraction lets a language's runtime be implemented as 129.293 -a mutation, which we call a plugin. The plugin implements parallelism constructs and assignment of tasks to cores. 129.294 - 129.295 -We focus in this introductory paper on the definition of the 129.296 -abstraction and its support for parallelism constructs, postponing 129.297 -exploration of assignment of tasks onto cores and other performance 129.298 -optimizations to following papers. This paper defines multiple time-lines in a program, and a virtual timeline that globally orders events among them. It demonstrates three sets of parallelism constructs: synchronous \texttt{send}-\texttt{receive} 129.299 -mo\textbf{\(f\)a}tivated by process calculi; \texttt{spawn} and \texttt{sync} from 129.300 -Cilk {\cite{Fri98,CILKHome}}; and \texttt{mutex} and \texttt{condition 129.301 - variable} from pthreads. The assignment policy we implemented with 129.302 -them is simply first-come first-served. 129.303 - 129.304 -We call the abstraction Virtualized Master-Slave, or VMS. It 129.305 -exports facilities to create virtual processors and control how their timelines relate to each other, and relate to physical time. It also exports facilities to suspend a virtual processor and for an executable to interact with the plugin. The plugin embodies most of a language's runtime. A wrapper-library or keyword is what appears in application code, and is what triggers the runtime. 129.306 - 129.307 -\paragraph*{Organization of paper.} 129.308 - 129.309 -Section~\ref{secAbsModel} provide the original concepts and 129.310 -definitions of VMS. Section~\ref{secInternal} focuses on the 129.311 -implementation, describing the elements and how they interact, then 129.312 -relating them back to the theoretical definition. 129.313 -Section~\ref{secApp} takes the point of view of the application code, 129.314 -studying the usage and implementation of parallel language constructs 129.315 -as a VMS plugin. To wrap up, measurements of effectiveness appear in 129.316 -Section~\ref{secResults} and conclusions in 129.317 -Section~\ref{secConclusion}. 129.318 - 129.319 -\section{Background and Related Work} 129.320 - 129.321 -User-level thread packages and most parallel language runtimes have to 129.322 -side-step OS threads, by pinning one to each core, which effectively 129.323 -gives the user-level package control over the core. Our VMS 129.324 -implementation also does this. We are not claiming in this paper to 129.325 -have the OS level implementation of VMS that is possible -- but just 129.326 -the user-space version. 129.327 - 129.328 -\paragraph*{Related work.} 129.329 - 129.330 -The most primitive methods for establishing ordering among cores or distributed processors are atomic instructions and clock-synchronization techniques \cite{Lamport78,Christian89}. 129.331 - 129.332 -Meanwhile, the most closely related work is Scheduler Activations 129.333 -\cite{SchedActivations}, which also allows modifying concurrency 129.334 -constructs and controlling assignment of virtual processors onto 129.335 -cores. However it has no virtual time to guarantee globally consistent 129.336 -sequentialization, and no interface for plugins. 129.337 - 129.338 -BOM \cite{BOMinManticore}, which is used in Manticore to express 129.339 -scheduling policies and synchronization, also bears resemblances to 129.340 -VMS, but at a higher level of abstraction. BOM is a functional 129.341 -language, rather than a primitive abstraction meant to sit at the 129.342 -hardware-software boundary as VMS is. 129.343 - 129.344 -Coroutines is a high-performance means of switching between 129.345 -tasks. Coroutine scheduling and stack handling techniques were well 129.346 -suited to the user-space implementation of VMS. 129.347 - 129.348 -Other related work either provides an abstraction of the thread model, 129.349 -or is a full language with specific parallelism constructs. As a 129.350 -protypic example of user-level threads, Cilk {\cite{Fri98,CILKHome}} 129.351 -provides a simplified abstraction with an efficient scheduling and 129.352 -load balancing algorithm, but limited to fork-join concurrency. OpenMP 129.353 -{\cite{OpenMPHome}} is a typical example of a parallel extension of 129.354 -sequential languages; it allows creating tasks and controlling their 129.355 -execution order. We claim that both Cilk and OpenMP, as well as most 129.356 -thread abstractions or parallel languages may be implemented via 129.357 -plugins to VMS, with similar performance. 129.358 - 129.359 -VMS is unique in that it doesn't impose its own concurrency semantics as a programming model, but rather takes preferred ones as plugins. This 129.360 -makes it only a \emph{support} mechanism to 129.361 -implement language runtimes -- VMS is hidden from the application, underneath the language. Parallelism constructs may be implemented 129.362 -as VMS plugins, easily, quickly, and with high performance as 129.363 -indicated in Section~\ref{secResults}. 129.364 - 129.365 -This work presents a first incarnation of VMS. We plan 129.366 -to explore the embedding into VMS of a variety of parallel languages, 129.367 -with a special interest for coordination languages 129.368 -\cite{Gelernter85Linda,CnCInHotPar,CnCHome}. We will also explore 129.369 -VMS's compatibility with different concurrent semantics 129.370 -\cite{Kah74,hoare78,milner99,Hewitt10,Actors97}. One particularly 129.371 -important application would be to use VMS to facilitate the design and 129.372 -implementation of the emerging hybrid programming models, such as 129.373 -MPI+OpenMP, or OpenMP+OpenCL \cite{Car10,OpenCLHome}. 129.374 - 129.375 - 129.376 -\section{Abstract Definition of VMS} 129.377 -\label{secAbsModel} 129.378 - 129.379 -We start with an intuitive overview, then precise the definitions and 129.380 -properties in the following sub-sections. 129.381 - 129.382 -\paragraph*{Definitions:} 129.383 - 129.384 -1) We want to avoid the confusion associated with the various 129.385 -interpretations for the terms ``thread'' and ``task'' so will use 129.386 -the term \emph{Virtual Processor} (VP), which we define as state in 129.387 -combination with the ability to animate code or an additional level of 129.388 -virtual processors. The state consists of a program counter, a stack 129.389 -with its contents, a pointer to top of stack, and a pointer to the 129.390 -current stack frame. 2) A \emph{physical processor} executes 129.391 -a sequential stream of instructions. 129.392 -3) A program-timeline is the sequence of instructions animated by a 129.393 -Slave VP, which is in turn animated by a physical processor. 129.394 - 129.395 - 129.396 -\paragraph*{Intuitive Overview.} 129.397 - 129.398 -VMS can be understood via an analogy with atomic instructions, such as Compare and Swap (CAS). These are used to establish an ordering among the timelines of cores. They consist of two parts: 1) the semantics of what is done to the memory location, 2) a mechanism that establishes an ordering among the cores. For CAS, the semantics are: ``compare value in this register to value at the address, and if same, then put value in second register into the address.'' Multiple kinds of atomic instructions share the same order-establishing mechanism, they simply provide different semantics as a front-end. 129.399 - 129.400 - VMS can be viewed as virtualizing the order-establishing mechanism. It allows the semantics to be plugged-in to it. This breaks concurrency constructs into two parts: the VMS mechanism, which establishes an ordering between events in different timelines; and the plugin, which supplies the semantics. 129.401 - 129.402 - Below the interface, hardware mechanisms are employed to order specific points in one physical processor's timeline relative to specific points in another's timeline. Above the interface, a plugin provides the semantics that an application uses to invoke creation of the ordering. 129.403 - 129.404 -Together, VMS plus the plugin form a parallelism construct, by which an application controls how the time-lines of its virtual processors relate. Such constructs also guarantee relations of VP time-lines to hardware events. 129.405 - 129.406 -As an example, consider a program where one VP writes into a data structure then calls a \texttt{send} construct. Meanwhile, a 129.407 -different VP calls the \texttt{receive} construct then reads 129.408 -the data structure. The semantics of the \texttt{send} and \texttt{receive} constructs are that all data 129.409 -written before the \texttt{send} is readable in the other time-line 129.410 -after the \texttt{receive}. 129.411 - To implement these constructs, VMS provides the mechanism to enforce the ordering, and to include the writes and reads in that ordering. The plugin directs that mechanism to order the \texttt{send} event before the \texttt{receive} event. 129.412 -%% AC. Too early. 129.413 -% VMS provides a primitive guarantee that 129.414 -% plugin code builds upon to provide such higher-level guarantees. The 129.415 -% primitive guarantee is defined in Section~\ref{scTime}, after the 129.416 -% necessary vocabulary is established. 129.417 - 129.418 -\paragraph{What the VMS interface provides:} The interface provides primitive operations 129.419 -to create and suspend VPs; a way for plugins to control when and where 129.420 -each VP is (re)started; a way for application code to send requests to the plugin; and a way to order a specific point in one VP time-line relative to a specific point in another VP time-line. All implementations of the VMS interface provide these, whether it is on shared memory or distributed, with 129.421 -strong memory consistency or weak. 129.422 - 129.423 -\paragraph*{Specification in three parts.} 129.424 - 129.425 -We specify the observable behavior of a VMS system \emph{with plugins present}. Hence, 129.426 -the specified behaviors remain valid with any parallelism construct 129.427 -implementable with VMS. First we give the specification of a computation system that VMS is compatible with; then specify a notion of time and the key VMS guarantee; and lastly specify 129.428 -virtual processor scheduling states and transitions between them. 129.429 - 129.430 -%% AC. Too early, Master has not been defined. I renamed VMS-core into 129.431 -%% VMS afterwards, finding no ambiguity. 129.432 -% The Master mentioned in the definition is an abstract entity, with a 129.433 -% plugin present. In practice, this Master entity is implemented as part 129.434 -% of a core VMS, and plugins later added. This VMS-core is the hardware 129.435 -% abstraction. It hides the physical hardware behind an interface that 129.436 -% creates virtual processors and enforces well-defined time-behavior. 129.437 - 129.438 -\subsection{The Specifications for a VMS-compatible Computation System} 129.439 - 129.440 -\begin{itemize} 129.441 -\item An application creates multiple VPs, which are Slaves, each with an 129.442 - independent time-line. 129.443 -\item A schedule of Slaves is generated by a Master entity, from 129.444 - within a hidden time-line(s). 129.445 -\item A schedule is the set of physical locations and time-points at which Slaves are 129.446 - (re)animated. 129.447 -\item All semantic parallelism behavior is invoked by Slaves communicating 129.448 - with the Master. 129.449 -\item A Slave communicates with the Master by using a VMS primitive, 129.450 - which suspends the Slave. 129.451 -\end{itemize} 129.452 - 129.453 -\paragraph{Where we define:} 129.454 - Semantic Parallelism Behavior is the actions taken by a parallelism construct, which establishes an ordering among events in different Slave timelines. 129.455 - 129.456 - 129.457 -\paragraph{Discussion:} The key point is that 129.458 -\emph{scheduling is separated from the application code}. This is enforced by the schedule being generated in a time-line hidden from the application. The rest of the requirements are consequences of that separation. 129.459 - 129.460 -The Master entity appears as a single entity, to the slaves. However it may 129.461 -be implemented with multiple (hidden) timelines. This is the approach taken in our initial implementation, which has several Master VPs hidden inside the VMS 129.462 -implementation. 129.463 - 129.464 - 129.465 - 129.466 - 129.467 -%% AC. Calling memory a processing element only adds confusion. 129.468 -% {\bf Definitions:\ }VMS is intended only for hardware systems that 129.469 -% consist of processing elements connected by communication. We define 129.470 -% a memory-space to be a processing element, albeit without the ability 129.471 -% to transform data. 129.472 - 129.473 - 129.474 -\subsection{The Time-Related Specifications of VMS} 129.475 -\label{secTime} 129.476 - 129.477 -To prepare for the time-related specifications, we give an advance peek of the following section, 3.3. There, Slave VPs are specified to have three scheduling states: Animated, Blocked, and Ready. When a parallelism construct starts execution, the Slave transitions from Animated to Blocked. When it ends execution, the Slave transitions from Blocked to Ready. VMS provides a way to control the order of these state-transitions, which is equivalent to controlling the order of the parallelism-constructs. Controlling the state transitions is how the ordering among constructs in different timelines is established. 129.478 - 129.479 -With that background, here are time-related specifications for VMS: \begin{itemize} 129.480 -\item VMS provides a Virtual timeline that globally orders changes of scheduling state of Slave VPs. 129.481 -\item Ordering is created among construct-invocations by controlling the order of Blocked to Ready transitions in the Virtual timeline. 129.482 -\item 129.483 -Causally tied construct-invocations are tied-together inside the Master. \item VMS enforces ordering of \textit{observations} of physical events in Slave timelines to be consistent with the Virtual time ordering. 129.484 -\item Virtual time defines only ordering, but not spans, nor widths. 129.485 -\end{itemize} 129.486 - 129.487 -\paragraph{Discussion:} 129.488 -Most importantly here, Virtual time defines a global ordering among Slave state-transitions. To make this useful for parallelism, VMS must be implemented so that observations of physical events, like reads and writes to shared memory, are consistent with that ordering. 129.489 - 129.490 -The Virtual timeline plays the same role as the mechanism added to memory systems to support atomic instructions. All atomic instructions require hardware that establishes an ordering among the timelines of physical cores. That hardware sequentializes execution of atomic memory accesses to the same address. VMS virtualizes this mechanism. It provides the same ordering function. 129.491 - 129.492 -An important point is that the Virtual timeline is generated inside the Master. When a Slave uses the VMS primitive to send a parallelism-construct request, it suspends. However, that Slave doesn't actually transition state from Animated to Blocked until the Master \textit{acknowledges} the suspension. It is the acknowledgement that adds the Slave transition into the Virtual timeline. 129.493 - 129.494 -The essential value of VMS is using it to control the order of observing events. It has to be able to causally link the execution of a parallelism construct in one timeline to the execution of a construct in a different timeline. Establishing such a causal link is called \textit{tying together} two construct executions. 129.495 - It is specific executions from different timelines that are causally linked with such a tie. 129.496 -\paragraph*{The key VMS guarantee:} 129.497 - 129.498 -the order of observing physical events is consistent with the order of tied together parallelism constructs. 129.499 - 129.500 -To explain this, take as given: two Slaves both execute parallelism constructs, those are tied together by the Master, establishing a causal ordering from one to the other. So, one construct is the \textit{before}-construct, the other is the \textit{after}-construct. Now, the guarantee means that any events triggered before the before-construct, in its timeline, are guaranteed to be detected in the other timeline as also preceding the after-construct. In addition, events triggered after the after-construct are guaranteed not visible before the before-construct in its timeline. This two-part guarantee is the result of the above specifications of VMS's time-related behavior. 129.501 - 129.502 - 129.503 - 129.504 - 129.505 -\paragraph*{Definitions:} 129.506 - 129.507 -Some more definitions, to prepare for the next explanation. 1) An \textit{ordering-point} exists in a Slave VP's timeline as a zero-width event that can be tied to ordering points in other timelines. It is initiated by a Slave VP executing the suspend 129.508 -primitive, and ended by the Master transitioning the Slave back to Animated. 2) A trace-segment is a portion of a Slave VP's stream of instructions bounded by ordering-points. 129.509 - 129.510 -Hence, the timeline of a Slave is a sequence of trace-segments. Each 129.511 -trace-segment is animated by a single physical processor, but not 129.512 -necessarily the same as animated the Slave's other trace segments. 129.513 - 129.514 - 129.515 - 129.516 - 129.517 -\begin{figure}[ht] 129.518 - \includegraphics[width=3.5in]{../figures/Time_in_VMS_2.eps} 129.519 - \caption 129.520 - {Time Behaviors: \ Shows Ordering Point 1.1 being tied to Ordering Point 2.1. As a result, VMS guarantees that events triggered in Trace Segment 1.1 are seen as having taken place in the past in Trace Segment 2.2. Also shows that there is no common tied ordering point between segments 1.2 and 2.2, so VMS provides no guarantees about what order segment 2.2 sees events triggered in segment 1.2. 129.521 - } 129.522 -\label{figTimeMapping} 129.523 -\end{figure} 129.524 - 129.525 -\paragraph*{Relating time-lines to each other.} 129.526 - 129.527 -Figure \ref{figTimeMapping} shows two ordering points being tied together. A trace segment starts, at the same time an ordering-point ends, by its Slave transitioning to Animated. Because the transition to Animated exists as a point in Virtual time, the start of a trace-segment has a well-defined position within Virtual time. Likewise, a trace-segment is ended by its Slave executing the suspend primitive of VMS. Although this does not have a well-defined point in Virtual time, every execution of suspend is acknowledged by the Master, which transitions the Slave to Blocked. That transition does have a well-defined position in Virtual time. Hence, the end of every trace-segment is associated with a well-defined position in Virtual time. 129.528 - 129.529 -As a result, trace segments can be ordered relative to each other, by checking their start and end points in Virtual time. If they have no overlap in virtual time then they have a total ordering. However, if any portion of them overlaps in Virtual time, then they are considered concurrent trace-segments, and their Slaves are considered to be executing in parallel between those points of Virtual time. 129.530 - 129.531 -Note that this is conservative because it doesn't take into account the physical wait time between a Slave suspending and the Master acknowledging. The Slave may stop executing at a physical time-point that would map onto an earlier point in Virtual time. In some cases, ending the Slave's trace-segment at the earlier point would eliminate the overlap with a particular other trace-segment. But VMS's set of specifications doesn't allow such mapping of suspend-execution onto Virtual time (for implementation-related reasons, which require downloading the code and gaining experience with it, to establish a common language, for an explanation to be understood). 129.532 - 129.533 - 129.534 - 129.535 -A subtlety is that events triggered 129.536 -before one tied ordering-point, {\em{might}} be visible in the other timeline before the other tied ordering-point. In the figure, segment 2.1 might be able to see events from segment 1.1 if it looked. The VMS guarantee doesn't cover overlapped trace-segments. Physical events triggered before are only guaranteed visible 129.537 -{\em{after}} the tie point, and events after are only guaranteed 129.538 -{\em{not}} visible {\em{before}} the tie point. 129.539 - 129.540 -We call this bounded non-determinism, because events within overlapped trace-segments have non-deterministic ordering, but the region of non-determinism can be bounded by tied ordering-points. This allows a program to specify non-determinism, but control the region of non-deterministic behavior. For example, a reduction construct could be created that non-deterministically assigns portions of the reduction work to overlapped Slave segments. It would tie together ordering points from all the Slaves that mark the end of reduction. Hence, the outcome is deterministic, but the path to get there is not. 129.541 - 129.542 -\paragraph*{Sequential algorithms for parallel constructs.} 129.543 -The globally-consistent sequential order in Virtual time enables one 129.544 -of VMS's main benefits: sequential algorithms for parallel constructs. 129.545 -An implementation to 129.546 -tie ordering points together equals an implementation of parallel constructs. A plugin has an ordering of state transitions available, and chooses from those. Sequential algorithms rely on an ordering existing, while concurrent algorithms must include operations that establish an ordering. Plugins have Virtual time ordering available, so they can use sequential algorithms. 129.547 -\subsection{Specification of Scheduling State} 129.548 - 129.549 -Scheduling state is used in VMS to organize internal activity, for 129.550 -enforcing the guarantees. 129.551 - 129.552 -\begin{itemize} 129.553 -\item VPs have three scheduling states: {\em{Animated}}, 129.554 - {\em{Blocked}}, {\em{Ready}}; see Figure~\ref{figStates}. 129.555 -\item VPs in Animated are {\em{allowed}} to advance Program time with 129.556 - (core-local) physical time. 129.557 -\item VPs in Blocked and Ready do not advance their Program time. 129.558 -\item Animated has two physical states: {\em{Progressing}} and 129.559 - {\em{Stalled}}. 129.560 -\item VPs in Progressing advance Program time with (core-local) 129.561 - physical time, those in Stalled do not (allowing non-semantic 129.562 - suspend for hardware interrupts). 129.563 -\item Scheduling states are defined in Virtual time only. 129.564 -\item Progressing and Stalled are defined in (core-local) physical 129.565 - time only; the distinction is invisible in Virtual time. 129.566 -\end{itemize} 129.567 - 129.568 -\begin{figure}[h!tb] 129.569 -\begin{minipage}{.55\textwidth} 129.570 - \includegraphics[width=\textwidth]{../figures/Scheduling_states_2.eps} 129.571 - \caption{Scheduling states of a slave VP in the VMS model. Animated, Blocked, and Ready are only defined in Virtual Time and only visible in the Master. Progressing and Stalled are only visible in physical-processor local time, not visible in Virtual time.} 129.572 - \label{figStates} 129.573 -\end{minipage} 129.574 -\hfill 129.575 -\begin{minipage}{.43\textwidth} 129.576 - \includegraphics[width=\textwidth]{../figures/VMS-core__plugins.eps} 129.577 - \caption 129.578 - { 129.579 - The Master, split into a generic core and a language-specific plugin. 129.580 - The core encapsulates the hardware and remains the same across applications. 129.581 - The plugin implements the semantics of the parallelism-constructs. 129.582 - } 129.583 - \label{figMasterSplit} 129.584 -\end{minipage} 129.585 -\end{figure} 129.586 - 129.587 - 129.588 -Some important points: (1) only VPs Animated can trigger physical 129.589 -events that are seen in other program time-lines; (2) the distinction 129.590 -between Blocked vs Stalled is that a Slave has to explicitly execute a 129.591 -VMS primitive operation to enter Blocked. In contrast, Stalled happens 129.592 -invisibly, with no effect on semantic behavior. It is due to hardware 129.593 -events hidden inside VMS, such as interrupts. 129.594 - 129.595 -The Ready state is used to separate the parallelism-construct behavior 129.596 -from the scheduling behavior. It acts as a ``staging area'' for 129.597 -scheduling. VPs placed into this state are {\em{ready}} to be 129.598 -animated, but the scheduler decides when and where. 129.599 - 129.600 -An interesting point is that in VMS, the causal tie between timelines is created by actions {\em{outside}} program timelines. In contrast, memory-based lock algorithms place the concurrency-related behavior {\em{inside}} program 129.601 -timelines. 129.602 - 129.603 -\paragraph*{Transition Between Slave Scheduling States.} 129.604 - 129.605 -\begin{itemize} 129.606 -\item VPs transition states as shown in Figure \ref{figStates}. 129.607 -\item Animated$\rightarrow$Blocked is requested by a Slave executing suspend, but takes place in Virtual time at the point the Master acknowledges that request. 129.608 -\item Blocked$\rightarrow$Ready is determined by the semantics 129.609 - implemented in the plugin. 129.610 -\item Ready$\rightarrow$Animated is determined by the scheduler in the 129.611 - plugin. 129.612 -\item Transitions in scheduling state have a globally consistent order 129.613 - in Virtual time. 129.614 -\end{itemize} 129.615 - 129.616 -The parallelism primitives executed by a program do not directly control change 129.617 -in scheduling states. Rather they communicate messages to the Master, 129.618 -via a VMS supplied primitive. If it suspended when sending the request, then the act of the Master acknowledging the request places the Animated$\rightarrow$Blocked transition into Virtual time. Inside the Master, the plugin then processes the message. Based on contents, it performs changes in state from Blocked$\rightarrow$Ready, 129.619 -creates new VPs, and dissipates existing VPs. Most communication from 129.620 -Slave to Master requires the Slave to suspend when it sends the 129.621 -message. A few messages, like creating new Slave may be sent without 129.622 -suspending. 129.623 - 129.624 -The suspend primitive decouples local physical time from Virtual time. 129.625 -Execution causes immediate transition to Stalled in physical time, 129.626 -later the Master performs Animated$\rightarrow$Blocked, fixing that 129.627 -transition in Virtual time. The only relationship is causality. This 129.628 -weak relation is what allows suspension-points to be serialized in 129.629 -Virtual time, which in turn is what allows using sequential algorithms 129.630 -to implement parallelism constructs. 129.631 - 129.632 -\subsection{Plugins} 129.633 - 129.634 -The Master entity has two parts, a generic core part and a plugin 129.635 -(Figure \ref{figMasterSplit}). The core part of the Master is 129.636 -implemented as part of VMS itself. The plugin supplies two functions: 129.637 -the communication-handler and the scheduler, both having a standard 129.638 -prototype. The communication-handler implements the parallelism 129.639 -constructs, while scheduler assigns VPs to cores. 129.640 - 129.641 -An \emph{instance} of a plugin is created as part of initializing an 129.642 -application, and the instance holds the semantic and scheduling state 129.643 -for that run of the application. This state, combined with the virtual 129.644 -processor states of the slaves created during that application run, 129.645 -represents progress of the work of the application. For example, 129.646 -multi-tasking is performed simply by the Master switching among 129.647 -plugin instances when it has a resource to offer to a scheduler. The 129.648 -parallelism-semantic state holds all information needed to resume 129.649 -(hardware state, such as TLB and cache-tags is inside VMS). 129.650 - 129.651 -\section{Internal Workings of Our Implementation} 129.652 -\label{secInternal} 129.653 - 129.654 -For our example implementation, we name the elements and describe their 129.655 -logical function, then relate those to the abstract model. We then step 129.656 -through the operation of the elements. 129.657 - 129.658 -\paragraph*{Elements and their logical function.} 129.659 - 129.660 -As illustrated in Figure~\ref{figInternals}, our VMS implementation is 129.661 -organized around physical cores. Each core has its own {\em{master 129.662 - virtual-processor}}, \texttt{masterVP}, and a {\em{physical-core 129.663 - controller}}, which communicate via a set of scheduling slots, 129.664 -\texttt{schedSlot}. The Master in the abstract definition is 129.665 -implemented by the multiple \texttt{masterVP}s plus a particular 129.666 -plugin instance with its shared parallelism-semantic state (seen at 129.667 -the top). 129.668 - 129.669 -On a given core, only one of: the core-controller, \texttt{masterVP}, 129.670 -or a slave VP, is animated at any point in local physical time. Each 129.671 -\texttt{masterVP} animates the same function, called 129.672 -\texttt{master\_loop}, and each slave VP animates a function from the 129.673 -application, starting with the top-level function the slave is created 129.674 -with, and following its call sequence. The core controller is 129.675 -implemented here as a Linux pthread that runs the \texttt{core\_loop} 129.676 -function. 129.677 - 129.678 -Switching between VPs is done by executing a VMS primitive that 129.679 -suspends the VP. This switches the physical core over to the 129.680 -controller, by jumping to the start of the \texttt{core\_loop} 129.681 -function, which chooses the next VP and switches to that (switching is 129.682 -detailed in Section \ref{secApp} Figure \ref{figAssembly}). 129.683 - 129.684 -\paragraph*{Relation to abstract model.} 129.685 - 129.686 -We chose to implement the Master entity of the model by a set of 129.687 -\texttt{masterVP}s, plus plugin functions and shared 129.688 -parallelism-semantic state. VMS consists of this implementation of the 129.689 -Master, plus the core-controllers, plus the VMS primitive libraries, 129.690 -for creating new VPs and dissipating existing VPs, suspending VPs, and 129.691 -communicating from slave VP to Master. In Figure~\ref{figInternals}, 129.692 -everything in green is part of VMS, while the plugin is in red, and 129.693 -application code appears as blue, inside the slave VP. 129.694 - 129.695 -Virtual time in the model is implemented via a combination of four 129.696 -things: a \texttt{masterLock} (not shown) that guarantees non-overlap 129.697 -of \texttt{masterVP} trace-segments; the \texttt{master\_loop} which 129.698 -performs transition Animated$\rightarrow$Blocked; the 129.699 -\texttt{comm\_handler\_fn} which performs Blocked$\rightarrow$Ready 129.700 -and the \texttt{scheduler\_fn} which performs 129.701 -Ready$\rightarrow$Animated. \ Each state transition is one step of 129.702 -Virtual time; is guaranteed sequential by the non-overlap of 129.703 -\texttt{masterVP} trace segments; and is global due to being in 129.704 -parallelism-semantic state that is shared (top of 129.705 -Figure~\ref{figInternals}). 129.706 - 129.707 -Transitions Progressing$\rightleftarrows$Stalled within the Animated 129.708 -state are invisible to the parallelism semantics, the Master, and 129.709 -Virtual time, and so have no effect on the elements seen. 129.710 - 129.711 -\begin{figure*}[h!tb] 129.712 - \centerline{\includegraphics[width=5in]{../figures/VMS-core__internal_workings.eps}} 129.713 - \caption 129.714 - { Internal elements of our example VMS implementation 129.715 - } 129.716 - \label{figInternals} 129.717 -\end{figure*} 129.718 - 129.719 -\paragraph*{Steps of operation.} 129.720 - 129.721 -The steps of operation are numbered, in Figure \ref{figInternals}. 129.722 -Taking them in order: 129.723 - 129.724 -\begin{enumerate} 129.725 -\item \texttt{master\_loop} scans the scheduling slots to see which 129.726 - ones' slaves have suspended since the previous scan. 129.727 -\item It hands these to the \texttt{comm\_handler\_fn} plugged in 129.728 -(which equals transition Animated$\rightarrow$Blocked). 129.729 -\item The VP has a request attached, and data in it causes the 129.730 - \texttt{comm\_handler\_fn} to manipulate data structures in the 129.731 - shared parallelism-semantic state. These structures hold all the 129.732 - slaves in the blocked state (code-level detail and example will 129.733 - come in Figure~\ref{figReqHdlr}, Section~\ref{secApp}). 129.734 -\item Some requests cause slaves to be moved to a \texttt{readyQ} on 129.735 - one of the cores (Blocked$\rightarrow$Ready). Which core's 129.736 - \texttt{readyQ} receives the slave is under plugin control, 129.737 - determined by a combination of request contents, semantic state and 129.738 - physical machine state. 129.739 -\item During the scan, the \texttt{master\_loop} also looks for empty 129.740 - slots, and for each calls the \texttt{scheduler\_fn} plugged in. It 129.741 - chooses a slave from the \texttt{readyQ} on the core animating 129.742 - \texttt{master\_loop}. 129.743 -\item The \texttt{master\_loop} then places the slave VP's pointer 129.744 - into the scheduling slot (Ready$\rightarrow$Animated), making it 129.745 - available to the \texttt{core\_loop}. 129.746 -\item When done with the scan, \texttt{masterVP} suspends, switching 129.747 - animation back to the \texttt{core\_loop}. 129.748 -\item \texttt{core\_loop} takes slave VPs out of the slots. 129.749 -\item Then \texttt{core\_loop} switches animation to these slave VPs. 129.750 -\item When a slave self-suspends, animation returns to the 129.751 - \texttt{core\_loop} (detail in code in Figure 9), which picks 129.752 - another. 129.753 -\item Until all slots are empty and the \texttt{core\_loop} switches 129.754 - animation to the \texttt{masterVP}. 129.755 -\end{enumerate} 129.756 - 129.757 -\paragraph*{Enabling sequential implementation of parallelism semantics.} 129.758 - 129.759 -All these steps happen on each core separately, but 129.760 -%% AC. Cannot be both an essential property of VMS and "un this particular..." 129.761 -% in this particular implementation 129.762 -we use a central \texttt{masterLock} to ensure that 129.763 -only one core's \texttt{masterVP} can be active at any time. This 129.764 -guarantees non-overlap of trace-segments from different 129.765 -\texttt{masterVP}s, allowing the plugins to use sequential algorithms, 129.766 -without a performance penalty, as verified in 129.767 -Section~\ref{secResults}. 129.768 - 129.769 -Relating this to the abstract model: the parallelism-semantic behavior 129.770 -of the Master is implemented by the communication handler, in the 129.771 -plugin. It thus runs in the Master time referred to, in the model, in 129.772 -Section \ref{secAbsModel}. Requests are sent to the Master by 129.773 -self-suspension of the slaves, but sit idle until the other slaves in 129.774 -the scheduling slots have also run. This is the passive behavior of 129.775 -requests that was noted in Section~\ref{secAbsModel}, which allows the 129.776 -\texttt{masterVP}s to remain suspended until needed. This in turn 129.777 -enables the \texttt{masterVP}s from different cores to be 129.778 -non-overlapped. It is the non-overlap that enables the algorithms for 129.779 -the parallelism semantics to be sequential. 129.780 - 129.781 -\section{Code Example} 129.782 -\label{secApp} 129.783 - 129.784 -To relate the abstract model and the internal elements to application 129.785 -code and parallelism-library code, we give code snippets that 129.786 -illustrate key features. We start with the application then work down 129.787 -through the sequence of calls, to the plugin, using our SSR 129.788 -{\cite{VMSHome}} parallelism-library as an example. 129.789 - 129.790 -In general, applications are either written in terms of a parallel 129.791 -language that has its own syntax, or a base language with a 129.792 -parallelism library, which is often called an {\em{embedded 129.793 - language}}. Our demonstrators, VCilk {\cite{VMSHome}}, Vthread, 129.794 -and SSR, are all parallelism libraries. A parallel language would 129.795 -follow the standard practice of performing source-to-source transform, 129.796 -from custom syntax into C plus parallelism-library calls. 129.797 - 129.798 -\paragraph*{SSR.} 129.799 - 129.800 -SSR stands for Synchronous Send-Receive, and details of its calls and 129.801 -internal implementation will be given throughout this section. It has 129.802 -two types of construct. The first, called {\em{from-to}} has two 129.803 -calls: \texttt{SSR\_send\_from\_to} and 129.804 -\texttt{SSR\_receive\_from\_to}, both of which specify the sending VP 129.805 -as well as the receiving VP. \ The other, called {\em{of-type}} also 129.806 -has two calls: \texttt{SSR\_\_send\_of\_type\_to} and 129.807 -\texttt{SSR\_\_receive\_of\_type}, which allow a receiver to accept 129.808 -from anonymous senders, but select according to type of message. 129.809 - 129.810 -% An example of a double column floating figure using two subfigures. 129.811 -% (The subfig.sty package must be loaded for this to work.) 129.812 -% The subfigure \label commands are set within each subfloat command, the 129.813 -% \label for the overall figure must come after \caption. 129.814 -% \hfil must be used as a separator to get equal spacing. 129.815 -% The subfigure.sty package works much the same way, except \subfigure is 129.816 -% used instead of \subfloat. 129.817 -% 129.818 -%\begin{figure*}[!t] 129.819 -%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}% 129.820 -%\label{fig_first_case}} 129.821 -%\hfil 129.822 -%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}% 129.823 -%\label{fig_second_case}}} 129.824 -%\caption{Simulation results} 129.825 -%\label{fig_sim} 129.826 -%\end{figure*} 129.827 -% 129.828 -% Note that often IEEE papers with subfigures do not employ subfigure 129.829 -% captions (using the optional argument to \subfloat), but instead will 129.830 -% reference/describe all of them (a), (b), etc., within the main caption. 129.831 - 129.832 -\paragraph*{Application view.} 129.833 - 129.834 -Figure~\ref{figAnimVP} shows snippets of application code, which use 129.835 -the SSR parallelism library. The most important feature is that all 129.836 -calls take a pointer to the VP that is animating the call. This is 129.837 -seen at the top of the figure where slave VP creation takes a pointer 129.838 -to the VP asking for creation. Below that is the standard prototype 129.839 -for top level functions, showing that the function receives a pointer 129.840 -to the VP it is the top level function for. 129.841 - 129.842 -The pointer is placed on the stack by VMS when it creates the VP, and 129.843 -is the means by which the application comes into possession of the 129.844 -pointer. This animating VP is passed to all library calls made from 129.845 -there. For example, the bottom shows a pointer to the animating VP 129.846 -placed in the position of sender in the \texttt{send} construct call. 129.847 -Correspondingly, for the \texttt{receive} construct, the position of 129.848 -receiving VP is filled by the VP animating the call. 129.849 - 129.850 -\begin{figure}[h!tb] 129.851 -{\noindent 129.852 -{\footnotesize 129.853 -{\small Creating a new processor:} 129.854 -\begin{verbatim} 129.855 -newProcessor = SSR__create_procr( &top_VP_fn, paramsPtr, animatingVP ); 129.856 -\end{verbatim} 129.857 - 129.858 -{\small prototype for the top level function:} 129.859 -\begin{verbatim} 129.860 -top_VP_fn( void *parameterStrucPtr, VirtProcr *animatingVP ); 129.861 -\end{verbatim} 129.862 - 129.863 -{\small handing animating VP to parallelism constructs:} 129.864 -\begin{verbatim} 129.865 -SSR__send_from_to( messagePtr, animatingVP, receivingVP ); 129.866 -messagePtr = SSR__receive_from_to( sendingVP, animatingVP ); 129.867 -\end{verbatim} 129.868 -} 129.869 -} 129.870 -\caption 129.871 -{Application code snippets showing that all calls to the parallelism library 129.872 -take the VP animating that call as a parameter. 129.873 -} 129.874 -\label{figAnimVP} 129.875 -\end{figure} 129.876 - 129.877 -Relating these to the internal elements of our implementation, the 129.878 -\texttt{animatingVP} suspends inside each of these calls, passing a 129.879 -request (generated in the library) to one of the \texttt{masterVP}s. 129.880 -The \texttt{masterVP} then calls the \texttt{comm-handler} plugin, and 129.881 -so on, as described in Section \ref{secInternal}. 129.882 - 129.883 -For the \texttt{SSR\_\_create\_processor} call, the comm-handler in 129.884 -turn calls a VMS primitive to perform the creation. The primitive 129.885 -places a pointer to the newly created VP onto its stack, so that when 129.886 -\texttt{top\_VP\_fn} is later animated, it sees the VP-pointer as a 129.887 -parameter passed to it. \ All application code is either such a 129.888 -top-level function, or has one at the root of the call-stack. 129.889 - 129.890 -The send and receive calls both suspend their animating VP. When both 129.891 -have been called, the communication handler pairs them up and resumes 129.892 -both. This ties time-lines together, invoking the VMS guarantee. Both 129.893 -application-functions know, because of the VMS guarantee 129.894 -(Section~\ref{secAbsModel}), that writes to shared variables made 129.895 -before the send call by the sender are visible to the receiver after 129.896 -the receive call. This is the programmer's view of tying together the 129.897 -local time-lines of two different VPs, as defined in 129.898 -Section~\ref{secAbsModel}. 129.899 - 129.900 -\paragraph*{Concurrency-library view.} 129.901 - 129.902 -A parallelism library is a wrapper. Each call, in general, only creates a request, 129.903 -sends it, and returns, as seen below. To send a request, it uses the 129.904 -combined request-and-suspend VMS primitive that attaches the request 129.905 -then suspends the VP. The primitive requires the pointer to the VP, 129.906 -to attach the request and to suspend it. 129.907 - 129.908 -In Figure~\ref{figImplLib}, notice that the request's data is on the 129.909 -stack of the virtual processor that's animating the call, which is the 129.910 -\texttt{receiveVP}. The \texttt{VMS\_\_send\_sem\_request} suspends 129.911 -this VP, which changes the physical core's stack pointer to a 129.912 -different stack. So the request data is guaranteed to remain 129.913 -undisturbed while the VP is suspended. 129.914 - 129.915 -Figure~\ref{figAssembly} shows the implementation of the VMS suspend 129.916 -primitive. As seen in Figure \ref{figInternals}, suspending the 129.917 -\texttt{receiveVP} involves switching to the \texttt{core\_loop}. In 129.918 -our implementation, this is done by switching to the stack of the 129.919 -pthread pinned to the physical core and then jumping to the 129.920 -start-point of \texttt{core\_loop}. 129.921 - 129.922 -This code uses standard techniques commonly employed in co-routine 129.923 -implementations. Tuning effort spent in \texttt{core\_loop} is 129.924 -inherited by all applications. 129.925 - 129.926 -\begin{figure}[h!tb] 129.927 -{\noindent 129.928 -{\footnotesize 129.929 -\begin{verbatim} 129.930 -void * SSR__receive_from_to( VirtProcr *sendVP, VirtProcr *receiveVP ) 129.931 - { SSRSemReq reqData; 129.932 - reqData.receiveVP = receiveVP; 129.933 - reqData.sendVP = sendVP; 129.934 - reqData.reqType = receive_from_to; 129.935 - VMS__send_sem_request( &reqData, receiveVP ); 129.936 - return receiveVP->dataReturnedFromRequest; 129.937 - } 129.938 -\end{verbatim} 129.939 -} 129.940 -} 129.941 -\caption{Implementation of SSR's receive\_from\_to library function.} 129.942 -\label{figImplLib} 129.943 - 129.944 -{\noindent 129.945 -{\footnotesize 129.946 -\begin{verbatim} 129.947 -VMS__suspend_procr( VirtProcr *animatingVP ) 129.948 - { animatingVP->resumeInstrAddr = &&ResumePt; //GCC takes addr of label 129.949 - animatingVP->schedSlotAssignedTo->isNewlySuspended = TRUE; //for master_loop to see 129.950 - <assembly code stores current physical core's stack reg into animatingVP struct> 129.951 - <assembly code loads stack reg with core_loop stackPtr, which was saved into animatingVP> 129.952 - <assembly code jmps to core_loop start instr addr, which was also saved into animatingVP> 129.953 - ResumePt: 129.954 - return; 129.955 - } 129.956 -\end{verbatim} 129.957 -} 129.958 -} 129.959 - \caption 129.960 -{Implementation of VMS suspend processor. 129.961 -Re-animating the virtual processor reverses this sequence. \ It saves the 129.962 -\texttt{core\_loop}'s resume instr-addr and stack ptr into the VP structure, 129.963 -then loads the VP's stack ptr and jmps to its \texttt{resumeInstrAddr}. 129.964 -} 129.965 -\label{figAssembly} 129.966 - 129.967 -{\noindent 129.968 -{\footnotesize 129.969 -\begin{verbatim} 129.970 -handle_receive_from_to( VirtProcr *requestingVP, SSRSemReq *reqData, SSRSemEnv *semEnv ) 129.971 - { commHashTbl = semEnv->communicatingVPHashTable; 129.972 - key[0] = reqData->receiveVP; key[1] = reqData->sendVP; //send uses same key 129.973 - waitingReqData = lookup_and_remove( key, commHashTbl ); //get waiting request 129.974 - if( waitingReqData != NULL ) 129.975 - { resume_virt_procr( waitingReqData->sendVP ); 129.976 - resume_virt_procr( waitingReqData->receiveVP ); 129.977 - } 129.978 - else 129.979 - insert( key, reqData, commHashTbl ); //receive is first to arrive, make it wait 129.980 - } 129.981 -\end{verbatim} 129.982 -} 129.983 -} 129.984 - \caption 129.985 -{Pseudo-code of communication-handler for 129.986 -\texttt{receive\_from\_to} request type. The \texttt{semEnv} is a pointer 129.987 -to the shared parallel semantic state seen at the top of 129.988 -Figure~\ref{figInternals}. 129.989 -} 129.990 -\label{figReqHdlr} 129.991 -\end{figure} 129.992 - 129.993 -\paragraph*{Plugin view.} 129.994 - 129.995 -SSR's communication handler dispatches on the \texttt{reqType} field 129.996 -of the request data, as set by the \texttt{SSR\_\_receive\_from\_to} 129.997 -code. It calls the handler code in Figure \ref{figReqHdlr}. This 129.998 -constructs a hash-key, by concatenating the from-VP's pointer with the 129.999 -to-VP's pointer. Then it looks-up that key in the hash-table that SSR 129.1000 -uses to match sends with receives, which is in the shared semantic 129.1001 -state seen at the top of Figure \ref{figInternals} in 129.1002 -Section~\ref{secInternal}. 129.1003 - 129.1004 -The most important feature in Figure~\ref{figReqHdlr} is that both 129.1005 -send and receive will construct the same key, so will find the same 129.1006 -hash entry. Whichever request is handled first in Virtual time will 129.1007 -see the hash entry empty, and save itself in that entry. The second 129.1008 -to arrive sees the waiting request and then resumes both VPs, by 129.1009 -putting them into their \texttt{readyQ}s. 129.1010 - 129.1011 -Access to the shared hash table can be considered private, as in a 129.1012 -sequential algorithm. This is because our VMS-core implementation 129.1013 -ensures that only one handler on one core is executing at a time. 129.1014 - 129.1015 -\section{Results} 129.1016 -\label{secResults} 129.1017 - 129.1018 -We implemented blocked dense matrix multiplication with right 129.1019 -sub-matrices copied to transposed form, and ran it on a 4-core 129.1020 -Core2Quad 2.4Ghz processor. 129.1021 - 129.1022 -\paragraph*{Implementation-time.} 129.1023 - 129.1024 -As shown in Table~\ref{tabPersonDaysLang}, time to implement the three 129.1025 -parallel libraries averages 2 days each. As an example of 129.1026 -productivity, adding nested transactions, parallel singleton, and 129.1027 -atomic function-execution to SSR required a single afternoon, totaling 129.1028 -less than 100 lines of C code. 129.1029 - 129.1030 -\paragraph*{Execution Performance.} 129.1031 - 129.1032 -Performance of VMS is seen in Table~\ref{tabOverheadCycles}. The code 129.1033 -is not optimized, but rather written to be easy to understand and 129.1034 -modify. The majority of the plugin time is lost to cache misses 129.1035 -because the shared parallelism-semantic state moves between cores on a 129.1036 -majority of accesses. Acquisition of the master lock is slow due to 129.1037 -the hardware implementing the CAS instruction. 129.1038 - 129.1039 -Existing techniques will likely improve performance, such as 129.1040 -localizing semantic data to cores, splitting malloc across the cores, 129.1041 -pre-allocating slabs that are recycled, and pre-fetching. However, in 129.1042 -many cases, several hundred nano-seconds per task is as optimal as the 129.1043 -applications can benefit from. 129.1044 - 129.1045 -\begin{table}[h!tb] 129.1046 -\begin{minipage}{.35\textwidth} 129.1047 -\begin{tabular}{|l|l|l|l|} 129.1048 - \cline{2-4} 129.1049 - \multicolumn{1}{l|}{} & SSR & Vthread & VCilk\\ 129.1050 - \cline{2-4} 129.1051 - \noalign{\vskip2pt} 129.1052 - \hline 129.1053 - Design & 4 & 1 & 0.5\\ 129.1054 - Code & 2 & 0.5 & 0.5\\ 129.1055 - Test & 1 & 0.5 & 0.5\\ 129.1056 - L.O.C. & 470 & 290 & 310\\ 129.1057 - \hline 129.1058 -\end{tabular} 129.1059 -\caption 129.1060 -{Person-days to design, code, and 129.1061 - test each parallelism library. L.O.C. is lines of (original) C code, 129.1062 - excluding libraries and comments. 129.1063 -} 129.1064 -\label{tabPersonDaysLang} 129.1065 -\end{minipage} 129.1066 -\hspace{-.05\textwidth} 129.1067 -\begin{minipage}[t]{.7\textwidth} 129.1068 -\hfill 129.1069 -\begin{tabular}{|l|l|r|r|} 129.1070 -\cline{3-4} 129.1071 -\multicolumn{2}{l|}{} & comp only & comp + mem\\ 129.1072 -\cline{3-4} 129.1073 -\noalign{\vskip2pt} 129.1074 -\hline 129.1075 -VMS Only & \texttt{master\_loop} & 91 & 110\\ 129.1076 -& switch VPs & 77 & 130\\ 129.1077 -& (malloc) & 160 & 2300\\ 129.1078 -& (create VP) & 540 & 3800\\ 129.1079 -\hline 129.1080 -Language: & & & \\ 129.1081 -\quad SSR & plugin -- concur & 190 & 540\\ 129.1082 -& plugin -- all & 530 & 2200\\ 129.1083 -& lock & & 250\\ 129.1084 -\quad Vthread & plugin -- concur & 66 & 710\\ 129.1085 -& plugin -- all & 180 & 1500\\ 129.1086 -& lock & & 250\\ 129.1087 -\quad VCilk & plugin -- concur & 65 & 260\\ 129.1088 -& plugin -- all & 330 & 1800\\ 129.1089 -& lock & & 250\\ 129.1090 -\hline 129.1091 -\end{tabular} 129.1092 -\caption 129.1093 -{Cycles of overhead, per scheduled 129.1094 - slave. ``comp only'' is perfect memory, ``comp + mem'' is actual cycles. 129.1095 - ``Plugin-concur'' only concurrency requests, ``plugin-all'' includes 129.1096 - create and malloc requests. Two significant digits due to variability. 129.1097 -} 129.1098 -\label{tabOverheadCycles} 129.1099 -\end{minipage} 129.1100 - 129.1101 -\vskip-1.5cm 129.1102 -\begin{tabular}{|l|lr|} 129.1103 -\hline 129.1104 - Matrix size&Lang.&sec.\\ 129.1105 -[2pt]\hline 129.1106 - $81\times81$ & Cilk & 0.017\\ 129.1107 - & VCilk & 0.008\\ 129.1108 -\hline 129.1109 - $324\times324$ & Cilk & 0.13\\ 129.1110 - & VCilk & 0.13\\ 129.1111 -\hline 129.1112 - $648\times648$ & Cilk & 0.71\\ 129.1113 - & VCilk & 0.85\\ 129.1114 -\hline 129.1115 - $1296\times1296$ & Cilk & 4.8\\ 129.1116 - & VCilk & 6.2 \\ 129.1117 -[2pt]\hline 129.1118 -\end{tabular} 129.1119 -\hfill 129.1120 -\begin{tabular}{|l|r|r|r|r|} 129.1121 -\multicolumn{5}{l}{}\\ 129.1122 -\multicolumn{5}{l}{}\\ 129.1123 -\multicolumn{5}{l}{}\\ 129.1124 -\hline 129.1125 - operation & \multicolumn{2}{c|}{Vthread} & pthread & ratio\\ 129.1126 - & comp only & total & & \\ 129.1127 -[2pt]\hline 129.1128 - mutex\_lock & 85 & 1050 & 50,000 & 48:1\\ 129.1129 - mutex\_unlock & 85 & 610 & 45,000 & 74:1\\ 129.1130 - cond\_wait & 85 & 850 & 60,000 & 71:1\\ 129.1131 - cond\_signal & 90 & 650 & 60,000 & 92:1\\ 129.1132 -\hline 129.1133 -\end{tabular} 129.1134 -\caption 129.1135 -{On left, exe time in seconds for MM. To the right, overhead for 129.1136 - pthread vs. Vthread. First column is cycles 129.1137 - for perfect memory and second is total measured cycles. pthread cycles are 129.1138 - deduced from round-trip experiments. 129.1139 -} 129.1140 -\label{tabHeadToHead} 129.1141 -\end{table} 129.1142 - 129.1143 -\paragraph*{Head to head.} 129.1144 - 129.1145 -We compare our implementation of the \texttt{spawn} and \texttt{sync} 129.1146 -constructs against Cilk 5.4, on the top in Table~\ref{tabHeadToHead}, 129.1147 -which shows that the same application code has similar 129.1148 -performance. For large matrices, Cilk 5.4's better use of the memory 129.1149 -hierarchy (the workstealing algorithm) achieves 23\% better 129.1150 -performance. However, for small matrices, VCilk is better, with a 129.1151 -factor 2 lower overhead. Cilk 5.4 does not allow controlling the 129.1152 -number of spawn events it actually executes, and chooses to run 129.1153 -smaller matrices sequentially, limiting our comparison. 129.1154 - 129.1155 -When comparing to pthreads, our VMS based implementation has more than 129.1156 -an order of magnitude better overhead per invocation of mutex or 129.1157 -condition variable functionality, as seen on the bottom of Table 129.1158 -\ref{tabHeadToHead}. Applications that inherently have short trace 129.1159 -segments will synchronize often and benefit the most from Vthread. 129.1160 - 129.1161 -\section{Conclusion} 129.1162 -\label{secConclusion} 129.1163 - 129.1164 -We have shown an alternative to the thread model that enables 129.1165 -easier-to-use parallelism constructs by splitting the scheduler open, 129.1166 -to accept new parallelism constructs in the form of plugins. This 129.1167 -gives the language control over assigning virtual processors to 129.1168 -physical cores, for performance, debugging, and flexibility 129.1169 -benefits. Parallelism constructs of programming languages can be 129.1170 -implemented using sequential algorithms, within a matter of days, 129.1171 -while maintaining low run-time overhead. 129.1172 - 129.1173 -\bibliography{../helpers/bib_for_papers} 129.1174 - 129.1175 -\end{document} 129.1176 - }
130.1 Binary file 1__Presentations/12__LPGPU_Arch/figures/Chip_plus_mem_sys.pdf has changed
131.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 131.2 +++ b/1__Presentations/12__LPGPU_Arch/figures/Chip_plus_mem_sys.svg Sun Mar 11 09:26:44 2012 -0700 131.3 @@ -0,0 +1,3056 @@ 131.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 131.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 131.6 + 131.7 +<svg 131.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 131.9 + xmlns:cc="http://creativecommons.org/ns#" 131.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 131.11 + xmlns:svg="http://www.w3.org/2000/svg" 131.12 + xmlns="http://www.w3.org/2000/svg" 131.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 131.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 131.15 + width="744.09448819" 131.16 + height="1052.3622047" 131.17 + id="svg2" 131.18 + sodipodi:version="0.32" 131.19 + inkscape:version="0.48.1 " 131.20 + sodipodi:docname="Chip_plus_mem_sys.svg" 131.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 131.22 + version="1.1"> 131.23 + <defs 131.24 + id="defs4"> 131.25 + <marker 131.26 + inkscape:stockid="Arrow2Mstart" 131.27 + orient="auto" 131.28 + refY="0.0" 131.29 + refX="0.0" 131.30 + id="Arrow2Mstart" 131.31 + style="overflow:visible"> 131.32 + <path 131.33 + id="path5492" 131.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" 131.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 " 131.36 + transform="scale(0.6) translate(0,0)" /> 131.37 + </marker> 131.38 + <marker 131.39 + inkscape:stockid="Arrow2Mend" 131.40 + orient="auto" 131.41 + refY="0.0" 131.42 + refX="0.0" 131.43 + id="Arrow2Mend" 131.44 + style="overflow:visible;"> 131.45 + <path 131.46 + id="path3563" 131.47 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 131.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 " 131.49 + transform="scale(0.6) rotate(180) translate(0,0)" /> 131.50 + </marker> 131.51 + <marker 131.52 + inkscape:stockid="TriangleOutM" 131.53 + orient="auto" 131.54 + refY="0.0" 131.55 + refX="0.0" 131.56 + id="TriangleOutM" 131.57 + style="overflow:visible"> 131.58 + <path 131.59 + id="path3682" 131.60 + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " 131.61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 131.62 + transform="scale(0.4)" /> 131.63 + </marker> 131.64 + <marker 131.65 + inkscape:stockid="Arrow2Lend" 131.66 + orient="auto" 131.67 + refY="0.0" 131.68 + refX="0.0" 131.69 + id="Arrow2Lend" 131.70 + style="overflow:visible;"> 131.71 + <path 131.72 + id="path3557" 131.73 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 131.74 + 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 " 131.75 + transform="scale(1.1) rotate(180) translate(1,0)" /> 131.76 + </marker> 131.77 + <marker 131.78 + inkscape:stockid="Arrow1Mstart" 131.79 + orient="auto" 131.80 + refY="0.0" 131.81 + refX="0.0" 131.82 + id="Arrow1Mstart" 131.83 + style="overflow:visible"> 131.84 + <path 131.85 + id="path3542" 131.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 " 131.87 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 131.88 + transform="scale(0.4) translate(10,0)" /> 131.89 + </marker> 131.90 + <marker 131.91 + inkscape:stockid="Arrow1Lend" 131.92 + orient="auto" 131.93 + refY="0.0" 131.94 + refX="0.0" 131.95 + id="Arrow1Lend" 131.96 + style="overflow:visible;"> 131.97 + <path 131.98 + id="path3539" 131.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 " 131.100 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 131.101 + transform="scale(0.8) rotate(180) translate(12.5,0)" /> 131.102 + </marker> 131.103 + <marker 131.104 + inkscape:stockid="Arrow1Lstart" 131.105 + orient="auto" 131.106 + refY="0.0" 131.107 + refX="0.0" 131.108 + id="Arrow1Lstart" 131.109 + style="overflow:visible"> 131.110 + <path 131.111 + id="path3536" 131.112 + 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 " 131.113 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 131.114 + transform="scale(0.8) translate(12.5,0)" /> 131.115 + </marker> 131.116 + <inkscape:perspective 131.117 + sodipodi:type="inkscape:persp3d" 131.118 + inkscape:vp_x="0 : 526.18109 : 1" 131.119 + inkscape:vp_y="0 : 1000 : 0" 131.120 + inkscape:vp_z="744.09448 : 526.18109 : 1" 131.121 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 131.122 + id="perspective10" /> 131.123 + <inkscape:perspective 131.124 + id="perspective4311" 131.125 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.126 + inkscape:vp_z="1 : 0.5 : 1" 131.127 + inkscape:vp_y="0 : 1000 : 0" 131.128 + inkscape:vp_x="0 : 0.5 : 1" 131.129 + sodipodi:type="inkscape:persp3d" /> 131.130 + <inkscape:perspective 131.131 + id="perspective4336" 131.132 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.133 + inkscape:vp_z="1 : 0.5 : 1" 131.134 + inkscape:vp_y="0 : 1000 : 0" 131.135 + inkscape:vp_x="0 : 0.5 : 1" 131.136 + sodipodi:type="inkscape:persp3d" /> 131.137 + <inkscape:perspective 131.138 + id="perspective4365" 131.139 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.140 + inkscape:vp_z="1 : 0.5 : 1" 131.141 + inkscape:vp_y="0 : 1000 : 0" 131.142 + inkscape:vp_x="0 : 0.5 : 1" 131.143 + sodipodi:type="inkscape:persp3d" /> 131.144 + <marker 131.145 + inkscape:stockid="Arrow2Mend" 131.146 + orient="auto" 131.147 + refY="0" 131.148 + refX="0" 131.149 + id="Arrow2Mend-9" 131.150 + style="overflow:visible"> 131.151 + <path 131.152 + id="path3563-4" 131.153 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.154 + 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" 131.155 + transform="scale(-0.6,-0.6)" /> 131.156 + </marker> 131.157 + <inkscape:perspective 131.158 + id="perspective4423" 131.159 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.160 + inkscape:vp_z="1 : 0.5 : 1" 131.161 + inkscape:vp_y="0 : 1000 : 0" 131.162 + inkscape:vp_x="0 : 0.5 : 1" 131.163 + sodipodi:type="inkscape:persp3d" /> 131.164 + <marker 131.165 + inkscape:stockid="Arrow2Mend" 131.166 + orient="auto" 131.167 + refY="0" 131.168 + refX="0" 131.169 + id="Arrow2Mend-8" 131.170 + style="overflow:visible"> 131.171 + <path 131.172 + id="path3563-2" 131.173 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.174 + 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" 131.175 + transform="scale(-0.6,-0.6)" /> 131.176 + </marker> 131.177 + <inkscape:perspective 131.178 + id="perspective4461" 131.179 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.180 + inkscape:vp_z="1 : 0.5 : 1" 131.181 + inkscape:vp_y="0 : 1000 : 0" 131.182 + inkscape:vp_x="0 : 0.5 : 1" 131.183 + sodipodi:type="inkscape:persp3d" /> 131.184 + <inkscape:perspective 131.185 + id="perspective14081" 131.186 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.187 + inkscape:vp_z="1 : 0.5 : 1" 131.188 + inkscape:vp_y="0 : 1000 : 0" 131.189 + inkscape:vp_x="0 : 0.5 : 1" 131.190 + sodipodi:type="inkscape:persp3d" /> 131.191 + <inkscape:perspective 131.192 + id="perspective14206" 131.193 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.194 + inkscape:vp_z="1 : 0.5 : 1" 131.195 + inkscape:vp_y="0 : 1000 : 0" 131.196 + inkscape:vp_x="0 : 0.5 : 1" 131.197 + sodipodi:type="inkscape:persp3d" /> 131.198 + <inkscape:perspective 131.199 + id="perspective14299" 131.200 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.201 + inkscape:vp_z="1 : 0.5 : 1" 131.202 + inkscape:vp_y="0 : 1000 : 0" 131.203 + inkscape:vp_x="0 : 0.5 : 1" 131.204 + sodipodi:type="inkscape:persp3d" /> 131.205 + <inkscape:perspective 131.206 + id="perspective16915" 131.207 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.208 + inkscape:vp_z="1 : 0.5 : 1" 131.209 + inkscape:vp_y="0 : 1000 : 0" 131.210 + inkscape:vp_x="0 : 0.5 : 1" 131.211 + sodipodi:type="inkscape:persp3d" /> 131.212 + <inkscape:perspective 131.213 + id="perspective16946" 131.214 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.215 + inkscape:vp_z="1 : 0.5 : 1" 131.216 + inkscape:vp_y="0 : 1000 : 0" 131.217 + inkscape:vp_x="0 : 0.5 : 1" 131.218 + sodipodi:type="inkscape:persp3d" /> 131.219 + <inkscape:perspective 131.220 + id="perspective17789" 131.221 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.222 + inkscape:vp_z="1 : 0.5 : 1" 131.223 + inkscape:vp_y="0 : 1000 : 0" 131.224 + inkscape:vp_x="0 : 0.5 : 1" 131.225 + sodipodi:type="inkscape:persp3d" /> 131.226 + <inkscape:perspective 131.227 + id="perspective17820" 131.228 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.229 + inkscape:vp_z="1 : 0.5 : 1" 131.230 + inkscape:vp_y="0 : 1000 : 0" 131.231 + inkscape:vp_x="0 : 0.5 : 1" 131.232 + sodipodi:type="inkscape:persp3d" /> 131.233 + <marker 131.234 + inkscape:stockid="Arrow2Mend" 131.235 + orient="auto" 131.236 + refY="0" 131.237 + refX="0" 131.238 + id="Arrow2Mend-8-2" 131.239 + style="overflow:visible"> 131.240 + <path 131.241 + id="path3563-2-3" 131.242 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.243 + 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" 131.244 + transform="scale(-0.6,-0.6)" /> 131.245 + </marker> 131.246 + <inkscape:perspective 131.247 + id="perspective17848" 131.248 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.249 + inkscape:vp_z="1 : 0.5 : 1" 131.250 + inkscape:vp_y="0 : 1000 : 0" 131.251 + inkscape:vp_x="0 : 0.5 : 1" 131.252 + sodipodi:type="inkscape:persp3d" /> 131.253 + <inkscape:perspective 131.254 + id="perspective17891" 131.255 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.256 + inkscape:vp_z="1 : 0.5 : 1" 131.257 + inkscape:vp_y="0 : 1000 : 0" 131.258 + inkscape:vp_x="0 : 0.5 : 1" 131.259 + sodipodi:type="inkscape:persp3d" /> 131.260 + <marker 131.261 + inkscape:stockid="Arrow2Mend" 131.262 + orient="auto" 131.263 + refY="0" 131.264 + refX="0" 131.265 + id="Arrow2Mend-8-7" 131.266 + style="overflow:visible"> 131.267 + <path 131.268 + id="path3563-2-8" 131.269 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.270 + 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" 131.271 + transform="scale(-0.6,-0.6)" /> 131.272 + </marker> 131.273 + <inkscape:perspective 131.274 + id="perspective17925" 131.275 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.276 + inkscape:vp_z="1 : 0.5 : 1" 131.277 + inkscape:vp_y="0 : 1000 : 0" 131.278 + inkscape:vp_x="0 : 0.5 : 1" 131.279 + sodipodi:type="inkscape:persp3d" /> 131.280 + <inkscape:perspective 131.281 + id="perspective17996" 131.282 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.283 + inkscape:vp_z="1 : 0.5 : 1" 131.284 + inkscape:vp_y="0 : 1000 : 0" 131.285 + inkscape:vp_x="0 : 0.5 : 1" 131.286 + sodipodi:type="inkscape:persp3d" /> 131.287 + <inkscape:perspective 131.288 + id="perspective18039" 131.289 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.290 + inkscape:vp_z="1 : 0.5 : 1" 131.291 + inkscape:vp_y="0 : 1000 : 0" 131.292 + inkscape:vp_x="0 : 0.5 : 1" 131.293 + sodipodi:type="inkscape:persp3d" /> 131.294 + <inkscape:perspective 131.295 + id="perspective18073" 131.296 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.297 + inkscape:vp_z="1 : 0.5 : 1" 131.298 + inkscape:vp_y="0 : 1000 : 0" 131.299 + inkscape:vp_x="0 : 0.5 : 1" 131.300 + sodipodi:type="inkscape:persp3d" /> 131.301 + <inkscape:perspective 131.302 + id="perspective4016" 131.303 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.304 + inkscape:vp_z="1 : 0.5 : 1" 131.305 + inkscape:vp_y="0 : 1000 : 0" 131.306 + inkscape:vp_x="0 : 0.5 : 1" 131.307 + sodipodi:type="inkscape:persp3d" /> 131.308 + <inkscape:perspective 131.309 + id="perspective4046" 131.310 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.311 + inkscape:vp_z="1 : 0.5 : 1" 131.312 + inkscape:vp_y="0 : 1000 : 0" 131.313 + inkscape:vp_x="0 : 0.5 : 1" 131.314 + sodipodi:type="inkscape:persp3d" /> 131.315 + <inkscape:perspective 131.316 + id="perspective4071" 131.317 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.318 + inkscape:vp_z="1 : 0.5 : 1" 131.319 + inkscape:vp_y="0 : 1000 : 0" 131.320 + inkscape:vp_x="0 : 0.5 : 1" 131.321 + sodipodi:type="inkscape:persp3d" /> 131.322 + <inkscape:perspective 131.323 + id="perspective4101" 131.324 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.325 + inkscape:vp_z="1 : 0.5 : 1" 131.326 + inkscape:vp_y="0 : 1000 : 0" 131.327 + inkscape:vp_x="0 : 0.5 : 1" 131.328 + sodipodi:type="inkscape:persp3d" /> 131.329 + <inkscape:perspective 131.330 + id="perspective5945" 131.331 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.332 + inkscape:vp_z="1 : 0.5 : 1" 131.333 + inkscape:vp_y="0 : 1000 : 0" 131.334 + inkscape:vp_x="0 : 0.5 : 1" 131.335 + sodipodi:type="inkscape:persp3d" /> 131.336 + <inkscape:perspective 131.337 + id="perspective3139" 131.338 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.339 + inkscape:vp_z="1 : 0.5 : 1" 131.340 + inkscape:vp_y="0 : 1000 : 0" 131.341 + inkscape:vp_x="0 : 0.5 : 1" 131.342 + sodipodi:type="inkscape:persp3d" /> 131.343 + <inkscape:perspective 131.344 + id="perspective3161" 131.345 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 131.346 + inkscape:vp_z="1 : 0.5 : 1" 131.347 + inkscape:vp_y="0 : 1000 : 0" 131.348 + inkscape:vp_x="0 : 0.5 : 1" 131.349 + sodipodi:type="inkscape:persp3d" /> 131.350 + <marker 131.351 + inkscape:stockid="Arrow2Mend" 131.352 + orient="auto" 131.353 + refY="0" 131.354 + refX="0" 131.355 + id="Arrow2Mend-8-7-0" 131.356 + style="overflow:visible"> 131.357 + <path 131.358 + inkscape:connector-curvature="0" 131.359 + id="path3563-2-8-4" 131.360 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.361 + 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" 131.362 + transform="scale(-0.6,-0.6)" /> 131.363 + </marker> 131.364 + <marker 131.365 + inkscape:stockid="Arrow2Mend" 131.366 + orient="auto" 131.367 + refY="0" 131.368 + refX="0" 131.369 + id="marker12725" 131.370 + style="overflow:visible"> 131.371 + <path 131.372 + inkscape:connector-curvature="0" 131.373 + id="path12727" 131.374 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.375 + 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" 131.376 + transform="scale(-0.6,-0.6)" /> 131.377 + </marker> 131.378 + <marker 131.379 + inkscape:stockid="Arrow2Mend" 131.380 + orient="auto" 131.381 + refY="0" 131.382 + refX="0" 131.383 + id="marker12729" 131.384 + style="overflow:visible"> 131.385 + <path 131.386 + inkscape:connector-curvature="0" 131.387 + id="path12731" 131.388 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.389 + 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" 131.390 + transform="scale(-0.6,-0.6)" /> 131.391 + </marker> 131.392 + <marker 131.393 + inkscape:stockid="Arrow2Mend" 131.394 + orient="auto" 131.395 + refY="0" 131.396 + refX="0" 131.397 + id="marker12733" 131.398 + style="overflow:visible"> 131.399 + <path 131.400 + inkscape:connector-curvature="0" 131.401 + id="path12735" 131.402 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.403 + 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" 131.404 + transform="scale(-0.6,-0.6)" /> 131.405 + </marker> 131.406 + <marker 131.407 + inkscape:stockid="Arrow2Mend" 131.408 + orient="auto" 131.409 + refY="0" 131.410 + refX="0" 131.411 + id="marker12737" 131.412 + style="overflow:visible"> 131.413 + <path 131.414 + inkscape:connector-curvature="0" 131.415 + id="path12739" 131.416 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.417 + 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" 131.418 + transform="scale(-0.6,-0.6)" /> 131.419 + </marker> 131.420 + <marker 131.421 + inkscape:stockid="Arrow2Mend" 131.422 + orient="auto" 131.423 + refY="0" 131.424 + refX="0" 131.425 + id="marker12741" 131.426 + style="overflow:visible"> 131.427 + <path 131.428 + inkscape:connector-curvature="0" 131.429 + id="path12743" 131.430 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.431 + 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" 131.432 + transform="scale(-0.6,-0.6)" /> 131.433 + </marker> 131.434 + <marker 131.435 + inkscape:stockid="Arrow2Mend" 131.436 + orient="auto" 131.437 + refY="0" 131.438 + refX="0" 131.439 + id="marker12745" 131.440 + style="overflow:visible"> 131.441 + <path 131.442 + inkscape:connector-curvature="0" 131.443 + id="path12747" 131.444 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.445 + 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" 131.446 + transform="scale(-0.6,-0.6)" /> 131.447 + </marker> 131.448 + <marker 131.449 + inkscape:stockid="Arrow2Mend" 131.450 + orient="auto" 131.451 + refY="0" 131.452 + refX="0" 131.453 + id="marker12749" 131.454 + style="overflow:visible"> 131.455 + <path 131.456 + inkscape:connector-curvature="0" 131.457 + id="path12751" 131.458 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.459 + 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" 131.460 + transform="scale(-0.6,-0.6)" /> 131.461 + </marker> 131.462 + <marker 131.463 + inkscape:stockid="Arrow2Mend" 131.464 + orient="auto" 131.465 + refY="0" 131.466 + refX="0" 131.467 + id="marker12753" 131.468 + style="overflow:visible"> 131.469 + <path 131.470 + inkscape:connector-curvature="0" 131.471 + id="path12755" 131.472 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.473 + 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" 131.474 + transform="scale(-0.6,-0.6)" /> 131.475 + </marker> 131.476 + <marker 131.477 + inkscape:stockid="Arrow2Mend" 131.478 + orient="auto" 131.479 + refY="0" 131.480 + refX="0" 131.481 + id="marker12757" 131.482 + style="overflow:visible"> 131.483 + <path 131.484 + inkscape:connector-curvature="0" 131.485 + id="path12759" 131.486 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.487 + 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" 131.488 + transform="scale(-0.6,-0.6)" /> 131.489 + </marker> 131.490 + <marker 131.491 + inkscape:stockid="Arrow2Mend" 131.492 + orient="auto" 131.493 + refY="0" 131.494 + refX="0" 131.495 + id="marker12761" 131.496 + style="overflow:visible"> 131.497 + <path 131.498 + inkscape:connector-curvature="0" 131.499 + id="path12763" 131.500 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.501 + 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" 131.502 + transform="scale(-0.6,-0.6)" /> 131.503 + </marker> 131.504 + <marker 131.505 + inkscape:stockid="Arrow2Mend" 131.506 + orient="auto" 131.507 + refY="0" 131.508 + refX="0" 131.509 + id="marker12765" 131.510 + style="overflow:visible"> 131.511 + <path 131.512 + inkscape:connector-curvature="0" 131.513 + id="path12767" 131.514 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.515 + 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" 131.516 + transform="scale(-0.6,-0.6)" /> 131.517 + </marker> 131.518 + <marker 131.519 + inkscape:stockid="Arrow2Mend" 131.520 + orient="auto" 131.521 + refY="0" 131.522 + refX="0" 131.523 + id="marker12769" 131.524 + style="overflow:visible"> 131.525 + <path 131.526 + inkscape:connector-curvature="0" 131.527 + id="path12771" 131.528 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.529 + 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" 131.530 + transform="scale(-0.6,-0.6)" /> 131.531 + </marker> 131.532 + <marker 131.533 + inkscape:stockid="Arrow2Mend" 131.534 + orient="auto" 131.535 + refY="0" 131.536 + refX="0" 131.537 + id="marker12773" 131.538 + style="overflow:visible"> 131.539 + <path 131.540 + inkscape:connector-curvature="0" 131.541 + id="path12775" 131.542 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.543 + 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" 131.544 + transform="scale(-0.6,-0.6)" /> 131.545 + </marker> 131.546 + <marker 131.547 + inkscape:stockid="Arrow2Mend" 131.548 + orient="auto" 131.549 + refY="0" 131.550 + refX="0" 131.551 + id="marker12777" 131.552 + style="overflow:visible"> 131.553 + <path 131.554 + inkscape:connector-curvature="0" 131.555 + id="path12779" 131.556 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.557 + 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" 131.558 + transform="scale(-0.6,-0.6)" /> 131.559 + </marker> 131.560 + <marker 131.561 + inkscape:stockid="Arrow2Mend" 131.562 + orient="auto" 131.563 + refY="0" 131.564 + refX="0" 131.565 + id="marker12781" 131.566 + style="overflow:visible"> 131.567 + <path 131.568 + inkscape:connector-curvature="0" 131.569 + id="path12783" 131.570 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.571 + 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" 131.572 + transform="scale(-0.6,-0.6)" /> 131.573 + </marker> 131.574 + <marker 131.575 + inkscape:stockid="Arrow2Mend" 131.576 + orient="auto" 131.577 + refY="0" 131.578 + refX="0" 131.579 + id="marker12785" 131.580 + style="overflow:visible"> 131.581 + <path 131.582 + inkscape:connector-curvature="0" 131.583 + id="path12787" 131.584 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.585 + 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" 131.586 + transform="scale(-0.6,-0.6)" /> 131.587 + </marker> 131.588 + <marker 131.589 + inkscape:stockid="Arrow2Mend" 131.590 + orient="auto" 131.591 + refY="0" 131.592 + refX="0" 131.593 + id="marker12789" 131.594 + style="overflow:visible"> 131.595 + <path 131.596 + inkscape:connector-curvature="0" 131.597 + id="path12791" 131.598 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.599 + 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" 131.600 + transform="scale(-0.6,-0.6)" /> 131.601 + </marker> 131.602 + <marker 131.603 + inkscape:stockid="Arrow2Mend" 131.604 + orient="auto" 131.605 + refY="0" 131.606 + refX="0" 131.607 + id="marker12793" 131.608 + style="overflow:visible"> 131.609 + <path 131.610 + inkscape:connector-curvature="0" 131.611 + id="path12795" 131.612 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.613 + 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" 131.614 + transform="scale(-0.6,-0.6)" /> 131.615 + </marker> 131.616 + <marker 131.617 + inkscape:stockid="Arrow2Mend" 131.618 + orient="auto" 131.619 + refY="0" 131.620 + refX="0" 131.621 + id="marker12797" 131.622 + style="overflow:visible"> 131.623 + <path 131.624 + inkscape:connector-curvature="0" 131.625 + id="path12799" 131.626 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.627 + 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" 131.628 + transform="scale(-0.6,-0.6)" /> 131.629 + </marker> 131.630 + <marker 131.631 + inkscape:stockid="Arrow2Mend" 131.632 + orient="auto" 131.633 + refY="0" 131.634 + refX="0" 131.635 + id="marker12801" 131.636 + style="overflow:visible"> 131.637 + <path 131.638 + inkscape:connector-curvature="0" 131.639 + id="path12803" 131.640 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.641 + 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" 131.642 + transform="scale(-0.6,-0.6)" /> 131.643 + </marker> 131.644 + <marker 131.645 + inkscape:stockid="Arrow2Mend" 131.646 + orient="auto" 131.647 + refY="0" 131.648 + refX="0" 131.649 + id="marker12805" 131.650 + style="overflow:visible"> 131.651 + <path 131.652 + inkscape:connector-curvature="0" 131.653 + id="path12807" 131.654 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.655 + 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" 131.656 + transform="scale(-0.6,-0.6)" /> 131.657 + </marker> 131.658 + <marker 131.659 + inkscape:stockid="Arrow2Mend" 131.660 + orient="auto" 131.661 + refY="0" 131.662 + refX="0" 131.663 + id="marker12809" 131.664 + style="overflow:visible"> 131.665 + <path 131.666 + inkscape:connector-curvature="0" 131.667 + id="path12811" 131.668 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.669 + 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" 131.670 + transform="scale(-0.6,-0.6)" /> 131.671 + </marker> 131.672 + <marker 131.673 + inkscape:stockid="Arrow2Mend" 131.674 + orient="auto" 131.675 + refY="0" 131.676 + refX="0" 131.677 + id="marker12813" 131.678 + style="overflow:visible"> 131.679 + <path 131.680 + inkscape:connector-curvature="0" 131.681 + id="path12815" 131.682 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.683 + 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" 131.684 + transform="scale(-0.6,-0.6)" /> 131.685 + </marker> 131.686 + <marker 131.687 + inkscape:stockid="Arrow2Mend" 131.688 + orient="auto" 131.689 + refY="0" 131.690 + refX="0" 131.691 + id="marker12817" 131.692 + style="overflow:visible"> 131.693 + <path 131.694 + inkscape:connector-curvature="0" 131.695 + id="path12819" 131.696 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.697 + 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" 131.698 + transform="scale(-0.6,-0.6)" /> 131.699 + </marker> 131.700 + <marker 131.701 + inkscape:stockid="Arrow2Mend" 131.702 + orient="auto" 131.703 + refY="0" 131.704 + refX="0" 131.705 + id="marker12821" 131.706 + style="overflow:visible"> 131.707 + <path 131.708 + inkscape:connector-curvature="0" 131.709 + id="path12823" 131.710 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.711 + 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" 131.712 + transform="scale(-0.6,-0.6)" /> 131.713 + </marker> 131.714 + <marker 131.715 + inkscape:stockid="Arrow2Mend" 131.716 + orient="auto" 131.717 + refY="0" 131.718 + refX="0" 131.719 + id="marker12825" 131.720 + style="overflow:visible"> 131.721 + <path 131.722 + inkscape:connector-curvature="0" 131.723 + id="path12827" 131.724 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.725 + 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" 131.726 + transform="scale(-0.6,-0.6)" /> 131.727 + </marker> 131.728 + <marker 131.729 + inkscape:stockid="Arrow2Mend" 131.730 + orient="auto" 131.731 + refY="0" 131.732 + refX="0" 131.733 + id="marker12829" 131.734 + style="overflow:visible"> 131.735 + <path 131.736 + inkscape:connector-curvature="0" 131.737 + id="path12831" 131.738 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.739 + 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" 131.740 + transform="scale(-0.6,-0.6)" /> 131.741 + </marker> 131.742 + <marker 131.743 + inkscape:stockid="Arrow2Mend" 131.744 + orient="auto" 131.745 + refY="0" 131.746 + refX="0" 131.747 + id="marker12833" 131.748 + style="overflow:visible"> 131.749 + <path 131.750 + inkscape:connector-curvature="0" 131.751 + id="path12835" 131.752 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.753 + 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" 131.754 + transform="scale(-0.6,-0.6)" /> 131.755 + </marker> 131.756 + <marker 131.757 + inkscape:stockid="Arrow2Mend" 131.758 + orient="auto" 131.759 + refY="0" 131.760 + refX="0" 131.761 + id="marker12837" 131.762 + style="overflow:visible"> 131.763 + <path 131.764 + inkscape:connector-curvature="0" 131.765 + id="path12839" 131.766 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.767 + 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" 131.768 + transform="scale(-0.6,-0.6)" /> 131.769 + </marker> 131.770 + <marker 131.771 + inkscape:stockid="Arrow2Mend" 131.772 + orient="auto" 131.773 + refY="0" 131.774 + refX="0" 131.775 + id="marker12841" 131.776 + style="overflow:visible"> 131.777 + <path 131.778 + inkscape:connector-curvature="0" 131.779 + id="path12843" 131.780 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.781 + 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" 131.782 + transform="scale(-0.6,-0.6)" /> 131.783 + </marker> 131.784 + <marker 131.785 + inkscape:stockid="Arrow2Mend" 131.786 + orient="auto" 131.787 + refY="0" 131.788 + refX="0" 131.789 + id="marker12845" 131.790 + style="overflow:visible"> 131.791 + <path 131.792 + inkscape:connector-curvature="0" 131.793 + id="path12847" 131.794 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.795 + 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" 131.796 + transform="scale(-0.6,-0.6)" /> 131.797 + </marker> 131.798 + <marker 131.799 + inkscape:stockid="Arrow2Mend" 131.800 + orient="auto" 131.801 + refY="0" 131.802 + refX="0" 131.803 + id="marker12849" 131.804 + style="overflow:visible"> 131.805 + <path 131.806 + inkscape:connector-curvature="0" 131.807 + id="path12851" 131.808 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.809 + 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" 131.810 + transform="scale(-0.6,-0.6)" /> 131.811 + </marker> 131.812 + <marker 131.813 + inkscape:stockid="Arrow2Mend" 131.814 + orient="auto" 131.815 + refY="0" 131.816 + refX="0" 131.817 + id="marker12853" 131.818 + style="overflow:visible"> 131.819 + <path 131.820 + inkscape:connector-curvature="0" 131.821 + id="path12855" 131.822 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.823 + 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" 131.824 + transform="scale(-0.6,-0.6)" /> 131.825 + </marker> 131.826 + <marker 131.827 + inkscape:stockid="Arrow2Mend" 131.828 + orient="auto" 131.829 + refY="0" 131.830 + refX="0" 131.831 + id="marker12857" 131.832 + style="overflow:visible"> 131.833 + <path 131.834 + inkscape:connector-curvature="0" 131.835 + id="path12859" 131.836 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.837 + 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" 131.838 + transform="scale(-0.6,-0.6)" /> 131.839 + </marker> 131.840 + <marker 131.841 + inkscape:stockid="Arrow2Mend" 131.842 + orient="auto" 131.843 + refY="0" 131.844 + refX="0" 131.845 + id="marker12861" 131.846 + style="overflow:visible"> 131.847 + <path 131.848 + inkscape:connector-curvature="0" 131.849 + id="path12863" 131.850 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 131.851 + 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" 131.852 + transform="scale(-0.6,-0.6)" /> 131.853 + </marker> 131.854 + </defs> 131.855 + <sodipodi:namedview 131.856 + id="base" 131.857 + pagecolor="#ffffff" 131.858 + bordercolor="#666666" 131.859 + borderopacity="1.0" 131.860 + gridtolerance="10000" 131.861 + guidetolerance="10" 131.862 + objecttolerance="10" 131.863 + inkscape:pageopacity="0.0" 131.864 + inkscape:pageshadow="2" 131.865 + inkscape:zoom="1.28" 131.866 + inkscape:cx="532.74389" 131.867 + inkscape:cy="349.97659" 131.868 + inkscape:document-units="px" 131.869 + inkscape:current-layer="layer1" 131.870 + showgrid="false" 131.871 + inkscape:window-width="1600" 131.872 + inkscape:window-height="848" 131.873 + inkscape:window-x="-8" 131.874 + inkscape:window-y="-8" 131.875 + inkscape:window-maximized="1" /> 131.876 + <metadata 131.877 + id="metadata7"> 131.878 + <rdf:RDF> 131.879 + <cc:Work 131.880 + rdf:about=""> 131.881 + <dc:format>image/svg+xml</dc:format> 131.882 + <dc:type 131.883 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 131.884 + <dc:title /> 131.885 + </cc:Work> 131.886 + </rdf:RDF> 131.887 + </metadata> 131.888 + <g 131.889 + inkscape:label="Layer 1" 131.890 + inkscape:groupmode="layer" 131.891 + id="layer1"> 131.892 + <text 131.893 + xml:space="preserve" 131.894 + style="font-size:14.09755802px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.895 + x="76.152191" 131.896 + y="376.30783" 131.897 + id="text3191" 131.898 + sodipodi:linespacing="100%" 131.899 + transform="scale(0.7715821,1.2960384)"><tspan 131.900 + id="tspan3195" 131.901 + sodipodi:role="line" 131.902 + x="76.152191" 131.903 + y="376.30783" 131.904 + style="font-size:22.05818939px;text-align:center;text-anchor:middle" /></text> 131.905 + <g 131.906 + id="g5620"> 131.907 + <text 131.908 + transform="scale(0.82746283,1.2085135)" 131.909 + sodipodi:linespacing="100%" 131.910 + id="text4565" 131.911 + y="495.27399" 131.912 + x="459.63635" 131.913 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.914 + xml:space="preserve"><tspan 131.915 + id="tspan17992" 131.916 + y="495.27399" 131.917 + x="459.63635" 131.918 + sodipodi:role="line" 131.919 + style="font-size:18px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">GP Core</tspan><tspan 131.920 + y="513.27399" 131.921 + x="459.63635" 131.922 + sodipodi:role="line" 131.923 + style="font-size:18px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 131.924 + id="tspan3478">(Runs Linux)</tspan></text> 131.925 + <rect 131.926 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.927 + id="rect4571" 131.928 + width="178.76964" 131.929 + height="46.376812" 131.930 + x="291.20938" 131.931 + y="580.39368" /> 131.932 + </g> 131.933 + <g 131.934 + id="g4592" 131.935 + transform="translate(-9.0231106,0)"> 131.936 + <g 131.937 + transform="translate(28,-220)" 131.938 + id="g3209"> 131.939 + <g 131.940 + transform="translate(-7.6972,42)" 131.941 + id="g3211"> 131.942 + <text 131.943 + xml:space="preserve" 131.944 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.945 + x="274.98383" 131.946 + y="534.73431" 131.947 + id="text3213" 131.948 + sodipodi:linespacing="100%" 131.949 + transform="scale(0.82746283,1.2085135)"><tspan 131.950 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.951 + sodipodi:role="line" 131.952 + x="274.98383" 131.953 + y="534.73431" 131.954 + id="tspan3215">DDR</tspan></text> 131.955 + <rect 131.956 + y="627.93683" 131.957 + x="212.75778" 131.958 + height="27.668646" 131.959 + width="30.827999" 131.960 + id="rect3217" 131.961 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.962 + </g> 131.963 + <g 131.964 + id="g3259" 131.965 + transform="translate(32.3028,42)"> 131.966 + <text 131.967 + transform="scale(0.82746283,1.2085135)" 131.968 + sodipodi:linespacing="100%" 131.969 + id="text3261" 131.970 + y="534.73431" 131.971 + x="274.98383" 131.972 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.973 + xml:space="preserve"><tspan 131.974 + id="tspan3263" 131.975 + y="534.73431" 131.976 + x="274.98383" 131.977 + sodipodi:role="line" 131.978 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.979 + <rect 131.980 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.981 + id="rect3265" 131.982 + width="30.827999" 131.983 + height="27.668646" 131.984 + x="212.75778" 131.985 + y="627.93683" /> 131.986 + </g> 131.987 + <g 131.988 + transform="translate(72.3028,42)" 131.989 + id="g3267"> 131.990 + <text 131.991 + xml:space="preserve" 131.992 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.993 + x="274.98383" 131.994 + y="534.73431" 131.995 + id="text3269" 131.996 + sodipodi:linespacing="100%" 131.997 + transform="scale(0.82746283,1.2085135)"><tspan 131.998 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.999 + sodipodi:role="line" 131.1000 + x="274.98383" 131.1001 + y="534.73431" 131.1002 + id="tspan3271">DDR</tspan></text> 131.1003 + <rect 131.1004 + y="627.93683" 131.1005 + x="212.75778" 131.1006 + height="27.668646" 131.1007 + width="30.827999" 131.1008 + id="rect3273" 131.1009 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1010 + </g> 131.1011 + <g 131.1012 + id="g3275" 131.1013 + transform="translate(112.3028,42)"> 131.1014 + <text 131.1015 + transform="scale(0.82746283,1.2085135)" 131.1016 + sodipodi:linespacing="100%" 131.1017 + id="text3277" 131.1018 + y="534.73431" 131.1019 + x="274.98383" 131.1020 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1021 + xml:space="preserve"><tspan 131.1022 + id="tspan3279" 131.1023 + y="534.73431" 131.1024 + x="274.98383" 131.1025 + sodipodi:role="line" 131.1026 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1027 + <rect 131.1028 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1029 + id="rect3281" 131.1030 + width="30.827999" 131.1031 + height="27.668646" 131.1032 + x="212.75778" 131.1033 + y="627.93683" /> 131.1034 + </g> 131.1035 + <g 131.1036 + transform="translate(152.3028,42)" 131.1037 + id="g3283"> 131.1038 + <text 131.1039 + xml:space="preserve" 131.1040 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1041 + x="274.98383" 131.1042 + y="534.73431" 131.1043 + id="text3285" 131.1044 + sodipodi:linespacing="100%" 131.1045 + transform="scale(0.82746283,1.2085135)"><tspan 131.1046 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1047 + sodipodi:role="line" 131.1048 + x="274.98383" 131.1049 + y="534.73431" 131.1050 + id="tspan3287">DDR</tspan></text> 131.1051 + <rect 131.1052 + y="627.93683" 131.1053 + x="212.75778" 131.1054 + height="27.668646" 131.1055 + width="30.827999" 131.1056 + id="rect3289" 131.1057 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1058 + </g> 131.1059 + <g 131.1060 + id="g3291" 131.1061 + transform="translate(192.3028,42)"> 131.1062 + <text 131.1063 + transform="scale(0.82746283,1.2085135)" 131.1064 + sodipodi:linespacing="100%" 131.1065 + id="text3293" 131.1066 + y="534.73431" 131.1067 + x="274.98383" 131.1068 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1069 + xml:space="preserve"><tspan 131.1070 + id="tspan3295" 131.1071 + y="534.73431" 131.1072 + x="274.98383" 131.1073 + sodipodi:role="line" 131.1074 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1075 + <rect 131.1076 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1077 + id="rect3297" 131.1078 + width="30.827999" 131.1079 + height="27.668646" 131.1080 + x="212.75778" 131.1081 + y="627.93683" /> 131.1082 + </g> 131.1083 + <g 131.1084 + transform="translate(232.3028,42)" 131.1085 + id="g3299"> 131.1086 + <text 131.1087 + xml:space="preserve" 131.1088 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1089 + x="274.98383" 131.1090 + y="534.73431" 131.1091 + id="text3301" 131.1092 + sodipodi:linespacing="100%" 131.1093 + transform="scale(0.82746283,1.2085135)"><tspan 131.1094 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1095 + sodipodi:role="line" 131.1096 + x="274.98383" 131.1097 + y="534.73431" 131.1098 + id="tspan3303">DDR</tspan></text> 131.1099 + <rect 131.1100 + y="627.93683" 131.1101 + x="212.75778" 131.1102 + height="27.668646" 131.1103 + width="30.827999" 131.1104 + id="rect3305" 131.1105 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1106 + </g> 131.1107 + <g 131.1108 + id="g3307" 131.1109 + transform="translate(272.3028,42)"> 131.1110 + <text 131.1111 + transform="scale(0.82746283,1.2085135)" 131.1112 + sodipodi:linespacing="100%" 131.1113 + id="text3309" 131.1114 + y="534.73431" 131.1115 + x="274.98383" 131.1116 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1117 + xml:space="preserve"><tspan 131.1118 + id="tspan3311" 131.1119 + y="534.73431" 131.1120 + x="274.98383" 131.1121 + sodipodi:role="line" 131.1122 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1123 + <rect 131.1124 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1125 + id="rect3313" 131.1126 + width="30.827999" 131.1127 + height="27.668646" 131.1128 + x="212.75778" 131.1129 + y="627.93683" /> 131.1130 + </g> 131.1131 + <g 131.1132 + id="g3315" 131.1133 + transform="translate(-7.6972,2)"> 131.1134 + <text 131.1135 + transform="scale(0.82746283,1.2085135)" 131.1136 + sodipodi:linespacing="100%" 131.1137 + id="text3317" 131.1138 + y="534.73431" 131.1139 + x="274.98383" 131.1140 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1141 + xml:space="preserve"><tspan 131.1142 + id="tspan3319" 131.1143 + y="534.73431" 131.1144 + x="274.98383" 131.1145 + sodipodi:role="line" 131.1146 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1147 + <rect 131.1148 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1149 + id="rect3321" 131.1150 + width="30.827999" 131.1151 + height="27.668646" 131.1152 + x="212.75778" 131.1153 + y="627.93683" /> 131.1154 + </g> 131.1155 + <g 131.1156 + transform="translate(32.3028,2)" 131.1157 + id="g3323"> 131.1158 + <text 131.1159 + xml:space="preserve" 131.1160 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1161 + x="274.98383" 131.1162 + y="534.73431" 131.1163 + id="text3325" 131.1164 + sodipodi:linespacing="100%" 131.1165 + transform="scale(0.82746283,1.2085135)"><tspan 131.1166 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1167 + sodipodi:role="line" 131.1168 + x="274.98383" 131.1169 + y="534.73431" 131.1170 + id="tspan3327">DDR</tspan></text> 131.1171 + <rect 131.1172 + y="627.93683" 131.1173 + x="212.75778" 131.1174 + height="27.668646" 131.1175 + width="30.827999" 131.1176 + id="rect3329" 131.1177 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1178 + </g> 131.1179 + <g 131.1180 + id="g3331" 131.1181 + transform="translate(72.3028,2)"> 131.1182 + <text 131.1183 + transform="scale(0.82746283,1.2085135)" 131.1184 + sodipodi:linespacing="100%" 131.1185 + id="text3333" 131.1186 + y="534.73431" 131.1187 + x="274.98383" 131.1188 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1189 + xml:space="preserve"><tspan 131.1190 + id="tspan3335" 131.1191 + y="534.73431" 131.1192 + x="274.98383" 131.1193 + sodipodi:role="line" 131.1194 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1195 + <rect 131.1196 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1197 + id="rect3337" 131.1198 + width="30.827999" 131.1199 + height="27.668646" 131.1200 + x="212.75778" 131.1201 + y="627.93683" /> 131.1202 + </g> 131.1203 + <g 131.1204 + transform="translate(112.3028,2)" 131.1205 + id="g3339"> 131.1206 + <text 131.1207 + xml:space="preserve" 131.1208 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1209 + x="274.98383" 131.1210 + y="534.73431" 131.1211 + id="text3341" 131.1212 + sodipodi:linespacing="100%" 131.1213 + transform="scale(0.82746283,1.2085135)"><tspan 131.1214 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1215 + sodipodi:role="line" 131.1216 + x="274.98383" 131.1217 + y="534.73431" 131.1218 + id="tspan3343">DDR</tspan></text> 131.1219 + <rect 131.1220 + y="627.93683" 131.1221 + x="212.75778" 131.1222 + height="27.668646" 131.1223 + width="30.827999" 131.1224 + id="rect3345" 131.1225 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1226 + </g> 131.1227 + <g 131.1228 + id="g3347" 131.1229 + transform="translate(152.3028,2)"> 131.1230 + <text 131.1231 + transform="scale(0.82746283,1.2085135)" 131.1232 + sodipodi:linespacing="100%" 131.1233 + id="text3349" 131.1234 + y="534.73431" 131.1235 + x="274.98383" 131.1236 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1237 + xml:space="preserve"><tspan 131.1238 + id="tspan3351" 131.1239 + y="534.73431" 131.1240 + x="274.98383" 131.1241 + sodipodi:role="line" 131.1242 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1243 + <rect 131.1244 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1245 + id="rect3353" 131.1246 + width="30.827999" 131.1247 + height="27.668646" 131.1248 + x="212.75778" 131.1249 + y="627.93683" /> 131.1250 + </g> 131.1251 + <g 131.1252 + transform="translate(192.3028,2)" 131.1253 + id="g3355"> 131.1254 + <text 131.1255 + xml:space="preserve" 131.1256 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1257 + x="274.98383" 131.1258 + y="534.73431" 131.1259 + id="text3357" 131.1260 + sodipodi:linespacing="100%" 131.1261 + transform="scale(0.82746283,1.2085135)"><tspan 131.1262 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1263 + sodipodi:role="line" 131.1264 + x="274.98383" 131.1265 + y="534.73431" 131.1266 + id="tspan3359">DDR</tspan></text> 131.1267 + <rect 131.1268 + y="627.93683" 131.1269 + x="212.75778" 131.1270 + height="27.668646" 131.1271 + width="30.827999" 131.1272 + id="rect3361" 131.1273 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1274 + </g> 131.1275 + <g 131.1276 + id="g3363" 131.1277 + transform="translate(232.3028,2)"> 131.1278 + <text 131.1279 + transform="scale(0.82746283,1.2085135)" 131.1280 + sodipodi:linespacing="100%" 131.1281 + id="text3365" 131.1282 + y="534.73431" 131.1283 + x="274.98383" 131.1284 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1285 + xml:space="preserve"><tspan 131.1286 + id="tspan3367" 131.1287 + y="534.73431" 131.1288 + x="274.98383" 131.1289 + sodipodi:role="line" 131.1290 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1291 + <rect 131.1292 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1293 + id="rect3369" 131.1294 + width="30.827999" 131.1295 + height="27.668646" 131.1296 + x="212.75778" 131.1297 + y="627.93683" /> 131.1298 + </g> 131.1299 + <g 131.1300 + transform="translate(272.3028,2)" 131.1301 + id="g3371"> 131.1302 + <text 131.1303 + xml:space="preserve" 131.1304 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1305 + x="274.98383" 131.1306 + y="534.73431" 131.1307 + id="text3373" 131.1308 + sodipodi:linespacing="100%" 131.1309 + transform="scale(0.82746283,1.2085135)"><tspan 131.1310 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1311 + sodipodi:role="line" 131.1312 + x="274.98383" 131.1313 + y="534.73431" 131.1314 + id="tspan3375">DDR</tspan></text> 131.1315 + <rect 131.1316 + y="627.93683" 131.1317 + x="212.75778" 131.1318 + height="27.668646" 131.1319 + width="30.827999" 131.1320 + id="rect3377" 131.1321 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1322 + </g> 131.1323 + <g 131.1324 + transform="translate(-7.6972,-38)" 131.1325 + id="g3379"> 131.1326 + <text 131.1327 + xml:space="preserve" 131.1328 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1329 + x="274.98383" 131.1330 + y="534.73431" 131.1331 + id="text3381" 131.1332 + sodipodi:linespacing="100%" 131.1333 + transform="scale(0.82746283,1.2085135)"><tspan 131.1334 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1335 + sodipodi:role="line" 131.1336 + x="274.98383" 131.1337 + y="534.73431" 131.1338 + id="tspan3383">DDR</tspan></text> 131.1339 + <rect 131.1340 + y="627.93683" 131.1341 + x="212.75778" 131.1342 + height="27.668646" 131.1343 + width="30.827999" 131.1344 + id="rect3385" 131.1345 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1346 + </g> 131.1347 + <g 131.1348 + id="g3387" 131.1349 + transform="translate(32.3028,-38)"> 131.1350 + <text 131.1351 + transform="scale(0.82746283,1.2085135)" 131.1352 + sodipodi:linespacing="100%" 131.1353 + id="text3389" 131.1354 + y="534.73431" 131.1355 + x="274.98383" 131.1356 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1357 + xml:space="preserve"><tspan 131.1358 + id="tspan3391" 131.1359 + y="534.73431" 131.1360 + x="274.98383" 131.1361 + sodipodi:role="line" 131.1362 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1363 + <rect 131.1364 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1365 + id="rect3393" 131.1366 + width="30.827999" 131.1367 + height="27.668646" 131.1368 + x="212.75778" 131.1369 + y="627.93683" /> 131.1370 + </g> 131.1371 + <g 131.1372 + transform="translate(72.3028,-38)" 131.1373 + id="g3395"> 131.1374 + <text 131.1375 + xml:space="preserve" 131.1376 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1377 + x="274.98383" 131.1378 + y="534.73431" 131.1379 + id="text3397" 131.1380 + sodipodi:linespacing="100%" 131.1381 + transform="scale(0.82746283,1.2085135)"><tspan 131.1382 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1383 + sodipodi:role="line" 131.1384 + x="274.98383" 131.1385 + y="534.73431" 131.1386 + id="tspan3399">DDR</tspan></text> 131.1387 + <rect 131.1388 + y="627.93683" 131.1389 + x="212.75778" 131.1390 + height="27.668646" 131.1391 + width="30.827999" 131.1392 + id="rect3401" 131.1393 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1394 + </g> 131.1395 + <g 131.1396 + id="g3403" 131.1397 + transform="translate(112.3028,-38)"> 131.1398 + <text 131.1399 + transform="scale(0.82746283,1.2085135)" 131.1400 + sodipodi:linespacing="100%" 131.1401 + id="text3405" 131.1402 + y="534.73431" 131.1403 + x="274.98383" 131.1404 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1405 + xml:space="preserve"><tspan 131.1406 + id="tspan3407" 131.1407 + y="534.73431" 131.1408 + x="274.98383" 131.1409 + sodipodi:role="line" 131.1410 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1411 + <rect 131.1412 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1413 + id="rect3409" 131.1414 + width="30.827999" 131.1415 + height="27.668646" 131.1416 + x="212.75778" 131.1417 + y="627.93683" /> 131.1418 + </g> 131.1419 + <g 131.1420 + transform="translate(152.3028,-38)" 131.1421 + id="g3411"> 131.1422 + <text 131.1423 + xml:space="preserve" 131.1424 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1425 + x="274.98383" 131.1426 + y="534.73431" 131.1427 + id="text3413" 131.1428 + sodipodi:linespacing="100%" 131.1429 + transform="scale(0.82746283,1.2085135)"><tspan 131.1430 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1431 + sodipodi:role="line" 131.1432 + x="274.98383" 131.1433 + y="534.73431" 131.1434 + id="tspan3415">DDR</tspan></text> 131.1435 + <rect 131.1436 + y="627.93683" 131.1437 + x="212.75778" 131.1438 + height="27.668646" 131.1439 + width="30.827999" 131.1440 + id="rect3417" 131.1441 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1442 + </g> 131.1443 + <g 131.1444 + id="g3419" 131.1445 + transform="translate(192.3028,-38)"> 131.1446 + <text 131.1447 + transform="scale(0.82746283,1.2085135)" 131.1448 + sodipodi:linespacing="100%" 131.1449 + id="text3421" 131.1450 + y="534.73431" 131.1451 + x="274.98383" 131.1452 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1453 + xml:space="preserve"><tspan 131.1454 + id="tspan3423" 131.1455 + y="534.73431" 131.1456 + x="274.98383" 131.1457 + sodipodi:role="line" 131.1458 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1459 + <rect 131.1460 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1461 + id="rect3425" 131.1462 + width="30.827999" 131.1463 + height="27.668646" 131.1464 + x="212.75778" 131.1465 + y="627.93683" /> 131.1466 + </g> 131.1467 + <g 131.1468 + transform="translate(232.3028,-38)" 131.1469 + id="g3427"> 131.1470 + <text 131.1471 + xml:space="preserve" 131.1472 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1473 + x="274.98383" 131.1474 + y="534.73431" 131.1475 + id="text3429" 131.1476 + sodipodi:linespacing="100%" 131.1477 + transform="scale(0.82746283,1.2085135)"><tspan 131.1478 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1479 + sodipodi:role="line" 131.1480 + x="274.98383" 131.1481 + y="534.73431" 131.1482 + id="tspan3431">DDR</tspan></text> 131.1483 + <rect 131.1484 + y="627.93683" 131.1485 + x="212.75778" 131.1486 + height="27.668646" 131.1487 + width="30.827999" 131.1488 + id="rect3433" 131.1489 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1490 + </g> 131.1491 + <g 131.1492 + id="g3435" 131.1493 + transform="translate(272.3028,-38)"> 131.1494 + <text 131.1495 + transform="scale(0.82746283,1.2085135)" 131.1496 + sodipodi:linespacing="100%" 131.1497 + id="text3437" 131.1498 + y="534.73431" 131.1499 + x="274.98383" 131.1500 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1501 + xml:space="preserve"><tspan 131.1502 + id="tspan3439" 131.1503 + y="534.73431" 131.1504 + x="274.98383" 131.1505 + sodipodi:role="line" 131.1506 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">DDR</tspan></text> 131.1507 + <rect 131.1508 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1509 + id="rect3441" 131.1510 + width="30.827999" 131.1511 + height="27.668646" 131.1512 + x="212.75778" 131.1513 + y="627.93683" /> 131.1514 + </g> 131.1515 + <path 131.1516 + sodipodi:nodetypes="cc" 131.1517 + inkscape:connector-curvature="0" 131.1518 + id="path3445" 131.1519 + d="m 221.02564,616.73825 0,122.22222" 131.1520 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 131.1521 + <path 131.1522 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 131.1523 + d="m 261.02564,616.73825 0,122.22222" 131.1524 + id="path4499" 131.1525 + inkscape:connector-curvature="0" 131.1526 + sodipodi:nodetypes="cc" /> 131.1527 + <path 131.1528 + sodipodi:nodetypes="cc" 131.1529 + inkscape:connector-curvature="0" 131.1530 + id="path4501" 131.1531 + d="m 301.02564,616.73825 0,122.22222" 131.1532 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 131.1533 + <path 131.1534 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 131.1535 + d="m 341.02564,616.73825 0,122.22222" 131.1536 + id="path4503" 131.1537 + inkscape:connector-curvature="0" 131.1538 + sodipodi:nodetypes="cc" /> 131.1539 + <path 131.1540 + sodipodi:nodetypes="cc" 131.1541 + inkscape:connector-curvature="0" 131.1542 + id="path4505" 131.1543 + d="m 381.02564,616.73825 0,122.22222" 131.1544 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 131.1545 + <path 131.1546 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 131.1547 + d="m 421.02564,616.73825 0,122.22222" 131.1548 + id="path4507" 131.1549 + inkscape:connector-curvature="0" 131.1550 + sodipodi:nodetypes="cc" /> 131.1551 + <path 131.1552 + sodipodi:nodetypes="cc" 131.1553 + inkscape:connector-curvature="0" 131.1554 + id="path4509" 131.1555 + d="m 461.02564,616.73825 0,122.22222" 131.1556 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 131.1557 + <path 131.1558 + style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 131.1559 + d="m 501.02564,616.73825 0,122.22222" 131.1560 + id="path4511" 131.1561 + inkscape:connector-curvature="0" 131.1562 + sodipodi:nodetypes="cc" /> 131.1563 + <g 131.1564 + id="g4519" 131.1565 + transform="translate(0,-4)"> 131.1566 + <path 131.1567 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 131.1568 + d="m 213.29914,724.15705 15.38462,-7.6923" 131.1569 + id="path4513" 131.1570 + inkscape:connector-curvature="0" 131.1571 + sodipodi:nodetypes="cc" /> 131.1572 + <text 131.1573 + xml:space="preserve" 131.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:Xpress SF;-inkscape-font-specification:Xpress SF" 131.1575 + x="204.61539" 131.1576 + y="725.64423" 131.1577 + id="text4515" 131.1578 + sodipodi:linespacing="125%"><tspan 131.1579 + sodipodi:role="line" 131.1580 + id="tspan4517" 131.1581 + x="204.61539" 131.1582 + y="725.64423">8</tspan></text> 131.1583 + </g> 131.1584 + <g 131.1585 + transform="translate(40,-4)" 131.1586 + id="g4524"> 131.1587 + <path 131.1588 + sodipodi:nodetypes="cc" 131.1589 + inkscape:connector-curvature="0" 131.1590 + id="path4526" 131.1591 + d="m 213.29914,724.15705 15.38462,-7.6923" 131.1592 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 131.1593 + <text 131.1594 + sodipodi:linespacing="125%" 131.1595 + id="text4528" 131.1596 + y="725.64423" 131.1597 + x="204.61539" 131.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:Xpress SF;-inkscape-font-specification:Xpress SF" 131.1599 + xml:space="preserve"><tspan 131.1600 + y="725.64423" 131.1601 + x="204.61539" 131.1602 + id="tspan4530" 131.1603 + sodipodi:role="line">8</tspan></text> 131.1604 + </g> 131.1605 + <g 131.1606 + id="g4532" 131.1607 + transform="translate(80,-4)"> 131.1608 + <path 131.1609 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 131.1610 + d="m 213.29914,724.15705 15.38462,-7.6923" 131.1611 + id="path4534" 131.1612 + inkscape:connector-curvature="0" 131.1613 + sodipodi:nodetypes="cc" /> 131.1614 + <text 131.1615 + xml:space="preserve" 131.1616 + 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" 131.1617 + x="204.61539" 131.1618 + y="725.64423" 131.1619 + id="text4536" 131.1620 + sodipodi:linespacing="125%"><tspan 131.1621 + sodipodi:role="line" 131.1622 + id="tspan4538" 131.1623 + x="204.61539" 131.1624 + y="725.64423">8</tspan></text> 131.1625 + </g> 131.1626 + <g 131.1627 + transform="translate(120,-4)" 131.1628 + id="g4540"> 131.1629 + <path 131.1630 + sodipodi:nodetypes="cc" 131.1631 + inkscape:connector-curvature="0" 131.1632 + id="path4542" 131.1633 + d="m 213.29914,724.15705 15.38462,-7.6923" 131.1634 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 131.1635 + <text 131.1636 + sodipodi:linespacing="125%" 131.1637 + id="text4544" 131.1638 + y="725.64423" 131.1639 + x="204.61539" 131.1640 + 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" 131.1641 + xml:space="preserve"><tspan 131.1642 + y="725.64423" 131.1643 + x="204.61539" 131.1644 + id="tspan4546" 131.1645 + sodipodi:role="line">8</tspan></text> 131.1646 + </g> 131.1647 + <g 131.1648 + id="g4548" 131.1649 + transform="translate(160,-4)"> 131.1650 + <path 131.1651 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 131.1652 + d="m 213.29914,724.15705 15.38462,-7.6923" 131.1653 + id="path4550" 131.1654 + inkscape:connector-curvature="0" 131.1655 + sodipodi:nodetypes="cc" /> 131.1656 + <text 131.1657 + xml:space="preserve" 131.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:Xpress SF;-inkscape-font-specification:Xpress SF" 131.1659 + x="204.61539" 131.1660 + y="725.64423" 131.1661 + id="text4552" 131.1662 + sodipodi:linespacing="125%"><tspan 131.1663 + sodipodi:role="line" 131.1664 + id="tspan4554" 131.1665 + x="204.61539" 131.1666 + y="725.64423">8</tspan></text> 131.1667 + </g> 131.1668 + <g 131.1669 + transform="translate(200,-4)" 131.1670 + id="g4556"> 131.1671 + <path 131.1672 + sodipodi:nodetypes="cc" 131.1673 + inkscape:connector-curvature="0" 131.1674 + id="path4558" 131.1675 + d="m 213.29914,724.15705 15.38462,-7.6923" 131.1676 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 131.1677 + <text 131.1678 + sodipodi:linespacing="125%" 131.1679 + id="text4560" 131.1680 + y="725.64423" 131.1681 + x="204.61539" 131.1682 + 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" 131.1683 + xml:space="preserve"><tspan 131.1684 + y="725.64423" 131.1685 + x="204.61539" 131.1686 + id="tspan4562" 131.1687 + sodipodi:role="line">8</tspan></text> 131.1688 + </g> 131.1689 + <g 131.1690 + id="g4564" 131.1691 + transform="translate(240,-4)"> 131.1692 + <path 131.1693 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 131.1694 + d="m 213.29914,724.15705 15.38462,-7.6923" 131.1695 + id="path4566" 131.1696 + inkscape:connector-curvature="0" 131.1697 + sodipodi:nodetypes="cc" /> 131.1698 + <text 131.1699 + xml:space="preserve" 131.1700 + 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" 131.1701 + x="204.61539" 131.1702 + y="725.64423" 131.1703 + id="text4568" 131.1704 + sodipodi:linespacing="125%"><tspan 131.1705 + sodipodi:role="line" 131.1706 + id="tspan4570" 131.1707 + x="204.61539" 131.1708 + y="725.64423">8</tspan></text> 131.1709 + </g> 131.1710 + <g 131.1711 + transform="translate(280,-4)" 131.1712 + id="g4572"> 131.1713 + <path 131.1714 + sodipodi:nodetypes="cc" 131.1715 + inkscape:connector-curvature="0" 131.1716 + id="path4574" 131.1717 + d="m 213.29914,724.15705 15.38462,-7.6923" 131.1718 + style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> 131.1719 + <text 131.1720 + sodipodi:linespacing="125%" 131.1721 + id="text4576" 131.1722 + y="725.64423" 131.1723 + x="204.61539" 131.1724 + 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" 131.1725 + xml:space="preserve"><tspan 131.1726 + y="725.64423" 131.1727 + x="204.61539" 131.1728 + id="tspan4578" 131.1729 + sodipodi:role="line">8</tspan></text> 131.1730 + </g> 131.1731 + </g> 131.1732 + <g 131.1733 + id="g4580" 131.1734 + transform="translate(28,60)"> 131.1735 + <text 131.1736 + transform="scale(0.82746283,1.2085135)" 131.1737 + sodipodi:linespacing="100%" 131.1738 + id="text4582" 131.1739 + y="399.2883" 131.1740 + x="436.08875" 131.1741 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1742 + xml:space="preserve"><tspan 131.1743 + y="399.2883" 131.1744 + x="436.08875" 131.1745 + sodipodi:role="line" 131.1746 + style="font-size:17.99999999px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1747 + id="tspan4586">Mem Ctlr</tspan></text> 131.1748 + <rect 131.1749 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1750 + id="rect4588" 131.1751 + width="310.39359" 131.1752 + height="27.760727" 131.1753 + x="205.73933" 131.1754 + y="460.28409" /> 131.1755 + </g> 131.1756 + </g> 131.1757 + <rect 131.1758 + style="fill:none;stroke:#000000;stroke-width:1.8006357;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.20254278,1.8006357;stroke-dashoffset:0" 131.1759 + id="rect4905" 131.1760 + width="403.92484" 131.1761 + height="387.93829" 131.1762 + x="178.63179" 131.1763 + y="510.72516" /> 131.1764 + <text 131.1765 + transform="scale(0.82746283,1.2085135)" 131.1766 + sodipodi:linespacing="100%" 131.1767 + id="text5614" 131.1768 + y="263.58441" 131.1769 + x="459.63635" 131.1770 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1771 + xml:space="preserve"><tspan 131.1772 + y="263.58441" 131.1773 + x="459.63635" 131.1774 + sodipodi:role="line" 131.1775 + style="font-size:24px;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1" 131.1776 + id="tspan5618">Chip plus Memory System</tspan></text> 131.1777 + <g 131.1778 + id="g11906" 131.1779 + transform="translate(-3.6245461,-6)"> 131.1780 + <g 131.1781 + transform="translate(424,0)" 131.1782 + id="g5281"> 131.1783 + <g 131.1784 + id="g5283" 131.1785 + transform="translate(0.41662025,0)"> 131.1786 + <text 131.1787 + transform="scale(0.82746283,1.2085135)" 131.1788 + sodipodi:linespacing="100%" 131.1789 + id="text5285" 131.1790 + y="565.94647" 131.1791 + x="120.5689" 131.1792 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1793 + xml:space="preserve"><tspan 131.1794 + id="tspan5287" 131.1795 + y="565.94647" 131.1796 + x="120.5689" 131.1797 + sodipodi:role="line" 131.1798 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 131.1799 + <rect 131.1800 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1801 + id="rect5289" 131.1802 + width="52.911961" 131.1803 + height="17.632017" 131.1804 + x="73.346153" 131.1805 + y="669.93683" /> 131.1806 + </g> 131.1807 + <g 131.1808 + id="g5301" 131.1809 + transform="translate(0.17152214,-24)"> 131.1810 + <rect 131.1811 + y="716.99664" 131.1812 + x="71.385368" 131.1813 + height="11.42933" 131.1814 + width="57.323727" 131.1815 + id="rect5303" 131.1816 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1817 + <text 131.1818 + xml:space="preserve" 131.1819 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1820 + x="120.69847" 131.1821 + y="600.67786" 131.1822 + id="text5305" 131.1823 + sodipodi:linespacing="100%" 131.1824 + transform="scale(0.82746283,1.2085135)"><tspan 131.1825 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 131.1826 + sodipodi:role="line" 131.1827 + x="120.69847" 131.1828 + y="600.67786" 131.1829 + id="tspan5307">Pipelines</tspan></text> 131.1830 + </g> 131.1831 + <g 131.1832 + id="g5309" 131.1833 + transform="translate(4.171504,8.546988)"> 131.1834 + <g 131.1835 + id="g5311" 131.1836 + transform="translate(-227.6972,42)"> 131.1837 + <rect 131.1838 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1839 + id="rect5313" 131.1840 + width="40.22971" 131.1841 + height="11.42933" 131.1842 + x="-668.27917" 131.1843 + y="280.02979" 131.1844 + transform="matrix(0,-1,1,0,0,0)" /> 131.1845 + </g> 131.1846 + <text 131.1847 + xml:space="preserve" 131.1848 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1849 + x="-834.42664" 131.1850 + y="51.305866" 131.1851 + id="text5315" 131.1852 + sodipodi:linespacing="100%" 131.1853 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 131.1854 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 131.1855 + sodipodi:role="line" 131.1856 + x="-834.42664" 131.1857 + y="51.305866" 131.1858 + id="tspan5317">Net Intf</tspan></text> 131.1859 + </g> 131.1860 + <g 131.1861 + transform="translate(0.41662025,40)" 131.1862 + id="g11783"> 131.1863 + <text 131.1864 + xml:space="preserve" 131.1865 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1866 + x="120.5689" 131.1867 + y="565.94647" 131.1868 + id="text11785" 131.1869 + sodipodi:linespacing="100%" 131.1870 + transform="scale(0.82746283,1.2085135)"><tspan 131.1871 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1872 + sodipodi:role="line" 131.1873 + x="120.5689" 131.1874 + y="565.94647" 131.1875 + id="tspan11787">Local Mem</tspan></text> 131.1876 + <rect 131.1877 + y="669.93683" 131.1878 + x="73.346153" 131.1879 + height="17.632017" 131.1880 + width="52.911961" 131.1881 + id="rect11789" 131.1882 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1883 + </g> 131.1884 + <rect 131.1885 + y="665.42114" 131.1886 + x="51.887772" 131.1887 + height="66.069519" 131.1888 + width="96.661964" 131.1889 + id="rect11789-5" 131.1890 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1891 + <g 131.1892 + transform="translate(80.171504,8.546988)" 131.1893 + id="g12275"> 131.1894 + <g 131.1895 + transform="translate(-227.6972,42)" 131.1896 + id="g12277"> 131.1897 + <rect 131.1898 + transform="matrix(0,-1,1,0,0,0)" 131.1899 + y="280.02979" 131.1900 + x="-668.27917" 131.1901 + height="11.42933" 131.1902 + width="40.22971" 131.1903 + id="rect12279" 131.1904 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1905 + </g> 131.1906 + <text 131.1907 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 131.1908 + sodipodi:linespacing="100%" 131.1909 + id="text12281" 131.1910 + y="51.305866" 131.1911 + x="-834.42664" 131.1912 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1913 + xml:space="preserve"><tspan 131.1914 + id="tspan12283" 131.1915 + y="51.305866" 131.1916 + x="-834.42664" 131.1917 + sodipodi:role="line" 131.1918 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 131.1919 + </g> 131.1920 + </g> 131.1921 + <g 131.1922 + id="g12285" 131.1923 + transform="translate(284,0)"> 131.1924 + <g 131.1925 + transform="translate(0.41662025,0)" 131.1926 + id="g12287"> 131.1927 + <text 131.1928 + xml:space="preserve" 131.1929 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1930 + x="120.5689" 131.1931 + y="565.94647" 131.1932 + id="text12289" 131.1933 + sodipodi:linespacing="100%" 131.1934 + transform="scale(0.82746283,1.2085135)"><tspan 131.1935 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.1936 + sodipodi:role="line" 131.1937 + x="120.5689" 131.1938 + y="565.94647" 131.1939 + id="tspan12291">Local Mem</tspan></text> 131.1940 + <rect 131.1941 + y="669.93683" 131.1942 + x="73.346153" 131.1943 + height="17.632017" 131.1944 + width="52.911961" 131.1945 + id="rect12293" 131.1946 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1947 + </g> 131.1948 + <g 131.1949 + transform="translate(0.17152214,-24)" 131.1950 + id="g12295"> 131.1951 + <rect 131.1952 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.1953 + id="rect12297" 131.1954 + width="57.323727" 131.1955 + height="11.42933" 131.1956 + x="71.385368" 131.1957 + y="716.99664" /> 131.1958 + <text 131.1959 + transform="scale(0.82746283,1.2085135)" 131.1960 + sodipodi:linespacing="100%" 131.1961 + id="text12299" 131.1962 + y="600.67786" 131.1963 + x="120.69847" 131.1964 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1965 + xml:space="preserve"><tspan 131.1966 + id="tspan12301" 131.1967 + y="600.67786" 131.1968 + x="120.69847" 131.1969 + sodipodi:role="line" 131.1970 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Pipelines</tspan></text> 131.1971 + </g> 131.1972 + <g 131.1973 + transform="translate(4.171504,8.546988)" 131.1974 + id="g12303"> 131.1975 + <g 131.1976 + transform="translate(-227.6972,42)" 131.1977 + id="g12305"> 131.1978 + <rect 131.1979 + transform="matrix(0,-1,1,0,0,0)" 131.1980 + y="280.02979" 131.1981 + x="-668.27917" 131.1982 + height="11.42933" 131.1983 + width="40.22971" 131.1984 + id="rect12307" 131.1985 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.1986 + </g> 131.1987 + <text 131.1988 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 131.1989 + sodipodi:linespacing="100%" 131.1990 + id="text12309" 131.1991 + y="51.305866" 131.1992 + x="-834.42664" 131.1993 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.1994 + xml:space="preserve"><tspan 131.1995 + id="tspan12311" 131.1996 + y="51.305866" 131.1997 + x="-834.42664" 131.1998 + sodipodi:role="line" 131.1999 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 131.2000 + </g> 131.2001 + <g 131.2002 + id="g12313" 131.2003 + transform="translate(0.41662025,40)"> 131.2004 + <text 131.2005 + transform="scale(0.82746283,1.2085135)" 131.2006 + sodipodi:linespacing="100%" 131.2007 + id="text12315" 131.2008 + y="565.94647" 131.2009 + x="120.5689" 131.2010 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2011 + xml:space="preserve"><tspan 131.2012 + id="tspan12317" 131.2013 + y="565.94647" 131.2014 + x="120.5689" 131.2015 + sodipodi:role="line" 131.2016 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 131.2017 + <rect 131.2018 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2019 + id="rect12319" 131.2020 + width="52.911961" 131.2021 + height="17.632017" 131.2022 + x="73.346153" 131.2023 + y="669.93683" /> 131.2024 + </g> 131.2025 + <rect 131.2026 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2027 + id="rect12321" 131.2028 + width="96.661964" 131.2029 + height="66.069519" 131.2030 + x="51.887772" 131.2031 + y="665.42114" /> 131.2032 + <g 131.2033 + id="g12323" 131.2034 + transform="translate(80.171504,8.546988)"> 131.2035 + <g 131.2036 + id="g12325" 131.2037 + transform="translate(-227.6972,42)"> 131.2038 + <rect 131.2039 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2040 + id="rect12327" 131.2041 + width="40.22971" 131.2042 + height="11.42933" 131.2043 + x="-668.27917" 131.2044 + y="280.02979" 131.2045 + transform="matrix(0,-1,1,0,0,0)" /> 131.2046 + </g> 131.2047 + <text 131.2048 + xml:space="preserve" 131.2049 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2050 + x="-834.42664" 131.2051 + y="51.305866" 131.2052 + id="text12329" 131.2053 + sodipodi:linespacing="100%" 131.2054 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 131.2055 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 131.2056 + sodipodi:role="line" 131.2057 + x="-834.42664" 131.2058 + y="51.305866" 131.2059 + id="tspan12331">Net Intf</tspan></text> 131.2060 + </g> 131.2061 + </g> 131.2062 + <g 131.2063 + transform="translate(144,0)" 131.2064 + id="g12333"> 131.2065 + <g 131.2066 + id="g12335" 131.2067 + transform="translate(0.41662025,0)"> 131.2068 + <text 131.2069 + transform="scale(0.82746283,1.2085135)" 131.2070 + sodipodi:linespacing="100%" 131.2071 + id="text12337" 131.2072 + y="565.94647" 131.2073 + x="120.5689" 131.2074 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2075 + xml:space="preserve"><tspan 131.2076 + id="tspan12339" 131.2077 + y="565.94647" 131.2078 + x="120.5689" 131.2079 + sodipodi:role="line" 131.2080 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 131.2081 + <rect 131.2082 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2083 + id="rect12341" 131.2084 + width="52.911961" 131.2085 + height="17.632017" 131.2086 + x="73.346153" 131.2087 + y="669.93683" /> 131.2088 + </g> 131.2089 + <g 131.2090 + id="g12343" 131.2091 + transform="translate(0.17152214,-24)"> 131.2092 + <rect 131.2093 + y="716.99664" 131.2094 + x="71.385368" 131.2095 + height="11.42933" 131.2096 + width="57.323727" 131.2097 + id="rect12345" 131.2098 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2099 + <text 131.2100 + xml:space="preserve" 131.2101 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2102 + x="120.69847" 131.2103 + y="600.67786" 131.2104 + id="text12347" 131.2105 + sodipodi:linespacing="100%" 131.2106 + transform="scale(0.82746283,1.2085135)"><tspan 131.2107 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 131.2108 + sodipodi:role="line" 131.2109 + x="120.69847" 131.2110 + y="600.67786" 131.2111 + id="tspan12349">Pipelines</tspan></text> 131.2112 + </g> 131.2113 + <g 131.2114 + id="g12351" 131.2115 + transform="translate(4.171504,8.546988)"> 131.2116 + <g 131.2117 + id="g12353" 131.2118 + transform="translate(-227.6972,42)"> 131.2119 + <rect 131.2120 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2121 + id="rect12355" 131.2122 + width="40.22971" 131.2123 + height="11.42933" 131.2124 + x="-668.27917" 131.2125 + y="280.02979" 131.2126 + transform="matrix(0,-1,1,0,0,0)" /> 131.2127 + </g> 131.2128 + <text 131.2129 + xml:space="preserve" 131.2130 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2131 + x="-834.42664" 131.2132 + y="51.305866" 131.2133 + id="text12357" 131.2134 + sodipodi:linespacing="100%" 131.2135 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 131.2136 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 131.2137 + sodipodi:role="line" 131.2138 + x="-834.42664" 131.2139 + y="51.305866" 131.2140 + id="tspan12359">Net Intf</tspan></text> 131.2141 + </g> 131.2142 + <g 131.2143 + transform="translate(0.41662025,40)" 131.2144 + id="g12361"> 131.2145 + <text 131.2146 + xml:space="preserve" 131.2147 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2148 + x="120.5689" 131.2149 + y="565.94647" 131.2150 + id="text12363" 131.2151 + sodipodi:linespacing="100%" 131.2152 + transform="scale(0.82746283,1.2085135)"><tspan 131.2153 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.2154 + sodipodi:role="line" 131.2155 + x="120.5689" 131.2156 + y="565.94647" 131.2157 + id="tspan12365">Local Mem</tspan></text> 131.2158 + <rect 131.2159 + y="669.93683" 131.2160 + x="73.346153" 131.2161 + height="17.632017" 131.2162 + width="52.911961" 131.2163 + id="rect12367" 131.2164 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2165 + </g> 131.2166 + <rect 131.2167 + y="665.42114" 131.2168 + x="51.887772" 131.2169 + height="66.069519" 131.2170 + width="96.661964" 131.2171 + id="rect12369" 131.2172 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2173 + <g 131.2174 + transform="translate(80.171504,8.546988)" 131.2175 + id="g12371"> 131.2176 + <g 131.2177 + transform="translate(-227.6972,42)" 131.2178 + id="g12373"> 131.2179 + <rect 131.2180 + transform="matrix(0,-1,1,0,0,0)" 131.2181 + y="280.02979" 131.2182 + x="-668.27917" 131.2183 + height="11.42933" 131.2184 + width="40.22971" 131.2185 + id="rect12375" 131.2186 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2187 + </g> 131.2188 + <text 131.2189 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 131.2190 + sodipodi:linespacing="100%" 131.2191 + id="text12377" 131.2192 + y="51.305866" 131.2193 + x="-834.42664" 131.2194 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2195 + xml:space="preserve"><tspan 131.2196 + id="tspan12379" 131.2197 + y="51.305866" 131.2198 + x="-834.42664" 131.2199 + sodipodi:role="line" 131.2200 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 131.2201 + </g> 131.2202 + </g> 131.2203 + </g> 131.2204 + <g 131.2205 + id="g12381" 131.2206 + transform="translate(-3.6245461,74)"> 131.2207 + <g 131.2208 + id="g12383" 131.2209 + transform="translate(424,0)"> 131.2210 + <g 131.2211 + transform="translate(0.41662025,0)" 131.2212 + id="g12385"> 131.2213 + <text 131.2214 + xml:space="preserve" 131.2215 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2216 + x="120.5689" 131.2217 + y="565.94647" 131.2218 + id="text12387" 131.2219 + sodipodi:linespacing="100%" 131.2220 + transform="scale(0.82746283,1.2085135)"><tspan 131.2221 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.2222 + sodipodi:role="line" 131.2223 + x="120.5689" 131.2224 + y="565.94647" 131.2225 + id="tspan12389">Local Mem</tspan></text> 131.2226 + <rect 131.2227 + y="669.93683" 131.2228 + x="73.346153" 131.2229 + height="17.632017" 131.2230 + width="52.911961" 131.2231 + id="rect12391" 131.2232 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2233 + </g> 131.2234 + <g 131.2235 + transform="translate(0.17152214,-24)" 131.2236 + id="g12393"> 131.2237 + <rect 131.2238 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2239 + id="rect12395" 131.2240 + width="57.323727" 131.2241 + height="11.42933" 131.2242 + x="71.385368" 131.2243 + y="716.99664" /> 131.2244 + <text 131.2245 + transform="scale(0.82746283,1.2085135)" 131.2246 + sodipodi:linespacing="100%" 131.2247 + id="text12397" 131.2248 + y="600.67786" 131.2249 + x="120.69847" 131.2250 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2251 + xml:space="preserve"><tspan 131.2252 + id="tspan12399" 131.2253 + y="600.67786" 131.2254 + x="120.69847" 131.2255 + sodipodi:role="line" 131.2256 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Pipelines</tspan></text> 131.2257 + </g> 131.2258 + <g 131.2259 + transform="translate(4.171504,8.546988)" 131.2260 + id="g12401"> 131.2261 + <g 131.2262 + transform="translate(-227.6972,42)" 131.2263 + id="g12403"> 131.2264 + <rect 131.2265 + transform="matrix(0,-1,1,0,0,0)" 131.2266 + y="280.02979" 131.2267 + x="-668.27917" 131.2268 + height="11.42933" 131.2269 + width="40.22971" 131.2270 + id="rect12405" 131.2271 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2272 + </g> 131.2273 + <text 131.2274 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 131.2275 + sodipodi:linespacing="100%" 131.2276 + id="text12407" 131.2277 + y="51.305866" 131.2278 + x="-834.42664" 131.2279 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2280 + xml:space="preserve"><tspan 131.2281 + id="tspan12409" 131.2282 + y="51.305866" 131.2283 + x="-834.42664" 131.2284 + sodipodi:role="line" 131.2285 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 131.2286 + </g> 131.2287 + <g 131.2288 + id="g12411" 131.2289 + transform="translate(0.41662025,40)"> 131.2290 + <text 131.2291 + transform="scale(0.82746283,1.2085135)" 131.2292 + sodipodi:linespacing="100%" 131.2293 + id="text12413" 131.2294 + y="565.94647" 131.2295 + x="120.5689" 131.2296 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2297 + xml:space="preserve"><tspan 131.2298 + id="tspan12415" 131.2299 + y="565.94647" 131.2300 + x="120.5689" 131.2301 + sodipodi:role="line" 131.2302 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 131.2303 + <rect 131.2304 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2305 + id="rect12417" 131.2306 + width="52.911961" 131.2307 + height="17.632017" 131.2308 + x="73.346153" 131.2309 + y="669.93683" /> 131.2310 + </g> 131.2311 + <rect 131.2312 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2313 + id="rect12419" 131.2314 + width="96.661964" 131.2315 + height="66.069519" 131.2316 + x="51.887772" 131.2317 + y="665.42114" /> 131.2318 + <g 131.2319 + id="g12421" 131.2320 + transform="translate(80.171504,8.546988)"> 131.2321 + <g 131.2322 + id="g12423" 131.2323 + transform="translate(-227.6972,42)"> 131.2324 + <rect 131.2325 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2326 + id="rect12425" 131.2327 + width="40.22971" 131.2328 + height="11.42933" 131.2329 + x="-668.27917" 131.2330 + y="280.02979" 131.2331 + transform="matrix(0,-1,1,0,0,0)" /> 131.2332 + </g> 131.2333 + <text 131.2334 + xml:space="preserve" 131.2335 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2336 + x="-834.42664" 131.2337 + y="51.305866" 131.2338 + id="text12427" 131.2339 + sodipodi:linespacing="100%" 131.2340 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 131.2341 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 131.2342 + sodipodi:role="line" 131.2343 + x="-834.42664" 131.2344 + y="51.305866" 131.2345 + id="tspan12429">Net Intf</tspan></text> 131.2346 + </g> 131.2347 + </g> 131.2348 + <g 131.2349 + transform="translate(284,0)" 131.2350 + id="g12431"> 131.2351 + <g 131.2352 + id="g12433" 131.2353 + transform="translate(0.41662025,0)"> 131.2354 + <text 131.2355 + transform="scale(0.82746283,1.2085135)" 131.2356 + sodipodi:linespacing="100%" 131.2357 + id="text12435" 131.2358 + y="565.94647" 131.2359 + x="120.5689" 131.2360 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2361 + xml:space="preserve"><tspan 131.2362 + id="tspan12437" 131.2363 + y="565.94647" 131.2364 + x="120.5689" 131.2365 + sodipodi:role="line" 131.2366 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 131.2367 + <rect 131.2368 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2369 + id="rect12439" 131.2370 + width="52.911961" 131.2371 + height="17.632017" 131.2372 + x="73.346153" 131.2373 + y="669.93683" /> 131.2374 + </g> 131.2375 + <g 131.2376 + id="g12441" 131.2377 + transform="translate(0.17152214,-24)"> 131.2378 + <rect 131.2379 + y="716.99664" 131.2380 + x="71.385368" 131.2381 + height="11.42933" 131.2382 + width="57.323727" 131.2383 + id="rect12443" 131.2384 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2385 + <text 131.2386 + xml:space="preserve" 131.2387 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2388 + x="120.69847" 131.2389 + y="600.67786" 131.2390 + id="text12445" 131.2391 + sodipodi:linespacing="100%" 131.2392 + transform="scale(0.82746283,1.2085135)"><tspan 131.2393 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 131.2394 + sodipodi:role="line" 131.2395 + x="120.69847" 131.2396 + y="600.67786" 131.2397 + id="tspan12447">Pipelines</tspan></text> 131.2398 + </g> 131.2399 + <g 131.2400 + id="g12449" 131.2401 + transform="translate(4.171504,8.546988)"> 131.2402 + <g 131.2403 + id="g12451" 131.2404 + transform="translate(-227.6972,42)"> 131.2405 + <rect 131.2406 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2407 + id="rect12453" 131.2408 + width="40.22971" 131.2409 + height="11.42933" 131.2410 + x="-668.27917" 131.2411 + y="280.02979" 131.2412 + transform="matrix(0,-1,1,0,0,0)" /> 131.2413 + </g> 131.2414 + <text 131.2415 + xml:space="preserve" 131.2416 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2417 + x="-834.42664" 131.2418 + y="51.305866" 131.2419 + id="text12455" 131.2420 + sodipodi:linespacing="100%" 131.2421 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 131.2422 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 131.2423 + sodipodi:role="line" 131.2424 + x="-834.42664" 131.2425 + y="51.305866" 131.2426 + id="tspan12457">Net Intf</tspan></text> 131.2427 + </g> 131.2428 + <g 131.2429 + transform="translate(0.41662025,40)" 131.2430 + id="g12459"> 131.2431 + <text 131.2432 + xml:space="preserve" 131.2433 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2434 + x="120.5689" 131.2435 + y="565.94647" 131.2436 + id="text12461" 131.2437 + sodipodi:linespacing="100%" 131.2438 + transform="scale(0.82746283,1.2085135)"><tspan 131.2439 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.2440 + sodipodi:role="line" 131.2441 + x="120.5689" 131.2442 + y="565.94647" 131.2443 + id="tspan12463">Local Mem</tspan></text> 131.2444 + <rect 131.2445 + y="669.93683" 131.2446 + x="73.346153" 131.2447 + height="17.632017" 131.2448 + width="52.911961" 131.2449 + id="rect12465" 131.2450 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2451 + </g> 131.2452 + <rect 131.2453 + y="665.42114" 131.2454 + x="51.887772" 131.2455 + height="66.069519" 131.2456 + width="96.661964" 131.2457 + id="rect12467" 131.2458 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2459 + <g 131.2460 + transform="translate(80.171504,8.546988)" 131.2461 + id="g12469"> 131.2462 + <g 131.2463 + transform="translate(-227.6972,42)" 131.2464 + id="g12471"> 131.2465 + <rect 131.2466 + transform="matrix(0,-1,1,0,0,0)" 131.2467 + y="280.02979" 131.2468 + x="-668.27917" 131.2469 + height="11.42933" 131.2470 + width="40.22971" 131.2471 + id="rect12473" 131.2472 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2473 + </g> 131.2474 + <text 131.2475 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 131.2476 + sodipodi:linespacing="100%" 131.2477 + id="text12475" 131.2478 + y="51.305866" 131.2479 + x="-834.42664" 131.2480 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2481 + xml:space="preserve"><tspan 131.2482 + id="tspan12477" 131.2483 + y="51.305866" 131.2484 + x="-834.42664" 131.2485 + sodipodi:role="line" 131.2486 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 131.2487 + </g> 131.2488 + </g> 131.2489 + <g 131.2490 + id="g12479" 131.2491 + transform="translate(144,0)"> 131.2492 + <g 131.2493 + transform="translate(0.41662025,0)" 131.2494 + id="g12481"> 131.2495 + <text 131.2496 + xml:space="preserve" 131.2497 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2498 + x="120.5689" 131.2499 + y="565.94647" 131.2500 + id="text12483" 131.2501 + sodipodi:linespacing="100%" 131.2502 + transform="scale(0.82746283,1.2085135)"><tspan 131.2503 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.2504 + sodipodi:role="line" 131.2505 + x="120.5689" 131.2506 + y="565.94647" 131.2507 + id="tspan12485">Local Mem</tspan></text> 131.2508 + <rect 131.2509 + y="669.93683" 131.2510 + x="73.346153" 131.2511 + height="17.632017" 131.2512 + width="52.911961" 131.2513 + id="rect12487" 131.2514 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2515 + </g> 131.2516 + <g 131.2517 + transform="translate(0.17152214,-24)" 131.2518 + id="g12489"> 131.2519 + <rect 131.2520 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2521 + id="rect12491" 131.2522 + width="57.323727" 131.2523 + height="11.42933" 131.2524 + x="71.385368" 131.2525 + y="716.99664" /> 131.2526 + <text 131.2527 + transform="scale(0.82746283,1.2085135)" 131.2528 + sodipodi:linespacing="100%" 131.2529 + id="text12493" 131.2530 + y="600.67786" 131.2531 + x="120.69847" 131.2532 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2533 + xml:space="preserve"><tspan 131.2534 + id="tspan12495" 131.2535 + y="600.67786" 131.2536 + x="120.69847" 131.2537 + sodipodi:role="line" 131.2538 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Pipelines</tspan></text> 131.2539 + </g> 131.2540 + <g 131.2541 + transform="translate(4.171504,8.546988)" 131.2542 + id="g12497"> 131.2543 + <g 131.2544 + transform="translate(-227.6972,42)" 131.2545 + id="g12499"> 131.2546 + <rect 131.2547 + transform="matrix(0,-1,1,0,0,0)" 131.2548 + y="280.02979" 131.2549 + x="-668.27917" 131.2550 + height="11.42933" 131.2551 + width="40.22971" 131.2552 + id="rect12501" 131.2553 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2554 + </g> 131.2555 + <text 131.2556 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 131.2557 + sodipodi:linespacing="100%" 131.2558 + id="text12503" 131.2559 + y="51.305866" 131.2560 + x="-834.42664" 131.2561 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2562 + xml:space="preserve"><tspan 131.2563 + id="tspan12505" 131.2564 + y="51.305866" 131.2565 + x="-834.42664" 131.2566 + sodipodi:role="line" 131.2567 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 131.2568 + </g> 131.2569 + <g 131.2570 + id="g12507" 131.2571 + transform="translate(0.41662025,40)"> 131.2572 + <text 131.2573 + transform="scale(0.82746283,1.2085135)" 131.2574 + sodipodi:linespacing="100%" 131.2575 + id="text12509" 131.2576 + y="565.94647" 131.2577 + x="120.5689" 131.2578 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2579 + xml:space="preserve"><tspan 131.2580 + id="tspan12511" 131.2581 + y="565.94647" 131.2582 + x="120.5689" 131.2583 + sodipodi:role="line" 131.2584 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 131.2585 + <rect 131.2586 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2587 + id="rect12513" 131.2588 + width="52.911961" 131.2589 + height="17.632017" 131.2590 + x="73.346153" 131.2591 + y="669.93683" /> 131.2592 + </g> 131.2593 + <rect 131.2594 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2595 + id="rect12515" 131.2596 + width="96.661964" 131.2597 + height="66.069519" 131.2598 + x="51.887772" 131.2599 + y="665.42114" /> 131.2600 + <g 131.2601 + id="g12517" 131.2602 + transform="translate(80.171504,8.546988)"> 131.2603 + <g 131.2604 + id="g12519" 131.2605 + transform="translate(-227.6972,42)"> 131.2606 + <rect 131.2607 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2608 + id="rect12521" 131.2609 + width="40.22971" 131.2610 + height="11.42933" 131.2611 + x="-668.27917" 131.2612 + y="280.02979" 131.2613 + transform="matrix(0,-1,1,0,0,0)" /> 131.2614 + </g> 131.2615 + <text 131.2616 + xml:space="preserve" 131.2617 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2618 + x="-834.42664" 131.2619 + y="51.305866" 131.2620 + id="text12523" 131.2621 + sodipodi:linespacing="100%" 131.2622 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 131.2623 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 131.2624 + sodipodi:role="line" 131.2625 + x="-834.42664" 131.2626 + y="51.305866" 131.2627 + id="tspan12525">Net Intf</tspan></text> 131.2628 + </g> 131.2629 + </g> 131.2630 + </g> 131.2631 + <g 131.2632 + transform="translate(-3.6245461,154)" 131.2633 + id="g12527"> 131.2634 + <g 131.2635 + transform="translate(424,0)" 131.2636 + id="g12529"> 131.2637 + <g 131.2638 + id="g12531" 131.2639 + transform="translate(0.41662025,0)"> 131.2640 + <text 131.2641 + transform="scale(0.82746283,1.2085135)" 131.2642 + sodipodi:linespacing="100%" 131.2643 + id="text12533" 131.2644 + y="565.94647" 131.2645 + x="120.5689" 131.2646 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2647 + xml:space="preserve"><tspan 131.2648 + id="tspan12535" 131.2649 + y="565.94647" 131.2650 + x="120.5689" 131.2651 + sodipodi:role="line" 131.2652 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 131.2653 + <rect 131.2654 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2655 + id="rect12537" 131.2656 + width="52.911961" 131.2657 + height="17.632017" 131.2658 + x="73.346153" 131.2659 + y="669.93683" /> 131.2660 + </g> 131.2661 + <g 131.2662 + id="g12539" 131.2663 + transform="translate(0.17152214,-24)"> 131.2664 + <rect 131.2665 + y="716.99664" 131.2666 + x="71.385368" 131.2667 + height="11.42933" 131.2668 + width="57.323727" 131.2669 + id="rect12541" 131.2670 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2671 + <text 131.2672 + xml:space="preserve" 131.2673 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2674 + x="120.69847" 131.2675 + y="600.67786" 131.2676 + id="text12543" 131.2677 + sodipodi:linespacing="100%" 131.2678 + transform="scale(0.82746283,1.2085135)"><tspan 131.2679 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 131.2680 + sodipodi:role="line" 131.2681 + x="120.69847" 131.2682 + y="600.67786" 131.2683 + id="tspan12545">Pipelines</tspan></text> 131.2684 + </g> 131.2685 + <g 131.2686 + id="g12547" 131.2687 + transform="translate(4.171504,8.546988)"> 131.2688 + <g 131.2689 + id="g12549" 131.2690 + transform="translate(-227.6972,42)"> 131.2691 + <rect 131.2692 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2693 + id="rect12551" 131.2694 + width="40.22971" 131.2695 + height="11.42933" 131.2696 + x="-668.27917" 131.2697 + y="280.02979" 131.2698 + transform="matrix(0,-1,1,0,0,0)" /> 131.2699 + </g> 131.2700 + <text 131.2701 + xml:space="preserve" 131.2702 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2703 + x="-834.42664" 131.2704 + y="51.305866" 131.2705 + id="text12553" 131.2706 + sodipodi:linespacing="100%" 131.2707 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 131.2708 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 131.2709 + sodipodi:role="line" 131.2710 + x="-834.42664" 131.2711 + y="51.305866" 131.2712 + id="tspan12555">Net Intf</tspan></text> 131.2713 + </g> 131.2714 + <g 131.2715 + transform="translate(0.41662025,40)" 131.2716 + id="g12557"> 131.2717 + <text 131.2718 + xml:space="preserve" 131.2719 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2720 + x="120.5689" 131.2721 + y="565.94647" 131.2722 + id="text12559" 131.2723 + sodipodi:linespacing="100%" 131.2724 + transform="scale(0.82746283,1.2085135)"><tspan 131.2725 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.2726 + sodipodi:role="line" 131.2727 + x="120.5689" 131.2728 + y="565.94647" 131.2729 + id="tspan12561">Local Mem</tspan></text> 131.2730 + <rect 131.2731 + y="669.93683" 131.2732 + x="73.346153" 131.2733 + height="17.632017" 131.2734 + width="52.911961" 131.2735 + id="rect12563" 131.2736 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2737 + </g> 131.2738 + <rect 131.2739 + y="665.42114" 131.2740 + x="51.887772" 131.2741 + height="66.069519" 131.2742 + width="96.661964" 131.2743 + id="rect12565" 131.2744 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2745 + <g 131.2746 + transform="translate(80.171504,8.546988)" 131.2747 + id="g12567"> 131.2748 + <g 131.2749 + transform="translate(-227.6972,42)" 131.2750 + id="g12569"> 131.2751 + <rect 131.2752 + transform="matrix(0,-1,1,0,0,0)" 131.2753 + y="280.02979" 131.2754 + x="-668.27917" 131.2755 + height="11.42933" 131.2756 + width="40.22971" 131.2757 + id="rect12571" 131.2758 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2759 + </g> 131.2760 + <text 131.2761 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 131.2762 + sodipodi:linespacing="100%" 131.2763 + id="text12573" 131.2764 + y="51.305866" 131.2765 + x="-834.42664" 131.2766 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2767 + xml:space="preserve"><tspan 131.2768 + id="tspan12575" 131.2769 + y="51.305866" 131.2770 + x="-834.42664" 131.2771 + sodipodi:role="line" 131.2772 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 131.2773 + </g> 131.2774 + </g> 131.2775 + <g 131.2776 + id="g12577" 131.2777 + transform="translate(284,0)"> 131.2778 + <g 131.2779 + transform="translate(0.41662025,0)" 131.2780 + id="g12579"> 131.2781 + <text 131.2782 + xml:space="preserve" 131.2783 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2784 + x="120.5689" 131.2785 + y="565.94647" 131.2786 + id="text12581" 131.2787 + sodipodi:linespacing="100%" 131.2788 + transform="scale(0.82746283,1.2085135)"><tspan 131.2789 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.2790 + sodipodi:role="line" 131.2791 + x="120.5689" 131.2792 + y="565.94647" 131.2793 + id="tspan12583">Local Mem</tspan></text> 131.2794 + <rect 131.2795 + y="669.93683" 131.2796 + x="73.346153" 131.2797 + height="17.632017" 131.2798 + width="52.911961" 131.2799 + id="rect12585" 131.2800 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2801 + </g> 131.2802 + <g 131.2803 + transform="translate(0.17152214,-24)" 131.2804 + id="g12587"> 131.2805 + <rect 131.2806 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2807 + id="rect12589" 131.2808 + width="57.323727" 131.2809 + height="11.42933" 131.2810 + x="71.385368" 131.2811 + y="716.99664" /> 131.2812 + <text 131.2813 + transform="scale(0.82746283,1.2085135)" 131.2814 + sodipodi:linespacing="100%" 131.2815 + id="text12591" 131.2816 + y="600.67786" 131.2817 + x="120.69847" 131.2818 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2819 + xml:space="preserve"><tspan 131.2820 + id="tspan12593" 131.2821 + y="600.67786" 131.2822 + x="120.69847" 131.2823 + sodipodi:role="line" 131.2824 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Pipelines</tspan></text> 131.2825 + </g> 131.2826 + <g 131.2827 + transform="translate(4.171504,8.546988)" 131.2828 + id="g12595"> 131.2829 + <g 131.2830 + transform="translate(-227.6972,42)" 131.2831 + id="g12597"> 131.2832 + <rect 131.2833 + transform="matrix(0,-1,1,0,0,0)" 131.2834 + y="280.02979" 131.2835 + x="-668.27917" 131.2836 + height="11.42933" 131.2837 + width="40.22971" 131.2838 + id="rect12599" 131.2839 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2840 + </g> 131.2841 + <text 131.2842 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 131.2843 + sodipodi:linespacing="100%" 131.2844 + id="text12601" 131.2845 + y="51.305866" 131.2846 + x="-834.42664" 131.2847 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2848 + xml:space="preserve"><tspan 131.2849 + id="tspan12603" 131.2850 + y="51.305866" 131.2851 + x="-834.42664" 131.2852 + sodipodi:role="line" 131.2853 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 131.2854 + </g> 131.2855 + <g 131.2856 + id="g12605" 131.2857 + transform="translate(0.41662025,40)"> 131.2858 + <text 131.2859 + transform="scale(0.82746283,1.2085135)" 131.2860 + sodipodi:linespacing="100%" 131.2861 + id="text12607" 131.2862 + y="565.94647" 131.2863 + x="120.5689" 131.2864 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2865 + xml:space="preserve"><tspan 131.2866 + id="tspan12609" 131.2867 + y="565.94647" 131.2868 + x="120.5689" 131.2869 + sodipodi:role="line" 131.2870 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 131.2871 + <rect 131.2872 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2873 + id="rect12611" 131.2874 + width="52.911961" 131.2875 + height="17.632017" 131.2876 + x="73.346153" 131.2877 + y="669.93683" /> 131.2878 + </g> 131.2879 + <rect 131.2880 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2881 + id="rect12613" 131.2882 + width="96.661964" 131.2883 + height="66.069519" 131.2884 + x="51.887772" 131.2885 + y="665.42114" /> 131.2886 + <g 131.2887 + id="g12615" 131.2888 + transform="translate(80.171504,8.546988)"> 131.2889 + <g 131.2890 + id="g12617" 131.2891 + transform="translate(-227.6972,42)"> 131.2892 + <rect 131.2893 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2894 + id="rect12619" 131.2895 + width="40.22971" 131.2896 + height="11.42933" 131.2897 + x="-668.27917" 131.2898 + y="280.02979" 131.2899 + transform="matrix(0,-1,1,0,0,0)" /> 131.2900 + </g> 131.2901 + <text 131.2902 + xml:space="preserve" 131.2903 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2904 + x="-834.42664" 131.2905 + y="51.305866" 131.2906 + id="text12621" 131.2907 + sodipodi:linespacing="100%" 131.2908 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 131.2909 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 131.2910 + sodipodi:role="line" 131.2911 + x="-834.42664" 131.2912 + y="51.305866" 131.2913 + id="tspan12623">Net Intf</tspan></text> 131.2914 + </g> 131.2915 + </g> 131.2916 + <g 131.2917 + transform="translate(144,0)" 131.2918 + id="g12625"> 131.2919 + <g 131.2920 + id="g12627" 131.2921 + transform="translate(0.41662025,0)"> 131.2922 + <text 131.2923 + transform="scale(0.82746283,1.2085135)" 131.2924 + sodipodi:linespacing="100%" 131.2925 + id="text12629" 131.2926 + y="565.94647" 131.2927 + x="120.5689" 131.2928 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2929 + xml:space="preserve"><tspan 131.2930 + id="tspan12631" 131.2931 + y="565.94647" 131.2932 + x="120.5689" 131.2933 + sodipodi:role="line" 131.2934 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Local Mem</tspan></text> 131.2935 + <rect 131.2936 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2937 + id="rect12633" 131.2938 + width="52.911961" 131.2939 + height="17.632017" 131.2940 + x="73.346153" 131.2941 + y="669.93683" /> 131.2942 + </g> 131.2943 + <g 131.2944 + id="g12635" 131.2945 + transform="translate(0.17152214,-24)"> 131.2946 + <rect 131.2947 + y="716.99664" 131.2948 + x="71.385368" 131.2949 + height="11.42933" 131.2950 + width="57.323727" 131.2951 + id="rect12637" 131.2952 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.2953 + <text 131.2954 + xml:space="preserve" 131.2955 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2956 + x="120.69847" 131.2957 + y="600.67786" 131.2958 + id="text12639" 131.2959 + sodipodi:linespacing="100%" 131.2960 + transform="scale(0.82746283,1.2085135)"><tspan 131.2961 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 131.2962 + sodipodi:role="line" 131.2963 + x="120.69847" 131.2964 + y="600.67786" 131.2965 + id="tspan12641">Pipelines</tspan></text> 131.2966 + </g> 131.2967 + <g 131.2968 + id="g12643" 131.2969 + transform="translate(4.171504,8.546988)"> 131.2970 + <g 131.2971 + id="g12645" 131.2972 + transform="translate(-227.6972,42)"> 131.2973 + <rect 131.2974 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 131.2975 + id="rect12647" 131.2976 + width="40.22971" 131.2977 + height="11.42933" 131.2978 + x="-668.27917" 131.2979 + y="280.02979" 131.2980 + transform="matrix(0,-1,1,0,0,0)" /> 131.2981 + </g> 131.2982 + <text 131.2983 + xml:space="preserve" 131.2984 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.2985 + x="-834.42664" 131.2986 + y="51.305866" 131.2987 + id="text12649" 131.2988 + sodipodi:linespacing="100%" 131.2989 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 131.2990 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 131.2991 + sodipodi:role="line" 131.2992 + x="-834.42664" 131.2993 + y="51.305866" 131.2994 + id="tspan12651">Net Intf</tspan></text> 131.2995 + </g> 131.2996 + <g 131.2997 + transform="translate(0.41662025,40)" 131.2998 + id="g12653"> 131.2999 + <text 131.3000 + xml:space="preserve" 131.3001 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.3002 + x="120.5689" 131.3003 + y="565.94647" 131.3004 + id="text12655" 131.3005 + sodipodi:linespacing="100%" 131.3006 + transform="scale(0.82746283,1.2085135)"><tspan 131.3007 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 131.3008 + sodipodi:role="line" 131.3009 + x="120.5689" 131.3010 + y="565.94647" 131.3011 + id="tspan12657">Local Mem</tspan></text> 131.3012 + <rect 131.3013 + y="669.93683" 131.3014 + x="73.346153" 131.3015 + height="17.632017" 131.3016 + width="52.911961" 131.3017 + id="rect12659" 131.3018 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.3019 + </g> 131.3020 + <rect 131.3021 + y="665.42114" 131.3022 + x="51.887772" 131.3023 + height="66.069519" 131.3024 + width="96.661964" 131.3025 + id="rect12661" 131.3026 + style="fill:none;stroke:#000000;stroke-width:1.80063605;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.3027 + <g 131.3028 + transform="translate(80.171504,8.546988)" 131.3029 + id="g12663"> 131.3030 + <g 131.3031 + transform="translate(-227.6972,42)" 131.3032 + id="g12665"> 131.3033 + <rect 131.3034 + transform="matrix(0,-1,1,0,0,0)" 131.3035 + y="280.02979" 131.3036 + x="-668.27917" 131.3037 + height="11.42933" 131.3038 + width="40.22971" 131.3039 + id="rect12667" 131.3040 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 131.3041 + </g> 131.3042 + <text 131.3043 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 131.3044 + sodipodi:linespacing="100%" 131.3045 + id="text12669" 131.3046 + y="51.305866" 131.3047 + x="-834.42664" 131.3048 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 131.3049 + xml:space="preserve"><tspan 131.3050 + id="tspan12671" 131.3051 + y="51.305866" 131.3052 + x="-834.42664" 131.3053 + sodipodi:role="line" 131.3054 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 131.3055 + </g> 131.3056 + </g> 131.3057 + </g> 131.3058 + </g> 131.3059 +</svg>
132.1 Binary file 1__Presentations/12__LPGPU_Arch/figures/CtxtU_plus_Pipe.pdf has changed
133.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 133.2 +++ b/1__Presentations/12__LPGPU_Arch/figures/CtxtU_plus_Pipe.svg Sun Mar 11 09:26:44 2012 -0700 133.3 @@ -0,0 +1,1099 @@ 133.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 133.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 133.6 + 133.7 +<svg 133.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 133.9 + xmlns:cc="http://creativecommons.org/ns#" 133.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 133.11 + xmlns:svg="http://www.w3.org/2000/svg" 133.12 + xmlns="http://www.w3.org/2000/svg" 133.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 133.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 133.15 + id="svg2" 133.16 + version="1.1" 133.17 + inkscape:version="0.48.1 " 133.18 + width="765" 133.19 + height="990" 133.20 + xml:space="preserve" 133.21 + sodipodi:docname="CtxtU_plus_Pipe.svg"><metadata 133.22 + id="metadata8"><rdf:RDF><cc:Work 133.23 + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type 133.24 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs 133.25 + id="defs6"><clipPath 133.26 + clipPathUnits="userSpaceOnUse" 133.27 + id="clipPath16"><path 133.28 + d="m 0,-0.1 612.1,0 0,792.1 L 0,792 0,-0.1 z" 133.29 + clip-rule="evenodd" 133.30 + id="path18" /></clipPath></defs><sodipodi:namedview 133.31 + pagecolor="#ffffff" 133.32 + bordercolor="#666666" 133.33 + borderopacity="1" 133.34 + objecttolerance="10" 133.35 + gridtolerance="10" 133.36 + guidetolerance="10" 133.37 + inkscape:pageopacity="0" 133.38 + inkscape:pageshadow="2" 133.39 + inkscape:window-width="640" 133.40 + inkscape:window-height="480" 133.41 + id="namedview4" 133.42 + showgrid="false" 133.43 + inkscape:zoom="0.29393939" 133.44 + inkscape:cx="382.49999" 133.45 + inkscape:cy="494.99999" 133.46 + inkscape:window-x="0" 133.47 + inkscape:window-y="0" 133.48 + inkscape:window-maximized="0" 133.49 + inkscape:current-layer="g10" /><g 133.50 + id="g10" 133.51 + inkscape:groupmode="layer" 133.52 + inkscape:label="SThd_Port Technical" 133.53 + transform="matrix(1.25,0,0,-1.25,0,990)"><path 133.54 + d="M 306,0 0,0 0,792 612,792 612,0 306,0 z" 133.55 + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.56 + id="path20" 133.57 + inkscape:connector-curvature="0" /><g 133.58 + id="g22"><path 133.59 + d="m 163.5,643.1 -78.3,0 c -0.1,0 -0.2,0.1 -0.2,0.1 l 0,39.6 c 0,0 0.1,0.1 0.2,0.1 l 156.7,0 c 0.1,0 0.2,-0.1 0.2,-0.1 l 0,-39.6 c 0,0 -0.1,-0.1 -0.2,-0.1 l -78.4,0 z" 133.60 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.61 + id="path24" 133.62 + inkscape:connector-curvature="0" /></g><g 133.63 + id="g26"><path 133.64 + d="m 85,545.4 157.5,0" 133.65 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.66 + id="path28" 133.67 + inkscape:connector-curvature="0" /></g><g 133.68 + id="g30"><path 133.69 + d="m 85,525.5 157.5,0" 133.70 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.71 + id="path32" 133.72 + inkscape:connector-curvature="0" /></g><g 133.73 + id="g34"><path 133.74 + d="m 85,505.6 157.5,0" 133.75 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.76 + id="path36" 133.77 + inkscape:connector-curvature="0" /></g><g 133.78 + id="g38"><path 133.79 + d="m 85,485.7 157.5,0" 133.80 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.81 + id="path40" 133.82 + inkscape:connector-curvature="0" /></g><g 133.83 + id="g42"><path 133.84 + d="m 85,466 157.5,0" 133.85 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.86 + id="path44" 133.87 + inkscape:connector-curvature="0" /></g><g 133.88 + id="g46"><path 133.89 + d="m 85,446.1 157.5,0" 133.90 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.91 + id="path48" 133.92 + inkscape:connector-curvature="0" /></g><g 133.93 + id="g50"><path 133.94 + d="m 85,426.2 157.5,0" 133.95 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.96 + id="path52" 133.97 + inkscape:connector-curvature="0" /></g><g 133.98 + id="g54"><path 133.99 + d="m 85,406.4 157.5,0" 133.100 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.101 + id="path56" 133.102 + inkscape:connector-curvature="0" /></g><g 133.103 + id="g58"><path 133.104 + d="m 85,386.6 157.5,0" 133.105 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.106 + id="path60" 133.107 + inkscape:connector-curvature="0" /></g><g 133.108 + id="g62"><path 133.109 + d="m 85,366.7 157.5,0" 133.110 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.111 + id="path64" 133.112 + inkscape:connector-curvature="0" /></g><g 133.113 + id="g66"><path 133.114 + d="m 85,346.9 157.5,0" 133.115 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.116 + id="path68" 133.117 + inkscape:connector-curvature="0" /></g><g 133.118 + id="g70"><text 133.119 + transform="matrix(1,0,0,-1,111.9,653.2)" 133.120 + id="text72"><tspan 133.121 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.122 + x="0 14.712 26.712 32.712002 40.703999 46.703999 62.712002 73.32 83.928001 95.928001" 133.123 + y="0" 133.124 + sodipodi:role="line" 133.125 + id="tspan74">L1 I Cache</tspan></text> 133.126 + 133.127 +</g><g 133.128 + id="g76"><path 133.129 + d="m 200.3,565.3 0,-239.2" 133.130 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.131 + id="path78" 133.132 + inkscape:connector-curvature="0" /></g><g 133.133 + id="g80"><path 133.134 + d="m 157.8,565.3 0,-239.2" 133.135 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.136 + id="path82" 133.137 + inkscape:connector-curvature="0" /></g><g 133.138 + id="g84"><path 133.139 + d="m 118,565.3 0,-239.2" 133.140 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.141 + id="path86" 133.142 + inkscape:connector-curvature="0" /></g><g 133.143 + id="g88"><path 133.144 + d="m 92.5,565.3 0,-239.2" 133.145 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.146 + id="path90" 133.147 + inkscape:connector-curvature="0" /></g><g 133.148 + id="g92"><path 133.149 + d="m 101,565.3 0,-239.2" 133.150 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.151 + id="path94" 133.152 + inkscape:connector-curvature="0" /></g><g 133.153 + id="g96"><path 133.154 + d="m 109.5,565.3 0,-239.2" 133.155 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.156 + id="path98" 133.157 + inkscape:connector-curvature="0" /></g><g 133.158 + id="g100"><text 133.159 + transform="matrix(1,0,0,-1,163.8,318)" 133.160 + id="text102"><tspan 133.161 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.162 + x="0 6.6999998 11.7 15 18.299999 23.9" 133.163 + y="0" 133.164 + sodipodi:role="line" 133.165 + id="tspan104">CurrPC</tspan></text> 133.166 + 133.167 +</g><g 133.168 + id="g106"><text 133.169 + transform="matrix(1,0,0,-1,121.3,318)" 133.170 + id="text108"><tspan 133.171 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.172 + x="0 7.3000002 11.7 18.9 24.5" 133.173 + y="0" 133.174 + sodipodi:role="line" 133.175 + id="tspan110">NewPC</tspan></text> 133.176 + 133.177 +</g><g 133.178 + id="g112"><text 133.179 + transform="matrix(1,0,0,-1,212,318)" 133.180 + id="text114"><tspan 133.181 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.182 + x="0 3.3 8.3000002 12.2 14.9" 133.183 + y="0" 133.184 + sodipodi:role="line" 133.185 + id="tspan116">Instr</tspan></text> 133.186 + 133.187 +</g><g 133.188 + id="g118"><text 133.189 + transform="matrix(1,0,0,-1,90,318)" 133.190 + id="text120"><tspan 133.191 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.192 + x="0 5.5999999 8.3000002 12.8 15.5" 133.193 + y="0" 133.194 + sodipodi:role="line" 133.195 + id="tspan122">State</tspan></text> 133.196 + 133.197 +</g><g 133.198 + id="g124"><text 133.199 + transform="matrix(-0.01745,0.99984,0.99984,0.01745,82.3,416.6)" 133.200 + id="text126"><tspan 133.201 + style="font-size:9.99992275px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.202 + x="0 6.0999527 11.099915 14.399889 18.799854 23.29982 28.299782 30.799761 36.899715 41.899677 46.299641 50.799606 53.499588 56.299564 61.299526 66.299484" 133.203 + y="0" 133.204 + sodipodi:role="line" 133.205 + id="tspan128">Thread Locations</tspan></text> 133.206 + 133.207 +</g><g 133.208 + id="g130"><text 133.209 + transform="matrix(1,0,0,-1,191,720.6)" 133.210 + id="text132"><tspan 133.211 + style="font-size:32px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.212 + x="0 10.688 26.688 35.584 49.695999 60.383999 76.384003 90.592003 99.487999 111.904 119.904 135.90401 146.592 154.592 168.8 176.8 194.592 203.48801 212.384 226.592" 133.213 + y="0" 133.214 + sodipodi:role="line" 133.215 + id="tspan134">Internals of a Slice</tspan></text> 133.216 + 133.217 +</g><g 133.218 + id="g136"><path 133.219 + d="m 100.6,209.9 -38.7,0 c 0,0 -0.1,0 -0.1,0.1 l 0,38.3 c 0,0 0.1,0.1 0.1,0.1 l 77.4,0 c 0.1,0 0.1,-0.1 0.1,-0.1 l 0,-38.3 c 0,-0.1 0,-0.1 -0.1,-0.1 l -38.7,0 z" 133.220 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.221 + id="path138" 133.222 + inkscape:connector-curvature="0" /></g><g 133.223 + id="g140"><text 133.224 + transform="matrix(0,1,1,0,133.3,168.2)" 133.225 + id="text142"><tspan 133.226 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.227 + x="0 6.0999999 11.1 16.700001 19.4 25 27.700001 32.200001 34.900002" 133.228 + y="0" 133.229 + sodipodi:role="line" 133.230 + id="tspan144">LdStState</tspan></text> 133.231 + 133.232 +</g><g 133.233 + id="g146"><text 133.234 + transform="matrix(0,1,1,0,113.5,168.6)" 133.235 + id="text148"><tspan 133.236 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.237 + x="0 5.5999999 8.3000002 13.4 17.799999 23.299999 26.1 30.5 33.299999" 133.238 + y="0" 133.239 + sodipodi:role="line" 133.240 + id="tspan150">PipeState</tspan></text> 133.241 + 133.242 +</g><g 133.243 + id="g152"><text 133.244 + transform="matrix(0,1,1,0,93.7,168.1)" 133.245 + id="text154"><tspan 133.246 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.247 + x="0 3.3 8.8000002 14.4 17.1 21.6 24.299999" 133.248 + y="0" 133.249 + sodipodi:role="line" 133.250 + id="tspan156">IFState</tspan></text> 133.251 + 133.252 +</g><g 133.253 + id="g158"><text 133.254 + transform="matrix(0,1,1,0,73.8,168.9)" 133.255 + id="text160"><tspan 133.256 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.257 + x="0 6.0999999 8.8999996 12.2 16.6 22.200001 24.9 29.4 32.099998" 133.258 + y="0" 133.259 + sodipodi:role="line" 133.260 + id="tspan162">LifeState</tspan></text> 133.261 + 133.262 +</g><g 133.263 + id="g164"><path 133.264 + d="m 80.9,248.4 0,-39.3" 133.265 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.266 + id="path166" 133.267 + inkscape:connector-curvature="0" /></g><g 133.268 + id="g168"><path 133.269 + d="m 100.8,248.4 0,-39.3" 133.270 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.271 + id="path170" 133.272 + inkscape:connector-curvature="0" /></g><g 133.273 + id="g172"><path 133.274 + d="m 120.7,248.4 0,-39.3" 133.275 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.276 + id="path174" 133.277 + inkscape:connector-curvature="0" /></g><g 133.278 + id="g176"><text 133.279 + transform="matrix(1,0,0,-1,69.5,265.4)" 133.280 + id="text178"><tspan 133.281 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.282 + x="0 6.0999999 11.1 16.1 20.6 25.6 30.6 35 40 42.5 49.799999 52.5 57 64.199997" 133.283 + y="0" 133.284 + sodipodi:role="line" 133.285 + id="tspan180">Expanded View </tspan></text> 133.286 + 133.287 +</g><g 133.288 + id="g182"><text 133.289 + transform="matrix(1,0,0,-1,69.5,254.2)" 133.290 + id="text184"><tspan 133.291 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.292 + x="0 5 8.3000002 10.8 16.4 19.1 23.6 26.299999" 133.293 + y="0" 133.294 + sodipodi:role="line" 133.295 + id="tspan186">of State</tspan></text> 133.296 + 133.297 +</g><g 133.298 + id="g188"><path 133.299 + d="m 163.5,327.3 -78.3,0 c -0.1,0 -0.2,0 -0.2,0.1 l 0,237.7 c 0,0.1 0.1,0.2 0.2,0.2 l 156.7,0 c 0.1,0 0.2,-0.1 0.2,-0.2 l 0,-237.7 c 0,-0.1 -0.1,-0.1 -0.2,-0.1 l -78.4,0 z" 133.300 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.301 + id="path190" 133.302 + inkscape:connector-curvature="0" /></g><g 133.303 + id="g192"><path 133.304 + d="m 351.5,525.5 157.5,0" 133.305 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.306 + id="path194" 133.307 + inkscape:connector-curvature="0" /></g><g 133.308 + id="g196"><path 133.309 + d="m 351.5,485.7 157.5,0" 133.310 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.311 + id="path198" 133.312 + inkscape:connector-curvature="0" /></g><g 133.313 + id="g200"><path 133.314 + d="m 351.5,446.1 157.5,0" 133.315 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.316 + id="path202" 133.317 + inkscape:connector-curvature="0" /></g><g 133.318 + id="g204"><path 133.319 + d="m 351.5,369.5 157.5,0" 133.320 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.321 + id="path206" 133.322 + inkscape:connector-curvature="0" /></g><g 133.323 + id="g208"><path 133.324 + d="m 432.7,565.3 0,-239.2" 133.325 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.326 + id="path210" 133.327 + inkscape:connector-curvature="0" /></g><g 133.328 + id="g212" /><g 133.329 + id="g214"><text 133.330 + transform="matrix(-0.01745,0.99984,0.99984,0.01745,521.2,475.3)" 133.331 + id="text216"><tspan 133.332 + style="font-size:9.99992275px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.333 + x="0 5.4999576 8.2999353 13.299897 17.699863 20.199844 25.799801 28.599779 32.999744 37.999706 42.399673" 133.334 + y="0" 133.335 + sodipodi:role="line" 133.336 + id="tspan218">Pipe Stages</tspan></text> 133.337 + 133.338 +</g><g 133.339 + id="g220"><text 133.340 + transform="matrix(-0.01745,0.99984,0.99984,0.01745,532.9,445.5)" 133.341 + id="text222"><tspan 133.342 + style="font-size:9.99992275px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.343 + x="0 3.2999744 6.5999489 10.999915 18.299858 22.699825 25.9998 28.599779 31.299757 36.299721 40.699684 45.699646 48.199627 53.199589 55.69957 61.899521 66.899483 70.199455 74.599426 78.99939 84.09935 86.599327 92.69928 97.699242 102.09921 105.99918" 133.344 + y="0" 133.345 + sodipodi:role="line" 133.346 + id="tspan224">(fewer than # Thread Locs)</tspan></text> 133.347 + 133.348 +</g><g 133.349 + id="g226"><path 133.350 + d="m 430,327.3 -78.4,0 c 0,0 -0.1,0 -0.1,0.1 l 0,237.7 c 0,0.1 0.1,0.2 0.1,0.2 l 156.8,0 c 0.1,0 0.1,-0.1 0.1,-0.2 l 0,-237.7 c 0,-0.1 0,-0.1 -0.1,-0.1 l -78.4,0 z" 133.351 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.352 + id="path228" 133.353 + inkscape:connector-curvature="0" /></g><g 133.354 + id="g230"><path 133.355 + d="m 425.1,213.4 -74.4,0 c -0.1,0 -0.1,0.1 -0.1,0.1 l 0,31.2 c 0,0 0,0.1 0.1,0.1 l 148.8,0 c 0.1,0 0.1,-0.1 0.1,-0.1 l 0,-31.2 c 0,0 0,-0.1 -0.1,-0.1 l -74.4,0 z" 133.356 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.357 + id="path232" 133.358 + inkscape:connector-curvature="0" /></g><g 133.359 + id="g234"><text 133.360 + transform="matrix(1,0,0,-1,384.1,220.7)" 133.361 + id="text236"><tspan 133.362 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.363 + x="0 16.007999 26.615999 38.616001 44.616001 58.007999 68.615997 75.311996" 133.364 + y="0" 133.365 + sodipodi:role="line" 133.366 + id="tspan238">Reg Sets</tspan></text> 133.367 + 133.368 +</g><g 133.369 + id="g240"><path 133.370 + d="M 82.4,315.9 66.5,272.6" 133.371 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.372 + id="path242" 133.373 + inkscape:connector-curvature="0" /></g><g 133.374 + id="g244"><path 133.375 + d="m 120.4,315.9 15.9,-43.3" 133.376 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.377 + id="path246" 133.378 + inkscape:connector-curvature="0" /></g><path 133.379 + d="m 138.7,641.8 5,-10.1 -10.1,0 5.1,10.1 z" 133.380 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.381 + id="path248" 133.382 + inkscape:connector-curvature="0" /><path 133.383 + d="m 138.3,565.3 0,68.4 0.7,0 0,-68.4 -0.7,0 z" 133.384 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.385 + id="path250" 133.386 + inkscape:connector-curvature="0" /><path 133.387 + d="m 223.8,565.3 -5.1,10 10.1,0 -5,-10 z" 133.388 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.389 + id="path252" 133.390 + inkscape:connector-curvature="0" /><path 133.391 + d="m 224.2,641.8 0,-68.5 -0.8,0 0,68.5 0.8,0 z" 133.392 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.393 + id="path254" 133.394 + inkscape:connector-curvature="0" /><path 133.395 + d="m 352.1,555.1 -10,-5 0,10.1 10,-5.1 z" 133.396 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.397 + id="path256" 133.398 + inkscape:connector-curvature="0" /><path 133.399 + d="m 243.3,555.6 100.8,-0.1 0,-0.7 -100.8,0.1 0,0.7 z" 133.400 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.401 + id="path258" 133.402 + inkscape:connector-curvature="0" /><g 133.403 + id="g260"><path 133.404 + d="m 163.6,288.4 -104.1,0 c 0,0 -0.1,0 -0.1,0.1 l 0,312.8 c 0,0 0.1,0.1 0.1,0.1 l 208.2,0 c 0,0 0.1,-0.1 0.1,-0.1 l 0,-312.8 c 0,-0.1 -0.1,-0.1 -0.1,-0.1 l -104.1,0 z" 133.405 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.406 + id="path262" 133.407 + inkscape:connector-curvature="0" /></g><g 133.408 + id="g264"><text 133.409 + transform="matrix(1,0,0,-1,121.8,575.2)" 133.410 + id="text266"><tspan 133.411 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.412 + x="0 10.998 19.997999 25.992001 33.984001 41.976002 50.976002 55.476002 68.472 77.472 82.475998" 133.413 + y="0" 133.414 + sodipodi:role="line" 133.415 + id="tspan268">Thread Unit</tspan></text> 133.416 + 133.417 +</g><g 133.418 + id="g270"><text 133.419 + transform="matrix(1,0,0,-1,362.3,544.1)" 133.420 + id="text272"><tspan 133.421 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.422 + x="0 7.3000002 11.7 16.1 21.1 26.1" 133.423 + y="0" 133.424 + sodipodi:role="line" 133.425 + id="tspan274">Decode</tspan></text> 133.426 + 133.427 +</g><g 133.428 + id="g276"><text 133.429 + transform="matrix(1,0,0,-1,362.3,504.5)" 133.430 + id="text278"><tspan 133.431 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.432 + x="0 6.6999998 10.6 15.6 18.1 21.4 25.799999 28.6 33" 133.433 + y="0" 133.434 + sodipodi:role="line" 133.435 + id="tspan280">Rs1 fetch</tspan></text> 133.436 + 133.437 +</g><g 133.438 + id="g282"><text 133.439 + transform="matrix(1,0,0,-1,362.3,464.7)" 133.440 + id="text284"><tspan 133.441 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.442 + x="0 6.6999998 10.6 15.6 18.1 21.4 25.799999 28.6 33" 133.443 + y="0" 133.444 + sodipodi:role="line" 133.445 + id="tspan286">Rs2 fetch</tspan></text> 133.446 + 133.447 +</g><g 133.448 + id="g288"><text 133.449 + transform="matrix(1,0,0,-1,362.3,405.3)" 133.450 + id="text290"><tspan 133.451 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.452 + x="0 6.0999999 11.1 15.6 20 25 27.700001 30.5 35.5" 133.453 + y="0" 133.454 + sodipodi:role="line" 133.455 + id="tspan292">Execution</tspan></text> 133.456 + 133.457 +</g><g 133.458 + id="g294"><text 133.459 + transform="matrix(1,0,0,-1,362.3,345.7)" 133.460 + id="text296"><tspan 133.461 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.462 + x="0 9.5 12.8 15.6 18.299999 22.799999 25.299999 31.9 36.400002 40.799999" 133.463 + y="0" 133.464 + sodipodi:role="line" 133.465 + id="tspan298">Write Back</tspan></text> 133.466 + 133.467 +</g><path 133.468 + d="m 268.5,360.3 10.1,5 0,-10.1 -10.1,5.1 z" 133.469 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.470 + id="path300" 133.471 + inkscape:connector-curvature="0" /><path 133.472 + d="m 351.4,359.9 -74.8,0 0,0.7 74.8,0 0,-0.7 z" 133.473 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.474 + id="path302" 133.475 + inkscape:connector-curvature="0" /><path 133.476 + d="m 428.2,245.9 -5,10.1 10.1,0 -5.1,-10.1 z" 133.477 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.478 + id="path304" 133.479 + inkscape:connector-curvature="0" /><path 133.480 + d="m 428.6,326.6 0,-72.6 -0.7,0 0,72.6 0.7,0 z" 133.481 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.482 + id="path306" 133.483 + inkscape:connector-curvature="0" /><path 133.484 + d="m 487.8,327 5,-10.1 -10.1,0 5.1,10.1 z" 133.485 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.486 + id="path308" 133.487 + inkscape:connector-curvature="0" /><path 133.488 + d="m 487.4,246.5 0,72.4 0.8,0 0,-72.4 -0.8,0 z" 133.489 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.490 + id="path310" 133.491 + inkscape:connector-curvature="0" /><g 133.492 + id="g312"><text 133.493 + transform="matrix(0,1,1,0,425.6,258.7)" 133.494 + id="text314"><tspan 133.495 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.496 + x="0 9.5 16.200001 18.700001 24.299999 26.799999 34.099998 38.5 41.200001" 133.497 + y="0" 133.498 + sodipodi:role="line" 133.499 + id="tspan316">WB + Data</tspan></text> 133.500 + 133.501 +</g><g 133.502 + id="g318"><text 133.503 + transform="matrix(0,1,1,0,436.8,258.7)" 133.504 + id="text320"><tspan 133.505 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.506 + x="0 5.5999999 11.8 16.700001" 133.507 + y="0" 133.508 + sodipodi:role="line" 133.509 + id="tspan322">+Thd</tspan></text> 133.510 + 133.511 +</g><g 133.512 + id="g324"><text 133.513 + transform="matrix(0,1,1,0,485.1,255.8)" 133.514 + id="text326"><tspan 133.515 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.516 + x="0 6.6999998 10.6 15.6 18.1 24.799999 29.799999 34.799999 37.599998 42 47 49.700001" 133.517 + y="0" 133.518 + sodipodi:role="line" 133.519 + id="tspan328">Rs2 Contents</tspan></text> 133.520 + 133.521 +</g><g 133.522 + id="g330"><text 133.523 + transform="matrix(1,0,0,-1,277.2,363.3)" 133.524 + id="text332"><tspan 133.525 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.526 + x="0 3.3 8.3000002 12.2 14.9 18.299999 21.6 26.6 32.700001 37.700001 43.299999 46 48.5 54.099998 60.200001 65.300003" 133.527 + y="0" 133.528 + sodipodi:role="line" 133.529 + id="tspan334">InstrInLdSt +Thd</tspan></text> 133.530 + 133.531 +</g><g 133.532 + id="g336"><text 133.533 + transform="matrix(0,1,1,0,136.5,601.7)" 133.534 + id="text338"><tspan 133.535 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.536 + x="0 7.3000002 11.7 19 24.5" 133.537 + y="0" 133.538 + sodipodi:role="line" 133.539 + id="tspan340">NewPC</tspan></text> 133.540 + 133.541 +</g><g 133.542 + id="g342"><text 133.543 + transform="matrix(0,1,1,0,147.7,601.7)" 133.544 + id="text344"><tspan 133.545 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.546 + x="0 5.6999998 8.1999998 14.3 19.299999" 133.547 + y="0" 133.548 + sodipodi:role="line" 133.549 + id="tspan346">+ Thd</tspan></text> 133.550 + 133.551 +</g><g 133.552 + id="g348" /><g 133.553 + id="g350"><text 133.554 + transform="matrix(0,1,1,0,221.7,604.1)" 133.555 + id="text352"><tspan 133.556 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.557 + x="0 3.3 8.3000002 12.2 14.9" 133.558 + y="0" 133.559 + sodipodi:role="line" 133.560 + id="tspan354">Instr</tspan></text> 133.561 + 133.562 +</g><g 133.563 + id="g356"><text 133.564 + transform="matrix(0,1,1,0,232.9,601.6)" 133.565 + id="text358"><tspan 133.566 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.567 + x="0 5.5999999 8.1000004 14.2 19.200001" 133.568 + y="0" 133.569 + sodipodi:role="line" 133.570 + id="tspan360">+ Thd</tspan></text> 133.571 + 133.572 +</g><g 133.573 + id="g362" /><g 133.574 + id="g364"><text 133.575 + transform="matrix(1,0,0,-1,273.8,556.1)" 133.576 + id="text366"><tspan 133.577 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.578 + x="0 3.3 8.3000002 12.2 14.9 18.299999 20.700001 26.4 28.9 34.400002 41.099998 43.599998 49.200001 51.799999 57.900002 62.900002" 133.579 + y="0" 133.580 + sodipodi:role="line" 133.581 + id="tspan368">Instr + PC + Thd</tspan></text> 133.582 + 133.583 +</g><path 133.584 + d="m 269.1,535.3 10.1,5.1 0,-10.1 -10.1,5 z" 133.585 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.586 + id="path370" 133.587 + inkscape:connector-curvature="0" /><path 133.588 + d="m 352.1,535 -74.9,0 0,0.7 74.9,0 0,-0.7 z" 133.589 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.590 + id="path372" 133.591 + inkscape:connector-curvature="0" /><g 133.592 + id="g374"><text 133.593 + transform="matrix(1,0,0,-1,282.9,536.3)" 133.594 + id="text376"><tspan 133.595 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.596 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 41.799999 47.900002 52.900002" 133.597 + y="0" 133.598 + sodipodi:role="line" 133.599 + id="tspan378">NewPC + Thd</tspan></text> 133.600 + 133.601 +</g><g 133.602 + id="g380"><text 133.603 + transform="matrix(1,0,0,-1,382.6,575.2)" 133.604 + id="text382"><tspan 133.605 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.606 + x="0 5.994 14.994 19.997999 27.99 36.990002 44.981998 50.976002 55.476002 65.484001 70.487999 79.487999" 133.607 + y="0" 133.608 + sodipodi:role="line" 133.609 + id="tspan384">Integer Pipe</tspan></text> 133.610 + 133.611 +</g><g 133.612 + id="g386"><path 133.613 + d="m 216.9,84.8 -38.2,0 c 0,0 -0.1,0 -0.1,0.1 l 0,31.1 c 0,0.1 0.1,0.1 0.1,0.1 l 76.3,0 c 0.1,0 0.1,0 0.1,-0.1 l 0,-31.1 c 0,-0.1 0,-0.1 -0.1,-0.1 l -38.1,0 z" 133.614 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.615 + id="path388" 133.616 + inkscape:connector-curvature="0" /></g><g 133.617 + id="g390"><path 133.618 + d="m 349.4,84.8 -40.3,0 c -0.1,0 -0.1,0 -0.1,0.1 l 0,31.1 c 0,0.1 0,0.1 0.1,0.1 l 80.6,0 c 0,0 0.1,0 0.1,-0.1 l 0,-31.1 c 0,-0.1 -0.1,-0.1 -0.1,-0.1 l -40.3,0 z" 133.619 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.620 + id="path392" 133.621 + inkscape:connector-curvature="0" /></g><path 133.622 + d="m 397,245.1 -5,10.1 10.1,0 -5.1,-10.1 z" 133.623 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.624 + id="path394" 133.625 + inkscape:connector-curvature="0" /><path 133.626 + d="m 397.4,325.9 0,-72.7 -0.7,0 0,72.7 0.7,0 z" 133.627 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.628 + id="path396" 133.629 + inkscape:connector-curvature="0" /><g 133.630 + id="g398"><text 133.631 + transform="matrix(0,1,1,0,394.4,258)" 133.632 + id="text400"><tspan 133.633 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.634 + x="0 6.6999998 10.6 15.6 18.1 23.700001 26.200001 33.5 37.900002 40.599998" 133.635 + y="0" 133.636 + sodipodi:role="line" 133.637 + id="tspan402">Rs2 + Data</tspan></text> 133.638 + 133.639 +</g><g 133.640 + id="g404"><text 133.641 + transform="matrix(0,1,1,0,405.6,258)" 133.642 + id="text406"><tspan 133.643 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.644 + x="0 5.5999999 11.8 16.799999" 133.645 + y="0" 133.646 + sodipodi:role="line" 133.647 + id="tspan408">+Thd</tspan></text> 133.648 + 133.649 +</g><path 133.650 + d="m 365.9,245.1 -5.1,10.1 10.1,0 -5,-10.1 z" 133.651 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.652 + id="path410" 133.653 + inkscape:connector-curvature="0" /><path 133.654 + d="m 366.2,325.9 0,-72.7 -0.7,0 0,72.7 0.7,0 z" 133.655 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.656 + id="path412" 133.657 + inkscape:connector-curvature="0" /><g 133.658 + id="g414"><text 133.659 + transform="matrix(0,1,1,0,363.2,258)" 133.660 + id="text416"><tspan 133.661 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.662 + x="0 6.6999998 10.6" 133.663 + y="0" 133.664 + sodipodi:role="line" 133.665 + id="tspan418">Rs1</tspan></text> 133.666 + 133.667 +</g><g 133.668 + id="g420"><text 133.669 + transform="matrix(0,1,1,0,374.4,258)" 133.670 + id="text422"><tspan 133.671 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.672 + x="0 5.5999999 11.8 16.799999" 133.673 + y="0" 133.674 + sodipodi:role="line" 133.675 + id="tspan424">+Thd</tspan></text> 133.676 + 133.677 +</g><path 133.678 + d="m 467.9,326.3 5.1,-10.1 -10.1,0 5,10.1 z" 133.679 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.680 + id="path426" 133.681 + inkscape:connector-curvature="0" /><path 133.682 + d="m 467.6,245.8 0,72.4 0.7,0 0,-72.4 -0.7,0 z" 133.683 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.684 + id="path428" 133.685 + inkscape:connector-curvature="0" /><g 133.686 + id="g430"><text 133.687 + transform="matrix(0,1,1,0,465.3,255.1)" 133.688 + id="text432"><tspan 133.689 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.690 + x="0 6.6999998 10.6 15.6 18.1 24.799999 29.799999 34.799999 37.5 41.900002 46.900002 49.700001" 133.691 + y="0" 133.692 + sodipodi:role="line" 133.693 + id="tspan434">Rs1 Contents</tspan></text> 133.694 + 133.695 +</g><g 133.696 + id="g436"><text 133.697 + transform="matrix(1,0,0,-1,430,67.3)" 133.698 + id="text438"><tspan 133.699 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.700 + x="0 5.8045001 10.602 13.205 18.506001 21.108999 23.512501 30.4095 35.112 37.515499 42.911499 45.210499 51.508999 55.708 60.505501 62.909 68.209999 70.613503 77.510498 82.212997 87.010498 90.211998" 133.701 + y="0" 133.702 + sodipodi:role="line" 133.703 + id="tspan440">Ld/St Op + Reg + Addr </tspan></text> 133.704 + 133.705 +</g><g 133.706 + id="g442"><text 133.707 + transform="matrix(1,0,0,-1,430,56.6)" 133.708 + id="text444"><tspan 133.709 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.710 + x="0 5.3959999 7.6950002 14.592 18.791 21.393999 25.593 27.9965 33.392502 35.691502 41.495998 46.293499 50.995998 53.399502 58.795502 61.199001 66.5 69.102997 71.706001 75.904999 80.103996 83.305496 90.202499" 133.711 + y="0" 133.712 + sodipodi:role="line" 133.713 + id="tspan446">+ Data + Thd + SliceID </tspan></text> 133.714 + 133.715 +</g><g 133.716 + id="g448" /><g 133.717 + id="g450"><text 133.718 + transform="matrix(1,0,0,-1,468,45.9)" 133.719 + id="text452"><tspan 133.720 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.721 + x="0 5.8045001 10.602 12.901 18.7055 23.503 28.804001 31.407 33.810501 40.7075 45.41 48.108002" 133.722 + y="0" 133.723 + sodipodi:role="line" 133.724 + id="tspan454">To LdSt Unit</tspan></text> 133.725 + 133.726 +</g><path 133.727 + d="m 356.7,177.5 -147.8,0 c 0,0 -0.1,0.1 -0.1,0.1 l 0,2.5 c 0,0 0.1,0.1 0.1,0.1 l 295.7,0 c 0,0 0.1,-0.1 0.1,-0.1 l 0,-2.5 c 0,0 -0.1,-0.1 -0.1,-0.1 l -147.9,0 z" 133.728 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.729 + id="path456" 133.730 + inkscape:connector-curvature="0" /><g 133.731 + id="g458"><path 133.732 + d="m 356.7,177.5 -147.8,0 c 0,0 -0.1,0.1 -0.1,0.1 l 0,2.5 c 0,0 0.1,0.1 0.1,0.1 l 295.7,0 c 0,0 0.1,-0.1 0.1,-0.1 l 0,-2.5 c 0,0 -0.1,-0.1 -0.1,-0.1 l -147.9,0 z" 133.733 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.734 + id="path460" 133.735 + inkscape:connector-curvature="0" /></g><path 133.736 + d="m 425.1,213.4 5.1,-10.1 -10.1,0 5,10.1 z" 133.737 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.738 + id="path462" 133.739 + inkscape:connector-curvature="0" /><path 133.740 + d="m 425.2,180.2 -5.1,10.1 10.1,0 -5,-10.1 z" 133.741 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.742 + id="path464" 133.743 + inkscape:connector-curvature="0" /><path 133.744 + d="m 425.1,205.3 0,-8.5 0.1,0 0,-8.6" 133.745 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.746 + id="path466" 133.747 + inkscape:connector-curvature="0" /><g 133.748 + id="g468"><path 133.749 + d="m 474.6,84.8 -33.1,0 c 0,0 -0.1,0 -0.1,0.1 l 0,31.1 c 0,0.1 0.1,0.1 0.1,0.1 l 66.1,0 c 0.1,0 0.1,0 0.1,-0.1 l 0,-31.1 c 0,-0.1 0,-0.1 -0.1,-0.1 l -33,0 z" 133.750 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.751 + id="path470" 133.752 + inkscape:connector-curvature="0" /></g><g 133.753 + id="g472"><text 133.754 + transform="matrix(1,0,0,-1,316.9,95)" 133.755 + id="text474"><tspan 133.756 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.757 + x="0 7.296 13.296 19.992001 23.292 26.292 37.596001 42.995998 46.296001 51.599998 57.599998 62.903999" 133.758 + y="0" 133.759 + sodipodi:role="line" 133.760 + id="tspan476">LdSt Watcher</tspan></text> 133.761 + 133.762 +</g><g 133.763 + id="g478"><text 133.764 + transform="matrix(1,0,0,-1,183.7,95)" 133.765 + id="text480"><tspan 133.766 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.767 + x="0 8.0039997 13.308 22.608 25.608 33.612 36.911999 40.212002 43.212002 51.911999 57.911999 61.212002" 133.768 + y="0" 133.769 + sodipodi:role="line" 133.770 + id="tspan482">Rem Ctl Unit</tspan></text> 133.771 + 133.772 +</g><g 133.773 + id="g484"><text 133.774 + transform="matrix(1,0,0,-1,453,95)" 133.775 + id="text486"><tspan 133.776 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.777 + x="0 10.704 16.704 20.004 23.304001 26.604 35.304001 38.604" 133.778 + y="0" 133.779 + sodipodi:role="line" 133.780 + id="tspan488">Mult/Div</tspan></text> 133.781 + 133.782 +</g><path 133.783 + d="m 361.4,177.5 5,-10.1 -10.1,0 5.1,10.1 z" 133.784 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.785 + id="path490" 133.786 + inkscape:connector-curvature="0" /><path 133.787 + d="m 361.4,169.5 0,-53.4 0,0" 133.788 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.789 + id="path492" 133.790 + inkscape:connector-curvature="0" /><path 133.791 + d="m 479.6,167.1 0,-0.2 0,0 0,-0.3 -0.1,-0.1 -0.2,-0.2 -0.2,0 -9,0 -0.2,0 -0.2,0.2 -0.1,0.1 -0.1,0.3 0,0 0.1,0.2 4.5,10.1 0.2,0.2 0.3,0.1 0.3,-0.1 0.2,-0.3 4.5,-10 z" 133.792 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.793 + id="path494" 133.794 + inkscape:connector-curvature="0" /><path 133.795 + d="m 474.6,168.5 0,-52.4 0,0" 133.796 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.797 + id="path496" 133.798 + inkscape:connector-curvature="0" /><path 133.799 + d="m 226.8,177.5 5,-10.1 -10,0 5,10.1 z" 133.800 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.801 + id="path498" 133.802 + inkscape:connector-curvature="0" /><path 133.803 + d="m 226.8,169.5 0,-15.4 -0.1,0 0,-38 0,0" 133.804 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.805 + id="path500" 133.806 + inkscape:connector-curvature="0" /><path 133.807 + d="m 269.9,492.8 10.1,5 0,-10 -10.1,5 z" 133.808 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.809 + id="path502" 133.810 + inkscape:connector-curvature="0" /><path 133.811 + d="m 352.9,492.4 -74.9,0 0,0.8 74.9,0 0,-0.8 z" 133.812 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.813 + id="path504" 133.814 + inkscape:connector-curvature="0" /><g 133.815 + id="g506"><text 133.816 + transform="matrix(1,0,0,-1,283.6,493.8)" 133.817 + id="text508"><tspan 133.818 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.819 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 41.799999 47.900002 53" 133.820 + y="0" 133.821 + sodipodi:role="line" 133.822 + id="tspan510">NewPC + Thd</tspan></text> 133.823 + 133.824 +</g><path 133.825 + d="m 269.2,339.7 10.1,5.1 0,-10.1 -10.1,5 z" 133.826 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.827 + id="path512" 133.828 + inkscape:connector-curvature="0" /><path 133.829 + d="m 352.2,339.4 -74.9,0 0,0.7 74.9,0 0,-0.7 z" 133.830 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.831 + id="path514" 133.832 + inkscape:connector-curvature="0" /><g 133.833 + id="g516"><text 133.834 + transform="matrix(1,0,0,-1,283.6,340.7)" 133.835 + id="text518"><tspan 133.836 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.837 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 41.799999 47.900002 53" 133.838 + y="0" 133.839 + sodipodi:role="line" 133.840 + id="tspan520">NewPC + Thd</tspan></text> 133.841 + 133.842 +</g><path 133.843 + d="m 507.7,100.4 10.1,5.1 0,-10.1 -10.1,5 z" 133.844 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.845 + id="path522" 133.846 + inkscape:connector-curvature="0" /><path 133.847 + d="m 508.5,436.3 23,0 0,-335.9 -15.7,0" 133.848 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.849 + id="path524" 133.850 + inkscape:connector-curvature="0" /><g 133.851 + id="g526"><text 133.852 + transform="matrix(0,1,1,0,224.3,124.7)" 133.853 + id="text528"><tspan 133.854 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.855 + x="0 6.6999998 11.1 16.200001 18.700001 24.299999 26.799999 34 38.5 41.200001" 133.856 + y="0" 133.857 + sodipodi:role="line" 133.858 + id="tspan530">Reg + Data</tspan></text> 133.859 + 133.860 +</g><g 133.861 + id="g532"><text 133.862 + transform="matrix(0,1,1,0,235.5,124.7)" 133.863 + id="text534"><tspan 133.864 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.865 + x="0 5.5999999 11.8 16.799999" 133.866 + y="0" 133.867 + sodipodi:role="line" 133.868 + id="tspan536">+Thd</tspan></text> 133.869 + 133.870 +</g><g 133.871 + id="g538"><text 133.872 + transform="matrix(0,1,1,0,360.4,124.7)" 133.873 + id="text540"><tspan 133.874 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.875 + x="0 6.6999998 11.1 16.1 18.6 24.200001 26.799999 34 38.400002 41.200001" 133.876 + y="0" 133.877 + sodipodi:role="line" 133.878 + id="tspan542">Reg + Data</tspan></text> 133.879 + 133.880 +</g><g 133.881 + id="g544"><text 133.882 + transform="matrix(0,1,1,0,371.6,124.7)" 133.883 + id="text546"><tspan 133.884 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.885 + x="0 5.5999999 11.8 16.700001" 133.886 + y="0" 133.887 + sodipodi:role="line" 133.888 + id="tspan548">+Thd</tspan></text> 133.889 + 133.890 +</g><g 133.891 + id="g550"><text 133.892 + transform="matrix(0,1,1,0,473.8,124.7)" 133.893 + id="text552"><tspan 133.894 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.895 + x="0 6.6999998 11.1 16.1 18.6 24.200001 26.700001 34 38.400002 41.200001" 133.896 + y="0" 133.897 + sodipodi:role="line" 133.898 + id="tspan554">Reg + Data</tspan></text> 133.899 + 133.900 +</g><g 133.901 + id="g556"><text 133.902 + transform="matrix(0,1,1,0,485,124.7)" 133.903 + id="text558"><tspan 133.904 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.905 + x="0 5.5999999 11.7 16.700001" 133.906 + y="0" 133.907 + sodipodi:role="line" 133.908 + id="tspan560">+Thd</tspan></text> 133.909 + 133.910 +</g><path 133.911 + d="m 248,116.1 -5,10.1 10,0 -5,-10.1 z" 133.912 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.913 + id="path562" 133.914 + inkscape:connector-curvature="0" /><path 133.915 + d="m 248.1,177.5 0,-23.4 -0.1,0 0,-29.9" 133.916 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.917 + id="path564" 133.918 + inkscape:connector-curvature="0" /><g 133.919 + id="g566"><text 133.920 + transform="matrix(0,1,1,0,247,125.9)" 133.921 + id="text568"><tspan 133.922 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.923 + x="0 7.3000002 11.7 14.4" 133.924 + y="0" 133.925 + sodipodi:role="line" 133.926 + id="tspan570">Data</tspan></text> 133.927 + 133.928 +</g><path 133.929 + d="m 523.8,47.1 -5.4,9.9 10.1,0.3 -4.7,-10.2 z" 133.930 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.931 + id="path572" 133.932 + inkscape:connector-curvature="0" /><path 133.933 + d="m 508.5,344.2 14.9,0 0,-289.4" 133.934 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.935 + id="path574" 133.936 + inkscape:connector-curvature="0" /><path 133.937 + d="m 184.2,288.4 5.1,-10.1 -10.1,0 5,10.1 z" 133.938 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.939 + id="path576" 133.940 + inkscape:connector-curvature="0" /><path 133.941 + d="m 184.3,116.1 0,86.1 -0.1,0 0,78.1" 133.942 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.943 + id="path578" 133.944 + inkscape:connector-curvature="0" /><path 133.945 + d="m 233.8,288.4 5.1,-10.1 -10.1,0 5,10.1 z" 133.946 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.947 + id="path580" 133.948 + inkscape:connector-curvature="0" /><path 133.949 + d="m 328.4,116.1 0,93.2 -94.6,0 0,71" 133.950 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.951 + id="path582" 133.952 + inkscape:connector-curvature="0" /><g 133.953 + id="g584"><text 133.954 + transform="matrix(0,1,1,0,232.8,212.6)" 133.955 + id="text586"><tspan 133.956 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.957 + x="0 6.1999998 11.1 16.700001 19.5 26.700001 31.700001 36.700001 41.200001 43.700001 49.299999 51.799999 57.900002 62.900002" 133.958 + y="0" 133.959 + sodipodi:role="line" 133.960 + id="tspan588">LdStDone + Thd</tspan></text> 133.961 + 133.962 +</g><g 133.963 + id="g590"><text 133.964 + transform="matrix(0,1,1,0,181.8,135.4)" 133.965 + id="text592"><tspan 133.966 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.967 + x="0 6.6999998 14.4 19.4 21.9 27.5 30 35.599998 42.299999 44.799999 50.400002 52.900002 56.200001 61.200001 65.099998 67.800003 71.199997 73.699997 79.300003 81.800003 87.300003 91.800003 94.5 100.1 102.9 107.3 110.1 115 118.9 121.4 127 129.5 135.7 140.7" 133.968 + y="0" 133.969 + sodipodi:role="line" 133.970 + id="tspan594">Cmd + PC + Instr + SetStatus + Thd</tspan></text> 133.971 + 133.972 +</g><g 133.973 + id="g596"><text 133.974 + transform="matrix(0,1,1,0,196,206.1)" 133.975 + id="text598"><tspan 133.976 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.977 + x="0 5.5999999 12.3 14.8 20.4 22.9 26.200001 31.200001 35.099998 37.900002 41.200001 43.700001 49.299999 51.799999 55.700001 58.400002 62.900002 65.599998 70.599998" 133.978 + y="0" 133.979 + sodipodi:role="line" 133.980 + id="tspan600">PC + Instr + status</tspan></text> 133.981 + 133.982 +</g><path 133.983 + d="m 217.1,49.6 -61.1,0 c 0,0 -0.1,0 -0.1,0.1 l 0,2.4 c 0,0.1 0.1,0.1 0.1,0.1 l 122.2,0 c 0,0 0.1,0 0.1,-0.1 l 0,-2.4 c 0,-0.1 -0.1,-0.1 -0.1,-0.1 l -61.1,0 z" 133.984 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.985 + id="path602" 133.986 + inkscape:connector-curvature="0" /><g 133.987 + id="g604"><path 133.988 + d="m 217.1,49.6 -61.1,0 c 0,0 -0.1,0 -0.1,0.1 l 0,2.4 c 0,0.1 0.1,0.1 0.1,0.1 l 122.2,0 c 0,0 0.1,0 0.1,-0.1 l 0,-2.4 c 0,-0.1 -0.1,-0.1 -0.1,-0.1 l -61.1,0 z" 133.989 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.990 + id="path606" 133.991 + inkscape:connector-curvature="0" /></g><path 133.992 + d="m 216.9,84.8 5,-10.1 -10.1,0 5.1,10.1 z" 133.993 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.994 + id="path608" 133.995 + inkscape:connector-curvature="0" /><path 133.996 + d="m 217.1,52.2 -5.1,10.1 10.1,0 -5,-10.1 z" 133.997 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.998 + id="path610" 133.999 + inkscape:connector-curvature="0" /><path 133.1000 + d="m 216.9,76.7 0,-8.2 0.2,0 0,-8.2" 133.1001 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.1002 + id="path612" 133.1003 + inkscape:connector-curvature="0" /><path 133.1004 + d="m 349.4,84.8 5,-10.1 -10.1,0 5.1,10.1 z" 133.1005 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.1006 + id="path614" 133.1007 + inkscape:connector-curvature="0" /><path 133.1008 + d="m 349.2,45.3 0,19.7 0.2,0 0,11.7" 133.1009 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.1010 + id="path616" 133.1011 + inkscape:connector-curvature="0" /><g 133.1012 + id="g618"><text 133.1013 + transform="matrix(1,0,0,-1,350.6,67.3)" 133.1014 + id="text620"><tspan 133.1015 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.1016 + x="0 6.2985001 10.4975 15.2 17.6035 22.9995 25.403 32.205002 36.403999 39.102001 43.206001 45.609501 51.005501" 133.1017 + y="0" 133.1018 + sodipodi:role="line" 133.1019 + id="tspan622">Reg + Data + </tspan></text> 133.1020 + 133.1021 +</g><g 133.1022 + id="g624"><text 133.1023 + transform="matrix(1,0,0,-1,350.6,56.6)" 133.1024 + id="text626"><tspan 133.1025 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.1026 + x="0 5.8045001 10.602 15.3045 17.708 23.104 25.403 30.704 33.402 36.005001 40.203999 44.403 47.6045 54.406502" 133.1027 + y="0" 133.1028 + sodipodi:role="line" 133.1029 + id="tspan628">Thd + SliceID </tspan></text> 133.1030 + 133.1031 +</g><g 133.1032 + id="g630"><text 133.1033 + transform="matrix(1,0,0,-1,350.6,45.9)" 133.1034 + id="text632"><tspan 133.1035 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.1036 + x="0 5.3010001 8.5024996 13.205 20.500999 22.904499 28.709 33.411499 38.712502 41.4105 43.709499 50.606499 55.403999 58.007" 133.1037 + y="0" 133.1038 + sodipodi:role="line" 133.1039 + id="tspan634">From LdSt Unit</tspan></text> 133.1040 + 133.1041 +</g><path 133.1042 + d="m 338.1,84.7 5,-10.1 -10.1,0 5.1,10.1 z" 133.1043 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.1044 + id="path636" 133.1045 + inkscape:connector-curvature="0" /><path 133.1046 + d="m 337.9,45.3 0,19.7 0.2,0 0,11.6" 133.1047 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.1048 + id="path638" 133.1049 + inkscape:connector-curvature="0" /><path 133.1050 + d="m 326.7,84.7 5.1,-10.1 -10.1,0 5,10.1 z" 133.1051 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.1052 + id="path640" 133.1053 + inkscape:connector-curvature="0" /><path 133.1054 + d="m 326.6,45.3 0,19.7 0.1,0 0,11.6" 133.1055 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.1056 + id="path642" 133.1057 + inkscape:connector-curvature="0" /><path 133.1058 + d="m 315.4,84.7 5,-10.1 -10.1,0 5.1,10.1 z" 133.1059 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.1060 + id="path644" 133.1061 + inkscape:connector-curvature="0" /><path 133.1062 + d="m 315.2,45.3 0,19.7 0.2,0 0,11.6" 133.1063 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.1064 + id="path646" 133.1065 + inkscape:connector-curvature="0" /><g 133.1066 + id="g648"><text 133.1067 + transform="matrix(1,0,0,-1,228.8,53.2)" 133.1068 + id="text650"><tspan 133.1069 + style="font-size:9.5px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.1070 + x="0 6.2985001 10.4975 17.793501 20.092501 26.495501 29.098499 31.7015 34.105 40.4035 45.105999" 133.1071 + y="0" 133.1072 + sodipodi:role="line" 133.1073 + id="tspan652">Rem Ctl Bus</tspan></text> 133.1074 + 133.1075 +</g><path 133.1076 + d="m 198.5,116.1 -5.1,10.1 10.1,0 -5,-10.1 z" 133.1077 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 133.1078 + id="path654" 133.1079 + inkscape:connector-curvature="0" /><path 133.1080 + d="m 198.4,288.4 0,-86.2 0.1,0 0,-78" 133.1081 + style="fill:none;stroke:#000000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 133.1082 + id="path656" 133.1083 + inkscape:connector-curvature="0" /><g 133.1084 + id="g658"><text 133.1085 + transform="matrix(1,0,0,-1,25.8,28.7)" 133.1086 + id="text660"><tspan 133.1087 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.1088 + x="0 6 9.3000002 15.3 21.299999 24.6 30.6" 133.1089 + y="0" 133.1090 + sodipodi:role="line" 133.1091 + id="tspan662">6/16/03</tspan></text> 133.1092 + 133.1093 +</g><g 133.1094 + id="g670"><text 133.1095 + transform="matrix(1,0,0,-1,336.6,27.3)" 133.1096 + id="text672"><tspan 133.1097 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 133.1098 + x="0" 133.1099 + y="0" 133.1100 + id="tspan674">2</tspan></text> 133.1101 + 133.1102 +</g></g></svg> 133.1103 \ No newline at end of file
134.1 Binary file 1__Presentations/12__LPGPU_Arch/figures/FSMs_in_Ctxt_Unit.pdf has changed
135.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 135.2 +++ b/1__Presentations/12__LPGPU_Arch/figures/FSMs_in_Ctxt_Unit.svg Sun Mar 11 09:26:44 2012 -0700 135.3 @@ -0,0 +1,746 @@ 135.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 135.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 135.6 + 135.7 +<svg 135.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 135.9 + xmlns:cc="http://creativecommons.org/ns#" 135.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 135.11 + xmlns:svg="http://www.w3.org/2000/svg" 135.12 + xmlns="http://www.w3.org/2000/svg" 135.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 135.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 135.15 + id="svg2" 135.16 + version="1.1" 135.17 + inkscape:version="0.48.1 " 135.18 + width="990" 135.19 + height="765" 135.20 + xml:space="preserve" 135.21 + sodipodi:docname="FSMs_in_Ctxt_Unit.svg"><metadata 135.22 + id="metadata8"><rdf:RDF><cc:Work 135.23 + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type 135.24 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs 135.25 + id="defs6"><clipPath 135.26 + clipPathUnits="userSpaceOnUse" 135.27 + id="clipPath16"><path 135.28 + d="M 0,0 792,0 792,612 0,612 0,0 z" 135.29 + clip-rule="evenodd" 135.30 + id="path18" /></clipPath></defs><sodipodi:namedview 135.31 + pagecolor="#ffffff" 135.32 + bordercolor="#666666" 135.33 + borderopacity="1" 135.34 + objecttolerance="10" 135.35 + gridtolerance="10" 135.36 + guidetolerance="10" 135.37 + inkscape:pageopacity="0" 135.38 + inkscape:pageshadow="2" 135.39 + inkscape:window-width="750" 135.40 + inkscape:window-height="829" 135.41 + id="namedview4" 135.42 + showgrid="false" 135.43 + inkscape:zoom="0.38039216" 135.44 + inkscape:cx="495" 135.45 + inkscape:cy="382.5" 135.46 + inkscape:window-x="0" 135.47 + inkscape:window-y="0" 135.48 + inkscape:window-maximized="0" 135.49 + inkscape:current-layer="g10" /><g 135.50 + id="g10" 135.51 + inkscape:groupmode="layer" 135.52 + inkscape:label="SThd_Land Technical" 135.53 + transform="matrix(1.25,0,0,-1.25,0,765)"><g 135.54 + id="g24"><path 135.55 + d="m 104.8,469.8 c 28.3,0 49.9,-14.4 49.9,-33.2 0,-18.9 -21.6,-33.2 -49.9,-33.2 -28.3,0 -49.9,14.3 -49.9,33.2 0,18.8 21.6,33.2 49.9,33.2 z" 135.56 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.57 + id="path26" 135.58 + inkscape:connector-curvature="0" /></g><g 135.59 + id="g28"><text 135.60 + transform="matrix(1,0,0,-1,175.1,475.9)" 135.61 + id="text30"><tspan 135.62 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.63 + x="0 8.0880003 21.384001 34.68 41.352001 52.032001 58.703999 69.384003" 135.64 + y="0" 135.65 + sodipodi:role="line" 135.66 + id="tspan32">IFState:</tspan></text> 135.67 + 135.68 + 135.69 +</g><g 135.70 + id="g34"><text 135.71 + transform="matrix(1,0,0,-1,61.6,429)" 135.72 + id="text36"><tspan 135.73 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.74 + x="0 11.988 19.962 28.044001 37.043999 46.223999 56.231998 65.232002 71.225998 77.220001" 135.75 + y="0" 135.76 + sodipodi:role="line" 135.77 + id="tspan38">ReadyForIF</tspan></text> 135.78 + 135.79 + 135.80 +</g><g 135.81 + id="g40"><text 135.82 + transform="matrix(1,0,0,-1,294,428.1)" 135.83 + id="text42"><tspan 135.84 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.85 + x="0 5.994 14.994 20.988001" 135.86 + y="0" 135.87 + sodipodi:role="line" 135.88 + id="tspan44">InIF</tspan></text> 135.89 + 135.90 + 135.91 +</g><g 135.92 + id="g46"><path 135.93 + d="m 155.9,436 96.7,-0.1" 135.94 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.95 + id="path48" 135.96 + inkscape:connector-curvature="0" /></g><path 135.97 + d="m 257.4,435.9 -6,-3 0,6 6,-3 z" 135.98 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.99 + id="path50" 135.100 + inkscape:connector-curvature="0" /><g 135.101 + id="g52"><path 135.102 + d="m 308.8,469.8 c 28.3,0 49.9,-14.4 49.9,-33.2 0,-18.9 -21.6,-33.2 -49.9,-33.2 -28.3,0 -49.9,14.3 -49.9,33.2 0,18.8 21.6,33.2 49.9,33.2 z" 135.103 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.104 + id="path54" 135.105 + inkscape:connector-curvature="0" /></g><g 135.106 + id="g56"><path 135.107 + d="m 203.9,387.5 c 28.3,0 49.9,-14.3 49.9,-33.1 0,-18.8 -21.6,-33.2 -49.9,-33.2 -28.3,0 -49.9,14.4 -49.9,33.2 0,18.8 21.6,33.1 49.9,33.1 z" 135.108 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.109 + id="path58" 135.110 + inkscape:connector-curvature="0" /></g><g 135.111 + id="g60"><path 135.112 + d="m 309,402.2 c -16.1,-42.3 -39.7,-43 -50.4,-45.6" 135.113 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.114 + id="path62" 135.115 + inkscape:connector-curvature="0" /></g><path 135.116 + d="m 254,355.7 5.3,4.1 1.1,-5.8 -6.4,1.7 z" 135.117 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.118 + id="path64" 135.119 + inkscape:connector-curvature="0" /><g 135.120 + id="g66"><path 135.121 + d="m 152.2,354.4 c -51.5,19.9 -44.8,34.8 -45.3,43.6" 135.122 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.123 + id="path68" 135.124 + inkscape:connector-curvature="0" /></g><path 135.125 + d="m 107.1,402.5 2.9,-6 -6,0.1 3.1,5.9 z" 135.126 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.127 + id="path70" 135.128 + inkscape:connector-curvature="0" /><g 135.129 + id="g72"><text 135.130 + transform="matrix(1,0,0,-1,160.7,345.9)" 135.131 + id="text74"><tspan 135.132 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.133 + x="0 12.996 21.996 30.996 38.970001 55.944 60.93 65.916 74.916 80.910004" 135.134 + y="0" 135.135 + sodipodi:role="line" 135.136 + id="tspan76">DoneWithIF</tspan></text> 135.137 + 135.138 + 135.139 +</g><g 135.140 + id="g78"><text 135.141 + transform="matrix(1,0,0,-1,161.9,450.5)" 135.142 + id="text80"><tspan 135.143 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.144 + x="0 7.9920001 13.992 19.992001 24.684 29.879999 35.964001 38.964001 42.863998 46.860001 52.860001 62.16 65.160004 71.160004 77.160004 83.160004" 135.145 + y="0" 135.146 + sodipodi:role="line" 135.147 + id="tspan82">Chosen from pool</tspan></text> 135.148 + 135.149 + 135.150 +</g><g 135.151 + id="g84" /><g 135.152 + id="g86"><text 135.153 + transform="matrix(1,0,0,-1,164.9,436.2)" 135.154 + id="text88"><tspan 135.155 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.156 + x="0 6 9.8999996 12.9 16.284 22.284 26.184 31.488001 36.792 42.792 47.484001 50.484001 54.383999 59.688 64.991997 70.991997" 135.157 + y="0" 135.158 + sodipodi:role="line" 135.159 + id="tspan90">of threads ready</tspan></text> 135.160 + 135.161 + 135.162 +</g><g 135.163 + id="g92"><text 135.164 + transform="matrix(1,0,0,-1,272.5,348.4)" 135.165 + id="text94"><tspan 135.166 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.167 + x="0 3.6960001 11.688 16.992001 22.296 28.296 33.599998 36.599998 42.599998 47.796001 52.487999 55.487999 60.792 66.792 76.176003 82.176003 85.475998 90.779999 94.164001 99.360001" 135.168 + y="0" 135.169 + sodipodi:role="line" 135.170 + id="tspan96">ICache has completed</tspan></text> 135.171 + 135.172 + 135.173 +</g><g 135.174 + id="g98" /><g 135.175 + id="g100"><text 135.176 + transform="matrix(1,0,0,-1,284.5,334)" 135.177 + id="text102"><tspan 135.178 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.179 + x="0 3.6960001 9.6960001 14.388 17.688 21.684 27.684 32.987999 36.287998 39.672001 45.672001 51.672001 54.672001 61.271999 66.575996 69.875999 75.18 81.18" 135.180 + y="0" 135.181 + sodipodi:role="line" 135.182 + id="tspan104">Instruction Fetch </tspan></text> 135.183 + 135.184 + 135.185 +</g><g 135.186 + id="g106"><text 135.187 + transform="matrix(1,0,0,-1,40,368.3)" 135.188 + id="text108"><tspan 135.189 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.190 + x="0 11.388 17.388 22.584 28.667999 31.667999 40.271999 45.576 54.18 60.863998 68.952003 71.952003 75.251999" 135.191 + y="0" 135.192 + sodipodi:role="line" 135.193 + id="tspan110">When NewPC is</tspan></text> 135.194 + 135.195 + 135.196 +</g><g 135.197 + id="g112" /><g 135.198 + id="g114"><text 135.199 + transform="matrix(1,0,0,-1,43,353.9)" 135.200 + id="text116"><tspan 135.201 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.202 + x="0 4.6919999 9.8879995 15.888 19.271999 22.271999 28.271999 33.875999 36.875999 40.259998 46.259998 51.563999 54.563999 60.563999 63.863998 69.863998 75.167999" 135.203 + y="0" 135.204 + sodipodi:role="line" 135.205 + id="tspan118">sent by the pipe </tspan></text> 135.206 + 135.207 + 135.208 +</g><g 135.209 + id="g120"><text 135.210 + xml:space="preserve" 135.211 + style="font-size:10.39999962px;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" 135.212 + x="255.79402" 135.213 + y="-532.95746" 135.214 + id="text3840" 135.215 + sodipodi:linespacing="125%" 135.216 + transform="scale(1,-1)"><tspan 135.217 + sodipodi:role="line" 135.218 + id="tspan3842" 135.219 + x="255.79402" 135.220 + y="-532.95746" 135.221 + style="font-size:32px;font-family:Times New Roman;-inkscape-font-specification:Times New Roman">FSMs In Ctxt Unit</tspan></text> 135.222 + 135.223 + 135.224 +</g><g 135.225 + id="g126"><path 135.226 + d="m 490.9,469.8 c 31.1,0 54.9,-14.4 54.9,-33.2 0,-18.9 -23.8,-33.2 -54.9,-33.2 -31.1,0 -54.9,14.3 -54.9,33.2 0,18.8 23.8,33.2 54.9,33.2 z" 135.227 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.228 + id="path128" 135.229 + inkscape:connector-curvature="0" /></g><g 135.230 + id="g130"><text 135.231 + transform="matrix(1,0,0,-1,552.2,475.9)" 135.232 + id="text132"><tspan 135.233 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.234 + x="0 13.368 20.040001 32.040001 42.720001 56.015999 62.688 73.367996 80.040001 90.720001" 135.235 + y="0" 135.236 + sodipodi:role="line" 135.237 + id="tspan134">PipeState:</tspan></text> 135.238 + 135.239 + 135.240 +</g><g 135.241 + id="g136"><text 135.242 + transform="matrix(1,0,0,-1,441.5,429)" 135.243 + id="text138"><tspan 135.244 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.245 + x="0 11.988 19.962 28.044001 36.936001 46.223999 56.124001 65.124001 71.208 81.108002 86.183998 95.075996" 135.246 + y="0" 135.247 + sodipodi:role="line" 135.248 + id="tspan140">ReadyForPipe</tspan></text> 135.249 + 135.250 + 135.251 +</g><g 135.252 + id="g142"><text 135.253 + transform="matrix(1,0,0,-1,685.2,428.1)" 135.254 + id="text144"><tspan 135.255 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.256 + x="0 6.0840001 14.976 24.983999 29.969999 39.060001" 135.257 + y="0" 135.258 + sodipodi:role="line" 135.259 + id="tspan146">InPipe</tspan></text> 135.260 + 135.261 + 135.262 +</g><g 135.263 + id="g148"><path 135.264 + d="m 547.1,436 96.6,-0.1" 135.265 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.266 + id="path150" 135.267 + inkscape:connector-curvature="0" /></g><path 135.268 + d="m 648.5,435.9 -5.9,-3 0,6 5.9,-3 z" 135.269 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.270 + id="path152" 135.271 + inkscape:connector-curvature="0" /><g 135.272 + id="g154"><path 135.273 + d="m 700,469.8 c 28.3,0 50,-14.4 50,-33.2 0,-18.9 -21.7,-33.2 -50,-33.2 -28.3,0 -49.9,14.3 -49.9,33.2 0,18.8 21.6,33.2 49.9,33.2 z" 135.274 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.275 + id="path156" 135.276 + inkscape:connector-curvature="0" /></g><g 135.277 + id="g158"><path 135.278 + d="m 595.9,387.5 c 31.1,0 54.8,-14.3 54.8,-33.1 0,-18.8 -23.7,-33.2 -54.8,-33.2 -31.1,0 -54.9,14.4 -54.9,33.2 0,18.8 23.8,33.1 54.9,33.1 z" 135.279 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.280 + id="path160" 135.281 + inkscape:connector-curvature="0" /></g><g 135.282 + id="g162"><path 135.283 + d="M 700.2,402.1 C 686,359.8 665.9,359.4 656.2,356.6" 135.284 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.285 + id="path164" 135.286 + inkscape:connector-curvature="0" /></g><path 135.287 + d="m 651.7,355.6 5.1,4.3 1.4,-5.8 -6.5,1.5 z" 135.288 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.289 + id="path166" 135.290 + inkscape:connector-curvature="0" /><g 135.291 + id="g168"><path 135.292 + d="m 540.4,354.4 c -54.3,19.9 -47.2,34.8 -47.8,43.6" 135.293 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.294 + id="path170" 135.295 + inkscape:connector-curvature="0" /></g><path 135.296 + d="m 492.8,402.5 2.9,-6 -6,0.1 3.1,5.9 z" 135.297 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.298 + id="path172" 135.299 + inkscape:connector-curvature="0" /><g 135.300 + id="g174"><text 135.301 + transform="matrix(1,0,0,-1,543.5,345.9)" 135.302 + id="text176"><tspan 135.303 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.304 + x="0 12.996 21.996 30.996 38.970001 55.872002 60.948002 65.933998 74.933998 84.942001 89.928001 98.928001" 135.305 + y="0" 135.306 + sodipodi:role="line" 135.307 + id="tspan178">DoneWithPipe</tspan></text> 135.308 + 135.309 + 135.310 +</g><g 135.311 + id="g180"><text 135.312 + transform="matrix(1,0,0,-1,553.1,450.5)" 135.313 + id="text182"><tspan 135.314 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.315 + x="0 7.9920001 13.992 19.992001 24.684 29.988001 35.987999 38.987999 42.984001 46.883999 52.883999 62.268002 65.267998 71.267998 77.267998 83.267998" 135.316 + y="0" 135.317 + sodipodi:role="line" 135.318 + id="tspan184">Chosen from pool</tspan></text> 135.319 + 135.320 + 135.321 +</g><g 135.322 + id="g186" /><g 135.323 + id="g188"><text 135.324 + transform="matrix(1,0,0,-1,556.1,436.2)" 135.325 + id="text190"><tspan 135.326 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.327 + x="0 6 9.9960003 12.996 16.296 22.296 26.292 31.596001 36.900002 42.804001 47.495998 50.495998 54.492001 59.796001 64.991997 70.991997" 135.328 + y="0" 135.329 + sodipodi:role="line" 135.330 + id="tspan192">of threads ready</tspan></text> 135.331 + 135.332 + 135.333 +</g><g 135.334 + id="g194" /><g 135.335 + id="g196"><text 135.336 + transform="matrix(1,0,0,-1,678.6,356.9)" 135.337 + id="text198"><tspan 135.338 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.339 + x="0 6.684 10.068 16.068001 21.372 24.275999 28.968 32.352001 38.256001 44.256001 49.452 52.835999 57.528" 135.340 + y="0" 135.341 + sodipodi:role="line" 135.342 + id="tspan200">Pipe signals </tspan></text> 135.343 + 135.344 + 135.345 +</g><g 135.346 + id="g202"><text 135.347 + transform="matrix(1,0,0,-1,663.6,342.5)" 135.348 + id="text204"><tspan 135.349 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.350 + x="0 3.6960001 9.6960001 14.388 17.771999 21.672001 27.672001 32.976002 36.360001 39.66 45.66 51.66 54.66 58.043999 62.639999 65.723999 71.723999 77.627998 83.711998 88.907997" 135.351 + y="0" 135.352 + sodipodi:role="line" 135.353 + id="tspan206">Instruction is done </tspan></text> 135.354 + 135.355 + 135.356 +</g><g 135.357 + id="g208"><text 135.358 + transform="matrix(1,0,0,-1,405.7,376.8)" 135.359 + id="text210"><tspan 135.360 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.361 + x="0 11.388 17.388 22.691999 28.691999 31.691999 40.296001 46.296001 52.380001 57.576 68.963997 72.348 75.648003 81.648003 85.452003" 135.362 + y="0" 135.363 + sodipodi:role="line" 135.364 + id="tspan212">When DoneWithIF</tspan></text> 135.365 + 135.366 + 135.367 +</g><g 135.368 + id="g214" /><g 135.369 + id="g216"><text 135.370 + transform="matrix(1,0,0,-1,414.7,362.4)" 135.371 + id="text218"><tspan 135.372 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.373 + x="0 5.3039999 11.304 17.304001 20.304001 28.992001 34.992001 38.292 41.987999 47.987999 55.091999 61.091999 67.776001 71.160004" 135.374 + y="0" 135.375 + sodipodi:role="line" 135.376 + id="tspan220">and NotInLdSt </tspan></text> 135.377 + 135.378 + 135.379 +</g><g 135.380 + id="g222" /><g 135.381 + id="g224"><text 135.382 + transform="matrix(1,0,0,-1,444.7,348)" 135.383 + id="text226"><tspan 135.384 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.385 + x="0 8.6879997" 135.386 + y="0" 135.387 + sodipodi:role="line" 135.388 + id="tspan228">OR</tspan></text> 135.389 + 135.390 + 135.391 +</g><g 135.392 + id="g230" /><g 135.393 + id="g232"><text 135.394 + transform="matrix(1,0,0,-1,414.7,333.6)" 135.395 + id="text234"><tspan 135.396 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.397 + x="0 3.9960001 9.9960003 13.992 19.188 24.492001 30.492001 33.492001 39.492001 45.192001 48.192001 55.487999 61.487999 67.487999 74.592003" 135.398 + y="0" 135.399 + sodipodi:role="line" 135.400 + id="tspan236">forced by ThdLd</tspan></text> 135.401 + 135.402 + 135.403 +</g><g 135.404 + id="g238"><text 135.405 + transform="matrix(1,0,0,-1,405.7,319.3)" 135.406 + id="text240"><tspan 135.407 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.408 + x="0 5.3039999 9.9960003 12.996 17.688 23.688 29.688 35.688 38.688 43.883999 48.576 51.576 60.264 66.264 69.564003 73.367996 79.272003 86.375999 92.375999 99.167999" 135.409 + y="0" 135.410 + sodipodi:role="line" 135.411 + id="tspan242">as soon as NotInLdSt</tspan></text> 135.412 + 135.413 + 135.414 +</g><g 135.415 + id="g244"><text 135.416 + transform="matrix(1,0,0,-1,172.4,235)" 135.417 + id="text246"><tspan 135.418 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.419 + x="0 14.592 21.264 29.256001 39.863998 53.231998 59.903999 70.512001 77.279999 87.888" 135.420 + y="0" 135.421 + sodipodi:role="line" 135.422 + id="tspan248">LifeState:</tspan></text> 135.423 + 135.424 + 135.425 +</g><g 135.426 + id="g250"><text 135.427 + transform="matrix(1,0,0,-1,269.9,188.3)" 135.428 + id="text252"><tspan 135.429 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.430 + x="0 11.088 20.087999 28.062 37.062 42.138 51.138" 135.431 + y="0" 135.432 + sodipodi:role="line" 135.433 + id="tspan254">Loading</tspan></text> 135.434 + 135.435 + 135.436 +</g><g 135.437 + id="g256"><path 135.438 + d="m 157,194.7 96.7,-0.1" 135.439 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.440 + id="path258" 135.441 + inkscape:connector-curvature="0" /></g><path 135.442 + d="m 258.5,194.6 -6,-2.9 0,5.9 6,-3 z" 135.443 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.444 + id="path260" 135.445 + inkscape:connector-curvature="0" /><g 135.446 + id="g262"><path 135.447 + d="m 298.3,228.8 c 22.4,0 39.4,-14.4 39.4,-33.2 0,-18.9 -17,-33.2 -39.4,-33.2 -22.3,0 -39.4,14.3 -39.4,33.2 0,18.8 17.1,33.2 39.4,33.2 z" 135.448 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.449 + id="path264" 135.450 + inkscape:connector-curvature="0" /></g><g 135.451 + id="g266"><text 135.452 + transform="matrix(1,0,0,-1,156.3,209.5)" 135.453 + id="text268"><tspan 135.454 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.455 + x="0 11.388 17.388 22.691999 28.691999 31.691999 38.987999 44.987999 50.987999 58.091999 64.092003 66.996002 71.688004 75.071999 80.975998 86.975998 92.171997" 135.456 + y="0" 135.457 + sodipodi:role="line" 135.458 + id="tspan270">When ThdLd signal</tspan></text> 135.459 + 135.460 + 135.461 +</g><g 135.462 + id="g272" /><g 135.463 + id="g274"><text 135.464 + transform="matrix(1,0,0,-1,174.3,195.2)" 135.465 + id="text276"><tspan 135.466 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.467 + x="0 3.3 7.9920001 10.992 14.988 20.184 25.488001 30.792 34.175999 40.175999 45.372002" 135.468 + y="0" 135.469 + sodipodi:role="line" 135.470 + id="tspan278">is received</tspan></text> 135.471 + 135.472 + 135.473 +</g><g 135.474 + id="g280"><text 135.475 + transform="matrix(1,0,0,-1,48.5,144.3)" 135.476 + id="text282"><tspan 135.477 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.478 + x="0 11.388 17.388 22.584 28.667999 31.667999 38.964001 44.964001 50.964001 57.647999 61.032001" 135.479 + y="0" 135.480 + sodipodi:role="line" 135.481 + id="tspan284">When ThdSt </tspan></text> 135.482 + 135.483 + 135.484 +</g><g 135.485 + id="g286" /><g 135.486 + id="g288"><text 135.487 + transform="matrix(1,0,0,-1,54.5,129.9)" 135.488 + id="text290"><tspan 135.489 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.490 + x="0 7.9920001 13.992 23.375999 29.375999 32.759998 37.956001 41.34 46.644001 51.240002" 135.491 + y="0" 135.492 + sodipodi:role="line" 135.493 + id="tspan292">Completes </tspan></text> 135.494 + 135.495 + 135.496 +</g><g 135.497 + id="g294"><text 135.498 + transform="matrix(1,0,0,-1,95,189)" 135.499 + id="text296"><tspan 135.500 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.501 + x="0 10.98 24.966 33.858002 38.933998" 135.502 + y="0" 135.503 + sodipodi:role="line" 135.504 + id="tspan298">Empty</tspan></text> 135.505 + 135.506 + 135.507 +</g><g 135.508 + id="g300"><path 135.509 + d="m 116.9,228.8 c 22.4,0 39.5,-14.4 39.5,-33.2 0,-18.9 -17.1,-33.2 -39.5,-33.2 -22.4,0 -39.4,14.3 -39.4,33.2 0,18.8 17,33.2 39.4,33.2 z" 135.510 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.511 + id="path302" 135.512 + inkscape:connector-curvature="0" /></g><g 135.513 + id="g304"><path 135.514 + d="m 161.4,90.3 96.7,-0.2" 135.515 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.516 + id="path306" 135.517 + inkscape:connector-curvature="0" /></g><path 135.518 + d="m 156.6,90.3 6,2.9 0,-5.9 -6,3 z" 135.519 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.520 + id="path308" 135.521 + inkscape:connector-curvature="0" /><text 135.522 + transform="scale(1,-1)" 135.523 + id="text310" 135.524 + x="162.7" 135.525 + y="-104.7"><tspan 135.526 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.527 + x="162.7 174.004 180.088 185.284 191.284 194.284 201.67599 207.67599 213.58 220.37199 223.672 226.672 231.364 234.748 240.65201 246.556 251.86" 135.528 + y="-104.7" 135.529 + sodipodi:role="line" 135.530 + id="tspan312">When ThdSt signal</tspan></text> 135.531 + 135.532 + 135.533 +<text 135.534 + transform="scale(1,-1)" 135.535 + id="text314" 135.536 + x="180.7" 135.537 + y="-90.300003"><tspan 135.538 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.539 + x="180.7 184 188.692 191.692 195.592 200.896 206.2 211.504 214.888 220.79199 226.09599" 135.540 + y="-90.300003" 135.541 + sodipodi:role="line" 135.542 + id="tspan316">is received</tspan></text> 135.543 + 135.544 + 135.545 +<g 135.546 + id="g318"><text 135.547 + transform="matrix(1,0,0,-1,94.6,85.4)" 135.548 + id="text320"><tspan 135.549 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.550 + x="0 9.8999996 17.982 26.982 31.968 40.967999" 135.551 + y="0" 135.552 + sodipodi:role="line" 135.553 + id="tspan322">Saving</tspan></text> 135.554 + 135.555 + 135.556 +</g><g 135.557 + id="g324"><path 135.558 + d="m 116.9,126.6 c 22.4,0 39.5,-14.3 39.5,-33.2 0,-18.8 -17.1,-33.2 -39.5,-33.2 -22.4,0 -39.4,14.4 -39.4,33.2 0,18.9 17,33.2 39.4,33.2 z" 135.559 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.560 + id="path326" 135.561 + inkscape:connector-curvature="0" /></g><g 135.562 + id="g328"><text 135.563 + transform="matrix(1,0,0,-1,275.3,85.7)" 135.564 + id="text330"><tspan 135.565 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.566 + x="0 12.906 20.988001 25.974001 30.959999 40.049999" 135.567 + y="0" 135.568 + sodipodi:role="line" 135.569 + id="tspan332">Active</tspan></text> 135.570 + 135.571 + 135.572 +</g><g 135.573 + id="g334"><path 135.574 + d="m 298.4,125 c 22.4,0 39.5,-14.4 39.5,-33.2 0,-18.8 -17.1,-33.2 -39.5,-33.2 -22.3,0 -39.4,14.4 -39.4,33.2 0,18.8 17.1,33.2 39.4,33.2 z" 135.575 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.576 + id="path336" 135.577 + inkscape:connector-curvature="0" /></g><g 135.578 + id="g338"><path 135.579 + d="m 117.8,157.2 0.1,-30.8" 135.580 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.581 + id="path340" 135.582 + inkscape:connector-curvature="0" /></g><path 135.583 + d="m 117.8,162 3,-6 -6,0 3,6 z" 135.584 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.585 + id="path342" 135.586 + inkscape:connector-curvature="0" /><text 135.587 + transform="scale(1,-1)" 135.588 + id="text344" 135.589 + x="306.5" 135.590 + y="-143.7"><tspan 135.591 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.592 + x="306.5 317.888 323.888 329.19199 335.19199 338.19199 345.48801 351.48801 357.48801 364.59201 370.59201" 135.593 + y="-143.7" 135.594 + sodipodi:role="line" 135.595 + id="tspan346">When ThdLd </tspan></text> 135.596 + 135.597 + 135.598 +<text 135.599 + transform="scale(1,-1)" 135.600 + id="text348" 135.601 + x="312.5" 135.602 + y="-129.3"><tspan 135.603 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.604 + x="312.5 320.58801 326.58801 335.888 341.888 345.272 350.57599 353.87601 359.17999 363.87201" 135.605 + y="-129.3" 135.606 + sodipodi:role="line" 135.607 + id="tspan350">Completes </tspan></text> 135.608 + 135.609 + 135.610 +<g 135.611 + id="g352"><path 135.612 + d="m 299.3,161.3 0,-30.8" 135.613 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.614 + id="path354" 135.615 + inkscape:connector-curvature="0" /></g><path 135.616 + d="m 299.4,125.7 -3,6 5.9,0 -2.9,-6 z" 135.617 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.618 + id="path356" 135.619 + inkscape:connector-curvature="0" /><text 135.620 + transform="scale(1,-1)" 135.621 + id="text358" 135.622 + x="549.40002" 135.623 + y="-229.3"><tspan 135.624 + style="font-size:24px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.625 + x="549.40002 563.992 575.992 589.35999 596.03198 609.328 616 626.67999 633.35199 644.03198" 135.626 + y="-229.3" 135.627 + sodipodi:role="line" 135.628 + id="tspan360">LdStState:</tspan></text> 135.629 + 135.630 + 135.631 +<g 135.632 + id="g362"><text 135.633 + transform="matrix(1,0,0,-1,661.1,142.9)" 135.634 + id="text364"><tspan 135.635 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.636 + x="0 5.994 14.994 25.974001 34.973999 44.981998" 135.637 + y="0" 135.638 + sodipodi:role="line" 135.639 + id="tspan366">InLdSt</tspan></text> 135.640 + 135.641 + 135.642 +</g><g 135.643 + id="g368"><path 135.644 + d="m 683.8,183.4 c 22.3,0 39.4,-14.4 39.4,-33.2 0,-18.8 -17.1,-33.2 -39.4,-33.2 -22.4,0 -39.5,14.4 -39.5,33.2 0,18.8 17.1,33.2 39.5,33.2 z" 135.645 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.646 + id="path370" 135.647 + inkscape:connector-curvature="0" /></g><g 135.648 + id="g372"><text 135.649 + transform="matrix(1,0,0,-1,550.2,192.5)" 135.650 + id="text374"><tspan 135.651 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.652 + x="0 11.388 17.388 22.691999 28.691999 31.691999 35.388 41.388 48.492001 54.492001 61.175999 64.559998 67.559998 72.155998 75.540001 81.444 87.444 92.748001" 135.653 + y="0" 135.654 + sodipodi:role="line" 135.655 + id="tspan376">When InLdSt signal</tspan></text> 135.656 + 135.657 + 135.658 +</g><g 135.659 + id="g378" /><g 135.660 + id="g380"><text 135.661 + transform="matrix(1,0,0,-1,553.2,178.2)" 135.662 + id="text382"><tspan 135.663 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.664 + x="0 3.9960001 9.3000002 14.496 19.799999 23.184 29.184 34.487999 40.487999 43.391998 47.388 51.383999 57.383999 66.683998 69.683998 76.475998 79.776001 85.776001" 135.665 + y="0" 135.666 + sodipodi:role="line" 135.667 + id="tspan384">received from Pipe</tspan></text> 135.668 + 135.669 + 135.670 +</g><g 135.671 + id="g386"><text 135.672 + transform="matrix(1,0,0,-1,463.5,140.8)" 135.673 + id="text388"><tspan 135.674 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.675 + x="0 12.906 21.996 26.982 32.976002 41.976002 52.956001 61.956001 71.963997" 135.676 + y="0" 135.677 + sodipodi:role="line" 135.678 + id="tspan390">NotInLdSt</tspan></text> 135.679 + 135.680 + 135.681 +</g><g 135.682 + id="g392"><path 135.683 + d="m 499.7,183.4 c 23.9,0 42.2,-14.4 42.2,-33.2 0,-18.8 -18.3,-33.2 -42.2,-33.2 -23.9,0 -42.2,14.4 -42.2,33.2 0,18.8 18.3,33.2 42.2,33.2 z" 135.684 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:7.66129017;stroke-opacity:1;stroke-dasharray:none" 135.685 + id="path394" 135.686 + inkscape:connector-curvature="0" /></g><g 135.687 + id="g396"><path 135.688 + d="m 539.6,161.7 c 59.3,25 90,8 102.7,2.9" 135.689 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.690 + id="path398" 135.691 + inkscape:connector-curvature="0" /></g><path 135.692 + d="m 646.4,162.9 -6.6,-0.5 2.2,5.5 4.4,-5 z" 135.693 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.694 + id="path400" 135.695 + inkscape:connector-curvature="0" /><g 135.696 + id="g402"><path 135.697 + d="M 542.6,138.2 C 599.9,108 645,139.4 645,139.4" 135.698 + style="fill:none;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 135.699 + id="path404" 135.700 + inkscape:connector-curvature="0" /></g><path 135.701 + d="m 538.2,140.6 6.7,-0.2 -2.9,-5.2 -3.8,5.4 z" 135.702 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" 135.703 + id="path406" 135.704 + inkscape:connector-curvature="0" /><g 135.705 + id="g408"><text 135.706 + transform="matrix(1,0,0,-1,524.7,107.4)" 135.707 + id="text410"><tspan 135.708 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.709 + x="0 8.6879997 14.592 20.676001 25.872 37.355999 40.655998 44.040001 50.040001 57.035999 63.035999 69.828003 73.127998 76.127998 80.124001 84.120003 90.024002 99.407997 102.408 109.512 115.512 122.196 125.58 134.18401 140.18401 143.56799" 135.710 + y="0" 135.711 + sodipodi:role="line" 135.712 + id="tspan412">DoneWithLdSt from LdStUnit</tspan></text> 135.713 + 135.714 + 135.715 +</g><g 135.716 + id="g414" /><g 135.717 + id="g416"><text 135.718 + transform="matrix(1,0,0,-1,587.7,93)" 135.719 + id="text418"><tspan 135.720 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.721 + x="0 8.6879997" 135.722 + y="0" 135.723 + sodipodi:role="line" 135.724 + id="tspan420">OR</tspan></text> 135.725 + 135.726 + 135.727 +</g><g 135.728 + id="g422" /><g 135.729 + id="g424"><text 135.730 + transform="matrix(1,0,0,-1,545.7,78.6)" 135.731 + id="text426"><tspan 135.732 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.733 + x="0 6.684 14.772 21.875999 27.875999 30.875999 34.776001 38.771999 44.771999 54.071999 57.071999 64.176003 70.176003 76.968002 80.267998 88.872002 94.956001 98.255997" 135.734 + y="0" 135.735 + sodipodi:role="line" 135.736 + id="tspan428">PCLd from LdStUnit</tspan></text> 135.737 + 135.738 + 135.739 +</g><g 135.740 + id="g436"><text 135.741 + transform="matrix(1,0,0,-1,333.4,24.3)" 135.742 + id="text438"><tspan 135.743 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 135.744 + x="0" 135.745 + y="0" 135.746 + id="tspan440">6</tspan></text> 135.747 + 135.748 + 135.749 +</g></g></svg> 135.750 \ No newline at end of file
136.1 Binary file 1__Presentations/12__LPGPU_Arch/figures/Integer_Pipeline_Control.pdf has changed
137.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 137.2 +++ b/1__Presentations/12__LPGPU_Arch/figures/Integer_Pipeline_Control.svg Sun Mar 11 09:26:44 2012 -0700 137.3 @@ -0,0 +1,1616 @@ 137.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 137.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 137.6 + 137.7 +<svg 137.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 137.9 + xmlns:cc="http://creativecommons.org/ns#" 137.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 137.11 + xmlns:svg="http://www.w3.org/2000/svg" 137.12 + xmlns="http://www.w3.org/2000/svg" 137.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 137.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 137.15 + id="svg2" 137.16 + version="1.1" 137.17 + inkscape:version="0.48.1 " 137.18 + width="765" 137.19 + height="990" 137.20 + xml:space="preserve" 137.21 + sodipodi:docname="Integer_Pipeline_Activity_triggers.svg"><metadata 137.22 + id="metadata8"><rdf:RDF><cc:Work 137.23 + rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type 137.24 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs 137.25 + id="defs6"><clipPath 137.26 + clipPathUnits="userSpaceOnUse" 137.27 + id="clipPath16"><path 137.28 + d="m 0,-0.1 612.1,0 0,792.1 L 0,792 0,-0.1 z" 137.29 + clip-rule="evenodd" 137.30 + id="path18" /></clipPath></defs><sodipodi:namedview 137.31 + pagecolor="#ffffff" 137.32 + bordercolor="#666666" 137.33 + borderopacity="1" 137.34 + objecttolerance="10" 137.35 + gridtolerance="10" 137.36 + guidetolerance="10" 137.37 + inkscape:pageopacity="0" 137.38 + inkscape:pageshadow="2" 137.39 + inkscape:window-width="640" 137.40 + inkscape:window-height="480" 137.41 + id="namedview4" 137.42 + showgrid="false" 137.43 + inkscape:zoom="0.70737049" 137.44 + inkscape:cx="382.49999" 137.45 + inkscape:cy="55.343538" 137.46 + inkscape:window-x="0" 137.47 + inkscape:window-y="0" 137.48 + inkscape:window-maximized="0" 137.49 + inkscape:current-layer="g10" /><g 137.50 + id="g10" 137.51 + inkscape:groupmode="layer" 137.52 + inkscape:label="SThd_Port Technical" 137.53 + transform="matrix(1.25,0,0,-1.25,0,990)"><path 137.54 + d="M 306,0 0,0 0,792 612,792 612,0 306,0 z" 137.55 + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" 137.56 + id="path20" 137.57 + inkscape:connector-curvature="0" /><g 137.58 + id="g22"><text 137.59 + transform="matrix(1,0,0,-1,205.1,726.1)" 137.60 + id="text24"><tspan 137.61 + style="font-size:32px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.62 + x="0 10.688 26.688 35.584 49.695999 65.792 79.903999 90.592003 98.592003 116.384 125.28 141.28 155.48801 164.384 173.18401 189.18401" 137.63 + y="0" 137.64 + sodipodi:role="line" 137.65 + id="tspan26">Integer Pipeline</tspan></text> 137.66 + 137.67 +</g><g 137.68 + id="g28"><path 137.69 + d="m 82.4,616.3 454.5,0" 137.70 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.71 + id="path30" 137.72 + inkscape:connector-curvature="0" /></g><g 137.73 + id="g32"><path 137.74 + d="M 309,61 82.2,61 c 0,0 -0.1,0.1 -0.1,0.1 l 0,634.6 c 0,0 0.1,0.1 0.1,0.1 l 453.5,0 c 0.1,0 0.2,-0.1 0.2,-0.1 l 0,-634.6 c 0,0 -0.1,-0.1 -0.2,-0.1 L 309,61 z" 137.75 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.76 + id="path34" 137.77 + inkscape:connector-curvature="0" /></g><g 137.78 + id="g36" /><g 137.79 + id="g38"><text 137.80 + transform="matrix(1,0,0,-1,148.1,677.6)" 137.81 + id="text40"><tspan 137.82 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.83 + x="0 7.1999998 10" 137.84 + y="0" 137.85 + sodipodi:role="line" 137.86 + id="tspan42">All</tspan></text> 137.87 + 137.88 +</g><g 137.89 + id="g44"><text 137.90 + transform="matrix(1,0,0,-1,90.6,666.4)" 137.91 + id="text46"><tspan 137.92 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.93 + x="0 6.6999998 11.1 15.6 20 22.799999 27.700001 32.200001 34.700001 38 43 46.900002 49.599998 52.900002 57.900002 62.400002 65.099998 67.900002 72.900002 77.900002 82.900002 88.5 91 96.599998 103.2 105.8 111.4 113.9 120 125" 137.94 + y="0" 137.95 + sodipodi:role="line" 137.96 + id="tspan48">Receive Instruction + PC + Thd</tspan></text> 137.97 + 137.98 +</g><g 137.99 + id="g50"><path 137.100 + d="m 82.4,576.6 454.5,0" 137.101 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.102 + id="path52" 137.103 + inkscape:connector-curvature="0" /></g><g 137.104 + id="g54"><path 137.105 + d="m 82.4,537 454.5,0" 137.106 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.107 + id="path56" 137.108 + inkscape:connector-curvature="0" /></g><g 137.109 + id="g58"><path 137.110 + d="m 82.4,497.3 454.5,0" 137.111 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.112 + id="path60" 137.113 + inkscape:connector-curvature="0" /></g><g 137.114 + id="g62"><path 137.115 + d="m 82.4,457.6 454.5,0" 137.116 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.117 + id="path64" 137.118 + inkscape:connector-curvature="0" /></g><g 137.119 + id="g66"><path 137.120 + d="m 82.4,417.9 454.5,0" 137.121 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.122 + id="path68" 137.123 + inkscape:connector-curvature="0" /></g><g 137.124 + id="g70"><path 137.125 + d="m 82.4,378.3 454.5,0" 137.126 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.127 + id="path72" 137.128 + inkscape:connector-curvature="0" /></g><g 137.129 + id="g74"><path 137.130 + d="m 82.4,338.5 454.5,0" 137.131 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.132 + id="path76" 137.133 + inkscape:connector-curvature="0" /></g><g 137.134 + id="g78"><path 137.135 + d="m 82.4,298.9 454.5,0" 137.136 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.137 + id="path80" 137.138 + inkscape:connector-curvature="0" /></g><g 137.139 + id="g82"><path 137.140 + d="m 82.4,259.1 454.5,0" 137.141 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.142 + id="path84" 137.143 + inkscape:connector-curvature="0" /></g><g 137.144 + id="g86"><path 137.145 + d="m 82.4,219.5 454.5,0" 137.146 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.147 + id="path88" 137.148 + inkscape:connector-curvature="0" /></g><g 137.149 + id="g90"><path 137.150 + d="m 82.4,179.7 454.5,0" 137.151 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.152 + id="path92" 137.153 + inkscape:connector-curvature="0" /></g><g 137.154 + id="g94"><path 137.155 + d="m 82.4,140.1 454.5,0" 137.156 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.157 + id="path96" 137.158 + inkscape:connector-curvature="0" /></g><g 137.159 + id="g98"><path 137.160 + d="m 82.4,100.4 454.5,0" 137.161 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.162 + id="path100" 137.163 + inkscape:connector-curvature="0" /></g><g 137.164 + id="g102"><path 137.165 + d="m 82.4,656 454.5,0" 137.166 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.167 + id="path104" 137.168 + inkscape:connector-curvature="0" /></g><g 137.169 + id="g106" /><g 137.170 + id="g108"><text 137.171 + transform="matrix(1,0,0,-1,353.5,677)" 137.172 + id="text110"><tspan 137.173 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.174 + x="0 7.3000002 10" 137.175 + y="0" 137.176 + sodipodi:role="line" 137.177 + id="tspan112">All</tspan></text> 137.178 + 137.179 +</g><g 137.180 + id="g114"><text 137.181 + transform="matrix(1,0,0,-1,318.5,665.8)" 137.182 + id="text116"><tspan 137.183 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.184 + x="0 7.3000002 11.7 16.1 21.1 26.1 30.6 33.299999 35.799999 40.799999 45.200001 49.700001 54.700001 57.200001 63.900002 67.699997 72.699997" 137.185 + y="0" 137.186 + sodipodi:role="line" 137.187 + id="tspan118">Decode: need Rs1?</tspan></text> 137.188 + 137.189 +</g><g 137.190 + id="g120" /><g 137.191 + id="g122"><text 137.192 + transform="matrix(1,0,0,-1,489.3,677.6)" 137.193 + id="text124"><tspan 137.194 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.195 + x="0 7.1999998 10" 137.196 + y="0" 137.197 + sodipodi:role="line" 137.198 + id="tspan126">All</tspan></text> 137.199 + 137.200 +</g><g 137.201 + id="g128"><text 137.202 + transform="matrix(1,0,0,-1,464.3,666.4)" 137.203 + id="text130"><tspan 137.204 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.205 + x="0 5.5 8.3000002 12.7 16.1 18.799999 21.299999 26.9 33.5 39.200001 41.700001 46.700001 49.200001 53.599998 58 60.799999" 137.206 + y="0" 137.207 + sodipodi:role="line" 137.208 + id="tspan132">Start PC+ 4 calc</tspan></text> 137.209 + 137.210 +</g><g 137.211 + id="g134"><path 137.212 + d="m 228.6,695.6 0,-39.5" 137.213 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.214 + id="path136" 137.215 + inkscape:connector-curvature="0" /></g><g 137.216 + id="g138"><path 137.217 + d="m 455.4,695.5 0,-39.5" 137.218 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.219 + id="path140" 137.220 + inkscape:connector-curvature="0" /></g><g 137.221 + id="g142" /><g 137.222 + id="g144"><text 137.223 + transform="matrix(1,0,0,-1,111.5,637.9)" 137.224 + id="text146"><tspan 137.225 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.226 + x="0 5 9.5 13.9 18.9 21.4 28.1 32" 137.227 + y="0" 137.228 + sodipodi:role="line" 137.229 + id="tspan148">need Rs1</tspan></text> 137.230 + 137.231 +</g><g 137.232 + id="g150"><text 137.233 + transform="matrix(1,0,0,-1,89,626.7)" 137.234 + id="text152"><tspan 137.235 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.236 + x="0 7.6999998 14.4 18.299999 20.799999 26.5 28.9 35.099998 40.099998 45.099998 47.599998 50.299999 55.299999 57.799999 64.5 68.900002 73.900002" 137.237 + y="0" 137.238 + sodipodi:role="line" 137.239 + id="tspan154">&Rs + Thd to RegF</tspan></text> 137.240 + 137.241 +</g><g 137.242 + id="g156"><path 137.243 + d="m 174.8,655.9 0,-39.5" 137.244 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.245 + id="path158" 137.246 + inkscape:connector-curvature="0" /></g><g 137.247 + id="g160"><path 137.248 + d="m 310.8,695.5 0,-39.5" 137.249 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.250 + id="path162" 137.251 + inkscape:connector-curvature="0" /></g><g 137.252 + id="g164"><path 137.253 + d="m 455.4,655.7 0,-39.4" 137.254 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.255 + id="path166" 137.256 + inkscape:connector-curvature="0" /></g><g 137.257 + id="g168" /><g 137.258 + id="g170"><text 137.259 + transform="matrix(1,0,0,-1,489.3,637.9)" 137.260 + id="text172"><tspan 137.261 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.262 + x="0 7.1999998 10" 137.263 + y="0" 137.264 + sodipodi:role="line" 137.265 + id="tspan174">All</tspan></text> 137.266 + 137.267 +</g><g 137.268 + id="g176"><text 137.269 + transform="matrix(1,0,0,-1,464.3,626.7)" 137.270 + id="text178"><tspan 137.271 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.272 + x="0 5.5 12.2 17.200001 19.700001 25.4 28.700001 33.700001 39.200001 45.900002 48.400002 54 56.5" 137.273 + y="0" 137.274 + sodipodi:role="line" 137.275 + id="tspan180">PC1 <- PC + 4</tspan></text> 137.276 + 137.277 +</g><g 137.278 + id="g182" /><g 137.279 + id="g184"><text 137.280 + transform="matrix(1,0,0,-1,137.9,598.2)" 137.281 + id="text186"><tspan 137.282 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.283 + x="0 3.9000001 6.4000001 8.3000002 10.8 14.7 21.9" 137.284 + y="0" 137.285 + sodipodi:role="line" 137.286 + id="tspan188">J | JAL</tspan></text> 137.287 + 137.288 +</g><g 137.289 + id="g190"><text 137.290 + transform="matrix(1,0,0,-1,90.4,587)" 137.291 + id="text192"><tspan 137.292 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.293 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002 62.400002 65.800003 70.699997 75.699997 78.5 83.5 88.5 91.800003 99.5 102.9 110.5" 137.294 + y="0" 137.295 + sodipodi:role="line" 137.296 + id="tspan194">NewPC <- PC1[31:30]&Imm</tspan></text> 137.297 + 137.298 +</g><g 137.299 + id="g196"><path 137.300 + d="m 299.5,616.1 0,-39.5" 137.301 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.302 + id="path198" 137.303 + inkscape:connector-curvature="0" /></g><g 137.304 + id="g200"><text 137.305 + transform="matrix(1,0,0,-1,218,598.2)" 137.306 + id="text202"><tspan 137.307 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.308 + x="0 7.3000002 12.3 15 17.5 22 26.9 29.700001 32.400002 35 38.299999 41 46 53.299999 55.799999 59.099998 64.099998 68 70.699997" 137.309 + y="0" 137.310 + sodipodi:role="line" 137.311 + id="tspan204">Not cntl flow Instr</tspan></text> 137.312 + 137.313 +</g><g 137.314 + id="g206" /><g 137.315 + id="g208"><text 137.316 + transform="matrix(1,0,0,-1,223,587)" 137.317 + id="text210"><tspan 137.318 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.319 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002" 137.320 + y="0" 137.321 + sodipodi:role="line" 137.322 + id="tspan212">NewPC <- PC1</tspan></text> 137.323 + 137.324 +</g><g 137.325 + id="g214"><text 137.326 + transform="matrix(1,0,0,-1,67.6,669.4)" 137.327 + id="text216"><tspan 137.328 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.329 + x="0" 137.330 + y="0" 137.331 + id="tspan218">0</tspan></text> 137.332 + 137.333 +</g><g 137.334 + id="g220"><text 137.335 + transform="matrix(1,0,0,-1,67.6,632.5)" 137.336 + id="text222"><tspan 137.337 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.338 + x="0" 137.339 + y="0" 137.340 + id="tspan224">1</tspan></text> 137.341 + 137.342 +</g><g 137.343 + id="g226"><text 137.344 + transform="matrix(1,0,0,-1,67.6,592.9)" 137.345 + id="text228"><tspan 137.346 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.347 + x="0" 137.348 + y="0" 137.349 + id="tspan230">2</tspan></text> 137.350 + 137.351 +</g><g 137.352 + id="g232"><text 137.353 + transform="matrix(1,0,0,-1,67.6,553.2)" 137.354 + id="text234"><tspan 137.355 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.356 + x="0" 137.357 + y="0" 137.358 + id="tspan236">3</tspan></text> 137.359 + 137.360 +</g><g 137.361 + id="g238"><text 137.362 + transform="matrix(1,0,0,-1,67.6,513.5)" 137.363 + id="text240"><tspan 137.364 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.365 + x="0" 137.366 + y="0" 137.367 + id="tspan242">4</tspan></text> 137.368 + 137.369 +</g><g 137.370 + id="g244"><text 137.371 + transform="matrix(1,0,0,-1,67.6,473.8)" 137.372 + id="text246"><tspan 137.373 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.374 + x="0" 137.375 + y="0" 137.376 + id="tspan248">5</tspan></text> 137.377 + 137.378 +</g><g 137.379 + id="g250"><text 137.380 + transform="matrix(1,0,0,-1,67.6,431.2)" 137.381 + id="text252"><tspan 137.382 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.383 + x="0" 137.384 + y="0" 137.385 + id="tspan254">6</tspan></text> 137.386 + 137.387 +</g><g 137.388 + id="g256"><text 137.389 + transform="matrix(1,0,0,-1,67.6,391.5)" 137.390 + id="text258"><tspan 137.391 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.392 + x="0" 137.393 + y="0" 137.394 + id="tspan260">7</tspan></text> 137.395 + 137.396 +</g><g 137.397 + id="g262"><text 137.398 + transform="matrix(1,0,0,-1,67.6,351.8)" 137.399 + id="text264"><tspan 137.400 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.401 + x="0" 137.402 + y="0" 137.403 + id="tspan266">8</tspan></text> 137.404 + 137.405 +</g><g 137.406 + id="g268"><text 137.407 + transform="matrix(1,0,0,-1,67.6,312)" 137.408 + id="text270"><tspan 137.409 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.410 + x="0" 137.411 + y="0" 137.412 + id="tspan272">9</tspan></text> 137.413 + 137.414 +</g><g 137.415 + id="g274"><text 137.416 + transform="matrix(1,0,0,-1,59.1,272.4)" 137.417 + id="text276"><tspan 137.418 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.419 + x="0 9" 137.420 + y="0" 137.421 + sodipodi:role="line" 137.422 + id="tspan278">10</tspan></text> 137.423 + 137.424 +</g><g 137.425 + id="g280"><text 137.426 + transform="matrix(1,0,0,-1,59.1,229.8)" 137.427 + id="text282"><tspan 137.428 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.429 + x="0 9" 137.430 + y="0" 137.431 + sodipodi:role="line" 137.432 + id="tspan284">11</tspan></text> 137.433 + 137.434 +</g><g 137.435 + id="g286"><text 137.436 + transform="matrix(1,0,0,-1,59.1,190.1)" 137.437 + id="text288"><tspan 137.438 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.439 + x="0 9" 137.440 + y="0" 137.441 + sodipodi:role="line" 137.442 + id="tspan290">12</tspan></text> 137.443 + 137.444 +</g><g 137.445 + id="g292"><text 137.446 + transform="matrix(1,0,0,-1,59.1,150.4)" 137.447 + id="text294"><tspan 137.448 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.449 + x="0 9" 137.450 + y="0" 137.451 + sodipodi:role="line" 137.452 + id="tspan296">13</tspan></text> 137.453 + 137.454 +</g><g 137.455 + id="g298"><text 137.456 + transform="matrix(1,0,0,-1,59.1,110.6)" 137.457 + id="text300"><tspan 137.458 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.459 + x="0 9" 137.460 + y="0" 137.461 + sodipodi:role="line" 137.462 + id="tspan302">14</tspan></text> 137.463 + 137.464 +</g><g 137.465 + id="g304"><text 137.466 + transform="matrix(1,0,0,-1,59.1,73.8)" 137.467 + id="text306"><tspan 137.468 + style="font-size:18px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.469 + x="0 9" 137.470 + y="0" 137.471 + sodipodi:role="line" 137.472 + id="tspan308">15</tspan></text> 137.473 + 137.474 +</g><g 137.475 + id="g310"><path 137.476 + d="m 231.4,497 0,-39.5" 137.477 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.478 + id="path312" 137.479 + inkscape:connector-curvature="0" /></g><g 137.480 + id="g314" /><g 137.481 + id="g316"><text 137.482 + transform="matrix(1,0,0,-1,486.5,598.2)" 137.483 + id="text318"><tspan 137.484 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.485 + x="0 6.6999998 10 14.4" 137.486 + y="0" 137.487 + sodipodi:role="line" 137.488 + id="tspan320">Brch</tspan></text> 137.489 + 137.490 +</g><g 137.491 + id="g322"><text 137.492 + transform="matrix(1,0,0,-1,461.5,587)" 137.493 + id="text324"><tspan 137.494 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.495 + x="0 5.5999999 8.3000002 12.8 16.1 18.799999 21.299999 26.9 33.599998 38.599998 41.099998 46.700001 49.200001 52.5 60.200001" 137.496 + y="0" 137.497 + sodipodi:role="line" 137.498 + id="tspan326">Start PC1 + Imm</tspan></text> 137.499 + 137.500 +</g><g 137.501 + id="g328"><path 137.502 + d="m 455.4,616.1 0,-39.5" 137.503 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.504 + id="path330" 137.505 + inkscape:connector-curvature="0" /></g><g 137.506 + id="g332" /><g 137.507 + id="g334"><text 137.508 + transform="matrix(1,0,0,-1,354.1,643.6)" 137.509 + id="text336"><tspan 137.510 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.511 + x="0 7.3000002 10" 137.512 + y="0" 137.513 + sodipodi:role="line" 137.514 + id="tspan338">All</tspan></text> 137.515 + 137.516 +</g><g 137.517 + id="g340"><text 137.518 + transform="matrix(1,0,0,-1,314.1,632.4)" 137.519 + id="text342"><tspan 137.520 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.521 + x="0 5.5999999 10.6 13.3 16.6 19.4 21.9 26.299999 31.299999 36.299999 38.799999 44.400002 47.099998 52.099998 57.099998 59.599998 64.099998 69.099998 71.800003 76.300003 81.199997" 137.522 + y="0" 137.523 + sodipodi:role="line" 137.524 + id="tspan344">Shift and Sign extend</tspan></text> 137.525 + 137.526 +</g><g 137.527 + id="g346" /><g 137.528 + id="g348"><text 137.529 + transform="matrix(1,0,0,-1,339.1,621.2)" 137.530 + id="text350"><tspan 137.531 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.532 + x="0 6.6999998 10 14.4 19.5 21.9 25.299999 32.900002" 137.533 + y="0" 137.534 + sodipodi:role="line" 137.535 + id="tspan352">Brch Imm</tspan></text> 137.536 + 137.537 +</g><g 137.538 + id="g354" /><g 137.539 + id="g356"><text 137.540 + transform="matrix(1,0,0,-1,228.4,518.7)" 137.541 + id="text358"><tspan 137.542 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.543 + x="0 6.6999998 10 14.4 19.5 22 24.700001 29.799999 34.799999 39.299999 41.799999 48.5 55.700001" 137.544 + y="0" 137.545 + sodipodi:role="line" 137.546 + id="tspan360">Brch type COP</tspan></text> 137.547 + 137.548 +</g><g 137.549 + id="g362"><text 137.550 + transform="matrix(1,0,0,-1,220.9,507.5)" 137.551 + id="text364"><tspan 137.552 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.553 + x="0 7.6999998 14.4 17 22.6 25.1 31.200001 36.200001 41.200001 43.700001 46.400002 51.5 53.900002 60.599998 65.099998 70.099998" 137.554 + y="0" 137.555 + sodipodi:role="line" 137.556 + id="tspan366">&C + Thd to RegF</tspan></text> 137.557 + 137.558 +</g><g 137.559 + id="g368" /><g 137.560 + id="g370"><text 137.561 + transform="matrix(1,0,0,-1,315.5,518.7)" 137.562 + id="text372"><tspan 137.563 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.564 + x="0 5 9.3999996 13.9 18.9 21.4 28.1 31.9 36.900002 39.400002 41.400002 43.900002 49.400002" 137.565 + y="0" 137.566 + sodipodi:role="line" 137.567 + id="tspan374">need Rs2 | St</tspan></text> 137.568 + 137.569 +</g><g 137.570 + id="g376"><text 137.571 + transform="matrix(1,0,0,-1,303,507.5)" 137.572 + id="text378"><tspan 137.573 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.574 + x="0 7.6999998 14.4 17.200001 19.700001 25.299999 27.799999 33.900002 38.900002 43.900002 46.400002 49.200001 54.200001 56.700001 63.400002 67.800003 72.800003" 137.575 + y="0" 137.576 + sodipodi:role="line" 137.577 + id="tspan380">&Rt + Thd to RegF</tspan></text> 137.578 + 137.579 +</g><g 137.580 + id="g382"><text 137.581 + transform="matrix(1,0,0,-1,167,479)" 137.582 + id="text384"><tspan 137.583 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.584 + x="0 3.3 6.5999999 9.1000004 12.4 16.9 19.6 24.1 29 33.5 38.5 41 47.700001 51.599998" 137.585 + y="0" 137.586 + sodipodi:role="line" 137.587 + id="tspan386">If fetched Rs1</tspan></text> 137.588 + 137.589 +</g><g 137.590 + id="g388"><text 137.591 + transform="matrix(1,0,0,-1,167,467.8)" 137.592 + id="text390"><tspan 137.593 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.594 + x="0 7.1999998 12.2 19.5 22 27.6 30.9 33.400002 38.400002 45.099998" 137.595 + y="0" 137.596 + sodipodi:role="line" 137.597 + id="tspan392">OpA <- *Rs</tspan></text> 137.598 + 137.599 +</g><g 137.600 + id="g394"><path 137.601 + d="m 157.7,497 0,-39.5" 137.602 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.603 + id="path396" 137.604 + inkscape:connector-curvature="0" /></g><g 137.605 + id="g398" /><g 137.606 + id="g400"><text 137.607 + transform="matrix(1,0,0,-1,486.1,518.9)" 137.608 + id="text402"><tspan 137.609 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.610 + x="0 6.6999998 10 14.4" 137.611 + y="0" 137.612 + sodipodi:role="line" 137.613 + id="tspan404">Brch</tspan></text> 137.614 + 137.615 +</g><g 137.616 + id="g406"><text 137.617 + transform="matrix(1,0,0,-1,458.6,507.7)" 137.618 + id="text408"><tspan 137.619 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.620 + x="0 5.5 12.2 17.299999 22.9 26.200001 28.700001 34.200001 40.900002 45.900002 48.400002 54 56.5 59.900002 67.5" 137.621 + y="0" 137.622 + sodipodi:role="line" 137.623 + id="tspan410">PC2<- PC1 + Imm</tspan></text> 137.624 + 137.625 +</g><g 137.626 + id="g412"><path 137.627 + d="m 455.4,576.4 0,-39.5" 137.628 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.629 + id="path414" 137.630 + inkscape:connector-curvature="0" /></g><g 137.631 + id="g416" /><g 137.632 + id="g418"><text 137.633 + transform="matrix(1,0,0,-1,103,399.6)" 137.634 + id="text420"><tspan 137.635 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.636 + x="0 3.9000001 10.6 13.1 15 17.5 21.4 28.6 34.799999" 137.637 + y="0" 137.638 + sodipodi:role="line" 137.639 + id="tspan422">JR | JALR</tspan></text> 137.640 + 137.641 +</g><g 137.642 + id="g424"><text 137.643 + transform="matrix(1,0,0,-1,90.5,388.4)" 137.644 + id="text426"><tspan 137.645 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.646 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 52.400002 57.400002" 137.647 + y="0" 137.648 + sodipodi:role="line" 137.649 + id="tspan428">NewPC <- OpA</tspan></text> 137.650 + 137.651 +</g><g 137.652 + id="g430"><text 137.653 + transform="matrix(1,0,0,-1,152.9,360.5)" 137.654 + id="text432"><tspan 137.655 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.656 + x="0 6.0999999 8.8999996 12.8 15.5 18.799999 21.299999 27.4 32.400002 35 36.900002 39.400002 44.900002 47.700001 50.200001 52.099998 54.599998 61.900002 68 75.300003 78.599998 86.300003" 137.657 + y="0" 137.658 + sodipodi:role="line" 137.659 + id="tspan434">Elsif Ld | St | ALUImm</tspan></text> 137.660 + 137.661 +</g><g 137.662 + id="g436" /><g 137.663 + id="g438"><text 137.664 + transform="matrix(1,0,0,-1,155.4,349.3)" 137.665 + id="text440"><tspan 137.666 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.667 + x="0 7.3000002 12.2 18.9 21.4 27.1 30.4 32.900002 36.700001 39.5 44.5 49.5 52 56.400002 61.400002 64.199997 66.699997 70 77.699997" 137.668 + y="0" 137.669 + sodipodi:role="line" 137.670 + id="tspan442">OpB <- sign ext Imm</tspan></text> 137.671 + 137.672 +</g><g 137.673 + id="g444" /><g 137.674 + id="g446"><text 137.675 + transform="matrix(1,0,0,-1,467.1,365.5)" 137.676 + id="text448"><tspan 137.677 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.678 + x="0 6.6999998 10 14.4 19.4 24.4 31.1 35.599998 40.599998 45.5 47.5 50 53.900002 60.599998 63.099998" 137.679 + y="0" 137.680 + sodipodi:role="line" 137.681 + id="tspan450">Brch1Reg | JR |</tspan></text> 137.682 + 137.683 +</g><g 137.684 + id="g452"><text 137.685 + transform="matrix(1,0,0,-1,464.6,354.3)" 137.686 + id="text454"><tspan 137.687 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.688 + x="0 6.6999998 10 14.4 19.4 26.1 33.400002 38.900002 41.400002 43.400002 45.900002 49.700001 57 63.099998" 137.689 + y="0" 137.690 + sodipodi:role="line" 137.691 + id="tspan456">BrchCOP | JALR</tspan></text> 137.692 + 137.693 +</g><g 137.694 + id="g458" /><g 137.695 + id="g460"><text 137.696 + transform="matrix(1,0,0,-1,469.6,343.1)" 137.697 + id="text462"><tspan 137.698 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.699 + x="0 3.3 8.3000002 12.2 14.9 18.200001 25.5 30.5 35.5 39.900002 42.400002 46.299999 50.700001 55.700001" 137.700 + y="0" 137.701 + sodipodi:role="line" 137.702 + id="tspan464">InstrDone sent</tspan></text> 137.703 + 137.704 +</g><g 137.705 + id="g466"><text 137.706 + transform="matrix(1,0,0,-1,90.5,359.9)" 137.707 + id="text468"><tspan 137.708 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.709 + x="0 3.3 6.5999999 9.1000004 12.5 16.9 19.6 24.1 29.1 33.5 38.5 41 47.700001 51.599998" 137.710 + y="0" 137.711 + sodipodi:role="line" 137.712 + id="tspan470">If fetched Rs2</tspan></text> 137.713 + 137.714 +</g><g 137.715 + id="g472" /><g 137.716 + id="g474"><text 137.717 + transform="matrix(1,0,0,-1,93,348.7)" 137.718 + id="text476"><tspan 137.719 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.720 + x="0 7.3000002 12.3 18.9 21.4 27.1 30.4 32.900002 37.900002 44.599998" 137.721 + y="0" 137.722 + sodipodi:role="line" 137.723 + id="tspan478">OpB <- *Rt</tspan></text> 137.724 + 137.725 +</g><g 137.726 + id="g480" /><g 137.727 + id="g482"><text 137.728 + transform="matrix(1,0,0,-1,269.3,359.9)" 137.729 + id="text484"><tspan 137.730 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.731 + x="0 5.5999999" 137.732 + y="0" 137.733 + sodipodi:role="line" 137.734 + id="tspan486">St</tspan></text> 137.735 + 137.736 +</g><g 137.737 + id="g488"><text 137.738 + transform="matrix(1,0,0,-1,249.3,348.7)" 137.739 + id="text490"><tspan 137.740 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.741 + x="0 7.3000002 12.3 17.799999 20.6 23.1 28.700001 32 34.5 39.5 46.200001" 137.742 + y="0" 137.743 + sodipodi:role="line" 137.744 + id="tspan492">OpSt <- *Rt</tspan></text> 137.745 + 137.746 +</g><g 137.747 + id="g494"><path 137.748 + d="m 461,377.7 0,-39.3" 137.749 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.750 + id="path496" 137.751 + inkscape:connector-curvature="0" /></g><g 137.752 + id="g498"><path 137.753 + d="m 302.3,377.7 0,-39.4" 137.754 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.755 + id="path500" 137.756 + inkscape:connector-curvature="0" /></g><g 137.757 + id="g502" /><g 137.758 + id="g504"><text 137.759 + transform="matrix(1,0,0,-1,291.3,397.6)" 137.760 + id="text506"><tspan 137.761 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.762 + x="0 5.5999999 10.6 13.3 16.6" 137.763 + y="0" 137.764 + sodipodi:role="line" 137.765 + id="tspan508">Shift</tspan></text> 137.766 + 137.767 +</g><g 137.768 + id="g510"><text 137.769 + transform="matrix(1,0,0,-1,268.8,386.4)" 137.770 + id="text512"><tspan 137.771 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.772 + x="0 7.3000002 12.3 19.5 22 27.6 30.9 33.5 39 44 47.299999 55" 137.773 + y="0" 137.774 + sodipodi:role="line" 137.775 + id="tspan514">OpA <- ShImm</tspan></text> 137.776 + 137.777 +</g><g 137.778 + id="g516" /><g 137.779 + id="g518"><text 137.780 + transform="matrix(1,0,0,-1,115.6,320.1)" 137.781 + id="text520"><tspan 137.782 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.783 + x="0 7.3000002 10 12.8 15.2 19.700001 24.700001 29.1 33.599998 38.5 41.299999 43.799999 47.700001 52.700001 55.400002 58.799999 61.5" 137.784 + y="0" 137.785 + sodipodi:role="line" 137.786 + id="tspan522">All except shift </tspan></text> 137.787 + 137.788 +</g><g 137.789 + id="g524"><text 137.790 + transform="matrix(1,0,0,-1,90.6,308.9)" 137.791 + id="text526"><tspan 137.792 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.793 + x="0 6.0999999 11.1 17.799999 22.200001 26.1 28.6 34.200001 37.599998 40 47.299999 52.299999 59.599998 62 69.300003 75.400002 82.699997 89.900002 94.900002 97.400002 104.7 109.7" 137.794 + y="0" 137.795 + sodipodi:role="line" 137.796 + id="tspan528">ExRes <- OpA ALUOp OpB</tspan></text> 137.797 + 137.798 +</g><g 137.799 + id="g530" /><g 137.800 + id="g532"><text 137.801 + transform="matrix(1,0,0,-1,262.8,320.1)" 137.802 + id="text534"><tspan 137.803 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.804 + x="0 5.5999999 10.6 13.3 16.6" 137.805 + y="0" 137.806 + sodipodi:role="line" 137.807 + id="tspan536">Shift</tspan></text> 137.808 + 137.809 +</g><g 137.810 + id="g538"><text 137.811 + transform="matrix(1,0,0,-1,215.3,308.9)" 137.812 + id="text540"><tspan 137.813 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.814 + x="0 6.0999999 11.1 17.799999 22.200001 26.1 28.6 34.200001 37.599998 40 47.299999 52.299999 59 61.5 65.400002 70.400002 73.099998 76.400002 79.199997 83.599998 88.599998 91.099998 98.400002 103.4" 137.815 + y="0" 137.816 + sodipodi:role="line" 137.817 + id="tspan542">ExRes <- OpB shifted OpA</tspan></text> 137.818 + 137.819 +</g><g 137.820 + id="g544" /><g 137.821 + id="g546"><text 137.822 + transform="matrix(1,0,0,-1,100.3,280.3)" 137.823 + id="text548"><tspan 137.824 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.825 + x="0 7.1999998 10" 137.826 + y="0" 137.827 + sodipodi:role="line" 137.828 + id="tspan550">All</tspan></text> 137.829 + 137.830 +</g><g 137.831 + id="g552"><text 137.832 + transform="matrix(1,0,0,-1,87.8,269.1)" 137.833 + id="text554"><tspan 137.834 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.835 + x="0 4.4000001 9.3999996 14.4 17.200001 19.9 24.9 29.9" 137.836 + y="0" 137.837 + sodipodi:role="line" 137.838 + id="tspan556">continue</tspan></text> 137.839 + 137.840 +</g><g 137.841 + id="g558" /><g 137.842 + id="g560"><text 137.843 + transform="matrix(1,0,0,-1,100.3,240.6)" 137.844 + id="text562"><tspan 137.845 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.846 + x="0 7.1999998 10" 137.847 + y="0" 137.848 + sodipodi:role="line" 137.849 + id="tspan564">All</tspan></text> 137.850 + 137.851 +</g><g 137.852 + id="g566"><text 137.853 + transform="matrix(1,0,0,-1,87.8,229.4)" 137.854 + id="text568"><tspan 137.855 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.856 + x="0 4.4000001 9.3999996 14.4 17.200001 19.9 24.9 29.9" 137.857 + y="0" 137.858 + sodipodi:role="line" 137.859 + id="tspan570">continue</tspan></text> 137.860 + 137.861 +</g><g 137.862 + id="g572" /><g 137.863 + id="g574"><text 137.864 + transform="matrix(1,0,0,-1,100.3,203.7)" 137.865 + id="text576"><tspan 137.866 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.867 + x="0 7.1999998 10" 137.868 + y="0" 137.869 + sodipodi:role="line" 137.870 + id="tspan578">All</tspan></text> 137.871 + 137.872 +</g><g 137.873 + id="g580"><text 137.874 + transform="matrix(1,0,0,-1,87.8,192.5)" 137.875 + id="text582"><tspan 137.876 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.877 + x="0 4.4000001 9.3999996 14.4 17.200001 19.9 24.9 29.9" 137.878 + y="0" 137.879 + sodipodi:role="line" 137.880 + id="tspan584">continue</tspan></text> 137.881 + 137.882 +</g><g 137.883 + id="g586"><text 137.884 + transform="matrix(1,0,0,-1,90.6,161.2)" 137.885 + id="text588"><tspan 137.886 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.887 + x="0 7.3000002 10 12.8 15.2 19.700001 24.700001 29.1 33.599998 38.5 41.299999 43.799999 51 53.799999 58.799999 61.599998 66.599998 71 73.5 77.900002 82.900002 87.900002 90.400002 99.300003 104.3 107.1 109.8 112.6 117.5 120.3" 137.888 + y="0" 137.889 + sodipodi:role="line" 137.890 + id="tspan590">All except Divide and Multiply</tspan></text> 137.891 + 137.892 +</g><g 137.893 + id="g592" /><g 137.894 + id="g594"><text 137.895 + transform="matrix(1,0,0,-1,113.1,150)" 137.896 + id="text596"><tspan 137.897 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.898 + x="0 3.3 6.0999999 11.1 13.8 17.700001 22.700001 25.200001 32.400002 38.599998 45.799999 48.299999 53.299999 58.299999 62.799999 66.099998 70.5 73.199997 76 81" 137.899 + y="0" 137.900 + sodipodi:role="line" 137.901 + id="tspan598">finish ALU operation</tspan></text> 137.902 + 137.903 +</g><g 137.904 + id="g600" /><g 137.905 + id="g602"><text 137.906 + transform="matrix(1,0,0,-1,334.9,166.8)" 137.907 + id="text604"><tspan 137.908 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.909 + x="0 7.3000002 10 15 17.799999 22.799999 27.200001 29.700001 34.099998 39.099998 44.099998 46.599998 55.5 60.5 63.299999 66 68.800003 73.800003 76.5" 137.910 + y="0" 137.911 + sodipodi:role="line" 137.912 + id="tspan606">Divide and Multiply</tspan></text> 137.913 + 137.914 +</g><g 137.915 + id="g608" /><g 137.916 + id="g610"><text 137.917 + transform="matrix(1,0,0,-1,242.4,155.6)" 137.918 + id="text612"><tspan 137.919 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.920 + x="0 3.3 7.8000002 12.2 17.200001 21.6 26.1 28.799999 31.299999 36.299999 41.299999 44.099998 46.799999 49.599998 52.099998 57.099998 62.099998 67.099998 71.5 74 76.5 79.300003 84.300003 88.699997 93.699997 96.199997 103.5 105.9 109.3 113.7 117.6 122.6 125.3 128.10001 131.89999 134.5 139.5 145 148.3 153.3 161 163.5 170.8 173.3 175.8 180.8 184.60001 189.10001 191.60001 197.7 202.7 208.3 211 218.3 223.3 226 228.8 230.60001 234.39999 237 243.7 248.10001 253.10001 258.70001 261.10001 266.10001 271.20001 274.5 277.20001 279.70001" 137.921 + y="0" 137.922 + sodipodi:role="line" 137.923 + id="tspan614">reapeat until done, then Q results. From Q, use LdStUnit's RegF port, </tspan></text> 137.924 + 137.925 +</g><g 137.926 + id="g616"><text 137.927 + transform="matrix(1,0,0,-1,232.4,144.4)" 137.928 + id="text618"><tspan 137.929 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.930 + x="0 7.3000002 12.3 16.700001 21.700001 24.200001 27.5 30.799999 35.299999 39.700001 42.200001 47.200001 52.799999 57.200001 62.200001 67.199997 69.699997 77.5 83.599998 88.599998 91.099998 93 95.5 103.3 110.5 113.3 115.8 121.4 123.9 130 135 141.7 146.10001 150 152.5 158.10001 160.60001 166.8 171.8 176.8 179.3 184.3 191.5 195.89999 200.39999 205.39999 207.89999 210.60001 217.89999 222.89999 225.39999 232.60001 235.89999 238.7 241.39999 245.89999 249.8 252.3 254.8 260.29999 263.10001 267.5 270.29999 273 275.5 278.29999 281.60001 284.10001 287.39999 292.39999 295.10001 297.89999" 137.931 + y="0" 137.932 + sodipodi:role="line" 137.933 + id="tspan620">when free. Send &Lo | &Hi + ExRes + Thd. Need two writes. Stall if full.</tspan></text> 137.934 + 137.935 +</g><g 137.936 + id="g622"><path 137.937 + d="m 129.4,258.6 0,-39.5" 137.938 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.939 + id="path624" 137.940 + inkscape:connector-curvature="0" /></g><g 137.941 + id="g626"><path 137.942 + d="m 129.4,219 0,-39.5" 137.943 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.944 + id="path628" 137.945 + inkscape:connector-curvature="0" /></g><g 137.946 + id="g630"><path 137.947 + d="m 225.8,179.3 0,-39.6" 137.948 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.949 + id="path632" 137.950 + inkscape:connector-curvature="0" /></g><g 137.951 + id="g634"><text 137.952 + transform="matrix(1,0,0,-1,89.1,127.2)" 137.953 + id="text636"><tspan 137.954 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.955 + x="0 7.1999998 13.4 20.6 23.1 26.4 31.4 36.400002 41.400002 43.900002 47.200001 54.900002 62.599998 65.900002 68.400002 70.400002 72.900002 78.400002 83.400002 86.199997 89.5" 137.956 + y="0" 137.957 + sodipodi:role="line" 137.958 + id="tspan638">ALU (non Imm) | Shift</tspan></text> 137.959 + 137.960 +</g><g 137.961 + id="g640" /><g 137.962 + id="g642"><text 137.963 + transform="matrix(1,0,0,-1,91.6,116)" 137.964 + id="text644"><tspan 137.965 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.966 + x="0 6.0999999 11.1 17.799999 22.200001 26.1 28.6 34.200001 36.700001 44.5 51.200001 56.200001 58.700001 64.300003 66.800003 72.900002 77.900002 82.900002" 137.967 + y="0" 137.968 + sodipodi:role="line" 137.969 + id="tspan646">ExRes + &Rd + Thd </tspan></text> 137.970 + 137.971 +</g><g 137.972 + id="g648" /><g 137.973 + id="g650"><text 137.974 + transform="matrix(1,0,0,-1,101.6,104.8)" 137.975 + id="text652"><tspan 137.976 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.977 + x="0 2.7 7.6999998 10.3 16.9 21.4 26.4 31.9 34.400002 37.799999 45 48.299999 51 53.799999 58.200001" 137.978 + y="0" 137.979 + sodipodi:role="line" 137.980 + id="tspan654">to RegF (write)</tspan></text> 137.981 + 137.982 +</g><g 137.983 + id="g656" /><g 137.984 + id="g658"><text 137.985 + transform="matrix(1,0,0,-1,334.5,127.2)" 137.986 + id="text660"><tspan 137.987 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.988 + x="0 6.0999999 11.1 13.6 15.6 18 23.6" 137.989 + y="0" 137.990 + sodipodi:role="line" 137.991 + id="tspan662">Ld | St</tspan></text> 137.992 + 137.993 +</g><g 137.994 + id="g664"><text 137.995 + transform="matrix(1,0,0,-1,292,116)" 137.996 + id="text666"><tspan 137.997 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.998 + x="0 6.0999999 11.1 17.799999 22.200001 26.1 31.1 36.700001 39.299999 47 53.700001 56.400002 58.900002 60.900002 63.400002 70.599998 75.599998 81.199997 83.900002 86.400002 92.099998 94.599998 100.7 105.7" 137.999 + y="0" 137.1000 + sodipodi:role="line" 137.1001 + id="tspan668">ExRes + &Rt | OpSt + Thd</tspan></text> 137.1002 + 137.1003 +</g><g 137.1004 + id="g670"><text 137.1005 + transform="matrix(1,0,0,-1,292,104.8)" 137.1006 + id="text672"><tspan 137.1007 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1008 + x="0 5.5999999 8.1000004 13.7 16.4 19.200001 23.6 28.1 31.4 38.599998 41.099998 46.700001 49.200001 56.5 61.5 64 66.800003 71.699997 74.199997 80.400002 85.400002 90.900002 93.699997 100.9 105.9 108.7" 137.1009 + y="0" 137.1010 + sodipodi:role="line" 137.1011 + id="tspan674">+ SliceID + Op to LdStUnit</tspan></text> 137.1012 + 137.1013 +</g><g 137.1014 + id="g676"><path 137.1015 + d="m 245.6,377.7 0,-39.4" 137.1016 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1017 + id="path678" 137.1018 + inkscape:connector-curvature="0" /></g><g 137.1019 + id="g680" /><g 137.1020 + id="g682"><text 137.1021 + transform="matrix(1,0,0,-1,461.1,127.2)" 137.1022 + id="text684"><tspan 137.1023 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1024 + x="0 6.6999998 10 14.4 19.4 24.4 31.1 35.599998" 137.1025 + y="0" 137.1026 + sodipodi:role="line" 137.1027 + id="tspan686">Brch2Reg</tspan></text> 137.1028 + 137.1029 +</g><g 137.1030 + id="g688"><text 137.1031 + transform="matrix(1,0,0,-1,433.6,116)" 137.1032 + id="text690"><tspan 137.1033 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1034 + x="0 7.1999998 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002 62.299999 64.900002 67.599998 70.900002 73.400002 76.699997 81.199997 83.900002 87.800003 92.199997" 137.1035 + y="0" 137.1036 + sodipodi:role="line" 137.1037 + id="tspan692">NewPC <- PC1 if false </tspan></text> 137.1038 + 137.1039 +</g><g 137.1040 + id="g694"><text 137.1041 + transform="matrix(1,0,0,-1,433.6,104.8)" 137.1042 + id="text696"><tspan 137.1043 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1044 + x="0 7.1999998 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002 62.299999 64.900002 67.599998 70.900002 73.400002 76.199997 79.5 84.5" 137.1045 + y="0" 137.1046 + sodipodi:role="line" 137.1047 + id="tspan698">NewPC <- PC2 if true</tspan></text> 137.1048 + 137.1049 +</g><g 137.1050 + id="g700" /><g 137.1051 + id="g702"><text 137.1052 + transform="matrix(1,0,0,-1,209.1,79)" 137.1053 + id="text704"><tspan 137.1054 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1055 + x="0 7.1999998 10 15 19.4 22.700001 25.200001 28.6 33.5 37.400002 40.200001 43.5" 137.1056 + y="0" 137.1057 + sodipodi:role="line" 137.1058 + id="tspan706">Other Instrs</tspan></text> 137.1059 + 137.1060 +</g><g 137.1061 + id="g708"><text 137.1062 + transform="matrix(1,0,0,-1,204.1,67.8)" 137.1063 + id="text710"><tspan 137.1064 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1065 + x="0 3.3 8.3000002 12.2 14.9 18.200001 25.5 30.5 35.5 39.900002 42.400002 46.299999 50.700001 55.799999" 137.1066 + y="0" 137.1067 + sodipodi:role="line" 137.1068 + id="tspan712">InstrDone sent</tspan></text> 137.1069 + 137.1070 +</g><g 137.1071 + id="g714"><path 137.1072 + d="m 268.2,99.8 0,-39.4" 137.1073 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1074 + id="path716" 137.1075 + inkscape:connector-curvature="0" /></g><g 137.1076 + id="g718" /><g 137.1077 + id="g720"><text 137.1078 + transform="matrix(1,0,0,-1,263.9,676.9)" 137.1079 + id="text722"><tspan 137.1080 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1081 + x="0 7.3000002 10" 137.1082 + y="0" 137.1083 + sodipodi:role="line" 137.1084 + id="tspan724">All</tspan></text> 137.1085 + 137.1086 +</g><g 137.1087 + id="g726"><text 137.1088 + transform="matrix(1,0,0,-1,236.4,665.7)" 137.1089 + id="text728"><tspan 137.1090 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1091 + x="0 7.3000002 11.7 16.1 18.9 23.9 28.299999 31.1 33.599998 40.299999 45.299999 50.299999 55.299999 58 62.5" 137.1092 + y="0" 137.1093 + sodipodi:role="line" 137.1094 + id="tspan730">Decide: Bubble?</tspan></text> 137.1095 + 137.1096 +</g><g 137.1097 + id="g732"><path 137.1098 + d="m 455.4,536.6 0,-39.5" 137.1099 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1100 + id="path734" 137.1101 + inkscape:connector-curvature="0" /></g><g 137.1102 + id="g736" /><g 137.1103 + id="g738"><text 137.1104 + transform="matrix(1,0,0,-1,486.5,558.5)" 137.1105 + id="text740"><tspan 137.1106 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1107 + x="0 6.6999998 10 14.4" 137.1108 + y="0" 137.1109 + sodipodi:role="line" 137.1110 + id="tspan742">Brch</tspan></text> 137.1111 + 137.1112 +</g><g 137.1113 + id="g744"><text 137.1114 + transform="matrix(1,0,0,-1,461.5,547.3)" 137.1115 + id="text746"><tspan 137.1116 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1117 + x="0 4.5 9.3999996 14.4 17.200001 19.700001 22.200001 27.799999 34.400002 39.400002 41.900002 47.599998 50.099998 53.400002 61.099998" 137.1118 + y="0" 137.1119 + sodipodi:role="line" 137.1120 + id="tspan748">cont. PC1 + Imm</tspan></text> 137.1121 + 137.1122 +</g><g 137.1123 + id="g750"><path 137.1124 + d="m 401.5,695.5 0,-39.5" 137.1125 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1126 + id="path752" 137.1127 + inkscape:connector-curvature="0" /></g><g 137.1128 + id="g754"><path 137.1129 + d="m 395.9,377.7 0,-39.4" 137.1130 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1131 + id="path756" 137.1132 + inkscape:connector-curvature="0" /></g><g 137.1133 + id="g758" /><g 137.1134 + id="g760"><text 137.1135 + transform="matrix(1,0,0,-1,112.6,524.4)" 137.1136 + id="text762"><tspan 137.1137 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1138 + x="0 3.9000001 11.1 17.299999 19.700001 21.700001 24.200001 30.9 35.900002 43.099998 49.200001 51.799999 53.700001 56.200001 60.099998 67.300003 73.400002" 137.1139 + y="0" 137.1140 + sodipodi:role="line" 137.1141 + id="tspan764">JAL | B*AL | JALR</tspan></text> 137.1142 + 137.1143 +</g><g 137.1144 + id="g766"><text 137.1145 + transform="matrix(1,0,0,-1,87.6,513.2)" 137.1146 + id="text768"><tspan 137.1147 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1148 + x="0 5 10 12.5 14.4 16.9 24.700001 31.4 36.400002 38.900002 44.5 47 52.5 59.200001 64.300003 66.699997 72.400002 74.900002 81 86 91 93.5 96.199997 101.2 103.7 110.4 114.9 119.9" 137.1149 + y="0" 137.1150 + sodipodi:role="line" 137.1151 + id="tspan770">31 | &Rd + PC1 + Thd to RegF</tspan></text> 137.1152 + 137.1153 +</g><g 137.1154 + id="g772" /><g 137.1155 + id="g774"><text 137.1156 + transform="matrix(1,0,0,-1,117.6,502)" 137.1157 + id="text776"><tspan 137.1158 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1159 + x="0 3.3 10.6 13.8 16.6 19.4 23.799999 26.299999 31.299999 36.299999 40.700001 44 48.5 51.200001 54 59 64" 137.1160 + y="0" 137.1161 + sodipodi:role="line" 137.1162 + id="tspan778">(write operation)</tspan></text> 137.1163 + 137.1164 +</g><g 137.1165 + id="g780" /><g 137.1166 + id="g782"><text 137.1167 + transform="matrix(1,0,0,-1,203.4,127.2)" 137.1168 + id="text784"><tspan 137.1169 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1170 + x="0 7.1999998 13.4 20.6 23.9 31.6 39.299999 41.799999 43.700001 46.200001 52.400002 59.599998" 137.1171 + y="0" 137.1172 + sodipodi:role="line" 137.1173 + id="tspan786">ALUImm | LUI</tspan></text> 137.1174 + 137.1175 +</g><g 137.1176 + id="g788" /><g 137.1177 + id="g790"><text 137.1178 + transform="matrix(1,0,0,-1,190.9,116)" 137.1179 + id="text792"><tspan 137.1180 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1181 + x="0 6.0999999 11.1 17.799999 22.200001 26.1 28.6 34.200001 36.700001 44.5 51.200001 53.900002 56.400002 62 64.599998 70.699997 75.699997 80.699997" 137.1182 + y="0" 137.1183 + sodipodi:role="line" 137.1184 + id="tspan794">ExRes + &Rt + Thd </tspan></text> 137.1185 + 137.1186 +</g><g 137.1187 + id="g796" /><g 137.1188 + id="g798"><text 137.1189 + transform="matrix(1,0,0,-1,200.9,104.8)" 137.1190 + id="text800"><tspan 137.1191 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1192 + x="0 2.7 7.6999998 10.3 16.9 21.4 26.4 31.9 34.400002 37.700001 45 48.299999 51 53.799999 58.200001" 137.1193 + y="0" 137.1194 + sodipodi:role="line" 137.1195 + id="tspan802">to RegF (write)</tspan></text> 137.1196 + 137.1197 +</g><g 137.1198 + id="g804" /><g 137.1199 + id="g806"><text 137.1200 + transform="matrix(1,0,0,-1,404.5,359.7)" 137.1201 + id="text808"><tspan 137.1202 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1203 + x="0 6.0999999 13.4 16.700001 19.200001 21.1 23.6 29.700001 34.700001 37.200001 39.200001 41.700001 47.200001" 137.1204 + y="0" 137.1205 + sodipodi:role="line" 137.1206 + id="tspan810">LUI | Ld | St</tspan></text> 137.1207 + 137.1208 +</g><g 137.1209 + id="g812"><text 137.1210 + transform="matrix(1,0,0,-1,399.5,348.5)" 137.1211 + id="text814"><tspan 137.1212 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1213 + x="0 7.1999998 13.4 20.6 27.9 32.900002 35.400002 41 44.299999 46.799999 51.200001 56.200001" 137.1214 + y="0" 137.1215 + sodipodi:role="line" 137.1216 + id="tspan816">ALUOp <- add</tspan></text> 137.1217 + 137.1218 +</g><g 137.1219 + id="g818" /><g 137.1220 + id="g820"><text 137.1221 + transform="matrix(1,0,0,-1,115.6,439.1)" 137.1222 + id="text822"><tspan 137.1223 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1224 + x="0 6.0999999 13.4" 137.1225 + y="0" 137.1226 + sodipodi:role="line" 137.1227 + id="tspan824">LUI</tspan></text> 137.1228 + 137.1229 +</g><g 137.1230 + id="g826"><text 137.1231 + transform="matrix(1,0,0,-1,90.6,427.9)" 137.1232 + id="text828"><tspan 137.1233 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1234 + x="0 7.3000002 12.2 19.5 22 27.6 30.9 33.400002 36.700001 44.400002 52.099998 54.599998 62.400002 64.900002" 137.1235 + y="0" 137.1236 + sodipodi:role="line" 137.1237 + id="tspan830">OpA <- Imm & 0</tspan></text> 137.1238 + 137.1239 +</g><g 137.1240 + id="g832" /><g 137.1241 + id="g834"><text 137.1242 + transform="matrix(1,0,0,-1,108,478.9)" 137.1243 + id="text836"><tspan 137.1244 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1245 + x="0 3.9000001 6.4000001 8.3000002 10.8 14.7 21.9" 137.1246 + y="0" 137.1247 + sodipodi:role="line" 137.1248 + id="tspan838">J | JAL</tspan></text> 137.1249 + 137.1250 +</g><g 137.1251 + id="g840"><text 137.1252 + transform="matrix(1,0,0,-1,90.5,467.7)" 137.1253 + id="text842"><tspan 137.1254 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1255 + x="0 3.3 8.3000002 12.2 14.9 18.299999 25.5 30.5 35.5 40 42.400002 46.299999 50.799999 55.799999" 137.1256 + y="0" 137.1257 + sodipodi:role="line" 137.1258 + id="tspan844">InstrDone sent</tspan></text> 137.1259 + 137.1260 +</g><g 137.1261 + id="g846"><path 137.1262 + d="m 163.4,457.4 0,-39.5" 137.1263 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1264 + id="path848" 137.1265 + inkscape:connector-curvature="0" /></g><g 137.1266 + id="g850"><text 137.1267 + transform="matrix(1,0,0,-1,345.6,478.9)" 137.1268 + id="text852"><tspan 137.1269 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1270 + x="0 7.3000002 12.2 15 19.4 22.200001 24.700001 29.1 34.099998 38.599998 43 48 50.5 53.299999 58.299999 60.700001 64.099998 66.800003 71.800003 76.300003 79 81.5 86.5 90.900002 94.800003 97.599998 102.6 107.6 110.1 112.8 116.1 118.6 123.1 128.10001 133.10001 138.10001 143.10001 148.10001 150.60001 154.39999 157.2 161.60001 166.60001 171.10001" 137.1271 + y="0" 137.1272 + sodipodi:role="line" 137.1273 + id="tspan854">Note: check in final design if enough stages</tspan></text> 137.1274 + 137.1275 +</g><g 137.1276 + id="g856" /><g 137.1277 + id="g858"><text 137.1278 + transform="matrix(1,0,0,-1,360.6,467.7)" 137.1279 + id="text860"><tspan 137.1280 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1281 + x="0 2.7 7.6999998 10.3 16.4 21.4 26.4 33.599998 36.099998 39.400002 44.400002 47.799999 50.299999 54.099998 61.400002 67.5 70 77.199997 80.599998 83.300003 86.099998 90.5 93 95.699997 100.7 103.2 107.7 112.7 120.4 125.4 128.10001 132.60001 135.3" 137.1282 + y="0" 137.1283 + sodipodi:role="line" 137.1284 + id="tspan862">in ThdU for JAL write to complete</tspan></text> 137.1285 + 137.1286 +</g><g 137.1287 + id="g864"><text 137.1288 + transform="matrix(1,0,0,-1,385.4,518.5)" 137.1289 + id="text866"><tspan 137.1290 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1291 + x="0 6.0999999 13.4 16.700001 19.200001 21.1 23.6 30.299999 33.599998 38.099998 43.099998 48.099998 54.700001 59.200001" 137.1292 + y="0" 137.1293 + sodipodi:role="line" 137.1294 + id="tspan868">LUI | Brch1Reg</tspan></text> 137.1295 + 137.1296 +</g><g 137.1297 + id="g870" /><g 137.1298 + id="g872"><text 137.1299 + transform="matrix(1,0,0,-1,400.4,507.3)" 137.1300 + id="text874"><tspan 137.1301 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1302 + x="0 7.6999998 14.4 17.200001 19.700001 25.299999 27.799999" 137.1303 + y="0" 137.1304 + sodipodi:role="line" 137.1305 + id="tspan876">&Rt = 0</tspan></text> 137.1306 + 137.1307 +</g><g 137.1308 + id="g878"><path 137.1309 + d="m 333.5,417.6 0,-39.5" 137.1310 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1311 + id="path880" 137.1312 + inkscape:connector-curvature="0" /></g><g 137.1313 + id="g882"><path 137.1314 + d="m 421.4,417.5 0,-39.5" 137.1315 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1316 + id="path884" 137.1317 + inkscape:connector-curvature="0" /></g><g 137.1318 + id="g886" /><g 137.1319 + id="g888"><text 137.1320 + transform="matrix(1,0,0,-1,331.1,359.6)" 137.1321 + id="text890"><tspan 137.1322 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1323 + x="0 6.6999998 10 14.4 19.5 24.4 31.1 35.599998" 137.1324 + y="0" 137.1325 + sodipodi:role="line" 137.1326 + id="tspan892">Brch2Reg</tspan></text> 137.1327 + 137.1328 +</g><g 137.1329 + id="g894" /><g 137.1330 + id="g896"><text 137.1331 + transform="matrix(1,0,0,-1,308.6,348.4)" 137.1332 + id="text898"><tspan 137.1333 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1334 + x="0 7.3000002 13.4 20.6 27.9 32.900002 35.400002 41 44.299999 46.799999 53.5 58.5 66.199997 71.199997 75.599998 79" 137.1335 + y="0" 137.1336 + sodipodi:role="line" 137.1337 + id="tspan900">ALUOp <- Compare</tspan></text> 137.1338 + 137.1339 +</g><g 137.1340 + id="g902"><path 137.1341 + d="m 217.2,536.6 0,-39.5" 137.1342 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1343 + id="path904" 137.1344 + inkscape:connector-curvature="0" /></g><g 137.1345 + id="g906"><path 137.1346 + d="m 129.4,298.4 0,-39.5" 137.1347 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1348 + id="path908" 137.1349 + inkscape:connector-curvature="0" /></g><g 137.1350 + id="g910"><path 137.1351 + d="m 407.1,655.7 0,-39.4" 137.1352 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1353 + id="path912" 137.1354 + inkscape:connector-curvature="0" /></g><g 137.1355 + id="g914" /><g 137.1356 + id="g916"><text 137.1357 + transform="matrix(1,0,0,-1,370.4,405.1)" 137.1358 + id="text918"><tspan 137.1359 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1360 + x="0 7.3000002 10" 137.1361 + y="0" 137.1362 + sodipodi:role="line" 137.1363 + id="tspan920">All</tspan></text> 137.1364 + 137.1365 +</g><g 137.1366 + id="g922"><text 137.1367 + transform="matrix(1,0,0,-1,342.9,393.9)" 137.1368 + id="text924"><tspan 137.1369 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1370 + x="0 7.3000002 11.7 16.1 21.1 26.1 30.6 33.299999 35.799999 43.099998 49.200001 56.400002 63.700001" 137.1371 + y="0" 137.1372 + sodipodi:role="line" 137.1373 + id="tspan926">Decode: ALUOp</tspan></text> 137.1374 + 137.1375 +</g><g 137.1376 + id="g928" /><g 137.1377 + id="g930"><text 137.1378 + transform="matrix(1,0,0,-1,365.4,382.7)" 137.1379 + id="text932"><tspan 137.1380 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1381 + x="0 5 9.5 14.4 17.200001" 137.1382 + y="0" 137.1383 + sodipodi:role="line" 137.1384 + id="tspan934">begin</tspan></text> 137.1385 + 137.1386 +</g><g 137.1387 + id="g936"><path 137.1388 + d="m 262.6,417.4 0,-39.5" 137.1389 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1390 + id="path938" 137.1391 + inkscape:connector-curvature="0" /></g><g 137.1392 + id="g940"><path 137.1393 + d="m 308,655.7 0,-39.4" 137.1394 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1395 + id="path942" 137.1396 + inkscape:connector-curvature="0" /></g><g 137.1397 + id="g944" /><g 137.1398 + id="g946"><text 137.1399 + transform="matrix(1,0,0,-1,133.1,79)" 137.1400 + id="text948"><tspan 137.1401 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1402 + x="0 6.0999999 11.1 13.6 15.5 18 23.6" 137.1403 + y="0" 137.1404 + sodipodi:role="line" 137.1405 + id="tspan950">Ld | St</tspan></text> 137.1406 + 137.1407 +</g><g 137.1408 + id="g952"><text 137.1409 + transform="matrix(1,0,0,-1,90.6,67.8)" 137.1410 + id="text954"><tspan 137.1411 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1412 + x="0 3.3 8.3000002 14.4 19.4 25 27.700001 30.200001 34.700001 39.700001 44.700001 47.200001 50.5 55.5 59.400002 62.099998 65.400002 72.699997 77.699997 82.699997 87.099998 89.599998 93.5 97.900002 102.9" 137.1413 + y="0" 137.1414 + sodipodi:role="line" 137.1415 + id="tspan956">InLdSt and InstrDone sent</tspan></text> 137.1416 + 137.1417 +</g><g 137.1418 + id="g958"><path 137.1419 + d="m 279.6,139.5 0,-39.5" 137.1420 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1421 + id="path960" 137.1422 + inkscape:connector-curvature="0" /></g><g 137.1423 + id="g962"><path 137.1424 + d="m 415.6,139.5 0,-39.5" 137.1425 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1426 + id="path964" 137.1427 + inkscape:connector-curvature="0" /></g><g 137.1428 + id="g966"><text 137.1429 + transform="matrix(1,0,0,-1,170,439.1)" 137.1430 + id="text968"><tspan 137.1431 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1432 + x="0 6.6999998 10 14.4 19.4 24.4 31.1 35.599998 40.599998 45.5 47.5 50 56.700001 60 64.400002 69.400002 76.099998 83.400002" 137.1433 + y="0" 137.1434 + sodipodi:role="line" 137.1435 + id="tspan970">Brch1Reg | BrchCOP</tspan></text> 137.1436 + 137.1437 +</g><g 137.1438 + id="g972" /><g 137.1439 + id="g974"><text 137.1440 + transform="matrix(1,0,0,-1,185,427.9)" 137.1441 + id="text976"><tspan 137.1442 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1443 + x="0 3.3 7.6999998 11.6 16.6 19.4 24.4 28.799999 31.299999 36.299999 39.599998 44 49.099998 53.5" 137.1444 + y="0" 137.1445 + sodipodi:role="line" 137.1446 + id="tspan978">resolve branch</tspan></text> 137.1447 + 137.1448 +</g><g 137.1449 + id="g980"><path 137.1450 + d="m 262.6,457.3 0,-39.6" 137.1451 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1452 + id="path982" 137.1453 + inkscape:connector-curvature="0" /></g><g 137.1454 + id="g984" /><g 137.1455 + id="g986"><text 137.1456 + transform="matrix(1,0,0,-1,169.4,405)" 137.1457 + id="text988"><tspan 137.1458 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1459 + x="0 6.6999998 10 14.4 19.4 24.4 31.1 35.599998 40.599998 43.099998 45 47.5 54.200001 57.5 61.900002 66.900002 73.599998 80.900002" 137.1460 + y="0" 137.1461 + sodipodi:role="line" 137.1462 + id="tspan990">Brch1Reg | BrchCOP</tspan></text> 137.1463 + 137.1464 +</g><g 137.1465 + id="g992"><text 137.1466 + transform="matrix(1,0,0,-1,164.4,393.8)" 137.1467 + id="text994"><tspan 137.1468 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1469 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002 62.400002 64.900002 67.599998 71 73.5 76.800003 81.199997 83.900002 87.800003 92.199997" 137.1470 + y="0" 137.1471 + sodipodi:role="line" 137.1472 + id="tspan996">NewPC <- PC1 if false </tspan></text> 137.1473 + 137.1474 +</g><g 137.1475 + id="g998"><text 137.1476 + transform="matrix(1,0,0,-1,164.4,382.6)" 137.1477 + id="text1000"><tspan 137.1478 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1479 + x="0 7.3000002 11.7 18.9 24.5 31.200001 33.700001 39.299999 42.599998 45.099998 50.700001 57.400002 62.400002 64.900002 67.599998 71 73.5 76.199997 79.5 84.5" 137.1480 + y="0" 137.1481 + sodipodi:role="line" 137.1482 + id="tspan1002">NewPC <- PC2 if true</tspan></text> 137.1483 + 137.1484 +</g><g 137.1485 + id="g1004" /><g 137.1486 + id="g1006"><text 137.1487 + transform="matrix(1,0,0,-1,210.1,637.9)" 137.1488 + id="text1008"><tspan 137.1489 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1490 + x="0 7.3000002 10" 137.1491 + y="0" 137.1492 + sodipodi:role="line" 137.1493 + id="tspan1010">All</tspan></text> 137.1494 + 137.1495 +</g><g 137.1496 + id="g1012"><text 137.1497 + transform="matrix(1,0,0,-1,182.6,626.7)" 137.1498 + id="text1014"><tspan 137.1499 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1500 + x="0 6.6999998 11.7 16.700001 19.5 22.200001 27.200001 32.200001 36.599998 39.099998 44.099998 48.599998 53 58 63" 137.1501 + y="0" 137.1502 + sodipodi:role="line" 137.1503 + id="tspan1016">Continue decode</tspan></text> 137.1504 + 137.1505 +</g><g 137.1506 + id="g1018"><path 137.1507 + d="m 254.1,655.7 0,-39.4" 137.1508 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1509 + id="path1020" 137.1510 + inkscape:connector-curvature="0" /></g><g 137.1511 + id="g1022" /><g 137.1512 + id="g1024"><text 137.1513 + transform="matrix(1,0,0,-1,329.9,598.1)" 137.1514 + id="text1026"><tspan 137.1515 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1516 + x="0 7.3000002 10" 137.1517 + y="0" 137.1518 + sodipodi:role="line" 137.1519 + id="tspan1028">All</tspan></text> 137.1520 + 137.1521 +</g><g 137.1522 + id="g1030"><text 137.1523 + transform="matrix(1,0,0,-1,307.4,586.9)" 137.1524 + id="text1032"><tspan 137.1525 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1526 + x="0 5.5 8.3000002 13.3 16.1 19.9 24.9 27.4 32.400002 36.900002 41.299999 46.299999 51.299999" 137.1527 + y="0" 137.1528 + sodipodi:role="line" 137.1529 + id="tspan1034">Finish decode</tspan></text> 137.1530 + 137.1531 +</g><g 137.1532 + id="g1036"><path 137.1533 + d="m 370.4,616.1 0,-39.5" 137.1534 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1535 + id="path1038" 137.1536 + inkscape:connector-curvature="0" /></g><g 137.1537 + id="g1040"><text 137.1538 + transform="matrix(1,0,0,-1,87.9,47.7)" 137.1539 + id="text1042"><tspan 137.1540 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1541 + x="0 7.3000002 12.2 15 19.4 22.200001 24.700001 31.9 36.400002 39.099998 41.900002 44.400002 49.400002 54.400002 57.099998 59.900002 62.599998 65.099998 67.900002 72.900002 76.800003 79.5 82.800003 87.800003 92.199997 95 97.699997 102.8 107.7 110.2 114.7 119.1 121.9 126.9 131.3 134.10001 136.8 141.89999 144.39999 152.10001 156.60001 161.60001 166 169.89999 172.39999 175.10001 177.89999 180.39999 183.10001 188.10001 190.89999 195.89999 198.39999 204.5 209.5 215.10001 217.8 225.10001 230.10001 232.8 235.60001 238.10001 243.10001 247.5 250.8 255.8 259.10001 263.60001 266.10001 269.89999 274.39999 279.39999 284.39999 287.10001 292.10001 297.10001 299.60001 302.89999 307.89999 314.10001 319.10001 324.60001 327.39999 329.89999 333.20001 338.79999 341.29999 347.39999 352.39999 356.89999 361.29999 366.29999 369.10001 371.79999 376.79999 381.79999" 137.1542 + y="0" 137.1543 + sodipodi:role="line" 137.1544 + id="tspan1044">Note: wait until instruction actually makes it into LdStUnit before sending InLdSt -> Exceptions</tspan></text> 137.1545 + 137.1546 +</g><g 137.1547 + id="g1046"><path 137.1548 + d="m 333.5,338 0,-39.5" 137.1549 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1550 + id="path1048" 137.1551 + inkscape:connector-curvature="0" /></g><g 137.1552 + id="g1050"><text 137.1553 + transform="matrix(1,0,0,-1,238,478.7)" 137.1554 + id="text1052"><tspan 137.1555 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1556 + x="0 6.6999998 10 14.4 19.4 24.4 31.1 35.599998 40.599998 45.5 47.5 50 56.700001 60 64.400002 69.400002 76.099998 83.400002" 137.1557 + y="0" 137.1558 + sodipodi:role="line" 137.1559 + id="tspan1054">Brch1Reg | BrchCOP</tspan></text> 137.1560 + 137.1561 +</g><g 137.1562 + id="g1056" /><g 137.1563 + id="g1058"><text 137.1564 + transform="matrix(1,0,0,-1,250.5,467.5)" 137.1565 + id="text1060"><tspan 137.1566 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1567 + x="0 7.3000002 11.7 16.1 21.1 26.1 30.6 33 38.099998 41.400002 45.799999 50.799999 58.099998" 137.1568 + y="0" 137.1569 + sodipodi:role="line" 137.1570 + id="tspan1062">Decode brchOp</tspan></text> 137.1571 + 137.1572 +</g><g 137.1573 + id="g1064"><path 137.1574 + d="m 330.6,497 0,-39.5" 137.1575 + style="fill:none;stroke:#000000;stroke-width:0.73580003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none" 137.1576 + id="path1066" 137.1577 + inkscape:connector-curvature="0" /></g><g 137.1578 + id="g1068"><text 137.1579 + transform="matrix(1,0,0,-1,320.1,82)" 137.1580 + id="text1070"><tspan 137.1581 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1582 + x="0 7.1999998 12.2 15 19.4 22.200001 24.700001 29.1 34.099998 38.5 43 48 50.5 53.299999 58.200001 60.700001 64.099998 66.800003 71.800003 76.199997 79 81.5 86.5 90.900002 94.800003 97.599998 102.5 107.6 110.1 112.8 116.1 118.6 123 128.10001 133 138.10001 143.10001 148 150.60001 154.39999 157.2 161.60001 166.60001 171.10001" 137.1583 + y="0" 137.1584 + sodipodi:role="line" 137.1585 + id="tspan1072">Note: check in final design if enough stages</tspan></text> 137.1586 + 137.1587 +</g><g 137.1588 + id="g1074" /><g 137.1589 + id="g1076"><text 137.1590 + transform="matrix(1,0,0,-1,345.1,70.8)" 137.1591 + id="text1078"><tspan 137.1592 + style="font-size:10px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1593 + x="0 2.7 7.6999998 10.3 16.4 21.4 26.4 33.599998 36.099998 39.400002 44.400002 47.799999 50.200001 59.700001 66.400002 68.900002 71.699997 76.699997 79.199997 83.599998 88.599998 96.300003 101.3 104 108.5 111.2" 137.1594 + y="0" 137.1595 + sodipodi:role="line" 137.1596 + id="tspan1080">in ThdU for WB to complete</tspan></text> 137.1597 + 137.1598 +</g><g 137.1599 + id="g1082"><text 137.1600 + transform="matrix(1,0,0,-1,28.6,31.5)" 137.1601 + id="text1084"><tspan 137.1602 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1603 + x="0 6 9.3000002 15.3 21.299999 24.6 30.6" 137.1604 + y="0" 137.1605 + sodipodi:role="line" 137.1606 + id="tspan1086">6/16/03</tspan></text> 137.1607 + 137.1608 +</g><g 137.1609 + id="g1088"> 137.1610 +</g><g 137.1611 + id="g1094"><text 137.1612 + transform="matrix(1,0,0,-1,318.8,27.3)" 137.1613 + id="text1096"><tspan 137.1614 + style="font-size:12px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times New Roman;-inkscape-font-specification:TimesNewRomanPSMT" 137.1615 + x="0" 137.1616 + y="0" 137.1617 + id="tspan1098">3</tspan></text> 137.1618 + 137.1619 +</g></g></svg> 137.1620 \ No newline at end of file
138.1 Binary file 1__Presentations/12__LPGPU_Arch/figures/Worker_Core.pdf has changed
139.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 139.2 +++ b/1__Presentations/12__LPGPU_Arch/figures/Worker_Core.svg Sun Mar 11 09:26:44 2012 -0700 139.3 @@ -0,0 +1,2017 @@ 139.4 +<?xml version="1.0" encoding="UTF-8" standalone="no"?> 139.5 +<!-- Created with Inkscape (http://www.inkscape.org/) --> 139.6 + 139.7 +<svg 139.8 + xmlns:dc="http://purl.org/dc/elements/1.1/" 139.9 + xmlns:cc="http://creativecommons.org/ns#" 139.10 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 139.11 + xmlns:svg="http://www.w3.org/2000/svg" 139.12 + xmlns="http://www.w3.org/2000/svg" 139.13 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 139.14 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 139.15 + width="744.09448819" 139.16 + height="1052.3622047" 139.17 + id="svg2" 139.18 + sodipodi:version="0.32" 139.19 + inkscape:version="0.48.1 " 139.20 + sodipodi:docname="Worker_Core.svg" 139.21 + inkscape:output_extension="org.inkscape.output.svg.inkscape" 139.22 + version="1.1"> 139.23 + <defs 139.24 + id="defs4"> 139.25 + <marker 139.26 + inkscape:stockid="Arrow2Mstart" 139.27 + orient="auto" 139.28 + refY="0.0" 139.29 + refX="0.0" 139.30 + id="Arrow2Mstart" 139.31 + style="overflow:visible"> 139.32 + <path 139.33 + id="path5492" 139.34 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round" 139.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 " 139.36 + transform="scale(0.6) translate(0,0)" /> 139.37 + </marker> 139.38 + <marker 139.39 + inkscape:stockid="Arrow2Mend" 139.40 + orient="auto" 139.41 + refY="0.0" 139.42 + refX="0.0" 139.43 + id="Arrow2Mend" 139.44 + style="overflow:visible;"> 139.45 + <path 139.46 + id="path3563" 139.47 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 139.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 " 139.49 + transform="scale(0.6) rotate(180) translate(0,0)" /> 139.50 + </marker> 139.51 + <marker 139.52 + inkscape:stockid="TriangleOutM" 139.53 + orient="auto" 139.54 + refY="0.0" 139.55 + refX="0.0" 139.56 + id="TriangleOutM" 139.57 + style="overflow:visible"> 139.58 + <path 139.59 + id="path3682" 139.60 + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " 139.61 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 139.62 + transform="scale(0.4)" /> 139.63 + </marker> 139.64 + <marker 139.65 + inkscape:stockid="Arrow2Lend" 139.66 + orient="auto" 139.67 + refY="0.0" 139.68 + refX="0.0" 139.69 + id="Arrow2Lend" 139.70 + style="overflow:visible;"> 139.71 + <path 139.72 + id="path3557" 139.73 + style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" 139.74 + 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 " 139.75 + transform="scale(1.1) rotate(180) translate(1,0)" /> 139.76 + </marker> 139.77 + <marker 139.78 + inkscape:stockid="Arrow1Mstart" 139.79 + orient="auto" 139.80 + refY="0.0" 139.81 + refX="0.0" 139.82 + id="Arrow1Mstart" 139.83 + style="overflow:visible"> 139.84 + <path 139.85 + id="path3542" 139.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 " 139.87 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 139.88 + transform="scale(0.4) translate(10,0)" /> 139.89 + </marker> 139.90 + <marker 139.91 + inkscape:stockid="Arrow1Lend" 139.92 + orient="auto" 139.93 + refY="0.0" 139.94 + refX="0.0" 139.95 + id="Arrow1Lend" 139.96 + style="overflow:visible;"> 139.97 + <path 139.98 + id="path3539" 139.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 " 139.100 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" 139.101 + transform="scale(0.8) rotate(180) translate(12.5,0)" /> 139.102 + </marker> 139.103 + <marker 139.104 + inkscape:stockid="Arrow1Lstart" 139.105 + orient="auto" 139.106 + refY="0.0" 139.107 + refX="0.0" 139.108 + id="Arrow1Lstart" 139.109 + style="overflow:visible"> 139.110 + <path 139.111 + id="path3536" 139.112 + 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 " 139.113 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" 139.114 + transform="scale(0.8) translate(12.5,0)" /> 139.115 + </marker> 139.116 + <inkscape:perspective 139.117 + sodipodi:type="inkscape:persp3d" 139.118 + inkscape:vp_x="0 : 526.18109 : 1" 139.119 + inkscape:vp_y="0 : 1000 : 0" 139.120 + inkscape:vp_z="744.09448 : 526.18109 : 1" 139.121 + inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 139.122 + id="perspective10" /> 139.123 + <inkscape:perspective 139.124 + id="perspective4311" 139.125 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.126 + inkscape:vp_z="1 : 0.5 : 1" 139.127 + inkscape:vp_y="0 : 1000 : 0" 139.128 + inkscape:vp_x="0 : 0.5 : 1" 139.129 + sodipodi:type="inkscape:persp3d" /> 139.130 + <inkscape:perspective 139.131 + id="perspective4336" 139.132 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.133 + inkscape:vp_z="1 : 0.5 : 1" 139.134 + inkscape:vp_y="0 : 1000 : 0" 139.135 + inkscape:vp_x="0 : 0.5 : 1" 139.136 + sodipodi:type="inkscape:persp3d" /> 139.137 + <inkscape:perspective 139.138 + id="perspective4365" 139.139 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.140 + inkscape:vp_z="1 : 0.5 : 1" 139.141 + inkscape:vp_y="0 : 1000 : 0" 139.142 + inkscape:vp_x="0 : 0.5 : 1" 139.143 + sodipodi:type="inkscape:persp3d" /> 139.144 + <marker 139.145 + inkscape:stockid="Arrow2Mend" 139.146 + orient="auto" 139.147 + refY="0" 139.148 + refX="0" 139.149 + id="Arrow2Mend-9" 139.150 + style="overflow:visible"> 139.151 + <path 139.152 + id="path3563-4" 139.153 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.154 + 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" 139.155 + transform="scale(-0.6,-0.6)" /> 139.156 + </marker> 139.157 + <inkscape:perspective 139.158 + id="perspective4423" 139.159 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.160 + inkscape:vp_z="1 : 0.5 : 1" 139.161 + inkscape:vp_y="0 : 1000 : 0" 139.162 + inkscape:vp_x="0 : 0.5 : 1" 139.163 + sodipodi:type="inkscape:persp3d" /> 139.164 + <marker 139.165 + inkscape:stockid="Arrow2Mend" 139.166 + orient="auto" 139.167 + refY="0" 139.168 + refX="0" 139.169 + id="Arrow2Mend-8" 139.170 + style="overflow:visible"> 139.171 + <path 139.172 + id="path3563-2" 139.173 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.174 + 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" 139.175 + transform="scale(-0.6,-0.6)" /> 139.176 + </marker> 139.177 + <inkscape:perspective 139.178 + id="perspective4461" 139.179 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.180 + inkscape:vp_z="1 : 0.5 : 1" 139.181 + inkscape:vp_y="0 : 1000 : 0" 139.182 + inkscape:vp_x="0 : 0.5 : 1" 139.183 + sodipodi:type="inkscape:persp3d" /> 139.184 + <inkscape:perspective 139.185 + id="perspective14081" 139.186 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.187 + inkscape:vp_z="1 : 0.5 : 1" 139.188 + inkscape:vp_y="0 : 1000 : 0" 139.189 + inkscape:vp_x="0 : 0.5 : 1" 139.190 + sodipodi:type="inkscape:persp3d" /> 139.191 + <inkscape:perspective 139.192 + id="perspective14206" 139.193 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.194 + inkscape:vp_z="1 : 0.5 : 1" 139.195 + inkscape:vp_y="0 : 1000 : 0" 139.196 + inkscape:vp_x="0 : 0.5 : 1" 139.197 + sodipodi:type="inkscape:persp3d" /> 139.198 + <inkscape:perspective 139.199 + id="perspective14299" 139.200 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.201 + inkscape:vp_z="1 : 0.5 : 1" 139.202 + inkscape:vp_y="0 : 1000 : 0" 139.203 + inkscape:vp_x="0 : 0.5 : 1" 139.204 + sodipodi:type="inkscape:persp3d" /> 139.205 + <inkscape:perspective 139.206 + id="perspective16915" 139.207 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.208 + inkscape:vp_z="1 : 0.5 : 1" 139.209 + inkscape:vp_y="0 : 1000 : 0" 139.210 + inkscape:vp_x="0 : 0.5 : 1" 139.211 + sodipodi:type="inkscape:persp3d" /> 139.212 + <inkscape:perspective 139.213 + id="perspective16946" 139.214 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.215 + inkscape:vp_z="1 : 0.5 : 1" 139.216 + inkscape:vp_y="0 : 1000 : 0" 139.217 + inkscape:vp_x="0 : 0.5 : 1" 139.218 + sodipodi:type="inkscape:persp3d" /> 139.219 + <inkscape:perspective 139.220 + id="perspective17789" 139.221 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.222 + inkscape:vp_z="1 : 0.5 : 1" 139.223 + inkscape:vp_y="0 : 1000 : 0" 139.224 + inkscape:vp_x="0 : 0.5 : 1" 139.225 + sodipodi:type="inkscape:persp3d" /> 139.226 + <inkscape:perspective 139.227 + id="perspective17820" 139.228 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.229 + inkscape:vp_z="1 : 0.5 : 1" 139.230 + inkscape:vp_y="0 : 1000 : 0" 139.231 + inkscape:vp_x="0 : 0.5 : 1" 139.232 + sodipodi:type="inkscape:persp3d" /> 139.233 + <marker 139.234 + inkscape:stockid="Arrow2Mend" 139.235 + orient="auto" 139.236 + refY="0" 139.237 + refX="0" 139.238 + id="Arrow2Mend-8-2" 139.239 + style="overflow:visible"> 139.240 + <path 139.241 + id="path3563-2-3" 139.242 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.243 + 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" 139.244 + transform="scale(-0.6,-0.6)" /> 139.245 + </marker> 139.246 + <inkscape:perspective 139.247 + id="perspective17848" 139.248 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.249 + inkscape:vp_z="1 : 0.5 : 1" 139.250 + inkscape:vp_y="0 : 1000 : 0" 139.251 + inkscape:vp_x="0 : 0.5 : 1" 139.252 + sodipodi:type="inkscape:persp3d" /> 139.253 + <inkscape:perspective 139.254 + id="perspective17891" 139.255 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.256 + inkscape:vp_z="1 : 0.5 : 1" 139.257 + inkscape:vp_y="0 : 1000 : 0" 139.258 + inkscape:vp_x="0 : 0.5 : 1" 139.259 + sodipodi:type="inkscape:persp3d" /> 139.260 + <marker 139.261 + inkscape:stockid="Arrow2Mend" 139.262 + orient="auto" 139.263 + refY="0" 139.264 + refX="0" 139.265 + id="Arrow2Mend-8-7" 139.266 + style="overflow:visible"> 139.267 + <path 139.268 + id="path3563-2-8" 139.269 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.270 + 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" 139.271 + transform="scale(-0.6,-0.6)" /> 139.272 + </marker> 139.273 + <inkscape:perspective 139.274 + id="perspective17925" 139.275 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.276 + inkscape:vp_z="1 : 0.5 : 1" 139.277 + inkscape:vp_y="0 : 1000 : 0" 139.278 + inkscape:vp_x="0 : 0.5 : 1" 139.279 + sodipodi:type="inkscape:persp3d" /> 139.280 + <inkscape:perspective 139.281 + id="perspective17996" 139.282 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.283 + inkscape:vp_z="1 : 0.5 : 1" 139.284 + inkscape:vp_y="0 : 1000 : 0" 139.285 + inkscape:vp_x="0 : 0.5 : 1" 139.286 + sodipodi:type="inkscape:persp3d" /> 139.287 + <inkscape:perspective 139.288 + id="perspective18039" 139.289 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.290 + inkscape:vp_z="1 : 0.5 : 1" 139.291 + inkscape:vp_y="0 : 1000 : 0" 139.292 + inkscape:vp_x="0 : 0.5 : 1" 139.293 + sodipodi:type="inkscape:persp3d" /> 139.294 + <inkscape:perspective 139.295 + id="perspective18073" 139.296 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.297 + inkscape:vp_z="1 : 0.5 : 1" 139.298 + inkscape:vp_y="0 : 1000 : 0" 139.299 + inkscape:vp_x="0 : 0.5 : 1" 139.300 + sodipodi:type="inkscape:persp3d" /> 139.301 + <inkscape:perspective 139.302 + id="perspective4016" 139.303 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.304 + inkscape:vp_z="1 : 0.5 : 1" 139.305 + inkscape:vp_y="0 : 1000 : 0" 139.306 + inkscape:vp_x="0 : 0.5 : 1" 139.307 + sodipodi:type="inkscape:persp3d" /> 139.308 + <inkscape:perspective 139.309 + id="perspective4046" 139.310 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.311 + inkscape:vp_z="1 : 0.5 : 1" 139.312 + inkscape:vp_y="0 : 1000 : 0" 139.313 + inkscape:vp_x="0 : 0.5 : 1" 139.314 + sodipodi:type="inkscape:persp3d" /> 139.315 + <inkscape:perspective 139.316 + id="perspective4071" 139.317 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.318 + inkscape:vp_z="1 : 0.5 : 1" 139.319 + inkscape:vp_y="0 : 1000 : 0" 139.320 + inkscape:vp_x="0 : 0.5 : 1" 139.321 + sodipodi:type="inkscape:persp3d" /> 139.322 + <inkscape:perspective 139.323 + id="perspective4101" 139.324 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.325 + inkscape:vp_z="1 : 0.5 : 1" 139.326 + inkscape:vp_y="0 : 1000 : 0" 139.327 + inkscape:vp_x="0 : 0.5 : 1" 139.328 + sodipodi:type="inkscape:persp3d" /> 139.329 + <inkscape:perspective 139.330 + id="perspective5945" 139.331 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.332 + inkscape:vp_z="1 : 0.5 : 1" 139.333 + inkscape:vp_y="0 : 1000 : 0" 139.334 + inkscape:vp_x="0 : 0.5 : 1" 139.335 + sodipodi:type="inkscape:persp3d" /> 139.336 + <inkscape:perspective 139.337 + id="perspective3139" 139.338 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.339 + inkscape:vp_z="1 : 0.5 : 1" 139.340 + inkscape:vp_y="0 : 1000 : 0" 139.341 + inkscape:vp_x="0 : 0.5 : 1" 139.342 + sodipodi:type="inkscape:persp3d" /> 139.343 + <inkscape:perspective 139.344 + id="perspective3161" 139.345 + inkscape:persp3d-origin="0.5 : 0.33333333 : 1" 139.346 + inkscape:vp_z="1 : 0.5 : 1" 139.347 + inkscape:vp_y="0 : 1000 : 0" 139.348 + inkscape:vp_x="0 : 0.5 : 1" 139.349 + sodipodi:type="inkscape:persp3d" /> 139.350 + <marker 139.351 + inkscape:stockid="Arrow2Mend" 139.352 + orient="auto" 139.353 + refY="0" 139.354 + refX="0" 139.355 + id="Arrow2Mend-8-7-0" 139.356 + style="overflow:visible"> 139.357 + <path 139.358 + inkscape:connector-curvature="0" 139.359 + id="path3563-2-8-4" 139.360 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.361 + 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" 139.362 + transform="scale(-0.6,-0.6)" /> 139.363 + </marker> 139.364 + <marker 139.365 + inkscape:stockid="Arrow2Mend" 139.366 + orient="auto" 139.367 + refY="0" 139.368 + refX="0" 139.369 + id="marker12725" 139.370 + style="overflow:visible"> 139.371 + <path 139.372 + inkscape:connector-curvature="0" 139.373 + id="path12727" 139.374 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.375 + 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" 139.376 + transform="scale(-0.6,-0.6)" /> 139.377 + </marker> 139.378 + <marker 139.379 + inkscape:stockid="Arrow2Mend" 139.380 + orient="auto" 139.381 + refY="0" 139.382 + refX="0" 139.383 + id="marker12729" 139.384 + style="overflow:visible"> 139.385 + <path 139.386 + inkscape:connector-curvature="0" 139.387 + id="path12731" 139.388 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.389 + 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" 139.390 + transform="scale(-0.6,-0.6)" /> 139.391 + </marker> 139.392 + <marker 139.393 + inkscape:stockid="Arrow2Mend" 139.394 + orient="auto" 139.395 + refY="0" 139.396 + refX="0" 139.397 + id="marker12733" 139.398 + style="overflow:visible"> 139.399 + <path 139.400 + inkscape:connector-curvature="0" 139.401 + id="path12735" 139.402 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.403 + 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" 139.404 + transform="scale(-0.6,-0.6)" /> 139.405 + </marker> 139.406 + <marker 139.407 + inkscape:stockid="Arrow2Mend" 139.408 + orient="auto" 139.409 + refY="0" 139.410 + refX="0" 139.411 + id="marker12737" 139.412 + style="overflow:visible"> 139.413 + <path 139.414 + inkscape:connector-curvature="0" 139.415 + id="path12739" 139.416 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.417 + 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" 139.418 + transform="scale(-0.6,-0.6)" /> 139.419 + </marker> 139.420 + <marker 139.421 + inkscape:stockid="Arrow2Mend" 139.422 + orient="auto" 139.423 + refY="0" 139.424 + refX="0" 139.425 + id="marker12741" 139.426 + style="overflow:visible"> 139.427 + <path 139.428 + inkscape:connector-curvature="0" 139.429 + id="path12743" 139.430 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.431 + 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" 139.432 + transform="scale(-0.6,-0.6)" /> 139.433 + </marker> 139.434 + <marker 139.435 + inkscape:stockid="Arrow2Mend" 139.436 + orient="auto" 139.437 + refY="0" 139.438 + refX="0" 139.439 + id="marker12745" 139.440 + style="overflow:visible"> 139.441 + <path 139.442 + inkscape:connector-curvature="0" 139.443 + id="path12747" 139.444 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.445 + 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" 139.446 + transform="scale(-0.6,-0.6)" /> 139.447 + </marker> 139.448 + <marker 139.449 + inkscape:stockid="Arrow2Mend" 139.450 + orient="auto" 139.451 + refY="0" 139.452 + refX="0" 139.453 + id="marker12749" 139.454 + style="overflow:visible"> 139.455 + <path 139.456 + inkscape:connector-curvature="0" 139.457 + id="path12751" 139.458 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.459 + 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" 139.460 + transform="scale(-0.6,-0.6)" /> 139.461 + </marker> 139.462 + <marker 139.463 + inkscape:stockid="Arrow2Mend" 139.464 + orient="auto" 139.465 + refY="0" 139.466 + refX="0" 139.467 + id="marker12753" 139.468 + style="overflow:visible"> 139.469 + <path 139.470 + inkscape:connector-curvature="0" 139.471 + id="path12755" 139.472 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.473 + 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" 139.474 + transform="scale(-0.6,-0.6)" /> 139.475 + </marker> 139.476 + <marker 139.477 + inkscape:stockid="Arrow2Mend" 139.478 + orient="auto" 139.479 + refY="0" 139.480 + refX="0" 139.481 + id="marker12757" 139.482 + style="overflow:visible"> 139.483 + <path 139.484 + inkscape:connector-curvature="0" 139.485 + id="path12759" 139.486 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.487 + 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" 139.488 + transform="scale(-0.6,-0.6)" /> 139.489 + </marker> 139.490 + <marker 139.491 + inkscape:stockid="Arrow2Mend" 139.492 + orient="auto" 139.493 + refY="0" 139.494 + refX="0" 139.495 + id="marker12761" 139.496 + style="overflow:visible"> 139.497 + <path 139.498 + inkscape:connector-curvature="0" 139.499 + id="path12763" 139.500 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.501 + 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" 139.502 + transform="scale(-0.6,-0.6)" /> 139.503 + </marker> 139.504 + <marker 139.505 + inkscape:stockid="Arrow2Mend" 139.506 + orient="auto" 139.507 + refY="0" 139.508 + refX="0" 139.509 + id="marker12765" 139.510 + style="overflow:visible"> 139.511 + <path 139.512 + inkscape:connector-curvature="0" 139.513 + id="path12767" 139.514 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.515 + 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" 139.516 + transform="scale(-0.6,-0.6)" /> 139.517 + </marker> 139.518 + <marker 139.519 + inkscape:stockid="Arrow2Mend" 139.520 + orient="auto" 139.521 + refY="0" 139.522 + refX="0" 139.523 + id="marker12769" 139.524 + style="overflow:visible"> 139.525 + <path 139.526 + inkscape:connector-curvature="0" 139.527 + id="path12771" 139.528 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.529 + 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" 139.530 + transform="scale(-0.6,-0.6)" /> 139.531 + </marker> 139.532 + <marker 139.533 + inkscape:stockid="Arrow2Mend" 139.534 + orient="auto" 139.535 + refY="0" 139.536 + refX="0" 139.537 + id="marker12773" 139.538 + style="overflow:visible"> 139.539 + <path 139.540 + inkscape:connector-curvature="0" 139.541 + id="path12775" 139.542 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.543 + 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" 139.544 + transform="scale(-0.6,-0.6)" /> 139.545 + </marker> 139.546 + <marker 139.547 + inkscape:stockid="Arrow2Mend" 139.548 + orient="auto" 139.549 + refY="0" 139.550 + refX="0" 139.551 + id="marker12777" 139.552 + style="overflow:visible"> 139.553 + <path 139.554 + inkscape:connector-curvature="0" 139.555 + id="path12779" 139.556 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.557 + 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" 139.558 + transform="scale(-0.6,-0.6)" /> 139.559 + </marker> 139.560 + <marker 139.561 + inkscape:stockid="Arrow2Mend" 139.562 + orient="auto" 139.563 + refY="0" 139.564 + refX="0" 139.565 + id="marker12781" 139.566 + style="overflow:visible"> 139.567 + <path 139.568 + inkscape:connector-curvature="0" 139.569 + id="path12783" 139.570 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.571 + 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" 139.572 + transform="scale(-0.6,-0.6)" /> 139.573 + </marker> 139.574 + <marker 139.575 + inkscape:stockid="Arrow2Mend" 139.576 + orient="auto" 139.577 + refY="0" 139.578 + refX="0" 139.579 + id="marker12785" 139.580 + style="overflow:visible"> 139.581 + <path 139.582 + inkscape:connector-curvature="0" 139.583 + id="path12787" 139.584 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.585 + 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" 139.586 + transform="scale(-0.6,-0.6)" /> 139.587 + </marker> 139.588 + <marker 139.589 + inkscape:stockid="Arrow2Mend" 139.590 + orient="auto" 139.591 + refY="0" 139.592 + refX="0" 139.593 + id="marker12789" 139.594 + style="overflow:visible"> 139.595 + <path 139.596 + inkscape:connector-curvature="0" 139.597 + id="path12791" 139.598 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.599 + 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" 139.600 + transform="scale(-0.6,-0.6)" /> 139.601 + </marker> 139.602 + <marker 139.603 + inkscape:stockid="Arrow2Mend" 139.604 + orient="auto" 139.605 + refY="0" 139.606 + refX="0" 139.607 + id="marker12793" 139.608 + style="overflow:visible"> 139.609 + <path 139.610 + inkscape:connector-curvature="0" 139.611 + id="path12795" 139.612 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.613 + 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" 139.614 + transform="scale(-0.6,-0.6)" /> 139.615 + </marker> 139.616 + <marker 139.617 + inkscape:stockid="Arrow2Mend" 139.618 + orient="auto" 139.619 + refY="0" 139.620 + refX="0" 139.621 + id="marker12797" 139.622 + style="overflow:visible"> 139.623 + <path 139.624 + inkscape:connector-curvature="0" 139.625 + id="path12799" 139.626 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.627 + 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" 139.628 + transform="scale(-0.6,-0.6)" /> 139.629 + </marker> 139.630 + <marker 139.631 + inkscape:stockid="Arrow2Mend" 139.632 + orient="auto" 139.633 + refY="0" 139.634 + refX="0" 139.635 + id="marker12801" 139.636 + style="overflow:visible"> 139.637 + <path 139.638 + inkscape:connector-curvature="0" 139.639 + id="path12803" 139.640 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.641 + 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" 139.642 + transform="scale(-0.6,-0.6)" /> 139.643 + </marker> 139.644 + <marker 139.645 + inkscape:stockid="Arrow2Mend" 139.646 + orient="auto" 139.647 + refY="0" 139.648 + refX="0" 139.649 + id="marker12805" 139.650 + style="overflow:visible"> 139.651 + <path 139.652 + inkscape:connector-curvature="0" 139.653 + id="path12807" 139.654 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.655 + 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" 139.656 + transform="scale(-0.6,-0.6)" /> 139.657 + </marker> 139.658 + <marker 139.659 + inkscape:stockid="Arrow2Mend" 139.660 + orient="auto" 139.661 + refY="0" 139.662 + refX="0" 139.663 + id="marker12809" 139.664 + style="overflow:visible"> 139.665 + <path 139.666 + inkscape:connector-curvature="0" 139.667 + id="path12811" 139.668 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.669 + 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" 139.670 + transform="scale(-0.6,-0.6)" /> 139.671 + </marker> 139.672 + <marker 139.673 + inkscape:stockid="Arrow2Mend" 139.674 + orient="auto" 139.675 + refY="0" 139.676 + refX="0" 139.677 + id="marker12813" 139.678 + style="overflow:visible"> 139.679 + <path 139.680 + inkscape:connector-curvature="0" 139.681 + id="path12815" 139.682 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.683 + 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" 139.684 + transform="scale(-0.6,-0.6)" /> 139.685 + </marker> 139.686 + <marker 139.687 + inkscape:stockid="Arrow2Mend" 139.688 + orient="auto" 139.689 + refY="0" 139.690 + refX="0" 139.691 + id="marker12817" 139.692 + style="overflow:visible"> 139.693 + <path 139.694 + inkscape:connector-curvature="0" 139.695 + id="path12819" 139.696 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.697 + 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" 139.698 + transform="scale(-0.6,-0.6)" /> 139.699 + </marker> 139.700 + <marker 139.701 + inkscape:stockid="Arrow2Mend" 139.702 + orient="auto" 139.703 + refY="0" 139.704 + refX="0" 139.705 + id="marker12821" 139.706 + style="overflow:visible"> 139.707 + <path 139.708 + inkscape:connector-curvature="0" 139.709 + id="path12823" 139.710 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.711 + 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" 139.712 + transform="scale(-0.6,-0.6)" /> 139.713 + </marker> 139.714 + <marker 139.715 + inkscape:stockid="Arrow2Mend" 139.716 + orient="auto" 139.717 + refY="0" 139.718 + refX="0" 139.719 + id="marker12825" 139.720 + style="overflow:visible"> 139.721 + <path 139.722 + inkscape:connector-curvature="0" 139.723 + id="path12827" 139.724 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.725 + 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" 139.726 + transform="scale(-0.6,-0.6)" /> 139.727 + </marker> 139.728 + <marker 139.729 + inkscape:stockid="Arrow2Mend" 139.730 + orient="auto" 139.731 + refY="0" 139.732 + refX="0" 139.733 + id="marker12829" 139.734 + style="overflow:visible"> 139.735 + <path 139.736 + inkscape:connector-curvature="0" 139.737 + id="path12831" 139.738 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.739 + 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" 139.740 + transform="scale(-0.6,-0.6)" /> 139.741 + </marker> 139.742 + <marker 139.743 + inkscape:stockid="Arrow2Mend" 139.744 + orient="auto" 139.745 + refY="0" 139.746 + refX="0" 139.747 + id="marker12833" 139.748 + style="overflow:visible"> 139.749 + <path 139.750 + inkscape:connector-curvature="0" 139.751 + id="path12835" 139.752 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.753 + 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" 139.754 + transform="scale(-0.6,-0.6)" /> 139.755 + </marker> 139.756 + <marker 139.757 + inkscape:stockid="Arrow2Mend" 139.758 + orient="auto" 139.759 + refY="0" 139.760 + refX="0" 139.761 + id="marker12837" 139.762 + style="overflow:visible"> 139.763 + <path 139.764 + inkscape:connector-curvature="0" 139.765 + id="path12839" 139.766 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.767 + 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" 139.768 + transform="scale(-0.6,-0.6)" /> 139.769 + </marker> 139.770 + <marker 139.771 + inkscape:stockid="Arrow2Mend" 139.772 + orient="auto" 139.773 + refY="0" 139.774 + refX="0" 139.775 + id="marker12841" 139.776 + style="overflow:visible"> 139.777 + <path 139.778 + inkscape:connector-curvature="0" 139.779 + id="path12843" 139.780 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.781 + 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" 139.782 + transform="scale(-0.6,-0.6)" /> 139.783 + </marker> 139.784 + <marker 139.785 + inkscape:stockid="Arrow2Mend" 139.786 + orient="auto" 139.787 + refY="0" 139.788 + refX="0" 139.789 + id="marker12845" 139.790 + style="overflow:visible"> 139.791 + <path 139.792 + inkscape:connector-curvature="0" 139.793 + id="path12847" 139.794 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.795 + 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" 139.796 + transform="scale(-0.6,-0.6)" /> 139.797 + </marker> 139.798 + <marker 139.799 + inkscape:stockid="Arrow2Mend" 139.800 + orient="auto" 139.801 + refY="0" 139.802 + refX="0" 139.803 + id="marker12849" 139.804 + style="overflow:visible"> 139.805 + <path 139.806 + inkscape:connector-curvature="0" 139.807 + id="path12851" 139.808 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.809 + 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" 139.810 + transform="scale(-0.6,-0.6)" /> 139.811 + </marker> 139.812 + <marker 139.813 + inkscape:stockid="Arrow2Mend" 139.814 + orient="auto" 139.815 + refY="0" 139.816 + refX="0" 139.817 + id="marker12853" 139.818 + style="overflow:visible"> 139.819 + <path 139.820 + inkscape:connector-curvature="0" 139.821 + id="path12855" 139.822 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.823 + 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" 139.824 + transform="scale(-0.6,-0.6)" /> 139.825 + </marker> 139.826 + <marker 139.827 + inkscape:stockid="Arrow2Mend" 139.828 + orient="auto" 139.829 + refY="0" 139.830 + refX="0" 139.831 + id="marker12857" 139.832 + style="overflow:visible"> 139.833 + <path 139.834 + inkscape:connector-curvature="0" 139.835 + id="path12859" 139.836 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.837 + 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" 139.838 + transform="scale(-0.6,-0.6)" /> 139.839 + </marker> 139.840 + <marker 139.841 + inkscape:stockid="Arrow2Mend" 139.842 + orient="auto" 139.843 + refY="0" 139.844 + refX="0" 139.845 + id="marker12861" 139.846 + style="overflow:visible"> 139.847 + <path 139.848 + inkscape:connector-curvature="0" 139.849 + id="path12863" 139.850 + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" 139.851 + 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" 139.852 + transform="scale(-0.6,-0.6)" /> 139.853 + </marker> 139.854 + </defs> 139.855 + <sodipodi:namedview 139.856 + id="base" 139.857 + pagecolor="#ffffff" 139.858 + bordercolor="#666666" 139.859 + borderopacity="1.0" 139.860 + gridtolerance="10000" 139.861 + guidetolerance="10" 139.862 + objecttolerance="10" 139.863 + inkscape:pageopacity="0.0" 139.864 + inkscape:pageshadow="2" 139.865 + inkscape:zoom="1.1103093" 139.866 + inkscape:cx="362.79168" 139.867 + inkscape:cy="436.2115" 139.868 + inkscape:document-units="px" 139.869 + inkscape:current-layer="layer1" 139.870 + showgrid="false" 139.871 + inkscape:window-width="1600" 139.872 + inkscape:window-height="848" 139.873 + inkscape:window-x="-8" 139.874 + inkscape:window-y="-8" 139.875 + inkscape:window-maximized="1" /> 139.876 + <metadata 139.877 + id="metadata7"> 139.878 + <rdf:RDF> 139.879 + <cc:Work 139.880 + rdf:about=""> 139.881 + <dc:format>image/svg+xml</dc:format> 139.882 + <dc:type 139.883 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 139.884 + <dc:title></dc:title> 139.885 + </cc:Work> 139.886 + </rdf:RDF> 139.887 + </metadata> 139.888 + <g 139.889 + inkscape:label="Layer 1" 139.890 + inkscape:groupmode="layer" 139.891 + id="layer1"> 139.892 + <text 139.893 + xml:space="preserve" 139.894 + style="font-size:14.09755802px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.895 + x="76.152191" 139.896 + y="376.30783" 139.897 + id="text3191" 139.898 + sodipodi:linespacing="100%" 139.899 + transform="scale(0.7715821,1.2960384)"><tspan 139.900 + id="tspan3195" 139.901 + sodipodi:role="line" 139.902 + x="76.152191" 139.903 + y="376.30783" 139.904 + style="font-size:22.05818939px;text-align:center;text-anchor:middle" /></text> 139.905 + <g 139.906 + id="g5127" 139.907 + transform="translate(502.54696,-7.9829121)"> 139.908 + <g 139.909 + id="g5129" 139.910 + transform="translate(-227.6972,42)"> 139.911 + <rect 139.912 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.913 + id="rect5131" 139.914 + width="40.22971" 139.915 + height="11.42933" 139.916 + x="-668.27917" 139.917 + y="280.02979" 139.918 + transform="matrix(0,-1,1,0,0,0)" /> 139.919 + </g> 139.920 + <text 139.921 + xml:space="preserve" 139.922 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.923 + x="-834.42664" 139.924 + y="51.305866" 139.925 + id="text5133" 139.926 + sodipodi:linespacing="100%" 139.927 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.928 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1" 139.929 + sodipodi:role="line" 139.930 + x="-834.42664" 139.931 + y="51.305866" 139.932 + id="tspan5135">Net Intf</tspan></text> 139.933 + </g> 139.934 + <text 139.935 + transform="scale(0.82746283,1.2085135)" 139.936 + sodipodi:linespacing="100%" 139.937 + id="text5614" 139.938 + y="404.25412" 139.939 + x="460.25208" 139.940 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.941 + xml:space="preserve"><tspan 139.942 + y="404.25412" 139.943 + x="460.25208" 139.944 + sodipodi:role="line" 139.945 + style="font-size:24px;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1" 139.946 + id="tspan5618">Worker Core</tspan></text> 139.947 + <g 139.948 + id="g5885" 139.949 + transform="translate(17.231876,-174.82812)"> 139.950 + <g 139.951 + id="g5903" 139.952 + transform="translate(80,160)"> 139.953 + <text 139.954 + xml:space="preserve" 139.955 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.956 + x="-689.91699" 139.957 + y="220.9987" 139.958 + id="text5905" 139.959 + sodipodi:linespacing="100%" 139.960 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.961 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.962 + sodipodi:role="line" 139.963 + x="-689.91699" 139.964 + y="220.9987" 139.965 + id="tspan5907">Mem Array</tspan></text> 139.966 + <rect 139.967 + y="541.71765" 139.968 + x="248.55019" 139.969 + height="58.297375" 139.970 + width="29.62429" 139.971 + id="rect5909" 139.972 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.973 + <rect 139.974 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.975 + id="rect6254" 139.976 + width="29.62429" 139.977 + height="11.813" 139.978 + x="248.55019" 139.979 + y="599.76453" /> 139.980 + <text 139.981 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.982 + sodipodi:linespacing="100%" 139.983 + id="text6256" 139.984 + y="220.9987" 139.985 + x="-732.42303" 139.986 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.987 + xml:space="preserve"><tspan 139.988 + id="tspan6258" 139.989 + y="220.9987" 139.990 + x="-732.42303" 139.991 + sodipodi:role="line" 139.992 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 139.993 + </g> 139.994 + <g 139.995 + transform="translate(120,160)" 139.996 + id="g6260"> 139.997 + <text 139.998 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.999 + sodipodi:linespacing="100%" 139.1000 + id="text6262" 139.1001 + y="220.9987" 139.1002 + x="-689.91699" 139.1003 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1004 + xml:space="preserve"><tspan 139.1005 + id="tspan6264" 139.1006 + y="220.9987" 139.1007 + x="-689.91699" 139.1008 + sodipodi:role="line" 139.1009 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 139.1010 + <rect 139.1011 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1012 + id="rect6266" 139.1013 + width="29.62429" 139.1014 + height="58.297375" 139.1015 + x="248.55019" 139.1016 + y="541.71765" /> 139.1017 + <rect 139.1018 + y="599.76453" 139.1019 + x="248.55019" 139.1020 + height="11.813" 139.1021 + width="29.62429" 139.1022 + id="rect6268" 139.1023 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1024 + <text 139.1025 + xml:space="preserve" 139.1026 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1027 + x="-732.42303" 139.1028 + y="220.9987" 139.1029 + id="text6270" 139.1030 + sodipodi:linespacing="100%" 139.1031 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1032 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1033 + sodipodi:role="line" 139.1034 + x="-732.42303" 139.1035 + y="220.9987" 139.1036 + id="tspan6272">Q</tspan></text> 139.1037 + </g> 139.1038 + <g 139.1039 + id="g6274" 139.1040 + transform="translate(160,160)"> 139.1041 + <text 139.1042 + xml:space="preserve" 139.1043 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1044 + x="-689.91699" 139.1045 + y="220.9987" 139.1046 + id="text6276" 139.1047 + sodipodi:linespacing="100%" 139.1048 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1049 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1050 + sodipodi:role="line" 139.1051 + x="-689.91699" 139.1052 + y="220.9987" 139.1053 + id="tspan6278">Mem Array</tspan></text> 139.1054 + <rect 139.1055 + y="541.71765" 139.1056 + x="248.55019" 139.1057 + height="58.297375" 139.1058 + width="29.62429" 139.1059 + id="rect6280" 139.1060 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1061 + <rect 139.1062 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1063 + id="rect6282" 139.1064 + width="29.62429" 139.1065 + height="11.813" 139.1066 + x="248.55019" 139.1067 + y="599.76453" /> 139.1068 + <text 139.1069 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1070 + sodipodi:linespacing="100%" 139.1071 + id="text6284" 139.1072 + y="220.9987" 139.1073 + x="-732.42303" 139.1074 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1075 + xml:space="preserve"><tspan 139.1076 + id="tspan6286" 139.1077 + y="220.9987" 139.1078 + x="-732.42303" 139.1079 + sodipodi:role="line" 139.1080 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 139.1081 + </g> 139.1082 + <g 139.1083 + transform="translate(200,160)" 139.1084 + id="g6288"> 139.1085 + <text 139.1086 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1087 + sodipodi:linespacing="100%" 139.1088 + id="text6290" 139.1089 + y="220.9987" 139.1090 + x="-689.91699" 139.1091 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1092 + xml:space="preserve"><tspan 139.1093 + id="tspan6292" 139.1094 + y="220.9987" 139.1095 + x="-689.91699" 139.1096 + sodipodi:role="line" 139.1097 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 139.1098 + <rect 139.1099 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1100 + id="rect6294" 139.1101 + width="29.62429" 139.1102 + height="58.297375" 139.1103 + x="248.55019" 139.1104 + y="541.71765" /> 139.1105 + <rect 139.1106 + y="599.76453" 139.1107 + x="248.55019" 139.1108 + height="11.813" 139.1109 + width="29.62429" 139.1110 + id="rect6296" 139.1111 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1112 + <text 139.1113 + xml:space="preserve" 139.1114 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1115 + x="-732.42303" 139.1116 + y="220.9987" 139.1117 + id="text6298" 139.1118 + sodipodi:linespacing="100%" 139.1119 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1120 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1121 + sodipodi:role="line" 139.1122 + x="-732.42303" 139.1123 + y="220.9987" 139.1124 + id="tspan6300">Q</tspan></text> 139.1125 + </g> 139.1126 + <g 139.1127 + id="g6302" 139.1128 + transform="translate(240,160)"> 139.1129 + <text 139.1130 + xml:space="preserve" 139.1131 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1132 + x="-689.91699" 139.1133 + y="220.9987" 139.1134 + id="text6304" 139.1135 + sodipodi:linespacing="100%" 139.1136 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1137 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1138 + sodipodi:role="line" 139.1139 + x="-689.91699" 139.1140 + y="220.9987" 139.1141 + id="tspan6306">Mem Array</tspan></text> 139.1142 + <rect 139.1143 + y="541.71765" 139.1144 + x="248.55019" 139.1145 + height="58.297375" 139.1146 + width="29.62429" 139.1147 + id="rect6308" 139.1148 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1149 + <rect 139.1150 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1151 + id="rect6310" 139.1152 + width="29.62429" 139.1153 + height="11.813" 139.1154 + x="248.55019" 139.1155 + y="599.76453" /> 139.1156 + <text 139.1157 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1158 + sodipodi:linespacing="100%" 139.1159 + id="text6312" 139.1160 + y="220.9987" 139.1161 + x="-732.42303" 139.1162 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1163 + xml:space="preserve"><tspan 139.1164 + id="tspan6314" 139.1165 + y="220.9987" 139.1166 + x="-732.42303" 139.1167 + sodipodi:role="line" 139.1168 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 139.1169 + </g> 139.1170 + <g 139.1171 + transform="translate(40,160)" 139.1172 + id="g6316"> 139.1173 + <text 139.1174 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1175 + sodipodi:linespacing="100%" 139.1176 + id="text6318" 139.1177 + y="220.9987" 139.1178 + x="-689.91699" 139.1179 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1180 + xml:space="preserve"><tspan 139.1181 + id="tspan6320" 139.1182 + y="220.9987" 139.1183 + x="-689.91699" 139.1184 + sodipodi:role="line" 139.1185 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 139.1186 + <rect 139.1187 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1188 + id="rect6322" 139.1189 + width="29.62429" 139.1190 + height="58.297375" 139.1191 + x="248.55019" 139.1192 + y="541.71765" /> 139.1193 + <rect 139.1194 + y="599.76453" 139.1195 + x="248.55019" 139.1196 + height="11.813" 139.1197 + width="29.62429" 139.1198 + id="rect6324" 139.1199 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1200 + <text 139.1201 + xml:space="preserve" 139.1202 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1203 + x="-732.42303" 139.1204 + y="220.9987" 139.1205 + id="text6326" 139.1206 + sodipodi:linespacing="100%" 139.1207 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1208 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1209 + sodipodi:role="line" 139.1210 + x="-732.42303" 139.1211 + y="220.9987" 139.1212 + id="tspan6328">Q</tspan></text> 139.1213 + </g> 139.1214 + <g 139.1215 + id="g6330" 139.1216 + transform="translate(0,160)"> 139.1217 + <text 139.1218 + xml:space="preserve" 139.1219 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1220 + x="-689.91699" 139.1221 + y="220.9987" 139.1222 + id="text6332" 139.1223 + sodipodi:linespacing="100%" 139.1224 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1225 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1226 + sodipodi:role="line" 139.1227 + x="-689.91699" 139.1228 + y="220.9987" 139.1229 + id="tspan6334">Mem Array</tspan></text> 139.1230 + <rect 139.1231 + y="541.71765" 139.1232 + x="248.55019" 139.1233 + height="58.297375" 139.1234 + width="29.62429" 139.1235 + id="rect6336" 139.1236 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1237 + <rect 139.1238 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1239 + id="rect6338" 139.1240 + width="29.62429" 139.1241 + height="11.813" 139.1242 + x="248.55019" 139.1243 + y="599.76453" /> 139.1244 + <text 139.1245 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1246 + sodipodi:linespacing="100%" 139.1247 + id="text6340" 139.1248 + y="220.9987" 139.1249 + x="-732.42303" 139.1250 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1251 + xml:space="preserve"><tspan 139.1252 + id="tspan6342" 139.1253 + y="220.9987" 139.1254 + x="-732.42303" 139.1255 + sodipodi:role="line" 139.1256 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 139.1257 + </g> 139.1258 + <g 139.1259 + transform="translate(-40,160)" 139.1260 + id="g6344"> 139.1261 + <text 139.1262 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1263 + sodipodi:linespacing="100%" 139.1264 + id="text6346" 139.1265 + y="220.9987" 139.1266 + x="-689.91699" 139.1267 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1268 + xml:space="preserve"><tspan 139.1269 + id="tspan6348" 139.1270 + y="220.9987" 139.1271 + x="-689.91699" 139.1272 + sodipodi:role="line" 139.1273 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 139.1274 + <rect 139.1275 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1276 + id="rect6350" 139.1277 + width="29.62429" 139.1278 + height="58.297375" 139.1279 + x="248.55019" 139.1280 + y="541.71765" /> 139.1281 + <rect 139.1282 + y="599.76453" 139.1283 + x="248.55019" 139.1284 + height="11.813" 139.1285 + width="29.62429" 139.1286 + id="rect6352" 139.1287 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1288 + <text 139.1289 + xml:space="preserve" 139.1290 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1291 + x="-732.42303" 139.1292 + y="220.9987" 139.1293 + id="text6354" 139.1294 + sodipodi:linespacing="100%" 139.1295 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1296 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1297 + sodipodi:role="line" 139.1298 + x="-732.42303" 139.1299 + y="220.9987" 139.1300 + id="tspan6356">Q</tspan></text> 139.1301 + </g> 139.1302 + </g> 139.1303 + <path 139.1304 + sodipodi:nodetypes="cc" 139.1305 + inkscape:connector-curvature="0" 139.1306 + id="path5961" 139.1307 + d="m 219.55419,622.9039 322.08004,0" 139.1308 + style="fill:none;stroke:#000000;stroke-width:1.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 139.1309 + <g 139.1310 + transform="translate(280.54698,-30)" 139.1311 + id="g5976"> 139.1312 + <rect 139.1313 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1314 + id="rect5978" 139.1315 + width="57.323727" 139.1316 + height="11.42933" 139.1317 + x="71.385368" 139.1318 + y="716.99664" /> 139.1319 + <text 139.1320 + transform="scale(0.82746283,1.2085135)" 139.1321 + sodipodi:linespacing="100%" 139.1322 + id="text5980" 139.1323 + y="600.67786" 139.1324 + x="120.69847" 139.1325 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1326 + xml:space="preserve"><tspan 139.1327 + id="tspan5982" 139.1328 + y="600.67786" 139.1329 + x="120.69847" 139.1330 + sodipodi:role="line" 139.1331 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Vector RegFile</tspan></text> 139.1332 + </g> 139.1333 + <path 139.1334 + style="fill:none;stroke:#000000;stroke-width:1.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 139.1335 + d="m 219.55419,608.9039 322.08004,0" 139.1336 + id="path5984" 139.1337 + inkscape:connector-curvature="0" 139.1338 + sodipodi:nodetypes="cc" /> 139.1339 + <g 139.1340 + id="g6172" 139.1341 + transform="translate(0,16)"> 139.1342 + <rect 139.1343 + y="688.99664" 139.1344 + x="272.71356" 139.1345 + height="20.804331" 139.1346 + width="53.873981" 139.1347 + id="rect6017" 139.1348 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1349 + <text 139.1350 + xml:space="preserve" 139.1351 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1352 + x="454.87146" 139.1353 + y="582.47363" 139.1354 + id="text6019" 139.1355 + sodipodi:linespacing="100%" 139.1356 + transform="scale(0.82746283,1.2085135)"><tspan 139.1357 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 139.1358 + sodipodi:role="line" 139.1359 + x="454.87146" 139.1360 + y="582.47363" 139.1361 + id="tspan6021">Vector Unit</tspan></text> 139.1362 + <rect 139.1363 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1364 + id="rect6026" 139.1365 + width="53.873981" 139.1366 + height="20.804331" 139.1367 + x="327.06662" 139.1368 + y="688.99664" /> 139.1369 + <rect 139.1370 + y="688.99664" 139.1371 + x="381.41965" 139.1372 + height="20.804331" 139.1373 + width="53.873981" 139.1374 + id="rect6028" 139.1375 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1376 + <rect 139.1377 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1378 + id="rect6030" 139.1379 + width="53.873981" 139.1380 + height="20.804331" 139.1381 + x="435.77271" 139.1382 + y="688.99664" /> 139.1383 + </g> 139.1384 + <rect 139.1385 + y="510.72516" 139.1386 + x="178.63179" 139.1387 + height="351.25189" 139.1388 + width="403.92484" 139.1389 + id="rect6056" 139.1390 + style="fill:none;stroke:#000000;stroke-width:1.8006357;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:7.20254279, 1.8006357;stroke-dashoffset:0" /> 139.1391 + <g 139.1392 + transform="translate(142.54696,-7.9829121)" 139.1393 + id="g6058"> 139.1394 + <g 139.1395 + transform="translate(-227.6972,42)" 139.1396 + id="g6060"> 139.1397 + <rect 139.1398 + transform="matrix(0,-1,1,0,0,0)" 139.1399 + y="280.02979" 139.1400 + x="-668.27917" 139.1401 + height="11.42933" 139.1402 + width="40.22971" 139.1403 + id="rect6062" 139.1404 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1405 + </g> 139.1406 + <text 139.1407 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1408 + sodipodi:linespacing="100%" 139.1409 + id="text6064" 139.1410 + y="51.305866" 139.1411 + x="-834.42664" 139.1412 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1413 + xml:space="preserve"><tspan 139.1414 + id="tspan6066" 139.1415 + y="51.305866" 139.1416 + x="-834.42664" 139.1417 + sodipodi:role="line" 139.1418 + style="font-size:9px;text-align:center;text-anchor:middle;fill:#000080;fill-opacity:1">Net Intf</tspan></text> 139.1419 + </g> 139.1420 + <g 139.1421 + id="g6106" 139.1422 + transform="translate(87.721709,0)"> 139.1423 + <g 139.1424 + transform="translate(-80,0)" 139.1425 + id="g5999"> 139.1426 + <rect 139.1427 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1428 + id="rect6001" 139.1429 + width="57.323727" 139.1430 + height="11.42933" 139.1431 + x="351.93234" 139.1432 + y="658.99664" /> 139.1433 + <text 139.1434 + transform="scale(0.82746283,1.2085135)" 139.1435 + sodipodi:linespacing="100%" 139.1436 + id="text6003" 139.1437 + y="552.685" 139.1438 + x="459.74329" 139.1439 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1440 + xml:space="preserve"><tspan 139.1441 + id="tspan6005" 139.1442 + y="552.685" 139.1443 + x="459.74329" 139.1444 + sodipodi:role="line" 139.1445 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Int Pipeline</tspan></text> 139.1446 + </g> 139.1447 + <g 139.1448 + transform="translate(200.54698,-74)" 139.1449 + id="g6040"> 139.1450 + <rect 139.1451 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1452 + id="rect6042" 139.1453 + width="57.323727" 139.1454 + height="11.42933" 139.1455 + x="71.385368" 139.1456 + y="716.99664" /> 139.1457 + <text 139.1458 + transform="scale(0.82746283,1.2085135)" 139.1459 + sodipodi:linespacing="100%" 139.1460 + id="text6044" 139.1461 + y="600.67786" 139.1462 + x="120.69847" 139.1463 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1464 + xml:space="preserve"><tspan 139.1465 + id="tspan6046" 139.1466 + y="600.67786" 139.1467 + x="120.69847" 139.1468 + sodipodi:role="line" 139.1469 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">RegFile</tspan></text> 139.1470 + </g> 139.1471 + <g 139.1472 + transform="matrix(1,0,0,0.97332721,1.609375,17.882132)" 139.1473 + id="g6085"> 139.1474 + <rect 139.1475 + y="254.87955" 139.1476 + x="-670.42596" 139.1477 + height="11.42933" 139.1478 + width="28.417477" 139.1479 + id="rect6070" 139.1480 + style="fill:none;stroke:#000000;stroke-width:1.82514107;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1481 + transform="matrix(0,-1,1,0,0,0)" /> 139.1482 + <text 139.1483 + xml:space="preserve" 139.1484 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1485 + x="-793.40521" 139.1486 + y="219.20868" 139.1487 + id="text6072" 139.1488 + sodipodi:linespacing="100%" 139.1489 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1490 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 139.1491 + sodipodi:role="line" 139.1492 + x="-793.40521" 139.1493 + y="219.20868" 139.1494 + id="tspan6074">Ctxt U</tspan></text> 139.1495 + </g> 139.1496 + </g> 139.1497 + <g 139.1498 + transform="translate(-12.278291,0)" 139.1499 + id="g6120"> 139.1500 + <g 139.1501 + id="g6122" 139.1502 + transform="translate(-80,0)"> 139.1503 + <rect 139.1504 + y="658.99664" 139.1505 + x="351.93234" 139.1506 + height="11.42933" 139.1507 + width="57.323727" 139.1508 + id="rect6124" 139.1509 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1510 + <text 139.1511 + xml:space="preserve" 139.1512 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1513 + x="459.74329" 139.1514 + y="552.685" 139.1515 + id="text6126" 139.1516 + sodipodi:linespacing="100%" 139.1517 + transform="scale(0.82746283,1.2085135)"><tspan 139.1518 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 139.1519 + sodipodi:role="line" 139.1520 + x="459.74329" 139.1521 + y="552.685" 139.1522 + id="tspan6128">Int Pipeline</tspan></text> 139.1523 + </g> 139.1524 + <g 139.1525 + id="g6130" 139.1526 + transform="translate(200.54698,-74)"> 139.1527 + <rect 139.1528 + y="716.99664" 139.1529 + x="71.385368" 139.1530 + height="11.42933" 139.1531 + width="57.323727" 139.1532 + id="rect6132" 139.1533 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1534 + <text 139.1535 + xml:space="preserve" 139.1536 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1537 + x="120.69847" 139.1538 + y="600.67786" 139.1539 + id="text6134" 139.1540 + sodipodi:linespacing="100%" 139.1541 + transform="scale(0.82746283,1.2085135)"><tspan 139.1542 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 139.1543 + sodipodi:role="line" 139.1544 + x="120.69847" 139.1545 + y="600.67786" 139.1546 + id="tspan6136">RegFile</tspan></text> 139.1547 + </g> 139.1548 + <g 139.1549 + id="g6138" 139.1550 + transform="matrix(1,0,0,0.97332721,1.609375,17.882132)"> 139.1551 + <rect 139.1552 + transform="matrix(0,-1,1,0,0,0)" 139.1553 + style="fill:none;stroke:#000000;stroke-width:1.82514107;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1554 + id="rect6140" 139.1555 + width="28.417477" 139.1556 + height="11.42933" 139.1557 + x="-670.42596" 139.1558 + y="254.87955" /> 139.1559 + <text 139.1560 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1561 + sodipodi:linespacing="100%" 139.1562 + id="text6142" 139.1563 + y="219.20868" 139.1564 + x="-793.40521" 139.1565 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1566 + xml:space="preserve"><tspan 139.1567 + id="tspan6144" 139.1568 + y="219.20868" 139.1569 + x="-793.40521" 139.1570 + sodipodi:role="line" 139.1571 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Ctxt U</tspan></text> 139.1572 + </g> 139.1573 + </g> 139.1574 + <g 139.1575 + id="g6146" 139.1576 + transform="translate(187.72171,0)"> 139.1577 + <g 139.1578 + transform="translate(-80,0)" 139.1579 + id="g6148"> 139.1580 + <rect 139.1581 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1582 + id="rect6150" 139.1583 + width="57.323727" 139.1584 + height="11.42933" 139.1585 + x="351.93234" 139.1586 + y="658.99664" /> 139.1587 + <text 139.1588 + transform="scale(0.82746283,1.2085135)" 139.1589 + sodipodi:linespacing="100%" 139.1590 + id="text6152" 139.1591 + y="552.685" 139.1592 + x="459.74329" 139.1593 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1594 + xml:space="preserve"><tspan 139.1595 + id="tspan6154" 139.1596 + y="552.685" 139.1597 + x="459.74329" 139.1598 + sodipodi:role="line" 139.1599 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">Int Pipeline</tspan></text> 139.1600 + </g> 139.1601 + <g 139.1602 + transform="translate(200.54698,-74)" 139.1603 + id="g6156"> 139.1604 + <rect 139.1605 + style="fill:none;stroke:#000000;stroke-width:1.80063593;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1606 + id="rect6158" 139.1607 + width="57.323727" 139.1608 + height="11.42933" 139.1609 + x="71.385368" 139.1610 + y="716.99664" /> 139.1611 + <text 139.1612 + transform="scale(0.82746283,1.2085135)" 139.1613 + sodipodi:linespacing="100%" 139.1614 + id="text6160" 139.1615 + y="600.67786" 139.1616 + x="120.69847" 139.1617 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1618 + xml:space="preserve"><tspan 139.1619 + id="tspan6162" 139.1620 + y="600.67786" 139.1621 + x="120.69847" 139.1622 + sodipodi:role="line" 139.1623 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1">RegFile</tspan></text> 139.1624 + </g> 139.1625 + <g 139.1626 + transform="matrix(1,0,0,0.97332721,1.609375,17.882132)" 139.1627 + id="g6164"> 139.1628 + <rect 139.1629 + y="254.87955" 139.1630 + x="-670.42596" 139.1631 + height="11.42933" 139.1632 + width="28.417477" 139.1633 + id="rect6166" 139.1634 + style="fill:none;stroke:#000000;stroke-width:1.82514107;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1635 + transform="matrix(0,-1,1,0,0,0)" /> 139.1636 + <text 139.1637 + xml:space="preserve" 139.1638 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1639 + x="-793.40521" 139.1640 + y="219.20868" 139.1641 + id="text6168" 139.1642 + sodipodi:linespacing="100%" 139.1643 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1644 + style="font-size:10px;text-align:center;text-anchor:middle;fill:#008000;fill-opacity:1" 139.1645 + sodipodi:role="line" 139.1646 + x="-793.40521" 139.1647 + y="219.20868" 139.1648 + id="tspan6170">Ctxt U</tspan></text> 139.1649 + </g> 139.1650 + </g> 139.1651 + <g 139.1652 + transform="translate(17.231876,71.426023)" 139.1653 + id="g6358"> 139.1654 + <g 139.1655 + transform="translate(240,160)" 139.1656 + id="g6416"> 139.1657 + <text 139.1658 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1659 + sodipodi:linespacing="100%" 139.1660 + id="text6418" 139.1661 + y="220.9987" 139.1662 + x="-704.41931" 139.1663 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1664 + xml:space="preserve"><tspan 139.1665 + id="tspan6420" 139.1666 + y="220.9987" 139.1667 + x="-704.41931" 139.1668 + sodipodi:role="line" 139.1669 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 139.1670 + <rect 139.1671 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1672 + id="rect6422" 139.1673 + width="29.62429" 139.1674 + height="58.297375" 139.1675 + x="248.55019" 139.1676 + y="553.3775" /> 139.1677 + <rect 139.1678 + y="541.76453" 139.1679 + x="248.55019" 139.1680 + height="11.813" 139.1681 + width="29.62429" 139.1682 + id="rect6424" 139.1683 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1684 + <text 139.1685 + xml:space="preserve" 139.1686 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1687 + x="-661.9668" 139.1688 + y="220.9987" 139.1689 + id="text6426" 139.1690 + sodipodi:linespacing="100%" 139.1691 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1692 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1693 + sodipodi:role="line" 139.1694 + x="-661.9668" 139.1695 + y="220.9987" 139.1696 + id="tspan6428">Q</tspan></text> 139.1697 + </g> 139.1698 + <g 139.1699 + id="g6476" 139.1700 + transform="translate(200,160)"> 139.1701 + <text 139.1702 + xml:space="preserve" 139.1703 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1704 + x="-704.41931" 139.1705 + y="220.9987" 139.1706 + id="text6478" 139.1707 + sodipodi:linespacing="100%" 139.1708 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1709 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1710 + sodipodi:role="line" 139.1711 + x="-704.41931" 139.1712 + y="220.9987" 139.1713 + id="tspan6480">Mem Array</tspan></text> 139.1714 + <rect 139.1715 + y="553.3775" 139.1716 + x="248.55019" 139.1717 + height="58.297375" 139.1718 + width="29.62429" 139.1719 + id="rect6482" 139.1720 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1721 + <rect 139.1722 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1723 + id="rect6484" 139.1724 + width="29.62429" 139.1725 + height="11.813" 139.1726 + x="248.55019" 139.1727 + y="541.76453" /> 139.1728 + <text 139.1729 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1730 + sodipodi:linespacing="100%" 139.1731 + id="text6486" 139.1732 + y="220.9987" 139.1733 + x="-661.9668" 139.1734 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1735 + xml:space="preserve"><tspan 139.1736 + id="tspan6488" 139.1737 + y="220.9987" 139.1738 + x="-661.9668" 139.1739 + sodipodi:role="line" 139.1740 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 139.1741 + </g> 139.1742 + <g 139.1743 + transform="translate(160,160)" 139.1744 + id="g6490"> 139.1745 + <text 139.1746 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1747 + sodipodi:linespacing="100%" 139.1748 + id="text6492" 139.1749 + y="220.9987" 139.1750 + x="-704.41931" 139.1751 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1752 + xml:space="preserve"><tspan 139.1753 + id="tspan6494" 139.1754 + y="220.9987" 139.1755 + x="-704.41931" 139.1756 + sodipodi:role="line" 139.1757 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 139.1758 + <rect 139.1759 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1760 + id="rect6496" 139.1761 + width="29.62429" 139.1762 + height="58.297375" 139.1763 + x="248.55019" 139.1764 + y="553.3775" /> 139.1765 + <rect 139.1766 + y="541.76453" 139.1767 + x="248.55019" 139.1768 + height="11.813" 139.1769 + width="29.62429" 139.1770 + id="rect6498" 139.1771 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1772 + <text 139.1773 + xml:space="preserve" 139.1774 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1775 + x="-661.9668" 139.1776 + y="220.9987" 139.1777 + id="text6500" 139.1778 + sodipodi:linespacing="100%" 139.1779 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1780 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1781 + sodipodi:role="line" 139.1782 + x="-661.9668" 139.1783 + y="220.9987" 139.1784 + id="tspan6502">Q</tspan></text> 139.1785 + </g> 139.1786 + <g 139.1787 + id="g6504" 139.1788 + transform="translate(120,160)"> 139.1789 + <text 139.1790 + xml:space="preserve" 139.1791 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1792 + x="-704.41931" 139.1793 + y="220.9987" 139.1794 + id="text6506" 139.1795 + sodipodi:linespacing="100%" 139.1796 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1797 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1798 + sodipodi:role="line" 139.1799 + x="-704.41931" 139.1800 + y="220.9987" 139.1801 + id="tspan6508">Mem Array</tspan></text> 139.1802 + <rect 139.1803 + y="553.3775" 139.1804 + x="248.55019" 139.1805 + height="58.297375" 139.1806 + width="29.62429" 139.1807 + id="rect6510" 139.1808 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1809 + <rect 139.1810 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1811 + id="rect6512" 139.1812 + width="29.62429" 139.1813 + height="11.813" 139.1814 + x="248.55019" 139.1815 + y="541.76453" /> 139.1816 + <text 139.1817 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1818 + sodipodi:linespacing="100%" 139.1819 + id="text6514" 139.1820 + y="220.9987" 139.1821 + x="-661.9668" 139.1822 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1823 + xml:space="preserve"><tspan 139.1824 + id="tspan6516" 139.1825 + y="220.9987" 139.1826 + x="-661.9668" 139.1827 + sodipodi:role="line" 139.1828 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 139.1829 + </g> 139.1830 + <g 139.1831 + transform="translate(80,160)" 139.1832 + id="g6518"> 139.1833 + <text 139.1834 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1835 + sodipodi:linespacing="100%" 139.1836 + id="text6520" 139.1837 + y="220.9987" 139.1838 + x="-704.41931" 139.1839 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1840 + xml:space="preserve"><tspan 139.1841 + id="tspan6522" 139.1842 + y="220.9987" 139.1843 + x="-704.41931" 139.1844 + sodipodi:role="line" 139.1845 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 139.1846 + <rect 139.1847 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1848 + id="rect6524" 139.1849 + width="29.62429" 139.1850 + height="58.297375" 139.1851 + x="248.55019" 139.1852 + y="553.3775" /> 139.1853 + <rect 139.1854 + y="541.76453" 139.1855 + x="248.55019" 139.1856 + height="11.813" 139.1857 + width="29.62429" 139.1858 + id="rect6526" 139.1859 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1860 + <text 139.1861 + xml:space="preserve" 139.1862 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1863 + x="-661.9668" 139.1864 + y="220.9987" 139.1865 + id="text6528" 139.1866 + sodipodi:linespacing="100%" 139.1867 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1868 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1869 + sodipodi:role="line" 139.1870 + x="-661.9668" 139.1871 + y="220.9987" 139.1872 + id="tspan6530">Q</tspan></text> 139.1873 + </g> 139.1874 + <g 139.1875 + id="g6532" 139.1876 + transform="translate(40,160)"> 139.1877 + <text 139.1878 + xml:space="preserve" 139.1879 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1880 + x="-704.41931" 139.1881 + y="220.9987" 139.1882 + id="text6534" 139.1883 + sodipodi:linespacing="100%" 139.1884 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1885 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1886 + sodipodi:role="line" 139.1887 + x="-704.41931" 139.1888 + y="220.9987" 139.1889 + id="tspan6536">Mem Array</tspan></text> 139.1890 + <rect 139.1891 + y="553.3775" 139.1892 + x="248.55019" 139.1893 + height="58.297375" 139.1894 + width="29.62429" 139.1895 + id="rect6538" 139.1896 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1897 + <rect 139.1898 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1899 + id="rect6540" 139.1900 + width="29.62429" 139.1901 + height="11.813" 139.1902 + x="248.55019" 139.1903 + y="541.76453" /> 139.1904 + <text 139.1905 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1906 + sodipodi:linespacing="100%" 139.1907 + id="text6542" 139.1908 + y="220.9987" 139.1909 + x="-661.9668" 139.1910 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1911 + xml:space="preserve"><tspan 139.1912 + id="tspan6544" 139.1913 + y="220.9987" 139.1914 + x="-661.9668" 139.1915 + sodipodi:role="line" 139.1916 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 139.1917 + </g> 139.1918 + <g 139.1919 + transform="translate(0,160)" 139.1920 + id="g6546"> 139.1921 + <text 139.1922 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1923 + sodipodi:linespacing="100%" 139.1924 + id="text6548" 139.1925 + y="220.9987" 139.1926 + x="-704.41931" 139.1927 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1928 + xml:space="preserve"><tspan 139.1929 + id="tspan6550" 139.1930 + y="220.9987" 139.1931 + x="-704.41931" 139.1932 + sodipodi:role="line" 139.1933 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Mem Array</tspan></text> 139.1934 + <rect 139.1935 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1936 + id="rect6552" 139.1937 + width="29.62429" 139.1938 + height="58.297375" 139.1939 + x="248.55019" 139.1940 + y="553.3775" /> 139.1941 + <rect 139.1942 + y="541.76453" 139.1943 + x="248.55019" 139.1944 + height="11.813" 139.1945 + width="29.62429" 139.1946 + id="rect6554" 139.1947 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1948 + <text 139.1949 + xml:space="preserve" 139.1950 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1951 + x="-661.9668" 139.1952 + y="220.9987" 139.1953 + id="text6556" 139.1954 + sodipodi:linespacing="100%" 139.1955 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1956 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1957 + sodipodi:role="line" 139.1958 + x="-661.9668" 139.1959 + y="220.9987" 139.1960 + id="tspan6558">Q</tspan></text> 139.1961 + </g> 139.1962 + <g 139.1963 + id="g6560" 139.1964 + transform="translate(-40,160)"> 139.1965 + <text 139.1966 + xml:space="preserve" 139.1967 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1968 + x="-704.41931" 139.1969 + y="220.9987" 139.1970 + id="text6562" 139.1971 + sodipodi:linespacing="100%" 139.1972 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)"><tspan 139.1973 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1" 139.1974 + sodipodi:role="line" 139.1975 + x="-704.41931" 139.1976 + y="220.9987" 139.1977 + id="tspan6564">Mem Array</tspan></text> 139.1978 + <rect 139.1979 + y="553.3775" 139.1980 + x="248.55019" 139.1981 + height="58.297375" 139.1982 + width="29.62429" 139.1983 + id="rect6566" 139.1984 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> 139.1985 + <rect 139.1986 + style="fill:none;stroke:#000000;stroke-width:1.80063581;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" 139.1987 + id="rect6568" 139.1988 + width="29.62429" 139.1989 + height="11.813" 139.1990 + x="248.55019" 139.1991 + y="541.76453" /> 139.1992 + <text 139.1993 + transform="matrix(0,-0.82746283,1.2085135,0,0,0)" 139.1994 + sodipodi:linespacing="100%" 139.1995 + id="text6570" 139.1996 + y="220.9987" 139.1997 + x="-661.9668" 139.1998 + style="font-size:13.14551258px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Trebuchet MS;-inkscape-font-specification:Trebuchet MS" 139.1999 + xml:space="preserve"><tspan 139.2000 + id="tspan6572" 139.2001 + y="220.9987" 139.2002 + x="-661.9668" 139.2003 + sodipodi:role="line" 139.2004 + style="font-size:11.83096123px;text-align:center;text-anchor:middle;fill:#ff0000;fill-opacity:1">Q</tspan></text> 139.2005 + </g> 139.2006 + </g> 139.2007 + <path 139.2008 + style="fill:none;stroke:#000000;stroke-width:1.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" 139.2009 + d="m 219.55419,746.98921 322.08004,0" 139.2010 + id="path6472" 139.2011 + inkscape:connector-curvature="0" 139.2012 + sodipodi:nodetypes="cc" /> 139.2013 + <path 139.2014 + sodipodi:nodetypes="cc" 139.2015 + inkscape:connector-curvature="0" 139.2016 + id="path6474" 139.2017 + d="m 219.55419,760.98921 322.08004,0" 139.2018 + style="fill:none;stroke:#000000;stroke-width:1.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> 139.2019 + </g> 139.2020 +</svg>
140.1 Binary file Cool_logo_UPC.gif has changed
141.1 Binary file Dissertation.pdf has changed
