xs/hkexshd/hkexshd-vis.gv.svg

768 lines
61 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)
-->
<!-- Title: gocallvis Pages: 1 -->
<svg width="915pt" height="1894pt"
viewBox="0.00 0.00 915.32 1894.00" 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(0 1894)">
<title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-1894 915.3169,-1894 915.3169,0 0,0"/>
<text text-anchor="middle" x="106" y="-7.8" font-family="Arial" font-size="14.00" fill="#000000">blitter.com/go/hkexsh/hkexshd</text>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-31 8,-1886 907.3169,-1886 907.3169,-31 8,-31"/>
<text text-anchor="middle" x="457.6585" y="-1867.6" font-family="Arial" font-size="18.00" fill="#000000">main</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_blitter.com/go/goutmp</title>
<g id="a_clust2"><a xlink:href="/?f=blitter.com/go/goutmp" xlink:title="package: blitter.com/go/goutmp">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="579.2096,-1589 579.2096,-1850 739.3146,-1850 739.3146,-1589 579.2096,-1589"/>
<text text-anchor="middle" x="659.2621" y="-1833.2" font-family="bold" font-size="16.00" fill="#000000">[goutmp]</text>
</a>
</g>
</g>
<g id="clust3" class="cluster">
<title>cluster_blitter.com/go/hkexsh</title>
<g id="a_clust3"><a xlink:href="/?f=blitter.com/go/hkexsh" xlink:title="package: blitter.com/go/hkexsh">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="301.5032,-83 301.5032,-1072 477.0088,-1072 477.0088,-83 301.5032,-83"/>
<text text-anchor="middle" x="389.256" y="-1055.2" font-family="bold" font-size="16.00" fill="#000000">[hkexsh]</text>
</a>
</g>
</g>
<g id="clust4" class="cluster">
<title>cluster_*blitter.com/go/hkexsh.Session</title>
<g id="a_clust4"><a xlink:href="/?f=blitter.com/go/hkexsh" xlink:title="type: *blitter.com/go/hkexsh.Session">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M322.8536,-91C322.8536,-91 455.6585,-91 455.6585,-91 461.6585,-91 467.6585,-97 467.6585,-103 467.6585,-103 467.6585,-522 467.6585,-522 467.6585,-528 461.6585,-534 455.6585,-534 455.6585,-534 322.8536,-534 322.8536,-534 316.8536,-534 310.8536,-528 310.8536,-522 310.8536,-522 310.8536,-103 310.8536,-103 310.8536,-97 316.8536,-91 322.8536,-91"/>
<text text-anchor="middle" x="389.256" y="-100" font-family="bold" font-size="15.00" fill="#222222">(*Session)</text>
</a>
</g>
</g>
<g id="clust5" class="cluster">
<title>cluster_blitter.com/go/hkexsh.Session</title>
<g id="a_clust5"><a xlink:href="/?f=blitter.com/go/hkexsh" xlink:title="type: blitter.com/go/hkexsh.Session">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M343.7543,-542C343.7543,-542 434.7577,-542 434.7577,-542 440.7577,-542 446.7577,-548 446.7577,-554 446.7577,-554 446.7577,-912 446.7577,-912 446.7577,-918 440.7577,-924 434.7577,-924 434.7577,-924 343.7543,-924 343.7543,-924 337.7543,-924 331.7543,-918 331.7543,-912 331.7543,-912 331.7543,-554 331.7543,-554 331.7543,-548 337.7543,-542 343.7543,-542"/>
<text text-anchor="middle" x="389.256" y="-551" font-family="bold" font-size="15.00" fill="#222222">(Session)</text>
</a>
</g>
</g>
<g id="clust6" class="cluster">
<title>cluster_blitter.com/go/hkexsh/hkexnet</title>
<g id="a_clust6"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="package: blitter.com/go/hkexsh/hkexnet">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="573.911,-666 573.911,-1581 744.6132,-1581 744.6132,-666 573.911,-666"/>
<text text-anchor="middle" x="659.2621" y="-1564.2" font-family="bold" font-size="16.00" fill="#000000">[hkexnet]</text>
</a>
</g>
</g>
<g id="clust7" class="cluster">
<title>cluster_*blitter.com/go/hkexsh/hkexnet.Conn</title>
<g id="a_clust7"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="type: *blitter.com/go/hkexsh/hkexnet.Conn">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M598.9099,-674C598.9099,-674 719.6144,-674 719.6144,-674 725.6144,-674 731.6144,-680 731.6144,-686 731.6144,-686 731.6144,-1166 731.6144,-1166 731.6144,-1172 725.6144,-1178 719.6144,-1178 719.6144,-1178 598.9099,-1178 598.9099,-1178 592.9099,-1178 586.9099,-1172 586.9099,-1166 586.9099,-1166 586.9099,-686 586.9099,-686 586.9099,-680 592.9099,-674 598.9099,-674"/>
<text text-anchor="middle" x="659.2621" y="-683" font-family="bold" font-size="15.00" fill="#222222">(*Conn)</text>
</a>
</g>
</g>
<g id="clust8" class="cluster">
<title>cluster_*blitter.com/go/hkexsh/hkexnet.HKExListener</title>
<g id="a_clust8"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="type: *blitter.com/go/hkexsh/hkexnet.HKExListener">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M593.911,-1385C593.911,-1385 724.6132,-1385 724.6132,-1385 730.6132,-1385 736.6132,-1391 736.6132,-1397 736.6132,-1397 736.6132,-1450 736.6132,-1450 736.6132,-1456 730.6132,-1462 724.6132,-1462 724.6132,-1462 593.911,-1462 593.911,-1462 587.911,-1462 581.911,-1456 581.911,-1450 581.911,-1450 581.911,-1397 581.911,-1397 581.911,-1391 587.911,-1385 593.911,-1385"/>
<text text-anchor="middle" x="659.2621" y="-1394" font-family="bold" font-size="15.00" fill="#222222">(*HKExListener)</text>
</a>
</g>
</g>
<g id="clust9" class="cluster">
<title>cluster_blitter.com/go/hkexsh/hkexnet.Conn</title>
<g id="a_clust9"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="type: blitter.com/go/hkexsh/hkexnet.Conn">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M634.2621,-1186C634.2621,-1186 684.2621,-1186 684.2621,-1186 690.2621,-1186 696.2621,-1192 696.2621,-1198 696.2621,-1198 696.2621,-1251 696.2621,-1251 696.2621,-1257 690.2621,-1263 684.2621,-1263 684.2621,-1263 634.2621,-1263 634.2621,-1263 628.2621,-1263 622.2621,-1257 622.2621,-1251 622.2621,-1251 622.2621,-1198 622.2621,-1198 622.2621,-1192 628.2621,-1186 634.2621,-1186"/>
<text text-anchor="middle" x="659.2621" y="-1195" font-family="bold" font-size="15.00" fill="#222222">(Conn)</text>
</a>
</g>
</g>
<g id="clust10" class="cluster">
<title>cluster_blitter.com/go/hkexsh/hkexnet.HKExListener</title>
<g id="a_clust10"><a xlink:href="/?f=blitter.com/go/hkexsh/hkexnet" xlink:title="type: blitter.com/go/hkexsh/hkexnet.HKExListener">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M597.2621,-1470C597.2621,-1470 721.2621,-1470 721.2621,-1470 727.2621,-1470 733.2621,-1476 733.2621,-1482 733.2621,-1482 733.2621,-1535 733.2621,-1535 733.2621,-1541 727.2621,-1547 721.2621,-1547 721.2621,-1547 597.2621,-1547 597.2621,-1547 591.2621,-1547 585.2621,-1541 585.2621,-1535 585.2621,-1535 585.2621,-1482 585.2621,-1482 585.2621,-1476 591.2621,-1470 597.2621,-1470"/>
<text text-anchor="middle" x="659.2621" y="-1479" font-family="bold" font-size="15.00" fill="#222222">(HKExListener)</text>
</a>
</g>
</g>
<g id="clust11" class="cluster">
<title>cluster_blitter.com/go/hkexsh/logger</title>
<g id="a_clust11"><a xlink:href="/?f=blitter.com/go/hkexsh/logger" xlink:title="package: blitter.com/go/hkexsh/logger">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="337.2545,-1505 337.2545,-1705 441.2575,-1705 441.2575,-1505 337.2545,-1505"/>
<text text-anchor="middle" x="389.256" y="-1688.2" font-family="bold" font-size="16.00" fill="#000000">[logger]</text>
</a>
</g>
</g>
<g id="clust12" class="cluster">
<title>cluster_github.com/kr/pty</title>
<g id="a_clust12"><a xlink:href="/?f=github.com/kr/pty" xlink:title="package: github.com/kr/pty">
<polygon fill="#ffffe0" stroke="#000000" stroke-width=".8" points="817.3146,-158 817.3146,-297 899.3169,-297 899.3169,-158 817.3146,-158"/>
<text text-anchor="middle" x="858.3158" y="-280.2" font-family="bold" font-size="16.00" fill="#000000">[pty]</text>
</a>
</g>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs -->
<g id="node1" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="389.256" cy="-1355" rx="103.9072" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1351.3" font-family="Verdana" font-size="14.00" fill="#000000">runServerToClientCopyAs</text>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff -->
<g id="node34" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1091" rx="52.0048" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1087.3" font-family="Verdana" font-size="14.00" fill="#000000">EnableChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff -->
<g id="edge1" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff</title>
<path fill="none" stroke="#8b4513" d="M493.1087,-1353.6495C506.8785,-1349.4491 519.8042,-1342.9037 530.2096,-1333 599.5796,-1266.9748 511.2456,-1194.4194 573.911,-1122 581.4907,-1113.2405 591.7505,-1106.9556 602.5276,-1102.4462"/>
<polygon fill="#8b4513" stroke="#8b4513" points="603.9068,-1105.6681 612.0771,-1098.923 601.4838,-1099.1008 603.9068,-1105.6681"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff -->
<g id="node35" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-969" rx="54.4038" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-965.3" font-family="Verdana" font-size="14.00" fill="#000000">DisableChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff -->
<g id="edge2" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff</title>
<path fill="none" stroke="#8b4513" d="M466.318,-1342.8922C476.3459,-1338.5776 485.7171,-1332.7794 493.2096,-1325 596.4543,-1217.803 474.3397,-1110.6174 573.911,-1000 577.6256,-995.8733 581.9335,-992.2954 586.6012,-989.1933"/>
<polygon fill="#8b4513" stroke="#8b4513" points="603.4751,-985.0484 611.0044,-977.5945 600.4701,-978.7262 603.4751,-985.0484"/>
<polyline fill="none" stroke="#8b4513" points="601.9726,-981.8873 597.4568,-984.0337 "/>
<polygon fill="none" stroke="#8b4513" points="586.6187,-989.1851 590.3206,-982.9967 597.4568,-984.0337 593.7548,-990.2221 586.6187,-989.1851"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff -->
<g id="node36" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1030" rx="64.2048" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1026.3" font-family="Verdana" font-size="14.00" fill="#000000">ShutdownChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff -->
<g id="edge3" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff</title>
<path fill="none" stroke="#8b4513" d="M470.7057,-1343.7976C493.5848,-1336.5139 516.0568,-1324.5653 530.2096,-1305 594.7801,-1215.7358 502.9531,-1145.2758 573.911,-1061 576.1957,-1058.2866 578.738,-1055.8107 581.4751,-1053.5515"/>
<polygon fill="#8b4513" stroke="#8b4513" points="598.2411,-1048.097 605.2251,-1040.1299 594.7971,-1042.0028 598.2411,-1048.097"/>
<polyline fill="none" stroke="#8b4513" points="596.5191,-1045.0499 592.1661,-1047.5098 "/>
<polygon fill="none" stroke="#8b4513" points="581.7189,-1053.4137 584.9745,-1046.9794 592.1661,-1047.5098 588.9105,-1053.9442 581.7189,-1053.4137"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$1 -->
<g id="node2" class="node">
<title>blitter.com/go/hkexsh/hkexshd.main$1</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="177.6512" cy="-1670" rx="34.8031" ry="18"/>
<text text-anchor="middle" x="177.6512" y="-1666.3" font-family="Verdana" font-size="14.00" fill="#000000">main$1</text>
</g>
<!-- blitter.com/go/hkexsh/logger.LogNotice -->
<g id="node45" class="node">
<title>blitter.com/go/hkexsh/logger.LogNotice</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-1592" rx="44.0031" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1588.3" font-family="Verdana" font-size="14.00" fill="#000000">LogNotice</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$1&#45;&gt;blitter.com/go/hkexsh/logger.LogNotice -->
<g id="edge4" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$1&#45;&gt;blitter.com/go/hkexsh/logger.LogNotice</title>
<path fill="none" stroke="#8b4513" d="M203.3941,-1657.7029C224.9803,-1647.649 256.7666,-1633.4401 285.3024,-1623 303.8068,-1616.23 324.5492,-1609.8158 342.6096,-1604.5974"/>
<polygon fill="#8b4513" stroke="#8b4513" points="343.6776,-1607.9325 352.336,-1601.8266 341.7597,-1601.2003 343.6776,-1607.9325"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs -->
<g id="node3" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="389.256" cy="-57" rx="46.4041" ry="18"/>
<text text-anchor="middle" x="389.256" y="-53.3" font-family="Verdana" font-size="14.00" fill="#000000">runShellAs</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs$1 -->
<g id="node4" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs$1</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="659.2621" cy="-206" rx="56.2041" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-202.3" font-family="Verdana" font-size="14.00" fill="#000000">runShellAs$1</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$1 -->
<g id="edge6" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$1</title>
<path fill="none" stroke="#000000" d="M434.8691,-60.4007C454.7388,-63.9589 477.1136,-71.0384 493.2096,-85 523.8928,-111.6143 498.7145,-142.1705 529.2096,-169 543.02,-181.1503 560.5608,-189.3291 578.2543,-194.8291"/>
<polygon fill="#000000" stroke="#000000" points="594.2168,-202.3205 604.7611,-201.2871 595.8738,-195.5194 594.2168,-202.3205"/>
<polyline fill="none" stroke="#000000" points="595.0453,-198.92 590.1874,-197.7364 "/>
<polygon fill="none" stroke="#000000" points="578.5284,-194.8958 585.3047,-192.4298 590.1874,-197.7364 583.411,-200.2024 578.5284,-194.8958"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs$2 -->
<g id="node5" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs$2</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="659.2621" cy="-267" rx="56.2041" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-263.3" font-family="Verdana" font-size="14.00" fill="#000000">runShellAs$2</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$2 -->
<g id="edge8" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$2</title>
<path fill="none" stroke="#000000" d="M434.7904,-60.1466C454.7626,-63.6467 477.2422,-70.7508 493.2096,-85 525.6612,-113.9595 508.1835,-137.9257 529.2096,-176 545.4581,-205.4229 546.9153,-216.9762 573.911,-237 579.442,-241.1025 585.5819,-244.6798 591.9599,-247.7913"/>
<polygon fill="#000000" stroke="#000000" points="602.7639,-255.9343 613.3467,-256.4376 605.3876,-249.4446 602.7639,-255.9343"/>
<polyline fill="none" stroke="#000000" points="604.0757,-252.6895 599.4402,-250.8154 "/>
<ellipse fill="none" stroke="#000000" cx="595.7318" cy="-249.3161" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs$3 -->
<g id="node6" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs$3</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="659.2621" cy="-57" rx="56.2041" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-53.3" font-family="Verdana" font-size="14.00" fill="#000000">runShellAs$3</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$3 -->
<g id="edge9" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$3</title>
<path fill="none" stroke="#000000" d="M435.6717,-57C475.1802,-57 532.8113,-57 579.6677,-57"/>
<polygon fill="#000000" stroke="#000000" points="592.6947,-60.5 602.6947,-57 592.6947,-53.5 592.6947,-60.5"/>
<polyline fill="none" stroke="#000000" points="592.6947,-57 587.6947,-57.0001 "/>
<ellipse fill="none" stroke="#000000" cx="583.6947" cy="-57.0001" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs$4 -->
<g id="node7" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs$4</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="659.2621" cy="-118" rx="56.2041" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-114.3" font-family="Verdana" font-size="14.00" fill="#000000">runShellAs$4</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$4 -->
<g id="edge13" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs$4</title>
<path fill="none" stroke="#000000" d="M429.3871,-66.0664C471.8409,-75.6576 539.6042,-90.9668 590.5811,-102.4835"/>
<polygon fill="#000000" stroke="#000000" points="602.4948,-108.7633 613.0203,-107.553 604.0374,-101.9353 602.4948,-108.7633"/>
<polyline fill="none" stroke="#000000" points="603.2661,-105.3493 598.389,-104.2474 "/>
<ellipse fill="none" stroke="#000000" cx="594.4874" cy="-103.366" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff -->
<g id="edge10" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff</title>
<path fill="none" stroke="#8b4513" d="M435.5293,-57.9464C456.2868,-60.9136 479.204,-68.2054 493.2096,-85 528.0552,-126.7844 540.6543,-1017.9403 573.911,-1061 580.8911,-1070.0375 590.7904,-1076.3614 601.3879,-1080.7841"/>
<polygon fill="#8b4513" stroke="#8b4513" points="600.2306,-1084.0873 610.8248,-1084.2017 602.6142,-1077.5056 600.2306,-1084.0873"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff -->
<g id="edge11" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff</title>
<path fill="none" stroke="#8b4513" d="M435.4424,-58.0192C456.1802,-61.003 479.1058,-68.2878 493.2096,-85 554.6806,-157.8397 515.2102,-863.91 573.911,-939 577.0398,-943.0023 580.7404,-946.4721 584.8183,-949.4802"/>
<polygon fill="#8b4513" stroke="#8b4513" points="598.6104,-960.2465 609.1229,-961.5647 601.7269,-953.9785 598.6104,-960.2465"/>
<polyline fill="none" stroke="#8b4513" points="600.1687,-957.1125 595.6915,-954.8864 "/>
<polygon fill="none" stroke="#8b4513" points="584.9464,-949.5438 592.0999,-948.6334 595.6915,-954.8864 588.5381,-955.7968 584.9464,-949.5438"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff -->
<g id="edge12" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff</title>
<path fill="none" stroke="#8b4513" d="M435.4887,-57.9803C456.237,-60.9552 479.1581,-68.2438 493.2096,-85 525.9997,-124.1016 542.6078,-959.6982 573.911,-1000 575.7898,-1002.4189 577.8776,-1004.6433 580.1316,-1006.6889"/>
<polygon fill="#8b4513" stroke="#8b4513" points="593.366,-1018.6026 603.7529,-1020.691 596.9354,-1012.581 593.366,-1018.6026"/>
<polyline fill="none" stroke="#8b4513" points="595.1507,-1015.5918 590.8496,-1013.0422 "/>
<polygon fill="none" stroke="#8b4513" points="580.5269,-1006.9231 587.7279,-1006.5418 590.8496,-1013.0422 583.6486,-1013.4236 580.5269,-1006.9231"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus -->
<g id="node37" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-725" rx="42.2035" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-721.3" font-family="Verdana" font-size="14.00" fill="#000000">SetStatus</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus -->
<g id="edge14" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus</title>
<path fill="none" stroke="#8b4513" d="M435.4463,-58.2829C456.0553,-61.341 478.8719,-68.612 493.2096,-85 584.4058,-189.2368 482.1513,-599.2589 573.911,-703 582.3907,-712.5868 594.4403,-718.2576 606.822,-721.548"/>
<polygon fill="#8b4513" stroke="#8b4513" points="606.2462,-725.0044 616.7611,-723.7057 607.7313,-718.1638 606.2462,-725.0044"/>
</g>
<!-- github.com/kr/pty.Start -->
<g id="node48" class="node">
<title>github.com/kr/pty.Start</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="858.3158" cy="-184" rx="27" ry="18"/>
<text text-anchor="middle" x="858.3158" y="-180.3" font-family="Verdana" font-size="14.00" fill="#000000">Start</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;github.com/kr/pty.Start -->
<g id="edge5" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs&#45;&gt;github.com/kr/pty.Start</title>
<path fill="none" stroke="#8b4513" d="M431.6552,-64.3222C451.0878,-68.6942 474.0149,-75.327 493.2096,-85 534.0893,-105.601 531.6848,-131.3226 573.911,-149 596.2722,-158.3612 749.4532,-173.7571 821.2831,-180.5716"/>
<polygon fill="#8b4513" stroke="#8b4513" points="820.981,-184.0585 831.2654,-181.513 821.6382,-177.0894 820.981,-184.0585"/>
</g>
<!-- github.com/kr/pty.Setsize -->
<g id="node49" class="node">
<title>github.com/kr/pty.Setsize</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="858.3158" cy="-245" rx="33.0023" ry="18"/>
<text text-anchor="middle" x="858.3158" y="-241.3" font-family="Verdana" font-size="14.00" fill="#000000">Setsize</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runShellAs$2&#45;&gt;github.com/kr/pty.Setsize -->
<g id="edge7" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runShellAs$2&#45;&gt;github.com/kr/pty.Setsize</title>
<path fill="none" stroke="#8b4513" d="M712.3434,-261.1333C744.6925,-257.558 785.4802,-253.05 815.7119,-249.7087"/>
<polygon fill="#8b4513" stroke="#8b4513" points="816.3789,-253.1564 825.9338,-248.5789 815.6098,-246.1988 816.3789,-253.1564"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main -->
<g id="node8" class="node">
<title>blitter.com/go/hkexsh/hkexshd.main</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="43" cy="-1754" rx="27" ry="18"/>
<text text-anchor="middle" x="43" y="-1750.3" font-family="Verdana" font-size="14.00" fill="#000000">main</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$1 -->
<g id="edge17" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$1</title>
<path fill="none" stroke="#000000" d="M60.1058,-1740.034C72.4789,-1730.2355 89.8018,-1717.1287 106,-1707 113.8707,-1702.0785 122.4708,-1697.2243 130.8946,-1692.7327"/>
<polygon fill="#000000" stroke="#000000" points="144.2343,-1689.854 151.5502,-1682.1907 141.0521,-1683.6191 144.2343,-1689.854"/>
<polyline fill="none" stroke="#000000" points="142.6432,-1686.7366 138.1897,-1689.0095 "/>
<ellipse fill="none" stroke="#000000" cx="134.6269" cy="-1690.8279" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2 -->
<g id="node9" class="node">
<title>blitter.com/go/hkexsh/hkexshd.main$2</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="177.6512" cy="-1020" rx="34.8031" ry="18"/>
<text text-anchor="middle" x="177.6512" y="-1016.3" font-family="Verdana" font-size="14.00" fill="#000000">main$2</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$2 -->
<g id="edge56" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$2</title>
<path fill="none" stroke="#000000" d="M46.3285,-1735.8561C63.7736,-1640.7607 144.8194,-1198.9701 170.0993,-1061.1661"/>
<polygon fill="#000000" stroke="#000000" points="175.9567,-1048.6342 174.3185,-1038.1668 169.0716,-1047.3711 175.9567,-1048.6342"/>
<polyline fill="none" stroke="#000000" points="172.5141,-1048.0026 171.6119,-1052.9206 "/>
<ellipse fill="none" stroke="#000000" cx="170.8902" cy="-1056.8549" rx="4" ry="4"/>
</g>
<!-- blitter.com/go/hkexsh/hkexnet.Init -->
<g id="node32" class="node">
<title>blitter.com/go/hkexsh/hkexnet.Init</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1298" rx="27" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1294.3" font-family="Verdana" font-size="14.00" fill="#000000">Init</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Init -->
<g id="edge16" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Init</title>
<path fill="none" stroke="#8b4513" d="M69.4979,-1749.9224C96.6002,-1746.1099 139.9567,-1741 177.6512,-1741 177.6512,-1741 177.6512,-1741 389.256,-1741 437.3431,-1741 460.4661,-1746.2169 493.2096,-1711 611.3665,-1583.9177 460.1054,-1459.9932 573.911,-1329 586.0695,-1315.0053 605.0673,-1307.3264 622.0557,-1303.114"/>
<polygon fill="#8b4513" stroke="#8b4513" points="623.2532,-1306.4366 632.2946,-1300.9136 621.7824,-1299.5929 623.2532,-1306.4366"/>
</g>
<!-- blitter.com/go/hkexsh/hkexnet.Listen -->
<g id="node33" class="node">
<title>blitter.com/go/hkexsh/hkexnet.Listen</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1359" rx="28.102" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1355.3" font-family="Verdana" font-size="14.00" fill="#000000">Listen</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Listen -->
<g id="edge18" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/hkexnet.Listen</title>
<path fill="none" stroke="#8b4513" d="M69.2336,-1758.3529C96.3093,-1762.4627 139.8114,-1768 177.6512,-1768 177.6512,-1768 177.6512,-1768 389.256,-1768 452.5295,-1768 485.9731,-1793.2401 530.2096,-1748 645.0515,-1630.5529 465.7806,-1504.6539 573.911,-1381 585.5061,-1367.7403 603.9302,-1361.957 620.6978,-1359.6074"/>
<polygon fill="#8b4513" stroke="#8b4513" points="621.2636,-1363.0676 630.848,-1358.5521 620.5397,-1356.1051 621.2636,-1363.0676"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff -->
<g id="node38" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1152" rx="47.7038" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1148.3" font-family="Verdana" font-size="14.00" fill="#000000">SetupChaff</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff -->
<g id="edge21" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetupChaff</title>
<path fill="none" stroke="#8b4513" d="M64.7751,-1764.9872C90.8997,-1777.1319 136.3533,-1795 177.6512,-1795 177.6512,-1795 177.6512,-1795 389.256,-1795 448.6561,-1795 463.6436,-1762.5191 493.2096,-1711 552.6178,-1607.4805 496.8094,-1271.1096 573.911,-1180 581.7027,-1170.7927 592.577,-1164.5931 603.9601,-1160.4242"/>
<polygon fill="#8b4513" stroke="#8b4513" points="605.1069,-1163.7325 613.585,-1157.3786 602.995,-1157.0586 605.1069,-1163.7325"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.HKExListener).Accept -->
<g id="node42" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.HKExListener).Accept</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1436" rx="31.2029" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1432.3" font-family="Verdana" font-size="14.00" fill="#000000">Accept</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.HKExListener).Accept -->
<g id="edge20" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.HKExListener).Accept</title>
<path fill="none" stroke="#8b4513" d="M58.6979,-1768.6812C70.8006,-1779.2908 88.3952,-1793.2417 106,-1802 135.6014,-1816.7265 144.5889,-1822 177.6512,-1822 177.6512,-1822 177.6512,-1822 389.256,-1822 452.5295,-1822 485.746,-1847.017 530.2096,-1802 636.6525,-1694.2323 477.3539,-1580.7077 573.911,-1464 584.6753,-1450.9893 601.6035,-1443.9756 617.5554,-1440.2134"/>
<polygon fill="#8b4513" stroke="#8b4513" points="618.6929,-1443.5562 627.8225,-1438.1803 617.3331,-1436.6895 618.6929,-1443.5562"/>
</g>
<!-- (blitter.com/go/hkexsh/hkexnet.HKExListener).Close -->
<g id="node44" class="node">
<title>(blitter.com/go/hkexsh/hkexnet.HKExListener).Close</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1521" rx="27" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1517.3" font-family="Verdana" font-size="14.00" fill="#000000">Close</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(blitter.com/go/hkexsh/hkexnet.HKExListener).Close -->
<g id="edge19" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;(blitter.com/go/hkexsh/hkexnet.HKExListener).Close</title>
<path fill="none" stroke="#8b4513" d="M52.8764,-1770.8767C63.763,-1788.0121 82.8395,-1814.0839 106,-1829 133.7964,-1846.9018 144.5889,-1849 177.6512,-1849 177.6512,-1849 177.6512,-1849 389.256,-1849 452.5295,-1849 484.6954,-1872.9545 530.2096,-1829 610.0872,-1751.8599 515.0017,-1677.1314 573.911,-1583 583.4965,-1567.6834 598.3698,-1554.9642 613.0318,-1545.1152"/>
<polygon fill="#8b4513" stroke="#8b4513" points="629.6894,-1539.3829 636.5365,-1531.2979 626.142,-1533.3484 629.6894,-1539.3829"/>
<polyline fill="none" stroke="#8b4513" points="627.9157,-1536.3656 623.6053,-1538.8995 "/>
<polygon fill="none" stroke="#8b4513" points="613.2604,-1544.9809 616.4057,-1538.4919 623.6053,-1538.8995 620.46,-1545.3885 613.2604,-1544.9809"/>
</g>
<!-- blitter.com/go/hkexsh/logger.New -->
<g id="node46" class="node">
<title>blitter.com/go/hkexsh/logger.New</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-1653" rx="27" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1649.3" font-family="Verdana" font-size="14.00" fill="#000000">New</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/logger.New -->
<g id="edge15" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main&#45;&gt;blitter.com/go/hkexsh/logger.New</title>
<path fill="none" stroke="#8b4513" d="M67.5218,-1746.1752C79.1737,-1742.4674 93.2997,-1737.9872 106,-1734 153.1984,-1719.1823 165.3687,-1716.6356 212.3024,-1701 244.9777,-1690.1144 252.159,-1684.3641 285.3024,-1675 307.5247,-1668.7215 332.8701,-1663.3228 352.9709,-1659.4448"/>
<polygon fill="#8b4513" stroke="#8b4513" points="353.7829,-1662.8534 362.9599,-1657.5589 352.4842,-1655.9749 353.7829,-1662.8534"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs -->
<g id="edge55" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runServerToClientCopyAs</title>
<path fill="none" stroke="#000000" d="M181.3619,-1038.1407C194.0176,-1098.1203 237.3668,-1288.3117 285.3024,-1325 292.1844,-1330.2672 299.9622,-1334.6103 308.0894,-1338.1913"/>
<polygon fill="#000000" stroke="#000000" points="306.8004,-1341.4453 317.3846,-1341.9191 309.406,-1334.9483 306.8004,-1341.4453"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs -->
<g id="edge43" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runShellAs</title>
<path fill="none" stroke="#000000" d="M178.8246,-1001.7733C184.2771,-918.9682 208.5703,-569.9979 248.3024,-286 260.8878,-196.0418 223.7283,-151.7794 285.3024,-85 297.5883,-71.6755 315.4818,-64.4279 332.972,-60.5652"/>
<polygon fill="#000000" stroke="#000000" points="333.9891,-63.9359 343.1779,-58.6617 332.7057,-57.0546 333.9891,-63.9359"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.GenAuthToken -->
<g id="node10" class="node">
<title>blitter.com/go/hkexsh/hkexshd.GenAuthToken</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-1294" rx="61.7044" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1290.3" font-family="Verdana" font-size="14.00" fill="#000000">GenAuthToken</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.GenAuthToken -->
<g id="edge41" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.GenAuthToken</title>
<path fill="none" stroke="#000000" d="M180.7232,-1038.2357C189.4997,-1088.2402 216.1343,-1225.8767 248.3024,-1257 266.9202,-1275.0131 293.1941,-1284.5359 318.0214,-1289.4785"/>
<polygon fill="#000000" stroke="#000000" points="317.7209,-1292.9795 328.1771,-1291.2708 318.9376,-1286.086 317.7209,-1292.9795"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2$1 -->
<g id="node11" class="node">
<title>blitter.com/go/hkexsh/hkexshd.main$2$1</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-dasharray="1,5" cx="389.256" cy="-1416" rx="44.6032" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1412.3" font-family="Verdana" font-size="14.00" fill="#000000">main$2$1</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$2$1 -->
<g id="edge48" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.main$2$1</title>
<path fill="none" stroke="#000000" d="M180.5397,-1038.0384C191.567,-1104.7127 233.0352,-1335.9593 285.3024,-1386 294.7233,-1395.0195 306.6809,-1401.3533 319.1062,-1405.7947"/>
<polygon fill="#000000" stroke="#000000" points="334.8589,-1413.5191 345.4184,-1412.6555 336.6251,-1406.7456 334.8589,-1413.5191"/>
<polyline fill="none" stroke="#000000" points="335.742,-1410.1324 330.9037,-1408.8708 "/>
<polygon fill="none" stroke="#000000" points="319.292,-1405.8431 326.1071,-1403.4864 330.9037,-1408.8708 324.0886,-1411.2275 319.292,-1405.8431"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs -->
<g id="node12" class="node">
<title>blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs</title>
<ellipse fill="#add8e6" stroke="#000000" stroke-width=".5" cx="389.256" cy="-1206" rx="103.9072" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1202.3" font-family="Verdana" font-size="14.00" fill="#000000">runClientToServerCopyAs</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs -->
<g id="edge53" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs</title>
<path fill="none" stroke="#000000" d="M181.0777,-1038.1781C187.9925,-1069.7063 206.6531,-1134.4594 248.3024,-1169 261.326,-1179.8007 277.1641,-1187.4834 293.4575,-1192.9401"/>
<polygon fill="#000000" stroke="#000000" points="292.4985,-1196.3069 303.0857,-1195.9024 294.5571,-1189.6164 292.4985,-1196.3069"/>
</g>
<!-- blitter.com/go/goutmp.GetHost -->
<g id="node13" class="node">
<title>blitter.com/go/goutmp.GetHost</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1676" rx="36.1036" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1672.3" font-family="Verdana" font-size="14.00" fill="#000000">GetHost</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.GetHost -->
<g id="edge40" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.GetHost</title>
<path fill="none" stroke="#8b4513" d="M179.4661,-1038.1972C187.281,-1112.6043 220.6328,-1392.3477 285.3024,-1447 369.1897,-1517.8932 447.9032,-1407.2774 530.2096,-1480 587.3817,-1530.5149 522.1814,-1589.9246 573.911,-1646 584.3812,-1657.3498 599.3973,-1664.4066 613.9236,-1668.7939"/>
<polygon fill="#8b4513" stroke="#8b4513" points="613.2769,-1672.2433 623.8401,-1671.4247 615.072,-1665.4774 613.2769,-1672.2433"/>
</g>
<!-- blitter.com/go/goutmp.Put_utmp -->
<g id="node14" class="node">
<title>blitter.com/go/goutmp.Put_utmp</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1737" rx="41.6038" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1733.3" font-family="Verdana" font-size="14.00" fill="#000000">Put_utmp</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.Put_utmp -->
<g id="edge46" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.Put_utmp</title>
<path fill="none" stroke="#8b4513" d="M179.0194,-1038.2329C185.2359,-1115.434 213.6752,-1413.8252 285.3024,-1466 360.9263,-1521.0862 420.4041,-1440.2393 493.2096,-1499 570.3719,-1561.277 502.6788,-1638.0188 573.911,-1707 583.8014,-1716.5778 596.9255,-1723.1138 609.9092,-1727.5683"/>
<polygon fill="#8b4513" stroke="#8b4513" points="609.1681,-1731.0017 619.7547,-1730.5847 611.2187,-1724.3088 609.1681,-1731.0017"/>
</g>
<!-- blitter.com/go/goutmp.Put_lastlog_entry -->
<g id="node16" class="node">
<title>blitter.com/go/goutmp.Put_lastlog_entry</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1798" rx="72.105" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1794.3" font-family="Verdana" font-size="14.00" fill="#000000">Put_lastlog_entry</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.Put_lastlog_entry -->
<g id="edge49" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/goutmp.Put_lastlog_entry</title>
<path fill="none" stroke="#8b4513" d="M177.8054,-1038.0215C179.0252,-1136.4686 189.8418,-1608.4815 285.3024,-1709 360.9294,-1788.634 493.8522,-1802.6639 579.1598,-1802.5267"/>
<polygon fill="#8b4513" stroke="#8b4513" points="579.3493,-1806.0254 589.3201,-1802.4432 579.2917,-1799.0256 579.3493,-1806.0254"/>
</g>
<!-- blitter.com/go/hkexsh.AuthUserByToken -->
<g id="node17" class="node">
<title>blitter.com/go/hkexsh.AuthUserByToken</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-959" rx="73.9057" ry="18"/>
<text text-anchor="middle" x="389.256" y="-955.3" font-family="Verdana" font-size="14.00" fill="#000000">AuthUserByToken</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh.AuthUserByToken -->
<g id="edge34" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh.AuthUserByToken</title>
<path fill="none" stroke="#8b4513" d="M207.969,-1011.2602C240.169,-1001.9778 291.8325,-987.0846 331.7849,-975.5674"/>
<polygon fill="#8b4513" stroke="#8b4513" points="332.7718,-978.9255 341.4111,-972.7924 330.8328,-972.1994 332.7718,-978.9255"/>
</g>
<!-- blitter.com/go/hkexsh.AuthUserByPasswd -->
<g id="node18" class="node">
<title>blitter.com/go/hkexsh.AuthUserByPasswd</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-1020" rx="79.5063" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1016.3" font-family="Verdana" font-size="14.00" fill="#000000">AuthUserByPasswd</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh.AuthUserByPasswd -->
<g id="edge36" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh.AuthUserByPasswd</title>
<path fill="none" stroke="#8b4513" d="M212.5934,-1020C236.2174,-1020 268.5644,-1020 299.127,-1020"/>
<polygon fill="#8b4513" stroke="#8b4513" points="299.4081,-1023.5001 309.4081,-1020 299.4081,-1016.5001 299.4081,-1023.5001"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetOp -->
<g id="node19" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetOp</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-264" rx="28.7023" ry="18"/>
<text text-anchor="middle" x="389.256" y="-260.3" font-family="Verdana" font-size="14.00" fill="#000000">SetOp</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetOp -->
<g id="edge23" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetOp</title>
<path fill="none" stroke="#8b4513" d="M179.7997,-1001.76C192.8018,-891.9652 261.2094,-322.7937 285.3024,-295 301.3827,-276.4497 328.0405,-268.7532 350.3342,-265.6668"/>
<polygon fill="#8b4513" stroke="#8b4513" points="350.9909,-269.1152 360.5385,-264.5225 350.2107,-262.1588 350.9909,-269.1152"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetWho -->
<g id="node20" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetWho</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-325" rx="35.4036" ry="18"/>
<text text-anchor="middle" x="389.256" y="-321.3" font-family="Verdana" font-size="14.00" fill="#000000">SetWho</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetWho -->
<g id="edge24" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetWho</title>
<path fill="none" stroke="#8b4513" d="M180.5925,-1001.9382C190.3749,-941.8585 222.703,-743.2401 249.3024,-579 257.3275,-529.4485 252.1836,-393.7213 285.3024,-356 299.9848,-339.2771 323.2609,-331.3874 344.0691,-327.7393"/>
<polygon fill="#8b4513" stroke="#8b4513" points="344.6551,-331.1909 354.0374,-326.2691 343.6337,-324.2658 344.6551,-331.1909"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetConnHost -->
<g id="node21" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetConnHost</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-386" rx="55.6039" ry="18"/>
<text text-anchor="middle" x="389.256" y="-382.3" font-family="Verdana" font-size="14.00" fill="#000000">SetConnHost</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetConnHost -->
<g id="edge25" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetConnHost</title>
<path fill="none" stroke="#8b4513" d="M181.6758,-1002.1201C193.2103,-950.5051 226.9879,-796.7336 249.3024,-668 258.9263,-612.4794 248.4991,-459.6694 285.3024,-417 295.5944,-405.0675 310.2637,-397.6235 325.3494,-393.0087"/>
<polygon fill="#8b4513" stroke="#8b4513" points="326.5175,-396.3197 335.2812,-390.3658 324.7174,-389.5551 326.5175,-396.3197"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetTermType -->
<g id="node22" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetTermType</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-447" rx="55.6039" ry="18"/>
<text text-anchor="middle" x="389.256" y="-443.3" font-family="Verdana" font-size="14.00" fill="#000000">SetTermType</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetTermType -->
<g id="edge26" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetTermType</title>
<path fill="none" stroke="#8b4513" d="M182.6998,-1001.8976C195.3483,-956.0441 228.8432,-831.4693 249.3024,-726 259.9074,-671.3304 248.8943,-520.1388 285.3024,-478 295.6046,-466.0763 310.2773,-458.6353 325.3632,-454.0206"/>
<polygon fill="#8b4513" stroke="#8b4513" points="326.5311,-457.3316 335.2946,-451.3774 324.7308,-450.5671 326.5311,-457.3316"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetCmd -->
<g id="node23" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetCmd</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-508" rx="35.5042" ry="18"/>
<text text-anchor="middle" x="389.256" y="-504.3" font-family="Verdana" font-size="14.00" fill="#000000">SetCmd</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetCmd -->
<g id="edge27" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetCmd</title>
<path fill="none" stroke="#8b4513" d="M183.5522,-1002.2383C196.9197,-961.4491 229.8571,-857.7557 249.3024,-769 260.515,-717.8217 250.3445,-575.0241 285.3024,-536 299.8118,-519.803 322.6037,-512.5448 343.1532,-509.4461"/>
<polygon fill="#8b4513" stroke="#8b4513" points="343.8217,-512.8907 353.3259,-508.2086 342.9764,-505.9419 343.8217,-512.8907"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).SetAuthCookie -->
<g id="node24" class="node">
<title>(*blitter.com/go/hkexsh.Session).SetAuthCookie</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-142" rx="62.905" ry="18"/>
<text text-anchor="middle" x="389.256" y="-138.3" font-family="Verdana" font-size="14.00" fill="#000000">SetAuthCookie</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetAuthCookie -->
<g id="edge28" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).SetAuthCookie</title>
<path fill="none" stroke="#8b4513" d="M178.7108,-1001.8826C185.7253,-884.6808 226.9904,-236.5543 285.3024,-173 294.677,-162.7826 307.2583,-155.8782 320.4262,-151.2262"/>
<polygon fill="#8b4513" stroke="#8b4513" points="321.5723,-154.5351 330.0806,-148.2217 319.4923,-147.8513 321.5723,-154.5351"/>
</g>
<!-- (*blitter.com/go/hkexsh.Session).ClearAuthCookie -->
<g id="node25" class="node">
<title>(*blitter.com/go/hkexsh.Session).ClearAuthCookie</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-203" rx="70.305" ry="18"/>
<text text-anchor="middle" x="389.256" y="-199.3" font-family="Verdana" font-size="14.00" fill="#000000">ClearAuthCookie</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).ClearAuthCookie -->
<g id="edge35" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh.Session).ClearAuthCookie</title>
<path fill="none" stroke="#8b4513" d="M178.9514,-1001.7941C187.1239,-889.5195 232.7503,-294.0508 285.3024,-234 293.2962,-224.8655 303.8543,-218.3656 315.1787,-213.7526"/>
<polygon fill="#8b4513" stroke="#8b4513" points="316.5916,-216.9646 324.8319,-210.3051 314.2373,-210.3723 316.5916,-216.9646"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).Op -->
<g id="node26" class="node">
<title>(blitter.com/go/hkexsh.Session).Op</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-837" rx="27" ry="18"/>
<text text-anchor="middle" x="389.256" y="-833.3" font-family="Verdana" font-size="14.00" fill="#000000">Op</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Op -->
<g id="edge29" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Op</title>
<path fill="none" stroke="#8b4513" d="M189.8342,-1002.8528C204.1011,-982.7666 228.4389,-948.4829 249.3024,-919 265.3291,-896.3522 262.7695,-884.1878 285.3024,-868 305.0187,-853.8357 331.2368,-846.0758 352.4098,-841.862"/>
<polygon fill="#8b4513" stroke="#8b4513" points="353.1299,-845.2887 362.3479,-840.0658 351.8848,-838.4003 353.1299,-845.2887"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).Who -->
<g id="node27" class="node">
<title>(blitter.com/go/hkexsh.Session).Who</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-898" rx="27" ry="18"/>
<text text-anchor="middle" x="389.256" y="-894.3" font-family="Verdana" font-size="14.00" fill="#000000">Who</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Who -->
<g id="edge30" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Who</title>
<path fill="none" stroke="#8b4513" d="M193.0663,-1003.6982C217.4656,-978.2504 264.3575,-930.8659 285.3024,-920 306.0345,-909.2445 331.6865,-903.7465 352.321,-900.9364"/>
<polygon fill="#8b4513" stroke="#8b4513" points="352.7943,-904.4048 362.3019,-899.7299 351.9541,-897.4554 352.7943,-904.4048"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).ConnHost -->
<g id="node28" class="node">
<title>(blitter.com/go/hkexsh.Session).ConnHost</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-593" rx="42.8032" ry="18"/>
<text text-anchor="middle" x="389.256" y="-589.3" font-family="Verdana" font-size="14.00" fill="#000000">ConnHost</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).ConnHost -->
<g id="edge31" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).ConnHost</title>
<path fill="none" stroke="#8b4513" d="M184.3475,-1002.3024C198.0104,-965.7052 229.4809,-878.8586 249.3024,-804 270.1852,-725.1336 230.34,-684.292 285.3024,-624 298.4768,-609.5481 318.0667,-601.7197 336.7,-597.5195"/>
<polygon fill="#8b4513" stroke="#8b4513" points="337.4648,-600.9364 346.6111,-595.589 336.1264,-594.0655 337.4648,-600.9364"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).Cmd -->
<g id="node29" class="node">
<title>(blitter.com/go/hkexsh.Session).Cmd</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-654" rx="27" ry="18"/>
<text text-anchor="middle" x="389.256" y="-650.3" font-family="Verdana" font-size="14.00" fill="#000000">Cmd</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Cmd -->
<g id="edge32" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).Cmd</title>
<path fill="none" stroke="#8b4513" d="M185.3725,-1002.422C199.4642,-969.8711 229.7025,-897.7982 249.3024,-835 269.7288,-769.5538 238.1565,-734.7765 285.3024,-685 302.4079,-666.9401 329.5348,-659.2638 351.7887,-656.064"/>
<polygon fill="#8b4513" stroke="#8b4513" points="352.4193,-659.5137 361.9359,-654.8571 351.5925,-652.5627 352.4193,-659.5137"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).AuthCookie -->
<g id="node30" class="node">
<title>(blitter.com/go/hkexsh.Session).AuthCookie</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-715" rx="49.5034" ry="18"/>
<text text-anchor="middle" x="389.256" y="-711.3" font-family="Verdana" font-size="14.00" fill="#000000">AuthCookie</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).AuthCookie -->
<g id="edge33" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).AuthCookie</title>
<path fill="none" stroke="#8b4513" d="M186.6065,-1002.5502C201.0146,-974.055 229.7071,-915.5369 249.3024,-864 268.7891,-812.7488 246.4092,-784.6489 285.3024,-746 297.642,-733.7379 314.611,-726.2887 331.2619,-721.7756"/>
<polygon fill="#8b4513" stroke="#8b4513" points="332.0829,-725.1781 340.9916,-719.4435 330.4512,-718.3709 332.0829,-725.1781"/>
</g>
<!-- (blitter.com/go/hkexsh.Session).TermType -->
<g id="node31" class="node">
<title>(blitter.com/go/hkexsh.Session).TermType</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-776" rx="42.8032" ry="18"/>
<text text-anchor="middle" x="389.256" y="-772.3" font-family="Verdana" font-size="14.00" fill="#000000">TermType</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).TermType -->
<g id="edge42" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh.Session).TermType</title>
<path fill="none" stroke="#8b4513" d="M188.2452,-1002.5199C202.8122,-978.1739 229.4739,-932.4812 249.3024,-892 267.3493,-855.1561 254.7304,-834.359 285.3024,-807 299.6893,-794.1251 319.2239,-786.5905 337.4762,-782.1839"/>
<polygon fill="#8b4513" stroke="#8b4513" points="338.4014,-785.5651 347.4436,-780.0434 336.9316,-778.7211 338.4014,-785.5651"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus -->
<g id="edge45" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).SetStatus</title>
<path fill="none" stroke="#8b4513" d="M198.291,-1034.5999C219.1177,-1048.3677 252.7647,-1068.0431 285.3024,-1076 330.1816,-1086.975 456.764,-1104.3955 493.2096,-1076 608.9128,-985.8535 475.5826,-864.8354 573.911,-756 583.1751,-745.7461 596.1017,-738.8797 609.0967,-734.2831"/>
<polygon fill="#8b4513" stroke="#8b4513" points="610.487,-737.5156 618.9878,-731.1921 608.399,-730.8343 610.487,-737.5156"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).Close -->
<g id="node39" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).Close</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-786" rx="27" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-782.3" font-family="Verdana" font-size="14.00" fill="#000000">Close</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).Close -->
<g id="edge22" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).Close</title>
<path fill="none" stroke="#8b4513" d="M189.3476,-1037.2198C201.7565,-1053.8004 223.0387,-1077.8173 248.3024,-1088 306.4063,-1111.4192 482.5162,-1128.6185 530.2096,-1088 623.0905,-1008.8972 496.1456,-911.0034 573.911,-817 582.2187,-806.9577 594.0617,-800.1685 606.2904,-795.5786"/>
<polygon fill="#8b4513" stroke="#8b4513" points="623.6859,-794.5828 632.4533,-788.6345 621.8901,-787.817 623.6859,-794.5828"/>
<polyline fill="none" stroke="#8b4513" points="622.788,-791.1999 617.9553,-792.4826 "/>
<polygon fill="none" stroke="#8b4513" points="606.3569,-795.5611 611.1299,-790.1557 617.9553,-792.4826 613.1822,-797.888 606.3569,-795.5611"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).RemoteAddr -->
<g id="node40" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).RemoteAddr</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-847" rx="53.8039" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-843.3" font-family="Verdana" font-size="14.00" fill="#000000">RemoteAddr</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).RemoteAddr -->
<g id="edge39" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).RemoteAddr</title>
<path fill="none" stroke="#8b4513" d="M184.7418,-1037.6628C194.9487,-1060.3858 216.1627,-1098.8488 248.3024,-1115 304.2779,-1143.1295 482.063,-1155.0803 530.2096,-1115 612.5283,-1046.4727 504.715,-959.7574 573.911,-878 581.1629,-869.4317 590.9835,-863.2316 601.3829,-858.7451"/>
<polygon fill="#8b4513" stroke="#8b4513" points="602.9271,-861.903 611.0391,-855.0878 600.4476,-855.3568 602.9271,-861.903"/>
</g>
<!-- (*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket -->
<g id="node41" class="node">
<title>(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-908" rx="50.7037" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-904.3" font-family="Verdana" font-size="14.00" fill="#000000">WritePacket</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket -->
<g id="edge54" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).WritePacket</title>
<path fill="none" stroke="#8b4513" d="M182.0146,-1038.1854C189.857,-1066.3228 209.2857,-1119.5079 248.3024,-1142 302.5761,-1173.2873 481.4732,-1181.3611 530.2096,-1142 602.0073,-1084.0139 513.2498,-1008.5522 573.911,-939 581.7637,-929.9964 592.4464,-923.6068 603.5956,-919.0726"/>
<polygon fill="#8b4513" stroke="#8b4513" points="604.7932,-922.3615 613.0187,-915.6837 602.4242,-915.7745 604.7932,-922.3615"/>
</g>
<!-- (blitter.com/go/hkexsh/hkexnet.Conn).Write -->
<g id="node43" class="node">
<title>(blitter.com/go/hkexsh/hkexnet.Conn).Write</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1237" rx="27" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1233.3" font-family="Verdana" font-size="14.00" fill="#000000">Write</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).Write -->
<g id="edge37" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;(blitter.com/go/hkexsh/hkexnet.Conn).Write</title>
<path fill="none" stroke="#8b4513" d="M179.9184,-1038.013C186.5727,-1082.1039 210.5452,-1194.9102 285.3024,-1237 342.1322,-1268.9963 540.085,-1250.7716 622.6543,-1241.4456"/>
<polygon fill="#8b4513" stroke="#8b4513" points="623.0608,-1244.922 632.5954,-1240.3024 622.261,-1237.9678 623.0608,-1244.922"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/logger.LogNotice -->
<g id="edge38" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/logger.LogNotice</title>
<path fill="none" stroke="#8b4513" d="M179.3303,-1038.0158C186.6086,-1114.5276 216.4991,-1412.6516 248.3024,-1501 259.0421,-1530.8344 260.1225,-1542.7282 285.3024,-1562 300.0785,-1573.3091 318.9842,-1580.358 336.6113,-1584.7503"/>
<polygon fill="#8b4513" stroke="#8b4513" points="336.277,-1588.2625 346.8012,-1587.0416 337.8127,-1581.433 336.277,-1588.2625"/>
</g>
<!-- blitter.com/go/hkexsh/logger.LogErr -->
<g id="node47" class="node">
<title>blitter.com/go/hkexsh/logger.LogErr</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="389.256" cy="-1531" rx="30.6034" ry="18"/>
<text text-anchor="middle" x="389.256" y="-1527.3" font-family="Verdana" font-size="14.00" fill="#000000">LogErr</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/logger.LogErr -->
<g id="edge44" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2&#45;&gt;blitter.com/go/hkexsh/logger.LogErr</title>
<path fill="none" stroke="#8b4513" d="M178.0167,-1038.2262C179.9247,-1116.2175 190.9914,-1421.1836 248.3024,-1494 271.6701,-1523.6898 315.741,-1531.3315 348.4086,-1532.5453"/>
<polygon fill="#8b4513" stroke="#8b4513" points="348.5105,-1536.0476 358.5735,-1532.7333 348.64,-1529.0488 348.5105,-1536.0476"/>
</g>
<!-- blitter.com/go/goutmp.Unput_utmp -->
<g id="node15" class="node">
<title>blitter.com/go/goutmp.Unput_utmp</title>
<ellipse fill="#ffe4b5" stroke="#000000" stroke-width="1.5" cx="659.2621" cy="-1615" rx="52.6044" ry="18"/>
<text text-anchor="middle" x="659.2621" y="-1611.3" font-family="Verdana" font-size="14.00" fill="#000000">Unput_utmp</text>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.main$2$1&#45;&gt;blitter.com/go/goutmp.Unput_utmp -->
<g id="edge47" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.main$2$1&#45;&gt;blitter.com/go/goutmp.Unput_utmp</title>
<path fill="none" stroke="#8b4513" d="M433.5994,-1417.7579C463.9471,-1421.1294 503.3925,-1430.0546 530.2096,-1453 567.0636,-1484.5332 543.5152,-1515.2026 573.911,-1553 587.0814,-1569.3775 605.5936,-1583.5299 622.0125,-1594.1614"/>
<polygon fill="#8b4513" stroke="#8b4513" points="620.5364,-1597.3661 630.8716,-1599.6974 624.2459,-1591.4299 620.5364,-1597.3661"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff -->
<g id="edge50" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).EnableChaff</title>
<path fill="none" stroke="#8b4513" d="M426.1521,-1222.8831C456.5137,-1234.0359 499.411,-1243.2318 530.2096,-1223 571.089,-1196.146 538.3045,-1155.5326 573.911,-1122 582.4325,-1113.9748 593.1909,-1107.9971 604.1716,-1103.5542"/>
<polygon fill="#8b4513" stroke="#8b4513" points="605.6328,-1106.7469 613.828,-1100.0321 603.2341,-1100.1707 605.6328,-1106.7469"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff -->
<g id="edge51" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).DisableChaff</title>
<path fill="none" stroke="#8b4513" d="M479.823,-1197.1599C498.4657,-1191.5313 516.5489,-1182.7108 530.2096,-1169 584.9677,-1114.0411 521.7291,-1057.4105 573.911,-1000 577.6455,-995.8913 581.9678,-992.3264 586.6456,-989.2335"/>
<polygon fill="#8b4513" stroke="#8b4513" points="603.5324,-985.0995 611.0683,-977.6524 600.5331,-978.7746 603.5324,-985.0995"/>
<polyline fill="none" stroke="#8b4513" points="602.0327,-981.937 597.5149,-984.0793 "/>
<polygon fill="none" stroke="#8b4513" points="586.6722,-989.2209 590.3797,-983.0359 597.5149,-984.0793 593.8074,-990.2644 586.6722,-989.2209"/>
</g>
<!-- blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff -->
<g id="edge52" class="edge">
<title>blitter.com/go/hkexsh/hkexshd.runClientToServerCopyAs&#45;&gt;(*blitter.com/go/hkexsh/hkexnet.Conn).ShutdownChaff</title>
<path fill="none" stroke="#8b4513" d="M478.911,-1215.1263C497.3844,-1212.972 515.626,-1207.4187 530.2096,-1196 579.865,-1157.1208 530.1115,-1106.3746 573.911,-1061 576.5764,-1058.2388 579.5067,-1055.7224 582.6274,-1053.4292"/>
<polygon fill="#8b4513" stroke="#8b4513" points="599.7932,-1048.3573 607.0152,-1040.6053 596.5353,-1042.1616 599.7932,-1048.3573"/>
<polyline fill="none" stroke="#8b4513" points="598.1642,-1045.2594 593.7387,-1047.5865 "/>
<polygon fill="none" stroke="#8b4513" points="583.1176,-1053.1714 586.5665,-1046.8386 593.7387,-1047.5865 590.2898,-1053.9193 583.1176,-1053.1714"/>
</g>
</g>
</svg>