developers/zcash-core-dag.svg

2432 lines
173 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Pages: 1 -->
<svg width="2924pt" height="2929pt"
viewBox="0.00 0.00 2924.00 2928.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2924.5)">
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-2924.5 2920,-2924.5 2920,4 -4,4"/>
<!-- zcash/zcash#4506 -->
<g id="node1" class="node">
<title>zcash/zcash#4506</title>
<g id="a_node1"><a xlink:href="https://github.com/zcash/zcash/issues/4506" xlink:title="zcash/zcash#4506&#10;TZE: Add transaction&#10;builder support to&#10;librustzcash" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="194,-282 24,-282 24,-214 194,-214 194,-282"/>
<text text-anchor="middle" x="109" y="-266.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4506</text>
<text text-anchor="middle" x="109" y="-251.8" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: Add transaction</text>
<text text-anchor="middle" x="109" y="-236.8" font-family="Times,serif" font-size="14.00" fill="#000000">builder support to</text>
<text text-anchor="middle" x="109" y="-221.8" font-family="Times,serif" font-size="14.00" fill="#000000">librustzcash</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#226 -->
<g id="node2" class="node">
<title>zcash/librustzcash#226</title>
<g id="a_node2"><a xlink:href="https://github.com/zcash/librustzcash/issues/226" xlink:title="zcash/librustzcash#226&#10;Bring in Bolt TZE" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="448,-188 260,-188 260,-150 448,-150 448,-188"/>
<text text-anchor="middle" x="354" y="-172.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#226</text>
<text text-anchor="middle" x="354" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bring in Bolt TZE</text>
</a>
</g>
</g>
<!-- zcash/zcash#4506&#45;&gt;zcash/librustzcash#226 -->
<g id="edge1" class="edge">
<title>zcash/zcash#4506&#45;&gt;zcash/librustzcash#226</title>
<path fill="none" stroke="#000000" d="M194,-220.59C223.8,-210.98 256.87,-200.32 285.17,-191.19"/>
<polygon fill="#000000" stroke="#000000" points="286.5267,-194.4301 294.97,-188.03 284.3784,-187.7679 286.5267,-194.4301"/>
</g>
<!-- zcash/librustzcash#225 -->
<g id="node3" class="node">
<title>zcash/librustzcash#225</title>
<g id="a_node3"><a xlink:href="https://github.com/zcash/librustzcash/issues/225" xlink:title="zcash/librustzcash#225&#10;Add Bolt TZE support to&#10;the transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="738.5,-195.5 546.5,-195.5 546.5,-142.5 738.5,-142.5 738.5,-195.5"/>
<text text-anchor="middle" x="642.5" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#225</text>
<text text-anchor="middle" x="642.5" y="-165.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Bolt TZE support to</text>
<text text-anchor="middle" x="642.5" y="-150.3" font-family="Times,serif" font-size="14.00" fill="#000000">the transaction builder</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225 -->
<g id="edge2" class="edge">
<title>zcash/librustzcash#226&#45;&gt;zcash/librustzcash#225</title>
<path fill="none" stroke="#000000" d="M448.07,-169C476.16,-169 507.16,-169 535.99,-169"/>
<polygon fill="#000000" stroke="#000000" points="536.09,-172.5001 546.09,-169 536.09,-165.5001 536.09,-172.5001"/>
</g>
<!-- zcash/librustzcash#224 -->
<g id="node4" class="node">
<title>zcash/librustzcash#224</title>
<g id="a_node4"><a xlink:href="https://github.com/zcash/librustzcash/issues/224" xlink:title="zcash/librustzcash#224&#10;Refactor TZE Rust logic" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="203.5,-124 14.5,-124 14.5,-86 203.5,-86 203.5,-124"/>
<text text-anchor="middle" x="109" y="-108.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#224</text>
<text text-anchor="middle" x="109" y="-93.8" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor TZE Rust logic</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#224&#45;&gt;zcash/librustzcash#226 -->
<g id="edge3" class="edge">
<title>zcash/librustzcash#224&#45;&gt;zcash/librustzcash#226</title>
<path fill="none" stroke="#000000" d="M183.48,-124.06C195.04,-127.04 206.85,-130.09 218,-133 235.65,-137.6 254.57,-142.58 272.53,-147.33"/>
<polygon fill="#000000" stroke="#000000" points="271.8273,-150.7645 282.39,-149.94 273.6186,-143.9975 271.8273,-150.7645"/>
</g>
<!-- zcash/zcash#4190 -->
<g id="node5" class="node">
<title>zcash/zcash#4190</title>
<g id="a_node5"><a xlink:href="https://github.com/zcash/zcash/issues/4190" xlink:title="zcash/zcash#4190&#10;TZE: implement zcashd&#10;&#39;host&#39; logic." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="447,-96.5 261,-96.5 261,-43.5 447,-43.5 447,-96.5"/>
<text text-anchor="middle" x="354" y="-81.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4190</text>
<text text-anchor="middle" x="354" y="-66.3" font-family="Times,serif" font-size="14.00" fill="#000000">TZE: implement zcashd</text>
<text text-anchor="middle" x="354" y="-51.3" font-family="Times,serif" font-size="14.00" fill="#000000">&#39;host&#39; logic.</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#224&#45;&gt;zcash/zcash#4190 -->
<g id="edge4" class="edge">
<title>zcash/librustzcash#224&#45;&gt;zcash/zcash#4190</title>
<path fill="none" stroke="#000000" d="M203.72,-91.468C219.08,-89.275 235.05,-86.994 250.59,-84.772"/>
<polygon fill="#000000" stroke="#000000" points="251.335,-88.2012 260.74,-83.323 250.3457,-81.2715 251.335,-88.2012"/>
</g>
<!-- zcash/zcash#4877 -->
<g id="node6" class="node">
<title>zcash/zcash#4877</title>
<g id="a_node6"><a xlink:href="https://github.com/zcash/zcash/pull/4877" xlink:title="zcash/zcash#4877&#10;Backport Boost removal&#10;PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="204,-353.5 14,-353.5 14,-349.5 10,-349.5 10,-345.5 14,-345.5 14,-308.5 10,-308.5 10,-304.5 14,-304.5 14,-300.5 204,-300.5 204,-353.5"/>
<polyline fill="none" stroke="#000000" points="14,-349.5 18,-349.5 18,-345.5 14,-345.5 "/>
<polyline fill="none" stroke="#000000" points="14,-308.5 18,-308.5 18,-304.5 14,-304.5 "/>
<text text-anchor="middle" x="109" y="-338.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4877</text>
<text text-anchor="middle" x="109" y="-323.3" font-family="Times,serif" font-size="14.00" fill="#000000">Backport Boost removal</text>
<text text-anchor="middle" x="109" y="-308.3" font-family="Times,serif" font-size="14.00" fill="#000000">PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#4821 -->
<g id="node7" class="node">
<title>zcash/zcash#4821</title>
<g id="a_node7"><a xlink:href="https://github.com/zcash/zcash/issues/4821" xlink:title="zcash/zcash#4821&#10;Replace boost::variant&#10;with std::variant" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="442.5,-388.5 265.5,-388.5 265.5,-335.5 442.5,-335.5 442.5,-388.5"/>
<text text-anchor="middle" x="354" y="-373.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4821</text>
<text text-anchor="middle" x="354" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">Replace boost::variant</text>
<text text-anchor="middle" x="354" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">with std::variant</text>
</a>
</g>
</g>
<!-- zcash/zcash#4877&#45;&gt;zcash/zcash#4821 -->
<g id="edge5" class="edge">
<title>zcash/zcash#4877&#45;&gt;zcash/zcash#4821</title>
<path fill="none" stroke="#000000" d="M204.07,-340.58C220.94,-342.99 238.54,-345.51 255.5,-347.93"/>
<polygon fill="#000000" stroke="#000000" points="255.0064,-351.3949 265.4,-349.34 255.9934,-344.4649 255.0064,-351.3949"/>
</g>
<!-- zcash/zcash#4822 -->
<g id="node8" class="node">
<title>zcash/zcash#4822</title>
<g id="a_node8"><a xlink:href="https://github.com/zcash/zcash/issues/4822" xlink:title="zcash/zcash#4822&#10;Replace boost::optional&#10;with std::optional" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="446,-317.5 262,-317.5 262,-264.5 446,-264.5 446,-317.5"/>
<text text-anchor="middle" x="354" y="-302.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4822</text>
<text text-anchor="middle" x="354" y="-287.3" font-family="Times,serif" font-size="14.00" fill="#000000">Replace boost::optional</text>
<text text-anchor="middle" x="354" y="-272.3" font-family="Times,serif" font-size="14.00" fill="#000000">with std::optional</text>
</a>
</g>
</g>
<!-- zcash/zcash#4877&#45;&gt;zcash/zcash#4822 -->
<g id="edge6" class="edge">
<title>zcash/zcash#4877&#45;&gt;zcash/zcash#4822</title>
<path fill="none" stroke="#000000" d="M204.07,-313.03C219.63,-310.74 235.81,-308.37 251.54,-306.06"/>
<polygon fill="#000000" stroke="#000000" points="252.4162,-309.4688 261.8,-304.55 251.3969,-302.5434 252.4162,-309.4688"/>
</g>
<!-- zcash/zcash#4879 -->
<g id="node9" class="node">
<title>zcash/zcash#4879</title>
<g id="a_node9"><a xlink:href="https://github.com/zcash/zcash/issues/4879" xlink:title="zcash/zcash#4879&#10;Refactor zcashconsensus&#10;library into zcash_script" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="741,-388.5 544,-388.5 544,-335.5 741,-335.5 741,-388.5"/>
<text text-anchor="middle" x="642.5" y="-373.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4879</text>
<text text-anchor="middle" x="642.5" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor zcashconsensus</text>
<text text-anchor="middle" x="642.5" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">library into zcash_script</text>
</a>
</g>
</g>
<!-- zcash/zcash#4821&#45;&gt;zcash/zcash#4879 -->
<g id="edge7" class="edge">
<title>zcash/zcash#4821&#45;&gt;zcash/zcash#4879</title>
<path fill="none" stroke="#000000" d="M442.52,-362C471.32,-362 503.61,-362 533.71,-362"/>
<polygon fill="#000000" stroke="#000000" points="533.83,-365.5001 543.83,-362 533.83,-358.5001 533.83,-365.5001"/>
</g>
<!-- zcash/zcash#4819 -->
<g id="node10" class="node">
<title>zcash/zcash#4819</title>
<g id="a_node10"><a xlink:href="https://github.com/zcash/zcash/issues/4819" xlink:title="zcash/zcash#4819&#10;Backport upstream PRs&#10;that remove Boost usage" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="740,-317.5 545,-317.5 545,-264.5 740,-264.5 740,-317.5"/>
<text text-anchor="middle" x="642.5" y="-302.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4819</text>
<text text-anchor="middle" x="642.5" y="-287.3" font-family="Times,serif" font-size="14.00" fill="#000000">Backport upstream PRs</text>
<text text-anchor="middle" x="642.5" y="-272.3" font-family="Times,serif" font-size="14.00" fill="#000000">that remove Boost usage</text>
</a>
</g>
</g>
<!-- zcash/zcash#4821&#45;&gt;zcash/zcash#4819 -->
<g id="edge8" class="edge">
<title>zcash/zcash#4821&#45;&gt;zcash/zcash#4819</title>
<path fill="none" stroke="#000000" d="M442.78,-338.05C458.49,-333.94 474.71,-329.78 490,-326 504.49,-322.42 519.79,-318.76 534.88,-315.23"/>
<polygon fill="#000000" stroke="#000000" points="535.814,-318.6062 544.76,-312.93 534.2268,-311.7885 535.814,-318.6062"/>
</g>
<!-- zcash/zcash#4822&#45;&gt;zcash/zcash#4879 -->
<g id="edge9" class="edge">
<title>zcash/zcash#4822&#45;&gt;zcash/zcash#4879</title>
<path fill="none" stroke="#000000" d="M446.11,-314.97C460.78,-318.71 475.8,-322.5 490,-326 504.3,-329.53 519.37,-333.17 534.25,-336.73"/>
<polygon fill="#000000" stroke="#000000" points="533.4511,-340.1376 543.99,-339.05 535.0732,-333.3281 533.4511,-340.1376"/>
</g>
<!-- zcash/zcash#4822&#45;&gt;zcash/zcash#4819 -->
<g id="edge10" class="edge">
<title>zcash/zcash#4822&#45;&gt;zcash/zcash#4819</title>
<path fill="none" stroke="#000000" d="M446.08,-291C474.25,-291 505.5,-291 534.62,-291"/>
<polygon fill="#000000" stroke="#000000" points="534.83,-294.5001 544.83,-291 534.83,-287.5001 534.83,-294.5001"/>
</g>
<!-- zcash/zcash#4876 -->
<g id="node11" class="node">
<title>zcash/zcash#4876</title>
<g id="a_node11"><a xlink:href="https://github.com/zcash/zcash/issues/4876" xlink:title="zcash/zcash#4876&#10;libzcash_script: Expose&#10;precomputation APIs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1076,-388.5 891,-388.5 891,-335.5 1076,-335.5 1076,-388.5"/>
<text text-anchor="middle" x="983.5" y="-373.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4876</text>
<text text-anchor="middle" x="983.5" y="-358.3" font-family="Times,serif" font-size="14.00" fill="#000000">libzcash_script: Expose</text>
<text text-anchor="middle" x="983.5" y="-343.3" font-family="Times,serif" font-size="14.00" fill="#000000">precomputation APIs</text>
</a>
</g>
</g>
<!-- zcash/zcash#4879&#45;&gt;zcash/zcash#4876 -->
<g id="edge11" class="edge">
<title>zcash/zcash#4879&#45;&gt;zcash/zcash#4876</title>
<path fill="none" stroke="#000000" d="M741.13,-362C784.93,-362 836.47,-362 880.73,-362"/>
<polygon fill="#000000" stroke="#000000" points="880.94,-365.5001 890.94,-362 880.94,-358.5001 880.94,-365.5001"/>
</g>
<!-- zcash/zcash#4786 -->
<g id="node12" class="node">
<title>zcash/zcash#4786</title>
<g id="a_node12"><a xlink:href="https://github.com/zcash/zcash/issues/4786" xlink:title="zcash/zcash#4786&#10;[Orchard] Document&#10;Sinsemilla hash function&#10;and commitment scheme" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1082,-1493 885,-1493 885,-1425 1082,-1425 1082,-1493"/>
<text text-anchor="middle" x="983.5" y="-1477.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4786</text>
<text text-anchor="middle" x="983.5" y="-1462.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Document</text>
<text text-anchor="middle" x="983.5" y="-1447.8" font-family="Times,serif" font-size="14.00" fill="#000000">Sinsemilla hash function</text>
<text text-anchor="middle" x="983.5" y="-1432.8" font-family="Times,serif" font-size="14.00" fill="#000000">and commitment scheme</text>
</a>
</g>
</g>
<!-- zcash/halo2#73 -->
<g id="node13" class="node">
<title>zcash/halo2#73</title>
<g id="a_node13"><a xlink:href="https://github.com/zcash/halo2/issues/73" xlink:title="zcash/halo2#73&#10;Implement Sinsemilla&#10;gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1752,-1485.5 1579,-1485.5 1579,-1432.5 1752,-1432.5 1752,-1485.5"/>
<text text-anchor="middle" x="1665.5" y="-1470.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#73</text>
<text text-anchor="middle" x="1665.5" y="-1455.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="1665.5" y="-1440.3" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/zcash#4786&#45;&gt;zcash/halo2#73 -->
<g id="edge12" class="edge">
<title>zcash/zcash#4786&#45;&gt;zcash/halo2#73</title>
<path fill="none" stroke="#000000" d="M1082.3,-1459C1212.3,-1459 1439.4,-1459 1568.5,-1459"/>
<polygon fill="#000000" stroke="#000000" points="1568.8,-1462.5001 1578.8,-1459 1568.8,-1455.5001 1568.8,-1462.5001"/>
</g>
<!-- zcash/zcash#4707 -->
<g id="node14" class="node">
<title>zcash/zcash#4707</title>
<g id="a_node14"><a xlink:href="https://github.com/zcash/zcash/issues/4707" xlink:title="zcash/zcash#4707&#10;[Orchard] Consensus&#10;specification" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2091,-1720.5 1922,-1720.5 1922,-1667.5 2091,-1667.5 2091,-1720.5"/>
<text text-anchor="middle" x="2006.5" y="-1705.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4707</text>
<text text-anchor="middle" x="2006.5" y="-1690.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Consensus</text>
<text text-anchor="middle" x="2006.5" y="-1675.3" font-family="Times,serif" font-size="14.00" fill="#000000">specification</text>
</a>
</g>
</g>
<!-- zcash/zcash#4786&#45;&gt;zcash/zcash#4707 -->
<g id="edge13" class="edge">
<title>zcash/zcash#4786&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1065.3,-1493.2C1091.4,-1507.8 1118.1,-1527.2 1136,-1552 1177.6,-1609.7 1121.5,-1657.9 1172,-1708 1282.2,-1817.4 1358.7,-1767 1513,-1784 1647.7,-1798.8 1685.8,-1813.9 1818,-1784 1867.4,-1772.8 1919,-1747 1955.7,-1725.9"/>
<polygon fill="#000000" stroke="#000000" points="1957.7923,-1728.7334 1964.7,-1720.7 1954.2903,-1722.6723 1957.7923,-1728.7334"/>
</g>
<!-- zcash/orchard#21 -->
<g id="node15" class="node">
<title>zcash/orchard#21</title>
<g id="a_node15"><a xlink:href="https://github.com/zcash/orchard/pull/21" xlink:title="zcash/orchard#21&#10;Implement Sinsemilla&#10;primitives" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1411,-1300.5 1238,-1300.5 1238,-1296.5 1234,-1296.5 1234,-1292.5 1238,-1292.5 1238,-1255.5 1234,-1255.5 1234,-1251.5 1238,-1251.5 1238,-1247.5 1411,-1247.5 1411,-1300.5"/>
<polyline fill="none" stroke="#000000" points="1238,-1296.5 1242,-1296.5 1242,-1292.5 1238,-1292.5 "/>
<polyline fill="none" stroke="#000000" points="1238,-1255.5 1242,-1255.5 1242,-1251.5 1238,-1251.5 "/>
<text text-anchor="middle" x="1324.5" y="-1285.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#21</text>
<text text-anchor="middle" x="1324.5" y="-1270.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Sinsemilla</text>
<text text-anchor="middle" x="1324.5" y="-1255.3" font-family="Times,serif" font-size="14.00" fill="#000000">primitives</text>
</a>
</g>
</g>
<!-- zcash/zcash#4786&#45;&gt;zcash/orchard#21 -->
<g id="edge14" class="edge">
<title>zcash/zcash#4786&#45;&gt;zcash/orchard#21</title>
<path fill="none" stroke="#000000" d="M1058.5,-1425C1085,-1410.6 1113.8,-1392 1136,-1370 1158.1,-1348.1 1146.9,-1328.3 1172,-1310 1188.4,-1298 1208.3,-1289.9 1228.1,-1284.5"/>
<polygon fill="#000000" stroke="#000000" points="1228.9334,-1287.8994 1237.8,-1282.1 1227.2521,-1281.1043 1228.9334,-1287.8994"/>
</g>
<!-- zcash/orchard#4 -->
<g id="node16" class="node">
<title>zcash/orchard#4</title>
<g id="a_node16"><a xlink:href="https://github.com/zcash/orchard/issues/4" xlink:title="zcash/orchard#4&#10;Implement the Action&#10;circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2093,-1485.5 1920,-1485.5 1920,-1432.5 2093,-1432.5 2093,-1485.5"/>
<text text-anchor="middle" x="2006.5" y="-1470.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#4</text>
<text text-anchor="middle" x="2006.5" y="-1455.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the Action</text>
<text text-anchor="middle" x="2006.5" y="-1440.3" font-family="Times,serif" font-size="14.00" fill="#000000">circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#73&#45;&gt;zcash/orchard#4 -->
<g id="edge15" class="edge">
<title>zcash/halo2#73&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1752.4,-1459C1800.4,-1459 1860.2,-1459 1909.7,-1459"/>
<polygon fill="#000000" stroke="#000000" points="1909.7,-1462.5001 1919.7,-1459 1909.7,-1455.5001 1909.7,-1462.5001"/>
</g>
<!-- zcash/librustzcash#320 -->
<g id="node17" class="node">
<title>zcash/librustzcash#320</title>
<g id="a_node17"><a xlink:href="https://github.com/zcash/librustzcash/issues/320" xlink:title="zcash/librustzcash#320&#10;Implement Orchard as a&#10;future NU feature" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2398.5,-1758.5 2206.5,-1758.5 2206.5,-1705.5 2398.5,-1705.5 2398.5,-1758.5"/>
<text text-anchor="middle" x="2302.5" y="-1743.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#320</text>
<text text-anchor="middle" x="2302.5" y="-1728.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard as a</text>
<text text-anchor="middle" x="2302.5" y="-1713.3" font-family="Times,serif" font-size="14.00" fill="#000000">future NU feature</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707&#45;&gt;zcash/librustzcash#320 -->
<g id="edge16" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2091.3,-1704.9C2124.1,-1709.1 2161.9,-1713.9 2196.4,-1718.4"/>
<polygon fill="#000000" stroke="#000000" points="2196.135,-1721.8947 2206.5,-1719.7 2197.0287,-1714.952 2196.135,-1721.8947"/>
</g>
<!-- zcash/zcash#5024 -->
<g id="node18" class="node">
<title>zcash/zcash#5024</title>
<g id="a_node18"><a xlink:href="https://github.com/zcash/zcash/issues/5024" xlink:title="zcash/zcash#5024&#10;Implement Orchard&#10;consensus rules" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2633,-1637.5 2474,-1637.5 2474,-1584.5 2633,-1584.5 2633,-1637.5"/>
<text text-anchor="middle" x="2553.5" y="-1622.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5024</text>
<text text-anchor="middle" x="2553.5" y="-1607.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard</text>
<text text-anchor="middle" x="2553.5" y="-1592.3" font-family="Times,serif" font-size="14.00" fill="#000000">consensus rules</text>
</a>
</g>
</g>
<!-- zcash/zcash#4707&#45;&gt;zcash/zcash#5024 -->
<g id="edge17" class="edge">
<title>zcash/zcash#4707&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2044,-1667.3C2080.5,-1643 2138.7,-1608.9 2195,-1595 2284.5,-1572.9 2390.4,-1581.7 2463.8,-1593.1"/>
<polygon fill="#000000" stroke="#000000" points="2463.4755,-1596.5922 2473.9,-1594.7 2464.5708,-1589.6784 2463.4755,-1596.5922"/>
</g>
<!-- zcash/orchard#31 -->
<g id="node19" class="node">
<title>zcash/orchard#31</title>
<g id="a_node19"><a xlink:href="https://github.com/zcash/orchard/issues/31" xlink:title="zcash/orchard#31&#10;Implement Orchard note&#10;structure" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1763,-1155.5 1568,-1155.5 1568,-1102.5 1763,-1102.5 1763,-1155.5"/>
<text text-anchor="middle" x="1665.5" y="-1140.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#31</text>
<text text-anchor="middle" x="1665.5" y="-1125.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard note</text>
<text text-anchor="middle" x="1665.5" y="-1110.3" font-family="Times,serif" font-size="14.00" fill="#000000">structure</text>
</a>
</g>
</g>
<!-- zcash/orchard#21&#45;&gt;zcash/orchard#31 -->
<g id="edge18" class="edge">
<title>zcash/orchard#21&#45;&gt;zcash/orchard#31</title>
<path fill="none" stroke="#000000" d="M1362.1,-1247.4C1399,-1222.5 1457.5,-1186 1513,-1164 1527.2,-1158.4 1542.5,-1153.5 1557.8,-1149.4"/>
<polygon fill="#000000" stroke="#000000" points="1559.0025,-1152.7038 1567.8,-1146.8 1557.241,-1145.929 1559.0025,-1152.7038"/>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/librustzcash#320 -->
<g id="edge19" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2026.5,-1485.9C2070.5,-1544.7 2173.5,-1680.9 2195,-1696 2197.2,-1697.5 2199.4,-1699 2201.6,-1700.3"/>
<polygon fill="#000000" stroke="#000000" points="2200.2654,-1703.5642 2210.7,-1705.4 2203.6877,-1697.4578 2200.2654,-1703.5642"/>
</g>
<!-- zcash/orchard#35 -->
<g id="node20" class="node">
<title>zcash/orchard#35</title>
<g id="a_node20"><a xlink:href="https://github.com/zcash/orchard/issues/35" xlink:title="zcash/orchard#35&#10;Transaction building&#10;support" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2385,-910.5 2220,-910.5 2220,-857.5 2385,-857.5 2385,-910.5"/>
<text text-anchor="middle" x="2302.5" y="-895.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#35</text>
<text text-anchor="middle" x="2302.5" y="-880.3" font-family="Times,serif" font-size="14.00" fill="#000000">Transaction building</text>
<text text-anchor="middle" x="2302.5" y="-865.3" font-family="Times,serif" font-size="14.00" fill="#000000">support</text>
</a>
</g>
</g>
<!-- zcash/orchard#4&#45;&gt;zcash/orchard#35 -->
<g id="edge20" class="edge">
<title>zcash/orchard#4&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2030.5,-1432.2C2063.2,-1394.7 2121.9,-1323.2 2159,-1254 2181.3,-1212.4 2178.3,-1198.2 2195,-1154 2226.9,-1069.8 2266.6,-971.75 2287.7,-920.1"/>
<polygon fill="#000000" stroke="#000000" points="2290.993,-921.2927 2291.5,-910.71 2284.5042,-918.6667 2290.993,-921.2927"/>
</g>
<!-- zcash/orchard#32 -->
<g id="node21" class="node">
<title>zcash/orchard#32</title>
<g id="a_node21"><a xlink:href="https://github.com/zcash/orchard/issues/32" xlink:title="zcash/orchard#32&#10;Implement note encryption&#10;for Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2112.5,-989.5 1900.5,-989.5 1900.5,-936.5 2112.5,-936.5 2112.5,-989.5"/>
<text text-anchor="middle" x="2006.5" y="-974.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#32</text>
<text text-anchor="middle" x="2006.5" y="-959.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note encryption</text>
<text text-anchor="middle" x="2006.5" y="-944.3" font-family="Times,serif" font-size="14.00" fill="#000000">for Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#31&#45;&gt;zcash/orchard#32 -->
<g id="edge21" class="edge">
<title>zcash/orchard#31&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1763.3,-1111.6C1781.9,-1106.7 1800.8,-1100.6 1818,-1093 1874.2,-1068 1931.4,-1025.7 1967.8,-996.18"/>
<polygon fill="#000000" stroke="#000000" points="1970.1811,-998.7539 1975.7,-989.71 1965.7458,-993.3384 1970.1811,-998.7539"/>
</g>
<!-- zcash/orchard#33 -->
<g id="node22" class="node">
<title>zcash/orchard#33</title>
<g id="a_node22"><a xlink:href="https://github.com/zcash/orchard/issues/33" xlink:title="zcash/orchard#33&#10;Implement note commitment&#10;tree logic for Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2119.5,-1919.5 1893.5,-1919.5 1893.5,-1866.5 2119.5,-1866.5 2119.5,-1919.5"/>
<text text-anchor="middle" x="2006.5" y="-1904.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#33</text>
<text text-anchor="middle" x="2006.5" y="-1889.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement note commitment</text>
<text text-anchor="middle" x="2006.5" y="-1874.3" font-family="Times,serif" font-size="14.00" fill="#000000">tree logic for Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#31&#45;&gt;zcash/orchard#33 -->
<g id="edge22" class="edge">
<title>zcash/orchard#31&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1763.1,-1132.5C1784,-1137.9 1804,-1147.5 1818,-1164 1899.5,-1259.9 1804.3,-1613.4 1854,-1729 1877.1,-1782.8 1925.8,-1830.1 1962,-1859.8"/>
<polygon fill="#000000" stroke="#000000" points="1960.0318,-1862.7104 1970,-1866.3 1964.4459,-1857.2776 1960.0318,-1862.7104"/>
</g>
<!-- zcash/zcash#5021 -->
<g id="node23" class="node">
<title>zcash/zcash#5021</title>
<g id="a_node23"><a xlink:href="https://github.com/zcash/zcash/issues/5021" xlink:title="zcash/zcash#5021&#10;Add Orchard support to&#10;transaction builder" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2647.5,-910.5 2459.5,-910.5 2459.5,-857.5 2647.5,-857.5 2647.5,-910.5"/>
<text text-anchor="middle" x="2553.5" y="-895.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5021</text>
<text text-anchor="middle" x="2553.5" y="-880.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard support to</text>
<text text-anchor="middle" x="2553.5" y="-865.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#35&#45;&gt;zcash/zcash#5021 -->
<g id="edge23" class="edge">
<title>zcash/orchard#35&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M2385,-884C2405.5,-884 2427.7,-884 2449.1,-884"/>
<polygon fill="#000000" stroke="#000000" points="2449.2,-887.5001 2459.2,-884 2449.2,-880.5001 2449.2,-887.5001"/>
</g>
<!-- zcash/orchard#32&#45;&gt;zcash/orchard#35 -->
<g id="edge39" class="edge">
<title>zcash/orchard#32&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2105.9,-936.47C2139.4,-927.54 2176.6,-917.6 2209.6,-908.8"/>
<polygon fill="#000000" stroke="#000000" points="2210.8525,-912.0876 2219.6,-906.11 2209.0341,-905.3279 2210.8525,-912.0876"/>
</g>
<!-- zcash/zcash#5020 -->
<g id="node36" class="node">
<title>zcash/zcash#5020</title>
<g id="a_node36"><a xlink:href="https://github.com/zcash/zcash/issues/5020" xlink:title="zcash/zcash#5020&#10;Add Orchard note&#10;detection and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2649.5,-815 2457.5,-815 2457.5,-747 2649.5,-747 2649.5,-815"/>
<text text-anchor="middle" x="2553.5" y="-799.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5020</text>
<text text-anchor="middle" x="2553.5" y="-784.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="2553.5" y="-769.8" font-family="Times,serif" font-size="14.00" fill="#000000">detection and storage to</text>
<text text-anchor="middle" x="2553.5" y="-754.8" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/orchard#32&#45;&gt;zcash/zcash#5020 -->
<g id="edge40" class="edge">
<title>zcash/orchard#32&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M2112.9,-977.6C2200.3,-983.86 2323.4,-978.92 2410,-919 2439.1,-898.87 2422.1,-874.09 2446,-848 2455.2,-837.95 2466.2,-828.84 2477.7,-820.8"/>
<polygon fill="#000000" stroke="#000000" points="2479.7627,-823.6306 2486.1,-815.14 2475.8511,-817.8254 2479.7627,-823.6306"/>
</g>
<!-- zcash/zcash#5018 -->
<g id="node38" class="node">
<title>zcash/zcash#5018</title>
<g id="a_node38"><a xlink:href="https://github.com/zcash/zcash/issues/5018" xlink:title="zcash/zcash#5018&#10;Add Orchard note&#10;commitment tree and&#10;nullifier set to&#10;CCoinsView" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2388.5,-1934.5 2216.5,-1934.5 2216.5,-1851.5 2388.5,-1851.5 2388.5,-1934.5"/>
<text text-anchor="middle" x="2302.5" y="-1919.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5018</text>
<text text-anchor="middle" x="2302.5" y="-1904.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard note</text>
<text text-anchor="middle" x="2302.5" y="-1889.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree and</text>
<text text-anchor="middle" x="2302.5" y="-1874.3" font-family="Times,serif" font-size="14.00" fill="#000000">nullifier set to</text>
<text text-anchor="middle" x="2302.5" y="-1859.3" font-family="Times,serif" font-size="14.00" fill="#000000">CCoinsView</text>
</a>
</g>
</g>
<!-- zcash/orchard#33&#45;&gt;zcash/zcash#5018 -->
<g id="edge43" class="edge">
<title>zcash/orchard#33&#45;&gt;zcash/zcash#5018</title>
<path fill="none" stroke="#000000" d="M2119.7,-1893C2148.2,-1893 2178.5,-1893 2206.1,-1893"/>
<polygon fill="#000000" stroke="#000000" points="2206.1,-1896.5001 2216.1,-1893 2206.1,-1889.5001 2206.1,-1896.5001"/>
</g>
<!-- zcash/zcash#5023 -->
<g id="node34" class="node">
<title>zcash/zcash#5023</title>
<g id="a_node34"><a xlink:href="https://github.com/zcash/zcash/issues/5023" xlink:title="zcash/zcash#5023&#10;Implement support for&#10;Orchard shielded coinbase&#10;output" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2911,-813 2702,-813 2702,-745 2911,-745 2911,-813"/>
<text text-anchor="middle" x="2806.5" y="-797.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5023</text>
<text text-anchor="middle" x="2806.5" y="-782.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="2806.5" y="-767.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard shielded coinbase</text>
<text text-anchor="middle" x="2806.5" y="-752.8" font-family="Times,serif" font-size="14.00" fill="#000000">output</text>
</a>
</g>
</g>
<!-- zcash/zcash#5021&#45;&gt;zcash/zcash#5023 -->
<g id="edge36" class="edge">
<title>zcash/zcash#5021&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M2617.7,-857.37C2647.1,-845.15 2682.6,-830.43 2714.8,-817.07"/>
<polygon fill="#000000" stroke="#000000" points="2716.3111,-820.2322 2724.2,-813.16 2713.6227,-813.769 2716.3111,-820.2322"/>
</g>
<!-- zcash/zcash#4883 -->
<g id="node24" class="node">
<title>zcash/zcash#4883</title>
<g id="a_node24"><a xlink:href="https://github.com/zcash/zcash/issues/4883" xlink:title="zcash/zcash#4883&#10;Find optimized addition&#10;chains for the Pasta&#10;fields (x^{1/α} used in&#10;Rescue, and x^{(m&#45;1)/2}&#10;used in square root)" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="452.5,-1416 255.5,-1416 255.5,-1318 452.5,-1318 452.5,-1416"/>
<text text-anchor="middle" x="354" y="-1400.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4883</text>
<text text-anchor="middle" x="354" y="-1385.8" font-family="Times,serif" font-size="14.00" fill="#000000">Find optimized addition</text>
<text text-anchor="middle" x="354" y="-1370.8" font-family="Times,serif" font-size="14.00" fill="#000000">chains for the Pasta</text>
<text text-anchor="middle" x="354" y="-1355.8" font-family="Times,serif" font-size="14.00" fill="#000000">fields (x^{1/α} used in</text>
<text text-anchor="middle" x="354" y="-1340.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rescue, and x^{(m&#45;1)/2}</text>
<text text-anchor="middle" x="354" y="-1325.8" font-family="Times,serif" font-size="14.00" fill="#000000">used in square root)</text>
</a>
</g>
</g>
<!-- zcash/halo2#72 -->
<g id="node25" class="node">
<title>zcash/halo2#72</title>
<g id="a_node25"><a xlink:href="https://github.com/zcash/halo2/issues/72" xlink:title="zcash/halo2#72&#10;Implement table&#45;based&#10;variant of Sarkar&#39;s&#10;square root algorithm" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="733.5,-1354 551.5,-1354 551.5,-1286 733.5,-1286 733.5,-1354"/>
<text text-anchor="middle" x="642.5" y="-1338.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#72</text>
<text text-anchor="middle" x="642.5" y="-1323.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement table&#45;based</text>
<text text-anchor="middle" x="642.5" y="-1308.8" font-family="Times,serif" font-size="14.00" fill="#000000">variant of Sarkar&#39;s</text>
<text text-anchor="middle" x="642.5" y="-1293.8" font-family="Times,serif" font-size="14.00" fill="#000000">square root algorithm</text>
</a>
</g>
</g>
<!-- zcash/zcash#4883&#45;&gt;zcash/halo2#72 -->
<g id="edge24" class="edge">
<title>zcash/zcash#4883&#45;&gt;zcash/halo2#72</title>
<path fill="none" stroke="#000000" d="M452.88,-1350.9C481.33,-1346.3 512.41,-1341.2 541.02,-1336.5"/>
<polygon fill="#000000" stroke="#000000" points="541.6986,-1339.936 551.02,-1334.9 540.5926,-1333.0239 541.6986,-1339.936"/>
</g>
<!-- zcash/zcash#4710 -->
<g id="node26" class="node">
<title>zcash/zcash#4710</title>
<g id="a_node26"><a xlink:href="https://github.com/zcash/zcash/issues/4710" xlink:title="zcash/zcash#4710&#10;[Orchard]&#10;Specify/implement&#10;GroupHash into&#10;Pallas/Vesta" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1059,-1361.5 908,-1361.5 908,-1278.5 1059,-1278.5 1059,-1361.5"/>
<text text-anchor="middle" x="983.5" y="-1346.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4710</text>
<text text-anchor="middle" x="983.5" y="-1331.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard]</text>
<text text-anchor="middle" x="983.5" y="-1316.3" font-family="Times,serif" font-size="14.00" fill="#000000">Specify/implement</text>
<text text-anchor="middle" x="983.5" y="-1301.3" font-family="Times,serif" font-size="14.00" fill="#000000">GroupHash into</text>
<text text-anchor="middle" x="983.5" y="-1286.3" font-family="Times,serif" font-size="14.00" fill="#000000">Pallas/Vesta</text>
</a>
</g>
</g>
<!-- zcash/halo2#72&#45;&gt;zcash/zcash#4710 -->
<g id="edge25" class="edge">
<title>zcash/halo2#72&#45;&gt;zcash/zcash#4710</title>
<path fill="none" stroke="#000000" d="M733.88,-1320C784.82,-1320 847.87,-1320 897.86,-1320"/>
<polygon fill="#000000" stroke="#000000" points="897.99,-1323.5001 907.99,-1320 897.99,-1316.5001 897.99,-1323.5001"/>
</g>
<!-- zcash/zcash#4710&#45;&gt;zcash/zcash#4707 -->
<g id="edge26" class="edge">
<title>zcash/zcash#4710&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1059.1,-1350.7C1087.6,-1366.1 1117.6,-1387.6 1136,-1416 1198,-1511.7 1087,-1594 1172,-1670 1226,-1718.3 1704.4,-1705.8 1911.5,-1698"/>
<polygon fill="#000000" stroke="#000000" points="1911.9434,-1701.4855 1921.8,-1697.6 1911.6717,-1694.4908 1911.9434,-1701.4855"/>
</g>
<!-- zcash/zcash#4710&#45;&gt;zcash/orchard#21 -->
<g id="edge27" class="edge">
<title>zcash/zcash#4710&#45;&gt;zcash/orchard#21</title>
<path fill="none" stroke="#000000" d="M1059.2,-1309.8C1108.9,-1303.1 1174.3,-1294.3 1227.7,-1287.1"/>
<polygon fill="#000000" stroke="#000000" points="1228.4688,-1290.5274 1237.9,-1285.7 1227.5169,-1283.5924 1228.4688,-1290.5274"/>
</g>
<!-- zcash/halo2#66 -->
<g id="node27" class="node">
<title>zcash/halo2#66</title>
<g id="a_node27"><a xlink:href="https://github.com/zcash/halo2/issues/66" xlink:title="zcash/halo2#66&#10;Refactor proofs to not&#10;require length encodings" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1423,-2100.5 1226,-2100.5 1226,-2047.5 1423,-2047.5 1423,-2100.5"/>
<text text-anchor="middle" x="1324.5" y="-2085.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#66</text>
<text text-anchor="middle" x="1324.5" y="-2070.3" font-family="Times,serif" font-size="14.00" fill="#000000">Refactor proofs to not</text>
<text text-anchor="middle" x="1324.5" y="-2055.3" font-family="Times,serif" font-size="14.00" fill="#000000">require length encodings</text>
</a>
</g>
</g>
<!-- zcash/zcash#4714 -->
<g id="node28" class="node">
<title>zcash/zcash#4714</title>
<g id="a_node28"><a xlink:href="https://github.com/zcash/zcash/issues/4714" xlink:title="zcash/zcash#4714&#10;[Orchard] Encoding of&#10;Halo 2 proofs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1754,-1885.5 1577,-1885.5 1577,-1832.5 1754,-1832.5 1754,-1885.5"/>
<text text-anchor="middle" x="1665.5" y="-1870.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4714</text>
<text text-anchor="middle" x="1665.5" y="-1855.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Encoding of</text>
<text text-anchor="middle" x="1665.5" y="-1840.3" font-family="Times,serif" font-size="14.00" fill="#000000">Halo 2 proofs</text>
</a>
</g>
</g>
<!-- zcash/halo2#66&#45;&gt;zcash/zcash#4714 -->
<g id="edge28" class="edge">
<title>zcash/halo2#66&#45;&gt;zcash/zcash#4714</title>
<path fill="none" stroke="#000000" d="M1423.2,-2067.1C1443.1,-2061.5 1462.4,-2052.4 1477,-2038 1524,-1991.7 1465.9,-1940.2 1513,-1894 1527.7,-1879.6 1547,-1870.7 1566.9,-1865.2"/>
<polygon fill="#000000" stroke="#000000" points="1567.8196,-1868.5783 1576.7,-1862.8 1566.1545,-1861.7792 1567.8196,-1868.5783"/>
</g>
<!-- zcash/halo2#67 -->
<g id="node29" class="node">
<title>zcash/halo2#67</title>
<g id="a_node29"><a xlink:href="https://github.com/zcash/halo2/issues/67" xlink:title="zcash/halo2#67&#10;Multi&#45;proof prover" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1740,-2137 1591,-2137 1591,-2099 1740,-2099 1740,-2137"/>
<text text-anchor="middle" x="1665.5" y="-2121.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#67</text>
<text text-anchor="middle" x="1665.5" y="-2106.8" font-family="Times,serif" font-size="14.00" fill="#000000">Multi&#45;proof prover</text>
</a>
</g>
</g>
<!-- zcash/halo2#66&#45;&gt;zcash/halo2#67 -->
<g id="edge29" class="edge">
<title>zcash/halo2#66&#45;&gt;zcash/halo2#67</title>
<path fill="none" stroke="#000000" d="M1423.1,-2086.7C1473.1,-2093.2 1533.1,-2100.9 1580.9,-2107.1"/>
<polygon fill="#000000" stroke="#000000" points="1580.5322,-2110.5816 1590.9,-2108.4 1581.4347,-2103.64 1580.5322,-2110.5816"/>
</g>
<!-- zcash/halo2#74 -->
<g id="node30" class="node">
<title>zcash/halo2#74</title>
<g id="a_node30"><a xlink:href="https://github.com/zcash/halo2/issues/74" xlink:title="zcash/halo2#74&#10;Implement plumbing for&#10;recursion" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1761,-2208.5 1570,-2208.5 1570,-2155.5 1761,-2155.5 1761,-2208.5"/>
<text text-anchor="middle" x="1665.5" y="-2193.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#74</text>
<text text-anchor="middle" x="1665.5" y="-2178.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement plumbing for</text>
<text text-anchor="middle" x="1665.5" y="-2163.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#66&#45;&gt;zcash/halo2#74 -->
<g id="edge30" class="edge">
<title>zcash/halo2#66&#45;&gt;zcash/halo2#74</title>
<path fill="none" stroke="#000000" d="M1423.1,-2088.8C1441.7,-2093.9 1460.5,-2100.8 1477,-2110 1496.8,-2121 1493.2,-2135 1513,-2146 1527.4,-2154 1543.4,-2160.2 1559.6,-2165.1"/>
<polygon fill="#000000" stroke="#000000" points="1559.1284,-2168.6012 1569.7,-2167.9 1560.9985,-2161.8556 1559.1284,-2168.6012"/>
</g>
<!-- zcash/zcash#4714&#45;&gt;zcash/zcash#4707 -->
<g id="edge31" class="edge">
<title>zcash/zcash#4714&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1754.3,-1840.3C1775.6,-1834.4 1798,-1827 1818,-1818 1872.3,-1793.6 1928.6,-1754.5 1965.3,-1726.7"/>
<polygon fill="#000000" stroke="#000000" points="1967.4702,-1729.4467 1973.3,-1720.6 1963.2257,-1723.8802 1967.4702,-1729.4467"/>
</g>
<!-- zcash/halo2#75 -->
<g id="node31" class="node">
<title>zcash/halo2#75</title>
<g id="a_node31"><a xlink:href="https://github.com/zcash/halo2/issues/75" xlink:title="zcash/halo2#75&#10;Implement support for&#10;recursion" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2096,-2263.5 1917,-2263.5 1917,-2210.5 2096,-2210.5 2096,-2263.5"/>
<text text-anchor="middle" x="2006.5" y="-2248.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#75</text>
<text text-anchor="middle" x="2006.5" y="-2233.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement support for</text>
<text text-anchor="middle" x="2006.5" y="-2218.3" font-family="Times,serif" font-size="14.00" fill="#000000">recursion</text>
</a>
</g>
</g>
<!-- zcash/halo2#74&#45;&gt;zcash/halo2#75 -->
<g id="edge32" class="edge">
<title>zcash/halo2#74&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1761.4,-2197.5C1806.8,-2204.8 1861,-2213.5 1906.9,-2220.9"/>
<polygon fill="#000000" stroke="#000000" points="1906.4726,-2224.3761 1916.9,-2222.5 1907.5786,-2217.464 1906.4726,-2224.3761"/>
</g>
<!-- zcash/halo2#251 -->
<g id="node32" class="node">
<title>zcash/halo2#251</title>
<g id="a_node32"><a xlink:href="https://github.com/zcash/halo2/issues/251" xlink:title="zcash/halo2#251&#10;Implement user&#45;facing API&#10;for recursive proving" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2407.5,-2263.5 2197.5,-2263.5 2197.5,-2210.5 2407.5,-2210.5 2407.5,-2263.5"/>
<text text-anchor="middle" x="2302.5" y="-2248.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#251</text>
<text text-anchor="middle" x="2302.5" y="-2233.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement user&#45;facing API</text>
<text text-anchor="middle" x="2302.5" y="-2218.3" font-family="Times,serif" font-size="14.00" fill="#000000">for recursive proving</text>
</a>
</g>
</g>
<!-- zcash/halo2#75&#45;&gt;zcash/halo2#251 -->
<g id="edge33" class="edge">
<title>zcash/halo2#75&#45;&gt;zcash/halo2#251</title>
<path fill="none" stroke="#000000" d="M2096.1,-2237C2124.8,-2237 2156.9,-2237 2187.2,-2237"/>
<polygon fill="#000000" stroke="#000000" points="2187.3,-2240.5001 2197.3,-2237 2187.3,-2233.5001 2187.3,-2240.5001"/>
</g>
<!-- zcash/zcash#4711 -->
<g id="node33" class="node">
<title>zcash/zcash#4711</title>
<g id="a_node33"><a xlink:href="https://github.com/zcash/zcash/issues/4711" xlink:title="zcash/zcash#4711&#10;[Orchard] Shielded&#10;protocol changes" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1742.5,-1627.5 1588.5,-1627.5 1588.5,-1574.5 1742.5,-1574.5 1742.5,-1627.5"/>
<text text-anchor="middle" x="1665.5" y="-1612.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4711</text>
<text text-anchor="middle" x="1665.5" y="-1597.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Shielded</text>
<text text-anchor="middle" x="1665.5" y="-1582.3" font-family="Times,serif" font-size="14.00" fill="#000000">protocol changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#4711&#45;&gt;zcash/zcash#4707 -->
<g id="edge34" class="edge">
<title>zcash/zcash#4711&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1742.7,-1621.7C1766.8,-1628.1 1793.5,-1635.3 1818,-1642 1848.5,-1650.3 1881.7,-1659.4 1911.6,-1667.7"/>
<polygon fill="#000000" stroke="#000000" points="1911.0266,-1671.174 1921.6,-1670.5 1912.9141,-1664.4333 1911.0266,-1671.174"/>
</g>
<!-- zcash/zcash#4711&#45;&gt;zcash/orchard#4 -->
<g id="edge35" class="edge">
<title>zcash/zcash#4711&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1742.8,-1587.2C1767.3,-1581.6 1794.2,-1574.3 1818,-1565 1868.2,-1545.4 1921.3,-1514.5 1958.4,-1491.1"/>
<polygon fill="#000000" stroke="#000000" points="1960.4057,-1493.9711 1966.9,-1485.6 1956.6029,-1488.0941 1960.4057,-1493.9711"/>
</g>
<!-- zcash/zcash#4712 -->
<g id="node35" class="node">
<title>zcash/zcash#4712</title>
<g id="a_node35"><a xlink:href="https://github.com/zcash/zcash/issues/4712" xlink:title="zcash/zcash#4712&#10;[Orchard] Note encryption" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1770,-1084 1561,-1084 1561,-1046 1770,-1046 1770,-1084"/>
<text text-anchor="middle" x="1665.5" y="-1068.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4712</text>
<text text-anchor="middle" x="1665.5" y="-1053.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Note encryption</text>
</a>
</g>
</g>
<!-- zcash/zcash#4712&#45;&gt;zcash/zcash#4707 -->
<g id="edge37" class="edge">
<title>zcash/zcash#4712&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1770.3,-1065.9C1788.4,-1070.8 1805.4,-1079.2 1818,-1093 1878.3,-1159.1 1821.6,-1410.6 1854,-1494 1879.7,-1560.1 1934.2,-1622.9 1970.6,-1659.9"/>
<polygon fill="#000000" stroke="#000000" points="1968.554,-1662.8038 1978.1,-1667.4 1973.5038,-1657.854 1968.554,-1662.8038"/>
</g>
<!-- zcash/zcash#4712&#45;&gt;zcash/orchard#32 -->
<g id="edge38" class="edge">
<title>zcash/zcash#4712&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1729.2,-1045.9C1779.4,-1030.9 1850.3,-1009.7 1907.8,-992.51"/>
<polygon fill="#000000" stroke="#000000" points="1909.1102,-995.7721 1917.7,-989.57 1907.1174,-989.0617 1909.1102,-995.7721"/>
</g>
<!-- zcash/zcash#4713 -->
<g id="node37" class="node">
<title>zcash/zcash#4713</title>
<g id="a_node37"><a xlink:href="https://github.com/zcash/zcash/issues/4713" xlink:title="zcash/zcash#4713&#10;[Orchard] Commitment&#10;Merkle tree design" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1758,-1956.5 1573,-1956.5 1573,-1903.5 1758,-1903.5 1758,-1956.5"/>
<text text-anchor="middle" x="1665.5" y="-1941.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4713</text>
<text text-anchor="middle" x="1665.5" y="-1926.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Commitment</text>
<text text-anchor="middle" x="1665.5" y="-1911.3" font-family="Times,serif" font-size="14.00" fill="#000000">Merkle tree design</text>
</a>
</g>
</g>
<!-- zcash/zcash#4713&#45;&gt;zcash/zcash#4707 -->
<g id="edge41" class="edge">
<title>zcash/zcash#4713&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1758.3,-1917.2C1778.8,-1911.9 1799.9,-1904.5 1818,-1894 1820.4,-1892.6 1921.5,-1784.8 1974.6,-1728.1"/>
<polygon fill="#000000" stroke="#000000" points="1977.2402,-1730.4008 1981.5,-1720.7 1972.1205,-1725.627 1977.2402,-1730.4008"/>
</g>
<!-- zcash/zcash#4713&#45;&gt;zcash/orchard#33 -->
<g id="edge42" class="edge">
<title>zcash/zcash#4713&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1758.2,-1919.9C1796.8,-1915.8 1842,-1910.8 1883.3,-1906.4"/>
<polygon fill="#000000" stroke="#000000" points="1883.8378,-1909.8622 1893.4,-1905.3 1883.0798,-1902.9034 1883.8378,-1909.8622"/>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5024 -->
<g id="edge44" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2339.5,-1851.4C2389.3,-1795.4 2477,-1697 2523.1,-1645.1"/>
<polygon fill="#000000" stroke="#000000" points="2525.8404,-1647.2862 2529.9,-1637.5 2520.6237,-1642.6186 2525.8404,-1647.2862"/>
</g>
<!-- zcash/zcash#5037 -->
<g id="node39" class="node">
<title>zcash/zcash#5037</title>
<g id="a_node39"><a xlink:href="https://github.com/zcash/zcash/issues/5037" xlink:title="zcash/zcash#5037&#10;Add Orchard metadata to&#10;history trees" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2653.5,-1976.5 2453.5,-1976.5 2453.5,-1923.5 2653.5,-1923.5 2653.5,-1976.5"/>
<text text-anchor="middle" x="2553.5" y="-1961.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5037</text>
<text text-anchor="middle" x="2553.5" y="-1946.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard metadata to</text>
<text text-anchor="middle" x="2553.5" y="-1931.3" font-family="Times,serif" font-size="14.00" fill="#000000">history trees</text>
</a>
</g>
</g>
<!-- zcash/zcash#5018&#45;&gt;zcash/zcash#5037 -->
<g id="edge45" class="edge">
<title>zcash/zcash#5018&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M2388.5,-1912.5C2406.2,-1916.6 2425.1,-1920.8 2443.5,-1925"/>
<polygon fill="#000000" stroke="#000000" points="2442.7648,-1928.4225 2453.3,-1927.3 2444.3643,-1921.6077 2442.7648,-1928.4225"/>
</g>
<!-- zcash/zcash#4716 -->
<g id="node40" class="node">
<title>zcash/zcash#4716</title>
<g id="a_node40"><a xlink:href="https://github.com/zcash/zcash/issues/4716" xlink:title="zcash/zcash#4716&#10;[Orchard] Specify&#10;transaction format and&#10;hashing changes" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1756.5,-1414 1574.5,-1414 1574.5,-1346 1756.5,-1346 1756.5,-1414"/>
<text text-anchor="middle" x="1665.5" y="-1398.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4716</text>
<text text-anchor="middle" x="1665.5" y="-1383.8" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Specify</text>
<text text-anchor="middle" x="1665.5" y="-1368.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format and</text>
<text text-anchor="middle" x="1665.5" y="-1353.8" font-family="Times,serif" font-size="14.00" fill="#000000">hashing changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#4716&#45;&gt;zcash/zcash#4707 -->
<g id="edge46" class="edge">
<title>zcash/zcash#4716&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1756.5,-1392.6C1778.4,-1399 1800.5,-1408.6 1818,-1423 1845.3,-1445.5 1835.2,-1464 1854,-1494 1892.3,-1555.1 1944.7,-1620.7 1977.1,-1659.5"/>
<polygon fill="#000000" stroke="#000000" points="1974.5093,-1661.8584 1983.6,-1667.3 1979.8869,-1657.3771 1974.5093,-1661.8584"/>
</g>
<!-- zcash/orchard#34 -->
<g id="node41" class="node">
<title>zcash/orchard#34</title>
<g id="a_node41"><a xlink:href="https://github.com/zcash/orchard/issues/34" xlink:title="zcash/orchard#34&#10;Add parsing and&#10;serialization support for&#10;Orchard bundles" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2101,-1245 1912,-1245 1912,-1177 2101,-1177 2101,-1245"/>
<text text-anchor="middle" x="2006.5" y="-1229.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#34</text>
<text text-anchor="middle" x="2006.5" y="-1214.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add parsing and</text>
<text text-anchor="middle" x="2006.5" y="-1199.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization support for</text>
<text text-anchor="middle" x="2006.5" y="-1184.8" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard bundles</text>
</a>
</g>
</g>
<!-- zcash/zcash#4716&#45;&gt;zcash/orchard#34 -->
<g id="edge47" class="edge">
<title>zcash/zcash#4716&#45;&gt;zcash/orchard#34</title>
<path fill="none" stroke="#000000" d="M1756.7,-1358.6C1777.3,-1352.4 1798.7,-1344.9 1818,-1336 1867.5,-1313.1 1918.8,-1278.2 1955.4,-1251.1"/>
<polygon fill="#000000" stroke="#000000" points="1957.5,-1253.9 1963.4,-1245.1 1953.3,-1248.3 1957.5,-1253.9"/>
</g>
<!-- zcash/zcash#5022 -->
<g id="node42" class="node">
<title>zcash/zcash#5022</title>
<g id="a_node42"><a xlink:href="https://github.com/zcash/zcash/issues/5022" xlink:title="zcash/zcash#5022&#10;Implement ZIP&#45;225&#10;transaction format&#10;changes in zcashd." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2380,-1231 2225,-1231 2225,-1163 2380,-1163 2380,-1231"/>
<text text-anchor="middle" x="2302.5" y="-1215.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5022</text>
<text text-anchor="middle" x="2302.5" y="-1200.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;225</text>
<text text-anchor="middle" x="2302.5" y="-1185.8" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format</text>
<text text-anchor="middle" x="2302.5" y="-1170.8" font-family="Times,serif" font-size="14.00" fill="#000000">changes in zcashd.</text>
</a>
</g>
</g>
<!-- zcash/orchard#34&#45;&gt;zcash/zcash#5022 -->
<g id="edge48" class="edge">
<title>zcash/orchard#34&#45;&gt;zcash/zcash#5022</title>
<path fill="none" stroke="#000000" d="M2101.4,-1206.5C2137.7,-1204.8 2178.9,-1202.8 2214.6,-1201.2"/>
<polygon fill="#000000" stroke="#000000" points="2215.1796,-1204.6763 2225,-1200.7 2214.8434,-1197.6843 2215.1796,-1204.6763"/>
</g>
<!-- zcash/librustzcash#350 -->
<g id="node43" class="node">
<title>zcash/librustzcash#350</title>
<g id="a_node43"><a xlink:href="https://github.com/zcash/librustzcash/issues/350" xlink:title="zcash/librustzcash#350&#10;Implement ZIP&#45;225&#10;transaction format &amp;&#10;hashing changes in&#10;librustzcash." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2396.5,-1332.5 2208.5,-1332.5 2208.5,-1249.5 2396.5,-1249.5 2396.5,-1332.5"/>
<text text-anchor="middle" x="2302.5" y="-1317.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#350</text>
<text text-anchor="middle" x="2302.5" y="-1302.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP&#45;225</text>
<text text-anchor="middle" x="2302.5" y="-1287.3" font-family="Times,serif" font-size="14.00" fill="#000000">transaction format &amp;</text>
<text text-anchor="middle" x="2302.5" y="-1272.3" font-family="Times,serif" font-size="14.00" fill="#000000">hashing changes in</text>
<text text-anchor="middle" x="2302.5" y="-1257.3" font-family="Times,serif" font-size="14.00" fill="#000000">librustzcash.</text>
</a>
</g>
</g>
<!-- zcash/orchard#34&#45;&gt;zcash/librustzcash#350 -->
<g id="edge49" class="edge">
<title>zcash/orchard#34&#45;&gt;zcash/librustzcash#350</title>
<path fill="none" stroke="#000000" d="M2101.4,-1236.6C2132.4,-1245 2167,-1254.4 2198.7,-1262.9"/>
<polygon fill="#000000" stroke="#000000" points="2197.8277,-1266.2902 2208.4,-1265.6 2199.7048,-1259.5466 2197.8277,-1266.2902"/>
</g>
<!-- zcash/zcash#5022&#45;&gt;zcash/zcash#5024 -->
<g id="edge50" class="edge">
<title>zcash/zcash#5022&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2380.1,-1218.9C2391.1,-1224.5 2401.5,-1231.4 2410,-1240 2504.6,-1335.7 2538.4,-1500.8 2549.1,-1574.1"/>
<polygon fill="#000000" stroke="#000000" points="2545.6601,-1574.7753 2550.5,-1584.2 2552.5938,-1573.8141 2545.6601,-1574.7753"/>
</g>
<!-- zcash/zcash#5022&#45;&gt;zcash/zcash#5021 -->
<g id="edge51" class="edge">
<title>zcash/zcash#5022&#45;&gt;zcash/zcash#5021</title>
<path fill="none" stroke="#000000" d="M2329.8,-1162.9C2377.9,-1103 2477,-979.4 2525.5,-918.9"/>
<polygon fill="#000000" stroke="#000000" points="2528.471,-920.7899 2532,-910.8 2523.0115,-916.4088 2528.471,-920.7899"/>
</g>
<!-- zcash/zcash#4708 -->
<g id="node44" class="node">
<title>zcash/zcash#4708</title>
<g id="a_node44"><a xlink:href="https://github.com/zcash/zcash/issues/4708" xlink:title="zcash/zcash#4708&#10;Specify Poseidon&#10;instantiation" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1058.5,-1123.5 908.5,-1123.5 908.5,-1070.5 1058.5,-1070.5 1058.5,-1123.5"/>
<text text-anchor="middle" x="983.5" y="-1108.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4708</text>
<text text-anchor="middle" x="983.5" y="-1093.3" font-family="Times,serif" font-size="14.00" fill="#000000">Specify Poseidon</text>
<text text-anchor="middle" x="983.5" y="-1078.3" font-family="Times,serif" font-size="14.00" fill="#000000">instantiation</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash/zcash#4707 -->
<g id="edge52" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1017,-1123.7C1053.1,-1154.5 1108.9,-1208.8 1136,-1269 1163.2,-1329.4 1127.2,-1516.2 1172,-1565 1270.1,-1671.7 1714.3,-1690.5 1911.6,-1693.6"/>
<polygon fill="#000000" stroke="#000000" points="1911.6658,-1697.1007 1921.7,-1693.7 1911.7352,-1690.1011 1911.6658,-1697.1007"/>
</g>
<!-- zcash/orchard#37 -->
<g id="node45" class="node">
<title>zcash/orchard#37</title>
<g id="a_node45"><a xlink:href="https://github.com/zcash/orchard/issues/37" xlink:title="zcash/orchard#37&#10;Implement Poseidon&#10;outside the circuit" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1406,-1155.5 1243,-1155.5 1243,-1102.5 1406,-1102.5 1406,-1155.5"/>
<text text-anchor="middle" x="1324.5" y="-1140.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#37</text>
<text text-anchor="middle" x="1324.5" y="-1125.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon</text>
<text text-anchor="middle" x="1324.5" y="-1110.3" font-family="Times,serif" font-size="14.00" fill="#000000">outside the circuit</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash/orchard#37 -->
<g id="edge53" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash/orchard#37</title>
<path fill="none" stroke="#000000" d="M1058.8,-1104.1C1110.1,-1108.9 1178.4,-1115.3 1232.9,-1120.4"/>
<polygon fill="#000000" stroke="#000000" points="1232.6265,-1123.8894 1242.9,-1121.3 1233.254,-1116.9176 1232.6265,-1123.8894"/>
</g>
<!-- zcash/orchard#45 -->
<g id="node46" class="node">
<title>zcash/orchard#45</title>
<g id="a_node46"><a xlink:href="https://github.com/zcash/orchard/issues/45" xlink:title="zcash/orchard#45&#10;Implement Poseidon gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1433,-1084 1216,-1084 1216,-1046 1433,-1046 1433,-1084"/>
<text text-anchor="middle" x="1324.5" y="-1068.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#45</text>
<text text-anchor="middle" x="1324.5" y="-1053.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon gadget</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash/orchard#45 -->
<g id="edge54" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash/orchard#45</title>
<path fill="none" stroke="#000000" d="M1058.8,-1089.9C1101.9,-1085.9 1157,-1080.7 1205.8,-1076.1"/>
<polygon fill="#000000" stroke="#000000" points="1206.154,-1079.5824 1215.8,-1075.2 1205.5265,-1072.6106 1206.154,-1079.5824"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#22 -->
<g id="node47" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#22</title>
<g id="a_node47"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/22" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#22&#10;Implement Poseidon test&#10;vectors" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1477,-633.5 1172,-633.5 1172,-580.5 1477,-580.5 1477,-633.5"/>
<text text-anchor="middle" x="1324.5" y="-618.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#22</text>
<text text-anchor="middle" x="1324.5" y="-603.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Poseidon test</text>
<text text-anchor="middle" x="1324.5" y="-588.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash/zcash#4708&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#22 -->
<g id="edge55" class="edge">
<title>zcash/zcash#4708&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#22</title>
<path fill="none" stroke="#000000" d="M991.5,-1070.2C1012.4,-1003.9 1073.7,-828.83 1172,-714 1197.9,-683.7 1234.3,-657.77 1265,-639.02"/>
<polygon fill="#000000" stroke="#000000" points="1267.1258,-641.8262 1273.9,-633.68 1263.5243,-635.8238 1267.1258,-641.8262"/>
</g>
<!-- zcash/orchard#37&#45;&gt;zcash/orchard#31 -->
<g id="edge56" class="edge">
<title>zcash/orchard#37&#45;&gt;zcash/orchard#31</title>
<path fill="none" stroke="#000000" d="M1406.2,-1129C1451.6,-1129 1508.7,-1129 1557.8,-1129"/>
<polygon fill="#000000" stroke="#000000" points="1557.8,-1132.5001 1567.8,-1129 1557.8,-1125.5001 1557.8,-1132.5001"/>
</g>
<!-- zcash/orchard#45&#45;&gt;zcash/orchard#4 -->
<g id="edge57" class="edge">
<title>zcash/orchard#45&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1413.1,-1046C1538.4,-1021.3 1759,-986.99 1818,-1037 1892.6,-1100.2 1815.7,-1164 1854,-1254 1882.4,-1320.9 1936.9,-1386.1 1972.5,-1424.4"/>
<polygon fill="#000000" stroke="#000000" points="1970.4114,-1427.2904 1979.8,-1432.2 1975.5222,-1422.5071 1970.4114,-1427.2904"/>
</g>
<!-- zcash/halo2#79 -->
<g id="node48" class="node">
<title>zcash/halo2#79</title>
<g id="a_node48"><a xlink:href="https://github.com/zcash/halo2/issues/79" xlink:title="zcash/halo2#79&#10;Migrate Rescue and&#10;Poseidon gadgets to&#10;algebraic hash&#10;abstraction" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1746,-1256.5 1585,-1256.5 1585,-1173.5 1746,-1173.5 1746,-1256.5"/>
<text text-anchor="middle" x="1665.5" y="-1241.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#79</text>
<text text-anchor="middle" x="1665.5" y="-1226.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate Rescue and</text>
<text text-anchor="middle" x="1665.5" y="-1211.3" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon gadgets to</text>
<text text-anchor="middle" x="1665.5" y="-1196.3" font-family="Times,serif" font-size="14.00" fill="#000000">algebraic hash</text>
<text text-anchor="middle" x="1665.5" y="-1181.3" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction</text>
</a>
</g>
</g>
<!-- zcash/orchard#45&#45;&gt;zcash/halo2#79 -->
<g id="edge58" class="edge">
<title>zcash/orchard#45&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1433,-1072.1C1448.8,-1076.7 1464.1,-1083.3 1477,-1093 1505.3,-1114.2 1486.2,-1140.9 1513,-1164 1530.6,-1179.2 1552.8,-1189.9 1574.9,-1197.4"/>
<polygon fill="#000000" stroke="#000000" points="1574.0091,-1200.7896 1584.6,-1200.5 1576.1401,-1194.1219 1574.0091,-1200.7896"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="node49" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</title>
<g id="a_node49"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/24" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#24&#10;Implement Orchard key&#10;components test vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1818,-562.5 1513,-562.5 1513,-509.5 1818,-509.5 1818,-562.5"/>
<text text-anchor="middle" x="1665.5" y="-547.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</text>
<text text-anchor="middle" x="1665.5" y="-532.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard key</text>
<text text-anchor="middle" x="1665.5" y="-517.3" font-family="Times,serif" font-size="14.00" fill="#000000">components test vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#22&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="edge59" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#22&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</title>
<path fill="none" stroke="#000000" d="M1452,-580.46C1476.8,-575.28 1503,-569.83 1528.2,-564.58"/>
<polygon fill="#000000" stroke="#000000" points="1529.1171,-567.9644 1538.2,-562.51 1527.6981,-561.1098 1529.1171,-567.9644"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="node50" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<g id="a_node50"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/26" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#10;Implement Unified Address&#10;encodings" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2159,-443.5 1854,-443.5 1854,-390.5 2159,-390.5 2159,-443.5"/>
<text text-anchor="middle" x="2006.5" y="-428.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</text>
<text text-anchor="middle" x="2006.5" y="-413.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="2006.5" y="-398.3" font-family="Times,serif" font-size="14.00" fill="#000000">encodings</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#24&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="edge60" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#24&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<path fill="none" stroke="#000000" d="M1801.5,-509.34C1807.2,-506.53 1812.8,-503.43 1818,-500 1840.3,-485.4 1831.6,-466.53 1854,-452 1855.9,-450.77 1857.8,-449.58 1859.8,-448.43"/>
<polygon fill="#000000" stroke="#000000" points="1861.4764,-451.5025 1868.6,-443.66 1858.1406,-445.3484 1861.4764,-451.5025"/>
</g>
<!-- zcash/librustzcash#371 -->
<g id="node60" class="node">
<title>zcash/librustzcash#371</title>
<g id="a_node60"><a xlink:href="https://github.com/zcash/librustzcash/issues/371" xlink:title="zcash/librustzcash#371&#10;Implement parsing and&#10;serialization of Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2396.5,-487 2208.5,-487 2208.5,-419 2396.5,-419 2396.5,-487"/>
<text text-anchor="middle" x="2302.5" y="-471.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#371</text>
<text text-anchor="middle" x="2302.5" y="-456.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement parsing and</text>
<text text-anchor="middle" x="2302.5" y="-441.8" font-family="Times,serif" font-size="14.00" fill="#000000">serialization of Unified</text>
<text text-anchor="middle" x="2302.5" y="-426.8" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371 -->
<g id="edge93" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#26&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2159.3,-435.58C2172.4,-437.18 2185.5,-438.78 2198.2,-440.31"/>
<polygon fill="#000000" stroke="#000000" points="2197.8497,-443.7931 2208.2,-441.53 2198.6975,-436.8447 2197.8497,-443.7931"/>
</g>
<!-- zcash/halo2#144 -->
<g id="node51" class="node">
<title>zcash/halo2#144</title>
<g id="a_node51"><a xlink:href="https://github.com/zcash/halo2/issues/144" xlink:title="zcash/halo2#144&#10;book: Specify proof&#10;encoding" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1402,-1885.5 1247,-1885.5 1247,-1832.5 1402,-1832.5 1402,-1885.5"/>
<text text-anchor="middle" x="1324.5" y="-1870.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#144</text>
<text text-anchor="middle" x="1324.5" y="-1855.3" font-family="Times,serif" font-size="14.00" fill="#000000">book: Specify proof</text>
<text text-anchor="middle" x="1324.5" y="-1840.3" font-family="Times,serif" font-size="14.00" fill="#000000">encoding</text>
</a>
</g>
</g>
<!-- zcash/halo2#144&#45;&gt;zcash/zcash#4714 -->
<g id="edge61" class="edge">
<title>zcash/halo2#144&#45;&gt;zcash/zcash#4714</title>
<path fill="none" stroke="#000000" d="M1402.3,-1859C1451,-1859 1514.3,-1859 1566.6,-1859"/>
<polygon fill="#000000" stroke="#000000" points="1566.9,-1862.5001 1576.9,-1859 1566.9,-1855.5001 1566.9,-1862.5001"/>
</g>
<!-- zcash/zcash#4709 -->
<g id="node52" class="node">
<title>zcash/zcash#4709</title>
<g id="a_node52"><a xlink:href="https://github.com/zcash/zcash/issues/4709" xlink:title="zcash/zcash#4709&#10;[Orchard] Specify&#10;RedPallas" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1740.5,-1775.5 1590.5,-1775.5 1590.5,-1722.5 1740.5,-1722.5 1740.5,-1775.5"/>
<text text-anchor="middle" x="1665.5" y="-1760.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4709</text>
<text text-anchor="middle" x="1665.5" y="-1745.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Orchard] Specify</text>
<text text-anchor="middle" x="1665.5" y="-1730.3" font-family="Times,serif" font-size="14.00" fill="#000000">RedPallas</text>
</a>
</g>
</g>
<!-- zcash/zcash#4709&#45;&gt;zcash/zcash#4707 -->
<g id="edge62" class="edge">
<title>zcash/zcash#4709&#45;&gt;zcash/zcash#4707</title>
<path fill="none" stroke="#000000" d="M1740.8,-1736.9C1791.2,-1728.7 1857.9,-1718 1911.9,-1709.3"/>
<polygon fill="#000000" stroke="#000000" points="1912.4865,-1712.7507 1921.8,-1707.7 1911.3697,-1705.8404 1912.4865,-1712.7507"/>
</g>
<!-- zcash/zips#454 -->
<g id="node53" class="node">
<title>zcash/zips#454</title>
<g id="a_node53"><a xlink:href="https://github.com/zcash/zips/issues/454" xlink:title="zcash/zips#454&#10;Poseidon: copy parameter&#10;generation script to&#10;zcash/pasta and settle on&#10;parameters" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="744,-1138.5 541,-1138.5 541,-1055.5 744,-1055.5 744,-1138.5"/>
<text text-anchor="middle" x="642.5" y="-1123.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#454</text>
<text text-anchor="middle" x="642.5" y="-1108.3" font-family="Times,serif" font-size="14.00" fill="#000000">Poseidon: copy parameter</text>
<text text-anchor="middle" x="642.5" y="-1093.3" font-family="Times,serif" font-size="14.00" fill="#000000">generation script to</text>
<text text-anchor="middle" x="642.5" y="-1078.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/pasta and settle on</text>
<text text-anchor="middle" x="642.5" y="-1063.3" font-family="Times,serif" font-size="14.00" fill="#000000">parameters</text>
</a>
</g>
</g>
<!-- zcash/zips#454&#45;&gt;zcash/zcash#4708 -->
<g id="edge63" class="edge">
<title>zcash/zips#454&#45;&gt;zcash/zcash#4708</title>
<path fill="none" stroke="#000000" d="M744.35,-1097C793.44,-1097 851.65,-1097 898.35,-1097"/>
<polygon fill="#000000" stroke="#000000" points="898.43,-1100.5001 908.43,-1097 898.43,-1093.5001 898.43,-1100.5001"/>
</g>
<!-- zcash/zcash#5019 -->
<g id="node54" class="node">
<title>zcash/zcash#5019</title>
<g id="a_node54"><a xlink:href="https://github.com/zcash/zcash/issues/5019" xlink:title="zcash/zcash#5019&#10;Add Orchard keys and&#10;addresses to the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2394,-676.5 2211,-676.5 2211,-623.5 2394,-623.5 2394,-676.5"/>
<text text-anchor="middle" x="2302.5" y="-661.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5019</text>
<text text-anchor="middle" x="2302.5" y="-646.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard keys and</text>
<text text-anchor="middle" x="2302.5" y="-631.3" font-family="Times,serif" font-size="14.00" fill="#000000">addresses to the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5023 -->
<g id="edge65" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5023</title>
<path fill="none" stroke="#000000" d="M2394.1,-671.57C2466.6,-688.89 2570.5,-714.15 2661,-738 2671,-740.64 2681.4,-743.43 2691.8,-746.28"/>
<polygon fill="#000000" stroke="#000000" points="2691.1294,-749.7256 2701.7,-749.01 2692.9903,-742.9775 2691.1294,-749.7256"/>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5020 -->
<g id="edge64" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5020</title>
<path fill="none" stroke="#000000" d="M2382,-676.57C2391.6,-680.43 2401.1,-684.6 2410,-689 2440.2,-703.9 2471.8,-723.71 2497.7,-741.12"/>
<polygon fill="#000000" stroke="#000000" points="2496.0544,-744.2321 2506.3,-746.93 2499.9731,-738.4317 2496.0544,-744.2321"/>
</g>
<!-- zcash/zcash#5179 -->
<g id="node55" class="node">
<title>zcash/zcash#5179</title>
<g id="a_node55"><a xlink:href="https://github.com/zcash/zcash/issues/5179" xlink:title="zcash/zcash#5179&#10;Add Unified Address key&#10;generation and storage to&#10;the wallet" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2654.5,-380 2452.5,-380 2452.5,-312 2654.5,-312 2654.5,-380"/>
<text text-anchor="middle" x="2553.5" y="-364.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5179</text>
<text text-anchor="middle" x="2553.5" y="-349.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Unified Address key</text>
<text text-anchor="middle" x="2553.5" y="-334.8" font-family="Times,serif" font-size="14.00" fill="#000000">generation and storage to</text>
<text text-anchor="middle" x="2553.5" y="-319.8" font-family="Times,serif" font-size="14.00" fill="#000000">the wallet</text>
</a>
</g>
</g>
<!-- zcash/zcash#5019&#45;&gt;zcash/zcash#5179 -->
<g id="edge66" class="edge">
<title>zcash/zcash#5019&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M2323.8,-623.33C2346.9,-593.49 2384.1,-543.14 2410,-496 2430,-459.69 2418.8,-441.28 2446,-410 2453.8,-401.03 2463.2,-392.97 2473.1,-385.85"/>
<polygon fill="#000000" stroke="#000000" points="2475.239,-388.627 2481.5,-380.08 2471.2756,-382.857 2475.239,-388.627"/>
</g>
<!-- zcash/zcash#5178 -->
<g id="node56" class="node">
<title>zcash/zcash#5178</title>
<g id="a_node56"><a xlink:href="https://github.com/zcash/zcash/issues/5178" xlink:title="zcash/zcash#5178&#10;New RPC: z_getnewaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2916,-429 2697,-429 2697,-391 2916,-391 2916,-429"/>
<text text-anchor="middle" x="2806.5" y="-413.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5178</text>
<text text-anchor="middle" x="2806.5" y="-398.8" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC: z_getnewaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5178 -->
<g id="edge67" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M2654.6,-371.57C2676.8,-377.19 2700.1,-383.08 2721.6,-388.51"/>
<polygon fill="#000000" stroke="#000000" points="2720.7455,-391.904 2731.3,-390.98 2722.4729,-385.1205 2720.7455,-391.904"/>
</g>
<!-- zcash/zcash#5180 -->
<g id="node57" class="node">
<title>zcash/zcash#5180</title>
<g id="a_node57"><a xlink:href="https://github.com/zcash/zcash/issues/5180" xlink:title="zcash/zcash#5180&#10;New RPC:&#10;z_getaddressforaccount" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2900.5,-372.5 2712.5,-372.5 2712.5,-319.5 2900.5,-319.5 2900.5,-372.5"/>
<text text-anchor="middle" x="2806.5" y="-357.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5180</text>
<text text-anchor="middle" x="2806.5" y="-342.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="2806.5" y="-327.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_getaddressforaccount</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5180 -->
<g id="edge68" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5180</title>
<path fill="none" stroke="#000000" d="M2654.6,-346C2670.2,-346 2686.3,-346 2701.9,-346"/>
<polygon fill="#000000" stroke="#000000" points="2702.1,-349.5001 2712.1,-346 2702.1,-342.5001 2702.1,-349.5001"/>
</g>
<!-- zcash/zcash#5182 -->
<g id="node58" class="node">
<title>zcash/zcash#5182</title>
<g id="a_node58"><a xlink:href="https://github.com/zcash/zcash/issues/5182" xlink:title="zcash/zcash#5182&#10;New RPC:&#10;z_getbalanceforaddress" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2900,-301.5 2713,-301.5 2713,-248.5 2900,-248.5 2900,-301.5"/>
<text text-anchor="middle" x="2806.5" y="-286.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5182</text>
<text text-anchor="middle" x="2806.5" y="-271.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="2806.5" y="-256.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_getbalanceforaddress</text>
</a>
</g>
</g>
<!-- zcash/zcash#5179&#45;&gt;zcash/zcash#5182 -->
<g id="edge69" class="edge">
<title>zcash/zcash#5179&#45;&gt;zcash/zcash#5182</title>
<path fill="none" stroke="#000000" d="M2654.6,-317.63C2670.5,-313.15 2687.1,-308.52 2703.1,-304.03"/>
<polygon fill="#000000" stroke="#000000" points="2704.3186,-307.3233 2713,-301.25 2702.4261,-300.5839 2704.3186,-307.3233"/>
</g>
<!-- zcash/orchard#36 -->
<g id="node59" class="node">
<title>zcash/orchard#36</title>
<g id="a_node59"><a xlink:href="https://github.com/zcash/orchard/issues/36" xlink:title="zcash/orchard#36&#10;Parsing and serialization&#10;of Orchard keys and&#10;addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2103.5,-601 1909.5,-601 1909.5,-533 2103.5,-533 2103.5,-601"/>
<text text-anchor="middle" x="2006.5" y="-585.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#36</text>
<text text-anchor="middle" x="2006.5" y="-570.8" font-family="Times,serif" font-size="14.00" fill="#000000">Parsing and serialization</text>
<text text-anchor="middle" x="2006.5" y="-555.8" font-family="Times,serif" font-size="14.00" fill="#000000">of Orchard keys and</text>
<text text-anchor="middle" x="2006.5" y="-540.8" font-family="Times,serif" font-size="14.00" fill="#000000">addresses</text>
</a>
</g>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/zcash#5019 -->
<g id="edge70" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2103.8,-594.29C2135,-603.03 2169.5,-612.72 2201,-621.53"/>
<polygon fill="#000000" stroke="#000000" points="2200.0252,-624.8915 2210.6,-624.24 2201.927,-618.1548 2200.0252,-624.8915"/>
</g>
<!-- zcash/orchard#36&#45;&gt;zcash/librustzcash#371 -->
<g id="edge71" class="edge">
<title>zcash/orchard#36&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2103.7,-541.68C2122.3,-536.08 2141.4,-529.78 2159,-523 2182.4,-513.99 2207.2,-502.6 2229.5,-491.63"/>
<polygon fill="#000000" stroke="#000000" points="2231.1142,-494.7361 2238.5,-487.14 2227.9893,-488.4723 2231.1142,-494.7361"/>
</g>
<!-- zcash/zcash#5133 -->
<g id="node61" class="node">
<title>zcash/zcash#5133</title>
<g id="a_node61"><a xlink:href="https://github.com/zcash/zcash/issues/5133" xlink:title="zcash/zcash#5133&#10;Implement Unified Address&#10;parsing and serialization&#10;to KeyIO" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2661,-487 2446,-487 2446,-419 2661,-419 2661,-487"/>
<text text-anchor="middle" x="2553.5" y="-471.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5133</text>
<text text-anchor="middle" x="2553.5" y="-456.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Unified Address</text>
<text text-anchor="middle" x="2553.5" y="-441.8" font-family="Times,serif" font-size="14.00" fill="#000000">parsing and serialization</text>
<text text-anchor="middle" x="2553.5" y="-426.8" font-family="Times,serif" font-size="14.00" fill="#000000">to KeyIO</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#371&#45;&gt;zcash/zcash#5133 -->
<g id="edge72" class="edge">
<title>zcash/librustzcash#371&#45;&gt;zcash/zcash#5133</title>
<path fill="none" stroke="#000000" d="M2396.7,-453C2409.3,-453 2422.4,-453 2435.3,-453"/>
<polygon fill="#000000" stroke="#000000" points="2435.7,-456.5001 2445.7,-453 2435.7,-449.5001 2435.7,-456.5001"/>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5178 -->
<g id="edge73" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5178</title>
<path fill="none" stroke="#000000" d="M2661.2,-434.7C2669.7,-433.26 2678.3,-431.79 2686.9,-430.33"/>
<polygon fill="#000000" stroke="#000000" points="2687.633,-433.7555 2696.9,-428.62 2686.4531,-426.8557 2687.633,-433.7555"/>
</g>
<!-- zcash/zcash#5181 -->
<g id="node62" class="node">
<title>zcash/zcash#5181</title>
<g id="a_node62"><a xlink:href="https://github.com/zcash/zcash/issues/5181" xlink:title="zcash/zcash#5181&#10;New RPC:&#10;z_listunifiedreceivers" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2891.5,-500.5 2721.5,-500.5 2721.5,-447.5 2891.5,-447.5 2891.5,-500.5"/>
<text text-anchor="middle" x="2806.5" y="-485.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5181</text>
<text text-anchor="middle" x="2806.5" y="-470.3" font-family="Times,serif" font-size="14.00" fill="#000000">New RPC:</text>
<text text-anchor="middle" x="2806.5" y="-455.3" font-family="Times,serif" font-size="14.00" fill="#000000">z_listunifiedreceivers</text>
</a>
</g>
</g>
<!-- zcash/zcash#5133&#45;&gt;zcash/zcash#5181 -->
<g id="edge74" class="edge">
<title>zcash/zcash#5133&#45;&gt;zcash/zcash#5181</title>
<path fill="none" stroke="#000000" d="M2661.2,-461.94C2677.8,-463.31 2694.8,-464.73 2711.1,-466.08"/>
<polygon fill="#000000" stroke="#000000" points="2710.8421,-469.5706 2721.1,-466.92 2711.4281,-462.5951 2710.8421,-469.5706"/>
</g>
<!-- zcash/orchard#30 -->
<g id="node63" class="node">
<title>zcash/orchard#30</title>
<g id="a_node63"><a xlink:href="https://github.com/zcash/orchard/issues/30" xlink:title="zcash/orchard#30&#10;Implement ZIP 32 for&#10;Orchard" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2092.5,-672.5 1920.5,-672.5 1920.5,-619.5 2092.5,-619.5 2092.5,-672.5"/>
<text text-anchor="middle" x="2006.5" y="-657.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#30</text>
<text text-anchor="middle" x="2006.5" y="-642.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 32 for</text>
<text text-anchor="middle" x="2006.5" y="-627.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard</text>
</a>
</g>
</g>
<!-- zcash/orchard#30&#45;&gt;zcash/zcash#5019 -->
<g id="edge75" class="edge">
<title>zcash/orchard#30&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2092.5,-647.16C2126.3,-647.62 2165.4,-648.15 2200.5,-648.62"/>
<polygon fill="#000000" stroke="#000000" points="2200.7533,-652.1237 2210.8,-648.76 2200.8485,-645.1243 2200.7533,-652.1237"/>
</g>
<!-- zcash/zcash#4999 -->
<g id="node64" class="node">
<title>zcash/zcash#4999</title>
<g id="a_node64"><a xlink:href="https://github.com/zcash/zcash/pull/4999" xlink:title="zcash/zcash#4999&#10;Bitcoin 0.13 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="205.5,-2731 12.5,-2731 12.5,-2727 8.5,-2727 8.5,-2723 12.5,-2723 12.5,-2701 8.5,-2701 8.5,-2697 12.5,-2697 12.5,-2693 205.5,-2693 205.5,-2731"/>
<polyline fill="none" stroke="#000000" points="12.5,-2727 16.5,-2727 16.5,-2723 12.5,-2723 "/>
<polyline fill="none" stroke="#000000" points="12.5,-2701 16.5,-2701 16.5,-2697 12.5,-2697 "/>
<text text-anchor="middle" x="109" y="-2715.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4999</text>
<text text-anchor="middle" x="109" y="-2700.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.13 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5009 -->
<g id="node65" class="node">
<title>zcash/zcash#5009</title>
<g id="a_node65"><a xlink:href="https://github.com/zcash/zcash/pull/5009" xlink:title="zcash/zcash#5009&#10;Bitcoin 0.14 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="450.5,-2731 257.5,-2731 257.5,-2727 253.5,-2727 253.5,-2723 257.5,-2723 257.5,-2701 253.5,-2701 253.5,-2697 257.5,-2697 257.5,-2693 450.5,-2693 450.5,-2731"/>
<polyline fill="none" stroke="#000000" points="257.5,-2727 261.5,-2727 261.5,-2723 257.5,-2723 "/>
<polyline fill="none" stroke="#000000" points="257.5,-2701 261.5,-2701 261.5,-2697 257.5,-2697 "/>
<text text-anchor="middle" x="354" y="-2715.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5009</text>
<text text-anchor="middle" x="354" y="-2700.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.14 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#4999&#45;&gt;zcash/zcash#5009 -->
<g id="edge76" class="edge">
<title>zcash/zcash#4999&#45;&gt;zcash/zcash#5009</title>
<path fill="none" stroke="#000000" d="M205.83,-2712C219.5,-2712 233.61,-2712 247.45,-2712"/>
<polygon fill="#000000" stroke="#000000" points="247.47,-2715.5001 257.47,-2712 247.47,-2708.5001 247.47,-2715.5001"/>
</g>
<!-- zcash/zcash#5012 -->
<g id="node66" class="node">
<title>zcash/zcash#5012</title>
<g id="a_node66"><a xlink:href="https://github.com/zcash/zcash/pull/5012" xlink:title="zcash/zcash#5012&#10;Bitcoin 0.15 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="739,-2731 546,-2731 546,-2727 542,-2727 542,-2723 546,-2723 546,-2701 542,-2701 542,-2697 546,-2697 546,-2693 739,-2693 739,-2731"/>
<polyline fill="none" stroke="#000000" points="546,-2727 550,-2727 550,-2723 546,-2723 "/>
<polyline fill="none" stroke="#000000" points="546,-2701 550,-2701 550,-2697 546,-2697 "/>
<text text-anchor="middle" x="642.5" y="-2715.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5012</text>
<text text-anchor="middle" x="642.5" y="-2700.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.15 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5009&#45;&gt;zcash/zcash#5012 -->
<g id="edge77" class="edge">
<title>zcash/zcash#5009&#45;&gt;zcash/zcash#5012</title>
<path fill="none" stroke="#000000" d="M450.87,-2712C478.13,-2712 507.94,-2712 535.74,-2712"/>
<polygon fill="#000000" stroke="#000000" points="535.89,-2715.5001 545.89,-2712 535.89,-2708.5001 535.89,-2715.5001"/>
</g>
<!-- zcash/zcash#5017 -->
<g id="node67" class="node">
<title>zcash/zcash#5017</title>
<g id="a_node67"><a xlink:href="https://github.com/zcash/zcash/pull/5017" xlink:title="zcash/zcash#5017&#10;Bitcoin 0.16 locking PRs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1080,-2731 887,-2731 887,-2727 883,-2727 883,-2723 887,-2723 887,-2701 883,-2701 883,-2697 887,-2697 887,-2693 1080,-2693 1080,-2731"/>
<polyline fill="none" stroke="#000000" points="887,-2727 891,-2727 891,-2723 887,-2723 "/>
<polyline fill="none" stroke="#000000" points="887,-2701 891,-2701 891,-2697 887,-2697 "/>
<text text-anchor="middle" x="983.5" y="-2715.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5017</text>
<text text-anchor="middle" x="983.5" y="-2700.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.16 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5012&#45;&gt;zcash/zcash#5017 -->
<g id="edge78" class="edge">
<title>zcash/zcash#5012&#45;&gt;zcash/zcash#5017</title>
<path fill="none" stroke="#000000" d="M739.3,-2712C782.14,-2712 832.66,-2712 876.61,-2712"/>
<polygon fill="#000000" stroke="#000000" points="876.75,-2715.5001 886.75,-2712 876.75,-2708.5001 876.75,-2715.5001"/>
</g>
<!-- zcash/zcash#5034 -->
<g id="node68" class="node">
<title>zcash/zcash#5034</title>
<g id="a_node68"><a xlink:href="https://github.com/zcash/zcash/pull/5034" xlink:title="zcash/zcash#5034&#10;Bitcoin 0.17 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1421,-2731 1228,-2731 1228,-2727 1224,-2727 1224,-2723 1228,-2723 1228,-2701 1224,-2701 1224,-2697 1228,-2697 1228,-2693 1421,-2693 1421,-2731"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="1228,-2727 1232,-2727 1232,-2723 1228,-2723 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="1228,-2701 1232,-2701 1232,-2697 1228,-2697 "/>
<text text-anchor="middle" x="1324.5" y="-2715.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5034</text>
<text text-anchor="middle" x="1324.5" y="-2700.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.17 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5017&#45;&gt;zcash/zcash#5034 -->
<g id="edge79" class="edge">
<title>zcash/zcash#5017&#45;&gt;zcash/zcash#5034</title>
<path fill="none" stroke="#000000" d="M1080.3,-2712C1123.1,-2712 1173.7,-2712 1217.6,-2712"/>
<polygon fill="#000000" stroke="#000000" points="1217.7,-2715.5001 1227.7,-2712 1217.7,-2708.5001 1217.7,-2715.5001"/>
</g>
<!-- zcash/zcash#5050 -->
<g id="node69" class="node">
<title>zcash/zcash#5050</title>
<g id="a_node69"><a xlink:href="https://github.com/zcash/zcash/pull/5050" xlink:title="zcash/zcash#5050&#10;Bitcoin 0.18 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1762,-2731 1569,-2731 1569,-2727 1565,-2727 1565,-2723 1569,-2723 1569,-2701 1565,-2701 1565,-2697 1569,-2697 1569,-2693 1762,-2693 1762,-2731"/>
<polyline fill="none" stroke="#000000" points="1569,-2727 1573,-2727 1573,-2723 1569,-2723 "/>
<polyline fill="none" stroke="#000000" points="1569,-2701 1573,-2701 1573,-2697 1569,-2697 "/>
<text text-anchor="middle" x="1665.5" y="-2715.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5050</text>
<text text-anchor="middle" x="1665.5" y="-2700.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.18 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5034&#45;&gt;zcash/zcash#5050 -->
<g id="edge80" class="edge">
<title>zcash/zcash#5034&#45;&gt;zcash/zcash#5050</title>
<path fill="none" stroke="#000000" d="M1421.3,-2712C1464.1,-2712 1514.7,-2712 1558.6,-2712"/>
<polygon fill="#000000" stroke="#000000" points="1558.7,-2715.5001 1568.7,-2712 1558.7,-2708.5001 1558.7,-2715.5001"/>
</g>
<!-- zcash/zcash#5163 -->
<g id="node70" class="node">
<title>zcash/zcash#5163</title>
<g id="a_node70"><a xlink:href="https://github.com/zcash/zcash/pull/5163" xlink:title="zcash/zcash#5163&#10;Bitcoin 0.19 locking PRs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2103,-2731 1910,-2731 1910,-2727 1906,-2727 1906,-2723 1910,-2723 1910,-2701 1906,-2701 1906,-2697 1910,-2697 1910,-2693 2103,-2693 2103,-2731"/>
<polyline fill="none" stroke="#000000" points="1910,-2727 1914,-2727 1914,-2723 1910,-2723 "/>
<polyline fill="none" stroke="#000000" points="1910,-2701 1914,-2701 1914,-2697 1910,-2697 "/>
<text text-anchor="middle" x="2006.5" y="-2715.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5163</text>
<text text-anchor="middle" x="2006.5" y="-2700.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.19 locking PRs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5050&#45;&gt;zcash/zcash#5163 -->
<g id="edge81" class="edge">
<title>zcash/zcash#5050&#45;&gt;zcash/zcash#5163</title>
<path fill="none" stroke="#000000" d="M1762.3,-2712C1805.1,-2712 1855.7,-2712 1899.6,-2712"/>
<polygon fill="#000000" stroke="#000000" points="1899.7,-2715.5001 1909.7,-2712 1899.7,-2708.5001 1899.7,-2715.5001"/>
</g>
<!-- zcash/zcash#4997 -->
<g id="node71" class="node">
<title>zcash/zcash#4997</title>
<g id="a_node71"><a xlink:href="https://github.com/zcash/zcash/pull/4997" xlink:title="zcash/zcash#4997&#10;Replace setInventoryKnown&#10;with a rolling bloom&#10;filter" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="218,-2872 0,-2872 0,-2868 -4,-2868 -4,-2864 0,-2864 0,-2812 -4,-2812 -4,-2808 0,-2808 0,-2804 218,-2804 218,-2872"/>
<polyline fill="none" stroke="#000000" points="0,-2868 4,-2868 4,-2864 0,-2864 "/>
<polyline fill="none" stroke="#000000" points="0,-2812 4,-2812 4,-2808 0,-2808 "/>
<text text-anchor="middle" x="109" y="-2856.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4997</text>
<text text-anchor="middle" x="109" y="-2841.8" font-family="Times,serif" font-size="14.00" fill="#000000">Replace setInventoryKnown</text>
<text text-anchor="middle" x="109" y="-2826.8" font-family="Times,serif" font-size="14.00" fill="#000000">with a rolling bloom</text>
<text text-anchor="middle" x="109" y="-2811.8" font-family="Times,serif" font-size="14.00" fill="#000000">filter</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534 -->
<g id="node72" class="node">
<title>zcash/zcash#2534</title>
<g id="a_node72"><a xlink:href="https://github.com/zcash/zcash/pull/2534" xlink:title="zcash/zcash#2534&#10;Bitcoin 0.12 P2P/Net PRs&#10;1" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="454,-2864.5 254,-2864.5 254,-2860.5 250,-2860.5 250,-2856.5 254,-2856.5 254,-2819.5 250,-2819.5 250,-2815.5 254,-2815.5 254,-2811.5 454,-2811.5 454,-2864.5"/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="254,-2860.5 258,-2860.5 258,-2856.5 254,-2856.5 "/>
<polyline fill="none" stroke="#000000" stroke-width="2" points="254,-2819.5 258,-2819.5 258,-2815.5 254,-2815.5 "/>
<text text-anchor="middle" x="354" y="-2849.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2534</text>
<text text-anchor="middle" x="354" y="-2834.3" font-family="Times,serif" font-size="14.00" fill="#000000">Bitcoin 0.12 P2P/Net PRs</text>
<text text-anchor="middle" x="354" y="-2819.3" font-family="Times,serif" font-size="14.00" fill="#000000">1</text>
</a>
</g>
</g>
<!-- zcash/zcash#4997&#45;&gt;zcash/zcash#2534 -->
<g id="edge82" class="edge">
<title>zcash/zcash#4997&#45;&gt;zcash/zcash#2534</title>
<path fill="none" stroke="#000000" d="M218.24,-2838C226.68,-2838 235.2,-2838 243.65,-2838"/>
<polygon fill="#000000" stroke="#000000" points="243.9,-2841.5001 253.9,-2838 243.9,-2834.5001 243.9,-2841.5001"/>
</g>
<!-- zcash/zcash#5003 -->
<g id="node73" class="node">
<title>zcash/zcash#5003</title>
<g id="a_node73"><a xlink:href="https://github.com/zcash/zcash/pull/5003" xlink:title="zcash/zcash#5003&#10;net: prerequisites for&#10;p2p encapsulation changes" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="748.5,-2920.5 536.5,-2920.5 536.5,-2916.5 532.5,-2916.5 532.5,-2912.5 536.5,-2912.5 536.5,-2875.5 532.5,-2875.5 532.5,-2871.5 536.5,-2871.5 536.5,-2867.5 748.5,-2867.5 748.5,-2920.5"/>
<polyline fill="none" stroke="#000000" points="536.5,-2916.5 540.5,-2916.5 540.5,-2912.5 536.5,-2912.5 "/>
<polyline fill="none" stroke="#000000" points="536.5,-2875.5 540.5,-2875.5 540.5,-2871.5 536.5,-2871.5 "/>
<text text-anchor="middle" x="642.5" y="-2905.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5003</text>
<text text-anchor="middle" x="642.5" y="-2890.3" font-family="Times,serif" font-size="14.00" fill="#000000">net: prerequisites for</text>
<text text-anchor="middle" x="642.5" y="-2875.3" font-family="Times,serif" font-size="14.00" fill="#000000">p2p encapsulation changes</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5003 -->
<g id="edge83" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5003</title>
<path fill="none" stroke="#000000" d="M454.09,-2857.4C477.41,-2862 502.43,-2866.8 526.37,-2871.5"/>
<polygon fill="#000000" stroke="#000000" points="525.7175,-2874.9386 536.2,-2873.4 527.046,-2868.0658 525.7175,-2874.9386"/>
</g>
<!-- zcash/zcash#5005 -->
<g id="node74" class="node">
<title>zcash/zcash#5005</title>
<g id="a_node74"><a xlink:href="https://github.com/zcash/zcash/pull/5005" xlink:title="zcash/zcash#5005&#10;net: Split DNS resolving&#10;functionality out of net&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1079,-2817 888,-2817 888,-2813 884,-2813 884,-2809 888,-2809 888,-2757 884,-2757 884,-2753 888,-2753 888,-2749 1079,-2749 1079,-2817"/>
<polyline fill="none" stroke="#000000" points="888,-2813 892,-2813 892,-2809 888,-2809 "/>
<polyline fill="none" stroke="#000000" points="888,-2757 892,-2757 892,-2753 888,-2753 "/>
<text text-anchor="middle" x="983.5" y="-2801.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5005</text>
<text text-anchor="middle" x="983.5" y="-2786.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: Split DNS resolving</text>
<text text-anchor="middle" x="983.5" y="-2771.8" font-family="Times,serif" font-size="14.00" fill="#000000">functionality out of net</text>
<text text-anchor="middle" x="983.5" y="-2756.8" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/zcash#2534&#45;&gt;zcash/zcash#5005 -->
<g id="edge84" class="edge">
<title>zcash/zcash#2534&#45;&gt;zcash/zcash#5005</title>
<path fill="none" stroke="#000000" d="M443.03,-2811.4C458.56,-2807.7 474.66,-2804.3 490,-2802 622.6,-2782.1 777.35,-2779.5 877.71,-2780.4"/>
<polygon fill="#000000" stroke="#000000" points="877.8159,-2783.9011 887.85,-2780.5 877.885,-2776.9015 877.8159,-2783.9011"/>
</g>
<!-- zcash/zcash#5004 -->
<g id="node75" class="node">
<title>zcash/zcash#5004</title>
<g id="a_node75"><a xlink:href="https://github.com/zcash/zcash/pull/5004" xlink:title="zcash/zcash#5004&#10;Verify that expected&#10;services are available&#10;from peer nodes &amp;&#10;disconnect otherwise." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1070.5,-2918.5 896.5,-2918.5 896.5,-2914.5 892.5,-2914.5 892.5,-2910.5 896.5,-2910.5 896.5,-2843.5 892.5,-2843.5 892.5,-2839.5 896.5,-2839.5 896.5,-2835.5 1070.5,-2835.5 1070.5,-2918.5"/>
<polyline fill="none" stroke="#000000" points="896.5,-2914.5 900.5,-2914.5 900.5,-2910.5 896.5,-2910.5 "/>
<polyline fill="none" stroke="#000000" points="896.5,-2843.5 900.5,-2843.5 900.5,-2839.5 896.5,-2839.5 "/>
<text text-anchor="middle" x="983.5" y="-2903.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5004</text>
<text text-anchor="middle" x="983.5" y="-2888.3" font-family="Times,serif" font-size="14.00" fill="#000000">Verify that expected</text>
<text text-anchor="middle" x="983.5" y="-2873.3" font-family="Times,serif" font-size="14.00" fill="#000000">services are available</text>
<text text-anchor="middle" x="983.5" y="-2858.3" font-family="Times,serif" font-size="14.00" fill="#000000">from peer nodes &amp;</text>
<text text-anchor="middle" x="983.5" y="-2843.3" font-family="Times,serif" font-size="14.00" fill="#000000">disconnect otherwise.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5003&#45;&gt;zcash/zcash#5004 -->
<g id="edge85" class="edge">
<title>zcash/zcash#5003&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M748.53,-2888.7C792.51,-2886.5 843.2,-2884 886.22,-2881.8"/>
<polygon fill="#000000" stroke="#000000" points="886.5936,-2885.286 896.41,-2881.3 886.2505,-2878.2944 886.5936,-2885.286"/>
</g>
<!-- zcash/zcash#5006 -->
<g id="node76" class="node">
<title>zcash/zcash#5006</title>
<g id="a_node76"><a xlink:href="https://github.com/zcash/zcash/pull/5006" xlink:title="zcash/zcash#5006&#10;Rework AddNode behaviour" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1433.5,-2849 1215.5,-2849 1215.5,-2845 1211.5,-2845 1211.5,-2841 1215.5,-2841 1215.5,-2819 1211.5,-2819 1211.5,-2815 1215.5,-2815 1215.5,-2811 1433.5,-2811 1433.5,-2849"/>
<polyline fill="none" stroke="#000000" points="1215.5,-2845 1219.5,-2845 1219.5,-2841 1215.5,-2841 "/>
<polyline fill="none" stroke="#000000" points="1215.5,-2819 1219.5,-2819 1219.5,-2815 1215.5,-2815 "/>
<text text-anchor="middle" x="1324.5" y="-2833.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5006</text>
<text text-anchor="middle" x="1324.5" y="-2818.8" font-family="Times,serif" font-size="14.00" fill="#000000">Rework AddNode behaviour</text>
</a>
</g>
</g>
<!-- zcash/zcash#5005&#45;&gt;zcash/zcash#5006 -->
<g id="edge86" class="edge">
<title>zcash/zcash#5005&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M1079.4,-2796.2C1118.4,-2801.6 1164,-2807.9 1205.1,-2813.5"/>
<polygon fill="#000000" stroke="#000000" points="1204.8141,-2816.9938 1215.2,-2814.9 1205.7753,-2810.0601 1204.8141,-2816.9938"/>
</g>
<!-- zcash/zcash#5004&#45;&gt;zcash/zcash#5006 -->
<g id="edge87" class="edge">
<title>zcash/zcash#5004&#45;&gt;zcash/zcash#5006</title>
<path fill="none" stroke="#000000" d="M1070.9,-2865C1111.8,-2859.3 1161.1,-2852.5 1205.4,-2846.4"/>
<polygon fill="#000000" stroke="#000000" points="1205.9819,-2849.8528 1215.4,-2845 1205.0113,-2842.9204 1205.9819,-2849.8528"/>
</g>
<!-- zcash/zcash#5008 -->
<g id="node77" class="node">
<title>zcash/zcash#5008</title>
<g id="a_node77"><a xlink:href="https://github.com/zcash/zcash/pull/5008" xlink:title="zcash/zcash#5008&#10;net: Feeler connections&#10;to increase online addrs&#10;in the tried table." target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1760,-2864 1571,-2864 1571,-2860 1567,-2860 1567,-2856 1571,-2856 1571,-2804 1567,-2804 1567,-2800 1571,-2800 1571,-2796 1760,-2796 1760,-2864"/>
<polyline fill="none" stroke="#000000" points="1571,-2860 1575,-2860 1575,-2856 1571,-2856 "/>
<polyline fill="none" stroke="#000000" points="1571,-2804 1575,-2804 1575,-2800 1571,-2800 "/>
<text text-anchor="middle" x="1665.5" y="-2848.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5008</text>
<text text-anchor="middle" x="1665.5" y="-2833.8" font-family="Times,serif" font-size="14.00" fill="#000000">net: Feeler connections</text>
<text text-anchor="middle" x="1665.5" y="-2818.8" font-family="Times,serif" font-size="14.00" fill="#000000">to increase online addrs</text>
<text text-anchor="middle" x="1665.5" y="-2803.8" font-family="Times,serif" font-size="14.00" fill="#000000">in the tried table.</text>
</a>
</g>
</g>
<!-- zcash/zcash#5006&#45;&gt;zcash/zcash#5008 -->
<g id="edge88" class="edge">
<title>zcash/zcash#5006&#45;&gt;zcash/zcash#5008</title>
<path fill="none" stroke="#000000" d="M1433.8,-2830C1474.5,-2830 1520.5,-2830 1560.8,-2830"/>
<polygon fill="#000000" stroke="#000000" points="1560.9,-2833.5001 1570.9,-2830 1560.9,-2826.5001 1560.9,-2833.5001"/>
</g>
<!-- zcash/zcash#4996 -->
<g id="node78" class="node">
<title>zcash/zcash#4996</title>
<g id="a_node78"><a xlink:href="https://github.com/zcash/zcash/pull/4996" xlink:title="zcash/zcash#4996&#10;Add &#45;blocksonly option" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="732.5,-2849 552.5,-2849 552.5,-2845 548.5,-2845 548.5,-2841 552.5,-2841 552.5,-2819 548.5,-2819 548.5,-2815 552.5,-2815 552.5,-2811 732.5,-2811 732.5,-2849"/>
<polyline fill="none" stroke="#000000" points="552.5,-2845 556.5,-2845 556.5,-2841 552.5,-2841 "/>
<polyline fill="none" stroke="#000000" points="552.5,-2819 556.5,-2819 556.5,-2815 552.5,-2815 "/>
<text text-anchor="middle" x="642.5" y="-2833.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4996</text>
<text text-anchor="middle" x="642.5" y="-2818.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add &#45;blocksonly option</text>
</a>
</g>
</g>
<!-- zcash/zcash#4996&#45;&gt;zcash/zcash#5004 -->
<g id="edge89" class="edge">
<title>zcash/zcash#4996&#45;&gt;zcash/zcash#5004</title>
<path fill="none" stroke="#000000" d="M732.54,-2842.4C779.88,-2848.9 837.97,-2856.9 886.33,-2863.6"/>
<polygon fill="#000000" stroke="#000000" points="886.1058,-2867.1021 896.49,-2865 887.0614,-2860.1676 886.1058,-2867.1021"/>
</g>
<!-- zcash/zcash#4988 -->
<g id="node79" class="node">
<title>zcash/zcash#4988</title>
<g id="a_node79"><a xlink:href="https://github.com/zcash/zcash/pull/4988" xlink:title="zcash/zcash#4988&#10;Add feature flagging&#10;infrastructure to&#10;consensus parameters." target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="200,-68 18,-68 18,-64 14,-64 14,-60 18,-60 18,-8 14,-8 14,-4 18,-4 18,0 200,0 200,-68"/>
<polyline fill="none" stroke="#000000" points="18,-64 22,-64 22,-60 18,-60 "/>
<polyline fill="none" stroke="#000000" points="18,-8 22,-8 22,-4 18,-4 "/>
<text text-anchor="middle" x="109" y="-52.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#4988</text>
<text text-anchor="middle" x="109" y="-37.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add feature flagging</text>
<text text-anchor="middle" x="109" y="-22.8" font-family="Times,serif" font-size="14.00" fill="#000000">infrastructure to</text>
<text text-anchor="middle" x="109" y="-7.8" font-family="Times,serif" font-size="14.00" fill="#000000">consensus parameters.</text>
</a>
</g>
</g>
<!-- zcash/zcash#4988&#45;&gt;zcash/zcash#4190 -->
<g id="edge90" class="edge">
<title>zcash/zcash#4988&#45;&gt;zcash/zcash#4190</title>
<path fill="none" stroke="#000000" d="M200.23,-47.405C216.57,-49.806 233.7,-52.323 250.35,-54.77"/>
<polygon fill="#000000" stroke="#000000" points="250.2475,-58.2924 260.65,-56.283 251.2649,-51.3667 250.2475,-58.2924"/>
</g>
<!-- zcash/zcash#3722 -->
<g id="node80" class="node">
<title>zcash/zcash#3722</title>
<g id="a_node80"><a xlink:href="https://github.com/zcash/zcash/issues/3722" xlink:title="zcash/zcash#3722&#10;Decouple consensus&#10;changes from Network&#10;Upgrades in the zcashd&#10;code" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2395.5,-1687.5 2209.5,-1687.5 2209.5,-1604.5 2395.5,-1604.5 2395.5,-1687.5"/>
<text text-anchor="middle" x="2302.5" y="-1672.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#3722</text>
<text text-anchor="middle" x="2302.5" y="-1657.3" font-family="Times,serif" font-size="14.00" fill="#000000">Decouple consensus</text>
<text text-anchor="middle" x="2302.5" y="-1642.3" font-family="Times,serif" font-size="14.00" fill="#000000">changes from Network</text>
<text text-anchor="middle" x="2302.5" y="-1627.3" font-family="Times,serif" font-size="14.00" fill="#000000">Upgrades in the zcashd</text>
<text text-anchor="middle" x="2302.5" y="-1612.3" font-family="Times,serif" font-size="14.00" fill="#000000">code</text>
</a>
</g>
</g>
<!-- zcash/zcash#3722&#45;&gt;zcash/zcash#5024 -->
<g id="edge91" class="edge">
<title>zcash/zcash#3722&#45;&gt;zcash/zcash#5024</title>
<path fill="none" stroke="#000000" d="M2395.6,-1633C2417.9,-1629.9 2441.6,-1626.6 2463.7,-1623.5"/>
<polygon fill="#000000" stroke="#000000" points="2464.2819,-1626.9528 2473.7,-1622.1 2463.3113,-1620.0204 2464.2819,-1626.9528"/>
</g>
<!-- zcash/librustzcash#368 -->
<g id="node81" class="node">
<title>zcash/librustzcash#368</title>
<g id="a_node81"><a xlink:href="https://github.com/zcash/librustzcash/issues/368" xlink:title="zcash/librustzcash#368&#10;zcash_history: Add&#10;Orchard support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2396.5,-2033.5 2208.5,-2033.5 2208.5,-1980.5 2396.5,-1980.5 2396.5,-2033.5"/>
<text text-anchor="middle" x="2302.5" y="-2018.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#368</text>
<text text-anchor="middle" x="2302.5" y="-2003.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash_history: Add</text>
<text text-anchor="middle" x="2302.5" y="-1988.3" font-family="Times,serif" font-size="14.00" fill="#000000">Orchard support</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#368&#45;&gt;zcash/zcash#5037 -->
<g id="edge92" class="edge">
<title>zcash/librustzcash#368&#45;&gt;zcash/zcash#5037</title>
<path fill="none" stroke="#000000" d="M2396.7,-1985.6C2411.9,-1982.2 2427.7,-1978.6 2443.2,-1975"/>
<polygon fill="#000000" stroke="#000000" points="2444.3268,-1978.3331 2453.3,-1972.7 2442.7725,-1971.5078 2444.3268,-1978.3331"/>
</g>
<!-- zcash/zcash#5056 -->
<g id="node82" class="node">
<title>zcash/zcash#5056</title>
<g id="a_node82"><a xlink:href="https://github.com/zcash/zcash/issues/5056" xlink:title="zcash/zcash#5056&#10;Identify necessary RPC&#10;changes to support&#10;Unified Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2099,-759 1914,-759 1914,-691 2099,-691 2099,-759"/>
<text text-anchor="middle" x="2006.5" y="-743.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5056</text>
<text text-anchor="middle" x="2006.5" y="-728.8" font-family="Times,serif" font-size="14.00" fill="#000000">Identify necessary RPC</text>
<text text-anchor="middle" x="2006.5" y="-713.8" font-family="Times,serif" font-size="14.00" fill="#000000">changes to support</text>
<text text-anchor="middle" x="2006.5" y="-698.8" font-family="Times,serif" font-size="14.00" fill="#000000">Unified Addresses</text>
</a>
</g>
</g>
<!-- zcash/zcash#5056&#45;&gt;zcash/zcash#5019 -->
<g id="edge94" class="edge">
<title>zcash/zcash#5056&#45;&gt;zcash/zcash#5019</title>
<path fill="none" stroke="#000000" d="M2099.3,-701.48C2131.5,-693.32 2167.8,-684.13 2200.7,-675.8"/>
<polygon fill="#000000" stroke="#000000" points="2201.8749,-679.1125 2210.7,-673.25 2200.1452,-672.3295 2201.8749,-679.1125"/>
</g>
<!-- zcash/zcash#5177 -->
<g id="node83" class="node">
<title>zcash/zcash#5177</title>
<g id="a_node83"><a xlink:href="https://github.com/zcash/zcash/issues/5177" xlink:title="zcash/zcash#5177&#10;Deprecate old address&#45;&#10;related RPCs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2393.5,-751.5 2211.5,-751.5 2211.5,-698.5 2393.5,-698.5 2393.5,-751.5"/>
<text text-anchor="middle" x="2302.5" y="-736.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5177</text>
<text text-anchor="middle" x="2302.5" y="-721.3" font-family="Times,serif" font-size="14.00" fill="#000000">Deprecate old address&#45;</text>
<text text-anchor="middle" x="2302.5" y="-706.3" font-family="Times,serif" font-size="14.00" fill="#000000">related RPCs</text>
</a>
</g>
</g>
<!-- zcash/zcash#5056&#45;&gt;zcash/zcash#5177 -->
<g id="edge95" class="edge">
<title>zcash/zcash#5056&#45;&gt;zcash/zcash#5177</title>
<path fill="none" stroke="#000000" d="M2099.3,-725C2131.7,-725 2168.1,-725 2201.1,-725"/>
<polygon fill="#000000" stroke="#000000" points="2201.3,-728.5001 2211.3,-725 2201.3,-721.5001 2201.3,-728.5001"/>
</g>
<!-- zcash/zcash#5176 -->
<g id="node84" class="node">
<title>zcash/zcash#5176</title>
<g id="a_node84"><a xlink:href="https://github.com/zcash/zcash/issues/5176" xlink:title="zcash/zcash#5176&#10;Implement BIP 39 seed&#10;phrase support" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2099,-310.5 1914,-310.5 1914,-257.5 2099,-257.5 2099,-310.5"/>
<text text-anchor="middle" x="2006.5" y="-295.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#5176</text>
<text text-anchor="middle" x="2006.5" y="-280.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement BIP 39 seed</text>
<text text-anchor="middle" x="2006.5" y="-265.3" font-family="Times,serif" font-size="14.00" fill="#000000">phrase support</text>
</a>
</g>
</g>
<!-- zcash/zcash#2673 -->
<g id="node85" class="node">
<title>zcash/zcash#2673</title>
<g id="a_node85"><a xlink:href="https://github.com/zcash/zcash/issues/2673" xlink:title="zcash/zcash#2673&#10;Support Hierarchical&#10;Deterministic t&#45;addresses&#10;(BIP 32)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="2403.5,-380 2201.5,-380 2201.5,-312 2403.5,-312 2403.5,-380"/>
<text text-anchor="middle" x="2302.5" y="-364.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zcash#2673</text>
<text text-anchor="middle" x="2302.5" y="-349.8" font-family="Times,serif" font-size="14.00" fill="#000000">Support Hierarchical</text>
<text text-anchor="middle" x="2302.5" y="-334.8" font-family="Times,serif" font-size="14.00" fill="#000000">Deterministic t&#45;addresses</text>
<text text-anchor="middle" x="2302.5" y="-319.8" font-family="Times,serif" font-size="14.00" fill="#000000">(BIP 32)</text>
</a>
</g>
</g>
<!-- zcash/zcash#5176&#45;&gt;zcash/zcash#2673 -->
<g id="edge96" class="edge">
<title>zcash/zcash#5176&#45;&gt;zcash/zcash#2673</title>
<path fill="none" stroke="#000000" d="M2099.3,-303.45C2128.4,-309.54 2160.9,-316.33 2191.1,-322.66"/>
<polygon fill="#000000" stroke="#000000" points="2190.7957,-326.1719 2201.3,-324.79 2192.2266,-319.3197 2190.7957,-326.1719"/>
</g>
<!-- zcash/zcash#2673&#45;&gt;zcash/zcash#5179 -->
<g id="edge97" class="edge">
<title>zcash/zcash#2673&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M2403.5,-346C2416.2,-346 2429.2,-346 2442.1,-346"/>
<polygon fill="#000000" stroke="#000000" points="2442.3,-349.5001 2452.3,-346 2442.3,-342.5001 2442.3,-349.5001"/>
</g>
<!-- zcash/zips#364 -->
<g id="node86" class="node">
<title>zcash/zips#364</title>
<g id="a_node86"><a xlink:href="https://github.com/zcash/zips/issues/364" xlink:title="zcash/zips#364&#10;[ZIP 339] Wallet Recovery&#10;Words (a la BIP 39)" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1768,-307.5 1563,-307.5 1563,-254.5 1768,-254.5 1768,-307.5"/>
<text text-anchor="middle" x="1665.5" y="-292.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#364</text>
<text text-anchor="middle" x="1665.5" y="-277.3" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 339] Wallet Recovery</text>
<text text-anchor="middle" x="1665.5" y="-262.3" font-family="Times,serif" font-size="14.00" fill="#000000">Words (a la BIP 39)</text>
</a>
</g>
</g>
<!-- zcash/zips#364&#45;&gt;zcash/zcash#5176 -->
<g id="edge98" class="edge">
<title>zcash/zips#364&#45;&gt;zcash/zcash#5176</title>
<path fill="none" stroke="#000000" d="M1768.3,-281.9C1811.1,-282.28 1860.8,-282.72 1903.6,-283.1"/>
<polygon fill="#000000" stroke="#000000" points="1903.7728,-286.6014 1913.8,-283.18 1903.8278,-279.6016 1903.7728,-286.6014"/>
</g>
<!-- zcash/zips#511 -->
<g id="node87" class="node">
<title>zcash/zips#511</title>
<g id="a_node87"><a xlink:href="https://github.com/zcash/zips/issues/511" xlink:title="zcash/zips#511&#10;ZIP 32: Document standard&#10;key structure for Unified&#10;Addresses" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2410,-294 2195,-294 2195,-226 2410,-226 2410,-294"/>
<text text-anchor="middle" x="2302.5" y="-278.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#511</text>
<text text-anchor="middle" x="2302.5" y="-263.8" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 32: Document standard</text>
<text text-anchor="middle" x="2302.5" y="-248.8" font-family="Times,serif" font-size="14.00" fill="#000000">key structure for Unified</text>
<text text-anchor="middle" x="2302.5" y="-233.8" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#511&#45;&gt;zcash/zcash#5179 -->
<g id="edge99" class="edge">
<title>zcash/zips#511&#45;&gt;zcash/zcash#5179</title>
<path fill="none" stroke="#000000" d="M2402.1,-294.11C2416,-298.88 2430.3,-303.79 2444.4,-308.61"/>
<polygon fill="#000000" stroke="#000000" points="2443.5054,-312.0031 2454.1,-311.93 2445.7722,-305.3803 2443.5054,-312.0031"/>
</g>
<!-- zcash/zips#475 -->
<g id="node88" class="node">
<title>zcash/zips#475</title>
<g id="a_node88"><a xlink:href="https://github.com/zcash/zips/issues/475" xlink:title="zcash/zips#475&#10;ZIP 221: Add Orchard&#10;commitment tree roots" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2097.5,-2061.5 1915.5,-2061.5 1915.5,-2008.5 2097.5,-2008.5 2097.5,-2061.5"/>
<text text-anchor="middle" x="2006.5" y="-2046.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#475</text>
<text text-anchor="middle" x="2006.5" y="-2031.3" font-family="Times,serif" font-size="14.00" fill="#000000">ZIP 221: Add Orchard</text>
<text text-anchor="middle" x="2006.5" y="-2016.3" font-family="Times,serif" font-size="14.00" fill="#000000">commitment tree roots</text>
</a>
</g>
</g>
<!-- zcash/zips#475&#45;&gt;zcash/librustzcash#368 -->
<g id="edge100" class="edge">
<title>zcash/zips#475&#45;&gt;zcash/librustzcash#368</title>
<path fill="none" stroke="#000000" d="M2097.7,-2026.4C2129.5,-2023.4 2165.4,-2020 2198.2,-2016.9"/>
<polygon fill="#000000" stroke="#000000" points="2198.6935,-2020.3683 2208.3,-2015.9 2198.0038,-2013.4024 2198.6935,-2020.3683"/>
</g>
<!-- zcash/zips#482 -->
<g id="node89" class="node">
<title>zcash/zips#482</title>
<g id="a_node89"><a xlink:href="https://github.com/zcash/zips/issues/482" xlink:title="zcash/zips#482&#10;[ZIP 316] Unified&#10;Addresses" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2077,-514.5 1936,-514.5 1936,-461.5 2077,-461.5 2077,-514.5"/>
<text text-anchor="middle" x="2006.5" y="-499.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/zips#482</text>
<text text-anchor="middle" x="2006.5" y="-484.3" font-family="Times,serif" font-size="14.00" fill="#000000">[ZIP 316] Unified</text>
<text text-anchor="middle" x="2006.5" y="-469.3" font-family="Times,serif" font-size="14.00" fill="#000000">Addresses</text>
</a>
</g>
</g>
<!-- zcash/zips#482&#45;&gt;zcash/librustzcash#371 -->
<g id="edge101" class="edge">
<title>zcash/zips#482&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2077,-479.66C2113.3,-475.37 2158.2,-470.07 2198.3,-465.32"/>
<polygon fill="#000000" stroke="#000000" points="2198.8828,-468.7755 2208.4,-464.12 2198.0569,-461.8244 2198.8828,-468.7755"/>
</g>
<!-- zcash/librustzcash#300 -->
<g id="node90" class="node">
<title>zcash/librustzcash#300</title>
<g id="a_node90"><a xlink:href="https://github.com/zcash/librustzcash/issues/300" xlink:title="zcash/librustzcash#300&#10;Use feature flags to gate&#10;access to ZIP&#45;222 code." target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="206,-195.5 12,-195.5 12,-142.5 206,-142.5 206,-195.5"/>
<text text-anchor="middle" x="109" y="-180.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#300</text>
<text text-anchor="middle" x="109" y="-165.3" font-family="Times,serif" font-size="14.00" fill="#000000">Use feature flags to gate</text>
<text text-anchor="middle" x="109" y="-150.3" font-family="Times,serif" font-size="14.00" fill="#000000">access to ZIP&#45;222 code.</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#300&#45;&gt;zcash/librustzcash#226 -->
<g id="edge102" class="edge">
<title>zcash/librustzcash#300&#45;&gt;zcash/librustzcash#226</title>
<path fill="none" stroke="#000000" d="M206.18,-169C220.37,-169 235.04,-169 249.37,-169"/>
<polygon fill="#000000" stroke="#000000" points="249.73,-172.5001 259.73,-169 249.73,-165.5001 249.73,-172.5001"/>
</g>
<!-- zcash/halo2#63 -->
<g id="node91" class="node">
<title>zcash/halo2#63</title>
<g id="a_node91"><a xlink:href="https://github.com/zcash/halo2/issues/63" xlink:title="zcash/halo2#63&#10;Implement zero&#45;knowledge&#45;&#10;ness" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="2114.5,-1990.5 1898.5,-1990.5 1898.5,-1937.5 2114.5,-1937.5 2114.5,-1990.5"/>
<text text-anchor="middle" x="2006.5" y="-1975.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#63</text>
<text text-anchor="middle" x="2006.5" y="-1960.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement zero&#45;knowledge&#45;</text>
<text text-anchor="middle" x="2006.5" y="-1945.3" font-family="Times,serif" font-size="14.00" fill="#000000">ness</text>
</a>
</g>
</g>
<!-- zcash/halo2#63&#45;&gt;zcash/librustzcash#320 -->
<g id="edge103" class="edge">
<title>zcash/halo2#63&#45;&gt;zcash/librustzcash#320</title>
<path fill="none" stroke="#000000" d="M2114.7,-1952C2130.8,-1946.5 2146.2,-1938.8 2159,-1928 2190.6,-1901.2 2172.1,-1876.5 2195,-1842 2213.9,-1813.5 2240.7,-1786 2262.9,-1765.7"/>
<polygon fill="#000000" stroke="#000000" points="2265.4488,-1768.1133 2270.5,-1758.8 2260.7435,-1762.9306 2265.4488,-1768.1133"/>
</g>
<!-- zcash/librustzcash#349 -->
<g id="node92" class="node">
<title>zcash/librustzcash#349</title>
<g id="a_node92"><a xlink:href="https://github.com/zcash/librustzcash/issues/349" xlink:title="zcash/librustzcash#349&#10;Generalise note&#10;encryption logic" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1759.5,-989.5 1571.5,-989.5 1571.5,-936.5 1759.5,-936.5 1759.5,-989.5"/>
<text text-anchor="middle" x="1665.5" y="-974.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#349</text>
<text text-anchor="middle" x="1665.5" y="-959.3" font-family="Times,serif" font-size="14.00" fill="#000000">Generalise note</text>
<text text-anchor="middle" x="1665.5" y="-944.3" font-family="Times,serif" font-size="14.00" fill="#000000">encryption logic</text>
</a>
</g>
</g>
<!-- zcash/librustzcash#349&#45;&gt;zcash/orchard#32 -->
<g id="edge104" class="edge">
<title>zcash/librustzcash#349&#45;&gt;zcash/orchard#32</title>
<path fill="none" stroke="#000000" d="M1759.6,-963C1800,-963 1847.7,-963 1890.3,-963"/>
<polygon fill="#000000" stroke="#000000" points="1890.4,-966.5001 1900.4,-963 1890.4,-959.5001 1890.4,-966.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25 -->
<g id="node93" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25</title>
<g id="a_node93"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/25" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#10;Implement F4Jumble" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1818,-420 1513,-420 1513,-382 1818,-382 1818,-420"/>
<text text-anchor="middle" x="1665.5" y="-404.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#25</text>
<text text-anchor="middle" x="1665.5" y="-389.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement F4Jumble</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26 -->
<g id="edge105" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#26</title>
<path fill="none" stroke="#000000" d="M1818,-408.16C1826.6,-408.56 1835.2,-408.96 1843.8,-409.36"/>
<polygon fill="#000000" stroke="#000000" points="1843.6437,-412.8564 1853.8,-409.84 1843.9793,-405.8645 1843.6437,-412.8564"/>
</g>
<!-- zcash/librustzcash#378 -->
<g id="node94" class="node">
<title>zcash/librustzcash#378</title>
<g id="a_node94"><a xlink:href="https://github.com/zcash/librustzcash/issues/378" xlink:title="zcash/librustzcash#378&#10;Implement F4Jumble" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2100.5,-372 1912.5,-372 1912.5,-334 2100.5,-334 2100.5,-372"/>
<text text-anchor="middle" x="2006.5" y="-356.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/librustzcash#378</text>
<text text-anchor="middle" x="2006.5" y="-341.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement F4Jumble</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash/librustzcash#378 -->
<g id="edge106" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#25&#45;&gt;zcash/librustzcash#378</title>
<path fill="none" stroke="#000000" d="M1800.8,-381.96C1834.5,-377.21 1870.1,-372.19 1902.1,-367.69"/>
<polygon fill="#000000" stroke="#000000" points="1902.981,-371.101 1912.4,-366.25 1902.0117,-364.1684 1902.981,-371.101"/>
</g>
<!-- zcash/librustzcash#378&#45;&gt;zcash/librustzcash#371 -->
<g id="edge107" class="edge">
<title>zcash/librustzcash#378&#45;&gt;zcash/librustzcash#371</title>
<path fill="none" stroke="#000000" d="M2100.7,-365.98C2120.2,-369.87 2140.5,-374.8 2159,-381 2184.7,-389.6 2211.5,-402.04 2234.9,-414.16"/>
<polygon fill="#000000" stroke="#000000" points="2233.6151,-417.4373 2244.1,-418.96 2236.8531,-411.2312 2233.6151,-417.4373"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#14 -->
<g id="node95" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#14</title>
<g id="a_node95"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/14" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#14&#10;Implementation of Pallas" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="795,-452 490,-452 490,-448 486,-448 486,-444 490,-444 490,-422 486,-422 486,-418 490,-418 490,-414 795,-414 795,-452"/>
<polyline fill="none" stroke="#000000" points="490,-448 494,-448 494,-444 490,-444 "/>
<polyline fill="none" stroke="#000000" points="490,-422 494,-422 494,-418 490,-418 "/>
<text text-anchor="middle" x="642.5" y="-436.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#14</text>
<text text-anchor="middle" x="642.5" y="-421.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implementation of Pallas</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#17 -->
<g id="node96" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</title>
<g id="a_node96"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/17" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#10;Add iso&#45;Pallas, SWU hash&#45;&#10;to&#45;curve, and Sinsemilla" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1136,-459.5 831,-459.5 831,-455.5 827,-455.5 827,-451.5 831,-451.5 831,-414.5 827,-414.5 827,-410.5 831,-410.5 831,-406.5 1136,-406.5 1136,-459.5"/>
<polyline fill="none" stroke="#000000" points="831,-455.5 835,-455.5 835,-451.5 831,-451.5 "/>
<polyline fill="none" stroke="#000000" points="831,-414.5 835,-414.5 835,-410.5 831,-410.5 "/>
<text text-anchor="middle" x="983.5" y="-444.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</text>
<text text-anchor="middle" x="983.5" y="-429.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add iso&#45;Pallas, SWU hash&#45;</text>
<text text-anchor="middle" x="983.5" y="-414.3" font-family="Times,serif" font-size="14.00" fill="#000000">to&#45;curve, and Sinsemilla</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#14&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#17 -->
<g id="edge108" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#14&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#17</title>
<path fill="none" stroke="#000000" d="M795.05,-433C803.59,-433 812.19,-433 820.76,-433"/>
<polygon fill="#000000" stroke="#000000" points="820.81,-436.5001 830.81,-433 820.81,-429.5001 820.81,-436.5001"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18 -->
<g id="node97" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</title>
<g id="a_node97"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/18" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#10;Add Orchard generators" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1477,-420 1172,-420 1172,-416 1168,-416 1168,-412 1172,-412 1172,-390 1168,-390 1168,-386 1172,-386 1172,-382 1477,-382 1477,-420"/>
<polyline fill="none" stroke="#000000" points="1172,-416 1176,-416 1176,-412 1172,-412 "/>
<polyline fill="none" stroke="#000000" points="1172,-390 1176,-390 1176,-386 1172,-386 "/>
<text text-anchor="middle" x="1324.5" y="-404.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</text>
<text text-anchor="middle" x="1324.5" y="-389.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard generators</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#18 -->
<g id="edge109" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#18</title>
<path fill="none" stroke="#000000" d="M1136,-418.68C1144.6,-417.88 1153.2,-417.08 1161.8,-416.27"/>
<polygon fill="#000000" stroke="#000000" points="1162.1715,-419.7506 1171.8,-415.33 1161.5163,-412.7813 1162.1715,-419.7506"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#15 -->
<g id="node98" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</title>
<g id="a_node98"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/15" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#15&#10;Implement ZIP 225 test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1477,-491.5 1172,-491.5 1172,-438.5 1477,-438.5 1477,-491.5"/>
<text text-anchor="middle" x="1324.5" y="-476.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</text>
<text text-anchor="middle" x="1324.5" y="-461.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 225 test</text>
<text text-anchor="middle" x="1324.5" y="-446.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#15 -->
<g id="edge110" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#17&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#15</title>
<path fill="none" stroke="#000000" d="M1136,-447.32C1144.6,-448.12 1153.2,-448.92 1161.8,-449.73"/>
<polygon fill="#000000" stroke="#000000" points="1161.5163,-453.2187 1171.8,-450.67 1162.1715,-446.2494 1161.5163,-453.2187"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24 -->
<g id="edge111" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#24</title>
<path fill="none" stroke="#000000" d="M1463,-420.11C1467.9,-422.74 1472.6,-425.7 1477,-429 1505.3,-450.17 1485.2,-478.12 1513,-500 1514.6,-501.29 1516.3,-502.54 1518,-503.75"/>
<polygon fill="#000000" stroke="#000000" points="1516.5836,-506.997 1526.9,-509.41 1520.34,-501.0903 1516.5836,-506.997"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#21 -->
<g id="node99" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</title>
<g id="a_node99"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/pull/21" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#21&#10;Add Orchard MerkleCRH" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1818,-364 1513,-364 1513,-360 1509,-360 1509,-356 1513,-356 1513,-334 1509,-334 1509,-330 1513,-330 1513,-326 1818,-326 1818,-364"/>
<polyline fill="none" stroke="#000000" points="1513,-360 1517,-360 1517,-356 1513,-356 "/>
<polyline fill="none" stroke="#000000" points="1513,-334 1517,-334 1517,-330 1513,-330 "/>
<text text-anchor="middle" x="1665.5" y="-348.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</text>
<text text-anchor="middle" x="1665.5" y="-333.8" font-family="Times,serif" font-size="14.00" fill="#000000">Add Orchard MerkleCRH</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#21 -->
<g id="edge112" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#18&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#21</title>
<path fill="none" stroke="#000000" d="M1440.4,-381.96C1472.4,-376.72 1507.1,-371.01 1539.6,-365.67"/>
<polygon fill="#000000" stroke="#000000" points="1540.2983,-369.1023 1549.6,-364.03 1539.1654,-362.1946 1540.2983,-369.1023"/>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#23 -->
<g id="node100" class="node">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</title>
<g id="a_node100"><a xlink:href="https://github.com/zcash-hackworks/zcash-test-vectors/issues/23" xlink:title="zcash&#45;hackworks/zcash&#45;test&#45;vectors#23&#10;Implement ZIP 244 test&#10;vectors" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1818,-491.5 1513,-491.5 1513,-438.5 1818,-438.5 1818,-491.5"/>
<text text-anchor="middle" x="1665.5" y="-476.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</text>
<text text-anchor="middle" x="1665.5" y="-461.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement ZIP 244 test</text>
<text text-anchor="middle" x="1665.5" y="-446.3" font-family="Times,serif" font-size="14.00" fill="#000000">vectors</text>
</a>
</g>
</g>
<!-- zcash&#45;hackworks/zcash&#45;test&#45;vectors#15&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#23 -->
<g id="edge113" class="edge">
<title>zcash&#45;hackworks/zcash&#45;test&#45;vectors#15&#45;&gt;zcash&#45;hackworks/zcash&#45;test&#45;vectors#23</title>
<path fill="none" stroke="#000000" d="M1477,-465C1485.6,-465 1494.2,-465 1502.8,-465"/>
<polygon fill="#000000" stroke="#000000" points="1502.8,-468.5001 1512.8,-465 1502.8,-461.5001 1502.8,-468.5001"/>
</g>
<!-- zcash/halo2#39 -->
<g id="node101" class="node">
<title>zcash/halo2#39</title>
<g id="a_node101"><a xlink:href="https://github.com/zcash/halo2/issues/39" xlink:title="zcash/halo2#39&#10;Add support for&#10;coefficient blinding&#10;factors in&#10;poly::commitment" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1402,-2029.5 1247,-2029.5 1247,-1946.5 1402,-1946.5 1402,-2029.5"/>
<text text-anchor="middle" x="1324.5" y="-2014.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#39</text>
<text text-anchor="middle" x="1324.5" y="-1999.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for</text>
<text text-anchor="middle" x="1324.5" y="-1984.3" font-family="Times,serif" font-size="14.00" fill="#000000">coefficient blinding</text>
<text text-anchor="middle" x="1324.5" y="-1969.3" font-family="Times,serif" font-size="14.00" fill="#000000">factors in</text>
<text text-anchor="middle" x="1324.5" y="-1954.3" font-family="Times,serif" font-size="14.00" fill="#000000">poly::commitment</text>
</a>
</g>
</g>
<!-- zcash/halo2#39&#45;&gt;zcash/halo2#63 -->
<g id="edge114" class="edge">
<title>zcash/halo2#39&#45;&gt;zcash/halo2#63</title>
<path fill="none" stroke="#000000" d="M1402.4,-2012.6C1426.4,-2020.5 1452.9,-2029.4 1477,-2038 1493.2,-2043.8 1496.1,-2048.8 1513,-2052 1646.2,-2077 1698.2,-2115.4 1818,-2052 1843.2,-2038.7 1830.5,-2015.1 1854,-1999 1864.6,-1991.7 1876.6,-1986 1888.9,-1981.4"/>
<polygon fill="#000000" stroke="#000000" points="1890.1809,-1984.6608 1898.5,-1978.1 1887.9053,-1978.041 1890.1809,-1984.6608"/>
</g>
<!-- zcash/halo2#65 -->
<g id="node102" class="node">
<title>zcash/halo2#65</title>
<g id="a_node102"><a xlink:href="https://github.com/zcash/halo2/issues/65" xlink:title="zcash/halo2#65&#10;Implement SHA&#45;256 gadget" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1092.5,-1599 874.5,-1599 874.5,-1561 1092.5,-1561 1092.5,-1599"/>
<text text-anchor="middle" x="983.5" y="-1583.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#65</text>
<text text-anchor="middle" x="983.5" y="-1568.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement SHA&#45;256 gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#64 -->
<g id="node103" class="node">
<title>zcash/halo2#64</title>
<g id="a_node103"><a xlink:href="https://github.com/zcash/halo2/issues/64" xlink:title="zcash/halo2#64&#10;Design gadget API or&#10;interaction model" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1409.5,-1556.5 1239.5,-1556.5 1239.5,-1503.5 1409.5,-1503.5 1409.5,-1556.5"/>
<text text-anchor="middle" x="1324.5" y="-1541.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#64</text>
<text text-anchor="middle" x="1324.5" y="-1526.3" font-family="Times,serif" font-size="14.00" fill="#000000">Design gadget API or</text>
<text text-anchor="middle" x="1324.5" y="-1511.3" font-family="Times,serif" font-size="14.00" fill="#000000">interaction model</text>
</a>
</g>
</g>
<!-- zcash/halo2#65&#45;&gt;zcash/halo2#64 -->
<g id="edge115" class="edge">
<title>zcash/halo2#65&#45;&gt;zcash/halo2#64</title>
<path fill="none" stroke="#000000" d="M1092.8,-1564C1136.7,-1557.5 1186.9,-1550.2 1229.3,-1544"/>
<polygon fill="#000000" stroke="#000000" points="1229.9299,-1547.4448 1239.3,-1542.5 1228.8914,-1540.5222 1229.9299,-1547.4448"/>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#73 -->
<g id="edge116" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#73</title>
<path fill="none" stroke="#000000" d="M1409.7,-1512.3C1458,-1502.2 1518.7,-1489.6 1568.9,-1479.1"/>
<polygon fill="#000000" stroke="#000000" points="1569.6911,-1482.511 1578.8,-1477.1 1568.3049,-1475.6496 1569.6911,-1482.511"/>
</g>
<!-- zcash/halo2#235 -->
<g id="node104" class="node">
<title>zcash/halo2#235</title>
<g id="a_node104"><a xlink:href="https://github.com/zcash/halo2/issues/235" xlink:title="zcash/halo2#235&#10;[Circuit] Implement&#10;Core/Chip abstraction" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1753.5,-1556.5 1577.5,-1556.5 1577.5,-1503.5 1753.5,-1503.5 1753.5,-1556.5"/>
<text text-anchor="middle" x="1665.5" y="-1541.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#235</text>
<text text-anchor="middle" x="1665.5" y="-1526.3" font-family="Times,serif" font-size="14.00" fill="#000000">[Circuit] Implement</text>
<text text-anchor="middle" x="1665.5" y="-1511.3" font-family="Times,serif" font-size="14.00" fill="#000000">Core/Chip abstraction</text>
</a>
</g>
</g>
<!-- zcash/halo2#64&#45;&gt;zcash/halo2#235 -->
<g id="edge117" class="edge">
<title>zcash/halo2#64&#45;&gt;zcash/halo2#235</title>
<path fill="none" stroke="#000000" d="M1409.7,-1530C1457.5,-1530 1517.3,-1530 1567.1,-1530"/>
<polygon fill="#000000" stroke="#000000" points="1567.3,-1533.5001 1577.3,-1530 1567.3,-1526.5001 1567.3,-1533.5001"/>
</g>
<!-- zcash/halo2#235&#45;&gt;zcash/orchard#4 -->
<g id="edge118" class="edge">
<title>zcash/halo2#235&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1753.8,-1511.6C1801.6,-1501.7 1860.7,-1489.3 1909.8,-1479.1"/>
<polygon fill="#000000" stroke="#000000" points="1910.6806,-1482.4933 1919.8,-1477.1 1909.3078,-1475.6292 1910.6806,-1482.4933"/>
</g>
<!-- zcash/halo2#44 -->
<g id="node105" class="node">
<title>zcash/halo2#44</title>
<g id="a_node105"><a xlink:href="https://github.com/zcash/halo2/issues/44" xlink:title="zcash/halo2#44&#10;Implement lookup argument" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="753,-1824 532,-1824 532,-1786 753,-1786 753,-1824"/>
<text text-anchor="middle" x="642.5" y="-1808.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#44</text>
<text text-anchor="middle" x="642.5" y="-1793.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement lookup argument</text>
</a>
</g>
</g>
<!-- zcash/halo2#44&#45;&gt;zcash/halo2#65 -->
<g id="edge119" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#65</title>
<path fill="none" stroke="#000000" d="M671.57,-1785.8C733.36,-1745.1 877.65,-1649.8 946.14,-1604.7"/>
<polygon fill="#000000" stroke="#000000" points="948.1396,-1607.5733 954.5,-1599.1 944.2438,-1601.7575 948.1396,-1607.5733"/>
</g>
<!-- zcash/halo2#57 -->
<g id="node106" class="node">
<title>zcash/halo2#57</title>
<g id="a_node106"><a xlink:href="https://github.com/zcash/halo2/issues/57" xlink:title="zcash/halo2#57&#10;Remove unused&#10;fixed_values from&#10;ProvingKey" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1055,-1886 912,-1886 912,-1818 1055,-1818 1055,-1886"/>
<text text-anchor="middle" x="983.5" y="-1870.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#57</text>
<text text-anchor="middle" x="983.5" y="-1855.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove unused</text>
<text text-anchor="middle" x="983.5" y="-1840.8" font-family="Times,serif" font-size="14.00" fill="#000000">fixed_values from</text>
<text text-anchor="middle" x="983.5" y="-1825.8" font-family="Times,serif" font-size="14.00" fill="#000000">ProvingKey</text>
</a>
</g>
</g>
<!-- zcash/halo2#44&#45;&gt;zcash/halo2#57 -->
<g id="edge120" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#57</title>
<path fill="none" stroke="#000000" d="M753.21,-1820.3C801.67,-1826.9 857.5,-1834.6 902.05,-1840.8"/>
<polygon fill="#000000" stroke="#000000" points="901.5897,-1844.2695 911.96,-1842.1 902.5002,-1837.329 901.5897,-1844.2695"/>
</g>
<!-- zcash/halo2#82 -->
<g id="node107" class="node">
<title>zcash/halo2#82</title>
<g id="a_node107"><a xlink:href="https://github.com/zcash/halo2/issues/82" xlink:title="zcash/halo2#82&#10;Consider not sampling&#10;beta and gamma if there&#10;are no permutations or&#10;lookups" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1080,-1799.5 887,-1799.5 887,-1716.5 1080,-1716.5 1080,-1799.5"/>
<text text-anchor="middle" x="983.5" y="-1784.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#82</text>
<text text-anchor="middle" x="983.5" y="-1769.3" font-family="Times,serif" font-size="14.00" fill="#000000">Consider not sampling</text>
<text text-anchor="middle" x="983.5" y="-1754.3" font-family="Times,serif" font-size="14.00" fill="#000000">beta and gamma if there</text>
<text text-anchor="middle" x="983.5" y="-1739.3" font-family="Times,serif" font-size="14.00" fill="#000000">are no permutations or</text>
<text text-anchor="middle" x="983.5" y="-1724.3" font-family="Times,serif" font-size="14.00" fill="#000000">lookups</text>
</a>
</g>
</g>
<!-- zcash/halo2#44&#45;&gt;zcash/halo2#82 -->
<g id="edge121" class="edge">
<title>zcash/halo2#44&#45;&gt;zcash/halo2#82</title>
<path fill="none" stroke="#000000" d="M753.21,-1789.7C792.84,-1784.3 837.4,-1778.1 876.69,-1772.7"/>
<polygon fill="#000000" stroke="#000000" points="877.3933,-1776.1362 886.82,-1771.3 876.435,-1769.2021 877.3933,-1776.1362"/>
</g>
<!-- zcash/halo2#62 -->
<g id="node108" class="node">
<title>zcash/halo2#62</title>
<g id="a_node108"><a xlink:href="https://github.com/zcash/halo2/issues/62" xlink:title="zcash/halo2#62&#10;Modularise prover and&#10;verifier by introducing&#10;internal APIs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1073,-2022 894,-2022 894,-1954 1073,-1954 1073,-2022"/>
<text text-anchor="middle" x="983.5" y="-2006.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#62</text>
<text text-anchor="middle" x="983.5" y="-1991.8" font-family="Times,serif" font-size="14.00" fill="#000000">Modularise prover and</text>
<text text-anchor="middle" x="983.5" y="-1976.8" font-family="Times,serif" font-size="14.00" fill="#000000">verifier by introducing</text>
<text text-anchor="middle" x="983.5" y="-1961.8" font-family="Times,serif" font-size="14.00" fill="#000000">internal APIs</text>
</a>
</g>
</g>
<!-- zcash/halo2#62&#45;&gt;zcash/halo2#66 -->
<g id="edge122" class="edge">
<title>zcash/halo2#62&#45;&gt;zcash/halo2#66</title>
<path fill="none" stroke="#000000" d="M1073,-2012.3C1104.3,-2020.6 1139.7,-2029.9 1172,-2038 1186.3,-2041.6 1201.4,-2045.3 1216.2,-2048.8"/>
<polygon fill="#000000" stroke="#000000" points="1215.4545,-2052.2208 1226,-2051.2 1217.1196,-2045.4217 1215.4545,-2052.2208"/>
</g>
<!-- zcash/halo2#62&#45;&gt;zcash/halo2#39 -->
<g id="edge123" class="edge">
<title>zcash/halo2#62&#45;&gt;zcash/halo2#39</title>
<path fill="none" stroke="#000000" d="M1073.1,-1988C1123.6,-1988 1186.4,-1988 1236.6,-1988"/>
<polygon fill="#000000" stroke="#000000" points="1236.8,-1991.5001 1246.8,-1988 1236.8,-1984.5001 1236.8,-1991.5001"/>
</g>
<!-- zcash/halo2#61 -->
<g id="node109" class="node">
<title>zcash/halo2#61</title>
<g id="a_node109"><a xlink:href="https://github.com/zcash/halo2/pull/61" xlink:title="zcash/halo2#61&#10;Migrate to ff traits" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="184.5,-1292 33.5,-1292 33.5,-1288 29.5,-1288 29.5,-1284 33.5,-1284 33.5,-1262 29.5,-1262 29.5,-1258 33.5,-1258 33.5,-1254 184.5,-1254 184.5,-1292"/>
<polyline fill="none" stroke="#000000" points="33.5,-1288 37.5,-1288 37.5,-1284 33.5,-1284 "/>
<polyline fill="none" stroke="#000000" points="33.5,-1262 37.5,-1262 37.5,-1258 33.5,-1258 "/>
<text text-anchor="middle" x="109" y="-1276.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#61</text>
<text text-anchor="middle" x="109" y="-1261.8" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to ff traits</text>
</a>
</g>
</g>
<!-- zcash/halo2#68 -->
<g id="node110" class="node">
<title>zcash/halo2#68</title>
<g id="a_node110"><a xlink:href="https://github.com/zcash/halo2/issues/68" xlink:title="zcash/halo2#68&#10;Migrate to the Pasta&#10;curves" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="436,-1299.5 272,-1299.5 272,-1246.5 436,-1246.5 436,-1299.5"/>
<text text-anchor="middle" x="354" y="-1284.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#68</text>
<text text-anchor="middle" x="354" y="-1269.3" font-family="Times,serif" font-size="14.00" fill="#000000">Migrate to the Pasta</text>
<text text-anchor="middle" x="354" y="-1254.3" font-family="Times,serif" font-size="14.00" fill="#000000">curves</text>
</a>
</g>
</g>
<!-- zcash/halo2#61&#45;&gt;zcash/halo2#68 -->
<g id="edge124" class="edge">
<title>zcash/halo2#61&#45;&gt;zcash/halo2#68</title>
<path fill="none" stroke="#000000" d="M184.51,-1273C208.96,-1273 236.36,-1273 261.88,-1273"/>
<polygon fill="#000000" stroke="#000000" points="261.93,-1276.5001 271.93,-1273 261.93,-1269.5001 261.93,-1276.5001"/>
</g>
<!-- zcash/halo2#68&#45;&gt;zcash/halo2#72 -->
<g id="edge125" class="edge">
<title>zcash/halo2#68&#45;&gt;zcash/halo2#72</title>
<path fill="none" stroke="#000000" d="M436.29,-1286.4C469.03,-1291.7 507.03,-1297.9 541.42,-1303.5"/>
<polygon fill="#000000" stroke="#000000" points="541.0572,-1306.9882 551.5,-1305.2 542.2213,-1300.0856 541.0572,-1306.9882"/>
</g>
<!-- zcash/halo2#70 -->
<g id="node111" class="node">
<title>zcash/halo2#70</title>
<g id="a_node111"><a xlink:href="https://github.com/zcash/halo2/pull/70" xlink:title="zcash/halo2#70&#10;Extract permutation&#10;argument and introduce&#10;typed challenges" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="449.5,-1897 258.5,-1897 258.5,-1893 254.5,-1893 254.5,-1889 258.5,-1889 258.5,-1837 254.5,-1837 254.5,-1833 258.5,-1833 258.5,-1829 449.5,-1829 449.5,-1897"/>
<polyline fill="none" stroke="#000000" points="258.5,-1893 262.5,-1893 262.5,-1889 258.5,-1889 "/>
<polyline fill="none" stroke="#000000" points="258.5,-1837 262.5,-1837 262.5,-1833 258.5,-1833 "/>
<text text-anchor="middle" x="354" y="-1881.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#70</text>
<text text-anchor="middle" x="354" y="-1866.8" font-family="Times,serif" font-size="14.00" fill="#000000">Extract permutation</text>
<text text-anchor="middle" x="354" y="-1851.8" font-family="Times,serif" font-size="14.00" fill="#000000">argument and introduce</text>
<text text-anchor="middle" x="354" y="-1836.8" font-family="Times,serif" font-size="14.00" fill="#000000">typed challenges</text>
</a>
</g>
</g>
<!-- zcash/halo2#70&#45;&gt;zcash/halo2#44 -->
<g id="edge126" class="edge">
<title>zcash/halo2#70&#45;&gt;zcash/halo2#44</title>
<path fill="none" stroke="#000000" d="M449.67,-1843.8C477.84,-1838.1 508.81,-1831.9 537.53,-1826.1"/>
<polygon fill="#000000" stroke="#000000" points="538.4555,-1829.4845 547.58,-1824.1 537.0892,-1822.6192 538.4555,-1829.4845"/>
</g>
<!-- zcash/halo2#70&#45;&gt;zcash/halo2#62 -->
<g id="edge127" class="edge">
<title>zcash/halo2#70&#45;&gt;zcash/halo2#62</title>
<path fill="none" stroke="#000000" d="M449.61,-1882C566.95,-1905.3 764.96,-1944.6 884.03,-1968.2"/>
<polygon fill="#000000" stroke="#000000" points="883.3938,-1971.6422 893.89,-1970.2 884.7854,-1964.7819 883.3938,-1971.6422"/>
</g>
<!-- zcash/halo2#78 -->
<g id="node112" class="node">
<title>zcash/halo2#78</title>
<g id="a_node112"><a xlink:href="https://github.com/zcash/halo2/issues/78" xlink:title="zcash/halo2#78&#10;Implement algebraic hash&#10;/ random oracle&#10;abstraction gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1426.5,-2187 1222.5,-2187 1222.5,-2119 1426.5,-2119 1426.5,-2187"/>
<text text-anchor="middle" x="1324.5" y="-2171.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#78</text>
<text text-anchor="middle" x="1324.5" y="-2156.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement algebraic hash</text>
<text text-anchor="middle" x="1324.5" y="-2141.8" font-family="Times,serif" font-size="14.00" fill="#000000">/ random oracle</text>
<text text-anchor="middle" x="1324.5" y="-2126.8" font-family="Times,serif" font-size="14.00" fill="#000000">abstraction gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#75 -->
<g id="edge128" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1426.6,-2177.9C1443.7,-2183.2 1461,-2189.2 1477,-2196 1494.1,-2203.2 1495.2,-2211.8 1513,-2217 1644.9,-2255.5 1805,-2253.7 1906.4,-2246.9"/>
<polygon fill="#000000" stroke="#000000" points="1906.8631,-2250.3765 1916.6,-2246.2 1906.3838,-2243.393 1906.8631,-2250.3765"/>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#79 -->
<g id="edge129" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1426.6,-2142.3C1446.1,-2135.6 1464.3,-2125.1 1477,-2109 1535,-2035.2 1456.3,-1339.8 1513,-1265 1528.1,-1245.1 1551.3,-1233 1575.1,-1225.7"/>
<polygon fill="#000000" stroke="#000000" points="1576.33,-1228.9895 1585,-1222.9 1574.4249,-1222.2537 1576.33,-1228.9895"/>
</g>
<!-- zcash/halo2#250 -->
<g id="node113" class="node">
<title>zcash/halo2#250</title>
<g id="a_node113"><a xlink:href="https://github.com/zcash/halo2/issues/250" xlink:title="zcash/halo2#250&#10;Implement the recursive&#10;verifier circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1762.5,-2394.5 1568.5,-2394.5 1568.5,-2341.5 1762.5,-2341.5 1762.5,-2394.5"/>
<text text-anchor="middle" x="1665.5" y="-2379.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#250</text>
<text text-anchor="middle" x="1665.5" y="-2364.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement the recursive</text>
<text text-anchor="middle" x="1665.5" y="-2349.3" font-family="Times,serif" font-size="14.00" fill="#000000">verifier circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#78&#45;&gt;zcash/halo2#250 -->
<g id="edge130" class="edge">
<title>zcash/halo2#78&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1426.8,-2170.9C1444.6,-2177 1462.1,-2185.1 1477,-2196 1500.6,-2213.3 1493.1,-2229.6 1513,-2251 1543.2,-2283.5 1583.2,-2313.8 1614.6,-2335.5"/>
<polygon fill="#000000" stroke="#000000" points="1612.9523,-2338.6103 1623.2,-2341.3 1616.8663,-2332.8068 1612.9523,-2338.6103"/>
</g>
<!-- zcash/halo2#250&#45;&gt;zcash/halo2#75 -->
<g id="edge131" class="edge">
<title>zcash/halo2#250&#45;&gt;zcash/halo2#75</title>
<path fill="none" stroke="#000000" d="M1734.5,-2341.5C1790.5,-2320 1869.3,-2289.7 1927.7,-2267.3"/>
<polygon fill="#000000" stroke="#000000" points="1929.2278,-2270.4622 1937.3,-2263.6 1926.7103,-2263.9305 1929.2278,-2270.4622"/>
</g>
<!-- zcash/halo2#77 -->
<g id="node114" class="node">
<title>zcash/halo2#77</title>
<g id="a_node114"><a xlink:href="https://github.com/zcash/halo2/issues/77" xlink:title="zcash/halo2#77&#10;Implement Rescue gadget" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1427,-1357 1222,-1357 1222,-1319 1427,-1319 1427,-1357"/>
<text text-anchor="middle" x="1324.5" y="-1341.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#77</text>
<text text-anchor="middle" x="1324.5" y="-1326.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Rescue gadget</text>
</a>
</g>
</g>
<!-- zcash/halo2#77&#45;&gt;zcash/halo2#79 -->
<g id="edge132" class="edge">
<title>zcash/halo2#77&#45;&gt;zcash/halo2#79</title>
<path fill="none" stroke="#000000" d="M1427.4,-1328.6C1444.7,-1324.2 1461.9,-1318 1477,-1309 1498.7,-1296.1 1492.2,-1279.3 1513,-1265 1531.5,-1252.3 1553.5,-1242.6 1575,-1235.4"/>
<polygon fill="#000000" stroke="#000000" points="1576.3,-1238.6568 1584.7,-1232.2 1574.1069,-1232.0092 1576.3,-1238.6568"/>
</g>
<!-- zcash/halo2#248 -->
<g id="node115" class="node">
<title>zcash/halo2#248</title>
<g id="a_node115"><a xlink:href="https://github.com/zcash/halo2/issues/248" xlink:title="zcash/halo2#248&#10;Implement endoscaling in&#10;the circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1426,-2516.5 1223,-2516.5 1223,-2463.5 1426,-2463.5 1426,-2516.5"/>
<text text-anchor="middle" x="1324.5" y="-2501.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#248</text>
<text text-anchor="middle" x="1324.5" y="-2486.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement endoscaling in</text>
<text text-anchor="middle" x="1324.5" y="-2471.3" font-family="Times,serif" font-size="14.00" fill="#000000">the circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#248&#45;&gt;zcash/halo2#250 -->
<g id="edge133" class="edge">
<title>zcash/halo2#248&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1426.2,-2468.9C1443.3,-2464.6 1460.8,-2459.6 1477,-2454 1521.2,-2438.9 1569.1,-2416.9 1605.6,-2399"/>
<polygon fill="#000000" stroke="#000000" points="1607.221,-2402.1027 1614.6,-2394.5 1604.0905,-2395.8417 1607.221,-2402.1027"/>
</g>
<!-- zcash/halo2#249 -->
<g id="node116" class="node">
<title>zcash/halo2#249</title>
<g id="a_node116"><a xlink:href="https://github.com/zcash/halo2/issues/249" xlink:title="zcash/halo2#249&#10;Implement circuit logic&#10;for handling public&#10;inputs" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1417,-2445 1232,-2445 1232,-2377 1417,-2377 1417,-2445"/>
<text text-anchor="middle" x="1324.5" y="-2429.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#249</text>
<text text-anchor="middle" x="1324.5" y="-2414.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement circuit logic</text>
<text text-anchor="middle" x="1324.5" y="-2399.8" font-family="Times,serif" font-size="14.00" fill="#000000">for handling public</text>
<text text-anchor="middle" x="1324.5" y="-2384.8" font-family="Times,serif" font-size="14.00" fill="#000000">inputs</text>
</a>
</g>
</g>
<!-- zcash/halo2#249&#45;&gt;zcash/halo2#250 -->
<g id="edge134" class="edge">
<title>zcash/halo2#249&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1417.2,-2399.3C1460.8,-2393.8 1512.9,-2387.2 1558.2,-2381.5"/>
<polygon fill="#000000" stroke="#000000" points="1558.7828,-2384.9555 1568.3,-2380.3 1557.9569,-2378.0044 1558.7828,-2384.9555"/>
</g>
<!-- zcash/halo2#246 -->
<g id="node117" class="node">
<title>zcash/halo2#246</title>
<g id="a_node117"><a xlink:href="https://github.com/zcash/halo2/issues/246" xlink:title="zcash/halo2#246&#10;Create recursive proof&#10;structures" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1073,-2351.5 894,-2351.5 894,-2298.5 1073,-2298.5 1073,-2351.5"/>
<text text-anchor="middle" x="983.5" y="-2336.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#246</text>
<text text-anchor="middle" x="983.5" y="-2321.3" font-family="Times,serif" font-size="14.00" fill="#000000">Create recursive proof</text>
<text text-anchor="middle" x="983.5" y="-2306.3" font-family="Times,serif" font-size="14.00" fill="#000000">structures</text>
</a>
</g>
</g>
<!-- zcash/halo2#247 -->
<g id="node118" class="node">
<title>zcash/halo2#247</title>
<g id="a_node118"><a xlink:href="https://github.com/zcash/halo2/issues/247" xlink:title="zcash/halo2#247&#10;Implement underlying&#10;scaffolding for the&#10;recursive circuit" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" points="1412.5,-2359 1236.5,-2359 1236.5,-2291 1412.5,-2291 1412.5,-2359"/>
<text text-anchor="middle" x="1324.5" y="-2343.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#247</text>
<text text-anchor="middle" x="1324.5" y="-2328.8" font-family="Times,serif" font-size="14.00" fill="#000000">Implement underlying</text>
<text text-anchor="middle" x="1324.5" y="-2313.8" font-family="Times,serif" font-size="14.00" fill="#000000">scaffolding for the</text>
<text text-anchor="middle" x="1324.5" y="-2298.8" font-family="Times,serif" font-size="14.00" fill="#000000">recursive circuit</text>
</a>
</g>
</g>
<!-- zcash/halo2#246&#45;&gt;zcash/halo2#247 -->
<g id="edge135" class="edge">
<title>zcash/halo2#246&#45;&gt;zcash/halo2#247</title>
<path fill="none" stroke="#000000" d="M1073.1,-2325C1120.2,-2325 1177.9,-2325 1226.2,-2325"/>
<polygon fill="#000000" stroke="#000000" points="1226.4,-2328.5001 1236.4,-2325 1226.4,-2321.5001 1226.4,-2328.5001"/>
</g>
<!-- zcash/halo2#247&#45;&gt;zcash/halo2#250 -->
<g id="edge136" class="edge">
<title>zcash/halo2#247&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1412.8,-2336.1C1457.2,-2341.7 1511.3,-2348.6 1558.1,-2354.5"/>
<polygon fill="#000000" stroke="#000000" points="1557.9595,-2358.0075 1568.3,-2355.7 1558.7775,-2351.0555 1557.9595,-2358.0075"/>
</g>
<!-- zcash/halo2#245 -->
<g id="node119" class="node">
<title>zcash/halo2#245</title>
<g id="a_node119"><a xlink:href="https://github.com/zcash/halo2/issues/245" xlink:title="zcash/halo2#245&#10;Remove the need to&#10;multiply by powers of x^n&#10;in verifier" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1427.5,-2273 1221.5,-2273 1221.5,-2205 1427.5,-2205 1427.5,-2273"/>
<text text-anchor="middle" x="1324.5" y="-2257.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#245</text>
<text text-anchor="middle" x="1324.5" y="-2242.8" font-family="Times,serif" font-size="14.00" fill="#000000">Remove the need to</text>
<text text-anchor="middle" x="1324.5" y="-2227.8" font-family="Times,serif" font-size="14.00" fill="#000000">multiply by powers of x^n</text>
<text text-anchor="middle" x="1324.5" y="-2212.8" font-family="Times,serif" font-size="14.00" fill="#000000">in verifier</text>
</a>
</g>
</g>
<!-- zcash/halo2#245&#45;&gt;zcash/halo2#250 -->
<g id="edge137" class="edge">
<title>zcash/halo2#245&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1427.7,-2265.8C1444.3,-2270.8 1461.2,-2276.2 1477,-2282 1520.3,-2297.9 1567.5,-2319.4 1603.8,-2336.9"/>
<polygon fill="#000000" stroke="#000000" points="1602.2789,-2340.0522 1612.8,-2341.3 1605.3534,-2333.7635 1602.2789,-2340.0522"/>
</g>
<!-- zcash/halo2#151 -->
<g id="node120" class="node">
<title>zcash/halo2#151</title>
<g id="a_node120"><a xlink:href="https://github.com/zcash/halo2/issues/151" xlink:title="zcash/halo2#151&#10;Add support for full&#45;&#10;field challenge space" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1408,-2674.5 1241,-2674.5 1241,-2621.5 1408,-2621.5 1408,-2674.5"/>
<text text-anchor="middle" x="1324.5" y="-2659.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#151</text>
<text text-anchor="middle" x="1324.5" y="-2644.3" font-family="Times,serif" font-size="14.00" fill="#000000">Add support for full&#45;</text>
<text text-anchor="middle" x="1324.5" y="-2629.3" font-family="Times,serif" font-size="14.00" fill="#000000">field challenge space</text>
</a>
</g>
</g>
<!-- zcash/halo2#151&#45;&gt;zcash/halo2#250 -->
<g id="edge138" class="edge">
<title>zcash/halo2#151&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1408.1,-2638.9C1431.7,-2633.6 1456.5,-2625.2 1477,-2612 1558.9,-2559.2 1619.7,-2458.1 1647.9,-2404.1"/>
<polygon fill="#000000" stroke="#000000" points="1651.1674,-2405.3975 1652.6,-2394.9 1644.9337,-2402.2129 1651.1674,-2405.3975"/>
</g>
<!-- zcash/halo2#210 -->
<g id="node121" class="node">
<title>zcash/halo2#210</title>
<g id="a_node121"><a xlink:href="https://github.com/zcash/halo2/issues/210" xlink:title="zcash/halo2#210&#10;Make multiopen&#10;point_index_map dependent&#10;only on the rotation" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1433.5,-2603 1215.5,-2603 1215.5,-2535 1433.5,-2535 1433.5,-2603"/>
<text text-anchor="middle" x="1324.5" y="-2587.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/halo2#210</text>
<text text-anchor="middle" x="1324.5" y="-2572.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make multiopen</text>
<text text-anchor="middle" x="1324.5" y="-2557.8" font-family="Times,serif" font-size="14.00" fill="#000000">point_index_map dependent</text>
<text text-anchor="middle" x="1324.5" y="-2542.8" font-family="Times,serif" font-size="14.00" fill="#000000">only on the rotation</text>
</a>
</g>
</g>
<!-- zcash/halo2#210&#45;&gt;zcash/halo2#250 -->
<g id="edge139" class="edge">
<title>zcash/halo2#210&#45;&gt;zcash/halo2#250</title>
<path fill="none" stroke="#000000" d="M1433.7,-2543.5C1448.7,-2538.3 1463.5,-2532.2 1477,-2525 1538.5,-2492.4 1598.3,-2437.5 1633.5,-2402"/>
<polygon fill="#000000" stroke="#000000" points="1636.1368,-2404.3089 1640.6,-2394.7 1631.1188,-2399.4283 1636.1368,-2404.3089"/>
</g>
<!-- zcash/orchard#29 -->
<g id="node122" class="node">
<title>zcash/orchard#29</title>
<g id="a_node122"><a xlink:href="https://github.com/zcash/orchard/issues/29" xlink:title="zcash/orchard#29&#10;Implement Orchard key&#10;structure" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1760,-633.5 1571,-633.5 1571,-580.5 1760,-580.5 1760,-633.5"/>
<text text-anchor="middle" x="1665.5" y="-618.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#29</text>
<text text-anchor="middle" x="1665.5" y="-603.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement Orchard key</text>
<text text-anchor="middle" x="1665.5" y="-588.3" font-family="Times,serif" font-size="14.00" fill="#000000">structure</text>
</a>
</g>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#35 -->
<g id="edge140" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M1760.3,-613.37C1781.4,-618.85 1802.2,-627.99 1818,-643 1859.9,-682.88 1810,-730.44 1854,-768 1905.9,-812.37 2094,-785.1 2159,-806 2192.6,-816.79 2227.4,-835.52 2254.4,-851.92"/>
<polygon fill="#000000" stroke="#000000" points="2252.8574,-855.0818 2263.2,-857.38 2256.548,-849.1337 2252.8574,-855.0818"/>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#36 -->
<g id="edge141" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#36</title>
<path fill="none" stroke="#000000" d="M1760,-595.91C1803.3,-590.84 1854.7,-584.8 1899.4,-579.56"/>
<polygon fill="#000000" stroke="#000000" points="1899.8745,-583.0284 1909.4,-578.39 1899.061,-576.0759 1899.8745,-583.0284"/>
</g>
<!-- zcash/orchard#29&#45;&gt;zcash/orchard#30 -->
<g id="edge142" class="edge">
<title>zcash/orchard#29&#45;&gt;zcash/orchard#30</title>
<path fill="none" stroke="#000000" d="M1760,-617.81C1806.8,-623.16 1863.1,-629.6 1910.1,-634.97"/>
<polygon fill="#000000" stroke="#000000" points="1909.8636,-638.4659 1920.2,-636.14 1910.6692,-631.5124 1909.8636,-638.4659"/>
</g>
<!-- zcash/orchard#27 -->
<g id="node123" class="node">
<title>zcash/orchard#27</title>
<g id="a_node123"><a xlink:href="https://github.com/zcash/orchard/pull/27" xlink:title="zcash/orchard#27&#10;Make Bundle a parametric&#10;type over an&#10;Authorization trait" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1769.5,-918 1561.5,-918 1561.5,-914 1557.5,-914 1557.5,-910 1561.5,-910 1561.5,-858 1557.5,-858 1557.5,-854 1561.5,-854 1561.5,-850 1769.5,-850 1769.5,-918"/>
<polyline fill="none" stroke="#000000" points="1561.5,-914 1565.5,-914 1565.5,-910 1561.5,-910 "/>
<polyline fill="none" stroke="#000000" points="1561.5,-858 1565.5,-858 1565.5,-854 1561.5,-854 "/>
<text text-anchor="middle" x="1665.5" y="-902.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#27</text>
<text text-anchor="middle" x="1665.5" y="-887.8" font-family="Times,serif" font-size="14.00" fill="#000000">Make Bundle a parametric</text>
<text text-anchor="middle" x="1665.5" y="-872.8" font-family="Times,serif" font-size="14.00" fill="#000000">type over an</text>
<text text-anchor="middle" x="1665.5" y="-857.8" font-family="Times,serif" font-size="14.00" fill="#000000">Authorization trait</text>
</a>
</g>
</g>
<!-- zcash/orchard#27&#45;&gt;zcash/orchard#35 -->
<g id="edge143" class="edge">
<title>zcash/orchard#27&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M1769.6,-884C1891.8,-884 2092.6,-884 2209.7,-884"/>
<polygon fill="#000000" stroke="#000000" points="2209.7,-887.5001 2219.7,-884 2209.7,-880.5001 2209.7,-887.5001"/>
</g>
<!-- zcash/orchard#27&#45;&gt;zcash/orchard#34 -->
<g id="edge144" class="edge">
<title>zcash/orchard#27&#45;&gt;zcash/orchard#34</title>
<path fill="none" stroke="#000000" d="M1769.6,-900.84C1787,-907.03 1804,-915.47 1818,-927 1845.3,-949.47 1835.6,-967.75 1854,-998 1891.4,-1059.6 1940.9,-1126.5 1973.2,-1168.6"/>
<polygon fill="#000000" stroke="#000000" points="1970.5425,-1170.8865 1979.4,-1176.7 1976.1011,-1166.6318 1970.5425,-1170.8865"/>
</g>
<!-- zcash/orchard#38 -->
<g id="node124" class="node">
<title>zcash/orchard#38</title>
<g id="a_node124"><a xlink:href="https://github.com/zcash/orchard/issues/38" xlink:title="zcash/orchard#38&#10;Implement generic ECC&#10;gadget" target="_blank">
<polygon fill="#c2e0c6" stroke="#000000" stroke-width="2" points="1761,-1327.5 1570,-1327.5 1570,-1274.5 1761,-1274.5 1761,-1327.5"/>
<text text-anchor="middle" x="1665.5" y="-1312.3" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#38</text>
<text text-anchor="middle" x="1665.5" y="-1297.3" font-family="Times,serif" font-size="14.00" fill="#000000">Implement generic ECC</text>
<text text-anchor="middle" x="1665.5" y="-1282.3" font-family="Times,serif" font-size="14.00" fill="#000000">gadget</text>
</a>
</g>
</g>
<!-- zcash/orchard#38&#45;&gt;zcash/orchard#4 -->
<g id="edge145" class="edge">
<title>zcash/orchard#38&#45;&gt;zcash/orchard#4</title>
<path fill="none" stroke="#000000" d="M1761.1,-1318.3C1780.3,-1323.2 1800.1,-1329.4 1818,-1337 1872.3,-1360.2 1928.4,-1398.7 1965.1,-1426.2"/>
<polygon fill="#000000" stroke="#000000" points="1963.0257,-1429.0198 1973.1,-1432.3 1967.2702,-1423.4533 1963.0257,-1429.0198"/>
</g>
<!-- zcash/orchard#55 -->
<g id="node125" class="node">
<title>zcash/orchard#55</title>
<g id="a_node125"><a xlink:href="https://github.com/zcash/orchard/issues/55" xlink:title="zcash/orchard#55&#10;Handle the (negligible&#10;probability of) failure&#10;of SinsemillaShortCommit" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1768.5,-2043 1562.5,-2043 1562.5,-1975 1768.5,-1975 1768.5,-2043"/>
<text text-anchor="middle" x="1665.5" y="-2027.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#55</text>
<text text-anchor="middle" x="1665.5" y="-2012.8" font-family="Times,serif" font-size="14.00" fill="#000000">Handle the (negligible</text>
<text text-anchor="middle" x="1665.5" y="-1997.8" font-family="Times,serif" font-size="14.00" fill="#000000">probability of) failure</text>
<text text-anchor="middle" x="1665.5" y="-1982.8" font-family="Times,serif" font-size="14.00" fill="#000000">of SinsemillaShortCommit</text>
</a>
</g>
</g>
<!-- zcash/orchard#55&#45;&gt;zcash/orchard#33 -->
<g id="edge146" class="edge">
<title>zcash/orchard#55&#45;&gt;zcash/orchard#33</title>
<path fill="none" stroke="#000000" d="M1768.6,-1987.2C1785.8,-1981.4 1802.9,-1974.1 1818,-1965 1837.7,-1953.2 1834,-1939.2 1854,-1928 1863.3,-1922.7 1873.4,-1918.3 1883.8,-1914.5"/>
<polygon fill="#000000" stroke="#000000" points="1885.0809,-1917.7608 1893.4,-1911.2 1882.8053,-1911.141 1885.0809,-1917.7608"/>
</g>
<!-- zcash/orchard#70 -->
<g id="node126" class="node">
<title>zcash/orchard#70</title>
<g id="a_node126"><a xlink:href="https://github.com/zcash/orchard/pull/70" xlink:title="zcash/orchard#70&#10;Bundle APIs" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1739.5,-832 1591.5,-832 1591.5,-828 1587.5,-828 1587.5,-824 1591.5,-824 1591.5,-802 1587.5,-802 1587.5,-798 1591.5,-798 1591.5,-794 1739.5,-794 1739.5,-832"/>
<polyline fill="none" stroke="#000000" points="1591.5,-828 1595.5,-828 1595.5,-824 1591.5,-824 "/>
<polyline fill="none" stroke="#000000" points="1591.5,-802 1595.5,-802 1595.5,-798 1591.5,-798 "/>
<text text-anchor="middle" x="1665.5" y="-816.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#70</text>
<text text-anchor="middle" x="1665.5" y="-801.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bundle APIs</text>
</a>
</g>
</g>
<!-- zcash/orchard#49 -->
<g id="node127" class="node">
<title>zcash/orchard#49</title>
<g id="a_node127"><a xlink:href="https://github.com/zcash/orchard/pull/49" xlink:title="zcash/orchard#49&#10;Bundle builder" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="2080.5,-853 1932.5,-853 1932.5,-849 1928.5,-849 1928.5,-845 1932.5,-845 1932.5,-823 1928.5,-823 1928.5,-819 1932.5,-819 1932.5,-815 2080.5,-815 2080.5,-853"/>
<polyline fill="none" stroke="#000000" points="1932.5,-849 1936.5,-849 1936.5,-845 1932.5,-845 "/>
<polyline fill="none" stroke="#000000" points="1932.5,-823 1936.5,-823 1936.5,-819 1932.5,-819 "/>
<text text-anchor="middle" x="2006.5" y="-837.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#49</text>
<text text-anchor="middle" x="2006.5" y="-822.8" font-family="Times,serif" font-size="14.00" fill="#000000">Bundle builder</text>
</a>
</g>
</g>
<!-- zcash/orchard#70&#45;&gt;zcash/orchard#49 -->
<g id="edge147" class="edge">
<title>zcash/orchard#70&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1739.9,-817.58C1793.6,-820.89 1866.2,-825.36 1922,-828.8"/>
<polygon fill="#000000" stroke="#000000" points="1922.0032,-832.3068 1932.2,-829.43 1922.4348,-825.3201 1922.0032,-832.3068"/>
</g>
<!-- zcash/orchard#49&#45;&gt;zcash/orchard#35 -->
<g id="edge148" class="edge">
<title>zcash/orchard#49&#45;&gt;zcash/orchard#35</title>
<path fill="none" stroke="#000000" d="M2080.8,-846.55C2119.9,-853.15 2168.2,-861.31 2209.7,-868.32"/>
<polygon fill="#000000" stroke="#000000" points="2209.356,-871.8115 2219.8,-870.03 2210.5246,-864.9097 2209.356,-871.8115"/>
</g>
<!-- zcash/orchard#58 -->
<g id="node128" class="node">
<title>zcash/orchard#58</title>
<g id="a_node128"><a xlink:href="https://github.com/zcash/orchard/pull/58" xlink:title="zcash/orchard#58&#10;Proving and verifying&#10;keys, and placeholder&#10;proof logic" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1752,-776 1579,-776 1579,-772 1575,-772 1575,-768 1579,-768 1579,-716 1575,-716 1575,-712 1579,-712 1579,-708 1752,-708 1752,-776"/>
<polyline fill="none" stroke="#000000" points="1579,-772 1583,-772 1583,-768 1579,-768 "/>
<polyline fill="none" stroke="#000000" points="1579,-716 1583,-716 1583,-712 1579,-712 "/>
<text text-anchor="middle" x="1665.5" y="-760.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#58</text>
<text text-anchor="middle" x="1665.5" y="-745.8" font-family="Times,serif" font-size="14.00" fill="#000000">Proving and verifying</text>
<text text-anchor="middle" x="1665.5" y="-730.8" font-family="Times,serif" font-size="14.00" fill="#000000">keys, and placeholder</text>
<text text-anchor="middle" x="1665.5" y="-715.8" font-family="Times,serif" font-size="14.00" fill="#000000">proof logic</text>
</a>
</g>
</g>
<!-- zcash/orchard#58&#45;&gt;zcash/orchard#49 -->
<g id="edge149" class="edge">
<title>zcash/orchard#58&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1752.1,-764.09C1773.8,-770.26 1796.9,-777.39 1818,-785 1834.5,-790.95 1837.4,-795.56 1854,-801 1875.9,-808.14 1900,-814.18 1922.5,-819.05"/>
<polygon fill="#000000" stroke="#000000" points="1921.8927,-822.4989 1932.4,-821.14 1923.3386,-815.6498 1921.8927,-822.4989"/>
</g>
<!-- zcash/orchard#60 -->
<g id="node129" class="node">
<title>zcash/orchard#60</title>
<g id="a_node129"><a xlink:href="https://github.com/zcash/orchard/pull/60" xlink:title="zcash/orchard#60&#10;Dummy note generation" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1419.5,-761 1229.5,-761 1229.5,-757 1225.5,-757 1225.5,-753 1229.5,-753 1229.5,-731 1225.5,-731 1225.5,-727 1229.5,-727 1229.5,-723 1419.5,-723 1419.5,-761"/>
<polyline fill="none" stroke="#000000" points="1229.5,-757 1233.5,-757 1233.5,-753 1229.5,-753 "/>
<polyline fill="none" stroke="#000000" points="1229.5,-731 1233.5,-731 1233.5,-727 1229.5,-727 "/>
<text text-anchor="middle" x="1324.5" y="-745.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#60</text>
<text text-anchor="middle" x="1324.5" y="-730.8" font-family="Times,serif" font-size="14.00" fill="#000000">Dummy note generation</text>
</a>
</g>
</g>
<!-- zcash/orchard#60&#45;&gt;zcash/orchard#58 -->
<g id="edge150" class="edge">
<title>zcash/orchard#60&#45;&gt;zcash/orchard#58</title>
<path fill="none" stroke="#000000" d="M1419.9,-742C1466.4,-742 1522.1,-742 1568.7,-742"/>
<polygon fill="#000000" stroke="#000000" points="1568.8,-745.5001 1578.8,-742 1568.8,-738.5001 1568.8,-745.5001"/>
</g>
<!-- zcash/orchard#72 -->
<g id="node130" class="node">
<title>zcash/orchard#72</title>
<g id="a_node130"><a xlink:href="https://github.com/zcash/orchard/pull/72" xlink:title="zcash/orchard#72&#10;Builder preparations" target="_blank">
<polygon fill="#fad8c7" stroke="#000000" points="1748,-690 1583,-690 1583,-686 1579,-686 1579,-682 1583,-682 1583,-660 1579,-660 1579,-656 1583,-656 1583,-652 1748,-652 1748,-690"/>
<polyline fill="none" stroke="#000000" points="1583,-686 1587,-686 1587,-682 1583,-682 "/>
<polyline fill="none" stroke="#000000" points="1583,-660 1587,-660 1587,-656 1583,-656 "/>
<text text-anchor="middle" x="1665.5" y="-674.8" font-family="Times,serif" font-size="14.00" fill="#000000">zcash/orchard#72</text>
<text text-anchor="middle" x="1665.5" y="-659.8" font-family="Times,serif" font-size="14.00" fill="#000000">Builder preparations</text>
</a>
</g>
</g>
<!-- zcash/orchard#72&#45;&gt;zcash/orchard#49 -->
<g id="edge151" class="edge">
<title>zcash/orchard#72&#45;&gt;zcash/orchard#49</title>
<path fill="none" stroke="#000000" d="M1748.3,-670.71C1773.1,-674.43 1798.8,-682.57 1818,-699 1854.6,-730.21 1817.9,-769.22 1854,-801 1872.8,-817.53 1897.8,-826.43 1922.2,-831.05"/>
<polygon fill="#000000" stroke="#000000" points="1921.7583,-834.5248 1932.2,-832.73 1922.9181,-827.6215 1921.7583,-834.5248"/>
</g>
</g>
</svg>