--- a/.hgtags Wed Nov 07 17:19:54 2012 +0100
+++ b/.hgtags Wed Nov 07 17:22:16 2012 +0100
@@ -10,3 +10,6 @@
1b2757c1bd918509184f6c1d06b2329a847e31b0 0.7
b18b000363550f02f413aed008f8e306318c608c 1.0.0
ca5bb72d14aeb6e6053e3a53c064a2b7dc8010e5 1.0.1
+b1bdcb4506defef0e857e2710633f7686d8034a5 1.0.2
+5559e5a4b656978c592d364f242edc62369d7e84 1.0.2
+c062edbcaf13135d0312fd2039deca74573ff4f0 1.1.0
--- a/MANIFEST.in Wed Nov 07 17:19:54 2012 +0100
+++ b/MANIFEST.in Wed Nov 07 17:22:16 2012 +0100
@@ -4,6 +4,7 @@
include docs/*.py
include docs/tutorials/*.t
include docs/makefile
+include docs/static/*.svg
include hgext/__init__.py
include hgext/evolve.py
include setup.py
--- a/README Wed Nov 07 17:19:54 2012 +0100
+++ b/README Wed Nov 07 17:22:16 2012 +0100
@@ -46,7 +46,14 @@
Changelog
==================
-1.0.2 --
+1.1.0 -- 2012-10-26
+
+- fix troubles creation reporting from rebase
+- rename latecomer to bumped
+- renamed conflicting to divergent
+- smarter divergent handling
+
+1.0.2 -- 2012-09-19
- fix hg fold bug
- fix hg pull --rebase
--- a/debian/changelog Wed Nov 07 17:19:54 2012 +0100
+++ b/debian/changelog Wed Nov 07 17:22:16 2012 +0100
@@ -1,3 +1,9 @@
+mercurial-evolve (1.0.2-1) UNRELEASED; urgency=low
+
+ * New upstream Release
+
+ -- Pierre-Yves David <pierre-yves.david@logilab.fr> Wed, 19 Sep 2012 17:38:47 +0200
+
mercurial-evolve (1.0.1-1) UNRELEASED; urgency=low
* New bug fix release
--- a/debian/control Wed Nov 07 17:19:54 2012 +0100
+++ b/debian/control Wed Nov 07 17:22:16 2012 +0100
@@ -7,11 +7,13 @@
Pierre-Yves David <pierre-yves.david@logilab.fr>,
Standards-Version: 3.9.3
Build-Depends:
- mercurial (>= 2.3~),
- mercurial-common (>= 2.3~),
+ mercurial (>= 2.3~, <<2.4),
+ mercurial-common (>= 2.3~, <<2.4),
python,
debhelper (>= 8),
python-sphinx (>= 1.0.8),
+ imagemagick,
+ librsvg2-bin,
Python-Version: >= 2.6
Homepage: https://bitbucket.org/marmoute/mutable-history
@@ -20,7 +22,7 @@
Depends:
${python:Depends},
${misc:Depends},
- mercurial (>= 2.3~),
+ mercurial (>= 2.3~, <<2.4),
Description: evolve extension for Mercurial
This package provides the experimental "evolve" extension for the Mercurial
DVCS.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/figures/edit-is-rewrite-step1.svg Wed Nov 07 17:22:16 2012 +0100
@@ -0,0 +1,509 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ 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="773.15637"
+ height="740.48505"
+ id="svg3404"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="edit-is-rewrite-step1.svg">
+ <defs
+ id="defs3406">
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM"
+ style="overflow:visible">
+ <path
+ id="path6393"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotL"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotL"
+ style="overflow:visible">
+ <path
+ id="path6390"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.8,0,0,0.8,5.92,0.8)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path6334"
+ 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)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ id="path6352"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(0.6,0.6)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path6331"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3411" />
+ <inkscape:perspective
+ id="perspective5699"
+ 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="perspective5753"
+ 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="perspective5784"
+ 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>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.57"
+ inkscape:cx="215.04832"
+ inkscape:cy="422.53048"
+ inkscape:document-units="px"
+ showgrid="false"
+ inkscape:snap-global="true"
+ inkscape:window-width="1280"
+ inkscape:window-height="776"
+ inkscape:window-x="0"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g6029"
+ fit-margin-top="5"
+ fit-margin-right="5"
+ fit-margin-bottom="5"
+ fit-margin-left="5">
+ <inkscape:grid
+ type="xygrid"
+ id="grid6315"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="5.0135572px"
+ originy="4.9994442px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3409">
+ <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
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="babar"
+ transform="translate(12.275017,-145.05915)">
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot5626"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"><flowRegion
+ id="flowRegion5628"><rect
+ id="rect5630"
+ width="120.20815"
+ height="52.527931"
+ x="153.54318"
+ y="706.89001"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" /></flowRegion><flowPara
+ id="flowPara5636" /></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot5653"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"><flowRegion
+ id="flowRegion5655"><rect
+ id="rect5657"
+ width="145"
+ height="49.285713"
+ x="565.71429"
+ y="683.07648" /></flowRegion><flowPara
+ id="flowPara5659" /></flowRoot> <g
+ id="g10759"
+ transform="translate(582.45614,-14.035088)">
+ <g
+ transform="translate(-422.06809,-8.1395349)"
+ id="g6029">
+ <rect
+ style="fill:#ffffff;stroke:#000000;stroke-width:4.09652519;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect3414"
+ width="291.61774"
+ height="107.33205"
+ x="68.11969"
+ y="793.33905" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ x="75.714279"
+ y="835.2193"
+ id="text5643"><tspan
+ sodipodi:role="line"
+ id="tspan5645"
+ x="75.714279"
+ y="835.2193"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">";<tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan5889">Alice</tspan>;Babar"</tspan><tspan
+ sodipodi:role="line"
+ x="75.714279"
+ y="885.2193"
+ id="tspan5649"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">⟶ <tspan
+ id="tspan6297"
+ style="fill:#c8ab37;stroke:#c8ab37">19b08111</tspan></tspan></text>
+ </g>
+ <g
+ transform="translate(-602.95683,-59.767404)"
+ id="g6023">
+ <rect
+ style="fill:#ffffff;stroke:#000000;stroke-width:6.09169483;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect3414-7"
+ width="657.06445"
+ height="105.33688"
+ x="66.285065"
+ y="639.61066" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ x="72.882072"
+ y="680.49335"
+ id="text5643-6"><tspan
+ sodipodi:role="line"
+ id="tspan5645-5"
+ x="72.882072"
+ y="680.49335"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">"<tspan
+ id="tspan6203"
+ style="fill:#c8c4b7;stroke:#c8c4b7;stroke-opacity:1">19b08111</tspan>;<tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan5885">Alice</tspan>;Babar<tspan
+ id="tspan6287"
+ style="fill:#ff0000;stroke:#ff0000">,Celeste</tspan>"</tspan><tspan
+ sodipodi:role="line"
+ x="72.882072"
+ y="730.49335"
+ id="tspan5649-6"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">⟶ <tspan
+ id="tspan6035"
+ style="stroke:#009400;stroke-opacity:1"><tspan
+ id="tspan6039"
+ style="stroke:#00b500;stroke-opacity:1"><tspan
+ id="tspan6043"
+ style="stroke:#00ae00;stroke-opacity:1"><tspan
+ id="tspan6045"
+ style="stroke:#00ad00;stroke-opacity:1"><tspan
+ id="tspan6047"
+ style="stroke:#00ac00;stroke-opacity:1"><tspan
+ id="tspan6051"
+ style="stroke:#00aa00;stroke-opacity:1"><tspan
+ id="tspan6053"
+ style="stroke:#00a800;stroke-opacity:1"><tspan
+ id="tspan6055"
+ style="stroke:#00a600;stroke-opacity:1"><tspan
+ id="tspan6057"
+ style="stroke:#00a400;stroke-opacity:1"><tspan
+ id="tspan6059"
+ style="stroke:#00a100;stroke-opacity:1"><tspan
+ id="tspan6061"
+ style="stroke:#009f00;stroke-opacity:1"><tspan
+ id="tspan6063"
+ style="stroke:#009d00;stroke-opacity:1"><tspan
+ id="tspan6065"
+ style="stroke:#009900;stroke-opacity:1"><tspan
+ id="tspan6067"
+ style="stroke:#009800;stroke-opacity:1"><tspan
+ id="tspan6069"
+ style="stroke:#009700;stroke-opacity:1"><tspan
+ id="tspan6071"
+ style="stroke:#009800;stroke-opacity:1"><tspan
+ id="tspan6073"
+ style="stroke:#009900;stroke-opacity:1"><tspan
+ id="tspan6077"
+ style="stroke:#009c00;stroke-opacity:1"><tspan
+ id="tspan6079"
+ style="stroke:#009d00;stroke-opacity:1"><tspan
+ id="tspan6081"
+ style="stroke:#009e00;stroke-opacity:1"><tspan
+ id="tspan6083"
+ style="stroke:#009f00;stroke-opacity:1"><tspan
+ id="tspan6085"
+ style="stroke:#00a100;stroke-opacity:1"><tspan
+ id="tspan6087"
+ style="stroke:#00a200;stroke-opacity:1"><tspan
+ id="tspan6089"
+ style="stroke:#00a500;stroke-opacity:1"><tspan
+ id="tspan6091"
+ style="stroke:#00a600;stroke-opacity:1"><tspan
+ id="tspan6093"
+ style="stroke:#00a500;stroke-opacity:1"><tspan
+ id="tspan6095"
+ style="stroke:#00a200;stroke-opacity:1"><tspan
+ id="tspan6097"
+ style="stroke:#00a100;stroke-opacity:1"><tspan
+ id="tspan6099"
+ style="stroke:#009f00;stroke-opacity:1"><tspan
+ id="tspan6101"
+ style="stroke:#009c00;stroke-opacity:1"><tspan
+ id="tspan6103"
+ style="stroke:#009700;stroke-opacity:1"><tspan
+ id="tspan6105"
+ style="stroke:#009200;stroke-opacity:1"><tspan
+ id="tspan6107"
+ style="stroke:#008b00;stroke-opacity:1"><tspan
+ id="tspan6109"
+ style="stroke:#008500;stroke-opacity:1"><tspan
+ id="tspan6111"
+ style="stroke:#007c00;stroke-opacity:1"><tspan
+ id="tspan6113"
+ style="stroke:#007500;stroke-opacity:1"><tspan
+ id="tspan6115"
+ style="stroke:#006b00;stroke-opacity:1"><tspan
+ id="tspan6117"
+ style="stroke:#006100;stroke-opacity:1"><tspan
+ id="tspan6119"
+ style="stroke:#005800;stroke-opacity:1"><tspan
+ id="tspan6121"
+ style="stroke:#004d00;stroke-opacity:1"><tspan
+ id="tspan6123"
+ style="stroke:#004500;stroke-opacity:1"><tspan
+ id="tspan6125"
+ style="stroke:#003b00;stroke-opacity:1"><tspan
+ id="tspan6127"
+ style="stroke:#003300;stroke-opacity:1"><tspan
+ id="tspan6129"
+ style="stroke:#002900;stroke-opacity:1"><tspan
+ id="tspan6131"
+ style="stroke:#002200;stroke-opacity:1"><tspan
+ id="tspan6133"
+ style="stroke:#001900;stroke-opacity:1"><tspan
+ id="tspan6135"
+ style="stroke:#001300;stroke-opacity:1"><tspan
+ id="tspan6137"
+ style="stroke:#000b00;stroke-opacity:1"><tspan
+ id="tspan6139"
+ style="stroke:#000700;stroke-opacity:1"><tspan
+ id="tspan6141"
+ style="stroke:#000000;stroke-opacity:1"><tspan
+ id="tspan6145"
+ style="stroke:#d00000;stroke-opacity:1"><tspan
+ id="tspan6147"
+ style="stroke:#d10000;stroke-opacity:1"><tspan
+ id="tspan6149"
+ style="stroke:#d30000;stroke-opacity:1"><tspan
+ id="tspan6151"
+ style="stroke:#d80000;stroke-opacity:1"><tspan
+ id="tspan6153"
+ style="stroke:#db0000;stroke-opacity:1"><tspan
+ id="tspan6155"
+ style="stroke:#e10000;stroke-opacity:1"><tspan
+ id="tspan6157"
+ style="stroke:#e40000;stroke-opacity:1"><tspan
+ id="tspan6159"
+ style="stroke:#eb0000;stroke-opacity:1"><tspan
+ id="tspan6161"
+ style="stroke:#ef0000;stroke-opacity:1"><tspan
+ id="tspan6163"
+ style="stroke:#f50000;stroke-opacity:1"><tspan
+ id="tspan6165"
+ style="stroke:#f90000;stroke-opacity:1"><tspan
+ id="tspan6167"
+ style="stroke:#fd0000;stroke-opacity:1"><tspan
+ id="tspan6169"
+ style="stroke:#ff0000;stroke-opacity:1"><tspan
+ id="tspan6185"
+ style="fill:#010000;fill-opacity:1"><tspan
+ id="tspan6187"
+ style="fill:#4c0000;fill-opacity:1"><tspan
+ id="tspan6189"
+ style="fill:#810000;fill-opacity:1"><tspan
+ id="tspan6191"
+ style="fill:#c70000;fill-opacity:1"><tspan
+ id="tspan6193"
+ style="fill:#ee0000;fill-opacity:1"><tspan
+ id="tspan6195"
+ style="fill:#ff0000;fill-opacity:1"><tspan
+ id="tspan6279"
+ style="fill:#c8ab37"><tspan
+ id="tspan6281"
+ style="stroke:#c8ab37">925d8319 </tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></text>
+ </g>
+ <g
+ transform="translate(-582.55815,-32.55814)"
+ id="g6009">
+ <rect
+ style="fill:#ffffff;stroke:#000000;stroke-width:5.109797;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect3414-7-0"
+ width="458.04636"
+ height="106.31878"
+ x="145.39543"
+ y="199.2028" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ x="152.48338"
+ y="240.57646"
+ id="text5643-6-0"><tspan
+ sodipodi:role="line"
+ x="152.48338"
+ y="240.57646"
+ id="tspan5649-6-7"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">"<tspan
+ id="tspan6305"
+ style="fill:#c8c4b7;stroke:#c8c4b7">6fcdd7fe</tspan>;<tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan5877">Bob</tspan>;Babar"</tspan><tspan
+ sodipodi:role="line"
+ x="152.48338"
+ y="290.57648"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5823"><tspan
+ id="tspan6309"
+ style="fill:#c8ab37;stroke:#c8ab37">⟶ebc2b5a1 </tspan></tspan><tspan
+ sodipodi:role="line"
+ x="152.48338"
+ y="340.57648"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5825" /></text>
+ </g>
+ <g
+ transform="translate(-574.4186,-84.34382)"
+ id="g6016">
+ <rect
+ style="fill:#ffffff;stroke:#000000;stroke-width:6.52355862;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect3414-7-0-7"
+ width="756.63257"
+ height="104.90502"
+ x="-12.03722"
+ y="458.04919" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ x="-5.6561542"
+ y="498.71597"
+ id="text5643-6-0-7"><tspan
+ sodipodi:role="line"
+ x="-5.6561542"
+ y="498.71597"
+ id="tspan5649-6-7-5"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">"<tspan
+ id="tspan6289"
+ style="fill:#c8c4b7;stroke:#c8c4b7">925d8319</tspan>;<tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan5881">Alice</tspan>;Babar,Celeste<tspan
+ id="tspan6303"
+ style="fill:#ff0000;stroke:#ff0000">,flore</tspan>"</tspan><tspan
+ sodipodi:role="line"
+ x="-5.6561542"
+ y="548.71594"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5809">⟶ <tspan
+ id="tspan6299"
+ style="fill:#c8ab37;stroke:#c8ab37">6fcdd7fe </tspan></tspan><tspan
+ sodipodi:role="line"
+ x="-5.6561542"
+ y="598.71594"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5811" /></text>
+ </g>
+ <path
+ inkscape:connection-start="#g6016"
+ inkscape:connection-end="#g6009"
+ inkscape:connector-type="polyline"
+ id="path6317"
+ d="m -208.13954,373.70537 0,-100.74193"
+ style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#DotM);marker-end:none"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g6023"
+ inkscape:connection-start="#g6029"
+ inkscape:connector-type="polyline"
+ id="path6321"
+ d="m -208.13953,785.19952 -1e-5,-100.01938"
+ style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.79999995;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#DotM);marker-end:none"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g6023"
+ inkscape:connection-start="#g6016"
+ inkscape:connector-type="polyline"
+ id="path6323"
+ d="m -208.13954,478.6104 0,101.23285"
+ style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-mid:none;marker-end:url(#DotM)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/figures/edit-is-rewrite-step2.svg Wed Nov 07 17:22:16 2012 +0100
@@ -0,0 +1,832 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ 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="1597.0645"
+ height="768.49182"
+ id="svg3404"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="edit-is-rewrite-step2.svg">
+ <defs
+ id="defs3406">
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM"
+ style="overflow:visible">
+ <path
+ id="path6393"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotL"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotL"
+ style="overflow:visible">
+ <path
+ id="path6390"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.8,0,0,0.8,5.92,0.8)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path6334"
+ 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)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ id="path6352"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(0.6,0.6)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path6331"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3411" />
+ <inkscape:perspective
+ id="perspective5699"
+ 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="perspective5753"
+ 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="perspective5784"
+ 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="perspective11514"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-8"
+ style="overflow:visible">
+ <path
+ id="path6393-2"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker11520"
+ style="overflow:visible">
+ <path
+ id="path11522"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.57"
+ inkscape:cx="1091.46"
+ inkscape:cy="493.26469"
+ inkscape:document-units="px"
+ showgrid="false"
+ inkscape:snap-global="true"
+ inkscape:window-width="1280"
+ inkscape:window-height="776"
+ inkscape:window-x="0"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="layer4"
+ fit-margin-top="5"
+ fit-margin-right="5"
+ fit-margin-bottom="5"
+ fit-margin-left="5">
+ <inkscape:grid
+ type="xygrid"
+ id="grid6315"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="424.40857px"
+ originy="4.9994042px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3409">
+ <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
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="babar"
+ transform="translate(888.68669,-124.06992)">
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot5626"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"><flowRegion
+ id="flowRegion5628"><rect
+ id="rect5630"
+ width="120.20815"
+ height="52.527931"
+ x="153.54318"
+ y="706.89001"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" /></flowRegion><flowPara
+ id="flowPara5636" /></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot5653"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"><flowRegion
+ id="flowRegion5655"><rect
+ id="rect5657"
+ width="145"
+ height="49.285713"
+ x="565.71429"
+ y="683.07648" /></flowRegion><flowPara
+ id="flowPara5659" /></flowRoot> <g
+ id="g6029"
+ transform="translate(-296.62861,-15.157079)">
+ <rect
+ y="793.33905"
+ x="68.11969"
+ height="107.33205"
+ width="291.61774"
+ id="rect3414"
+ style="fill:#ffffff;stroke:#000000;stroke-width:4.09652519000000037;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <text
+ id="text5643"
+ y="835.2193"
+ x="75.714279"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="835.2193"
+ x="75.714279"
+ id="tspan5645"
+ sodipodi:role="line">";<tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan12068">Alice</tspan>;Babar"</tspan><tspan
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5649"
+ y="885.2193"
+ x="75.714279"
+ sodipodi:role="line">⟶ <tspan
+ style="fill:#c8ab37;stroke:#c8ab37"
+ id="tspan6297">19b08111</tspan></tspan></text>
+ </g>
+ <g
+ id="g6023"
+ transform="translate(-897.69367,-93.100738)"
+ style="opacity:0.5">
+ <rect
+ y="639.61066"
+ x="66.285065"
+ height="105.33688"
+ width="657.06445"
+ id="rect3414-7"
+ style="fill:#ffffff;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:20, 10;stroke-dashoffset:0" />
+ <text
+ id="text5643-6"
+ y="680.49335"
+ x="72.882072"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="680.49335"
+ x="72.882072"
+ id="tspan5645-5"
+ sodipodi:role="line">"<tspan
+ style="fill:#c8c4b7;stroke:#c8c4b7;stroke-opacity:1"
+ id="tspan6203">19b08111</tspan>;<tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan12072">Alice</tspan>;Babar<tspan
+ style="fill:#ff0000;stroke:#ff0000"
+ id="tspan6287">,Celeste</tspan>"</tspan><tspan
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5649-6"
+ y="730.49335"
+ x="72.882072"
+ sodipodi:role="line">⟶ <tspan
+ style="stroke:#009400;stroke-opacity:1"
+ id="tspan6035"><tspan
+ style="stroke:#00b500;stroke-opacity:1"
+ id="tspan6039"><tspan
+ style="stroke:#00ae00;stroke-opacity:1"
+ id="tspan6043"><tspan
+ style="stroke:#00ad00;stroke-opacity:1"
+ id="tspan6045"><tspan
+ style="stroke:#00ac00;stroke-opacity:1"
+ id="tspan6047"><tspan
+ style="stroke:#00aa00;stroke-opacity:1"
+ id="tspan6051"><tspan
+ style="stroke:#00a800;stroke-opacity:1"
+ id="tspan6053"><tspan
+ style="stroke:#00a600;stroke-opacity:1"
+ id="tspan6055"><tspan
+ style="stroke:#00a400;stroke-opacity:1"
+ id="tspan6057"><tspan
+ style="stroke:#00a100;stroke-opacity:1"
+ id="tspan6059"><tspan
+ style="stroke:#009f00;stroke-opacity:1"
+ id="tspan6061"><tspan
+ style="stroke:#009d00;stroke-opacity:1"
+ id="tspan6063"><tspan
+ style="stroke:#009900;stroke-opacity:1"
+ id="tspan6065"><tspan
+ style="stroke:#009800;stroke-opacity:1"
+ id="tspan6067"><tspan
+ style="stroke:#009700;stroke-opacity:1"
+ id="tspan6069"><tspan
+ style="stroke:#009800;stroke-opacity:1"
+ id="tspan6071"><tspan
+ style="stroke:#009900;stroke-opacity:1"
+ id="tspan6073"><tspan
+ style="stroke:#009c00;stroke-opacity:1"
+ id="tspan6077"><tspan
+ style="stroke:#009d00;stroke-opacity:1"
+ id="tspan6079"><tspan
+ style="stroke:#009e00;stroke-opacity:1"
+ id="tspan6081"><tspan
+ style="stroke:#009f00;stroke-opacity:1"
+ id="tspan6083"><tspan
+ style="stroke:#00a100;stroke-opacity:1"
+ id="tspan6085"><tspan
+ style="stroke:#00a200;stroke-opacity:1"
+ id="tspan6087"><tspan
+ style="stroke:#00a500;stroke-opacity:1"
+ id="tspan6089"><tspan
+ style="stroke:#00a600;stroke-opacity:1"
+ id="tspan6091"><tspan
+ style="stroke:#00a500;stroke-opacity:1"
+ id="tspan6093"><tspan
+ style="stroke:#00a200;stroke-opacity:1"
+ id="tspan6095"><tspan
+ style="stroke:#00a100;stroke-opacity:1"
+ id="tspan6097"><tspan
+ style="stroke:#009f00;stroke-opacity:1"
+ id="tspan6099"><tspan
+ style="stroke:#009c00;stroke-opacity:1"
+ id="tspan6101"><tspan
+ style="stroke:#009700;stroke-opacity:1"
+ id="tspan6103"><tspan
+ style="stroke:#009200;stroke-opacity:1"
+ id="tspan6105"><tspan
+ style="stroke:#008b00;stroke-opacity:1"
+ id="tspan6107"><tspan
+ style="stroke:#008500;stroke-opacity:1"
+ id="tspan6109"><tspan
+ style="stroke:#007c00;stroke-opacity:1"
+ id="tspan6111"><tspan
+ style="stroke:#007500;stroke-opacity:1"
+ id="tspan6113"><tspan
+ style="stroke:#006b00;stroke-opacity:1"
+ id="tspan6115"><tspan
+ style="stroke:#006100;stroke-opacity:1"
+ id="tspan6117"><tspan
+ style="stroke:#005800;stroke-opacity:1"
+ id="tspan6119"><tspan
+ style="stroke:#004d00;stroke-opacity:1"
+ id="tspan6121"><tspan
+ style="stroke:#004500;stroke-opacity:1"
+ id="tspan6123"><tspan
+ style="stroke:#003b00;stroke-opacity:1"
+ id="tspan6125"><tspan
+ style="stroke:#003300;stroke-opacity:1"
+ id="tspan6127"><tspan
+ style="stroke:#002900;stroke-opacity:1"
+ id="tspan6129"><tspan
+ style="stroke:#002200;stroke-opacity:1"
+ id="tspan6131"><tspan
+ style="stroke:#001900;stroke-opacity:1"
+ id="tspan6133"><tspan
+ style="stroke:#001300;stroke-opacity:1"
+ id="tspan6135"><tspan
+ style="stroke:#000b00;stroke-opacity:1"
+ id="tspan6137"><tspan
+ style="stroke:#000700;stroke-opacity:1"
+ id="tspan6139"><tspan
+ style="stroke:#000000;stroke-opacity:1"
+ id="tspan6141"><tspan
+ style="stroke:#d00000;stroke-opacity:1"
+ id="tspan6145"><tspan
+ style="stroke:#d10000;stroke-opacity:1"
+ id="tspan6147"><tspan
+ style="stroke:#d30000;stroke-opacity:1"
+ id="tspan6149"><tspan
+ style="stroke:#d80000;stroke-opacity:1"
+ id="tspan6151"><tspan
+ style="stroke:#db0000;stroke-opacity:1"
+ id="tspan6153"><tspan
+ style="stroke:#e10000;stroke-opacity:1"
+ id="tspan6155"><tspan
+ style="stroke:#e40000;stroke-opacity:1"
+ id="tspan6157"><tspan
+ style="stroke:#eb0000;stroke-opacity:1"
+ id="tspan6159"><tspan
+ style="stroke:#ef0000;stroke-opacity:1"
+ id="tspan6161"><tspan
+ style="stroke:#f50000;stroke-opacity:1"
+ id="tspan6163"><tspan
+ style="stroke:#f90000;stroke-opacity:1"
+ id="tspan6165"><tspan
+ style="stroke:#fd0000;stroke-opacity:1"
+ id="tspan6167"><tspan
+ style="stroke:#ff0000;stroke-opacity:1"
+ id="tspan6169"><tspan
+ style="fill:#010000;fill-opacity:1"
+ id="tspan6185"><tspan
+ style="fill:#4c0000;fill-opacity:1"
+ id="tspan6187"><tspan
+ style="fill:#810000;fill-opacity:1"
+ id="tspan6189"><tspan
+ style="fill:#c70000;fill-opacity:1"
+ id="tspan6191"><tspan
+ style="fill:#ee0000;fill-opacity:1"
+ id="tspan6193"><tspan
+ style="fill:#ff0000;fill-opacity:1"
+ id="tspan6195"><tspan
+ style="fill:#c8ab37"
+ id="tspan6279"><tspan
+ style="stroke:#c8ab37"
+ id="tspan6281">925d8319 </tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></text>
+ </g>
+ <g
+ id="g6009"
+ transform="translate(-877.29499,-65.891474)"
+ style="opacity:0.5">
+ <rect
+ y="199.2028"
+ x="145.39543"
+ height="106.31878"
+ width="458.04636"
+ id="rect3414-7-0"
+ style="fill:#ffffff;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:20, 10;stroke-dashoffset:0" />
+ <text
+ id="text5643-6-0"
+ y="240.57646"
+ x="152.48338"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5649-6-7"
+ y="240.57646"
+ x="152.48338"
+ sodipodi:role="line">"<tspan
+ style="fill:#c8c4b7;stroke:#c8c4b7"
+ id="tspan6305">6fcdd7fe</tspan>;<tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan12080">Bob</tspan>;Babar"</tspan><tspan
+ id="tspan5823"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="290.57648"
+ x="152.48338"
+ sodipodi:role="line"><tspan
+ style="fill:#c8ab37;stroke:#c8ab37"
+ id="tspan6309">⟶ebc2b5a1 </tspan></tspan><tspan
+ id="tspan5825"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="340.57648"
+ x="152.48338"
+ sodipodi:role="line" /></text>
+ </g>
+ <g
+ id="g6016"
+ transform="translate(-869.15544,-117.67716)"
+ style="opacity:0.5">
+ <rect
+ y="458.04919"
+ x="-12.03722"
+ height="104.90502"
+ width="756.63257"
+ id="rect3414-7-0-7"
+ style="fill:#ffffff;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:20, 10;stroke-dashoffset:0" />
+ <text
+ id="text5643-6-0-7"
+ y="498.71597"
+ x="-5.6561542"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5649-6-7-5"
+ y="498.71597"
+ x="-5.6561542"
+ sodipodi:role="line">"<tspan
+ style="fill:#c8c4b7;stroke:#c8c4b7"
+ id="tspan6289">925d8319</tspan>;<tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan12076">Alice</tspan>;Babar,Celeste<tspan
+ style="fill:#ff0000;stroke:#ff0000"
+ id="tspan6303">,flore<tspan
+ style="fill:#000000;stroke:#000000"
+ id="tspan6313">"</tspan></tspan></tspan><tspan
+ id="tspan5809"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="548.71594"
+ x="-5.6561542"
+ sodipodi:role="line">⟶ <tspan
+ style="fill:#c8ab37;stroke:#c8ab37"
+ id="tspan6299">6fcdd7fe </tspan></tspan><tspan
+ id="tspan5811"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="598.71594"
+ x="-5.6561542"
+ sodipodi:role="line" /></text>
+ </g>
+ <path
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#DotM);marker-end:none"
+ d="m -502.87638,340.37203 0,-100.74192"
+ id="path6317"
+ inkscape:connector-type="polyline"
+ inkscape:connection-end="#g6009"
+ inkscape:connection-start="#g6016"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2.79999995000000013;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#DotM);marker-end:none"
+ d="M -179.61512,778.18197 -407.76284,651.8468"
+ id="path6321"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g6029"
+ inkscape:connection-end="#g6023"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-mid:none;marker-end:url(#DotM)"
+ d="m -502.87638,445.27706 0,101.23286"
+ id="path6323"
+ inkscape:connector-type="polyline"
+ inkscape:connection-end="#g6023"
+ inkscape:connection-start="#g6016"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g6023-5"
+ transform="translate(-72.254198,-94.854246)">
+ <rect
+ y="639.61066"
+ x="66.285065"
+ height="105.33688"
+ width="657.06445"
+ id="rect3414-7-5"
+ style="fill:#ffffff;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <text
+ id="text5643-6-3"
+ y="680.49335"
+ x="72.882072"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="680.49335"
+ x="72.882072"
+ id="tspan5645-5-0"
+ sodipodi:role="line">"<tspan
+ style="fill:#c8c4b7;stroke:#c8c4b7;stroke-opacity:1"
+ id="tspan6203-2">19b08111</tspan>;<tspan
+ style="fill:#ff0000;stroke:#ff0000"
+ id="tspan12040">Bob</tspan>;Babar,Celeste"</tspan><tspan
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5649-6-70"
+ y="730.49335"
+ x="72.882072"
+ sodipodi:role="line">⟶ <tspan
+ style="stroke:#009400;stroke-opacity:1"
+ id="tspan6035-4"><tspan
+ style="stroke:#00b500;stroke-opacity:1"
+ id="tspan6039-3"><tspan
+ style="stroke:#00ae00;stroke-opacity:1"
+ id="tspan6043-2"><tspan
+ style="stroke:#00ad00;stroke-opacity:1"
+ id="tspan6045-5"><tspan
+ style="stroke:#00ac00;stroke-opacity:1"
+ id="tspan6047-2"><tspan
+ style="stroke:#00aa00;stroke-opacity:1"
+ id="tspan6051-8"><tspan
+ style="stroke:#00a800;stroke-opacity:1"
+ id="tspan6053-9"><tspan
+ style="stroke:#00a600;stroke-opacity:1"
+ id="tspan6055-1"><tspan
+ style="stroke:#00a400;stroke-opacity:1"
+ id="tspan6057-7"><tspan
+ style="stroke:#00a100;stroke-opacity:1"
+ id="tspan6059-2"><tspan
+ style="stroke:#009f00;stroke-opacity:1"
+ id="tspan6061-8"><tspan
+ style="stroke:#009d00;stroke-opacity:1"
+ id="tspan6063-7"><tspan
+ style="stroke:#009900;stroke-opacity:1"
+ id="tspan6065-4"><tspan
+ style="stroke:#009800;stroke-opacity:1"
+ id="tspan6067-1"><tspan
+ style="stroke:#009700;stroke-opacity:1"
+ id="tspan6069-4"><tspan
+ style="stroke:#009800;stroke-opacity:1"
+ id="tspan6071-7"><tspan
+ style="stroke:#009900;stroke-opacity:1"
+ id="tspan6073-8"><tspan
+ style="stroke:#009c00;stroke-opacity:1"
+ id="tspan6077-6"><tspan
+ style="stroke:#009d00;stroke-opacity:1"
+ id="tspan6079-8"><tspan
+ style="stroke:#009e00;stroke-opacity:1"
+ id="tspan6081-8"><tspan
+ style="stroke:#009f00;stroke-opacity:1"
+ id="tspan6083-3"><tspan
+ style="stroke:#00a100;stroke-opacity:1"
+ id="tspan6085-6"><tspan
+ style="stroke:#00a200;stroke-opacity:1"
+ id="tspan6087-0"><tspan
+ style="stroke:#00a500;stroke-opacity:1"
+ id="tspan6089-0"><tspan
+ style="stroke:#00a600;stroke-opacity:1"
+ id="tspan6091-3"><tspan
+ style="stroke:#00a500;stroke-opacity:1"
+ id="tspan6093-6"><tspan
+ style="stroke:#00a200;stroke-opacity:1"
+ id="tspan6095-1"><tspan
+ style="stroke:#00a100;stroke-opacity:1"
+ id="tspan6097-5"><tspan
+ style="stroke:#009f00;stroke-opacity:1"
+ id="tspan6099-8"><tspan
+ style="stroke:#009c00;stroke-opacity:1"
+ id="tspan6101-8"><tspan
+ style="stroke:#009700;stroke-opacity:1"
+ id="tspan6103-6"><tspan
+ style="stroke:#009200;stroke-opacity:1"
+ id="tspan6105-2"><tspan
+ style="stroke:#008b00;stroke-opacity:1"
+ id="tspan6107-1"><tspan
+ style="stroke:#008500;stroke-opacity:1"
+ id="tspan6109-0"><tspan
+ style="stroke:#007c00;stroke-opacity:1"
+ id="tspan6111-9"><tspan
+ style="stroke:#007500;stroke-opacity:1"
+ id="tspan6113-5"><tspan
+ style="stroke:#006b00;stroke-opacity:1"
+ id="tspan6115-0"><tspan
+ style="stroke:#006100;stroke-opacity:1"
+ id="tspan6117-9"><tspan
+ style="stroke:#005800;stroke-opacity:1"
+ id="tspan6119-7"><tspan
+ style="stroke:#004d00;stroke-opacity:1"
+ id="tspan6121-7"><tspan
+ style="stroke:#004500;stroke-opacity:1"
+ id="tspan6123-3"><tspan
+ style="stroke:#003b00;stroke-opacity:1"
+ id="tspan6125-5"><tspan
+ style="stroke:#003300;stroke-opacity:1"
+ id="tspan6127-6"><tspan
+ style="stroke:#002900;stroke-opacity:1"
+ id="tspan6129-8"><tspan
+ style="stroke:#002200;stroke-opacity:1"
+ id="tspan6131-6"><tspan
+ style="stroke:#001900;stroke-opacity:1"
+ id="tspan6133-2"><tspan
+ style="stroke:#001300;stroke-opacity:1"
+ id="tspan6135-7"><tspan
+ style="stroke:#000b00;stroke-opacity:1"
+ id="tspan6137-6"><tspan
+ style="stroke:#000700;stroke-opacity:1"
+ id="tspan6139-8"><tspan
+ style="stroke:#000000;stroke-opacity:1"
+ id="tspan6141-5"><tspan
+ style="stroke:#d00000;stroke-opacity:1"
+ id="tspan6145-5"><tspan
+ style="stroke:#d10000;stroke-opacity:1"
+ id="tspan6147-1"><tspan
+ style="stroke:#d30000;stroke-opacity:1"
+ id="tspan6149-3"><tspan
+ style="stroke:#d80000;stroke-opacity:1"
+ id="tspan6151-7"><tspan
+ style="stroke:#db0000;stroke-opacity:1"
+ id="tspan6153-2"><tspan
+ style="stroke:#e10000;stroke-opacity:1"
+ id="tspan6155-6"><tspan
+ style="stroke:#e40000;stroke-opacity:1"
+ id="tspan6157-3"><tspan
+ style="stroke:#eb0000;stroke-opacity:1"
+ id="tspan6159-5"><tspan
+ style="stroke:#ef0000;stroke-opacity:1"
+ id="tspan6161-3"><tspan
+ style="stroke:#f50000;stroke-opacity:1"
+ id="tspan6163-3"><tspan
+ style="stroke:#f90000;stroke-opacity:1"
+ id="tspan6165-5"><tspan
+ style="stroke:#fd0000;stroke-opacity:1"
+ id="tspan6167-1"><tspan
+ style="stroke:#ff0000;stroke-opacity:1"
+ id="tspan6169-8"><tspan
+ style="fill:#010000;fill-opacity:1"
+ id="tspan6185-8"><tspan
+ style="fill:#4c0000;fill-opacity:1"
+ id="tspan6187-3"><tspan
+ style="fill:#810000;fill-opacity:1"
+ id="tspan6189-7"><tspan
+ style="fill:#c70000;fill-opacity:1"
+ id="tspan6191-5"><tspan
+ style="fill:#ee0000;fill-opacity:1"
+ id="tspan6193-3"><tspan
+ style="fill:#ff0000;fill-opacity:1"
+ id="tspan6195-6"><tspan
+ style="fill:#c8ab37"
+ id="tspan6279-2"><tspan
+ style="stroke:#c8ab37"
+ id="tspan6281-0">1a25964c </tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></tspan></text>
+ </g>
+ <g
+ id="g6009-2"
+ transform="matrix(1.0149773,0,0,1,-61.013248,-67.644986)">
+ <rect
+ y="199.28004"
+ x="136.82903"
+ height="106.1643"
+ width="487.27863"
+ id="rect3414-7-0-9"
+ style="fill:#ffffff;stroke:#000000;stroke-width:5.15333318999999968;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <text
+ id="text5643-6-0-8"
+ y="240.57646"
+ x="152.48338"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5649-6-7-0"
+ y="240.57646"
+ x="152.48338"
+ sodipodi:role="line">"<tspan
+ style="fill:#ff0000;stroke:#ff0000"
+ id="tspan6305-8">6d9e1549</tspan>;<tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan12088">Bob</tspan>;Babar"</tspan><tspan
+ id="tspan5823-0"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="290.57648"
+ x="152.48338"
+ sodipodi:role="line"><tspan
+ style="fill:#c8ab37;stroke:#c8ab37"
+ id="tspan6309-7"><tspan
+ style="fill:#000000;stroke:#000000"
+ id="tspan12060">⟶<tspan
+ style="fill:#c8ab37"
+ id="tspan12064"><tspan
+ style="stroke:#c8ab37"
+ id="tspan12066">dda72e36 </tspan></tspan></tspan></tspan></tspan><tspan
+ id="tspan5825-4"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="340.57648"
+ x="152.48338"
+ sodipodi:role="line" /></text>
+ </g>
+ <g
+ id="g6016-0"
+ transform="translate(-43.715968,-119.43067)">
+ <rect
+ y="458.04919"
+ x="-12.03722"
+ height="104.90502"
+ width="756.63257"
+ id="rect3414-7-0-7-4"
+ style="fill:#ffffff;stroke:#000000;stroke-width:5;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <text
+ id="text5643-6-0-7-1"
+ y="498.71597"
+ x="-5.6561542"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="tspan5649-6-7-5-4"
+ y="498.71597"
+ x="-5.6561542"
+ sodipodi:role="line">"<tspan
+ style="fill:#c8c4b7;stroke:#c8c4b7"
+ id="tspan12056">1a25964c</tspan>;<tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan12084">Alice</tspan>;Babar,Celeste,<tspan
+ style="fill:#ff0000;stroke:#ff0000"
+ id="tspan12050">F</tspan>lore"</tspan><tspan
+ id="tspan5809-3"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="548.71594"
+ x="-5.6561542"
+ sodipodi:role="line">⟶ <tspan
+ style="fill:#c8ab37;stroke:#c8ab37"
+ id="tspan6299-4">6d9e1549 </tspan></tspan><tspan
+ id="tspan5811-3"
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ y="598.71594"
+ x="-5.6561542"
+ sodipodi:role="line" /></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#DotM);marker-end:none"
+ d="m 323.22154,338.61852 1.26559,-100.81916"
+ id="path6317-8"
+ inkscape:connector-type="polyline"
+ inkscape:connection-end="#g6009-2"
+ inkscape:connection-start="#g6016-0"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-mid:none;marker-end:url(#DotM)"
+ d="m 322.5631,443.52355 -1e-5,101.23286"
+ id="path6323-8"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g6016-0"
+ inkscape:connection-end="#g6023-5"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker11520)"
+ d="M 231.51159,650.09329 10.076033,778.18197"
+ id="path11833"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g6023-5"
+ inkscape:connection-end="#g6029"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/figures/explain-troubles-concurrent-10-solution.svg Wed Nov 07 17:22:16 2012 +0100
@@ -0,0 +1,929 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ 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="1290.3188"
+ height="561.80957"
+ id="svg12094"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="explain-troubles-concurrent-10-solution.svg">
+ <defs
+ id="defs12096">
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend"
+ style="overflow:visible">
+ <path
+ id="path4197"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMstart"
+ style="overflow:visible">
+ <path
+ id="path4188"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM"
+ style="overflow:visible">
+ <path
+ id="path6393"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotS"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotS"
+ style="overflow:visible">
+ <path
+ id="path6396"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.2,0,0,0.2,1.48,0.2)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective12102" />
+ <pattern
+ patternUnits="userSpaceOnUse"
+ width="165"
+ height="162.14285"
+ patternTransform="matrix(0.60606061,0,0,0.61674011,-218.21429,419.14788)"
+ id="pattern12110">
+ <rect
+ ry="78.664986"
+ y="2.4064403"
+ x="2.4064403"
+ height="157.32997"
+ width="160.18712"
+ id="rect12108"
+ style="opacity:0.75;fill:#008000;fill-opacity:0;fill-rule:nonzero;stroke:#008000;stroke-width:4.81288052;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ </pattern>
+ <inkscape:perspective
+ id="perspective12641"
+ 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="perspective12674"
+ 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="perspective12705"
+ 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="perspective12705-5"
+ 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="perspective12811"
+ 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="perspective12838"
+ 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="perspective12869"
+ 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="perspective12869-3"
+ 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="perspective8199"
+ 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="perspective8230"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6393-0"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3407"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path3409"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3411"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path3413"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3415"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path3417"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-9"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4197-6"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3421"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path3423"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-15"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6393-08"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3824"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path3826"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3828"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path3830"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3832"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path3834"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-7"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4197-67"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker3838"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path3840"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="746.41279"
+ inkscape:cy="248.41683"
+ inkscape:document-units="px"
+ inkscape:current-layer="g3367-2"
+ showgrid="false"
+ inkscape:window-width="1215"
+ inkscape:window-height="776"
+ inkscape:window-x="65"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1"
+ fit-margin-left="5"
+ fit-margin-top="5"
+ fit-margin-right="5"
+ fit-margin-bottom="5" />
+ <metadata
+ id="metadata12099">
+ <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
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(1002.1836,-116.82843)">
+ <flowRoot
+ transform="translate(-214.28571,111.42857)"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ id="flowRoot12902"
+ xml:space="preserve"><flowRegion
+ id="flowRegion12904"><rect
+ y="320.93362"
+ x="-924.28571"
+ height="435.71429"
+ width="301.42856"
+ id="rect12906" /></flowRegion><flowPara
+ id="flowPara12908" /></flowRoot> <g
+ id="g3367">
+ <g
+ style="opacity:0.5"
+ id="g8425">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-750.72428,151.88146)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-822.54358"
+ y="362.2431"
+ id="text12629-9-3-1"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0"
+ x="-822.54358"
+ y="362.2431">B</tspan></text>
+ </g>
+ <g
+ id="g10287">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-750.72428,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-821.49023"
+ y="498.90979"
+ id="text12629-9-3-1-8"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7"
+ x="-821.49023"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ transform="translate(-10.776028,0)"
+ id="g12957">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <path
+ inkscape:connector-type="polyline"
+ id="path12950"
+ d="m -808.27602,393.39505 0,42.40522"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g12957"
+ inkscape:connector-type="polyline"
+ id="path12962"
+ d="m -808.27602,532.73368 0,39.73323"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <g
+ style="fill:#0000ff;stroke:#0000ff"
+ id="g8286">
+ <path
+ sodipodi:type="arc"
+ style="fill:#0000ff;fill-opacity:0;fill-rule:evenodd;stroke:#0000ff;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-5"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-612.86713,62.419408)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:#0000ff;font-family:Bitstream Vera Sans"
+ x="-684.68646"
+ y="272.78107"
+ id="text12629-9-3-1-4"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-76"
+ x="-684.68646"
+ y="272.78107">B'</tspan></text>
+ </g>
+ <g
+ style="fill:#008000;stroke:#008000"
+ id="g8294">
+ <path
+ sodipodi:type="arc"
+ style="fill:#008000;fill-opacity:0;fill-rule:evenodd;stroke:#008000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-5-2"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-888.58143,62.419408)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#008000;fill-opacity:1;stroke:#008000;font-family:Bitstream Vera Sans"
+ x="-960.40076"
+ y="272.78107"
+ id="text12629-9-3-1-4-8"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-76-6"
+ x="-960.40076"
+ y="272.78107">B''</tspan></text>
+ </g>
+ <path
+ inkscape:connection-end="#g10287"
+ inkscape:connection-start="#g8286"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8303"
+ d="M 301.69976,93.326264 214.85234,235.78314"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM);display:inline"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g10287"
+ inkscape:connection-start="#g8294"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8305"
+ d="M 76.995186,93.326264 163.84261,235.78314"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM);display:inline"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g8425"
+ inkscape:connection-start="#g8286"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8430"
+ d="M 286.10442,78.162204 230.44767,114.28051"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-end:url(#EmptyDiamondMend)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g8425"
+ inkscape:connection-start="#g8294"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8432"
+ d="M 92.590525,78.162204 148.24727,114.28051"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#EmptyDiamondMend)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g3367-2"
+ transform="translate(902.50523,0.6852693)">
+ <g
+ style="opacity:0.5"
+ id="g8425-2">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-64"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-750.72428,151.88146)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-822.54358"
+ y="362.2431"
+ id="text12629-9-3-1-6"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-1"
+ x="-822.54358"
+ y="362.2431">B</tspan></text>
+ </g>
+ <g
+ id="g10287-0">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-6"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-750.72428,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-821.49023"
+ y="498.90979"
+ id="text12629-9-3-1-8-5"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-9"
+ x="-821.49023"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ transform="translate(-10.776028,0)"
+ id="g12957-1">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-6"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-8"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-0"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <path
+ inkscape:connector-type="polyline"
+ id="path12950-6"
+ d="m -808.27602,393.39505 0,42.40522"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g12957-1"
+ inkscape:connector-type="polyline"
+ id="path12962-4"
+ d="m -808.27602,532.73368 0,39.73323"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <g
+ style="opacity:0.5;fill:#0000ff;stroke:#0000ff"
+ id="g8286-9">
+ <path
+ sodipodi:type="arc"
+ style="fill:#0000ff;fill-opacity:0;fill-rule:evenodd;stroke:#0000ff;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-5-9"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-612.86713,62.419408)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:#0000ff;font-family:Bitstream Vera Sans"
+ x="-684.68646"
+ y="272.78107"
+ id="text12629-9-3-1-4-0"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-76-0"
+ x="-684.68646"
+ y="272.78107">B'</tspan></text>
+ </g>
+ <g
+ style="opacity:0.5;fill:#008000;stroke:#008000"
+ id="g8294-9">
+ <path
+ sodipodi:type="arc"
+ style="fill:#008000;fill-opacity:0;fill-rule:evenodd;stroke:#008000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-5-2-8"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-888.58143,62.419408)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#008000;fill-opacity:1;stroke:#008000;font-family:Bitstream Vera Sans"
+ x="-960.40076"
+ y="272.78107"
+ id="text12629-9-3-1-4-8-2"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-76-6-0"
+ x="-960.40076"
+ y="272.78107">B''</tspan></text>
+ </g>
+ <path
+ inkscape:connection-end="#g10287-0"
+ inkscape:connection-start="#g8286-9"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8303-7"
+ d="M 301.69976,93.326264 214.85234,235.78314"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM);display:inline"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g10287-0"
+ inkscape:connection-start="#g8294-9"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8305-3"
+ d="M 76.995186,93.326264 163.84261,235.78314"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM);display:inline"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g8425-2"
+ inkscape:connection-start="#g8286-9"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8430-0"
+ d="M 286.10442,78.162204 230.44767,114.28051"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-end:url(#EmptyDiamondMend)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g8425-2"
+ inkscape:connection-start="#g8294-9"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8432-1"
+ d="M 92.590525,78.162204 148.24727,114.28051"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#EmptyDiamondMend)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#marker3838)"
+ d="m 1045.7143,-14.223969 -54.28573,30"
+ id="path5991"
+ inkscape:connector-curvature="0"
+ transform="translate(-1900.1287,205.96263)" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#marker3838)"
+ d="M 1141.4286,-4.2239685 1185.7143,24.34746"
+ id="path5993"
+ inkscape:connector-curvature="0"
+ transform="translate(-1900.1287,205.96263)" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker3832)"
+ d="m 1068.5714,11.490317 -62.8571,88.571433 70,132.85714"
+ id="path5995"
+ inkscape:connector-curvature="0"
+ transform="translate(-1900.1287,205.96263)" />
+ </g>
+ <g
+ id="g5033">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-283.50522,302.96994)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-3"
+ style="opacity:0.5;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-0"
+ y="513.3316"
+ x="-355.32452"
+ style="font-size:40px;font-style:normal;font-weight:normal;opacity:0.5;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="513.3316"
+ x="-355.32452"
+ id="tspan12631-6-9-0-8"
+ sodipodi:role="line">B</tspan></text>
+ </g>
+ <g
+ id="g5028">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-146.5298,215.57827)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-5-1"
+ style="fill:#0000ff;fill-opacity:0;fill-rule:evenodd;stroke:#0000ff;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-4-9"
+ y="425.93994"
+ x="-218.34914"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:#0000ff;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="425.93994"
+ x="-218.34914"
+ id="tspan12631-6-9-0-76-8"
+ sodipodi:role="line">B'</tspan></text>
+ </g>
+ <g
+ id="g5023">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-422.14656,215.91205)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-5-2-4"
+ style="fill:#008000;fill-opacity:0;fill-rule:evenodd;stroke:#008000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-4-8-3"
+ y="426.27371"
+ x="-493.96588"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#008000;fill-opacity:1;stroke:#008000;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="426.27371"
+ x="-493.96588"
+ id="tspan12631-6-9-0-76-6-4"
+ sodipodi:role="line">B''</tspan></text>
+ </g>
+ <g
+ id="g5018">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-285.48057,130.5673)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-5-1-4"
+ style="fill:#0000ff;fill-opacity:0;fill-rule:evenodd;stroke:#007d7d;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-4-9-5"
+ y="340.92896"
+ x="-357.2999"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:#007d7d;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="340.92896"
+ x="-357.2999"
+ id="tspan12631-6-9-0-76-8-9"
+ sodipodi:role="line"
+ style="fill:#007d7d;fill-opacity:1">B*</tspan></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#marker3838)"
+ d="m 696.38676,145.20902 55.35962,33.86937"
+ id="path5038"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="3"
+ inkscape:connection-start="#g5018"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g5028"
+ inkscape:connection-end-point="d4"
+ transform="translate(-997.6235,206.6479)" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#marker3838)"
+ d="m 613.03214,145.59088 -53.54791,33.43943"
+ id="path5040"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="3"
+ inkscape:connection-start="#g5018"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g5023"
+ inkscape:connection-end-point="d4"
+ transform="translate(-997.6235,206.6479)" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#marker3838)"
+ d="m 559.41952,231.03876 55.65269,34.94632"
+ id="path5042"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="3"
+ inkscape:connection-start="#g5023"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g5033"
+ inkscape:connection-end-point="d4"
+ transform="translate(-997.6235,206.6479)" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#marker3838)"
+ d="M 752.23638,231.00256 697.87211,265.6875"
+ id="path5044"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="3"
+ inkscape:connection-start="#g5028"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g5033"
+ inkscape:connection-end-point="d4"
+ transform="translate(-997.6235,206.6479)" />
+ <g
+ transform="translate(441.1231,-152.43362)"
+ id="g5018-9">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-285.48057,130.5673)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-5-1-4-7"
+ style="fill:#0000ff;fill-opacity:0;fill-rule:evenodd;stroke:#007d7d;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-4-9-5-1"
+ y="340.92896"
+ x="-357.2999"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:#007d7d;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="340.92896"
+ x="-357.2999"
+ id="tspan12631-6-9-0-76-8-9-4"
+ sodipodi:role="line"
+ style="fill:#007d7d;fill-opacity:1">B*</tspan></text>
+ </g>
+ </g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/figures/explain-troubles-concurrent-10-sumup.svg Wed Nov 07 17:22:16 2012 +0100
@@ -0,0 +1,1451 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ 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="1424.2434"
+ height="1058.7501"
+ id="svg12964"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="explain-troubles-concurrent-10-sumup.svg">
+ <defs
+ id="defs12966">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4078"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4072"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path4069"
+ 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.8,0,0,0.8,10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective12972" />
+ <inkscape:perspective
+ id="perspective13312"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM"
+ style="overflow:visible">
+ <path
+ id="path6393"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13318"
+ style="overflow:visible">
+ <path
+ id="path13320"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13418"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1"
+ style="overflow:visible">
+ <path
+ id="path6393-1"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13424"
+ style="overflow:visible">
+ <path
+ id="path13426"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13428"
+ style="overflow:visible">
+ <path
+ id="path13430"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13432"
+ style="overflow:visible">
+ <path
+ id="path13434"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend"
+ style="overflow:visible">
+ <path
+ id="path6456"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13438"
+ style="overflow:visible">
+ <path
+ id="path13440"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13583"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-0"
+ style="overflow:visible">
+ <path
+ id="path6393-5"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13589"
+ style="overflow:visible">
+ <path
+ id="path13591"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13593"
+ style="overflow:visible">
+ <path
+ id="path13595"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13743"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-2"
+ style="overflow:visible">
+ <path
+ id="path6393-2"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13749"
+ style="overflow:visible">
+ <path
+ id="path13751"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13753"
+ style="overflow:visible">
+ <path
+ id="path13755"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13757"
+ style="overflow:visible">
+ <path
+ id="path13759"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-3"
+ style="overflow:visible">
+ <path
+ id="path6456-4"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13763"
+ style="overflow:visible">
+ <path
+ id="path13765"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-2"
+ style="overflow:visible">
+ <path
+ id="path4072-8"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-5"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4072-7"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-1"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-29"
+ style="overflow:visible">
+ <path
+ id="path4072-70"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective18500"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-4"
+ style="overflow:visible">
+ <path
+ id="path6393-20"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective18588"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-47"
+ style="overflow:visible">
+ <path
+ id="path6393-22"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker18594"
+ style="overflow:visible">
+ <path
+ id="path18596"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-31"
+ style="overflow:visible">
+ <path
+ id="path4197"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective18791"
+ 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="perspective18959"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-6"
+ style="overflow:visible">
+ <path
+ id="path6393-21"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker18965"
+ style="overflow:visible">
+ <path
+ id="path18967"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1-4"
+ style="overflow:visible">
+ <path
+ id="path6393-3"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-2"
+ style="overflow:visible">
+ <path
+ id="path4197-2"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective19288"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-44"
+ style="overflow:visible">
+ <path
+ id="path6393-9"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker19294"
+ style="overflow:visible">
+ <path
+ id="path19296"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective20729"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-8"
+ style="overflow:visible">
+ <path
+ id="path6393-7"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker20735"
+ style="overflow:visible">
+ <path
+ id="path20737"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective20952"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-42"
+ style="overflow:visible">
+ <path
+ id="path6393-0"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker20958"
+ style="overflow:visible">
+ <path
+ id="path20960"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker20962"
+ style="overflow:visible">
+ <path
+ id="path20964"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-8"
+ style="overflow:visible">
+ <path
+ id="path4197-7"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective21100"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-22"
+ style="overflow:visible">
+ <path
+ id="path6393-8"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker21106"
+ style="overflow:visible">
+ <path
+ id="path21108"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker21110"
+ style="overflow:visible">
+ <path
+ id="path21112"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-313"
+ style="overflow:visible">
+ <path
+ id="path4197-6"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective21316"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-3"
+ style="overflow:visible">
+ <path
+ id="path6393-80"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker21322"
+ style="overflow:visible">
+ <path
+ id="path21324"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker21326"
+ style="overflow:visible">
+ <path
+ id="path21328"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker21330"
+ style="overflow:visible">
+ <path
+ id="path21332"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-6"
+ style="overflow:visible">
+ <path
+ id="path4197-66"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker21336"
+ style="overflow:visible">
+ <path
+ id="path21338"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.58"
+ inkscape:cx="455.19061"
+ inkscape:cy="725.32431"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="776"
+ inkscape:window-x="0"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata12969">
+ <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
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(312.26788,374.46262)">
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="290.07355"
+ y="683.72107"
+ id="text13894"><tspan
+ sodipodi:role="line"
+ id="tspan13896"
+ x="290.07355"
+ y="683.72107">Local</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="176.47943"
+ y="147.90836"
+ id="text13898"><tspan
+ sodipodi:role="line"
+ id="tspan13900"
+ x="176.47943"
+ y="147.90836">Distant</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="731.52625"
+ y="360.52893"
+ id="text13902"><tspan
+ sodipodi:role="line"
+ id="tspan13904"
+ x="731.52625"
+ y="360.52893">final = <tspan
+ style="fill:#ff0000;stroke:#ff0000"
+ id="tspan14035">divergent</tspan></tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="M -149.51243,71.715908 116.10904,-98.285798"
+ id="path14093" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="M -136.88118,173.93586 140.19146,310.32109"
+ id="path14093-1" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="m 358.73418,-10.742763 276.5932,40.995518"
+ id="path14093-4"
+ inkscape:transform-center-x="38.2665"
+ inkscape:transform-center-y="-14.191534" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="M 385.49434,405.82501 666.42726,306.55019"
+ id="path14093-42" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-316.03741"
+ y="327.08148"
+ id="text13894-3"><tspan
+ sodipodi:role="line"
+ id="tspan13896-8"
+ x="-316.03741"
+ y="327.08148">initial</tspan></text>
+ <g
+ transform="translate(536.95625,-391.35879)"
+ id="g20705">
+ <g
+ transform="translate(0,5.2380981)"
+ id="g12933-0">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-98"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-811.76758"
+ y="357.005"
+ id="text12629-9-3-1-2"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-3"
+ x="-811.76758"
+ y="357.005">B</tspan></text>
+ </g>
+ <g
+ id="g12945">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="498.90979"
+ id="text12629-9-3-1-8"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7"
+ x="-810.71423"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ id="g12957">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <path
+ inkscape:connection-end="#g12945"
+ inkscape:connection-start="#g12933-0"
+ inkscape:connector-type="polyline"
+ id="path12950-93"
+ d="m -797.5,393.91867 0,41.35798"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g12957"
+ inkscape:connection-start="#g12945"
+ inkscape:connector-type="polyline"
+ id="path12962"
+ d="m -797.5,533.2573 0,38.68599"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ transform="translate(1065.0106,-10.420874)"
+ id="g20918">
+ <g
+ style="opacity:0.5"
+ id="g8425">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-91"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-750.72428,151.88146)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-822.54358"
+ y="362.2431"
+ id="text12629-9-3-1-3"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-8"
+ x="-822.54358"
+ y="362.2431">B</tspan></text>
+ </g>
+ <g
+ id="g10287">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-9"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-750.72428,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-821.49023"
+ y="498.90979"
+ id="text12629-9-3-1-8-1"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-6"
+ x="-821.49023"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ transform="translate(-10.776028,0)"
+ id="g12957-7">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-9"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-4"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-9"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot12902"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ transform="translate(-214.28571,111.42857)"><flowRegion
+ id="flowRegion12904"><rect
+ id="rect12906"
+ width="301.42856"
+ height="435.71429"
+ x="-924.28571"
+ y="320.93362" /></flowRegion><flowPara
+ id="flowPara12908" /></flowRoot> <path
+ inkscape:connector-type="polyline"
+ id="path12950-6"
+ d="m -808.27602,393.39505 0,42.40522"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g12957-7"
+ inkscape:connector-type="polyline"
+ id="path12962-1"
+ d="m -808.27602,532.73368 0,39.73323"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <g
+ style="fill:#0000ff;stroke:#0000ff"
+ id="g8286">
+ <path
+ sodipodi:type="arc"
+ style="fill:#0000ff;fill-opacity:0;fill-rule:evenodd;stroke:#0000ff;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-5"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-612.86713,62.419408)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:#0000ff;font-family:Bitstream Vera Sans"
+ x="-684.68646"
+ y="272.78107"
+ id="text12629-9-3-1-4"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-76-6"
+ x="-684.68646"
+ y="272.78107">B'</tspan></text>
+ </g>
+ <path
+ inkscape:connection-end="#g10287"
+ inkscape:connection-start="#g8286"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8303"
+ d="M 301.69976,93.326264 214.85234,235.78314"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM);display:inline"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g8425"
+ inkscape:connection-start="#g8286"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8430"
+ d="M 286.10442,78.162204 230.44767,114.28051"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-end:url(#EmptyDiamondMend)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ transform="translate(1068.385,-581.11052)"
+ id="g21066">
+ <g
+ style="opacity:0.5"
+ id="g8425-4">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-50"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-750.72428,151.88146)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-822.54358"
+ y="362.2431"
+ id="text12629-9-3-1-5"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-9"
+ x="-822.54358"
+ y="362.2431">B</tspan></text>
+ </g>
+ <g
+ id="g10287-2">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-5"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-750.72428,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-821.49023"
+ y="498.90979"
+ id="text12629-9-3-1-8-7"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-9"
+ x="-821.49023"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ transform="translate(-10.776028,0)"
+ id="g12957-71">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-47"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-0"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-66"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot12902-9"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ transform="translate(-214.28571,111.42857)"><flowRegion
+ id="flowRegion12904-70"><rect
+ id="rect12906-8"
+ width="301.42856"
+ height="435.71429"
+ x="-924.28571"
+ y="320.93362" /></flowRegion><flowPara
+ id="flowPara12908-61" /></flowRoot> <path
+ inkscape:connector-type="polyline"
+ id="path12950-7"
+ d="m -808.27602,393.39505 0,42.40522"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g12957-71"
+ inkscape:connector-type="polyline"
+ id="path12962-3"
+ d="m -808.27602,532.73368 0,39.73323"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <g
+ style="fill:#008000;stroke:#008000"
+ id="g8294">
+ <path
+ sodipodi:type="arc"
+ style="fill:#008000;fill-opacity:0;fill-rule:evenodd;stroke:#008000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-5-2"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-888.58143,62.419408)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#008000;fill-opacity:1;stroke:#008000;font-family:Bitstream Vera Sans"
+ x="-960.40076"
+ y="272.78107"
+ id="text12629-9-3-1-4-8"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-76-6-5"
+ x="-960.40076"
+ y="272.78107">B''</tspan></text>
+ </g>
+ <path
+ inkscape:connection-end="#g10287-2"
+ inkscape:connection-start="#g8294"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8305"
+ d="M 76.995186,93.326264 163.84261,235.78314"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM);display:inline"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g8425-4"
+ inkscape:connection-start="#g8294"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8432"
+ d="M 92.590525,78.162204 148.24727,114.28051"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#EmptyDiamondMend)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ transform="translate(1682.2151,-370.76569)"
+ id="g21276">
+ <g
+ style="opacity:0.5"
+ id="g8425-1">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-750.72428,151.88146)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-822.54358"
+ y="362.2431"
+ id="text12629-9-3-1"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0"
+ x="-822.54358"
+ y="362.2431">B</tspan></text>
+ </g>
+ <g
+ id="g10287-7">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-2"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-750.72428,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-821.49023"
+ y="498.90979"
+ id="text12629-9-3-1-8-2"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-1"
+ x="-821.49023"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ transform="translate(-10.776028,0)"
+ id="g12957-9">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-0"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-3"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-6"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot12902-3"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ transform="translate(-214.28571,111.42857)"><flowRegion
+ id="flowRegion12904-7"><rect
+ id="rect12906-6"
+ width="301.42856"
+ height="435.71429"
+ x="-924.28571"
+ y="320.93362" /></flowRegion><flowPara
+ id="flowPara12908-5" /></flowRoot> <path
+ inkscape:connector-type="polyline"
+ id="path12950"
+ d="m -808.27602,393.39505 0,42.40522"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g12957-9"
+ inkscape:connector-type="polyline"
+ id="path12962-5"
+ d="m -808.27602,532.73368 0,39.73323"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <g
+ style="fill:#ff0000;stroke:#ff0000"
+ id="g8286-2">
+ <path
+ sodipodi:type="arc"
+ style="fill:#ff0000;fill-opacity:0;fill-rule:evenodd;stroke:#ff0000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-5-4"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-612.86713,62.419408)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:#ff0000;font-family:Bitstream Vera Sans"
+ x="-684.68646"
+ y="272.78107"
+ id="text12629-9-3-1-4-5"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-76"
+ x="-684.68646"
+ y="272.78107">B'</tspan></text>
+ </g>
+ <g
+ style="fill:#ff0000;stroke:#ff0000"
+ id="g8294-2">
+ <path
+ sodipodi:type="arc"
+ style="fill:#ff0000;fill-opacity:0;fill-rule:evenodd;stroke:#ff0000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-5-2-2"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-888.58143,62.419408)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:#ff0000;font-family:Bitstream Vera Sans"
+ x="-960.40076"
+ y="272.78107"
+ id="text12629-9-3-1-4-8-3"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-76-6-59"
+ x="-960.40076"
+ y="272.78107">B''</tspan></text>
+ </g>
+ <path
+ inkscape:connection-end="#g10287-7"
+ inkscape:connection-start="#g8286-2"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8303-8"
+ d="M 301.69976,93.326264 214.85234,235.78314"
+ style="fill:#ff0000;stroke:#ff0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM);display:inline"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g10287-7"
+ inkscape:connection-start="#g8294-2"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8305-0"
+ d="M 76.995186,93.326264 163.84261,235.78314"
+ style="fill:#ff0000;stroke:#ff0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM);display:inline"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g8425-1"
+ inkscape:connection-start="#g8286-2"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8430-0"
+ d="M 286.10442,78.162204 230.44767,114.28051"
+ style="fill:#ff0000;stroke:#ff0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-end:url(#EmptyDiamondMend)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g8425-1"
+ inkscape:connection-start="#g8294-2"
+ inkscape:connector-type="polyline"
+ transform="translate(-997.6235,206.6479)"
+ id="path8432-1"
+ d="M 92.590525,78.162204 148.24727,114.28051"
+ style="fill:#ff0000;stroke:#ff0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#EmptyDiamondMend)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/figures/explain-troubles-latecomer-10-sumup.svg Wed Nov 07 17:22:16 2012 +0100
@@ -0,0 +1,1039 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ 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="1311.8625"
+ height="879.2406"
+ id="svg12964"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="explain-troubles-latecomer-10-sumup.svg">
+ <defs
+ id="defs12966">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4078"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4072"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path4069"
+ 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.8,0,0,0.8,10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective12972" />
+ <inkscape:perspective
+ id="perspective13312"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM"
+ style="overflow:visible">
+ <path
+ id="path6393"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13318"
+ style="overflow:visible">
+ <path
+ id="path13320"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13418"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1"
+ style="overflow:visible">
+ <path
+ id="path6393-1"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13424"
+ style="overflow:visible">
+ <path
+ id="path13426"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13428"
+ style="overflow:visible">
+ <path
+ id="path13430"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13432"
+ style="overflow:visible">
+ <path
+ id="path13434"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend"
+ style="overflow:visible">
+ <path
+ id="path6456"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13438"
+ style="overflow:visible">
+ <path
+ id="path13440"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13583"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-0"
+ style="overflow:visible">
+ <path
+ id="path6393-5"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13589"
+ style="overflow:visible">
+ <path
+ id="path13591"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13593"
+ style="overflow:visible">
+ <path
+ id="path13595"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13743"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-2"
+ style="overflow:visible">
+ <path
+ id="path6393-2"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13749"
+ style="overflow:visible">
+ <path
+ id="path13751"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13753"
+ style="overflow:visible">
+ <path
+ id="path13755"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13757"
+ style="overflow:visible">
+ <path
+ id="path13759"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-3"
+ style="overflow:visible">
+ <path
+ id="path6456-4"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13763"
+ style="overflow:visible">
+ <path
+ id="path13765"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-2"
+ style="overflow:visible">
+ <path
+ id="path4072-8"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-5"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4072-7"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-1"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-29"
+ style="overflow:visible">
+ <path
+ id="path4072-70"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective18500"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-4"
+ style="overflow:visible">
+ <path
+ id="path6393-20"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective18588"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-47"
+ style="overflow:visible">
+ <path
+ id="path6393-22"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker18594"
+ style="overflow:visible">
+ <path
+ id="path18596"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-31"
+ style="overflow:visible">
+ <path
+ id="path4197"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective18791"
+ 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="perspective18959"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-6"
+ style="overflow:visible">
+ <path
+ id="path6393-21"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker18965"
+ style="overflow:visible">
+ <path
+ id="path18967"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1-4"
+ style="overflow:visible">
+ <path
+ id="path6393-3"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-2"
+ style="overflow:visible">
+ <path
+ id="path4197-2"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective19288"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-44"
+ style="overflow:visible">
+ <path
+ id="path6393-9"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker19294"
+ style="overflow:visible">
+ <path
+ id="path19296"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.58"
+ inkscape:cx="455.19061"
+ inkscape:cy="630.49672"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1918"
+ inkscape:window-height="1165"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata12969">
+ <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></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(312.26788,289.78072)">
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="279.72873"
+ y="588.89349"
+ id="text13894"><tspan
+ sodipodi:role="line"
+ id="tspan13896"
+ x="279.72873"
+ y="588.89349">Local</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="176.47943"
+ y="147.90836"
+ id="text13898"><tspan
+ sodipodi:role="line"
+ id="tspan13900"
+ x="176.47943"
+ y="147.90836">Distant</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="731.52625"
+ y="360.52893"
+ id="text13902"><tspan
+ sodipodi:role="line"
+ id="tspan13904"
+ x="731.52625"
+ y="360.52893">final = <tspan
+ style="fill:#ff0000;stroke:#ff0000"
+ id="tspan14035">tardif</tspan></tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="M -149.51243,71.715908 116.10904,-98.285798"
+ id="path14093" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="M -136.88118,173.93586 140.19146,310.32109"
+ id="path14093-1" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="m 358.73418,-10.742763 276.5932,40.995518"
+ id="path14093-4"
+ inkscape:transform-center-x="38.2665"
+ inkscape:transform-center-y="-14.191534" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="M 385.49434,405.82501 666.42726,306.55019"
+ id="path14093-42" />
+ <g
+ transform="translate(536.84443,-411.12056)"
+ id="g18477">
+ <g
+ id="g12945">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="498.90979"
+ id="text12629-9-3-1-8"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7"
+ x="-810.71423"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ id="g12957">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot12902"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ transform="translate(-214.28571,111.42857)"><flowRegion
+ id="flowRegion12904"><rect
+ id="rect12906"
+ width="301.42856"
+ height="435.71429"
+ x="-924.28571"
+ y="320.93362" /></flowRegion><flowPara
+ id="flowPara12908" /></flowRoot> <path
+ inkscape:connection-end="#g12957"
+ inkscape:connection-start="#g12945"
+ inkscape:connector-type="polyline"
+ id="path12962"
+ d="m -797.5,533.2573 0,38.68599"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ </g>
+ <g
+ transform="translate(1048.9196,-141.60299)"
+ id="g18559">
+ <g
+ style="opacity:0.5"
+ id="g12945-6">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-5"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="498.90979"
+ id="text12629-9-3-1-8-5"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-9"
+ x="-810.71423"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ id="g12957-33">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-80"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-1"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-0"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot12902-9"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ transform="translate(-214.28571,111.42857)"><flowRegion
+ id="flowRegion12904-8"><rect
+ id="rect12906-6"
+ width="301.42856"
+ height="435.71429"
+ x="-924.28571"
+ y="320.93362" /></flowRegion><flowPara
+ id="flowPara12908-3" /></flowRoot> <path
+ inkscape:connection-end="#g12957-33"
+ inkscape:connection-start="#g12945-6"
+ inkscape:connector-type="polyline"
+ id="path12962-09"
+ d="m -797.5,533.2573 0,38.68599"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <g
+ id="g3273">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-4"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-598.58143,208.13369)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-669.34741"
+ y="418.49533"
+ id="text12629-9-3-1-8-2"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-7-4"
+ x="-669.34741"
+ y="418.49533">A'</tspan></text>
+ </g>
+ <path
+ inkscape:connection-end="#g12957-33"
+ inkscape:connection-start="#g3273"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,352.36219)"
+ id="path3278"
+ d="M 166.11979,92.547868 78.227679,227.51388"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connection-end="#g12945-6"
+ inkscape:connection-start="#g3273"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,352.36219)"
+ id="path3280"
+ d="M 150.2668,75.717222 94.08067,107.67788"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-mid:none;marker-end:url(#EmptyDiamondMend)" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-316.03741"
+ y="327.08148"
+ id="text13894-3"><tspan
+ sodipodi:role="line"
+ id="tspan13896-8"
+ x="-316.03741"
+ y="327.08148">initial</tspan></text>
+ <g
+ transform="translate(1607.395,-370.37344)"
+ id="g18925">
+ <g
+ transform="translate(0,5.2380981)"
+ id="g12933">
+ <path
+ sodipodi:type="arc"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#d4aa00;fill-opacity:1;stroke:#d4aa00;font-family:Bitstream Vera Sans"
+ x="-841.76758"
+ y="358.43356"
+ id="text12629-9-3-1"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0"
+ x="-841.76758"
+ y="358.43356">v4.2</tspan></text>
+ </g>
+ <g
+ id="g12945-7">
+ <path
+ sodipodi:type="arc"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-2"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="498.90979"
+ id="text12629-9-3-1-8-25"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-1"
+ x="-810.71423"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ id="g12957-38">
+ <path
+ sodipodi:type="arc"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-4"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-8"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-6"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot12902-3"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ transform="translate(-214.28571,111.42857)"><flowRegion
+ id="flowRegion12904-7"><rect
+ id="rect12906-4"
+ width="301.42856"
+ height="435.71429"
+ x="-924.28571"
+ y="320.93362" /></flowRegion><flowPara
+ id="flowPara12908-6" /></flowRoot> <path
+ inkscape:connection-start="#g12933"
+ inkscape:connection-end="#g12945-7"
+ inkscape:connector-type="polyline"
+ id="path12950"
+ d="m -797.5,393.91867 0,41.35798"
+ style="fill:#d4aa00;stroke:#d4aa00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connection-end="#g12957-38"
+ inkscape:connection-start="#g12945-7"
+ inkscape:connector-type="polyline"
+ id="path12962-2"
+ d="m -797.5,533.2573 0,38.68599"
+ style="fill:#d4aa00;stroke:#d4aa00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <g
+ id="g7062">
+ <path
+ sodipodi:type="arc"
+ style="fill:#ff0000;fill-opacity:0;fill-rule:evenodd;stroke:#ff0000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-4-1"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-601.73896,221.4909)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:#ff0000;font-family:Bitstream Vera Sans"
+ x="-672.50494"
+ y="431.85254"
+ id="text12629-9-3-1-8-2-2"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-7"
+ x="-672.50494"
+ y="431.85254">A'</tspan></text>
+ </g>
+ <path
+ inkscape:connection-end="#g12957-38"
+ inkscape:connection-start="#g7062"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,296.10995)"
+ id="path7067"
+ d="M 162.19312,161.64503 78.99682,284.27841"
+ style="fill:#ff0000;stroke:#ff0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM-1)" />
+ <path
+ inkscape:connection-end="#g12945-7"
+ inkscape:connection-start="#g7062"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,296.10995)"
+ id="path7069"
+ d="M 145.61323,142.48988 95.576703,166.76692"
+ style="fill:#ff0000;stroke:#ff0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#EmptyDiamondMend)" />
+ </g>
+ <g
+ transform="translate(1040.2927,-585.89067)"
+ id="g19264">
+ <g
+ id="g12933-2"
+ transform="translate(0,5.2380981)">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-3"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-80"
+ y="358.43356"
+ x="-841.76758"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#d4aa00;fill-opacity:1;stroke:#d4aa00;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="358.43356"
+ x="-841.76758"
+ id="tspan12631-6-9-0-76"
+ sodipodi:role="line">v4.2</tspan></text>
+ </g>
+ <g
+ id="g12945-76">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-9-29"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-8-9"
+ y="498.90979"
+ x="-810.71423"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="498.90979"
+ x="-810.71423"
+ id="tspan12631-6-9-0-7-0"
+ sodipodi:role="line">A</tspan></text>
+ </g>
+ <g
+ id="g12957-39">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-6-81"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-83-7"
+ y="635.57648"
+ x="-810.71423"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="635.57648"
+ x="-810.71423"
+ id="tspan12631-6-9-0-5-08"
+ sodipodi:role="line">Z</tspan></text>
+ </g>
+ <path
+ style="fill:#d4aa00;stroke:#d4aa00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m -797.5,393.91867 0,41.35798"
+ id="path12950-9"
+ inkscape:connector-type="polyline"
+ inkscape:connection-end="#g12945-76"
+ inkscape:connection-start="#g12933-2" />
+ <path
+ style="fill:#d4aa00;stroke:#d4aa00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m -797.5,533.2573 0,38.68599"
+ id="path12962-0"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g12945-76"
+ inkscape:connection-end="#g12957-39" />
+ </g>
+ </g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/figures/explain-troubles-latecomer-15-solution.svg Wed Nov 07 17:22:16 2012 +0100
@@ -0,0 +1,994 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ 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="557.31696"
+ height="487.83316"
+ id="svg12964"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="explain-troubles-latecomer-15-solution.svg">
+ <defs
+ id="defs12966">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4078"
+ 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)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4072"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path4069"
+ 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.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective12972" />
+ <inkscape:perspective
+ id="perspective13312"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM"
+ style="overflow:visible">
+ <path
+ id="path6393"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13318"
+ style="overflow:visible">
+ <path
+ id="path13320"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13418"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1"
+ style="overflow:visible">
+ <path
+ id="path6393-1"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13424"
+ style="overflow:visible">
+ <path
+ id="path13426"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13428"
+ style="overflow:visible">
+ <path
+ id="path13430"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13432"
+ style="overflow:visible">
+ <path
+ id="path13434"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend"
+ style="overflow:visible">
+ <path
+ id="path6456"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13438"
+ style="overflow:visible">
+ <path
+ id="path13440"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13583"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-0"
+ style="overflow:visible">
+ <path
+ id="path6393-5"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13589"
+ style="overflow:visible">
+ <path
+ id="path13591"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13593"
+ style="overflow:visible">
+ <path
+ id="path13595"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13743"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-2"
+ style="overflow:visible">
+ <path
+ id="path6393-2"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13749"
+ style="overflow:visible">
+ <path
+ id="path13751"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13753"
+ style="overflow:visible">
+ <path
+ id="path13755"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13757"
+ style="overflow:visible">
+ <path
+ id="path13759"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-3"
+ style="overflow:visible">
+ <path
+ id="path6456-4"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13763"
+ style="overflow:visible">
+ <path
+ id="path13765"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-2"
+ style="overflow:visible">
+ <path
+ id="path4072-8"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-5"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4072-7"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-1"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-29"
+ style="overflow:visible">
+ <path
+ id="path4072-70"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective18500"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-4"
+ style="overflow:visible">
+ <path
+ id="path6393-20"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective18588"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-47"
+ style="overflow:visible">
+ <path
+ id="path6393-22"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker18594"
+ style="overflow:visible">
+ <path
+ id="path18596"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-31"
+ style="overflow:visible">
+ <path
+ id="path4197"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective18791"
+ 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="perspective18959"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-6"
+ style="overflow:visible">
+ <path
+ id="path6393-21"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker18965"
+ style="overflow:visible">
+ <path
+ id="path18967"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1-4"
+ style="overflow:visible">
+ <path
+ id="path6393-3"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-2"
+ style="overflow:visible">
+ <path
+ id="path4197-2"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective19288"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-44"
+ style="overflow:visible">
+ <path
+ id="path6393-9"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker19294"
+ style="overflow:visible">
+ <path
+ id="path19296"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-7"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6393-6"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker6176"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6178"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1-7"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6393-1-6"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-8"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6456-0"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.58"
+ inkscape:cx="588.77184"
+ inkscape:cy="64.133389"
+ inkscape:document-units="px"
+ inkscape:current-layer="g7062-0"
+ showgrid="false"
+ inkscape:window-width="1215"
+ inkscape:window-height="776"
+ inkscape:window-x="65"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1"
+ fit-margin-top="5"
+ fit-margin-right="5"
+ fit-margin-left="5"
+ fit-margin-bottom="5" />
+ <metadata
+ id="metadata12969">
+ <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
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(170.29334,188.87454)">
+ <g
+ id="g6078">
+ <g
+ id="g18925"
+ transform="translate(683.25707,-378.99413)">
+ <g
+ id="g12933"
+ transform="translate(0,5.2380981)">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1"
+ y="358.43356"
+ x="-841.76758"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#d4aa00;fill-opacity:1;stroke:#d4aa00;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="358.43356"
+ x="-841.76758"
+ id="tspan12631-6-9-0"
+ sodipodi:role="line">v4.2</tspan></text>
+ </g>
+ <g
+ id="g12945-7">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-9-2"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-8-25"
+ y="498.90979"
+ x="-810.71423"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="498.90979"
+ x="-810.71423"
+ id="tspan12631-6-9-0-7-1"
+ sodipodi:role="line">A</tspan></text>
+ </g>
+ <g
+ id="g12957-38">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-6-4"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-83-8"
+ y="635.57648"
+ x="-810.71423"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="635.57648"
+ x="-810.71423"
+ id="tspan12631-6-9-0-5-6"
+ sodipodi:role="line">Z</tspan></text>
+ </g>
+ <flowRoot
+ transform="translate(-214.28571,111.42857)"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ id="flowRoot12902-3"
+ xml:space="preserve"><flowRegion
+ id="flowRegion12904-7"><rect
+ y="320.93362"
+ x="-924.28571"
+ height="435.71429"
+ width="301.42856"
+ id="rect12906-4" /></flowRegion><flowPara
+ id="flowPara12908-6" /></flowRoot> <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ style="fill:#d4aa00;stroke:#d4aa00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m -797.5,393.91867 0,41.35798"
+ id="path12950"
+ inkscape:connector-type="polyline"
+ inkscape:connection-end="#g12945-7"
+ inkscape:connection-start="#g12933" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ style="fill:#d4aa00;stroke:#d4aa00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m -797.5,533.2573 0,38.68599"
+ id="path12962-2"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g12945-7"
+ inkscape:connection-end="#g12957-38" />
+ <g
+ id="g7062">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-601.73896,221.4909)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-9-4-1"
+ style="fill:#ff0000;fill-opacity:0;fill-rule:evenodd;stroke:#ff0000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-8-2-2"
+ y="431.85254"
+ x="-672.50494"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:#ff0000;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="431.85254"
+ x="-672.50494"
+ id="tspan12631-6-9-0-7-7"
+ sodipodi:role="line">A'</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ style="fill:#ff0000;stroke:#ff0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM-1)"
+ d="M 162.19312,161.64503 78.99682,284.27841"
+ id="path7067"
+ transform="translate(-848.99032,296.10995)"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g7062"
+ inkscape:connection-end="#g12957-38" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ style="fill:#ff0000;stroke:#ff0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#EmptyDiamondMend)"
+ d="M 145.61323,142.48988 95.576703,166.76692"
+ id="path7069"
+ transform="translate(-848.99032,296.10995)"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g7062"
+ inkscape:connection-end="#g12945-7" />
+ </g>
+ </g>
+ <g
+ transform="translate(990.2654,-377.97948)"
+ id="g18925-6">
+ <g
+ transform="translate(0,5.2380981)"
+ id="g12933-0">
+ <path
+ sodipodi:type="arc"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-8"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#d4aa00;fill-opacity:1;stroke:#d4aa00;font-family:Bitstream Vera Sans"
+ x="-841.76758"
+ y="358.43356"
+ id="text12629-9-3-1-9"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-4"
+ x="-841.76758"
+ y="358.43356">v4.2</tspan></text>
+ </g>
+ <g
+ id="g12945-7-0">
+ <path
+ sodipodi:type="arc"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-2-6"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="498.90979"
+ id="text12629-9-3-1-8-25-0"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-1-0"
+ x="-810.71423"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ id="g12957-38-9">
+ <path
+ sodipodi:type="arc"
+ style="fill:#d4aa00;fill-opacity:0;fill-rule:evenodd;stroke:#d4aa00;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-4-2"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-8-7"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-6-6"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot12902-3-4"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ transform="translate(-214.28571,111.42857)"><flowRegion
+ id="flowRegion12904-7-4"><rect
+ id="rect12906-4-2"
+ width="301.42856"
+ height="435.71429"
+ x="-924.28571"
+ y="320.93362" /></flowRegion><flowPara
+ id="flowPara12908-6-9" /></flowRoot> <path
+ inkscape:connection-start="#g12933-0"
+ inkscape:connection-end="#g12945-7-0"
+ inkscape:connector-type="polyline"
+ id="path12950-5"
+ d="m -797.5,393.91867 0,41.35798"
+ style="fill:#d4aa00;stroke:#d4aa00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connection-end="#g12957-38-9"
+ inkscape:connection-start="#g12945-7-0"
+ inkscape:connector-type="polyline"
+ id="path12962-2-2"
+ d="m -797.5,533.2573 0,38.68599"
+ style="fill:#d4aa00;stroke:#d4aa00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g7062-0">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.5;fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-4-1-8"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-601.73896,221.4909)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;opacity:0.5;fill:#000000;fill-opacity:1;stroke:#000000;font-family:Bitstream Vera Sans"
+ x="-672.50494"
+ y="431.85254"
+ id="text12629-9-3-1-8-2-2-6"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-7-2"
+ x="-672.50494"
+ y="431.85254">A'</tspan></text>
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-4-1-8-3"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-602.70567,72.41019)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;font-family:Bitstream Vera Sans"
+ x="-671.47168"
+ y="282.77182"
+ id="text12629-9-3-1-8-2-2-6-2"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-7-2-8"
+ x="-671.47168"
+ y="282.77182">Aᵟ</tspan></text>
+ <path
+ style="fill:#000000;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#EmptyDiamondMend-8)"
+ d="m 643.10345,205.10267 0,51.72414"
+ id="path6304"
+ inkscape:connector-curvature="0"
+ transform="translate(-1302.5333,110.19876)" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM-1-7)"
+ d="m -697.8407,298.53986 -80.747,140.6978"
+ id="path6306"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ inkscape:connector-type="polyline"
+ id="path7067-4"
+ d="m -695.12005,452.57296 -84.97116,125.65959"
+ style="opacity:0.5;fill:#000000;stroke:#000000;stroke-width:3.06777191;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM-1)"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-type="polyline"
+ id="path7069-5"
+ d="m -705.04154,428.01168 -51.05239,29.6913"
+ style="opacity:0.5;fill:#000000;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#EmptyDiamondMend)"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/figures/explain-troubles-unstable-10-sumup.svg Wed Nov 07 17:22:16 2012 +0100
@@ -0,0 +1,1101 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ 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="1414.5707"
+ height="1196.5396"
+ id="svg12964"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="explain-troubles-unstable-10-sumup.svg">
+ <defs
+ id="defs12966">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path4078"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path4072"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path4069"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8) translate(12.5,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective12972" />
+ <inkscape:perspective
+ id="perspective13312"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM"
+ style="overflow:visible">
+ <path
+ id="path6393"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13318"
+ style="overflow:visible">
+ <path
+ id="path13320"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13418"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1"
+ style="overflow:visible">
+ <path
+ id="path6393-1"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13424"
+ style="overflow:visible">
+ <path
+ id="path13426"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13428"
+ style="overflow:visible">
+ <path
+ id="path13430"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13432"
+ style="overflow:visible">
+ <path
+ id="path13434"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend"
+ style="overflow:visible">
+ <path
+ id="path6456"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13438"
+ style="overflow:visible">
+ <path
+ id="path13440"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13583"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-0"
+ style="overflow:visible">
+ <path
+ id="path6393-5"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13589"
+ style="overflow:visible">
+ <path
+ id="path13591"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13593"
+ style="overflow:visible">
+ <path
+ id="path13595"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13743"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-2"
+ style="overflow:visible">
+ <path
+ id="path6393-2"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13749"
+ style="overflow:visible">
+ <path
+ id="path13751"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13753"
+ style="overflow:visible">
+ <path
+ id="path13755"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13757"
+ style="overflow:visible">
+ <path
+ id="path13759"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-3"
+ style="overflow:visible">
+ <path
+ id="path6456-4"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13763"
+ style="overflow:visible">
+ <path
+ id="path13765"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-2"
+ style="overflow:visible">
+ <path
+ id="path4072-8"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-5"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4072-7"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-1"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-29"
+ style="overflow:visible">
+ <path
+ id="path4072-70"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.58"
+ inkscape:cx="460.47484"
+ inkscape:cy="579.06827"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1918"
+ inkscape:window-height="1165"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata12969">
+ <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
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(317.55211,451.61155)">
+ <g
+ id="g16677">
+ <g
+ transform="translate(63.770124,322.85714)"
+ id="g13934">
+ <g
+ transform="translate(994.04378,-358.66548)"
+ id="g13382">
+ <g
+ style="opacity:0.5"
+ transform="translate(0,5.2380981)"
+ id="g12933-9">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-8"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-811.76758"
+ y="357.005"
+ id="text12629-9-3-1-4"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-9"
+ x="-811.76758"
+ y="357.005">B</tspan></text>
+ </g>
+ <g
+ style="opacity:0.5"
+ id="g12945-3">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-9"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="498.90979"
+ id="text12629-9-3-1-8-9"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-0"
+ x="-810.71423"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ id="g12957-8">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-3"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-0"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-1"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <path
+ inkscape:connection-end="#g12945-3"
+ inkscape:connection-start="#g12933-9"
+ inkscape:connector-type="polyline"
+ id="path12950-7"
+ d="m -797.5,393.91867 0,41.35798"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connection-end="#g12957-8"
+ inkscape:connection-start="#g12945-3"
+ inkscape:connector-type="polyline"
+ id="path12962-0"
+ d="m -797.5,533.2573 0,38.68599"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <g
+ id="g14080">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-67"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,81.22892)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-651.82935"
+ y="291.59058"
+ id="text12629-9-3-1-2"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-77"
+ x="-651.82935"
+ y="291.59058">B'</tspan></text>
+ </g>
+ <g
+ id="g14034">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-2"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,217.89561)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-650.776"
+ y="428.25726"
+ id="text12629-9-3-1-8-0"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-7"
+ x="-650.776"
+ y="428.25726">A'</tspan></text>
+ </g>
+ <path
+ inkscape:connection-end="#g12957-8"
+ inkscape:connection-start="#g14034"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14087"
+ d="M 181.50292,226.948 81.415976,356.68521"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connection-end="#g14034"
+ inkscape:connection-start="#g14080"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14089"
+ d="m 211.42857,100.48065 0,38.68604"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connection-end="#g12945-3"
+ inkscape:connection-start="#g14034"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14463"
+ d="M 166.6047,207.95791 96.314201,239.00866"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-mid:none;marker-end:url(#EmptyDiamondMend)" />
+ <path
+ inkscape:connection-start="#g14080"
+ inkscape:connection-end="#g12933-9"
+ transform="translate(-848.99032,225.45742)"
+ inkscape:connector-type="polyline"
+ id="path14465"
+ d="M 166.6047,71.29122 97.24687,101.92996"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-mid:none;marker-end:url(#EmptyDiamondMend)" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="224.57932"
+ y="372.93292"
+ id="text13894"><tspan
+ sodipodi:role="line"
+ id="tspan13896"
+ x="224.57932"
+ y="372.93292">Local</tspan></text>
+ </g>
+ <g
+ transform="translate(53.152706,-930.19704)"
+ id="g13910">
+ <g
+ transform="translate(999.11715,331.93758)"
+ id="g13554">
+ <g
+ transform="translate(2.11198,-3.2921448)"
+ id="g12933-2">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-1"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-811.76758"
+ y="357.005"
+ id="text12629-9-3-1-0"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-1"
+ x="-811.76758"
+ y="357.005">B</tspan></text>
+ </g>
+ <g
+ transform="translate(2.11198,-4.265152)"
+ id="g12945-7">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-0"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="498.90979"
+ id="text12629-9-3-1-8-8"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-07"
+ x="-810.71423"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ transform="translate(2.11198,0)"
+ id="g12957-6">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-7"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-3"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-9"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12945-7"
+ inkscape:connection-start="#g12933-2"
+ inkscape:connector-type="polyline"
+ id="path12950-8"
+ d="m -795.38802,389.71981 0,43.48719"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12957-6"
+ inkscape:connection-start="#g12945-7"
+ inkscape:connector-type="polyline"
+ id="path12962-3"
+ d="m -795.38802,531.14792 0,40.81523"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <g
+ transform="translate(-2.11198,0)"
+ id="g13397">
+ <path
+ sodipodi:type="arc"
+ style="fill:#0000ff;fill-opacity:0;fill-rule:evenodd;stroke:#0000ff;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-0"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-735.72429,2.41941)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-807.54364"
+ y="212.78105"
+ id="text12629-9-3-1-7"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-6"
+ x="-807.54364"
+ y="212.78105">C</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12933-2"
+ inkscape:connection-start="#g13397"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,296.10995)"
+ id="path13402"
+ d="m 53.602303,-49.001257 0,44.6701979"
+ style="fill:#0000ff;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#DotM)" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="130.22327"
+ y="1072.933"
+ id="text13898"><tspan
+ sodipodi:role="line"
+ id="tspan13900"
+ x="130.22327"
+ y="1072.933">Distant</tspan></text>
+ </g>
+ </g>
+ <g
+ id="g14037"
+ transform="translate(-12.610837,-438.21686)">
+ <g
+ id="g13702"
+ transform="translate(1669.5314,38.478002)">
+ <g
+ id="g12933-3"
+ transform="translate(0.68341,5.2381)"
+ style="opacity:0.5">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-5"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-28"
+ y="357.005"
+ x="-811.76758"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="357.005"
+ x="-811.76758"
+ id="tspan12631-6-9-0-73"
+ sodipodi:role="line">B</tspan></text>
+ </g>
+ <g
+ id="g12945-5"
+ style="opacity:0.5"
+ transform="translate(0.68341,0)">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-9-8"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-8-87"
+ y="498.90979"
+ x="-810.71423"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="498.90979"
+ x="-810.71423"
+ id="tspan12631-6-9-0-7-3"
+ sodipodi:role="line">A</tspan></text>
+ </g>
+ <g
+ id="g12957-3"
+ transform="translate(0.68341,0)">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-6-8"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-83-5"
+ y="635.57648"
+ x="-810.71423"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="635.57648"
+ x="-810.71423"
+ id="tspan12631-6-9-0-5-4"
+ sodipodi:role="line">Z</tspan></text>
+ </g>
+ <path
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m -796.81659,393.91659 0,41.36213"
+ id="path12950-85"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g12933-3"
+ inkscape:connection-end="#g12945-5"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m -796.81659,533.25522 0,38.69014"
+ id="path12962-4"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g12945-5"
+ inkscape:connection-end="#g12957-3"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g14080-8">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,81.22892)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-67-4"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-2-2"
+ y="291.59058"
+ x="-651.82935"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="291.59058"
+ x="-651.82935"
+ id="tspan12631-6-9-0-77-5"
+ sodipodi:role="line">B'</tspan></text>
+ </g>
+ <g
+ id="g14034-8">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,217.89561)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-9-2-4"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-8-0-4"
+ y="428.25726"
+ x="-650.776"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="428.25726"
+ x="-650.776"
+ id="tspan12631-6-9-0-7-7-3"
+ sodipodi:role="line">A'</tspan></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="M 181.58323,227.00991 81.848934,356.84479"
+ id="path14087-4"
+ transform="translate(-848.99032,225.45742)"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g14034-8"
+ inkscape:connection-end="#g12957-3"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m 211.42857,100.48065 0,38.68604"
+ id="path14089-8"
+ transform="translate(-848.99032,225.45742)"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g14080-8"
+ inkscape:connection-end="#g14034-8"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-mid:none;marker-end:url(#EmptyDiamondMend)"
+ d="M 166.63618,208.02892 96.585,239.10674"
+ id="path14463-7"
+ transform="translate(-848.99032,225.45742)"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g14034-8"
+ inkscape:connection-end="#g12945-5"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-mid:none;marker-end:url(#EmptyDiamondMend)"
+ d="M 166.63618,71.362225 97.512165,102.02871"
+ id="path14465-9"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ inkscape:connection-end="#g12933-3"
+ inkscape:connection-start="#g14080-8"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g5583"
+ transform="translate(-0.68341,0)">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-738.58143,1.22892)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path4918"
+ style="fill:#ff0000;fill-opacity:0;fill-rule:evenodd;stroke:#ff0000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text4920"
+ y="211.59058"
+ x="-810.40076"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:#ff0000;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="211.59058"
+ x="-810.40076"
+ id="tspan4922"
+ sodipodi:role="line">C</tspan></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 52.173733,20.478573 0,50.004102"
+ id="path5588"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="3"
+ inkscape:connection-start="#g5583"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12933-3"
+ inkscape:connection-end-point="d4"
+ transform="translate(-848.99032,225.45742)" />
+ </g>
+ <text
+ id="text13902"
+ y="781.50439"
+ x="801.03363"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="781.50439"
+ x="801.03363"
+ id="tspan13904"
+ sodipodi:role="line">final = <tspan
+ id="tspan14035"
+ style="fill:#ff0000;stroke:#ff0000">instable</tspan></tspan></text>
+ </g>
+ <g
+ id="g14074"
+ transform="translate(12.068966,-361.47806)">
+ <g
+ id="g13288"
+ transform="translate(531.43821,-33.336839)">
+ <g
+ id="g12933"
+ transform="translate(0,5.2380981)">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1"
+ y="357.005"
+ x="-811.76758"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="357.005"
+ x="-811.76758"
+ id="tspan12631-6-9-0"
+ sodipodi:role="line">B</tspan></text>
+ </g>
+ <g
+ id="g12945">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-9"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-8"
+ y="498.90979"
+ x="-810.71423"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="498.90979"
+ x="-810.71423"
+ id="tspan12631-6-9-0-7"
+ sodipodi:role="line">A</tspan></text>
+ </g>
+ <g
+ id="g12957">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-6"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-83"
+ y="635.57648"
+ x="-810.71423"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="635.57648"
+ x="-810.71423"
+ id="tspan12631-6-9-0-5"
+ sodipodi:role="line">Z</tspan></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m -797.5,393.91867 0,41.35798"
+ id="path12950"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g12933"
+ inkscape:connection-end="#g12945" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m -797.5,533.2573 0,38.68599"
+ id="path12962"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g12945"
+ inkscape:connection-end="#g12957" />
+ </g>
+ <text
+ id="text13906"
+ y="704.36151"
+ x="-321.08133"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="704.36151"
+ x="-321.08133"
+ id="tspan13908"
+ sodipodi:role="line">initial</tspan></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="M -148.90439,71.107869 115.52431,-150.21739"
+ id="path14093" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="M -116.60064,185.59571 141.08898,310.8959"
+ id="path14093-1" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="m 377.16638,-147.48298 351.94233,55.511595"
+ id="path14093-4"
+ inkscape:transform-center-x="48.58484"
+ inkscape:transform-center-y="-19.640393" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:8.96527767;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-end:url(#Arrow1Mend)"
+ d="M 516.3549,303.21782 766.85794,121.81435"
+ id="path14093-42" />
+ </g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/figures/explain-troubles-unstable-15-solution.svg Wed Nov 07 17:22:16 2012 +0100
@@ -0,0 +1,1006 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ 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="637.31207"
+ height="614.44788"
+ id="svg12964"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="explain-troubles-unstable-15-solution.svg">
+ <defs
+ id="defs12966">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4078"
+ 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)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4072"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path4069"
+ 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.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective12972" />
+ <inkscape:perspective
+ id="perspective13312"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM"
+ style="overflow:visible">
+ <path
+ id="path6393"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13318"
+ style="overflow:visible">
+ <path
+ id="path13320"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13418"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1"
+ style="overflow:visible">
+ <path
+ id="path6393-1"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13424"
+ style="overflow:visible">
+ <path
+ id="path13426"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13428"
+ style="overflow:visible">
+ <path
+ id="path13430"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13432"
+ style="overflow:visible">
+ <path
+ id="path13434"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend"
+ style="overflow:visible">
+ <path
+ id="path6456"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13438"
+ style="overflow:visible">
+ <path
+ id="path13440"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13583"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-0"
+ style="overflow:visible">
+ <path
+ id="path6393-5"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13589"
+ style="overflow:visible">
+ <path
+ id="path13591"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13593"
+ style="overflow:visible">
+ <path
+ id="path13595"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13743"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-2"
+ style="overflow:visible">
+ <path
+ id="path6393-2"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13749"
+ style="overflow:visible">
+ <path
+ id="path13751"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13753"
+ style="overflow:visible">
+ <path
+ id="path13755"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13757"
+ style="overflow:visible">
+ <path
+ id="path13759"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-3"
+ style="overflow:visible">
+ <path
+ id="path6456-4"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13763"
+ style="overflow:visible">
+ <path
+ id="path13765"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-2"
+ style="overflow:visible">
+ <path
+ id="path4072-8"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-5"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4072-7"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-1"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-29"
+ style="overflow:visible">
+ <path
+ id="path4072-70"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-6"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6393-3"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker8630"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path8632"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker8634"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path8636"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker8638"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path8640"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-2"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path6456-7"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker8644"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path8646"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.58"
+ inkscape:cx="446.08569"
+ inkscape:cy="388.21623"
+ inkscape:document-units="px"
+ inkscape:current-layer="g13702-1"
+ showgrid="false"
+ inkscape:window-width="1215"
+ inkscape:window-height="776"
+ inkscape:window-x="65"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1"
+ fit-margin-top="5"
+ fit-margin-right="5"
+ fit-margin-bottom="5"
+ fit-margin-left="5" />
+ <metadata
+ id="metadata12969">
+ <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></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-804.0536,336.234)">
+ <g
+ transform="translate(1656.9206,-399.73886)"
+ id="g13702">
+ <g
+ style="opacity:0.5"
+ transform="translate(0.68341,5.2381)"
+ id="g12933-3">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-5"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-811.76758"
+ y="357.005"
+ id="text12629-9-3-1-28"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-73"
+ x="-811.76758"
+ y="357.005">B</tspan></text>
+ </g>
+ <g
+ transform="translate(0.68341,0)"
+ style="opacity:0.5"
+ id="g12945-5">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-8"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="498.90979"
+ id="text12629-9-3-1-8-87"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-3"
+ x="-810.71423"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ transform="translate(0.68341,0)"
+ id="g12957-3">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-8"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-5"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-4"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12945-5"
+ inkscape:connection-start="#g12933-3"
+ inkscape:connector-type="polyline"
+ id="path12950-85"
+ d="m -796.81659,393.9166 0,41.36212"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12957-3"
+ inkscape:connection-start="#g12945-5"
+ inkscape:connector-type="polyline"
+ id="path12962-4"
+ d="m -796.81659,533.25522 0,38.69014"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <g
+ id="g14080-8">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-67-4"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,81.22892)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-651.82935"
+ y="291.59058"
+ id="text12629-9-3-1-2-2"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-77-5"
+ x="-651.82935"
+ y="291.59058">B'</tspan></text>
+ </g>
+ <g
+ id="g14034-8">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-2-4"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,217.89561)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-650.776"
+ y="428.25726"
+ id="text12629-9-3-1-8-0-4"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-7-3"
+ x="-650.776"
+ y="428.25726">A'</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12957-3"
+ inkscape:connection-start="#g14034-8"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14087-4"
+ d="M 181.58323,227.00991 81.848934,356.84479"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g14034-8"
+ inkscape:connection-start="#g14080-8"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14089-8"
+ d="m 211.42857,100.48065 0,38.68604"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12945-5"
+ inkscape:connection-start="#g14034-8"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14463-7"
+ d="M 166.63618,208.02892 96.585,239.10674"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-mid:none;marker-end:url(#EmptyDiamondMend)" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-start="#g14080-8"
+ inkscape:connection-end="#g12933-3"
+ transform="translate(-848.99032,225.45742)"
+ inkscape:connector-type="polyline"
+ id="path14465-9"
+ d="M 166.63618,71.362225 97.512166,102.02872"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-mid:none;marker-end:url(#EmptyDiamondMend)" />
+ <g
+ transform="translate(-0.68341,0)"
+ id="g5583">
+ <path
+ sodipodi:type="arc"
+ style="fill:#ff0000;fill-opacity:0;fill-rule:evenodd;stroke:#ff0000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path4918"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-738.58143,1.22892)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:#ff0000;font-family:Bitstream Vera Sans"
+ x="-810.40076"
+ y="211.59058"
+ id="text4920"><tspan
+ sodipodi:role="line"
+ id="tspan4922"
+ x="-810.40076"
+ y="211.59058">C</tspan></text>
+ </g>
+ <path
+ transform="translate(-848.99032,225.45742)"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-end="#g12933-3"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-start="#g5583"
+ inkscape:connector-curvature="3"
+ inkscape:connector-type="polyline"
+ id="path5588"
+ d="m 52.173733,20.478573 0,50.004103"
+ style="opacity:0.98000004;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker8638)" />
+ </g>
+ <g
+ transform="translate(2022.8785,-401.87475)"
+ id="g13702-1">
+ <g
+ style="opacity:0.5"
+ transform="translate(0.68341,5.2381)"
+ id="g12933-3-2">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-5-9"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-811.76758"
+ y="357.005"
+ id="text12629-9-3-1-28-1"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-73-6"
+ x="-811.76758"
+ y="357.005">B</tspan></text>
+ </g>
+ <g
+ transform="translate(0.68341,0)"
+ style="opacity:0.5"
+ id="g12945-5-4">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-8-0"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="498.90979"
+ id="text12629-9-3-1-8-87-7"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-3-6"
+ x="-810.71423"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ transform="translate(0.68341,0)"
+ id="g12957-3-9">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-8-4"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-5-9"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-4-8"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12945-5-4"
+ inkscape:connection-start="#g12933-3-2"
+ inkscape:connector-type="polyline"
+ id="path12950-85-4"
+ d="m -796.81659,393.9166 0,41.36212"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12957-3-9"
+ inkscape:connection-start="#g12945-5-4"
+ inkscape:connector-type="polyline"
+ id="path12962-4-3"
+ d="m -796.81659,533.25522 0,38.69014"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <g
+ id="g14080-8-5">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-67-4-3"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,81.22892)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-651.82935"
+ y="291.59058"
+ id="text12629-9-3-1-2-2-5"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-77-5-6"
+ x="-651.82935"
+ y="291.59058">B'</tspan></text>
+ </g>
+ <g
+ id="g14034-8-4">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-2-4-3"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,217.89561)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-650.776"
+ y="428.25726"
+ id="text12629-9-3-1-8-0-4-6"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-7-3-3"
+ x="-650.776"
+ y="428.25726">A'</tspan></text>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12957-3-9"
+ inkscape:connection-start="#g14034-8-4"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14087-4-0"
+ d="M 181.58323,227.00991 81.848934,356.84479"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g14034-8-4"
+ inkscape:connection-start="#g14080-8-5"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14089-8-4"
+ d="m 211.42857,100.48065 0,38.68604"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12945-5-4"
+ inkscape:connection-start="#g14034-8-4"
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14463-7-3"
+ d="M 166.63618,208.02892 96.585,239.10674"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-mid:none;marker-end:url(#EmptyDiamondMend)" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-start="#g14080-8-5"
+ inkscape:connection-end="#g12933-3-2"
+ transform="translate(-848.99032,225.45742)"
+ inkscape:connector-type="polyline"
+ id="path14465-9-9"
+ d="M 166.63618,71.362225 97.512166,102.02872"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:none;marker-mid:none;marker-end:url(#EmptyDiamondMend)" />
+ <g
+ transform="translate(-0.68341,0)"
+ id="g5583-2"
+ style="opacity:0.5;fill:#000000;stroke:#000000">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path4918-6"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-738.58143,1.22892)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;font-family:Bitstream Vera Sans"
+ x="-810.40076"
+ y="211.59058"
+ id="text4920-1"><tspan
+ sodipodi:role="line"
+ id="tspan4922-9"
+ x="-810.40076"
+ y="211.59058">C</tspan></text>
+ </g>
+ <path
+ transform="translate(-848.99032,225.45742)"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-end="#g12933-3-2"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-start="#g5583-2"
+ inkscape:connector-curvature="3"
+ inkscape:connector-type="polyline"
+ id="path5588-9"
+ d="m 52.173733,20.478573 0,50.004103"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker8638)" />
+ <g
+ transform="translate(-4.5930013,-154.28292)"
+ id="g14080-8-5-0"
+ style="fill:#0000ff;stroke:#0000ff">
+ <path
+ sodipodi:type="arc"
+ style="fill:#0000ff;fill-opacity:0;fill-rule:evenodd;stroke:#0000ff;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-67-4-3-2"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,81.22892)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:#0000ff;font-family:Bitstream Vera Sans"
+ x="-651.82935"
+ y="291.59058"
+ id="text12629-9-3-1-2-2-5-5"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-77-5-6-1"
+ x="-651.82935"
+ y="291.59058">C'</tspan></text>
+ </g>
+ </g>
+ <path
+ style="fill:#0000ff;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#marker8638)"
+ d="m 1380.7238,-230.93407 0,58.53617"
+ id="path9998"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-end:url(#marker8644)"
+ d="m 1653.4483,189.643 -63.7931,37.93103"
+ id="path10000"
+ inkscape:connector-curvature="0"
+ transform="translate(-317.55211,-451.61155)" />
+ </g>
+</svg>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/figures/git.svg Wed Nov 07 17:22:16 2012 +0100
@@ -0,0 +1,863 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ 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="910.36212"
+ height="598.43103"
+ id="svg12964"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="git.svg">
+ <defs
+ id="defs12966">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path4078"
+ 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)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path4072"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path4069"
+ 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.8,0,0,0.8,10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective12972" />
+ <inkscape:perspective
+ id="perspective13312"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM"
+ style="overflow:visible">
+ <path
+ id="path6393"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13318"
+ style="overflow:visible">
+ <path
+ id="path13320"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13418"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-1"
+ style="overflow:visible">
+ <path
+ id="path6393-1"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13424"
+ style="overflow:visible">
+ <path
+ id="path13426"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13428"
+ style="overflow:visible">
+ <path
+ id="path13430"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13432"
+ style="overflow:visible">
+ <path
+ id="path13434"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend"
+ style="overflow:visible">
+ <path
+ id="path6456"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13438"
+ style="overflow:visible">
+ <path
+ id="path13440"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13583"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-0"
+ style="overflow:visible">
+ <path
+ id="path6393-5"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13589"
+ style="overflow:visible">
+ <path
+ id="path13591"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13593"
+ style="overflow:visible">
+ <path
+ id="path13595"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective13743"
+ 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
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM-2"
+ style="overflow:visible">
+ <path
+ id="path6393-2"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13749"
+ style="overflow:visible">
+ <path
+ id="path13751"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13753"
+ style="overflow:visible">
+ <path
+ id="path13755"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13757"
+ style="overflow:visible">
+ <path
+ id="path13759"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyDiamondMend-3"
+ style="overflow:visible">
+ <path
+ id="path6456-4"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyDiamondMend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker13763"
+ style="overflow:visible">
+ <path
+ id="path13765"
+ d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(0.4,0,0,0.4,-2.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-2"
+ style="overflow:visible">
+ <path
+ id="path4072-8"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-5"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-6"
+ style="overflow:visible">
+ <path
+ id="path4072-7"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <inkscape:perspective
+ id="perspective15593-1"
+ 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
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend-29"
+ style="overflow:visible">
+ <path
+ id="path4072-70"
+ 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.8,0,0,-0.8,-10,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="267.70686"
+ inkscape:cy="266.91354"
+ inkscape:document-units="px"
+ inkscape:current-layer="g13382"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="776"
+ inkscape:window-x="0"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1"
+ fit-margin-top="5"
+ fit-margin-bottom="5"
+ fit-margin-right="5"
+ fit-margin-left="5" />
+ <metadata
+ id="metadata12969">
+ <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
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-120.93016,350.21716)">
+ <g
+ id="g16677"
+ transform="translate(-83.33333,-403.33333)">
+ <g
+ transform="translate(63.770124,322.85714)"
+ id="g13934">
+ <g
+ transform="translate(994.04378,-358.66548)"
+ id="g13382">
+ <g
+ style="opacity:0.5"
+ transform="translate(0,5.2380981)"
+ id="g12933-9">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-8"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-811.76758"
+ y="357.005"
+ id="text12629-9-3-1-4"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-9"
+ x="-811.76758"
+ y="357.005">B</tspan></text>
+ </g>
+ <g
+ style="opacity:0.5"
+ id="g12945-3">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-9"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="498.90979"
+ id="text12629-9-3-1-8-9"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-0"
+ x="-810.71423"
+ y="498.90979">A</tspan></text>
+ </g>
+ <g
+ id="g12957-8">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-6-3"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-810.71423"
+ y="635.57648"
+ id="text12629-9-3-1-83-0"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-5-1"
+ x="-810.71423"
+ y="635.57648">Z</tspan></text>
+ </g>
+ <path
+ inkscape:connector-type="polyline"
+ id="path12950-7"
+ d="m -797.5,393.91867 0,41.35798"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-end="#g12945-3"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-start="#g12933-9" />
+ <path
+ inkscape:connector-type="polyline"
+ id="path12962-0"
+ d="m -797.5,533.2573 0,38.68599"
+ style="opacity:0.5;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-end="#g12957-8"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-start="#g12945-3" />
+ <g
+ id="g14080">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-67"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,81.22892)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-651.82935"
+ y="291.59058"
+ id="text12629-9-3-1-2"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-77"
+ x="-651.82935"
+ y="291.59058">B'</tspan></text>
+ </g>
+ <g
+ id="g14034">
+ <path
+ sodipodi:type="arc"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path12627-8-4-1-9-2"
+ sodipodi:cx="-172.85715"
+ sodipodi:cy="399.50504"
+ sodipodi:rx="147.14285"
+ sodipodi:ry="100"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,217.89561)" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-650.776"
+ y="428.25726"
+ id="text12629-9-3-1-8-0"><tspan
+ sodipodi:role="line"
+ id="tspan12631-6-9-0-7-7"
+ x="-650.776"
+ y="428.25726">A'</tspan></text>
+ </g>
+ <path
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14087"
+ d="M 181.50292,226.948 81.415976,356.68521"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connector-curvature="0"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-start="#g14034"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-end="#g12957-8" />
+ <path
+ inkscape:connector-type="polyline"
+ transform="translate(-848.99032,225.45742)"
+ id="path14089"
+ d="m 211.42857,100.48065 0,38.68604"
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ inkscape:connector-curvature="0"
+ inkscape:connection-end-point="d4"
+ inkscape:connection-end="#g14034"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-start="#g14080" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="224.57932"
+ y="372.93292"
+ id="text13894"><tspan
+ sodipodi:role="line"
+ id="tspan13896"
+ x="224.57932"
+ y="372.93292" /></text>
+ </g>
+ </g>
+ <g
+ id="g14037"
+ transform="translate(-209.2775,-468.21686)">
+ <g
+ id="g13702"
+ transform="translate(1669.5314,38.478002)">
+ <g
+ id="g12933-3"
+ transform="translate(0.68341,5.2381)">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,146.64336)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-5"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-28"
+ y="357.005"
+ x="-811.76758"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="357.005"
+ x="-811.76758"
+ id="tspan12631-6-9-0-73"
+ sodipodi:role="line">B</tspan></text>
+ </g>
+ <g
+ id="g12945-5"
+ transform="translate(0.68341,0)">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,288.54815)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-9-8"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-8-87"
+ y="498.90979"
+ x="-810.71423"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="498.90979"
+ x="-810.71423"
+ id="tspan12631-6-9-0-7-3"
+ sodipodi:role="line">A</tspan></text>
+ </g>
+ <g
+ id="g12957-3"
+ transform="translate(0.68341,0)">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-739.94825,425.21479)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-6-8"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-83-5"
+ y="635.57648"
+ x="-810.71423"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="635.57648"
+ x="-810.71423"
+ id="tspan12631-6-9-0-5-4"
+ sodipodi:role="line">Z</tspan></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m -796.81659,393.9166 0,41.36212"
+ id="path12950-85"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g12933-3"
+ inkscape:connection-end="#g12945-5"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#000000;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m -796.81659,533.25522 0,38.69014"
+ id="path12962-4"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g12945-5"
+ inkscape:connection-end="#g12957-3"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g14080-8">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,81.22892)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-67-4"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-2-2"
+ y="291.59058"
+ x="-651.82935"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="291.59058"
+ x="-651.82935"
+ id="tspan12631-6-9-0-77-5"
+ sodipodi:role="line">B'</tspan></text>
+ </g>
+ <g
+ id="g14034-8">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-580.01,217.89561)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path12627-8-4-1-9-2-4"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text12629-9-3-1-8-0-4"
+ y="428.25726"
+ x="-650.776"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="428.25726"
+ x="-650.776"
+ id="tspan12631-6-9-0-7-7-3"
+ sodipodi:role="line">A'</tspan></text>
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="M 181.58323,227.00991 81.848934,356.84479"
+ id="path14087-4"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g14034-8"
+ inkscape:connection-end="#g12957-3"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0"
+ transform="translate(-848.99032,225.45742)" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#DotM)"
+ d="m 211.42857,100.48065 0,38.68604"
+ id="path14089-8"
+ inkscape:connector-type="polyline"
+ inkscape:connection-start="#g14080-8"
+ inkscape:connection-end="#g14034-8"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end-point="d4"
+ inkscape:connector-curvature="0"
+ transform="translate(-848.99032,225.45742)" />
+ <g
+ id="g5583"
+ transform="translate(-0.68341,0)"
+ style="fill:#000000;stroke:#000000">
+ <path
+ transform="matrix(0.33294398,0,0,0.48990327,-738.58143,1.22892)"
+ d="m -25.714294,399.50504 c 0,55.22847 -65.8781,100 -147.142856,100 -81.26475,0 -147.14285,-44.77153 -147.14285,-100 0,-55.22848 65.8781,-100 147.14285,-100 81.264756,0 147.142856,44.77152 147.142856,100 z"
+ sodipodi:ry="100"
+ sodipodi:rx="147.14285"
+ sodipodi:cy="399.50504"
+ sodipodi:cx="-172.85715"
+ id="path4918"
+ style="fill:#000000;fill-opacity:0;fill-rule:evenodd;stroke:#000000;stroke-width:12.38024521;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <text
+ id="text4920"
+ y="211.59058"
+ x="-810.40076"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#000000;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="211.59058"
+ x="-810.40076"
+ id="tspan4922"
+ sodipodi:role="line">C</tspan></text>
+ </g>
+ <path
+ style="fill:#000000;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 52.173733,20.478573 0,50.004103"
+ id="path5588"
+ inkscape:connector-type="polyline"
+ inkscape:connector-curvature="3"
+ inkscape:connection-start="#g5583"
+ inkscape:connection-start-point="d4"
+ inkscape:connection-end="#g12933-3"
+ inkscape:connection-end-point="d4"
+ transform="translate(-848.99032,225.45742)" />
+ </g>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="199.11453"
+ y="-241.73866"
+ id="text17638"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan17640"
+ x="199.11453"
+ y="-241.73866"
+ style="fill:#0000ff;stroke:#0000ff">feature-babar</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="531.01886"
+ y="-314.82654"
+ id="text17638-9"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan17640-9"
+ x="531.01886"
+ y="-314.82654"
+ style="fill:#0000ff;stroke:#0000ff"><tspan
+ style="fill:#008000;stroke:#008000"
+ id="tspan17684">other/</tspan>feature-babar</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="751.01886"
+ y="-222.82655"
+ id="text17638-9-2"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan17640-9-8"
+ x="751.01886"
+ y="-222.82655"
+ style="fill:#0000ff;stroke:#0000ff">feature-babar</tspan></text>
+ </g>
+</svg>
--- a/docs/instability.rst Wed Nov 07 17:19:54 2012 +0100
+++ b/docs/instability.rst Wed Nov 07 17:22:16 2012 +0100
@@ -32,9 +32,8 @@
changing B content too. This requires the creation of **another**
changeset, which is semantically good.
-::
+.. figure:: ./figures/edit-is-rewrite-step2.svg
- Schema base, A, B and B'
To avoid duplication, the older changeset is usually discarded from accessible
history. I'm calling them *obsolete* changesets.
@@ -116,7 +115,7 @@
This allow much more flexible workflow but two major feature are lost in the
process:
-:Graceful merge: MQ use plain-patch to store changeset content and patch have
+:graceful merge: MQ use plain-patch to store changeset content and patch have
trouble to apply in changing context. Applying your queue
becomes very painful when context changes.
--- a/docs/obs-concept.rst Wed Nov 07 17:19:54 2012 +0100
+++ b/docs/obs-concept.rst Wed Nov 07 17:22:16 2012 +0100
@@ -57,15 +57,8 @@
*meaningful*.
-.. warning:: add a schema::
+.. figure:: ./figures/git.*
- C
- | B---<foo>
- |/
- |
- A
-
- Only B and A are visible.
This simplifies the process of getting rid of old changesets. You can
just leave them in place and move the reference on the new one. You
@@ -300,8 +293,7 @@
will keep the same parent than `A'` and `A''` with two obsolete
markers pointing to both `A` and `A'`
-.. warning:: TODO: Add a schema of the resolution. (merge A' and A'' with A as
- ancestor and graft the result of A^)
+.. figure:: ./figures/explain-troubles-concurrent-10-solution.*
Allowing multiple new changesets to obsolete a single one allows to
distinguish a split changeset from a history rewriting conflict.
@@ -322,15 +314,17 @@
* Public changesets are excluded from the obsolete set (public
changesets are never hidden or candidate to garbage collection)
-* *newer* version of a public changeset are called **latecomer** and
+* *newer* version of a public changeset are called **bumped** and
highlighted as an error case.
+.. figure:: ./figures/explain-troubles-concurrent-10-sumup.*
+
Solving such an error is easy. Because we know what changeset a
-*latecomer* tries to rewrite, we can easily compute a smaller
+*bumped* tries to rewrite, we can easily compute a smaller
changeset containing only the change from the old *public* to the new
-*latecomer*.
+*bumped*.
-.. warning:: add a schema
+.. figure:: ./figures/explain-troubles-concurrent-15-solution.*
Conclusion
--- a/docs/obs-terms.rst Wed Nov 07 17:19:54 2012 +0100
+++ b/docs/obs-terms.rst Wed Nov 07 17:22:16 2012 +0100
@@ -104,18 +104,18 @@
| | for *troubled* | |
| | changeset to combine | (possible alternative name: |
| | multiple issue at once. | precarious) |
-| | (a.k.a. conflicting and | |
+| | (a.k.a. divergent and | |
| | unstable) +-----------------------------+
| | | |
-| | (possible alternative | **latecomer** |
+| | (possible alternative | **bumped** |
| | names: unsettled, | |
-| | troublesome | *latecomer* is a changeset |
+| | troublesome | *bumped* is a changeset |
| | | that tries to be successor |
| | | of public changesets. |
| | | |
| | | Public changeset can't |
| | | be deleted and replace |
-| | | *latecomer* |
+| | | *bumped* |
| | | need to be converted into |
| | | an overlay to this public |
| | | changeset. |
@@ -125,17 +125,17 @@
| | | mindless, disenchanting) |
| | | |
| | +-----------------------------+
-| | | **conflicting** |
+| | | **divergent** |
| | | |
-| | | *conflicting* is changeset |
+| | | *divergent* is changeset |
| | | that appears when multiple |
| | | changesets are successors |
| | | of the same precursor. |
| | | |
-| | | *conflicting* are solved |
+| | | *divergent* are solved |
| | | through a three ways merge |
| | | between the two |
-| | | *conflictings*, |
+| | | *divergent* , |
| | | using the last "obsolete- |
| | | -common-ancestor" as the |
| | | base. |
@@ -145,7 +145,8 @@
| | | conflict) |
| | | |
| | | (possible alternative names:|
-| | | clashing, rival) |
+| | | clashing, rival, concurent, |
+| | | conflicting) |
| | | |
| +--------------------------+-----------------------------+
| | |
@@ -178,13 +179,6 @@
| |
+------------------------------------------------------------------------------+
-.. note:: I'm not very happy with the naming of:
-
- - "ok" changeset
- - latecomer
- - conflicting
-
- Any better idea are welcome.
Command and operation name
@@ -232,7 +226,7 @@
```````````````
Automatically resolve *troublesome* changesets
-(*unstable*, *latecomer* and *conflicting*)
+(*unstable*, *bumped* and *divergent*)
This is an important name as hg pull/push will suggest it the same way it
suggest merging when you add heads.
--- a/hgext/evolve.py Wed Nov 07 17:19:54 2012 +0100
+++ b/hgext/evolve.py Wed Nov 07 17:22:16 2012 +0100
@@ -19,6 +19,10 @@
- improves some aspect of the early implementation in 2.3
'''
+testedwith = '2.3 2.3.1 2.3.2'
+buglink = 'https://bitbucket.org/marmoute/mutable-history/issues'
+
+
import random
from mercurial import util
@@ -28,7 +32,16 @@
if not obsolete._enabled:
obsolete._enabled = True
except ImportError:
- raise util.Abort('Obsolete extension requires Mercurial 2.3 (or later)')
+ raise util.Abort('Evolve extension requires Mercurial 2.3 (or later)')
+
+try:
+ getattr(obsolete, 'getrevs') # 2.4 specific
+ raise util.Abort('Your version of Mercurial is too recent for this '
+ 'version of evolve',
+ hint="upgrade your evolve")
+except AttributeError:
+ pass
+
from mercurial import bookmarks
from mercurial import cmdutil
@@ -295,6 +308,25 @@
reposetup = eh.final_reposetup
#####################################################################
+### Critical fix ###
+#####################################################################
+
+@eh.wrapfunction(mercurial.obsolete, '_readmarkers')
+def safereadmarkers(orig, data):
+ """safe maker wrapper to remove nullid succesors
+
+ Nullid successors was created by older version of evolve.
+ """
+ for marker in orig(data):
+ if nullid in marker[1]:
+ marker = (marker[0],
+ tuple(s for s in marker[1] if s != nullid),
+ marker[2],
+ marker[3])
+ yield marker
+
+
+#####################################################################
### Obsolescence Caching Logic ###
#####################################################################
@@ -478,8 +510,8 @@
#####################################################################
# there is two kind of trouble not handled by core right now:
-# - latecomer: (successors for public changeset)
-# - conflicting: (two changeset try to succeed to the same precursors)
+# - bumped: (successors for public changeset)
+# - divergent: (two changeset try to succeed to the same precursors)
#
# This section add support for those two addition trouble
#
@@ -490,89 +522,94 @@
### Cache computation
latediff = 1 # flag to prevent taking late comer fix into account
-@cachefor('latecomer')
-def _computelatecomerset(repo):
+@cachefor('bumped')
+def _computebumpedset(repo):
"""the set of rev trying to obsolete public revision"""
candidates = _allsuccessors(repo, repo.revs('public()'),
haltonflags=latediff)
query = '%ld - obsolete() - public()'
return set(repo.revs(query, candidates))
-@cachefor('conflicting')
-def _computeconflictingset(repo):
+@cachefor('divergent')
+def _computedivergentset(repo):
"""the set of rev trying to obsolete public revision"""
- conflicting = set()
+ divergent = set()
obsstore = repo.obsstore
newermap = {}
for ctx in repo.set('(not public()) - obsolete()'):
- prec = obsstore.successors.get(ctx.node(), ())
- toprocess = set(prec)
+ mark = obsstore.successors.get(ctx.node(), ())
+ toprocess = set(mark)
while toprocess:
prec = toprocess.pop()[0]
if prec not in newermap:
- newermap[prec] = newerversion(repo, prec)
- newer = [n for n in newermap[prec] if n] # filter kill
+ successorssets(repo, prec, newermap)
+ newer = [n for n in newermap[prec] if n]
if len(newer) > 1:
- conflicting.add(ctx.rev())
+ divergent.add(ctx.rev())
break
- toprocess.update(obsstore.successors.get(prec, ()))
- return conflicting
+ toprocess.update(obsstore.successors.get(prec, ()))
+ return divergent
### changectx method
@eh.addattr(context.changectx, 'latecomer')
-def latecomer(ctx):
- """is the changeset latecomer (Try to succeed to public change)"""
+@eh.addattr(context.changectx, 'bumped')
+def bumped(ctx):
+ """is the changeset bumped (Try to succeed to public change)"""
if ctx.node() is None:
return False
- return ctx.rev() in getobscache(ctx._repo, 'latecomer')
+ return ctx.rev() in getobscache(ctx._repo, 'bumped')
@eh.addattr(context.changectx, 'conflicting')
-def conflicting(ctx):
- """is the changeset conflicting (Try to succeed to public change)"""
+@eh.addattr(context.changectx, 'divergent')
+def divergent(ctx):
+ """is the changeset divergent (Try to succeed to public change)"""
if ctx.node() is None:
return False
- return ctx.rev() in getobscache(ctx._repo, 'conflicting')
+ return ctx.rev() in getobscache(ctx._repo, 'divergent')
### revset symbol
@eh.revset('latecomer')
-def revsetlatecomer(repo, subset, x):
- """``latecomer()``
+@eh.revset('bumped')
+def revsetbumped(repo, subset, x):
+ """``bumped()``
Changesets marked as successors of public changesets.
"""
- args = revset.getargs(x, 0, 0, 'latecomer takes no arguments')
- lates = getobscache(repo, 'latecomer')
+ args = revset.getargs(x, 0, 0, 'bumped takes no arguments')
+ lates = getobscache(repo, 'bumped')
return [r for r in subset if r in lates]
@eh.revset('conflicting')
-def revsetconflicting(repo, subset, x):
- """``conflicting()``
+@eh.revset('divergent')
+def revsetdivergent(repo, subset, x):
+ """``divergent()``
Changesets marked as successors of a same changeset.
"""
- args = revset.getargs(x, 0, 0, 'conflicting takes no arguments')
- conf = getobscache(repo, 'conflicting')
+ args = revset.getargs(x, 0, 0, 'divergent takes no arguments')
+ conf = getobscache(repo, 'divergent')
return [r for r in subset if r in conf]
+
### Discovery wrapping
@eh.wrapfunction(discovery, 'checkheads')
def wrapcheckheads(orig, repo, remote, outgoing, *args, **kwargs):
"""wrap mercurial.discovery.checkheads
- * prevent latecomer and unstable to be pushed
+ * prevent bumped and unstable to be pushed
"""
# do not push instability
for h in outgoing.missingheads:
# Checking heads is enough, obsolete descendants are either
# obsolete or unstable.
ctx = repo[h]
- if ctx.latecomer():
- raise util.Abort(_("push includes a latecomer changeset: %s!")
+ if ctx.bumped():
+ raise util.Abort(_("push includes a bumped changeset: %s!")
% ctx)
- if ctx.conflicting():
- raise util.Abort(_("push includes a conflicting changeset: %s!")
+ if ctx.divergent():
+ raise util.Abort(_("push includes a divergent changeset: %s!")
% ctx)
return orig(repo, remote, outgoing, *args, **kwargs)
@@ -681,26 +718,26 @@
def troubles(ctx):
"""Return a tuple listing all the troubles that affect a changeset
- Troubles may be "unstable", "latecomer" or "conflicting".
+ Troubles may be "unstable", "bumped" or "divergent".
"""
troubles = []
if ctx.unstable():
troubles.append('unstable')
- if ctx.latecomer():
- troubles.append('latecomer')
- if ctx.conflicting():
- troubles.append('conflicting')
+ if ctx.bumped():
+ troubles.append('bumped')
+ if ctx.divergent():
+ troubles.append('divergent')
return tuple(troubles)
### Troubled revset symbol
@eh.revset('troubled')
-def revsetlatecomer(repo, subset, x):
+def revsetbumped(repo, subset, x):
"""``troubled()``
Changesets with troubles.
"""
_ = revset.getargs(x, 0, 0, 'troubled takes no arguments')
- return repo.revs('%ld and (unstable() + latecomer() + conflicting())',
+ return repo.revs('%ld and (unstable() + bumped() + divergent())',
subset)
@@ -780,29 +817,123 @@
cs.add(sr)
return cs
+nodemod = node
+def successorssets(repo, initialnode, cache=None):
+ """Return the newer version of an obsolete changeset"""
+
+ # prec -> markers mapping
+ markersfor = repo.obsstore.precursors
+
+ # Stack of node need to know the last successors set
+ toproceed = [initialnode]
+ # set version of toproceed for fast loop detection
+ stackedset = set(toproceed)
+ if cache is None:
+ cache = {}
+ while toproceed:
+ # work on the last node of the stack
+ node = toproceed[-1]
+ if node in cache:
+ # We already have a value for it.
+ # Keep working on something else.
+ stackedset.remove(toproceed.pop())
+ elif node not in markersfor:
+ # The node is not obsolete.
+ # This mean it is its own last successors.
+ if node in repo:
+ # We have a valid last successors.
+ cache[node] = [(node,)]
+ else:
+ # final obsolete version is unknown locally.
+ # Do not count that as a valid successors
+ cache[node] = []
+ else:
+ # <lss> stand for Last Successors Sets
+ # it contains the list of all last successors for the current node.
+ lss = []
+ for mark in markersfor[node]:
+ # <mlss> stand for Marker Last Successors Sets
+ # it contains the list of last successors set introduced by
+ # this marker.
+ mlss = [[]]
+ # iterate over possible multiple successors
+ for suc in mark[1]:
+ if suc not in cache:
+ # We do not know the last successors of that yet.
+ if suc in stackedset:
+ # Loop detected!
+ #
+ # we won't be able to ever compute a proper last
+ # successors the naive and simple approve is to
+ # consider it killed
+ cache[suc] = []
+ else:
+ # Add the successor to the stack and break the next
+ # iteration will work on this successors and the
+ # algorithm will eventually process the current
+ # node again.
+ toproceed.append(suc)
+ stackedset.add(suc)
+ break
+ # if we did not break, we can extend the possible set of
+ # last successors.
+ #
+ # I say "extends" because if the marker have multiple
+ # successors we have to generate
+ #
+ # if successors have multiple successors set (when ther are
+ # divergent themself), we do a cartesian product of
+ # possible successors set of already processed successors
+ # and newly obtains successors set.
+ newmlss = []
+ for prefix in mlss:
+ for suffix in cache[suc]:
+ newss = list(prefix)
+ for part in suffix:
+ # do not duplicated entry in successors set.
+ # first entry win.
+ if part not in newss:
+ newss.append(part)
+ newmlss.append(newss)
+ mlss = newmlss
+ else:
+ # note: mlss is still empty if the marker was a bare killing
+ # of this changeset
+ #
+ # We extends the list of all possible successors sets with
+ # successors set continuted by this marker
+ lss.extend(mlss)
+ # we use continue here to skip the break right bellow
+ continue
+ # propagate "nested for" break.
+ # if the nested for exited on break, it did not ran the else
+ # clause and didn't "continue
+ break
+ else:
+ # computation was succesful for *all* marker.
+ # Add computed successors set to the cache
+ # (will be poped from to proceeed) on the new iteration
+ #
+ # We remove successors set that are subset of another one
+ # this fil
+ candsucset = sorted(((len(ss), set(ss), ss) for ss in lss),
+ reverse=True)
+ finalsucset = []
+ for cl, cs, css in candsucset:
+ if not css:
+ # remove empty successors set
+ continue
+ for fs, fss in finalsucset:
+ if cs.issubset(fs):
+ break
+ else:
+ finalsucset.append((cs, css))
+ finalsucset = [s[1] for s in finalsucset]
+ finalsucset.reverse()
+ cache[node] = finalsucset
+ return cache[initialnode]
-def newerversion(repo, obs):
- """Return the newer version of an obsolete changeset"""
- toproceed = set([(obs,)])
- # XXX known optimization available
- newer = set()
- objectrels = repo.obsstore.precursors
- while toproceed:
- current = toproceed.pop()
- assert len(current) <= 1, 'splitting not handled yet. %r' % current
- current = [n for n in current if n != nullid]
- if current:
- n, = current
- if n in objectrels:
- markers = objectrels[n]
- for mark in markers:
- toproceed.add(tuple(mark[1]))
- else:
- newer.add(tuple(current))
- else:
- newer.add(())
- return sorted(newer)
#####################################################################
@@ -916,20 +1047,20 @@
def warnobserrors(orig, ui, repo, *args, **kwargs):
"""display warning is the command resulted in more instable changeset"""
priorunstables = len(repo.revs('unstable()'))
- priorlatecomers = len(repo.revs('latecomer()'))
- priorconflictings = len(repo.revs('conflicting()'))
+ priorbumpeds = len(repo.revs('bumped()'))
+ priordivergents = len(repo.revs('divergent()'))
ret = orig(ui, repo, *args, **kwargs)
# workaround phase stupidity
phases._filterunknown(ui, repo.changelog, repo._phasecache.phaseroots)
newunstables = len(repo.revs('unstable()')) - priorunstables
- newlatecomers = len(repo.revs('latecomer()')) - priorlatecomers
- newconflictings = len(repo.revs('conflicting()')) - priorconflictings
+ newbumpeds = len(repo.revs('bumped()')) - priorbumpeds
+ newdivergents = len(repo.revs('divergent()')) - priordivergents
if newunstables > 0:
ui.warn(_('%i new unstable changesets\n') % newunstables)
- if newlatecomers > 0:
- ui.warn(_('%i new latecomer changesets\n') % newlatecomers)
- if newconflictings > 0:
- ui.warn(_('%i new conflicting changesets\n') % newconflictings)
+ if newbumpeds > 0:
+ ui.warn(_('%i new bumped changesets\n') % newbumpeds)
+ if newdivergents > 0:
+ ui.warn(_('%i new divergent changesets\n') % newdivergents)
return ret
@eh.reposetup
@@ -968,11 +1099,11 @@
ret = orig(ui, repo, *args, **kwargs)
nbunstable = len(getobscache(repo, 'unstable'))
- nblatecomer = len(getobscache(repo, 'latecomer'))
- nbconflicting = len(getobscache(repo, 'unstable'))
+ nbbumped = len(getobscache(repo, 'bumped'))
+ nbdivergent = len(getobscache(repo, 'unstable'))
write('unstable: %i changesets\n', nbunstable)
- write('latecomer: %i changesets\n', nblatecomer)
- write('conflicting: %i changesets\n', nbconflicting)
+ write('bumped: %i changesets\n', nbbumped)
+ write('divergent: %i changesets\n', nbdivergent)
return ret
@@ -1115,11 +1246,14 @@
try:
rebase = extensions.find('rebase')
if rebase:
- entry = extensions.wrapcommand(rebase.cmdtable, 'rebase', warnobserrors)
- extensions.wrapfunction(rebase, 'buildstate', buildstate)
- extensions.wrapfunction(rebase, 'defineparents', defineparents)
- extensions.wrapfunction(rebase, 'concludenode', concludenode)
- extensions.wrapcommand(rebase.cmdtable, "rebase", cmdrebase)
+ incore = getattr(rebase, 'obsolete', None) is not None
+ if not incore:
+ extensions.wrapcommand(rebase.cmdtable, "rebase", cmdrebase)
+ extensions.wrapcommand(rebase.cmdtable, 'rebase', warnobserrors)
+ if not incore:
+ extensions.wrapfunction(rebase, 'buildstate', buildstate)
+ extensions.wrapfunction(rebase, 'defineparents', defineparents)
+ extensions.wrapfunction(rebase, 'concludenode', concludenode)
except KeyError:
pass # rebase not found
@@ -1322,8 +1456,8 @@
"""Solve trouble in your repository
- rebase unstable changeset to make it stable again,
- - create proper diff from latecomer changeset,
- - merge conflicting changeset.
+ - create proper diff from bumped changeset,
+ - merge divergent changeset.
By default, take the first troubles changeset that looks relevant.
@@ -1333,7 +1467,7 @@
working directory parent revision or one of its descendants and rebase
it.
- - For conflicting this mean "." if applicable.
+ - For divergent this mean "." if applicable.
With --any, evolve pick any troubled changeset to solve
@@ -1364,10 +1498,10 @@
troubles = tr.troubles()
if 'unstable' in troubles:
return _solveunstable(ui, repo, tr, opts['dry_run'])
- elif 'latecomer' in troubles:
- return _solvelatecomer(ui, repo, tr, opts['dry_run'])
- elif 'conflicting' in troubles:
- return _solveconflicting(ui, repo, tr, opts['dry_run'])
+ elif 'bumped' in troubles:
+ return _solvebumped(ui, repo, tr, opts['dry_run'])
+ elif 'divergent' in troubles:
+ return _solvedivergent(ui, repo, tr, opts['dry_run'])
else:
assert False # WHAT? unknown troubles
@@ -1376,14 +1510,14 @@
tr = _stabilizableunstable(repo, repo['.'])
if tr is None:
wdp = repo['.']
- if 'conflicting' in wdp.troubles():
+ if 'divergent' in wdp.troubles():
tr = wdp
if tr is None and pickany:
troubled = list(repo.set('unstable()'))
if not troubled:
- troubled = list(repo.set('latecomer()'))
+ troubled = list(repo.set('bumped()'))
if not troubled:
- troubled = list(repo.set('conflicting()'))
+ troubled = list(repo.set('divergent()'))
if troubled:
tr = troubled[0]
@@ -1414,13 +1548,13 @@
if not obs.obsolete():
obs = orig.parents()[1]
assert obs.obsolete()
- newer = newerversion(repo, obs.node())
+ newer = successorssets(repo, obs.node())
# search of a parent which is not killed
- while newer == [()]:
+ while not newer or newer == [()]:
ui.debug("stabilize target %s is plain dead,"
" trying to stabilize on its parent")
obs = obs.parents()[0]
- newer = newerversion(repo, obs.node())
+ newer = successorssets(repo, obs.node())
if len(newer) > 1:
ui.write_err(_("conflict rewriting. can't choose destination\n"))
return 2
@@ -1454,13 +1588,13 @@
finally:
lock.release()
-def _solvelatecomer(ui, repo, latecomer, dryrun=False):
- """Stabilize a latecomer changeset"""
- # For now we deny latecomer merge
- if len(latecomer.parents()) > 1:
- raise util.Abort('late comer stabilization is confused by latecomer'
- ' %s being a merge' % latecomer)
- prec = repo.set('last(allprecursors(%d) and public())', latecomer).next()
+def _solvebumped(ui, repo, bumped, dryrun=False):
+ """Stabilize a bumped changeset"""
+ # For now we deny bumped merge
+ if len(bumped.parents()) > 1:
+ raise util.Abort('late comer stabilization is confused by bumped'
+ ' %s being a merge' % bumped)
+ prec = repo.set('last(allprecursors(%d) and public())', bumped).next()
# For now we deny target merge
if len(prec.parents()) > 1:
raise util.Abort('late comer evolution is confused by precursors'
@@ -1469,54 +1603,54 @@
displayer = cmdutil.show_changeset(ui, repo, {'template': shorttemplate})
repo.ui.status(_('recreate:'))
if not ui.quiet:
- displayer.show(latecomer)
+ displayer.show(bumped)
repo.ui.status(_('atop:'))
if not ui.quiet:
displayer.show(prec)
if dryrun:
- todo = 'hg rebase --rev %s --dest %s;\n' % (latecomer, prec.p1())
+ todo = 'hg rebase --rev %s --dest %s;\n' % (bumped, prec.p1())
repo.ui.write(todo)
repo.ui.write('hg update %s;\n' % prec)
- repo.ui.write('hg revert --all --rev %s;\n' % latecomer)
- repo.ui.write('hg commit --msg "latecomer update to %s"')
+ repo.ui.write('hg revert --all --rev %s;\n' % bumped)
+ repo.ui.write('hg commit --msg "bumped update to %s"')
return 0
wlock = repo.wlock()
try:
newid = tmpctx = None
- tmpctx = latecomer
+ tmpctx = bumped
lock = repo.lock()
try:
- bmupdate = _bookmarksupdater(repo, latecomer.node())
+ bmupdate = _bookmarksupdater(repo, bumped.node())
# Basic check for common parent. Far too complicated and fragile
- tr = repo.transaction('latecomer-stabilize')
+ tr = repo.transaction('bumped-stabilize')
try:
- if not list(repo.set('parents(%d) and parents(%d)', latecomer, prec)):
+ if not list(repo.set('parents(%d) and parents(%d)', bumped, prec)):
# Need to rebase the changeset at the right place
repo.ui.status(_('rebasing to destination parent: %s\n') % prec.p1())
try:
- tmpid = relocate(repo, latecomer, prec.p1())
+ tmpid = relocate(repo, bumped, prec.p1())
if tmpid is not None:
tmpctx = repo[tmpid]
- createmarkers(repo, [(latecomer, (tmpctx,))])
+ createmarkers(repo, [(bumped, (tmpctx,))])
except MergeFailure:
- repo.opener.write('graftstate', latecomer.hex() + '\n')
+ repo.opener.write('graftstate', bumped.hex() + '\n')
repo.ui.write_err(_('evolution failed!\n'))
repo.ui.write_err(_('fix conflict and run "hg evolve --continue"\n'))
raise
# Create the new commit context
repo.ui.status(_('computing new diff\n'))
files = set()
- copied = copies.pathcopies(prec, latecomer)
+ copied = copies.pathcopies(prec, bumped)
precmanifest = prec.manifest()
- for key, val in latecomer.manifest().iteritems():
+ for key, val in bumped.manifest().iteritems():
if precmanifest.pop(key, None) != val:
files.add(key)
files.update(precmanifest) # add missing files
# commit it
if files: # something to commit!
def filectxfn(repo, ctx, path):
- if path in latecomer:
- fctx = latecomer[path]
+ if path in bumped:
+ fctx = bumped[path]
flags = fctx.flags()
mctx = context.memfilectx(fctx.path(), fctx.data(),
islink='l' in flags,
@@ -1524,24 +1658,24 @@
copied=copied.get(path))
return mctx
raise IOError()
- text = 'latecomer update to %s:\n\n' % prec
- text += latecomer.description()
+ text = 'bumped update to %s:\n\n' % prec
+ text += bumped.description()
new = context.memctx(repo,
parents=[prec.node(), node.nullid],
text=text,
files=files,
filectxfn=filectxfn,
- user=latecomer.user(),
- date=latecomer.date(),
- extra=latecomer.extra())
+ user=bumped.user(),
+ date=bumped.date(),
+ extra=bumped.extra())
newid = repo.commitctx(new)
if newid is None:
createmarkers(repo, [(tmpctx, ())])
newid = prec.node()
else:
- phases.retractboundary(repo, latecomer.phase(), [newid])
+ phases.retractboundary(repo, bumped.phase(), [newid])
createmarkers(repo, [(tmpctx, (repo[newid],))],
flag=latediff)
bmupdate(newid)
@@ -1556,22 +1690,22 @@
finally:
wlock.release()
-def _solveconflicting(ui, repo, conflicting, dryrun=False):
- base, others = conflictingdata(conflicting)
+def _solvedivergent(ui, repo, divergent, dryrun=False):
+ base, others = divergentdata(divergent)
if len(others) > 1:
raise util.Abort("We do not handle split yet")
other = others[0]
- if conflicting.phase() <= phases.public:
+ if divergent.phase() <= phases.public:
raise util.Abort("We can't resolve this conflict from the public side")
if len(other.parents()) > 1:
- raise util.Abort("conflicting changeset can't be a merge (yet)")
- if other.p1() not in conflicting.parents():
+ raise util.Abort("divergent changeset can't be a merge (yet)")
+ if other.p1() not in divergent.parents():
raise util.Abort("parents are not common (not handled yet)")
displayer = cmdutil.show_changeset(ui, repo, {'template': shorttemplate})
ui.status(_('merge:'))
if not ui.quiet:
- displayer.show(conflicting)
+ displayer.show(divergent)
ui.status(_('with: '))
if not ui.quiet:
displayer.show(other)
@@ -1579,23 +1713,23 @@
if not ui.quiet:
displayer.show(base)
if dryrun:
- ui.write('hg update -c %s &&\n' % conflicting)
+ ui.write('hg update -c %s &&\n' % divergent)
ui.write('hg merge %s &&\n' % other)
ui.write('hg commit -m "auto merge resolving conflict between '
- '%s and %s"&&\n' % (conflicting, other))
+ '%s and %s"&&\n' % (divergent, other))
ui.write('hg up -C %s &&\n' % base)
ui.write('hg revert --all --rev tip &&\n')
ui.write('hg commit -m "`hg log -r %s --template={desc}`";\n'
- % conflicting)
+ % divergent)
return
wlock = lock = None
try:
wlock = repo.wlock()
lock = repo.lock()
- if conflicting not in repo[None].parents():
+ if divergent not in repo[None].parents():
repo.ui.status(_('updating to "local" conflict\n'))
- hg.update(repo, conflicting.rev())
- repo.ui.note(_('merging conflicting changeset\n'))
+ hg.update(repo, divergent.rev())
+ repo.ui.note(_('merging divergent changeset\n'))
stats = merge.update(repo,
other.node(),
branchmerge=True,
@@ -1616,13 +1750,13 @@
/!\ * hg ci -m "same message as the amended changeset" => new cset Y
/!\ * hg kill -n Y W Z
""")
- tr = repo.transaction('stabilize-conflicting')
+ tr = repo.transaction('stabilize-divergent')
try:
- repo.dirstate.setparents(conflicting.node(), node.nullid)
+ repo.dirstate.setparents(divergent.node(), node.nullid)
oldlen = len(repo)
amend(ui, repo)
if oldlen == len(repo):
- new = conflicting
+ new = divergent
# no changes
else:
new = repo['.']
@@ -1635,7 +1769,7 @@
lockmod.release(lock, wlock)
-def conflictingdata(ctx):
+def divergentdata(ctx):
"""return base, other part of a conflict
This only return the first one.
@@ -1643,7 +1777,7 @@
XXX this woobly function won't survive XXX
"""
for base in ctx._repo.set('reverse(precursors(%d))', ctx):
- newer = newerversion(ctx._repo, base.node())
+ newer = successorssets(ctx._repo, base.node())
# drop filter and solution including the original ctx
newer = [n for n in newer if n and ctx.node() not in n]
if newer:
@@ -1722,6 +1856,8 @@
try:
new = set(noderange(repo, opts['new']))
targetnodes = set(noderange(repo, revs))
+ if not targetnodes:
+ raise util.Abort('nothing to prune')
if new:
sucs = tuple(repo[n] for n in new)
else:
@@ -2101,6 +2237,60 @@
finally:
lockmod.release(lock, wlock)
+if 'debugsuccessorssets' not in commands.table:
+
+ @command('debugsuccessorssets',
+ [],
+ _('[REV]'))
+ def debugsuccessorssets(ui, repo, *revs):
+ """show set of successors for revision
+
+ Successors set of changeset A are a consistent group of revision that
+ succeed to A. Successors set contains non-obsolete changeset only.
+
+ In most case a changeset A have zero (changeset pruned) or a single
+ successors set that contains a single successors (changeset A replacement
+ by A')
+
+ But splitted changeset will result with successors set containing more than
+ a single element. Divergent rewritting will result in multiple successor
+ set.
+
+ result is displayed as follows::
+
+ <rev1>
+ <successors-1A>
+ <rev2>
+ <successors-2A>
+ <successors-2B1> <successors-2B1> <successors-2B1>
+
+ here rev2 have two possible successors sets. One hold three elements.
+
+ add --debug if you want full size node id.
+ """
+ cache = {}
+ s = str
+ if ui.debug:
+ def s(ctx):
+ return ctx.hex()
+ for rev in scmutil.revrange(repo, revs):
+ ctx = repo[rev]
+ if ui.debug():
+ ui.write('%s\n'% ctx.hex())
+ s = node.hex
+ else:
+ ui.write('%s\n'% ctx)
+ s = node.short
+ for ss in successorssets(repo, ctx.node(), cache):
+ if ss:
+ ui.write(' ')
+ ui.write(s(ss[0]))
+ for n in ss[1:]:
+ ui.write(' ')
+ ui.write(s(n))
+ ui.write('\n')
+ pass
+
@eh.wrapcommand('graft')
def graftwrapper(orig, ui, repo, *revs, **kwargs):
--- a/hgext/qsync.py Wed Nov 07 17:19:54 2012 +0100
+++ b/hgext/qsync.py Wed Nov 07 17:22:16 2012 +0100
@@ -83,10 +83,10 @@
try:
store.getfile(patch_name)
review_list.append(patch_name)
- except IOError, exc:
+ except IOError:
oldnode = oldfiles[patch_name]
evolve = extensions.find('evolve')
- newnodes = evolve.newerversion(repo, oldnode)
+ newnodes = evolve.successorssets(repo, oldnode)
if newnodes:
newnodes = [n for n in newnodes if n and n[0] in repo] # remove killing
if not newnodes:
@@ -177,7 +177,7 @@
usedold.add(oldhex)
oldname = str(oldname)
oldnode = bin(oldhex)
- newnodes = evolve.newerversion(repo, oldnode)
+ newnodes = evolve.successorssets(repo, oldnode)
if newnodes:
newnodes = [n for n in newnodes if n and n[0] in repo] # remove killing
if len(newnodes) > 1:
--- a/setup.py Wed Nov 07 17:19:54 2012 +0100
+++ b/setup.py Wed Nov 07 17:22:16 2012 +0100
@@ -5,7 +5,7 @@
setup(
name='hg-evolve',
- version='1.0.1',
+ version='1.0.2',
author='Pierre-Yves David',
maintainer='Pierre-Yves David',
maintainer_email='pierre-yves.david@logilab.fr',
--- a/tests/test-evolve.t Wed Nov 07 17:19:54 2012 +0100
+++ b/tests/test-evolve.t Wed Nov 07 17:22:16 2012 +0100
@@ -296,12 +296,12 @@
6 feature-A: a nifty feature - test
0 : base - test
-phase change turning obsolete changeset public issue a latecomer warning
+phase change turning obsolete changeset public issue a bumped warning
$ hg phase --public 7
- 1 new latecomer changesets
+ 1 new bumped changesets
-all solving latecomer troubled
+all solving bumped troubled
$ hg glog
@ 8 feature-B: another feature that rox - test
@@ -316,9 +316,9 @@
recreate:[8] another feature that rox
atop:[7] another feature
computing new diff
- commited as 8d77fa12ab0c
+ commited as 53ff506edef1
$ hg glog
- @ 9 feature-B: latecomer update to 5f4744038ed5: - test
+ @ 9 feature-B: bumped update to 5f4744038ed5: - test
|
o 7 : another feature - test
|
@@ -334,7 +334,7 @@
@@ -3,1 +3,1 @@
-Zwei
+deux
- $ hg log -r 'latecomer()' # no more latecomer
+ $ hg log -r 'bumped()' # no more bumped
$ cd ..
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-obsolete-divergent.t Wed Nov 07 17:22:16 2012 +0100
@@ -0,0 +1,439 @@
+Test file decicated to testing the divergent troubles from obsolete changeset.
+
+This is the most complexe troubles from far so we isolate it in a dedicated
+file.
+
+Enable obsolete
+
+ $ cat >> $HGRCPATH << EOF
+ > [ui]
+ > logtemplate = {rev}:{node|short} {desc}\n
+ > [alias]
+ > debugobsolete = debugobsolete -d '0 0'
+ > [phases]
+ > publish=False
+ > [extensions]
+ > rebase=
+ > EOF
+ $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
+
+
+ $ mkcommit() {
+ > echo "$1" > "$1"
+ > hg add "$1"
+ > hg ci -m "$1"
+ > }
+ $ getid() {
+ > hg id --debug -ir "desc('$1')"
+ > }
+
+setup repo
+
+ $ hg init reference
+ $ cd reference
+ $ mkcommit base
+ $ mkcommit A_0
+ $ hg up 0
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ mkcommit A_1
+ created new head
+ $ hg up 0
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ mkcommit A_2
+ created new head
+ $ hg up 0
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ cd ..
+
+
+ $ newcase() {
+ > hg clone -u 0 -q reference $1
+ > cd $1
+ > }
+
+direct divergence
+-----------------
+
+A_1 have two direct and divergent successors A_1 and A_1
+
+ $ newcase direct
+ $ hg debugobsolete `getid A_0` `getid A_1`
+ $ hg debugobsolete `getid A_0` `getid A_2`
+ $ hg log -G --hidden
+ o 3:392fd25390da A_2
+ |
+ | o 2:82623d38b9ba A_1
+ |/
+ | x 1:007dc284c1f8 A_0
+ |/
+ @ 0:d20a80d4def3 base
+
+ $ hg debugsuccessorssets 'all()'
+ d20a80d4def3
+ d20a80d4def3
+ 007dc284c1f8
+ 392fd25390da
+ 82623d38b9ba
+ 82623d38b9ba
+ 82623d38b9ba
+ 392fd25390da
+ 392fd25390da
+ $ hg log -r 'divergent()'
+ 2:82623d38b9ba A_1
+ 3:392fd25390da A_2
+
+check that mercurial refuse to push
+
+ $ hg init ../other
+ $ hg push ../other
+ pushing to ../other
+ searching for changes
+ abort: push includes a divergent changeset: 82623d38b9ba!
+ (use 'hg evolve' to get a stable history or --force to ignore warnings)
+ [255]
+
+ $ cd ..
+
+
+indirect divergence with known changeset
+-------------------------------------------
+
+ $ newcase indirect_known
+ $ hg debugobsolete `getid A_0` `getid A_1`
+ $ hg debugobsolete `getid A_0` `getid A_2`
+ $ mkcommit A_3
+ created new head
+ $ hg debugobsolete `getid A_2` `getid A_3`
+ $ hg log -G --hidden
+ @ 4:01f36c5a8fda A_3
+ |
+ | x 3:392fd25390da A_2
+ |/
+ | o 2:82623d38b9ba A_1
+ |/
+ | x 1:007dc284c1f8 A_0
+ |/
+ o 0:d20a80d4def3 base
+
+ $ hg debugsuccessorssets 'all()'
+ d20a80d4def3
+ d20a80d4def3
+ 007dc284c1f8
+ 01f36c5a8fda
+ 82623d38b9ba
+ 82623d38b9ba
+ 82623d38b9ba
+ 392fd25390da
+ 01f36c5a8fda
+ 01f36c5a8fda
+ 01f36c5a8fda
+ $ hg log -r 'divergent()'
+ 2:82623d38b9ba A_1
+ 4:01f36c5a8fda A_3
+ $ cd ..
+
+
+indirect divergence with known changeset
+-------------------------------------------
+
+ $ newcase indirect_unknown
+ $ hg debugobsolete `getid A_0` aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid A_1`
+ $ hg debugobsolete `getid A_0` `getid A_2`
+ $ hg log -G --hidden
+ o 3:392fd25390da A_2
+ |
+ | o 2:82623d38b9ba A_1
+ |/
+ | x 1:007dc284c1f8 A_0
+ |/
+ @ 0:d20a80d4def3 base
+
+ $ hg debugsuccessorssets 'all()'
+ d20a80d4def3
+ d20a80d4def3
+ 007dc284c1f8
+ 392fd25390da
+ 82623d38b9ba
+ 82623d38b9ba
+ 82623d38b9ba
+ 392fd25390da
+ 392fd25390da
+ $ hg log -r 'divergent()'
+ 2:82623d38b9ba A_1
+ 3:392fd25390da A_2
+ $ cd ..
+
+do not take unknown node in account if they are final
+-----------------------------------------------------
+
+ $ newcase final-unknown
+ $ hg debugobsolete `getid A_0` `getid A_1`
+ $ hg debugobsolete `getid A_1` `getid A_2`
+ $ hg debugobsolete `getid A_0` bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+ $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccc
+ $ hg debugobsolete `getid A_1` dddddddddddddddddddddddddddddddddddddddd
+
+ $ hg debugsuccessorssets 'desc('A_0')'
+ 007dc284c1f8
+ 392fd25390da
+
+ $ cd ..
+
+divergence that converge again is not divergence anymore
+-----------------------------------------------------
+
+ $ newcase converged_divergence
+ $ hg debugobsolete `getid A_0` `getid A_1`
+ $ hg debugobsolete `getid A_0` `getid A_2`
+ $ mkcommit A_3
+ created new head
+ $ hg debugobsolete `getid A_1` `getid A_3`
+ $ hg debugobsolete `getid A_2` `getid A_3`
+ $ hg log -G --hidden
+ @ 4:01f36c5a8fda A_3
+ |
+ | x 3:392fd25390da A_2
+ |/
+ | x 2:82623d38b9ba A_1
+ |/
+ | x 1:007dc284c1f8 A_0
+ |/
+ o 0:d20a80d4def3 base
+
+ $ hg debugsuccessorssets 'all()'
+ d20a80d4def3
+ d20a80d4def3
+ 007dc284c1f8
+ 01f36c5a8fda
+ 82623d38b9ba
+ 01f36c5a8fda
+ 392fd25390da
+ 01f36c5a8fda
+ 01f36c5a8fda
+ 01f36c5a8fda
+ $ hg log -r 'divergent()'
+ $ cd ..
+
+split is not divergences
+-----------------------------
+
+ $ newcase split
+ $ hg debugobsolete `getid A_0` `getid A_1` `getid A_2`
+ $ hg log -G --hidden
+ o 3:392fd25390da A_2
+ |
+ | o 2:82623d38b9ba A_1
+ |/
+ | x 1:007dc284c1f8 A_0
+ |/
+ @ 0:d20a80d4def3 base
+
+ $ hg debugsuccessorssets 'all()'
+ d20a80d4def3
+ d20a80d4def3
+ 007dc284c1f8
+ 82623d38b9ba 392fd25390da
+ 82623d38b9ba
+ 82623d38b9ba
+ 392fd25390da
+ 392fd25390da
+ $ hg log -r 'divergent()'
+
+Even when subsequente rewriting happen
+
+ $ mkcommit A_3
+ created new head
+ $ hg debugobsolete `getid A_1` `getid A_3`
+ $ hg up 0
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ mkcommit A_4
+ created new head
+ $ hg debugobsolete `getid A_2` `getid A_4`
+ $ hg up 0
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ mkcommit A_5
+ created new head
+ $ hg debugobsolete `getid A_4` `getid A_5`
+ $ hg log -G --hidden
+ @ 6:e442cfc57690 A_5
+ |
+ | x 5:6a411f0d7a0a A_4
+ |/
+ | o 4:01f36c5a8fda A_3
+ |/
+ | x 3:392fd25390da A_2
+ |/
+ | x 2:82623d38b9ba A_1
+ |/
+ | x 1:007dc284c1f8 A_0
+ |/
+ o 0:d20a80d4def3 base
+
+ $ hg debugsuccessorssets 'all()'
+ d20a80d4def3
+ d20a80d4def3
+ 007dc284c1f8
+ 01f36c5a8fda e442cfc57690
+ 82623d38b9ba
+ 01f36c5a8fda
+ 392fd25390da
+ e442cfc57690
+ 01f36c5a8fda
+ 01f36c5a8fda
+ 6a411f0d7a0a
+ e442cfc57690
+ e442cfc57690
+ e442cfc57690
+ $ hg log -r 'divergent()'
+
+Check more complexe obsolescence graft (with divergence)
+
+ $ mkcommit B_0; hg up 0
+ 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+ $ hg debugobsolete `getid B_0` `getid A_2`
+ $ mkcommit A_7; hg up 0
+ created new head
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ mkcommit A_8; hg up 0
+ created new head
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ hg debugobsolete `getid A_5` `getid A_7` `getid A_8`
+ $ mkcommit A_9; hg up 0
+ created new head
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ hg debugobsolete `getid A_5` `getid A_9`
+ $ hg log -G --hidden
+ o 10:bed64f5d2f5a A_9
+ |
+ | o 9:14608b260df8 A_8
+ |/
+ | o 8:7ae126973a96 A_7
+ |/
+ | x 7:3750ebee865d B_0
+ | |
+ | x 6:e442cfc57690 A_5
+ |/
+ | x 5:6a411f0d7a0a A_4
+ |/
+ | o 4:01f36c5a8fda A_3
+ |/
+ | x 3:392fd25390da A_2
+ |/
+ | x 2:82623d38b9ba A_1
+ |/
+ | x 1:007dc284c1f8 A_0
+ |/
+ @ 0:d20a80d4def3 base
+
+ $ hg debugsuccessorssets 'all()'
+ d20a80d4def3
+ d20a80d4def3
+ 007dc284c1f8
+ 01f36c5a8fda bed64f5d2f5a
+ 01f36c5a8fda 7ae126973a96 14608b260df8
+ 82623d38b9ba
+ 01f36c5a8fda
+ 392fd25390da
+ bed64f5d2f5a
+ 7ae126973a96 14608b260df8
+ 01f36c5a8fda
+ 01f36c5a8fda
+ 6a411f0d7a0a
+ bed64f5d2f5a
+ 7ae126973a96 14608b260df8
+ e442cfc57690
+ bed64f5d2f5a
+ 7ae126973a96 14608b260df8
+ 3750ebee865d
+ bed64f5d2f5a
+ 7ae126973a96 14608b260df8
+ 7ae126973a96
+ 7ae126973a96
+ 14608b260df8
+ 14608b260df8
+ bed64f5d2f5a
+ bed64f5d2f5a
+ $ hg log -r 'divergent()'
+ 4:01f36c5a8fda A_3
+ 8:7ae126973a96 A_7
+ 9:14608b260df8 A_8
+ 10:bed64f5d2f5a A_9
+
+fix the divergence
+
+ $ mkcommit A_A; hg up 0
+ created new head
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ hg debugobsolete `getid A_9` `getid A_A`
+ $ hg debugobsolete `getid A_7` `getid A_A`
+ $ hg debugobsolete `getid A_8` `getid A_A`
+ $ hg log -G --hidden
+ o 11:a139f71be9da A_A
+ |
+ | x 10:bed64f5d2f5a A_9
+ |/
+ | x 9:14608b260df8 A_8
+ |/
+ | x 8:7ae126973a96 A_7
+ |/
+ | x 7:3750ebee865d B_0
+ | |
+ | x 6:e442cfc57690 A_5
+ |/
+ | x 5:6a411f0d7a0a A_4
+ |/
+ | o 4:01f36c5a8fda A_3
+ |/
+ | x 3:392fd25390da A_2
+ |/
+ | x 2:82623d38b9ba A_1
+ |/
+ | x 1:007dc284c1f8 A_0
+ |/
+ @ 0:d20a80d4def3 base
+
+ $ hg debugsuccessorssets 'all()'
+ d20a80d4def3
+ d20a80d4def3
+ 007dc284c1f8
+ 01f36c5a8fda a139f71be9da
+ 82623d38b9ba
+ 01f36c5a8fda
+ 392fd25390da
+ a139f71be9da
+ 01f36c5a8fda
+ 01f36c5a8fda
+ 6a411f0d7a0a
+ a139f71be9da
+ e442cfc57690
+ a139f71be9da
+ 3750ebee865d
+ a139f71be9da
+ 7ae126973a96
+ a139f71be9da
+ 14608b260df8
+ a139f71be9da
+ bed64f5d2f5a
+ a139f71be9da
+ a139f71be9da
+ a139f71be9da
+ $ hg log -r 'divergent()'
+
+ $ cd ..
+
+
+Subset does not diverge
+------------------------------
+
+Do not report divergent successors-set if it is a subset of another
+successors-set. (report [A,B] not [A] + [A,B])
+
+ $ newcase subset
+ $ hg debugobsolete `getid A_0` `getid A_2`
+ $ hg debugobsolete `getid A_0` `getid A_1` `getid A_2`
+ $ hg debugsuccessorssets 'desc('A_0')'
+ 007dc284c1f8
+ 82623d38b9ba 392fd25390da
+
+ $ cd ..
--- a/tests/test-obsolete-rebase.t Wed Nov 07 17:19:54 2012 +0100
+++ b/tests/test-obsolete-rebase.t Wed Nov 07 17:22:16 2012 +0100
@@ -286,26 +286,25 @@
$ hg ci -m 'babar is not dead'
$ echo '[ui]' >> .hg/hgrc
$ echo 'logtemplate={rev} {node|short} {desc|firstline}\n' >> .hg/hgrc
- $ hg pull --rebase --traceback
+ $ hg pull --rebase --traceback | grep -v 'saved'
pulling from $TESTTMP/repo
searching for changes
adding changesets
adding manifests
adding file changes
added 5 changesets with 5 changes to 5 files (+4 heads)
- saved backup bundle to $TESTTMP/other/.hg/strip-backup/2a6c62a1b55d-backup.hg
$ hg glog
- @ 7 d5567dbec794 babar is not dead
+ @ [78] d5567dbec794 babar is not dead (re)
|
- o 6 1951ead97108 appendab
+ o [67] 1951ead97108 appendab (re)
|
- o 5 03f165c84ea8 addd
+ o [56] 03f165c84ea8 addd (re)
|
- | o 4 a7773ffa7edc Collapsed revision
+ | o [45] a7773ffa7edc Collapsed revision (re)
|/
- | o 3 9c5494949763 adde
+ | o [34] 9c5494949763 adde (re)
|/
- | o 2 102a90ea7b4a addb
+ | o [23] 102a90ea7b4a addb (re)
| |
o | 1 540395c44225 changea
|/
--- a/tests/test-obsolete.t Wed Nov 07 17:19:54 2012 +0100
+++ b/tests/test-obsolete.t Wed Nov 07 17:22:16 2012 +0100
@@ -7,7 +7,6 @@
> [alias]
> odiff=diff --rev 'limit(precursors(.),1)' --rev .
> [extensions]
- > hgext.graphlog=
> hgext.rebase=
> EOF
$ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
@@ -141,7 +140,7 @@
Test obsolete keyword
- $ hg glog --template '{rev}:{node|short}@{branch}({obsolete}/{phase}) {desc|firstline}\n' \
+ $ hg log -G --template '{rev}:{node|short}@{branch}({obsolete}/{phase}) {desc|firstline}\n' \
> --hidden
@ 5:a7a6f2b5d8a5@default(unstable/draft) add d
|
@@ -377,7 +376,7 @@
commit: 1 deleted, 2 unknown (clean)
update: 4 new changesets, 4 branch heads (merge)
unstable: 1 changesets
- conflicting: 1 changesets
+ divergent: 1 changesets
$ qlog
6
- 909a0fb57e5d
@@ -405,7 +404,7 @@
$ hg debugobsolete `getid 0` `getid 9`
83b5778897ad try to obsolete immutable changeset 1f0dee641bb7
# at core level the warning is not issued
-# this is now a big issue now that we have latecomer warning
+# this is now a big issue now that we have bumped warning
$ qlog -r 'obsolete()'
3
- 0d3f46688ccc
@@ -458,19 +457,19 @@
check rebase compat
- $ hg glog -r 'not extinct()' --template='{rev} - {node|short}\n'
- o 8 - 159dfc9fa5d3
+ $ hg log -G --template='{rev} - {node|short} {desc}\n'
+ o 8 - 159dfc9fa5d3 add obsol_d''
|
- | o 4 - 725c380fe99b
+ | o 4 - 725c380fe99b add obsol_c'
| |
- x | 3 - 0d3f46688ccc
+ x | 3 - 0d3f46688ccc add obsol_c
|/
- o 1 - 7c3bad9141dc
+ o 1 - 7c3bad9141dc add b
|
- o 0 - 1f0dee641bb7
+ o 0 - 1f0dee641bb7 add a
- $ hg glog --template='{rev} - {node|short}\n' --hidden
+ $ hg log -G --template='{rev} - {node|short}\n' --hidden
x 9 - 83b5778897ad
o 8 - 159dfc9fa5d3
@@ -494,21 +493,21 @@
should not rebase extinct changeset
- $ hg --config extensions.hgext.rebase= rebase -s 7 -d 4
- whole rebase set is extinct and ignored.
+#excluded 'whole rebase set is extinct and ignored.' message not in core
+ $ hg rebase -s 7 -d 4 2>&1 | grep -v 'whole rebase'
nothing to rebase
- [1]
- $ hg --config extensions.hgext.rebase= rebase -b 3 -d 4 --traceback
- $ hg --config extensions.graphlog= glog -r 'not extinct()' --template='{rev} - {node|short}\n'
- @ 11 - 9468a5f5d8b2
+ $ hg rebase -b '3' -d 4 --traceback
+ 2 new divergent changesets
+ $ hg log -G --template='{rev} - {node|short} {desc}\n'
+ @ 11 - 9468a5f5d8b2 add obsol_d''
|
- o 10 - 2033b4e49474
+ o 10 - 2033b4e49474 add obsol_c
|
- o 4 - 725c380fe99b
+ o 4 - 725c380fe99b add obsol_c'
|
- o 1 - 7c3bad9141dc
+ o 1 - 7c3bad9141dc add b
|
- o 0 - 1f0dee641bb7
+ o 0 - 1f0dee641bb7 add a
Does not complain about new head if you obsolete the old one
@@ -533,13 +532,13 @@
added 1 changesets with 1 changes to 1 files (+1 heads)
$ cd ..
-check latecomer detection
+check bumped detection
(make an obsolete changeset public)
$ cd local
$ hg phase --public 11
- 1 new latecomer changesets
- $ hg --config extensions.graphlog=glog glog --template='{rev} - ({phase}) {node|short} {desc}\n'
+ 1 new bumped changesets
+ $ hg log -G --template='{rev} - ({phase}) {node|short} {desc}\n'
@ 12 - (draft) 6db5e282cb91 add obsol_d'''
|
| o 11 - (public) 9468a5f5d8b2 add obsol_d''
@@ -552,7 +551,7 @@
|
o 0 - (public) 1f0dee641bb7 add a
- $ hg log -r 'latecomer()'
+ $ hg log -r 'bumped()'
changeset: 12:6db5e282cb91
tag: tip
parent: 10:2033b4e49474
@@ -563,7 +562,7 @@
$ hg push ../other-new/
pushing to ../other-new/
searching for changes
- abort: push includes a latecomer changeset: 6db5e282cb91!
+ abort: push includes a bumped changeset: 6db5e282cb91!
(use 'hg evolve' to get a stable history or --force to ignore warnings)
[255]
@@ -575,7 +574,7 @@
created new head
$ echo 42 >> f
$ hg commit --amend --traceback --quiet
- $ hg glog
+ $ hg log -G
@ changeset: 1[35]:3734a65252e6 (re)
| tag: tip
| parent: 10:2033b4e49474
@@ -642,10 +641,16 @@
branch: default
commit: (clean)
update: (9|11) new changesets, (9|10) branch heads \(merge\) (re)
- latecomer: 1 changesets
+ bumped: 1 changesets
$ hg debugobsolete `getid a7a6f2b5d8a5` `getid 50f11e5e3a63`
$ hg log -r 'conflicting()'
- changeset: 1[46]:50f11e5e3a63 (re)
+ changeset: 12:6db5e282cb91
+ parent: 10:2033b4e49474
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: add obsol_d'''
+
+ changeset: 14:50f11e5e3a63
tag: tip
parent: 11:9468a5f5d8b2
user: test
--- a/tests/test-stabilize-conflict.t Wed Nov 07 17:19:54 2012 +0100
+++ b/tests/test-stabilize-conflict.t Wed Nov 07 17:22:16 2012 +0100
@@ -19,6 +19,10 @@
> EOF
$ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH
+ $ safesed() {
+ > sed "$1" "$2" > `pwd`/sed.temp
+ > mv `pwd`/sed.temp "$2"
+ > }
create a simple repo
@@ -57,7 +61,7 @@
$ hg gdown
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[1] babar count up to ten
- $ sed -i'' 's/huit/height/' babar
+ $ safesed 's/huit/eight/' babar
$ hg diff
diff -r 9d5daf8bd956 babar
--- a/babar Thu Jan 01 00:00:00 1970 +0000
@@ -67,7 +71,7 @@
six
sept
-huit
- +height
+ +eight
neuf
dix
$ hg amend
@@ -78,13 +82,13 @@
merging babar
$ hg resolve -l
$ hg log -G
- @ changeset: 5:fd62611d0178
+ @ changeset: 5:800217d738cd
| tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: babar count up to fifteen
|
- o changeset: 4:83066dedff55
+ o changeset: 4:6bd654225435
| parent: 0:29ec1554cfaf
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
@@ -103,14 +107,14 @@
$ hg gdown
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[4] babar count up to ten
- $ sed -i'' 's/dix/ten/' babar
+ $ safesed 's/dix/ten/' babar
$ hg diff
- diff -r 83066dedff55 babar
+ diff -r 6bd654225435 babar
--- a/babar Thu Jan 01 00:00:00 1970 +0000
+++ b/babar * (glob)
@@ -7,4 +7,4 @@
sept
- height
+ eight
neuf
-dix
+ten
@@ -129,19 +133,19 @@
$ hg resolve -l
U babar
$ hg log -G
- @ changeset: 7:cc96f75eae0b
+ @ changeset: 7:3e191dd96e18
| tag: tip
| parent: 0:29ec1554cfaf
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: babar count up to ten
|
- | @ changeset: 5:fd62611d0178
+ | @ changeset: 5:800217d738cd
| | user: test
| | date: Thu Jan 01 00:00:00 1970 +0000
| | summary: babar count up to fifteen
| |
- | x changeset: 4:83066dedff55
+ | x changeset: 4:6bd654225435
|/ parent: 0:29ec1554cfaf
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
@@ -156,19 +160,19 @@
$ hg revert -r 5 --all
reverting babar
- $ sed -i'' 's/dix/ten/' babar
+ $ safesed 's/dix/ten/' babar
$ hg resolve --all -m
$ hg evolve --continue
grafting revision 5
$ hg resolve -l
$ hg log -G
- @ changeset: 8:ce7ee8fecf30
+ @ changeset: 8:92429cce7036
| tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: babar count up to fifteen
|
- o changeset: 7:cc96f75eae0b
+ o changeset: 7:3e191dd96e18
| parent: 0:29ec1554cfaf
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
@@ -182,26 +186,28 @@
proper behavior with conflict using an external merge tools
-----------------------------------------------------------
- $ sed -i'' 's/merge=.*/merge=touch/' $HGRCPATH
- $ sed -i'' 's/touch.gui=.*/touch.gui=false/' $HGRCPATH
+ $ safesed 's/merge=.*/merge=touch/' $HGRCPATH
+ $ safesed 's/touch.gui=.*/touch.gui=false/' $HGRCPATH
$ hg gdown
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
[7] babar count up to ten
- $ sed -i'' 's/ten/zehn/' babar
+ $ safesed 's/ten/zehn/' babar
$ hg diff
- diff -r cc96f75eae0b babar
+ diff -r 3e191dd96e18 babar
--- a/babar Thu Jan 01 00:00:00 1970 +0000
+++ b/babar * (glob)
@@ -7,4 +7,4 @@
sept
- height
+ eight
neuf
-ten
+zehn
$ hg amend
1 new unstable changesets
- $ sed -i'' 's/interactive=.*/interactive=true/' $HGRCPATH
- $ yes n 2> ../shutup | HGMERGE=touch hg evolve
+ $ safesed 's/interactive=.*/interactive=true/' $HGRCPATH
+ $ HGMERGE=touch hg evolve <<EOF
+ > n
+ > EOF
move:[8] babar count up to fifteen
atop:[10] babar count up to ten
merging babar
@@ -214,19 +220,19 @@
$ hg resolve -l
U babar
$ hg log -G
- @ changeset: 10:02c637e61375
+ @ changeset: 10:a7fe09efd4a1
| tag: tip
| parent: 0:29ec1554cfaf
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: babar count up to ten
|
- | @ changeset: 8:ce7ee8fecf30
+ | @ changeset: 8:92429cce7036
| | user: test
| | date: Thu Jan 01 00:00:00 1970 +0000
| | summary: babar count up to fifteen
| |
- | x changeset: 7:cc96f75eae0b
+ | x changeset: 7:3e191dd96e18
|/ parent: 0:29ec1554cfaf
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
@@ -245,6 +251,6 @@
cinq
six
sept
- height
+ eight
neuf
zehn
--- a/tests/test-stabilize-result.t Wed Nov 07 17:19:54 2012 +0100
+++ b/tests/test-stabilize-result.t Wed Nov 07 17:22:16 2012 +0100
@@ -131,7 +131,7 @@
Make precursors public
$ hg phase --public 8
- 1 new latecomer changesets
+ 1 new bumped changesets
$ glog
@ 12:15c83af6f3a3@default(draft) bk:[] newer a
|
@@ -152,15 +152,15 @@
hg rebase --rev 15c83af6f3a3 --dest e8cc1b534401;
hg update e3183e9c0961;
hg revert --all --rev 15c83af6f3a3;
- hg commit --msg "latecomer update to %s" (no-eol)
+ hg commit --msg "bumped update to %s" (no-eol)
$ hg evolve --any
recreate:[12] newer a
atop:[8] newer a
rebasing to destination parent: e8cc1b534401
computing new diff
- commited as 1d94fef80e85
+ commited as eeeb8f6e7648
$ glog
- @ 14:1d94fef80e85@default(draft) bk:[] latecomer update to e3183e9c0961:
+ @ 14:eeeb8f6e7648@default(draft) bk:[] bumped update to e3183e9c0961:
|
| o 9:355c5cda4de1@default(draft) bk:[] add c
| |
@@ -190,7 +190,7 @@
$ glog
@ 15:7391601a4bfa@default(draft) bk:[] More addition
|
- | o 14:1d94fef80e85@default(draft) bk:[] latecomer update to e3183e9c0961:
+ | o 14:eeeb8f6e7648@default(draft) bk:[] bumped update to e3183e9c0961:
| |
o | 9:355c5cda4de1@default(draft) bk:[] add c
| |
@@ -210,13 +210,13 @@
$ cat a.old >> a
$ rm a.old
$ hg amend
- 2 new conflicting changesets
+ 2 new divergent changesets
$ glog
@ 19:3883461cc228@default(draft) bk:[] More addition
|
| o 17:4754d61bc2db@default(draft) bk:[] More addition
|/
- | o 14:1d94fef80e85@default(draft) bk:[] latecomer update to e3183e9c0961:
+ | o 14:eeeb8f6e7648@default(draft) bk:[] bumped update to e3183e9c0961:
| |
o | 9:355c5cda4de1@default(draft) bk:[] add c
| |
@@ -240,7 +240,7 @@
merge:[19] More addition
with: [17] More addition
base: [15] More addition
- merging conflicting changeset
+ merging divergent changeset
resolving manifests
merging a
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
@@ -251,7 +251,7 @@
$ glog
@ 22:ac6d600735a4@default(draft) bk:[] More addition
|
- | o 14:1d94fef80e85@default(draft) bk:[] latecomer update to e3183e9c0961:
+ | o 14:eeeb8f6e7648@default(draft) bk:[] bumped update to e3183e9c0961:
| |
o | 9:355c5cda4de1@default(draft) bk:[] add c
| |
@@ -297,7 +297,10 @@
Working directory parent is obsolete
$ echo 'gotta break' >> a
$ hg amend
- 1 new conflicting changesets
+ 2 new divergent changesets
+ $ hg phase 'divergent()'
+ 22: draft
+ 24: draft
$ hg evolve -qn
hg update -c c956a4b140b6 &&
hg merge ac6d600735a4 &&
--- a/tests/test-uncommit.t Wed Nov 07 17:19:54 2012 +0100
+++ b/tests/test-uncommit.t Wed Nov 07 17:22:16 2012 +0100
@@ -241,7 +241,7 @@
Working directory parent is obsolete
$ hg --config extensions.purge= purge
$ hg uncommit -I 'set:added() and e'
- 2 new conflicting changesets
+ 2 new divergent changesets
$ hg st --copies
A e
$ hg st --copies --change .
@@ -285,7 +285,7 @@
Working directory parent is obsolete
$ hg --config extensions.purge= purge
$ hg uncommit --all -X e
- 1 new conflicting changesets
+ 1 new divergent changesets
$ hg st --copies
M b
M d