]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
docs: add a bunch of .svg pictures
authorBrian Warner <warner@allmydata.com>
Tue, 24 Apr 2007 01:25:26 +0000 (18:25 -0700)
committerBrian Warner <warner@allmydata.com>
Tue, 24 Apr 2007 01:25:26 +0000 (18:25 -0700)
docs/file-encoding1.svg [new file with mode: 0644]
docs/file-encoding2.svg [new file with mode: 0644]
docs/file-encoding3.svg [new file with mode: 0644]
docs/file-encoding4.svg [new file with mode: 0644]
docs/file-encoding5.svg [new file with mode: 0644]
docs/file-encoding6.svg [new file with mode: 0644]
docs/subtree1.svg [new file with mode: 0644]
docs/subtree2.svg [new file with mode: 0644]
docs/subtree3.svg [new file with mode: 0644]
docs/subtree4.svg [new file with mode: 0644]

diff --git a/docs/file-encoding1.svg b/docs/file-encoding1.svg
new file mode 100644 (file)
index 0000000..0e14f39
--- /dev/null
@@ -0,0 +1,481 @@
+<?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://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/warner/work/tahoe-misc"
+   sodipodi:docname="file-encoding1.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path2976"
+         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>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.51883278"
+     inkscape:cx="372.04724"
+     inkscape:cy="526.18109"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="900"
+     inkscape:window-height="756"
+     inkscape:window-x="768"
+     inkscape:window-y="178" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g3081">
+      <rect
+         y="17.505058"
+         x="210.76614"
+         height="78.85553"
+         width="305.95944"
+         id="rect1872"
+         style="fill:#e3f4d7;stroke:black;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text1874"
+         y="44.315933"
+         x="258.83313"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="44.315933"
+           x="258.83313"
+           id="tspan3079"
+           sodipodi:role="line">FILE (plaintext)</tspan></text>
+    </g>
+    <g
+       id="g3103"
+       transform="translate(9.594112,0)">
+      <rect
+         y="156.86679"
+         x="14.903192"
+         height="40.479816"
+         width="137.80923"
+         id="rect1883"
+         style="fill:#e3f4d7;stroke:black;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text1885"
+         y="181.2227"
+         x="19.065027"
+         style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="181.2227"
+           x="19.065027"
+           id="tspan3052"
+           sodipodi:role="line">&quot;allmydata_fileid_v1&quot;</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="174.68474"
+       y="183.0667"
+       id="text1894"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan1896"
+         x="174.68474"
+         y="183.0667">+</tspan></text>
+    <rect
+       style="fill:none;stroke:black;stroke-opacity:1"
+       id="rect2802"
+       width="505.75876"
+       height="93.121315"
+       x="12.69276"
+       y="132.40248" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 519.45152,176.18801 L 651.44976,176.18801"
+       id="path2804"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g2989"
+       transform="matrix(0.923205,0,0,0.923205,41.82841,25.82025)">
+      <path
+         transform="translate(-27.43576,-32.74591)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path1904"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text2793"
+         y="169.1078"
+         x="558.45044"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="169.1078"
+           x="558.45044"
+           id="tspan2795"
+           sodipodi:role="line">SHA-1</tspan></text>
+    </g>
+    <g
+       id="g3000"
+       transform="translate(-3.540098,-4.425122)">
+      <rect
+         y="152.29236"
+         x="657.57312"
+         height="56.641563"
+         width="77.882149"
+         id="rect2994"
+         style="fill:#d5f6ff;fill-opacity:1;stroke:black;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text2996"
+         y="186.49313"
+         x="673.06122"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="186.49313"
+           x="673.06122"
+           id="tspan2998"
+           sodipodi:role="line">fileid</tspan></text>
+    </g>
+    <g
+       id="g3098"
+       transform="translate(-8.268075,4.550756)">
+      <rect
+         style="fill:#e3f4d7;stroke:black;stroke-width:1.19514322;stroke-opacity:1"
+         id="rect3007"
+         width="197.79575"
+         height="40.284672"
+         x="17.681271"
+         y="284.16595" />
+      <text
+         xml:space="preserve"
+         style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="20.760191"
+         y="306.9263"
+         id="text3009"
+         sodipodi:linespacing="100%"><tspan
+           y="306.9263"
+           x="20.760191"
+           id="tspan3054"
+           sodipodi:role="line">&quot;allmydata_encryption_key_v1&quot;</tspan></text>
+    </g>
+    <text
+       sodipodi:linespacing="100%"
+       id="text3013"
+       y="314.81906"
+       x="210.3999"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="314.81906"
+         x="210.3999"
+         id="tspan3015"
+         sodipodi:role="line">+</tspan></text>
+    <rect
+       y="264.15482"
+       x="4.338717"
+       height="94.977722"
+       width="516.89746"
+       id="rect3019"
+       style="fill:none;stroke:black;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3021"
+       d="M 522.23618,308.85904 L 651.44974,308.85904"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <g
+       transform="matrix(0.923205,0,0,0.923205,41.82841,158.4913)"
+       id="g3023">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3025"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="translate(-27.43576,-32.74591)" />
+      <text
+         xml:space="preserve"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="558.45044"
+         y="169.1078"
+         id="text3027"
+         sodipodi:linespacing="100%"><tspan
+           sodipodi:role="line"
+           id="tspan3029"
+           x="558.45044"
+           y="169.1078">SHA-1</tspan></text>
+    </g>
+    <g
+       id="g3230">
+      <rect
+         style="fill:#d5f6ff;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="rect3033"
+         width="77.882149"
+         height="56.641563"
+         x="657.67255"
+         y="280.53827" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="663.15704"
+         y="314.73904"
+         id="text3035"
+         sodipodi:linespacing="100%"><tspan
+           y="314.73904"
+           x="663.15704"
+           id="tspan3047"
+           sodipodi:role="line">enc key</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 304.08143,97.858852 L 304.08143,137.56556"
+       id="path3056"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 373.90073,96.940177 L 372.98205,270.77344"
+       id="path3058"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g3139"
+       transform="translate(7.509642,-1.469055)">
+      <path
+         transform="matrix(0.923205,0,0,0.923205,-231.4625,247.6493)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3128"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3130"
+         y="434.10446"
+         x="299.26846"
+         style="font-size:14.77128029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="434.10446"
+           x="299.26846"
+           id="tspan3137"
+           sodipodi:role="line">AES-CTR</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 696.13072,338.78227 C 686.69032,403.34812 552.13956,419.69239 372.86158,426.02821"
+       id="path3144"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 335.20807,98.167169 L 337.04482,394.80335"
+       id="path3146" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#use3094"
+       id="use3096"
+       transform="matrix(0.937151,0,0,1,38.50134,131.7604)"
+       width="744.09448"
+       height="1052.3622" />
+    <use
+       x="0"
+       y="0"
+       xlink:href="#g3081"
+       id="use3094"
+       transform="translate(-6.396075,121.9744)"
+       width="744.09448"
+       height="1052.3622" />
+    <g
+       id="g3201">
+      <rect
+         style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1"
+         id="rect3154"
+         width="286.73019"
+         height="78.85553"
+         x="196.96533"
+         y="521.95709" />
+      <text
+         transform="scale(0.968066,1.032988)"
+         xml:space="preserve"
+         style="font-size:27.10585976px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="249.83606"
+         y="531.24384"
+         id="text3156"
+         sodipodi:linespacing="100%"><tspan
+           y="531.24384"
+           x="249.83606"
+           id="tspan3163"
+           sodipodi:role="line">FILE (crypttext)</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 337.9632,459.08983 L 337.9632,518.78442"
+       id="path3170"
+       sodipodi:nodetypes="cc" />
+    <rect
+       style="fill:#e3f4d7;stroke:black;stroke-width:1.19514322;stroke-opacity:1"
+       id="rect3195"
+       width="166.57086"
+       height="33.855904"
+       x="24.107248"
+       y="704.99011" />
+    <text
+       xml:space="preserve"
+       style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="30.85968"
+       y="721.01257"
+       id="text3197"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3246"
+         x="30.85968"
+         y="721.01257">&quot;allmydata_verifierid_v1&quot;</tspan></text>
+    <g
+       id="g3206"
+       transform="matrix(0.897851,0,0,1,60.47902,157.32)">
+      <rect
+         y="521.95709"
+         x="196.96533"
+         height="78.85553"
+         width="286.73019"
+         id="rect3208"
+         style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3210"
+         y="531.24384"
+         x="249.83606"
+         style="font-size:27.10585976px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"
+         transform="scale(0.968066,1.032988)"><tspan
+           sodipodi:role="line"
+           id="tspan3212"
+           x="249.83606"
+           y="531.24384">FILE (crypttext)</tspan></text>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="205.80801"
+       y="722.85657"
+       id="text3214"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3216"
+         x="205.80801"
+         y="722.85657">+</tspan></text>
+    <rect
+       style="fill:none;stroke:black;stroke-opacity:1"
+       id="rect3218"
+       width="486.59097"
+       height="96.814476"
+       x="16.277634"
+       y="669.40771" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 502.95024,718.70387 L 632.1638,718.70387"
+       id="path3220"
+       sodipodi:nodetypes="cc" />
+    <g
+       id="g3222"
+       transform="matrix(0.923205,0,0,0.923205,22.54247,568.3362)">
+      <path
+         transform="translate(-27.43576,-32.74591)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3224"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3226"
+         y="169.1078"
+         x="558.45044"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="169.1078"
+           x="558.45044"
+           id="tspan3228"
+           sodipodi:role="line">SHA-1</tspan></text>
+    </g>
+    <g
+       id="g3255"
+       transform="translate(0,44.33028)">
+      <rect
+         y="644.21606"
+         x="634.71307"
+         height="55.723186"
+         width="100.84161"
+         id="rect3237"
+         style="fill:#d5f6ff;fill-opacity:1;stroke:black;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3239"
+         y="677.95764"
+         x="642.83234"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="677.95764"
+           x="642.83234"
+           id="tspan3251"
+           sodipodi:role="line">verifierid</tspan><tspan
+           y="697.95764"
+           x="642.83234"
+           id="tspan3253"
+           sodipodi:role="line"></tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 338.98999,601.06036 L 338.98999,678.72836"
+       id="path3261"
+       sodipodi:nodetypes="cc" />
+  </g>
+</svg>
diff --git a/docs/file-encoding2.svg b/docs/file-encoding2.svg
new file mode 100644 (file)
index 0000000..c1143b2
--- /dev/null
@@ -0,0 +1,920 @@
+<?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://web.resource.org/cc/"
+   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="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/warner/work/tahoe-misc"
+   sodipodi:docname="file-encoding2.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path2976"
+         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>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.51978303"
+     inkscape:cx="372.04724"
+     inkscape:cy="526.18109"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="900"
+     inkscape:window-height="756"
+     inkscape:window-x="792"
+     inkscape:window-y="170" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g3201"
+       transform="translate(-5.78221,-477.996)">
+      <rect
+         style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1"
+         id="rect3154"
+         width="286.73019"
+         height="78.85553"
+         x="196.96533"
+         y="521.95709" />
+      <text
+         transform="scale(0.968066,1.032988)"
+         xml:space="preserve"
+         style="font-size:27.10585976px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="249.83606"
+         y="531.24384"
+         id="text3156"
+         sodipodi:linespacing="100%"><tspan
+           y="531.24384"
+           x="249.83606"
+           id="tspan3163"
+           sodipodi:role="line">FILE (crypttext)</tspan></text>
+    </g>
+    <g
+       id="g2022">
+      <rect
+         y="214.548"
+         x="40.845631"
+         height="80.782936"
+         width="80.498047"
+         id="rect3273"
+         style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3275"
+         y="255.87878"
+         x="56.581703"
+         style="font-size:27.99999214;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"
+         transform="scale(0.968066,1.032988)"><tspan
+           y="255.87878"
+           x="56.581703"
+           id="tspan1993"
+           sodipodi:role="line">segA</tspan></text>
+    </g>
+    <g
+       id="g2017">
+      <rect
+         style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1"
+         id="rect3284"
+         width="80.498047"
+         height="80.782936"
+         x="161.45784"
+         y="214.548" />
+      <text
+         transform="scale(0.968066,1.032988)"
+         xml:space="preserve"
+         style="font-size:28;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="184.53419"
+         y="251.69087"
+         id="text3286"
+         sodipodi:linespacing="100%"><tspan
+           y="251.69087"
+           x="184.53419"
+           id="tspan1995"
+           sodipodi:role="line">segB</tspan></text>
+    </g>
+    <g
+       id="g2012">
+      <rect
+         y="214.548"
+         x="282.07007"
+         height="80.782936"
+         width="80.498047"
+         id="rect3290"
+         style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3292"
+         y="253.62892"
+         x="304.44913"
+         style="font-size:27.99999214;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"
+         transform="scale(0.968066,1.032988)"><tspan
+           y="253.62892"
+           x="304.44913"
+           id="tspan1997"
+           sodipodi:role="line">segC</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 223.51231,125.60384 L 88.587195,212.82815"
+       id="path4243"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 297.10782,124.24096 L 205.79487,215.55391"
+       id="path4245"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 373.4291,122.87808 L 325.7283,212.82816"
+       id="path4247"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 458.9333,124.24096 L 443.56317,216.05143"
+       id="path4249"
+       sodipodi:nodetypes="cc" />
+    <rect
+       y="214.548"
+       x="422.02194"
+       height="80.782951"
+       width="61.22403"
+       id="rect3296"
+       style="fill:#d5e5ff;stroke:black;stroke-width:0.96806562;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text3298"
+       y="253.42572"
+       x="440.45892"
+       style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"
+       transform="scale(0.968066,1.032988)"><tspan
+         sodipodi:role="line"
+         id="tspan1999"
+         x="440.45892"
+         y="253.42572">segD</tspan></text>
+    <rect
+       style="fill:white;fill-opacity:1;stroke:black;stroke-width:0.96806562;stroke-opacity:1"
+       id="rect3308"
+       width="32.312965"
+       height="80.782936"
+       x="484.21405"
+       y="214.548" />
+    <g
+       id="g2040"
+       transform="translate(-16.41804,-13.31249)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path2029"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.923205,0,0,0.923205,-463.3983,190.6491)" />
+      <text
+         xml:space="preserve"
+         style="font-size:14.77128029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="84.763"
+         y="377.10425"
+         id="text2031"
+         sodipodi:linespacing="100%"><tspan
+           y="377.10425"
+           x="84.763"
+           id="tspan2038"
+           sodipodi:role="line">FEC</tspan></text>
+    </g>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect2045"
+       width="62.568695"
+       height="54.581161"
+       x="106.49989"
+       y="400.05042"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="114.42955"
+       y="424.05099"
+       id="text2932"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan2934"
+         x="114.42955"
+         y="424.05099">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="126.88751"
+       y="445.35098"
+       id="text2936"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan2938"
+         x="126.88751"
+         y="445.35098">A1</tspan></text>
+    <rect
+       ry="0"
+       y="471.49408"
+       x="106.49989"
+       height="54.581161"
+       width="62.568695"
+       id="rect2956"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text2960"
+       y="495.49466"
+       x="114.42955"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="495.49466"
+         x="114.42955"
+         id="tspan2962"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text2964"
+       y="516.79468"
+       x="126.88751"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3018"
+         x="126.88751"
+         y="516.79468">A2</tspan></text>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect2970"
+       width="62.568695"
+       height="54.581161"
+       x="106.49989"
+       y="542.93781"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="114.42955"
+       y="566.93835"
+       id="text2974"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan2976"
+         x="114.42955"
+         y="566.93835">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="126.88751"
+       y="588.23834"
+       id="text2978"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3040"
+         x="126.88751"
+         y="588.23834">A3</tspan></text>
+    <rect
+       ry="0"
+       y="614.38141"
+       x="106.49989"
+       height="54.581161"
+       width="62.568695"
+       id="rect2984"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text2988"
+       y="638.38196"
+       x="114.42955"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="638.38196"
+         x="114.42955"
+         id="tspan2990"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text2992"
+       y="659.68195"
+       x="126.88751"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3042"
+         x="126.88751"
+         y="659.68195">A4</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 79.874914,296.213 L 79.874914,326.83172"
+       id="path2996" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 90.524902,388.06915 C 85.442028,403.37176 95.420905,411.5033 105.16864,424.01286"
+       id="path3000"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 82.537411,389.4004 C 77.419162,441.79407 81.801856,464.47336 103.83739,495.90028"
+       id="path3002"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 71.887422,389.4004 C 62.3162,464.27336 66.595451,538.86154 105.16864,573.1127"
+       id="path3004"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 59.906185,384.0754 C 30.833264,497.98462 73.280777,611.91471 105.16864,643.66887"
+       id="path3006"
+       sodipodi:nodetypes="cc" />
+    <g
+       transform="translate(114.1248,-13.31249)"
+       id="g3090">
+      <path
+         transform="matrix(0.923205,0,0,0.923205,-463.3983,190.6491)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3092"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3094"
+         y="377.10425"
+         x="84.763"
+         style="font-size:14.77128029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3096"
+           x="84.763"
+           y="377.10425">FEC</tspan></text>
+    </g>
+    <rect
+       ry="0"
+       y="400.05042"
+       x="237.04271"
+       height="54.581161"
+       width="62.568695"
+       id="rect3098"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text3100"
+       y="424.05099"
+       x="244.97237"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="424.05099"
+         x="244.97237"
+         id="tspan3102"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text3104"
+       y="445.35098"
+       x="257.43033"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3266"
+         x="257.43033"
+         y="445.35098">B1</tspan></text>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3108"
+       width="62.568695"
+       height="54.581161"
+       x="237.04271"
+       y="471.49408"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="244.97237"
+       y="495.49466"
+       id="text3110"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3112"
+         x="244.97237"
+         y="495.49466">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="257.43033"
+       y="516.79468"
+       id="text3114"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3268"
+         x="257.43033"
+         y="516.79468">B2</tspan></text>
+    <rect
+       ry="0"
+       y="542.93781"
+       x="237.04271"
+       height="54.581161"
+       width="62.568695"
+       id="rect3118"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text3120"
+       y="566.93835"
+       x="244.97237"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="566.93835"
+         x="244.97237"
+         id="tspan3122"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text3124"
+       y="588.23834"
+       x="257.43033"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3270"
+         x="257.43033"
+         y="588.23834">B3</tspan></text>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3128"
+       width="62.568695"
+       height="54.581161"
+       x="237.04271"
+       y="614.38141"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="244.97237"
+       y="638.38196"
+       id="text3130"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3132"
+         x="244.97237"
+         y="638.38196">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="257.43033"
+       y="659.68195"
+       id="text3134"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3272"
+         x="257.43033"
+         y="659.68195">B4</tspan></text>
+    <path
+       id="path3138"
+       d="M 210.41773,296.213 L 210.41773,326.83172"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3140"
+       d="M 221.06772,388.06915 C 215.98484,403.37176 225.96372,411.5033 235.71146,424.01286"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3142"
+       d="M 213.08023,389.4004 C 207.96198,441.79407 212.34467,464.47336 234.38021,495.90028"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3144"
+       d="M 202.43024,389.4004 C 192.85902,464.27336 197.13827,538.86154 235.71146,573.1127"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3146"
+       d="M 190.449,384.0754 C 161.37608,497.98462 203.82359,611.91471 235.71146,643.66887"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <g
+       id="g3148"
+       transform="translate(241.4443,-13.31249)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3150"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.923205,0,0,0.923205,-463.3983,190.6491)" />
+      <text
+         xml:space="preserve"
+         style="font-size:14.77128029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="84.763"
+         y="377.10425"
+         id="text3152"
+         sodipodi:linespacing="100%"><tspan
+           y="377.10425"
+           x="84.763"
+           id="tspan3154"
+           sodipodi:role="line">FEC</tspan></text>
+    </g>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3156"
+       width="62.568695"
+       height="54.581161"
+       x="364.36224"
+       y="400.05042"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="372.2919"
+       y="424.05099"
+       id="text3158"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3160"
+         x="372.2919"
+         y="424.05099">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="384.74988"
+       y="445.35098"
+       id="text3162"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3274"
+         x="384.74988"
+         y="445.35098">C1</tspan></text>
+    <rect
+       ry="0"
+       y="471.49408"
+       x="364.36224"
+       height="54.581161"
+       width="62.568695"
+       id="rect3166"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text3168"
+       y="495.49466"
+       x="372.2919"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="495.49466"
+         x="372.2919"
+         id="tspan3170"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text3172"
+       y="516.79468"
+       x="384.74988"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3278"
+         x="384.74988"
+         y="516.79468">C2</tspan></text>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3176"
+       width="62.568695"
+       height="54.581161"
+       x="364.36224"
+       y="542.93781"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="372.2919"
+       y="566.93835"
+       id="text3178"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3180"
+         x="372.2919"
+         y="566.93835">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="384.74988"
+       y="588.23834"
+       id="text3182"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3280"
+         x="384.74988"
+         y="588.23834">C3</tspan></text>
+    <rect
+       ry="0"
+       y="614.38141"
+       x="364.36224"
+       height="54.581161"
+       width="62.568695"
+       id="rect3186"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text3188"
+       y="638.38196"
+       x="372.2919"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="638.38196"
+         x="372.2919"
+         id="tspan3190"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text3192"
+       y="659.68195"
+       x="384.74988"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3282"
+         x="384.74988"
+         y="659.68195">C4</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 337.73727,296.213 L 337.73727,326.83172"
+       id="path3196" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 348.38726,388.06915 C 343.30438,403.37176 353.28326,411.5033 363.031,424.01286"
+       id="path3198"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 340.39977,389.4004 C 335.28152,441.79407 339.66421,464.47336 361.69975,495.90028"
+       id="path3200"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 329.74978,389.4004 C 320.17856,464.27336 324.45781,538.86154 363.031,573.1127"
+       id="path3202"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 317.76854,384.0754 C 288.69562,497.98462 331.14313,611.91471 363.031,643.66887"
+       id="path3204"
+       sodipodi:nodetypes="cc" />
+    <g
+       transform="translate(370.3755,-13.31249)"
+       id="g3207">
+      <path
+         transform="matrix(0.923205,0,0,0.923205,-463.3983,190.6491)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3209"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3211"
+         y="377.10425"
+         x="84.763"
+         style="font-size:14.77128029px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3213"
+           x="84.763"
+           y="377.10425">FEC</tspan></text>
+    </g>
+    <rect
+       ry="0"
+       y="400.05042"
+       x="493.29343"
+       height="54.581161"
+       width="62.568695"
+       id="rect3215"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text3217"
+       y="424.05099"
+       x="501.22308"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="424.05099"
+         x="501.22308"
+         id="tspan3219"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text3221"
+       y="445.35098"
+       x="513.68103"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3284"
+         x="513.68103"
+         y="445.35098">D1</tspan></text>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3225"
+       width="62.568695"
+       height="54.581161"
+       x="493.29343"
+       y="471.49408"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="501.22308"
+       y="495.49466"
+       id="text3227"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3229"
+         x="501.22308"
+         y="495.49466">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="513.68103"
+       y="516.79468"
+       id="text3231"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3286"
+         x="513.68103"
+         y="516.79468">D2</tspan></text>
+    <rect
+       ry="0"
+       y="542.93781"
+       x="493.29343"
+       height="54.581161"
+       width="62.568695"
+       id="rect3235"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text3237"
+       y="566.93835"
+       x="501.22308"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="566.93835"
+         x="501.22308"
+         id="tspan3239"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text3241"
+       y="588.23834"
+       x="513.68103"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3288"
+         x="513.68103"
+         y="588.23834">D3</tspan></text>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3245"
+       width="62.568695"
+       height="54.581161"
+       x="493.29343"
+       y="614.38141"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="501.22308"
+       y="638.38196"
+       id="text3247"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3249"
+         x="501.22308"
+         y="638.38196">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="513.68103"
+       y="659.68195"
+       id="text3251"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3293"
+         x="513.68103"
+         y="659.68195">D4</tspan></text>
+    <path
+       id="path3256"
+       d="M 466.66845,296.213 L 466.66845,326.83172"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3258"
+       d="M 477.31844,388.06915 C 472.23556,403.37176 482.21444,411.5033 491.96218,424.01286"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3260"
+       d="M 469.33095,389.4004 C 464.2127,441.79407 468.59539,464.47336 490.63093,495.90028"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3262"
+       d="M 458.68096,389.4004 C 449.10974,464.27336 453.38899,538.86154 491.96218,573.1127"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="cc"
+       id="path3264"
+       d="M 446.69972,384.0754 C 417.6268,497.98462 460.07431,611.91471 491.96218,643.66887"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3831"
+       width="516.80328"
+       height="103.59095"
+       x="66.758537"
+       y="604.61957" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="80.570648"
+       y="700.15332"
+       id="text3833"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3835"
+         x="80.570648"
+         y="700.15332">share4</tspan></text>
+    <rect
+       style="fill:#ffd5f6;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3837"
+       width="95.533775"
+       height="81.721664"
+       x="631.90411"
+       y="640.30084" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="650.27539"
+       y="660.8269"
+       id="text3839"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3841"
+         x="650.27539"
+         y="660.8269">peer 4</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 582.41071,673.68012 C 631.90411,677.13315 631.90411,677.13315 631.90411,677.13315"
+       id="path3843" />
+  </g>
+</svg>
diff --git a/docs/file-encoding3.svg b/docs/file-encoding3.svg
new file mode 100644 (file)
index 0000000..c18c343
--- /dev/null
@@ -0,0 +1,484 @@
+<?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://web.resource.org/cc/"
+   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="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/warner/work/tahoe-misc"
+   sodipodi:docname="file-encoding3.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path2976"
+         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>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.523584"
+     inkscape:cx="372.04724"
+     inkscape:cy="526.18109"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="900"
+     inkscape:window-height="756"
+     inkscape:window-x="778"
+     inkscape:window-y="96" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g3308"
+       transform="translate(-492.4404,-287.9192)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3297"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text3299"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan3306"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <g
+       transform="translate(-361.8975,-287.9192)"
+       id="g3313">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3315"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3317"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3319"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <g
+       id="g3321"
+       transform="translate(-427.1689,-180.8987)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3323"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text3325"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan3327"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <g
+       transform="translate(-298.6406,-78.23132)"
+       id="g3329">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3331"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3333"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3335"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <g
+       transform="translate(-234.578,-287.9192)"
+       id="g3345">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3347"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3349"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3351"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <g
+       id="g3353"
+       transform="translate(-170.1124,-180.8987)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3355"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text3357"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan3359"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <g
+       transform="translate(-105.6468,-287.9192)"
+       id="g3361">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3363"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3365"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3367"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <rect
+       ry="0"
+       y="47.720215"
+       x="76.855522"
+       height="54.581161"
+       width="62.568695"
+       id="rect2984"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text2988"
+       y="71.720772"
+       x="84.785179"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="71.720772"
+         x="84.785179"
+         id="tspan2990"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text2992"
+       y="93.020752"
+       x="97.243141"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3042"
+         x="97.243141"
+         y="93.020752">A4</tspan></text>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3128"
+       width="62.568695"
+       height="54.581161"
+       x="207.39835"
+       y="47.720215"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="215.328"
+       y="71.720772"
+       id="text3130"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3132"
+         x="215.328"
+         y="71.720772">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="227.78596"
+       y="93.020752"
+       id="text3134"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3272"
+         x="227.78596"
+         y="93.020752">B4</tspan></text>
+    <rect
+       ry="0"
+       y="47.720215"
+       x="334.7179"
+       height="54.581161"
+       width="62.568695"
+       id="rect3186"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text3188"
+       y="71.720772"
+       x="342.64755"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="71.720772"
+         x="342.64755"
+         id="tspan3190"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text3192"
+       y="93.020752"
+       x="355.10553"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3282"
+         x="355.10553"
+         y="93.020752">C4</tspan></text>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3245"
+       width="62.568695"
+       height="54.581161"
+       x="463.64905"
+       y="47.720215"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="471.5787"
+       y="71.720772"
+       id="text3247"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3249"
+         x="471.5787"
+         y="71.720772">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="484.03665"
+       y="93.020752"
+       id="text3251"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3293"
+         x="484.03665"
+         y="93.020752">D4</tspan></text>
+    <rect
+       style="fill:none;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3831"
+       width="516.80328"
+       height="491.99808"
+       x="37.114162"
+       y="37.958374" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="44.343109"
+       y="521.89929"
+       id="text3833"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3835"
+         x="44.343109"
+         y="521.89929">share4</tspan></text>
+    <rect
+       style="fill:#ffd5f6;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3837"
+       width="95.533775"
+       height="81.721664"
+       x="602.25977"
+       y="73.639648" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="620.63104"
+       y="94.16571"
+       id="text3839"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3841"
+         x="620.63104"
+         y="94.16571">peer 4</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 552.76635,107.01893 C 602.25975,110.47196 602.25975,110.47196 602.25975,110.47196"
+       id="path3843" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 106.27121,102.50451 L 108.15211,173.97895"
+       id="path2431" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 238.8751,102.50451 L 237.93464,173.03849"
+       id="path2433" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 366.77673,103.44496 L 366.77673,172.09804"
+       id="path2435" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 495.61881,103.44496 L 495.61881,173.03849"
+       id="path2437" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 489.97609,208.77571 L 438.25116,282.13106"
+       id="path2439" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 370.53854,207.83526 L 420.38255,282.13106"
+       id="path2441" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 236.05374,209.71617 L 183.38836,284.01197"
+       id="path2443" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 110.97347,207.83526 L 164.5793,282.13106"
+       id="path2445" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 178.6861,315.98737 L 289.65957,388.40226"
+       id="path2447" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 426.02527,315.98737 L 316.93271,389.34272"
+       id="path2449" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:blue;stroke-opacity:1"
+       id="rect3336"
+       width="474.92883"
+       height="334.80142"
+       x="61.129456"
+       y="140.12263" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="241.69646"
+       y="263.32199"
+       id="text3338"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3340"
+         x="241.69646"
+         y="263.32199">Merkle Tree</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="68.653069"
+       y="466.45987"
+       id="text3342"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3344"
+         x="68.653069"
+         y="466.45987">subshare hash tree</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="321.63498"
+       y="405.33044"
+       id="text3346"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3352"
+         x="321.63498"
+         y="405.33044">&quot;subshare root hash&quot;</tspan></text>
+  </g>
+</svg>
diff --git a/docs/file-encoding4.svg b/docs/file-encoding4.svg
new file mode 100644 (file)
index 0000000..d2a3ad1
--- /dev/null
@@ -0,0 +1,536 @@
+<?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://web.resource.org/cc/"
+   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="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/warner/work/tahoe-misc"
+   sodipodi:docname="file-encoding4.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path2976"
+         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>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.0116408"
+     inkscape:cx="361.42358"
+     inkscape:cy="705.38017"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="900"
+     inkscape:window-height="756"
+     inkscape:window-x="333"
+     inkscape:window-y="168" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="212.25175"
+       y="109.45165"
+       id="text3632"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3634"
+         x="212.25175"
+         y="109.45165">subshare</tspan><tspan
+         sodipodi:role="line"
+         x="212.25175"
+         y="129.45165"
+         id="tspan3636">root hashes</tspan></text>
+    <g
+       id="g3642"
+       transform="translate(-226.712,-129.0765)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3644"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text3646"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan3648"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <g
+       id="g3675"
+       transform="translate(175.712,7.63966)">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,-233.9701,54.30905)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3331"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3653"
+         y="160.03162"
+         x="68.92907"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="160.03162"
+           x="68.92907"
+           id="tspan3655"
+           sodipodi:role="line">s1</tspan></text>
+    </g>
+    <g
+       id="g3686"
+       transform="translate(175.712,2.282887)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3657"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,-231.4293,132.056)" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="68.029869"
+         y="239.32857"
+         id="text3659"
+         sodipodi:linespacing="100%"><tspan
+           y="239.32857"
+           x="68.029869"
+           id="tspan3680"
+           sodipodi:role="line">s2</tspan></text>
+    </g>
+    <g
+       id="g3691"
+       transform="translate(175.712,0.186429)">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,-229.5194,206.5426)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3663"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3665"
+         y="313.49518"
+         x="70.729767"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="313.49518"
+           x="70.729767"
+           id="tspan3682"
+           sodipodi:role="line">s3</tspan></text>
+    </g>
+    <g
+       id="g3696"
+       transform="translate(175.712,7.639653)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3669"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,-229.5194,271.4796)" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="72.669769"
+         y="377.16217"
+         id="text3671"
+         sodipodi:linespacing="100%"><tspan
+           y="377.16217"
+           x="72.669769"
+           id="tspan3684"
+           sodipodi:role="line">s4</tspan></text>
+    </g>
+    <g
+       transform="translate(-228.8541,-284.0256)"
+       id="g3701">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3703"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3705"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3707"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <g
+       transform="translate(-110.3217,-218.3329)"
+       id="g3709">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3711"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3713"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3715"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 270.6808,165.29588 L 353.51073,189.57362"
+       id="path3717" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 272.10891,234.55883 C 275.67916,233.13073 354.22478,203.14059 354.22478,203.14059"
+       id="path3719" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 274.96511,307.39204 L 356.36693,341.66649"
+       id="path3721" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 275.67916,379.51119 L 355.65288,358.80371"
+       id="path3723" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 390.64138,347.3789 L 473.4713,271.68949"
+       id="path3725" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 389.92733,198.14223 L 472.75725,253.12416"
+       id="path3727" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="82.126266"
+       y="105.04523"
+       id="text4615"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan4617"
+         x="82.126266"
+         y="105.04523">shares</tspan></text>
+    <g
+       id="g4662"
+       transform="translate(0,-7.629395e-6)">
+      <rect
+         ry="0"
+         y="131.23222"
+         x="69.941055"
+         height="62.310936"
+         width="88.076958"
+         id="rect3245"
+         style="fill:#aa87de;fill-opacity:1;stroke:black;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text4619"
+         y="167.66769"
+         x="84.927971"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="167.66769"
+           x="84.927971"
+           id="tspan4621"
+           sodipodi:role="line">share1</tspan></text>
+    </g>
+    <g
+       id="g4657"
+       transform="translate(-0.77298,-0.515305)">
+      <rect
+         style="fill:#aa87de;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="rect4623"
+         width="88.076958"
+         height="62.310936"
+         x="70.714035"
+         y="203.11914"
+         ry="0" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="85.700951"
+         y="239.55461"
+         id="text4625"
+         sodipodi:linespacing="100%"><tspan
+           y="239.55461"
+           x="85.700951"
+           id="tspan4641"
+           sodipodi:role="line">share2</tspan></text>
+    </g>
+    <g
+       id="g4652"
+       transform="translate(-3.864891,1.288307)">
+      <rect
+         ry="0"
+         y="272.68713"
+         x="73.805946"
+         height="62.310936"
+         width="88.076958"
+         id="rect4629"
+         style="fill:#aa87de;fill-opacity:1;stroke:black;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text4631"
+         y="309.12259"
+         x="88.792862"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="309.12259"
+           x="88.792862"
+           id="tspan4643"
+           sodipodi:role="line">share3</tspan></text>
+    </g>
+    <g
+       id="g4647"
+       transform="translate(-4.637871,0)">
+      <rect
+         style="fill:#aa87de;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="rect4635"
+         width="88.076958"
+         height="62.310936"
+         x="74.578926"
+         y="345.34702"
+         ry="0" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="89.565842"
+         y="381.78247"
+         id="text4637"
+         sodipodi:linespacing="100%"><tspan
+           y="381.78247"
+           x="89.565842"
+           id="tspan4645"
+           sodipodi:role="line">share4</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0"
+       d="M 159.23338,161.89201 L 234.98518,160.34605"
+       id="path4667" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0"
+       d="M 159.23338,233.77892 L 236.53114,233.00595"
+       id="path4669" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0"
+       d="M 160.77934,304.11988 L 239.62305,305.66584"
+       id="path4671" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0"
+       d="M 158.4604,374.46084 L 238.85007,377.55275"
+       id="path4673" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:blue;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect5560"
+       width="451.25253"
+       height="376.15237"
+       x="201.65356"
+       y="75.152138" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="320.79318"
+       y="271.27441"
+       id="text3338"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3340"
+         x="320.79318"
+         y="271.27441">Merkle Tree</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="211.74399"
+       y="441.22202"
+       id="text3342"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan7495"
+         x="211.74399"
+         y="441.22202">share hash tree</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="495.05698"
+       y="240.97345"
+       id="text5566"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan5568"
+         x="495.05698"
+         y="240.97345">&quot;share root hash&quot;</tspan></text>
+    <rect
+       style="fill:#d5f6ff;fill-opacity:1;stroke:black;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect8042"
+       width="372.43307"
+       height="126.05428"
+       x="252.10855"
+       y="492.7576" />
+    <text
+       xml:space="preserve"
+       style="font-size:24px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="267.38785"
+       y="521.40631"
+       id="text8044"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan8046"
+         x="267.38785"
+         y="521.40631">URI</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="299.5795"
+       y="561.26575"
+       id="text8048"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan8050"
+         x="299.5795"
+         y="561.26575">fileid</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="295.2998"
+       y="596.57336"
+       id="text8052"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan8054"
+         x="295.2998"
+         y="596.57336">verifierid</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="439.73993"
+       y="598.7132"
+       id="text8056"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan8058"
+         x="439.73993"
+         y="598.7132">encryption key</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="430.11057"
+       y="558.05597"
+       id="text8060"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan8062"
+         x="430.11057"
+         y="558.05597">share root hash</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 491.09641,278.8051 L 506.07538,537.72738"
+       id="path8064" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:black;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect8066"
+       width="64.19561"
+       height="31.027878"
+       x="291.02008"
+       y="538.7973" />
+    <rect
+       y="576.24475"
+       x="291.02008"
+       height="27.818098"
+       width="93.083633"
+       id="rect8068"
+       style="fill:none;fill-opacity:1;stroke:black;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:black;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect8070"
+       width="162.62888"
+       height="31.027878"
+       x="420.48123"
+       y="536.65747" />
+    <rect
+       y="574.10492"
+       x="434.39029"
+       height="36.37751"
+       width="148.71983"
+       id="rect8072"
+       style="fill:none;fill-opacity:1;stroke:black;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+  </g>
+</svg>
diff --git a/docs/file-encoding5.svg b/docs/file-encoding5.svg
new file mode 100644 (file)
index 0000000..7a5a78c
--- /dev/null
@@ -0,0 +1,585 @@
+<?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://web.resource.org/cc/"
+   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="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/warner/work/tahoe-misc"
+   sodipodi:docname="file-encoding5.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path2976"
+         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>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.79718499"
+     inkscape:cx="410.02658"
+     inkscape:cy="638.93685"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="900"
+     inkscape:window-height="756"
+     inkscape:window-x="699"
+     inkscape:window-y="165" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="93.755287"
+       y="98.537506"
+       id="text3632"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3634"
+         x="93.755287"
+         y="98.537506">subshare</tspan><tspan
+         sodipodi:role="line"
+         x="93.755287"
+         y="118.53751"
+         id="tspan3636">root hashes</tspan></text>
+    <g
+       id="g3642"
+       transform="translate(-279.7236,-129.0765)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3644"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text3646"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan3648"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <g
+       id="g3675"
+       transform="translate(63.82283,6.080481)">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,-233.9701,54.30905)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3331"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3653"
+         y="160.03162"
+         x="68.92907"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="160.03162"
+           x="68.92907"
+           id="tspan3655"
+           sodipodi:role="line">s1</tspan></text>
+    </g>
+    <g
+       id="g3686"
+       transform="translate(61.28203,2.918364)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3657"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,-231.4293,132.056)" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="68.029869"
+         y="239.32857"
+         id="text3659"
+         sodipodi:linespacing="100%"><tspan
+           y="239.32857"
+           x="68.029869"
+           id="tspan3680"
+           sodipodi:role="line">s2</tspan></text>
+    </g>
+    <g
+       id="g3691"
+       transform="translate(59.37213,3.016624)">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,-229.5194,206.5426)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3663"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3665"
+         y="313.49518"
+         x="70.729767"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="313.49518"
+           x="70.729767"
+           id="tspan3682"
+           sodipodi:role="line">s3</tspan></text>
+    </g>
+    <g
+       id="g3696"
+       transform="translate(59.37213,12.6645)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3669"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,-229.5194,271.4796)" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="72.669769"
+         y="377.16217"
+         id="text3671"
+         sodipodi:linespacing="100%"><tspan
+           y="377.16217"
+           x="72.669769"
+           id="tspan3684"
+           sodipodi:role="line">s4</tspan></text>
+    </g>
+    <g
+       transform="translate(-281.8657,-284.0256)"
+       id="g3701">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3703"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3705"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3707"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <g
+       transform="translate(-104.085,-218.3329)"
+       id="g3709">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3711"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3713"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3715"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 158.42099,162.17755 L 300.49915,189.57362"
+       id="path3717"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 162.96742,234.55883 C 166.53767,233.13073 301.2132,203.14059 301.2132,203.14059"
+       id="path3719"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 162.7053,312.06953 L 303.35535,341.66649"
+       id="path3721"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 160.30102,384.18868 L 302.6413,358.80371"
+       id="path3723"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 340.74813,350.49723 L 479.70796,268.57116"
+       id="path3725"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 341.59324,198.14223 L 480.55307,259.36082"
+       id="path3727"
+       sodipodi:nodetypes="cc" />
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="387.9295"
+       y="82.614281"
+       id="text3342"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan7297"
+         x="387.9295"
+         y="82.614281">share hash tree</tspan></text>
+    <g
+       transform="translate(-277.1965,175.8469)"
+       id="g6278">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path6280"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text6282"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan6284"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <g
+       id="g6374"
+       transform="translate(0,-6.583939)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path6288"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,-170.1473,365.3129)" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="130.1619"
+         y="471.03552"
+         id="text6290"
+         sodipodi:linespacing="100%"><tspan
+           y="471.03552"
+           x="130.1619"
+           id="tspan6366"
+           sodipodi:role="line">s5</tspan></text>
+    </g>
+    <g
+       id="g6379"
+       transform="translate(0,-4.389282)">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,-170.1473,437.7031)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path6296"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text6298"
+         y="544.97565"
+         x="130.2619"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="544.97565"
+           x="130.2619"
+           id="tspan6368"
+           sodipodi:role="line">s6</tspan></text>
+    </g>
+    <g
+       id="g6384"
+       transform="translate(0,-2.194656)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path6304"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,-170.1473,510.0933)" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="132.1519"
+         y="617.0459"
+         id="text6306"
+         sodipodi:linespacing="100%"><tspan
+           y="617.0459"
+           x="132.1519"
+           id="tspan6370"
+           sodipodi:role="line">s7</tspan></text>
+    </g>
+    <g
+       id="g6389">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,-170.1473,582.4835)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path6312"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text6314"
+         y="688.16608"
+         x="130.03189"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="688.16608"
+           x="130.03189"
+           id="tspan6372"
+           sodipodi:role="line">s8</tspan></text>
+    </g>
+    <g
+       id="g6318"
+       transform="translate(-279.3386,20.89783)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path6320"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text6322"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan6324"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <g
+       id="g6326"
+       transform="translate(-101.5579,86.59053)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path6328"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text6330"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan6332"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <path
+       id="path6334"
+       d="M 160.94817,457.746 L 303.02633,494.49705"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       sodipodi:nodetypes="cc" />
+    <path
+       id="path6336"
+       d="M 162.37628,533.2456 C 165.94653,531.8175 303.74038,508.06402 303.74038,508.06402"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       sodipodi:nodetypes="cc" />
+    <path
+       id="path6338"
+       d="M 162.11415,609.19714 L 305.88253,646.58992"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       sodipodi:nodetypes="cc" />
+    <path
+       id="path6340"
+       d="M 162.8282,682.87546 L 305.16848,663.72714"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       sodipodi:nodetypes="cc" />
+    <path
+       id="path6342"
+       d="M 343.27531,653.86149 L 482.23514,575.05376"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       sodipodi:nodetypes="cc" />
+    <path
+       id="path6344"
+       d="M 341.0021,499.94733 L 481.52109,562.72508"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       sodipodi:nodetypes="cc" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text6346"
+       y="424.95895"
+       x="480.79593"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="424.95895"
+         x="480.79593"
+         id="tspan6348"
+         sodipodi:role="line">Merkle Tree</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text6350"
+       y="384.32007"
+       x="593.30579"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="384.32007"
+         x="593.30579"
+         id="tspan6352"
+         sodipodi:role="line">&quot;share root hash&quot;</tspan></text>
+    <g
+       id="g6396"
+       transform="translate(65.86388,-62.41649)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path6398"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text6400"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan6402"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <path
+       id="path6404"
+       d="M 516.21962,265.18629 L 653.62028,407.4814"
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 516.21962,558.30913 L 653.62028,429.30971"
+       id="path6406"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0"
+       d="M 88.872351,202.61777 L 183.98136,204.17694 L 352.37108,321.11424 L 570.65404,564.34383 L 498.9325,650.09786 L 291.56368,394.39495 L 162.15306,280.57598 L 79.517367,263.42517 L 88.872351,202.61777 z "
+       id="path6408" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="430.70282"
+       y="734.79639"
+       id="text7299"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan7301"
+         x="430.70282"
+         y="734.79639">merkle hash chain</tspan><tspan
+         sodipodi:role="line"
+         x="430.70282"
+         y="754.79639"
+         id="tspan7303">to validate s1</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 519.99961,716.92402 C 528.23607,699.12899 558.20121,653.69346 528.55661,615.79625"
+       id="path7305"
+       sodipodi:nodetypes="cc" />
+  </g>
+</svg>
diff --git a/docs/file-encoding6.svg b/docs/file-encoding6.svg
new file mode 100644 (file)
index 0000000..f15ee49
--- /dev/null
@@ -0,0 +1,760 @@
+<?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://web.resource.org/cc/"
+   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="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/warner/work/tahoe-misc"
+   sodipodi:docname="file-encoding6.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path2976"
+         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>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.60354902"
+     inkscape:cx="367.4898"
+     inkscape:cy="564.16839"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="900"
+     inkscape:window-height="756"
+     inkscape:window-x="732"
+     inkscape:window-y="176" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g3308"
+       transform="translate(-492.4404,-287.9192)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3297"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text3299"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan3306"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <g
+       transform="translate(-361.8975,-287.9192)"
+       id="g3313">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3315"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3317"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3319"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <g
+       id="g3321"
+       transform="translate(-427.1689,-180.8987)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3323"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text3325"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan3327"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <g
+       transform="translate(-234.578,-287.9192)"
+       id="g3345">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3347"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3349"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3351"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <g
+       id="g3353"
+       transform="translate(-170.1124,-180.8987)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3355"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text3357"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan3359"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <g
+       transform="translate(-105.6468,-287.9192)"
+       id="g3361">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3363"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3365"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3367"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <rect
+       ry="0"
+       y="47.720215"
+       x="76.855522"
+       height="54.581161"
+       width="62.568695"
+       id="rect2984"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text2988"
+       y="71.720772"
+       x="84.785179"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="71.720772"
+         x="84.785179"
+         id="tspan2990"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text2992"
+       y="93.020752"
+       x="97.243141"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3042"
+         x="97.243141"
+         y="93.020752">A4</tspan></text>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3128"
+       width="62.568695"
+       height="54.581161"
+       x="207.39835"
+       y="47.720215"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="215.328"
+       y="71.720772"
+       id="text3130"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3132"
+         x="215.328"
+         y="71.720772">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="227.78596"
+       y="93.020752"
+       id="text3134"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3272"
+         x="227.78596"
+         y="93.020752">B4</tspan></text>
+    <rect
+       ry="0"
+       y="47.720215"
+       x="334.7179"
+       height="54.581161"
+       width="62.568695"
+       id="rect3186"
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1" />
+    <text
+       sodipodi:linespacing="100%"
+       id="text3188"
+       y="71.720772"
+       x="342.64755"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         y="71.720772"
+         x="342.64755"
+         id="tspan3190"
+         sodipodi:role="line">share</tspan></text>
+    <text
+       sodipodi:linespacing="100%"
+       id="text3192"
+       y="93.020752"
+       x="355.10553"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       xml:space="preserve"><tspan
+         sodipodi:role="line"
+         id="tspan3282"
+         x="355.10553"
+         y="93.020752">C4</tspan></text>
+    <rect
+       style="fill:#e3d7f4;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3245"
+       width="62.568695"
+       height="54.581161"
+       x="463.64905"
+       y="47.720215"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="471.5787"
+       y="71.720772"
+       id="text3247"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3249"
+         x="471.5787"
+         y="71.720772">share</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="484.03665"
+       y="93.020752"
+       id="text3251"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3293"
+         x="484.03665"
+         y="93.020752">D4</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="479.80331"
+       y="521.89929"
+       id="text3833"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3835"
+         x="479.80331"
+         y="521.89929">share4</tspan></text>
+    <rect
+       style="fill:#ffd5f6;fill-opacity:1;stroke:black;stroke-opacity:1"
+       id="rect3837"
+       width="95.533775"
+       height="81.721664"
+       x="608.88721"
+       y="272.46359" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="627.25848"
+       y="292.98965"
+       id="text3839"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3841"
+         x="627.25848"
+         y="292.98965">peer 4</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 559.39381,305.84288 C 608.88721,309.29591 608.88721,309.29591 608.88721,309.29591"
+       id="path3843" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 106.27121,102.50451 L 108.15211,173.97895"
+       id="path2431" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 238.8751,102.50451 L 237.93464,173.03849"
+       id="path2433" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 366.77673,103.44496 L 366.77673,172.09804"
+       id="path2435" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 495.61881,103.44496 L 495.61881,173.03849"
+       id="path2437" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 489.97609,208.77571 L 438.25116,282.13106"
+       id="path2439" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 370.53854,207.83526 L 420.38255,282.13106"
+       id="path2441" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 236.05374,209.71617 L 183.38836,284.01197"
+       id="path2443" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 110.97347,207.83526 L 164.5793,282.13106"
+       id="path2445" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 178.6861,315.98737 L 289.65957,388.40226"
+       id="path2447" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 426.02527,315.98737 L 316.93271,389.34272"
+       id="path2449" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:blue;stroke-opacity:1"
+       id="rect3336"
+       width="474.92883"
+       height="334.80142"
+       x="61.129456"
+       y="140.12263" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="241.69646"
+       y="263.32199"
+       id="text3338"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3340"
+         x="241.69646"
+         y="263.32199">Merkle Tree</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="68.653069"
+       y="466.45987"
+       id="text3342"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3344"
+         x="68.653069"
+         y="466.45987">subshare hash tree</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="321.63498"
+       y="405.33044"
+       id="text3346"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3352"
+         x="321.63498"
+         y="405.33044">&quot;subshare root hash&quot;</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="88.648125"
+       y="598.72913"
+       id="text3632"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3634"
+         x="88.648125"
+         y="598.72913">subshare</tspan><tspan
+         sodipodi:role="line"
+         x="88.648125"
+         y="618.72913"
+         id="tspan3636">root hashes</tspan></text>
+    <g
+       id="g3642"
+       transform="translate(-350.3156,360.201)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3644"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)" />
+      <text
+         xml:space="preserve"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="591.47559"
+         y="483.09396"
+         id="text3646"
+         sodipodi:linespacing="100%"><tspan
+           y="483.09396"
+           x="591.47559"
+           id="tspan3648"
+           sodipodi:role="line">SHA</tspan></text>
+    </g>
+    <g
+       id="g3675"
+       transform="translate(52.10837,496.9171)">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,-233.9701,54.30905)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path5669"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3653"
+         y="160.03162"
+         x="68.92907"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="160.03162"
+           x="68.92907"
+           id="tspan3655"
+           sodipodi:role="line">s1</tspan></text>
+    </g>
+    <g
+       id="g3686"
+       transform="translate(52.10837,491.5603)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3657"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,-231.4293,132.056)" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="68.029869"
+         y="239.32857"
+         id="text3659"
+         sodipodi:linespacing="100%"><tspan
+           y="239.32857"
+           x="68.029869"
+           id="tspan3680"
+           sodipodi:role="line">s2</tspan></text>
+    </g>
+    <g
+       id="g3691"
+       transform="translate(52.10837,489.4639)">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,-229.5194,206.5426)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3663"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3665"
+         y="313.49518"
+         x="70.729767"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="313.49518"
+           x="70.729767"
+           id="tspan3682"
+           sodipodi:role="line">s3</tspan></text>
+    </g>
+    <g
+       id="g3696"
+       transform="translate(52.10837,496.9171)">
+      <path
+         sodipodi:type="arc"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         id="path3669"
+         sodipodi:cx="607.56927"
+         sodipodi:cy="196.10106"
+         sodipodi:rx="34.958466"
+         sodipodi:ry="34.073441"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         transform="matrix(0.511994,0,0,0.511994,-229.5194,271.4796)" />
+      <text
+         xml:space="preserve"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         x="72.669769"
+         y="377.16217"
+         id="text3671"
+         sodipodi:linespacing="100%"><tspan
+           y="377.16217"
+           x="72.669769"
+           id="tspan3684"
+           sodipodi:role="line">s4</tspan></text>
+    </g>
+    <g
+       transform="translate(-352.4577,205.2519)"
+       id="g3701">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3703"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3705"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3707"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <g
+       transform="translate(-233.9253,270.9446)"
+       id="g3709">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,289.5084,379.3664)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path3711"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3713"
+         y="483.09396"
+         x="591.47559"
+         style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan3715"
+           x="591.47559"
+           y="483.09396">SHA</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 147.07717,654.57336 L 229.9071,678.8511"
+       id="path3717" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 148.50528,723.83631 C 152.07553,722.40821 230.62115,692.41807 230.62115,692.41807"
+       id="path3719" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 151.36148,796.66952 L 232.7633,830.94397"
+       id="path3721" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 152.07553,868.78867 L 232.04925,848.08119"
+       id="path3723" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 267.03775,836.65638 L 349.86767,760.96697"
+       id="path3725" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 266.3237,687.41971 L 349.15362,742.40164"
+       id="path3727" />
+    <rect
+       style="fill:none;fill-opacity:1;stroke:blue;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect5560"
+       width="484.38986"
+       height="374.49551"
+       x="78.049934"
+       y="564.42963" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="358.2843"
+       y="865.40643"
+       id="text5700"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan5702"
+         x="358.2843"
+         y="865.40643">Merkle Tree</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:blue;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="88.140358"
+       y="930.49945"
+       id="text5704"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan7497"
+         x="88.140358"
+         y="930.49945">share hash tree</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="356.4744"
+       y="786.95703"
+       id="text5566"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan5568"
+         x="356.4744"
+         y="786.95703">&quot;share root hash&quot;</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0"
+       d="M 290.30681,720.03728 L 108.29659,845.9841 L 74.309836,804.80832 L 190.42285,712.9661 L 239.36655,641.22131 L 299.69,669.98266 L 290.30681,720.03728 z "
+       id="path5949"
+       sodipodi:nodetypes="ccccccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 32.468525,28.648698 L 557.69466,30.558611 L 561.51449,540.50544 L 374.34299,540.50544 L 296.03655,725.76702 L 80.216355,869.01051 L 30.558611,817.44286 L 164.25254,727.67694 L 234.91933,590.16318 L 219.64002,534.7757 L 36.288351,534.7757 L 32.468525,28.648698 z "
+       id="path5951" />
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="370.89407"
+       y="630.30597"
+       id="text7307"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan7499"
+         x="370.89407"
+         y="630.30597">merkle hash chain</tspan><tspan
+         sodipodi:role="line"
+         id="tspan7501"
+         x="370.89407"
+         y="650.30597">to validate s4</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 444.20214,656.77444 C 435.69736,681.11928 360.49372,712.77648 296.54955,691.10088"
+       id="path7317"
+       sodipodi:nodetypes="cc" />
+    <g
+       transform="translate(221.2501,29.91837)"
+       id="g7322">
+      <path
+         transform="matrix(0.511994,0,0,0.511994,-229.5194,271.4796)"
+         d="M 642.52774 196.10106 A 34.958466 34.073441 0 1 1  572.61081,196.10106 A 34.958466 34.073441 0 1 1  642.52774 196.10106 z"
+         sodipodi:ry="34.073441"
+         sodipodi:rx="34.958466"
+         sodipodi:cy="196.10106"
+         sodipodi:cx="607.56927"
+         id="path7324"
+         style="fill:#ffe6d5;fill-opacity:1;stroke:black;stroke-opacity:1"
+         sodipodi:type="arc" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text7326"
+         y="377.16217"
+         x="72.669769"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           sodipodi:role="line"
+           id="tspan7328"
+           x="72.669769"
+           y="377.16217">s4</tspan></text>
+    </g>
+  </g>
+</svg>
diff --git a/docs/subtree1.svg b/docs/subtree1.svg
new file mode 100644 (file)
index 0000000..4443f94
--- /dev/null
@@ -0,0 +1,337 @@
+<?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://web.resource.org/cc/"
+   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="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/warner/work/tahoe-misc"
+   sodipodi:docname="subtree1.svg"
+   inkscape:export-filename="/home/warner/work/tahoe-misc/subtree1.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path3885"
+         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>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.97022059"
+     inkscape:cx="374.28571"
+     inkscape:cy="700.31901"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="900"
+     inkscape:window-height="892"
+     inkscape:window-x="688"
+     inkscape:window-y="82" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1872"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       transform="translate(200.9852,-1.030697)" />
+    <path
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       sodipodi:ry="46.381207"
+       sodipodi:rx="47.927246"
+       sodipodi:cy="122.6767"
+       sodipodi:cx="140.68965"
+       id="path1874"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       sodipodi:type="arc"
+       transform="translate(156.6654,151.5119)" />
+    <path
+       transform="translate(338.0674,147.3891)"
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1876"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z" />
+    <path
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       sodipodi:ry="46.381207"
+       sodipodi:rx="47.927246"
+       sodipodi:cy="122.6767"
+       sodipodi:cx="140.68965"
+       id="path1878"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       sodipodi:type="arc"
+       transform="translate(247.3663,326.7297)" />
+    <path
+       transform="translate(414.3386,322.6069)"
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1880"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z" />
+    <g
+       id="g2783">
+      <rect
+         y="397.74335"
+         x="115.30916"
+         height="78.589722"
+         width="113.63329"
+         id="rect1882"
+         style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text2775"
+         y="423.63919"
+         x="145.32777"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+         xml:space="preserve"><tspan
+           y="423.63919"
+           x="145.32777"
+           id="tspan2777"
+           sodipodi:role="line">File</tspan></text>
+      <text
+         sodipodi:linespacing="100%"
+         id="text2779"
+         y="460.74414"
+         x="119.56045"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+         xml:space="preserve"><tspan
+           y="460.74414"
+           x="119.56045"
+           id="tspan2781"
+           sodipodi:role="line">CHK: URI...</tspan></text>
+    </g>
+    <g
+       id="g2790"
+       transform="translate(131.9288,183.4634)">
+      <rect
+         style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1"
+         id="rect2792"
+         width="113.63329"
+         height="78.589722"
+         x="115.30916"
+         y="397.74335" />
+      <text
+         xml:space="preserve"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+         x="145.32777"
+         y="423.63919"
+         id="text2794"
+         sodipodi:linespacing="100%"><tspan
+           sodipodi:role="line"
+           id="tspan2796"
+           x="145.32777"
+           y="423.63919">File</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+         x="119.56045"
+         y="460.74414"
+         id="text2798"
+         sodipodi:linespacing="100%"><tspan
+           sodipodi:role="line"
+           id="tspan2800"
+           x="119.56045"
+           y="460.74414">CHK: URI...</tspan></text>
+    </g>
+    <g
+       transform="translate(316.4229,191.7089)"
+       id="g2802">
+      <rect
+         y="397.74335"
+         x="115.30916"
+         height="78.589722"
+         width="113.63329"
+         id="rect2804"
+         style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text2806"
+         y="423.63919"
+         x="145.32777"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+         xml:space="preserve"><tspan
+           y="423.63919"
+           x="145.32777"
+           id="tspan2808"
+           sodipodi:role="line">File</tspan></text>
+      <text
+         sodipodi:linespacing="100%"
+         id="text2810"
+         y="460.74414"
+         x="119.56045"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+         xml:space="preserve"><tspan
+           y="460.74414"
+           x="119.56045"
+           id="tspan2812"
+           sodipodi:role="line">CHK: URI...</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 324.66844,166.99651 C 320.54566,168.02721 308.17734,227.80743 308.17734,227.80743"
+       id="path2814" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 375.17241,158.75097 L 443.19818,233.99159"
+       id="path2816" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 264.88822,311.2936 L 176.24858,394.77977"
+       id="path2818" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 458.65858,316.44706 L 419.49223,407.14808"
+       id="path2820"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 371.04964,494.75703 L 309.20803,576.18181"
+       id="path2826" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 413.30807,491.66495 L 478.24176,583.39667"
+       id="path2828" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 500.91701,314.38568 L 532.86851,400.96393"
+       id="path3897" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="324.66843"
+       y="197.91731"
+       id="text3899"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3901"
+         x="324.66843"
+         y="197.91731">foo</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="400.93976"
+       y="177.30345"
+       id="text3907"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3909"
+         x="400.93976"
+         y="177.30345">bar</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="225.72186"
+       y="373.13519"
+       id="text3911"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3913"
+         x="225.72186"
+         y="373.13519">baz.jpg</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="351.46646"
+       y="350.45993"
+       id="text3915"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3917"
+         x="351.46646"
+         y="350.45993">My Music</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="518.43878"
+       y="348.39856"
+       id="text3919"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3921"
+         x="518.43878"
+         y="348.39856">My Stuff</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="333.94467"
+       y="557.62933"
+       id="text3923"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3925"
+         x="333.94467"
+         y="557.62933">cool.mp3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="451.44376"
+       y="543.19965"
+       id="text3927"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3929"
+         x="451.44376"
+         y="543.19965">boring.mp3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="313.33081"
+       y="108.24699"
+       id="text3931"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3933"
+         x="313.33081"
+         y="108.24699">ROOT</tspan></text>
+  </g>
+</svg>
diff --git a/docs/subtree2.svg b/docs/subtree2.svg
new file mode 100644 (file)
index 0000000..8cb1446
--- /dev/null
@@ -0,0 +1,361 @@
+<?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://web.resource.org/cc/"
+   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="744.09448819"
+   height="1052.3622047"
+   id="svg3953"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/warner/work/tahoe-misc"
+   sodipodi:docname="subtree2.svg"
+   inkscape:export-filename="/home/warner/work/tahoe-misc/subtree2.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs3955">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path3885"
+         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>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.53205645"
+     inkscape:cx="358.57143"
+     inkscape:cy="634.28571"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="900"
+     inkscape:window-height="812"
+     inkscape:window-x="150"
+     inkscape:window-y="154" />
+  <metadata
+     id="metadata3958">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1872"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       transform="translate(210.36,28.31376)" />
+    <path
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       sodipodi:ry="46.381207"
+       sodipodi:rx="47.927246"
+       sodipodi:cy="122.6767"
+       sodipodi:cx="140.68965"
+       id="path1874"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       sodipodi:type="arc"
+       transform="translate(166.0402,180.8564)" />
+    <path
+       transform="translate(347.4422,176.7336)"
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1876"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z" />
+    <path
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       sodipodi:ry="46.381207"
+       sodipodi:rx="47.927246"
+       sodipodi:cy="122.6767"
+       sodipodi:cx="140.68965"
+       id="path1878"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       sodipodi:type="arc"
+       transform="translate(256.7411,356.0742)" />
+    <path
+       transform="translate(423.7134,351.9514)"
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1880"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z" />
+    <g
+       id="g2783"
+       transform="translate(-54.52828,42.50096)">
+      <rect
+         y="397.74335"
+         x="115.30916"
+         height="78.589722"
+         width="113.63329"
+         id="rect1882"
+         style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text2775"
+         y="423.63919"
+         x="145.32777"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+         xml:space="preserve"><tspan
+           y="423.63919"
+           x="145.32777"
+           id="tspan2777"
+           sodipodi:role="line">File</tspan></text>
+      <text
+         sodipodi:linespacing="100%"
+         id="text2779"
+         y="460.74414"
+         x="119.56045"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+         xml:space="preserve"><tspan
+           y="460.74414"
+           x="119.56045"
+           id="tspan2781"
+           sodipodi:role="line">CHK: URI...</tspan></text>
+    </g>
+    <g
+       id="g2790"
+       transform="translate(141.3036,212.8079)">
+      <rect
+         style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1"
+         id="rect2792"
+         width="113.63329"
+         height="78.589722"
+         x="115.30916"
+         y="397.74335" />
+      <text
+         xml:space="preserve"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+         x="145.32777"
+         y="423.63919"
+         id="text2794"
+         sodipodi:linespacing="100%"><tspan
+           sodipodi:role="line"
+           id="tspan2796"
+           x="145.32777"
+           y="423.63919">File</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+         x="119.56045"
+         y="460.74414"
+         id="text2798"
+         sodipodi:linespacing="100%"><tspan
+           sodipodi:role="line"
+           id="tspan2800"
+           x="119.56045"
+           y="460.74414">CHK: URI...</tspan></text>
+    </g>
+    <g
+       transform="translate(325.7977,221.0534)"
+       id="g2802">
+      <rect
+         y="397.74335"
+         x="115.30916"
+         height="78.589722"
+         width="113.63329"
+         id="rect2804"
+         style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text2806"
+         y="423.63919"
+         x="145.32777"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+         xml:space="preserve"><tspan
+           y="423.63919"
+           x="145.32777"
+           id="tspan2808"
+           sodipodi:role="line">File</tspan></text>
+      <text
+         sodipodi:linespacing="100%"
+         id="text2810"
+         y="460.74414"
+         x="119.56045"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+         xml:space="preserve"><tspan
+           y="460.74414"
+           x="119.56045"
+           id="tspan2812"
+           sodipodi:role="line">CHK: URI...</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 334.04328,196.34099 C 329.9205,197.37169 317.55218,257.15191 317.55218,257.15191"
+       id="path2814" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 384.54725,188.09545 L 452.57302,263.33607"
+       id="path2816" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 274.26306,340.63808 L 132.99743,437.28075"
+       id="path2818"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 468.03342,345.79154 L 428.86707,436.49256"
+       id="path2820"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 380.42448,524.10151 L 318.58287,605.52629"
+       id="path2826" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 422.68291,521.00943 L 487.6166,612.74115"
+       id="path2828" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 510.29185,343.73016 L 542.24335,430.30841"
+       id="path3897" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="334.04327"
+       y="227.2618"
+       id="text3899"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3901"
+         x="334.04327"
+         y="227.2618">foo</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="410.31458"
+       y="206.64793"
+       id="text3907"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3909"
+         x="410.31458"
+         y="206.64793">bar</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="221.9402"
+       y="396.84119"
+       id="text3911"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3913"
+         x="221.9402"
+         y="396.84119">baz.jpg</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="360.84131"
+       y="379.80441"
+       id="text3915"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3917"
+         x="360.84131"
+         y="379.80441">My Music</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="527.8136"
+       y="377.74304"
+       id="text3919"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3921"
+         x="527.8136"
+         y="377.74304">My Stuff</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="343.31952"
+       y="586.97382"
+       id="text3923"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3925"
+         x="343.31952"
+         y="586.97382">cool.mp3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="460.8186"
+       y="572.54413"
+       id="text3927"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3929"
+         x="460.8186"
+         y="572.54413">boring.mp3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="352.77762"
+       y="28.580473"
+       id="text3931"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3933"
+         x="352.77762"
+         y="28.580473">ROOT</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 289.44298,63.745282 L 439.80295,63.745283 L 627.75293,206.58726 L 633.39143,597.52323 L 204.86548,595.64373 L 201.10648,214.10527 L 289.44298,63.745282 z "
+       id="path4103"
+       sodipodi:nodetypes="ccccccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 383.41796,39.311785 L 355.22546,101.33528"
+       id="path4105"
+       sodipodi:nodetypes="cc" />
+    <text
+       xml:space="preserve"
+       style="font-size:19.99997711px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+       x="423.5351"
+       y="-211.85814"
+       id="text5000"
+       sodipodi:linespacing="100%"
+       transform="matrix(0.775814,0.630961,-0.630961,0.775814,0,0)"><tspan
+         sodipodi:role="line"
+         id="tspan5002"
+         x="423.5351"
+         y="-211.85814">CHK: URI...</tspan></text>
+  </g>
+</svg>
diff --git a/docs/subtree3.svg b/docs/subtree3.svg
new file mode 100644 (file)
index 0000000..423a058
--- /dev/null
@@ -0,0 +1,393 @@
+<?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://web.resource.org/cc/"
+   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="744.09448819"
+   height="1052.3622047"
+   id="svg3953"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/warner/work/tahoe-misc"
+   sodipodi:docname="subtree3.svg"
+   inkscape:export-filename="/home/warner/work/tahoe-misc/subtree3.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs3955">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path3885"
+         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>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.72510911"
+     inkscape:cx="337.75291"
+     inkscape:cy="620.04371"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="900"
+     inkscape:window-height="812"
+     inkscape:window-x="460"
+     inkscape:window-y="143" />
+  <metadata
+     id="metadata3958">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1872"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       transform="translate(200.9625,178.6737)" />
+    <path
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       sodipodi:ry="46.381207"
+       sodipodi:rx="47.927246"
+       sodipodi:cy="122.6767"
+       sodipodi:cx="140.68965"
+       id="path1874"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       sodipodi:type="arc"
+       transform="translate(156.6427,331.2164)" />
+    <path
+       transform="translate(338.0447,327.0936)"
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1876"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z" />
+    <path
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       sodipodi:ry="46.381207"
+       sodipodi:rx="47.927246"
+       sodipodi:cy="122.6767"
+       sodipodi:cx="140.68965"
+       id="path1878"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       sodipodi:type="arc"
+       transform="translate(247.3436,506.4342)" />
+    <path
+       transform="translate(414.3159,502.3114)"
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1880"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z" />
+    <g
+       id="g2783"
+       transform="translate(-63.92578,192.8609)">
+      <rect
+         y="397.74335"
+         x="115.30916"
+         height="78.589722"
+         width="113.63329"
+         id="rect1882"
+         style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text2775"
+         y="423.63919"
+         x="145.32777"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+         xml:space="preserve"><tspan
+           y="423.63919"
+           x="145.32777"
+           id="tspan2777"
+           sodipodi:role="line">File</tspan></text>
+      <text
+         sodipodi:linespacing="100%"
+         id="text2779"
+         y="460.74414"
+         x="119.56045"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+         xml:space="preserve"><tspan
+           y="460.74414"
+           x="119.56045"
+           id="tspan2781"
+           sodipodi:role="line">CHK: URI...</tspan></text>
+    </g>
+    <g
+       id="g2790"
+       transform="translate(131.9061,363.1679)">
+      <rect
+         style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1"
+         id="rect2792"
+         width="113.63329"
+         height="78.589722"
+         x="115.30916"
+         y="397.74335" />
+      <text
+         xml:space="preserve"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+         x="145.32777"
+         y="423.63919"
+         id="text2794"
+         sodipodi:linespacing="100%"><tspan
+           sodipodi:role="line"
+           id="tspan2796"
+           x="145.32777"
+           y="423.63919">File</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+         x="119.56045"
+         y="460.74414"
+         id="text2798"
+         sodipodi:linespacing="100%"><tspan
+           sodipodi:role="line"
+           id="tspan2800"
+           x="119.56045"
+           y="460.74414">CHK: URI...</tspan></text>
+    </g>
+    <g
+       transform="translate(316.4002,371.4134)"
+       id="g2802">
+      <rect
+         y="397.74335"
+         x="115.30916"
+         height="78.589722"
+         width="113.63329"
+         id="rect2804"
+         style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text2806"
+         y="423.63919"
+         x="145.32777"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+         xml:space="preserve"><tspan
+           y="423.63919"
+           x="145.32777"
+           id="tspan2808"
+           sodipodi:role="line">File</tspan></text>
+      <text
+         sodipodi:linespacing="100%"
+         id="text2810"
+         y="460.74414"
+         x="119.56045"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+         xml:space="preserve"><tspan
+           y="460.74414"
+           x="119.56045"
+           id="tspan2812"
+           sodipodi:role="line">CHK: URI...</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 324.64578,346.70097 C 320.523,347.73167 308.15468,407.51189 308.15468,407.51189"
+       id="path2814" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 375.14975,338.45543 L 443.17552,413.69605"
+       id="path2816" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 264.86556,490.99806 L 123.59993,587.64073"
+       id="path2818"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 458.63592,496.15152 L 419.46957,586.85254"
+       id="path2820"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 371.02698,674.46149 L 309.18537,755.88627"
+       id="path2826" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 413.28541,671.36941 L 478.2191,763.10113"
+       id="path2828" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 500.89435,494.09014 L 532.84585,580.66839"
+       id="path3897" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="324.64578"
+       y="377.62177"
+       id="text3899"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3901"
+         x="324.64578"
+         y="377.62177">foo</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="400.91708"
+       y="357.0079"
+       id="text3907"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3909"
+         x="400.91708"
+         y="357.0079">bar</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="212.54271"
+       y="547.20117"
+       id="text3911"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3913"
+         x="212.54271"
+         y="547.20117">baz.jpg</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="351.44382"
+       y="530.16437"
+       id="text3915"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3917"
+         x="351.44382"
+         y="530.16437">My Music</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="518.41608"
+       y="528.10303"
+       id="text3919"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3921"
+         x="518.41608"
+         y="528.10303">My Stuff</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="333.92203"
+       y="737.3338"
+       id="text3923"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3925"
+         x="333.92203"
+         y="737.3338">cool.mp3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="451.42111"
+       y="722.90411"
+       id="text3927"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3929"
+         x="451.42111"
+         y="722.90411">boring.mp3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="380.07941"
+       y="35.59808"
+       id="text3931"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan6342"
+         x="380.07941"
+         y="35.59808">Local Root</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 280.04548,214.10527 L 430.40545,214.10527 L 618.35543,356.94724 L 623.99393,747.88321 L 195.46798,746.00371 L 191.70898,364.46525 L 280.04548,214.10527 z "
+       id="path4103"
+       sodipodi:nodetypes="ccccccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 374.02046,189.67177 L 345.82796,251.69526"
+       id="path4105"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:type="star"
+       style="fill:#e3f4d7;stroke:black;stroke-opacity:1"
+       id="path4107"
+       sodipodi:sides="5"
+       sodipodi:cx="281.92496"
+       sodipodi:cy="48.709286"
+       sodipodi:r1="87.209602"
+       sodipodi:r2="55.01017"
+       sodipodi:arg1="0.92298489"
+       sodipodi:arg2="1.3307224"
+       inkscape:flatsided="false"
+       inkscape:rounded="0.17092637"
+       inkscape:randomized="0"
+       d="M 334.55095,118.25078 C 329.83663,123.82275 302.30234,102.0004 295.00497,102.14179 C 283.81005,102.35869 242.41388,124.4859 232.04939,120.24909 C 225.29333,117.48733 237.53906,84.557193 235.14958,77.660667 C 231.48387,67.080693 197.64752,34.548283 198.47417,23.38182 C 199.01301,16.102993 234.11557,17.573397 239.93617,13.169723 C 248.86556,6.4140382 269.34971,-35.819307 280.2251,-38.483748 C 287.31418,-40.220557 296.76304,-6.3816588 302.74984,-2.2067532 C 311.93421,4.1979778 358.43046,10.628744 364.32517,20.148493 C 368.16763,26.353913 338.90478,45.797098 336.78423,52.781006 C 333.5311,63.495032 341.78321,109.70281 334.55095,118.25078 z "
+       transform="matrix(0.662796,0,0,0.662796,181.4022,114.6387)" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 424.76696,43.070785 L 374.02046,95.696779"
+       id="path4994"
+       sodipodi:nodetypes="cc" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="328.69116"
+       y="142.68427"
+       id="text4996"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan4998"
+         x="328.69116"
+         y="142.68427">Account</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:19.99999328;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+       x="504.59412"
+       y="-89.438469"
+       id="text5000"
+       sodipodi:linespacing="100%"
+       transform="matrix(0.775814,0.630961,-0.630961,0.775814,0,0)"><tspan
+         sodipodi:role="line"
+         id="tspan5002"
+         x="504.59412"
+         y="-89.438469">CHK: URI...</tspan></text>
+  </g>
+</svg>
diff --git a/docs/subtree4.svg b/docs/subtree4.svg
new file mode 100644 (file)
index 0000000..7c63977
--- /dev/null
@@ -0,0 +1,468 @@
+<?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://web.resource.org/cc/"
+   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="744.09448819"
+   height="1052.3622047"
+   id="svg3953"
+   sodipodi:version="0.32"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/warner/work/tahoe-misc"
+   sodipodi:docname="subtree4.svg"
+   inkscape:export-filename="/home/warner/work/tahoe-misc/subtree4.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs3955">
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;">
+      <path
+         id="path3885"
+         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>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.72510911"
+     inkscape:cx="337.75291"
+     inkscape:cy="559.79495"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     inkscape:window-width="904"
+     inkscape:window-height="914"
+     inkscape:window-x="763"
+     inkscape:window-y="88" />
+  <metadata
+     id="metadata3958">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1872"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       transform="translate(200.9625,178.6737)" />
+    <path
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       sodipodi:ry="46.381207"
+       sodipodi:rx="47.927246"
+       sodipodi:cy="122.6767"
+       sodipodi:cx="140.68965"
+       id="path1874"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       sodipodi:type="arc"
+       transform="translate(156.6427,331.2164)" />
+    <path
+       transform="translate(338.0447,327.0936)"
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1876"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z" />
+    <path
+       transform="translate(414.3159,502.3114)"
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path1880"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z" />
+    <g
+       id="g2783"
+       transform="translate(-63.92578,192.8609)"
+       inkscape:export-filename="/home/warner/work/tahoe-misc/subtree3.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90">
+      <rect
+         y="397.74335"
+         x="115.30916"
+         height="78.589722"
+         width="113.63329"
+         id="rect1882"
+         style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text2775"
+         y="423.63919"
+         x="145.32777"
+         style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+         xml:space="preserve"><tspan
+           y="423.63919"
+           x="145.32777"
+           id="tspan2777"
+           sodipodi:role="line">File</tspan></text>
+      <text
+         sodipodi:linespacing="100%"
+         id="text2779"
+         y="460.74414"
+         x="119.56045"
+         style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+         xml:space="preserve"><tspan
+           y="460.74414"
+           x="119.56045"
+           id="tspan2781"
+           sodipodi:role="line">CHK: URI...</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 324.64578,346.70097 C 320.523,347.73167 308.15468,407.51189 308.15468,407.51189"
+       id="path2814" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 375.14975,338.45543 L 443.17552,413.69605"
+       id="path2816" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 264.86556,490.99806 L 123.59993,587.64073"
+       id="path2818"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 458.63592,496.15152 L 396.02482,757.86129"
+       id="path2820"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 500.89435,494.09014 L 532.84585,580.66839"
+       id="path3897" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="324.64578"
+       y="377.62177"
+       id="text3899"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3901"
+         x="324.64578"
+         y="377.62177">foo</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="400.91708"
+       y="357.0079"
+       id="text3907"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3909"
+         x="400.91708"
+         y="357.0079">bar</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="212.54271"
+       y="547.20117"
+       id="text3911"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3913"
+         x="212.54271"
+         y="547.20117">baz.jpg</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="351.44382"
+       y="530.16437"
+       id="text3915"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3917"
+         x="351.44382"
+         y="530.16437">My Music</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="518.41608"
+       y="528.10303"
+       id="text3919"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3921"
+         x="518.41608"
+         y="528.10303">My Stuff</tspan></text>
+    <g
+       id="g5274"
+       transform="translate(4.137308,179.2834)">
+      <path
+         transform="translate(247.3436,506.4342)"
+         sodipodi:type="arc"
+         style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         id="path1878"
+         sodipodi:cx="140.68965"
+         sodipodi:cy="122.6767"
+         sodipodi:rx="47.927246"
+         sodipodi:ry="46.381207"
+         d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z" />
+      <g
+         transform="translate(131.9061,363.1679)"
+         id="g2790">
+        <rect
+           y="397.74335"
+           x="115.30916"
+           height="78.589722"
+           width="113.63329"
+           id="rect2792"
+           style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1" />
+        <text
+           sodipodi:linespacing="100%"
+           id="text2794"
+           y="423.63919"
+           x="145.32777"
+           style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+           xml:space="preserve"><tspan
+             y="423.63919"
+             x="145.32777"
+             id="tspan2796"
+             sodipodi:role="line">File</tspan></text>
+        <text
+           sodipodi:linespacing="100%"
+           id="text2798"
+           y="460.74414"
+           x="119.56045"
+           style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+           xml:space="preserve"><tspan
+             y="460.74414"
+             x="119.56045"
+             id="tspan2800"
+             sodipodi:role="line">CHK: URI...</tspan></text>
+      </g>
+      <g
+         id="g2802"
+         transform="translate(316.4002,371.4134)">
+        <rect
+           style="fill:#d5f6ff;stroke:black;stroke-width:0.74299294;stroke-opacity:1"
+           id="rect2804"
+           width="113.63329"
+           height="78.589722"
+           x="115.30916"
+           y="397.74335" />
+        <text
+           xml:space="preserve"
+           style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Century Schoolbook L"
+           x="145.32777"
+           y="423.63919"
+           id="text2806"
+           sodipodi:linespacing="100%"><tspan
+             sodipodi:role="line"
+             id="tspan2808"
+             x="145.32777"
+             y="423.63919">File</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+           x="119.56045"
+           y="460.74414"
+           id="text2810"
+           sodipodi:linespacing="100%"><tspan
+             sodipodi:role="line"
+             id="tspan2812"
+             x="119.56045"
+             y="460.74414">CHK: URI...</tspan></text>
+      </g>
+      <path
+         id="path2826"
+         d="M 371.02698,674.46149 L 309.18537,755.88627"
+         style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+      <path
+         id="path2828"
+         d="M 413.28541,671.36941 L 478.2191,763.10113"
+         style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
+      <text
+         sodipodi:linespacing="100%"
+         id="text3923"
+         y="737.3338"
+         x="333.92203"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="737.3338"
+           x="333.92203"
+           id="tspan3925"
+           sodipodi:role="line">cool.mp3</tspan></text>
+      <text
+         sodipodi:linespacing="100%"
+         id="text3927"
+         y="722.90411"
+         x="451.42111"
+         style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+         xml:space="preserve"><tspan
+           y="722.90411"
+           x="451.42111"
+           id="tspan3929"
+           sodipodi:role="line">boring.mp3</tspan></text>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 280.04548,214.10527 L 430.40545,214.10527 L 618.35543,356.94724 L 617.09842,678.92807 L 192.70977,674.29036 L 191.70898,364.46525 L 280.04548,214.10527 z "
+       id="path4103"
+       sodipodi:nodetypes="ccccccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+       d="M 374.02046,189.67177 L 345.82796,251.69526"
+       id="path4105"
+       sodipodi:nodetypes="cc" />
+    <path
+       sodipodi:type="star"
+       style="fill:#e3f4d7;stroke:black;stroke-opacity:1"
+       id="path4107"
+       sodipodi:sides="5"
+       sodipodi:cx="281.92496"
+       sodipodi:cy="48.709286"
+       sodipodi:r1="87.209602"
+       sodipodi:r2="55.01017"
+       sodipodi:arg1="0.92298489"
+       sodipodi:arg2="1.3307224"
+       inkscape:flatsided="false"
+       inkscape:rounded="0.17092637"
+       inkscape:randomized="0"
+       d="M 334.55095,118.25078 C 329.83663,123.82275 302.30234,102.0004 295.00497,102.14179 C 283.81005,102.35869 242.41388,124.4859 232.04939,120.24909 C 225.29333,117.48733 237.53906,84.557193 235.14958,77.660667 C 231.48387,67.080693 197.64752,34.548283 198.47417,23.38182 C 199.01301,16.102993 234.11557,17.573397 239.93617,13.169723 C 248.86556,6.4140382 269.34971,-35.819307 280.2251,-38.483748 C 287.31418,-40.220557 296.76304,-6.3816588 302.74984,-2.2067532 C 311.93421,4.1979778 358.43046,10.628744 364.32517,20.148493 C 368.16763,26.353913 338.90478,45.797098 336.78423,52.781006 C 333.5311,63.495032 341.78321,109.70281 334.55095,118.25078 z "
+       transform="matrix(0.662796,0,0,0.662796,181.4022,114.6387)" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 424.76696,43.070785 L 374.02046,95.696779"
+       id="path4994"
+       sodipodi:nodetypes="cc" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="328.69116"
+       y="142.68427"
+       id="text4996"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan4998"
+         x="328.69116"
+         y="142.68427">Account</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:19.99999328;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+       x="504.59412"
+       y="-89.438469"
+       id="text5000"
+       sodipodi:linespacing="100%"
+       transform="matrix(0.775814,0.630961,-0.630961,0.775814,0,0)"><tspan
+         sodipodi:role="line"
+         id="tspan5002"
+         x="504.59412"
+         y="-89.438469">CHK: URI...</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 313.05634,728.27302 L 460.62034,729.65213 L 564.05305,799.98637 L 568.19035,936.51755 L 234.44748,928.24293 L 234.44748,801.36547 L 313.05634,728.27302 z "
+       id="path5295" />
+    <text
+       transform="matrix(0.775814,0.630961,-0.630961,0.775814,0,0)"
+       sodipodi:linespacing="100%"
+       id="text5297"
+       y="291.5845"
+       x="825.14142"
+       style="font-size:19.99998474px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Courier 10 Pitch"
+       xml:space="preserve"><tspan
+         y="291.5845"
+         x="825.14142"
+         id="tspan5299"
+         sodipodi:role="line">CHK: URI...</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 245.48029,740.68495 L 340.63839,780.67893"
+       id="path5301"
+       sodipodi:nodetypes="cc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
+       d="M 161.35503,769.64611 L 335.12198,799.98637"
+       id="path5303"
+       sodipodi:nodetypes="cc" />
+    <path
+       transform="matrix(0.615773,0,0,0.573231,41.75939,695.9379)"
+       sodipodi:type="arc"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       id="path6190"
+       sodipodi:cx="140.68965"
+       sodipodi:cy="122.6767"
+       sodipodi:rx="47.927246"
+       sodipodi:ry="46.381207"
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z" />
+    <path
+       d="M 188.6169 122.6767 A 47.927246 46.381207 0 1 1  92.762405,122.6767 A 47.927246 46.381207 0 1 1  188.6169 122.6767 z"
+       sodipodi:ry="46.381207"
+       sodipodi:rx="47.927246"
+       sodipodi:cy="122.6767"
+       sodipodi:cx="140.68965"
+       id="path6192"
+       style="fill:#ffd5d5;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       sodipodi:type="arc"
+       transform="matrix(0.615773,0,0,0.573231,128.6429,664.2185)" />
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="46.889496"
+       y="726.89392"
+       id="text6194"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan6196"
+         x="46.889496"
+         y="726.89392">other subtrees</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="290.99066"
+       y="724.13574"
+       id="text6198"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan6200"
+         x="290.99066"
+         y="724.13574">shared read-only subtree</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-size:20;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr;text-anchor:start;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Charter"
+       x="383.83087"
+       y="34.258801"
+       id="text6344"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan6342"
+         x="383.83087"
+         y="34.258801">Local Root</tspan></text>
+  </g>
+</svg>