Complete the talk. master
authorMatthijs Kooijman <matthijs@stdin.nl>
Tue, 27 Apr 2010 09:11:42 +0000 (11:11 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Tue, 27 Apr 2010 09:11:42 +0000 (11:11 +0200)
Makefile
figures/cpu.svg [new file with mode: 0644]
figures/mac.svg [new file with mode: 0644]
figures/pipeline.svg [new file with mode: 0644]
figures/reducer.svg [new file with mode: 0644]
figures/smac.svg [new file with mode: 0644]
talk.lhs

index 60513dad55772ec93d268ebbdc9e7ebdaca8405f..73947048bbd4d7445ea74f2942c01730eb55b6ef 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -13,13 +13,16 @@ TEXSRCS = \
        preamble.tex
 
 SVGFIGURES = \
+       figures/pipeline.svg \
+       figures/mac.svg \
+       figures/smac.svg \
+       figures/cpu.svg \
+       figures/reducer.svg \
 
 default: $(FILE)
 
 $(FILE): texs figs $(TEXSRCS) $(LHFORMATS) $(FILE).tex
        $(LATEXMK) $(FILE); \
-       open $(FILE).pdf; \
-       $(RM) $(LHSRCS:.lhs=.tex)
 
 texs : $(LHSRCS:.lhs=.tex) 
 %.tex : %.lhs
diff --git a/figures/cpu.svg b/figures/cpu.svg
new file mode 100644 (file)
index 0000000..16efddc
--- /dev/null
@@ -0,0 +1,1079 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:ns0="http://www.iki.fi/pav/software/textext/"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="268.49905"
+   height="174.92477"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="cpu.svg">
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.2377507"
+     inkscape:cx="139.38346"
+     inkscape:cy="91.891914"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:snap-grids="true"
+     inkscape:window-width="1278"
+     inkscape:window-height="779"
+     inkscape:window-x="0"
+     inkscape:window-y="19"
+     inkscape:window-maximized="0"
+     inkscape:snap-center="false"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       snapvisiblegridlinesonly="true"
+       enabled="true"
+       visible="true"
+       empspacing="5"
+       id="grid2818"
+       type="xygrid" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <marker
+       style="overflow:visible"
+       id="Arrow1Mstart"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mstart">
+      <path
+         transform="matrix(0.4,0,0,0.4,4,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path6180" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow1Lend"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lend">
+      <path
+         transform="matrix(-0.8,0,0,-0.8,-10,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path6177" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow1Mend"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path3732" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow1Send"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Send">
+      <path
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path3738" />
+    </marker>
+    <inkscape:perspective
+       id="perspective10"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective3098" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective3128" />
+    <inkscape:perspective
+       id="perspective2986"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective2986-2"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-347.22,-815.46696)"
+     id="layer1"
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect9258"
+       width="229.48787"
+       height="173.92477"
+       x="27.136841"
+       y="-4.7367358"
+       transform="translate(347.22,820.7037)" />
+    <path
+       id="path3366"
+       d="m 407.909,879.80127 0,-45.19995 167.73323,0 -0.022,45.19994"
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:nodetypes="cccc"
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
+       d="m 417.875,879.80127 0,-37.19995 168.899,0 0,37.19994"
+       id="path3368" />
+    <path
+       sodipodi:nodetypes="cccc"
+       id="path3370"
+       d="m 412.899,879.80127 0,-41.19995 168.275,0 0,41.19994"
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart)"
+       d="m 422.987,879.80127 0,-33.19995 175.889,0 0,94.79994 -12.133,-0.1"
+       id="path3373" />
+    <path
+       sodipodi:nodetypes="cccc"
+       id="path3375"
+       d="m 378.165,838.60132 -0.096,-12 186.504,0 0,53.19994"
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)" />
+    <path
+       sodipodi:nodetypes="cccc"
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
+       d="m 384.065,838.50112 -0.0206,-7.8998 186.07961,0 0,49.19994"
+       id="path3377" />
+    <path
+       sodipodi:nodetypes="ccc"
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
+       d="m 347.96478,822.60132 211.05922,0 0,57.19994"
+       id="path3381" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-mid:none;marker-end:none"
+       d="m 418.12999,941.60132 12.99001,0 0,-53.35 0,-53.35"
+       id="path3197"
+       sodipodi:nodetypes="cccc" />
+    <rect
+       y="881.60132"
+       x="387.72"
+       height="30"
+       width="40"
+       id="rect3343"
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" />
+    <g
+       transform="matrix(1.0476464,0,0,1,-56.24068,254.76497)"
+       id="g3351">
+      <rect
+         transform="translate(367.86,538.7295)"
+         y="139.43002"
+         x="65"
+         height="30"
+         width="20"
+         id="rect3353"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" />
+      <path
+         transform="translate(367.86,538.7295)"
+         id="path3355"
+         d="m 65,164.43002 5,-5 -5,-5"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 407.72,911.53732 0,19.19"
+       id="path3358"
+       sodipodi:nodetypes="cc" />
+    <g
+       transform="matrix(-1,0,0,1,815.24,0)"
+       id="g8349">
+      <g
+         id="g8323">
+        <path
+           sodipodi:nodetypes="cc"
+           id="path4381"
+           d="m 413.12,830.60132 0,49.2"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path4383"
+           sodipodi:cx="-51.79557"
+           sodipodi:cy="32.435127"
+           sodipodi:rx="5.4800777"
+           sodipodi:ry="5.4800777"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           transform="matrix(0.31195247,0,0,0.31195247,429.28726,820.4831)" />
+      </g>
+      <g
+         id="g8319">
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+           d="m 418.62,826.60132 0,53.2"
+           id="path4387"
+           sodipodi:nodetypes="cc" />
+        <path
+           transform="matrix(0.31195247,0,0,0.31195247,434.78726,816.4831)"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           sodipodi:ry="5.4800777"
+           sodipodi:rx="5.4800777"
+           sodipodi:cy="32.435127"
+           sodipodi:cx="-51.79557"
+           id="path4389"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           sodipodi:type="arc" />
+      </g>
+      <g
+         id="g8315">
+        <path
+           sodipodi:nodetypes="cc"
+           id="path4393"
+           d="m 424.12,822.60132 0,57.2"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path4395"
+           sodipodi:cx="-51.79557"
+           sodipodi:cy="32.435127"
+           sodipodi:rx="5.4800777"
+           sodipodi:ry="5.4800777"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           transform="matrix(0.31195247,0,0,0.31195247,440.28726,812.4831)" />
+      </g>
+    </g>
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path5237"
+       d="m 474.12999,941.60132 12.99001,0 0,-102.7"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect5239"
+       width="40"
+       height="30"
+       x="443.72"
+       y="881.60132" />
+    <g
+       id="g5247"
+       transform="matrix(1.0476464,0,0,1,-0.240681,254.76497)">
+      <rect
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+         id="rect5249"
+         width="20"
+         height="30"
+         x="65"
+         y="139.43002"
+         transform="translate(367.86,538.7295)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 65,164.43002 5,-5 -5,-5"
+         id="path5251"
+         transform="translate(367.86,538.7295)" />
+    </g>
+    <path
+       sodipodi:nodetypes="cc"
+       id="path5253"
+       d="m 463.72,911.53732 0,19.19"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <g
+       transform="matrix(-1,0,0,1,927.24023,0)"
+       id="g8263">
+      <g
+         transform="translate(283.4,190.70953)"
+         id="g5255">
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+           d="m -225,-8.9477081 0,33.1999511"
+           id="path5257"
+           transform="translate(388.72,664.8395)"
+           sodipodi:nodetypes="cc" />
+        <path
+           transform="matrix(0.31195247,0,0,0.31195247,179.88726,645.77357)"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           sodipodi:ry="5.4800777"
+           sodipodi:rx="5.4800777"
+           sodipodi:cy="32.435127"
+           sodipodi:cx="-51.79557"
+           id="path5259"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           sodipodi:type="arc" />
+      </g>
+      <g
+         id="g8239">
+        <path
+           sodipodi:nodetypes="cc"
+           id="path5261"
+           d="m 452.62,842.60132 0,37.2"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path5263"
+           sodipodi:cx="-51.79557"
+           sodipodi:cy="32.435127"
+           sodipodi:rx="5.4800777"
+           sodipodi:ry="5.4800777"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           transform="matrix(0.31195247,0,0,0.31195247,468.78726,832.4831)" />
+      </g>
+      <g
+         id="g8243">
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+           d="m 458.12,838.60132 0,41.2"
+           id="path5265"
+           sodipodi:nodetypes="cc" />
+        <path
+           transform="matrix(0.31195247,0,0,0.31195247,474.28726,828.4831)"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           sodipodi:ry="5.4800777"
+           sodipodi:rx="5.4800777"
+           sodipodi:cy="32.435127"
+           sodipodi:cx="-51.79557"
+           id="path5267"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           sodipodi:type="arc" />
+      </g>
+      <g
+         id="g8247">
+        <path
+           sodipodi:nodetypes="cc"
+           id="path5269"
+           d="m 463.62,834.60132 0,45.2"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path5271"
+           sodipodi:cx="-51.79557"
+           sodipodi:cy="32.435127"
+           sodipodi:rx="5.4800777"
+           sodipodi:ry="5.4800777"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           transform="matrix(0.31195247,0,0,0.31195247,479.78726,824.4831)" />
+      </g>
+    </g>
+    <g
+       transform="matrix(-1,0,0,1,927.24,0)"
+       id="g8338">
+      <g
+         id="g8311">
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+           d="m 469.12,830.60132 0,49.2"
+           id="path5273"
+           sodipodi:nodetypes="cc" />
+        <path
+           transform="matrix(0.31195247,0,0,0.31195247,485.28726,820.4831)"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           sodipodi:ry="5.4800777"
+           sodipodi:rx="5.4800777"
+           sodipodi:cy="32.435127"
+           sodipodi:cx="-51.79557"
+           id="path5275"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           sodipodi:type="arc" />
+      </g>
+      <g
+         id="g8307">
+        <path
+           sodipodi:nodetypes="cc"
+           id="path5277"
+           d="m 474.62,826.60132 0,53.2"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path5279"
+           sodipodi:cx="-51.79557"
+           sodipodi:cy="32.435127"
+           sodipodi:rx="5.4800777"
+           sodipodi:ry="5.4800777"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           transform="matrix(0.31195247,0,0,0.31195247,490.78726,816.4831)" />
+      </g>
+      <g
+         id="g8303">
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+           d="m 480.12,822.60132 0,57.2"
+           id="path5281"
+           sodipodi:nodetypes="cc" />
+        <path
+           transform="matrix(0.31195247,0,0,0.31195247,496.28726,812.4831)"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           sodipodi:ry="5.4800777"
+           sodipodi:rx="5.4800777"
+           sodipodi:cy="32.435127"
+           sodipodi:cx="-51.79557"
+           id="path5283"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           sodipodi:type="arc" />
+      </g>
+    </g>
+    <rect
+       y="881.60132"
+       x="555.71997"
+       height="30"
+       width="40"
+       id="rect5289"
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" />
+    <g
+       transform="matrix(1.0476464,0,0,1,111.75932,254.76497)"
+       id="g5297">
+      <rect
+         transform="translate(367.86,538.7295)"
+         y="139.43002"
+         x="65"
+         height="30"
+         width="20"
+         id="rect5299"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" />
+      <path
+         transform="translate(367.86,538.7295)"
+         id="path5301"
+         d="m 65,164.43002 5,-5 -5,-5"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 575.72,911.53732 0,19.19"
+       id="path5303"
+       sodipodi:nodetypes="cc" />
+    <g
+       transform="translate(16.4,0)"
+       id="g8360">
+      <path
+         sodipodi:nodetypes="cc"
+         id="path5319"
+         d="m 575.62,846.60132 0,33.2"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+      <path
+         transform="matrix(0.31195247,0,0,0.31195247,591.83726,836.43354)"
+         d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+         sodipodi:ry="5.4800777"
+         sodipodi:rx="5.4800777"
+         sodipodi:cy="32.435127"
+         sodipodi:cx="-51.79557"
+         id="path5333"
+         style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+         sodipodi:type="arc" />
+    </g>
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path5337"
+       d="m 530.12999,941.60132 12.99001,0 0,-98.7"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+       id="rect5339"
+       width="40"
+       height="30"
+       x="499.72"
+       y="881.60132" />
+    <g
+       id="g5347"
+       transform="matrix(1.0476464,0,0,1,55.75932,254.76497)">
+      <rect
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+         id="rect5349"
+         width="20"
+         height="30"
+         x="65"
+         y="139.43002"
+         transform="translate(367.86,538.7295)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 65,164.43002 5,-5 -5,-5"
+         id="path5351"
+         transform="translate(367.86,538.7295)" />
+    </g>
+    <path
+       sodipodi:nodetypes="cc"
+       id="path5353"
+       d="m 519.72,911.53732 0,19.19"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <g
+       transform="matrix(-1,0,0,1,1039.2402,0)"
+       id="g8277">
+      <g
+         transform="translate(339.4,190.70953)"
+         id="g5355">
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+           d="m -225,-8.9477081 0,33.2000001"
+           id="path5357"
+           transform="translate(388.72,664.8395)"
+           sodipodi:nodetypes="cc" />
+        <path
+           transform="matrix(0.31195247,0,0,0.31195247,179.88726,645.77357)"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           sodipodi:ry="5.4800777"
+           sodipodi:rx="5.4800777"
+           sodipodi:cy="32.435127"
+           sodipodi:cx="-51.79557"
+           id="path5359"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           sodipodi:type="arc" />
+      </g>
+      <g
+         id="g8251">
+        <path
+           sodipodi:nodetypes="cc"
+           id="path5361"
+           d="m 508.62,842.60132 0,37.2"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path5363"
+           sodipodi:cx="-51.79557"
+           sodipodi:cy="32.435127"
+           sodipodi:rx="5.4800777"
+           sodipodi:ry="5.4800777"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           transform="matrix(0.31195247,0,0,0.31195247,524.78726,832.4831)" />
+      </g>
+      <g
+         id="g8255">
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+           d="m 514.12,838.60132 0,41.2"
+           id="path5365"
+           sodipodi:nodetypes="cc" />
+        <path
+           transform="matrix(0.31195247,0,0,0.31195247,530.28726,828.4831)"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           sodipodi:ry="5.4800777"
+           sodipodi:rx="5.4800777"
+           sodipodi:cy="32.435127"
+           sodipodi:cx="-51.79557"
+           id="path5367"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           sodipodi:type="arc" />
+      </g>
+      <g
+         id="g8259">
+        <path
+           sodipodi:nodetypes="cc"
+           id="path5369"
+           d="m 519.62,834.60132 0,45.2"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path5371"
+           sodipodi:cx="-51.79557"
+           sodipodi:cy="32.435127"
+           sodipodi:rx="5.4800777"
+           sodipodi:ry="5.4800777"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           transform="matrix(0.31195247,0,0,0.31195247,535.78726,824.4831)" />
+      </g>
+    </g>
+    <g
+       transform="matrix(-1,0,0,1,1039.24,0)"
+       id="g8327">
+      <g
+         id="g8291">
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+           d="m 525.12,830.60132 0,49.2"
+           id="path5373"
+           sodipodi:nodetypes="cc" />
+        <path
+           transform="matrix(0.31195247,0,0,0.31195247,541.28726,820.4831)"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           sodipodi:ry="5.4800777"
+           sodipodi:rx="5.4800777"
+           sodipodi:cy="32.435127"
+           sodipodi:cx="-51.79557"
+           id="path5375"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           sodipodi:type="arc" />
+      </g>
+      <g
+         id="g8295">
+        <path
+           sodipodi:nodetypes="cc"
+           id="path5377"
+           d="m 530.62,826.60132 0,53.2"
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+        <path
+           sodipodi:type="arc"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path5379"
+           sodipodi:cx="-51.79557"
+           sodipodi:cy="32.435127"
+           sodipodi:rx="5.4800777"
+           sodipodi:ry="5.4800777"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           transform="matrix(0.31195247,0,0,0.31195247,546.78726,816.4831)" />
+      </g>
+      <g
+         id="g8299">
+        <path
+           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+           d="m 536.12,822.60132 0,57.19994"
+           id="path5381"
+           sodipodi:nodetypes="cc" />
+        <path
+           transform="matrix(0.31195247,0,0,0.31195247,552.28726,812.4831)"
+           d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+           sodipodi:ry="5.4800777"
+           sodipodi:rx="5.4800777"
+           sodipodi:cy="32.435127"
+           sodipodi:cx="-51.79557"
+           id="path5383"
+           style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+           sodipodi:type="arc" />
+      </g>
+    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 598.46904,941.46097 16,0"
+       id="path7223"
+       sodipodi:nodetypes="cc" />
+    <path
+       transform="matrix(0.31195247,0,0,0.31195247,614.93726,931.33355)"
+       d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+       sodipodi:ry="5.4800777"
+       sodipodi:rx="5.4800777"
+       sodipodi:cy="32.435127"
+       sodipodi:cx="-51.79557"
+       id="path7225"
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(0.31195247,0,0,0.31195247,447.28726,824.4831)"
+       d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+       sodipodi:ry="5.4800777"
+       sodipodi:rx="5.4800777"
+       sodipodi:cy="32.435127"
+       sodipodi:cx="-51.79557"
+       id="path8203"
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+       id="path8205"
+       sodipodi:cx="-51.79557"
+       sodipodi:cy="32.435127"
+       sodipodi:rx="5.4800777"
+       sodipodi:ry="5.4800777"
+       d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+       transform="matrix(0.31195247,0,0,0.31195247,503.28726,828.4831)" />
+    <path
+       transform="matrix(0.31195247,0,0,0.31195247,559.28726,832.4831)"
+       d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+       sodipodi:ry="5.4800777"
+       sodipodi:rx="5.4800777"
+       sodipodi:cy="32.435127"
+       sodipodi:cx="-51.79557"
+       id="path8207"
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 347.72,890.50081 38,0"
+       id="path8366"
+       sodipodi:nodetypes="cc" />
+    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathit{opc}$\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,129.54646,1544.3664)"
+       id="content">
+<path
+   id="path8510"
+   d="m 228.5,660 0,0.09 0,0.09 -0.01,0.08 -0.01,0.08 -0.02,0.09 -0.02,0.07 -0.02,0.08 -0.02,0.08 -0.03,0.07 -0.03,0.07 -0.03,0.07 -0.04,0.07 -0.04,0.06 -0.04,0.06 -0.04,0.06 -0.05,0.05 -0.05,0.06 -0.05,0.05 -0.05,0.04 -0.06,0.05 -0.06,0.04 -0.06,0.04 -0.06,0.03 -0.07,0.03 -0.07,0.03 -0.06,0.03 -0.08,0.02 -0.07,0.01 -0.07,0.02 -0.08,0.01 -0.08,0 -0.08,0.01 c -1.24,0 -2.52,-1.42 -2.52,-2.87 0,-1.03 0.63,-1.65 1.45,-1.65 v 0.22 c -0.39,0 -0.75,0.31 -0.75,1.03 0,0.5 0.26,1.6 0.57,2.14 0.37,0.61 0.85,0.91 1.24,0.91 0.49,0 0.77,-0.44 0.77,-1.03 0,-0.43 -0.22,-1.45 -0.54,-2.05 -0.29,-0.55 -0.8,-1 -1.29,-1 h 0 v -0.22 c 1.24,0 2.52,1.42 2.52,2.88 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8512"
+   d="m 229.42,655.96 -0.01,-0.03 0,-0.03 -0.01,-0.02 -0.01,-0.03 -0.01,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 -0.02,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.01 -0.01,-0.01 -0.02,-0.01 -0.01,0 -0.02,-0.01 -0.02,0 -0.02,-0.01 -0.02,0 -0.03,-0.01 -0.02,0 -0.03,0 -0.03,0 -0.02,-0.01 -0.03,0 -0.04,0 -0.03,0 -0.04,0 c -0.09,0 -0.21,0 -0.21,-0.19 0,-0.07 0.05,-0.12 0.12,-0.12 0.27,0 0.56,0.03 0.84,0.03 0.32,0 0.66,-0.03 0.97,-0.03 0.06,0 0.19,0 0.19,0.19 0,0.12 -0.1,0.12 -0.24,0.12 -0.51,0 -0.51,0.06 -0.51,0.16 0,0.06 0.07,0.32 0.11,0.48 l 0.36,1.45 c 0.07,-0.17 0.32,-0.58 0.83,-0.58 l -0.01,0.22 c -0.57,0 -0.67,0.85 -0.67,0.93 0,0.03 0.01,0.06 0.03,0.14 l 0.47,1.88 c 0.08,0.34 0.69,1.13 1.24,1.13 0.45,0 0.55,-0.57 0.55,-0.89 0,-0.42 -0.27,-1.6 -0.56,-2.24 -0.12,-0.25 -0.55,-0.95 -1.06,-0.95 l 0.01,-0.22 c 1.09,0 2.28,1.48 2.28,2.96 0,1.07 -0.6,1.56 -1.2,1.56 -0.49,0 -0.92,-0.36 -1.2,-0.7 -0.12,0.58 -0.57,0.7 -0.82,0.7 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.06 0,-0.22 -0.07,-0.5 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8514"
+   d="m 237.44,660.99 -0.02,-0.01 -0.02,0 -0.03,0 -0.02,-0.01 -0.02,0 -0.02,-0.01 -0.02,0 -0.01,-0.01 -0.02,-0.01 -0.02,0 -0.01,-0.01 -0.02,-0.01 -0.02,-0.01 -0.01,0 -0.01,-0.01 -0.02,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 -0.01,-0.02 -0.02,-0.02 -0.01,-0.02 -0.01,-0.02 -0.02,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.02 0,-0.01 0,-0.02 0,-0.01 -0.01,-0.01 0,-0.02 0,0 0,-0.01 0,0 0,-0.01 0,0 0,0 c 0,-0.16 0.11,-0.32 0.34,-0.32 0.27,0 0.51,0.22 0.51,0.6 0,0.49 -0.43,0.86 -1.07,0.86 -1.23,0 -2.52,-1.42 -2.52,-2.87 0,-0.99 0.59,-1.65 1.47,-1.65 1.27,0 2.1,1 2.1,1.15 0,0.05 -0.08,0.16 -0.16,0.16 -0.04,0 -0.05,-0.01 -0.13,-0.11 -0.74,-0.94 -1.62,-0.98 -1.79,-0.98 -0.54,0 -0.79,0.45 -0.79,1.03 0,0.53 0.27,1.57 0.53,2.05 0.36,0.65 0.86,1 1.3,1 0.11,0 0.56,-0.02 0.71,-0.43 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathit{addrs}$\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,124.911,1624.5027)"
+       id="g9098">
+<path
+   id="path9100"
+   d="m 226.91,657.82 0.01,-0.04 0.01,-0.05 0.02,-0.04 0.01,-0.04 0.02,-0.04 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.03,-0.03 0.02,-0.02 0.03,-0.03 0.03,-0.02 0.02,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.01 0.03,-0.01 0.03,-0.02 0.04,-0.01 0.03,-0.01 0.03,0 0.03,-0.01 0.04,-0.01 0.03,0 0.03,0 0.03,-0.01 0.04,0 c 0.36,0 0.57,0.25 0.72,0.56 0.18,0.38 0.3,0.96 0.3,0.98 0,0.1 -0.08,0.1 -0.15,0.1 -0.12,0 -0.13,-0.01 -0.19,-0.23 -0.14,-0.56 -0.32,-1.19 -0.66,-1.19 -0.26,0 -0.26,0.27 -0.26,0.41 0,0.07 0,0.23 0.07,0.51 l 0.67,2.71 c 0.04,0.14 0.04,0.16 0.04,0.21 0,0.21 -0.16,0.26 -0.27,0.26 -0.31,0 -0.38,-0.34 -0.39,-0.39 -0.19,0.43 -0.51,0.59 -0.83,0.59 v -0.22 c 0.44,0 0.69,-0.52 0.69,-0.94 0,-0.02 -0.01,-0.07 -0.03,-0.13 h 0 l -0.47,-1.88 c -0.08,-0.32 -0.7,-1.13 -1.25,-1.13 -0.46,0 -0.54,0.59 -0.54,0.89 0,0.5 0.3,1.66 0.48,2.08 0.25,0.61 0.71,1.11 1.12,1.11 v 0.22 c -1.11,0 -2.28,-1.52 -2.28,-2.97 0,-0.85 0.46,-1.55 1.2,-1.55 0.36,0 0.8,0.21 1.2,0.7 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path9102"
+   d="m 234.07,663.9 0,0 0.01,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0.01,0.01 0,0.01 0,0.01 0,0.01 0.01,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0 0,0 0,0.01 c 0,0.09 -0.06,0.12 -0.14,0.12 -0.03,0 -0.12,-0.01 -0.16,-0.02 l -0.98,-0.08 c -0.12,-0.01 -0.23,-0.02 -0.23,-0.21 0,-0.11 0.1,-0.11 0.24,-0.11 0.48,0 0.5,-0.07 0.5,-0.17 0,-0.03 -0.03,-0.16 -0.03,-0.17 l -0.58,-2.33 c -0.15,0.31 -0.42,0.58 -0.84,0.58 v -0.22 c 0.08,0 0.31,-0.01 0.49,-0.29 0.1,-0.16 0.2,-0.45 0.2,-0.64 0,-0.03 -0.01,-0.07 -0.03,-0.13 l -0.48,-1.91 c -0.08,-0.31 -0.69,-1.11 -1.23,-1.11 -0.47,0 -0.55,0.59 -0.55,0.89 0,0.5 0.31,1.66 0.49,2.08 0.25,0.61 0.7,1.11 1.11,1.11 v 0.22 c -1.1,0 -2.28,-1.52 -2.28,-2.97 0,-0.85 0.46,-1.55 1.21,-1.55 0.35,0 0.79,0.21 1.19,0.7 0.11,-0.49 0.48,-0.7 0.83,-0.7 0.37,0 0.58,0.25 0.73,0.56 0.18,0.38 0.29,0.96 0.29,0.98 0,0.1 -0.08,0.1 -0.14,0.1 -0.12,0 -0.13,-0.01 -0.19,-0.23 -0.14,-0.56 -0.33,-1.19 -0.67,-1.19 -0.26,0 -0.26,0.27 -0.26,0.41 0,0.07 0,0.22 0.06,0.46 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path9104"
+   d="m 239.17,663.9 0,0 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0.01,0.01 0,0 0,0.01 0,0.01 0,0.01 0.01,0.01 0,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0,0.01 0.01,0 0,0 0,0.01 0,0 0,0 0,0 0,0.01 c 0,0.09 -0.06,0.12 -0.14,0.12 -0.03,0 -0.13,-0.01 -0.16,-0.02 l -0.99,-0.08 c -0.12,-0.01 -0.23,-0.02 -0.23,-0.21 0,-0.11 0.1,-0.11 0.24,-0.11 0.48,0 0.5,-0.07 0.5,-0.17 0,-0.03 -0.03,-0.16 -0.03,-0.17 l -0.58,-2.33 c -0.15,0.31 -0.42,0.58 -0.83,0.58 v -0.22 c 0.07,0 0.3,-0.01 0.48,-0.29 0.1,-0.16 0.2,-0.45 0.2,-0.64 0,-0.03 -0.01,-0.07 -0.03,-0.13 l -0.48,-1.91 c -0.08,-0.31 -0.68,-1.11 -1.23,-1.11 -0.47,0 -0.55,0.59 -0.55,0.89 0,0.5 0.31,1.66 0.49,2.08 0.25,0.61 0.71,1.11 1.12,1.11 v 0.22 c -1.11,0 -2.29,-1.52 -2.29,-2.97 0,-0.85 0.46,-1.55 1.21,-1.55 0.36,0 0.8,0.21 1.19,0.7 0.11,-0.49 0.48,-0.7 0.83,-0.7 0.37,0 0.58,0.25 0.73,0.56 0.18,0.38 0.3,0.96 0.3,0.98 0,0.1 -0.08,0.1 -0.15,0.1 -0.12,0 -0.13,-0.01 -0.19,-0.23 -0.14,-0.56 -0.33,-1.19 -0.67,-1.19 -0.26,0 -0.26,0.27 -0.26,0.41 0,0.07 0,0.22 0.06,0.46 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path9106"
+   d="m 241.28,660.1 0,0 0,0.01 0,0 0.01,0.01 0,0.01 0,0.01 0.01,0.01 0,0.02 0.01,0.01 0.01,0.02 0,0.02 0.01,0.01 0.02,0.05 0.02,0.04 0.02,0.05 0.03,0.05 0.02,0.05 0.03,0.06 0.04,0.06 0.03,0.06 0.04,0.06 0.04,0.06 0.04,0.06 0.05,0.06 0.05,0.06 0.05,0.06 0.05,0.05 0.05,0.06 0.06,0.05 0.06,0.05 0.06,0.04 0.07,0.04 0.03,0.02 0.03,0.01 0.04,0.02 0.03,0.01 0.04,0.01 0.04,0.02 0.03,0 0.04,0.01 0.04,0.01 0.04,0 0.04,0.01 0.04,0 c 0.05,0 0.32,0 0.52,-0.14 -0.35,-0.11 -0.38,-0.43 -0.38,-0.48 0,-0.13 0.1,-0.32 0.35,-0.32 0.18,0 0.49,0.14 0.49,0.53 0,0.52 -0.65,0.63 -0.98,0.63 -0.68,0 -1.04,-0.5 -1.2,-0.72 -0.11,0.53 -0.5,0.72 -0.83,0.72 -0.36,0 -0.56,-0.23 -0.71,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.17,0.7 0.36,1.19 0.67,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.16 -0.03,-0.35 -0.07,-0.51 l -0.75,-2.99 c -0.01,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.3,0 0.37,0.29 0.39,0.37 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path9108"
+   d="m 245.37,659.2 0.08,-0.02 0.08,-0.02 0.09,-0.02 0.04,-0.01 0.03,-0.02 0.04,-0.01 0.04,-0.01 0.04,-0.02 0.03,-0.01 0.04,-0.02 0.03,-0.01 0.04,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.02,-0.03 0.03,-0.02 0.02,-0.03 0.02,-0.03 0.02,-0.03 0.02,-0.04 0.01,-0.03 0.02,-0.04 0.01,-0.04 0.01,-0.04 0,-0.05 0,-0.02 0.01,-0.02 0,-0.03 0,-0.02 c 0,-0.32 -0.27,-1.12 -1.3,-1.12 -0.22,0 -0.8,0.05 -0.95,0.56 0.5,0.05 0.5,0.47 0.5,0.49 0,0.19 -0.13,0.32 -0.33,0.32 -0.23,0 -0.51,-0.17 -0.51,-0.62 0,-0.61 0.57,-0.97 1.28,-0.97 1.5,0 1.87,1.22 1.87,1.68 0,0.86 -0.77,1.04 -1.18,1.13 -0.28,0.06 -0.64,0.14 -0.64,0.57 0,0.24 0.21,0.92 1.01,0.92 0.27,0 0.64,-0.1 0.75,-0.49 -0.32,-0.04 -0.4,-0.31 -0.4,-0.41 0,-0.11 0.06,-0.28 0.3,-0.28 0.16,0 0.42,0.12 0.42,0.55 0,0.46 -0.4,0.85 -1.06,0.85 -1.17,0 -1.58,-0.96 -1.58,-1.48 0,-0.77 0.65,-0.9 0.93,-0.96 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       id="g9419"
+       transform="matrix(1,0,0,-1,152.33474,1503.5671)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$0$\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 228.01,660.42 0,0.15 0,0.15 0,0.15 -0.01,0.15 -0.01,0.15 -0.01,0.14 -0.01,0.15 -0.02,0.15 -0.03,0.15 -0.02,0.14 -0.04,0.15 -0.03,0.14 -0.05,0.14 -0.05,0.14 -0.05,0.14 -0.03,0.07 -0.03,0.07 c -0.46,0.96 -1.28,1.12 -1.7,1.12 -0.6,0 -1.32,-0.26 -1.73,-1.19 -0.32,-0.69 -0.37,-1.46 -0.37,-2.26 0,-0.75 0.04,-1.64 0.45,-2.4 0.43,-0.81 1.16,-1.01 1.64,-1.01 v 0.22 c -0.39,0 -0.97,0.25 -1.15,1.21 -0.11,0.6 -0.11,1.51 -0.11,2.1 0,0.64 0,1.3 0.08,1.83 0.19,1.19 0.93,1.28 1.18,1.28 0.33,0 0.99,-0.18 1.18,-1.17 0.1,-0.56 0.1,-1.31 0.1,-1.94 0,-0.75 0,-1.43 -0.11,-2.06 -0.15,-0.95 -0.72,-1.25 -1.17,-1.25 h 0 v -0.22 c 0.54,0 1.3,0.21 1.74,1.16 0.31,0.69 0.36,1.46 0.36,2.25 z"
+   id="path9421"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$1$\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,158.13,1503.6771)"
+       id="g9731">
+<path
+   id="path9733"
+   d="m 226.36,663.61 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0 -0.01,0.01 0,0.02 0,0.01 0,0.01 -0.01,0 0,0.01 -0.01,0.01 0,0 -0.01,0.01 -0.01,0 0,0.01 -0.01,0 -0.01,0 0,0.01 -0.01,0 0,0 -0.01,0 -0.01,0 0,0 -0.01,0 0,0 -0.01,0 -0.01,0.01 -0.01,0 0,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 c -0.62,-0.64 -1.49,-0.64 -1.81,-0.64 v -0.31 c 0.2,0 0.79,0 1.3,0.26 v -5.16 c 0,-0.36 -0.03,-0.48 -0.92,-0.48 h -0.32 v -0.31 c 0.35,0.03 1.21,0.03 1.61,0.03 0.4,0 1.27,0 1.62,-0.03 v 0.31 h -0.32 c -0.9,0 -0.93,0.11 -0.93,0.48 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathit{x}$\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,134.43146,1478.3706)"
+       id="g3125">
+<path
+   id="path3127"
+   d="m 228.15,661.28 -0.01,-0.01 -0.02,0 -0.02,-0.01 -0.02,0 -0.01,-0.01 -0.02,-0.01 -0.01,0 -0.02,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,0 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 -0.02,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 0,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.01 0,-0.02 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,-0.01 0,0 0,-0.01 0,0 0,0 0,0 0,0 c 0,-0.13 0.09,-0.32 0.34,-0.32 0.18,0 0.49,0.14 0.49,0.53 0,0.51 -0.58,0.63 -0.86,0.63 -0.55,0 -0.88,-0.49 -0.98,-0.68 -0.22,0.6 -0.71,0.68 -0.96,0.68 -0.99,0 -1.53,-1.31 -1.53,-1.54 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.13,0.01 0.18,0.17 0.27,0.86 0.79,1.25 1.18,1.25 0.29,0 0.48,-0.23 0.48,-0.63 0,-0.24 -0.12,-0.73 -0.21,-1.1 -0.11,-0.41 -0.12,-0.45 -0.23,-0.9 -0.16,-0.65 -0.36,-1.45 -0.96,-1.45 -0.03,0 -0.27,0 -0.44,0.14 0.3,0.08 0.39,0.33 0.39,0.48 0,0.26 -0.21,0.32 -0.34,0.32 -0.25,0 -0.5,-0.21 -0.5,-0.54 0,-0.39 0.42,-0.62 0.88,-0.62 0.48,0 0.8,0.38 0.97,0.68 0.2,-0.57 0.69,-0.68 0.95,-0.68 1.03,0 1.53,1.34 1.53,1.54 0,0.1 -0.08,0.1 -0.14,0.1 -0.13,0 -0.14,-0.01 -0.19,-0.17 -0.26,-0.86 -0.76,-1.25 -1.18,-1.25 -0.2,0 -0.47,0.12 -0.47,0.64 0,0.24 0.11,0.67 0.19,1.01 0.11,0.41 0.26,1.03 0.34,1.36 0.14,0.52 0.41,1.07 0.88,1.07 0.03,0 0.27,0 0.43,-0.14 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       transform="translate(-1.6,-42.400203)"
+       id="g4275">
+      <path
+         sodipodi:nodetypes="cccc"
+         id="path4277"
+         d="m 349.32,1015.6013 85.9,0 0,-70.99998 7,0"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
+         d="m 349.32,1017.6013 87.5,0 0,-70.99998 5.4,0"
+         id="path4279"
+         sodipodi:nodetypes="cccc" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 438.82,948.55094 5.5,-2.89982 -5.5,-3.00018"
+         id="path4281"
+         sodipodi:nodetypes="ccc" />
+    </g>
+    <g
+       id="g4299"
+       transform="translate(55.1,-42.400203)">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
+         d="m 292.72,1019.6013 142.5,0 0,-74.99998 7,0"
+         id="path4301"
+         sodipodi:nodetypes="cccc" />
+      <path
+         sodipodi:nodetypes="cccc"
+         id="path4303"
+         d="m 292.72,1021.6013 144.1,0 0,-74.99998 5.4,0"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
+      <path
+         sodipodi:nodetypes="ccc"
+         id="path4305"
+         d="m 438.82,948.55094 5.5,-2.89982 -5.5,-3.00018"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <g
+       transform="translate(111.1,-42.400203)"
+       id="g4307">
+      <path
+         sodipodi:nodetypes="cccc"
+         id="path4309"
+         d="m 236.72,1023.6013 198.5,0 0,-78.99998 7,0"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
+         d="m 236.72,1025.6013 200.1,0 0,-78.99998 5.4,0"
+         id="path4311"
+         sodipodi:nodetypes="cccc" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 438.82,948.55094 5.5,-2.89982 -5.5,-3.00018"
+         id="path4313"
+         sodipodi:nodetypes="ccc" />
+    </g>
+    <path
+       sodipodi:nodetypes="cccc"
+       id="path4317"
+       d="m 347.82,969.2011 30.5,0 0,-66.99998 7,0"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:none"
+       d="m 347.82,971.2011 32.1,0 0,-66.99998 5.4,0"
+       id="path4319"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 381.92,906.15074 5.5,-2.89982 -5.5,-3.00018"
+       id="path4321"
+       sodipodi:nodetypes="ccc" />
+    <g
+       id="g4483"
+       transform="matrix(1,0,0,-1,177.085,1550.6418)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$\\mathbf{fu_0}$\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 224.6,661.66 h -0.75 v -0.47 h 0.75 v -3.49 h -0.69 v -0.47 c 0.35,0.01 0.8,0.03 1.26,0.03 0.37,0 1.01,0 1.37,-0.03 v 0.47 h -0.87 v 3.49 h 1.15 v 0.47 h -1.21 v 1 c 0,1.1 0.76,1.19 1.01,1.19 0.05,0 0.1,0 0.17,-0.02 -0.15,-0.11 -0.23,-0.3 -0.23,-0.49 0,-0.43 0.35,-0.62 0.61,-0.62 0.3,0 0.62,0.21 0.62,0.62 0,0.42 -0.36,0.87 -1.14,0.87 -0.98,0 -2.05,-0.42 -2.05,-1.55 z"
+   id="path4485"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 231.3,657.95 v -0.78 l 1.76,0.06 v 0.47 c -0.62,0 -0.68,0 -0.68,0.39 v 3.63 l -1.83,-0.08 v -0.47 c 0.62,0 0.69,0 0.69,-0.39 v -1.9 c 0,-0.82 -0.51,-1.35 -1.24,-1.35 -0.76,0 -0.79,0.25 -0.79,0.79 v 3.4 l -1.83,-0.08 v -0.47 c 0.62,0 0.69,0 0.69,-0.39 v -2.32 c 0,-1.07 0.81,-1.29 1.79,-1.29 0.26,0 0.98,0 1.44,0.78 z"
+   id="path4487"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 237.42,657.96 0,0.08 0,0.09 0,0.08 0,0.1 -0.01,0.09 -0.01,0.09 -0.01,0.1 -0.01,0.1 -0.01,0.1 -0.02,0.09 -0.02,0.1 -0.03,0.1 -0.03,0.1 -0.03,0.09 -0.04,0.1 -0.05,0.09 -0.04,0.09 -0.06,0.08 -0.06,0.09 -0.06,0.08 -0.08,0.07 -0.08,0.07 -0.08,0.07 -0.05,0.03 -0.05,0.03 -0.05,0.03 -0.05,0.02 -0.05,0.03 -0.06,0.02 -0.05,0.02 -0.06,0.02 -0.07,0.02 -0.06,0.02 -0.07,0.01 -0.06,0.02 -0.07,0.01 -0.08,0.01 -0.07,0.01 -0.08,0 -0.08,0 -0.08,0.01 v -0.33 c 0.26,0 0.72,-0.11 0.83,-0.59 0.07,-0.33 0.07,-0.91 0.07,-1.35 0,-0.49 0,-1 -0.07,-1.39 -0.09,-0.56 -0.57,-0.68 -0.83,-0.68 h 0 c -0.23,0 -0.43,0.07 -0.6,0.22 -0.19,0.16 -0.31,0.27 -0.31,1.85 0,0.48 0,1.03 0.08,1.36 0.11,0.46 0.54,0.58 0.83,0.58 v 0.33 c -1.79,0 -1.88,-1.51 -1.88,-2.36 0,-0.88 0.11,-2.3 1.88,-2.3 1.76,0 1.87,1.41 1.87,2.3 z"
+   id="path4489"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathbf{fu_1}$\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,233.22,1550.6418)"
+       id="g4808">
+<path
+   id="path4810"
+   d="m 224.6,661.66 h -0.75 v -0.47 h 0.75 v -3.49 h -0.69 v -0.47 c 0.35,0.01 0.8,0.03 1.26,0.03 0.37,0 1.01,0 1.37,-0.03 v 0.47 h -0.87 v 3.49 h 1.15 v 0.47 h -1.21 v 1 c 0,1.1 0.76,1.19 1.01,1.19 0.05,0 0.1,0 0.17,-0.02 -0.15,-0.11 -0.23,-0.3 -0.23,-0.49 0,-0.43 0.35,-0.62 0.61,-0.62 0.3,0 0.62,0.21 0.62,0.62 0,0.42 -0.36,0.87 -1.14,0.87 -0.98,0 -2.05,-0.42 -2.05,-1.55 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path4812"
+   d="m 231.3,657.95 v -0.78 l 1.76,0.06 v 0.47 c -0.62,0 -0.68,0 -0.68,0.39 v 3.63 l -1.83,-0.08 v -0.47 c 0.62,0 0.69,0 0.69,-0.39 v -1.9 c 0,-0.82 -0.51,-1.35 -1.24,-1.35 -0.76,0 -0.79,0.25 -0.79,0.79 v 3.4 l -1.83,-0.08 v -0.47 c 0.62,0 0.69,0 0.69,-0.39 v -2.32 c 0,-1.07 0.81,-1.29 1.79,-1.29 0.26,0 0.98,0 1.44,0.78 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path4814"
+   d="m 236.08,660.07 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 -0.01,0.01 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0.01 -0.01,0.01 0,0.02 -0.01,0.01 0,0.01 -0.01,0 -0.01,0.01 0,0.01 -0.01,0 -0.01,0.01 -0.01,0 -0.01,0.01 -0.02,0 -0.01,0.01 -0.01,0 -0.02,0 -0.02,0 -0.01,0 -0.02,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0 -0.01,0.01 -0.01,0 c -0.44,-0.35 -1.01,-0.45 -1.57,-0.45 h -0.16 v -0.39 h 0.16 c 0.28,0 0.71,0.05 1,0.14 v -3.49 h -1.1 v -0.39 c 0.34,0.03 1.18,0.03 1.55,0.03 0.26,0 0.51,-0.01 0.76,-0.01 0.21,0 0.57,-0.01 0.77,-0.02 v 0.39 h -1.07 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       id="g5135"
+       transform="matrix(1,0,0,-1,289.13,1550.6418)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$\\mathbf{fu_2}$\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 224.6,661.66 h -0.75 v -0.47 h 0.75 v -3.49 h -0.69 v -0.47 c 0.35,0.01 0.8,0.03 1.26,0.03 0.37,0 1.01,0 1.37,-0.03 v 0.47 h -0.87 v 3.49 h 1.15 v 0.47 h -1.21 v 1 c 0,1.1 0.76,1.19 1.01,1.19 0.05,0 0.1,0 0.17,-0.02 -0.15,-0.11 -0.23,-0.3 -0.23,-0.49 0,-0.43 0.35,-0.62 0.61,-0.62 0.3,0 0.62,0.21 0.62,0.62 0,0.42 -0.36,0.87 -1.14,0.87 -0.98,0 -2.05,-0.42 -2.05,-1.55 z"
+   id="path5137"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 231.3,657.95 v -0.78 l 1.76,0.06 v 0.47 c -0.62,0 -0.68,0 -0.68,0.39 v 3.63 l -1.83,-0.08 v -0.47 c 0.62,0 0.69,0 0.69,-0.39 v -1.9 c 0,-0.82 -0.51,-1.35 -1.24,-1.35 -0.76,0 -0.79,0.25 -0.79,0.79 v 3.4 l -1.83,-0.08 v -0.47 c 0.62,0 0.69,0 0.69,-0.39 v -2.32 c 0,-1.07 0.81,-1.29 1.79,-1.29 0.26,0 0.98,0 1.44,0.78 z"
+   id="path5139"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 237.33,657.33 h -0.44 c -0.02,-0.08 -0.08,-0.58 -0.21,-0.61 -0.14,-0.02 -0.56,-0.02 -0.72,-0.02 H 235 c 0.39,0.28 0.78,0.57 1.18,0.83 0.57,0.36 1.15,0.73 1.15,1.43 0,0.83 -0.79,1.36 -1.9,1.36 -0.95,0 -1.66,-0.37 -1.66,-1.04 0,-0.4 0.33,-0.55 0.54,-0.55 0.25,0 0.54,0.18 0.54,0.55 0,0.33 -0.26,0.47 -0.28,0.48 0.25,0.16 0.57,0.16 0.66,0.16 0.59,0 1.06,-0.37 1.06,-0.97 0,-0.54 -0.37,-0.98 -0.77,-1.34 l -1.66,-1.47 c -0.08,-0.09 -0.09,-0.09 -0.09,-0.23 v -0.17 h 3.32 z"
+   id="path5141"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathbf{fu_3}$\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,345.09497,1550.6418)"
+       id="g5464">
+<path
+   id="path5466"
+   d="m 224.6,661.66 h -0.75 v -0.47 h 0.75 v -3.49 h -0.69 v -0.47 c 0.35,0.01 0.8,0.03 1.26,0.03 0.37,0 1.01,0 1.37,-0.03 v 0.47 h -0.87 v 3.49 h 1.15 v 0.47 h -1.21 v 1 c 0,1.1 0.76,1.19 1.01,1.19 0.05,0 0.1,0 0.17,-0.02 -0.15,-0.11 -0.23,-0.3 -0.23,-0.49 0,-0.43 0.35,-0.62 0.61,-0.62 0.3,0 0.62,0.21 0.62,0.62 0,0.42 -0.36,0.87 -1.14,0.87 -0.98,0 -2.05,-0.42 -2.05,-1.55 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path5468"
+   d="m 231.3,657.95 v -0.78 l 1.76,0.06 v 0.47 c -0.62,0 -0.68,0 -0.68,0.39 v 3.63 l -1.83,-0.08 v -0.47 c 0.62,0 0.69,0 0.69,-0.39 v -1.9 c 0,-0.82 -0.51,-1.35 -1.24,-1.35 -0.76,0 -0.79,0.25 -0.79,0.79 v 3.4 l -1.83,-0.08 v -0.47 c 0.62,0 0.69,0 0.69,-0.39 v -2.32 c 0,-1.07 0.81,-1.29 1.79,-1.29 0.26,0 0.98,0 1.44,0.78 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path5470"
+   d="m 235.4,658.01 0.04,0 0.04,0 0.03,-0.01 0.04,0 0.03,0 0.03,-0.01 0.04,0 0.03,-0.01 0.03,-0.01 0.02,-0.01 0.03,0 0.03,-0.01 0.02,-0.01 0.03,-0.01 0.02,-0.02 0.03,-0.01 0.02,-0.01 0.02,-0.01 0.02,-0.02 0.02,-0.01 0.04,-0.03 0.03,-0.03 0.03,-0.03 0.03,-0.04 0.02,-0.04 0.02,-0.03 0.02,-0.04 0.02,-0.04 0.02,-0.04 0.01,-0.04 0.01,-0.04 0.01,-0.05 0.01,-0.04 0.01,-0.04 0,-0.04 0.01,-0.04 0,-0.04 0,-0.04 0,-0.04 0.01,-0.04 0,-0.04 0,-0.03 c 0,-0.29 0,-1 -0.84,-1 -0.19,0 -0.63,0.04 -0.93,0.22 0.15,0.07 0.33,0.23 0.33,0.53 0,0.32 -0.23,0.56 -0.57,0.56 -0.34,0 -0.57,-0.24 -0.57,-0.57 0,-0.71 0.78,-1.09 1.77,-1.09 1.45,0 1.94,0.76 1.94,1.34 0,0.54 -0.42,1.03 -1.22,1.19 0.5,0.19 0.97,0.55 0.97,1.14 0,0.54 -0.56,0.99 -1.67,0.99 -0.95,0 -1.54,-0.47 -1.54,-1.05 0,-0.35 0.26,-0.54 0.53,-0.54 0.35,0 0.53,0.26 0.53,0.53 0,0.35 -0.28,0.48 -0.35,0.5 0.28,0.21 0.65,0.23 0.79,0.23 0.69,0 0.69,-0.45 0.69,-0.65 0,-0.31 -0.14,-0.96 -0.84,-0.99 -0.17,-0.01 -0.35,-0.02 -0.39,-0.03 -0.09,-0.03 -0.09,-0.11 -0.09,-0.15 0,-0.16 0.09,-0.16 0.22,-0.16 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 431.12,869.39174 0,-3"
+       id="path4916"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path5108"
+       d="m 487.12,869.39174 0,-3"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 543.12,869.39174 0,-3"
+       id="path5110"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path5112"
+       d="m 598.82,869.39174 0,-3"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+       x="458.69266"
+       y="906.29352"
+       id="text2974"><tspan
+         sodipodi:role="line"
+         id="tspan2976"
+         x="458.69266"
+         y="906.29352">+</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+       x="517.55493"
+       y="905.3324"
+       id="text2974-6"><tspan
+         sodipodi:role="line"
+         id="tspan2976-3"
+         x="517.55493"
+         y="905.3324">-</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+       x="572.71997"
+       y="907.31293"
+       id="text2974-0"><tspan
+         sodipodi:role="line"
+         id="tspan2976-6"
+         x="572.71997"
+         y="907.31293">*</tspan></text>
+  </g>
+</svg>
diff --git a/figures/mac.svg b/figures/mac.svg
new file mode 100644 (file)
index 0000000..e55e3ab
--- /dev/null
@@ -0,0 +1,301 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:ns0="http://www.iki.fi/pav/software/textext/"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="113.10839"
+   height="47.171635"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="mac.svg">
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="4"
+     inkscape:cx="28.314094"
+     inkscape:cy="24.581001"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:snap-grids="true"
+     inkscape:window-width="1278"
+     inkscape:window-height="779"
+     inkscape:window-x="0"
+     inkscape:window-y="19"
+     inkscape:window-maximized="0"
+     inkscape:snap-center="false"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       snapvisiblegridlinesonly="true"
+       enabled="true"
+       visible="true"
+       empspacing="5"
+       id="grid2818"
+       type="xygrid" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Mstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mstart"
+       style="overflow:visible">
+      <path
+         id="path4329"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(0.4,0,0,0.4,4,0)" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow1Mend"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path3732" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow1Send"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Send">
+      <path
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path3738" />
+    </marker>
+    <inkscape:perspective
+       id="perspective10"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective3098" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective3128" />
+    <inkscape:perspective
+       id="perspective2888"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <marker
+       style="overflow:visible"
+       id="Arrow1Mend-6"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path3732-3" />
+    </marker>
+  </defs>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-397.81999,-710.12224)"
+     id="layer1"
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1">
+    <rect
+       y="710.49792"
+       x="414.0256"
+       height="46.420258"
+       width="82.585541"
+       id="rect7593"
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.75137699;stroke-miterlimit:4;stroke-dasharray:none" />
+    <g
+       transform="matrix(0,1,1,0,-260.49455,234.89951)"
+       id="g3312">
+      <g
+         id="g3297"
+         transform="translate(-15,3.0000045)">
+        <path
+           transform="matrix(1,0,0,-1,482.86,720.1436)"
+           d="m 50,26.984081 c 0,5.522848 -4.477153,10 -10,10 -5.522847,0 -10,-4.477152 -10,-10 0,-5.522847 4.477153,-10 10,-10 5.522847,0 10,4.477153 10,10 z"
+           sodipodi:ry="10"
+           sodipodi:rx="10"
+           sodipodi:cy="26.984081"
+           sodipodi:cx="40"
+           id="path3295"
+           style="fill:#ffffff;stroke:#000000"
+           sodipodi:type="arc" />
+        <g
+           id="g3207"
+           transform="translate(296.94,33.444519)"
+           xml:space="preserve"
+           stroke-miterlimit="10.433"
+           font-style="normal"
+           font-variant="normal"
+           font-weight="normal"
+           font-stretch="normal"
+           font-size-adjust="none"
+           letter-spacing="normal"
+           word-spacing="normal"
+           ns0:text="$\\mathbf{*}$\n\n\n\n"
+           ns0:preamble=""
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 226.17,661.49 0,0.01 0,0.01 0,0.02 0,0.01 0.01,0.02 -0.01,0.01 0,0.02 0,0.01 0,0.02 0,0.02 0,0.01 0,0.02 -0.01,0.01 0,0.02 -0.01,0.01 0,0.02 -0.01,0.01 0,0.02 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.02 -0.01,0 0,0.01 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0.01 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0 -0.01,0.01 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0 -0.01,0 c -0.16,0 -0.29,-0.12 -0.26,-0.25 v -0.13 l 0.14,-1.55 -1.27,0.93 c -0.09,0.05 -0.11,0.07 -0.18,0.07 -0.14,0 -0.27,-0.14 -0.27,-0.28 0,-0.16 0.1,-0.2 0.2,-0.25 l 1.41,-0.68 -1.37,-0.66 c -0.16,-0.08 -0.24,-0.12 -0.24,-0.27 0,-0.15 0.13,-0.28 0.27,-0.28 0.07,0 0.09,0 0.34,0.19 l 1.11,0.8 -0.15,-1.67 c 0,-0.21 0.18,-0.26 0.26,-0.26 0.12,0 0.27,0.07 0.27,0.26 l -0.15,1.67 1.28,-0.92 c 0.09,-0.05 0.11,-0.07 0.18,-0.07 0.14,0 0.27,0.14 0.27,0.28 0,0.15 -0.09,0.2 -0.21,0.26 -0.6,0.29 -0.62,0.29 -1.41,0.66 l 1.38,0.67 c 0.16,0.08 0.24,0.12 0.24,0.27 0,0.15 -0.13,0.28 -0.27,0.28 -0.07,0 -0.09,0 -0.34,-0.19 l -1.12,-0.81 z"
+   id="path3209" />
+</g>      </g>
+    </g>
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3344"
+       d="m 404.9,738.24797 19.87519,0"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 446.06809,742.84416 18,0"
+       id="path3372"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g3157"
+       transform="translate(8.8353379,-63.123106)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffffff;stroke:#000000"
+         id="path3406"
+         sodipodi:cx="40"
+         sodipodi:cy="26.984081"
+         sodipodi:rx="10"
+         sodipodi:ry="10"
+         d="m 50,26.984081 c 0,5.522848 -4.477153,10 -10,10 -5.522847,0 -10,-4.477152 -10,-10 0,-5.522847 4.477153,-10 10,-10 5.522847,0 10,4.477153 10,10 z"
+         transform="matrix(0,1,-1,0,492.64902,760.7595)" />
+      <g
+         id="g3586"
+         transform="matrix(0,1,1,0,-194.06005,573.4545)"
+         xml:space="preserve"
+         stroke-miterlimit="10.433"
+         font-style="normal"
+         font-variant="normal"
+         font-weight="normal"
+         font-stretch="normal"
+         font-size-adjust="none"
+         letter-spacing="normal"
+         word-spacing="normal"
+         ns0:text="$\\mathbf{+}$\n\n\n\n\n"
+         ns0:preamble=""
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 227.51,659.52 h 2.78 c 0.14,0 0.33,0 0.33,0.2 0,0.2 -0.19,0.2 -0.33,0.2 h -2.78 v 2.79 c 0,0.14 0,0.33 -0.2,0.33 -0.2,0 -0.2,-0.19 -0.2,-0.33 v -2.79 h -2.79 c -0.14,0 -0.33,0 -0.33,-0.2 0,-0.2 0.19,-0.2 0.33,-0.2 h 2.79 v -2.79 c 0,-0.14 0,-0.32 0.2,-0.32 0.2,0 0.2,0.18 0.2,0.32 z"
+   id="path3588" />
+</g>    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 404.9,746.41014 19.60321,0"
+       id="path3799"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1.20236552px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 484.67563,737.63639 24.7498,0"
+       id="path3822"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g5001"
+       transform="matrix(1,0,0,-1,183.48996,1393.3898)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$x$\n\n\n\n\n\n\n\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 226.76,660.24 0.01,0.03 0,0.03 0.01,0.03 0.01,0.04 0.01,0.03 0.01,0.05 0.02,0.04 0.01,0.04 0.02,0.05 0.01,0.05 0.02,0.05 0.02,0.05 0.03,0.05 0.02,0.05 0.03,0.05 0.02,0.05 0.03,0.04 0.03,0.05 0.04,0.05 0.03,0.04 0.04,0.05 0.04,0.04 0.04,0.03 0.05,0.04 0.04,0.03 0.05,0.03 0.03,0.01 0.02,0.02 0.03,0.01 0.03,0.01 0.02,0.01 0.03,0 0.03,0.01 0.03,0.01 0.03,0 0.03,0 0.03,0.01 0.04,0 c 0.05,0 0.29,0 0.49,-0.13 -0.28,-0.05 -0.47,-0.3 -0.47,-0.54 0,-0.16 0.11,-0.35 0.38,-0.35 0.21,0 0.53,0.18 0.53,0.58 0,0.52 -0.58,0.66 -0.92,0.66 -0.58,0 -0.93,-0.53 -1.05,-0.76 -0.25,0.66 -0.79,0.76 -1.08,0.76 -1.03,0 -1.6,-1.29 -1.6,-1.54 0,-0.1 0.1,-0.1 0.12,-0.1 0.08,0 0.11,0.02 0.13,0.11 0.34,1.06 1,1.31 1.33,1.31 0.19,0 0.54,-0.09 0.54,-0.67 0,-0.31 -0.17,-0.98 -0.54,-2.37 -0.15,-0.62 -0.5,-1.04 -0.94,-1.04 -0.06,0 -0.29,0 -0.5,0.13 0.25,0.05 0.47,0.26 0.47,0.54 0,0.27 -0.22,0.35 -0.37,0.35 -0.3,0 -0.55,-0.26 -0.55,-0.58 0,-0.46 0.5,-0.66 0.94,-0.66 0.66,0 1.01,0.7 1.04,0.76 0.12,-0.37 0.48,-0.76 1.08,-0.76 1.03,0 1.59,1.29 1.59,1.54 0,0.1 -0.09,0.1 -0.12,0.1 -0.09,0 -0.1,-0.04 -0.13,-0.11 -0.32,-1.07 -1,-1.31 -1.32,-1.31 -0.39,0 -0.55,0.32 -0.55,0.66 0,0.22 0.06,0.44 0.17,0.88 z"
+   id="path5003"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$y$\n\n\n\n\n\n\n\n\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,183.67496,1410.2898)"
+       id="g5089">
+<path
+   id="path5091"
+   d="m 228.27,661.03 0.01,0 0,0.01 0,0.01 0,0 0,0.01 0.01,0.02 0,0.01 0,0.01 0,0 0.01,0.01 0,0.01 0,0.01 0,0.01 0,0 0.01,0.01 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0 0,0.01 0,0.01 c 0,0.18 -0.13,0.27 -0.29,0.27 -0.09,0 -0.25,-0.06 -0.34,-0.21 -0.02,-0.05 -0.1,-0.36 -0.14,-0.54 -0.07,-0.26 -0.14,-0.53 -0.2,-0.8 l -0.45,-1.79 c -0.04,-0.15 -0.47,-0.85 -1.13,-0.85 -0.5,0 -0.61,0.44 -0.61,0.81 0,0.46 0.17,1.07 0.5,1.95 0.16,0.41 0.2,0.52 0.2,0.72 0,0.45 -0.31,0.82 -0.81,0.82 -0.95,0 -1.32,-1.45 -1.32,-1.54 0,-0.1 0.1,-0.1 0.12,-0.1 0.1,0 0.11,0.02 0.16,0.18 0.27,0.94 0.67,1.24 1.01,1.24 0.08,0 0.25,0 0.25,-0.32 0,-0.25 -0.1,-0.51 -0.17,-0.7 -0.4,-1.06 -0.58,-1.62 -0.58,-2.09 0,-0.89 0.63,-1.19 1.21,-1.19 0.39,0 0.73,0.17 1.01,0.45 -0.13,-0.52 -0.25,-1 -0.65,-1.53 -0.26,-0.34 -0.63,-0.63 -1.09,-0.63 -0.14,0 -0.59,0.03 -0.76,0.42 0.16,0 0.29,0 0.43,0.12 0.1,0.09 0.2,0.22 0.2,0.41 0,0.3 -0.27,0.35 -0.37,0.35 -0.23,0 -0.56,-0.17 -0.56,-0.65 0,-0.5 0.44,-0.87 1.06,-0.87 1.02,0 2.05,0.91 2.33,2.03 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <path
+       sodipodi:nodetypes="cccc"
+       id="path3344-2"
+       d="m 404.5874,725.29382 45.12519,0 0,9.25 13.68741,0"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <text
+       xml:space="preserve"
+       style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+       x="397.39999"
+       y="722.04382"
+       id="text2908"><tspan
+         sodipodi:role="line"
+         id="tspan2910"
+         x="397.39999"
+         y="722.04382"
+         style="font-size:10px;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:LMMathItalic9;-inkscape-font-specification:LMMathItalic9 Bold Italic">acc</tspan></text>
+  </g>
+</svg>
diff --git a/figures/pipeline.svg b/figures/pipeline.svg
new file mode 100644 (file)
index 0000000..d55603c
--- /dev/null
@@ -0,0 +1,616 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:ns0="http://www.iki.fi/pav/software/textext/"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="248"
+   height="65.57"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="compilerpipeline.svg">
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2"
+     inkscape:cx="111.65719"
+     inkscape:cy="29.259297"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:snap-grids="true"
+     inkscape:window-width="1091"
+     inkscape:window-height="778"
+     inkscape:window-x="253"
+     inkscape:window-y="188"
+     inkscape:window-maximized="0"
+     inkscape:snap-center="false"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       snapvisiblegridlinesonly="true"
+       enabled="true"
+       visible="true"
+       empspacing="5"
+       id="grid2818"
+       type="xygrid" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <marker
+       style="overflow:visible"
+       id="Arrow1Mend"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path3732" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow1Send"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Send">
+      <path
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path3738" />
+    </marker>
+    <inkscape:perspective
+       id="perspective10"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective3098" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective3128" />
+  </defs>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-361.06,-817.7095)"
+     id="layer1"
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1">
+    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="Core\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,208.24,1540.2895)"
+       id="g4417">
+<path
+   id="path4419"
+   d="m 223.99,660.64 0,-0.19 0.02,-0.19 0.02,-0.19 0.03,-0.18 0.04,-0.18 0.05,-0.17 0.06,-0.17 0.06,-0.17 0.07,-0.16 0.08,-0.15 0.09,-0.16 0.09,-0.14 0.1,-0.15 0.1,-0.13 0.11,-0.13 0.12,-0.13 0.12,-0.12 0.13,-0.11 0.13,-0.1 0.14,-0.1 0.14,-0.1 0.14,-0.08 0.15,-0.08 0.15,-0.07 0.16,-0.06 0.16,-0.06 0.16,-0.05 0.17,-0.04 0.16,-0.03 0.17,-0.02 0.17,-0.01 0.18,-0.01 c 1.62,0 2.6,1.39 2.6,2.54 0,0.1 0,0.17 -0.13,0.17 -0.11,0 -0.11,-0.06 -0.12,-0.16 -0.08,-1.42 -1.15,-2.24 -2.23,-2.24 -0.61,0 -2.56,0.34 -2.56,3.31 0,2.98 1.94,3.32 2.55,3.32 1.08,0 1.97,-0.91 2.17,-2.36 0.02,-0.14 0.02,-0.17 0.16,-0.17 0.16,0 0.16,0.03 0.16,0.24 v 2.36 c 0,0.17 0,0.24 -0.11,0.24 -0.04,0 -0.08,0 -0.16,-0.12 l -0.5,-0.74 c -0.37,0.36 -0.88,0.86 -1.83,0.86 -1.87,0 -3.47,-1.59 -3.47,-3.62 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path4421"
+   d="m 235.32,659.36 -0.01,0.12 0,0.12 -0.02,0.12 -0.02,0.11 -0.02,0.11 -0.03,0.11 -0.04,0.11 -0.04,0.11 -0.04,0.1 -0.05,0.1 -0.05,0.1 -0.06,0.09 -0.06,0.09 -0.07,0.09 -0.07,0.09 -0.07,0.08 -0.08,0.08 -0.08,0.07 -0.08,0.07 -0.09,0.06 -0.09,0.07 -0.09,0.05 -0.09,0.05 -0.1,0.05 -0.1,0.04 -0.1,0.04 -0.11,0.03 -0.1,0.03 -0.11,0.02 -0.11,0.01 -0.11,0.01 -0.11,0.01 -0.01,-0.22 c 0.43,0 0.86,-0.22 1.12,-0.65 0.26,-0.43 0.26,-1.01 0.26,-1.39 0,-0.35 0,-0.89 -0.22,-1.33 -0.22,-0.45 -0.66,-0.74 -1.15,-0.74 h 0 c -0.43,0 -0.87,0.21 -1.14,0.67 -0.25,0.44 -0.25,1.05 -0.25,1.4 0,0.39 0,0.93 0.24,1.37 0.27,0.46 0.74,0.67 1.14,0.67 l 0.01,0.22 c -1.25,0 -2.22,-1.09 -2.22,-2.34 0,-1.28 1.04,-2.24 2.21,-2.24 1.2,0 2.21,0.98 2.21,2.24 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path4423"
+   d="m 237.27,660.54 v 1.1 l -1.39,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 v -2.67 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.39,0.01 0.86,0.03 1.14,0.03 0.4,0 0.87,0 1.27,-0.03 v 0.31 h -0.21 c -0.74,0 -0.76,0.11 -0.76,0.47 v 1.53 c 0,0.99 0.42,1.88 1.17,1.88 0.07,0 0.09,0 0.11,-0.01 -0.03,-0.01 -0.22,-0.13 -0.22,-0.39 0,-0.28 0.2,-0.43 0.42,-0.43 0.18,0 0.43,0.12 0.43,0.44 0,0.32 -0.31,0.61 -0.74,0.61 -0.72,0 -1.08,-0.67 -1.22,-1.1 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path4425"
+   d="m 240.62,659.53 0.01,0.21 c 0.06,1.49 0.89,1.74 1.23,1.74 1.03,0 1.13,-1.35 1.13,-1.74 h -2.36 l -0.01,-0.21 h 2.78 c 0.22,0 0.25,0 0.25,0.21 0,0.99 -0.54,1.96 -1.79,1.96 -1.15,0 -2.07,-1.03 -2.07,-2.28 0,-1.33 1.05,-2.3 2.19,-2.3 1.22,0 1.67,1.11 1.67,1.3 0,0.1 -0.08,0.12 -0.13,0.12 -0.09,0 -0.11,-0.06 -0.13,-0.14 -0.35,-1.03 -1.25,-1.03 -1.35,-1.03 -0.5,0 -0.89,0.3 -1.12,0.67 -0.3,0.48 -0.3,1.13 -0.3,1.49 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       id="g5092"
+       transform="matrix(1,0,0,-1,318.295,1540.2445)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="{\\small{VHDL}} Netlist\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 225.36,662.64 0,0.01 -0.01,0.01 0,0.01 0,0.01 -0.01,0.01 0,0 0,0.01 -0.01,0.01 0,0.01 0,0 0,0.01 0,0.01 -0.01,0 0,0.01 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0 0,0 0,0.01 0,0 0,0 0,0 c 0,0.27 0.45,0.27 0.71,0.27 v 0.28 c -0.4,-0.03 -0.86,-0.03 -1.27,-0.03 -0.38,0 -0.51,0.01 -1.15,0.03 v -0.28 c 0.66,0 0.76,-0.04 0.88,-0.35 l 2.17,-5.5 c 0.05,-0.13 0.08,-0.2 0.22,-0.2 0.15,0 0.17,0.06 0.22,0.19 l 2.08,5.26 c 0.19,0.47 0.56,0.6 0.98,0.6 v 0.28 c -0.32,-0.03 -0.58,-0.03 -0.88,-0.03 -0.39,0 -0.57,0.01 -1.01,0.03 v -0.28 c 0.44,-0.01 0.64,-0.22 0.64,-0.45 0,-0.07 -0.01,-0.09 -0.04,-0.18 l -1.72,-4.35 z"
+   id="path5094"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 235.18,660.56 h -2.78 v 2.09 c 0,0.33 0.02,0.43 0.71,0.43 h 0.21 v 0.28 c -0.41,-0.03 -0.91,-0.03 -1.32,-0.03 -0.41,0 -0.92,0 -1.32,0.03 v -0.28 h 0.21 c 0.69,0 0.71,-0.1 0.71,-0.43 v -4.71 c 0,-0.33 -0.02,-0.43 -0.71,-0.43 h -0.21 v -0.28 c 0.4,0.03 0.91,0.03 1.32,0.03 0.41,0 0.91,0 1.32,-0.03 v 0.28 h -0.21 c -0.69,0 -0.71,0.1 -0.71,0.43 v 2.34 h 2.78 v -2.34 c 0,-0.33 -0.02,-0.43 -0.71,-0.43 h -0.2 v -0.28 c 0.4,0.03 0.9,0.03 1.32,0.03 0.41,0 0.91,0 1.31,-0.03 v 0.28 h -0.2 c -0.69,0 -0.71,0.1 -0.71,0.43 v 4.71 c 0,0.33 0.02,0.43 0.71,0.43 h 0.2 v 0.28 c -0.4,-0.03 -0.9,-0.03 -1.31,-0.03 -0.42,0 -0.92,0 -1.32,0.03 v -0.28 h 0.2 c 0.69,0 0.71,-0.1 0.71,-0.43 z"
+   id="path5096"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 237.82,663.08 0.03,0 0.03,0 0.03,0 0.03,0 0.03,0 0.03,0 0.02,0 0.03,-0.01 0.02,0 0.03,0 0.02,0 0.02,0 0.02,0 0.02,-0.01 0.02,0 0.02,0 0.02,0 0.02,-0.01 0.01,0 0.02,0 0.02,-0.01 0.01,0 0.01,-0.01 0.02,0 0.01,0 0.01,-0.01 0.01,0 0.01,-0.01 0.02,-0.01 0.02,-0.01 0.02,-0.01 0.01,-0.02 0.02,-0.01 0.01,-0.02 0.01,-0.02 0,-0.01 0.01,-0.02 0,-0.02 0.01,-0.03 0,-0.02 0,-0.02 0.01,-0.03 0,-0.02 0,-0.03 0,-0.03 0,-0.03 v -4.71 c 0,-0.33 -0.02,-0.43 -0.71,-0.43 h -0.21 v -0.28 h 3.34 l -0.23,0.28 h -0.97 c -0.42,0 -0.44,0.06 -0.44,0.37 v 4.83 c 0,0.31 0.02,0.37 0.44,0.37 h 0.96 c 0.87,0 1.41,-0.46 1.65,-0.78 0.39,-0.52 0.53,-1.17 0.53,-2.06 0,-0.36 0,-1.3 -0.5,-1.93 -0.46,-0.61 -1.11,-0.8 -1.67,-0.8 l 0.23,-0.28 c 1.55,0 2.82,1.33 2.82,3.01 0,1.71 -1.24,3.12 -2.82,3.12 h -3.34 v -0.28 z"
+   id="path5098"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 249.65,659.55 h -0.25 c -0.1,-0.91 -0.22,-2.04 -1.83,-2.04 h -0.78 c -0.42,0 -0.44,0.06 -0.44,0.37 v 4.76 c 0,0.33 0.04,0.44 0.85,0.44 h 0.29 v 0.28 c -0.31,-0.03 -1.13,-0.03 -1.49,-0.03 -0.41,0 -0.97,0 -1.37,0.03 v -0.28 h 0.21 c 0.69,0 0.7,-0.1 0.7,-0.43 v -4.71 c 0,-0.33 -0.01,-0.43 -0.7,-0.43 h -0.21 v -0.28 h 4.77 z"
+   id="path5100"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 255.68,663.91 0,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.01 0,0.01 -0.01,0 -0.01,0.01 0,0.01 -0.01,0 0,0.01 -0.01,0.01 -0.01,0 0,0.01 -0.01,0 -0.01,0 0,0.01 -0.01,0 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0.01 -0.01,0 -0.01,0 -0.02,0 0,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 0,0 h -1.7 v -0.31 h 0.29 c 0.15,0 0.35,-0.01 0.5,-0.02 0.23,-0.03 0.24,-0.04 0.24,-0.23 v -5.2 c 0,-0.27 0,-0.74 -1.03,-0.74 v -0.31 c 0.35,0.01 0.84,0.03 1.17,0.03 0.33,0 0.81,-0.02 1.16,-0.03 v 0.31 c -1.02,0 -1.02,0.47 -1.02,0.74 v 5.18 c 0.05,-0.05 0.06,-0.06 0.1,-0.12 l 4.06,-5.98 c 0.09,-0.12 0.1,-0.13 0.17,-0.13 0.14,0 0.14,0.07 0.14,0.26 v 5.5 c 0,0.27 0,0.74 1.03,0.74 v 0.31 c -0.35,-0.01 -0.84,-0.03 -1.17,-0.03 -0.33,0 -0.82,0.02 -1.17,0.03 v -0.31 c 1.03,0 1.03,-0.47 1.03,-0.74 v -4.25 z"
+   id="path5102"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 261.95,659.53 0.01,0.21 c 0.06,1.49 0.9,1.74 1.23,1.74 1.03,0 1.13,-1.35 1.13,-1.74 h -2.36 l -0.01,-0.21 h 2.78 c 0.22,0 0.25,0 0.25,0.21 0,0.99 -0.54,1.96 -1.79,1.96 -1.15,0 -2.07,-1.03 -2.07,-2.28 0,-1.33 1.05,-2.3 2.19,-2.3 1.22,0 1.67,1.11 1.67,1.3 0,0.1 -0.08,0.12 -0.13,0.12 -0.09,0 -0.11,-0.06 -0.13,-0.14 -0.35,-1.03 -1.25,-1.03 -1.35,-1.03 -0.49,0 -0.89,0.3 -1.12,0.67 -0.3,0.48 -0.3,1.13 -0.3,1.49 z"
+   id="path5104"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 266.99,661.22 h 1.43 v 0.31 h -1.43 v 1.83 h -0.25 c -0.01,-0.82 -0.31,-1.88 -1.28,-1.92 v -0.22 h 0.84 v -2.75 c 0,-1.23 0.93,-1.35 1.29,-1.35 0.71,0 0.99,0.71 0.99,1.35 v 0.57 h -0.25 v -0.55 c 0,-0.74 -0.3,-1.12 -0.67,-1.12 -0.67,0 -0.67,0.91 -0.67,1.08 z"
+   id="path5106"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 270.91,664.15 -1.44,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 v -5.18 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.33,0.01 0.86,0.03 1.11,0.03 0.25,0 0.74,-0.02 1.1,-0.03 v 0.31 c -0.66,0 -0.77,0 -0.77,0.45 z"
+   id="path5108"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 273.68,661.64 -1.4,-0.11 v -0.31 c 0.65,0 0.74,-0.06 0.74,-0.55 v -2.68 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.32,0.01 0.86,0.03 1.1,0.03 0.35,0 0.7,-0.02 1.03,-0.03 v 0.31 c -0.65,0 -0.69,0.05 -0.69,0.44 z"
+   id="path5110"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 273.72,663.37 0,0.03 -0.01,0.03 0,0.03 -0.01,0.02 0,0.03 -0.01,0.03 -0.01,0.02 -0.01,0.03 -0.01,0.02 -0.01,0.02 -0.01,0.02 -0.02,0.03 -0.01,0.02 -0.02,0.02 -0.02,0.01 -0.01,0.02 -0.02,0.02 -0.02,0.02 -0.02,0.01 -0.02,0.01 -0.02,0.02 -0.03,0.01 -0.02,0.01 -0.02,0.01 -0.03,0.01 -0.02,0.01 -0.02,0 -0.03,0.01 -0.02,0 -0.03,0 -0.03,0.01 -0.02,0 c -0.31,0 -0.53,-0.27 -0.53,-0.53 0,-0.27 0.22,-0.53 0.53,-0.53 0.28,0 0.53,0.21 0.53,0.53 z"
+   id="path5112"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 276.75,659.16 0.02,0 0.03,0 0.03,-0.01 0.03,-0.01 0.03,0 0.04,-0.01 0.04,-0.01 0.04,-0.01 0.04,-0.02 0.04,-0.01 0.04,-0.02 0.05,-0.01 0.04,-0.02 0.04,-0.02 0.05,-0.02 0.04,-0.03 0.05,-0.03 0.04,-0.02 0.04,-0.03 0.04,-0.04 0.04,-0.03 0.03,-0.04 0.04,-0.04 0.03,-0.04 0.03,-0.05 0.01,-0.02 0.01,-0.02 0.01,-0.03 0.01,-0.02 0.01,-0.03 0.01,-0.03 0.01,-0.03 0.01,-0.02 0,-0.03 0.01,-0.03 0,-0.03 0.01,-0.04 0,-0.03 0,-0.03 c 0,-0.51 -0.35,-0.91 -1.13,-0.91 -0.83,0 -1.19,0.57 -1.38,1.42 -0.03,0.13 -0.04,0.17 -0.14,0.17 -0.13,0 -0.13,-0.07 -0.13,-0.25 v -1.32 c 0,-0.17 0,-0.24 0.11,-0.24 0.05,0 0.06,0.01 0.25,0.2 0.02,0.02 0.02,0.04 0.2,0.23 0.44,-0.42 0.88,-0.43 1.09,-0.43 1.15,0 1.61,0.67 1.61,1.39 0,0.53 -0.3,0.83 -0.42,0.94 -0.33,0.32 -0.72,0.4 -1.14,0.48 -0.56,0.11 -1.22,0.24 -1.22,0.82 0,0.35 0.26,0.76 1.11,0.76 1.1,0 1.15,-0.9 1.17,-1.21 0.01,-0.09 0.1,-0.09 0.12,-0.09 0.13,0 0.13,0.05 0.13,0.24 v 1.01 c 0,0.17 0,0.24 -0.11,0.24 -0.05,0 -0.07,0 -0.2,-0.12 -0.03,-0.04 -0.13,-0.13 -0.17,-0.16 -0.38,0.28 -0.79,0.28 -0.94,0.28 -1.21,0 -1.59,-0.67 -1.59,-1.23 0,-0.35 0.16,-0.63 0.43,-0.85 0.32,-0.26 0.6,-0.32 1.31,-0.46 z"
+   id="path5114"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 280.33,661.22 h 1.43 v 0.31 h -1.43 v 1.83 h -0.25 c -0.01,-0.82 -0.3,-1.88 -1.28,-1.92 v -0.22 h 0.85 v -2.75 c 0,-1.23 0.92,-1.35 1.28,-1.35 0.71,0 0.99,0.71 0.99,1.35 v 0.57 h -0.25 v -0.55 c 0,-0.74 -0.3,-1.12 -0.67,-1.12 -0.67,0 -0.67,0.91 -0.67,1.08 z"
+   id="path5116"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       id="g4032"
+       transform="translate(-74.999998,16.001953)">
+      <rect
+         y="824.65955"
+         x="436.56"
+         height="20"
+         width="75"
+         id="rect3963"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" />
+      <g
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         id="g3062"
+         transform="matrix(1,0,0,-1,218.52,1495.3045)"
+         xml:space="preserve"
+         stroke-miterlimit="10.433"
+         font-style="normal"
+         font-variant="normal"
+         font-weight="normal"
+         font-stretch="normal"
+         font-size-adjust="none"
+         letter-spacing="normal"
+         word-spacing="normal"
+         ns0:text="{\\small{GHC}} front-end\n"
+         ns0:preamble="">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 229.57,663.32 0,0.02 0,0.01 0,0.01 0,0.01 0,0.02 0,0.01 -0.01,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 -0.01,0.01 0,0 0,0.01 0,0.01 -0.01,0 0,0.01 0,0.01 -0.01,0 0,0.01 -0.01,0 -0.01,0 0,0.01 -0.01,0 -0.01,0 0,0 -0.01,0 -0.01,0 0,0 -0.01,0 0,0 c -0.06,0 -0.09,-0.02 -0.15,-0.1 l -0.45,-0.68 c -0.29,0.28 -0.8,0.78 -1.71,0.78 -1.74,0 -3.21,-1.44 -3.21,-3.25 0,-1.83 1.46,-3.27 3.22,-3.27 0.85,0 1.49,0.33 1.74,0.77 0.15,-0.25 0.48,-0.56 0.57,-0.56 0.1,0 0.1,0.08 0.1,0.23 v 1.54 c 0,0.36 0.03,0.4 0.63,0.4 v 0.28 c -0.58,-0.03 -0.68,-0.03 -1.16,-0.03 -0.34,0 -1.11,0 -1.43,0.03 v -0.28 h 0.29 c 0.83,0 0.86,-0.11 0.86,-0.44 v -0.56 c 0,-1.1 -1.36,-1.1 -1.48,-1.1 -0.74,0 -2.42,0.44 -2.42,2.99 0,2.5 1.63,2.98 2.37,2.98 0.89,0 1.83,-0.68 2.05,-2.13 0.02,-0.12 0.03,-0.16 0.14,-0.16 0.15,0 0.15,0.04 0.15,0.23 z"
+   id="path3064" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 235.5,660.56 h -2.77 v 2.09 c 0,0.33 0.01,0.43 0.7,0.43 h 0.21 v 0.28 c -0.4,-0.03 -0.91,-0.03 -1.32,-0.03 -0.41,0 -0.91,0 -1.32,0.03 v -0.28 h 0.21 c 0.69,0 0.71,-0.1 0.71,-0.43 v -4.71 c 0,-0.33 -0.02,-0.43 -0.71,-0.43 H 231 v -0.28 c 0.41,0.03 0.91,0.03 1.32,0.03 0.41,0 0.92,0 1.32,-0.03 v 0.28 h -0.21 c -0.69,0 -0.7,0.1 -0.7,0.43 v 2.34 h 2.77 v -2.34 c 0,-0.33 -0.01,-0.43 -0.7,-0.43 h -0.21 v -0.28 c 0.4,0.03 0.9,0.03 1.32,0.03 0.41,0 0.91,0 1.32,-0.03 v 0.28 h -0.21 c -0.69,0 -0.71,0.1 -0.71,0.43 v 4.71 c 0,0.33 0.02,0.43 0.71,0.43 h 0.21 v 0.28 c -0.41,-0.03 -0.91,-0.03 -1.32,-0.03 -0.42,0 -0.92,0 -1.32,0.03 v -0.28 h 0.21 c 0.69,0 0.7,-0.1 0.7,-0.43 z"
+   id="path3066" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 243,662.77 -0.03,0.03 -0.02,0.03 -0.03,0.03 -0.04,0.03 -0.03,0.03 -0.03,0.03 -0.04,0.03 -0.04,0.03 -0.04,0.04 -0.04,0.03 -0.04,0.03 -0.04,0.03 -0.05,0.04 -0.05,0.03 -0.05,0.03 -0.05,0.03 -0.05,0.03 -0.06,0.03 -0.05,0.02 -0.06,0.03 -0.06,0.03 -0.06,0.02 -0.07,0.02 -0.06,0.02 -0.07,0.02 -0.07,0.02 -0.07,0.01 -0.08,0.01 -0.08,0.01 -0.08,0.01 -0.08,0 -0.08,0 c -1.74,0 -3.21,-1.44 -3.21,-3.25 0,-1.85 1.49,-3.27 3.21,-3.27 1.49,0 2.41,1.23 2.41,2.28 0,0.09 0,0.17 -0.12,0.17 -0.12,0 -0.12,-0.06 -0.13,-0.14 -0.07,-1.36 -1.15,-2.03 -2.07,-2.03 -0.76,0 -2.39,0.48 -2.39,2.99 0,2.5 1.63,2.98 2.38,2.98 0.89,0 1.83,-0.68 2.04,-2.13 0.02,-0.12 0.03,-0.16 0.15,-0.16 0.14,0 0.14,0.04 0.14,0.23 v 2.1 c 0,0.15 0,0.23 -0.11,0.23 -0.06,0 -0.09,-0.02 -0.14,-0.1 z"
+   id="path3068" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 249.3,661.53 v 1.15 c 0,0.88 0.47,1.36 0.91,1.36 0.03,0 0.18,0 0.33,-0.07 -0.12,-0.04 -0.3,-0.17 -0.3,-0.42 0,-0.23 0.16,-0.43 0.43,-0.43 0.29,0 0.44,0.2 0.44,0.44 0,0.37 -0.37,0.7 -0.9,0.7 -0.7,0 -1.54,-0.53 -1.54,-1.59 v -1.14 h -0.79 v -0.31 h 0.79 v -3.23 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.39,0.01 0.86,0.03 1.14,0.03 0.4,0 0.86,0 1.26,-0.03 v 0.31 h -0.21 c -0.73,0 -0.75,0.11 -0.75,0.47 v 3.21 h 1.13 v 0.31 z"
+   id="path3070" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 252.26,660.54 v 1.1 l -1.38,-0.11 v -0.31 c 0.69,0 0.77,-0.07 0.77,-0.56 v -2.67 c 0,-0.45 -0.11,-0.45 -0.77,-0.45 v -0.31 c 0.38,0.01 0.85,0.03 1.13,0.03 0.4,0 0.87,0 1.27,-0.03 v 0.31 h -0.21 c -0.74,0 -0.76,0.11 -0.76,0.47 v 1.53 c 0,0.99 0.42,1.88 1.18,1.88 0.07,0 0.09,0 0.11,-0.01 -0.03,-0.01 -0.23,-0.13 -0.23,-0.39 0,-0.28 0.21,-0.43 0.43,-0.43 0.18,0 0.42,0.12 0.42,0.44 0,0.32 -0.31,0.61 -0.73,0.61 -0.73,0 -1.09,-0.67 -1.23,-1.1 z"
+   id="path3072" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 259.19,659.36 0,0.12 -0.01,0.12 -0.02,0.12 -0.02,0.11 -0.02,0.11 -0.03,0.11 -0.03,0.11 -0.04,0.11 -0.05,0.1 -0.05,0.1 -0.05,0.1 -0.06,0.09 -0.06,0.09 -0.07,0.09 -0.07,0.09 -0.07,0.08 -0.08,0.08 -0.08,0.07 -0.08,0.07 -0.09,0.06 -0.08,0.07 -0.1,0.05 -0.09,0.05 -0.1,0.05 -0.1,0.04 -0.1,0.04 -0.11,0.03 -0.1,0.03 -0.11,0.02 -0.11,0.01 -0.11,0.01 -0.11,0.01 -0.01,-0.22 c 0.44,0 0.87,-0.22 1.12,-0.65 0.26,-0.43 0.26,-1.01 0.26,-1.39 0,-0.35 0,-0.89 -0.22,-1.33 -0.22,-0.45 -0.65,-0.74 -1.15,-0.74 h 0 c -0.43,0 -0.87,0.21 -1.14,0.67 -0.25,0.44 -0.25,1.05 -0.25,1.4 0,0.39 0,0.93 0.24,1.37 0.27,0.46 0.74,0.67 1.14,0.67 l 0.01,0.22 c -1.25,0 -2.21,-1.09 -2.21,-2.34 0,-1.28 1.03,-2.24 2.2,-2.24 1.2,0 2.21,0.98 2.21,2.24 z"
+   id="path3074" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 260.57,660.66 v -2.67 c 0,-0.45 -0.11,-0.45 -0.77,-0.45 v -0.31 c 0.34,0.01 0.85,0.03 1.12,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.67,0 -0.78,0 -0.78,0.45 v 1.83 c 0,1.04 0.71,1.6 1.35,1.6 0.62,0 0.73,-0.54 0.73,-1.11 v -2.32 c 0,-0.45 -0.11,-0.45 -0.77,-0.45 v -0.31 c 0.35,0.01 0.85,0.03 1.12,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.52,0 -0.77,0 -0.78,0.3 v 1.9 c 0,0.86 0,1.17 -0.31,1.53 -0.14,0.17 -0.47,0.37 -1.04,0.37 -0.73,0 -1.2,-0.43 -1.48,-1.05 v 1.05 l -1.4,-0.11 v -0.31 c 0.69,0 0.77,-0.07 0.77,-0.56 z"
+   id="path3076" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 266.46,661.22 h 1.42 v 0.31 h -1.42 v 1.83 h -0.25 c -0.01,-0.82 -0.31,-1.88 -1.29,-1.92 v -0.22 h 0.85 v -2.75 c 0,-1.23 0.93,-1.35 1.29,-1.35 0.7,0 0.98,0.71 0.98,1.35 v 0.57 h -0.25 v -0.55 c 0,-0.74 -0.3,-1.12 -0.66,-1.12 -0.67,0 -0.67,0.91 -0.67,1.08 z"
+   id="path3078" />
+<polygon
+   style="fill:#000000;stroke-width:0"
+   points="268.72,659.67 268.72,659.1 271.36,659.1 271.36,659.67 "
+   id="polygon3080" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 273.03,659.53 0.01,0.21 c 0.06,1.49 0.9,1.74 1.24,1.74 1.02,0 1.12,-1.35 1.12,-1.74 h -2.36 l -0.01,-0.21 h 2.78 c 0.22,0 0.25,0 0.25,0.21 0,0.99 -0.54,1.96 -1.78,1.96 -1.16,0 -2.07,-1.03 -2.07,-2.28 0,-1.33 1.04,-2.3 2.19,-2.3 1.21,0 1.66,1.11 1.66,1.3 0,0.1 -0.08,0.12 -0.13,0.12 -0.09,0 -0.11,-0.06 -0.13,-0.14 -0.35,-1.03 -1.24,-1.03 -1.34,-1.03 -0.5,0 -0.9,0.3 -1.13,0.67 -0.3,0.48 -0.3,1.13 -0.3,1.49 z"
+   id="path3082" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 277.46,660.66 v -2.67 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.35,0.01 0.86,0.03 1.12,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.67,0 -0.78,0 -0.78,0.45 v 1.83 c 0,1.04 0.71,1.6 1.35,1.6 0.63,0 0.74,-0.54 0.74,-1.11 v -2.32 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.35,0.01 0.85,0.03 1.12,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.52,0 -0.77,0 -0.78,0.3 v 1.9 c 0,0.86 0,1.17 -0.31,1.53 -0.14,0.17 -0.46,0.37 -1.04,0.37 -0.73,0 -1.2,-0.43 -1.48,-1.05 v 1.05 l -1.4,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 z"
+   id="path3084" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 285.68,657.78 v -0.66 l 1.46,0.11 v 0.31 c -0.69,0 -0.77,0.07 -0.77,0.56 v 6.05 l -1.44,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 v -2.15 c -0.29,0.36 -0.72,0.62 -1.26,0.62 l 0.04,-0.22 c 0.35,0 0.77,-0.15 1.08,-0.6 0.11,-0.17 0.11,-0.19 0.11,-0.37 h 0 v -2.04 c 0,-0.18 0,-0.2 -0.11,-0.37 -0.3,-0.48 -0.75,-0.7 -1.17,-0.7 -0.45,0 -0.81,0.26 -1.05,0.64 -0.26,0.41 -0.29,0.98 -0.29,1.38 0,0.37 0.02,0.97 0.31,1.42 0.21,0.31 0.59,0.64 1.12,0.64 l -0.04,0.22 c -1.17,0 -2.22,-0.98 -2.22,-2.27 0,-1.26 0.98,-2.25 2.12,-2.25 0.63,0 1.08,0.34 1.33,0.66 z"
+   id="path3086" />
+</g>    </g>
+    <g
+       id="g4013"
+       transform="translate(11.000002,-5.9850566)">
+      <rect
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+         id="rect3961"
+         width="75"
+         height="20"
+         x="436.56"
+         y="846.65955" />
+      <g
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         ns0:preamble=""
+         ns0:text="Normalization\n"
+         word-spacing="normal"
+         letter-spacing="normal"
+         font-size-adjust="none"
+         font-stretch="normal"
+         font-weight="normal"
+         font-variant="normal"
+         font-style="normal"
+         stroke-miterlimit="10.433"
+         xml:space="preserve"
+         transform="matrix(1,0,0,-1,219.695,1517.2945)"
+         id="g3423">
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3425"
+   d="m 225.74,663.91 0,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.01 0,0.01 -0.01,0 -0.01,0.01 0,0.01 -0.01,0 0,0.01 -0.01,0.01 -0.01,0 0,0.01 -0.01,0 -0.01,0 0,0.01 -0.01,0 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0.01 -0.01,0 -0.01,0 -0.02,0 0,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 0,0 h -1.7 v -0.31 h 0.29 c 0.15,0 0.35,-0.01 0.5,-0.02 0.23,-0.03 0.24,-0.04 0.24,-0.23 v -5.2 c 0,-0.27 0,-0.74 -1.03,-0.74 v -0.31 c 0.35,0.01 0.84,0.03 1.17,0.03 0.33,0 0.81,-0.02 1.16,-0.03 v 0.31 c -1.02,0 -1.02,0.47 -1.02,0.74 v 5.18 c 0.05,-0.05 0.06,-0.06 0.1,-0.12 l 4.06,-5.98 c 0.09,-0.12 0.1,-0.13 0.17,-0.13 0.14,0 0.14,0.07 0.14,0.26 v 5.5 c 0,0.27 0,0.74 1.03,0.74 v 0.31 c -0.35,-0.01 -0.84,-0.03 -1.17,-0.03 -0.33,0 -0.82,0.02 -1.17,0.03 v -0.31 c 1.03,0 1.03,-0.47 1.03,-0.74 v -4.25 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3427"
+   d="m 235.6,659.36 -0.01,0.12 -0.01,0.12 -0.01,0.12 -0.02,0.11 -0.02,0.11 -0.03,0.11 -0.04,0.11 -0.04,0.11 -0.04,0.1 -0.05,0.1 -0.06,0.1 -0.05,0.09 -0.07,0.09 -0.06,0.09 -0.07,0.09 -0.07,0.08 -0.08,0.08 -0.08,0.07 -0.08,0.07 -0.09,0.06 -0.09,0.07 -0.09,0.05 -0.1,0.05 -0.09,0.05 -0.1,0.04 -0.11,0.04 -0.1,0.03 -0.11,0.03 -0.1,0.02 -0.11,0.01 -0.11,0.01 -0.12,0.01 -0.01,-0.22 c 0.44,0 0.87,-0.22 1.13,-0.65 0.26,-0.43 0.26,-1.01 0.26,-1.39 0,-0.35 0,-0.89 -0.22,-1.33 -0.22,-0.45 -0.66,-0.74 -1.16,-0.74 h 0 c -0.43,0 -0.86,0.21 -1.13,0.67 -0.25,0.44 -0.25,1.05 -0.25,1.4 0,0.39 0,0.93 0.24,1.37 0.27,0.46 0.74,0.67 1.13,0.67 l 0.01,0.22 c -1.24,0 -2.21,-1.09 -2.21,-2.34 0,-1.28 1.04,-2.24 2.2,-2.24 1.21,0 2.22,0.98 2.22,2.24 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3429"
+   d="m 237.55,660.54 v 1.1 l -1.39,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 v -2.67 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.39,0.01 0.86,0.03 1.14,0.03 0.4,0 0.86,0 1.26,-0.03 v 0.31 h -0.21 c -0.73,0 -0.75,0.11 -0.75,0.47 v 1.53 c 0,0.99 0.41,1.88 1.17,1.88 0.07,0 0.09,0 0.11,-0.01 -0.03,-0.01 -0.23,-0.13 -0.23,-0.39 0,-0.28 0.21,-0.43 0.43,-0.43 0.18,0 0.43,0.12 0.43,0.44 0,0.32 -0.31,0.61 -0.74,0.61 -0.73,0 -1.08,-0.67 -1.22,-1.1 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3431"
+   d="m 240.89,660.66 v -2.67 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.35,0.01 0.86,0.03 1.13,0.03 0.25,0 0.77,-0.02 1.11,-0.03 v 0.31 c -0.67,0 -0.78,0 -0.78,0.45 v 1.83 c 0,1.04 0.71,1.6 1.35,1.6 0.63,0 0.74,-0.54 0.74,-1.11 v -2.32 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.35,0.01 0.86,0.03 1.12,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.67,0 -0.78,0 -0.78,0.45 v 1.83 c 0,1.04 0.71,1.6 1.35,1.6 0.63,0 0.74,-0.54 0.74,-1.11 v -2.32 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.35,0.01 0.86,0.03 1.12,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.52,0 -0.77,0 -0.78,0.3 v 1.9 c 0,0.86 0,1.17 -0.31,1.53 -0.14,0.17 -0.46,0.37 -1.04,0.37 -0.84,0 -1.28,-0.6 -1.45,-0.98 -0.14,0.87 -0.87,0.98 -1.32,0.98 -0.73,0 -1.2,-0.43 -1.48,-1.05 v 1.05 l -1.4,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3433"
+   d="m 251.41,657.99 0,-0.04 0.01,-0.03 0.01,-0.04 0.01,-0.04 0.01,-0.04 0.01,-0.03 0.01,-0.04 0.01,-0.04 0.02,-0.03 0.01,-0.04 0.02,-0.03 0.02,-0.03 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.03,-0.03 0.02,-0.03 0.03,-0.02 0.03,-0.03 0.03,-0.02 0.03,-0.03 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.04,-0.01 0.03,-0.02 0.04,-0.01 0.04,-0.01 0.04,-0.01 0.04,0 0.04,-0.01 0.05,0 c 0.21,0 0.81,0.14 0.81,0.95 v 0.56 h -0.24 v -0.56 c 0,-0.58 -0.25,-0.64 -0.36,-0.64 -0.33,0 -0.37,0.45 -0.37,0.5 v 1.99 c 0,0.42 0,0.81 -0.36,1.18 -0.39,0.39 -0.89,0.55 -1.37,0.55 -0.81,0 -1.5,-0.47 -1.5,-1.13 0,-0.3 0.2,-0.47 0.46,-0.47 0.28,0 0.46,0.2 0.46,0.46 0,0.12 -0.05,0.45 -0.51,0.46 0.27,0.35 0.75,0.46 1.07,0.46 0.49,0 1.06,-0.39 1.06,-1.28 v -0.37 -0.21 -0.99 c 0,-0.95 -0.72,-1.29 -1.16,-1.29 -0.49,0 -0.9,0.35 -0.9,0.85 0,0.55 0.42,1.37 2.06,1.43 h 0 v 0.21 c -0.51,-0.03 -1.21,-0.06 -1.83,-0.36 -0.75,-0.33 -1,-0.85 -1,-1.29 0,-0.81 0.97,-1.06 1.59,-1.06 0.66,0 1.12,0.4 1.31,0.87 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3435"
+   d="m 254.84,664.15 -1.44,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 v -5.18 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.33,0.01 0.86,0.03 1.11,0.03 0.25,0 0.73,-0.02 1.1,-0.03 v 0.31 c -0.66,0 -0.77,0 -0.77,0.45 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3437"
+   d="m 257.6,661.64 -1.39,-0.11 v -0.31 c 0.65,0 0.74,-0.06 0.74,-0.55 v -2.68 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.32,0.01 0.86,0.03 1.1,0.03 0.34,0 0.69,-0.02 1.03,-0.03 v 0.31 c -0.66,0 -0.7,0.05 -0.7,0.44 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3439"
+   d="m 257.64,663.37 0,0.03 0,0.03 0,0.03 -0.01,0.02 0,0.03 -0.01,0.03 -0.01,0.02 -0.01,0.03 -0.01,0.02 -0.01,0.02 -0.02,0.02 -0.01,0.03 -0.02,0.02 -0.01,0.02 -0.02,0.01 -0.02,0.02 -0.01,0.02 -0.02,0.02 -0.02,0.01 -0.03,0.01 -0.02,0.02 -0.02,0.01 -0.02,0.01 -0.02,0.01 -0.03,0.01 -0.02,0.01 -0.03,0 -0.02,0.01 -0.03,0 -0.02,0 -0.03,0.01 -0.03,0 c -0.3,0 -0.52,-0.27 -0.52,-0.53 0,-0.27 0.22,-0.53 0.52,-0.53 0.28,0 0.53,0.21 0.53,0.53 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3441"
+   d="m 262.49,661.23 0.01,0 0,0.01 0.01,0 0,0.01 0,0 0.01,0.01 0,0 0,0 0.01,0.01 0,0 0,0.01 0,0 0.01,0 0,0.01 0.01,0 0,0.01 0,0.01 0.01,0 0,0.01 0,0 0.01,0.01 0,0 0,0.01 0,0 0.01,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0.01 c 0,0.13 -0.08,0.13 -0.26,0.13 h -3.18 l -0.11,-1.61 h 0.24 c 0.06,1.02 0.25,1.39 1.35,1.39 h 1.14 l -2.78,-3.76 c -0.09,-0.11 -0.09,-0.13 -0.09,-0.18 0,-0.14 0.07,-0.14 0.25,-0.14 h 3.29 l 0.17,1.87 h -0.25 c -0.09,-1.18 -0.3,-1.62 -1.45,-1.62 h -1.18 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3443"
+   d="m 266.35,657.99 0,-0.04 0.01,-0.03 0.01,-0.04 0.01,-0.04 0.01,-0.04 0.01,-0.03 0.01,-0.04 0.01,-0.04 0.02,-0.03 0.01,-0.04 0.02,-0.03 0.02,-0.03 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.03,-0.03 0.02,-0.03 0.03,-0.02 0.03,-0.03 0.03,-0.02 0.03,-0.03 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.04,-0.01 0.03,-0.02 0.04,-0.01 0.04,-0.01 0.04,-0.01 0.04,0 0.04,-0.01 0.05,0 c 0.21,0 0.81,0.14 0.81,0.95 v 0.56 h -0.24 v -0.56 c 0,-0.58 -0.25,-0.64 -0.36,-0.64 -0.33,0 -0.37,0.45 -0.37,0.5 v 1.99 c 0,0.42 0,0.81 -0.36,1.18 -0.39,0.39 -0.89,0.55 -1.37,0.55 -0.81,0 -1.5,-0.47 -1.5,-1.13 0,-0.3 0.2,-0.47 0.46,-0.47 0.28,0 0.46,0.2 0.46,0.46 0,0.12 -0.05,0.45 -0.51,0.46 0.27,0.35 0.75,0.46 1.07,0.46 0.49,0 1.06,-0.39 1.06,-1.28 v -0.37 -0.21 -0.99 c 0,-0.95 -0.72,-1.29 -1.17,-1.29 -0.48,0 -0.89,0.35 -0.89,0.85 0,0.55 0.42,1.37 2.06,1.43 h 0 v 0.21 c -0.51,-0.03 -1.2,-0.06 -1.83,-0.36 -0.75,-0.33 -1,-0.85 -1,-1.29 0,-0.81 0.97,-1.06 1.6,-1.06 0.65,0 1.11,0.4 1.3,0.87 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3445"
+   d="m 269.74,661.22 h 1.42 v 0.31 h -1.42 v 1.83 h -0.25 c -0.01,-0.82 -0.31,-1.88 -1.29,-1.92 v -0.22 h 0.85 v -2.75 c 0,-1.23 0.93,-1.35 1.28,-1.35 0.71,0 0.99,0.71 0.99,1.35 v 0.57 h -0.25 v -0.55 c 0,-0.74 -0.3,-1.12 -0.67,-1.12 -0.66,0 -0.66,0.91 -0.66,1.08 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3447"
+   d="m 273.65,661.64 -1.39,-0.11 v -0.31 c 0.65,0 0.74,-0.06 0.74,-0.55 v -2.68 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.32,0.01 0.86,0.03 1.1,0.03 0.34,0 0.69,-0.02 1.03,-0.03 v 0.31 c -0.66,0 -0.7,0.05 -0.7,0.44 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3449"
+   d="m 273.69,663.37 0,0.03 0,0.03 0,0.03 -0.01,0.02 0,0.03 -0.01,0.03 -0.01,0.02 -0.01,0.03 -0.01,0.02 -0.01,0.02 -0.02,0.02 -0.01,0.03 -0.02,0.02 -0.01,0.02 -0.02,0.01 -0.02,0.02 -0.01,0.02 -0.02,0.02 -0.02,0.01 -0.03,0.01 -0.02,0.02 -0.02,0.01 -0.02,0.01 -0.02,0.01 -0.03,0.01 -0.02,0.01 -0.03,0 -0.02,0.01 -0.03,0 -0.02,0 -0.03,0.01 -0.02,0 c -0.31,0 -0.53,-0.27 -0.53,-0.53 0,-0.27 0.22,-0.53 0.53,-0.53 0.27,0 0.52,0.21 0.52,0.53 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3451"
+   d="m 279.35,659.36 0,0.12 -0.01,0.12 -0.02,0.12 -0.02,0.11 -0.02,0.11 -0.03,0.11 -0.03,0.11 -0.04,0.11 -0.05,0.1 -0.05,0.1 -0.05,0.1 -0.06,0.09 -0.06,0.09 -0.07,0.09 -0.07,0.09 -0.07,0.08 -0.08,0.08 -0.08,0.07 -0.08,0.07 -0.09,0.06 -0.08,0.07 -0.1,0.05 -0.09,0.05 -0.1,0.05 -0.1,0.04 -0.1,0.04 -0.11,0.03 -0.1,0.03 -0.11,0.02 -0.11,0.01 -0.11,0.01 -0.11,0.01 -0.01,-0.22 c 0.44,0 0.87,-0.22 1.12,-0.65 0.26,-0.43 0.26,-1.01 0.26,-1.39 0,-0.35 0,-0.89 -0.22,-1.33 -0.22,-0.45 -0.65,-0.74 -1.15,-0.74 h 0 c -0.43,0 -0.87,0.21 -1.14,0.67 -0.25,0.44 -0.25,1.05 -0.25,1.4 0,0.39 0,0.93 0.24,1.37 0.27,0.46 0.74,0.67 1.14,0.67 l 0.01,0.22 c -1.25,0 -2.21,-1.09 -2.21,-2.34 0,-1.28 1.03,-2.24 2.2,-2.24 1.2,0 2.21,0.98 2.21,2.24 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path3453"
+   d="m 280.73,660.66 v -2.67 c 0,-0.45 -0.11,-0.45 -0.77,-0.45 v -0.31 c 0.34,0.01 0.85,0.03 1.12,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.67,0 -0.78,0 -0.78,0.45 v 1.83 c 0,1.04 0.71,1.6 1.35,1.6 0.62,0 0.73,-0.54 0.73,-1.11 v -2.32 c 0,-0.45 -0.11,-0.45 -0.77,-0.45 v -0.31 c 0.35,0.01 0.85,0.03 1.12,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.52,0 -0.77,0 -0.78,0.3 v 1.9 c 0,0.86 0,1.17 -0.31,1.53 -0.14,0.17 -0.47,0.37 -1.04,0.37 -0.73,0 -1.2,-0.43 -1.48,-1.05 v 1.05 l -1.4,-0.11 v -0.31 c 0.69,0 0.77,-0.07 0.77,-0.56 z" />
+</g>    </g>
+    <g
+       id="g5762">
+      <rect
+         y="840.6745"
+         x="533.56"
+         height="20"
+         width="75"
+         id="rect3959"
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" />
+      <g
+         id="g5334"
+         transform="matrix(1,0,0,-1,313.34,1511.2645)"
+         xml:space="preserve"
+         stroke-miterlimit="10.433"
+         font-style="normal"
+         font-variant="normal"
+         font-weight="normal"
+         font-stretch="normal"
+         font-size-adjust="none"
+         letter-spacing="normal"
+         word-spacing="normal"
+         ns0:text="{\\small{VHDL}} back-end\n\n\n"
+         ns0:preamble=""
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 225.36,662.64 0,0.01 -0.01,0.01 0,0.01 0,0.01 -0.01,0.01 0,0 0,0.01 -0.01,0.01 0,0.01 0,0 0,0.01 0,0.01 -0.01,0 0,0.01 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0 0,0 0,0.01 0,0 0,0 0,0 c 0,0.27 0.45,0.27 0.71,0.27 v 0.28 c -0.4,-0.03 -0.86,-0.03 -1.27,-0.03 -0.38,0 -0.51,0.01 -1.15,0.03 v -0.28 c 0.66,0 0.76,-0.04 0.88,-0.35 l 2.17,-5.5 c 0.05,-0.13 0.08,-0.2 0.22,-0.2 0.15,0 0.17,0.06 0.22,0.19 l 2.08,5.26 c 0.19,0.47 0.56,0.6 0.98,0.6 v 0.28 c -0.32,-0.03 -0.58,-0.03 -0.88,-0.03 -0.39,0 -0.57,0.01 -1.01,0.03 v -0.28 c 0.44,-0.01 0.64,-0.22 0.64,-0.45 0,-0.07 -0.01,-0.09 -0.04,-0.18 l -1.72,-4.35 z"
+   id="path5336"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 235.18,660.56 h -2.78 v 2.09 c 0,0.33 0.02,0.43 0.71,0.43 h 0.21 v 0.28 c -0.41,-0.03 -0.91,-0.03 -1.32,-0.03 -0.41,0 -0.92,0 -1.32,0.03 v -0.28 h 0.21 c 0.69,0 0.71,-0.1 0.71,-0.43 v -4.71 c 0,-0.33 -0.02,-0.43 -0.71,-0.43 h -0.21 v -0.28 c 0.4,0.03 0.91,0.03 1.32,0.03 0.41,0 0.91,0 1.32,-0.03 v 0.28 h -0.21 c -0.69,0 -0.71,0.1 -0.71,0.43 v 2.34 h 2.78 v -2.34 c 0,-0.33 -0.02,-0.43 -0.71,-0.43 h -0.2 v -0.28 c 0.4,0.03 0.9,0.03 1.32,0.03 0.41,0 0.91,0 1.31,-0.03 v 0.28 h -0.2 c -0.69,0 -0.71,0.1 -0.71,0.43 v 4.71 c 0,0.33 0.02,0.43 0.71,0.43 h 0.2 v 0.28 c -0.4,-0.03 -0.9,-0.03 -1.31,-0.03 -0.42,0 -0.92,0 -1.32,0.03 v -0.28 h 0.2 c 0.69,0 0.71,-0.1 0.71,-0.43 z"
+   id="path5338"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 237.82,663.08 0.03,0 0.03,0 0.03,0 0.03,0 0.03,0 0.03,0 0.02,0 0.03,-0.01 0.02,0 0.03,0 0.02,0 0.02,0 0.02,0 0.02,-0.01 0.02,0 0.02,0 0.02,0 0.02,-0.01 0.01,0 0.02,0 0.02,-0.01 0.01,0 0.01,-0.01 0.02,0 0.01,0 0.01,-0.01 0.01,0 0.01,-0.01 0.02,-0.01 0.02,-0.01 0.02,-0.01 0.01,-0.02 0.02,-0.01 0.01,-0.02 0.01,-0.02 0,-0.01 0.01,-0.02 0,-0.02 0.01,-0.03 0,-0.02 0,-0.02 0.01,-0.03 0,-0.02 0,-0.03 0,-0.03 0,-0.03 v -4.71 c 0,-0.33 -0.02,-0.43 -0.71,-0.43 h -0.21 v -0.28 h 3.34 l -0.23,0.28 h -0.97 c -0.42,0 -0.44,0.06 -0.44,0.37 v 4.83 c 0,0.31 0.02,0.37 0.44,0.37 h 0.96 c 0.87,0 1.41,-0.46 1.65,-0.78 0.39,-0.52 0.53,-1.17 0.53,-2.06 0,-0.36 0,-1.3 -0.5,-1.93 -0.46,-0.61 -1.11,-0.8 -1.67,-0.8 l 0.23,-0.28 c 1.55,0 2.82,1.33 2.82,3.01 0,1.71 -1.24,3.12 -2.82,3.12 h -3.34 v -0.28 z"
+   id="path5340"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 249.65,659.55 h -0.25 c -0.1,-0.91 -0.22,-2.04 -1.83,-2.04 h -0.78 c -0.42,0 -0.44,0.06 -0.44,0.37 v 4.76 c 0,0.33 0.04,0.44 0.85,0.44 h 0.29 v 0.28 c -0.31,-0.03 -1.13,-0.03 -1.49,-0.03 -0.41,0 -0.97,0 -1.37,0.03 v -0.28 h 0.21 c 0.69,0 0.7,-0.1 0.7,-0.43 v -4.71 c 0,-0.33 -0.01,-0.43 -0.7,-0.43 h -0.21 v -0.28 h 4.77 z"
+   id="path5342"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 255.09,660.99 v 3.16 l -1.44,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 v -5.94 h 0.25 c 0.01,0.01 0.09,0.15 0.36,0.62 0.15,-0.23 0.56,-0.73 1.3,-0.73 l -0.04,0.22 c -0.45,0 -0.81,0.24 -1.04,0.61 -0.14,0.21 -0.14,0.24 -0.14,0.42 h 0 v 2.05 c 0,0.19 0,0.2 0.11,0.36 0.38,0.56 0.93,0.64 1.17,0.64 0.45,0 0.81,-0.26 1.05,-0.64 0.26,-0.41 0.29,-0.98 0.29,-1.39 0,-0.36 -0.02,-0.96 -0.31,-1.41 -0.21,-0.31 -0.59,-0.64 -1.13,-0.64 l 0.04,-0.22 c 1.19,0 2.22,0.98 2.22,2.26 0,1.27 -0.97,2.26 -2.11,2.26 -0.78,0 -1.21,-0.47 -1.36,-0.65 z"
+   id="path5344"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 262.23,657.99 0,-0.04 0.01,-0.03 0,-0.04 0.01,-0.04 0.01,-0.04 0.01,-0.03 0.01,-0.04 0.02,-0.04 0.01,-0.03 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.02,-0.03 0.03,-0.03 0.02,-0.02 0.03,-0.03 0.03,-0.02 0.03,-0.03 0.03,-0.02 0.04,-0.02 0.03,-0.02 0.03,-0.01 0.04,-0.02 0.04,-0.01 0.04,-0.01 0.04,-0.01 0.04,0 0.04,-0.01 0.04,0 c 0.21,0 0.82,0.14 0.82,0.95 v 0.56 h -0.25 v -0.56 c 0,-0.58 -0.25,-0.64 -0.36,-0.64 -0.33,0 -0.37,0.45 -0.37,0.5 v 1.99 c 0,0.42 0,0.81 -0.36,1.18 -0.38,0.39 -0.88,0.55 -1.36,0.55 -0.82,0 -1.51,-0.47 -1.51,-1.13 0,-0.3 0.2,-0.47 0.46,-0.47 0.28,0 0.46,0.2 0.46,0.46 0,0.12 -0.05,0.45 -0.51,0.46 0.27,0.35 0.76,0.46 1.08,0.46 0.49,0 1.05,-0.39 1.05,-1.28 v -0.37 -0.21 -0.99 c 0,-0.95 -0.71,-1.29 -1.16,-1.29 -0.49,0 -0.9,0.35 -0.9,0.85 0,0.55 0.42,1.37 2.06,1.43 h 0 v 0.21 c -0.5,-0.03 -1.2,-0.06 -1.83,-0.36 -0.74,-0.33 -0.99,-0.85 -0.99,-1.29 0,-0.81 0.96,-1.06 1.59,-1.06 0.66,0 1.12,0.4 1.31,0.87 z"
+   id="path5346"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 265.05,659.4 0,0.08 0.01,0.07 0,0.07 0,0.07 0.01,0.07 0,0.07 0.01,0.06 0.01,0.07 0.01,0.06 0.01,0.06 0.01,0.06 0.01,0.06 0.03,0.1 0.03,0.11 0.03,0.1 0.04,0.09 0.04,0.08 0.04,0.08 0.04,0.08 0.05,0.07 0.05,0.06 0.05,0.06 0.05,0.06 0.05,0.05 0.06,0.05 0.05,0.04 0.06,0.04 0.05,0.03 0.06,0.03 0.06,0.03 0.05,0.02 0.06,0.02 0.05,0.01 0.06,0.02 0.05,0.01 0.06,0 0.05,0.01 0.05,0 c 0.09,0 0.71,-0.01 1.06,-0.37 -0.4,-0.03 -0.46,-0.33 -0.46,-0.46 0,-0.26 0.17,-0.46 0.45,-0.46 0.26,0 0.46,0.17 0.46,0.47 0,0.68 -0.76,1.07 -1.52,1.07 -1.25,0 -2.16,-1.08 -2.16,-2.32 0,-1.27 0.98,-2.26 2.14,-2.26 1.33,0 1.65,1.2 1.65,1.3 0,0.1 -0.1,0.1 -0.13,0.1 -0.09,0 -0.11,-0.04 -0.13,-0.1 -0.29,-0.93 -0.93,-1.05 -1.3,-1.05 -0.53,0 -1.41,0.43 -1.41,2.03 z"
+   id="path5348"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 269.09,657.99 0,-0.02 0,-0.02 0,-0.04 0,-0.03 -0.01,-0.04 0,-0.03 0,-0.03 -0.01,-0.02 -0.01,-0.03 -0.01,-0.02 0,-0.02 -0.02,-0.02 -0.01,-0.02 -0.01,-0.02 -0.02,-0.01 -0.02,-0.01 -0.02,-0.01 -0.02,-0.01 -0.02,-0.01 -0.03,-0.01 -0.03,-0.01 -0.03,0 -0.03,-0.01 -0.04,0 -0.03,0 -0.02,0 -0.02,0 -0.02,-0.01 -0.03,0 -0.02,0 -0.02,0 -0.03,0 -0.02,0 -0.03,0 -0.02,0 -0.03,0 -0.03,0 -0.03,0 -0.03,0 -0.03,0 -0.03,0 v -0.31 c 0.33,0.01 0.8,0.03 1.09,0.03 0.3,0 0.7,-0.01 1.1,-0.03 v 0.31 c -0.67,0 -0.78,0 -0.78,0.45 v 1.03 l 0.64,0.54 c 0.76,-1.05 1.18,-1.61 1.18,-1.79 0,-0.19 -0.17,-0.23 -0.36,-0.23 v -0.31 c 0.28,0.01 0.87,0.03 1.08,0.03 0.29,0 0.58,-0.01 0.87,-0.03 v 0.31 c -0.37,0 -0.59,0 -0.97,0.53 l -1.27,1.78 c -0.01,0.02 -0.06,0.08 -0.06,0.11 0,0.04 0.71,0.64 0.81,0.72 0.63,0.51 1.05,0.53 1.26,0.54 v 0.31 c -0.29,-0.03 -0.42,-0.03 -0.7,-0.03 -0.36,0 -0.98,0.02 -1.12,0.03 v -0.31 c 0.19,-0.01 0.29,-0.12 0.29,-0.25 0,-0.2 -0.14,-0.32 -0.22,-0.39 l -1.4,-1.22 v 4.79 l -1.44,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 z"
+   id="path5350"
+   style="fill:#000000;stroke-width:0" />
+<polygon
+   points="276.04,659.67 273.4,659.67 273.4,659.1 276.04,659.1 "
+   id="polygon5352"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 277.72,659.53 0.01,0.21 c 0.06,1.49 0.9,1.74 1.24,1.74 1.02,0 1.12,-1.35 1.12,-1.74 h -2.36 l -0.01,-0.21 h 2.78 c 0.22,0 0.25,0 0.25,0.21 0,0.99 -0.54,1.96 -1.78,1.96 -1.16,0 -2.08,-1.03 -2.08,-2.28 0,-1.33 1.05,-2.3 2.2,-2.3 1.21,0 1.66,1.11 1.66,1.3 0,0.1 -0.08,0.12 -0.13,0.12 -0.09,0 -0.11,-0.06 -0.13,-0.14 -0.35,-1.03 -1.25,-1.03 -1.34,-1.03 -0.5,0 -0.9,0.3 -1.13,0.67 -0.3,0.48 -0.3,1.13 -0.3,1.49 z"
+   id="path5354"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 282.14,660.66 v -2.67 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.35,0.01 0.86,0.03 1.12,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.67,0 -0.78,0 -0.78,0.45 v 1.83 c 0,1.04 0.71,1.6 1.35,1.6 0.63,0 0.73,-0.54 0.73,-1.11 v -2.32 c 0,-0.45 -0.1,-0.45 -0.77,-0.45 v -0.31 c 0.35,0.01 0.85,0.03 1.12,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.52,0 -0.77,0 -0.78,0.3 v 1.9 c 0,0.86 0,1.17 -0.31,1.53 -0.14,0.17 -0.46,0.37 -1.04,0.37 -0.73,0 -1.2,-0.43 -1.48,-1.05 v 1.05 l -1.4,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 z"
+   id="path5356"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 290.36,657.78 v -0.66 l 1.47,0.11 v 0.31 c -0.7,0 -0.78,0.07 -0.78,0.56 v 6.05 l -1.44,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 v -2.15 c -0.29,0.36 -0.72,0.62 -1.25,0.62 l 0.03,-0.22 c 0.35,0 0.77,-0.15 1.08,-0.6 0.11,-0.17 0.11,-0.19 0.11,-0.37 h 0 v -2.04 c 0,-0.18 0,-0.2 -0.11,-0.37 -0.3,-0.48 -0.75,-0.7 -1.17,-0.7 -0.45,0 -0.81,0.26 -1.05,0.64 -0.26,0.41 -0.29,0.98 -0.29,1.38 0,0.37 0.02,0.97 0.31,1.42 0.21,0.31 0.59,0.64 1.12,0.64 l -0.03,0.22 c -1.18,0 -2.23,-0.98 -2.23,-2.27 0,-1.26 0.98,-2.25 2.12,-2.25 0.63,0 1.08,0.34 1.33,0.66 z"
+   id="path5358"
+   style="fill:#000000;stroke-width:0" />
+</g>    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 399.06,827.7095 0,11.4"
+       id="path5778"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path6750"
+       d="m 571.06,861.3095 0,11.4"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 399.06,860.7095 0,19.5 30.4,0"
+       id="path6752"
+       sodipodi:nodetypes="ccc" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path6940"
+       d="m 485.06,840.5095 0,-19.8 15.7,0"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 553.96,820.7095 17.1,0 0,17.675"
+       id="path7314"
+       sodipodi:nodetypes="ccc" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path7316"
+       d="m 453.76,880.2095 31.3,0 0,-17.8"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <g
+       id="g8271"
+       transform="matrix(1,0,0,-1,132.75,1481.8595)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="\\begin{center}\nNormalized \\\\\nCore\n\\end{center}\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 372.82,663.91 -0.01,0.01 -0.01,0.01 0,0.01 -0.01,0.01 -0.01,0.01 0,0 -0.01,0.01 -0.01,0.01 0,0 -0.01,0.01 -0.01,0.01 0,0 -0.01,0.01 0,0 -0.01,0 -0.01,0.01 -0.01,0 0,0 -0.01,0.01 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0.01 -0.01,0 -0.02,0 -0.01,0 -0.01,0 -0.01,0 0,0 -0.01,0 -0.01,0 -0.01,0 h -1.69 v -0.31 h 0.28 c 0.15,0 0.35,-0.01 0.5,-0.02 0.23,-0.03 0.24,-0.04 0.24,-0.23 v -5.2 c 0,-0.27 0,-0.74 -1.02,-0.74 v -0.31 c 0.34,0.01 0.83,0.03 1.16,0.03 0.33,0 0.82,-0.02 1.17,-0.03 v 0.31 c -1.03,0 -1.03,0.47 -1.03,0.74 v 5.18 c 0.05,-0.05 0.06,-0.06 0.1,-0.12 l 4.07,-5.98 c 0.08,-0.12 0.09,-0.13 0.17,-0.13 0.13,0 0.13,0.07 0.13,0.26 v 5.5 c 0,0.27 0,0.74 1.03,0.74 v 0.31 c -0.35,-0.01 -0.84,-0.03 -1.16,-0.03 -0.33,0 -0.82,0.02 -1.17,0.03 v -0.31 c 1.03,0 1.03,-0.47 1.03,-0.74 v -4.25 z"
+   id="path8273" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 382.67,659.36 0,0.12 -0.01,0.12 -0.02,0.12 -0.02,0.11 -0.02,0.11 -0.03,0.11 -0.03,0.11 -0.04,0.11 -0.05,0.1 -0.05,0.1 -0.05,0.1 -0.06,0.09 -0.06,0.09 -0.07,0.09 -0.07,0.09 -0.07,0.08 -0.08,0.08 -0.08,0.07 -0.08,0.07 -0.09,0.06 -0.08,0.07 -0.1,0.05 -0.09,0.05 -0.1,0.05 -0.1,0.04 -0.1,0.04 -0.11,0.03 -0.1,0.03 -0.11,0.02 -0.11,0.01 -0.11,0.01 -0.11,0.01 -0.01,-0.22 c 0.44,0 0.87,-0.22 1.12,-0.65 0.26,-0.43 0.26,-1.01 0.26,-1.39 0,-0.35 0,-0.89 -0.22,-1.33 -0.22,-0.45 -0.65,-0.74 -1.15,-0.74 h 0 c -0.43,0 -0.87,0.21 -1.14,0.67 -0.25,0.44 -0.25,1.05 -0.25,1.4 0,0.39 0,0.93 0.24,1.37 0.27,0.46 0.74,0.67 1.14,0.67 l 0.01,0.22 c -1.25,0 -2.21,-1.09 -2.21,-2.34 0,-1.28 1.03,-2.24 2.2,-2.24 1.2,0 2.21,0.98 2.21,2.24 z"
+   id="path8275" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 384.62,660.54 v 1.1 l -1.38,-0.11 v -0.31 c 0.69,0 0.77,-0.07 0.77,-0.56 v -2.67 c 0,-0.45 -0.11,-0.45 -0.77,-0.45 v -0.31 c 0.38,0.01 0.85,0.03 1.13,0.03 0.4,0 0.87,0 1.27,-0.03 v 0.31 h -0.21 c -0.74,0 -0.76,0.11 -0.76,0.47 v 1.53 c 0,0.99 0.42,1.88 1.18,1.88 0.07,0 0.09,0 0.11,-0.01 -0.03,-0.01 -0.23,-0.13 -0.23,-0.39 0,-0.28 0.21,-0.43 0.43,-0.43 0.17,0 0.42,0.12 0.42,0.44 0,0.32 -0.31,0.61 -0.73,0.61 -0.73,0 -1.09,-0.67 -1.23,-1.1 z"
+   id="path8277" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 387.96,660.66 v -2.67 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.35,0.01 0.86,0.03 1.13,0.03 0.26,0 0.78,-0.02 1.11,-0.03 v 0.31 c -0.66,0 -0.77,0 -0.77,0.45 v 1.83 c 0,1.04 0.71,1.6 1.34,1.6 0.63,0 0.74,-0.54 0.74,-1.11 v -2.32 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.35,0.01 0.86,0.03 1.13,0.03 0.26,0 0.78,-0.02 1.12,-0.03 v 0.31 c -0.67,0 -0.78,0 -0.78,0.45 v 1.83 c 0,1.04 0.7,1.6 1.34,1.6 0.63,0 0.74,-0.54 0.74,-1.11 v -2.32 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.35,0.01 0.86,0.03 1.13,0.03 0.26,0 0.78,-0.02 1.11,-0.03 v 0.31 c -0.51,0 -0.76,0 -0.77,0.3 v 1.9 c 0,0.86 0,1.17 -0.31,1.53 -0.14,0.17 -0.47,0.37 -1.05,0.37 -0.83,0 -1.27,-0.6 -1.44,-0.98 -0.14,0.87 -0.88,0.98 -1.33,0.98 -0.72,0 -1.19,-0.43 -1.47,-1.05 v 1.05 l -1.41,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 z"
+   id="path8279" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 398.48,657.99 0,-0.04 0.01,-0.03 0.01,-0.04 0,-0.04 0.01,-0.04 0.01,-0.03 0.02,-0.04 0.01,-0.04 0.01,-0.03 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.03,-0.03 0.02,-0.03 0.03,-0.02 0.02,-0.03 0.03,-0.02 0.03,-0.03 0.03,-0.02 0.04,-0.02 0.03,-0.02 0.04,-0.01 0.03,-0.02 0.04,-0.01 0.04,-0.01 0.04,-0.01 0.04,0 0.04,-0.01 0.05,0 c 0.2,0 0.81,0.14 0.81,0.95 v 0.56 h -0.25 v -0.56 c 0,-0.58 -0.25,-0.64 -0.36,-0.64 -0.32,0 -0.36,0.45 -0.36,0.5 v 1.99 c 0,0.42 0,0.81 -0.36,1.18 -0.39,0.39 -0.89,0.55 -1.37,0.55 -0.82,0 -1.5,-0.47 -1.5,-1.13 0,-0.3 0.2,-0.47 0.46,-0.47 0.28,0 0.45,0.2 0.45,0.46 0,0.12 -0.05,0.45 -0.5,0.46 0.27,0.35 0.75,0.46 1.07,0.46 0.49,0 1.06,-0.39 1.06,-1.28 v -0.37 -0.21 -0.99 c 0,-0.95 -0.72,-1.29 -1.17,-1.29 -0.49,0 -0.89,0.35 -0.89,0.85 0,0.55 0.41,1.37 2.06,1.43 h 0 v 0.21 c -0.51,-0.03 -1.21,-0.06 -1.83,-0.36 -0.75,-0.33 -1,-0.85 -1,-1.29 0,-0.81 0.97,-1.06 1.59,-1.06 0.66,0 1.12,0.4 1.31,0.87 z"
+   id="path8281" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 401.91,664.15 -1.43,-0.11 v -0.31 c 0.69,0 0.77,-0.07 0.77,-0.56 v -5.18 c 0,-0.45 -0.11,-0.45 -0.77,-0.45 v -0.31 c 0.32,0.01 0.85,0.03 1.1,0.03 0.25,0 0.74,-0.02 1.11,-0.03 v 0.31 c -0.67,0 -0.78,0 -0.78,0.45 z"
+   id="path8283" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 404.68,661.64 -1.4,-0.11 v -0.31 c 0.65,0 0.74,-0.06 0.74,-0.55 v -2.68 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.32,0.01 0.86,0.03 1.1,0.03 0.35,0 0.7,-0.02 1.04,-0.03 v 0.31 c -0.66,0 -0.7,0.05 -0.7,0.44 z"
+   id="path8285" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 404.72,663.37 0,0.03 0,0.03 -0.01,0.03 0,0.02 -0.01,0.03 -0.01,0.03 -0.01,0.02 -0.01,0.03 -0.01,0.02 -0.01,0.02 -0.01,0.02 -0.02,0.03 -0.01,0.02 -0.02,0.02 -0.01,0.01 -0.02,0.02 -0.02,0.02 -0.02,0.02 -0.02,0.01 -0.02,0.01 -0.02,0.02 -0.02,0.01 -0.03,0.01 -0.02,0.01 -0.02,0.01 -0.03,0.01 -0.02,0 -0.03,0.01 -0.02,0 -0.03,0 -0.02,0.01 -0.03,0 c -0.31,0 -0.53,-0.27 -0.53,-0.53 0,-0.27 0.22,-0.53 0.53,-0.53 0.28,0 0.53,0.21 0.53,0.53 z"
+   id="path8287" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 409.57,661.23 0,0 0.01,0.01 0,0 0,0.01 0.01,0 0,0.01 0,0 0.01,0 0,0.01 0,0 0.01,0.01 0,0 0,0 0.01,0.01 0,0 0,0.01 0.01,0.01 0,0 0.01,0.01 0,0 0,0.01 0,0 0.01,0.01 0,0 0,0.01 0,0 0,0 0,0.01 0.01,0 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0.01 c 0,0.13 -0.08,0.13 -0.26,0.13 h -3.19 l -0.11,-1.61 h 0.25 c 0.06,1.02 0.25,1.39 1.35,1.39 h 1.13 l -2.78,-3.76 c -0.09,-0.11 -0.09,-0.13 -0.09,-0.18 0,-0.14 0.07,-0.14 0.26,-0.14 h 3.29 l 0.17,1.87 h -0.25 c -0.09,-1.18 -0.3,-1.62 -1.46,-1.62 h -1.17 z"
+   id="path8289" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 411.21,659.53 0.01,0.21 c 0.06,1.49 0.9,1.74 1.24,1.74 1.02,0 1.12,-1.35 1.12,-1.74 h -2.36 l -0.01,-0.21 h 2.78 c 0.22,0 0.25,0 0.25,0.21 0,0.99 -0.54,1.96 -1.78,1.96 -1.16,0 -2.07,-1.03 -2.07,-2.28 0,-1.33 1.04,-2.3 2.19,-2.3 1.21,0 1.66,1.11 1.66,1.3 0,0.1 -0.08,0.12 -0.13,0.12 -0.09,0 -0.11,-0.06 -0.13,-0.14 -0.35,-1.03 -1.24,-1.03 -1.34,-1.03 -0.5,0 -0.9,0.3 -1.13,0.67 -0.3,0.48 -0.3,1.13 -0.3,1.49 z"
+   id="path8291" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 418.32,657.78 v -0.66 l 1.46,0.11 v 0.31 c -0.7,0 -0.77,0.07 -0.77,0.56 v 6.05 l -1.44,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 v -2.15 c -0.29,0.36 -0.72,0.62 -1.26,0.62 l 0.04,-0.22 c 0.35,0 0.77,-0.15 1.08,-0.6 0.11,-0.17 0.11,-0.19 0.11,-0.37 h 0 v -2.04 c 0,-0.18 0,-0.2 -0.11,-0.37 -0.3,-0.48 -0.75,-0.7 -1.18,-0.7 -0.45,0 -0.8,0.26 -1.04,0.64 -0.26,0.41 -0.29,0.98 -0.29,1.38 0,0.37 0.02,0.97 0.31,1.42 0.21,0.31 0.59,0.64 1.12,0.64 l -0.04,0.22 c -1.17,0 -2.22,-0.98 -2.22,-2.27 0,-1.26 0.98,-2.25 2.11,-2.25 0.64,0 1.09,0.34 1.34,0.66 z"
+   id="path8293" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 385.59,648.68 0.01,-0.19 0.01,-0.19 0.02,-0.18 0.04,-0.18 0.04,-0.18 0.04,-0.18 0.06,-0.17 0.06,-0.16 0.08,-0.16 0.07,-0.16 0.09,-0.15 0.09,-0.15 0.1,-0.14 0.1,-0.14 0.12,-0.13 0.11,-0.12 0.12,-0.12 0.13,-0.11 0.13,-0.11 0.14,-0.1 0.14,-0.09 0.14,-0.09 0.15,-0.07 0.16,-0.08 0.15,-0.06 0.16,-0.05 0.16,-0.05 0.17,-0.04 0.17,-0.03 0.17,-0.02 0.17,-0.02 0.17,0 c 1.62,0 2.6,1.38 2.6,2.54 0,0.1 0,0.17 -0.13,0.17 -0.11,0 -0.11,-0.06 -0.12,-0.16 -0.08,-1.43 -1.14,-2.24 -2.23,-2.24 -0.61,0 -2.56,0.34 -2.56,3.3 0,2.98 1.94,3.32 2.55,3.32 1.09,0 1.97,-0.9 2.17,-2.36 0.02,-0.14 0.02,-0.17 0.16,-0.17 0.16,0 0.16,0.03 0.16,0.24 v 2.36 c 0,0.17 0,0.24 -0.11,0.24 -0.04,0 -0.08,0 -0.16,-0.12 l -0.5,-0.74 c -0.37,0.36 -0.87,0.86 -1.83,0.86 -1.86,0 -3.47,-1.58 -3.47,-3.62 z"
+   id="path8295" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 396.92,647.41 0,0.12 -0.01,0.12 -0.02,0.11 -0.02,0.12 -0.02,0.11 -0.03,0.11 -0.03,0.11 -0.04,0.1 -0.05,0.11 -0.05,0.1 -0.05,0.09 -0.06,0.1 -0.06,0.09 -0.07,0.09 -0.07,0.08 -0.07,0.08 -0.08,0.08 -0.08,0.07 -0.08,0.07 -0.09,0.07 -0.08,0.06 -0.1,0.06 -0.09,0.05 -0.1,0.05 -0.1,0.04 -0.1,0.04 -0.11,0.03 -0.1,0.02 -0.11,0.02 -0.11,0.02 -0.11,0.01 -0.11,0 -0.01,-0.22 c 0.44,0 0.87,-0.22 1.12,-0.65 0.26,-0.42 0.26,-1 0.26,-1.38 0,-0.36 0,-0.9 -0.22,-1.34 -0.22,-0.44 -0.65,-0.73 -1.15,-0.73 h 0 c -0.43,0 -0.87,0.21 -1.14,0.67 -0.25,0.43 -0.25,1.04 -0.25,1.4 0,0.39 0,0.93 0.24,1.36 0.27,0.46 0.74,0.67 1.14,0.67 l 0.01,0.22 c -1.25,0 -2.21,-1.08 -2.21,-2.33 0,-1.29 1.03,-2.24 2.2,-2.24 1.2,0 2.21,0.97 2.21,2.24 z"
+   id="path8297" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 398.87,648.59 v 1.09 l -1.38,-0.11 v -0.31 c 0.69,0 0.77,-0.07 0.77,-0.55 v -2.68 c 0,-0.44 -0.11,-0.44 -0.77,-0.44 v -0.31 c 0.39,0.01 0.85,0.03 1.13,0.03 0.4,0 0.87,0 1.27,-0.03 v 0.31 h -0.21 c -0.74,0 -0.76,0.11 -0.76,0.46 v 1.54 c 0,0.99 0.42,1.87 1.18,1.87 0.07,0 0.09,0 0.11,-0.01 -0.03,-0.01 -0.23,-0.13 -0.23,-0.39 0,-0.28 0.21,-0.42 0.43,-0.42 0.17,0 0.42,0.11 0.42,0.43 0,0.32 -0.31,0.61 -0.73,0.61 -0.73,0 -1.09,-0.67 -1.23,-1.09 z"
+   id="path8299" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 402.22,647.58 0.01,0.21 c 0.06,1.48 0.9,1.73 1.24,1.73 1.02,0 1.12,-1.34 1.12,-1.73 h -2.36 l -0.01,-0.21 H 405 c 0.22,0 0.25,0 0.25,0.21 0,0.98 -0.54,1.95 -1.78,1.95 -1.16,0 -2.08,-1.02 -2.08,-2.27 0,-1.34 1.05,-2.3 2.2,-2.3 1.21,0 1.66,1.1 1.66,1.29 0,0.1 -0.08,0.12 -0.13,0.12 -0.09,0 -0.11,-0.06 -0.13,-0.14 -0.35,-1.02 -1.25,-1.02 -1.34,-1.02 -0.5,0 -0.9,0.3 -1.13,0.67 -0.3,0.47 -0.3,1.13 -0.3,1.49 z"
+   id="path8301" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="Haskell Source\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,143.62137,1482.3035)"
+       id="content">
+<path
+   id="path8704"
+   d="m 229.54,663.26 0,0.03 0,0.03 0,0.03 0,0.03 0,0.03 0.01,0.03 0,0.02 0.01,0.02 0,0.03 0.01,0.02 0.01,0.02 0.01,0.02 0.01,0.01 0.01,0.02 0.02,0.01 0.02,0.02 0.02,0.01 0.02,0.01 0.01,0.01 0.01,0 0.02,0.01 0.01,0 0.02,0.01 0.01,0 0.02,0.01 0.01,0 0.02,0.01 0.02,0 0.02,0 0.02,0.01 0.02,0 0.02,0 0.03,0 0.02,0.01 0.02,0 0.03,0 0.03,0 0.02,0 0.03,0 0.03,0.01 0.03,0 0.03,0 0.03,0 0.04,0 0.03,0 0.04,0 h 0.24 v 0.31 c -0.35,-0.03 -1.09,-0.03 -1.47,-0.03 -0.38,0 -1.12,0 -1.47,0.03 v -0.31 h 0.24 c 0.76,0 0.78,-0.11 0.78,-0.47 v -2.33 h -2.98 v 2.33 c 0,0.36 0.02,0.47 0.79,0.47 h 0.24 v 0.31 c -0.35,-0.03 -1.09,-0.03 -1.46,-0.03 -0.38,0 -1.13,0 -1.48,0.03 v -0.31 H 224 c 0.77,0 0.79,-0.11 0.79,-0.47 v -5.25 c 0,-0.36 -0.02,-0.47 -0.79,-0.47 h -0.24 v -0.31 c 0.35,0.03 1.09,0.03 1.47,0.03 0.37,0 1.12,0 1.47,-0.03 v 0.31 h -0.24 c -0.77,0 -0.79,0.11 -0.79,0.47 v 2.61 h 2.98 v -2.61 c 0,-0.36 -0.02,-0.47 -0.78,-0.47 h -0.24 v -0.31 c 0.35,0.03 1.08,0.03 1.46,0.03 0.38,0 1.13,0 1.48,-0.03 v 0.31 h -0.24 c -0.77,0 -0.79,0.11 -0.79,0.47 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8706"
+   d="m 234.22,657.99 0,-0.04 0.01,-0.03 0.01,-0.04 0.01,-0.04 0.01,-0.04 0.01,-0.03 0.01,-0.04 0.01,-0.04 0.02,-0.03 0.01,-0.04 0.02,-0.03 0.02,-0.03 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.03,-0.03 0.02,-0.03 0.03,-0.02 0.03,-0.03 0.03,-0.02 0.03,-0.03 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.04,-0.01 0.03,-0.02 0.04,-0.01 0.04,-0.01 0.04,-0.01 0.04,0 0.04,-0.01 0.05,0 c 0.21,0 0.81,0.14 0.81,0.95 v 0.56 h -0.24 v -0.56 c 0,-0.58 -0.25,-0.64 -0.36,-0.64 -0.33,0 -0.37,0.45 -0.37,0.5 v 1.99 c 0,0.42 0,0.81 -0.36,1.18 -0.39,0.39 -0.89,0.55 -1.37,0.55 -0.81,0 -1.5,-0.47 -1.5,-1.13 0,-0.3 0.2,-0.47 0.46,-0.47 0.28,0 0.46,0.2 0.46,0.46 0,0.12 -0.05,0.45 -0.51,0.46 0.27,0.35 0.75,0.46 1.07,0.46 0.49,0 1.06,-0.39 1.06,-1.28 v -0.37 -0.21 -0.99 c 0,-0.95 -0.72,-1.29 -1.16,-1.29 -0.49,0 -0.9,0.35 -0.9,0.85 0,0.55 0.42,1.37 2.06,1.43 h 0 v 0.21 c -0.51,-0.03 -1.2,-0.06 -1.83,-0.36 -0.75,-0.33 -1,-0.85 -1,-1.29 0,-0.81 0.97,-1.06 1.59,-1.06 0.66,0 1.12,0.4 1.31,0.87 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8708"
+   d="m 237.96,659.16 0.02,0 0.02,0 0.03,-0.01 0.03,-0.01 0.04,0 0.03,-0.01 0.04,-0.01 0.04,-0.01 0.04,-0.02 0.04,-0.01 0.05,-0.02 0.04,-0.01 0.04,-0.02 0.05,-0.02 0.04,-0.02 0.05,-0.03 0.04,-0.03 0.04,-0.02 0.04,-0.03 0.04,-0.04 0.04,-0.03 0.03,-0.04 0.04,-0.04 0.03,-0.04 0.03,-0.05 0.01,-0.02 0.01,-0.02 0.02,-0.03 0.01,-0.02 0.01,-0.03 0.01,-0.03 0,-0.03 0.01,-0.02 0.01,-0.03 0,-0.03 0.01,-0.03 0,-0.04 0,-0.03 0,-0.03 c 0,-0.51 -0.35,-0.91 -1.12,-0.91 -0.84,0 -1.2,0.57 -1.39,1.42 -0.03,0.13 -0.04,0.17 -0.14,0.17 -0.13,0 -0.13,-0.07 -0.13,-0.25 v -1.32 c 0,-0.17 0,-0.24 0.11,-0.24 0.05,0 0.06,0.01 0.25,0.2 0.02,0.02 0.02,0.04 0.2,0.23 0.44,-0.42 0.89,-0.43 1.1,-0.43 1.14,0 1.6,0.67 1.6,1.39 0,0.53 -0.3,0.83 -0.42,0.94 -0.33,0.32 -0.72,0.4 -1.14,0.48 -0.55,0.11 -1.22,0.24 -1.22,0.82 0,0.35 0.26,0.76 1.11,0.76 1.1,0 1.15,-0.9 1.17,-1.21 0.01,-0.09 0.1,-0.09 0.12,-0.09 0.13,0 0.13,0.05 0.13,0.24 v 1.01 c 0,0.17 0,0.24 -0.11,0.24 -0.05,0 -0.07,0 -0.2,-0.12 -0.03,-0.04 -0.13,-0.13 -0.17,-0.16 -0.38,0.28 -0.78,0.28 -0.94,0.28 -1.21,0 -1.59,-0.67 -1.59,-1.23 0,-0.35 0.16,-0.63 0.43,-0.85 0.32,-0.26 0.6,-0.32 1.32,-0.46 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8710"
+   d="m 240.87,657.99 0,-0.02 0,-0.02 0,-0.04 0,-0.03 -0.01,-0.04 0,-0.03 -0.01,-0.03 0,-0.02 -0.01,-0.03 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.02,-0.02 -0.01,-0.01 -0.02,-0.01 -0.02,-0.01 -0.02,-0.01 -0.03,-0.01 -0.02,-0.01 -0.03,-0.01 -0.03,0 -0.03,-0.01 -0.04,0 -0.04,0 -0.02,0 -0.02,0 -0.02,-0.01 -0.02,0 -0.02,0 -0.03,0 -0.02,0 -0.02,0 -0.03,0 -0.03,0 -0.02,0 -0.03,0 -0.03,0 -0.03,0 -0.03,0 -0.03,0 v -0.31 c 0.33,0.01 0.8,0.03 1.09,0.03 0.3,0 0.7,-0.01 1.09,-0.03 v 0.31 c -0.66,0 -0.77,0 -0.77,0.45 v 1.03 l 0.63,0.54 c 0.77,-1.05 1.19,-1.61 1.19,-1.79 0,-0.19 -0.17,-0.23 -0.36,-0.23 v -0.31 c 0.28,0.01 0.87,0.03 1.08,0.03 0.29,0 0.57,-0.01 0.86,-0.03 v 0.31 c -0.36,0 -0.58,0 -0.96,0.53 l -1.27,1.78 c -0.01,0.02 -0.06,0.08 -0.06,0.11 0,0.04 0.71,0.64 0.81,0.72 0.63,0.51 1.04,0.53 1.25,0.54 v 0.31 c -0.29,-0.03 -0.41,-0.03 -0.69,-0.03 -0.36,0 -0.98,0.02 -1.12,0.03 v -0.31 c 0.19,-0.01 0.29,-0.12 0.29,-0.25 0,-0.2 -0.14,-0.32 -0.22,-0.39 l -1.4,-1.22 v 4.79 l -1.44,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8712"
+   d="m 245.9,659.53 0.01,0.21 c 0.06,1.49 0.89,1.74 1.23,1.74 1.03,0 1.13,-1.35 1.13,-1.74 h -2.36 l -0.01,-0.21 h 2.78 c 0.22,0 0.25,0 0.25,0.21 0,0.99 -0.54,1.96 -1.79,1.96 -1.15,0 -2.07,-1.03 -2.07,-2.28 0,-1.33 1.05,-2.3 2.19,-2.3 1.22,0 1.67,1.11 1.67,1.3 0,0.1 -0.08,0.12 -0.13,0.12 -0.09,0 -0.11,-0.06 -0.13,-0.14 -0.35,-1.03 -1.25,-1.03 -1.35,-1.03 -0.5,0 -0.89,0.3 -1.12,0.67 -0.3,0.48 -0.3,1.13 -0.3,1.49 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8714"
+   d="m 250.98,664.15 -1.43,-0.11 v -0.31 c 0.69,0 0.77,-0.07 0.77,-0.56 v -5.18 c 0,-0.45 -0.11,-0.45 -0.77,-0.45 v -0.31 c 0.33,0.01 0.85,0.03 1.1,0.03 0.25,0 0.74,-0.02 1.11,-0.03 v 0.31 c -0.67,0 -0.78,0 -0.78,0.45 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8716"
+   d="m 253.75,664.15 -1.44,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 v -5.18 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.33,0.01 0.86,0.03 1.11,0.03 0.25,0 0.74,-0.02 1.1,-0.03 v 0.31 c -0.66,0 -0.77,0 -0.77,0.45 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8718"
+   d="m 261.56,661.1 -1.28,0.31 c -0.61,0.15 -1,0.68 -1,1.26 0,0.7 0.54,1.31 1.31,1.31 1.67,0 1.89,-1.64 1.95,-2.08 0.01,-0.06 0.01,-0.12 0.11,-0.12 0.14,0 0.14,0.05 0.14,0.24 v 2 c 0,0.17 0,0.24 -0.12,0.24 -0.06,0 -0.07,-0.01 -0.14,-0.13 l -0.35,-0.57 c -0.3,0.29 -0.71,0.7 -1.6,0.7 -1.1,0 -1.94,-0.88 -1.94,-1.94 0,-0.82 0.53,-1.55 1.31,-1.82 0.1,-0.04 0.61,-0.16 1.31,-0.33 0.27,-0.07 0.57,-0.14 0.85,-0.51 0.21,-0.26 0.31,-0.58 0.31,-0.91 0,-0.71 -0.5,-1.43 -1.34,-1.43 -0.29,0 -1.04,0.05 -1.57,0.54 -0.58,0.54 -0.61,1.18 -0.62,1.53 -0.01,0.1 -0.09,0.1 -0.12,0.1 -0.13,0 -0.13,-0.07 -0.13,-0.25 v -1.99 c 0,-0.17 0,-0.24 0.11,-0.24 0.07,0 0.08,0.02 0.15,0.13 0,0.01 0.03,0.04 0.36,0.57 0.31,-0.34 0.94,-0.7 1.83,-0.7 1.17,0 1.96,0.98 1.96,2.08 0,0.99 -0.65,1.81 -1.49,2.01 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8720"
+   d="m 268.31,659.36 0,0.12 -0.01,0.12 -0.02,0.12 -0.02,0.11 -0.02,0.11 -0.03,0.11 -0.03,0.11 -0.04,0.11 -0.05,0.1 -0.05,0.1 -0.05,0.1 -0.06,0.09 -0.06,0.09 -0.07,0.09 -0.07,0.09 -0.07,0.08 -0.08,0.08 -0.08,0.07 -0.08,0.07 -0.09,0.06 -0.08,0.07 -0.1,0.05 -0.09,0.05 -0.1,0.05 -0.1,0.04 -0.1,0.04 -0.11,0.03 -0.1,0.03 -0.11,0.02 -0.11,0.01 -0.11,0.01 -0.11,0.01 -0.01,-0.22 c 0.44,0 0.86,-0.22 1.12,-0.65 0.26,-0.43 0.26,-1.01 0.26,-1.39 0,-0.35 0,-0.89 -0.22,-1.33 -0.21,-0.45 -0.65,-0.74 -1.15,-0.74 h 0 c -0.43,0 -0.87,0.21 -1.14,0.67 -0.25,0.44 -0.25,1.05 -0.25,1.4 0,0.39 0,0.93 0.24,1.37 0.27,0.46 0.74,0.67 1.14,0.67 l 0.01,0.22 c -1.25,0 -2.21,-1.09 -2.21,-2.34 0,-1.28 1.03,-2.24 2.2,-2.24 1.2,0 2.21,0.98 2.21,2.24 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8722"
+   d="m 272.49,658.02 v -0.9 l 1.44,0.11 v 0.31 c -0.7,0 -0.78,0.07 -0.78,0.56 v 3.54 l -1.46,-0.11 v -0.31 c 0.69,0 0.77,-0.07 0.77,-0.56 v -1.77 c 0,-0.87 -0.48,-1.55 -1.2,-1.55 -0.84,0 -0.88,0.47 -0.88,0.99 v 3.31 l -1.46,-0.11 v -0.31 c 0.77,0 0.77,-0.03 0.77,-0.92 v -1.49 c 0,-0.78 0,-1.69 1.52,-1.69 0.56,0 0.99,0.28 1.28,0.9 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8724"
+   d="m 275.8,660.54 v 1.1 l -1.39,-0.11 v -0.31 c 0.7,0 0.78,-0.07 0.78,-0.56 v -2.67 c 0,-0.45 -0.11,-0.45 -0.78,-0.45 v -0.31 c 0.39,0.01 0.86,0.03 1.14,0.03 0.4,0 0.86,0 1.26,-0.03 v 0.31 h -0.21 c -0.73,0 -0.75,0.11 -0.75,0.47 v 1.53 c 0,0.99 0.41,1.88 1.17,1.88 0.07,0 0.09,0 0.11,-0.01 -0.03,-0.01 -0.23,-0.13 -0.23,-0.39 0,-0.28 0.21,-0.43 0.43,-0.43 0.18,0 0.43,0.12 0.43,0.44 0,0.32 -0.31,0.61 -0.74,0.61 -0.73,0 -1.08,-0.67 -1.22,-1.1 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8726"
+   d="m 279.19,659.4 0,0.08 0,0.07 0.01,0.07 0,0.07 0.01,0.07 0,0.07 0.01,0.06 0.01,0.07 0.01,0.06 0.01,0.06 0.01,0.06 0.01,0.06 0.03,0.1 0.03,0.11 0.03,0.1 0.04,0.09 0.04,0.08 0.04,0.08 0.04,0.08 0.05,0.07 0.05,0.06 0.05,0.06 0.05,0.06 0.05,0.05 0.05,0.05 0.06,0.04 0.05,0.04 0.06,0.03 0.06,0.03 0.05,0.03 0.06,0.02 0.06,0.02 0.05,0.01 0.06,0.02 0.05,0.01 0.05,0 0.06,0.01 0.05,0 c 0.08,0 0.71,-0.01 1.06,-0.37 -0.41,-0.03 -0.47,-0.33 -0.47,-0.46 0,-0.26 0.18,-0.46 0.46,-0.46 0.26,0 0.46,0.17 0.46,0.47 0,0.68 -0.76,1.07 -1.52,1.07 -1.25,0 -2.17,-1.08 -2.17,-2.32 0,-1.27 0.99,-2.26 2.15,-2.26 1.33,0 1.65,1.2 1.65,1.3 0,0.1 -0.1,0.1 -0.13,0.1 -0.09,0 -0.11,-0.04 -0.13,-0.1 -0.29,-0.93 -0.94,-1.05 -1.3,-1.05 -0.53,0 -1.41,0.43 -1.41,2.03 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path8728"
+   d="m 283.57,659.53 0.01,0.21 c 0.06,1.49 0.9,1.74 1.24,1.74 1.02,0 1.12,-1.35 1.12,-1.74 h -2.36 l -0.01,-0.21 h 2.78 c 0.22,0 0.25,0 0.25,0.21 0,0.99 -0.54,1.96 -1.78,1.96 -1.16,0 -2.08,-1.03 -2.08,-2.28 0,-1.33 1.05,-2.3 2.2,-2.3 1.21,0 1.66,1.11 1.66,1.3 0,0.1 -0.08,0.12 -0.13,0.12 -0.09,0 -0.11,-0.06 -0.13,-0.14 -0.35,-1.03 -1.24,-1.03 -1.34,-1.03 -0.5,0 -0.9,0.3 -1.13,0.67 -0.3,0.48 -0.3,1.13 -0.3,1.49 z"
+   style="fill:#000000;stroke-width:0" />
+</g>  </g>
+</svg>
diff --git a/figures/reducer.svg b/figures/reducer.svg
new file mode 100644 (file)
index 0000000..6b64e99
--- /dev/null
@@ -0,0 +1,960 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:ns0="http://www.iki.fi/pav/software/textext/"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="231.75"
+   height="168.58432"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="reducer.svg">
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.6109779"
+     inkscape:cx="79.458271"
+     inkscape:cy="99.557518"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1278"
+     inkscape:window-height="779"
+     inkscape:window-x="0"
+     inkscape:window-y="19"
+     inkscape:window-maximized="0"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       snapvisiblegridlinesonly="true"
+       enabled="true"
+       visible="true"
+       empspacing="5"
+       id="grid5298"
+       type="xygrid" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend"
+       style="overflow:visible">
+      <path
+         id="path5486"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+    </marker>
+    <pattern
+       patternTransform="matrix(10,0,0,10,-211.63203,-404.15237)"
+       id="pattern5276"
+       xlink:href="#Strips1_1"
+       inkscape:collect="always" />
+    <pattern
+       inkscape:collect="always"
+       patternUnits="userSpaceOnUse"
+       width="2"
+       height="1"
+       patternTransform="translate(0,0) scale(10,10)"
+       id="Strips1_1"
+       inkscape:stockid="Stripes 1:1">
+      <rect
+         style="fill:black;stroke:none"
+         x="0"
+         y="-0.5"
+         width="1"
+         height="2"
+         id="rect4311" />
+    </pattern>
+    <inkscape:perspective
+       id="perspective10"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <pattern
+       id="pattern5273"
+       patternTransform="matrix(-0.00590621,-8.1522416e-4,-0.03195921,0.23154083,207.90581,421.29971)"
+       height="44.840622"
+       width="57.922096"
+       patternUnits="userSpaceOnUse">
+      <rect
+         style="fill:url(#pattern5276);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+         id="rect5030"
+         width="56.922096"
+         height="43.840622"
+         x="0.5"
+         y="0.5" />
+    </pattern>
+  </defs>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-213,-314.93256)"
+     id="layer1"
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+       id="rect10365"
+       width="212.75766"
+       height="167.58432"
+       x="221.50945"
+       y="315.43256" />
+    <path
+       d="m 352.13919,435.41153 c 0,8.98206 -7.2814,16.26346 -16.26346,16.26346 -8.98206,0 -16.26345,-7.2814 -16.26345,-16.26346 0,-8.98206 7.28139,-16.26346 16.26345,-16.26346 8.98206,0 16.26346,7.2814 16.26346,16.26346 z"
+       sodipodi:ry="16.263456"
+       sodipodi:rx="16.263456"
+       sodipodi:cy="435.41153"
+       sodipodi:cx="335.87573"
+       id="path5362"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+       sodipodi:type="arc"
+       transform="translate(4.1242676,8)" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 335.875,427.78718 0,-40"
+       id="path5472"
+       sodipodi:nodetypes="cc" />
+    <path
+       id="path5922"
+       d="m 343.875,427.78718 0,-40"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g5995"
+       transform="matrix(1,0,0,-1,100.83,1057.7065)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$a_0$\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 227.15,661 -0.02,0.03 -0.02,0.04 -0.01,0.03 -0.02,0.03 -0.02,0.03 -0.02,0.03 -0.03,0.03 -0.02,0.03 -0.02,0.03 -0.02,0.03 -0.03,0.03 -0.02,0.02 -0.03,0.03 -0.02,0.02 -0.03,0.02 -0.03,0.03 -0.03,0.02 -0.03,0.02 -0.03,0.01 -0.03,0.02 -0.03,0.02 -0.03,0.01 -0.04,0.02 -0.03,0.01 -0.04,0.01 -0.03,0.01 -0.04,0.01 -0.04,0 -0.04,0.01 -0.04,0 -0.04,0.01 -0.04,0 0.01,-0.22 c 0.65,0 0.79,-0.82 0.79,-0.88 0,-0.06 -0.02,-0.12 -0.03,-0.17 l -0.5,-1.95 c -0.05,-0.18 -0.05,-0.2 -0.2,-0.37 -0.44,-0.55 -0.84,-0.71 -1.12,-0.71 -0.5,0 -0.64,0.55 -0.64,0.94 0,0.5 0.32,1.72 0.55,2.18 0.31,0.59 0.75,0.96 1.15,0.96 l -0.01,0.22 c -1.16,0 -2.4,-1.47 -2.4,-2.92 0,-0.94 0.55,-1.6 1.33,-1.6 0.19,0 0.69,0.04 1.29,0.75 0.08,-0.42 0.43,-0.75 0.91,-0.75 0.35,0 0.58,0.23 0.74,0.55 0.16,0.36 0.29,0.97 0.29,0.99 0,0.1 -0.09,0.1 -0.12,0.1 -0.09,0 -0.11,-0.04 -0.14,-0.18 -0.17,-0.65 -0.34,-1.24 -0.75,-1.24 -0.27,0 -0.3,0.26 -0.3,0.46 0,0.22 0.02,0.3 0.13,0.74 0.11,0.42 0.13,0.52 0.22,0.89 l 0.36,1.4 c 0.07,0.28 0.07,0.3 0.07,0.34 0,0.17 -0.12,0.27 -0.29,0.27 -0.24,0 -0.39,-0.22 -0.42,-0.44 z"
+   id="path5997"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 232.3,657.97 -0.01,0.14 0,0.13 0,0.13 -0.01,0.13 -0.01,0.13 -0.02,0.11 -0.02,0.12 -0.02,0.11 -0.02,0.11 -0.03,0.11 -0.04,0.1 -0.04,0.1 -0.04,0.1 -0.05,0.09 -0.05,0.1 -0.03,0.05 -0.03,0.04 c -0.21,0.32 -0.64,0.6 -1.2,0.6 -1.62,0 -1.62,-1.9 -1.62,-2.4 0,-0.51 0,-2.37 1.62,-2.37 v 0.2 c -0.32,0 -0.75,0.18 -0.89,0.76 -0.09,0.41 -0.09,0.98 -0.09,1.49 0,0.51 0,1.04 0.1,1.43 0.15,0.55 0.59,0.69 0.88,0.69 0.37,0 0.74,-0.22 0.86,-0.63 0.11,-0.38 0.12,-0.88 0.12,-1.49 0,-0.51 0,-1.03 -0.09,-1.47 -0.14,-0.63 -0.61,-0.78 -0.89,-0.78 h 0 v -0.2 c 1.62,0 1.62,1.86 1.62,2.37 z"
+   id="path5999"
+   style="fill:#000000;stroke-width:0" />
+</g>    <path
+       sodipodi:nodetypes="ccc"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 353.75,351.78718 25.2,0 0,41.10013"
+       id="path6185" />
+    <g
+       id="g6248"
+       transform="matrix(1,0,0,-1,141.44,1007.1443)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$s$\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 227.33,660.96 -0.03,0 -0.02,-0.01 -0.03,0 -0.02,0 -0.03,-0.01 -0.02,-0.01 -0.02,-0.01 -0.02,0 -0.03,-0.01 -0.02,-0.02 -0.02,-0.01 -0.02,-0.01 -0.01,-0.01 -0.02,-0.02 -0.02,-0.01 -0.02,-0.02 -0.01,-0.01 -0.02,-0.02 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 0,-0.02 0,-0.02 -0.01,-0.02 0,-0.02 0,-0.02 c 0,-0.14 0.09,-0.29 0.31,-0.29 0.22,0 0.46,0.17 0.46,0.56 0,0.45 -0.43,0.86 -1.19,0.86 -1.31,0 -1.68,-1.02 -1.68,-1.46 0,-0.78 0.74,-0.92 1.02,-0.98 0.52,-0.1 1.04,-0.21 1.04,-0.76 0,-0.26 -0.23,-1.1 -1.43,-1.1 -0.13,0 -0.9,0 -1.13,0.53 0.38,-0.05 0.63,0.25 0.63,0.53 0,0.23 -0.16,0.35 -0.37,0.35 -0.26,0 -0.56,-0.21 -0.56,-0.66 0,-0.57 0.57,-0.97 1.43,-0.97 1.61,0 2,1.21 2,1.66 0,0.36 -0.19,0.6 -0.31,0.72 -0.27,0.28 -0.56,0.33 -1,0.42 -0.36,0.08 -0.75,0.15 -0.75,0.6 0,0.29 0.23,0.9 1.11,0.9 0.25,0 0.75,-0.07 0.9,-0.46 z"
+   id="path6250" />
+</g>    <path
+       sodipodi:nodetypes="cc"
+       id="path6758"
+       d="m 213.5,409.41331 35.5,0"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <path
+       style="fill:#ffffff;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 261,442.91218 8,0 0,-16.40031"
+       id="path6760"
+       sodipodi:nodetypes="ccc" />
+    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$d$\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,48.337,1102.2007)"
+       id="g7034">
+<path
+   id="path7036"
+   d="m 228.57,664.04 0,0 0,0 0,0 0,0 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0,0.01 -0.01,0 0,0.01 0,0 0,0.01 -0.01,0 0,0.01 0,0 -0.01,0 0,0.01 0,0 -0.01,0 0,0 0,0.01 0,0 -0.01,0 0,0 0,0 -0.01,0 0,0.01 -0.01,0 0,0 0,0 -0.01,0 0,0 -0.01,0 0,0 -0.01,0.01 0,0 -0.01,0 0,0 -0.01,0 -0.01,0 c -0.15,0 -1.09,-0.09 -1.26,-0.11 -0.08,-0.01 -0.14,-0.06 -0.14,-0.19 0,-0.12 0.09,-0.12 0.24,-0.12 0.48,0 0.5,-0.07 0.5,-0.17 l -0.03,-0.2 -0.6,-2.36 c -0.18,0.37 -0.47,0.64 -0.92,0.64 l 0.01,-0.22 c 0.65,0 0.79,-0.82 0.79,-0.88 0,-0.06 -0.02,-0.12 -0.03,-0.17 l -0.5,-1.95 c -0.05,-0.18 -0.05,-0.2 -0.2,-0.37 -0.44,-0.55 -0.84,-0.71 -1.12,-0.71 -0.5,0 -0.64,0.55 -0.64,0.94 0,0.5 0.32,1.72 0.55,2.18 0.31,0.59 0.75,0.96 1.15,0.96 l -0.01,0.22 c -1.16,0 -2.4,-1.47 -2.4,-2.92 0,-0.94 0.55,-1.6 1.33,-1.6 0.19,0 0.69,0.04 1.29,0.75 0.08,-0.42 0.43,-0.75 0.91,-0.75 0.35,0 0.58,0.23 0.74,0.55 0.16,0.36 0.29,0.97 0.29,0.99 0,0.1 -0.09,0.1 -0.12,0.1 -0.09,0 -0.11,-0.04 -0.14,-0.18 -0.17,-0.65 -0.34,-1.24 -0.75,-1.24 -0.27,0 -0.3,0.26 -0.3,0.46 0,0.24 0.02,0.31 0.06,0.48 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       id="g7202"
+       transform="matrix(1,0,0,-1,-9.17,1064.9565)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$x$\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 226.76,660.24 0.01,0.03 0,0.03 0.01,0.03 0.01,0.04 0.01,0.03 0.01,0.05 0.02,0.04 0.01,0.04 0.02,0.05 0.01,0.05 0.02,0.05 0.02,0.05 0.03,0.05 0.02,0.05 0.03,0.05 0.02,0.05 0.03,0.04 0.03,0.05 0.04,0.05 0.03,0.04 0.04,0.05 0.04,0.04 0.04,0.03 0.05,0.04 0.04,0.03 0.05,0.03 0.03,0.01 0.02,0.02 0.03,0.01 0.03,0.01 0.02,0.01 0.03,0 0.03,0.01 0.03,0.01 0.03,0 0.03,0 0.03,0.01 0.04,0 c 0.05,0 0.29,0 0.49,-0.13 -0.28,-0.05 -0.47,-0.3 -0.47,-0.54 0,-0.16 0.11,-0.35 0.38,-0.35 0.21,0 0.53,0.18 0.53,0.58 0,0.52 -0.58,0.66 -0.92,0.66 -0.58,0 -0.93,-0.53 -1.05,-0.76 -0.25,0.66 -0.79,0.76 -1.08,0.76 -1.03,0 -1.6,-1.29 -1.6,-1.54 0,-0.1 0.1,-0.1 0.12,-0.1 0.08,0 0.11,0.02 0.13,0.11 0.34,1.06 1,1.31 1.33,1.31 0.19,0 0.54,-0.09 0.54,-0.67 0,-0.31 -0.17,-0.98 -0.54,-2.37 -0.15,-0.62 -0.5,-1.04 -0.94,-1.04 -0.06,0 -0.29,0 -0.5,0.13 0.25,0.05 0.47,0.26 0.47,0.54 0,0.27 -0.22,0.35 -0.37,0.35 -0.3,0 -0.55,-0.26 -0.55,-0.58 0,-0.46 0.5,-0.66 0.94,-0.66 0.66,0 1.01,0.7 1.04,0.76 0.12,-0.37 0.48,-0.76 1.08,-0.76 1.03,0 1.59,1.29 1.59,1.54 0,0.1 -0.09,0.1 -0.12,0.1 -0.09,0 -0.1,-0.04 -0.13,-0.11 -0.32,-1.07 -1,-1.31 -1.32,-1.31 -0.39,0 -0.55,0.32 -0.55,0.66 0,0.22 0.06,0.44 0.17,0.88 z"
+   id="path7204"
+   style="fill:#000000;stroke-width:0" />
+</g>    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 213.5,443.11218 18,0"
+       id="path7287"
+       sodipodi:nodetypes="cc" />
+    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$i$\n\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,-8.005,1098.9565)"
+       id="g7377">
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path7379"
+   d="m 226.26,663.46 0,0.02 0,0.02 0,0.01 0,0.02 -0.01,0.02 0,0.02 -0.01,0.01 0,0.02 -0.01,0.01 -0.01,0.02 -0.01,0.02 0,0.01 -0.01,0.01 -0.01,0.02 -0.02,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.02 -0.02,0.01 -0.01,0.01 -0.01,0.01 -0.02,0 -0.02,0.01 -0.01,0.01 -0.02,0.01 -0.02,0 -0.02,0.01 -0.02,0 -0.01,0 -0.03,0.01 -0.02,0 -0.02,0 c -0.27,0 -0.54,-0.26 -0.54,-0.53 0,-0.19 0.14,-0.36 0.38,-0.36 0.23,0 0.53,0.23 0.53,0.53 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path7381"
+   d="m 225.51,659.71 0.01,0.03 0.01,0.02 0.01,0.03 0,0.02 0.01,0.02 0.01,0.02 0.01,0.02 0.01,0.02 0,0.01 0.01,0.02 0,0.02 0.01,0.01 0.01,0.02 0,0.01 0.01,0.03 0.01,0.03 0.01,0.03 0.01,0.01 0,0.02 0.01,0.01 0,0.02 0.01,0.01 0.01,0.02 0,0.02 0.01,0.02 0.01,0.02 0.01,0.02 0,0.03 0.01,0.02 c 0.08,0.2 0.13,0.34 0.13,0.53 0,0.45 -0.31,0.82 -0.81,0.82 -0.94,0 -1.32,-1.45 -1.32,-1.54 0,-0.1 0.1,-0.1 0.12,-0.1 0.1,0 0.11,0.02 0.16,0.18 0.27,0.94 0.67,1.24 1.01,1.24 0.08,0 0.25,0 0.25,-0.32 0,-0.21 -0.07,-0.42 -0.11,-0.52 -0.08,-0.26 -0.53,-1.42 -0.69,-1.84 -0.1,-0.26 -0.23,-0.59 -0.23,-0.8 0,-0.47 0.34,-0.82 0.82,-0.82 0.93,0 1.3,1.45 1.3,1.54 0,0.1 -0.09,0.1 -0.12,0.1 -0.1,0 -0.1,-0.03 -0.15,-0.18 -0.18,-0.63 -0.51,-1.24 -1.01,-1.24 -0.17,0 -0.24,0.1 -0.24,0.33 0,0.25 0.06,0.39 0.29,1 z" />
+</g>    <g
+       id="content"
+       transform="matrix(1,0,0,-1,104.545,1097.7065)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$\\mathit{contr}$\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 227.77,660.99 -0.03,-0.01 -0.02,0 -0.02,0 -0.02,-0.01 -0.02,0 -0.02,-0.01 -0.02,0 -0.02,-0.01 -0.02,-0.01 -0.01,0 -0.02,-0.01 -0.01,-0.01 -0.02,-0.01 -0.01,0 -0.02,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 -0.02,-0.02 -0.01,-0.02 -0.02,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.02 0,-0.02 0,-0.01 -0.01,-0.02 0,-0.01 0,-0.01 0,-0.02 0,0 0,-0.01 0,0 0,-0.01 0,0 0,0 c 0,-0.16 0.11,-0.32 0.34,-0.32 0.27,0 0.51,0.22 0.51,0.6 0,0.49 -0.43,0.86 -1.07,0.86 -1.24,0 -2.52,-1.42 -2.52,-2.87 0,-0.99 0.59,-1.65 1.46,-1.65 1.28,0 2.11,1 2.11,1.15 0,0.05 -0.09,0.16 -0.16,0.16 -0.04,0 -0.05,-0.01 -0.13,-0.11 -0.74,-0.94 -1.63,-0.98 -1.8,-0.98 -0.53,0 -0.78,0.45 -0.78,1.03 0,0.53 0.26,1.57 0.52,2.05 0.36,0.65 0.86,1 1.31,1 0.11,0 0.56,-0.02 0.71,-0.43 z"
+   id="path7940" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 232.58,660 -0.01,0.09 0,0.09 -0.01,0.08 -0.01,0.08 -0.02,0.09 -0.01,0.07 -0.03,0.08 -0.02,0.08 -0.03,0.07 -0.03,0.07 -0.03,0.07 -0.04,0.07 -0.03,0.06 -0.05,0.06 -0.04,0.06 -0.05,0.05 -0.05,0.06 -0.05,0.05 -0.05,0.04 -0.06,0.05 -0.06,0.04 -0.06,0.04 -0.06,0.03 -0.07,0.03 -0.06,0.03 -0.07,0.03 -0.07,0.02 -0.08,0.01 -0.07,0.02 -0.08,0.01 -0.08,0 -0.08,0.01 c -1.23,0 -2.52,-1.42 -2.52,-2.87 0,-1.03 0.63,-1.65 1.45,-1.65 v 0.22 c -0.38,0 -0.75,0.31 -0.75,1.03 0,0.5 0.26,1.6 0.58,2.14 0.36,0.61 0.84,0.91 1.23,0.91 0.49,0 0.77,-0.44 0.77,-1.03 0,-0.43 -0.22,-1.45 -0.54,-2.05 -0.29,-0.55 -0.8,-1 -1.29,-1 h 0 v -0.22 c 1.24,0 2.53,1.42 2.53,2.88 z"
+   id="path7942" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 234.89,658.98 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 c 0.13,0.51 0.13,0.52 0.3,0.81 0.14,0.24 0.58,0.99 1.34,0.99 0.44,0 0.46,-0.45 0.46,-0.66 0,-0.62 -0.44,-1.8 -0.58,-2.2 -0.13,-0.34 -0.16,-0.43 -0.16,-0.64 0,-0.44 0.28,-0.8 0.76,-0.8 0.93,0 1.27,1.49 1.27,1.54 0,0.1 -0.08,0.1 -0.15,0.1 -0.13,0 -0.13,-0.02 -0.17,-0.17 -0.08,-0.27 -0.35,-1.25 -0.93,-1.25 -0.21,0 -0.22,0.15 -0.22,0.29 0,0.25 0.1,0.51 0.18,0.75 0.2,0.53 0.61,1.64 0.61,2.22 0,0.82 -0.55,1.04 -1.04,1.04 -0.82,0 -1.29,-0.6 -1.42,-0.79 -0.07,0.49 -0.41,0.79 -0.84,0.79 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.16 -0.03,-0.35 -0.07,-0.51 l -0.75,-2.99 c -0.02,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.12,0 0.29,0.07 0.36,0.26 z"
+   id="path7944" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 240.79,661.22 h 0.85 c 0.17,0 0.28,0 0.28,0.19 0,0.12 -0.09,0.12 -0.25,0.12 h -0.8 l 0.37,1.47 c 0.04,0.14 0.04,0.16 0.04,0.21 0,0.21 -0.17,0.26 -0.27,0.26 -0.25,0 -0.35,-0.21 -0.39,-0.36 l -0.39,-1.58 h -0.84 c -0.17,0 -0.28,0 -0.28,-0.19 0,-0.12 0.09,-0.12 0.25,-0.12 h 0.79 l -0.72,-2.86 c 0,-0.04 -0.04,-0.2 -0.04,-0.34 0,-0.5 0.32,-0.9 0.84,-0.9 1.01,0 1.52,1.49 1.52,1.54 0,0.1 -0.08,0.1 -0.15,0.1 -0.12,0 -0.12,-0.01 -0.2,-0.19 -0.18,-0.48 -0.58,-1.23 -1.15,-1.23 -0.27,0 -0.27,0.25 -0.27,0.41 0,0.07 0,0.23 0.07,0.51 z"
+   id="path7946" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 244.08,660.1 0,0 0,0.01 0,0 0.01,0.01 0,0.01 0,0.01 0.01,0.01 0,0.02 0.01,0.01 0,0.02 0.01,0.02 0.01,0.01 0.02,0.05 0.02,0.04 0.02,0.05 0.02,0.05 0.03,0.05 0.03,0.06 0.04,0.06 0.03,0.06 0.04,0.06 0.04,0.06 0.04,0.06 0.05,0.06 0.04,0.06 0.05,0.06 0.06,0.05 0.05,0.06 0.06,0.05 0.06,0.05 0.06,0.04 0.06,0.04 0.04,0.02 0.03,0.01 0.04,0.02 0.03,0.01 0.04,0.01 0.03,0.02 0.04,0 0.04,0.01 0.04,0.01 0.03,0 0.04,0.01 0.04,0 c 0.05,0 0.33,0 0.53,-0.14 -0.35,-0.11 -0.38,-0.43 -0.38,-0.48 0,-0.13 0.09,-0.32 0.35,-0.32 0.18,0 0.49,0.14 0.49,0.53 0,0.52 -0.65,0.63 -0.98,0.63 -0.69,0 -1.04,-0.5 -1.2,-0.72 -0.11,0.53 -0.5,0.72 -0.83,0.72 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.16 -0.03,-0.35 -0.07,-0.51 l -0.75,-2.99 c -0.02,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.3,0 0.37,0.29 0.39,0.37 z"
+   id="path7948" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathit{new}_d$\n\n\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,89.315616,1136.6563)"
+       id="g8508">
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path8510"
+   d="m 225.72,658.98 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 c 0.13,0.51 0.13,0.52 0.3,0.81 0.14,0.24 0.59,0.99 1.35,0.99 0.43,0 0.46,-0.45 0.46,-0.66 0,-0.62 -0.44,-1.8 -0.58,-2.2 -0.13,-0.34 -0.16,-0.43 -0.16,-0.64 0,-0.44 0.28,-0.8 0.76,-0.8 0.92,0 1.26,1.49 1.26,1.54 0,0.1 -0.08,0.1 -0.15,0.1 -0.13,0 -0.13,-0.02 -0.17,-0.17 -0.08,-0.27 -0.35,-1.25 -0.93,-1.25 -0.2,0 -0.21,0.15 -0.21,0.29 0,0.25 0.1,0.51 0.18,0.75 0.19,0.53 0.6,1.64 0.6,2.22 0,0.82 -0.55,1.04 -1.03,1.04 -0.82,0 -1.3,-0.6 -1.43,-0.79 -0.07,0.49 -0.41,0.79 -0.83,0.79 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.16 -0.03,-0.35 -0.08,-0.51 l -0.74,-2.99 c -0.02,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.12,0 0.29,0.07 0.35,0.26 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path8512"
+   d="m 231.42,659.53 0.03,0 0.03,0 0.03,0 0.03,0.01 0.04,0 0.04,0 0.04,0 0.04,0 0.04,0 0.05,0.01 0.04,0 0.05,0 0.09,0.01 0.1,0.01 0.1,0.02 0.1,0.01 0.1,0.02 0.11,0.02 0.1,0.02 0.09,0.03 0.05,0.01 0.05,0.02 0.05,0.02 0.04,0.01 c 0.79,0.32 0.79,0.97 0.79,1.04 0,0.46 -0.37,0.85 -1.01,0.85 v -0.22 c 0.4,0 0.63,-0.27 0.63,-0.61 0,-1.06 -1.65,-1.06 -1.97,-1.06 h -0.21 c 0.43,1.64 1.45,1.67 1.55,1.67 v 0.22 c -1.04,0 -2.47,-1.01 -2.47,-2.77 0,-0.9 0.48,-1.75 1.43,-1.75 1.27,0 2.1,1 2.1,1.15 0,0.05 -0.08,0.16 -0.16,0.16 -0.04,0 -0.05,-0.01 -0.13,-0.11 -0.74,-0.94 -1.62,-0.98 -1.79,-0.98 -0.65,0 -0.76,0.71 -0.76,1.1 0,0.38 0.1,0.83 0.17,1.09 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path8514"
+   d="m 237.4,658.91 0,-0.03 -0.01,-0.03 0,-0.02 -0.01,-0.03 -0.01,-0.02 0,-0.02 0,-0.03 -0.01,-0.02 0,-0.02 -0.01,-0.03 0,-0.02 0,-0.02 -0.01,-0.02 0,-0.02 0,-0.04 -0.01,-0.04 0,-0.04 0,-0.03 0,-0.03 0,-0.04 -0.01,-0.03 0,-0.02 0,-0.03 c 0,-0.11 -0.31,-0.94 -0.83,-0.94 -0.7,0 -0.7,0.74 -0.7,0.87 0,0.54 0.26,1.27 0.57,2.09 0.07,0.19 0.12,0.34 0.12,0.53 0,0.5 -0.33,0.81 -0.76,0.81 -0.93,0 -1.28,-1.48 -1.28,-1.54 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.02 0.18,0.16 0.08,0.31 0.35,1.26 0.93,1.26 0.11,0 0.22,-0.03 0.22,-0.29 0,-0.24 -0.1,-0.51 -0.24,-0.9 -0.5,-1.35 -0.5,-1.61 -0.5,-1.88 0,-0.34 0.08,-0.68 0.34,-0.92 0.32,-0.28 0.77,-0.31 0.94,-0.31 0.32,0 0.66,0.13 0.96,0.64 0.15,-0.37 0.55,-0.64 1.14,-0.64 0.6,0 1.01,0.41 1.31,1.12 0.3,0.68 0.69,2.21 0.69,2.74 0,0.35 -0.12,0.66 -0.41,0.66 -0.23,0 -0.47,-0.23 -0.47,-0.46 0,-0.13 0.06,-0.2 0.12,-0.27 0.24,-0.26 0.27,-0.58 0.27,-0.79 0,-0.4 -0.32,-1.44 -0.48,-1.85 -0.22,-0.52 -0.54,-0.93 -1,-0.93 -0.5,0 -0.66,0.41 -0.66,0.83 0,0.09 0.01,0.33 0.12,0.77 l 0.42,1.67 c 0.06,0.22 0.16,0.62 0.16,0.66 0,0.11 -0.08,0.26 -0.28,0.26 -0.29,0 -0.36,-0.27 -0.38,-0.35 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path8516"
+   d="m 245.29,660.37 0,0 0,0 0,0 0,0 0,0.01 0,0 0,0 0,0 0,0 0,0.01 0,0 0,0 0.01,0.01 0,0 0,0.01 0,0 0,0.01 0,0 0,0.01 0.01,0.01 0,0 0,0.01 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0 0,0 0,0 0,0.01 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0.01,0 c 0,0.04 -0.03,0.1 -0.12,0.1 -0.14,0 -0.71,-0.06 -0.89,-0.07 -0.05,-0.01 -0.15,-0.01 -0.15,-0.16 0,-0.1 0.1,-0.1 0.18,-0.1 0.33,0 0.33,-0.05 0.33,-0.1 0,-0.05 -0.01,-0.09 -0.02,-0.16 l -0.4,-1.59 c -0.15,0.23 -0.39,0.42 -0.72,0.42 v -0.2 c 0.49,0 0.62,-0.53 0.62,-0.61 0,-0.02 -0.01,-0.07 -0.02,-0.09 l -0.33,-1.31 c -0.05,-0.19 -0.2,-0.33 -0.35,-0.47 -0.07,-0.05 -0.35,-0.27 -0.65,-0.27 -0.25,0 -0.51,0.18 -0.51,0.67 0,0.37 0.21,1.14 0.37,1.42 0.32,0.56 0.67,0.66 0.87,0.66 v 0.2 c -0.89,0 -1.8,-0.99 -1.8,-1.99 0,-0.68 0.45,-1.16 1.05,-1.16 0.38,0 0.71,0.22 0.99,0.49 0.14,-0.42 0.54,-0.49 0.72,-0.49 0.25,0 0.43,0.15 0.55,0.37 0.16,0.27 0.25,0.67 0.25,0.7 0,0.09 -0.09,0.09 -0.11,0.09 -0.1,0 -0.11,-0.03 -0.16,-0.22 -0.08,-0.33 -0.21,-0.74 -0.51,-0.74 -0.18,0 -0.23,0.15 -0.23,0.34 0,0.13 0.02,0.19 0.04,0.28 z" />
+</g>    <path
+       sodipodi:nodetypes="ccc"
+       id="path8791"
+       d="m 304.625,419.86218 0,16 19,0"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 298.625,421.86218 0,20 23,0"
+       id="path8793"
+       sodipodi:nodetypes="ccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+       id="path8253"
+       sodipodi:cx="309"
+       sodipodi:cy="87.856812"
+       sodipodi:rx="34"
+       sodipodi:ry="16.992399"
+       d="m 343,87.856812 c 0,9.384642 -15.22232,16.992398 -34,16.992398 -18.77768,0 -34,-7.607756 -34,-16.992398 0,-9.384643 15.22232,-16.9924 34,-16.9924 18.77768,0 34,7.607757 34,16.9924 z"
+       transform="translate(-24.75,321.5565)" />
+    <g
+       transform="translate(-0.375,-0.44886848)"
+       id="g6695">
+      <rect
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+         id="rect2974"
+         width="49.25"
+         height="14.75"
+         x="260"
+         y="402.36218" />
+      <path
+         id="path2976"
+         d="m 300,417.36218 0,-15"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 290,417.36218 0,-15"
+         id="path2978" />
+      <path
+         id="path2980"
+         d="m 280,417.36218 0,-15"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 270,417.36218 0,-15"
+         id="path2982" />
+      <path
+         id="path2992"
+         d="m 290,414.31331 2,-2 -2,-2"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 300,414.31331 2,-2 -2,-2"
+         id="path2994" />
+      <path
+         id="path2996"
+         d="m 280,414.31331 2,-2 -2,-2"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 270,414.31331 2,-2 -2,-2"
+         id="path2998" />
+      <path
+         id="path3000"
+         d="m 260,414.31331 2,-2 -2,-2"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$i_0$\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,83.994213,1090.1636)"
+       id="g8894">
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path8896"
+   d="m 226.26,663.46 0,0.02 0,0.02 0,0.01 0,0.02 -0.01,0.02 0,0.02 -0.01,0.01 0,0.02 -0.01,0.01 -0.01,0.02 -0.01,0.02 0,0.01 -0.01,0.01 -0.01,0.02 -0.02,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.02 -0.02,0.01 -0.01,0.01 -0.01,0.01 -0.02,0 -0.02,0.01 -0.01,0.01 -0.02,0.01 -0.02,0 -0.02,0.01 -0.02,0 -0.01,0 -0.03,0.01 -0.02,0 -0.02,0 c -0.27,0 -0.54,-0.26 -0.54,-0.53 0,-0.19 0.14,-0.36 0.38,-0.36 0.23,0 0.53,0.23 0.53,0.53 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path8898"
+   d="m 225.51,659.71 0.01,0.03 0.01,0.02 0.01,0.03 0,0.02 0.01,0.02 0.01,0.02 0.01,0.02 0.01,0.02 0,0.01 0.01,0.02 0,0.02 0.01,0.01 0.01,0.02 0,0.01 0.01,0.03 0.01,0.03 0.01,0.03 0.01,0.01 0,0.02 0.01,0.01 0,0.02 0.01,0.01 0.01,0.02 0,0.02 0.01,0.02 0.01,0.02 0.01,0.02 0,0.03 0.01,0.02 c 0.08,0.2 0.13,0.34 0.13,0.53 0,0.45 -0.31,0.82 -0.81,0.82 -0.94,0 -1.32,-1.45 -1.32,-1.54 0,-0.1 0.1,-0.1 0.12,-0.1 0.1,0 0.11,0.02 0.16,0.18 0.27,0.94 0.67,1.24 1.01,1.24 0.08,0 0.25,0 0.25,-0.32 0,-0.21 -0.07,-0.42 -0.11,-0.52 -0.08,-0.26 -0.53,-1.42 -0.69,-1.84 -0.1,-0.26 -0.23,-0.59 -0.23,-0.8 0,-0.47 0.34,-0.82 0.82,-0.82 0.93,0 1.3,1.45 1.3,1.54 0,0.1 -0.09,0.1 -0.12,0.1 -0.1,0 -0.1,-0.03 -0.15,-0.18 -0.18,-0.63 -0.51,-1.24 -1.01,-1.24 -0.17,0 -0.24,0.1 -0.24,0.33 0,0.25 0.06,0.39 0.29,1 z" />
+<path
+   style="fill:#000000;stroke-width:0"
+   id="path8900"
+   d="m 230.47,657.97 -0.01,0.14 0,0.13 0,0.13 -0.01,0.13 -0.01,0.13 -0.02,0.11 -0.02,0.12 -0.02,0.11 -0.02,0.11 -0.03,0.11 -0.04,0.1 -0.04,0.1 -0.04,0.1 -0.05,0.09 -0.05,0.1 -0.03,0.05 -0.03,0.04 c -0.21,0.32 -0.64,0.6 -1.2,0.6 -1.62,0 -1.62,-1.9 -1.62,-2.4 0,-0.51 0,-2.37 1.62,-2.37 v 0.2 c -0.32,0 -0.75,0.18 -0.89,0.76 -0.09,0.41 -0.09,0.98 -0.09,1.49 0,0.51 0,1.04 0.1,1.43 0.15,0.55 0.59,0.69 0.88,0.69 0.38,0 0.74,-0.22 0.86,-0.63 0.11,-0.38 0.12,-0.88 0.12,-1.49 0,-0.51 0,-1.03 -0.09,-1.47 -0.14,-0.63 -0.61,-0.78 -0.89,-0.78 h 0 v -0.2 c 1.62,0 1.62,1.86 1.62,2.37 z" />
+</g>    <g
+       id="g9091"
+       transform="matrix(1,0,0,-1,66.537107,1096.9407)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$i_1$\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 226.26,663.46 0,0.02 0,0.02 0,0.01 0,0.02 -0.01,0.02 0,0.02 -0.01,0.01 0,0.02 -0.01,0.01 -0.01,0.02 -0.01,0.02 0,0.01 -0.01,0.01 -0.01,0.02 -0.02,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.02 -0.02,0.01 -0.01,0.01 -0.01,0.01 -0.02,0 -0.02,0.01 -0.01,0.01 -0.02,0.01 -0.02,0 -0.02,0.01 -0.02,0 -0.01,0 -0.03,0.01 -0.02,0 -0.02,0 c -0.27,0 -0.54,-0.26 -0.54,-0.53 0,-0.19 0.14,-0.36 0.38,-0.36 0.23,0 0.53,0.23 0.53,0.53 z"
+   id="path9093" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 225.51,659.71 0.01,0.03 0.01,0.02 0.01,0.03 0,0.02 0.01,0.02 0.01,0.02 0.01,0.02 0.01,0.02 0,0.01 0.01,0.02 0,0.02 0.01,0.01 0.01,0.02 0,0.01 0.01,0.03 0.01,0.03 0.01,0.03 0.01,0.01 0,0.02 0.01,0.01 0,0.02 0.01,0.01 0.01,0.02 0,0.02 0.01,0.02 0.01,0.02 0.01,0.02 0,0.03 0.01,0.02 c 0.08,0.2 0.13,0.34 0.13,0.53 0,0.45 -0.31,0.82 -0.81,0.82 -0.94,0 -1.32,-1.45 -1.32,-1.54 0,-0.1 0.1,-0.1 0.12,-0.1 0.1,0 0.11,0.02 0.16,0.18 0.27,0.94 0.67,1.24 1.01,1.24 0.08,0 0.25,0 0.25,-0.32 0,-0.21 -0.07,-0.42 -0.11,-0.52 -0.08,-0.26 -0.53,-1.42 -0.69,-1.84 -0.1,-0.26 -0.23,-0.59 -0.23,-0.8 0,-0.47 0.34,-0.82 0.82,-0.82 0.93,0 1.3,1.45 1.3,1.54 0,0.1 -0.09,0.1 -0.12,0.1 -0.1,0 -0.1,-0.03 -0.15,-0.18 -0.18,-0.63 -0.51,-1.24 -1.01,-1.24 -0.17,0 -0.24,0.1 -0.24,0.33 0,0.25 0.06,0.39 0.29,1 z"
+   id="path9095" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 229.2,660.17 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0.01 0,0 0,0.01 -0.01,0 0,0.01 0,0.01 0,0.01 -0.01,0 0,0.01 -0.01,0 0,0.01 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0 0,0 -0.01,0 0,0 -0.01,0 -0.01,0 0,0 -0.01,0 -0.01,0 0,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 c -0.44,-0.44 -1.08,-0.45 -1.36,-0.45 v -0.25 c 0.16,0 0.63,0 1.01,0.2 v -3.56 c 0,-0.23 0,-0.32 -0.7,-0.32 h -0.26 v -0.25 c 0.12,0.01 0.98,0.03 1.24,0.03 0.21,0 1.09,-0.02 1.25,-0.03 v 0.25 h -0.27 c -0.7,0 -0.7,0.09 -0.7,0.32 z"
+   id="path9097" />
+</g>    <path
+       sodipodi:nodetypes="ccc"
+       id="path9195"
+       d="m 325.375,450.61218 -44,0 0,-23"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathit{rem}$\n\n\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,71.275,1114.1062)"
+       id="g9316">
+<path
+   id="path9318"
+   d="m 226,660.1 0,0 0.01,0.01 0,0 0,0.01 0,0.01 0.01,0.01 0,0.01 0.01,0.02 0,0.01 0.01,0.02 0.01,0.02 0,0.01 0.02,0.05 0.02,0.04 0.02,0.05 0.03,0.05 0.03,0.05 0.03,0.06 0.03,0.06 0.04,0.06 0.03,0.06 0.04,0.06 0.05,0.06 0.04,0.06 0.05,0.06 0.05,0.06 0.05,0.05 0.06,0.06 0.05,0.05 0.06,0.05 0.06,0.04 0.07,0.04 0.03,0.02 0.04,0.01 0.03,0.02 0.04,0.01 0.03,0.01 0.04,0.02 0.03,0 0.04,0.01 0.04,0.01 0.04,0 0.04,0.01 0.04,0 c 0.05,0 0.33,0 0.53,-0.14 -0.35,-0.11 -0.38,-0.43 -0.38,-0.48 0,-0.13 0.09,-0.32 0.35,-0.32 0.17,0 0.48,0.14 0.48,0.53 0,0.52 -0.64,0.63 -0.97,0.63 -0.69,0 -1.05,-0.5 -1.21,-0.72 -0.11,0.53 -0.5,0.72 -0.82,0.72 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.16 -0.03,-0.35 -0.08,-0.51 l -0.74,-2.99 c -0.02,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.3,0 0.37,0.29 0.38,0.37 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path9320"
+   d="m 229.5,659.53 0.03,0 0.03,0 0.04,0 0.03,0.01 0.04,0 0.04,0 0.04,0 0.04,0 0.04,0 0.04,0.01 0.05,0 0.05,0 0.09,0.01 0.1,0.01 0.1,0.02 0.1,0.01 0.1,0.02 0.1,0.02 0.1,0.02 0.1,0.03 0.05,0.01 0.05,0.02 0.04,0.02 0.05,0.01 c 0.79,0.32 0.79,0.97 0.79,1.04 0,0.46 -0.37,0.85 -1.01,0.85 v -0.22 c 0.4,0 0.63,-0.27 0.63,-0.61 0,-1.06 -1.65,-1.06 -1.98,-1.06 h -0.2 c 0.42,1.64 1.45,1.67 1.55,1.67 v 0.22 c -1.05,0 -2.47,-1.01 -2.47,-2.77 0,-0.9 0.48,-1.75 1.42,-1.75 1.28,0 2.11,1 2.11,1.15 0,0.05 -0.08,0.16 -0.16,0.16 -0.04,0 -0.05,-0.01 -0.13,-0.11 -0.74,-0.94 -1.63,-0.98 -1.8,-0.98 -0.65,0 -0.75,0.71 -0.75,1.1 0,0.38 0.09,0.83 0.17,1.09 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path9322"
+   d="m 234,658.98 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 c 0.13,0.49 0.13,0.51 0.24,0.72 0.29,0.5 0.72,1.08 1.41,1.08 0.46,0 0.46,-0.51 0.46,-0.66 0,-0.27 -0.07,-0.56 -0.09,-0.65 l -0.65,-2.59 c -0.02,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.12,0 0.29,0.07 0.36,0.26 l 0.4,1.6 c 0.05,0.22 0.11,0.42 0.16,0.64 0.13,0.49 0.13,0.51 0.25,0.72 0.28,0.5 0.71,1.08 1.4,1.08 0.46,0 0.46,-0.51 0.46,-0.66 0,-0.62 -0.44,-1.8 -0.58,-2.2 -0.13,-0.34 -0.16,-0.43 -0.16,-0.64 0,-0.44 0.28,-0.8 0.76,-0.8 0.93,0 1.26,1.49 1.26,1.54 0,0.1 -0.08,0.1 -0.15,0.1 -0.12,0 -0.12,-0.02 -0.17,-0.17 -0.07,-0.27 -0.34,-1.25 -0.92,-1.25 -0.21,0 -0.22,0.15 -0.22,0.29 0,0.25 0.1,0.51 0.18,0.75 0.2,0.53 0.61,1.64 0.61,2.22 0,0.84 -0.58,1.04 -1.05,1.04 -0.7,0 -1.2,-0.44 -1.49,-0.88 -0.08,0.69 -0.6,0.88 -1.05,0.88 -0.6,0 -1.09,-0.33 -1.43,-0.79 -0.06,0.49 -0.4,0.79 -0.83,0.79 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.16 -0.03,-0.35 -0.07,-0.51 l -0.75,-2.99 c -0.02,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.12,0 0.29,0.07 0.36,0.26 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <path
+       id="path9425"
+       d="m 247.5,451.03718 0,22 151.55,0 -0.1,-45.4"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+       id="path6766"
+       sodipodi:cx="217"
+       sodipodi:cy="437.11218"
+       sodipodi:rx="14.5"
+       sodipodi:ry="14.5"
+       d="m 231.5,437.11218 c 0,8.00813 -6.49187,14.5 -14.5,14.5 -8.00813,0 -14.5,-6.49187 -14.5,-14.5 0,-8.00813 6.49187,-14.5 14.5,-14.5 8.00813,0 14.5,6.49187 14.5,14.5 z"
+       transform="translate(30.4,6)" />
+    <g
+       id="g8319"
+       transform="matrix(1,0,0,-1,12.595,1099.7472)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$\\mathit{discr}$\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 228.98,663.9 0,0 0,0 0.01,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0,0.01 0.01,0.01 0,0.01 0,0.01 0,0.01 0,0 0.01,0 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0 0,0 0,0.01 c 0,0.09 -0.06,0.12 -0.14,0.12 -0.03,0 -0.13,-0.01 -0.16,-0.02 l -0.98,-0.08 c -0.12,-0.01 -0.23,-0.02 -0.23,-0.21 0,-0.11 0.1,-0.11 0.24,-0.11 0.47,0 0.49,-0.07 0.49,-0.17 0,-0.03 -0.02,-0.16 -0.02,-0.17 l -0.58,-2.33 c -0.15,0.31 -0.42,0.58 -0.84,0.58 v -0.22 c 0.08,0 0.31,-0.01 0.49,-0.29 0.1,-0.16 0.2,-0.45 0.2,-0.64 0,-0.03 -0.01,-0.07 -0.03,-0.13 l -0.48,-1.91 c -0.08,-0.31 -0.69,-1.11 -1.24,-1.11 -0.46,0 -0.54,0.59 -0.54,0.89 0,0.5 0.3,1.66 0.48,2.08 0.25,0.61 0.71,1.11 1.12,1.11 v 0.22 c -1.11,0 -2.28,-1.52 -2.28,-2.97 0,-0.85 0.46,-1.55 1.2,-1.55 0.36,0 0.8,0.21 1.2,0.7 0.11,-0.49 0.48,-0.7 0.83,-0.7 0.36,0 0.57,0.25 0.72,0.56 0.18,0.38 0.3,0.96 0.3,0.98 0,0.1 -0.08,0.1 -0.15,0.1 -0.12,0 -0.13,-0.01 -0.19,-0.23 -0.14,-0.56 -0.32,-1.19 -0.66,-1.19 -0.26,0 -0.26,0.27 -0.26,0.41 0,0.07 0,0.22 0.06,0.46 z"
+   id="path8321" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 231.82,658.66 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0 -0.01,0.01 0,0 0,0 0,0 0,0.01 0,0 -0.01,0 0,0.01 -0.01,0 0,0.01 -0.01,0 0,0 -0.01,0 0,0.01 -0.01,0 0,0 -0.01,0 0,0 -0.01,0 -0.01,0 0,0.01 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0 c -0.13,0 -0.13,-0.02 -0.17,-0.17 -0.08,-0.29 -0.35,-1.25 -0.92,-1.25 -0.08,0 -0.22,0.01 -0.22,0.28 0,0.26 0.13,0.59 0.26,0.96 l 0.64,1.7 c 0.09,0.29 0.11,0.37 0.11,0.56 0,0.55 -0.37,0.8 -0.74,0.8 -0.94,0 -1.28,-1.49 -1.28,-1.54 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.02 0.18,0.16 0.09,0.33 0.35,1.26 0.93,1.26 0.11,0 0.22,-0.05 0.22,-0.28 0,-0.24 -0.11,-0.53 -0.18,-0.72 l -0.3,-0.83 c -0.13,-0.32 -0.25,-0.65 -0.37,-0.98 -0.14,-0.38 -0.18,-0.49 -0.18,-0.69 0,-0.39 0.24,-0.8 0.76,-0.8 0.93,0 1.26,1.5 1.26,1.54 z"
+   id="path8323" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 231.77,663.44 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 -0.01,0.02 0,0.02 -0.01,0.02 0,0.02 -0.01,0.02 -0.01,0.01 -0.01,0.02 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.02 -0.01,0.01 -0.01,0.01 -0.02,0.01 -0.01,0 -0.01,0.01 -0.02,0.01 -0.01,0.01 -0.02,0 -0.01,0.01 -0.01,0 -0.02,0.01 -0.01,0 -0.02,0 -0.01,0 -0.02,0.01 -0.01,0 -0.01,0 -0.02,0 c -0.2,0 -0.47,-0.2 -0.47,-0.48 0,-0.25 0.19,-0.33 0.33,-0.33 0.2,0 0.48,0.19 0.48,0.48 z"
+   id="path8325" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 234.04,659.2 0.08,-0.02 0.08,-0.02 0.08,-0.02 0.04,-0.01 0.04,-0.02 0.04,-0.01 0.04,-0.01 0.04,-0.02 0.03,-0.01 0.04,-0.02 0.03,-0.01 0.03,-0.02 0.04,-0.02 0.03,-0.02 0.03,-0.02 0.02,-0.02 0.03,-0.03 0.02,-0.02 0.03,-0.03 0.02,-0.03 0.02,-0.03 0.02,-0.04 0.01,-0.03 0.01,-0.04 0.01,-0.04 0.01,-0.04 0.01,-0.05 0,-0.02 0,-0.02 0,-0.03 0.01,-0.02 c 0,-0.32 -0.27,-1.12 -1.3,-1.12 -0.22,0 -0.8,0.05 -0.96,0.56 0.51,0.05 0.51,0.47 0.51,0.49 0,0.19 -0.13,0.32 -0.34,0.32 -0.23,0 -0.5,-0.17 -0.5,-0.62 0,-0.61 0.57,-0.97 1.28,-0.97 1.49,0 1.87,1.22 1.87,1.68 0,0.86 -0.77,1.04 -1.18,1.13 -0.28,0.06 -0.64,0.14 -0.64,0.57 0,0.24 0.21,0.92 1.01,0.92 0.27,0 0.63,-0.1 0.74,-0.49 -0.32,-0.04 -0.4,-0.31 -0.4,-0.41 0,-0.11 0.06,-0.28 0.3,-0.28 0.17,0 0.43,0.12 0.43,0.55 0,0.46 -0.41,0.85 -1.06,0.85 -1.17,0 -1.58,-0.96 -1.58,-1.48 0,-0.77 0.65,-0.9 0.93,-0.96 z"
+   id="path8327" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 239.98,660.99 -0.02,-0.01 -0.02,0 -0.02,0 -0.02,-0.01 -0.02,0 -0.02,-0.01 -0.02,0 -0.02,-0.01 -0.02,-0.01 -0.01,0 -0.02,-0.01 -0.02,-0.01 -0.01,-0.01 -0.02,0 -0.01,-0.01 -0.01,-0.01 -0.02,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.02 -0.02,-0.02 -0.02,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.01 0,-0.02 0,-0.01 0,-0.01 0,-0.02 0,0 0,-0.01 0,0 0,-0.01 0,0 0,0 c 0,-0.16 0.11,-0.32 0.33,-0.32 0.27,0 0.51,0.22 0.51,0.6 0,0.49 -0.43,0.86 -1.06,0.86 -1.24,0 -2.52,-1.42 -2.52,-2.87 0,-0.99 0.58,-1.65 1.46,-1.65 1.28,0 2.1,1 2.1,1.15 0,0.05 -0.08,0.16 -0.16,0.16 -0.04,0 -0.05,-0.01 -0.13,-0.11 -0.73,-0.94 -1.62,-0.98 -1.79,-0.98 -0.54,0 -0.79,0.45 -0.79,1.03 0,0.53 0.27,1.57 0.53,2.05 0.36,0.65 0.86,1 1.31,1 0.11,0 0.55,-0.02 0.7,-0.43 z"
+   id="path8329" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 242.8,660.1 0,0 0.01,0.01 0,0 0,0.01 0,0.01 0.01,0.01 0,0.01 0.01,0.02 0,0.01 0.01,0.02 0.01,0.02 0,0.01 0.02,0.05 0.02,0.04 0.02,0.05 0.03,0.05 0.03,0.05 0.03,0.06 0.03,0.06 0.04,0.06 0.03,0.06 0.04,0.06 0.05,0.06 0.04,0.06 0.05,0.06 0.05,0.06 0.05,0.05 0.06,0.06 0.05,0.05 0.06,0.05 0.06,0.04 0.07,0.04 0.03,0.02 0.04,0.01 0.03,0.02 0.04,0.01 0.03,0.01 0.04,0.02 0.03,0 0.04,0.01 0.04,0.01 0.04,0 0.04,0.01 0.04,0 c 0.05,0 0.33,0 0.53,-0.14 -0.35,-0.11 -0.38,-0.43 -0.38,-0.48 0,-0.13 0.09,-0.32 0.35,-0.32 0.17,0 0.48,0.14 0.48,0.53 0,0.52 -0.64,0.63 -0.97,0.63 -0.69,0 -1.05,-0.5 -1.21,-0.72 -0.11,0.53 -0.5,0.72 -0.82,0.72 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.16 -0.04,-0.35 -0.08,-0.51 l -0.74,-2.99 c -0.02,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.3,0 0.36,0.29 0.38,0.37 z"
+   id="path8331" />
+</g>    <g
+       id="g9543"
+       transform="matrix(1,0,0,-1,122.83,1057.7065)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$a_1$\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 227.15,661 -0.02,0.03 -0.02,0.04 -0.01,0.03 -0.02,0.03 -0.02,0.03 -0.02,0.03 -0.03,0.03 -0.02,0.03 -0.02,0.03 -0.02,0.03 -0.03,0.03 -0.02,0.02 -0.03,0.03 -0.02,0.02 -0.03,0.02 -0.03,0.03 -0.03,0.02 -0.03,0.02 -0.03,0.01 -0.03,0.02 -0.03,0.02 -0.03,0.01 -0.04,0.02 -0.03,0.01 -0.04,0.01 -0.03,0.01 -0.04,0.01 -0.04,0 -0.04,0.01 -0.04,0 -0.04,0.01 -0.04,0 0.01,-0.22 c 0.65,0 0.79,-0.82 0.79,-0.88 0,-0.06 -0.02,-0.12 -0.03,-0.17 l -0.5,-1.95 c -0.05,-0.18 -0.05,-0.2 -0.2,-0.37 -0.44,-0.55 -0.84,-0.71 -1.12,-0.71 -0.5,0 -0.64,0.55 -0.64,0.94 0,0.5 0.32,1.72 0.55,2.18 0.31,0.59 0.75,0.96 1.15,0.96 l -0.01,0.22 c -1.16,0 -2.4,-1.47 -2.4,-2.92 0,-0.94 0.55,-1.6 1.33,-1.6 0.19,0 0.69,0.04 1.29,0.75 0.08,-0.42 0.43,-0.75 0.91,-0.75 0.35,0 0.58,0.23 0.74,0.55 0.16,0.36 0.29,0.97 0.29,0.99 0,0.1 -0.09,0.1 -0.12,0.1 -0.09,0 -0.11,-0.04 -0.14,-0.18 -0.17,-0.65 -0.34,-1.24 -0.75,-1.24 -0.27,0 -0.3,0.26 -0.3,0.46 0,0.22 0.02,0.3 0.13,0.74 0.11,0.42 0.13,0.52 0.22,0.89 l 0.36,1.4 c 0.07,0.28 0.07,0.3 0.07,0.34 0,0.17 -0.12,0.27 -0.29,0.27 -0.24,0 -0.39,-0.22 -0.42,-0.44 z"
+   id="path9545" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 231.03,660.17 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0.01 0,0 0,0.01 -0.01,0 0,0.01 0,0.01 0,0.01 -0.01,0 0,0.01 -0.01,0 0,0.01 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0 0,0 -0.01,0 0,0 -0.01,0 -0.01,0 0,0 -0.01,0 -0.01,0 0,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 c -0.44,-0.44 -1.08,-0.45 -1.36,-0.45 v -0.25 c 0.16,0 0.63,0 1.01,0.2 v -3.56 c 0,-0.23 0,-0.32 -0.7,-0.32 h -0.26 v -0.25 c 0.12,0.01 0.98,0.03 1.24,0.03 0.21,0 1.09,-0.02 1.25,-0.03 v 0.25 h -0.27 c -0.7,0 -0.7,0.09 -0.7,0.32 z"
+   id="path9547" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$r$\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,158.93723,1098.3207)"
+       id="g9775">
+<path
+   id="path9777"
+   d="m 224.31,657.82 0,-0.01 -0.01,-0.02 0,-0.01 0,-0.02 -0.01,-0.03 -0.01,-0.03 0,-0.04 -0.01,-0.03 -0.01,-0.03 -0.01,-0.03 0,-0.02 0,-0.01 -0.01,-0.02 0,-0.01 0,-0.01 -0.01,-0.02 0,-0.01 0,-0.01 0,-0.01 0,-0.01 -0.01,-0.01 0,-0.01 0,-0.01 0,-0.01 0,0 0,-0.01 c 0,-0.18 0.14,-0.27 0.29,-0.27 0.12,0 0.3,0.08 0.37,0.28 0.02,0.04 0.36,1.4 0.4,1.58 0.07,0.32 0.26,1.02 0.31,1.29 0.04,0.13 0.32,0.6 0.56,0.82 0.08,0.07 0.37,0.33 0.8,0.33 0.26,0 0.41,-0.12 0.42,-0.12 -0.3,-0.05 -0.52,-0.29 -0.52,-0.55 0,-0.16 0.11,-0.35 0.38,-0.35 0.27,0 0.55,0.23 0.55,0.59 0,0.35 -0.32,0.65 -0.83,0.65 -0.65,0 -1.09,-0.49 -1.28,-0.77 -0.08,0.45 -0.43,0.77 -0.9,0.77 -0.46,0 -0.65,-0.39 -0.74,-0.57 -0.18,-0.34 -0.31,-0.94 -0.31,-0.97 0,-0.1 0.1,-0.1 0.12,-0.1 0.1,0 0.11,0.01 0.17,0.23 0.17,0.71 0.37,1.19 0.73,1.19 0.17,0 0.31,-0.08 0.31,-0.46 0,-0.21 -0.03,-0.32 -0.16,-0.84 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       id="g10007"
+       transform="matrix(1,0,0,-1,138.455,1091.6836)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$r\'$\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 224.31,657.82 0,-0.01 -0.01,-0.02 0,-0.01 0,-0.02 -0.01,-0.03 -0.01,-0.03 0,-0.04 -0.01,-0.03 -0.01,-0.03 -0.01,-0.03 0,-0.02 0,-0.01 -0.01,-0.02 0,-0.01 0,-0.01 -0.01,-0.02 0,-0.01 0,-0.01 0,-0.01 0,-0.01 -0.01,-0.01 0,-0.01 0,-0.01 0,-0.01 0,0 0,-0.01 c 0,-0.18 0.14,-0.27 0.29,-0.27 0.12,0 0.3,0.08 0.37,0.28 0.02,0.04 0.36,1.4 0.4,1.58 0.07,0.32 0.26,1.02 0.31,1.29 0.04,0.13 0.32,0.6 0.56,0.82 0.08,0.07 0.37,0.33 0.8,0.33 0.26,0 0.41,-0.12 0.42,-0.12 -0.3,-0.05 -0.52,-0.29 -0.52,-0.55 0,-0.16 0.11,-0.35 0.38,-0.35 0.27,0 0.55,0.23 0.55,0.59 0,0.35 -0.32,0.65 -0.83,0.65 -0.65,0 -1.09,-0.49 -1.28,-0.77 -0.08,0.45 -0.43,0.77 -0.9,0.77 -0.46,0 -0.65,-0.39 -0.74,-0.57 -0.18,-0.34 -0.31,-0.94 -0.31,-0.97 0,-0.1 0.1,-0.1 0.12,-0.1 0.1,0 0.11,0.01 0.17,0.23 0.17,0.71 0.37,1.19 0.73,1.19 0.17,0 0.31,-0.08 0.31,-0.46 0,-0.21 -0.03,-0.32 -0.16,-0.84 z"
+   id="path10009" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 230.23,664.14 0,0.01 0,0.01 0.01,0.01 0,0.01 0.01,0.01 0,0.01 0.01,0.01 0,0.01 0,0.01 0,0 0.01,0.01 0,0.01 0,0.01 0,0 0.01,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0 0,0.01 0,0 0.01,0.01 0,0 0,0.01 0,0.01 0,0.01 0,0.01 c 0,0.22 -0.2,0.39 -0.41,0.39 -0.27,0 -0.35,-0.22 -0.39,-0.33 l -0.92,-3.02 c 0,-0.01 -0.03,-0.11 -0.03,-0.11 0,-0.09 0.21,-0.16 0.27,-0.16 0.05,0 0.06,0.02 0.1,0.12 z"
+   id="path10011" />
+</g>    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 429.5,409.41218 14,0"
+       id="path10127"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path2928"
+       d="m 379.375,380.86218 -14,0 -16,47"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <path
+       transform="translate(211.5,307.1815)"
+       d="m 168.75,73.638062 c 0,0.77665 -0.6296,1.40625 -1.40625,1.40625 -0.77665,0 -1.40625,-0.6296 -1.40625,-1.40625 0,-0.776651 0.6296,-1.40625 1.40625,-1.40625 0.77665,0 1.40625,0.629599 1.40625,1.40625 z"
+       sodipodi:ry="1.40625"
+       sodipodi:rx="1.40625"
+       sodipodi:cy="73.638062"
+       sodipodi:cx="167.34375"
+       id="path2932"
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 354.625,435.61218 18,0 0,-12.30031"
+       id="path2944"
+       sodipodi:nodetypes="ccc" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path2948"
+       d="m 380.375,421.86218 0,20 -23,0"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <path
+       transform="translate(87.25,321.5565)"
+       d="m 343,87.856812 c 0,9.384642 -15.22232,16.992398 -34,16.992398 -18.77768,0 -34,-7.607756 -34,-16.992398 0,-9.384643 15.22232,-16.9924 34,-16.9924 18.77768,0 34,7.607757 34,16.9924 z"
+       sodipodi:ry="16.992399"
+       sodipodi:rx="34"
+       sodipodi:cy="87.856812"
+       sodipodi:cx="309"
+       id="path2930"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <g
+       id="g8694"
+       transform="matrix(1,0,0,-1,166.555,1047.9559)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$\\mathit{res}$\n\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 226,660.1 0,0 0.01,0.01 0,0 0,0.01 0,0.01 0.01,0.01 0,0.01 0.01,0.02 0,0.01 0.01,0.02 0.01,0.02 0,0.01 0.02,0.05 0.02,0.04 0.02,0.05 0.03,0.05 0.03,0.05 0.03,0.06 0.03,0.06 0.04,0.06 0.03,0.06 0.04,0.06 0.05,0.06 0.04,0.06 0.05,0.06 0.05,0.06 0.05,0.05 0.06,0.06 0.05,0.05 0.06,0.05 0.06,0.04 0.07,0.04 0.03,0.02 0.04,0.01 0.03,0.02 0.04,0.01 0.03,0.01 0.04,0.02 0.03,0 0.04,0.01 0.04,0.01 0.04,0 0.04,0.01 0.04,0 c 0.05,0 0.33,0 0.53,-0.14 -0.35,-0.11 -0.38,-0.43 -0.38,-0.48 0,-0.13 0.09,-0.32 0.35,-0.32 0.17,0 0.48,0.14 0.48,0.53 0,0.52 -0.64,0.63 -0.97,0.63 -0.69,0 -1.05,-0.5 -1.21,-0.72 -0.11,0.53 -0.5,0.72 -0.82,0.72 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.16 -0.03,-0.35 -0.08,-0.51 l -0.74,-2.99 c -0.02,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.3,0 0.37,0.29 0.38,0.37 z"
+   id="path8696"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 229.5,659.53 0.03,0 0.03,0 0.04,0 0.03,0.01 0.04,0 0.04,0 0.04,0 0.04,0 0.04,0 0.04,0.01 0.05,0 0.05,0 0.09,0.01 0.1,0.01 0.1,0.02 0.1,0.01 0.1,0.02 0.1,0.02 0.1,0.02 0.1,0.03 0.05,0.01 0.05,0.02 0.04,0.02 0.05,0.01 c 0.79,0.32 0.79,0.97 0.79,1.04 0,0.46 -0.37,0.85 -1.01,0.85 v -0.22 c 0.4,0 0.63,-0.27 0.63,-0.61 0,-1.06 -1.65,-1.06 -1.98,-1.06 h -0.2 c 0.42,1.64 1.45,1.67 1.55,1.67 v 0.22 c -1.05,0 -2.47,-1.01 -2.47,-2.77 0,-0.9 0.48,-1.75 1.42,-1.75 1.28,0 2.11,1 2.11,1.15 0,0.05 -0.08,0.16 -0.16,0.16 -0.04,0 -0.05,-0.01 -0.13,-0.11 -0.74,-0.94 -1.63,-0.98 -1.8,-0.98 -0.65,0 -0.75,0.71 -0.75,1.1 0,0.38 0.09,0.83 0.17,1.09 z"
+   id="path8698"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 234.17,659.2 0.08,-0.02 0.08,-0.02 0.08,-0.02 0.04,-0.01 0.04,-0.02 0.04,-0.01 0.04,-0.01 0.03,-0.02 0.04,-0.01 0.03,-0.02 0.04,-0.01 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.03 0.02,-0.02 0.02,-0.03 0.03,-0.03 0.02,-0.03 0.01,-0.04 0.02,-0.03 0.01,-0.04 0.01,-0.04 0.01,-0.04 0.01,-0.05 0,-0.02 0,-0.02 0,-0.03 0,-0.02 c 0,-0.32 -0.27,-1.12 -1.29,-1.12 -0.22,0 -0.8,0.05 -0.96,0.56 0.51,0.05 0.51,0.47 0.51,0.49 0,0.19 -0.13,0.32 -0.34,0.32 -0.23,0 -0.51,-0.17 -0.51,-0.62 0,-0.61 0.58,-0.97 1.29,-0.97 1.49,0 1.87,1.22 1.87,1.68 0,0.86 -0.78,1.04 -1.19,1.13 -0.27,0.06 -0.63,0.14 -0.63,0.57 0,0.24 0.21,0.92 1,0.92 0.27,0 0.64,-0.1 0.75,-0.49 -0.32,-0.04 -0.4,-0.31 -0.4,-0.41 0,-0.11 0.06,-0.28 0.3,-0.28 0.17,0 0.43,0.12 0.43,0.55 0,0.46 -0.41,0.85 -1.07,0.85 -1.16,0 -1.57,-0.96 -1.57,-1.48 0,-0.77 0.65,-0.9 0.93,-0.96 z"
+   id="path8700"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       transform="translate(-0.375,-0.44886848)"
+       id="g6707">
+      <rect
+         y="402.36218"
+         x="372"
+         height="14.75"
+         width="49.25"
+         id="rect5328"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 412,417.36218 0,-15"
+         id="path5336" />
+      <path
+         id="path5338"
+         d="m 402,417.36218 0,-15"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 392,417.36218 0,-15"
+         id="path5340" />
+      <path
+         id="path5342"
+         d="m 382,417.36218 0,-15"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 402,414.31331 2,-2 -2,-2"
+         id="path2960" />
+      <path
+         id="path2962"
+         d="m 412,414.31331 2,-2 -2,-2"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 392,414.31331 2,-2 -2,-2"
+         id="path2964" />
+      <path
+         id="path2966"
+         d="m 382,414.31331 2,-2 -2,-2"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 372,414.31331 2,-2 -2,-2"
+         id="path2968" />
+    </g>
+    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathit{inp}$\n\n\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,53.535,1046.2559)"
+       id="g3161">
+<path
+   id="path3163"
+   d="m 226.73,658.66 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0,0 -0.01,0.01 0,0 0,0 0,0.01 0,0 0,0 0,0 -0.01,0.01 0,0 0,0 0,0.01 -0.01,0 0,0.01 -0.01,0 0,0 -0.01,0 0,0.01 -0.01,0 -0.01,0 0,0 -0.01,0 0,0 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0 -0.02,0 -0.01,0 c -0.13,0 -0.13,-0.02 -0.17,-0.17 -0.08,-0.29 -0.35,-1.25 -0.92,-1.25 -0.09,0 -0.22,0.01 -0.22,0.28 0,0.26 0.13,0.59 0.25,0.96 l 0.64,1.7 c 0.1,0.29 0.12,0.37 0.12,0.56 0,0.55 -0.38,0.8 -0.74,0.8 -0.94,0 -1.28,-1.49 -1.28,-1.54 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.02 0.18,0.16 0.09,0.33 0.35,1.26 0.92,1.26 0.11,0 0.22,-0.05 0.22,-0.28 0,-0.24 -0.11,-0.53 -0.18,-0.72 l -0.29,-0.83 c -0.13,-0.32 -0.25,-0.65 -0.37,-0.98 -0.14,-0.38 -0.18,-0.49 -0.18,-0.69 0,-0.39 0.24,-0.8 0.75,-0.8 0.94,0 1.27,1.5 1.27,1.54 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path3165"
+   d="m 226.68,663.44 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 -0.01,0.01 0,0.02 0,0.02 -0.01,0.02 -0.01,0.02 0,0.02 -0.01,0.01 -0.01,0.02 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.02 -0.01,0.01 -0.02,0.01 -0.01,0.01 -0.01,0 -0.02,0.01 -0.01,0.01 -0.01,0.01 -0.02,0 -0.01,0.01 -0.02,0 -0.01,0.01 -0.02,0 -0.01,0 -0.01,0 -0.02,0.01 -0.01,0 -0.01,0 -0.02,0 c -0.21,0 -0.48,-0.2 -0.48,-0.48 0,-0.25 0.2,-0.33 0.34,-0.33 0.2,0 0.48,0.19 0.48,0.48 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path3167"
+   d="m 228.78,658.98 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 0.02,0.08 c 0.13,0.51 0.13,0.52 0.3,0.81 0.13,0.24 0.58,0.99 1.34,0.99 0.44,0 0.46,-0.45 0.46,-0.66 0,-0.62 -0.44,-1.8 -0.58,-2.2 -0.13,-0.34 -0.16,-0.43 -0.16,-0.64 0,-0.44 0.28,-0.8 0.76,-0.8 0.92,0 1.26,1.49 1.26,1.54 0,0.1 -0.08,0.1 -0.15,0.1 -0.13,0 -0.13,-0.02 -0.17,-0.17 -0.07,-0.27 -0.34,-1.25 -0.92,-1.25 -0.21,0 -0.22,0.15 -0.22,0.29 0,0.25 0.1,0.51 0.18,0.75 0.2,0.53 0.61,1.64 0.61,2.22 0,0.82 -0.55,1.04 -1.04,1.04 -0.82,0 -1.3,-0.6 -1.43,-0.79 -0.06,0.49 -0.4,0.79 -0.83,0.79 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.16 -0.03,-0.35 -0.07,-0.51 l -0.75,-2.99 c -0.02,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.12,0 0.29,0.07 0.36,0.26 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path3169"
+   d="m 232.98,655.96 0,-0.03 -0.01,-0.03 -0.01,-0.02 -0.01,-0.03 0,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 -0.01,-0.01 -0.02,-0.01 -0.01,-0.01 -0.01,-0.01 -0.02,-0.01 -0.02,-0.01 -0.01,0 -0.02,-0.01 -0.02,0 -0.02,-0.01 -0.02,0 -0.03,-0.01 -0.02,0 -0.03,0 -0.02,0 -0.03,-0.01 -0.03,0 -0.03,0 -0.04,0 -0.03,0 c -0.09,0 -0.21,0 -0.21,-0.19 0,-0.07 0.05,-0.12 0.12,-0.12 0.27,0 0.55,0.03 0.83,0.03 0.32,0 0.66,-0.03 0.97,-0.03 0.06,0 0.19,0 0.19,0.19 0,0.12 -0.1,0.12 -0.24,0.12 -0.51,0 -0.51,0.06 -0.51,0.16 0,0.06 0.07,0.32 0.11,0.48 l 0.36,1.45 c 0.07,-0.17 0.32,-0.58 0.84,-0.58 l -0.01,0.22 c -0.58,0 -0.68,0.85 -0.68,0.93 0,0.03 0.01,0.06 0.03,0.14 l 0.47,1.88 c 0.08,0.34 0.69,1.13 1.24,1.13 0.45,0 0.55,-0.57 0.55,-0.89 0,-0.42 -0.27,-1.6 -0.56,-2.24 -0.12,-0.25 -0.54,-0.95 -1.05,-0.95 l 0.01,-0.22 c 1.08,0 2.27,1.48 2.27,2.96 0,1.07 -0.6,1.56 -1.2,1.56 -0.48,0 -0.91,-0.36 -1.2,-0.7 -0.12,0.58 -0.57,0.7 -0.82,0.7 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.06 0,-0.22 -0.07,-0.5 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <path
+       sodipodi:type="arc"
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+       id="path3301"
+       sodipodi:cx="167.34375"
+       sodipodi:cy="73.638062"
+       sodipodi:rx="1.40625"
+       sodipodi:ry="1.40625"
+       d="m 168.75,73.638062 c 0,0.77665 -0.6296,1.40625 -1.40625,1.40625 -0.77665,0 -1.40625,-0.6296 -1.40625,-1.40625 0,-0.776651 0.6296,-1.40625 1.40625,-1.40625 0.77665,0 1.40625,0.629599 1.40625,1.40625 z"
+       transform="translate(101.6005,369.1815)" />
+    <path
+       sodipodi:nodetypes="cccc"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 269,437.03718 0,30 123.55,0 -0.1,-39.4"
+       id="path3303" />
+    <path
+       transform="matrix(0,-1,1,0,252.14319,662.41331)"
+       d="m 343,87.856812 c 0,8.008128 -15.22232,14.499998 -34,14.499998 -18.77768,0 -34,-6.49187 -34,-14.499998 0,-8.008129 15.22232,-14.5 34,-14.5 18.77768,0 34,6.491871 34,14.5 z"
+       sodipodi:ry="14.5"
+       sodipodi:rx="34"
+       sodipodi:cy="87.856812"
+       sodipodi:cx="309"
+       id="path6339"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+       sodipodi:type="arc" />
+    <g
+       transform="translate(-0.44886848,0.37500522)"
+       id="g6672">
+      <rect
+         y="332.94888"
+         x="-377.6633"
+         height="14.75"
+         width="49.25"
+         id="rect6341"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-opacity:1"
+         transform="matrix(0,-1,1,0,0,0)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 347.94887,337.66331 -15,0"
+         id="path6343" />
+      <path
+         id="path6345"
+         d="m 347.94887,347.66331 -15,0"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 347.94887,357.66331 -15,0"
+         id="path6347" />
+      <path
+         id="path6349"
+         d="m 347.94887,367.66331 -15,0"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 344.9,347.66331 -2,-2 -2,2"
+         id="path6351" />
+      <path
+         id="path6353"
+         d="m 344.9,337.66331 -2,-2 -2,2"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 344.9,357.66331 -2,-2 -2,2"
+         id="path6355" />
+      <path
+         id="path6357"
+         d="m 344.9,367.66331 -2,-2 -2,2"
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 344.9,377.66331 -2,-2 -2,2"
+         id="path6359" />
+    </g>
+    <g
+       id="g6508"
+       transform="matrix(1,0,0,-1,79.535,990.6563)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$\\mathit{adder}$\n\n\n\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 226.91,657.82 0.01,-0.04 0.01,-0.05 0.02,-0.04 0.01,-0.04 0.02,-0.04 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.02,-0.04 0.02,-0.03 0.02,-0.03 0.03,-0.03 0.02,-0.02 0.03,-0.03 0.03,-0.02 0.02,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.02 0.03,-0.01 0.03,-0.01 0.03,-0.02 0.04,-0.01 0.03,-0.01 0.03,0 0.03,-0.01 0.04,-0.01 0.03,0 0.03,0 0.03,-0.01 0.04,0 c 0.36,0 0.57,0.25 0.72,0.56 0.18,0.38 0.3,0.96 0.3,0.98 0,0.1 -0.08,0.1 -0.15,0.1 -0.12,0 -0.13,-0.01 -0.19,-0.23 -0.14,-0.56 -0.32,-1.19 -0.66,-1.19 -0.26,0 -0.26,0.27 -0.26,0.41 0,0.07 0,0.23 0.07,0.51 l 0.67,2.71 c 0.04,0.14 0.04,0.16 0.04,0.21 0,0.21 -0.16,0.26 -0.27,0.26 -0.31,0 -0.38,-0.34 -0.39,-0.39 -0.19,0.43 -0.51,0.59 -0.83,0.59 v -0.22 c 0.44,0 0.69,-0.52 0.69,-0.94 0,-0.02 -0.01,-0.07 -0.03,-0.13 h 0 l -0.47,-1.88 c -0.08,-0.32 -0.7,-1.13 -1.25,-1.13 -0.46,0 -0.54,0.59 -0.54,0.89 0,0.5 0.3,1.66 0.48,2.08 0.25,0.61 0.71,1.11 1.12,1.11 v 0.22 c -1.11,0 -2.28,-1.52 -2.28,-2.97 0,-0.85 0.46,-1.55 1.2,-1.55 0.36,0 0.8,0.21 1.2,0.7 z"
+   id="path6510" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 234.07,663.9 0,0 0.01,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0.01,0.01 0,0.01 0,0.01 0,0.01 0.01,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0 0,0 0,0.01 c 0,0.09 -0.06,0.12 -0.14,0.12 -0.03,0 -0.12,-0.01 -0.16,-0.02 l -0.98,-0.08 c -0.12,-0.01 -0.23,-0.02 -0.23,-0.21 0,-0.11 0.1,-0.11 0.24,-0.11 0.48,0 0.5,-0.07 0.5,-0.17 0,-0.03 -0.03,-0.16 -0.03,-0.17 l -0.58,-2.33 c -0.15,0.31 -0.42,0.58 -0.84,0.58 v -0.22 c 0.08,0 0.31,-0.01 0.49,-0.29 0.1,-0.16 0.2,-0.45 0.2,-0.64 0,-0.03 -0.01,-0.07 -0.03,-0.13 l -0.48,-1.91 c -0.08,-0.31 -0.69,-1.11 -1.23,-1.11 -0.47,0 -0.55,0.59 -0.55,0.89 0,0.5 0.31,1.66 0.49,2.08 0.25,0.61 0.7,1.11 1.11,1.11 v 0.22 c -1.1,0 -2.28,-1.52 -2.28,-2.97 0,-0.85 0.46,-1.55 1.21,-1.55 0.35,0 0.79,0.21 1.19,0.7 0.11,-0.49 0.48,-0.7 0.83,-0.7 0.37,0 0.58,0.25 0.73,0.56 0.18,0.38 0.29,0.96 0.29,0.98 0,0.1 -0.08,0.1 -0.14,0.1 -0.12,0 -0.13,-0.01 -0.19,-0.23 -0.14,-0.56 -0.33,-1.19 -0.67,-1.19 -0.26,0 -0.26,0.27 -0.26,0.41 0,0.07 0,0.22 0.06,0.46 z"
+   id="path6512" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 239.17,663.9 0,0 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0.01,0.01 0,0 0,0.01 0,0.01 0,0.01 0.01,0.01 0,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0,0.01 0.01,0 0,0 0,0.01 0,0 0,0 0,0 0,0.01 c 0,0.09 -0.06,0.12 -0.14,0.12 -0.03,0 -0.13,-0.01 -0.16,-0.02 l -0.99,-0.08 c -0.12,-0.01 -0.23,-0.02 -0.23,-0.21 0,-0.11 0.1,-0.11 0.24,-0.11 0.48,0 0.5,-0.07 0.5,-0.17 0,-0.03 -0.03,-0.16 -0.03,-0.17 l -0.58,-2.33 c -0.15,0.31 -0.42,0.58 -0.83,0.58 v -0.22 c 0.07,0 0.3,-0.01 0.48,-0.29 0.1,-0.16 0.2,-0.45 0.2,-0.64 0,-0.03 -0.01,-0.07 -0.03,-0.13 l -0.48,-1.91 c -0.08,-0.31 -0.68,-1.11 -1.23,-1.11 -0.47,0 -0.55,0.59 -0.55,0.89 0,0.5 0.31,1.66 0.49,2.08 0.25,0.61 0.71,1.11 1.12,1.11 v 0.22 c -1.11,0 -2.29,-1.52 -2.29,-2.97 0,-0.85 0.46,-1.55 1.21,-1.55 0.36,0 0.8,0.21 1.19,0.7 0.11,-0.49 0.48,-0.7 0.83,-0.7 0.37,0 0.58,0.25 0.73,0.56 0.18,0.38 0.3,0.96 0.3,0.98 0,0.1 -0.08,0.1 -0.15,0.1 -0.12,0 -0.13,-0.01 -0.19,-0.23 -0.14,-0.56 -0.33,-1.19 -0.67,-1.19 -0.26,0 -0.26,0.27 -0.26,0.41 0,0.07 0,0.22 0.06,0.46 z"
+   id="path6514" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 241.09,659.53 0.03,0 0.03,0 0.03,0 0.04,0.01 0.04,0 0.03,0 0.04,0 0.05,0 0.04,0 0.04,0.01 0.05,0 0.04,0 0.1,0.01 0.1,0.01 0.1,0.02 0.1,0.01 0.1,0.02 0.1,0.02 0.1,0.02 0.1,0.03 0.05,0.01 0.04,0.02 0.05,0.02 0.05,0.01 c 0.78,0.32 0.78,0.97 0.78,1.04 0,0.46 -0.37,0.85 -1,0.85 v -0.22 c 0.39,0 0.62,-0.27 0.62,-0.61 0,-1.06 -1.64,-1.06 -1.97,-1.06 h -0.21 c 0.43,1.64 1.46,1.67 1.56,1.67 v 0.22 c -1.05,0 -2.47,-1.01 -2.47,-2.77 0,-0.9 0.47,-1.75 1.42,-1.75 1.28,0 2.1,1 2.1,1.15 0,0.05 -0.08,0.16 -0.16,0.16 -0.04,0 -0.05,-0.01 -0.13,-0.11 -0.73,-0.94 -1.62,-0.98 -1.79,-0.98 -0.65,0 -0.76,0.71 -0.76,1.1 0,0.38 0.1,0.83 0.17,1.09 z"
+   id="path6516" />
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 245.86,660.1 0,0 0.01,0.01 0,0 0,0.01 0,0.01 0.01,0.01 0,0.01 0.01,0.02 0,0.01 0.01,0.02 0.01,0.02 0,0.01 0.02,0.05 0.02,0.04 0.02,0.05 0.03,0.05 0.03,0.05 0.03,0.06 0.03,0.06 0.04,0.06 0.03,0.06 0.04,0.06 0.05,0.06 0.04,0.06 0.05,0.06 0.05,0.06 0.05,0.05 0.06,0.06 0.05,0.05 0.06,0.05 0.06,0.04 0.07,0.04 0.03,0.02 0.04,0.01 0.03,0.02 0.04,0.01 0.03,0.01 0.04,0.02 0.03,0 0.04,0.01 0.04,0.01 0.04,0 0.04,0.01 0.04,0 c 0.05,0 0.33,0 0.53,-0.14 -0.35,-0.11 -0.38,-0.43 -0.38,-0.48 0,-0.13 0.09,-0.32 0.35,-0.32 0.17,0 0.48,0.14 0.48,0.53 0,0.52 -0.64,0.63 -0.97,0.63 -0.69,0 -1.05,-0.5 -1.21,-0.72 -0.11,0.53 -0.5,0.72 -0.82,0.72 -0.36,0 -0.56,-0.23 -0.72,-0.53 -0.19,-0.4 -0.32,-0.99 -0.32,-1.01 0,-0.1 0.1,-0.1 0.15,-0.1 0.13,0 0.14,0.01 0.19,0.23 0.18,0.7 0.37,1.19 0.68,1.19 0.26,0 0.26,-0.29 0.26,-0.4 0,-0.16 -0.03,-0.35 -0.08,-0.51 l -0.74,-2.99 c -0.02,-0.06 -0.03,-0.11 -0.03,-0.14 0,-0.11 0.08,-0.26 0.28,-0.26 0.3,0 0.37,0.29 0.38,0.37 z"
+   id="path6518" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathit{\\delta}$\n\n\n\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,21.505,1112.9269)"
+       id="g6873">
+<path
+   id="path6875"
+   d="m 226.06,661.59 -0.11,-0.03 -0.12,-0.04 -0.11,-0.04 -0.11,-0.05 -0.11,-0.05 -0.1,-0.06 -0.11,-0.06 -0.1,-0.07 -0.1,-0.07 -0.09,-0.07 -0.09,-0.08 -0.09,-0.08 -0.09,-0.09 -0.08,-0.09 -0.08,-0.09 -0.08,-0.09 -0.07,-0.1 -0.07,-0.1 -0.07,-0.1 -0.06,-0.11 -0.05,-0.1 -0.06,-0.11 -0.05,-0.11 -0.04,-0.11 -0.04,-0.11 -0.03,-0.11 -0.03,-0.12 -0.03,-0.11 -0.01,-0.11 -0.02,-0.12 -0.01,-0.11 0,-0.11 c 0,-0.96 0.64,-1.68 1.58,-1.68 v 0.22 c -0.55,0 -0.96,0.42 -0.96,1.18 0,0.63 0.37,2.5 1.71,2.86 h 0 c 0.25,-0.46 0.55,-1 0.55,-1.72 0,-0.65 -0.38,-2.32 -1.3,-2.32 v -0.22 c 1.16,0 1.99,1.57 1.99,2.94 0,0.91 -0.4,1.41 -0.74,1.86 -0.36,0.44 -0.95,1.19 -0.95,1.63 0,0.22 0.2,0.46 0.55,0.46 0.3,0 0.5,-0.13 0.71,-0.27 0.2,-0.12 0.4,-0.25 0.55,-0.25 0.25,0 0.4,0.24 0.4,0.4 0,0.22 -0.16,0.25 -0.52,0.33 -0.52,0.11 -0.66,0.11 -0.82,0.11 -0.78,0 -1.14,-0.43 -1.14,-1.03 0,-0.54 0.29,-1.1 0.6,-1.7 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       id="g7171"
+       transform="matrix(1,0,0,-1,58.925,1080.6499)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$\\mathit{\\iota}$\n\n\n\n\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 226.66,658.66 0,0 0,0.01 0,0 0,0 0,0.01 0,0 0,0.01 0,0 0,0 -0.01,0.01 0,0 0,0 0,0.01 0,0 0,0 0,0 -0.01,0.01 0,0 0,0 0,0 0,0.01 -0.01,0 0,0 0,0.01 -0.01,0 0,0 -0.01,0 0,0.01 -0.01,0 0,0 -0.01,0 0,0 -0.01,0 0,0 -0.01,0.01 0,0 -0.01,0 0,0 -0.01,0 0,0 0,0 -0.01,0 0,0 c -0.09,0 -0.11,-0.04 -0.13,-0.11 -0.31,-0.98 -1.13,-1.31 -1.56,-1.31 -0.14,0 -0.26,0.03 -0.26,0.33 0,0.24 0.08,0.47 0.18,0.74 0.45,1.2 0.85,2.88 0.85,2.96 0,0.17 -0.11,0.27 -0.28,0.27 -0.11,0 -0.29,-0.07 -0.37,-0.26 -0.07,-0.19 -0.16,-0.68 -0.22,-0.87 -0.02,-0.05 -0.27,-0.93 -0.3,-1.06 -0.03,-0.1 -0.12,-0.35 -0.14,-0.44 -0.08,-0.28 -0.32,-0.75 -0.32,-1.07 0,-0.41 0.28,-0.82 0.84,-0.82 1.13,0 1.83,1.21 1.83,1.54 z"
+   id="path7173"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathit{\\pi}$\n\n\n\n\n\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,113.61,1041.9498)"
+       id="g7473">
+<path
+   id="path7475"
+   d="m 226.07,660.95 h 1.13 c -0.33,-1.48 -0.42,-1.9 -0.42,-2.57 0,-0.15 0,-0.42 0.08,-0.76 0.1,-0.44 0.21,-0.5 0.36,-0.5 0.2,0 0.41,0.18 0.41,0.38 0,0.06 0,0.08 -0.06,0.22 -0.29,0.72 -0.29,1.37 -0.29,1.64 0,0.53 0.07,1.07 0.18,1.59 h 1.13 c 0.13,0 0.49,0 0.49,0.34 0,0.24 -0.21,0.24 -0.4,0.24 h -3.33 c -0.22,0 -0.6,0 -1.04,-0.47 -0.35,-0.39 -0.61,-0.85 -0.61,-0.9 0,-0.01 0,-0.1 0.12,-0.1 0.08,0 0.1,0.04 0.16,0.12 0.49,0.77 1.07,0.77 1.27,0.77 h 0.56 c -0.32,-1.21 -0.85,-2.41 -1.27,-3.32 -0.08,-0.15 -0.08,-0.17 -0.08,-0.24 0,-0.19 0.16,-0.27 0.29,-0.27 0.3,0 0.38,0.28 0.5,0.65 0.13,0.46 0.13,0.48 0.26,0.98 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       id="g7779"
+       transform="matrix(1,0,0,-1,169.95,1079.9499)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$\\mathit{\\varrho}$\n\n\n\n\n\n\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 224.7,658.19 0.01,-0.06 0.02,-0.06 0.02,-0.05 0.03,-0.06 0.02,-0.05 0.02,-0.06 0.03,-0.05 0.03,-0.05 0.03,-0.04 0.03,-0.05 0.03,-0.05 0.04,-0.04 0.03,-0.04 0.04,-0.04 0.04,-0.04 0.04,-0.03 0.04,-0.04 0.04,-0.03 0.05,-0.03 0.04,-0.03 0.05,-0.02 0.05,-0.03 0.05,-0.02 0.05,-0.02 0.05,-0.02 0.05,-0.01 0.06,-0.02 0.05,-0.01 0.06,-0.01 0.06,0 0.05,-0.01 0.06,0 v 0.22 c -0.32,0 -0.72,0.23 -0.72,1.05 0,0.63 0.29,1.62 0.54,2.08 0.41,0.7 0.91,0.95 1.24,0.95 0.37,0 0.69,-0.29 0.69,-0.98 0,-0.55 -0.29,-1.66 -0.56,-2.15 -0.33,-0.63 -0.81,-0.95 -1.19,-0.95 h 0 v -0.22 c 1.2,0 2.46,1.43 2.46,2.89 0,1.06 -0.65,1.63 -1.38,1.63 -0.8,0 -1.78,-0.7 -2.24,-1.98 -0.04,-0.11 -0.64,-2.31 -0.64,-3.19 0,-0.51 0.18,-0.98 1.39,-0.98 0.37,0 0.57,0.04 0.97,0.04 0.18,0 0.2,0 0.26,-0.01 0.15,-0.01 0.19,-0.02 0.2,-0.1 0.01,-0.06 0.01,-0.12 0.12,-0.12 0.09,0 0.15,0.04 0.15,0.28 0,0.49 -0.44,0.49 -1.44,0.49 -0.89,0 -1.35,0 -1.35,0.66 0,0.08 0,0.46 0.23,1.46 z"
+   id="path7781"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$\\mathit{\\gamma}$\n\n\n\n\n\n\n\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,113.775,1111.7765)"
+       id="g8089">
+<path
+   id="path8091"
+   d="m 223.84,659.76 0.02,0.06 0.02,0.05 0.02,0.05 0.02,0.04 0.02,0.05 0.03,0.05 0.02,0.04 0.03,0.04 0.02,0.04 0.03,0.04 0.02,0.04 0.03,0.04 0.06,0.06 0.06,0.07 0.06,0.06 0.06,0.05 0.06,0.05 0.06,0.04 0.07,0.04 0.06,0.04 0.06,0.03 0.07,0.03 0.06,0.03 0.06,0.02 0.06,0.02 0.06,0.02 0.05,0.01 0.06,0.01 0.05,0.01 0.05,0.01 0.04,0.01 0.04,0 0.04,0 0.03,0.01 0.03,0 0.02,0 0.02,0 0.02,0 c 1.5,0 1.61,-1.75 1.61,-2.53 0,-0.61 -0.05,-0.78 -0.12,-0.98 -0.22,-0.73 -0.52,-1.88 -0.52,-2.14 0,-0.11 0.05,-0.18 0.13,-0.18 0.13,0 0.21,0.22 0.32,0.6 0.23,0.84 0.33,1.4 0.37,1.71 0.02,0.13 0.04,0.26 0.08,0.39 0.32,0.99 0.95,2.47 1.35,3.26 0.07,0.12 0.19,0.34 0.19,0.38 0,0.1 -0.1,0.1 -0.12,0.1 -0.03,0 -0.09,0 -0.12,-0.07 -0.51,-0.95 -0.91,-1.95 -1.31,-2.95 -0.01,0.31 -0.02,1.06 -0.41,2.03 -0.24,0.61 -0.64,1.1 -1.33,1.1 -1.24,0 -1.94,-1.52 -1.94,-1.83 0,-0.1 0.09,-0.1 0.19,-0.1 z"
+   style="fill:#000000;stroke-width:0" />
+</g>  </g>
+</svg>
diff --git a/figures/smac.svg b/figures/smac.svg
new file mode 100644 (file)
index 0000000..a4c9adc
--- /dev/null
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:ns0="http://www.iki.fi/pav/software/textext/"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="120.52445"
+   height="78.944023"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="smac.svg">
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="4"
+     inkscape:cx="31.734088"
+     inkscape:cy="51.580953"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:snap-grids="true"
+     inkscape:window-width="1278"
+     inkscape:window-height="779"
+     inkscape:window-x="0"
+     inkscape:window-y="19"
+     inkscape:window-maximized="0"
+     inkscape:snap-center="false"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       snapvisiblegridlinesonly="true"
+       enabled="true"
+       visible="true"
+       empspacing="5"
+       id="grid2818"
+       type="xygrid" />
+  </sodipodi:namedview>
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Mstart"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mstart"
+       style="overflow:visible">
+      <path
+         id="path4329"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(0.4,0,0,0.4,4,0)" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow1Mend"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Mend">
+      <path
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path3732" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow1Send"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow1Send">
+      <path
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         id="path3738" />
+    </marker>
+    <inkscape:perspective
+       id="perspective10"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective3098" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       id="perspective3128" />
+  </defs>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(-394.4,-705.3498)"
+     id="layer1"
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1">
+    <rect
+       y="711.62219"
+       x="404.6499"
+       height="72.171631"
+       width="94.086914"
+       id="rect7593"
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none" />
+    <g
+       transform="matrix(0,1,1,0,-270.49455,260.89951)"
+       id="g3312">
+      <g
+         id="g3297"
+         transform="translate(-15,3.0000045)">
+        <path
+           transform="matrix(1,0,0,-1,482.86,720.1436)"
+           d="m 50,26.984081 c 0,5.522848 -4.477153,10 -10,10 -5.522847,0 -10,-4.477152 -10,-10 0,-5.522847 4.477153,-10 10,-10 5.522847,0 10,4.477153 10,10 z"
+           sodipodi:ry="10"
+           sodipodi:rx="10"
+           sodipodi:cy="26.984081"
+           sodipodi:cx="40"
+           id="path3295"
+           style="fill:#ffffff;stroke:#000000"
+           sodipodi:type="arc" />
+        <g
+           id="g3207"
+           transform="translate(296.94,33.444519)"
+           xml:space="preserve"
+           stroke-miterlimit="10.433"
+           font-style="normal"
+           font-variant="normal"
+           font-weight="normal"
+           font-stretch="normal"
+           font-size-adjust="none"
+           letter-spacing="normal"
+           word-spacing="normal"
+           ns0:text="$\\mathbf{*}$\n\n\n\n"
+           ns0:preamble=""
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 226.17,661.49 0,0.01 0,0.01 0,0.02 0,0.01 0.01,0.02 -0.01,0.01 0,0.02 0,0.01 0,0.02 0,0.02 0,0.01 0,0.02 -0.01,0.01 0,0.02 -0.01,0.01 0,0.02 -0.01,0.01 0,0.02 -0.01,0.01 -0.01,0.01 -0.01,0.01 -0.01,0.02 -0.01,0 0,0.01 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0.01 -0.01,0 -0.01,0.01 0,0 -0.01,0 -0.01,0 -0.01,0.01 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.01,0 -0.02,0 -0.01,0 c -0.16,0 -0.29,-0.12 -0.26,-0.25 v -0.13 l 0.14,-1.55 -1.27,0.93 c -0.09,0.05 -0.11,0.07 -0.18,0.07 -0.14,0 -0.27,-0.14 -0.27,-0.28 0,-0.16 0.1,-0.2 0.2,-0.25 l 1.41,-0.68 -1.37,-0.66 c -0.16,-0.08 -0.24,-0.12 -0.24,-0.27 0,-0.15 0.13,-0.28 0.27,-0.28 0.07,0 0.09,0 0.34,0.19 l 1.11,0.8 -0.15,-1.67 c 0,-0.21 0.18,-0.26 0.26,-0.26 0.12,0 0.27,0.07 0.27,0.26 l -0.15,1.67 1.28,-0.92 c 0.09,-0.05 0.11,-0.07 0.18,-0.07 0.14,0 0.27,0.14 0.27,0.28 0,0.15 -0.09,0.2 -0.21,0.26 -0.6,0.29 -0.62,0.29 -1.41,0.66 l 1.38,0.67 c 0.16,0.08 0.24,0.12 0.24,0.27 0,0.15 -0.13,0.28 -0.27,0.28 -0.07,0 -0.09,0 -0.34,-0.19 l -1.12,-0.81 z"
+   id="path3209" />
+</g>      </g>
+    </g>
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3344"
+       d="m 394.9,764.24797 19.87519,0"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 436.06809,768.84416 18,0"
+       id="path3372"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g3157"
+       transform="translate(-1.1646621,-37.123106)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffffff;stroke:#000000"
+         id="path3406"
+         sodipodi:cx="40"
+         sodipodi:cy="26.984081"
+         sodipodi:rx="10"
+         sodipodi:ry="10"
+         d="m 50,26.984081 c 0,5.522848 -4.477153,10 -10,10 -5.522847,0 -10,-4.477152 -10,-10 0,-5.522847 4.477153,-10 10,-10 5.522847,0 10,4.477153 10,10 z"
+         transform="matrix(0,1,-1,0,492.64902,760.7595)" />
+      <g
+         id="g3586"
+         transform="matrix(0,1,1,0,-194.06005,573.4545)"
+         xml:space="preserve"
+         stroke-miterlimit="10.433"
+         font-style="normal"
+         font-variant="normal"
+         font-weight="normal"
+         font-stretch="normal"
+         font-size-adjust="none"
+         letter-spacing="normal"
+         word-spacing="normal"
+         ns0:text="$\\mathbf{+}$\n\n\n\n\n"
+         ns0:preamble=""
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   style="fill:#000000;stroke-width:0"
+   d="m 227.51,659.52 h 2.78 c 0.14,0 0.33,0 0.33,0.2 0,0.2 -0.19,0.2 -0.33,0.2 h -2.78 v 2.79 c 0,0.14 0,0.33 -0.2,0.33 -0.2,0 -0.2,-0.19 -0.2,-0.33 v -2.79 h -2.79 c -0.14,0 -0.33,0 -0.33,-0.2 0,-0.2 0.19,-0.2 0.33,-0.2 h 2.79 v -2.79 c 0,-0.14 0,-0.32 0.2,-0.32 0.2,0 0.2,0.18 0.2,0.32 z"
+   id="path3588" />
+</g>    </g>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 394.9,772.41014 19.60321,0"
+       id="path3799"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 488.57445,763.63639 25.1,0"
+       id="path3822"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g3743"
+       transform="matrix(1.047619,0,0,1,0.55172631,38.787164)">
+      <rect
+         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+         id="rect3745"
+         width="20"
+         height="30"
+         x="65"
+         y="139.43002"
+         transform="translate(367.86,538.7295)" />
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 65,164.43002 5,-5 -5,-5"
+         id="path3747"
+         transform="translate(367.86,538.7295)" />
+    </g>
+    <path
+       transform="matrix(0.31195247,0,0,0.31195247,504.04726,753.69596)"
+       d="m -46.315493,32.435127 c 0,3.026564 -2.453514,5.480078 -5.480077,5.480078 -3.026564,0 -5.480078,-2.453514 -5.480078,-5.480078 0,-3.026563 2.453514,-5.480077 5.480078,-5.480077 3.026563,0 5.480077,2.453514 5.480077,5.480077 z"
+       sodipodi:ry="5.4800777"
+       sodipodi:rx="5.4800777"
+       sodipodi:cy="32.435127"
+       sodipodi:cx="-51.79557"
+       id="path2986"
+       style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none"
+       sodipodi:type="arc" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+       d="m 474.22,763.69182 14,0 0,-38 -12,0"
+       id="path3162"
+       sodipodi:nodetypes="cccc" />
+    <path
+       sodipodi:nodetypes="cccc"
+       id="path4960"
+       d="m 453.82,726.14182 -12,0 0,34 12,0"
+       style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
+    <g
+       id="g5001"
+       transform="matrix(1,0,0,-1,173.48996,1419.3898)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$x$\n\n\n\n\n\n\n\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 226.76,660.24 0.01,0.03 0,0.03 0.01,0.03 0.01,0.04 0.01,0.03 0.01,0.05 0.02,0.04 0.01,0.04 0.02,0.05 0.01,0.05 0.02,0.05 0.02,0.05 0.03,0.05 0.02,0.05 0.03,0.05 0.02,0.05 0.03,0.04 0.03,0.05 0.04,0.05 0.03,0.04 0.04,0.05 0.04,0.04 0.04,0.03 0.05,0.04 0.04,0.03 0.05,0.03 0.03,0.01 0.02,0.02 0.03,0.01 0.03,0.01 0.02,0.01 0.03,0 0.03,0.01 0.03,0.01 0.03,0 0.03,0 0.03,0.01 0.04,0 c 0.05,0 0.29,0 0.49,-0.13 -0.28,-0.05 -0.47,-0.3 -0.47,-0.54 0,-0.16 0.11,-0.35 0.38,-0.35 0.21,0 0.53,0.18 0.53,0.58 0,0.52 -0.58,0.66 -0.92,0.66 -0.58,0 -0.93,-0.53 -1.05,-0.76 -0.25,0.66 -0.79,0.76 -1.08,0.76 -1.03,0 -1.6,-1.29 -1.6,-1.54 0,-0.1 0.1,-0.1 0.12,-0.1 0.08,0 0.11,0.02 0.13,0.11 0.34,1.06 1,1.31 1.33,1.31 0.19,0 0.54,-0.09 0.54,-0.67 0,-0.31 -0.17,-0.98 -0.54,-2.37 -0.15,-0.62 -0.5,-1.04 -0.94,-1.04 -0.06,0 -0.29,0 -0.5,0.13 0.25,0.05 0.47,0.26 0.47,0.54 0,0.27 -0.22,0.35 -0.37,0.35 -0.3,0 -0.55,-0.26 -0.55,-0.58 0,-0.46 0.5,-0.66 0.94,-0.66 0.66,0 1.01,0.7 1.04,0.76 0.12,-0.37 0.48,-0.76 1.08,-0.76 1.03,0 1.59,1.29 1.59,1.54 0,0.1 -0.09,0.1 -0.12,0.1 -0.09,0 -0.1,-0.04 -0.13,-0.11 -0.32,-1.07 -1,-1.31 -1.32,-1.31 -0.39,0 -0.55,0.32 -0.55,0.66 0,0.22 0.06,0.44 0.17,0.88 z"
+   id="path5003"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$y$\n\n\n\n\n\n\n\n\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,173.67496,1436.2898)"
+       id="g5089">
+<path
+   id="path5091"
+   d="m 228.27,661.03 0.01,0 0,0.01 0,0.01 0,0 0,0.01 0.01,0.02 0,0.01 0,0.01 0,0 0.01,0.01 0,0.01 0,0.01 0,0.01 0,0 0.01,0.01 0,0.01 0,0 0,0.01 0,0 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0.01 0,0.01 0,0.01 0,0 0,0.01 0,0.01 c 0,0.18 -0.13,0.27 -0.29,0.27 -0.09,0 -0.25,-0.06 -0.34,-0.21 -0.02,-0.05 -0.1,-0.36 -0.14,-0.54 -0.07,-0.26 -0.14,-0.53 -0.2,-0.8 l -0.45,-1.79 c -0.04,-0.15 -0.47,-0.85 -1.13,-0.85 -0.5,0 -0.61,0.44 -0.61,0.81 0,0.46 0.17,1.07 0.5,1.95 0.16,0.41 0.2,0.52 0.2,0.72 0,0.45 -0.31,0.82 -0.81,0.82 -0.95,0 -1.32,-1.45 -1.32,-1.54 0,-0.1 0.1,-0.1 0.12,-0.1 0.1,0 0.11,0.02 0.16,0.18 0.27,0.94 0.67,1.24 1.01,1.24 0.08,0 0.25,0 0.25,-0.32 0,-0.25 -0.1,-0.51 -0.17,-0.7 -0.4,-1.06 -0.58,-1.62 -0.58,-2.09 0,-0.89 0.63,-1.19 1.21,-1.19 0.39,0 0.73,0.17 1.01,0.45 -0.13,-0.52 -0.25,-1 -0.65,-1.53 -0.26,-0.34 -0.63,-0.63 -1.09,-0.63 -0.14,0 -0.59,0.03 -0.76,0.42 0.16,0 0.29,0 0.43,0.12 0.1,0.09 0.2,0.22 0.2,0.41 0,0.3 -0.27,0.35 -0.37,0.35 -0.23,0 -0.56,-0.17 -0.56,-0.65 0,-0.5 0.44,-0.87 1.06,-0.87 1.02,0 2.05,0.91 2.33,2.03 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       id="g5181"
+       transform="matrix(1,0,0,-1,211.48996,1397.9895)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$s$\n\n\n\n\n\n\n\n\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 227.33,660.96 -0.03,0 -0.02,-0.01 -0.03,0 -0.02,0 -0.03,-0.01 -0.02,-0.01 -0.02,-0.01 -0.02,0 -0.03,-0.01 -0.02,-0.02 -0.02,-0.01 -0.02,-0.01 -0.01,-0.01 -0.02,-0.02 -0.02,-0.01 -0.02,-0.02 -0.01,-0.01 -0.02,-0.02 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 0,-0.02 0,-0.02 -0.01,-0.02 0,-0.02 0,-0.02 c 0,-0.14 0.09,-0.29 0.31,-0.29 0.22,0 0.46,0.17 0.46,0.56 0,0.45 -0.43,0.86 -1.19,0.86 -1.31,0 -1.68,-1.02 -1.68,-1.46 0,-0.78 0.74,-0.92 1.02,-0.98 0.52,-0.1 1.04,-0.21 1.04,-0.76 0,-0.26 -0.23,-1.1 -1.43,-1.1 -0.13,0 -0.9,0 -1.13,0.53 0.38,-0.05 0.63,0.25 0.63,0.53 0,0.23 -0.16,0.35 -0.37,0.35 -0.26,0 -0.56,-0.21 -0.56,-0.66 0,-0.57 0.57,-0.97 1.43,-0.97 1.61,0 2,1.21 2,1.66 0,0.36 -0.19,0.6 -0.31,0.72 -0.27,0.28 -0.56,0.33 -1,0.42 -0.36,0.08 -0.75,0.15 -0.75,0.6 0,0.29 0.23,0.9 1.11,0.9 0.25,0 0.75,-0.07 0.9,-0.46 z"
+   id="path5183"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       ns0:preamble=""
+       ns0:text="$s\'$\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
+       word-spacing="normal"
+       letter-spacing="normal"
+       font-size-adjust="none"
+       font-stretch="normal"
+       font-weight="normal"
+       font-variant="normal"
+       font-style="normal"
+       stroke-miterlimit="10.433"
+       xml:space="preserve"
+       transform="matrix(1,0,0,-1,266.48996,1397.9895)"
+       id="g5277">
+<path
+   id="path5279"
+   d="m 227.33,660.96 -0.03,0 -0.02,-0.01 -0.03,0 -0.02,0 -0.03,-0.01 -0.02,-0.01 -0.02,-0.01 -0.02,0 -0.03,-0.01 -0.02,-0.02 -0.02,-0.01 -0.02,-0.01 -0.01,-0.01 -0.02,-0.02 -0.02,-0.01 -0.02,-0.02 -0.01,-0.01 -0.02,-0.02 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 0,-0.02 0,-0.02 -0.01,-0.02 0,-0.02 0,-0.02 c 0,-0.14 0.09,-0.29 0.31,-0.29 0.22,0 0.46,0.17 0.46,0.56 0,0.45 -0.43,0.86 -1.19,0.86 -1.31,0 -1.68,-1.02 -1.68,-1.46 0,-0.78 0.74,-0.92 1.02,-0.98 0.52,-0.1 1.04,-0.21 1.04,-0.76 0,-0.26 -0.23,-1.1 -1.43,-1.1 -0.13,0 -0.9,0 -1.13,0.53 0.38,-0.05 0.63,0.25 0.63,0.53 0,0.23 -0.16,0.35 -0.37,0.35 -0.26,0 -0.56,-0.21 -0.56,-0.66 0,-0.57 0.57,-0.97 1.43,-0.97 1.61,0 2,1.21 2,1.66 0,0.36 -0.19,0.6 -0.31,0.72 -0.27,0.28 -0.56,0.33 -1,0.42 -0.36,0.08 -0.75,0.15 -0.75,0.6 0,0.29 0.23,0.9 1.11,0.9 0.25,0 0.75,-0.07 0.9,-0.46 z"
+   style="fill:#000000;stroke-width:0" />
+<path
+   id="path5281"
+   d="m 230.13,664.14 0,0.01 0.01,0.01 0,0.01 0.01,0.01 0,0.01 0,0.01 0.01,0.01 0,0.01 0,0.01 0.01,0 0,0.01 0,0.01 0,0.01 0.01,0 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0 0.01,0.01 0,0 0,0.01 0,0 0,0.01 0,0.01 0,0.01 0,0.01 c 0,0.22 -0.2,0.39 -0.41,0.39 -0.27,0 -0.35,-0.22 -0.38,-0.33 l -0.92,-3.02 c -0.01,-0.01 -0.04,-0.11 -0.04,-0.11 0,-0.09 0.22,-0.16 0.27,-0.16 0.05,0 0.06,0.02 0.11,0.12 z"
+   style="fill:#000000;stroke-width:0" />
+</g>    <g
+       id="g5329"
+       transform="matrix(1,0,0,-1,278.23996,1418.8398)"
+       xml:space="preserve"
+       stroke-miterlimit="10.433"
+       font-style="normal"
+       font-variant="normal"
+       font-weight="normal"
+       font-stretch="normal"
+       font-size-adjust="none"
+       letter-spacing="normal"
+       word-spacing="normal"
+       ns0:text="$s\'$\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
+       ns0:preamble=""
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:normal;word-spacing:normal;text-anchor:start;fill:none;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10.43299961;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0">
+<path
+   d="m 227.33,660.96 -0.03,0 -0.02,-0.01 -0.03,0 -0.02,0 -0.03,-0.01 -0.02,-0.01 -0.02,-0.01 -0.02,0 -0.03,-0.01 -0.02,-0.02 -0.02,-0.01 -0.02,-0.01 -0.01,-0.01 -0.02,-0.02 -0.02,-0.01 -0.02,-0.02 -0.01,-0.01 -0.02,-0.02 -0.01,-0.02 -0.01,-0.01 -0.01,-0.02 -0.02,-0.02 -0.01,-0.02 0,-0.02 -0.01,-0.02 -0.01,-0.02 -0.01,-0.02 0,-0.02 0,-0.02 -0.01,-0.02 0,-0.02 0,-0.02 c 0,-0.14 0.09,-0.29 0.31,-0.29 0.22,0 0.46,0.17 0.46,0.56 0,0.45 -0.43,0.86 -1.19,0.86 -1.31,0 -1.68,-1.02 -1.68,-1.46 0,-0.78 0.74,-0.92 1.02,-0.98 0.52,-0.1 1.04,-0.21 1.04,-0.76 0,-0.26 -0.23,-1.1 -1.43,-1.1 -0.13,0 -0.9,0 -1.13,0.53 0.38,-0.05 0.63,0.25 0.63,0.53 0,0.23 -0.16,0.35 -0.37,0.35 -0.26,0 -0.56,-0.21 -0.56,-0.66 0,-0.57 0.57,-0.97 1.43,-0.97 1.61,0 2,1.21 2,1.66 0,0.36 -0.19,0.6 -0.31,0.72 -0.27,0.28 -0.56,0.33 -1,0.42 -0.36,0.08 -0.75,0.15 -0.75,0.6 0,0.29 0.23,0.9 1.11,0.9 0.25,0 0.75,-0.07 0.9,-0.46 z"
+   id="path5331"
+   style="fill:#000000;stroke-width:0" />
+<path
+   d="m 230.13,664.14 0,0.01 0.01,0.01 0,0.01 0.01,0.01 0,0.01 0,0.01 0.01,0.01 0,0.01 0,0.01 0.01,0 0,0.01 0,0.01 0,0.01 0.01,0 0,0.01 0,0.01 0,0 0,0.01 0,0.01 0,0 0.01,0.01 0,0 0,0.01 0,0 0,0.01 0,0.01 0,0.01 0,0.01 c 0,0.22 -0.2,0.39 -0.41,0.39 -0.27,0 -0.35,-0.22 -0.38,-0.33 l -0.92,-3.02 c -0.01,-0.01 -0.04,-0.11 -0.04,-0.11 0,-0.09 0.22,-0.16 0.27,-0.16 0.05,0 0.06,0.02 0.11,0.12 z"
+   id="path5333"
+   style="fill:#000000;stroke-width:0" />
+</g>  </g>
+</svg>
index 62d0e132d1c3b866b6c85321b40d302e47a08334..f9bb3e44d3a71e773e0400356158db2100bd8265 100644 (file)
--- a/talk.lhs
+++ b/talk.lhs
 \include{preamble}
 
 \title{Haskell-ish Hardware Descriptions}
-\author{Matthijs Kooijman}
-\date{April 24, 2010}
+\author{Matthijs Kooijman, Christiaan Baaij, Jan Kuper}
+\date{Dutch Haskell user group day, 2010}
 
 \begin{document}
 
+\section{Introduction}
+
 \frame{\titlepage}
-\note[itemize]{
-  \item foo
+
+\note[itemize]
+{
+  \item Master's thesis - hardware description language \& compiler Cλash
+  \item Short introduction, then examples
+  \item VHDL is common, but sucks
+  \item Cλash compiler is not embedded, but external
+}
+
+\frame
+{
+  \frametitle{Compiler}
+  \begin{center}
+    \includegraphics[width=10cm]{figures/pipeline}
+  \end{center}
+}
+
+\note[itemize]
+{
+  \item Working prototype, rough edges
+  \item Reuse GHC
+  \item Custom normalization - Reduction system of transformations
+  \item Simple subset of VHDL - existing tooling
+}
+
+\section{Examples}
+
+\frame
+{
+    \frametitle{Multiply-accumulate}
+    \only<1> {
+      \begin{code}
+mac :: Num a => a -> a -> a -> a
+      \end{code}
+    }
+    \only<2-> {
+      \begin{code}
+type Word = SizedWord D16
+mac :: Word -> Word -> Word -> Word
+      \end{code}
+    }
+    \begin{code}
+mac x y acc = acc + x * y
+    \end{code}
+    \smallskip
+    \includegraphics[width=6cm]{figures/mac}
+}
+
+\note[itemize]
+{
+  \item functions are components (operators are functions too!)
+  \item function application is component instantiation
+  \item Polymorphic description 
+  \item But top level must be monomorphic (next frame)
+}
+
+\frame
+{
+    \frametitle{Stateful multiply-accumulate}
+    \begin{code}
+newtype State a = State a
+
+smac :: State Word -> Word -> Word -> (State Word, Word)
+smac (State s) x y = (State s', s')
+  where s' = s + x * y
+    \end{code}
+    \smallskip
+      \includegraphics[width=6cm]{figures/smac}
+}
+
+\note[itemize]
+{
+  \item State is explicit: Argument and result
+  \item Produces register == memory
+}
+
+\frame
+{
+    \frametitle{Simple CPU}
+    \includegraphics[width=11cm]{figures/cpu}
+}
+
+\note[itemize]
+{
+    \item Simple CPU: Instructions are one opcode and four address pairs
+    \item One input line, one output line, no memories
+    \item Small, but basis for real hardware
+    \item Three fixed function units, one multipurpose function unit
+}
+
+\frame
+{
+  \frametitle{Fixed function function units}
+  \begin{code}
+  fu :: (... u ~ n :-: D1 ...) => (a -> a -> t)
+                 -> Vector n a
+                 -> (Index u, Index u)
+                 -> t
+
+  fu op inputs (a1, a2) = op (inputs!a1) (inputs!a2)
+  \end{code}
+  \vspace{2cm}
+
+  \begin{code}
+  fu1 = fu (+)
+  fu2 = fu (-)
+  fu3 = fu (*)
+  \end{code}
+}
+
+\note[itemize]
+{
+  \item fu abstracts the input selection
+  \item fu takes an arbitrary binary operation
+  \item Some context left out
+  \item Vector is a fixed size vector, Index an index
+}
+
+\frame
+{
+  \frametitle{Multi-purpose function unit}
+  \begin{code}
+  data Opcode = Shift | Xor | Equal
+
+  multiop :: Opcode -> Word -> Word -> Word
+  multiop Shift   = shift
+  multiop Xor     = xor
+  multiop Equal   = \a b -> if a == b then 1 else 0
+  \end{code}
+  \vspace{2cm}
+
+  \begin{code}
+  fu0 c = fu (multiop c)
+  \end{code}
+}
+
+\note[itemize]
+{
+  \item multiop takes an opcode and produces a binary operation
+  \item multiop is partially applied to the opcode
+}
+
+\frame
+{
+  \frametitle{The complete CPU}
+  \begin{code}
+type CpuState = State (Vector D4 Word)
+
+cpu :: CpuState
+  -> (Word, Opcode, Vector D4 (Index D6, Index D6))
+  -> (CpuState, Word)
+cpu  (State s) (x, opc, addrs) = (State s', out)
+  where
+    inputs = x +> (0 +> (1 +> s))
+    s' = (fu0 opc inputs (addrs!(0 :: Index D3))) +> (
+         (fu1     inputs (addrs!(1 :: Index D3))) +> (
+         (fu2     inputs (addrs!(2 :: Index D3))) +> (
+         (fu3     inputs (addrs!(3 :: Index D3))) +> (
+         (empty)))))
+    out = last s
+  \end{code}
+}
+
+\note[itemize] {
+  \item Uses partial application for fu0
+  \item Cpu state is one register per fu
+}
+
+\frame
+{
+    \frametitle{Floating point reduction circuit}
+    \includegraphics[width=11cm]{figures/reducer}
+}
+\note[itemize]
+{
+  \item Sums rows of corresponding FP numbers (e.g., sparse matrix
+  multiplication)
+  \item Complexity: Pipelined adder, multiple rows simultaneously
+  \item Big design, implemented in Cλash
+}
+
+\frame
+{
+  \frametitle{Controller function}
+  \begin{code}
+controller (inp1, inp2, pT, from_res_mem) =
+    (arg1, arg2, shift, to_res_mem)
+  where
+    (arg1, arg2, shift, to_res_mem)
+      | valid pT && valid from_res_mem
+        = (pT , from_res_mem , 0, False)
+      | valid pT && valid inp1 && discr pT == discr inp1
+        = (pT , inp1 , 1, False)
+      | valid inp1 && valid inp2 && discr inp1 == discr inp2
+        = (inp1 , inp2 , 2, valid pT)
+      | valid inp1
+        = (inp1 , (True, (0, discr inp1)) , 1, valid pT)
+      | otherwise
+        = (notValid, notValid , 0, valid pT)
+  \end{code}
+}
+
+\note[itemize]
+{
+  \item Elegant implementation of algorithm rules
+}
+
+
+\section{Future}
+
+\frame
+{
+  \frametitle{Future work}
+  \begin{itemize}
+    \item More systematic normalization
+    \item Recursion / normal lists
+    \item Nested state abstraction
+    \item Multiple clock domains / asynchronicity
+    \item Graphical output
+  \end{itemize}
+}
+
+\note[itemize]
+{
+  \item More systematic normalization - proofs
+  \item Recursion / normal lists - Fixed size recursion has problems
+  \item Nested state abstraction - Larger designs can get messy
+  \item Multiple clock domains / asynchronicity - Clock is currently implicit
+  \item Graphical output - For analysis and testing
+  \item Plenty of assignments!
+}
+
+
+\subsection{Thanks}
+\frame
+{
+\vspace{2cm}\centerline{\Huge{Thanks!}}
+\vspace{2cm}
+http://wwwhome.cs.utwente.nl/~baaijcpr/ClaSH/Index.html
+\begin{center}or just\end{center}
+http://google.com/search?q={\bf{}C$\lambda$aSH}\&btnI=I'm Feeling Lucky
 }
 
 \end{document}