IGNORE THIS CHECKIN: regenerate call graphs, regenerate godoc

This commit is contained in:
eyedeekay
2025-05-15 20:30:26 -04:00
parent ac7e369b6a
commit 4715b76ade
49 changed files with 18460 additions and 14082 deletions

View File

@ -12,8 +12,8 @@ for dir in $dirs; do
packageLine=$(grep -E "^package" $file) packageLine=$(grep -E "^package" $file)
package=$(echo $packageLine | awk '{print $2}') package=$(echo $packageLine | awk '{print $2}')
echo "Generating callgraph for $package" echo "Generating callgraph for $package"
#go-callvis -nostd -focus "$package" -group type -format svg -file $dir/$package "github.com/go-i2p/go-i2p/$dir" go-callvis -nostd -focus "$package" -group type -format svg -file $dir/$package "github.com/go-i2p/go-i2p/$dir"
godocdown -template template.md -o "$dir/README.md" "./$dir" godocdown -template template.md -o "$dir/README.md" "./$dir"
git add -v "$dir/README.md" git add -v "$dir/README.md"
#git add -v "$dir/$package.svg" "$dir/README.md" git add -v "$dir/$package.svg" "$dir/README.md"
done done

View File

@ -18,12 +18,36 @@ type Bootstrap interface {
// if n is 0 then try obtaining as many router infos as possible // if n is 0 then try obtaining as many router infos as possible
// returns nil and error if we cannot fetch ANY router infos // returns nil and error if we cannot fetch ANY router infos
// returns a channel that yields 1 slice of router infos containing n or fewer router infos, caller must close channel after use // returns a channel that yields 1 slice of router infos containing n or fewer router infos, caller must close channel after use
GetPeers(n int) (chan []router_info.RouterInfo, error) GetPeers(ctx context.Context, n int) ([]router_info.RouterInfo, error)
} }
``` ```
interface defining a way to bootstrap into the i2p network interface defining a way to bootstrap into the i2p network
#### type ReseedBootstrap
```go
type ReseedBootstrap struct {
}
```
ReseedBootstrap implements the Bootstrap interface using HTTP reseeding
#### func NewReseedBootstrap
```go
func NewReseedBootstrap(config *config.BootstrapConfig) *ReseedBootstrap
```
NewReseedBootstrap creates a new reseeder with the provided configuration
#### func (*ReseedBootstrap) GetPeers
```go
func (rb *ReseedBootstrap) GetPeers(ctx context.Context, n int) ([]router_info.RouterInfo, error)
```
GetPeers implements the Bootstrap interface by obtaining RouterInfos from
configured reseed servers
bootstrap bootstrap

View File

@ -4,10 +4,255 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304) <!-- Generated by graphviz version 2.40.1 (20161225.0304)
--> -->
<!-- Title: gocallvis Pages: 1 --> <!-- Title: gocallvis Pages: 1 -->
<svg width="0pt" height="0pt" <svg width="365pt" height="722pt"
viewBox="0.00 0.00 0.00 0.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> viewBox="0.00 0.00 364.72 722.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 0)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 722)">
<title>gocallvis</title> <title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,0 0,0 0,0 0,0"/> <polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-722 364.7182,-722 364.7182,0 0,0"/>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="0,-8 0,-714 356.7182,-714 356.7182,-8 0,-8"/>
<text text-anchor="middle" x="178.3591" y="-693.8" font-family="Arial" font-size="18.00" fill="#000000">bootstrap</text>
</g>
<g id="clust5" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed</title>
<g id="a_clust5"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M242.0218,-598C242.0218,-598 334.2252,-598 334.2252,-598 340.2252,-598 346.2252,-604 346.2252,-610 346.2252,-610 346.2252,-664 346.2252,-664 346.2252,-670 340.2252,-676 334.2252,-676 334.2252,-676 242.0218,-676 242.0218,-676 236.0218,-676 230.0218,-670 230.0218,-664 230.0218,-664 230.0218,-610 230.0218,-610 230.0218,-604 236.0218,-598 242.0218,-598"/>
<text text-anchor="middle" x="288.1235" y="-606.5" font-family="Arial" font-size="15.00" fill="#222222">(Reseed)</text>
</a>
</g>
</g>
<g id="clust4" class="cluster">
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
<g id="a_clust4"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M261.4629,-451C261.4629,-451 315.7841,-451 315.7841,-451 321.7841,-451 327.7841,-457 327.7841,-463 327.7841,-463 327.7841,-578 327.7841,-578 327.7841,-584 321.7841,-590 315.7841,-590 315.7841,-590 261.4629,-590 261.4629,-590 255.4629,-590 249.4629,-584 249.4629,-578 249.4629,-578 249.4629,-463 249.4629,-463 249.4629,-457 255.4629,-451 261.4629,-451"/>
<text text-anchor="middle" x="288.6235" y="-459.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a>
</g>
</g>
<g id="clust3" class="cluster">
<title>cluster_*github.com/go&#45;i2p/logger.Logger</title>
<g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/logger.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M249.0141,-182C249.0141,-182 327.2329,-182 327.2329,-182 333.2329,-182 339.2329,-188 339.2329,-194 339.2329,-194 339.2329,-431 339.2329,-431 339.2329,-437 333.2329,-443 327.2329,-443 327.2329,-443 249.0141,-443 249.0141,-443 243.0141,-443 237.0141,-437 237.0141,-431 237.0141,-431 237.0141,-194 237.0141,-194 237.0141,-188 243.0141,-182 249.0141,-182"/>
<text text-anchor="middle" x="288.1235" y="-190.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a>
</g>
</g>
<g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M20,-304C20,-304 143.5288,-304 143.5288,-304 149.5288,-304 155.5288,-310 155.5288,-316 155.5288,-316 155.5288,-370 155.5288,-370 155.5288,-376 149.5288,-382 143.5288,-382 143.5288,-382 20,-382 20,-382 14,-382 8,-376 8,-370 8,-370 8,-316 8,-316 8,-310 14,-304 20,-304"/>
<text text-anchor="middle" x="81.7644" y="-312.5" font-family="Arial" font-size="15.00" fill="#222222">(*ReseedBootstrap)</text>
</a>
</g>
</g>
<!-- github.com/samber/oops.Errorf -->
<g id="node1" class="node">
<title>github.com/samber/oops.Errorf</title>
<g id="a_node1"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M305.3188,-113C305.3188,-113 270.9282,-113 270.9282,-113 264.9282,-113 258.9282,-107 258.9282,-101 258.9282,-101 258.9282,-89 258.9282,-89 258.9282,-83 264.9282,-77 270.9282,-77 270.9282,-77 305.3188,-77 305.3188,-77 311.3188,-77 317.3188,-83 317.3188,-89 317.3188,-89 317.3188,-101 317.3188,-101 317.3188,-107 311.3188,-113 305.3188,-113"/>
<text text-anchor="middle" x="288.1235" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="288.1235" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.NewReseed -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.NewReseed</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.NewReseed | defined in new.go:10">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M321.4764,-174C321.4764,-174 254.7706,-174 254.7706,-174 248.7706,-174 242.7706,-168 242.7706,-162 242.7706,-162 242.7706,-150 242.7706,-150 242.7706,-144 248.7706,-138 254.7706,-138 254.7706,-138 321.4764,-138 321.4764,-138 327.4764,-138 333.4764,-144 333.4764,-150 333.4764,-150 333.4764,-162 333.4764,-162 333.4764,-168 327.4764,-174 321.4764,-174"/>
<text text-anchor="middle" x="288.1235" y="-160.2" font-family="Verdana" font-size="14.00" fill="#000000">reseed</text>
<text text-anchor="middle" x="288.1235" y="-143.4" font-family="Verdana" font-size="14.00" fill="#000000">NewReseed</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.init -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.init</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.init | defined in .:0&#10;at reseed_bootstrap.go:15: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M96.2644,-52C96.2644,-52 66.2644,-52 66.2644,-52 60.2644,-52 54.2644,-46 54.2644,-40 54.2644,-40 54.2644,-28 54.2644,-28 54.2644,-22 60.2644,-16 66.2644,-16 66.2644,-16 96.2644,-16 96.2644,-16 102.2644,-16 108.2644,-22 108.2644,-28 108.2644,-28 108.2644,-40 108.2644,-40 108.2644,-46 102.2644,-52 96.2644,-52"/>
<text text-anchor="middle" x="81.2644" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M336.813,-52C336.813,-52 239.434,-52 239.434,-52 233.434,-52 227.434,-46 227.434,-40 227.434,-40 227.434,-28 227.434,-28 227.434,-22 233.434,-16 239.434,-16 239.434,-16 336.813,-16 336.813,-16 342.813,-16 348.813,-22 348.813,-28 348.813,-28 348.813,-40 348.813,-40 348.813,-46 342.813,-52 336.813,-52"/>
<text text-anchor="middle" x="288.1235" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="288.1235" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge10"><a xlink:title="at reseed_bootstrap.go:15: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M108.3076,-34C135.736,-34 179.3573,-34 216.7663,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="217.1342,-37.5001 227.1342,-34 217.1341,-30.5001 217.1342,-37.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers -->
<g id="node5" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers</title>
<g id="a_node5"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers | defined in reseed_bootstrap.go:32&#10;at reseed_bootstrap.go:40: calling [github.com/samber/oops.Errorf]&#10;at reseed_bootstrap.go:53: calling [github.com/samber/oops.Errorf]&#10;at reseed_bootstrap.go:73: calling [github.com/samber/oops.Errorf]&#10;at reseed_bootstrap.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed_bootstrap.go:52: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed_bootstrap.go:43: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed_bootstrap.go:52: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed_bootstrap.go:52: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed_bootstrap.go:63: calling [(*github.com/sirupsen/logrus.Logger).Info]&#10;at reseed_bootstrap.go:46: calling [github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.NewReseed]&#10;at reseed_bootstrap.go:49: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed]&#10;at reseed_bootstrap.go:59: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M106.2947,-374C106.2947,-374 56.2341,-374 56.2341,-374 50.2341,-374 44.2341,-368 44.2341,-362 44.2341,-362 44.2341,-350 44.2341,-350 44.2341,-344 50.2341,-338 56.2341,-338 56.2341,-338 106.2947,-338 106.2947,-338 112.2947,-338 118.2947,-344 118.2947,-350 118.2947,-350 118.2947,-362 118.2947,-362 118.2947,-368 112.2947,-374 106.2947,-374"/>
<text text-anchor="middle" x="81.2644" y="-351.8" font-family="Verdana" font-size="14.00" fill="#000000">GetPeers</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge1"><a xlink:title="at reseed_bootstrap.go:40: calling [github.com/samber/oops.Errorf]&#10;at reseed_bootstrap.go:53: calling [github.com/samber/oops.Errorf]&#10;at reseed_bootstrap.go:73: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M118.4074,-352.073C131.5385,-349.0001 145.5161,-343.5697 155.5288,-334 190.8891,-300.2044 195.4391,-162.9154 227.5288,-126 233.5557,-119.0668 241.5102,-113.4857 249.6658,-109.0748"/>
<polygon fill="#8b4513" stroke="#8b4513" points="251.4166,-112.115 258.8672,-104.5824 248.3454,-105.8247 251.4166,-112.115"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.NewReseed -->
<g id="edge7" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.NewReseed</title>
<g id="a_edge7"><a xlink:title="at reseed_bootstrap.go:46: calling [github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.NewReseed]">
<path fill="none" stroke="#8b4513" d="M118.6751,-351.3434C131.5313,-348.1844 145.2575,-342.8857 155.5288,-334 213.2793,-284.0401 171.3098,-229.6772 227.5288,-178 229.4394,-176.2438 231.5009,-174.6252 233.6705,-173.1338"/>
<polygon fill="#8b4513" stroke="#8b4513" points="235.6115,-176.0535 242.4829,-167.9892 232.0823,-170.0083 235.6115,-176.0535"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="node6" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithField | defined in log.go:54">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M316.398,-252C316.398,-252 259.849,-252 259.849,-252 253.849,-252 247.849,-246 247.849,-240 247.849,-240 247.849,-228 247.849,-228 247.849,-222 253.849,-216 259.849,-216 259.849,-216 316.398,-216 316.398,-216 322.398,-216 328.398,-222 328.398,-228 328.398,-228 328.398,-240 328.398,-240 328.398,-246 322.398,-252 316.398,-252"/>
<text text-anchor="middle" x="288.1235" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="288.1235" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge2" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge2"><a xlink:title="at reseed_bootstrap.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed_bootstrap.go:52: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M118.5683,-348.6617C130.8549,-345.2944 144.2489,-340.5496 155.5288,-334 193.8581,-311.7444 191.4175,-290.6986 227.5288,-265 231.4159,-262.2337 235.5842,-259.5689 239.8482,-257.0424"/>
<polygon fill="#8b4513" stroke="#8b4513" points="241.6859,-260.0242 248.6757,-252.0623 238.2464,-253.9275 241.6859,-260.0242"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="node7" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M316.655,-313C316.655,-313 259.592,-313 259.592,-313 253.592,-313 247.592,-307 247.592,-301 247.592,-301 247.592,-289 247.592,-289 247.592,-283 253.592,-277 259.592,-277 259.592,-277 316.655,-277 316.655,-277 322.655,-277 328.655,-283 328.655,-289 328.655,-289 328.655,-301 328.655,-301 328.655,-307 322.655,-313 316.655,-313"/>
<text text-anchor="middle" x="288.1235" y="-299.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="288.1235" y="-282.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge4"><a xlink:title="at reseed_bootstrap.go:52: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M118.725,-344.9534C151.9288,-335.162 200.7001,-320.78 237.3948,-309.9592"/>
<polygon fill="#8b4513" stroke="#8b4513" points="238.7997,-313.194 247.4014,-307.0084 236.8198,-306.4798 238.7997,-313.194"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="node8" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Warn | defined in log.go:30">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M305.8898,-374C305.8898,-374 270.3572,-374 270.3572,-374 264.3572,-374 258.3572,-368 258.3572,-362 258.3572,-362 258.3572,-350 258.3572,-350 258.3572,-344 264.3572,-338 270.3572,-338 270.3572,-338 305.8898,-338 305.8898,-338 311.8898,-338 317.8898,-344 317.8898,-350 317.8898,-350 317.8898,-362 317.8898,-362 317.8898,-368 311.8898,-374 305.8898,-374"/>
<text text-anchor="middle" x="288.1235" y="-360.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="288.1235" y="-343.4" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="edge5" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_edge5"><a xlink:title="at reseed_bootstrap.go:52: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="none" stroke="#8b4513" d="M118.725,-356C155.3343,-356 210.8683,-356 248.2746,-356"/>
<polygon fill="#8b4513" stroke="#8b4513" points="248.3136,-359.5001 258.3136,-356 248.3135,-352.5001 248.3136,-359.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="node9" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M319.3426,-435C319.3426,-435 256.9044,-435 256.9044,-435 250.9044,-435 244.9044,-429 244.9044,-423 244.9044,-423 244.9044,-411 244.9044,-411 244.9044,-405 250.9044,-399 256.9044,-399 256.9044,-399 319.3426,-399 319.3426,-399 325.3426,-399 331.3426,-405 331.3426,-411 331.3426,-411 331.3426,-423 331.3426,-423 331.3426,-429 325.3426,-435 319.3426,-435"/>
<text text-anchor="middle" x="288.1235" y="-421.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="288.1235" y="-404.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge9" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge9"><a xlink:title="at reseed_bootstrap.go:59: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M118.725,-367.0466C151.1839,-376.6183 198.5195,-390.577 234.9071,-401.3072"/>
<polygon fill="#8b4513" stroke="#8b4513" points="234.2768,-404.7703 244.8585,-404.2417 236.2568,-398.0561 234.2768,-404.7703"/>
</a>
</g>
</g>
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
<g id="node10" class="node">
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_node10"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M306.9455,-521C306.9455,-521 269.3015,-521 269.3015,-521 263.3015,-521 257.3015,-515 257.3015,-509 257.3015,-509 257.3015,-497 257.3015,-497 257.3015,-491 263.3015,-485 269.3015,-485 269.3015,-485 306.9455,-485 306.9455,-485 312.9455,-485 318.9455,-491 318.9455,-497 318.9455,-497 318.9455,-509 318.9455,-509 318.9455,-515 312.9455,-521 306.9455,-521"/>
<text text-anchor="middle" x="288.1235" y="-507.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
<text text-anchor="middle" x="288.1235" y="-490.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge3" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge3"><a xlink:title="at reseed_bootstrap.go:43: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M106.6294,-374.0251C143.6948,-400.3648 212.738,-449.4289 254.1541,-478.8604"/>
<polygon fill="#8b4513" stroke="#8b4513" points="252.3722,-481.8878 262.551,-484.8275 256.427,-476.1818 252.3722,-481.8878"/>
</a>
</g>
</g>
<!-- (*github.com/sirupsen/logrus.Logger).Info -->
<g id="node11" class="node">
<title>(*github.com/sirupsen/logrus.Logger).Info</title>
<g id="a_node11"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Info | defined in logger.go:225">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M305.6193,-582C305.6193,-582 270.6277,-582 270.6277,-582 264.6277,-582 258.6277,-576 258.6277,-570 258.6277,-570 258.6277,-558 258.6277,-558 258.6277,-552 264.6277,-546 270.6277,-546 270.6277,-546 305.6193,-546 305.6193,-546 311.6193,-546 317.6193,-552 317.6193,-558 317.6193,-558 317.6193,-570 317.6193,-570 317.6193,-576 311.6193,-582 305.6193,-582"/>
<text text-anchor="middle" x="288.1235" y="-568.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
<text text-anchor="middle" x="288.1235" y="-551.4" font-family="Verdana" font-size="14.00" fill="#000000">Info</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/sirupsen/logrus.Logger).Info -->
<g id="edge6" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(*github.com/sirupsen/logrus.Logger).Info</title>
<g id="a_edge6"><a xlink:title="at reseed_bootstrap.go:63: calling [(*github.com/sirupsen/logrus.Logger).Info]">
<path fill="none" stroke="#8b4513" d="M92.3256,-374.0399C114.3749,-408.7975 166.9292,-485.8578 227.5288,-534 234.1285,-539.243 241.7932,-543.9051 249.4061,-547.8995"/>
<polygon fill="#8b4513" stroke="#8b4513" points="248.0753,-551.1458 258.5915,-552.435 251.1745,-544.8692 248.0753,-551.1458"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed -->
<g id="node12" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed</title>
<g id="a_node12"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed | defined in reseed.go:31">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M326.3271,-668C326.3271,-668 249.9199,-668 249.9199,-668 243.9199,-668 237.9199,-662 237.9199,-656 237.9199,-656 237.9199,-644 237.9199,-644 237.9199,-638 243.9199,-632 249.9199,-632 249.9199,-632 326.3271,-632 326.3271,-632 332.3271,-632 338.3271,-638 338.3271,-644 338.3271,-644 338.3271,-656 338.3271,-656 338.3271,-662 332.3271,-668 326.3271,-668"/>
<text text-anchor="middle" x="288.1235" y="-654.2" font-family="Verdana" font-size="14.00" fill="#000000">reseed</text>
<text text-anchor="middle" x="288.1235" y="-637.4" font-family="Verdana" font-size="14.00" fill="#000000">SingleReseed</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed -->
<g id="edge8" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/bootstrap.ReseedBootstrap).GetPeers&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed</title>
<g id="a_edge8"><a xlink:title="at reseed_bootstrap.go:49: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed]">
<path fill="none" stroke="#8b4513" d="M89.919,-374.0435C110.3702,-415.6822 164.7136,-520.678 227.5288,-596 236.2167,-606.4176 246.9389,-616.6363 256.9371,-625.3325"/>
<polygon fill="#8b4513" stroke="#8b4513" points="254.8567,-628.1572 264.7475,-631.9549 259.3837,-622.8181 254.8567,-628.1572"/>
</a>
</g>
</g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 584 B

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -17,8 +17,8 @@
<g id="clust5" class="cluster"> <g id="clust5" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer</title> <title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer</title>
<g id="a_clust5"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer"> <g id="a_clust5"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M1038.4239,-454C1038.4239,-454 1086.3103,-454 1086.3103,-454 1092.3103,-454 1098.3103,-460 1098.3103,-466 1098.3103,-466 1098.3103,-581 1098.3103,-581 1098.3103,-587 1092.3103,-593 1086.3103,-593 1086.3103,-593 1038.4239,-593 1038.4239,-593 1032.4239,-593 1026.4239,-587 1026.4239,-581 1026.4239,-581 1026.4239,-466 1026.4239,-466 1026.4239,-460 1032.4239,-454 1038.4239,-454"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M1038.4239,-465C1038.4239,-465 1086.3103,-465 1086.3103,-465 1092.3103,-465 1098.3103,-471 1098.3103,-477 1098.3103,-477 1098.3103,-592 1098.3103,-592 1098.3103,-598 1092.3103,-604 1086.3103,-604 1086.3103,-604 1038.4239,-604 1038.4239,-604 1032.4239,-604 1026.4239,-598 1026.4239,-592 1026.4239,-592 1026.4239,-477 1026.4239,-477 1026.4239,-471 1032.4239,-465 1038.4239,-465"/>
<text text-anchor="middle" x="1062.3671" y="-462.5" font-family="Arial" font-size="15.00" fill="#222222">(Integer)</text> <text text-anchor="middle" x="1062.3671" y="-473.5" font-family="Arial" font-size="15.00" fill="#222222">(Integer)</text>
</a> </a>
</g> </g>
</g> </g>
@ -33,44 +33,72 @@
<g id="clust3" class="cluster"> <g id="clust3" class="cluster">
<title>cluster_*github.com/go&#45;i2p/logger.Logger</title> <title>cluster_*github.com/go&#45;i2p/logger.Logger</title>
<g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/logger.Logger"> <g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/logger.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M1023.2577,-622C1023.2577,-622 1101.4765,-622 1101.4765,-622 1107.4765,-622 1113.4765,-628 1113.4765,-634 1113.4765,-634 1113.4765,-810 1113.4765,-810 1113.4765,-816 1107.4765,-822 1101.4765,-822 1101.4765,-822 1023.2577,-822 1023.2577,-822 1017.2577,-822 1011.2577,-816 1011.2577,-810 1011.2577,-810 1011.2577,-634 1011.2577,-634 1011.2577,-628 1017.2577,-622 1023.2577,-622"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M1023.2577,-612C1023.2577,-612 1101.4765,-612 1101.4765,-612 1107.4765,-612 1113.4765,-618 1113.4765,-624 1113.4765,-624 1113.4765,-800 1113.4765,-800 1113.4765,-806 1107.4765,-812 1101.4765,-812 1101.4765,-812 1023.2577,-812 1023.2577,-812 1017.2577,-812 1011.2577,-806 1011.2577,-800 1011.2577,-800 1011.2577,-624 1011.2577,-624 1011.2577,-618 1017.2577,-612 1023.2577,-612"/>
<text text-anchor="middle" x="1062.3671" y="-630.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text> <text text-anchor="middle" x="1062.3671" y="-620.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust2" class="cluster"> <g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate"> <g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M322.261,-411C322.261,-411 866.0844,-411 866.0844,-411 872.0844,-411 878.0844,-417 878.0844,-423 878.0844,-423 878.0844,-660 878.0844,-660 878.0844,-666 872.0844,-672 866.0844,-672 866.0844,-672 322.261,-672 322.261,-672 316.261,-672 310.261,-666 310.261,-660 310.261,-660 310.261,-423 310.261,-423 310.261,-417 316.261,-411 322.261,-411"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M322.261,-413C322.261,-413 866.0844,-413 866.0844,-413 872.0844,-413 878.0844,-419 878.0844,-425 878.0844,-425 878.0844,-662 878.0844,-662 878.0844,-668 872.0844,-674 866.0844,-674 866.0844,-674 322.261,-674 322.261,-674 316.261,-674 310.261,-668 310.261,-662 310.261,-662 310.261,-425 310.261,-425 310.261,-419 316.261,-413 322.261,-413"/>
<text text-anchor="middle" x="594.1727" y="-419.5" font-family="Arial" font-size="15.00" fill="#222222">(*Certificate)</text> <text text-anchor="middle" x="594.1727" y="-421.5" font-family="Arial" font-size="15.00" fill="#222222">(*Certificate)</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.init -->
<g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.init</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.init | defined in .:0&#10;at certificate.go:18: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M139.0225,-882C139.0225,-882 109.0225,-882 109.0225,-882 103.0225,-882 97.0225,-876 97.0225,-870 97.0225,-870 97.0225,-858 97.0225,-858 97.0225,-852 103.0225,-846 109.0225,-846 109.0225,-846 139.0225,-846 139.0225,-846 145.0225,-846 151.0225,-852 151.0225,-858 151.0225,-858 151.0225,-870 151.0225,-870 151.0225,-876 145.0225,-882 139.0225,-882"/>
<text text-anchor="middle" x="124.0225" y="-859.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M414.3292,-882C414.3292,-882 316.9502,-882 316.9502,-882 310.9502,-882 304.9502,-876 304.9502,-870 304.9502,-870 304.9502,-858 304.9502,-858 304.9502,-852 310.9502,-846 316.9502,-846 316.9502,-846 414.3292,-846 414.3292,-846 420.3292,-846 426.3292,-852 426.3292,-858 426.3292,-858 426.3292,-870 426.3292,-870 426.3292,-876 420.3292,-882 414.3292,-882"/>
<text text-anchor="middle" x="365.6397" y="-868.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="365.6397" y="-851.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge28" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge28"><a xlink:title="at certificate.go:18: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M151.2694,-864C185.8355,-864 246.7324,-864 294.8092,-864"/>
<polygon fill="#8b4513" stroke="#8b4513" points="294.8596,-867.5001 304.8596,-864 294.8595,-860.5001 294.8596,-867.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate -->
<g id="node1" class="node"> <g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate | defined in certificate.go:150&#10;at certificate.go:159: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:169: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:178: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:182: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:192: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:193: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:194: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:156: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:166: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:180: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:191: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:160: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at certificate.go:170: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at certificate.go:188: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at certificate.go:161: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:171: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:179: calling [github.com/samber/oops.Errorf]"> <g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate | defined in certificate.go:150&#10;at certificate.go:156: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:166: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:180: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:191: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:160: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at certificate.go:170: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at certificate.go:188: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at certificate.go:161: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:171: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:179: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:159: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:169: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:178: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:182: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:192: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:193: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:194: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M879.924,-403C879.924,-403 796.587,-403 796.587,-403 790.587,-403 784.587,-397 784.587,-391 784.587,-391 784.587,-379 784.587,-379 784.587,-373 790.587,-367 796.587,-367 796.587,-367 879.924,-367 879.924,-367 885.924,-367 891.924,-373 891.924,-379 891.924,-379 891.924,-391 891.924,-391 891.924,-397 885.924,-403 879.924,-403"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M879.924,-404C879.924,-404 796.587,-404 796.587,-404 790.587,-404 784.587,-398 784.587,-392 784.587,-392 784.587,-380 784.587,-380 784.587,-374 790.587,-368 796.587,-368 796.587,-368 879.924,-368 879.924,-368 885.924,-368 891.924,-374 891.924,-380 891.924,-380 891.924,-392 891.924,-392 891.924,-398 885.924,-404 879.924,-404"/>
<text text-anchor="middle" x="838.2555" y="-380.8" font-family="Verdana" font-size="14.00" fill="#000000">readCertificate</text> <text text-anchor="middle" x="838.2555" y="-381.8" font-family="Verdana" font-size="14.00" fill="#000000">readCertificate</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/samber/oops.Errorf --> <!-- github.com/samber/oops.Errorf -->
<g id="node2" class="node"> <g id="node4" class="node">
<title>github.com/samber/oops.Errorf</title> <title>github.com/samber/oops.Errorf</title>
<g id="a_node2"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34"> <g id="a_node4"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1079.5624,-129C1079.5624,-129 1045.1718,-129 1045.1718,-129 1039.1718,-129 1033.1718,-123 1033.1718,-117 1033.1718,-117 1033.1718,-105 1033.1718,-105 1033.1718,-99 1039.1718,-93 1045.1718,-93 1045.1718,-93 1079.5624,-93 1079.5624,-93 1085.5624,-93 1091.5624,-99 1091.5624,-105 1091.5624,-105 1091.5624,-117 1091.5624,-117 1091.5624,-123 1085.5624,-129 1079.5624,-129"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1079.5624,-67C1079.5624,-67 1045.1718,-67 1045.1718,-67 1039.1718,-67 1033.1718,-61 1033.1718,-55 1033.1718,-55 1033.1718,-43 1033.1718,-43 1033.1718,-37 1039.1718,-31 1045.1718,-31 1045.1718,-31 1079.5624,-31 1079.5624,-31 1085.5624,-31 1091.5624,-37 1091.5624,-43 1091.5624,-43 1091.5624,-55 1091.5624,-55 1091.5624,-61 1085.5624,-67 1079.5624,-67"/>
<text text-anchor="middle" x="1062.3671" y="-115.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text> <text text-anchor="middle" x="1062.3671" y="-53.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="1062.3671" y="-98.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text> <text text-anchor="middle" x="1062.3671" y="-36.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge36" class="edge"> <g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge36"><a xlink:title="at certificate.go:161: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:171: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:179: calling [github.com/samber/oops.Errorf]"> <g id="a_edge5"><a xlink:title="at certificate.go:161: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:171: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:179: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M853.3081,-366.5966C892.1416,-319.1186 995.8149,-192.3671 1040.9143,-137.2283"/> <path fill="none" stroke="#8b4513" d="M843.461,-367.7596C858.7506,-317.0084 907.9694,-172.161 994.3902,-85 1002.7534,-76.5652 1013.511,-69.6458 1023.9897,-64.207"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1043.758,-139.2798 1047.38,-129.3233 1038.3396,-134.8479 1043.758,-139.2798"/> <polygon fill="#8b4513" stroke="#8b4513" points="1025.5893,-67.3212 1033.0592,-59.8078 1022.5343,-61.023 1025.5893,-67.3212"/>
</a> </a>
</g> </g>
</g> </g>
@ -78,37 +106,37 @@
<g id="node17" class="node"> <g id="node17" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_node17"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60"> <g id="a_node17"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1093.5862,-753C1093.5862,-753 1031.148,-753 1031.148,-753 1025.148,-753 1019.148,-747 1019.148,-741 1019.148,-741 1019.148,-729 1019.148,-729 1019.148,-723 1025.148,-717 1031.148,-717 1031.148,-717 1093.5862,-717 1093.5862,-717 1099.5862,-717 1105.5862,-723 1105.5862,-729 1105.5862,-729 1105.5862,-741 1105.5862,-741 1105.5862,-747 1099.5862,-753 1093.5862,-753"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1093.5862,-743C1093.5862,-743 1031.148,-743 1031.148,-743 1025.148,-743 1019.148,-737 1019.148,-731 1019.148,-731 1019.148,-719 1019.148,-719 1019.148,-713 1025.148,-707 1031.148,-707 1031.148,-707 1093.5862,-707 1093.5862,-707 1099.5862,-707 1105.5862,-713 1105.5862,-719 1105.5862,-719 1105.5862,-731 1105.5862,-731 1105.5862,-737 1099.5862,-743 1093.5862,-743"/>
<text text-anchor="middle" x="1062.3671" y="-739.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="1062.3671" y="-729.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="1062.3671" y="-722.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text> <text text-anchor="middle" x="1062.3671" y="-712.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge31" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge31"><a xlink:title="at certificate.go:156: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:166: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:180: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:191: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge3"><a xlink:title="at certificate.go:156: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:166: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:180: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:191: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M891.97,-390.3251C902.8849,-393.6745 913.4413,-398.9029 921.3902,-407 969.1537,-455.6537 950.587,-652.7523 994.3902,-705 998.7891,-710.2469 1004.2861,-714.6077 1010.2368,-718.2243"/> <path fill="none" stroke="#8b4513" d="M891.917,-391.3773C902.8347,-394.724 913.4056,-399.9381 921.3902,-408 967.6993,-454.7571 951.8882,-644.7571 994.3902,-695 998.8122,-700.2274 1004.3228,-704.5768 1010.2804,-708.1876"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1008.7341,-721.3895 1019.2047,-723.0071 1012.0282,-715.213 1008.7341,-721.3895"/> <polygon fill="#8b4513" stroke="#8b4513" points="1008.7824,-711.3552 1019.2541,-712.9655 1012.0722,-705.1764 1008.7824,-711.3552"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="node18" class="node"> <g id="node19" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_node18"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42"> <g id="a_node19"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1080.1334,-692C1080.1334,-692 1044.6008,-692 1044.6008,-692 1038.6008,-692 1032.6008,-686 1032.6008,-680 1032.6008,-680 1032.6008,-668 1032.6008,-668 1032.6008,-662 1038.6008,-656 1044.6008,-656 1044.6008,-656 1080.1334,-656 1080.1334,-656 1086.1334,-656 1092.1334,-662 1092.1334,-668 1092.1334,-668 1092.1334,-680 1092.1334,-680 1092.1334,-686 1086.1334,-692 1080.1334,-692"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1080.1334,-682C1080.1334,-682 1044.6008,-682 1044.6008,-682 1038.6008,-682 1032.6008,-676 1032.6008,-670 1032.6008,-670 1032.6008,-658 1032.6008,-658 1032.6008,-652 1038.6008,-646 1044.6008,-646 1044.6008,-646 1080.1334,-646 1080.1334,-646 1086.1334,-646 1092.1334,-652 1092.1334,-658 1092.1334,-658 1092.1334,-670 1092.1334,-670 1092.1334,-676 1086.1334,-682 1080.1334,-682"/>
<text text-anchor="middle" x="1062.3671" y="-678.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="1062.3671" y="-668.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="1062.3671" y="-661.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text> <text text-anchor="middle" x="1062.3671" y="-651.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge32" class="edge"> <g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge32"><a xlink:title="at certificate.go:160: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at certificate.go:170: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at certificate.go:188: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge4"><a xlink:title="at certificate.go:160: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at certificate.go:170: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at certificate.go:188: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M891.9474,-391.5301C902.6103,-394.83 913.0678,-399.7337 921.3902,-407 990.16,-467.0428 947.7448,-520.5231 994.3902,-599 1005.2996,-617.3541 1021.1656,-635.1802 1034.826,-648.8451"/> <path fill="none" stroke="#8b4513" d="M892.211,-392.2353C902.8574,-395.5536 913.2416,-400.5393 921.3902,-408 991.7973,-472.4634 938.6811,-532.4811 994.3902,-610 1002.5208,-621.3137 1013.6427,-631.4976 1024.5356,-639.8926"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1032.5414,-651.5061 1042.1427,-655.9856 1037.4305,-646.4963 1032.5414,-651.5061"/> <polygon fill="#8b4513" stroke="#8b4513" points="1022.6393,-642.8427 1032.7675,-645.9526 1026.7892,-637.2055 1022.6393,-642.8427"/>
</a> </a>
</g> </g>
</g> </g>
@ -123,11 +151,11 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge18" class="edge"> <g id="edge22" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge18"><a xlink:title="at certificate.go:194: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge22"><a xlink:title="at certificate.go:194: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M891.8495,-371.3766C912.9819,-365.2653 937.2178,-357.3198 958.3902,-348 982.144,-337.5439 1007.2829,-322.9042 1026.8912,-310.5875"/> <path fill="none" stroke="#8b4513" d="M892.1337,-371.7653C913.1934,-365.4801 937.3031,-357.3779 958.3902,-348 982.1042,-337.4539 1007.2418,-322.8114 1026.8594,-310.5158"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1028.9306,-313.4383 1035.4864,-305.1154 1025.1712,-307.5335 1028.9306,-313.4383"/> <polygon fill="#8b4513" stroke="#8b4513" points="1028.8939,-313.3699 1035.4595,-305.0547 1025.1415,-307.4606 1028.8939,-313.3699"/>
</a> </a>
</g> </g>
</g> </g>
@ -135,372 +163,326 @@
<g id="node21" class="node"> <g id="node21" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title>
<g id="a_node21"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int | defined in integer.go:32"> <g id="a_node21"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int | defined in integer.go:32">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1077.3671,-524C1077.3671,-524 1047.3671,-524 1047.3671,-524 1041.3671,-524 1035.3671,-518 1035.3671,-512 1035.3671,-512 1035.3671,-500 1035.3671,-500 1035.3671,-494 1041.3671,-488 1047.3671,-488 1047.3671,-488 1077.3671,-488 1077.3671,-488 1083.3671,-488 1089.3671,-494 1089.3671,-500 1089.3671,-500 1089.3671,-512 1089.3671,-512 1089.3671,-518 1083.3671,-524 1077.3671,-524"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1077.3671,-535C1077.3671,-535 1047.3671,-535 1047.3671,-535 1041.3671,-535 1035.3671,-529 1035.3671,-523 1035.3671,-523 1035.3671,-511 1035.3671,-511 1035.3671,-505 1041.3671,-499 1047.3671,-499 1047.3671,-499 1077.3671,-499 1077.3671,-499 1083.3671,-499 1089.3671,-505 1089.3671,-511 1089.3671,-511 1089.3671,-523 1089.3671,-523 1089.3671,-529 1083.3671,-535 1077.3671,-535"/>
<text text-anchor="middle" x="1062.3671" y="-510.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text> <text text-anchor="middle" x="1062.3671" y="-521.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
<text text-anchor="middle" x="1062.3671" y="-493.4" font-family="Verdana" font-size="14.00" fill="#000000">Int</text> <text text-anchor="middle" x="1062.3671" y="-504.4" font-family="Verdana" font-size="14.00" fill="#000000">Int</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int -->
<g id="edge11" class="edge"> <g id="edge19" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title>
<g id="a_edge11"><a xlink:title="at certificate.go:159: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:169: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:178: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:182: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:192: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:193: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]"> <g id="a_edge19"><a xlink:title="at certificate.go:159: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:169: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:178: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:182: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:192: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:193: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]">
<path fill="none" stroke="#8b4513" d="M891.9573,-392.7624C913.4481,-397.2859 937.9117,-404.2911 958.3902,-415 990.0573,-431.5598 1020.0781,-459.6613 1039.6456,-480.2646"/> <path fill="none" stroke="#8b4513" d="M892.1796,-396.8988C902.1529,-399.8488 912.2861,-403.5071 921.3902,-408 965.8313,-429.9318 1009.8542,-467.0947 1036.5817,-491.8403"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1037.2403,-482.8176 1046.6148,-487.7541 1042.3649,-478.049 1037.2403,-482.8176"/> <polygon fill="#8b4513" stroke="#8b4513" points="1034.288,-494.4876 1043.9749,-498.7788 1039.0783,-489.3834 1034.288,-494.4876"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate -->
<g id="node3" class="node"> <g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate | defined in certificate.go:201&#10;at certificate.go:210: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:202: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate]&#10;at certificate.go:204: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at certificate.go:208: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:207: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes]"> <g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate | defined in certificate.go:201&#10;at certificate.go:202: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate]&#10;at certificate.go:207: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes]&#10;at certificate.go:208: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:210: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:204: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M167.867,-603C167.867,-603 80.178,-603 80.178,-603 74.178,-603 68.178,-597 68.178,-591 68.178,-591 68.178,-579 68.178,-579 68.178,-573 74.178,-567 80.178,-567 80.178,-567 167.867,-567 167.867,-567 173.867,-567 179.867,-573 179.867,-579 179.867,-579 179.867,-591 179.867,-591 179.867,-597 173.867,-603 167.867,-603"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M167.867,-544C167.867,-544 80.178,-544 80.178,-544 74.178,-544 68.178,-538 68.178,-532 68.178,-532 68.178,-520 68.178,-520 68.178,-514 74.178,-508 80.178,-508 80.178,-508 167.867,-508 167.867,-508 173.867,-508 179.867,-514 179.867,-520 179.867,-520 179.867,-532 179.867,-532 179.867,-538 173.867,-544 167.867,-544"/>
<text text-anchor="middle" x="124.0225" y="-580.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadCertificate</text> <text text-anchor="middle" x="124.0225" y="-521.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadCertificate</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate -->
<g id="edge19" class="edge"> <g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate</title>
<g id="a_edge19"><a xlink:title="at certificate.go:202: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate]"> <g id="a_edge10"><a xlink:title="at certificate.go:202: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.readCertificate]">
<path fill="none" stroke="#000000" d="M131.4353,-566.6603C155.716,-509.9153 238.6579,-341 365.6397,-341 365.6397,-341 365.6397,-341 655.1208,-341 698.0114,-341 745.0279,-352.5512 780.6822,-363.8166"/> <path fill="none" stroke="#000000" d="M133.2712,-507.925C160.9369,-456.6575 248.4485,-314 365.6397,-314 365.6397,-314 365.6397,-314 655.1208,-314 709.2908,-314 766.614,-341.6219 802.4026,-362.6485"/>
<polygon fill="#000000" stroke="#000000" points="779.8324,-367.2204 790.4244,-366.9766 781.9922,-360.5619 779.8324,-367.2204"/> <polygon fill="#000000" stroke="#000000" points="800.6488,-365.6779 811.0225,-367.8314 804.2559,-359.6788 800.6488,-365.6779"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes -->
<g id="node11" class="node"> <g id="node14" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes</title>
<g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes | defined in certificate.go:87&#10;at certificate.go:90: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:92: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:95: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:88: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:89: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]"> <g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes | defined in certificate.go:87&#10;at certificate.go:92: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:95: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:88: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:89: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:90: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M400.8974,-603C400.8974,-603 330.382,-603 330.382,-603 324.382,-603 318.382,-597 318.382,-591 318.382,-591 318.382,-579 318.382,-579 318.382,-573 324.382,-567 330.382,-567 330.382,-567 400.8974,-567 400.8974,-567 406.8974,-567 412.8974,-573 412.8974,-579 412.8974,-579 412.8974,-591 412.8974,-591 412.8974,-597 406.8974,-603 400.8974,-603"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M400.8974,-544C400.8974,-544 330.382,-544 330.382,-544 324.382,-544 318.382,-538 318.382,-532 318.382,-532 318.382,-520 318.382,-520 318.382,-514 324.382,-508 330.382,-508 330.382,-508 400.8974,-508 400.8974,-508 406.8974,-508 412.8974,-514 412.8974,-520 412.8974,-520 412.8974,-532 412.8974,-532 412.8974,-538 406.8974,-544 400.8974,-544"/>
<text text-anchor="middle" x="365.6397" y="-580.8" font-family="Verdana" font-size="14.00" fill="#000000">ExcessBytes</text> <text text-anchor="middle" x="365.6397" y="-521.8" font-family="Verdana" font-size="14.00" fill="#000000">ExcessBytes</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes -->
<g id="edge37" class="edge"> <g id="edge11" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes</title>
<g id="a_edge37"><a xlink:title="at certificate.go:207: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes]"> <g id="a_edge11"><a xlink:title="at certificate.go:207: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes]">
<path fill="none" stroke="#000000" d="M180.0616,-585C218.4529,-585 269.2339,-585 307.9697,-585"/> <path fill="none" stroke="#000000" d="M180.0616,-526C218.4529,-526 269.2339,-526 307.9697,-526"/>
<polygon fill="#000000" stroke="#000000" points="308.0482,-588.5001 318.0481,-585 308.0481,-581.5001 308.0482,-588.5001"/> <polygon fill="#000000" stroke="#000000" points="308.0482,-529.5001 318.0481,-526 308.0481,-522.5001 308.0482,-529.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge27" class="edge"> <g id="edge23" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge27"><a xlink:title="at certificate.go:208: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge23"><a xlink:title="at certificate.go:208: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M130.0935,-603.0675C151.6215,-663.3807 230.3612,-854 365.6397,-854 365.6397,-854 365.6397,-854 838.2555,-854 894.5306,-854 915.7656,-850.7427 958.3902,-814 978.5884,-796.589 973.6144,-782.7176 994.3902,-766 999.2313,-762.1045 1004.6411,-758.5814 1010.2371,-755.4277"/> <path fill="none" stroke="#8b4513" d="M140.2328,-544.1019C202.5506,-612.8635 428.1494,-854 527.1776,-854 527.1776,-854 527.1776,-854 838.2555,-854 894.5306,-854 917.4231,-852.5822 958.3902,-814 980.4768,-793.1992 971.6124,-776.0416 994.3902,-756 999.1192,-751.8391 1004.5002,-748.1413 1010.1157,-744.8806"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1011.8911,-758.5124 1019.1292,-750.7755 1008.6461,-752.31 1011.8911,-758.5124"/> <polygon fill="#8b4513" stroke="#8b4513" points="1011.8901,-747.901 1019.0729,-740.1127 1008.601,-741.7219 1011.8901,-747.901"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Warn --> <!-- (*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="node19" class="node"> <g id="node18" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Warn</title> <title>(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_node19"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Warn | defined in log.go:30"> <g id="a_node18"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Warn | defined in log.go:30">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1080.1334,-814C1080.1334,-814 1044.6008,-814 1044.6008,-814 1038.6008,-814 1032.6008,-808 1032.6008,-802 1032.6008,-802 1032.6008,-790 1032.6008,-790 1032.6008,-784 1038.6008,-778 1044.6008,-778 1044.6008,-778 1080.1334,-778 1080.1334,-778 1086.1334,-778 1092.1334,-784 1092.1334,-790 1092.1334,-790 1092.1334,-802 1092.1334,-802 1092.1334,-808 1086.1334,-814 1080.1334,-814"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1080.1334,-804C1080.1334,-804 1044.6008,-804 1044.6008,-804 1038.6008,-804 1032.6008,-798 1032.6008,-792 1032.6008,-792 1032.6008,-780 1032.6008,-780 1032.6008,-774 1038.6008,-768 1044.6008,-768 1044.6008,-768 1080.1334,-768 1080.1334,-768 1086.1334,-768 1092.1334,-774 1092.1334,-780 1092.1334,-780 1092.1334,-792 1092.1334,-792 1092.1334,-798 1086.1334,-804 1080.1334,-804"/>
<text text-anchor="middle" x="1062.3671" y="-800.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="1062.3671" y="-790.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="1062.3671" y="-783.4" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text> <text text-anchor="middle" x="1062.3671" y="-773.4" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="edge25" class="edge"> <g id="edge29" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_edge25"><a xlink:title="at certificate.go:204: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]"> <g id="a_edge29"><a xlink:title="at certificate.go:204: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="none" stroke="#8b4513" d="M128.9833,-603.0705C147.835,-667.3365 221.3599,-881 365.6397,-881 365.6397,-881 365.6397,-881 838.2555,-881 908.1844,-881 982.8767,-844.3731 1025.946,-819.2056"/> <path fill="none" stroke="#8b4513" d="M133.608,-544.0044C157.4753,-587.4339 223.5529,-699.4196 305.045,-768 315.6386,-776.9151 513.3319,-881 527.1776,-881 527.1776,-881 527.1776,-881 838.2555,-881 911.0468,-881 987.3433,-837.9917 1029.4741,-809.8508"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1027.8422,-822.15 1034.6435,-814.0263 1024.2607,-816.1356 1027.8422,-822.15"/> <polygon fill="#8b4513" stroke="#8b4513" points="1031.6358,-812.6133 1037.9322,-804.0924 1027.6964,-806.827 1031.6358,-812.6133"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge8" class="edge"> <g id="edge26" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.ReadCertificate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge8"><a xlink:title="at certificate.go:210: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge26"><a xlink:title="at certificate.go:210: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M125.883,-566.7663C135.0358,-487.7657 182.5219,-179 365.6397,-179 365.6397,-179 365.6397,-179 838.2555,-179 876.2584,-179 887.7803,-181.2631 921.3902,-199 960.0729,-219.414 956.5209,-243.1138 994.3902,-265 1002.8393,-269.8831 1012.5151,-273.8426 1021.8658,-276.985"/> <path fill="none" stroke="#8b4513" d="M132.0037,-507.8323C163.941,-436.4345 284.7068,-179 365.6397,-179 365.6397,-179 365.6397,-179 838.2555,-179 894.5306,-179 912.3964,-186.5738 958.3902,-219 979.6082,-233.959 973.1094,-250.1304 994.3902,-265 1002.5405,-270.6949 1012.2512,-274.9803 1021.7462,-278.1807"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1020.8388,-280.3309 1031.4274,-279.9684 1022.9239,-273.6486 1020.8388,-280.3309"/> <polygon fill="#8b4513" stroke="#8b4513" points="1020.9029,-281.5823 1031.4883,-281.1365 1022.9353,-274.8838 1020.9029,-281.5823"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux | defined in certificate.go:223&#10;at certificate.go:225: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:230: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:233: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]&#10;at certificate.go:243: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:246: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M896.0832,-153C896.0832,-153 780.4278,-153 780.4278,-153 774.4278,-153 768.4278,-147 768.4278,-141 768.4278,-141 768.4278,-129 768.4278,-129 768.4278,-123 774.4278,-117 780.4278,-117 780.4278,-117 896.0832,-117 896.0832,-117 902.0832,-117 908.0832,-123 908.0832,-129 908.0832,-129 908.0832,-141 908.0832,-141 908.0832,-147 902.0832,-153 896.0832,-153"/>
<text text-anchor="middle" x="838.2555" y="-130.8" font-family="Verdana" font-size="14.00" fill="#000000">NewCertificateDeux</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge5"><a xlink:title="at certificate.go:225: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:230: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M908.244,-127.505C945.9757,-123.4643 991.1517,-118.6264 1022.8055,-115.2366"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1023.4211,-118.6908 1032.9915,-114.1458 1022.6757,-111.7306 1023.4211,-118.6908"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt -->
<g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt | defined in integer.go:68">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1118.3209,-67C1118.3209,-67 1006.4133,-67 1006.4133,-67 1000.4133,-67 994.4133,-61 994.4133,-55 994.4133,-55 994.4133,-43 994.4133,-43 994.4133,-37 1000.4133,-31 1006.4133,-31 1006.4133,-31 1118.3209,-31 1118.3209,-31 1124.3209,-31 1130.3209,-37 1130.3209,-43 1130.3209,-43 1130.3209,-55 1130.3209,-55 1130.3209,-61 1124.3209,-67 1118.3209,-67"/>
<text text-anchor="middle" x="1062.3671" y="-53.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
<text text-anchor="middle" x="1062.3671" y="-36.4" font-family="Verdana" font-size="14.00" fill="#000000">NewIntegerFromInt</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt -->
<g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt</title>
<g id="a_edge6"><a xlink:title="at certificate.go:233: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]">
<path fill="none" stroke="#8b4513" d="M885.2366,-116.9716C920.3482,-103.498 968.5045,-85.0186 1005.7433,-70.7287"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1007.3656,-73.8551 1015.4478,-67.0047 1004.8577,-67.3197 1007.3656,-73.8551"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge12"><a xlink:title="at certificate.go:243: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M846.2497,-153.2131C862.3544,-190.4737 899.0651,-278.3619 921.3902,-355 921.5638,-355.5959 993.9997,-704.5175 994.3902,-705 998.6976,-710.3223 1004.1411,-714.7272 1010.0644,-718.3664"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1008.5433,-721.5222 1019.0095,-723.1679 1011.854,-715.3545 1008.5433,-721.5222"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge15" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge15"><a xlink:title="at certificate.go:246: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M908.3481,-145.2568C926.3858,-150.7342 944.5794,-159.1309 958.3902,-172 990.8167,-202.2154 962.1796,-234.5546 994.3902,-265 1001.9625,-272.1573 1011.8843,-276.9863 1021.7984,-280.2443"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1021.0486,-283.6691 1031.6227,-283.0067 1022.9434,-276.9305 1021.0486,-283.6691"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate -->
<g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate | defined in certificate.go:281&#10;at certificate.go:283: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:286: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:282: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type]&#10;at certificate.go:283: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M220.0675,-130C220.0675,-130 27.9775,-130 27.9775,-130 21.9775,-130 15.9775,-124 15.9775,-118 15.9775,-118 15.9775,-106 15.9775,-106 15.9775,-100 21.9775,-94 27.9775,-94 27.9775,-94 220.0675,-94 220.0675,-94 226.0675,-94 232.0675,-100 232.0675,-106 232.0675,-106 232.0675,-118 232.0675,-118 232.0675,-124 226.0675,-130 220.0675,-130"/>
<text text-anchor="middle" x="124.0225" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">GetSignatureTypeFromCertificate</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge9" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge9"><a xlink:title="at certificate.go:283: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:286: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M232.0975,-98.5815C273.763,-94.4658 321.8499,-91 365.6397,-91 365.6397,-91 365.6397,-91 718.6208,-91 829.0428,-91 959.081,-101.4127 1022.9377,-107.2115"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1022.6938,-110.7038 1032.9723,-108.1345 1023.335,-103.7332 1022.6938,-110.7038"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type -->
<g id="node10" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type</title>
<g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type | defined in certificate.go:116&#10;at certificate.go:117: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:118: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:120: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M380.6397,-481C380.6397,-481 350.6397,-481 350.6397,-481 344.6397,-481 338.6397,-475 338.6397,-469 338.6397,-469 338.6397,-457 338.6397,-457 338.6397,-451 344.6397,-445 350.6397,-445 350.6397,-445 380.6397,-445 380.6397,-445 386.6397,-445 392.6397,-451 392.6397,-457 392.6397,-457 392.6397,-469 392.6397,-469 392.6397,-475 386.6397,-481 380.6397,-481"/>
<text text-anchor="middle" x="365.6397" y="-458.8" font-family="Verdana" font-size="14.00" fill="#000000">Type</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type -->
<g id="edge16" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type</title>
<g id="a_edge16"><a xlink:title="at certificate.go:282: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type]&#10;at certificate.go:283: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type]">
<path fill="none" stroke="#000000" d="M129.0355,-130.2388C145.0717,-185.2632 200.3021,-351.3293 305.045,-441 311.8279,-446.8068 320.2682,-451.131 328.6741,-454.3327"/>
<polygon fill="#000000" stroke="#000000" points="327.8308,-457.7413 338.4247,-457.5972 330.0532,-451.1034 327.8308,-457.7413"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType -->
<g id="node7" class="node"> <g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType</title>
<g id="a_node7"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType | defined in certificate.go:252&#10;at certificate.go:258: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:263: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:265: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]"> <g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType | defined in certificate.go:252&#10;at certificate.go:258: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:263: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:265: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M909.5251,-57C909.5251,-57 766.9859,-57 766.9859,-57 760.9859,-57 754.9859,-51 754.9859,-45 754.9859,-45 754.9859,-33 754.9859,-33 754.9859,-27 760.9859,-21 766.9859,-21 766.9859,-21 909.5251,-21 909.5251,-21 915.5251,-21 921.5251,-27 921.5251,-33 921.5251,-33 921.5251,-45 921.5251,-45 921.5251,-51 915.5251,-57 909.5251,-57"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M909.5251,-84C909.5251,-84 766.9859,-84 766.9859,-84 760.9859,-84 754.9859,-78 754.9859,-72 754.9859,-72 754.9859,-60 754.9859,-60 754.9859,-54 760.9859,-48 766.9859,-48 766.9859,-48 909.5251,-48 909.5251,-48 915.5251,-48 921.5251,-54 921.5251,-60 921.5251,-60 921.5251,-72 921.5251,-72 921.5251,-78 915.5251,-84 909.5251,-84"/>
<text text-anchor="middle" x="838.2555" y="-34.8" font-family="Verdana" font-size="14.00" fill="#000000">NewCertificateWithType</text> <text text-anchor="middle" x="838.2555" y="-61.8" font-family="Verdana" font-size="14.00" fill="#000000">NewCertificateWithType</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType&#45;&gt;github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge34" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge34"><a xlink:title="at certificate.go:258: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:263: calling [github.com/samber/oops.Errorf]"> <g id="a_edge1"><a xlink:title="at certificate.go:258: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:263: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M894.519,-57.0757C934.8151,-70.0216 988.0345,-87.1193 1023.6417,-98.5588"/> <path fill="none" stroke="#8b4513" d="M921.7064,-59.6698C956.3568,-57.0414 994.9181,-54.1164 1022.8896,-51.9946"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1022.6011,-101.9006 1033.1924,-101.6271 1024.7422,-95.236 1022.6011,-101.9006"/> <polygon fill="#8b4513" stroke="#8b4513" points="1023.3546,-55.4694 1033.0612,-51.223 1022.8251,-48.4895 1023.3546,-55.4694"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt -->
<g id="node7" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt</title>
<g id="a_node7"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt | defined in integer.go:68">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1118.3209,-133C1118.3209,-133 1006.4133,-133 1006.4133,-133 1000.4133,-133 994.4133,-127 994.4133,-121 994.4133,-121 994.4133,-109 994.4133,-109 994.4133,-103 1000.4133,-97 1006.4133,-97 1006.4133,-97 1118.3209,-97 1118.3209,-97 1124.3209,-97 1130.3209,-103 1130.3209,-109 1130.3209,-109 1130.3209,-121 1130.3209,-121 1130.3209,-127 1124.3209,-133 1118.3209,-133"/>
<text text-anchor="middle" x="1062.3671" y="-119.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
<text text-anchor="middle" x="1062.3671" y="-102.4" font-family="Verdana" font-size="14.00" fill="#000000">NewIntegerFromInt</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt -->
<g id="edge35" class="edge"> <g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt</title>
<g id="a_edge35"><a xlink:title="at certificate.go:265: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]"> <g id="a_edge12"><a xlink:title="at certificate.go:265: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]">
<path fill="none" stroke="#8b4513" d="M921.6566,-36.0157C933.9797,-36.0377 946.5198,-36.3173 958.3902,-37 966.7352,-37.48 975.4384,-38.1749 984.1017,-38.992"/> <path fill="none" stroke="#8b4513" d="M920.7516,-84.037C941.5594,-88.5865 963.8317,-93.4561 984.4085,-97.9551"/>
<polygon fill="#8b4513" stroke="#8b4513" points="983.9313,-42.4923 994.2293,-40.0019 984.6259,-35.5269 983.9313,-42.4923"/> <polygon fill="#8b4513" stroke="#8b4513" points="983.843,-101.414 994.3598,-100.1308 985.3382,-94.5756 983.843,-101.414"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.init --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.init</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate</title>
<g id="a_node8"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.init | defined in .:0&#10;at certificate.go:18: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_node8"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate | defined in certificate.go:281&#10;at certificate.go:283: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:286: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:282: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type]&#10;at certificate.go:283: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M139.0225,-58C139.0225,-58 109.0225,-58 109.0225,-58 103.0225,-58 97.0225,-52 97.0225,-46 97.0225,-46 97.0225,-34 97.0225,-34 97.0225,-28 103.0225,-22 109.0225,-22 109.0225,-22 139.0225,-22 139.0225,-22 145.0225,-22 151.0225,-28 151.0225,-34 151.0225,-34 151.0225,-46 151.0225,-46 151.0225,-52 145.0225,-58 139.0225,-58"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M220.0675,-267C220.0675,-267 27.9775,-267 27.9775,-267 21.9775,-267 15.9775,-261 15.9775,-255 15.9775,-255 15.9775,-243 15.9775,-243 15.9775,-237 21.9775,-231 27.9775,-231 27.9775,-231 220.0675,-231 220.0675,-231 226.0675,-231 232.0675,-237 232.0675,-243 232.0675,-243 232.0675,-255 232.0675,-255 232.0675,-261 226.0675,-267 220.0675,-267"/>
<text text-anchor="middle" x="124.0225" y="-35.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text> <text text-anchor="middle" x="124.0225" y="-244.8" font-family="Verdana" font-size="14.00" fill="#000000">GetSignatureTypeFromCertificate</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate&#45;&gt;github.com/samber/oops.Errorf -->
<g id="node9" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node9"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M414.3292,-58C414.3292,-58 316.9502,-58 316.9502,-58 310.9502,-58 304.9502,-52 304.9502,-46 304.9502,-46 304.9502,-34 304.9502,-34 304.9502,-28 310.9502,-22 316.9502,-22 316.9502,-22 414.3292,-22 414.3292,-22 420.3292,-22 426.3292,-28 426.3292,-34 426.3292,-34 426.3292,-46 426.3292,-46 426.3292,-52 420.3292,-58 414.3292,-58"/>
<text text-anchor="middle" x="365.6397" y="-44.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="365.6397" y="-27.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge13"><a xlink:title="at certificate.go:18: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_edge13"><a xlink:title="at certificate.go:283: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:286: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M151.2694,-40C185.8355,-40 246.7324,-40 294.8092,-40"/> <path fill="none" stroke="#8b4513" d="M132.0558,-230.7953C157.5611,-176.1035 242.3532,-17 365.6397,-17 365.6397,-17 365.6397,-17 838.2555,-17 903.7059,-17 978.8384,-30.5409 1023.3611,-40.0059"/>
<polygon fill="#8b4513" stroke="#8b4513" points="294.8596,-43.5001 304.8596,-40 294.8595,-36.5001 294.8596,-43.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="1022.6748,-43.4383 1033.1892,-42.1352 1024.157,-36.597 1022.6748,-43.4383"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type -->
<g id="edge24" class="edge"> <g id="node15" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type</title>
<g id="a_edge24"><a xlink:title="at certificate.go:118: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_node15"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type | defined in certificate.go:116&#10;at certificate.go:117: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:118: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:120: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M392.6653,-471.7055C404.3357,-476.6423 417.3262,-483.8949 426.2344,-494 513.4359,-592.9173 395.3112,-773 527.1776,-773 527.1776,-773 527.1776,-773 838.2555,-773 897.3245,-773 963.9342,-760.0094 1009.0735,-749.219"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M380.6397,-483C380.6397,-483 350.6397,-483 350.6397,-483 344.6397,-483 338.6397,-477 338.6397,-471 338.6397,-471 338.6397,-459 338.6397,-459 338.6397,-453 344.6397,-447 350.6397,-447 350.6397,-447 380.6397,-447 380.6397,-447 386.6397,-447 392.6397,-453 392.6397,-459 392.6397,-459 392.6397,-471 392.6397,-471 392.6397,-477 386.6397,-483 380.6397,-483"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1010.0477,-752.5841 1018.9342,-746.8151 1008.3897,-745.7833 1010.0477,-752.5841"/> <text text-anchor="middle" x="365.6397" y="-460.8" font-family="Verdana" font-size="14.00" fill="#000000">Type</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type -->
<g id="edge30" class="edge"> <g id="edge34" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.GetSignatureTypeFromCertificate&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type</title>
<g id="a_edge30"><a xlink:title="at certificate.go:120: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge34"><a xlink:title="at certificate.go:282: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type]&#10;at certificate.go:283: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type]">
<path fill="none" stroke="#8b4513" d="M392.9367,-458.1165C404.3825,-454.8919 417.12,-449.6053 426.2344,-441 508.8881,-362.9631 413.5053,-206 527.1776,-206 527.1776,-206 527.1776,-206 838.2555,-206 912.4379,-206 924.3841,-240.4608 994.3902,-265 1003.2446,-268.1037 1012.8012,-271.294 1021.8719,-274.2487"/> <path fill="none" stroke="#000000" d="M136.3729,-267.189C162.9531,-305.0493 229.3421,-392.9539 305.045,-443 312.2922,-447.791 320.7156,-451.6993 328.9357,-454.8197"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1020.8761,-277.605 1031.4678,-277.3472 1023.0271,-270.9437 1020.8761,-277.605"/> <polygon fill="#000000" stroke="#000000" points="327.8145,-458.1353 338.4093,-458.1265 330.1214,-451.5264 327.8145,-458.1353"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux -->
<g id="edge10" class="edge"> <g id="node9" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux</title>
<g id="a_edge10"><a xlink:title="at certificate.go:117: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]"> <g id="a_node9"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux | defined in certificate.go:223&#10;at certificate.go:225: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:230: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:233: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]&#10;at certificate.go:246: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:243: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M392.7127,-453.7094C424.5076,-443.6426 479.0301,-429 527.1776,-429 527.1776,-429 527.1776,-429 718.6208,-429 832.7469,-429 963.1445,-469.9154 1025.4483,-492.0956"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M896.0832,-149C896.0832,-149 780.4278,-149 780.4278,-149 774.4278,-149 768.4278,-143 768.4278,-137 768.4278,-137 768.4278,-125 768.4278,-125 768.4278,-119 774.4278,-113 780.4278,-113 780.4278,-113 896.0832,-113 896.0832,-113 902.0832,-113 908.0832,-119 908.0832,-125 908.0832,-125 908.0832,-137 908.0832,-137 908.0832,-143 902.0832,-149 896.0832,-149"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1024.6117,-495.5145 1035.2061,-495.6154 1026.987,-488.9298 1024.6117,-495.5145"/> <text text-anchor="middle" x="838.2555" y="-126.8" font-family="Verdana" font-size="14.00" fill="#000000">NewCertificateDeux</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge3" class="edge"> <g id="edge7" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge3"><a xlink:title="at certificate.go:90: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge7"><a xlink:title="at certificate.go:225: calling [github.com/samber/oops.Errorf]&#10;at certificate.go:230: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M412.4429,-603.1028C417.6888,-606.717 422.4837,-610.9845 426.2344,-616 477.9681,-685.1791 404.681,-742.5816 462.2344,-807 482.3562,-829.5219 496.9762,-827 527.1776,-827 527.1776,-827 527.1776,-827 838.2555,-827 892.3836,-827 911.0871,-833.3108 958.3902,-807 979.5823,-795.2126 974.9259,-780.4634 994.3902,-766 999.1923,-762.4317 1004.4708,-759.1428 1009.898,-756.1486"/> <path fill="none" stroke="#8b4513" d="M887.7152,-112.9032C928.6571,-97.923 986.0139,-76.9368 1023.6641,-63.161"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1011.8343,-759.0879 1019.1142,-751.3903 1008.6229,-752.868 1011.8343,-759.0879"/> <polygon fill="#8b4513" stroke="#8b4513" points="1025.0712,-66.3732 1033.2596,-59.6501 1022.6658,-59.7994 1025.0712,-66.3732"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt</title>
<g id="a_edge14"><a xlink:title="at certificate.go:92: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:95: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge14"><a xlink:title="at certificate.go:233: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]">
<path fill="none" stroke="#8b4513" d="M407.6603,-566.8807C414.1361,-563.3396 420.5513,-559.3561 426.2344,-555 533.9215,-472.4579 518.2914,-405.6694 628.1208,-326 663.5736,-300.2828 674.8227,-287 718.6208,-287 718.6208,-287 718.6208,-287 838.2555,-287 902.192,-287 976.3886,-287 1021.3294,-287"/> <path fill="none" stroke="#8b4513" d="M908.244,-126.0033C932.2872,-124.2868 959.3532,-122.3545 984.017,-120.5936"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1021.5535,-290.5001 1031.5535,-287 1021.5535,-283.5001 1021.5535,-290.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="984.3351,-124.0799 994.0604,-119.8766 983.8365,-117.0977 984.3351,-124.0799"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge26" class="edge"> <g id="edge39" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge26"><a xlink:title="at certificate.go:88: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:89: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]"> <g id="a_edge39"><a xlink:title="at certificate.go:243: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M413.0082,-570.3333C469.9101,-554.0403 568.539,-530 655.1208,-530 655.1208,-530 655.1208,-530 838.2555,-530 904.3689,-530 980.8325,-519.5462 1025.1871,-512.4372"/> <path fill="none" stroke="#8b4513" d="M845.9375,-149.0798C861.787,-186.9105 898.5391,-277.4256 921.3902,-356 921.7264,-357.1562 993.6297,-694.0665 994.3902,-695 998.7149,-700.3083 1004.1684,-704.705 1010.0968,-708.34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1025.9089,-515.8658 1035.2137,-510.7991 1024.7801,-508.9574 1025.9089,-515.8658"/> <polygon fill="#8b4513" stroke="#8b4513" points="1008.5792,-711.4976 1019.0463,-713.1381 1011.8868,-705.3283 1008.5792,-711.4976"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge27" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateDeux&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge27"><a xlink:title="at certificate.go:246: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M908.1164,-143.6497C926.2572,-149.7304 944.5615,-158.7196 958.3902,-172 990.358,-202.7003 962.1796,-234.5546 994.3902,-265 1001.9625,-272.1573 1011.8843,-276.9863 1021.7984,-280.2443"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1021.0486,-283.6691 1031.6227,-283.0067 1022.9434,-276.9305 1021.0486,-283.6691"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length -->
<g id="node12" class="node"> <g id="node10" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length</title>
<g id="a_node12"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length | defined in certificate.go:125&#10;at certificate.go:127: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:129: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:126: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]"> <g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length | defined in certificate.go:125&#10;at certificate.go:127: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:129: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:126: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M857.9142,-658C857.9142,-658 818.5968,-658 818.5968,-658 812.5968,-658 806.5968,-652 806.5968,-646 806.5968,-646 806.5968,-634 806.5968,-634 806.5968,-628 812.5968,-622 818.5968,-622 818.5968,-622 857.9142,-622 857.9142,-622 863.9142,-622 869.9142,-628 869.9142,-634 869.9142,-634 869.9142,-646 869.9142,-646 869.9142,-652 863.9142,-658 857.9142,-658"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M857.9142,-666C857.9142,-666 818.5968,-666 818.5968,-666 812.5968,-666 806.5968,-660 806.5968,-654 806.5968,-654 806.5968,-642 806.5968,-642 806.5968,-636 812.5968,-630 818.5968,-630 818.5968,-630 857.9142,-630 857.9142,-630 863.9142,-630 869.9142,-636 869.9142,-642 869.9142,-642 869.9142,-654 869.9142,-654 869.9142,-660 863.9142,-666 857.9142,-666"/>
<text text-anchor="middle" x="838.2555" y="-635.8" font-family="Verdana" font-size="14.00" fill="#000000">Length</text> <text text-anchor="middle" x="838.2555" y="-643.8" font-family="Verdana" font-size="14.00" fill="#000000">Length</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge4" class="edge"> <g id="edge8" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge4"><a xlink:title="at certificate.go:127: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge8"><a xlink:title="at certificate.go:127: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M870.1456,-650.4926C894.6644,-658.9059 929.174,-671.5035 958.3902,-685 975.0063,-692.6759 978.0005,-696.852 994.3902,-705 999.5701,-707.5752 1005.0212,-710.1687 1010.4894,-712.6951"/> <path fill="none" stroke="#8b4513" d="M870.0649,-657.1505C894.3918,-664.3043 928.6908,-674.7273 958.3902,-685 975.198,-690.8137 993.3464,-697.6116 1009.7037,-703.9367"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1009.1117,-715.9135 1019.6634,-716.8685 1012.0103,-709.5418 1009.1117,-715.9135"/> <polygon fill="#8b4513" stroke="#8b4513" points="1008.5154,-707.23 1019.104,-707.5952 1011.0543,-700.7066 1008.5154,-707.23"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge21" class="edge"> <g id="edge15" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge21"><a xlink:title="at certificate.go:129: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge15"><a xlink:title="at certificate.go:129: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M870.0816,-639.8043C897.4725,-637.8411 936.0133,-630.4773 958.3902,-606 1006.9856,-552.8432 972.2981,-516.55 994.3902,-448 1009.9092,-399.8459 1034.0522,-346.1148 1049.0001,-314.5029"/> <path fill="none" stroke="#8b4513" d="M870.2398,-646.2549C887.181,-643.8062 907.3314,-638.2734 921.3902,-626 927.7074,-620.4851 1018.9507,-394.8409 1051.1873,-314.8006"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1052.18,-315.966 1053.3242,-305.4331 1045.8613,-312.9535 1052.18,-315.966"/> <polygon fill="#8b4513" stroke="#8b4513" points="1054.5008,-315.9419 1054.9885,-305.3583 1048.0072,-313.3277 1054.5008,-315.9419"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int -->
<g id="edge28" class="edge"> <g id="edge36" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title>
<g id="a_edge28"><a xlink:title="at certificate.go:126: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]"> <g id="a_edge36"><a xlink:title="at certificate.go:126: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]">
<path fill="none" stroke="#8b4513" d="M870.1348,-641.9261C896.4488,-641.8439 933.3983,-637.672 958.3902,-618 989.3462,-593.6335 966.668,-564.9907 994.3902,-537 1003.0028,-528.304 1014.5016,-521.8069 1025.5889,-517.0691"/> <path fill="none" stroke="#8b4513" d="M864.0849,-629.8445C894.4986,-608.8505 946.8993,-573.8677 994.3902,-548 1004.4193,-542.5372 1015.5908,-537.1651 1025.9324,-532.4675"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1027.0958,-520.2384 1035.1435,-513.3475 1024.5551,-513.7157 1027.0958,-520.2384"/> <polygon fill="#8b4513" stroke="#8b4513" points="1027.4335,-535.6304 1035.1399,-528.3598 1024.5815,-529.2377 1027.4335,-535.6304"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes -->
<g id="node13" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title>
<g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes | defined in certificate.go:100&#10;at certificate.go:101: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:102: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:104: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:106: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:103: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M543.0641,-660C543.0641,-660 511.2911,-660 511.2911,-660 505.2911,-660 499.2911,-654 499.2911,-648 499.2911,-648 499.2911,-636 499.2911,-636 499.2911,-630 505.2911,-624 511.2911,-624 511.2911,-624 543.0641,-624 543.0641,-624 549.0641,-624 555.0641,-630 555.0641,-636 555.0641,-636 555.0641,-648 555.0641,-648 555.0641,-654 549.0641,-660 543.0641,-660"/>
<text text-anchor="middle" x="527.1776" y="-637.8" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data -->
<g id="node14" class="node"> <g id="node11" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data</title>
<g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data | defined in certificate.go:134&#10;at certificate.go:144: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:135: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length]&#10;at certificate.go:138: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at certificate.go:142: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data | defined in certificate.go:134&#10;at certificate.go:135: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length]&#10;at certificate.go:144: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:138: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at certificate.go:142: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M670.1208,-660C670.1208,-660 640.1208,-660 640.1208,-660 634.1208,-660 628.1208,-654 628.1208,-648 628.1208,-648 628.1208,-636 628.1208,-636 628.1208,-630 634.1208,-624 640.1208,-624 640.1208,-624 670.1208,-624 670.1208,-624 676.1208,-624 682.1208,-630 682.1208,-636 682.1208,-636 682.1208,-648 682.1208,-648 682.1208,-654 676.1208,-660 670.1208,-660"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M670.1208,-666C670.1208,-666 640.1208,-666 640.1208,-666 634.1208,-666 628.1208,-660 628.1208,-654 628.1208,-654 628.1208,-642 628.1208,-642 628.1208,-636 634.1208,-630 640.1208,-630 640.1208,-630 670.1208,-630 670.1208,-630 676.1208,-630 682.1208,-636 682.1208,-642 682.1208,-642 682.1208,-654 682.1208,-654 682.1208,-660 676.1208,-666 670.1208,-666"/>
<text text-anchor="middle" x="655.1208" y="-637.8" font-family="Verdana" font-size="14.00" fill="#000000">Data</text> <text text-anchor="middle" x="655.1208" y="-643.8" font-family="Verdana" font-size="14.00" fill="#000000">Data</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length -->
<g id="edge9" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length</title>
<g id="a_edge9"><a xlink:title="at certificate.go:135: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length]">
<path fill="none" stroke="#000000" d="M682.143,-648C712.169,-648 761.0347,-648 796.0998,-648"/>
<polygon fill="#000000" stroke="#000000" points="796.503,-651.5001 806.5029,-648 796.5029,-644.5001 796.503,-651.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge38" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge38"><a xlink:title="at certificate.go:142: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M682.4043,-657.6911C702.3376,-664.4675 730.1361,-673.2919 755.1208,-679 802.2639,-689.7705 934.1095,-708.0217 1008.8674,-717.9895"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1008.6484,-721.4911 1019.0224,-719.3394 1009.5708,-714.5521 1008.6484,-721.4911"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="edge37" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_edge37"><a xlink:title="at certificate.go:138: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="none" stroke="#8b4513" d="M682.3875,-663.988C702.0815,-675.0131 729.5957,-689.3622 755.1208,-699 842.3604,-731.94 868.9683,-724.5515 958.3902,-751 979.854,-757.3484 1003.5224,-765.2437 1022.8484,-771.9279"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1021.9294,-775.314 1032.5242,-775.2983 1024.2321,-768.7036 1021.9294,-775.314"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge16" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge16"><a xlink:title="at certificate.go:144: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M658.5576,-629.7931C670.1306,-570.4882 709.5214,-384.53 755.1208,-347 790.2822,-318.0609 913.965,-331.0103 958.3902,-321 979.6897,-316.2006 1002.8275,-308.8553 1021.8572,-302.2184"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1023.1499,-305.4736 1031.4026,-298.8296 1020.8079,-298.877 1023.1499,-305.4736"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes -->
<g id="node12" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title>
<g id="a_node12"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes | defined in certificate.go:100&#10;at certificate.go:101: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:102: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:103: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data]&#10;at certificate.go:104: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:106: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M543.0641,-666C543.0641,-666 511.2911,-666 511.2911,-666 505.2911,-666 499.2911,-660 499.2911,-654 499.2911,-654 499.2911,-642 499.2911,-642 499.2911,-636 505.2911,-630 511.2911,-630 511.2911,-630 543.0641,-630 543.0641,-630 549.0641,-630 555.0641,-636 555.0641,-642 555.0641,-642 555.0641,-654 555.0641,-654 555.0641,-660 549.0641,-666 543.0641,-666"/>
<text text-anchor="middle" x="527.1776" y="-643.8" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data -->
<g id="edge40" class="edge"> <g id="edge18" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data</title>
<g id="a_edge40"><a xlink:title="at certificate.go:103: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data]"> <g id="a_edge18"><a xlink:title="at certificate.go:103: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data]">
<path fill="none" stroke="#000000" d="M555.2553,-642C573.6714,-642 597.9555,-642 617.9655,-642"/> <path fill="none" stroke="#000000" d="M555.2553,-648C573.6714,-648 597.9555,-648 617.9655,-648"/>
<polygon fill="#000000" stroke="#000000" points="617.9862,-645.5001 627.9861,-642 617.9861,-638.5001 617.9862,-645.5001"/> <polygon fill="#000000" stroke="#000000" points="617.9862,-651.5001 627.9861,-648 617.9861,-644.5001 617.9862,-651.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge17" class="edge"> <g id="edge21" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge17"><a xlink:title="at certificate.go:104: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge21"><a xlink:title="at certificate.go:104: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M538.0726,-660.1154C557.5309,-689.9121 601.3058,-746 655.1208,-746 655.1208,-746 655.1208,-746 838.2555,-746 896.6216,-746 963.4352,-742.2321 1008.8155,-739.1067"/> <path fill="none" stroke="#8b4513" d="M545.7592,-666.2843C569.1882,-687.3211 611.6811,-719 655.1208,-719 655.1208,-719 655.1208,-719 838.2555,-719 896.5723,-719 963.3943,-721.0552 1008.79,-722.76"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1009.2857,-742.5824 1019.0158,-738.3901 1008.7951,-735.5996 1009.2857,-742.5824"/> <polygon fill="#8b4513" stroke="#8b4513" points="1008.8674,-726.2654 1018.9941,-723.1508 1009.1354,-719.2706 1008.8674,-726.2654"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge20" class="edge"> <g id="edge25" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge20"><a xlink:title="at certificate.go:106: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge25"><a xlink:title="at certificate.go:106: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M533.33,-623.8981C557.2423,-555.1365 646.2578,-314 718.6208,-314 718.6208,-314 718.6208,-314 838.2555,-314 902.7902,-314 977.0323,-302.8281 1021.7903,-294.857"/> <path fill="none" stroke="#8b4513" d="M539.3693,-629.5694C584.2939,-561.7745 738.8297,-329.6601 755.1208,-320 766.4099,-313.3059 940.0128,-297.5598 1021.1524,-290.5147"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1022.4802,-298.289 1031.6944,-293.0593 1021.2301,-291.4016 1022.4802,-298.289"/> <polygon fill="#8b4513" stroke="#8b4513" points="1021.838,-293.9686 1031.4992,-289.62 1021.2348,-286.9946 1021.838,-293.9686"/>
</a> </a>
</g> </g>
</g> </g>
@ -508,108 +490,126 @@
<g id="node22" class="node"> <g id="node22" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title>
<g id="a_node22"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes | defined in integer.go:27"> <g id="a_node22"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes | defined in integer.go:27">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1078.2536,-585C1078.2536,-585 1046.4806,-585 1046.4806,-585 1040.4806,-585 1034.4806,-579 1034.4806,-573 1034.4806,-573 1034.4806,-561 1034.4806,-561 1034.4806,-555 1040.4806,-549 1046.4806,-549 1046.4806,-549 1078.2536,-549 1078.2536,-549 1084.2536,-549 1090.2536,-555 1090.2536,-561 1090.2536,-561 1090.2536,-573 1090.2536,-573 1090.2536,-579 1084.2536,-585 1078.2536,-585"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1078.2536,-596C1078.2536,-596 1046.4806,-596 1046.4806,-596 1040.4806,-596 1034.4806,-590 1034.4806,-584 1034.4806,-584 1034.4806,-572 1034.4806,-572 1034.4806,-566 1040.4806,-560 1046.4806,-560 1046.4806,-560 1078.2536,-560 1078.2536,-560 1084.2536,-560 1090.2536,-566 1090.2536,-572 1090.2536,-572 1090.2536,-584 1090.2536,-584 1090.2536,-590 1084.2536,-596 1078.2536,-596"/>
<text text-anchor="middle" x="1062.3671" y="-571.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text> <text text-anchor="middle" x="1062.3671" y="-582.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
<text text-anchor="middle" x="1062.3671" y="-554.4" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text> <text text-anchor="middle" x="1062.3671" y="-565.4" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes -->
<g id="edge7" class="edge"> <g id="edge17" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title>
<g id="a_edge7"><a xlink:title="at certificate.go:101: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:102: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]"> <g id="a_edge17"><a xlink:title="at certificate.go:101: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:102: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]">
<path fill="none" stroke="#8b4513" d="M550.7367,-623.9664C575.3744,-606.9403 615.8559,-584 655.1208,-584 655.1208,-584 655.1208,-584 838.2555,-584 903.8206,-584 979.867,-576.6762 1024.3892,-571.6427"/> <path fill="none" stroke="#8b4513" d="M555.0762,-638.0068C575.1324,-631.2441 602.9632,-622.7139 628.1208,-618 772.8777,-590.8763 811.8943,-606.1391 958.3902,-591 980.1715,-588.7491 1004.4569,-585.7409 1024.0763,-583.1852"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1024.9341,-575.1032 1034.4676,-570.4812 1024.1326,-568.1492 1024.9341,-575.1032"/> <polygon fill="#8b4513" stroke="#8b4513" points="1024.7029,-586.633 1034.1607,-581.8581 1023.7895,-579.6928 1024.7029,-586.633"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length -->
<g id="edge33" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length</title>
<g id="a_edge33"><a xlink:title="at certificate.go:135: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Length]">
<path fill="none" stroke="#000000" d="M682.143,-641.7049C712.169,-641.377 761.0347,-640.8433 796.0998,-640.4604"/>
<polygon fill="#000000" stroke="#000000" points="796.5418,-643.9559 806.5029,-640.3468 796.4653,-636.9563 796.5418,-643.9559"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge39" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge39"><a xlink:title="at certificate.go:142: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M682.5443,-650.6212C702.5455,-656.745 730.3675,-664.9255 755.1208,-671 844.6265,-692.9647 868.2222,-692.9355 958.3902,-712 974.9422,-715.4996 992.9464,-719.4361 1009.2498,-723.05"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1008.6317,-726.498 1019.153,-725.2517 1010.1509,-719.6648 1008.6317,-726.498"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="edge38" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_edge38"><a xlink:title="at certificate.go:138: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="none" stroke="#8b4513" d="M682.4754,-659.4082C701.9853,-671.0136 729.2429,-685.6242 755.1208,-694 842.0038,-722.121 878.4401,-679.8704 958.3902,-724 979.9145,-735.8806 974.6541,-751.3395 994.3902,-766 1003.0223,-772.4122 1013.2404,-777.8294 1023.0964,-782.2196"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1021.7961,-785.4696 1032.3713,-786.1132 1024.5056,-779.0153 1021.7961,-785.4696"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge22" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Data&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge22"><a xlink:title="at certificate.go:144: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M658.6792,-623.6727C670.4777,-564.8716 710.1259,-382.6608 755.1208,-346 790.4034,-317.2525 913.9679,-330.8966 958.3902,-321 979.7013,-316.2522 1002.8402,-308.9121 1021.8677,-302.2654"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1023.1632,-305.5195 1031.4117,-298.8702 1020.817,-298.9244 1023.1632,-305.5195"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).length --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).length -->
<g id="node15" class="node"> <g id="node13" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).length</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).length</title>
<g id="a_node15"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).length | defined in certificate.go:110&#10;at certificate.go:111: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]"> <g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).length | defined in certificate.go:110&#10;at certificate.go:111: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M383.1355,-664C383.1355,-664 348.1439,-664 348.1439,-664 342.1439,-664 336.1439,-658 336.1439,-652 336.1439,-652 336.1439,-640 336.1439,-640 336.1439,-634 342.1439,-628 348.1439,-628 348.1439,-628 383.1355,-628 383.1355,-628 389.1355,-628 395.1355,-634 395.1355,-640 395.1355,-640 395.1355,-652 395.1355,-652 395.1355,-658 389.1355,-664 383.1355,-664"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M383.1355,-666C383.1355,-666 348.1439,-666 348.1439,-666 342.1439,-666 336.1439,-660 336.1439,-654 336.1439,-654 336.1439,-642 336.1439,-642 336.1439,-636 342.1439,-630 348.1439,-630 348.1439,-630 383.1355,-630 383.1355,-630 389.1355,-630 395.1355,-636 395.1355,-642 395.1355,-642 395.1355,-654 395.1355,-654 395.1355,-660 389.1355,-666 383.1355,-666"/>
<text text-anchor="middle" x="365.6397" y="-641.8" font-family="Verdana" font-size="14.00" fill="#000000">length</text> <text text-anchor="middle" x="365.6397" y="-643.8" font-family="Verdana" font-size="14.00" fill="#000000">length</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).length&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).length&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes -->
<g id="edge1" class="edge"> <g id="edge2" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).length&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).length&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title>
<g id="a_edge1"><a xlink:title="at certificate.go:111: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]"> <g id="a_edge2"><a xlink:title="at certificate.go:111: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]">
<path fill="none" stroke="#000000" d="M395.2682,-645.2663C421.6326,-644.6135 460.3466,-643.6549 489.0205,-642.9448"/> <path fill="none" stroke="#000000" d="M395.2682,-648C421.6326,-648 460.3466,-648 489.0205,-648"/>
<polygon fill="#000000" stroke="#000000" points="489.1786,-646.4421 499.0889,-642.6955 489.0053,-639.4442 489.1786,-646.4421"/> <polygon fill="#000000" stroke="#000000" points="489.0889,-651.5001 499.0889,-648 489.0888,-644.5001 489.0889,-651.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge30" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge30"><a xlink:title="at certificate.go:90: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M412.5676,-544.0107C417.7937,-547.6396 422.5498,-551.9357 426.2344,-557 485.2988,-638.1814 396.3344,-704.2623 462.2344,-780 482.0589,-802.784 496.9762,-800 527.1776,-800 527.1776,-800 527.1776,-800 838.2555,-800 892.3836,-800 908.0531,-799.9004 958.3902,-780 976.273,-772.9302 977.5883,-765.3527 994.3902,-756 999.5451,-753.1306 1005.014,-750.3022 1010.5228,-747.5908"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1012.2784,-750.6307 1019.7827,-743.1517 1009.2523,-744.3185 1012.2784,-750.6307"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge6" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge6"><a xlink:title="at certificate.go:92: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:95: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M405.4356,-507.8408C412.5122,-504.1802 419.7033,-500.1675 426.2344,-496 562.2814,-409.1877 562.5915,-323.0791 718.1208,-280 824.2056,-250.6162 955.7957,-267.1277 1021.3056,-278.7111"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1020.7729,-282.1715 1031.2382,-280.52 1022.0271,-275.2848 1020.7729,-282.1715"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int -->
<g id="edge20" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).ExcessBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title>
<g id="a_edge20"><a xlink:title="at certificate.go:88: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]&#10;at certificate.go:89: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]">
<path fill="none" stroke="#8b4513" d="M412.9808,-525.3885C543.5153,-523.7023 906.6987,-519.0109 1024.7631,-517.4858"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1025.1354,-520.9813 1035.0893,-517.3524 1025.0449,-513.9819 1025.1354,-520.9813"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge32" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge32"><a xlink:title="at certificate.go:118: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M392.6545,-473.715C404.3228,-478.6537 417.3145,-485.9052 426.2344,-496 512.9968,-594.1905 396.1467,-773 527.1776,-773 527.1776,-773 527.1776,-773 838.2555,-773 897.8141,-773 964.3408,-756.5908 1009.3268,-742.9609"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1010.6311,-746.2212 1019.1517,-739.9244 1008.5641,-739.5333 1010.6311,-746.2212"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge33" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge33"><a xlink:title="at certificate.go:120: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M392.8289,-459.1026C403.9921,-455.721 416.5427,-450.5915 426.2344,-443 472.1347,-407.0463 457.8603,-375.0815 499.2344,-334 547.9268,-285.6519 563.1359,-271.033 628.1208,-249 664.8556,-236.5452 929.1911,-213.2157 958.3902,-226 979.9989,-235.461 974.5202,-252.2867 994.3902,-265 1002.6878,-270.309 1012.3789,-274.4413 1021.8004,-277.616"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1020.8641,-280.9898 1031.4513,-280.5869 1022.9237,-274.2996 1020.8641,-280.9898"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int -->
<g id="edge31" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Type&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title>
<g id="a_edge31"><a xlink:title="at certificate.go:117: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]">
<path fill="none" stroke="#8b4513" d="M392.9111,-456.9816C403.603,-453.3592 415.7874,-448.6212 426.2344,-443 475.4534,-416.5169 471.2861,-368 527.1776,-368 527.1776,-368 527.1776,-368 655.1208,-368 708.3726,-368 706.5758,-412.1107 755.1208,-434 847.7784,-475.78 965.9196,-500.3729 1025.077,-510.9061"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1024.6235,-514.3798 1035.0765,-512.652 1025.8276,-507.4841 1024.6235,-514.3798"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes -->
<g id="node16" class="node"> <g id="node16" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes</title>
<g id="a_node16"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes | defined in certificate.go:76&#10;at certificate.go:80: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at certificate.go:77: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:78: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_node16"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes | defined in certificate.go:76&#10;at certificate.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at certificate.go:77: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:78: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:80: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M394.1852,-542C394.1852,-542 337.0942,-542 337.0942,-542 331.0942,-542 325.0942,-536 325.0942,-530 325.0942,-530 325.0942,-518 325.0942,-518 325.0942,-512 331.0942,-506 337.0942,-506 337.0942,-506 394.1852,-506 394.1852,-506 400.1852,-506 406.1852,-512 406.1852,-518 406.1852,-518 406.1852,-530 406.1852,-530 406.1852,-536 400.1852,-542 394.1852,-542"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M394.1852,-605C394.1852,-605 337.0942,-605 337.0942,-605 331.0942,-605 325.0942,-599 325.0942,-593 325.0942,-593 325.0942,-581 325.0942,-581 325.0942,-575 331.0942,-569 337.0942,-569 337.0942,-569 394.1852,-569 394.1852,-569 400.1852,-569 406.1852,-575 406.1852,-581 406.1852,-581 406.1852,-593 406.1852,-593 406.1852,-599 400.1852,-605 394.1852,-605"/>
<text text-anchor="middle" x="365.6397" y="-519.8" font-family="Verdana" font-size="14.00" fill="#000000">RawBytes</text> <text text-anchor="middle" x="365.6397" y="-582.8" font-family="Verdana" font-size="14.00" fill="#000000">RawBytes</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge2" class="edge"> <g id="edge40" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge2"><a xlink:title="at certificate.go:80: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge40"><a xlink:title="at certificate.go:80: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M406.4903,-538.1767C414.0585,-542.5016 421.1643,-548.0211 426.2344,-555 485.7578,-636.9327 395.8117,-703.5537 462.2344,-780 482.043,-802.7978 496.9762,-800 527.1776,-800 527.1776,-800 527.1776,-800 838.2555,-800 892.3836,-800 906.4717,-795.3072 958.3902,-780 969.5746,-776.7025 992.7016,-766.8071 1014.3102,-757.1326"/> <path fill="none" stroke="#8b4513" d="M406.333,-601.2928C413.9118,-605.6099 421.0617,-611.0968 426.2344,-618 477.5109,-686.4304 405.2015,-743.2877 462.2344,-807 482.3778,-829.5025 496.9762,-827 527.1776,-827 527.1776,-827 527.1776,-827 838.2555,-827 892.3836,-827 912.5458,-835.7773 958.3902,-807 981.8891,-792.2494 973.0274,-773.7034 994.3902,-756 999.1747,-752.0351 1004.549,-748.4685 1010.1248,-745.2901"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1015.7592,-760.3187 1023.4388,-753.0198 1012.8837,-753.9365 1015.7592,-760.3187"/> <polygon fill="#8b4513" stroke="#8b4513" points="1011.7827,-748.3727 1018.9968,-740.6134 1008.5185,-742.1803 1011.7827,-748.3727"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge29" class="edge"> <g id="edge24" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge29"><a xlink:title="at certificate.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge24"><a xlink:title="at certificate.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M406.2566,-506.4C413.1761,-502.7071 420.1012,-498.539 426.2344,-494 560.0228,-394.9872 552.179,-260 718.6208,-260 718.6208,-260 718.6208,-260 838.2555,-260 902.7902,-260 977.0323,-271.1719 1021.7903,-279.143"/> <path fill="none" stroke="#8b4513" d="M404.2549,-568.9863C411.6595,-565.2239 419.2712,-561.1374 426.2344,-557 443.513,-546.7335 447.2136,-543.1361 463.2344,-531 596.6603,-429.9276 597.9858,-350.6775 755.1208,-293 802.7976,-275.4999 949.494,-280.7109 1021.5592,-284.5316"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1021.2301,-282.5984 1031.6944,-280.9407 1022.4802,-275.711 1021.2301,-282.5984"/> <polygon fill="#8b4513" stroke="#8b4513" points="1021.4534,-288.031 1031.6296,-285.0824 1021.8357,-281.0414 1021.4534,-288.031"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes -->
<g id="edge23" class="edge"> <g id="edge35" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).RawBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title>
<g id="a_edge23"><a xlink:title="at certificate.go:77: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:78: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]"> <g id="a_edge35"><a xlink:title="at certificate.go:77: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at certificate.go:78: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]">
<path fill="none" stroke="#8b4513" d="M406.3182,-524.8042C444.7019,-525.6777 503.8473,-527.3193 555.1208,-530 730.5838,-539.1735 939.7486,-556.4412 1024.2079,-563.6772"/> <path fill="none" stroke="#8b4513" d="M406.3658,-586.4739C530.5398,-584.8699 903.2432,-580.0555 1024.087,-578.4945"/>
<polygon fill="#8b4513" stroke="#8b4513" points="1024.085,-567.1794 1034.3481,-564.5492 1024.6847,-560.2052 1024.085,-567.1794"/> <polygon fill="#8b4513" stroke="#8b4513" points="1024.3727,-581.9912 1034.3266,-578.3622 1024.2822,-574.9918 1024.3727,-581.9912"/>
</a> </a>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 61 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 146 KiB

After

Width:  |  Height:  |  Size: 147 KiB

View File

@ -54,29 +54,67 @@
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString | defined in base32.go:16"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString | defined in base64.go:16">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M321.8244,-563C321.8244,-563 230.3062,-563 230.3062,-563 224.3062,-563 218.3062,-557 218.3062,-551 218.3062,-551 218.3062,-539 218.3062,-539 218.3062,-533 224.3062,-527 230.3062,-527 230.3062,-527 321.8244,-527 321.8244,-527 327.8244,-527 333.8244,-533 333.8244,-539 333.8244,-539 333.8244,-551 333.8244,-551 333.8244,-557 327.8244,-563 321.8244,-563"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M321.8244,-563C321.8244,-563 230.3062,-563 230.3062,-563 224.3062,-563 218.3062,-557 218.3062,-551 218.3062,-551 218.3062,-539 218.3062,-539 218.3062,-533 224.3062,-527 230.3062,-527 230.3062,-527 321.8244,-527 321.8244,-527 327.8244,-527 333.8244,-533 333.8244,-539 333.8244,-539 333.8244,-551 333.8244,-551 333.8244,-557 327.8244,-563 321.8244,-563"/>
<text text-anchor="middle" x="276.0653" y="-549.2" font-family="Verdana" font-size="14.00" fill="#000000">base32</text> <text text-anchor="middle" x="276.0653" y="-549.2" font-family="Verdana" font-size="14.00" fill="#000000">base64</text>
<text text-anchor="middle" x="276.0653" y="-532.4" font-family="Verdana" font-size="14.00" fill="#000000">EncodeToString</text> <text text-anchor="middle" x="276.0653" y="-532.4" font-family="Verdana" font-size="14.00" fill="#000000">EncodeToString</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.init -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.init</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.init | defined in .:0&#10;at destination.go:17: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M94.5407,-52C94.5407,-52 64.5407,-52 64.5407,-52 58.5407,-52 52.5407,-46 52.5407,-40 52.5407,-40 52.5407,-28 52.5407,-28 52.5407,-22 58.5407,-16 64.5407,-16 64.5407,-16 94.5407,-16 94.5407,-16 100.5407,-16 106.5407,-22 106.5407,-28 106.5407,-28 106.5407,-40 106.5407,-40 106.5407,-46 100.5407,-52 94.5407,-52"/>
<text text-anchor="middle" x="79.5407" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M324.7548,-52C324.7548,-52 227.3758,-52 227.3758,-52 221.3758,-52 215.3758,-46 215.3758,-40 215.3758,-40 215.3758,-28 215.3758,-28 215.3758,-22 221.3758,-16 227.3758,-16 227.3758,-16 324.7548,-16 324.7548,-16 330.7548,-16 336.7548,-22 336.7548,-28 336.7548,-28 336.7548,-40 336.7548,-40 336.7548,-46 330.7548,-52 324.7548,-52"/>
<text text-anchor="middle" x="276.0653" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="276.0653" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge14" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge14"><a xlink:title="at destination.go:17: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M106.8666,-34C132.1954,-34 170.9888,-34 205.043,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="205.4392,-37.5001 215.4392,-34 205.4392,-30.5001 205.4392,-37.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString | defined in base32.go:16">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M321.8244,-252C321.8244,-252 230.3062,-252 230.3062,-252 224.3062,-252 218.3062,-246 218.3062,-240 218.3062,-240 218.3062,-228 218.3062,-228 218.3062,-222 224.3062,-216 230.3062,-216 230.3062,-216 321.8244,-216 321.8244,-216 327.8244,-216 333.8244,-222 333.8244,-228 333.8244,-228 333.8244,-240 333.8244,-240 333.8244,-246 327.8244,-252 321.8244,-252"/>
<text text-anchor="middle" x="276.0653" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">base32</text>
<text text-anchor="middle" x="276.0653" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">EncodeToString</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination -->
<g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination | defined in destination.go:72&#10;at destination.go:73: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at destination.go:82: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at destination.go:75: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:84: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:77: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]"> <g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination | defined in destination.go:72&#10;at destination.go:77: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]&#10;at destination.go:73: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at destination.go:82: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at destination.go:75: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:84: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M126.3497,-191C126.3497,-191 32.7317,-191 32.7317,-191 26.7317,-191 20.7317,-185 20.7317,-179 20.7317,-179 20.7317,-167 20.7317,-167 20.7317,-161 26.7317,-155 32.7317,-155 32.7317,-155 126.3497,-155 126.3497,-155 132.3497,-155 138.3497,-161 138.3497,-167 138.3497,-167 138.3497,-179 138.3497,-179 138.3497,-185 132.3497,-191 126.3497,-191"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M126.3497,-191C126.3497,-191 32.7317,-191 32.7317,-191 26.7317,-191 20.7317,-185 20.7317,-179 20.7317,-179 20.7317,-167 20.7317,-167 20.7317,-161 26.7317,-155 32.7317,-155 32.7317,-155 126.3497,-155 126.3497,-155 132.3497,-155 138.3497,-161 138.3497,-167 138.3497,-167 138.3497,-179 138.3497,-179 138.3497,-185 132.3497,-191 126.3497,-191"/>
<text text-anchor="middle" x="79.5407" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadDestination</text> <text text-anchor="middle" x="79.5407" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadDestination</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
<g id="node3" class="node"> <g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert | defined in keys_and_cert.go:145"> <g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert | defined in keys_and_cert.go:145">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M328.8062,-113C328.8062,-113 223.3244,-113 223.3244,-113 217.3244,-113 211.3244,-107 211.3244,-101 211.3244,-101 211.3244,-89 211.3244,-89 211.3244,-83 217.3244,-77 223.3244,-77 223.3244,-77 328.8062,-77 328.8062,-77 334.8062,-77 340.8062,-83 340.8062,-89 340.8062,-89 340.8062,-101 340.8062,-101 340.8062,-107 334.8062,-113 328.8062,-113"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M328.8062,-113C328.8062,-113 223.3244,-113 223.3244,-113 217.3244,-113 211.3244,-107 211.3244,-101 211.3244,-101 211.3244,-89 211.3244,-89 211.3244,-83 217.3244,-77 223.3244,-77 223.3244,-77 328.8062,-77 328.8062,-77 334.8062,-77 340.8062,-83 340.8062,-89 340.8062,-89 340.8062,-101 340.8062,-101 340.8062,-107 334.8062,-113 328.8062,-113"/>
<text text-anchor="middle" x="276.0653" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text> <text text-anchor="middle" x="276.0653" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
<text text-anchor="middle" x="276.0653" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCert</text> <text text-anchor="middle" x="276.0653" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCert</text>
@ -84,9 +122,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
<g id="edge9" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
<g id="a_edge9"><a xlink:title="at destination.go:77: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]"> <g id="a_edge3"><a xlink:title="at destination.go:77: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]">
<path fill="none" stroke="#8b4513" d="M119.8466,-154.9251C145.7433,-143.5438 180.215,-128.8228 211.195,-117 211.5179,-116.8768 211.8418,-116.7535 212.1667,-116.6302"/> <path fill="none" stroke="#8b4513" d="M119.8466,-154.9251C145.7433,-143.5438 180.215,-128.8228 211.195,-117 211.5179,-116.8768 211.8418,-116.7535 212.1667,-116.6302"/>
<polygon fill="#8b4513" stroke="#8b4513" points="213.6372,-119.8181 221.8003,-113.0642 211.2071,-113.2534 213.6372,-119.8181"/> <polygon fill="#8b4513" stroke="#8b4513" points="213.6372,-119.8181 221.8003,-113.0642 211.2071,-113.2534 213.6372,-119.8181"/>
</a> </a>
@ -103,9 +141,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge3" class="edge"> <g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge3"><a xlink:title="at destination.go:73: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at destination.go:82: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge10"><a xlink:title="at destination.go:73: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at destination.go:82: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M95.6552,-191.3454C118.8737,-216.761 164.144,-262.6371 211.195,-290 215.0581,-292.2466 219.1849,-294.3077 223.4146,-296.1894"/> <path fill="none" stroke="#8b4513" d="M95.6552,-191.3454C118.8737,-216.761 164.144,-262.6371 211.195,-290 215.0581,-292.2466 219.1849,-294.3077 223.4146,-296.1894"/>
<polygon fill="#8b4513" stroke="#8b4513" points="222.196,-299.4724 232.7765,-300.0243 224.8495,-292.9948 222.196,-299.4724"/> <polygon fill="#8b4513" stroke="#8b4513" points="222.196,-299.4724 232.7765,-300.0243 224.8495,-292.9948 222.196,-299.4724"/>
</a> </a>
@ -122,52 +160,14 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge8" class="edge"> <g id="edge11" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge8"><a xlink:title="at destination.go:75: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:84: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge11"><a xlink:title="at destination.go:75: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:84: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M138.2384,-173C169.429,-173 207.0043,-173 235.0381,-173"/> <path fill="none" stroke="#8b4513" d="M138.2384,-173C169.429,-173 207.0043,-173 235.0381,-173"/>
<polygon fill="#8b4513" stroke="#8b4513" points="235.282,-176.5001 245.282,-173 235.2819,-169.5001 235.282,-176.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="235.282,-176.5001 245.282,-173 235.2819,-169.5001 235.282,-176.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.init -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.init</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.init | defined in .:0&#10;at destination.go:17: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M94.5407,-52C94.5407,-52 64.5407,-52 64.5407,-52 58.5407,-52 52.5407,-46 52.5407,-40 52.5407,-40 52.5407,-28 52.5407,-28 52.5407,-22 58.5407,-16 64.5407,-16 64.5407,-16 94.5407,-16 94.5407,-16 100.5407,-16 106.5407,-22 106.5407,-28 106.5407,-28 106.5407,-40 106.5407,-40 106.5407,-46 100.5407,-52 94.5407,-52"/>
<text text-anchor="middle" x="79.5407" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node5" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M324.7548,-52C324.7548,-52 227.3758,-52 227.3758,-52 221.3758,-52 215.3758,-46 215.3758,-40 215.3758,-40 215.3758,-28 215.3758,-28 215.3758,-22 221.3758,-16 227.3758,-16 227.3758,-16 324.7548,-16 324.7548,-16 330.7548,-16 336.7548,-22 336.7548,-28 336.7548,-28 336.7548,-40 336.7548,-40 336.7548,-46 330.7548,-52 324.7548,-52"/>
<text text-anchor="middle" x="276.0653" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="276.0653" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge10"><a xlink:title="at destination.go:17: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M106.8666,-34C132.1954,-34 170.9888,-34 205.043,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="205.4392,-37.5001 215.4392,-34 205.4392,-30.5001 205.4392,-37.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString -->
<g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString | defined in base64.go:16">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M321.8244,-252C321.8244,-252 230.3062,-252 230.3062,-252 224.3062,-252 218.3062,-246 218.3062,-240 218.3062,-240 218.3062,-228 218.3062,-228 218.3062,-222 224.3062,-216 230.3062,-216 230.3062,-216 321.8244,-216 321.8244,-216 327.8244,-216 333.8244,-222 333.8244,-228 333.8244,-228 333.8244,-240 333.8244,-240 333.8244,-246 327.8244,-252 321.8244,-252"/>
<text text-anchor="middle" x="276.0653" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">base64</text>
<text text-anchor="middle" x="276.0653" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">EncodeToString</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title>
@ -188,39 +188,93 @@
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64 -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64</title>
<g id="a_node11"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address | defined in destination.go:38&#10;at destination.go:42: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]&#10;at destination.go:47: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at destination.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:49: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:41: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]&#10;at destination.go:44: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString]"> <g id="a_node11"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64 | defined in destination.go:55&#10;at destination.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:64: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:58: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]&#10;at destination.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at destination.go:59: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]&#10;at destination.go:60: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M123.1221,-426C123.1221,-426 35.9593,-426 35.9593,-426 29.9593,-426 23.9593,-420 23.9593,-414 23.9593,-414 23.9593,-402 23.9593,-402 23.9593,-396 29.9593,-390 35.9593,-390 35.9593,-390 123.1221,-390 123.1221,-390 129.1221,-390 135.1221,-396 135.1221,-402 135.1221,-402 135.1221,-414 135.1221,-414 135.1221,-420 129.1221,-426 123.1221,-426"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M100.2514,-426C100.2514,-426 58.83,-426 58.83,-426 52.83,-426 46.83,-420 46.83,-414 46.83,-414 46.83,-402 46.83,-402 46.83,-396 52.83,-390 58.83,-390 58.83,-390 100.2514,-390 100.2514,-390 106.2514,-390 112.2514,-396 112.2514,-402 112.2514,-402 112.2514,-414 112.2514,-414 112.2514,-420 106.2514,-426 100.2514,-426"/>
<text text-anchor="middle" x="79.5407" y="-403.8" font-family="Verdana" font-size="14.00" fill="#000000">Base32Address</text> <text text-anchor="middle" x="79.5407" y="-403.8" font-family="Verdana" font-size="14.00" fill="#000000">Base64</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString -->
<g id="edge12" class="edge"> <g id="edge13" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString</title>
<g id="a_edge12"><a xlink:title="at destination.go:44: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString]"> <g id="a_edge13"><a xlink:title="at destination.go:60: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString]">
<path fill="none" stroke="#8b4513" d="M98.3658,-426.2155C122.8623,-449.2395 167.6924,-489.1061 211.195,-516 214.7364,-518.1894 218.4716,-520.3055 222.2878,-522.3296"/> <path fill="none" stroke="#8b4513" d="M98.3658,-426.2155C122.8623,-449.2395 167.6924,-489.1061 211.195,-516 214.7364,-518.1894 218.4716,-520.3055 222.2878,-522.3296"/>
<polygon fill="#8b4513" stroke="#8b4513" points="220.7827,-525.4905 231.2865,-526.8769 223.9399,-519.2429 220.7827,-525.4905"/> <polygon fill="#8b4513" stroke="#8b4513" points="220.7827,-525.4905 231.2865,-526.8769 223.9399,-519.2429 220.7827,-525.4905"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes -->
<g id="edge1" class="edge"> <g id="edge12" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title>
<g id="a_edge1"><a xlink:title="at destination.go:42: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]"> <g id="a_edge12"><a xlink:title="at destination.go:59: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]">
<path fill="none" stroke="#8b4513" d="M135.3003,-423.7554C148.355,-425.819 162.2348,-426.7045 175.195,-425 192.0147,-422.7879 210.016,-418.5853 226.0877,-414.143"/> <path fill="none" stroke="#8b4513" d="M112.1879,-418.8431C130.6228,-423.6963 154.1242,-427.7712 175.195,-425 192.0147,-422.7879 210.016,-418.5853 226.0877,-414.143"/>
<polygon fill="#8b4513" stroke="#8b4513" points="227.1646,-417.4754 235.8175,-411.3617 225.2406,-410.745 227.1646,-417.4754"/> <polygon fill="#8b4513" stroke="#8b4513" points="227.1646,-417.4754 235.8175,-411.3617 225.2406,-410.745 227.1646,-417.4754"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
<g id="edge5" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
<g id="a_edge5"><a xlink:title="at destination.go:58: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]">
<path fill="none" stroke="#8b4513" d="M112.4345,-420.7207C141.699,-432.0378 185.1203,-448.8298 219.8807,-462.2723"/>
<polygon fill="#8b4513" stroke="#8b4513" points="218.8469,-465.6251 229.4362,-465.9676 221.3718,-459.0963 218.8469,-465.6251"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge6" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge6"><a xlink:title="at destination.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M112.4292,-411.4826C132.0464,-411.9602 156.6597,-409.6138 175.195,-398 200.9047,-381.8908 188.214,-359.8083 211.195,-340 215.0451,-336.6814 219.3484,-333.7036 223.8574,-331.0431"/>
<polygon fill="#8b4513" stroke="#8b4513" points="225.5446,-334.1099 232.7168,-326.3118 222.247,-327.9353 225.5446,-334.1099"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge4" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge4"><a xlink:title="at destination.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:64: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M112.3758,-398.1648C123.3279,-393.5268 134.8287,-386.9839 143.0814,-378 201.7913,-314.0883 148.9351,-255.4587 211.195,-195 217.9616,-188.4291 226.762,-183.8181 235.6865,-180.5832"/>
<polygon fill="#8b4513" stroke="#8b4513" points="236.8188,-183.8965 245.3289,-177.5856 234.7406,-177.2121 236.8188,-183.8965"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address -->
<g id="node12" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address</title>
<g id="a_node12"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address | defined in destination.go:38&#10;at destination.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:49: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:47: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at destination.go:41: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]&#10;at destination.go:42: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]&#10;at destination.go:44: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M123.1221,-365C123.1221,-365 35.9593,-365 35.9593,-365 29.9593,-365 23.9593,-359 23.9593,-353 23.9593,-353 23.9593,-341 23.9593,-341 23.9593,-335 29.9593,-329 35.9593,-329 35.9593,-329 123.1221,-329 123.1221,-329 129.1221,-329 135.1221,-335 135.1221,-341 135.1221,-341 135.1221,-353 135.1221,-353 135.1221,-359 129.1221,-365 123.1221,-365"/>
<text text-anchor="middle" x="79.5407" y="-342.8" font-family="Verdana" font-size="14.00" fill="#000000">Base32Address</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString -->
<g id="edge9" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString</title>
<g id="a_edge9"><a xlink:title="at destination.go:44: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/base32.EncodeToString]">
<path fill="none" stroke="#8b4513" d="M135.3517,-329.3908C138.0203,-328.0191 140.6127,-326.5566 143.0814,-325 176.9686,-303.632 175.1512,-282.1226 209.631,-257.6621"/>
<polygon fill="#8b4513" stroke="#8b4513" points="211.6947,-260.4935 218.1081,-252.0603 207.8355,-254.6534 211.6947,-260.4935"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes -->
<g id="edge8" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title>
<g id="a_edge8"><a xlink:title="at destination.go:42: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]">
<path fill="none" stroke="#8b4513" d="M135.1378,-350.1402C148.3907,-351.6214 162.3985,-353.799 175.195,-357 193.2842,-361.5249 212.4093,-368.65 229.0864,-375.6996"/>
<polygon fill="#8b4513" stroke="#8b4513" points="228.0292,-379.056 238.5963,-379.8214 230.8129,-372.6333 228.0292,-379.056"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
<g id="a_edge7"><a xlink:title="at destination.go:41: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]"> <g id="a_edge7"><a xlink:title="at destination.go:41: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]">
<path fill="none" stroke="#8b4513" d="M126.1143,-426.0109C154.2801,-436.9032 190.3668,-450.8587 220.0806,-462.3496"/> <path fill="none" stroke="#8b4513" d="M119.9234,-365.0468C127.7753,-369.014 135.8175,-373.4111 143.0814,-378 163.9636,-391.1922 214.3577,-432.4214 246.7655,-459.4025"/>
<polygon fill="#8b4513" stroke="#8b4513" points="218.8966,-465.6443 229.4859,-465.9868 221.4214,-459.1155 218.8966,-465.6443"/> <polygon fill="#8b4513" stroke="#8b4513" points="244.6676,-462.2104 254.5883,-465.9293 249.1521,-456.8354 244.6676,-462.2104"/>
</a> </a>
</g> </g>
</g> </g>
@ -228,70 +282,16 @@
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge2"><a xlink:title="at destination.go:47: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge2"><a xlink:title="at destination.go:47: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M135.4607,-410.5532C149.2676,-408.9965 163.4512,-405.3584 175.195,-398 200.9047,-381.8908 188.214,-359.8083 211.195,-340 215.0451,-336.6814 219.3484,-333.7036 223.8574,-331.0431"/> <path fill="none" stroke="#8b4513" d="M135.0927,-336.9958C147.9322,-334.6911 161.5384,-332.2547 174.195,-330 190.0047,-327.1835 207.1979,-324.1387 222.8796,-321.3685"/>
<polygon fill="#8b4513" stroke="#8b4513" points="225.5446,-334.1099 232.7168,-326.3118 222.247,-327.9353 225.5446,-334.1099"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge6" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge6"><a xlink:title="at destination.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:49: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M128.4239,-389.9118C133.8188,-386.5287 138.8725,-382.5818 143.0814,-378 201.7913,-314.0883 148.9351,-255.4587 211.195,-195 217.9616,-188.4291 226.762,-183.8181 235.6865,-180.5832"/>
<polygon fill="#8b4513" stroke="#8b4513" points="236.8188,-183.8965 245.3289,-177.5856 234.7406,-177.2121 236.8188,-183.8965"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64 -->
<g id="node12" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64</title>
<g id="a_node12"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64 | defined in destination.go:55&#10;at destination.go:58: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]&#10;at destination.go:60: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString]&#10;at destination.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:64: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:59: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]&#10;at destination.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M100.2514,-365C100.2514,-365 58.83,-365 58.83,-365 52.83,-365 46.83,-359 46.83,-353 46.83,-353 46.83,-341 46.83,-341 46.83,-335 52.83,-329 58.83,-329 58.83,-329 100.2514,-329 100.2514,-329 106.2514,-329 112.2514,-335 112.2514,-341 112.2514,-341 112.2514,-353 112.2514,-353 112.2514,-359 106.2514,-365 100.2514,-365"/>
<text text-anchor="middle" x="79.5407" y="-342.8" font-family="Verdana" font-size="14.00" fill="#000000">Base64</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString -->
<g id="edge5" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString</title>
<g id="a_edge5"><a xlink:title="at destination.go:60: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/base64.EncodeToString]">
<path fill="none" stroke="#8b4513" d="M112.1939,-338.8592C122.5317,-335.4699 133.7005,-330.9153 143.0814,-325 176.9686,-303.632 175.1512,-282.1226 209.631,-257.6621"/>
<polygon fill="#8b4513" stroke="#8b4513" points="211.6947,-260.4935 218.1081,-252.0603 207.8355,-254.6534 211.6947,-260.4935"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes -->
<g id="edge13" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title>
<g id="a_edge13"><a xlink:title="at destination.go:59: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]">
<path fill="none" stroke="#8b4513" d="M112.2576,-348.1387C130.9214,-349.3528 154.6235,-351.8541 175.195,-357 193.2842,-361.5249 212.4093,-368.65 229.0864,-375.6996"/>
<polygon fill="#8b4513" stroke="#8b4513" points="228.0292,-379.056 238.5963,-379.8214 230.8129,-372.6333 228.0292,-379.056"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
<g id="edge4" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
<g id="a_edge4"><a xlink:title="at destination.go:58: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]">
<path fill="none" stroke="#8b4513" d="M112.2798,-361.284C122.4063,-366.1451 133.4308,-371.9033 143.0814,-378 163.9636,-391.1922 214.3577,-432.4214 246.7655,-459.4025"/>
<polygon fill="#8b4513" stroke="#8b4513" points="244.6676,-462.2104 254.5883,-465.9293 249.1521,-456.8354 244.6676,-462.2104"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge14" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge14"><a xlink:title="at destination.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M112.3907,-341.0766C130.5996,-337.7992 153.6485,-333.6603 174.195,-330 190.0047,-327.1835 207.1979,-324.1387 222.8796,-321.3685"/>
<polygon fill="#8b4513" stroke="#8b4513" points="223.6975,-324.7783 232.9366,-319.5929 222.4804,-317.8849 223.6975,-324.7783"/> <polygon fill="#8b4513" stroke="#8b4513" points="223.6975,-324.7783 232.9366,-319.5929 222.4804,-317.8849 223.6975,-324.7783"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge11" class="edge"> <g id="edge1" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge11"><a xlink:title="at destination.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:64: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge1"><a xlink:title="at destination.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at destination.go:49: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M112.3191,-341.1468C123.1386,-337.8792 134.5697,-332.8178 143.0814,-325 168.1559,-301.9697 158.3099,-285.1129 174.195,-255 188.8126,-227.2898 186.6888,-214.5186 211.195,-195 218.2916,-189.3477 226.9195,-185.1105 235.5357,-181.9469"/> <path fill="none" stroke="#8b4513" d="M135.2387,-330.9936C138.0332,-329.2017 140.674,-327.2111 143.0814,-325 168.1559,-301.9697 158.3099,-285.1129 174.195,-255 188.8126,-227.2898 186.6888,-214.5186 211.195,-195 218.2916,-189.3477 226.9195,-185.1105 235.5357,-181.9469"/>
<polygon fill="#8b4513" stroke="#8b4513" points="236.7484,-185.2331 245.1766,-178.8131 234.5844,-178.5759 236.7484,-185.2331"/> <polygon fill="#8b4513" stroke="#8b4513" points="236.7484,-185.2331 245.1766,-178.8131 234.5844,-178.5759 236.7484,-185.2331"/>
</a> </a>
</g> </g>

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -25,7 +25,7 @@
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz | defined in fuzz.go:5&#10;at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address]&#10;at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64]&#10;at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz | defined in fuzz.go:5&#10;at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination]&#10;at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address]&#10;at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-130C58,-130 28,-130 28,-130 22,-130 16,-124 16,-118 16,-118 16,-106 16,-106 16,-100 22,-94 28,-94 28,-94 58,-94 58,-94 64,-94 70,-100 70,-106 70,-106 70,-118 70,-118 70,-124 64,-130 58,-130"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-130C58,-130 28,-130 28,-130 22,-130 16,-124 16,-118 16,-118 16,-106 16,-106 16,-100 22,-94 28,-94 28,-94 58,-94 58,-94 64,-94 70,-100 70,-106 70,-106 70,-118 70,-118 70,-124 64,-130 58,-130"/>
<text text-anchor="middle" x="43" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text> <text text-anchor="middle" x="43" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
</a> </a>
@ -42,9 +42,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination -->
<g id="edge3" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination</title>
<g id="a_edge3"><a xlink:title="at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination]"> <g id="a_edge1"><a xlink:title="at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.ReadDestination]">
<path fill="none" stroke="#8b4513" d="M70.1001,-94.0845C88.7169,-82.2726 114.281,-67.0087 138.1136,-56 138.2063,-55.9572 138.2992,-55.9144 138.3921,-55.8716"/> <path fill="none" stroke="#8b4513" d="M70.1001,-94.0845C88.7169,-82.2726 114.281,-67.0087 138.1136,-56 138.2063,-55.9572 138.2992,-55.9144 138.3921,-55.8716"/>
<polygon fill="#8b4513" stroke="#8b4513" points="139.5119,-59.2012 147.2891,-52.0063 136.7226,-52.7809 139.5119,-59.2012"/> <polygon fill="#8b4513" stroke="#8b4513" points="139.5119,-59.2012 147.2891,-52.0063 136.7226,-52.7809 139.5119,-59.2012"/>
</a> </a>
@ -61,9 +61,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address -->
<g id="edge1" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address</title>
<g id="a_edge1"><a xlink:title="at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address]"> <g id="a_edge2"><a xlink:title="at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base32Address]">
<path fill="none" stroke="#8b4513" d="M70.2736,-112C88.3329,-112 112.8362,-112 135.7903,-112"/> <path fill="none" stroke="#8b4513" d="M70.2736,-112C88.3329,-112 112.8362,-112 135.7903,-112"/>
<polygon fill="#8b4513" stroke="#8b4513" points="135.853,-115.5001 145.853,-112 135.8529,-108.5001 135.853,-115.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="135.853,-115.5001 145.853,-112 135.8529,-108.5001 135.853,-115.5001"/>
</a> </a>
@ -80,9 +80,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64 --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64 -->
<g id="edge2" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/destination.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64</title>
<g id="a_edge2"><a xlink:title="at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64]"> <g id="a_edge3"><a xlink:title="at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/destination.Destination).Base64]">
<path fill="none" stroke="#8b4513" d="M70.2736,-122.4863C91.973,-130.8293 122.976,-142.7495 149.4161,-152.9153"/> <path fill="none" stroke="#8b4513" d="M70.2736,-122.4863C91.973,-130.8293 122.976,-142.7495 149.4161,-152.9153"/>
<polygon fill="#8b4513" stroke="#8b4513" points="148.3351,-156.2494 158.9251,-156.5713 150.8473,-149.7157 148.3351,-156.2494"/> <polygon fill="#8b4513" stroke="#8b4513" points="148.3351,-156.2494 158.9251,-156.5713 150.8473,-149.7157 148.3351,-156.2494"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -25,7 +25,7 @@
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz | defined in fuzz.go:5&#10;at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]&#10;at fuzz.go:7: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]&#10;at fuzz.go:8: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey]&#10;at fuzz.go:9: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz | defined in fuzz.go:5&#10;at fuzz.go:9: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey]&#10;at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]&#10;at fuzz.go:7: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]&#10;at fuzz.go:8: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-160C58,-160 28,-160 28,-160 22,-160 16,-154 16,-148 16,-148 16,-136 16,-136 16,-130 22,-124 28,-124 28,-124 58,-124 58,-124 64,-124 70,-130 70,-136 70,-136 70,-148 70,-148 70,-154 64,-160 58,-160"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-160C58,-160 28,-160 28,-160 22,-160 16,-154 16,-148 16,-148 16,-136 16,-136 16,-130 22,-124 28,-124 28,-124 58,-124 58,-124 64,-124 70,-130 70,-136 70,-136 70,-148 70,-148 70,-154 64,-160 58,-160"/>
<text text-anchor="middle" x="43" y="-137.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text> <text text-anchor="middle" x="43" y="-137.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
</a> </a>
@ -42,9 +42,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
<g id="edge1" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
<g id="a_edge1"><a xlink:title="at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]"> <g id="a_edge2"><a xlink:title="at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]">
<path fill="none" stroke="#8b4513" d="M58.0901,-123.9966C73.9008,-106.1275 100.4054,-78.8225 134.9201,-57.4503"/> <path fill="none" stroke="#8b4513" d="M58.0901,-123.9966C73.9008,-106.1275 100.4054,-78.8225 134.9201,-57.4503"/>
<polygon fill="#8b4513" stroke="#8b4513" points="137.0442,-60.2603 143.866,-52.1539 133.4779,-54.2368 137.0442,-60.2603"/> <polygon fill="#8b4513" stroke="#8b4513" points="137.0442,-60.2603 143.866,-52.1539 133.4779,-54.2368 137.0442,-60.2603"/>
</a> </a>
@ -61,9 +61,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
<g id="edge2" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
<g id="a_edge2"><a xlink:title="at fuzz.go:7: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]"> <g id="a_edge3"><a xlink:title="at fuzz.go:7: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]">
<path fill="none" stroke="#8b4513" d="M70.225,-137.0461C90.5721,-133.3437 119.2244,-128.1301 145.123,-123.4176"/> <path fill="none" stroke="#8b4513" d="M70.225,-137.0461C90.5721,-133.3437 119.2244,-128.1301 145.123,-123.4176"/>
<polygon fill="#8b4513" stroke="#8b4513" points="146.0533,-126.8058 155.2652,-121.5721 144.8001,-119.9189 146.0533,-126.8058"/> <polygon fill="#8b4513" stroke="#8b4513" points="146.0533,-126.8058 155.2652,-121.5721 144.8001,-119.9189 146.0533,-126.8058"/>
</a> </a>
@ -80,9 +80,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey -->
<g id="edge3" class="edge"> <g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey</title>
<g id="a_edge3"><a xlink:title="at fuzz.go:8: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey]"> <g id="a_edge4"><a xlink:title="at fuzz.go:8: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey]">
<path fill="none" stroke="#8b4513" d="M70.225,-147.119C90.5721,-150.9448 119.2244,-156.3322 145.123,-161.2018"/> <path fill="none" stroke="#8b4513" d="M70.225,-147.119C90.5721,-150.9448 119.2244,-156.3322 145.123,-161.2018"/>
<polygon fill="#8b4513" stroke="#8b4513" points="144.7906,-164.7006 155.2652,-163.1088 146.0842,-157.8212 144.7906,-164.7006"/> <polygon fill="#8b4513" stroke="#8b4513" points="144.7906,-164.7006 155.2652,-163.1088 146.0842,-157.8212 144.7906,-164.7006"/>
</a> </a>
@ -99,9 +99,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey -->
<g id="edge4" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/keys_and_cert.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey</title>
<g id="a_edge4"><a xlink:title="at fuzz.go:9: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey]"> <g id="a_edge1"><a xlink:title="at fuzz.go:9: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey]">
<path fill="none" stroke="#8b4513" d="M67.6184,-160.1635C86.0385,-173.2904 112.1509,-190.9378 136.5386,-204 141.4238,-206.6165 146.5867,-209.1688 151.811,-211.6095"/> <path fill="none" stroke="#8b4513" d="M67.6184,-160.1635C86.0385,-173.2904 112.1509,-190.9378 136.5386,-204 141.4238,-206.6165 146.5867,-209.1688 151.811,-211.6095"/>
<polygon fill="#8b4513" stroke="#8b4513" points="150.6805,-214.9395 161.2342,-215.8722 153.5656,-208.5617 150.6805,-214.9395"/> <polygon fill="#8b4513" stroke="#8b4513" points="150.6805,-214.9395 161.2342,-215.8722 153.5656,-208.5617 150.6805,-214.9395"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

@ -25,7 +25,7 @@
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz | defined in fuzz.go:5&#10;at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Expiration]&#10;at fuzz.go:9: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Options]&#10;at fuzz.go:10: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).TransportStyle]&#10;at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.ReadRouterAddress]&#10;at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Cost]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz | defined in fuzz.go:5&#10;at fuzz.go:10: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).TransportStyle]&#10;at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.ReadRouterAddress]&#10;at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Cost]&#10;at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Expiration]&#10;at fuzz.go:9: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Options]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-191C58,-191 28,-191 28,-191 22,-191 16,-185 16,-179 16,-179 16,-167 16,-167 16,-161 22,-155 28,-155 28,-155 58,-155 58,-155 64,-155 70,-161 70,-167 70,-167 70,-179 70,-179 70,-185 64,-191 58,-191"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-191C58,-191 28,-191 28,-191 22,-191 16,-185 16,-179 16,-179 16,-167 16,-167 16,-161 22,-155 28,-155 28,-155 58,-155 58,-155 64,-155 70,-161 70,-167 70,-167 70,-179 70,-179 70,-185 64,-191 58,-191"/>
<text text-anchor="middle" x="43" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text> <text text-anchor="middle" x="43" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
</a> </a>
@ -42,9 +42,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.ReadRouterAddress --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.ReadRouterAddress -->
<g id="edge4" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.ReadRouterAddress</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.ReadRouterAddress</title>
<g id="a_edge4"><a xlink:title="at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.ReadRouterAddress]"> <g id="a_edge2"><a xlink:title="at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.ReadRouterAddress]">
<path fill="none" stroke="#8b4513" d="M54.2,-154.8153C69.8891,-130.7191 100.687,-88.1071 143.143,-57.8152"/> <path fill="none" stroke="#8b4513" d="M54.2,-154.8153C69.8891,-130.7191 100.687,-88.1071 143.143,-57.8152"/>
<polygon fill="#8b4513" stroke="#8b4513" points="145.2054,-60.6453 151.4961,-52.1202 141.2621,-54.8616 145.2054,-60.6453"/> <polygon fill="#8b4513" stroke="#8b4513" points="145.2054,-60.6453 151.4961,-52.1202 141.2621,-54.8616 145.2054,-60.6453"/>
</a> </a>
@ -61,9 +61,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Cost --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Cost -->
<g id="edge5" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Cost</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Cost</title>
<g id="a_edge5"><a xlink:title="at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Cost]"> <g id="a_edge3"><a xlink:title="at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Cost]">
<path fill="none" stroke="#8b4513" d="M70.3728,-163.1993C92.7676,-155.181 125.2557,-143.5488 153.6076,-133.3975"/> <path fill="none" stroke="#8b4513" d="M70.3728,-163.1993C92.7676,-155.181 125.2557,-143.5488 153.6076,-133.3975"/>
<polygon fill="#8b4513" stroke="#8b4513" points="154.8086,-136.6851 163.0435,-130.019 152.4489,-130.0948 154.8086,-136.6851"/> <polygon fill="#8b4513" stroke="#8b4513" points="154.8086,-136.6851 163.0435,-130.019 152.4489,-130.0948 154.8086,-136.6851"/>
</a> </a>
@ -80,9 +80,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Expiration --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Expiration -->
<g id="edge1" class="edge"> <g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Expiration</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Expiration</title>
<g id="a_edge1"><a xlink:title="at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Expiration]"> <g id="a_edge4"><a xlink:title="at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Expiration]">
<path fill="none" stroke="#8b4513" d="M70.3728,-173C91.7248,-173 122.2521,-173 149.6217,-173"/> <path fill="none" stroke="#8b4513" d="M70.3728,-173C91.7248,-173 122.2521,-173 149.6217,-173"/>
<polygon fill="#8b4513" stroke="#8b4513" points="149.9311,-176.5001 159.931,-173 149.931,-169.5001 149.9311,-176.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="149.9311,-176.5001 159.931,-173 149.931,-169.5001 149.9311,-176.5001"/>
</a> </a>
@ -99,9 +99,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Options --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Options -->
<g id="edge2" class="edge"> <g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Options</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Options</title>
<g id="a_edge2"><a xlink:title="at fuzz.go:9: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Options]"> <g id="a_edge5"><a xlink:title="at fuzz.go:9: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).Options]">
<path fill="none" stroke="#8b4513" d="M70.3728,-182.8007C92.7676,-190.819 125.2557,-202.4512 153.6076,-212.6025"/> <path fill="none" stroke="#8b4513" d="M70.3728,-182.8007C92.7676,-190.819 125.2557,-202.4512 153.6076,-212.6025"/>
<polygon fill="#8b4513" stroke="#8b4513" points="152.4489,-215.9052 163.0435,-215.981 154.8086,-209.3149 152.4489,-215.9052"/> <polygon fill="#8b4513" stroke="#8b4513" points="152.4489,-215.9052 163.0435,-215.981 154.8086,-209.3149 152.4489,-215.9052"/>
</a> </a>
@ -118,9 +118,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).TransportStyle --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).TransportStyle -->
<g id="edge3" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).TransportStyle</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_address.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).TransportStyle</title>
<g id="a_edge3"><a xlink:title="at fuzz.go:10: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).TransportStyle]"> <g id="a_edge1"><a xlink:title="at fuzz.go:10: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/router_address.RouterAddress).TransportStyle]">
<path fill="none" stroke="#8b4513" d="M59.628,-191.1509C78.7338,-211.2098 111.7512,-243.5148 145,-265 149.0077,-267.5898 153.2766,-270.0551 157.6487,-272.3782"/> <path fill="none" stroke="#8b4513" d="M59.628,-191.1509C78.7338,-211.2098 111.7512,-243.5148 145,-265 149.0077,-267.5898 153.2766,-270.0551 157.6487,-272.3782"/>
<polygon fill="#8b4513" stroke="#8b4513" points="156.211,-275.5729 166.7171,-276.9412 159.3574,-269.3198 156.211,-275.5729"/> <polygon fill="#8b4513" stroke="#8b4513" points="156.211,-275.5729 166.7171,-276.9412 159.3574,-269.3198 156.211,-275.5729"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -25,7 +25,7 @@
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz | defined in fuzz.go:5&#10;at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity]&#10;at fuzz.go:7: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz | defined in fuzz.go:5&#10;at fuzz.go:7: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]&#10;at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-65C58,-65 28,-65 28,-65 22,-65 16,-59 16,-53 16,-53 16,-41 16,-41 16,-35 22,-29 28,-29 28,-29 58,-29 58,-29 64,-29 70,-35 70,-41 70,-41 70,-53 70,-53 70,-59 64,-65 58,-65"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-65C58,-65 28,-65 28,-65 22,-65 16,-59 16,-53 16,-53 16,-41 16,-41 16,-35 22,-29 28,-29 28,-29 58,-29 58,-29 64,-29 70,-35 70,-41 70,-41 70,-53 70,-53 70,-59 64,-65 58,-65"/>
<text text-anchor="middle" x="43" y="-42.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text> <text text-anchor="middle" x="43" y="-42.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
</a> </a>
@ -42,9 +42,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity -->
<g id="edge1" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity</title>
<g id="a_edge1"><a xlink:title="at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity]"> <g id="a_edge2"><a xlink:title="at fuzz.go:6: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity]">
<path fill="none" stroke="#8b4513" d="M70.2369,-44.8824C87.33,-43.5534 110.3072,-41.767 132.6983,-40.0262"/> <path fill="none" stroke="#8b4513" d="M70.2369,-44.8824C87.33,-43.5534 110.3072,-41.767 132.6983,-40.0262"/>
<polygon fill="#8b4513" stroke="#8b4513" points="133.223,-43.496 142.9216,-39.2313 132.6803,-36.5171 133.223,-43.496"/> <polygon fill="#8b4513" stroke="#8b4513" points="133.223,-43.496 142.9216,-39.2313 132.6803,-36.5171 133.223,-43.496"/>
</a> </a>
@ -61,9 +61,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
<g id="edge2" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/router_identity.Fuzz&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
<g id="a_edge2"><a xlink:title="at fuzz.go:7: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]"> <g id="a_edge1"><a xlink:title="at fuzz.go:7: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]">
<path fill="none" stroke="#8b4513" d="M70.3186,-59.5347C90.2689,-68.4946 118.0733,-80.5827 143,-90 144.6187,-90.6115 146.2628,-91.2224 147.9247,-91.8308"/> <path fill="none" stroke="#8b4513" d="M70.3186,-59.5347C90.2689,-68.4946 118.0733,-80.5827 143,-90 144.6187,-90.6115 146.2628,-91.2224 147.9247,-91.8308"/>
<polygon fill="#8b4513" stroke="#8b4513" points="146.9887,-95.2129 157.5834,-95.2765 149.3408,-88.6199 146.9887,-95.2129"/> <polygon fill="#8b4513" stroke="#8b4513" points="146.9887,-95.2129 157.5834,-95.2765 149.3408,-88.6199 146.9887,-95.2129"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@ -25,7 +25,7 @@
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz | defined in fuzz.go:5&#10;at fuzz.go:9: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.ToI2PString]&#10;at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data]&#10;at fuzz.go:10: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data]&#10;at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length]&#10;at fuzz.go:11: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz | defined in fuzz.go:5&#10;at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length]&#10;at fuzz.go:11: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length]&#10;at fuzz.go:9: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.ToI2PString]&#10;at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data]&#10;at fuzz.go:10: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-130C58,-130 28,-130 28,-130 22,-130 16,-124 16,-118 16,-118 16,-106 16,-106 16,-100 22,-94 28,-94 28,-94 58,-94 58,-94 64,-94 70,-100 70,-106 70,-106 70,-118 70,-118 70,-124 64,-130 58,-130"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-130C58,-130 28,-130 28,-130 22,-130 16,-124 16,-118 16,-118 16,-106 16,-106 16,-100 22,-94 28,-94 28,-94 58,-94 58,-94 64,-94 70,-100 70,-106 70,-106 70,-118 70,-118 70,-124 64,-130 58,-130"/>
<text text-anchor="middle" x="43" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text> <text text-anchor="middle" x="43" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
</a> </a>
@ -42,9 +42,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.ToI2PString --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.ToI2PString -->
<g id="edge1" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.ToI2PString</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.ToI2PString</title>
<g id="a_edge1"><a xlink:title="at fuzz.go:9: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.ToI2PString]"> <g id="a_edge2"><a xlink:title="at fuzz.go:9: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.ToI2PString]">
<path fill="none" stroke="#8b4513" d="M70.0043,-97.129C89.2049,-86.6594 115.8894,-72.3156 146.6535,-56.7465"/> <path fill="none" stroke="#8b4513" d="M70.0043,-97.129C89.2049,-86.6594 115.8894,-72.3156 146.6535,-56.7465"/>
<polygon fill="#8b4513" stroke="#8b4513" points="148.5211,-59.7249 155.8799,-52.1027 145.374,-53.4722 148.5211,-59.7249"/> <polygon fill="#8b4513" stroke="#8b4513" points="148.5211,-59.7249 155.8799,-52.1027 145.374,-53.4722 148.5211,-59.7249"/>
</a> </a>
@ -61,9 +61,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data -->
<g id="edge2" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data</title>
<g id="a_edge2"><a xlink:title="at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data]&#10;at fuzz.go:10: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data]"> <g id="a_edge3"><a xlink:title="at fuzz.go:7: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data]&#10;at fuzz.go:10: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Data]">
<path fill="none" stroke="#8b4513" d="M70.1048,-112C94.3917,-112 130.2444,-112 157.2471,-112"/> <path fill="none" stroke="#8b4513" d="M70.1048,-112C94.3917,-112 130.2444,-112 157.2471,-112"/>
<polygon fill="#8b4513" stroke="#8b4513" points="157.4848,-115.5001 167.4848,-112 157.4847,-108.5001 157.4848,-115.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="157.4848,-115.5001 167.4848,-112 157.4847,-108.5001 157.4848,-115.5001"/>
</a> </a>
@ -80,9 +80,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length -->
<g id="edge3" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/fuzz/string.Fuzz&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length</title>
<g id="a_edge3"><a xlink:title="at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length]&#10;at fuzz.go:11: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length]"> <g id="a_edge1"><a xlink:title="at fuzz.go:8: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length]&#10;at fuzz.go:11: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.I2PString).Length]">
<path fill="none" stroke="#8b4513" d="M70.1048,-122.9056C93.2412,-132.2144 126.8736,-145.7464 153.3522,-156.4"/> <path fill="none" stroke="#8b4513" d="M70.1048,-122.9056C93.2412,-132.2144 126.8736,-145.7464 153.3522,-156.4"/>
<polygon fill="#8b4513" stroke="#8b4513" points="152.1674,-159.6959 162.7511,-160.1816 154.7804,-153.2018 152.1674,-159.6959"/> <polygon fill="#8b4513" stroke="#8b4513" points="152.1674,-159.6959 162.7511,-160.1816 154.7804,-153.2018 152.1674,-159.6959"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 82 KiB

View File

@ -4,21 +4,21 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304) <!-- Generated by graphviz version 2.40.1 (20161225.0304)
--> -->
<!-- Title: gocallvis Pages: 1 --> <!-- Title: gocallvis Pages: 1 -->
<svg width="518pt" height="984pt" <svg width="518pt" height="992pt"
viewBox="0.00 0.00 517.94 984.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> viewBox="0.00 0.00 517.94 992.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 984)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 992)">
<title>gocallvis</title> <title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-984 517.944,-984 517.944,0 0,0"/> <polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-992 517.944,-992 517.944,0 0,0"/>
<g id="clust1" class="cluster"> <g id="clust1" class="cluster">
<title>cluster_focus</title> <title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-976 509.944,-976 509.944,-8 8,-8"/> <polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-984 509.944,-984 509.944,-8 8,-8"/>
<text text-anchor="middle" x="258.972" y="-955.8" font-family="Arial" font-size="18.00" fill="#000000">keys_and_cert</text> <text text-anchor="middle" x="258.972" y="-963.8" font-family="Arial" font-size="18.00" fill="#000000">keys_and_cert</text>
</g> </g>
<g id="clust6" class="cluster"> <g id="clust6" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert</title> <title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert</title>
<g id="a_clust6"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert"> <g id="a_clust6"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M82.9783,-685C82.9783,-685 172.8647,-685 172.8647,-685 178.8647,-685 184.8647,-691 184.8647,-697 184.8647,-697 184.8647,-751 184.8647,-751 184.8647,-757 178.8647,-763 172.8647,-763 172.8647,-763 82.9783,-763 82.9783,-763 76.9783,-763 70.9783,-757 70.9783,-751 70.9783,-751 70.9783,-697 70.9783,-697 70.9783,-691 76.9783,-685 82.9783,-685"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M82.9783,-787C82.9783,-787 172.8647,-787 172.8647,-787 178.8647,-787 184.8647,-793 184.8647,-799 184.8647,-799 184.8647,-853 184.8647,-853 184.8647,-859 178.8647,-865 172.8647,-865 172.8647,-865 82.9783,-865 82.9783,-865 76.9783,-865 70.9783,-859 70.9783,-853 70.9783,-853 70.9783,-799 70.9783,-799 70.9783,-793 76.9783,-787 82.9783,-787"/>
<text text-anchor="middle" x="127.9215" y="-693.5" font-family="Arial" font-size="15.00" fill="#222222">(KeysAndCert)</text> <text text-anchor="middle" x="127.9215" y="-795.5" font-family="Arial" font-size="15.00" fill="#222222">(KeysAndCert)</text>
</a> </a>
</g> </g>
</g> </g>
@ -33,33 +33,33 @@
<g id="clust4" class="cluster"> <g id="clust4" class="cluster">
<title>cluster_*github.com/sirupsen/logrus.Logger</title> <title>cluster_*github.com/sirupsen/logrus.Logger</title>
<g id="a_clust4"><a xlink:title="type: *github.com/sirupsen/logrus.Logger"> <g id="a_clust4"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M376.7329,-668C376.7329,-668 431.0541,-668 431.0541,-668 437.0541,-668 443.0541,-674 443.0541,-680 443.0541,-680 443.0541,-734 443.0541,-734 443.0541,-740 437.0541,-746 431.0541,-746 431.0541,-746 376.7329,-746 376.7329,-746 370.7329,-746 364.7329,-740 364.7329,-734 364.7329,-734 364.7329,-680 364.7329,-680 364.7329,-674 370.7329,-668 376.7329,-668"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M376.7329,-729C376.7329,-729 431.0541,-729 431.0541,-729 437.0541,-729 443.0541,-735 443.0541,-741 443.0541,-741 443.0541,-795 443.0541,-795 443.0541,-801 437.0541,-807 431.0541,-807 431.0541,-807 376.7329,-807 376.7329,-807 370.7329,-807 364.7329,-801 364.7329,-795 364.7329,-795 364.7329,-741 364.7329,-741 364.7329,-735 370.7329,-729 376.7329,-729"/>
<text text-anchor="middle" x="403.8935" y="-676.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text> <text text-anchor="middle" x="403.8935" y="-737.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust3" class="cluster"> <g id="clust3" class="cluster">
<title>cluster_*github.com/go&#45;i2p/logger.Logger</title> <title>cluster_*github.com/go&#45;i2p/logger.Logger</title>
<g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/logger.Logger"> <g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/logger.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M364.2841,-407C364.2841,-407 442.5029,-407 442.5029,-407 448.5029,-407 454.5029,-413 454.5029,-419 454.5029,-419 454.5029,-595 454.5029,-595 454.5029,-601 448.5029,-607 442.5029,-607 442.5029,-607 364.2841,-607 364.2841,-607 358.2841,-607 352.2841,-601 352.2841,-595 352.2841,-595 352.2841,-419 352.2841,-419 352.2841,-413 358.2841,-407 364.2841,-407"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M364.2841,-521C364.2841,-521 442.5029,-521 442.5029,-521 448.5029,-521 454.5029,-527 454.5029,-533 454.5029,-533 454.5029,-709 454.5029,-709 454.5029,-715 448.5029,-721 442.5029,-721 442.5029,-721 364.2841,-721 364.2841,-721 358.2841,-721 352.2841,-715 352.2841,-709 352.2841,-709 352.2841,-533 352.2841,-533 352.2841,-527 358.2841,-521 364.2841,-521"/>
<text text-anchor="middle" x="403.3935" y="-415.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text> <text text-anchor="middle" x="403.3935" y="-529.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust2" class="cluster"> <g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate"> <g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M366.4152,-807C366.4152,-807 441.3718,-807 441.3718,-807 447.3718,-807 453.3718,-813 453.3718,-819 453.3718,-819 453.3718,-873 453.3718,-873 453.3718,-879 447.3718,-885 441.3718,-885 441.3718,-885 366.4152,-885 366.4152,-885 360.4152,-885 354.4152,-879 354.4152,-873 354.4152,-873 354.4152,-819 354.4152,-819 354.4152,-813 360.4152,-807 366.4152,-807"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M366.4152,-815C366.4152,-815 441.3718,-815 441.3718,-815 447.3718,-815 453.3718,-821 453.3718,-827 453.3718,-827 453.3718,-881 453.3718,-881 453.3718,-887 447.3718,-893 441.3718,-893 441.3718,-893 366.4152,-893 366.4152,-893 360.4152,-893 354.4152,-887 354.4152,-881 354.4152,-881 354.4152,-827 354.4152,-827 354.4152,-821 360.4152,-815 366.4152,-815"/>
<text text-anchor="middle" x="403.8935" y="-815.5" font-family="Arial" font-size="15.00" fill="#222222">(*Certificate)</text> <text text-anchor="middle" x="403.8935" y="-823.5" font-family="Arial" font-size="15.00" fill="#222222">(*Certificate)</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructSigningPublicKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructSigningPublicKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructSigningPublicKey | defined in keys_and_cert.go:291&#10;at keys_and_cert.go:300: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:295: calling [github.com/samber/oops.Errorf]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 | defined in keys_and_cert.go:208&#10;at keys_and_cert.go:224: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:235: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:251: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:260: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate]&#10;at keys_and_cert.go:209: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:266: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:211: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:271: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:225: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:236: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:252: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:262: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:225: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:236: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:252: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:262: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M204.9005,-816C204.9005,-816 50.9425,-816 50.9425,-816 44.9425,-816 38.9425,-810 38.9425,-804 38.9425,-804 38.9425,-792 38.9425,-792 38.9425,-786 44.9425,-780 50.9425,-780 50.9425,-780 204.9005,-780 204.9005,-780 210.9005,-780 216.9005,-786 216.9005,-792 216.9005,-792 216.9005,-804 216.9005,-804 216.9005,-810 210.9005,-816 204.9005,-816"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M227.7646,-735C227.7646,-735 28.0784,-735 28.0784,-735 22.0784,-735 16.0784,-729 16.0784,-723 16.0784,-723 16.0784,-711 16.0784,-711 16.0784,-705 22.0784,-699 28.0784,-699 28.0784,-699 227.7646,-699 227.7646,-699 233.7646,-699 239.7646,-705 239.7646,-711 239.7646,-711 239.7646,-723 239.7646,-723 239.7646,-729 233.7646,-735 227.7646,-735"/>
<text text-anchor="middle" x="127.9215" y="-793.8" font-family="Verdana" font-size="14.00" fill="#000000">constructSigningPublicKey</text> <text text-anchor="middle" x="127.9215" y="-712.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCertElgAndEd25519</text>
</a> </a>
</g> </g>
</g> </g>
@ -67,82 +67,37 @@
<g id="node2" class="node"> <g id="node2" class="node">
<title>github.com/samber/oops.Errorf</title> <title>github.com/samber/oops.Errorf</title>
<g id="a_node2"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34"> <g id="a_node2"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M420.5888,-799C420.5888,-799 386.1982,-799 386.1982,-799 380.1982,-799 374.1982,-793 374.1982,-787 374.1982,-787 374.1982,-775 374.1982,-775 374.1982,-769 380.1982,-763 386.1982,-763 386.1982,-763 420.5888,-763 420.5888,-763 426.5888,-763 432.5888,-769 432.5888,-775 432.5888,-775 432.5888,-787 432.5888,-787 432.5888,-793 426.5888,-799 420.5888,-799"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M420.5888,-452C420.5888,-452 386.1982,-452 386.1982,-452 380.1982,-452 374.1982,-446 374.1982,-440 374.1982,-440 374.1982,-428 374.1982,-428 374.1982,-422 380.1982,-416 386.1982,-416 386.1982,-416 420.5888,-416 420.5888,-416 426.5888,-416 432.5888,-422 432.5888,-428 432.5888,-428 432.5888,-440 432.5888,-440 432.5888,-446 426.5888,-452 420.5888,-452"/>
<text text-anchor="middle" x="403.3935" y="-785.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text> <text text-anchor="middle" x="403.3935" y="-438.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="403.3935" y="-768.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text> <text text-anchor="middle" x="403.3935" y="-421.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructSigningPublicKey&#45;&gt;github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge23" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructSigningPublicKey&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge23"><a xlink:title="at keys_and_cert.go:300: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:295: calling [github.com/samber/oops.Errorf]"> <g id="a_edge2"><a xlink:title="at keys_and_cert.go:224: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:235: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:251: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M216.9789,-792.5041C266.5502,-789.4449 325.7755,-785.79 363.9573,-783.4337"/> <path fill="none" stroke="#8b4513" d="M146.004,-698.8408C176.8074,-667.0023 239.7206,-597.918 276.843,-529 291.5665,-501.6656 281.7398,-485.741 304.843,-465 321.0956,-450.4092 344.1851,-442.685 363.9298,-438.5964"/>
<polygon fill="#8b4513" stroke="#8b4513" points="364.3775,-786.9145 374.1429,-782.8051 363.9463,-779.9278 364.3775,-786.9145"/> <polygon fill="#8b4513" stroke="#8b4513" points="364.6896,-442.0156 373.8962,-436.7726 363.4295,-435.1299 364.6896,-442.0156"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.init --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.init</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.init | defined in .:0&#10;at keys_and_cert.go:17: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate | defined in key_certificate.go:360">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M142.9215,-938C142.9215,-938 112.9215,-938 112.9215,-938 106.9215,-938 100.9215,-932 100.9215,-926 100.9215,-926 100.9215,-914 100.9215,-914 100.9215,-908 106.9215,-902 112.9215,-902 112.9215,-902 142.9215,-902 142.9215,-902 148.9215,-902 154.9215,-908 154.9215,-914 154.9215,-914 154.9215,-926 154.9215,-926 154.9215,-932 148.9215,-938 142.9215,-938"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M457.7212,-513C457.7212,-513 349.0658,-513 349.0658,-513 343.0658,-513 337.0658,-507 337.0658,-501 337.0658,-501 337.0658,-489 337.0658,-489 337.0658,-483 343.0658,-477 349.0658,-477 349.0658,-477 457.7212,-477 457.7212,-477 463.7212,-477 469.7212,-483 469.7212,-489 469.7212,-489 469.7212,-501 469.7212,-501 469.7212,-507 463.7212,-513 457.7212,-513"/>
<text text-anchor="middle" x="127.9215" y="-915.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text> <text text-anchor="middle" x="403.3935" y="-499.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
<text text-anchor="middle" x="403.3935" y="-482.4" font-family="Verdana" font-size="14.00" fill="#000000">NewKeyCertificate</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M452.083,-938C452.083,-938 354.704,-938 354.704,-938 348.704,-938 342.704,-932 342.704,-926 342.704,-926 342.704,-914 342.704,-914 342.704,-908 348.704,-902 354.704,-902 354.704,-902 452.083,-902 452.083,-902 458.083,-902 464.083,-908 464.083,-914 464.083,-914 464.083,-926 464.083,-926 464.083,-932 458.083,-938 452.083,-938"/>
<text text-anchor="middle" x="403.3935" y="-924.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="403.3935" y="-907.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge21" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge21"><a xlink:title="at keys_and_cert.go:17: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M155.0887,-920C195.9363,-920 274.546,-920 332.4167,-920"/>
<polygon fill="#8b4513" stroke="#8b4513" points="332.6037,-923.5001 342.6036,-920 332.6036,-916.5001 332.6037,-923.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructPublicKey -->
<g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructPublicKey</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructPublicKey | defined in keys_and_cert.go:276&#10;at keys_and_cert.go:287: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:280: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M183.3373,-877C183.3373,-877 72.5057,-877 72.5057,-877 66.5057,-877 60.5057,-871 60.5057,-865 60.5057,-865 60.5057,-853 60.5057,-853 60.5057,-847 66.5057,-841 72.5057,-841 72.5057,-841 183.3373,-841 183.3373,-841 189.3373,-841 195.3373,-847 195.3373,-853 195.3373,-853 195.3373,-865 195.3373,-865 195.3373,-871 189.3373,-877 183.3373,-877"/>
<text text-anchor="middle" x="127.9215" y="-854.8" font-family="Verdana" font-size="14.00" fill="#000000">constructPublicKey</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructPublicKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge17" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructPublicKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge17"><a xlink:title="at keys_and_cert.go:287: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:280: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M195.1835,-842.3593C209.9931,-838.3104 225.5271,-833.7632 239.843,-829 269.366,-819.1771 275.119,-812.197 304.843,-803 324.1122,-797.0379 345.9679,-791.991 364.1927,-788.241"/>
<polygon fill="#8b4513" stroke="#8b4513" points="365.0623,-791.6364 374.1797,-786.2398 363.6869,-784.7729 365.0623,-791.6364"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert -->
<g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert | defined in keys_and_cert.go:306&#10;at keys_and_cert.go:316: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:330: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:341: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:352: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:320: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]&#10;at keys_and_cert.go:321: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]&#10;at keys_and_cert.go:315: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:329: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:340: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:351: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:326: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:337: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:348: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:312: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M179.8247,-512C179.8247,-512 76.0183,-512 76.0183,-512 70.0183,-512 64.0183,-506 64.0183,-500 64.0183,-500 64.0183,-488 64.0183,-488 64.0183,-482 70.0183,-476 76.0183,-476 76.0183,-476 179.8247,-476 179.8247,-476 185.8247,-476 191.8247,-482 191.8247,-488 191.8247,-488 191.8247,-500 191.8247,-500 191.8247,-506 185.8247,-512 179.8247,-512"/>
<text text-anchor="middle" x="127.9215" y="-489.8" font-family="Verdana" font-size="14.00" fill="#000000">NewKeysAndCert</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate</title>
<g id="a_edge3"><a xlink:title="at keys_and_cert.go:316: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:330: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:341: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:352: calling [github.com/samber/oops.Errorf]"> <g id="a_edge3"><a xlink:title="at keys_and_cert.go:260: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate]">
<path fill="none" stroke="#8b4513" d="M146.6474,-512.0837C170.3479,-535.6342 211.4937,-578.7948 239.843,-621 257.9634,-647.9768 279.9497,-731.1093 304.843,-752 321.4791,-765.9612 344.5873,-773.2022 364.2461,-776.9572"/> <path fill="none" stroke="#8b4513" d="M212.8066,-698.9758C236.6297,-690.0351 260.4683,-676.7354 276.843,-657 317.361,-608.166 260.4756,-562.3652 304.843,-517 311.1661,-510.5347 318.9426,-505.7817 327.3299,-502.3134"/>
<polygon fill="#8b4513" stroke="#8b4513" points="363.7181,-780.4175 374.1594,-778.6202 364.8763,-773.5139 363.7181,-780.4175"/> <polygon fill="#8b4513" stroke="#8b4513" points="328.7338,-505.5303 337.0142,-498.9208 326.4193,-498.9239 328.7338,-505.5303"/>
</a> </a>
</g> </g>
</g> </g>
@ -150,37 +105,56 @@
<g id="node11" class="node"> <g id="node11" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60"> <g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M434.6126,-599C434.6126,-599 372.1744,-599 372.1744,-599 366.1744,-599 360.1744,-593 360.1744,-587 360.1744,-587 360.1744,-575 360.1744,-575 360.1744,-569 366.1744,-563 372.1744,-563 372.1744,-563 434.6126,-563 434.6126,-563 440.6126,-563 446.6126,-569 446.6126,-575 446.6126,-575 446.6126,-587 446.6126,-587 446.6126,-593 440.6126,-599 434.6126,-599"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M434.6126,-713C434.6126,-713 372.1744,-713 372.1744,-713 366.1744,-713 360.1744,-707 360.1744,-701 360.1744,-701 360.1744,-689 360.1744,-689 360.1744,-683 366.1744,-677 372.1744,-677 372.1744,-677 434.6126,-677 434.6126,-677 440.6126,-677 446.6126,-683 446.6126,-689 446.6126,-689 446.6126,-701 446.6126,-701 446.6126,-707 440.6126,-713 434.6126,-713"/>
<text text-anchor="middle" x="403.3935" y="-585.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="403.3935" y="-699.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="403.3935" y="-568.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text> <text text-anchor="middle" x="403.3935" y="-682.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge22" class="edge"> <g id="edge11" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge22"><a xlink:title="at keys_and_cert.go:326: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:337: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:348: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge11"><a xlink:title="at keys_and_cert.go:209: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:266: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M191.6933,-501.8891C218.9071,-506.9214 250.4148,-515.0354 276.843,-528 291.3016,-535.0928 290.6454,-543.3982 304.843,-551 318.9408,-558.5483 335.213,-564.4835 350.4208,-569.0117"/> <path fill="none" stroke="#8b4513" d="M183.9764,-735.0227C212.1204,-741.5241 246.5799,-745.5956 276.843,-738 290.536,-734.5633 291.7551,-728.2931 304.843,-723 319.1783,-717.2024 335.1427,-712.1134 349.9764,-707.9203"/>
<polygon fill="#8b4513" stroke="#8b4513" points="349.6521,-572.4315 360.2273,-571.7869 351.5583,-565.696 349.6521,-572.4315"/> <polygon fill="#8b4513" stroke="#8b4513" points="351.3132,-711.183 360.0314,-705.1628 349.4618,-704.4322 351.3132,-711.183"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="node12" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_node12"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M431.925,-591C431.925,-591 374.862,-591 374.862,-591 368.862,-591 362.862,-585 362.862,-579 362.862,-579 362.862,-567 362.862,-567 362.862,-561 368.862,-555 374.862,-555 374.862,-555 431.925,-555 431.925,-555 437.925,-555 443.925,-561 443.925,-567 443.925,-567 443.925,-579 443.925,-579 443.925,-585 437.925,-591 431.925,-591"/>
<text text-anchor="middle" x="403.3935" y="-577.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="403.3935" y="-560.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge23" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge23"><a xlink:title="at keys_and_cert.go:225: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:236: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:252: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:262: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M239.7864,-705.5201C253.3416,-700.452 266.1498,-693.4946 276.843,-684 305.0119,-658.9885 277.7843,-630.2086 304.843,-604 317.7667,-591.4823 335.6939,-584.0148 352.7191,-579.5617"/>
<polygon fill="#8b4513" stroke="#8b4513" points="353.6431,-582.9404 362.5945,-577.2727 352.0624,-576.1212 353.6431,-582.9404"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="node12" class="node"> <g id="node13" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_node12"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42"> <g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M421.1598,-477C421.1598,-477 385.6272,-477 385.6272,-477 379.6272,-477 373.6272,-471 373.6272,-465 373.6272,-465 373.6272,-453 373.6272,-453 373.6272,-447 379.6272,-441 385.6272,-441 385.6272,-441 421.1598,-441 421.1598,-441 427.1598,-441 433.1598,-447 433.1598,-453 433.1598,-453 433.1598,-465 433.1598,-465 433.1598,-471 427.1598,-477 421.1598,-477"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M421.1598,-652C421.1598,-652 385.6272,-652 385.6272,-652 379.6272,-652 373.6272,-646 373.6272,-640 373.6272,-640 373.6272,-628 373.6272,-628 373.6272,-622 379.6272,-616 385.6272,-616 385.6272,-616 421.1598,-616 421.1598,-616 427.1598,-616 433.1598,-622 433.1598,-628 433.1598,-628 433.1598,-640 433.1598,-640 433.1598,-646 427.1598,-652 421.1598,-652"/>
<text text-anchor="middle" x="403.3935" y="-463.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="403.3935" y="-638.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="403.3935" y="-446.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text> <text text-anchor="middle" x="403.3935" y="-621.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge11" class="edge"> <g id="edge24" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge11"><a xlink:title="at keys_and_cert.go:315: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:329: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:340: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:351: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge24"><a xlink:title="at keys_and_cert.go:225: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:236: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:252: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:262: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M191.8127,-485.8823C244.7487,-479.1566 318.3456,-469.8057 363.3236,-464.0911"/> <path fill="none" stroke="#8b4513" d="M239.9764,-724.425C252.97,-721.8776 265.5828,-717.6299 276.843,-711 297.4676,-698.8564 285.9998,-679.7571 304.843,-665 321.6006,-651.8763 343.9993,-644.2583 363.2081,-639.8617"/>
<polygon fill="#8b4513" stroke="#8b4513" points="363.811,-467.5574 373.29,-462.8248 362.9286,-460.6132 363.811,-467.5574"/> <polygon fill="#8b4513" stroke="#8b4513" points="364.1228,-643.2466 373.2045,-637.7901 362.7023,-636.3922 364.1228,-643.2466"/>
</a> </a>
</g> </g>
</g> </g>
@ -188,18 +162,91 @@
<g id="node14" class="node"> <g id="node14" class="node">
<title>(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_node14"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221"> <g id="a_node14"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M422.2155,-738C422.2155,-738 384.5715,-738 384.5715,-738 378.5715,-738 372.5715,-732 372.5715,-726 372.5715,-726 372.5715,-714 372.5715,-714 372.5715,-708 378.5715,-702 384.5715,-702 384.5715,-702 422.2155,-702 422.2155,-702 428.2155,-702 434.2155,-708 434.2155,-714 434.2155,-714 434.2155,-726 434.2155,-726 434.2155,-732 428.2155,-738 422.2155,-738"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M422.2155,-799C422.2155,-799 384.5715,-799 384.5715,-799 378.5715,-799 372.5715,-793 372.5715,-787 372.5715,-787 372.5715,-775 372.5715,-775 372.5715,-769 378.5715,-763 384.5715,-763 384.5715,-763 422.2155,-763 422.2155,-763 428.2155,-763 434.2155,-769 434.2155,-775 434.2155,-775 434.2155,-787 434.2155,-787 434.2155,-793 428.2155,-799 422.2155,-799"/>
<text text-anchor="middle" x="403.3935" y="-724.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text> <text text-anchor="middle" x="403.3935" y="-785.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
<text text-anchor="middle" x="403.3935" y="-707.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text> <text text-anchor="middle" x="403.3935" y="-768.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge16" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge16"><a xlink:title="at keys_and_cert.go:211: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:271: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M205.7561,-735.0832C256.798,-746.9417 321.4702,-761.9669 362.6519,-771.5346"/>
<polygon fill="#8b4513" stroke="#8b4513" points="362.0605,-774.9903 372.5931,-773.8442 363.6446,-768.1719 362.0605,-774.9903"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.init -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.init</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.init | defined in .:0&#10;at keys_and_cert.go:17: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M142.9215,-946C142.9215,-946 112.9215,-946 112.9215,-946 106.9215,-946 100.9215,-940 100.9215,-934 100.9215,-934 100.9215,-922 100.9215,-922 100.9215,-916 106.9215,-910 112.9215,-910 112.9215,-910 142.9215,-910 142.9215,-910 148.9215,-910 154.9215,-916 154.9215,-922 154.9215,-922 154.9215,-934 154.9215,-934 154.9215,-940 148.9215,-946 142.9215,-946"/>
<text text-anchor="middle" x="127.9215" y="-923.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node5" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M452.083,-946C452.083,-946 354.704,-946 354.704,-946 348.704,-946 342.704,-940 342.704,-934 342.704,-934 342.704,-922 342.704,-922 342.704,-916 348.704,-910 354.704,-910 354.704,-910 452.083,-910 452.083,-910 458.083,-910 464.083,-916 464.083,-922 464.083,-922 464.083,-934 464.083,-934 464.083,-940 458.083,-946 452.083,-946"/>
<text text-anchor="middle" x="403.3935" y="-932.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="403.3935" y="-915.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge28" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge28"><a xlink:title="at keys_and_cert.go:17: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M155.0887,-928C195.9363,-928 274.546,-928 332.4167,-928"/>
<polygon fill="#8b4513" stroke="#8b4513" points="332.6037,-931.5001 342.6036,-928 332.6036,-924.5001 332.6037,-931.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert -->
<g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert | defined in keys_and_cert.go:306&#10;at keys_and_cert.go:315: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:329: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:340: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:351: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:312: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:316: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:330: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:341: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:352: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:320: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]&#10;at keys_and_cert.go:326: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:337: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:348: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:321: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M179.8247,-573C179.8247,-573 76.0183,-573 76.0183,-573 70.0183,-573 64.0183,-567 64.0183,-561 64.0183,-561 64.0183,-549 64.0183,-549 64.0183,-543 70.0183,-537 76.0183,-537 76.0183,-537 179.8247,-537 179.8247,-537 185.8247,-537 191.8247,-543 191.8247,-549 191.8247,-549 191.8247,-561 191.8247,-561 191.8247,-567 185.8247,-573 179.8247,-573"/>
<text text-anchor="middle" x="127.9215" y="-550.8" font-family="Verdana" font-size="14.00" fill="#000000">NewKeysAndCert</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge13" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge13"><a xlink:title="at keys_and_cert.go:316: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:330: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:341: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:352: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M191.8965,-553.1217C220.4159,-549.3895 252.8996,-540.8189 276.843,-522 299.0339,-504.5585 283.4287,-483.3867 304.843,-465 321.414,-450.7718 344.5191,-443.0654 364.1924,-438.8955"/>
<polygon fill="#8b4513" stroke="#8b4513" points="364.938,-442.3167 374.1147,-437.0215 363.6389,-435.4383 364.938,-442.3167"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge18" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge18"><a xlink:title="at keys_and_cert.go:326: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:337: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:348: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M191.7073,-570.8448C220.1869,-580.3469 252.6917,-594.8088 276.843,-616 295.6968,-632.543 285.2385,-649.3539 304.843,-665 317.9239,-675.4397 334.6098,-682.2558 350.5174,-686.7024"/>
<polygon fill="#8b4513" stroke="#8b4513" points="349.7291,-690.1131 360.2824,-689.176 351.4481,-683.3275 349.7291,-690.1131"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge9" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge9"><a xlink:title="at keys_and_cert.go:315: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:329: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:340: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:351: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M191.693,-565.6594C218.4695,-571.1293 249.6464,-578.821 276.843,-589 290.0649,-593.9486 291.8051,-598.5849 304.843,-604 323.7959,-611.8718 345.5587,-618.7143 363.8043,-623.8686"/>
<polygon fill="#8b4513" stroke="#8b4513" points="362.968,-627.2686 373.5388,-626.5542 364.8298,-620.5207 362.968,-627.2686"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge30" class="edge"> <g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge30"><a xlink:title="at keys_and_cert.go:312: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge12"><a xlink:title="at keys_and_cert.go:312: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M191.7125,-505.5293C221.7928,-514.196 255.65,-529.2011 276.843,-555 317.9514,-605.0427 259.6546,-651.6084 304.843,-698 319.6343,-713.1851 342.4403,-718.9334 362.3894,-720.7717"/> <path fill="none" stroke="#8b4513" d="M143.619,-573.2317C172.9395,-606.566 239.033,-678.3812 304.843,-727 322.9652,-740.3882 344.7931,-752.6867 363.2951,-762.1539"/>
<polygon fill="#8b4513" stroke="#8b4513" points="362.3041,-724.2732 372.5035,-721.406 362.7422,-717.2869 362.3041,-724.2732"/> <polygon fill="#8b4513" stroke="#8b4513" points="361.8467,-765.3431 372.3541,-766.7016 364.9872,-759.0871 361.8467,-765.3431"/>
</a> </a>
</g> </g>
</g> </g>
@ -214,11 +261,11 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize -->
<g id="edge6" class="edge"> <g id="edge17" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title>
<g id="a_edge6"><a xlink:title="at keys_and_cert.go:320: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]"> <g id="a_edge17"><a xlink:title="at keys_and_cert.go:320: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]">
<path fill="none" stroke="#8b4513" d="M191.8712,-475.8748C219.5755,-466.1592 251.4143,-452.3499 276.843,-434 292.4406,-422.7444 288.6701,-411.4121 304.843,-401 315.4636,-394.1625 327.7756,-388.9638 340.0233,-385.0208"/> <path fill="none" stroke="#8b4513" d="M191.9603,-542.8506C221.5442,-534.1629 254.8989,-519.5009 276.843,-495 307.6354,-460.6197 271.3481,-426.7532 304.843,-395 314.4235,-385.9176 326.8952,-380.2749 339.7281,-376.8342"/>
<polygon fill="#8b4513" stroke="#8b4513" points="341.207,-388.3205 349.7984,-382.1206 339.2159,-381.6097 341.207,-388.3205"/> <polygon fill="#8b4513" stroke="#8b4513" points="340.5865,-380.2285 349.57,-374.6117 339.0446,-373.4005 340.5865,-380.2285"/>
</a> </a>
</g> </g>
</g> </g>
@ -233,175 +280,92 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize -->
<g id="edge7" class="edge"> <g id="edge21" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title>
<g id="a_edge7"><a xlink:title="at keys_and_cert.go:321: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]"> <g id="a_edge21"><a xlink:title="at keys_and_cert.go:321: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]">
<path fill="none" stroke="#8b4513" d="M144.213,-475.9814C173.4598,-444.6541 238.0719,-379.9675 304.843,-343 315.7388,-336.9676 327.9744,-331.9269 340.0212,-327.7838"/> <path fill="none" stroke="#8b4513" d="M191.6333,-538.3302C209.0089,-531.2859 226.6553,-521.4852 239.843,-508 294.9511,-451.6489 247.1801,-396.7339 304.843,-343 314.6721,-333.8407 327.1866,-327.3873 339.9736,-322.8406"/>
<polygon fill="#8b4513" stroke="#8b4513" points="341.1933,-331.083 349.6129,-324.6518 339.0204,-324.4288 341.1933,-331.083"/> <polygon fill="#8b4513" stroke="#8b4513" points="341.2988,-326.0918 349.765,-319.7221 339.1744,-319.4219 341.2988,-326.0918"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 -->
<g id="node7" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519</title>
<g id="a_node7"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 | defined in keys_and_cert.go:208&#10;at keys_and_cert.go:209: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:266: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:224: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:235: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:251: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:225: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:236: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:252: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:262: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:225: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:236: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:252: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:262: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:211: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:271: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:260: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M227.7646,-669C227.7646,-669 28.0784,-669 28.0784,-669 22.0784,-669 16.0784,-663 16.0784,-657 16.0784,-657 16.0784,-645 16.0784,-645 16.0784,-639 22.0784,-633 28.0784,-633 28.0784,-633 227.7646,-633 227.7646,-633 233.7646,-633 239.7646,-639 239.7646,-645 239.7646,-645 239.7646,-657 239.7646,-657 239.7646,-663 233.7646,-669 227.7646,-669"/>
<text text-anchor="middle" x="127.9215" y="-646.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCertElgAndEd25519</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge13" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge13"><a xlink:title="at keys_and_cert.go:224: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:235: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:251: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M219.8715,-669.1064C226.8421,-671.9398 233.5884,-675.2148 239.843,-679 277.0089,-701.4923 268.1464,-728.7498 304.843,-752 322.7216,-763.3275 345.202,-770.3848 364.1758,-774.6968"/>
<polygon fill="#8b4513" stroke="#8b4513" points="363.5131,-778.1339 374.0191,-776.7645 364.9522,-771.2834 363.5131,-778.1339"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate -->
<g id="node8" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate</title>
<g id="a_node8"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate | defined in key_certificate.go:360">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M457.7212,-660C457.7212,-660 349.0658,-660 349.0658,-660 343.0658,-660 337.0658,-654 337.0658,-648 337.0658,-648 337.0658,-636 337.0658,-636 337.0658,-630 343.0658,-624 349.0658,-624 349.0658,-624 457.7212,-624 457.7212,-624 463.7212,-624 469.7212,-630 469.7212,-636 469.7212,-636 469.7212,-648 469.7212,-648 469.7212,-654 463.7212,-660 457.7212,-660"/>
<text text-anchor="middle" x="403.3935" y="-646.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
<text text-anchor="middle" x="403.3935" y="-629.4" font-family="Verdana" font-size="14.00" fill="#000000">NewKeyCertificate</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate -->
<g id="edge27" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate</title>
<g id="a_edge27"><a xlink:title="at keys_and_cert.go:260: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate]">
<path fill="none" stroke="#8b4513" d="M240.1512,-650.9236C252.5341,-650.7136 264.9569,-650.4153 276.843,-650 292.9673,-649.4367 310.2313,-648.5402 326.6609,-647.5475"/>
<polygon fill="#8b4513" stroke="#8b4513" points="327.0018,-651.0332 336.7652,-646.9191 326.5672,-644.0467 327.0018,-651.0332"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge12"><a xlink:title="at keys_and_cert.go:209: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:266: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M240.0952,-635.3929C252.7319,-632.0328 265.2273,-627.9529 276.843,-623 290.9106,-617.0017 290.8787,-609.2351 304.843,-603 318.8895,-596.7282 334.8855,-592.1711 349.8442,-588.8902"/>
<polygon fill="#8b4513" stroke="#8b4513" points="350.9,-592.2469 359.9978,-586.8173 349.4997,-585.3884 350.9,-592.2469"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge25" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge25"><a xlink:title="at keys_and_cert.go:225: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:236: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:252: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:262: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M143.0453,-632.7758C171.4331,-599.69 236.0666,-529.5193 304.843,-490 322.9507,-479.5952 344.974,-472.2422 363.6049,-467.3174"/>
<polygon fill="#8b4513" stroke="#8b4513" points="364.7082,-470.6493 373.56,-464.8272 363.0095,-463.8585 364.7082,-470.6493"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="node13" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M431.925,-538C431.925,-538 374.862,-538 374.862,-538 368.862,-538 362.862,-532 362.862,-526 362.862,-526 362.862,-514 362.862,-514 362.862,-508 368.862,-502 374.862,-502 374.862,-502 431.925,-502 431.925,-502 437.925,-502 443.925,-508 443.925,-514 443.925,-514 443.925,-526 443.925,-526 443.925,-532 437.925,-538 431.925,-538"/>
<text text-anchor="middle" x="403.3935" y="-524.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="403.3935" y="-507.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge18" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge18"><a xlink:title="at keys_and_cert.go:225: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:236: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:252: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:262: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M205.6915,-632.9951C230.267,-624.6333 256.3358,-612.7191 276.843,-596 295.0999,-581.1155 286.2268,-565.4326 304.843,-551 318.5773,-540.3522 336.0323,-533.3238 352.4242,-528.7002"/>
<polygon fill="#8b4513" stroke="#8b4513" points="353.6375,-532.0021 362.4503,-526.1212 351.8936,-525.2228 353.6375,-532.0021"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge26" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge26"><a xlink:title="at keys_and_cert.go:211: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:271: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M201.7774,-669.0406C214.4954,-672.2718 227.5674,-675.6717 239.843,-679 268.892,-686.876 275.6959,-690.4951 304.843,-698 323.7178,-702.86 344.786,-707.6481 362.5824,-711.5101"/>
<polygon fill="#8b4513" stroke="#8b4513" points="362.1292,-714.9925 372.6413,-713.6705 363.5992,-708.1486 362.1292,-714.9925"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
<g id="node9" class="node"> <g id="node7" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
<g id="a_node9"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert | defined in keys_and_cert.go:145&#10;at keys_and_cert.go:160: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:167: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:178: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:194: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:176: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey]&#10;at keys_and_cert.go:161: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:165: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate]&#10;at keys_and_cert.go:172: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]&#10;at keys_and_cert.go:173: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]&#10;at keys_and_cert.go:199: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]&#10;at keys_and_cert.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:155: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:198: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:148: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:203: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:167: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:178: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:194: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:190: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey]&#10;at keys_and_cert.go:200: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]"> <g id="a_node7"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert | defined in keys_and_cert.go:145&#10;at keys_and_cert.go:172: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]&#10;at keys_and_cert.go:148: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:203: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:161: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:173: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]&#10;at keys_and_cert.go:176: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey]&#10;at keys_and_cert.go:190: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey]&#10;at keys_and_cert.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:155: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:198: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:165: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate]&#10;at keys_and_cert.go:200: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]&#10;at keys_and_cert.go:199: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]&#10;at keys_and_cert.go:160: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:167: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:178: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:194: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:167: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:178: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:194: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M180.6624,-269C180.6624,-269 75.1806,-269 75.1806,-269 69.1806,-269 63.1806,-263 63.1806,-257 63.1806,-257 63.1806,-245 63.1806,-245 63.1806,-239 69.1806,-233 75.1806,-233 75.1806,-233 180.6624,-233 180.6624,-233 186.6624,-233 192.6624,-239 192.6624,-245 192.6624,-245 192.6624,-257 192.6624,-257 192.6624,-263 186.6624,-269 180.6624,-269"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M180.6624,-276C180.6624,-276 75.1806,-276 75.1806,-276 69.1806,-276 63.1806,-270 63.1806,-264 63.1806,-264 63.1806,-252 63.1806,-252 63.1806,-246 69.1806,-240 75.1806,-240 75.1806,-240 180.6624,-240 180.6624,-240 186.6624,-240 192.6624,-246 192.6624,-252 192.6624,-252 192.6624,-264 192.6624,-264 192.6624,-270 186.6624,-276 180.6624,-276"/>
<text text-anchor="middle" x="127.9215" y="-246.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCert</text> <text text-anchor="middle" x="127.9215" y="-253.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCert</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge8" class="edge"> <g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge8"><a xlink:title="at keys_and_cert.go:161: calling [github.com/samber/oops.Errorf]"> <g id="a_edge5"><a xlink:title="at keys_and_cert.go:161: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M139.5074,-269.0474C162.0022,-304.8434 211.8346,-387.9535 239.843,-464 262.5184,-525.5668 259.963,-704.1416 304.843,-752 319.976,-768.1373 343.5817,-775.4449 363.8964,-778.6907"/> <path fill="none" stroke="#8b4513" d="M192.7503,-258.0039C221.9744,-261.3701 254.7962,-270.3559 276.843,-292 313.7651,-328.2477 269.057,-367.6302 304.843,-405 320.144,-420.9782 343.7549,-428.2808 364.0303,-431.5638"/>
<polygon fill="#8b4513" stroke="#8b4513" points="363.481,-782.1662 373.8543,-780.011 364.4011,-775.2269 363.481,-782.1662"/> <polygon fill="#8b4513" stroke="#8b4513" points="363.5864,-435.0356 373.965,-432.9061 364.5237,-428.0986 363.5864,-435.0356"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate -->
<g id="edge9" class="edge"> <g id="edge14" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate</title>
<g id="a_edge9"><a xlink:title="at keys_and_cert.go:165: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate]"> <g id="a_edge14"><a xlink:title="at keys_and_cert.go:165: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.NewKeyCertificate]">
<path fill="none" stroke="#8b4513" d="M165.8809,-269.0658C201.0412,-287.9769 251.5899,-321.1752 276.843,-366 331.0713,-462.2565 233.7755,-528.4102 304.843,-613 311.0161,-620.3477 318.9481,-625.8878 327.6269,-630.0556"/> <path fill="none" stroke="#8b4513" d="M192.8901,-269.8234C222.6941,-278.5308 255.9655,-293.4844 276.843,-319 318.6833,-370.1354 260.6645,-415.8706 304.843,-465 311.1222,-471.9828 318.9715,-477.3633 327.4827,-481.5049"/>
<polygon fill="#8b4513" stroke="#8b4513" points="326.3221,-633.3035 336.899,-633.9202 329.0152,-626.8423 326.3221,-633.3035"/> <polygon fill="#8b4513" stroke="#8b4513" points="326.3632,-484.8323 336.935,-485.53 329.1057,-478.3918 326.3632,-484.8323"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge19" class="edge"> <g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge19"><a xlink:title="at keys_and_cert.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:155: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:198: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge10"><a xlink:title="at keys_and_cert.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:155: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:198: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M182.0287,-269.0377C214.8863,-282.895 254.6485,-305.4323 276.843,-339 329.2608,-418.2784 243.3763,-478.5118 304.843,-551 316.2525,-564.4553 333.5011,-571.9956 350.395,-576.1815"/> <path fill="none" stroke="#8b4513" d="M156.7391,-276.0245C191.8161,-299.7174 249.7172,-344.8662 276.843,-400 302.9849,-453.134 267.1364,-619.34 304.843,-665 316.0763,-678.6028 333.2845,-686.1769 350.1953,-690.3486"/>
<polygon fill="#8b4513" stroke="#8b4513" points="349.7448,-579.6214 360.2541,-578.2778 351.2007,-572.7745 349.7448,-579.6214"/> <polygon fill="#8b4513" stroke="#8b4513" points="349.5633,-693.7922 360.0703,-692.4315 351.008,-686.9429 349.5633,-693.7922"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge1"><a xlink:title="at keys_and_cert.go:160: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:167: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:178: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:194: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M192.8825,-250.8702C222.1361,-254.2065 254.9446,-263.2058 276.843,-285 315.6606,-323.6329 271.7263,-361.3813 304.843,-405 319.6104,-424.4505 343.4987,-437.7905 364.0574,-446.3453"/>
<polygon fill="#8b4513" stroke="#8b4513" points="362.9375,-449.6655 373.5251,-450.0549 365.4912,-443.1479 362.9375,-449.6655"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge24" class="edge"> <g id="edge30" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge24"><a xlink:title="at keys_and_cert.go:167: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:178: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:194: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge30"><a xlink:title="at keys_and_cert.go:167: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:178: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at keys_and_cert.go:194: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M192.8849,-262.4126C222.8755,-271.0313 256.3086,-286.0292 276.843,-312 326.513,-374.8198 252.2987,-429.5639 304.843,-490 316.8103,-503.7647 334.8829,-511.3234 352.2972,-515.4363"/> <path fill="none" stroke="#8b4513" d="M181.978,-276.0712C214.8155,-289.9419 254.5742,-312.4816 276.843,-346 327.73,-422.5938 242.6033,-483.3072 304.843,-551 316.9438,-564.161 335.0435,-570.3274 352.4422,-572.9835"/>
<polygon fill="#8b4513" stroke="#8b4513" points="351.9284,-518.9324 362.4233,-517.4806 353.3137,-512.0708 351.9284,-518.9324"/> <polygon fill="#8b4513" stroke="#8b4513" points="352.2152,-576.4807 362.5546,-574.1681 353.0297,-569.5283 352.2152,-576.4807"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge29" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge29"><a xlink:title="at keys_and_cert.go:160: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:167: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:178: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at keys_and_cert.go:194: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M165.8039,-276.1094C200.9077,-295.0524 251.4165,-328.2733 276.843,-373 327.9532,-462.9058 238.3807,-524.7657 304.843,-604 319.1001,-620.9969 342.6787,-628.5658 363.1982,-631.8527"/>
<polygon fill="#8b4513" stroke="#8b4513" points="362.9061,-635.3443 373.2768,-633.1767 363.8179,-628.4039 362.9061,-635.3443"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge20" class="edge"> <g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge20"><a xlink:title="at keys_and_cert.go:148: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:203: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge4"><a xlink:title="at keys_and_cert.go:148: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:203: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M157.1691,-269.1714C192.4019,-292.8583 250.1739,-337.8422 276.843,-393 306.4704,-454.2761 259.8942,-646.8908 304.843,-698 318.941,-714.0302 341.9257,-719.7879 362.1528,-721.4188"/> <path fill="none" stroke="#8b4513" d="M149.8852,-276.3573C175.7187,-299.2451 217.8609,-340.8881 239.843,-386 307.426,-524.6946 214.0787,-602.2382 304.843,-727 319.0117,-746.4758 342.4323,-759.7254 362.8871,-768.2247"/>
<polygon fill="#8b4513" stroke="#8b4513" points="362.2561,-724.9281 372.4172,-721.928 362.603,-717.9367 362.2561,-724.9281"/> <polygon fill="#8b4513" stroke="#8b4513" points="361.7455,-771.5362 372.3337,-771.9113 364.2904,-765.0152 361.7455,-771.5362"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize -->
<g id="edge14" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title>
<g id="a_edge14"><a xlink:title="at keys_and_cert.go:172: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]"> <g id="a_edge1"><a xlink:title="at keys_and_cert.go:172: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]">
<path fill="none" stroke="#8b4513" d="M192.8642,-238.5942C221.248,-236.8077 253.3493,-240.1483 276.843,-258 308.5124,-282.064 276.4004,-315.1963 304.843,-343 314.4738,-352.4145 326.9662,-358.8862 339.8033,-363.3317"/> <path fill="none" stroke="#8b4513" d="M193.0215,-245.8598C221.2702,-244.1831 253.2195,-247.5373 276.843,-265 306.4618,-286.8945 278.1663,-317.6032 304.843,-343 314.5458,-352.2373 327.008,-358.6374 339.7841,-363.0697"/>
<polygon fill="#8b4513" stroke="#8b4513" points="339.0586,-366.7642 349.6454,-366.3515 341.1119,-360.0721 339.0586,-366.7642"/> <polygon fill="#8b4513" stroke="#8b4513" points="338.9873,-366.4866 349.5747,-366.09 341.0508,-359.7976 338.9873,-366.4866"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize -->
<g id="edge15" class="edge"> <g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title>
<g id="a_edge15"><a xlink:title="at keys_and_cert.go:173: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]"> <g id="a_edge6"><a xlink:title="at keys_and_cert.go:173: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]">
<path fill="none" stroke="#8b4513" d="M167.0111,-232.9451C198.7333,-221.1606 243.5047,-211.2711 276.843,-231 299.0964,-244.1691 284.7707,-265.6984 304.843,-282 315.0209,-290.266 327.4517,-296.2579 340.0103,-300.6004"/> <path fill="none" stroke="#8b4513" d="M168.2865,-239.944C199.7136,-228.7549 243.4563,-219.6725 276.843,-238 297.1622,-249.1541 286.3872,-267.9761 304.843,-282 315.226,-289.8896 327.6891,-295.7187 340.2051,-300.0209"/>
<polygon fill="#8b4513" stroke="#8b4513" points="339.0145,-303.9561 349.6036,-303.6099 341.1098,-297.2771 339.0145,-303.9561"/> <polygon fill="#8b4513" stroke="#8b4513" points="339.1635,-303.3623 349.7529,-303.0221 341.2626,-296.6844 339.1635,-303.3623"/>
</a> </a>
</g> </g>
</g> </g>
@ -409,18 +373,18 @@
<g id="node17" class="node"> <g id="node17" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey</title>
<g id="a_node17"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey | defined in key_certificate.go:140"> <g id="a_node17"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey | defined in key_certificate.go:140">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M459.9315,-147C459.9315,-147 346.8555,-147 346.8555,-147 340.8555,-147 334.8555,-141 334.8555,-135 334.8555,-135 334.8555,-123 334.8555,-123 334.8555,-117 340.8555,-111 346.8555,-111 346.8555,-111 459.9315,-111 459.9315,-111 465.9315,-111 471.9315,-117 471.9315,-123 471.9315,-123 471.9315,-135 471.9315,-135 471.9315,-141 465.9315,-147 459.9315,-147"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M459.9315,-208C459.9315,-208 346.8555,-208 346.8555,-208 340.8555,-208 334.8555,-202 334.8555,-196 334.8555,-196 334.8555,-184 334.8555,-184 334.8555,-178 340.8555,-172 346.8555,-172 346.8555,-172 459.9315,-172 459.9315,-172 465.9315,-172 471.9315,-178 471.9315,-184 471.9315,-184 471.9315,-196 471.9315,-196 471.9315,-202 465.9315,-208 459.9315,-208"/>
<text text-anchor="middle" x="403.3935" y="-133.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text> <text text-anchor="middle" x="403.3935" y="-194.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
<text text-anchor="middle" x="403.3935" y="-116.4" font-family="Verdana" font-size="14.00" fill="#000000">ConstructPublicKey</text> <text text-anchor="middle" x="403.3935" y="-177.4" font-family="Verdana" font-size="14.00" fill="#000000">ConstructPublicKey</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey -->
<g id="edge2" class="edge"> <g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey</title>
<g id="a_edge2"><a xlink:title="at keys_and_cert.go:176: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey]"> <g id="a_edge7"><a xlink:title="at keys_and_cert.go:176: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey]">
<path fill="none" stroke="#8b4513" d="M159.112,-232.8909C193.8698,-213.2043 252.129,-181.6629 304.843,-160 313.1884,-156.5704 322.0594,-153.2917 330.9272,-150.2369"/> <path fill="none" stroke="#8b4513" d="M170.1904,-239.9546C199.3631,-228.2252 239.3262,-213.5716 275.843,-205 291.4821,-201.3291 308.421,-198.5363 324.6895,-196.4182"/>
<polygon fill="#8b4513" stroke="#8b4513" points="332.1583,-153.5156 340.5233,-147.0136 329.9293,-146.88 332.1583,-153.5156"/> <polygon fill="#8b4513" stroke="#8b4513" points="325.217,-199.8797 334.7147,-195.1847 324.3621,-192.9321 325.217,-199.8797"/>
</a> </a>
</g> </g>
</g> </g>
@ -428,18 +392,18 @@
<g id="node18" class="node"> <g id="node18" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey</title>
<g id="a_node18"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey | defined in key_certificate.go:232"> <g id="a_node18"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey | defined in key_certificate.go:232">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M481.9945,-208C481.9945,-208 324.7925,-208 324.7925,-208 318.7925,-208 312.7925,-202 312.7925,-196 312.7925,-196 312.7925,-184 312.7925,-184 312.7925,-178 318.7925,-172 324.7925,-172 324.7925,-172 481.9945,-172 481.9945,-172 487.9945,-172 493.9945,-178 493.9945,-184 493.9945,-184 493.9945,-196 493.9945,-196 493.9945,-202 487.9945,-208 481.9945,-208"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M481.9945,-269C481.9945,-269 324.7925,-269 324.7925,-269 318.7925,-269 312.7925,-263 312.7925,-257 312.7925,-257 312.7925,-245 312.7925,-245 312.7925,-239 318.7925,-233 324.7925,-233 324.7925,-233 481.9945,-233 481.9945,-233 487.9945,-233 493.9945,-239 493.9945,-245 493.9945,-245 493.9945,-257 493.9945,-257 493.9945,-263 487.9945,-269 481.9945,-269"/>
<text text-anchor="middle" x="403.3935" y="-194.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text> <text text-anchor="middle" x="403.3935" y="-255.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
<text text-anchor="middle" x="403.3935" y="-177.4" font-family="Verdana" font-size="14.00" fill="#000000">ConstructSigningPublicKey</text> <text text-anchor="middle" x="403.3935" y="-238.4" font-family="Verdana" font-size="14.00" fill="#000000">ConstructSigningPublicKey</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey -->
<g id="edge28" class="edge"> <g id="edge8" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey</title>
<g id="a_edge28"><a xlink:title="at keys_and_cert.go:190: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey]"> <g id="a_edge8"><a xlink:title="at keys_and_cert.go:190: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey]">
<path fill="none" stroke="#8b4513" d="M168.4721,-232.9663C197.706,-220.8403 238.4386,-205.7125 275.843,-198 284.5403,-196.2067 293.6358,-194.7785 302.7924,-193.6453"/> <path fill="none" stroke="#8b4513" d="M157.2875,-239.8536C186.9108,-223.6807 234.2347,-203.6196 276.843,-211 289.8634,-213.2553 292.2965,-216.8525 304.843,-221 313.8541,-223.9788 323.3641,-227.0118 332.7788,-229.9484"/>
<polygon fill="#8b4513" stroke="#8b4513" points="303.1896,-197.1227 312.7363,-192.5279 302.408,-190.1665 303.1896,-197.1227"/> <polygon fill="#8b4513" stroke="#8b4513" points="331.9429,-233.3534 342.5307,-232.9675 334.0131,-226.6665 331.9429,-233.3534"/>
</a> </a>
</g> </g>
</g> </g>
@ -447,18 +411,18 @@
<g id="node19" class="node"> <g id="node19" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
<g id="a_node19"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType | defined in key_certificate.go:130"> <g id="a_node19"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType | defined in key_certificate.go:130">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M447.2604,-269C447.2604,-269 359.5266,-269 359.5266,-269 353.5266,-269 347.5266,-263 347.5266,-257 347.5266,-257 347.5266,-245 347.5266,-245 347.5266,-239 353.5266,-233 359.5266,-233 359.5266,-233 447.2604,-233 447.2604,-233 453.2604,-233 459.2604,-239 459.2604,-245 459.2604,-245 459.2604,-257 459.2604,-257 459.2604,-263 453.2604,-269 447.2604,-269"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M447.2604,-86C447.2604,-86 359.5266,-86 359.5266,-86 353.5266,-86 347.5266,-80 347.5266,-74 347.5266,-74 347.5266,-62 347.5266,-62 347.5266,-56 353.5266,-50 359.5266,-50 359.5266,-50 447.2604,-50 447.2604,-50 453.2604,-50 459.2604,-56 459.2604,-62 459.2604,-62 459.2604,-74 459.2604,-74 459.2604,-80 453.2604,-86 447.2604,-86"/>
<text text-anchor="middle" x="403.3935" y="-255.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text> <text text-anchor="middle" x="403.3935" y="-72.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
<text text-anchor="middle" x="403.3935" y="-238.4" font-family="Verdana" font-size="14.00" fill="#000000">PublicKeyType</text> <text text-anchor="middle" x="403.3935" y="-55.4" font-family="Verdana" font-size="14.00" fill="#000000">PublicKeyType</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType -->
<g id="edge16" class="edge"> <g id="edge22" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
<g id="a_edge16"><a xlink:title="at keys_and_cert.go:199: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]"> <g id="a_edge22"><a xlink:title="at keys_and_cert.go:199: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]">
<path fill="none" stroke="#8b4513" d="M154.3962,-232.9988C184.0517,-215.095 233.6331,-191.9097 276.843,-204 290.863,-207.9229 291.5532,-215.0559 304.843,-221 315.2604,-225.6594 326.6073,-229.8598 337.7732,-233.5406"/> <path fill="none" stroke="#8b4513" d="M143.0358,-239.8329C171.4082,-206.8614 236.0176,-136.9837 304.843,-98 315.0554,-92.2156 326.5081,-87.4254 337.8941,-83.4998"/>
<polygon fill="#8b4513" stroke="#8b4513" points="336.9205,-236.9422 347.5111,-236.64 339.0436,-230.2719 336.9205,-236.9422"/> <polygon fill="#8b4513" stroke="#8b4513" points="338.9873,-86.8247 347.414,-80.4028 336.8217,-80.1681 338.9873,-86.8247"/>
</a> </a>
</g> </g>
</g> </g>
@ -466,18 +430,54 @@
<g id="node20" class="node"> <g id="node20" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
<g id="a_node20"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType | defined in key_certificate.go:121"> <g id="a_node20"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType | defined in key_certificate.go:121">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M469.3247,-86C469.3247,-86 337.4623,-86 337.4623,-86 331.4623,-86 325.4623,-80 325.4623,-74 325.4623,-74 325.4623,-62 325.4623,-62 325.4623,-56 331.4623,-50 337.4623,-50 337.4623,-50 469.3247,-50 469.3247,-50 475.3247,-50 481.3247,-56 481.3247,-62 481.3247,-62 481.3247,-74 481.3247,-74 481.3247,-80 475.3247,-86 469.3247,-86"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M469.3247,-147C469.3247,-147 337.4623,-147 337.4623,-147 331.4623,-147 325.4623,-141 325.4623,-135 325.4623,-135 325.4623,-123 325.4623,-123 325.4623,-117 331.4623,-111 337.4623,-111 337.4623,-111 469.3247,-111 469.3247,-111 475.3247,-111 481.3247,-117 481.3247,-123 481.3247,-123 481.3247,-135 481.3247,-135 481.3247,-141 475.3247,-147 469.3247,-147"/>
<text text-anchor="middle" x="403.3935" y="-72.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text> <text text-anchor="middle" x="403.3935" y="-133.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
<text text-anchor="middle" x="403.3935" y="-55.4" font-family="Verdana" font-size="14.00" fill="#000000">SigningPublicKeyType</text> <text text-anchor="middle" x="403.3935" y="-116.4" font-family="Verdana" font-size="14.00" fill="#000000">SigningPublicKeyType</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType -->
<g id="edge29" class="edge"> <g id="edge19" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
<g id="a_edge29"><a xlink:title="at keys_and_cert.go:200: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]"> <g id="a_edge19"><a xlink:title="at keys_and_cert.go:200: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]">
<path fill="none" stroke="#8b4513" d="M144.1871,-232.8554C173.3938,-201.3104 237.9457,-136.18 304.843,-99 310.8469,-95.6631 317.26,-92.6309 323.8255,-89.8868"/> <path fill="none" stroke="#8b4513" d="M156.4385,-239.8447C190.674,-218.6123 250.3098,-183.3979 304.843,-160 312.8069,-156.583 321.2752,-153.3516 329.7737,-150.3574"/>
<polygon fill="#8b4513" stroke="#8b4513" points="325.4998,-92.9892 333.5238,-86.0706 322.9367,-86.4754 325.4998,-92.9892"/> <polygon fill="#8b4513" stroke="#8b4513" points="331.0269,-153.6279 339.3564,-147.0804 328.7619,-147.0045 331.0269,-153.6279"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructPublicKey -->
<g id="node8" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructPublicKey</title>
<g id="a_node8"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructPublicKey | defined in keys_and_cert.go:276&#10;at keys_and_cert.go:287: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:280: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M183.3373,-434C183.3373,-434 72.5057,-434 72.5057,-434 66.5057,-434 60.5057,-428 60.5057,-422 60.5057,-422 60.5057,-410 60.5057,-410 60.5057,-404 66.5057,-398 72.5057,-398 72.5057,-398 183.3373,-398 183.3373,-398 189.3373,-398 195.3373,-404 195.3373,-410 195.3373,-410 195.3373,-422 195.3373,-422 195.3373,-428 189.3373,-434 183.3373,-434"/>
<text text-anchor="middle" x="127.9215" y="-411.8" font-family="Verdana" font-size="14.00" fill="#000000">constructPublicKey</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructPublicKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge20" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructPublicKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge20"><a xlink:title="at keys_and_cert.go:287: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:280: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M195.3095,-420.4033C248.2482,-423.8624 320.1393,-428.56 364.0707,-431.4306"/>
<polygon fill="#8b4513" stroke="#8b4513" points="363.8663,-434.9246 374.0732,-432.0841 364.3227,-427.9395 363.8663,-434.9246"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructSigningPublicKey -->
<g id="node9" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructSigningPublicKey</title>
<g id="a_node9"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructSigningPublicKey | defined in keys_and_cert.go:291&#10;at keys_and_cert.go:300: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:295: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M204.9005,-495C204.9005,-495 50.9425,-495 50.9425,-495 44.9425,-495 38.9425,-489 38.9425,-483 38.9425,-483 38.9425,-471 38.9425,-471 38.9425,-465 44.9425,-459 50.9425,-459 50.9425,-459 204.9005,-459 204.9005,-459 210.9005,-459 216.9005,-465 216.9005,-471 216.9005,-471 216.9005,-483 216.9005,-483 216.9005,-489 210.9005,-495 204.9005,-495"/>
<text text-anchor="middle" x="127.9215" y="-472.8" font-family="Verdana" font-size="14.00" fill="#000000">constructSigningPublicKey</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructSigningPublicKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge26" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.constructSigningPublicKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge26"><a xlink:title="at keys_and_cert.go:300: calling [github.com/samber/oops.Errorf]&#10;at keys_and_cert.go:295: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M216.9789,-463.0985C266.5502,-455.3607 325.7755,-446.1158 363.9573,-440.1558"/>
<polygon fill="#8b4513" stroke="#8b4513" points="364.8024,-443.5664 374.1429,-438.5659 363.7228,-436.6501 364.8024,-443.5664"/>
</a> </a>
</g> </g>
</g> </g>
@ -485,9 +485,9 @@
<g id="node10" class="node"> <g id="node10" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title>
<g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes | defined in certificate.go:100"> <g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes | defined in certificate.go:100">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M431.3501,-877C431.3501,-877 375.4369,-877 375.4369,-877 369.4369,-877 363.4369,-871 363.4369,-865 363.4369,-865 363.4369,-853 363.4369,-853 363.4369,-847 369.4369,-841 375.4369,-841 375.4369,-841 431.3501,-841 431.3501,-841 437.3501,-841 443.3501,-847 443.3501,-853 443.3501,-853 443.3501,-865 443.3501,-865 443.3501,-871 437.3501,-877 431.3501,-877"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M431.3501,-885C431.3501,-885 375.4369,-885 375.4369,-885 369.4369,-885 363.4369,-879 363.4369,-873 363.4369,-873 363.4369,-861 363.4369,-861 363.4369,-855 369.4369,-849 375.4369,-849 375.4369,-849 431.3501,-849 431.3501,-849 437.3501,-849 443.3501,-855 443.3501,-861 443.3501,-861 443.3501,-873 443.3501,-873 443.3501,-879 437.3501,-885 431.3501,-885"/>
<text text-anchor="middle" x="403.3935" y="-863.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text> <text text-anchor="middle" x="403.3935" y="-871.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
<text text-anchor="middle" x="403.3935" y="-846.4" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text> <text text-anchor="middle" x="403.3935" y="-854.4" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
</a> </a>
</g> </g>
</g> </g>
@ -495,35 +495,35 @@
<g id="node21" class="node"> <g id="node21" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes</title>
<g id="a_node21"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes | defined in keys_and_cert.go:90&#10;at keys_and_cert.go:116: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:124: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:112: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]&#10;at keys_and_cert.go:113: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]"> <g id="a_node21"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes | defined in keys_and_cert.go:90&#10;at keys_and_cert.go:116: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at keys_and_cert.go:124: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at keys_and_cert.go:112: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]&#10;at keys_and_cert.go:113: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M143.808,-755C143.808,-755 112.035,-755 112.035,-755 106.035,-755 100.035,-749 100.035,-743 100.035,-743 100.035,-731 100.035,-731 100.035,-725 106.035,-719 112.035,-719 112.035,-719 143.808,-719 143.808,-719 149.808,-719 155.808,-725 155.808,-731 155.808,-731 155.808,-743 155.808,-743 155.808,-749 149.808,-755 143.808,-755"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M143.808,-857C143.808,-857 112.035,-857 112.035,-857 106.035,-857 100.035,-851 100.035,-845 100.035,-845 100.035,-833 100.035,-833 100.035,-827 106.035,-821 112.035,-821 112.035,-821 143.808,-821 143.808,-821 149.808,-821 155.808,-827 155.808,-833 155.808,-833 155.808,-845 155.808,-845 155.808,-851 149.808,-857 143.808,-857"/>
<text text-anchor="middle" x="127.9215" y="-732.8" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text> <text text-anchor="middle" x="127.9215" y="-834.8" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes -->
<g id="edge10" class="edge"> <g id="edge27" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes</title>
<g id="a_edge10"><a xlink:title="at keys_and_cert.go:112: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]&#10;at keys_and_cert.go:113: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]"> <g id="a_edge27"><a xlink:title="at keys_and_cert.go:112: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]&#10;at keys_and_cert.go:113: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.Certificate).Bytes]">
<path fill="none" stroke="#8b4513" d="M155.9796,-737.372C179.8032,-738.8384 214.1204,-743.7528 239.843,-759 278.6617,-782.0099 266.3214,-813.4962 304.843,-837 319.3426,-845.8469 336.9837,-851.1485 353.3112,-854.3211"/> <path fill="none" stroke="#8b4513" d="M155.8512,-841.8389C202.046,-846.5343 295.0028,-855.9828 352.9328,-861.871"/>
<polygon fill="#8b4513" stroke="#8b4513" points="352.8191,-857.7878 363.2678,-856.0341 354.006,-850.8892 352.8191,-857.7878"/> <polygon fill="#8b4513" stroke="#8b4513" points="352.6682,-865.362 362.9709,-862.8913 353.3761,-858.3979 352.6682,-865.362"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge4" class="edge"> <g id="edge15" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge4"><a xlink:title="at keys_and_cert.go:116: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge15"><a xlink:title="at keys_and_cert.go:116: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M156.0152,-743.0777C193.9999,-750.5768 259.0451,-760.6509 276.843,-746 326.8435,-704.8403 259.6546,-649.3916 304.843,-603 316.5934,-590.9367 333.402,-584.8289 349.8181,-581.9058"/> <path fill="none" stroke="#8b4513" d="M155.9801,-841.0394C189.2057,-841.8433 244.1494,-837.8569 276.843,-807 305.4619,-779.9889 276.3984,-750.1946 304.843,-723 317.0867,-711.2944 333.8593,-704.423 350.0969,-700.4091"/>
<polygon fill="#8b4513" stroke="#8b4513" points="350.5295,-585.3401 359.94,-580.4726 349.548,-578.4092 350.5295,-585.3401"/> <polygon fill="#8b4513" stroke="#8b4513" points="351.051,-703.784 360.0927,-698.2614 349.5805,-696.9402 351.051,-703.784"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge5" class="edge"> <g id="edge25" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.KeysAndCert).Bytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge5"><a xlink:title="at keys_and_cert.go:124: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge25"><a xlink:title="at keys_and_cert.go:124: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M155.9554,-743.5984C192.5748,-751.7601 254.6357,-763.8975 276.843,-758 290.6957,-754.3212 291.4769,-747.1749 304.843,-742 323.241,-734.877 344.5085,-729.765 362.5671,-726.2725"/> <path fill="none" stroke="#8b4513" d="M155.9661,-836.9962C186.146,-834.4326 235.3964,-829.0664 276.843,-819 289.684,-815.8812 292.2583,-813.0302 304.843,-809 323.764,-802.9407 344.9356,-796.8384 362.7916,-791.8842"/>
<polygon fill="#8b4513" stroke="#8b4513" points="363.3021,-729.6962 372.506,-724.4485 362.0385,-722.8112 363.3021,-729.6962"/> <polygon fill="#8b4513" stroke="#8b4513" points="363.8935,-795.2112 372.6066,-789.1835 362.0363,-788.462 363.8935,-795.2112"/>
</a> </a>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

@ -54,10 +54,38 @@
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.init -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.init</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.init | defined in .:0&#10;at lease.go:59: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M103.6445,-649C103.6445,-649 73.6445,-649 73.6445,-649 67.6445,-649 61.6445,-643 61.6445,-637 61.6445,-637 61.6445,-625 61.6445,-625 61.6445,-619 67.6445,-613 73.6445,-613 73.6445,-613 103.6445,-613 103.6445,-613 109.6445,-613 115.6445,-619 115.6445,-625 115.6445,-625 115.6445,-637 115.6445,-637 115.6445,-643 109.6445,-649 103.6445,-649"/>
<text text-anchor="middle" x="88.6445" y="-626.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M343.5732,-649C343.5732,-649 246.1942,-649 246.1942,-649 240.1942,-649 234.1942,-643 234.1942,-637 234.1942,-637 234.1942,-625 234.1942,-625 234.1942,-619 240.1942,-613 246.1942,-613 246.1942,-613 343.5732,-613 343.5732,-613 349.5732,-613 355.5732,-619 355.5732,-625 355.5732,-625 355.5732,-637 355.5732,-637 355.5732,-643 349.5732,-649 343.5732,-649"/>
<text text-anchor="middle" x="294.8837" y="-635.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="294.8837" y="-618.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge15" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge15"><a xlink:title="at lease.go:59: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M116.0315,-631C143.3741,-631 186.5488,-631 223.628,-631"/>
<polygon fill="#8b4513" stroke="#8b4513" points="223.9065,-634.5001 233.9064,-631 223.9064,-627.5001 223.9065,-634.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease | defined in lease.go:111&#10;at lease.go:112: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:133: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:130: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease | defined in lease.go:111&#10;at lease.go:130: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at lease.go:112: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:133: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M324.4525,-560C324.4525,-560 265.3149,-560 265.3149,-560 259.3149,-560 253.3149,-554 253.3149,-548 253.3149,-548 253.3149,-536 253.3149,-536 253.3149,-530 259.3149,-524 265.3149,-524 265.3149,-524 324.4525,-524 324.4525,-524 330.4525,-524 336.4525,-530 336.4525,-536 336.4525,-536 336.4525,-548 336.4525,-548 336.4525,-554 330.4525,-560 324.4525,-560"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M324.4525,-560C324.4525,-560 265.3149,-560 265.3149,-560 259.3149,-560 253.3149,-554 253.3149,-548 253.3149,-548 253.3149,-536 253.3149,-536 253.3149,-530 259.3149,-524 265.3149,-524 265.3149,-524 324.4525,-524 324.4525,-524 330.4525,-524 336.4525,-530 336.4525,-536 336.4525,-536 336.4525,-548 336.4525,-548 336.4525,-554 330.4525,-560 324.4525,-560"/>
<text text-anchor="middle" x="294.8837" y="-537.8" font-family="Verdana" font-size="14.00" fill="#000000">NewLease</text> <text text-anchor="middle" x="294.8837" y="-537.8" font-family="Verdana" font-size="14.00" fill="#000000">NewLease</text>
</a> </a>
@ -74,9 +102,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge18" class="edge"> <g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge18"><a xlink:title="at lease.go:130: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge10"><a xlink:title="at lease.go:130: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M302.7566,-523.8891C327.3124,-467.6446 401.9637,-298.575 420.4784,-279 421.6733,-277.7366 422.9382,-276.5167 424.2582,-275.3401"/> <path fill="none" stroke="#8b4513" d="M302.7566,-523.8891C327.3124,-467.6446 401.9637,-298.575 420.4784,-279 421.6733,-277.7366 422.9382,-276.5167 424.2582,-275.3401"/>
<polygon fill="#8b4513" stroke="#8b4513" points="426.572,-277.9746 432.3185,-269.0735 422.2754,-272.4482 426.572,-277.9746"/> <polygon fill="#8b4513" stroke="#8b4513" points="426.572,-277.9746 432.3185,-269.0735 422.2754,-272.4482 426.572,-277.9746"/>
</a> </a>
@ -93,46 +121,18 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge17" class="edge"> <g id="edge19" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLease&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge17"><a xlink:title="at lease.go:112: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:133: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge19"><a xlink:title="at lease.go:112: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:133: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M334.5395,-560.178C363.4283,-573.4204 402.4181,-591.293 431.4242,-604.5893"/> <path fill="none" stroke="#8b4513" d="M334.5395,-560.178C363.4283,-573.4204 402.4181,-591.293 431.4242,-604.5893"/>
<polygon fill="#8b4513" stroke="#8b4513" points="430.3004,-607.9243 440.8493,-608.9097 433.2173,-601.561 430.3004,-607.9243"/> <polygon fill="#8b4513" stroke="#8b4513" points="430.3004,-607.9243 440.8493,-608.9097 433.2173,-601.561 430.3004,-607.9243"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.init -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.init</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.init | defined in .:0&#10;at lease.go:59: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M103.6445,-649C103.6445,-649 73.6445,-649 73.6445,-649 67.6445,-649 61.6445,-643 61.6445,-637 61.6445,-637 61.6445,-625 61.6445,-625 61.6445,-619 67.6445,-613 73.6445,-613 73.6445,-613 103.6445,-613 103.6445,-613 109.6445,-613 115.6445,-619 115.6445,-625 115.6445,-625 115.6445,-637 115.6445,-637 115.6445,-643 109.6445,-649 103.6445,-649"/>
<text text-anchor="middle" x="88.6445" y="-626.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M343.5732,-649C343.5732,-649 246.1942,-649 246.1942,-649 240.1942,-649 234.1942,-643 234.1942,-637 234.1942,-637 234.1942,-625 234.1942,-625 234.1942,-619 240.1942,-613 246.1942,-613 246.1942,-613 343.5732,-613 343.5732,-613 349.5732,-613 355.5732,-619 355.5732,-625 355.5732,-625 355.5732,-637 355.5732,-637 355.5732,-643 349.5732,-649 343.5732,-649"/>
<text text-anchor="middle" x="294.8837" y="-635.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="294.8837" y="-618.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge10"><a xlink:title="at lease.go:59: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M116.0315,-631C143.3741,-631 186.5488,-631 223.628,-631"/>
<polygon fill="#8b4513" stroke="#8b4513" points="223.9065,-634.5001 233.9064,-631 223.9064,-627.5001 223.9065,-634.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease | defined in lease.go:86&#10;at lease.go:87: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at lease.go:87: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:105: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:103: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time]&#10;at lease.go:94: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at lease.go:102: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID]&#10;at lease.go:103: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date]&#10;at lease.go:90: calling [github.com/samber/oops.Errorf]&#10;at lease.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at lease.go:101: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease | defined in lease.go:86&#10;at lease.go:87: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:105: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:94: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at lease.go:102: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID]&#10;at lease.go:90: calling [github.com/samber/oops.Errorf]&#10;at lease.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at lease.go:101: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at lease.go:87: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at lease.go:103: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time]&#10;at lease.go:103: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M325.7915,-387C325.7915,-387 263.9759,-387 263.9759,-387 257.9759,-387 251.9759,-381 251.9759,-375 251.9759,-375 251.9759,-363 251.9759,-363 251.9759,-357 257.9759,-351 263.9759,-351 263.9759,-351 325.7915,-351 325.7915,-351 331.7915,-351 337.7915,-357 337.7915,-363 337.7915,-363 337.7915,-375 337.7915,-375 337.7915,-381 331.7915,-387 325.7915,-387"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M325.7915,-387C325.7915,-387 263.9759,-387 263.9759,-387 257.9759,-387 251.9759,-381 251.9759,-375 251.9759,-375 251.9759,-363 251.9759,-363 251.9759,-357 257.9759,-351 263.9759,-351 263.9759,-351 325.7915,-351 325.7915,-351 331.7915,-351 337.7915,-357 337.7915,-363 337.7915,-363 337.7915,-375 337.7915,-375 337.7915,-381 331.7915,-387 325.7915,-387"/>
<text text-anchor="middle" x="294.8837" y="-364.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadLease</text> <text text-anchor="middle" x="294.8837" y="-364.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadLease</text>
</a> </a>
@ -149,18 +149,18 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge20" class="edge"> <g id="edge11" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge20"><a xlink:title="at lease.go:90: calling [github.com/samber/oops.Errorf]"> <g id="a_edge11"><a xlink:title="at lease.go:90: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M337.6588,-376.0201C366.587,-380.7677 404.4919,-386.9885 432.5907,-391.5999"/> <path fill="none" stroke="#8b4513" d="M337.6588,-376.0201C366.587,-380.7677 404.4919,-386.9885 432.5907,-391.5999"/>
<polygon fill="#8b4513" stroke="#8b4513" points="432.0296,-395.0546 442.4644,-393.2204 433.1633,-388.147 432.0296,-395.0546"/> <polygon fill="#8b4513" stroke="#8b4513" points="432.0296,-395.0546 442.4644,-393.2204 433.1633,-388.147 432.0296,-395.0546"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge21" class="edge"> <g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge21"><a xlink:title="at lease.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at lease.go:101: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge12"><a xlink:title="at lease.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at lease.go:101: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M318.3701,-350.8669C343.1701,-332.0326 383.6938,-302.138 420.4784,-279 423.0503,-277.3822 425.7221,-275.7587 428.4351,-274.153"/> <path fill="none" stroke="#8b4513" d="M318.3701,-350.8669C343.1701,-332.0326 383.6938,-302.138 420.4784,-279 423.0503,-277.3822 425.7221,-275.7587 428.4351,-274.153"/>
<polygon fill="#8b4513" stroke="#8b4513" points="430.2552,-277.1437 437.1676,-269.1144 426.7568,-271.0806 430.2552,-277.1437"/> <polygon fill="#8b4513" stroke="#8b4513" points="430.2552,-277.1437 437.1676,-269.1144 426.7568,-271.0806 430.2552,-277.1437"/>
</a> </a>
@ -177,9 +177,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge1" class="edge"> <g id="edge16" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge1"><a xlink:title="at lease.go:87: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge16"><a xlink:title="at lease.go:87: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M307.2224,-350.978C328.0967,-321.3722 372.7872,-261.6747 420.4784,-221 423.4579,-218.4588 426.6695,-215.9933 429.98,-213.6363"/> <path fill="none" stroke="#8b4513" d="M307.2224,-350.978C328.0967,-321.3722 372.7872,-261.6747 420.4784,-221 423.4579,-218.4588 426.6695,-215.9933 429.98,-213.6363"/>
<polygon fill="#8b4513" stroke="#8b4513" points="431.9897,-216.5027 438.337,-208.0196 428.085,-210.6929 431.9897,-216.5027"/> <polygon fill="#8b4513" stroke="#8b4513" points="431.9897,-216.5027 438.337,-208.0196 428.085,-210.6929 431.9897,-216.5027"/>
</a> </a>
@ -196,9 +196,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge11" class="edge"> <g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge11"><a xlink:title="at lease.go:94: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge5"><a xlink:title="at lease.go:94: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M302.195,-350.8225C318.5463,-311.936 361.3321,-219.39 420.4784,-160 424.323,-156.1395 428.7403,-152.5587 433.3336,-149.3051"/> <path fill="none" stroke="#8b4513" d="M302.195,-350.8225C318.5463,-311.936 361.3321,-219.39 420.4784,-160 424.323,-156.1395 428.7403,-152.5587 433.3336,-149.3051"/>
<polygon fill="#8b4513" stroke="#8b4513" points="435.2645,-152.2244 441.706,-143.8125 431.4248,-146.3714 435.2645,-152.2244"/> <polygon fill="#8b4513" stroke="#8b4513" points="435.2645,-152.2244 441.706,-143.8125 431.4248,-146.3714 435.2645,-152.2244"/>
</a> </a>
@ -224,9 +224,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time -->
<g id="edge5" class="edge"> <g id="edge17" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time</title>
<g id="a_edge5"><a xlink:title="at lease.go:103: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time]"> <g id="a_edge17"><a xlink:title="at lease.go:103: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time]">
<path fill="none" stroke="#8b4513" d="M337.6588,-361.2537C367.2238,-355.8997 406.165,-348.8477 434.4318,-343.7287"/> <path fill="none" stroke="#8b4513" d="M337.6588,-361.2537C367.2238,-355.8997 406.165,-348.8477 434.4318,-343.7287"/>
<polygon fill="#8b4513" stroke="#8b4513" points="435.1096,-347.163 444.3258,-341.937 433.8621,-340.275 435.1096,-347.163"/> <polygon fill="#8b4513" stroke="#8b4513" points="435.1096,-347.163 444.3258,-341.937 433.8621,-340.275 435.1096,-347.163"/>
</a> </a>
@ -242,9 +242,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID -->
<g id="edge12" class="edge"> <g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID</title>
<g id="a_edge12"><a xlink:title="at lease.go:102: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID]"> <g id="a_edge7"><a xlink:title="at lease.go:102: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID]">
<path fill="none" stroke="#000000" d="M331.0643,-387.2334C350.0917,-397.5256 373.3679,-411.2598 392.4784,-426 406.4138,-436.7486 405.913,-444.1219 420.4784,-454 421.3978,-454.6235 422.3378,-455.2355 423.2946,-455.8356"/> <path fill="none" stroke="#000000" d="M331.0643,-387.2334C350.0917,-397.5256 373.3679,-411.2598 392.4784,-426 406.4138,-436.7486 405.913,-444.1219 420.4784,-454 421.3978,-454.6235 422.3378,-455.2355 423.2946,-455.8356"/>
<polygon fill="#000000" stroke="#000000" points="421.8337,-459.0304 432.2603,-460.9108 425.2821,-452.9387 421.8337,-459.0304"/> <polygon fill="#000000" stroke="#000000" points="421.8337,-459.0304 432.2603,-460.9108 425.2821,-452.9387 421.8337,-459.0304"/>
</a> </a>
@ -260,9 +260,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date -->
<g id="edge15" class="edge"> <g id="edge20" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date</title>
<g id="a_edge15"><a xlink:title="at lease.go:103: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date]"> <g id="a_edge20"><a xlink:title="at lease.go:103: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date]">
<path fill="none" stroke="#000000" d="M310.1973,-387.1448C338.0609,-419.931 396.3908,-487.4572 420.4784,-507 425.1874,-510.8206 430.4372,-514.472 435.7291,-517.8298"/> <path fill="none" stroke="#000000" d="M310.1973,-387.1448C338.0609,-419.931 396.3908,-487.4572 420.4784,-507 425.1874,-510.8206 430.4372,-514.472 435.7291,-517.8298"/>
<polygon fill="#000000" stroke="#000000" points="434.2176,-521.0058 444.5867,-523.1814 437.8375,-515.0144 434.2176,-521.0058"/> <polygon fill="#000000" stroke="#000000" points="434.2176,-521.0058 444.5867,-523.1814 437.8375,-515.0144 434.2176,-521.0058"/>
</a> </a>
@ -271,43 +271,43 @@
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes | defined in lease.go:140&#10;at lease.go:141: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:156: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at lease.go:141: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at lease.go:144: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease]&#10;at lease.go:154: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date]&#10;at lease.go:152: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at lease.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at lease.go:153: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID]&#10;at lease.go:154: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time]"> <g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes | defined in lease.go:140&#10;at lease.go:153: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID]&#10;at lease.go:154: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date]&#10;at lease.go:152: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at lease.go:144: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease]&#10;at lease.go:154: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time]&#10;at lease.go:141: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:156: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at lease.go:141: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at lease.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M149.4338,-343C149.4338,-343 27.8552,-343 27.8552,-343 21.8552,-343 15.8552,-337 15.8552,-331 15.8552,-331 15.8552,-319 15.8552,-319 15.8552,-313 21.8552,-307 27.8552,-307 27.8552,-307 149.4338,-307 149.4338,-307 155.4338,-307 161.4338,-313 161.4338,-319 161.4338,-319 161.4338,-331 161.4338,-331 161.4338,-337 155.4338,-343 149.4338,-343"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M149.4338,-343C149.4338,-343 27.8552,-343 27.8552,-343 21.8552,-343 15.8552,-337 15.8552,-331 15.8552,-331 15.8552,-319 15.8552,-319 15.8552,-313 21.8552,-307 27.8552,-307 27.8552,-307 149.4338,-307 149.4338,-307 155.4338,-307 161.4338,-313 161.4338,-319 161.4338,-319 161.4338,-331 161.4338,-331 161.4338,-337 155.4338,-343 149.4338,-343"/>
<text text-anchor="middle" x="88.6445" y="-320.8" font-family="Verdana" font-size="14.00" fill="#000000">NewLeaseFromBytes</text> <text text-anchor="middle" x="88.6445" y="-320.8" font-family="Verdana" font-size="14.00" fill="#000000">NewLeaseFromBytes</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease -->
<g id="edge7" class="edge"> <g id="edge8" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease</title>
<g id="a_edge7"><a xlink:title="at lease.go:144: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease]"> <g id="a_edge8"><a xlink:title="at lease.go:144: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.ReadLease]">
<path fill="none" stroke="#000000" d="M161.3567,-340.5128C187.96,-346.1884 217.5285,-352.4967 242.065,-357.7314"/> <path fill="none" stroke="#000000" d="M161.3567,-340.5128C187.96,-346.1884 217.5285,-352.4967 242.065,-357.7314"/>
<polygon fill="#000000" stroke="#000000" points="241.3891,-361.1659 251.8993,-359.8295 242.8497,-354.32 241.3891,-361.1659"/> <polygon fill="#000000" stroke="#000000" points="241.3891,-361.1659 251.8993,-359.8295 242.8497,-354.32 241.3891,-361.1659"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge9" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge9"><a xlink:title="at lease.go:152: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge3"><a xlink:title="at lease.go:152: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M161.5746,-310.907C236.6049,-296.4081 351.6733,-274.1723 418.4891,-261.2608"/> <path fill="none" stroke="#8b4513" d="M161.5746,-310.907C236.6049,-296.4081 351.6733,-274.1723 418.4891,-261.2608"/>
<polygon fill="#8b4513" stroke="#8b4513" points="419.2313,-264.6822 428.3856,-259.3484 417.9032,-257.8093 419.2313,-264.6822"/> <polygon fill="#8b4513" stroke="#8b4513" points="419.2313,-264.6822 428.3856,-259.3484 417.9032,-257.8093 419.2313,-264.6822"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge6" class="edge"> <g id="edge18" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge6"><a xlink:title="at lease.go:141: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge18"><a xlink:title="at lease.go:141: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M131.6983,-306.9985C160.5438,-295.1498 199.4725,-279.5661 234.289,-267 298.3208,-243.8894 373.1745,-220.1322 421.4259,-205.2336"/> <path fill="none" stroke="#8b4513" d="M131.6983,-306.9985C160.5438,-295.1498 199.4725,-279.5661 234.289,-267 298.3208,-243.8894 373.1745,-220.1322 421.4259,-205.2336"/>
<polygon fill="#8b4513" stroke="#8b4513" points="422.4801,-208.5713 431.0074,-202.2837 420.4203,-201.8812 422.4801,-208.5713"/> <polygon fill="#8b4513" stroke="#8b4513" points="422.4801,-208.5713 431.0074,-202.2837 420.4203,-201.8812 422.4801,-208.5713"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge3" class="edge"> <g id="edge21" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge3"><a xlink:title="at lease.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge21"><a xlink:title="at lease.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M110.1613,-306.7367C137.5881,-284.1253 187.1201,-245.4882 234.289,-220 300.4279,-184.2611 383.6425,-155.7852 431.9066,-140.7353"/> <path fill="none" stroke="#8b4513" d="M110.1613,-306.7367C137.5881,-284.1253 187.1201,-245.4882 234.289,-220 300.4279,-184.2611 383.6425,-155.7852 431.9066,-140.7353"/>
<polygon fill="#8b4513" stroke="#8b4513" points="433.1312,-144.0204 441.6564,-137.7298 431.0691,-137.331 433.1312,-144.0204"/> <polygon fill="#8b4513" stroke="#8b4513" points="433.1312,-144.0204 441.6564,-137.7298 431.0691,-137.331 433.1312,-144.0204"/>
</a> </a>
@ -324,45 +324,45 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge13" class="edge"> <g id="edge14" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge13"><a xlink:title="at lease.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge14"><a xlink:title="at lease.go:146: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M100.3322,-306.9586C122.6518,-273.7923 174.4797,-202.7183 234.289,-161 292.4697,-120.4177 370.8398,-94.1922 421.2975,-80.2568"/> <path fill="none" stroke="#8b4513" d="M100.3322,-306.9586C122.6518,-273.7923 174.4797,-202.7183 234.289,-161 292.4697,-120.4177 370.8398,-94.1922 421.2975,-80.2568"/>
<polygon fill="#8b4513" stroke="#8b4513" points="422.2627,-83.6217 431.0026,-77.633 420.4357,-76.8642 422.2627,-83.6217"/> <polygon fill="#8b4513" stroke="#8b4513" points="422.2627,-83.6217 431.0026,-77.633 420.4357,-76.8642 422.2627,-83.6217"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge2" class="edge"> <g id="edge13" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge2"><a xlink:title="at lease.go:141: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:156: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge13"><a xlink:title="at lease.go:141: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at lease.go:156: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M93.688,-343.148C107.5783,-389.5488 151.0006,-513.0699 234.289,-573 242.2772,-578.7479 365.2091,-602.7768 430.9004,-615.3129"/> <path fill="none" stroke="#8b4513" d="M93.688,-343.148C107.5783,-389.5488 151.0006,-513.0699 234.289,-573 242.2772,-578.7479 365.2091,-602.7768 430.9004,-615.3129"/>
<polygon fill="#8b4513" stroke="#8b4513" points="430.4474,-618.7895 440.9256,-617.2217 431.7567,-611.913 430.4474,-618.7895"/> <polygon fill="#8b4513" stroke="#8b4513" points="430.4474,-618.7895 440.9256,-617.2217 431.7567,-611.913 430.4474,-618.7895"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time -->
<g id="edge16" class="edge"> <g id="edge9" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time</title>
<g id="a_edge16"><a xlink:title="at lease.go:154: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time]"> <g id="a_edge9"><a xlink:title="at lease.go:154: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Time]">
<path fill="none" stroke="#8b4513" d="M161.5746,-327.2854C242.8097,-329.831 370.9788,-333.8473 434.0257,-335.8229"/> <path fill="none" stroke="#8b4513" d="M161.5746,-327.2854C242.8097,-329.831 370.9788,-333.8473 434.0257,-335.8229"/>
<polygon fill="#8b4513" stroke="#8b4513" points="434.1875,-339.3296 444.2922,-336.1447 434.4068,-332.3331 434.1875,-339.3296"/> <polygon fill="#8b4513" stroke="#8b4513" points="434.1875,-339.3296 444.2922,-336.1447 434.4068,-332.3331 434.1875,-339.3296"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID -->
<g id="edge14" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID</title>
<g id="a_edge14"><a xlink:title="at lease.go:153: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID]"> <g id="a_edge1"><a xlink:title="at lease.go:153: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID]">
<path fill="none" stroke="#000000" d="M120.0301,-343.0897C149.0494,-359.3469 193.693,-383.1825 234.289,-400 297.7185,-426.2766 373.7071,-449.1832 422.303,-462.7987"/> <path fill="none" stroke="#000000" d="M120.0301,-343.0897C149.0494,-359.3469 193.693,-383.1825 234.289,-400 297.7185,-426.2766 373.7071,-449.1832 422.303,-462.7987"/>
<polygon fill="#000000" stroke="#000000" points="421.6706,-466.2555 432.2426,-465.561 423.5449,-459.5111 421.6706,-466.2555"/> <polygon fill="#000000" stroke="#000000" points="421.6706,-466.2555 432.2426,-465.561 423.5449,-459.5111 421.6706,-466.2555"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date -->
<g id="edge8" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.NewLeaseFromBytes&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date</title>
<g id="a_edge8"><a xlink:title="at lease.go:154: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date]"> <g id="a_edge2"><a xlink:title="at lease.go:154: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).Date]">
<path fill="none" stroke="#000000" d="M111.4694,-343.1579C139.4194,-364.9089 188.6801,-401.7 234.289,-428 302.488,-467.3264 387.3499,-503.4535 434.8903,-522.6271"/> <path fill="none" stroke="#000000" d="M111.4694,-343.1579C139.4194,-364.9089 188.6801,-401.7 234.289,-428 302.488,-467.3264 387.3499,-503.4535 434.8903,-522.6271"/>
<polygon fill="#000000" stroke="#000000" points="433.8645,-525.9865 444.449,-526.4562 436.4676,-519.4885 433.8645,-525.9865"/> <polygon fill="#000000" stroke="#000000" points="433.8645,-525.9865 444.449,-526.4562 436.4676,-519.4885 433.8645,-525.9865"/>
</a> </a>
@ -379,9 +379,9 @@
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int -->
<g id="edge19" class="edge"> <g id="edge6" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/lease.Lease).TunnelID&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int</title>
<g id="a_edge19"><a xlink:title="at lease.go:73: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]"> <g id="a_edge6"><a xlink:title="at lease.go:73: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Int]">
<path fill="none" stroke="#8b4513" d="M511.1557,-476C534.257,-476 563.2443,-476 586.0141,-476"/> <path fill="none" stroke="#8b4513" d="M511.1557,-476C534.257,-476 563.2443,-476 586.0141,-476"/>
<polygon fill="#8b4513" stroke="#8b4513" points="586.3165,-479.5001 596.3164,-476 586.3164,-472.5001 586.3165,-479.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="586.3165,-479.5001 596.3164,-476 586.3164,-472.5001 586.3165,-479.5001"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 135 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 156 KiB

View File

@ -4,150 +4,141 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304) <!-- Generated by graphviz version 2.40.1 (20161225.0304)
--> -->
<!-- Title: gocallvis Pages: 1 --> <!-- Title: gocallvis Pages: 1 -->
<svg width="435pt" height="723pt" <svg width="435pt" height="714pt"
viewBox="0.00 0.00 435.23 723.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> viewBox="0.00 0.00 435.23 714.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 723)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 714)">
<title>gocallvis</title> <title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-723 435.2274,-723 435.2274,0 0,0"/> <polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-714 435.2274,-714 435.2274,0 0,0"/>
<g id="clust1" class="cluster"> <g id="clust1" class="cluster">
<title>cluster_focus</title> <title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-715 427.2274,-715 427.2274,-8 8,-8"/> <polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-706 427.2274,-706 427.2274,-8 8,-8"/>
<text text-anchor="middle" x="217.6137" y="-694.8" font-family="Arial" font-size="18.00" fill="#000000">router_identity</text> <text text-anchor="middle" x="217.6137" y="-685.8" font-family="Arial" font-size="18.00" fill="#000000">router_identity</text>
</g> </g>
<g id="clust4" class="cluster"> <g id="clust4" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate</title> <title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate</title>
<g id="a_clust4"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate"> <g id="a_clust4"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M247.606,-16C247.606,-16 395.0366,-16 395.0366,-16 401.0366,-16 407.0366,-22 407.0366,-28 407.0366,-28 407.0366,-143 407.0366,-143 407.0366,-149 401.0366,-155 395.0366,-155 395.0366,-155 247.606,-155 247.606,-155 241.606,-155 235.606,-149 235.606,-143 235.606,-143 235.606,-28 235.606,-28 235.606,-22 241.606,-16 247.606,-16"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M247.606,-415C247.606,-415 395.0366,-415 395.0366,-415 401.0366,-415 407.0366,-421 407.0366,-427 407.0366,-427 407.0366,-542 407.0366,-542 407.0366,-548 401.0366,-554 395.0366,-554 395.0366,-554 247.606,-554 247.606,-554 241.606,-554 235.606,-548 235.606,-542 235.606,-542 235.606,-427 235.606,-427 235.606,-421 241.606,-415 247.606,-415"/>
<text text-anchor="middle" x="321.3213" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(KeyCertificate)</text> <text text-anchor="middle" x="321.3213" y="-423.5" font-family="Arial" font-size="15.00" fill="#222222">(KeyCertificate)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust3" class="cluster"> <g id="clust3" class="cluster">
<title>cluster_*github.com/sirupsen/logrus.Logger</title> <title>cluster_*github.com/sirupsen/logrus.Logger</title>
<g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger"> <g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M294.6607,-277C294.6607,-277 348.9819,-277 348.9819,-277 354.9819,-277 360.9819,-283 360.9819,-289 360.9819,-289 360.9819,-343 360.9819,-343 360.9819,-349 354.9819,-355 348.9819,-355 348.9819,-355 294.6607,-355 294.6607,-355 288.6607,-355 282.6607,-349 282.6607,-343 282.6607,-343 282.6607,-289 282.6607,-289 282.6607,-283 288.6607,-277 294.6607,-277"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M294.6607,-121C294.6607,-121 348.9819,-121 348.9819,-121 354.9819,-121 360.9819,-127 360.9819,-133 360.9819,-133 360.9819,-187 360.9819,-187 360.9819,-193 354.9819,-199 348.9819,-199 348.9819,-199 294.6607,-199 294.6607,-199 288.6607,-199 282.6607,-193 282.6607,-187 282.6607,-187 282.6607,-133 282.6607,-133 282.6607,-127 288.6607,-121 294.6607,-121"/>
<text text-anchor="middle" x="321.8213" y="-285.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text> <text text-anchor="middle" x="321.8213" y="-129.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust2" class="cluster"> <g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/logger.Logger</title> <title>cluster_*github.com/go&#45;i2p/logger.Logger</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/logger.Logger"> <g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/logger.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M282.2119,-363C282.2119,-363 360.4307,-363 360.4307,-363 366.4307,-363 372.4307,-369 372.4307,-375 372.4307,-375 372.4307,-551 372.4307,-551 372.4307,-557 366.4307,-563 360.4307,-563 360.4307,-563 282.2119,-563 282.2119,-563 276.2119,-563 270.2119,-557 270.2119,-551 270.2119,-551 270.2119,-375 270.2119,-375 270.2119,-369 276.2119,-363 282.2119,-363"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M282.2119,-207C282.2119,-207 360.4307,-207 360.4307,-207 366.4307,-207 372.4307,-213 372.4307,-219 372.4307,-219 372.4307,-395 372.4307,-395 372.4307,-401 366.4307,-407 360.4307,-407 360.4307,-407 282.2119,-407 282.2119,-407 276.2119,-407 270.2119,-401 270.2119,-395 270.2119,-395 270.2119,-219 270.2119,-219 270.2119,-213 276.2119,-207 282.2119,-207"/>
<text text-anchor="middle" x="321.3213" y="-371.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text> <text text-anchor="middle" x="321.3213" y="-215.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.init --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.init</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.init | defined in .:0&#10;at router_identity.go:14: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity | defined in router_identity.go:55&#10;at router_identity.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:60: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate]&#10;at router_identity.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at router_identity.go:69: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at router_identity.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at router_identity.go:69: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at router_identity.go:67: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert]&#10;at router_identity.go:79: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]&#10;at router_identity.go:78: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at router_identity.go:80: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M98.2076,-677C98.2076,-677 68.2076,-677 68.2076,-677 62.2076,-677 56.2076,-671 56.2076,-665 56.2076,-665 56.2076,-653 56.2076,-653 56.2076,-647 62.2076,-641 68.2076,-641 68.2076,-641 98.2076,-641 98.2076,-641 104.2076,-641 110.2076,-647 110.2076,-653 110.2076,-653 110.2076,-665 110.2076,-665 110.2076,-671 104.2076,-677 98.2076,-677"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M137.2848,-470C137.2848,-470 29.1304,-470 29.1304,-470 23.1304,-470 17.1304,-464 17.1304,-458 17.1304,-458 17.1304,-446 17.1304,-446 17.1304,-440 23.1304,-434 29.1304,-434 29.1304,-434 137.2848,-434 137.2848,-434 143.2848,-434 149.2848,-440 149.2848,-446 149.2848,-446 149.2848,-458 149.2848,-458 149.2848,-464 143.2848,-470 137.2848,-470"/>
<text text-anchor="middle" x="83.2076" y="-654.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text> <text text-anchor="middle" x="83.2076" y="-447.8" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterIdentity</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120"> <g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate | defined in key_certificate.go:399">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M370.0108,-677C370.0108,-677 272.6318,-677 272.6318,-677 266.6318,-677 260.6318,-671 260.6318,-665 260.6318,-665 260.6318,-653 260.6318,-653 260.6318,-647 266.6318,-641 272.6318,-641 272.6318,-641 370.0108,-641 370.0108,-641 376.0108,-641 382.0108,-647 382.0108,-653 382.0108,-653 382.0108,-665 382.0108,-665 382.0108,-671 376.0108,-677 370.0108,-677"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M407.1336,-607C407.1336,-607 235.509,-607 235.509,-607 229.509,-607 223.509,-601 223.509,-595 223.509,-595 223.509,-583 223.509,-583 223.509,-577 229.509,-571 235.509,-571 235.509,-571 407.1336,-571 407.1336,-571 413.1336,-571 419.1336,-577 419.1336,-583 419.1336,-583 419.1336,-595 419.1336,-595 419.1336,-601 413.1336,-607 407.1336,-607"/>
<text text-anchor="middle" x="321.3213" y="-663.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="321.3213" y="-593.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
<text text-anchor="middle" x="321.3213" y="-646.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text> <text text-anchor="middle" x="321.3213" y="-576.4" font-family="Verdana" font-size="14.00" fill="#000000">KeyCertificateFromCertificate</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate -->
<g id="edge4" class="edge"> <g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title>
<g id="a_edge4"><a xlink:title="at router_identity.go:14: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_edge7"><a xlink:title="at router_identity.go:60: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate]">
<path fill="none" stroke="#8b4513" d="M110.5223,-659C144.4368,-659 203.5523,-659 250.5669,-659"/> <path fill="none" stroke="#8b4513" d="M102.0525,-470.2496C127.5926,-494.0558 175.5282,-535.5446 223.4152,-560 228.624,-562.6601 234.1163,-565.1162 239.7326,-567.3767"/>
<polygon fill="#8b4513" stroke="#8b4513" points="250.7058,-662.5001 260.7058,-659 250.7058,-655.5001 250.7058,-662.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="238.682,-570.7215 249.2732,-570.9978 241.166,-564.177 238.682,-570.7215"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity | defined in router_identity.go:37&#10;at router_identity.go:40: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:51: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:38: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at router_identity.go:49: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at router_identity.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at router_identity.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at router_identity.go:41: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]"> <g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert | defined in keys_and_cert.go:306">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M138.6234,-494C138.6234,-494 27.7918,-494 27.7918,-494 21.7918,-494 15.7918,-488 15.7918,-482 15.7918,-482 15.7918,-470 15.7918,-470 15.7918,-464 21.7918,-458 27.7918,-458 27.7918,-458 138.6234,-458 138.6234,-458 144.6234,-458 150.6234,-464 150.6234,-470 150.6234,-470 150.6234,-482 150.6234,-482 150.6234,-488 144.6234,-494 138.6234,-494"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M373.2245,-668C373.2245,-668 269.4181,-668 269.4181,-668 263.4181,-668 257.4181,-662 257.4181,-656 257.4181,-656 257.4181,-644 257.4181,-644 257.4181,-638 263.4181,-632 269.4181,-632 269.4181,-632 373.2245,-632 373.2245,-632 379.2245,-632 385.2245,-638 385.2245,-644 385.2245,-644 385.2245,-656 385.2245,-656 385.2245,-662 379.2245,-668 373.2245,-668"/>
<text text-anchor="middle" x="83.2076" y="-471.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadRouterIdentity</text> <text text-anchor="middle" x="321.3213" y="-654.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
<text text-anchor="middle" x="321.3213" y="-637.4" font-family="Verdana" font-size="14.00" fill="#000000">NewKeysAndCert</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert -->
<g id="node4" class="node"> <g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert | defined in keys_and_cert.go:145"> <g id="a_edge10"><a xlink:title="at router_identity.go:67: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert]">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M374.0622,-616C374.0622,-616 268.5804,-616 268.5804,-616 262.5804,-616 256.5804,-610 256.5804,-604 256.5804,-604 256.5804,-592 256.5804,-592 256.5804,-586 262.5804,-580 268.5804,-580 268.5804,-580 374.0622,-580 374.0622,-580 380.0622,-580 386.0622,-586 386.0622,-592 386.0622,-592 386.0622,-604 386.0622,-604 386.0622,-610 380.0622,-616 374.0622,-616"/> <path fill="none" stroke="#8b4513" d="M93.4059,-470.1448C113.665,-504.5457 162.3415,-579.4315 223.4152,-620 230.9732,-625.0205 239.4092,-629.2315 248.0727,-632.7564"/>
<text text-anchor="middle" x="321.3213" y="-602.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text> <polygon fill="#8b4513" stroke="#8b4513" points="246.94,-636.0697 257.5319,-636.3177 249.4065,-629.5186 246.94,-636.0697"/>
<text text-anchor="middle" x="321.3213" y="-585.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCert</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
<g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
<g id="a_edge12"><a xlink:title="at router_identity.go:41: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]">
<path fill="none" stroke="#8b4513" d="M105.7577,-494.0532C132.4636,-514.6754 178.9508,-548.2396 223.4152,-569 230.781,-572.4391 238.6493,-575.5766 246.6038,-578.4102"/>
<polygon fill="#8b4513" stroke="#8b4513" points="245.7269,-581.8088 256.3213,-581.7158 247.9812,-575.1817 245.7269,-581.8088"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="node8" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M352.5404,-494C352.5404,-494 290.1022,-494 290.1022,-494 284.1022,-494 278.1022,-488 278.1022,-482 278.1022,-482 278.1022,-470 278.1022,-470 278.1022,-464 284.1022,-458 290.1022,-458 290.1022,-458 352.5404,-458 352.5404,-458 358.5404,-458 364.5404,-464 364.5404,-470 364.5404,-470 364.5404,-482 364.5404,-482 364.5404,-488 358.5404,-494 352.5404,-494"/>
<text text-anchor="middle" x="321.3213" y="-480.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="321.3213" y="-463.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge8" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge8"><a xlink:title="at router_identity.go:38: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at router_identity.go:49: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M150.4867,-476C187.5024,-476 232.8113,-476 267.4645,-476"/>
<polygon fill="#8b4513" stroke="#8b4513" points="267.8559,-479.5001 277.8558,-476 267.8558,-472.5001 267.8559,-479.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="node9" class="node"> <g id="node8" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66"> <g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M349.8528,-555C349.8528,-555 292.7898,-555 292.7898,-555 286.7898,-555 280.7898,-549 280.7898,-543 280.7898,-543 280.7898,-531 280.7898,-531 280.7898,-525 286.7898,-519 292.7898,-519 292.7898,-519 349.8528,-519 349.8528,-519 355.8528,-519 361.8528,-525 361.8528,-531 361.8528,-531 361.8528,-543 361.8528,-543 361.8528,-549 355.8528,-555 349.8528,-555"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M349.8528,-399C349.8528,-399 292.7898,-399 292.7898,-399 286.7898,-399 280.7898,-393 280.7898,-387 280.7898,-387 280.7898,-375 280.7898,-375 280.7898,-369 286.7898,-363 292.7898,-363 292.7898,-363 349.8528,-363 349.8528,-363 355.8528,-363 361.8528,-369 361.8528,-375 361.8528,-375 361.8528,-387 361.8528,-387 361.8528,-393 355.8528,-399 349.8528,-399"/>
<text text-anchor="middle" x="321.3213" y="-541.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="321.3213" y="-385.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="321.3213" y="-524.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text> <text text-anchor="middle" x="321.3213" y="-368.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge9" class="edge"> <g id="edge8" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge9"><a xlink:title="at router_identity.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge8"><a xlink:title="at router_identity.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at router_identity.go:69: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M150.4867,-493.2356C188.6633,-503.0157 235.6615,-515.0557 270.6929,-524.03"/> <path fill="none" stroke="#8b4513" d="M141.116,-433.9695C166.3601,-426.1795 196.3184,-417.029 223.4152,-409 238.8495,-404.4267 255.6905,-399.5644 270.9849,-395.1972"/>
<polygon fill="#8b4513" stroke="#8b4513" points="270.1414,-527.5017 280.6972,-526.5929 271.8786,-520.7207 270.1414,-527.5017"/> <polygon fill="#8b4513" stroke="#8b4513" points="272.123,-398.5123 280.7818,-392.4069 270.2055,-391.7801 272.123,-398.5123"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="node10" class="node"> <g id="node9" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42"> <g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M339.0876,-433C339.0876,-433 303.555,-433 303.555,-433 297.555,-433 291.555,-427 291.555,-421 291.555,-421 291.555,-409 291.555,-409 291.555,-403 297.555,-397 303.555,-397 303.555,-397 339.0876,-397 339.0876,-397 345.0876,-397 351.0876,-403 351.0876,-409 351.0876,-409 351.0876,-421 351.0876,-421 351.0876,-427 345.0876,-433 339.0876,-433"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M339.0876,-338C339.0876,-338 303.555,-338 303.555,-338 297.555,-338 291.555,-332 291.555,-326 291.555,-326 291.555,-314 291.555,-314 291.555,-308 297.555,-302 303.555,-302 303.555,-302 339.0876,-302 339.0876,-302 345.0876,-302 351.0876,-308 351.0876,-314 351.0876,-314 351.0876,-326 351.0876,-326 351.0876,-332 345.0876,-338 339.0876,-338"/>
<text text-anchor="middle" x="321.3213" y="-419.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="321.3213" y="-324.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="321.3213" y="-402.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text> <text text-anchor="middle" x="321.3213" y="-307.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge10" class="edge"> <g id="edge9" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge10"><a xlink:title="at router_identity.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge9"><a xlink:title="at router_identity.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at router_identity.go:69: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M150.4867,-458.7644C192.6687,-447.9582 245.6205,-434.393 281.3,-425.2527"/> <path fill="none" stroke="#8b4513" d="M103.6944,-433.9938C129.8634,-411.7912 177.305,-374.1592 223.4152,-351 241.6978,-341.8174 263.2618,-334.6383 281.492,-329.5116"/>
<polygon fill="#8b4513" stroke="#8b4513" points="282.5155,-428.5544 291.3341,-422.6821 280.7783,-421.7733 282.5155,-428.5544"/> <polygon fill="#8b4513" stroke="#8b4513" points="282.4965,-332.8657 291.2349,-326.8749 280.6678,-326.1088 282.4965,-332.8657"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="node10" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M352.5404,-277C352.5404,-277 290.1022,-277 290.1022,-277 284.1022,-277 278.1022,-271 278.1022,-265 278.1022,-265 278.1022,-253 278.1022,-253 278.1022,-247 284.1022,-241 290.1022,-241 290.1022,-241 352.5404,-241 352.5404,-241 358.5404,-241 364.5404,-247 364.5404,-253 364.5404,-253 364.5404,-265 364.5404,-265 364.5404,-271 358.5404,-277 352.5404,-277"/>
<text text-anchor="middle" x="321.3213" y="-263.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="321.3213" y="-246.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge12"><a xlink:title="at router_identity.go:78: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M94.0922,-433.7875C114.975,-400.3818 163.9127,-329.1556 223.4152,-290 236.8545,-281.1562 252.9837,-274.6955 268.2367,-270.0366"/>
<polygon fill="#8b4513" stroke="#8b4513" points="269.4378,-273.3337 278.0965,-267.2282 267.5202,-266.6015 269.4378,-273.3337"/>
</a> </a>
</g> </g>
</g> </g>
@ -155,92 +146,9 @@
<g id="node11" class="node"> <g id="node11" class="node">
<title>(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_node11"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221"> <g id="a_node11"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M340.1433,-347C340.1433,-347 302.4993,-347 302.4993,-347 296.4993,-347 290.4993,-341 290.4993,-335 290.4993,-335 290.4993,-323 290.4993,-323 290.4993,-317 296.4993,-311 302.4993,-311 302.4993,-311 340.1433,-311 340.1433,-311 346.1433,-311 352.1433,-317 352.1433,-323 352.1433,-323 352.1433,-335 352.1433,-335 352.1433,-341 346.1433,-347 340.1433,-347"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M340.1433,-191C340.1433,-191 302.4993,-191 302.4993,-191 296.4993,-191 290.4993,-185 290.4993,-179 290.4993,-179 290.4993,-167 290.4993,-167 290.4993,-161 296.4993,-155 302.4993,-155 302.4993,-155 340.1433,-155 340.1433,-155 346.1433,-155 352.1433,-161 352.1433,-167 352.1433,-167 352.1433,-179 352.1433,-179 352.1433,-185 346.1433,-191 340.1433,-191"/>
<text text-anchor="middle" x="321.3213" y="-333.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text> <text text-anchor="middle" x="321.3213" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
<text text-anchor="middle" x="321.3213" y="-316.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text> <text text-anchor="middle" x="321.3213" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge5"><a xlink:title="at router_identity.go:40: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:51: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M99.5433,-457.9298C124.0103,-431.9254 172.74,-384.105 223.4152,-357 241.1722,-347.5022 262.5106,-340.913 280.7278,-336.5245"/>
<polygon fill="#8b4513" stroke="#8b4513" points="281.5084,-339.9364 290.4848,-334.3084 279.9579,-333.1103 281.5084,-339.9364"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity -->
<g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity | defined in router_identity.go:55&#10;at router_identity.go:60: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate]&#10;at router_identity.go:79: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]&#10;at router_identity.go:78: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at router_identity.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at router_identity.go:69: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at router_identity.go:80: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]&#10;at router_identity.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at router_identity.go:69: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at router_identity.go:67: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M137.2848,-283C137.2848,-283 29.1304,-283 29.1304,-283 23.1304,-283 17.1304,-277 17.1304,-271 17.1304,-271 17.1304,-259 17.1304,-259 17.1304,-253 23.1304,-247 29.1304,-247 29.1304,-247 137.2848,-247 137.2848,-247 143.2848,-247 149.2848,-253 149.2848,-259 149.2848,-259 149.2848,-271 149.2848,-271 149.2848,-277 143.2848,-283 137.2848,-283"/>
<text text-anchor="middle" x="83.2076" y="-260.8" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterIdentity</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate -->
<g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate | defined in key_certificate.go:399">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M407.1336,-208C407.1336,-208 235.509,-208 235.509,-208 229.509,-208 223.509,-202 223.509,-196 223.509,-196 223.509,-184 223.509,-184 223.509,-178 229.509,-172 235.509,-172 235.509,-172 407.1336,-172 407.1336,-172 413.1336,-172 419.1336,-178 419.1336,-184 419.1336,-184 419.1336,-196 419.1336,-196 419.1336,-202 413.1336,-208 407.1336,-208"/>
<text text-anchor="middle" x="321.3213" y="-194.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
<text text-anchor="middle" x="321.3213" y="-177.4" font-family="Verdana" font-size="14.00" fill="#000000">KeyCertificateFromCertificate</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate -->
<g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title>
<g id="a_edge1"><a xlink:title="at router_identity.go:60: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate]">
<path fill="none" stroke="#8b4513" d="M140.5448,-246.9402C174.7587,-236.1636 218.372,-222.4265 254.1884,-211.1452"/>
<polygon fill="#8b4513" stroke="#8b4513" points="255.5828,-214.3756 264.0694,-208.033 253.4798,-207.699 255.5828,-214.3756"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert -->
<g id="node7" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert</title>
<g id="a_node7"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert | defined in keys_and_cert.go:306">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M373.2245,-269C373.2245,-269 269.4181,-269 269.4181,-269 263.4181,-269 257.4181,-263 257.4181,-257 257.4181,-257 257.4181,-245 257.4181,-245 257.4181,-239 263.4181,-233 269.4181,-233 269.4181,-233 373.2245,-233 373.2245,-233 379.2245,-233 385.2245,-239 385.2245,-245 385.2245,-245 385.2245,-257 385.2245,-257 385.2245,-263 379.2245,-269 373.2245,-269"/>
<text text-anchor="middle" x="321.3213" y="-255.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
<text text-anchor="middle" x="321.3213" y="-238.4" font-family="Verdana" font-size="14.00" fill="#000000">NewKeysAndCert</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert -->
<g id="edge14" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert</title>
<g id="a_edge14"><a xlink:title="at router_identity.go:67: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.NewKeysAndCert]">
<path fill="none" stroke="#8b4513" d="M149.5355,-261.1002C179.8257,-259.3193 215.8222,-257.2029 247.0201,-255.3686"/>
<polygon fill="#8b4513" stroke="#8b4513" points="247.6238,-258.8392 257.4011,-254.7582 247.2129,-251.8513 247.6238,-258.8392"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge3"><a xlink:title="at router_identity.go:78: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M100.9862,-283.0291C122.7337,-305.5725 160.0294,-345.8533 187.4152,-384 205.9978,-409.8843 198.46,-426.1872 223.4152,-446 236.2071,-456.1559 252.4275,-462.8861 267.9681,-467.3415"/>
<polygon fill="#8b4513" stroke="#8b4513" points="267.4809,-470.8309 278.0394,-469.954 269.2385,-464.0552 267.4809,-470.8309"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge13" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge13"><a xlink:title="at router_identity.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at router_identity.go:69: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M88.6134,-283.2699C102.8782,-328.2912 145.8673,-445.3717 223.4152,-507 236.9003,-517.7168 254.2024,-524.6188 270.5006,-529.0585"/>
<polygon fill="#8b4513" stroke="#8b4513" points="269.9286,-532.5222 280.4756,-531.5168 271.6036,-525.7255 269.9286,-532.5222"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge7"><a xlink:title="at router_identity.go:62: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at router_identity.go:69: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M108.0521,-283.0879C135.7079,-302.9666 181.9738,-335.4661 223.4152,-361 242.4141,-372.7061 264.0933,-384.7882 282.2141,-394.548"/>
<polygon fill="#8b4513" stroke="#8b4513" points="280.8642,-397.7952 291.3328,-399.4258 284.1659,-391.6227 280.8642,-397.7952"/>
</a> </a>
</g> </g>
</g> </g>
@ -248,8 +156,8 @@
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge6"><a xlink:title="at router_identity.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge6"><a xlink:title="at router_identity.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M140.2538,-283.0755C165.6054,-290.8525 195.8835,-299.7925 223.4152,-307 242.012,-311.8684 262.7669,-316.6273 280.3645,-320.4665"/> <path fill="none" stroke="#8b4513" d="M91.1824,-433.7522C114.3042,-381.5967 182.3341,-233.5443 223.4152,-201 239.6253,-188.1584 261.4636,-181.2062 280.4019,-177.4425"/>
<polygon fill="#8b4513" stroke="#8b4513" points="279.8074,-323.9268 290.3206,-322.6146 281.2837,-317.0842 279.8074,-323.9268"/> <polygon fill="#8b4513" stroke="#8b4513" points="281.0389,-180.8843 290.2824,-175.7065 279.8275,-173.9899 281.0389,-180.8843"/>
</a> </a>
</g> </g>
</g> </g>
@ -257,18 +165,18 @@
<g id="node12" class="node"> <g id="node12" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
<g id="a_node12"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType | defined in key_certificate.go:130"> <g id="a_node12"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType | defined in key_certificate.go:130">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M365.1882,-86C365.1882,-86 277.4544,-86 277.4544,-86 271.4544,-86 265.4544,-80 265.4544,-74 265.4544,-74 265.4544,-62 265.4544,-62 265.4544,-56 271.4544,-50 277.4544,-50 277.4544,-50 365.1882,-50 365.1882,-50 371.1882,-50 377.1882,-56 377.1882,-62 377.1882,-62 377.1882,-74 377.1882,-74 377.1882,-80 371.1882,-86 365.1882,-86"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M365.1882,-485C365.1882,-485 277.4544,-485 277.4544,-485 271.4544,-485 265.4544,-479 265.4544,-473 265.4544,-473 265.4544,-461 265.4544,-461 265.4544,-455 271.4544,-449 277.4544,-449 277.4544,-449 365.1882,-449 365.1882,-449 371.1882,-449 377.1882,-455 377.1882,-461 377.1882,-461 377.1882,-473 377.1882,-473 377.1882,-479 371.1882,-485 365.1882,-485"/>
<text text-anchor="middle" x="321.3213" y="-72.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text> <text text-anchor="middle" x="321.3213" y="-471.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
<text text-anchor="middle" x="321.3213" y="-55.4" font-family="Verdana" font-size="14.00" fill="#000000">PublicKeyType</text> <text text-anchor="middle" x="321.3213" y="-454.4" font-family="Verdana" font-size="14.00" fill="#000000">PublicKeyType</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType -->
<g id="edge2" class="edge"> <g id="edge11" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
<g id="a_edge2"><a xlink:title="at router_identity.go:79: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]"> <g id="a_edge11"><a xlink:title="at router_identity.go:79: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]">
<path fill="none" stroke="#8b4513" d="M93.6553,-246.8619C114.1629,-212.8463 162.9947,-139.2833 223.4152,-99 233.2083,-92.4708 244.4613,-87.2475 255.77,-83.0909"/> <path fill="none" stroke="#8b4513" d="M149.5355,-456.1783C182.5833,-458.2602 222.4236,-460.7699 255.4135,-462.8481"/>
<polygon fill="#8b4513" stroke="#8b4513" points="256.9242,-86.3952 265.2515,-79.8449 254.6569,-79.7725 256.9242,-86.3952"/> <polygon fill="#8b4513" stroke="#8b4513" points="255.2164,-466.3426 265.4167,-463.4783 255.6565,-459.3564 255.2164,-466.3426"/>
</a> </a>
</g> </g>
</g> </g>
@ -276,18 +184,110 @@
<g id="node13" class="node"> <g id="node13" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
<g id="a_node13"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType | defined in key_certificate.go:121"> <g id="a_node13"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType | defined in key_certificate.go:121">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M387.2525,-147C387.2525,-147 255.3901,-147 255.3901,-147 249.3901,-147 243.3901,-141 243.3901,-135 243.3901,-135 243.3901,-123 243.3901,-123 243.3901,-117 249.3901,-111 255.3901,-111 255.3901,-111 387.2525,-111 387.2525,-111 393.2525,-111 399.2525,-117 399.2525,-123 399.2525,-123 399.2525,-135 399.2525,-135 399.2525,-141 393.2525,-147 387.2525,-147"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M387.2525,-546C387.2525,-546 255.3901,-546 255.3901,-546 249.3901,-546 243.3901,-540 243.3901,-534 243.3901,-534 243.3901,-522 243.3901,-522 243.3901,-516 249.3901,-510 255.3901,-510 255.3901,-510 387.2525,-510 387.2525,-510 393.2525,-510 399.2525,-516 399.2525,-522 399.2525,-522 399.2525,-534 399.2525,-534 399.2525,-540 393.2525,-546 387.2525,-546"/>
<text text-anchor="middle" x="321.3213" y="-133.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text> <text text-anchor="middle" x="321.3213" y="-532.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
<text text-anchor="middle" x="321.3213" y="-116.4" font-family="Verdana" font-size="14.00" fill="#000000">SigningPublicKeyType</text> <text text-anchor="middle" x="321.3213" y="-515.4" font-family="Verdana" font-size="14.00" fill="#000000">SigningPublicKeyType</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType -->
<g id="edge11" class="edge"> <g id="edge14" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
<g id="a_edge11"><a xlink:title="at router_identity.go:80: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]"> <g id="a_edge14"><a xlink:title="at router_identity.go:80: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]">
<path fill="none" stroke="#8b4513" d="M99.9188,-246.9185C124.4754,-221.4855 172.8945,-175.5196 223.4152,-151 226.7874,-149.3634 230.2842,-147.8464 233.8611,-146.4406"/> <path fill="none" stroke="#8b4513" d="M137.3914,-470.0523C163.3747,-478.6386 194.967,-488.9758 223.4152,-498 232.6929,-500.943 242.4803,-503.9994 252.1351,-506.986"/>
<polygon fill="#8b4513" stroke="#8b4513" points="235.2636,-149.6556 243.4852,-142.9732 232.8908,-143.07 235.2636,-149.6556"/> <polygon fill="#8b4513" stroke="#8b4513" points="251.1345,-510.34 261.7219,-509.9426 253.1975,-503.6509 251.1345,-510.34"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.init -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.init</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.init | defined in .:0&#10;at router_identity.go:14: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M98.2076,-52C98.2076,-52 68.2076,-52 68.2076,-52 62.2076,-52 56.2076,-46 56.2076,-40 56.2076,-40 56.2076,-28 56.2076,-28 56.2076,-22 62.2076,-16 68.2076,-16 68.2076,-16 98.2076,-16 98.2076,-16 104.2076,-16 110.2076,-22 110.2076,-28 110.2076,-28 110.2076,-40 110.2076,-40 110.2076,-46 104.2076,-52 98.2076,-52"/>
<text text-anchor="middle" x="83.2076" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node5" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M370.0108,-52C370.0108,-52 272.6318,-52 272.6318,-52 266.6318,-52 260.6318,-46 260.6318,-40 260.6318,-40 260.6318,-28 260.6318,-28 260.6318,-22 266.6318,-16 272.6318,-16 272.6318,-16 370.0108,-16 370.0108,-16 376.0108,-16 382.0108,-22 382.0108,-28 382.0108,-28 382.0108,-40 382.0108,-40 382.0108,-46 376.0108,-52 370.0108,-52"/>
<text text-anchor="middle" x="321.3213" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="321.3213" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge13" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge13"><a xlink:title="at router_identity.go:14: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M110.5223,-34C144.4368,-34 203.5523,-34 250.5669,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="250.7058,-37.5001 260.7058,-34 250.7058,-30.5001 250.7058,-37.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity -->
<g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity | defined in router_identity.go:37&#10;at router_identity.go:38: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at router_identity.go:49: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at router_identity.go:40: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:51: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:41: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]&#10;at router_identity.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at router_identity.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M138.6234,-277C138.6234,-277 27.7918,-277 27.7918,-277 21.7918,-277 15.7918,-271 15.7918,-265 15.7918,-265 15.7918,-253 15.7918,-253 15.7918,-247 21.7918,-241 27.7918,-241 27.7918,-241 138.6234,-241 138.6234,-241 144.6234,-241 150.6234,-247 150.6234,-253 150.6234,-253 150.6234,-265 150.6234,-265 150.6234,-271 144.6234,-277 138.6234,-277"/>
<text text-anchor="middle" x="83.2076" y="-254.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadRouterIdentity</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
<g id="node7" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
<g id="a_node7"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert | defined in keys_and_cert.go:145">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M374.0622,-113C374.0622,-113 268.5804,-113 268.5804,-113 262.5804,-113 256.5804,-107 256.5804,-101 256.5804,-101 256.5804,-89 256.5804,-89 256.5804,-83 262.5804,-77 268.5804,-77 268.5804,-77 374.0622,-77 374.0622,-77 380.0622,-77 386.0622,-83 386.0622,-89 386.0622,-89 386.0622,-101 386.0622,-101 386.0622,-107 380.0622,-113 374.0622,-113"/>
<text text-anchor="middle" x="321.3213" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
<text text-anchor="middle" x="321.3213" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCert</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
<g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
<g id="a_edge3"><a xlink:title="at router_identity.go:41: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/keys_and_cert.ReadKeysAndCert]">
<path fill="none" stroke="#8b4513" d="M95.5735,-240.9523C117.5412,-210.3642 166.4568,-148.5909 223.4152,-117 230.6971,-112.9612 238.6727,-109.6637 246.8293,-106.9714"/>
<polygon fill="#8b4513" stroke="#8b4513" points="247.8857,-110.3087 256.4567,-104.0807 245.8726,-103.6043 247.8857,-110.3087"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge4"><a xlink:title="at router_identity.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M106.3055,-277.1337C133.149,-297.4798 179.4055,-330.3339 223.4152,-351 238.1995,-357.9424 254.9823,-363.7657 270.425,-368.3791"/>
<polygon fill="#8b4513" stroke="#8b4513" points="269.7669,-371.8317 280.3449,-371.2355 271.7039,-365.105 269.7669,-371.8317"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge5"><a xlink:title="at router_identity.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M150.4867,-276.2356C192.6687,-287.0418 245.6205,-300.607 281.3,-309.7473"/>
<polygon fill="#8b4513" stroke="#8b4513" points="280.7783,-313.2267 291.3341,-312.3179 282.5155,-306.4456 280.7783,-313.2267"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge1"><a xlink:title="at router_identity.go:38: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at router_identity.go:49: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M150.4867,-259C187.5024,-259 232.8113,-259 267.4645,-259"/>
<polygon fill="#8b4513" stroke="#8b4513" points="267.8559,-262.5001 277.8558,-259 267.8558,-255.5001 267.8559,-262.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.ReadRouterIdentity&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge2"><a xlink:title="at router_identity.go:40: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at router_identity.go:51: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M123.5359,-240.8859C151.3034,-228.7691 189.213,-212.9217 223.4152,-201 241.9755,-194.5305 262.8808,-188.3992 280.5936,-183.5326"/>
<polygon fill="#8b4513" stroke="#8b4513" points="281.874,-186.812 290.6118,-180.8203 280.0446,-180.0553 281.874,-186.812"/>
</a> </a>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 151 KiB

After

Width:  |  Height:  |  Size: 152 KiB

View File

@ -25,7 +25,7 @@
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey | defined in session_key.go:33&#10;at session_key.go:35: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey]&#10;at session_key.go:37: calling [github.com/sirupsen/logrus.WithError]&#10;at session_key.go:37: calling [(*github.com/sirupsen/logrus.Entry).Error]&#10;at session_key.go:41: calling [github.com/sirupsen/logrus.Debug]&#10;at session_key.go:34: calling [github.com/sirupsen/logrus.WithField]&#10;at session_key.go:34: calling [(*github.com/sirupsen/logrus.Entry).Debug]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey | defined in session_key.go:33&#10;at session_key.go:34: calling [(*github.com/sirupsen/logrus.Entry).Debug]&#10;at session_key.go:35: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey]&#10;at session_key.go:37: calling [github.com/sirupsen/logrus.WithError]&#10;at session_key.go:37: calling [(*github.com/sirupsen/logrus.Entry).Error]&#10;at session_key.go:41: calling [github.com/sirupsen/logrus.Debug]&#10;at session_key.go:34: calling [github.com/sirupsen/logrus.WithField]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M120.29,-204C120.29,-204 28.236,-204 28.236,-204 22.236,-204 16.236,-198 16.236,-192 16.236,-192 16.236,-180 16.236,-180 16.236,-174 22.236,-168 28.236,-168 28.236,-168 120.29,-168 120.29,-168 126.29,-168 132.29,-174 132.29,-180 132.29,-180 132.29,-192 132.29,-192 132.29,-198 126.29,-204 120.29,-204"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M120.29,-204C120.29,-204 28.236,-204 28.236,-204 22.236,-204 16.236,-198 16.236,-192 16.236,-192 16.236,-180 16.236,-180 16.236,-174 22.236,-168 28.236,-168 28.236,-168 120.29,-168 120.29,-168 126.29,-168 132.29,-174 132.29,-180 132.29,-180 132.29,-192 132.29,-192 132.29,-198 126.29,-204 120.29,-204"/>
<text text-anchor="middle" x="74.263" y="-181.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSessionKey</text> <text text-anchor="middle" x="74.263" y="-181.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSessionKey</text>
</a> </a>
@ -42,9 +42,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.WithField --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.WithField -->
<g id="edge5" class="edge"> <g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.WithField</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.WithField</title>
<g id="a_edge5"><a xlink:title="at session_key.go:34: calling [github.com/sirupsen/logrus.WithField]"> <g id="a_edge7"><a xlink:title="at session_key.go:34: calling [github.com/sirupsen/logrus.WithField]">
<path fill="none" stroke="#8b4513" d="M90.8252,-167.9829C114.5635,-142.8336 160.3942,-96.7292 205.526,-65 209.4263,-62.258 213.6003,-59.5997 217.8606,-57.0685"/> <path fill="none" stroke="#8b4513" d="M90.8252,-167.9829C114.5635,-142.8336 160.3942,-96.7292 205.526,-65 209.4263,-62.258 213.6003,-59.5997 217.8606,-57.0685"/>
<polygon fill="#8b4513" stroke="#8b4513" points="219.7007,-60.0485 226.6664,-52.0653 216.2427,-53.9622 219.7007,-60.0485"/> <polygon fill="#8b4513" stroke="#8b4513" points="219.7007,-60.0485 226.6664,-52.0653 216.2427,-53.9622 219.7007,-60.0485"/>
</a> </a>
@ -60,9 +60,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey -->
<g id="edge1" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey</title>
<g id="a_edge1"><a xlink:title="at session_key.go:35: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey]"> <g id="a_edge3"><a xlink:title="at session_key.go:35: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey]">
<path fill="none" stroke="#000000" d="M112.3947,-167.8035C142.7648,-153.3108 185.4246,-132.9535 217.9151,-117.449"/> <path fill="none" stroke="#000000" d="M112.3947,-167.8035C142.7648,-153.3108 185.4246,-132.9535 217.9151,-117.449"/>
<polygon fill="#000000" stroke="#000000" points="219.7002,-120.4753 227.2178,-113.0097 216.6854,-114.1577 219.7002,-120.4753"/> <polygon fill="#000000" stroke="#000000" points="219.7002,-120.4753 227.2178,-113.0097 216.6854,-114.1577 219.7002,-120.4753"/>
</a> </a>
@ -79,9 +79,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.WithError --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.WithError -->
<g id="edge2" class="edge"> <g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.WithError</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.WithError</title>
<g id="a_edge2"><a xlink:title="at session_key.go:37: calling [github.com/sirupsen/logrus.WithError]"> <g id="a_edge4"><a xlink:title="at session_key.go:37: calling [github.com/sirupsen/logrus.WithError]">
<path fill="none" stroke="#8b4513" d="M132.514,-176.836C158.6025,-172.7318 189.0807,-167.937 214.2186,-163.9823"/> <path fill="none" stroke="#8b4513" d="M132.514,-176.836C158.6025,-172.7318 189.0807,-167.937 214.2186,-163.9823"/>
<polygon fill="#8b4513" stroke="#8b4513" points="214.9448,-167.4112 224.2794,-162.3995 213.8569,-160.4962 214.9448,-167.4112"/> <polygon fill="#8b4513" stroke="#8b4513" points="214.9448,-167.4112 224.2794,-162.3995 213.8569,-160.4962 214.9448,-167.4112"/>
</a> </a>
@ -98,9 +98,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.Debug -->
<g id="edge4" class="edge"> <g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;github.com/sirupsen/logrus.Debug</title>
<g id="a_edge4"><a xlink:title="at session_key.go:41: calling [github.com/sirupsen/logrus.Debug]"> <g id="a_edge6"><a xlink:title="at session_key.go:41: calling [github.com/sirupsen/logrus.Debug]">
<path fill="none" stroke="#8b4513" d="M132.514,-195.4695C162.1028,-200.2795 197.3383,-206.0075 224.025,-210.3458"/> <path fill="none" stroke="#8b4513" d="M132.514,-195.4695C162.1028,-200.2795 197.3383,-206.0075 224.025,-210.3458"/>
<polygon fill="#8b4513" stroke="#8b4513" points="223.7352,-213.8446 234.1673,-211.9946 224.8585,-206.9353 223.7352,-213.8446"/> <polygon fill="#8b4513" stroke="#8b4513" points="223.7352,-213.8446 234.1673,-211.9946 224.8585,-206.9353 223.7352,-213.8446"/>
</a> </a>
@ -117,9 +117,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;(*github.com/sirupsen/logrus.Entry).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;(*github.com/sirupsen/logrus.Entry).Debug -->
<g id="edge6" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;(*github.com/sirupsen/logrus.Entry).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;(*github.com/sirupsen/logrus.Entry).Debug</title>
<g id="a_edge6"><a xlink:title="at session_key.go:34: calling [(*github.com/sirupsen/logrus.Entry).Debug]"> <g id="a_edge1"><a xlink:title="at session_key.go:34: calling [(*github.com/sirupsen/logrus.Entry).Debug]">
<path fill="none" stroke="#8b4513" d="M97.9151,-204.1135C123.4419,-223.0678 165.7928,-252.8208 205.526,-273 211.5896,-276.0795 218.19,-278.9545 224.7143,-281.5442"/> <path fill="none" stroke="#8b4513" d="M97.9151,-204.1135C123.4419,-223.0678 165.7928,-252.8208 205.526,-273 211.5896,-276.0795 218.19,-278.9545 224.7143,-281.5442"/>
<polygon fill="#8b4513" stroke="#8b4513" points="223.5564,-284.8483 234.1476,-285.1249 226.0405,-278.3039 223.5564,-284.8483"/> <polygon fill="#8b4513" stroke="#8b4513" points="223.5564,-284.8483 234.1476,-285.1249 226.0405,-278.3039 223.5564,-284.8483"/>
</a> </a>
@ -136,9 +136,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;(*github.com/sirupsen/logrus.Entry).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;(*github.com/sirupsen/logrus.Entry).Error -->
<g id="edge3" class="edge"> <g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;(*github.com/sirupsen/logrus.Entry).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.NewSessionKey&#45;&gt;(*github.com/sirupsen/logrus.Entry).Error</title>
<g id="a_edge3"><a xlink:title="at session_key.go:37: calling [(*github.com/sirupsen/logrus.Entry).Error]"> <g id="a_edge5"><a xlink:title="at session_key.go:37: calling [(*github.com/sirupsen/logrus.Entry).Error]">
<path fill="none" stroke="#8b4513" d="M87.925,-204.2759C110.108,-233.0122 156.4463,-289.2647 205.526,-326 211.902,-330.7723 219.1515,-335.1491 226.3422,-338.9974"/> <path fill="none" stroke="#8b4513" d="M87.925,-204.2759C110.108,-233.0122 156.4463,-289.2647 205.526,-326 211.902,-330.7723 219.1515,-335.1491 226.3422,-338.9974"/>
<polygon fill="#8b4513" stroke="#8b4513" points="224.849,-342.1646 235.349,-343.5794 228.023,-335.9256 224.849,-342.1646"/> <polygon fill="#8b4513" stroke="#8b4513" points="224.849,-342.1646 235.349,-343.5794 228.023,-335.9256 224.849,-342.1646"/>
</a> </a>
@ -155,9 +155,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey&#45;&gt;github.com/sirupsen/logrus.Warn --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey&#45;&gt;github.com/sirupsen/logrus.Warn -->
<g id="edge7" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey&#45;&gt;github.com/sirupsen/logrus.Warn</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_key.ReadSessionKey&#45;&gt;github.com/sirupsen/logrus.Warn</title>
<g id="a_edge7"><a xlink:title="at session_key.go:27: calling [github.com/sirupsen/logrus.Warn]"> <g id="a_edge2"><a xlink:title="at session_key.go:27: calling [github.com/sirupsen/logrus.Warn]">
<path fill="none" stroke="#8b4513" d="M324.3352,-95C345.2029,-95 368.1346,-95 387.0117,-95"/> <path fill="none" stroke="#8b4513" d="M324.3352,-95C345.2029,-95 368.1346,-95 387.0117,-95"/>
<polygon fill="#8b4513" stroke="#8b4513" points="387.0431,-98.5001 397.043,-95 387.043,-91.5001 387.0431,-98.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="387.0431,-98.5001 397.043,-95 387.043,-91.5001 387.0431,-98.5001"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -17,8 +17,8 @@
<g id="clust3" class="cluster"> <g id="clust3" class="cluster">
<title>cluster_*github.com/sirupsen/logrus.Logger</title> <title>cluster_*github.com/sirupsen/logrus.Logger</title>
<g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger"> <g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M237.9061,-253C237.9061,-253 292.2273,-253 292.2273,-253 298.2273,-253 304.2273,-259 304.2273,-265 304.2273,-265 304.2273,-319 304.2273,-319 304.2273,-325 298.2273,-331 292.2273,-331 292.2273,-331 237.9061,-331 237.9061,-331 231.9061,-331 225.9061,-325 225.9061,-319 225.9061,-319 225.9061,-265 225.9061,-265 225.9061,-259 231.9061,-253 237.9061,-253"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M237.9061,-207C237.9061,-207 292.2273,-207 292.2273,-207 298.2273,-207 304.2273,-213 304.2273,-219 304.2273,-219 304.2273,-273 304.2273,-273 304.2273,-279 298.2273,-285 292.2273,-285 292.2273,-285 237.9061,-285 237.9061,-285 231.9061,-285 225.9061,-279 225.9061,-273 225.9061,-273 225.9061,-219 225.9061,-219 225.9061,-213 231.9061,-207 237.9061,-207"/>
<text text-anchor="middle" x="265.0667" y="-261.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text> <text text-anchor="middle" x="265.0667" y="-215.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a> </a>
</g> </g>
</g> </g>
@ -34,8 +34,8 @@
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag | defined in session_tag.go:30&#10;at session_tag.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag | defined in session_tag.go:30&#10;at session_tag.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M311.3771,-128C311.3771,-128 217.7563,-128 217.7563,-128 211.7563,-128 205.7563,-122 205.7563,-116 205.7563,-116 205.7563,-104 205.7563,-104 205.7563,-98 211.7563,-92 217.7563,-92 217.7563,-92 311.3771,-92 311.3771,-92 317.3771,-92 323.3771,-98 323.3771,-104 323.3771,-104 323.3771,-116 323.3771,-116 323.3771,-122 317.3771,-128 311.3771,-128"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M311.3771,-89C311.3771,-89 217.7563,-89 217.7563,-89 211.7563,-89 205.7563,-83 205.7563,-77 205.7563,-77 205.7563,-65 205.7563,-65 205.7563,-59 211.7563,-53 217.7563,-53 217.7563,-53 311.3771,-53 311.3771,-53 317.3771,-53 323.3771,-59 323.3771,-65 323.3771,-65 323.3771,-77 323.3771,-77 323.3771,-83 317.3771,-89 311.3771,-89"/>
<text text-anchor="middle" x="264.5667" y="-105.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadSessionTag</text> <text text-anchor="middle" x="264.5667" y="-66.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadSessionTag</text>
</a> </a>
</g> </g>
</g> </g>
@ -50,20 +50,48 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="edge6" class="edge"> <g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_edge6"><a xlink:title="at session_tag.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]"> <g id="a_edge5"><a xlink:title="at session_tag.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="none" stroke="#8b4513" d="M323.4066,-96.0146C349.1185,-89.9033 378.5977,-82.8965 401.6424,-77.4191"/> <path fill="none" stroke="#8b4513" d="M323.4066,-70.001C349.0032,-69.5665 378.3334,-69.0685 401.332,-68.6781"/>
<polygon fill="#8b4513" stroke="#8b4513" points="402.4976,-80.8134 411.4172,-75.0958 400.8788,-74.0031 402.4976,-80.8134"/> <polygon fill="#8b4513" stroke="#8b4513" points="401.4781,-72.1762 411.4172,-68.5068 401.3592,-65.1772 401.4781,-72.1762"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.init -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.init</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.init | defined in .:0&#10;at session_tag.go:9: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M88.486,-338C88.486,-338 58.486,-338 58.486,-338 52.486,-338 46.486,-332 46.486,-326 46.486,-326 46.486,-314 46.486,-314 46.486,-308 52.486,-302 58.486,-302 58.486,-302 88.486,-302 88.486,-302 94.486,-302 100.486,-308 100.486,-314 100.486,-314 100.486,-326 100.486,-326 100.486,-332 94.486,-338 88.486,-338"/>
<text text-anchor="middle" x="73.486" y="-315.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M313.2562,-338C313.2562,-338 215.8772,-338 215.8772,-338 209.8772,-338 203.8772,-332 203.8772,-326 203.8772,-326 203.8772,-314 203.8772,-314 203.8772,-308 209.8772,-302 215.8772,-302 215.8772,-302 313.2562,-302 313.2562,-302 319.2562,-302 325.2562,-308 325.2562,-314 325.2562,-314 325.2562,-326 325.2562,-326 325.2562,-332 319.2562,-338 313.2562,-338"/>
<text text-anchor="middle" x="264.5667" y="-324.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="264.5667" y="-307.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge6"><a xlink:title="at session_tag.go:9: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M100.8632,-320C124.9805,-320 161.1891,-320 193.4256,-320"/>
<polygon fill="#8b4513" stroke="#8b4513" points="193.7322,-323.5001 203.7321,-320 193.7321,-316.5001 193.7322,-323.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag -->
<g id="node2" class="node"> <g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag | defined in session_tag.go:38&#10;at session_tag.go:40: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag]&#10;at session_tag.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at session_tag.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at session_tag.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at session_tag.go:39: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at session_tag.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at session_tag.go:48: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag | defined in session_tag.go:38&#10;at session_tag.go:40: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag]&#10;at session_tag.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at session_tag.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at session_tag.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at session_tag.go:39: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at session_tag.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at session_tag.go:48: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M118.958,-221C118.958,-221 28.014,-221 28.014,-221 22.014,-221 16.014,-215 16.014,-209 16.014,-209 16.014,-197 16.014,-197 16.014,-191 22.014,-185 28.014,-185 28.014,-185 118.958,-185 118.958,-185 124.958,-185 130.958,-191 130.958,-197 130.958,-197 130.958,-209 130.958,-209 130.958,-215 124.958,-221 118.958,-221"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M118.958,-175C118.958,-175 28.014,-175 28.014,-175 22.014,-175 16.014,-169 16.014,-163 16.014,-163 16.014,-151 16.014,-151 16.014,-145 22.014,-139 28.014,-139 28.014,-139 118.958,-139 118.958,-139 124.958,-139 130.958,-145 130.958,-151 130.958,-151 130.958,-163 130.958,-163 130.958,-169 124.958,-175 118.958,-175"/>
<text text-anchor="middle" x="73.486" y="-198.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSessionTag</text> <text text-anchor="middle" x="73.486" y="-152.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSessionTag</text>
</a> </a>
</g> </g>
</g> </g>
@ -71,8 +99,8 @@
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag</title>
<g id="a_edge1"><a xlink:title="at session_tag.go:40: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag]"> <g id="a_edge1"><a xlink:title="at session_tag.go:40: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.ReadSessionTag]">
<path fill="none" stroke="#000000" d="M106.0521,-184.7968C123.8767,-175.0334 146.4515,-162.9903 166.972,-153 181.4472,-145.9528 197.3486,-138.732 212.0373,-132.2686"/> <path fill="none" stroke="#000000" d="M107.7754,-138.8764C125.3106,-129.8351 147.0943,-118.9486 166.972,-110 179.9588,-104.1535 194.099,-98.2467 207.4821,-92.8597"/>
<polygon fill="#000000" stroke="#000000" points="213.725,-135.3508 221.4875,-128.1401 210.9226,-128.9362 213.725,-135.3508"/> <polygon fill="#000000" stroke="#000000" points="209.074,-95.9929 217.0659,-89.0373 206.4808,-89.491 209.074,-95.9929"/>
</a> </a>
</g> </g>
</g> </g>
@ -90,8 +118,8 @@
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge7"><a xlink:title="at session_tag.go:39: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge7"><a xlink:title="at session_tag.go:39: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M131.357,-191.3561C202.7426,-176.993 322.9463,-152.8074 390.7638,-139.1622"/> <path fill="none" stroke="#8b4513" d="M131.0584,-142.9712C142.8716,-140.5766 155.2725,-138.4102 166.972,-137 244.5117,-127.6536 335.2259,-126.9969 390.4445,-127.7334"/>
<polygon fill="#8b4513" stroke="#8b4513" points="391.667,-142.5507 400.7801,-137.1469 390.2862,-135.6883 391.667,-142.5507"/> <polygon fill="#8b4513" stroke="#8b4513" points="390.6126,-131.2363 400.6655,-127.8912 390.7207,-124.2372 390.6126,-131.2363"/>
</a> </a>
</g> </g>
</g> </g>
@ -109,8 +137,8 @@
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge2"><a xlink:title="at session_tag.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge2"><a xlink:title="at session_tag.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M131.357,-200.9544C202.6464,-198.4346 322.6224,-194.1938 390.4893,-191.795"/> <path fill="none" stroke="#8b4513" d="M131.2039,-153.4715C189.8248,-151.0372 282.9951,-150.338 362.1614,-164 371.5718,-165.624 381.3929,-168.1409 390.7862,-170.9819"/>
<polygon fill="#8b4513" stroke="#8b4513" points="390.6454,-195.2917 400.5155,-191.4406 390.3981,-188.2961 390.6454,-195.2917"/> <polygon fill="#8b4513" stroke="#8b4513" points="389.7944,-174.3392 400.3849,-174.0359 391.9168,-167.6687 389.7944,-174.3392"/>
</a> </a>
</g> </g>
</g> </g>
@ -128,8 +156,8 @@
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge3"><a xlink:title="at session_tag.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge3"><a xlink:title="at session_tag.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M131.1251,-208.7956C189.4872,-214.897 282.2809,-225.2377 362.1614,-237 374.8823,-238.8731 388.7001,-241.2127 401.1752,-243.4398"/> <path fill="none" stroke="#8b4513" d="M130.9975,-159.1129C203.3633,-162.5668 322.9335,-171.1449 362.1614,-191 378.4342,-199.2364 375.9262,-209.5982 390.1614,-221 394.1252,-224.1748 398.4605,-227.2407 402.8767,-230.1215"/>
<polygon fill="#8b4513" stroke="#8b4513" points="400.8211,-246.9326 411.2849,-245.2715 402.0691,-240.0447 400.8211,-246.9326"/> <polygon fill="#8b4513" stroke="#8b4513" points="401.0515,-233.108 411.3925,-235.4135 404.7463,-227.1625 401.0515,-233.108"/>
</a> </a>
</g> </g>
</g> </g>
@ -147,8 +175,8 @@
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge4"><a xlink:title="at session_tag.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge4"><a xlink:title="at session_tag.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M131.1401,-216.2015C153.7818,-221.1681 180.0345,-226.6586 203.972,-231 257.5508,-240.7172 273.5123,-231.7524 325.1614,-249 340.6011,-254.1559 374.6188,-272.9648 401.864,-288.7001"/> <path fill="none" stroke="#8b4513" d="M131.2291,-166.525C202.9067,-178.5 316.8096,-198.0892 325.1614,-203 364.3561,-226.0464 355.5781,-252.4814 390.1614,-282 392.6656,-284.1375 395.3424,-286.2094 398.1094,-288.1986"/>
<polygon fill="#8b4513" stroke="#8b4513" points="400.4022,-291.8986 410.8074,-293.8944 403.9179,-285.8454 400.4022,-291.8986"/> <polygon fill="#8b4513" stroke="#8b4513" points="396.3464,-291.2306 406.599,-293.9015 400.2497,-285.4199 396.3464,-291.2306"/>
</a> </a>
</g> </g>
</g> </g>
@ -156,9 +184,9 @@
<g id="node10" class="node"> <g id="node10" class="node">
<title>(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_node10"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221"> <g id="a_node10"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M283.3887,-323C283.3887,-323 245.7447,-323 245.7447,-323 239.7447,-323 233.7447,-317 233.7447,-311 233.7447,-311 233.7447,-299 233.7447,-299 233.7447,-293 239.7447,-287 245.7447,-287 245.7447,-287 283.3887,-287 283.3887,-287 289.3887,-287 295.3887,-293 295.3887,-299 295.3887,-299 295.3887,-311 295.3887,-311 295.3887,-317 289.3887,-323 283.3887,-323"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M283.3887,-277C283.3887,-277 245.7447,-277 245.7447,-277 239.7447,-277 233.7447,-271 233.7447,-265 233.7447,-265 233.7447,-253 233.7447,-253 233.7447,-247 239.7447,-241 245.7447,-241 245.7447,-241 283.3887,-241 283.3887,-241 289.3887,-241 295.3887,-247 295.3887,-253 295.3887,-253 295.3887,-265 295.3887,-265 295.3887,-271 289.3887,-277 283.3887,-277"/>
<text text-anchor="middle" x="264.5667" y="-309.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text> <text text-anchor="middle" x="264.5667" y="-263.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
<text text-anchor="middle" x="264.5667" y="-292.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text> <text text-anchor="middle" x="264.5667" y="-246.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
</a> </a>
</g> </g>
</g> </g>
@ -166,36 +194,8 @@
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.NewSessionTag&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge8"><a xlink:title="at session_tag.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at session_tag.go:48: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge8"><a xlink:title="at session_tag.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at session_tag.go:48: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M99.5846,-221.1809C125.3107,-238.5699 166.1513,-264.7711 203.972,-283 210.3393,-286.0689 217.2529,-288.9626 224.0558,-291.5807"/> <path fill="none" stroke="#8b4513" d="M99.5846,-175.1809C125.3107,-192.5699 166.1513,-218.7711 203.972,-237 210.3393,-240.0689 217.2529,-242.9626 224.0558,-245.5807"/>
<polygon fill="#8b4513" stroke="#8b4513" points="223.2736,-295.0231 233.8669,-295.2077 225.7009,-288.4573 223.2736,-295.0231"/> <polygon fill="#8b4513" stroke="#8b4513" points="223.2736,-249.0231 233.8669,-249.2077 225.7009,-242.4573 223.2736,-249.0231"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.init -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.init</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.init | defined in .:0&#10;at session_tag.go:9: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M88.486,-55C88.486,-55 58.486,-55 58.486,-55 52.486,-55 46.486,-49 46.486,-43 46.486,-43 46.486,-31 46.486,-31 46.486,-25 52.486,-19 58.486,-19 58.486,-19 88.486,-19 88.486,-19 94.486,-19 100.486,-25 100.486,-31 100.486,-31 100.486,-43 100.486,-43 100.486,-49 94.486,-55 88.486,-55"/>
<text text-anchor="middle" x="73.486" y="-32.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M313.2562,-55C313.2562,-55 215.8772,-55 215.8772,-55 209.8772,-55 203.8772,-49 203.8772,-43 203.8772,-43 203.8772,-31 203.8772,-31 203.8772,-25 209.8772,-19 215.8772,-19 215.8772,-19 313.2562,-19 313.2562,-19 319.2562,-19 325.2562,-25 325.2562,-31 325.2562,-31 325.2562,-43 325.2562,-43 325.2562,-49 319.2562,-55 313.2562,-55"/>
<text text-anchor="middle" x="264.5667" y="-41.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="264.5667" y="-24.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/session_tag.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge5"><a xlink:title="at session_tag.go:9: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M100.8632,-37C124.9805,-37 161.1891,-37 193.4256,-37"/>
<polygon fill="#8b4513" stroke="#8b4513" points="193.7322,-40.5001 203.7321,-37 193.7321,-33.5001 193.7322,-40.5001"/>
</a> </a>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -30,143 +30,106 @@
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature | defined in signature.go:106&#10;at signature.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature]&#10;at signature.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at signature.go:107: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at signature.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at signature.go:114: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at signature.go:107: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at signature.go:117: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M108.1221,-211C108.1221,-211 27.9593,-211 27.9593,-211 21.9593,-211 15.9593,-205 15.9593,-199 15.9593,-199 15.9593,-187 15.9593,-187 15.9593,-181 21.9593,-175 27.9593,-175 27.9593,-175 108.1221,-175 108.1221,-175 114.1221,-175 120.1221,-181 120.1221,-187 120.1221,-187 120.1221,-199 120.1221,-199 120.1221,-205 114.1221,-211 108.1221,-211"/>
<text text-anchor="middle" x="68.0407" y="-188.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSignature</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature | defined in signature.go:66&#10;at signature.go:90: calling [github.com/samber/oops.Errorf]&#10;at signature.go:95: calling [github.com/samber/oops.Errorf]&#10;at signature.go:96: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at signature.go:96: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature | defined in signature.go:66&#10;at signature.go:96: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at signature.go:90: calling [github.com/samber/oops.Errorf]&#10;at signature.go:95: calling [github.com/samber/oops.Errorf]&#10;at signature.go:96: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M295.0963,-124C295.0963,-124 212.2559,-124 212.2559,-124 206.2559,-124 200.2559,-118 200.2559,-112 200.2559,-112 200.2559,-100 200.2559,-100 200.2559,-94 206.2559,-88 212.2559,-88 212.2559,-88 295.0963,-88 295.0963,-88 301.0963,-88 307.0963,-94 307.0963,-100 307.0963,-100 307.0963,-112 307.0963,-112 307.0963,-118 301.0963,-124 295.0963,-124"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M295.0963,-124C295.0963,-124 212.2559,-124 212.2559,-124 206.2559,-124 200.2559,-118 200.2559,-112 200.2559,-112 200.2559,-100 200.2559,-100 200.2559,-94 206.2559,-88 212.2559,-88 212.2559,-88 295.0963,-88 295.0963,-88 301.0963,-88 307.0963,-94 307.0963,-100 307.0963,-100 307.0963,-112 307.0963,-112 307.0963,-118 301.0963,-124 295.0963,-124"/>
<text text-anchor="middle" x="253.6761" y="-101.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadSignature</text> <text text-anchor="middle" x="253.6761" y="-101.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadSignature</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature -->
<g id="node2" class="node"> <g id="edge2" class="edge">
<title>github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature</title>
<g id="a_node2"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34"> <g id="a_edge2"><a xlink:title="at signature.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature]">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M447.5755,-52C447.5755,-52 413.1849,-52 413.1849,-52 407.1849,-52 401.1849,-46 401.1849,-40 401.1849,-40 401.1849,-28 401.1849,-28 401.1849,-22 407.1849,-16 413.1849,-16 413.1849,-16 447.5755,-16 447.5755,-16 453.5755,-16 459.5755,-22 459.5755,-28 459.5755,-28 459.5755,-40 459.5755,-40 459.5755,-46 453.5755,-52 447.5755,-52"/> <path fill="none" stroke="#000000" d="M100.2528,-174.7926C116.7462,-165.73 137.267,-154.8498 156.0814,-146 169.2752,-139.794 183.7031,-133.5789 197.321,-127.9607"/>
<text text-anchor="middle" x="430.3802" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text> <polygon fill="#000000" stroke="#000000" points="198.6596,-131.1947 206.5943,-124.1739 196.0132,-124.7142 198.6596,-131.1947"/>
<text text-anchor="middle" x="430.3802" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;github.com/samber/oops.Errorf --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge2" class="edge"> <g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;github.com/samber/oops.Errorf</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge2"><a xlink:title="at signature.go:90: calling [github.com/samber/oops.Errorf]&#10;at signature.go:95: calling [github.com/samber/oops.Errorf]"> <g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithField | defined in log.go:54">
<path fill="none" stroke="#8b4513" d="M298.266,-87.8314C327.0751,-76.0928 364.1891,-60.9703 391.7412,-49.7439"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M458.6547,-313C458.6547,-313 402.1057,-313 402.1057,-313 396.1057,-313 390.1057,-307 390.1057,-301 390.1057,-301 390.1057,-289 390.1057,-289 390.1057,-283 396.1057,-277 402.1057,-277 402.1057,-277 458.6547,-277 458.6547,-277 464.6547,-277 470.6547,-283 470.6547,-289 470.6547,-289 470.6547,-301 470.6547,-301 470.6547,-307 464.6547,-313 458.6547,-313"/>
<polygon fill="#8b4513" stroke="#8b4513" points="393.1185,-52.9621 401.0586,-45.9474 390.4771,-46.4796 393.1185,-52.9621"/> <text text-anchor="middle" x="430.3802" y="-299.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="430.3802" y="-282.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge5"><a xlink:title="at signature.go:107: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M120.2271,-204.9654C142.6007,-209.9142 169.0645,-215.5281 193.0814,-220 246.6801,-229.9799 262.2256,-222.7606 314.2708,-239 340.6288,-247.2243 368.5487,-260.5281 390.4032,-272.1051"/>
<polygon fill="#8b4513" stroke="#8b4513" points="388.9124,-275.2776 399.3758,-276.9412 392.2336,-269.1156 388.9124,-275.2776"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="node6" class="node"> <g id="node7" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66"> <g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M458.9117,-130C458.9117,-130 401.8487,-130 401.8487,-130 395.8487,-130 389.8487,-124 389.8487,-118 389.8487,-118 389.8487,-106 389.8487,-106 389.8487,-100 395.8487,-94 401.8487,-94 401.8487,-94 458.9117,-94 458.9117,-94 464.9117,-94 470.9117,-100 470.9117,-106 470.9117,-106 470.9117,-118 470.9117,-118 470.9117,-124 464.9117,-130 458.9117,-130"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M458.9117,-130C458.9117,-130 401.8487,-130 401.8487,-130 395.8487,-130 389.8487,-124 389.8487,-118 389.8487,-118 389.8487,-106 389.8487,-106 389.8487,-100 395.8487,-94 401.8487,-94 401.8487,-94 458.9117,-94 458.9117,-94 464.9117,-94 470.9117,-100 470.9117,-106 470.9117,-106 470.9117,-118 470.9117,-118 470.9117,-124 464.9117,-130 458.9117,-130"/>
<text text-anchor="middle" x="430.3802" y="-116.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="430.3802" y="-116.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="430.3802" y="-99.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text> <text text-anchor="middle" x="430.3802" y="-99.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge8"><a xlink:title="at signature.go:96: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge8"><a xlink:title="at signature.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M307.1727,-107.8165C330.1637,-108.5971 356.9049,-109.5051 379.5878,-110.2753"/> <path fill="none" stroke="#8b4513" d="M120.341,-181.3084C189.5934,-165.8272 310.9326,-138.7022 379.4763,-123.3794"/>
<polygon fill="#8b4513" stroke="#8b4513" points="379.583,-113.7771 389.696,-110.6186 379.8206,-106.7811 379.583,-113.7771"/> <polygon fill="#8b4513" stroke="#8b4513" points="380.6053,-126.7135 389.6008,-121.1161 379.0781,-119.8821 380.6053,-126.7135"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="node7" class="node"> <g id="node8" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42"> <g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M448.1465,-191C448.1465,-191 412.6139,-191 412.6139,-191 406.6139,-191 400.6139,-185 400.6139,-179 400.6139,-179 400.6139,-167 400.6139,-167 400.6139,-161 406.6139,-155 412.6139,-155 412.6139,-155 448.1465,-155 448.1465,-155 454.1465,-155 460.1465,-161 460.1465,-167 460.1465,-167 460.1465,-179 460.1465,-179 460.1465,-185 454.1465,-191 448.1465,-191"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M448.1465,-191C448.1465,-191 412.6139,-191 412.6139,-191 406.6139,-191 400.6139,-185 400.6139,-179 400.6139,-179 400.6139,-167 400.6139,-167 400.6139,-161 406.6139,-155 412.6139,-155 412.6139,-155 448.1465,-155 448.1465,-155 454.1465,-155 460.1465,-161 460.1465,-167 460.1465,-167 460.1465,-179 460.1465,-179 460.1465,-185 454.1465,-191 448.1465,-191"/>
<text text-anchor="middle" x="430.3802" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="430.3802" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="430.3802" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text> <text text-anchor="middle" x="430.3802" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge9" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge9"><a xlink:title="at signature.go:96: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M301.4948,-124.1312C329.5,-134.7498 364.442,-147.9986 390.8762,-158.0215"/>
<polygon fill="#8b4513" stroke="#8b4513" points="389.9672,-161.4199 400.5586,-161.6927 392.449,-154.8746 389.9672,-161.4199"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature | defined in signature.go:106&#10;at signature.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at signature.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at signature.go:107: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at signature.go:117: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at signature.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature]&#10;at signature.go:114: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at signature.go:107: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M108.1221,-211C108.1221,-211 27.9593,-211 27.9593,-211 21.9593,-211 15.9593,-205 15.9593,-199 15.9593,-199 15.9593,-187 15.9593,-187 15.9593,-181 21.9593,-175 27.9593,-175 27.9593,-175 108.1221,-175 108.1221,-175 114.1221,-175 120.1221,-181 120.1221,-187 120.1221,-187 120.1221,-199 120.1221,-199 120.1221,-205 114.1221,-211 108.1221,-211"/>
<text text-anchor="middle" x="68.0407" y="-188.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSignature</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature -->
<g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature</title>
<g id="a_edge6"><a xlink:title="at signature.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature]">
<path fill="none" stroke="#000000" d="M100.2528,-174.7926C116.7462,-165.73 137.267,-154.8498 156.0814,-146 169.2752,-139.794 183.7031,-133.5789 197.321,-127.9607"/>
<polygon fill="#000000" stroke="#000000" points="198.6596,-131.1947 206.5943,-124.1739 196.0132,-124.7142 198.6596,-131.1947"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge3"><a xlink:title="at signature.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M120.341,-181.3084C189.5934,-165.8272 310.9326,-138.7022 379.4763,-123.3794"/>
<polygon fill="#8b4513" stroke="#8b4513" points="380.6053,-126.7135 389.6008,-121.1161 379.0781,-119.8821 380.6053,-126.7135"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge4" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge4"><a xlink:title="at signature.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge3"><a xlink:title="at signature.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M120.341,-190.1132C193.3004,-186.0861 324.0721,-178.8679 390.0137,-175.2281"/> <path fill="none" stroke="#8b4513" d="M120.341,-190.1132C193.3004,-186.0861 324.0721,-178.8679 390.0137,-175.2281"/>
<polygon fill="#8b4513" stroke="#8b4513" points="390.6108,-178.7006 400.4027,-174.6547 390.2249,-171.7112 390.6108,-178.7006"/> <polygon fill="#8b4513" stroke="#8b4513" points="390.6108,-178.7006 400.4027,-174.6547 390.2249,-171.7112 390.6108,-178.7006"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="node8" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithField | defined in log.go:54">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M458.6547,-252C458.6547,-252 402.1057,-252 402.1057,-252 396.1057,-252 390.1057,-246 390.1057,-240 390.1057,-240 390.1057,-228 390.1057,-228 390.1057,-222 396.1057,-216 402.1057,-216 402.1057,-216 458.6547,-216 458.6547,-216 464.6547,-216 470.6547,-222 470.6547,-228 470.6547,-228 470.6547,-240 470.6547,-240 470.6547,-246 464.6547,-252 458.6547,-252"/>
<text text-anchor="middle" x="430.3802" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="430.3802" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge10"><a xlink:title="at signature.go:107: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M120.341,-198.918C189.6866,-206.7647 311.2593,-220.521 379.7528,-228.2713"/>
<polygon fill="#8b4513" stroke="#8b4513" points="379.5371,-231.7692 389.8672,-229.4158 380.3242,-224.8136 379.5371,-231.7692"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60"> <g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M461.5993,-313C461.5993,-313 399.1611,-313 399.1611,-313 393.1611,-313 387.1611,-307 387.1611,-301 387.1611,-301 387.1611,-289 387.1611,-289 387.1611,-283 393.1611,-277 399.1611,-277 399.1611,-277 461.5993,-277 461.5993,-277 467.5993,-277 473.5993,-283 473.5993,-289 473.5993,-289 473.5993,-301 473.5993,-301 473.5993,-307 467.5993,-313 461.5993,-313"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M461.5993,-252C461.5993,-252 399.1611,-252 399.1611,-252 393.1611,-252 387.1611,-246 387.1611,-240 387.1611,-240 387.1611,-228 387.1611,-228 387.1611,-222 393.1611,-216 399.1611,-216 399.1611,-216 461.5993,-216 461.5993,-216 467.5993,-216 473.5993,-222 473.5993,-228 473.5993,-228 473.5993,-240 473.5993,-240 473.5993,-246 467.5993,-252 461.5993,-252"/>
<text text-anchor="middle" x="430.3802" y="-299.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="430.3802" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="430.3802" y="-282.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text> <text text-anchor="middle" x="430.3802" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge7" class="edge"> <g id="edge9" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge7"><a xlink:title="at signature.go:114: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge9"><a xlink:title="at signature.go:114: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M120.2271,-204.9654C142.6007,-209.9142 169.0645,-215.5281 193.0814,-220 246.6801,-229.9799 262.2256,-222.7606 314.2708,-239 340.6288,-247.2243 368.5487,-260.5281 390.4032,-272.1051"/> <path fill="none" stroke="#8b4513" d="M120.341,-198.918C188.7545,-206.6592 308.0006,-220.1523 376.9625,-227.9556"/>
<polygon fill="#8b4513" stroke="#8b4513" points="388.9124,-275.2776 399.3758,-276.9412 392.2336,-269.1156 388.9124,-275.2776"/> <polygon fill="#8b4513" stroke="#8b4513" points="376.8415,-231.4642 387.1717,-229.1108 377.6286,-224.5085 376.8415,-231.4642"/>
</a> </a>
</g> </g>
</g> </g>
@ -181,14 +144,51 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge5" class="edge"> <g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.NewSignature&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge5"><a xlink:title="at signature.go:107: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at signature.go:117: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge10"><a xlink:title="at signature.go:107: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at signature.go:117: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M92.9329,-211.2683C117.4985,-228.7221 156.5722,-254.9699 193.0814,-273 199.419,-276.1298 206.3176,-279.0544 213.1146,-281.6844"/> <path fill="none" stroke="#8b4513" d="M92.9329,-211.2683C117.4985,-228.7221 156.5722,-254.9699 193.0814,-273 199.419,-276.1298 206.3176,-279.0544 213.1146,-281.6844"/>
<polygon fill="#8b4513" stroke="#8b4513" points="212.33,-285.1261 222.9231,-285.3166 214.7609,-278.5617 212.33,-285.1261"/> <polygon fill="#8b4513" stroke="#8b4513" points="212.33,-285.1261 222.9231,-285.3166 214.7609,-278.5617 212.33,-285.1261"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/samber/oops.Errorf -->
<g id="node3" class="node">
<title>github.com/samber/oops.Errorf</title>
<g id="a_node3"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M447.5755,-52C447.5755,-52 413.1849,-52 413.1849,-52 407.1849,-52 401.1849,-46 401.1849,-40 401.1849,-40 401.1849,-28 401.1849,-28 401.1849,-22 407.1849,-16 413.1849,-16 413.1849,-16 447.5755,-16 447.5755,-16 453.5755,-16 459.5755,-22 459.5755,-28 459.5755,-28 459.5755,-40 459.5755,-40 459.5755,-46 453.5755,-52 447.5755,-52"/>
<text text-anchor="middle" x="430.3802" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="430.3802" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge6"><a xlink:title="at signature.go:90: calling [github.com/samber/oops.Errorf]&#10;at signature.go:95: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M298.266,-87.8314C327.0751,-76.0928 364.1891,-60.9703 391.7412,-49.7439"/>
<polygon fill="#8b4513" stroke="#8b4513" points="393.1185,-52.9621 401.0586,-45.9474 390.4771,-46.4796 393.1185,-52.9621"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge1"><a xlink:title="at signature.go:96: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M307.1727,-107.8165C330.1637,-108.5971 356.9049,-109.5051 379.5878,-110.2753"/>
<polygon fill="#8b4513" stroke="#8b4513" points="379.583,-113.7771 389.696,-110.6186 379.8206,-106.7811 379.583,-113.7771"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.ReadSignature&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge7"><a xlink:title="at signature.go:96: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M301.4948,-124.1312C329.5,-134.7498 364.442,-147.9986 390.8762,-158.0215"/>
<polygon fill="#8b4513" stroke="#8b4513" points="389.9672,-161.4199 400.5586,-161.6927 392.449,-154.8746 389.9672,-161.4199"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.init --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.init -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.init</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.init</title>
@ -209,9 +209,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge1" class="edge"> <g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/signature.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge1"><a xlink:title="at signature.go:10: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_edge4"><a xlink:title="at signature.go:10: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M95.4318,-38C118.3566,-38 152.1155,-38 182.5704,-38"/> <path fill="none" stroke="#8b4513" d="M95.4318,-38C118.3566,-38 152.1155,-38 182.5704,-38"/>
<polygon fill="#8b4513" stroke="#8b4513" points="182.7516,-41.5001 192.7515,-38 182.7515,-34.5001 182.7516,-41.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="182.7516,-41.5001 192.7515,-38 182.7515,-34.5001 182.7516,-41.5001"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -4,364 +4,129 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304) <!-- Generated by graphviz version 2.40.1 (20161225.0304)
--> -->
<!-- Title: gocallvis Pages: 1 --> <!-- Title: gocallvis Pages: 1 -->
<svg width="712pt" height="726pt" <svg width="712pt" height="718pt"
viewBox="0.00 0.00 712.47 726.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> viewBox="0.00 0.00 712.47 718.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 726)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 718)">
<title>gocallvis</title> <title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-726 712.4728,-726 712.4728,0 0,0"/> <polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-718 712.4728,-718 712.4728,0 0,0"/>
<g id="clust1" class="cluster"> <g id="clust1" class="cluster">
<title>cluster_focus</title> <title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-718 704.4728,-718 704.4728,-8 8,-8"/> <polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-710 704.4728,-710 704.4728,-8 8,-8"/>
<text text-anchor="middle" x="356.2364" y="-697.8" font-family="Arial" font-size="18.00" fill="#000000">config</text> <text text-anchor="middle" x="356.2364" y="-689.8" font-family="Arial" font-size="18.00" fill="#000000">config</text>
</g> </g>
<g id="clust3" class="cluster"> <g id="clust3" class="cluster">
<title>cluster_*github.com/sirupsen/logrus.Logger</title> <title>cluster_*github.com/sirupsen/logrus.Logger</title>
<g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger"> <g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M620.1025,-157C620.1025,-157 678.0843,-157 678.0843,-157 684.0843,-157 690.0843,-163 690.0843,-169 690.0843,-169 690.0843,-284 690.0843,-284 690.0843,-290 684.0843,-296 678.0843,-296 678.0843,-296 620.1025,-296 620.1025,-296 614.1025,-296 608.1025,-290 608.1025,-284 608.1025,-284 608.1025,-169 608.1025,-169 608.1025,-163 614.1025,-157 620.1025,-157"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M620.1025,-60C620.1025,-60 678.0843,-60 678.0843,-60 684.0843,-60 690.0843,-66 690.0843,-72 690.0843,-72 690.0843,-187 690.0843,-187 690.0843,-193 684.0843,-199 678.0843,-199 678.0843,-199 620.1025,-199 620.1025,-199 614.1025,-199 608.1025,-193 608.1025,-187 608.1025,-187 608.1025,-72 608.1025,-72 608.1025,-66 614.1025,-60 620.1025,-60"/>
<text text-anchor="middle" x="649.0934" y="-165.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text> <text text-anchor="middle" x="649.0934" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust2" class="cluster"> <g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/logger.Logger</title> <title>cluster_*github.com/go&#45;i2p/logger.Logger</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/logger.Logger"> <g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/logger.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M430.3472,-602C430.3472,-602 484.113,-602 484.113,-602 490.113,-602 496.113,-608 496.113,-614 496.113,-614 496.113,-668 496.113,-668 496.113,-674 490.113,-680 484.113,-680 484.113,-680 430.3472,-680 430.3472,-680 424.3472,-680 418.3472,-674 418.3472,-668 418.3472,-668 418.3472,-614 418.3472,-614 418.3472,-608 424.3472,-602 430.3472,-602"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M430.3472,-419C430.3472,-419 484.113,-419 484.113,-419 490.113,-419 496.113,-425 496.113,-431 496.113,-431 496.113,-485 496.113,-485 496.113,-491 490.113,-497 484.113,-497 484.113,-497 430.3472,-497 430.3472,-497 424.3472,-497 418.3472,-491 418.3472,-485 418.3472,-485 418.3472,-431 418.3472,-431 418.3472,-425 424.3472,-419 430.3472,-419"/>
<text text-anchor="middle" x="457.2301" y="-610.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text> <text text-anchor="middle" x="457.2301" y="-427.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath -->
<g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath | defined in config.go:107&#10;at config.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M504.3367,-174C504.3367,-174 410.1235,-174 410.1235,-174 404.1235,-174 398.1235,-168 398.1235,-162 398.1235,-162 398.1235,-150 398.1235,-150 398.1235,-144 404.1235,-138 410.1235,-138 410.1235,-138 504.3367,-138 504.3367,-138 510.3367,-138 516.3367,-144 516.3367,-150 516.3367,-150 516.3367,-162 516.3367,-162 516.3367,-168 510.3367,-174 504.3367,-174"/>
<text text-anchor="middle" x="457.2301" y="-151.8" font-family="Verdana" font-size="14.00" fill="#000000">BuildI2PDirPath</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome | defined in home.go:8">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M679.2324,-149C679.2324,-149 618.9544,-149 618.9544,-149 612.9544,-149 606.9544,-143 606.9544,-137 606.9544,-137 606.9544,-125 606.9544,-125 606.9544,-119 612.9544,-113 618.9544,-113 618.9544,-113 679.2324,-113 679.2324,-113 685.2324,-113 691.2324,-119 691.2324,-125 691.2324,-125 691.2324,-137 691.2324,-137 691.2324,-143 685.2324,-149 679.2324,-149"/>
<text text-anchor="middle" x="649.0934" y="-135.2" font-family="Verdana" font-size="14.00" fill="#000000">util</text>
<text text-anchor="middle" x="649.0934" y="-118.4" font-family="Verdana" font-size="14.00" fill="#000000">UserHome</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome -->
<g id="edge23" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome</title>
<g id="a_edge23"><a xlink:title="at config.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome]">
<path fill="none" stroke="#8b4513" d="M516.361,-148.2952C542.1024,-144.941 572.0106,-141.044 596.9133,-137.7991"/>
<polygon fill="#8b4513" stroke="#8b4513" points="597.4334,-141.261 606.8973,-136.4982 596.5289,-134.3197 597.4334,-141.261"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile | defined in config.go:91&#10;at config.go:92: calling [github.com/spf13/viper.ReadInConfig]&#10;at config.go:103: calling [github.com/spf13/viper.ConfigFileUsed]&#10;at config.go:100: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:95: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:97: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]&#10;at config.go:97: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig]&#10;at config.go:103: calling [(*github.com/sirupsen/logrus.Logger).Debugf]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M291.0239,-533C291.0239,-533 193.0519,-533 193.0519,-533 187.0519,-533 181.0519,-527 181.0519,-521 181.0519,-521 181.0519,-509 181.0519,-509 181.0519,-503 187.0519,-497 193.0519,-497 193.0519,-497 291.0239,-497 291.0239,-497 297.0239,-497 303.0239,-503 303.0239,-509 303.0239,-509 303.0239,-521 303.0239,-521 303.0239,-527 297.0239,-533 291.0239,-533"/>
<text text-anchor="middle" x="242.0379" y="-510.8" font-family="Verdana" font-size="14.00" fill="#000000">handleConfigFile</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath -->
<g id="edge13" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath</title>
<g id="a_edge13"><a xlink:title="at config.go:97: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]">
<path fill="none" stroke="#000000" d="M291.6175,-496.8823C299.7575,-491.9013 307.2995,-485.6873 312.7462,-478 377.1362,-387.1217 298.8243,-329.5627 348.7462,-230 360.0124,-207.531 381.6954,-190.6903 402.7333,-178.7974"/>
<polygon fill="#000000" stroke="#000000" points="404.5188,-181.8115 411.6779,-174.0014 401.2109,-175.6424 404.5188,-181.8115"/>
</a>
</g>
</g>
<!-- github.com/spf13/viper.ReadInConfig -->
<g id="node4" class="node">
<title>github.com/spf13/viper.ReadInConfig</title>
<g id="a_node4"><a xlink:title="github.com/spf13/viper.ReadInConfig | defined in viper.go:1632">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M497.0448,-350C497.0448,-350 417.4154,-350 417.4154,-350 411.4154,-350 405.4154,-344 405.4154,-338 405.4154,-338 405.4154,-326 405.4154,-326 405.4154,-320 411.4154,-314 417.4154,-314 417.4154,-314 497.0448,-314 497.0448,-314 503.0448,-314 509.0448,-320 509.0448,-326 509.0448,-326 509.0448,-338 509.0448,-338 509.0448,-344 503.0448,-350 497.0448,-350"/>
<text text-anchor="middle" x="457.2301" y="-336.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-319.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadInConfig</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/spf13/viper.ReadInConfig -->
<g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/spf13/viper.ReadInConfig</title>
<g id="a_edge10"><a xlink:title="at config.go:92: calling [github.com/spf13/viper.ReadInConfig]">
<path fill="none" stroke="#8b4513" d="M285.5176,-496.8223C295.1212,-491.6086 304.7923,-485.3159 312.7462,-478 357.3034,-437.0165 339.7249,-402.3323 385.7462,-363 389.1348,-360.1039 392.8355,-357.4397 396.7118,-354.9957"/>
<polygon fill="#8b4513" stroke="#8b4513" points="398.4959,-358.0074 405.4252,-349.9927 395.0103,-351.9369 398.4959,-358.0074"/>
</a>
</g>
</g>
<!-- github.com/spf13/viper.ConfigFileUsed -->
<g id="node5" class="node">
<title>github.com/spf13/viper.ConfigFileUsed</title>
<g id="a_node5"><a xlink:title="github.com/spf13/viper.ConfigFileUsed | defined in viper.go:569">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M502.1629,-411C502.1629,-411 412.2973,-411 412.2973,-411 406.2973,-411 400.2973,-405 400.2973,-399 400.2973,-399 400.2973,-387 400.2973,-387 400.2973,-381 406.2973,-375 412.2973,-375 412.2973,-375 502.1629,-375 502.1629,-375 508.1629,-375 514.1629,-381 514.1629,-387 514.1629,-387 514.1629,-399 514.1629,-399 514.1629,-405 508.1629,-411 502.1629,-411"/>
<text text-anchor="middle" x="457.2301" y="-397.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-380.4" font-family="Verdana" font-size="14.00" fill="#000000">ConfigFileUsed</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/spf13/viper.ConfigFileUsed -->
<g id="edge11" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/spf13/viper.ConfigFileUsed</title>
<g id="a_edge11"><a xlink:title="at config.go:103: calling [github.com/spf13/viper.ConfigFileUsed]">
<path fill="none" stroke="#8b4513" d="M279.3425,-496.852C290.3014,-491.156 302.1781,-484.6182 312.7462,-478 346.9492,-456.5805 350.7852,-444.1587 385.7462,-424 390.8511,-421.0565 396.2886,-418.2171 401.7976,-415.5316"/>
<polygon fill="#8b4513" stroke="#8b4513" points="403.5275,-418.586 411.0904,-411.1662 400.5512,-412.2502 403.5275,-418.586"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig -->
<g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig | defined in config.go:76&#10;at config.go:80: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:85: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:84: calling [github.com/spf13/viper.WriteConfig]&#10;at config.go:88: calling [(*github.com/sirupsen/logrus.Logger).Debugf]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M514.5054,-262C514.5054,-262 399.9548,-262 399.9548,-262 393.9548,-262 387.9548,-256 387.9548,-250 387.9548,-250 387.9548,-238 387.9548,-238 387.9548,-232 393.9548,-226 399.9548,-226 399.9548,-226 514.5054,-226 514.5054,-226 520.5054,-226 526.5054,-232 526.5054,-238 526.5054,-238 526.5054,-250 526.5054,-250 526.5054,-256 520.5054,-262 514.5054,-262"/>
<text text-anchor="middle" x="457.2301" y="-239.8" font-family="Verdana" font-size="14.00" fill="#000000">createDefaultConfig</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig -->
<g id="edge25" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig</title>
<g id="a_edge25"><a xlink:title="at config.go:97: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig]">
<path fill="none" stroke="#000000" d="M291.0142,-496.9249C299.3127,-491.9228 307.0671,-485.6902 312.7462,-478 364.8414,-407.4567 292.2177,-351.0433 348.7462,-284 356.8122,-274.4337 367.3823,-267.1544 378.7588,-261.6157"/>
<polygon fill="#000000" stroke="#000000" points="380.2813,-264.7696 388.0229,-257.5365 377.4604,-258.3632 380.2813,-264.7696"/>
</a>
</g>
</g>
<!-- (*github.com/sirupsen/logrus.Logger).Debugf -->
<g id="node25" class="node">
<title>(*github.com/sirupsen/logrus.Logger).Debugf</title>
<g id="a_node25"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debugf | defined in logger.go:163">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M670.0752,-227C670.0752,-227 628.1116,-227 628.1116,-227 622.1116,-227 616.1116,-221 616.1116,-215 616.1116,-215 616.1116,-203 616.1116,-203 616.1116,-197 622.1116,-191 628.1116,-191 628.1116,-191 670.0752,-191 670.0752,-191 676.0752,-191 682.0752,-197 682.0752,-203 682.0752,-203 682.0752,-215 682.0752,-215 682.0752,-221 676.0752,-227 670.0752,-227"/>
<text text-anchor="middle" x="649.0934" y="-213.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
<text text-anchor="middle" x="649.0934" y="-196.4" font-family="Verdana" font-size="14.00" fill="#000000">Debugf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debugf -->
<g id="edge27" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debugf</title>
<g id="a_edge27"><a xlink:title="at config.go:103: calling [(*github.com/sirupsen/logrus.Logger).Debugf]">
<path fill="none" stroke="#8b4513" d="M284.5169,-496.9746C295.2075,-490.5503 305.6476,-482.2885 312.7462,-472 380.4216,-373.9127 283.096,-274.5313 385.7462,-214 421.7528,-192.7674 540.6408,-199.3113 605.667,-204.7873"/>
<polygon fill="#8b4513" stroke="#8b4513" points="605.7369,-208.3065 616.0027,-205.687 606.3439,-201.3329 605.7369,-208.3065"/>
</a>
</g>
</g>
<!-- (*github.com/sirupsen/logrus.Logger).Fatalf -->
<g id="node26" class="node">
<title>(*github.com/sirupsen/logrus.Logger).Fatalf</title>
<g id="a_node26"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Fatalf | defined in logger.go:189">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M666.5892,-288C666.5892,-288 631.5976,-288 631.5976,-288 625.5976,-288 619.5976,-282 619.5976,-276 619.5976,-276 619.5976,-264 619.5976,-264 619.5976,-258 625.5976,-252 631.5976,-252 631.5976,-252 666.5892,-252 666.5892,-252 672.5892,-252 678.5892,-258 678.5892,-264 678.5892,-264 678.5892,-276 678.5892,-276 678.5892,-282 672.5892,-288 666.5892,-288"/>
<text text-anchor="middle" x="649.0934" y="-274.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
<text text-anchor="middle" x="649.0934" y="-257.4" font-family="Verdana" font-size="14.00" fill="#000000">Fatalf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;(*github.com/sirupsen/logrus.Logger).Fatalf -->
<g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;(*github.com/sirupsen/logrus.Logger).Fatalf</title>
<g id="a_edge12"><a xlink:title="at config.go:100: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:95: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]">
<path fill="none" stroke="#8b4513" d="M287.9441,-496.9579C296.9982,-491.8477 305.8259,-485.5647 312.7462,-478 369.9062,-415.5173 318.2933,-353.2003 385.7462,-302 403.1931,-288.7569 540.1312,-277.5253 609.3377,-272.6286"/>
<polygon fill="#8b4513" stroke="#8b4513" points="609.7025,-276.1117 619.435,-271.9251 609.2159,-269.1287 609.7025,-276.1117"/>
</a>
</g>
</g>
<!-- github.com/spf13/viper.WriteConfig -->
<g id="node7" class="node">
<title>github.com/spf13/viper.WriteConfig</title>
<g id="a_node7"><a xlink:title="github.com/spf13/viper.WriteConfig | defined in viper.go:1718">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M684.3525,-349C684.3525,-349 613.8343,-349 613.8343,-349 607.8343,-349 601.8343,-343 601.8343,-337 601.8343,-337 601.8343,-325 601.8343,-325 601.8343,-319 607.8343,-313 613.8343,-313 613.8343,-313 684.3525,-313 684.3525,-313 690.3525,-313 696.3525,-319 696.3525,-325 696.3525,-325 696.3525,-337 696.3525,-337 696.3525,-343 690.3525,-349 684.3525,-349"/>
<text text-anchor="middle" x="649.0934" y="-335.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="649.0934" y="-318.4" font-family="Verdana" font-size="14.00" fill="#000000">WriteConfig</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;github.com/spf13/viper.WriteConfig -->
<g id="edge14" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;github.com/spf13/viper.WriteConfig</title>
<g id="a_edge14"><a xlink:title="at config.go:84: calling [github.com/spf13/viper.WriteConfig]">
<path fill="none" stroke="#8b4513" d="M496.9843,-262.0265C526.9544,-275.6163 568.219,-294.3277 600.2079,-308.833"/>
<polygon fill="#8b4513" stroke="#8b4513" points="598.8373,-312.0544 609.3901,-312.9966 601.7281,-305.6792 598.8373,-312.0544"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debugf -->
<g id="edge24" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debugf</title>
<g id="a_edge24"><a xlink:title="at config.go:88: calling [(*github.com/sirupsen/logrus.Logger).Debugf]">
<path fill="none" stroke="#8b4513" d="M526.4972,-231.3642C553.0515,-226.5201 582.5668,-221.1359 605.9821,-216.8644"/>
<polygon fill="#8b4513" stroke="#8b4513" points="606.7376,-220.2845 615.9471,-215.0466 605.4813,-213.3981 606.7376,-220.2845"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;(*github.com/sirupsen/logrus.Logger).Fatalf -->
<g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;(*github.com/sirupsen/logrus.Logger).Fatalf</title>
<g id="a_edge1"><a xlink:title="at config.go:80: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:85: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]">
<path fill="none" stroke="#8b4513" d="M526.4972,-253.3866C554.3605,-257.1625 585.4839,-261.3801 609.3993,-264.6209"/>
<polygon fill="#8b4513" stroke="#8b4513" points="609.1296,-268.1163 619.509,-265.9909 610.0696,-261.1797 609.1296,-268.1163"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig -->
<g id="node8" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig</title>
<g id="a_node8"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig | defined in config.go:53&#10;at config.go:55: calling [github.com/spf13/viper.GetString]&#10;at config.go:56: calling [github.com/spf13/viper.GetString]&#10;at config.go:60: calling [github.com/spf13/viper.GetString]&#10;at config.go:66: calling [(*github.com/go&#45;i2p/logger.Logger).Warnf]&#10;at config.go:71: calling [github.com/spf13/viper.GetInt]&#10;at config.go:65: calling [github.com/spf13/viper.UnmarshalKey]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M300.9551,-594C300.9551,-594 183.1207,-594 183.1207,-594 177.1207,-594 171.1207,-588 171.1207,-582 171.1207,-582 171.1207,-570 171.1207,-570 171.1207,-564 177.1207,-558 183.1207,-558 183.1207,-558 300.9551,-558 300.9551,-558 306.9551,-558 312.9551,-564 312.9551,-570 312.9551,-570 312.9551,-582 312.9551,-582 312.9551,-588 306.9551,-594 300.9551,-594"/>
<text text-anchor="middle" x="242.0379" y="-571.8" font-family="Verdana" font-size="14.00" fill="#000000">UpdateRouterConfig</text>
</a>
</g>
</g>
<!-- github.com/spf13/viper.GetString -->
<g id="node9" class="node">
<title>github.com/spf13/viper.GetString</title>
<g id="a_node9"><a xlink:title="github.com/spf13/viper.GetString | defined in viper.go:975">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M484.6675,-533C484.6675,-533 429.7927,-533 429.7927,-533 423.7927,-533 417.7927,-527 417.7927,-521 417.7927,-521 417.7927,-509 417.7927,-509 417.7927,-503 423.7927,-497 429.7927,-497 429.7927,-497 484.6675,-497 484.6675,-497 490.6675,-497 496.6675,-503 496.6675,-509 496.6675,-509 496.6675,-521 496.6675,-521 496.6675,-527 490.6675,-533 484.6675,-533"/>
<text text-anchor="middle" x="457.2301" y="-519.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-502.4" font-family="Verdana" font-size="14.00" fill="#000000">GetString</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.GetString -->
<g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.GetString</title>
<g id="a_edge2"><a xlink:title="at config.go:55: calling [github.com/spf13/viper.GetString]&#10;at config.go:56: calling [github.com/spf13/viper.GetString]&#10;at config.go:60: calling [github.com/spf13/viper.GetString]">
<path fill="none" stroke="#8b4513" d="M305.7292,-557.9456C338.3543,-548.6974 377.4798,-537.6066 407.7972,-529.0126"/>
<polygon fill="#8b4513" stroke="#8b4513" points="409.0526,-532.2947 417.7189,-526.2001 407.1435,-525.5601 409.0526,-532.2947"/>
</a>
</g>
</g>
<!-- github.com/spf13/viper.UnmarshalKey -->
<g id="node10" class="node">
<title>github.com/spf13/viper.UnmarshalKey</title>
<g id="a_node10"><a xlink:title="github.com/spf13/viper.UnmarshalKey | defined in viper.go:1103">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M499.4738,-594C499.4738,-594 414.9864,-594 414.9864,-594 408.9864,-594 402.9864,-588 402.9864,-582 402.9864,-582 402.9864,-570 402.9864,-570 402.9864,-564 408.9864,-558 414.9864,-558 414.9864,-558 499.4738,-558 499.4738,-558 505.4738,-558 511.4738,-564 511.4738,-570 511.4738,-570 511.4738,-582 511.4738,-582 511.4738,-588 505.4738,-594 499.4738,-594"/>
<text text-anchor="middle" x="457.2301" y="-580.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-563.4" font-family="Verdana" font-size="14.00" fill="#000000">UnmarshalKey</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.UnmarshalKey -->
<g id="edge28" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.UnmarshalKey</title>
<g id="a_edge28"><a xlink:title="at config.go:65: calling [github.com/spf13/viper.UnmarshalKey]">
<path fill="none" stroke="#8b4513" d="M312.7979,-576C338.5302,-576 367.4592,-576 392.6306,-576"/>
<polygon fill="#8b4513" stroke="#8b4513" points="392.8026,-579.5001 402.8026,-576 392.8025,-572.5001 392.8026,-579.5001"/>
</a>
</g>
</g>
<!-- github.com/spf13/viper.GetInt -->
<g id="node11" class="node">
<title>github.com/spf13/viper.GetInt</title>
<g id="a_node11"><a xlink:title="github.com/spf13/viper.GetInt | defined in viper.go:989">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M474.9936,-472C474.9936,-472 439.4666,-472 439.4666,-472 433.4666,-472 427.4666,-466 427.4666,-460 427.4666,-460 427.4666,-448 427.4666,-448 427.4666,-442 433.4666,-436 439.4666,-436 439.4666,-436 474.9936,-436 474.9936,-436 480.9936,-436 486.9936,-442 486.9936,-448 486.9936,-448 486.9936,-460 486.9936,-460 486.9936,-466 480.9936,-472 474.9936,-472"/>
<text text-anchor="middle" x="457.2301" y="-458.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-441.4" font-family="Verdana" font-size="14.00" fill="#000000">GetInt</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.GetInt -->
<g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.GetInt</title>
<g id="a_edge7"><a xlink:title="at config.go:71: calling [github.com/spf13/viper.GetInt]">
<path fill="none" stroke="#8b4513" d="M290.1598,-557.8555C297.9074,-554.2951 305.6921,-550.312 312.7462,-546 348.8208,-523.9483 349.7593,-507.1945 385.7462,-485 395.8089,-478.794 407.3325,-473.2123 418.1466,-468.5519"/>
<polygon fill="#8b4513" stroke="#8b4513" points="419.5217,-471.7708 427.4128,-464.7011 416.8353,-465.3067 419.5217,-471.7708"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Warnf -->
<g id="node24" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Warnf</title>
<g id="a_node24"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Warnf | defined in log.go:36">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M474.9964,-672C474.9964,-672 439.4638,-672 439.4638,-672 433.4638,-672 427.4638,-666 427.4638,-660 427.4638,-660 427.4638,-648 427.4638,-648 427.4638,-642 433.4638,-636 439.4638,-636 439.4638,-636 474.9964,-636 474.9964,-636 480.9964,-636 486.9964,-642 486.9964,-648 486.9964,-648 486.9964,-660 486.9964,-660 486.9964,-666 480.9964,-672 474.9964,-672"/>
<text text-anchor="middle" x="457.2301" y="-658.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="457.2301" y="-641.4" font-family="Verdana" font-size="14.00" fill="#000000">Warnf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warnf -->
<g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warnf</title>
<g id="a_edge3"><a xlink:title="at config.go:66: calling [(*github.com/go&#45;i2p/logger.Logger).Warnf]">
<path fill="none" stroke="#8b4513" d="M286.0736,-594.1217C314.357,-605.5213 351.9873,-620.2452 385.7462,-632 395.9683,-635.5593 407.1128,-639.1333 417.4951,-642.335"/>
<polygon fill="#8b4513" stroke="#8b4513" points="416.5748,-645.7134 427.1607,-645.278 418.6138,-639.017 416.5748,-645.7134"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig -->
<g id="node12" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig</title>
<g id="a_node12"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig | defined in config.go:19&#10;at config.go:37: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig]&#10;at config.go:22: calling [github.com/spf13/viper.SetConfigFile]&#10;at config.go:25: calling [github.com/spf13/viper.AddConfigPath]&#10;at config.go:26: calling [github.com/spf13/viper.SetConfigName]&#10;at config.go:34: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile]&#10;at config.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]&#10;at config.go:27: calling [github.com/spf13/viper.SetConfigType]&#10;at config.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig | defined in config.go:19&#10;at config.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]&#10;at config.go:22: calling [github.com/spf13/viper.SetConfigFile]&#10;at config.go:25: calling [github.com/spf13/viper.AddConfigPath]&#10;at config.go:34: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile]&#10;at config.go:26: calling [github.com/spf13/viper.SetConfigName]&#10;at config.go:37: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig]&#10;at config.go:27: calling [github.com/spf13/viper.SetConfigType]&#10;at config.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M86.4951,-471C86.4951,-471 27.8345,-471 27.8345,-471 21.8345,-471 15.8345,-465 15.8345,-459 15.8345,-459 15.8345,-447 15.8345,-447 15.8345,-441 21.8345,-435 27.8345,-435 27.8345,-435 86.4951,-435 86.4951,-435 92.4951,-435 98.4951,-441 98.4951,-447 98.4951,-447 98.4951,-459 98.4951,-459 98.4951,-465 92.4951,-471 86.4951,-471"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M86.4951,-441C86.4951,-441 27.8345,-441 27.8345,-441 21.8345,-441 15.8345,-435 15.8345,-429 15.8345,-429 15.8345,-417 15.8345,-417 15.8345,-411 21.8345,-405 27.8345,-405 27.8345,-405 86.4951,-405 86.4951,-405 92.4951,-405 98.4951,-411 98.4951,-417 98.4951,-417 98.4951,-429 98.4951,-429 98.4951,-435 92.4951,-441 86.4951,-441"/>
<text text-anchor="middle" x="57.1648" y="-448.8" font-family="Verdana" font-size="14.00" fill="#000000">InitConfig</text> <text text-anchor="middle" x="57.1648" y="-418.8" font-family="Verdana" font-size="14.00" fill="#000000">InitConfig</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath -->
<g id="edge21" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath</title>
<g id="a_edge21"><a xlink:title="at config.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]">
<path fill="none" stroke="#000000" d="M98.5677,-460.1907C162.6369,-470.2938 281.6736,-484.6578 312.7462,-458 392.6073,-389.4857 297.1007,-315.6774 348.7462,-224 359.9102,-204.1826 379.4823,-189.3432 398.957,-178.6686"/>
<polygon fill="#000000" stroke="#000000" points="400.5971,-181.7608 407.8675,-174.0542 397.378,-175.5449 400.5971,-181.7608"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile -->
<g id="edge20" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile</title>
<g id="a_edge20"><a xlink:title="at config.go:34: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile]">
<path fill="none" stroke="#000000" d="M98.6539,-466.914C122.1679,-474.7998 152.0784,-484.8307 178.4905,-493.6884"/>
<polygon fill="#000000" stroke="#000000" points="177.4507,-497.0312 188.0446,-496.8925 179.6765,-490.3945 177.4507,-497.0312"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig -->
<g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig</title>
<g id="a_edge4"><a xlink:title="at config.go:37: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig]">
<path fill="none" stroke="#000000" d="M76.098,-471.2787C97.7713,-491.4933 134.9843,-524.0936 171.3296,-546 175.7141,-548.6427 180.3738,-551.1674 185.1274,-553.5502"/>
<polygon fill="#000000" stroke="#000000" points="183.8054,-556.7975 194.3373,-557.951 186.8235,-550.4815 183.8054,-556.7975"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/spf13/viper.SetConfigFile --> <!-- github.com/spf13/viper.SetConfigFile -->
<g id="node13" class="node"> <g id="node2" class="node">
<title>github.com/spf13/viper.SetConfigFile</title> <title>github.com/spf13/viper.SetConfigFile</title>
<g id="a_node13"><a xlink:title="github.com/spf13/viper.SetConfigFile | defined in viper.go:509"> <g id="a_node2"><a xlink:title="github.com/spf13/viper.SetConfigFile | defined in viper.go:509">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M281.0929,-655C281.0929,-655 202.9829,-655 202.9829,-655 196.9829,-655 190.9829,-649 190.9829,-643 190.9829,-643 190.9829,-631 190.9829,-631 190.9829,-625 196.9829,-619 202.9829,-619 202.9829,-619 281.0929,-619 281.0929,-619 287.0929,-619 293.0929,-625 293.0929,-631 293.0929,-631 293.0929,-643 293.0929,-643 293.0929,-649 287.0929,-655 281.0929,-655"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M281.0929,-411C281.0929,-411 202.9829,-411 202.9829,-411 196.9829,-411 190.9829,-405 190.9829,-399 190.9829,-399 190.9829,-387 190.9829,-387 190.9829,-381 196.9829,-375 202.9829,-375 202.9829,-375 281.0929,-375 281.0929,-375 287.0929,-375 293.0929,-381 293.0929,-387 293.0929,-387 293.0929,-399 293.0929,-399 293.0929,-405 287.0929,-411 281.0929,-411"/>
<text text-anchor="middle" x="242.0379" y="-641.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text> <text text-anchor="middle" x="242.0379" y="-397.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="242.0379" y="-624.4" font-family="Verdana" font-size="14.00" fill="#000000">SetConfigFile</text> <text text-anchor="middle" x="242.0379" y="-380.4" font-family="Verdana" font-size="14.00" fill="#000000">SetConfigFile</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigFile --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigFile -->
<g id="edge8" class="edge"> <g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigFile</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigFile</title>
<g id="a_edge8"><a xlink:title="at config.go:22: calling [github.com/spf13/viper.SetConfigFile]"> <g id="a_edge4"><a xlink:title="at config.go:22: calling [github.com/spf13/viper.SetConfigFile]">
<path fill="none" stroke="#8b4513" d="M66.3763,-471.1271C83.2355,-502.6906 121.911,-568.0836 171.3296,-607 174.6297,-609.5988 178.1882,-612.0122 181.8916,-614.2466"/> <path fill="none" stroke="#8b4513" d="M98.6539,-416.2674C122.82,-412.3459 153.7422,-407.328 180.6795,-402.9568"/>
<polygon fill="#8b4513" stroke="#8b4513" points="180.297,-617.3643 190.7423,-619.1381 183.6831,-611.2377 180.297,-617.3643"/> <polygon fill="#8b4513" stroke="#8b4513" points="181.4757,-406.3735 190.7859,-401.3168 180.3544,-399.4639 181.4757,-406.3735"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults -->
<g id="node14" class="node"> <g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults</title>
<g id="a_node14"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults | defined in config.go:40&#10;at config.go:42: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]&#10;at config.go:43: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]&#10;at config.go:42: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:43: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:46: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:49: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:50: calling [github.com/spf13/viper.SetDefault]"> <g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults | defined in config.go:40&#10;at config.go:42: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]&#10;at config.go:43: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]&#10;at config.go:42: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:43: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:46: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:49: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:50: calling [github.com/spf13/viper.SetDefault]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M273.5099,-201C273.5099,-201 210.5659,-201 210.5659,-201 204.5659,-201 198.5659,-195 198.5659,-189 198.5659,-189 198.5659,-177 198.5659,-177 198.5659,-171 204.5659,-165 210.5659,-165 210.5659,-165 273.5099,-165 273.5099,-165 279.5099,-165 285.5099,-171 285.5099,-177 285.5099,-177 285.5099,-189 285.5099,-189 285.5099,-195 279.5099,-201 273.5099,-201"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M273.5099,-472C273.5099,-472 210.5659,-472 210.5659,-472 204.5659,-472 198.5659,-466 198.5659,-460 198.5659,-460 198.5659,-448 198.5659,-448 198.5659,-442 204.5659,-436 210.5659,-436 210.5659,-436 273.5099,-436 273.5099,-436 279.5099,-436 285.5099,-442 285.5099,-448 285.5099,-448 285.5099,-460 285.5099,-460 285.5099,-466 279.5099,-472 273.5099,-472"/>
<text text-anchor="middle" x="242.0379" y="-178.8" font-family="Verdana" font-size="14.00" fill="#000000">setDefaults</text> <text text-anchor="middle" x="242.0379" y="-449.8" font-family="Verdana" font-size="14.00" fill="#000000">setDefaults</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults -->
<g id="edge29" class="edge"> <g id="edge28" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults</title>
<g id="a_edge29"><a xlink:title="at config.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults]"> <g id="a_edge28"><a xlink:title="at config.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults]">
<path fill="none" stroke="#000000" d="M61.1946,-434.8583C71.7722,-391.1669 104.261,-278.927 171.3296,-214 176.5601,-208.9365 182.7539,-204.6262 189.2667,-200.9774"/> <path fill="none" stroke="#000000" d="M98.6539,-429.957C125.1072,-434.3928 159.656,-440.186 188.2117,-444.9743"/>
<polygon fill="#000000" stroke="#000000" points="190.95,-204.0482 198.2852,-196.4032 187.7836,-197.8053 190.95,-204.0482"/> <polygon fill="#000000" stroke="#000000" points="187.9938,-448.4865 198.435,-446.6886 189.1515,-441.5829 187.9938,-448.4865"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile -->
<g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile | defined in config.go:91&#10;at config.go:100: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:95: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:97: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]&#10;at config.go:103: calling [github.com/spf13/viper.ConfigFileUsed]&#10;at config.go:92: calling [github.com/spf13/viper.ReadInConfig]&#10;at config.go:97: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig]&#10;at config.go:103: calling [(*github.com/sirupsen/logrus.Logger).Debugf]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M291.0239,-262C291.0239,-262 193.0519,-262 193.0519,-262 187.0519,-262 181.0519,-256 181.0519,-250 181.0519,-250 181.0519,-238 181.0519,-238 181.0519,-232 187.0519,-226 193.0519,-226 193.0519,-226 291.0239,-226 291.0239,-226 297.0239,-226 303.0239,-232 303.0239,-238 303.0239,-238 303.0239,-250 303.0239,-250 303.0239,-256 297.0239,-262 291.0239,-262"/>
<text text-anchor="middle" x="242.0379" y="-239.8" font-family="Verdana" font-size="14.00" fill="#000000">handleConfigFile</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile -->
<g id="edge17" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile</title>
<g id="a_edge17"><a xlink:title="at config.go:34: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile]">
<path fill="none" stroke="#000000" d="M73.1208,-404.6798C94.5937,-380.3616 134.373,-336.4782 171.3296,-302 183.71,-290.4499 198.0457,-278.458 210.5593,-268.3966"/>
<polygon fill="#000000" stroke="#000000" points="212.8389,-271.0555 218.4805,-262.0877 208.4778,-265.58 212.8389,-271.0555"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath -->
<g id="node9" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath</title>
<g id="a_node9"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath | defined in config.go:107&#10;at config.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M504.3367,-52C504.3367,-52 410.1235,-52 410.1235,-52 404.1235,-52 398.1235,-46 398.1235,-40 398.1235,-40 398.1235,-28 398.1235,-28 398.1235,-22 404.1235,-16 410.1235,-16 410.1235,-16 504.3367,-16 504.3367,-16 510.3367,-16 516.3367,-22 516.3367,-28 516.3367,-28 516.3367,-40 516.3367,-40 516.3367,-46 510.3367,-52 504.3367,-52"/>
<text text-anchor="middle" x="457.2301" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">BuildI2PDirPath</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath -->
<g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath</title>
<g id="a_edge2"><a xlink:title="at config.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]">
<path fill="none" stroke="#000000" d="M61.4091,-404.9816C72.0915,-363.8726 104.1671,-262.9433 171.3296,-214 223.0424,-176.3153 262.2384,-226.285 312.7462,-187 342.5659,-163.8063 327.2689,-141.0787 348.7462,-110 362.1475,-90.6077 366.8907,-86.1465 385.7462,-72 392.9344,-66.607 400.9911,-61.5375 409.034,-56.9663"/>
<polygon fill="#000000" stroke="#000000" points="410.9693,-59.8971 418.0618,-52.0264 407.6091,-53.7563 410.9693,-59.8971"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig -->
<g id="node13" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig</title>
<g id="a_node13"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig | defined in config.go:53&#10;at config.go:66: calling [(*github.com/go&#45;i2p/logger.Logger).Warnf]&#10;at config.go:65: calling [github.com/spf13/viper.UnmarshalKey]&#10;at config.go:71: calling [github.com/spf13/viper.GetInt]&#10;at config.go:55: calling [github.com/spf13/viper.GetString]&#10;at config.go:56: calling [github.com/spf13/viper.GetString]&#10;at config.go:60: calling [github.com/spf13/viper.GetString]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M300.9551,-533C300.9551,-533 183.1207,-533 183.1207,-533 177.1207,-533 171.1207,-527 171.1207,-521 171.1207,-521 171.1207,-509 171.1207,-509 171.1207,-503 177.1207,-497 183.1207,-497 183.1207,-497 300.9551,-497 300.9551,-497 306.9551,-497 312.9551,-503 312.9551,-509 312.9551,-509 312.9551,-521 312.9551,-521 312.9551,-527 306.9551,-533 300.9551,-533"/>
<text text-anchor="middle" x="242.0379" y="-510.8" font-family="Verdana" font-size="14.00" fill="#000000">UpdateRouterConfig</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig -->
<g id="edge23" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig</title>
<g id="a_edge23"><a xlink:title="at config.go:37: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig]">
<path fill="none" stroke="#000000" d="M88.7247,-441.2041C111.4112,-454.0264 142.8884,-471.2829 171.3296,-485 176.7158,-487.5977 182.3846,-490.2059 188.0718,-492.7412"/>
<polygon fill="#000000" stroke="#000000" points="187.0498,-496.1146 197.6137,-496.9243 189.8604,-489.7037 187.0498,-496.1146"/>
</a> </a>
</g> </g>
</g> </g>
@ -369,18 +134,18 @@
<g id="node17" class="node"> <g id="node17" class="node">
<title>github.com/spf13/viper.AddConfigPath</title> <title>github.com/spf13/viper.AddConfigPath</title>
<g id="a_node17"><a xlink:title="github.com/spf13/viper.AddConfigPath | defined in viper.go:574"> <g id="a_node17"><a xlink:title="github.com/spf13/viper.AddConfigPath | defined in viper.go:574">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M285.9202,-323C285.9202,-323 198.1556,-323 198.1556,-323 192.1556,-323 186.1556,-317 186.1556,-311 186.1556,-311 186.1556,-299 186.1556,-299 186.1556,-293 192.1556,-287 198.1556,-287 198.1556,-287 285.9202,-287 285.9202,-287 291.9202,-287 297.9202,-293 297.9202,-299 297.9202,-299 297.9202,-311 297.9202,-311 297.9202,-317 291.9202,-323 285.9202,-323"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M285.9202,-594C285.9202,-594 198.1556,-594 198.1556,-594 192.1556,-594 186.1556,-588 186.1556,-582 186.1556,-582 186.1556,-570 186.1556,-570 186.1556,-564 192.1556,-558 198.1556,-558 198.1556,-558 285.9202,-558 285.9202,-558 291.9202,-558 297.9202,-564 297.9202,-570 297.9202,-570 297.9202,-582 297.9202,-582 297.9202,-588 291.9202,-594 285.9202,-594"/>
<text text-anchor="middle" x="242.0379" y="-309.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text> <text text-anchor="middle" x="242.0379" y="-580.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="242.0379" y="-292.4" font-family="Verdana" font-size="14.00" fill="#000000">AddConfigPath</text> <text text-anchor="middle" x="242.0379" y="-563.4" font-family="Verdana" font-size="14.00" fill="#000000">AddConfigPath</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.AddConfigPath --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.AddConfigPath -->
<g id="edge16" class="edge"> <g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.AddConfigPath</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.AddConfigPath</title>
<g id="a_edge16"><a xlink:title="at config.go:25: calling [github.com/spf13/viper.AddConfigPath]"> <g id="a_edge12"><a xlink:title="at config.go:25: calling [github.com/spf13/viper.AddConfigPath]">
<path fill="none" stroke="#8b4513" d="M71.2702,-434.6182C91.2612,-409.5752 130.0248,-364.5882 171.3296,-336 175.5608,-333.0715 180.1131,-330.3242 184.795,-327.7695"/> <path fill="none" stroke="#8b4513" d="M70.0264,-441.1196C89.4009,-467.3031 128.4035,-515.8736 171.3296,-546 174.9896,-548.5686 178.9038,-550.9791 182.943,-553.2287"/>
<polygon fill="#8b4513" stroke="#8b4513" points="186.6062,-330.7742 193.9081,-323.0974 183.4126,-324.5451 186.6062,-330.7742"/> <polygon fill="#8b4513" stroke="#8b4513" points="181.4466,-556.3953 191.9347,-557.8955 184.6713,-550.1823 181.4466,-556.3953"/>
</a> </a>
</g> </g>
</g> </g>
@ -388,18 +153,18 @@
<g id="node18" class="node"> <g id="node18" class="node">
<title>github.com/spf13/viper.SetConfigName</title> <title>github.com/spf13/viper.SetConfigName</title>
<g id="a_node18"><a xlink:title="github.com/spf13/viper.SetConfigName | defined in viper.go:2174"> <g id="a_node18"><a xlink:title="github.com/spf13/viper.SetConfigName | defined in viper.go:2174">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M287.2401,-384C287.2401,-384 196.8357,-384 196.8357,-384 190.8357,-384 184.8357,-378 184.8357,-372 184.8357,-372 184.8357,-360 184.8357,-360 184.8357,-354 190.8357,-348 196.8357,-348 196.8357,-348 287.2401,-348 287.2401,-348 293.2401,-348 299.2401,-354 299.2401,-360 299.2401,-360 299.2401,-372 299.2401,-372 299.2401,-378 293.2401,-384 287.2401,-384"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M287.2401,-655C287.2401,-655 196.8357,-655 196.8357,-655 190.8357,-655 184.8357,-649 184.8357,-643 184.8357,-643 184.8357,-631 184.8357,-631 184.8357,-625 190.8357,-619 196.8357,-619 196.8357,-619 287.2401,-619 287.2401,-619 293.2401,-619 299.2401,-625 299.2401,-631 299.2401,-631 299.2401,-643 299.2401,-643 299.2401,-649 293.2401,-655 287.2401,-655"/>
<text text-anchor="middle" x="242.0379" y="-370.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text> <text text-anchor="middle" x="242.0379" y="-641.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="242.0379" y="-353.4" font-family="Verdana" font-size="14.00" fill="#000000">SetConfigName</text> <text text-anchor="middle" x="242.0379" y="-624.4" font-family="Verdana" font-size="14.00" fill="#000000">SetConfigName</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigName --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigName -->
<g id="edge17" class="edge"> <g id="edge18" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigName</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigName</title>
<g id="a_edge17"><a xlink:title="at config.go:26: calling [github.com/spf13/viper.SetConfigName]"> <g id="a_edge18"><a xlink:title="at config.go:26: calling [github.com/spf13/viper.SetConfigName]">
<path fill="none" stroke="#8b4513" d="M92.9682,-434.9483C115.371,-423.7751 144.8979,-409.2699 171.3296,-397 177.5376,-394.1182 184.0822,-391.1527 190.5822,-388.2515"/> <path fill="none" stroke="#8b4513" d="M64.039,-441.2389C78.5582,-477.5114 115.6576,-559.3065 171.3296,-607 174.181,-609.4427 177.2605,-611.711 180.4834,-613.8137"/>
<polygon fill="#8b4513" stroke="#8b4513" points="192.3052,-391.3162 200.0291,-384.0641 189.4686,-384.9167 192.3052,-391.3162"/> <polygon fill="#8b4513" stroke="#8b4513" points="178.8983,-616.942 189.2916,-618.9989 182.4495,-610.9097 178.8983,-616.942"/>
</a> </a>
</g> </g>
</g> </g>
@ -407,27 +172,27 @@
<g id="node19" class="node"> <g id="node19" class="node">
<title>github.com/spf13/viper.SetConfigType</title> <title>github.com/spf13/viper.SetConfigType</title>
<g id="a_node19"><a xlink:title="github.com/spf13/viper.SetConfigType | defined in viper.go:2185"> <g id="a_node19"><a xlink:title="github.com/spf13/viper.SetConfigType | defined in viper.go:2185">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M284.5817,-445C284.5817,-445 199.4941,-445 199.4941,-445 193.4941,-445 187.4941,-439 187.4941,-433 187.4941,-433 187.4941,-421 187.4941,-421 187.4941,-415 193.4941,-409 199.4941,-409 199.4941,-409 284.5817,-409 284.5817,-409 290.5817,-409 296.5817,-415 296.5817,-421 296.5817,-421 296.5817,-433 296.5817,-433 296.5817,-439 290.5817,-445 284.5817,-445"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M284.5817,-350C284.5817,-350 199.4941,-350 199.4941,-350 193.4941,-350 187.4941,-344 187.4941,-338 187.4941,-338 187.4941,-326 187.4941,-326 187.4941,-320 193.4941,-314 199.4941,-314 199.4941,-314 284.5817,-314 284.5817,-314 290.5817,-314 296.5817,-320 296.5817,-326 296.5817,-326 296.5817,-338 296.5817,-338 296.5817,-344 290.5817,-350 284.5817,-350"/>
<text text-anchor="middle" x="242.0379" y="-431.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text> <text text-anchor="middle" x="242.0379" y="-336.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="242.0379" y="-414.4" font-family="Verdana" font-size="14.00" fill="#000000">SetConfigType</text> <text text-anchor="middle" x="242.0379" y="-319.4" font-family="Verdana" font-size="14.00" fill="#000000">SetConfigType</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigType --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigType -->
<g id="edge26" class="edge"> <g id="edge24" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigType</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.InitConfig&#45;&gt;github.com/spf13/viper.SetConfigType</title>
<g id="a_edge26"><a xlink:title="at config.go:27: calling [github.com/spf13/viper.SetConfigType]"> <g id="a_edge24"><a xlink:title="at config.go:27: calling [github.com/spf13/viper.SetConfigType]">
<path fill="none" stroke="#8b4513" d="M98.6539,-447.1651C121.7737,-443.9136 151.0773,-439.7924 177.1591,-436.1244"/> <path fill="none" stroke="#8b4513" d="M90.3186,-404.7819C112.936,-392.5505 143.6884,-376.3022 171.3296,-363 177.4157,-360.0711 183.8455,-357.0941 190.2478,-354.2015"/>
<polygon fill="#8b4513" stroke="#8b4513" points="177.9383,-439.5493 187.3534,-434.6907 176.9634,-432.6175 177.9383,-439.5493"/> <polygon fill="#8b4513" stroke="#8b4513" points="191.8623,-357.3136 199.5651,-350.0392 189.0071,-350.9224 191.8623,-357.3136"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig -->
<g id="node15" class="node"> <g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig</title>
<g id="a_node15"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig | defined in router.go:35"> <g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig | defined in router.go:35">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M516.6979,-52C516.6979,-52 397.7623,-52 397.7623,-52 391.7623,-52 385.7623,-46 385.7623,-40 385.7623,-40 385.7623,-28 385.7623,-28 385.7623,-22 391.7623,-16 397.7623,-16 397.7623,-16 516.6979,-16 516.6979,-16 522.6979,-16 528.6979,-22 528.6979,-28 528.6979,-28 528.6979,-40 528.6979,-40 528.6979,-46 522.6979,-52 516.6979,-52"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M516.6979,-350C516.6979,-350 397.7623,-350 397.7623,-350 391.7623,-350 385.7623,-344 385.7623,-338 385.7623,-338 385.7623,-326 385.7623,-326 385.7623,-320 391.7623,-314 397.7623,-314 397.7623,-314 516.6979,-314 516.6979,-314 522.6979,-314 528.6979,-320 528.6979,-326 528.6979,-326 528.6979,-338 528.6979,-338 528.6979,-344 522.6979,-350 516.6979,-350"/>
<text text-anchor="middle" x="457.2301" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">DefaultRouterConfig</text> <text text-anchor="middle" x="457.2301" y="-327.8" font-family="Verdana" font-size="14.00" fill="#000000">DefaultRouterConfig</text>
</a> </a>
</g> </g>
</g> </g>
@ -435,118 +200,353 @@
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig</title>
<g id="a_edge9"><a xlink:title="at config.go:42: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]&#10;at config.go:43: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]"> <g id="a_edge9"><a xlink:title="at config.go:42: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]&#10;at config.go:43: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]">
<path fill="none" stroke="#000000" d="M285.6924,-168.3361C295.0812,-164.1526 304.616,-159.0505 312.7462,-153 353.5127,-122.6616 345.1003,-95.4997 385.7462,-65 389.6007,-62.1076 393.7668,-59.42 398.083,-56.936"/> <path fill="none" stroke="#000000" d="M285.671,-437.8748C294.8666,-433.8246 304.3268,-429.1466 312.7462,-424 348.8208,-401.9483 349.7593,-385.1945 385.7462,-363 390.4955,-360.0709 395.5703,-357.2809 400.7424,-354.6612"/>
<polygon fill="#000000" stroke="#000000" points="399.9274,-59.919 407.1019,-52.1231 396.6317,-53.7433 399.9274,-59.919"/> <polygon fill="#000000" stroke="#000000" points="402.6262,-357.6381 410.1078,-350.1363 399.581,-351.3352 402.6262,-357.6381"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/spf13/viper.SetDefault --> <!-- github.com/spf13/viper.SetDefault -->
<g id="node16" class="node"> <g id="node5" class="node">
<title>github.com/spf13/viper.SetDefault</title> <title>github.com/spf13/viper.SetDefault</title>
<g id="a_node16"><a xlink:title="github.com/spf13/viper.SetDefault | defined in viper.go:1596"> <g id="a_node5"><a xlink:title="github.com/spf13/viper.SetDefault | defined in viper.go:1596">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M487.0956,-113C487.0956,-113 427.3646,-113 427.3646,-113 421.3646,-113 415.3646,-107 415.3646,-101 415.3646,-101 415.3646,-89 415.3646,-89 415.3646,-83 421.3646,-77 427.3646,-77 427.3646,-77 487.0956,-77 487.0956,-77 493.0956,-77 499.0956,-83 499.0956,-89 499.0956,-89 499.0956,-101 499.0956,-101 499.0956,-107 493.0956,-113 487.0956,-113"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M487.0956,-411C487.0956,-411 427.3646,-411 427.3646,-411 421.3646,-411 415.3646,-405 415.3646,-399 415.3646,-399 415.3646,-387 415.3646,-387 415.3646,-381 421.3646,-375 427.3646,-375 427.3646,-375 487.0956,-375 487.0956,-375 493.0956,-375 499.0956,-381 499.0956,-387 499.0956,-387 499.0956,-399 499.0956,-399 499.0956,-405 493.0956,-411 487.0956,-411"/>
<text text-anchor="middle" x="457.2301" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text> <text text-anchor="middle" x="457.2301" y="-397.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">SetDefault</text> <text text-anchor="middle" x="457.2301" y="-380.4" font-family="Verdana" font-size="14.00" fill="#000000">SetDefault</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults&#45;&gt;github.com/spf13/viper.SetDefault --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults&#45;&gt;github.com/spf13/viper.SetDefault -->
<g id="edge15" class="edge"> <g id="edge16" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults&#45;&gt;github.com/spf13/viper.SetDefault</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.setDefaults&#45;&gt;github.com/spf13/viper.SetDefault</title>
<g id="a_edge15"><a xlink:title="at config.go:42: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:43: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:46: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:49: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:50: calling [github.com/spf13/viper.SetDefault]"> <g id="a_edge16"><a xlink:title="at config.go:42: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:43: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:46: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:49: calling [github.com/spf13/viper.SetDefault]&#10;at config.go:50: calling [github.com/spf13/viper.SetDefault]">
<path fill="none" stroke="#8b4513" d="M285.5853,-165.1919C320.3085,-150.9923 369.024,-131.0707 405.6897,-116.0767"/> <path fill="none" stroke="#8b4513" d="M285.5853,-441.6557C320.1607,-431.8547 368.6097,-418.121 405.221,-407.7429"/>
<polygon fill="#8b4513" stroke="#8b4513" points="407.2809,-119.2075 415.212,-112.1827 404.6312,-112.7283 407.2809,-119.2075"/> <polygon fill="#8b4513" stroke="#8b4513" points="406.5457,-411.0054 415.212,-404.9108 404.6365,-404.2707 406.5457,-411.0054"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.init --> <!-- github.com/spf13/viper.ReadInConfig -->
<g id="node20" class="node"> <g id="node7" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.init</title> <title>github.com/spf13/viper.ReadInConfig</title>
<g id="a_node20"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.init | defined in .:0&#10;at netdb.go:15: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig]&#10;at router.go:32: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig]&#10;at router.go:39: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]&#10;at router.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase]&#10;at config.go:14: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_node7"><a xlink:title="github.com/spf13/viper.ReadInConfig | defined in viper.go:1632">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M72.1648,-110C72.1648,-110 42.1648,-110 42.1648,-110 36.1648,-110 30.1648,-104 30.1648,-98 30.1648,-98 30.1648,-86 30.1648,-86 30.1648,-80 36.1648,-74 42.1648,-74 42.1648,-74 72.1648,-74 72.1648,-74 78.1648,-74 84.1648,-80 84.1648,-86 84.1648,-86 84.1648,-98 84.1648,-98 84.1648,-104 78.1648,-110 72.1648,-110"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M497.0448,-228C497.0448,-228 417.4154,-228 417.4154,-228 411.4154,-228 405.4154,-222 405.4154,-216 405.4154,-216 405.4154,-204 405.4154,-204 405.4154,-198 411.4154,-192 417.4154,-192 417.4154,-192 497.0448,-192 497.0448,-192 503.0448,-192 509.0448,-198 509.0448,-204 509.0448,-204 509.0448,-216 509.0448,-216 509.0448,-222 503.0448,-228 497.0448,-228"/>
<text text-anchor="middle" x="57.1648" y="-87.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text> <text text-anchor="middle" x="457.2301" y="-214.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-197.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadInConfig</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/spf13/viper.ReadInConfig -->
<g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig</title>
<g id="a_edge6"><a xlink:title="at router.go:39: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]">
<path fill="none" stroke="#000000" d="M81.9294,-73.7955C104.0846,-58.7152 138.102,-38.4404 171.3296,-30 238.5028,-12.9369 317.4441,-15.6753 375.3375,-21.6917"/>
<polygon fill="#000000" stroke="#000000" points="375.2093,-25.1985 385.5308,-22.8073 375.9709,-18.2401 375.2093,-25.1985"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node21" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node21"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M290.7274,-79C290.7274,-79 193.3484,-79 193.3484,-79 187.3484,-79 181.3484,-73 181.3484,-67 181.3484,-67 181.3484,-55 181.3484,-55 181.3484,-49 187.3484,-43 193.3484,-43 193.3484,-43 290.7274,-43 290.7274,-43 296.7274,-43 302.7274,-49 302.7274,-55 302.7274,-55 302.7274,-67 302.7274,-67 302.7274,-73 296.7274,-79 290.7274,-79"/>
<text text-anchor="middle" x="242.0379" y="-65.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="242.0379" y="-48.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge19" class="edge"> <g id="edge19" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/spf13/viper.ReadInConfig</title>
<g id="a_edge19"><a xlink:title="at config.go:14: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_edge19"><a xlink:title="at config.go:92: calling [github.com/spf13/viper.ReadInConfig]">
<path fill="none" stroke="#8b4513" d="M84.4435,-87.4258C107.2741,-83.5975 140.8943,-77.96 171.2242,-72.8742"/> <path fill="none" stroke="#8b4513" d="M303.1277,-234.3479C332.0275,-229.7818 366.4701,-224.3399 395.4565,-219.7601"/>
<polygon fill="#8b4513" stroke="#8b4513" points="172.0801,-76.2797 181.3635,-71.174 170.9224,-69.376 172.0801,-76.2797"/> <polygon fill="#8b4513" stroke="#8b4513" points="396.1325,-223.1968 405.4637,-218.179 395.04,-216.2826 396.1325,-223.1968"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig --> <!-- github.com/spf13/viper.ConfigFileUsed -->
<g id="node22" class="node"> <g id="node8" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig</title> <title>github.com/spf13/viper.ConfigFileUsed</title>
<g id="a_node22"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig | defined in router.go:23&#10;at router.go:24: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]"> <g id="a_node8"><a xlink:title="github.com/spf13/viper.ConfigFileUsed | defined in viper.go:569">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M280.797,-140C280.797,-140 203.2788,-140 203.2788,-140 197.2788,-140 191.2788,-134 191.2788,-128 191.2788,-128 191.2788,-116 191.2788,-116 191.2788,-110 197.2788,-104 203.2788,-104 203.2788,-104 280.797,-104 280.797,-104 286.797,-104 292.797,-110 292.797,-116 292.797,-116 292.797,-128 292.797,-128 292.797,-134 286.797,-140 280.797,-140"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M502.1629,-289C502.1629,-289 412.2973,-289 412.2973,-289 406.2973,-289 400.2973,-283 400.2973,-277 400.2973,-277 400.2973,-265 400.2973,-265 400.2973,-259 406.2973,-253 412.2973,-253 412.2973,-253 502.1629,-253 502.1629,-253 508.1629,-253 514.1629,-259 514.1629,-265 514.1629,-265 514.1629,-277 514.1629,-277 514.1629,-283 508.1629,-289 502.1629,-289"/>
<text text-anchor="middle" x="242.0379" y="-117.8" font-family="Verdana" font-size="14.00" fill="#000000">defaultConfig</text> <text text-anchor="middle" x="457.2301" y="-275.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-258.4" font-family="Verdana" font-size="14.00" fill="#000000">ConfigFileUsed</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/spf13/viper.ConfigFileUsed -->
<g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/spf13/viper.ConfigFileUsed</title>
<g id="a_edge10"><a xlink:title="at config.go:103: calling [github.com/spf13/viper.ConfigFileUsed]">
<path fill="none" stroke="#8b4513" d="M303.1277,-251.6649C330.352,-255.0807 362.4949,-259.1137 390.3619,-262.6101"/>
<polygon fill="#8b4513" stroke="#8b4513" points="390.0602,-266.0996 400.4182,-263.8719 390.9318,-259.1541 390.0602,-266.0996"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath -->
<g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath</title>
<g id="a_edge6"><a xlink:title="at config.go:97: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]">
<path fill="none" stroke="#000000" d="M288.3615,-225.796C297.2835,-220.7205 305.9523,-214.4925 312.7462,-207 341.4081,-175.3909 327.3363,-154.9088 348.7462,-118 362.0857,-95.0039 365.2554,-87.9379 385.7462,-71 391.8805,-65.9293 398.8235,-61.2835 405.9116,-57.1245"/>
<polygon fill="#000000" stroke="#000000" points="407.8756,-60.0373 414.9176,-52.1214 404.4762,-53.9181 407.8756,-60.0373"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig -->
<g id="node11" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig</title>
<g id="a_node11"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig | defined in config.go:76&#10;at config.go:84: calling [github.com/spf13/viper.WriteConfig]&#10;at config.go:88: calling [(*github.com/sirupsen/logrus.Logger).Debugf]&#10;at config.go:80: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:85: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M514.5054,-167C514.5054,-167 399.9548,-167 399.9548,-167 393.9548,-167 387.9548,-161 387.9548,-155 387.9548,-155 387.9548,-143 387.9548,-143 387.9548,-137 393.9548,-131 399.9548,-131 399.9548,-131 514.5054,-131 514.5054,-131 520.5054,-131 526.5054,-137 526.5054,-143 526.5054,-143 526.5054,-155 526.5054,-155 526.5054,-161 520.5054,-167 514.5054,-167"/>
<text text-anchor="middle" x="457.2301" y="-144.8" font-family="Verdana" font-size="14.00" fill="#000000">createDefaultConfig</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig -->
<g id="edge21" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig</title>
<g id="a_edge21"><a xlink:title="at config.go:97: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig]">
<path fill="none" stroke="#000000" d="M282.2553,-225.9631C311.0439,-213.0827 350.7414,-195.3844 385.7462,-180 392.3019,-177.1188 399.2031,-174.1036 406.0265,-171.133"/>
<polygon fill="#000000" stroke="#000000" points="407.4675,-174.3231 415.2432,-167.1267 404.6769,-167.9034 407.4675,-174.3231"/>
</a>
</g>
</g>
<!-- (*github.com/sirupsen/logrus.Logger).Debugf -->
<g id="node25" class="node">
<title>(*github.com/sirupsen/logrus.Logger).Debugf</title>
<g id="a_node25"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debugf | defined in logger.go:163">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M670.0752,-191C670.0752,-191 628.1116,-191 628.1116,-191 622.1116,-191 616.1116,-185 616.1116,-179 616.1116,-179 616.1116,-167 616.1116,-167 616.1116,-161 622.1116,-155 628.1116,-155 628.1116,-155 670.0752,-155 670.0752,-155 676.0752,-155 682.0752,-161 682.0752,-167 682.0752,-167 682.0752,-179 682.0752,-179 682.0752,-185 676.0752,-191 670.0752,-191"/>
<text text-anchor="middle" x="649.0934" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
<text text-anchor="middle" x="649.0934" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Debugf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debugf -->
<g id="edge26" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debugf</title>
<g id="a_edge26"><a xlink:title="at config.go:103: calling [(*github.com/sirupsen/logrus.Logger).Debugf]">
<path fill="none" stroke="#8b4513" d="M283.3884,-225.8597C293.4847,-220.5095 303.9136,-214.1454 312.7462,-207 352.2535,-175.0392 339.7514,-140.6056 385.7462,-119 459.8675,-84.1822 556.0988,-122.4617 609.3101,-149.9923"/>
<polygon fill="#8b4513" stroke="#8b4513" points="607.9405,-153.2275 618.4154,-154.8169 611.2179,-147.0422 607.9405,-153.2275"/>
</a>
</g>
</g>
<!-- (*github.com/sirupsen/logrus.Logger).Fatalf -->
<g id="node26" class="node">
<title>(*github.com/sirupsen/logrus.Logger).Fatalf</title>
<g id="a_node26"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Fatalf | defined in logger.go:189">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M666.5892,-130C666.5892,-130 631.5976,-130 631.5976,-130 625.5976,-130 619.5976,-124 619.5976,-118 619.5976,-118 619.5976,-106 619.5976,-106 619.5976,-100 625.5976,-94 631.5976,-94 631.5976,-94 666.5892,-94 666.5892,-94 672.5892,-94 678.5892,-100 678.5892,-106 678.5892,-106 678.5892,-118 678.5892,-118 678.5892,-124 672.5892,-130 666.5892,-130"/>
<text text-anchor="middle" x="649.0934" y="-116.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
<text text-anchor="middle" x="649.0934" y="-99.4" font-family="Verdana" font-size="14.00" fill="#000000">Fatalf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;(*github.com/sirupsen/logrus.Logger).Fatalf -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.handleConfigFile&#45;&gt;(*github.com/sirupsen/logrus.Logger).Fatalf</title>
<g id="a_edge5"><a xlink:title="at netdb.go:15: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig]&#10;at router.go:32: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig]"> <g id="a_edge5"><a xlink:title="at config.go:100: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:95: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]">
<path fill="none" stroke="#000000" d="M84.4435,-96.4266C109.8392,-100.5477 148.5854,-106.8351 181.3029,-112.1443"/> <path fill="none" stroke="#8b4513" d="M285.6122,-225.9242C295.2119,-220.7063 304.8575,-214.3862 312.7462,-207 355.0383,-167.4018 333.8841,-124.8256 385.7462,-99 458.1174,-62.9616 555.9764,-82.8375 609.7076,-98.6293"/>
<polygon fill="#000000" stroke="#000000" points="180.81,-115.61 191.2416,-113.7571 181.9313,-108.7004 180.81,-115.61"/> <polygon fill="#8b4513" stroke="#8b4513" points="608.9422,-102.0548 619.5279,-101.6157 610.9788,-95.3576 608.9422,-102.0548"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome -->
<g id="node10" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome</title>
<g id="a_node10"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome | defined in home.go:8">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M679.2324,-52C679.2324,-52 618.9544,-52 618.9544,-52 612.9544,-52 606.9544,-46 606.9544,-40 606.9544,-40 606.9544,-28 606.9544,-28 606.9544,-22 612.9544,-16 618.9544,-16 618.9544,-16 679.2324,-16 679.2324,-16 685.2324,-16 691.2324,-22 691.2324,-28 691.2324,-28 691.2324,-40 691.2324,-40 691.2324,-46 685.2324,-52 679.2324,-52"/>
<text text-anchor="middle" x="649.0934" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">util</text>
<text text-anchor="middle" x="649.0934" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">UserHome</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome -->
<g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome</title>
<g id="a_edge1"><a xlink:title="at config.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util.UserHome]">
<path fill="none" stroke="#8b4513" d="M516.361,-34C541.988,-34 571.7449,-34 596.5809,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="596.8973,-37.5001 606.8973,-34 596.8973,-30.5001 596.8973,-37.5001"/>
</a>
</g>
</g>
<!-- github.com/spf13/viper.WriteConfig -->
<g id="node12" class="node">
<title>github.com/spf13/viper.WriteConfig</title>
<g id="a_node12"><a xlink:title="github.com/spf13/viper.WriteConfig | defined in viper.go:1718">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M684.3525,-252C684.3525,-252 613.8343,-252 613.8343,-252 607.8343,-252 601.8343,-246 601.8343,-240 601.8343,-240 601.8343,-228 601.8343,-228 601.8343,-222 607.8343,-216 613.8343,-216 613.8343,-216 684.3525,-216 684.3525,-216 690.3525,-216 696.3525,-222 696.3525,-228 696.3525,-228 696.3525,-240 696.3525,-240 696.3525,-246 690.3525,-252 684.3525,-252"/>
<text text-anchor="middle" x="649.0934" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="649.0934" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">WriteConfig</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;github.com/spf13/viper.WriteConfig -->
<g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;github.com/spf13/viper.WriteConfig</title>
<g id="a_edge7"><a xlink:title="at config.go:84: calling [github.com/spf13/viper.WriteConfig]">
<path fill="none" stroke="#8b4513" d="M499.2253,-167.1078C508.9199,-171.3169 519.1841,-175.7963 528.714,-180 552.1727,-190.3477 578.1317,-201.9704 599.9195,-211.7748"/>
<polygon fill="#8b4513" stroke="#8b4513" points="598.7413,-215.0827 609.2965,-215.998 601.6159,-208.7001 598.7413,-215.0827"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debugf -->
<g id="edge20" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debugf</title>
<g id="a_edge20"><a xlink:title="at config.go:88: calling [(*github.com/sirupsen/logrus.Logger).Debugf]">
<path fill="none" stroke="#8b4513" d="M526.4972,-157.6646C553.0515,-160.9862 582.5668,-164.6782 605.9821,-167.6072"/>
<polygon fill="#8b4513" stroke="#8b4513" points="605.59,-171.0854 615.9471,-168.8538 606.4589,-164.1395 605.59,-171.0854"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;(*github.com/sirupsen/logrus.Logger).Fatalf -->
<g id="edge29" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.createDefaultConfig&#45;&gt;(*github.com/sirupsen/logrus.Logger).Fatalf</title>
<g id="a_edge29"><a xlink:title="at config.go:80: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]&#10;at config.go:85: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]">
<path fill="none" stroke="#8b4513" d="M526.4972,-135.6422C554.3605,-130.2688 585.4839,-124.2668 609.3993,-119.6548"/>
<polygon fill="#8b4513" stroke="#8b4513" points="610.3527,-123.0355 619.509,-117.7052 609.0272,-116.1622 610.3527,-123.0355"/>
</a>
</g>
</g>
<!-- github.com/spf13/viper.GetString -->
<g id="node14" class="node">
<title>github.com/spf13/viper.GetString</title>
<g id="a_node14"><a xlink:title="github.com/spf13/viper.GetString | defined in viper.go:975">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M484.6675,-550C484.6675,-550 429.7927,-550 429.7927,-550 423.7927,-550 417.7927,-544 417.7927,-538 417.7927,-538 417.7927,-526 417.7927,-526 417.7927,-520 423.7927,-514 429.7927,-514 429.7927,-514 484.6675,-514 484.6675,-514 490.6675,-514 496.6675,-520 496.6675,-526 496.6675,-526 496.6675,-538 496.6675,-538 496.6675,-544 490.6675,-550 484.6675,-550"/>
<text text-anchor="middle" x="457.2301" y="-536.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-519.4" font-family="Verdana" font-size="14.00" fill="#000000">GetString</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.GetString -->
<g id="edge25" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.GetString</title>
<g id="a_edge25"><a xlink:title="at config.go:55: calling [github.com/spf13/viper.GetString]&#10;at config.go:56: calling [github.com/spf13/viper.GetString]&#10;at config.go:60: calling [github.com/spf13/viper.GetString]">
<path fill="none" stroke="#8b4513" d="M312.7979,-520.59C343.892,-523.0464 379.6538,-525.8715 407.813,-528.0961"/>
<polygon fill="#8b4513" stroke="#8b4513" points="407.5761,-531.5882 417.8207,-528.8867 408.1274,-524.6099 407.5761,-531.5882"/>
</a>
</g>
</g>
<!-- github.com/spf13/viper.UnmarshalKey -->
<g id="node15" class="node">
<title>github.com/spf13/viper.UnmarshalKey</title>
<g id="a_node15"><a xlink:title="github.com/spf13/viper.UnmarshalKey | defined in viper.go:1103">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M499.4738,-611C499.4738,-611 414.9864,-611 414.9864,-611 408.9864,-611 402.9864,-605 402.9864,-599 402.9864,-599 402.9864,-587 402.9864,-587 402.9864,-581 408.9864,-575 414.9864,-575 414.9864,-575 499.4738,-575 499.4738,-575 505.4738,-575 511.4738,-581 511.4738,-587 511.4738,-587 511.4738,-599 511.4738,-599 511.4738,-605 505.4738,-611 499.4738,-611"/>
<text text-anchor="middle" x="457.2301" y="-597.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-580.4" font-family="Verdana" font-size="14.00" fill="#000000">UnmarshalKey</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.UnmarshalKey -->
<g id="edge11" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.UnmarshalKey</title>
<g id="a_edge11"><a xlink:title="at config.go:65: calling [github.com/spf13/viper.UnmarshalKey]">
<path fill="none" stroke="#8b4513" d="M291.9482,-533.0908C323.4766,-544.5188 364.3872,-559.3475 397.6182,-571.3927"/>
<polygon fill="#8b4513" stroke="#8b4513" points="396.624,-574.7551 407.2182,-574.8723 399.0094,-568.1741 396.624,-574.7551"/>
</a>
</g>
</g>
<!-- github.com/spf13/viper.GetInt -->
<g id="node16" class="node">
<title>github.com/spf13/viper.GetInt</title>
<g id="a_node16"><a xlink:title="github.com/spf13/viper.GetInt | defined in viper.go:989">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M474.9936,-672C474.9936,-672 439.4666,-672 439.4666,-672 433.4666,-672 427.4666,-666 427.4666,-660 427.4666,-660 427.4666,-648 427.4666,-648 427.4666,-642 433.4666,-636 439.4666,-636 439.4666,-636 474.9936,-636 474.9936,-636 480.9936,-636 486.9936,-642 486.9936,-648 486.9936,-648 486.9936,-660 486.9936,-660 486.9936,-666 480.9936,-672 474.9936,-672"/>
<text text-anchor="middle" x="457.2301" y="-658.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
<text text-anchor="middle" x="457.2301" y="-641.4" font-family="Verdana" font-size="14.00" fill="#000000">GetInt</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.GetInt -->
<g id="edge22" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;github.com/spf13/viper.GetInt</title>
<g id="a_edge22"><a xlink:title="at config.go:71: calling [github.com/spf13/viper.GetInt]">
<path fill="none" stroke="#8b4513" d="M290.6259,-533.1555C298.3174,-536.9061 305.9626,-541.1996 312.7462,-546 351.5041,-573.427 346.7724,-596.8806 385.7462,-624 395.4871,-630.7781 406.9979,-636.4459 417.9039,-640.9642"/>
<polygon fill="#8b4513" stroke="#8b4513" points="416.685,-644.2456 427.2726,-644.6379 419.2405,-637.7288 416.685,-644.2456"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Warnf -->
<g id="node24" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Warnf</title>
<g id="a_node24"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Warnf | defined in log.go:36">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M474.9964,-489C474.9964,-489 439.4638,-489 439.4638,-489 433.4638,-489 427.4638,-483 427.4638,-477 427.4638,-477 427.4638,-465 427.4638,-465 427.4638,-459 433.4638,-453 439.4638,-453 439.4638,-453 474.9964,-453 474.9964,-453 480.9964,-453 486.9964,-459 486.9964,-465 486.9964,-465 486.9964,-477 486.9964,-477 486.9964,-483 480.9964,-489 474.9964,-489"/>
<text text-anchor="middle" x="457.2301" y="-475.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="457.2301" y="-458.4" font-family="Verdana" font-size="14.00" fill="#000000">Warnf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warnf -->
<g id="edge8" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.UpdateRouterConfig&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warnf</title>
<g id="a_edge8"><a xlink:title="at config.go:66: calling [(*github.com/go&#45;i2p/logger.Logger).Warnf]">
<path fill="none" stroke="#8b4513" d="M312.7979,-500.5318C347.535,-493.4292 388.0975,-485.1354 417.3775,-479.1486"/>
<polygon fill="#8b4513" stroke="#8b4513" points="418.1395,-482.5653 427.2356,-477.1329 416.7371,-475.7072 418.1395,-482.5653"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase -->
<g id="node23" class="node"> <g id="node20" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase</title>
<g id="a_node23"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase | defined in router.go:19&#10;at router.go:20: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]"> <g id="a_node20"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase | defined in router.go:19&#10;at router.go:20: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M275.1193,-262C275.1193,-262 208.9565,-262 208.9565,-262 202.9565,-262 196.9565,-256 196.9565,-250 196.9565,-250 196.9565,-238 196.9565,-238 196.9565,-232 202.9565,-226 208.9565,-226 208.9565,-226 275.1193,-226 275.1193,-226 281.1193,-226 287.1193,-232 287.1193,-238 287.1193,-238 287.1193,-250 287.1193,-250 287.1193,-256 281.1193,-262 275.1193,-262"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M275.1193,-52C275.1193,-52 208.9565,-52 208.9565,-52 202.9565,-52 196.9565,-46 196.9565,-40 196.9565,-40 196.9565,-28 196.9565,-28 196.9565,-22 202.9565,-16 208.9565,-16 208.9565,-16 275.1193,-16 275.1193,-16 281.1193,-16 287.1193,-22 287.1193,-28 287.1193,-28 287.1193,-40 287.1193,-40 287.1193,-46 281.1193,-52 275.1193,-52"/>
<text text-anchor="middle" x="242.0379" y="-239.8" font-family="Verdana" font-size="14.00" fill="#000000">defaultBase</text> <text text-anchor="middle" x="242.0379" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">defaultBase</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase -->
<g id="edge18" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase</title>
<g id="a_edge18"><a xlink:title="at router.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase]">
<path fill="none" stroke="#000000" d="M70.3851,-110.4C89.9098,-136.4618 128.7674,-184.2581 171.3296,-214 176.4226,-217.5589 182.004,-220.8161 187.7273,-223.7636"/>
<polygon fill="#000000" stroke="#000000" points="186.261,-226.9422 196.788,-228.1391 189.3051,-220.6387 186.261,-226.9422"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath -->
<g id="edge30" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath</title>
<g id="a_edge30"><a xlink:title="at router.go:24: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]">
<path fill="none" stroke="#000000" d="M293.0354,-130.0575C321.2866,-134.5212 356.8153,-140.1346 387.5917,-144.9972"/>
<polygon fill="#000000" stroke="#000000" points="387.4056,-148.5112 397.8293,-146.6148 388.498,-141.5969 387.4056,-148.5112"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath -->
<g id="edge22" class="edge"> <g id="edge27" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath</title>
<g id="a_edge22"><a xlink:title="at router.go:20: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]"> <g id="a_edge27"><a xlink:title="at router.go:20: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]">
<path fill="none" stroke="#000000" d="M287.2617,-228.1017C296.0666,-224.1112 304.9688,-219.3992 312.7462,-214 331.8569,-200.7329 328.3004,-187.0997 348.7462,-176 360.8001,-169.4561 374.6,-165.0083 388.2256,-161.996"/> <path fill="none" stroke="#000000" d="M287.1492,-34C316.3004,-34 354.8162,-34 387.8227,-34"/>
<polygon fill="#000000" stroke="#000000" points="388.9572,-165.4192 398.0889,-160.0468 387.6,-158.552 388.9572,-165.4192"/> <polygon fill="#000000" stroke="#000000" points="387.8728,-37.5001 397.8727,-34 387.8727,-30.5001 387.8728,-37.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig -->
<g id="node21" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig</title>
<g id="a_node21"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig | defined in router.go:23&#10;at router.go:24: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M280.797,-174C280.797,-174 203.2788,-174 203.2788,-174 197.2788,-174 191.2788,-168 191.2788,-162 191.2788,-162 191.2788,-150 191.2788,-150 191.2788,-144 197.2788,-138 203.2788,-138 203.2788,-138 280.797,-138 280.797,-138 286.797,-138 292.797,-144 292.797,-150 292.797,-150 292.797,-162 292.797,-162 292.797,-168 286.797,-174 280.797,-174"/>
<text text-anchor="middle" x="242.0379" y="-151.8" font-family="Verdana" font-size="14.00" fill="#000000">defaultConfig</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath -->
<g id="edge13" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath</title>
<g id="a_edge13"><a xlink:title="at router.go:24: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.BuildI2PDirPath]">
<path fill="none" stroke="#000000" d="M293.0947,-139.1055C300.1458,-135.4557 306.9468,-131.1172 312.7462,-126 336.6386,-104.9178 323.5206,-83.4673 348.7462,-64 360.2471,-55.1244 374.2172,-48.8738 388.2524,-44.4721"/>
<polygon fill="#000000" stroke="#000000" points="389.2908,-47.8156 397.9499,-41.7106 387.3736,-41.0833 389.2908,-47.8156"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.init -->
<g id="node22" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.init</title>
<g id="a_node22"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/config.init | defined in .:0&#10;at router.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase]&#10;at netdb.go:15: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig]&#10;at router.go:32: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig]&#10;at router.go:39: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]&#10;at config.go:14: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M72.1648,-139C72.1648,-139 42.1648,-139 42.1648,-139 36.1648,-139 30.1648,-133 30.1648,-127 30.1648,-127 30.1648,-115 30.1648,-115 30.1648,-109 36.1648,-103 42.1648,-103 42.1648,-103 72.1648,-103 72.1648,-103 78.1648,-103 84.1648,-109 84.1648,-115 84.1648,-115 84.1648,-127 84.1648,-127 84.1648,-133 78.1648,-139 72.1648,-139"/>
<text text-anchor="middle" x="57.1648" y="-116.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig -->
<g id="edge15" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig</title>
<g id="a_edge15"><a xlink:title="at router.go:39: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.DefaultRouterConfig]">
<path fill="none" stroke="#000000" d="M65.0959,-139.2043C80.4423,-172.1072 117.4972,-241.1927 171.3296,-275 225.5171,-309.0303 249.9928,-289.4953 312.7462,-302 333.1505,-306.0659 355.1492,-310.5712 375.6774,-314.8279"/>
<polygon fill="#000000" stroke="#000000" points="375.1203,-318.2869 385.6233,-316.8946 376.5445,-311.4333 375.1203,-318.2869"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase -->
<g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase</title>
<g id="a_edge3"><a xlink:title="at router.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultBase]">
<path fill="none" stroke="#000000" d="M84.2267,-107.3192C107.2606,-95.7727 141.2936,-78.943 171.3296,-65 177.5376,-62.1182 184.0822,-59.1527 190.5822,-56.2515"/>
<polygon fill="#000000" stroke="#000000" points="192.3052,-59.3162 200.0291,-52.0641 189.4686,-52.9167 192.3052,-59.3162"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig -->
<g id="edge14" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig</title>
<g id="a_edge14"><a xlink:title="at netdb.go:15: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig]&#10;at router.go:32: calling [github.com/go&#45;i2p/go&#45;i2p/lib/config.defaultConfig]">
<path fill="none" stroke="#000000" d="M84.4435,-126.1644C109.8392,-130.9723 148.5854,-138.3077 181.3029,-144.5017"/>
<polygon fill="#000000" stroke="#000000" points="180.765,-147.962 191.2416,-146.3833 182.0672,-141.0841 180.765,-147.962"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node23" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node23"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M290.7274,-113C290.7274,-113 193.3484,-113 193.3484,-113 187.3484,-113 181.3484,-107 181.3484,-101 181.3484,-101 181.3484,-89 181.3484,-89 181.3484,-83 187.3484,-77 193.3484,-77 193.3484,-77 290.7274,-77 290.7274,-77 296.7274,-77 302.7274,-83 302.7274,-89 302.7274,-89 302.7274,-101 302.7274,-101 302.7274,-107 296.7274,-113 290.7274,-113"/>
<text text-anchor="middle" x="242.0379" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="242.0379" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge30" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/config.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge30"><a xlink:title="at config.go:14: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M84.4435,-117.1636C107.2741,-113.9528 140.8943,-109.2245 171.2242,-104.959"/>
<polygon fill="#8b4513" stroke="#8b4513" points="171.9484,-108.3917 181.3635,-103.5331 170.9735,-101.4599 171.9484,-108.3917"/>
</a> </a>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -54,50 +54,69 @@
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad --> <!-- github.com/samber/oops.Errorf -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad</title> <title>github.com/samber/oops.Errorf</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad | defined in aes_pkcs.go:11&#10;at aes_pkcs.go:12: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at aes_pkcs.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_pkcs.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_pkcs.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_node1"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M398.3333,-444C398.3333,-444 345.0189,-444 345.0189,-444 339.0189,-444 333.0189,-438 333.0189,-432 333.0189,-432 333.0189,-420 333.0189,-420 333.0189,-414 339.0189,-408 345.0189,-408 345.0189,-408 398.3333,-408 398.3333,-408 404.3333,-408 410.3333,-414 410.3333,-420 410.3333,-420 410.3333,-432 410.3333,-432 410.3333,-438 404.3333,-444 398.3333,-444"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M591.5755,-126C591.5755,-126 557.1849,-126 557.1849,-126 551.1849,-126 545.1849,-120 545.1849,-114 545.1849,-114 545.1849,-102 545.1849,-102 545.1849,-96 551.1849,-90 557.1849,-90 557.1849,-90 591.5755,-90 591.5755,-90 597.5755,-90 603.5755,-96 603.5755,-102 603.5755,-102 603.5755,-114 603.5755,-114 603.5755,-120 597.5755,-126 591.5755,-126"/>
<text text-anchor="middle" x="371.6761" y="-421.8" font-family="Verdana" font-size="14.00" fill="#000000">pkcs7Pad</text> <text text-anchor="middle" x="574.3802" y="-112.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="574.3802" y="-95.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad -->
<g id="node11" class="node"> <g id="node2" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad</title>
<g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60"> <g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad | defined in aes_pkcs.go:25&#10;at aes_pkcs.go:31: calling [github.com/samber/oops.Errorf]&#10;at aes_pkcs.go:36: calling [github.com/samber/oops.Errorf]&#10;at aes_pkcs.go:42: calling [github.com/samber/oops.Errorf]&#10;at aes_pkcs.go:26: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_pkcs.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_pkcs.go:47: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_pkcs.go:30: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_pkcs.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_pkcs.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_pkcs.go:26: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_pkcs.go:47: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M605.5993,-410C605.5993,-410 543.1611,-410 543.1611,-410 537.1611,-410 531.1611,-404 531.1611,-398 531.1611,-398 531.1611,-386 531.1611,-386 531.1611,-380 537.1611,-374 543.1611,-374 543.1611,-374 605.5993,-374 605.5993,-374 611.5993,-374 617.5993,-380 617.5993,-386 617.5993,-386 617.5993,-398 617.5993,-398 617.5993,-404 611.5993,-410 605.5993,-410"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M406.6565,-275C406.6565,-275 336.6957,-275 336.6957,-275 330.6957,-275 324.6957,-269 324.6957,-263 324.6957,-263 324.6957,-251 324.6957,-251 324.6957,-245 330.6957,-239 336.6957,-239 336.6957,-239 406.6565,-239 406.6565,-239 412.6565,-239 418.6565,-245 418.6565,-251 418.6565,-251 418.6565,-263 418.6565,-263 418.6565,-269 412.6565,-275 406.6565,-275"/>
<text text-anchor="middle" x="574.3802" y="-396.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="371.6761" y="-252.8" font-family="Verdana" font-size="14.00" fill="#000000">pkcs7Unpad</text>
<text text-anchor="middle" x="574.3802" y="-379.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge9" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge9"><a xlink:title="at aes_pkcs.go:12: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge3"><a xlink:title="at aes_pkcs.go:31: calling [github.com/samber/oops.Errorf]&#10;at aes_pkcs.go:36: calling [github.com/samber/oops.Errorf]&#10;at aes_pkcs.go:42: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M410.3736,-424.9918C434.8808,-423.8315 467.1418,-421.3411 495.2708,-416 503.6826,-414.4028 512.4699,-412.2467 521.001,-409.8789"/> <path fill="none" stroke="#8b4513" d="M396.5316,-238.7297C432.9512,-211.959 500.8768,-162.0295 541.4233,-132.2253"/>
<polygon fill="#8b4513" stroke="#8b4513" points="522.2288,-413.1672 530.8601,-407.0229 520.2811,-406.4436 522.2288,-413.1672"/> <polygon fill="#8b4513" stroke="#8b4513" points="543.6543,-134.9293 549.6388,-126.1865 539.5084,-129.2891 543.6543,-134.9293"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="node12" class="node"> <g id="node11" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_node12"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithField | defined in log.go:54"> <g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithField | defined in log.go:54">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M602.6547,-349C602.6547,-349 546.1057,-349 546.1057,-349 540.1057,-349 534.1057,-343 534.1057,-337 534.1057,-337 534.1057,-325 534.1057,-325 534.1057,-319 540.1057,-313 546.1057,-313 546.1057,-313 602.6547,-313 602.6547,-313 608.6547,-313 614.6547,-319 614.6547,-325 614.6547,-325 614.6547,-337 614.6547,-337 614.6547,-343 608.6547,-349 602.6547,-349"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M602.6547,-349C602.6547,-349 546.1057,-349 546.1057,-349 540.1057,-349 534.1057,-343 534.1057,-337 534.1057,-337 534.1057,-325 534.1057,-325 534.1057,-319 540.1057,-313 546.1057,-313 546.1057,-313 602.6547,-313 602.6547,-313 608.6547,-313 614.6547,-319 614.6547,-325 614.6547,-325 614.6547,-337 614.6547,-337 614.6547,-343 608.6547,-349 602.6547,-349"/>
<text text-anchor="middle" x="574.3802" y="-335.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="574.3802" y="-335.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="574.3802" y="-318.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text> <text text-anchor="middle" x="574.3802" y="-318.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge7"><a xlink:title="at aes_pkcs.go:26: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_pkcs.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_pkcs.go:47: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M418.69,-274.1631C450.2751,-285.6937 491.8562,-300.8735 524.1007,-312.6447"/>
<polygon fill="#8b4513" stroke="#8b4513" points="523.1925,-316.0391 533.7864,-316.1807 525.593,-309.4636 523.1925,-316.0391"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="node12" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_node12"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M592.1465,-288C592.1465,-288 556.6139,-288 556.6139,-288 550.6139,-288 544.6139,-282 544.6139,-276 544.6139,-276 544.6139,-264 544.6139,-264 544.6139,-258 550.6139,-252 556.6139,-252 556.6139,-252 592.1465,-252 592.1465,-252 598.1465,-252 604.1465,-258 604.1465,-264 604.1465,-264 604.1465,-276 604.1465,-276 604.1465,-282 598.1465,-288 592.1465,-288"/>
<text text-anchor="middle" x="574.3802" y="-274.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="574.3802" y="-257.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge12"><a xlink:title="at aes_pkcs.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge12"><a xlink:title="at aes_pkcs.go:30: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_pkcs.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_pkcs.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M410.3529,-419.3666C435.7355,-413.8558 468.9736,-404.3743 495.2708,-389 510.1951,-380.2747 509.5737,-372.5476 523.2708,-362 526.5546,-359.4713 530.0577,-356.9771 533.6318,-354.5681"/> <path fill="none" stroke="#8b4513" d="M418.69,-260.0151C453.7271,-262.2622 501.0646,-265.2981 534.313,-267.4304"/>
<polygon fill="#8b4513" stroke="#8b4513" points="535.5414,-357.5013 542.0303,-349.126 531.7348,-351.6268 535.5414,-357.5013"/> <polygon fill="#8b4513" stroke="#8b4513" points="534.3759,-270.9415 544.5794,-268.0888 534.824,-263.9559 534.3759,-270.9415"/>
</a> </a>
</g> </g>
</g> </g>
@ -111,22 +130,12 @@
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge10" class="edge"> <g id="edge19" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge10"><a xlink:title="at aes_pkcs.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_pkcs.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge19"><a xlink:title="at aes_pkcs.go:26: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_pkcs.go:47: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M410.6447,-435.2761C423.5044,-438.7591 437.7671,-443.0823 450.4868,-448 470.7995,-455.8533 473.8518,-462.4274 494.2708,-470 506.7849,-474.641 520.7933,-478.5518 533.5535,-481.6495"/> <path fill="none" stroke="#8b4513" d="M387.582,-275.2831C423.4022,-316.457 510.4834,-416.5532 551.8472,-464.0992"/>
<polygon fill="#8b4513" stroke="#8b4513" points="532.9337,-485.0988 543.4669,-483.958 534.5213,-478.2812 532.9337,-485.0988"/> <polygon fill="#8b4513" stroke="#8b4513" points="549.3441,-466.5545 558.5482,-471.8018 554.6252,-461.96 549.3441,-466.5545"/>
</a>
</g>
</g>
<!-- github.com/samber/oops.Errorf -->
<g id="node2" class="node">
<title>github.com/samber/oops.Errorf</title>
<g id="a_node2"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M591.5755,-126C591.5755,-126 557.1849,-126 557.1849,-126 551.1849,-126 545.1849,-120 545.1849,-114 545.1849,-114 545.1849,-102 545.1849,-102 545.1849,-96 551.1849,-90 557.1849,-90 557.1849,-90 591.5755,-90 591.5755,-90 597.5755,-90 603.5755,-96 603.5755,-102 603.5755,-102 603.5755,-114 603.5755,-114 603.5755,-120 597.5755,-126 591.5755,-126"/>
<text text-anchor="middle" x="574.3802" y="-112.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="574.3802" y="-95.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a> </a>
</g> </g>
</g> </g>
@ -150,105 +159,105 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge15" class="edge"> <g id="edge13" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge15"><a xlink:title="at aes_decrypter.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_edge13"><a xlink:title="at aes_decrypter.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M133.4678,-34C172.652,-34 245.9923,-34 300.9876,-34"/> <path fill="none" stroke="#8b4513" d="M133.4678,-34C172.652,-34 245.9923,-34 300.9876,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="301.0306,-37.5001 311.0305,-34 301.0305,-30.5001 301.0306,-37.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="301.0306,-37.5001 311.0305,-34 301.0305,-30.5001 301.0306,-37.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad | defined in aes_pkcs.go:25&#10;at aes_pkcs.go:30: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_pkcs.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_pkcs.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_pkcs.go:26: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_pkcs.go:47: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_pkcs.go:31: calling [github.com/samber/oops.Errorf]&#10;at aes_pkcs.go:36: calling [github.com/samber/oops.Errorf]&#10;at aes_pkcs.go:42: calling [github.com/samber/oops.Errorf]&#10;at aes_pkcs.go:26: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_pkcs.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_pkcs.go:47: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad | defined in aes_pkcs.go:11&#10;at aes_pkcs.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_pkcs.go:12: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at aes_pkcs.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_pkcs.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M406.6565,-275C406.6565,-275 336.6957,-275 336.6957,-275 330.6957,-275 324.6957,-269 324.6957,-263 324.6957,-263 324.6957,-251 324.6957,-251 324.6957,-245 330.6957,-239 336.6957,-239 336.6957,-239 406.6565,-239 406.6565,-239 412.6565,-239 418.6565,-245 418.6565,-251 418.6565,-251 418.6565,-263 418.6565,-263 418.6565,-269 412.6565,-275 406.6565,-275"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M398.3333,-444C398.3333,-444 345.0189,-444 345.0189,-444 339.0189,-444 333.0189,-438 333.0189,-432 333.0189,-432 333.0189,-420 333.0189,-420 333.0189,-414 339.0189,-408 345.0189,-408 345.0189,-408 398.3333,-408 398.3333,-408 404.3333,-408 410.3333,-414 410.3333,-420 410.3333,-420 410.3333,-432 410.3333,-432 410.3333,-438 404.3333,-444 398.3333,-444"/>
<text text-anchor="middle" x="371.6761" y="-252.8" font-family="Verdana" font-size="14.00" fill="#000000">pkcs7Unpad</text> <text text-anchor="middle" x="371.6761" y="-421.8" font-family="Verdana" font-size="14.00" fill="#000000">pkcs7Pad</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge11" class="edge"> <g id="edge9" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge11"><a xlink:title="at aes_pkcs.go:31: calling [github.com/samber/oops.Errorf]&#10;at aes_pkcs.go:36: calling [github.com/samber/oops.Errorf]&#10;at aes_pkcs.go:42: calling [github.com/samber/oops.Errorf]"> <g id="a_edge9"><a xlink:title="at aes_pkcs.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M396.5316,-238.7297C432.9512,-211.959 500.8768,-162.0295 541.4233,-132.2253"/> <path fill="none" stroke="#8b4513" d="M410.3529,-419.3666C435.7355,-413.8558 468.9736,-404.3743 495.2708,-389 510.1951,-380.2747 509.5737,-372.5476 523.2708,-362 526.5546,-359.4713 530.0577,-356.9771 533.6318,-354.5681"/>
<polygon fill="#8b4513" stroke="#8b4513" points="543.6543,-134.9293 549.6388,-126.1865 539.5084,-129.2891 543.6543,-134.9293"/> <polygon fill="#8b4513" stroke="#8b4513" points="535.5414,-357.5013 542.0303,-349.126 531.7348,-351.6268 535.5414,-357.5013"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge18" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge18"><a xlink:title="at aes_pkcs.go:26: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_pkcs.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_pkcs.go:47: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M418.69,-274.1631C450.2751,-285.6937 491.8562,-300.8735 524.1007,-312.6447"/>
<polygon fill="#8b4513" stroke="#8b4513" points="523.1925,-316.0391 533.7864,-316.1807 525.593,-309.4636 523.1925,-316.0391"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="node14" class="node"> <g id="node14" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42"> <g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M592.1465,-288C592.1465,-288 556.6139,-288 556.6139,-288 550.6139,-288 544.6139,-282 544.6139,-276 544.6139,-276 544.6139,-264 544.6139,-264 544.6139,-258 550.6139,-252 556.6139,-252 556.6139,-252 592.1465,-252 592.1465,-252 598.1465,-252 604.1465,-258 604.1465,-264 604.1465,-264 604.1465,-276 604.1465,-276 604.1465,-282 598.1465,-288 592.1465,-288"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M605.5993,-410C605.5993,-410 543.1611,-410 543.1611,-410 537.1611,-410 531.1611,-404 531.1611,-398 531.1611,-398 531.1611,-386 531.1611,-386 531.1611,-380 537.1611,-374 543.1611,-374 543.1611,-374 605.5993,-374 605.5993,-374 611.5993,-374 617.5993,-380 617.5993,-386 617.5993,-386 617.5993,-398 617.5993,-398 617.5993,-404 611.5993,-410 605.5993,-410"/>
<text text-anchor="middle" x="574.3802" y="-274.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="574.3802" y="-396.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="574.3802" y="-257.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text> <text text-anchor="middle" x="574.3802" y="-379.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge1" class="edge"> <g id="edge16" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge1"><a xlink:title="at aes_pkcs.go:30: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_pkcs.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_pkcs.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge16"><a xlink:title="at aes_pkcs.go:12: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M418.69,-260.0151C453.7271,-262.2622 501.0646,-265.2981 534.313,-267.4304"/> <path fill="none" stroke="#8b4513" d="M410.3736,-424.9918C434.8808,-423.8315 467.1418,-421.3411 495.2708,-416 503.6826,-414.4028 512.4699,-412.2467 521.001,-409.8789"/>
<polygon fill="#8b4513" stroke="#8b4513" points="534.3759,-270.9415 544.5794,-268.0888 534.824,-263.9559 534.3759,-270.9415"/> <polygon fill="#8b4513" stroke="#8b4513" points="522.2288,-413.1672 530.8601,-407.0229 520.2811,-406.4436 522.2288,-413.1672"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge8" class="edge"> <g id="edge21" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge8"><a xlink:title="at aes_pkcs.go:26: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_pkcs.go:47: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge21"><a xlink:title="at aes_pkcs.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_pkcs.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M387.582,-275.2831C423.4022,-316.457 510.4834,-416.5532 551.8472,-464.0992"/> <path fill="none" stroke="#8b4513" d="M410.6447,-435.2761C423.5044,-438.7591 437.7671,-443.0823 450.4868,-448 470.7995,-455.8533 473.8518,-462.4274 494.2708,-470 506.7849,-474.641 520.7933,-478.5518 533.5535,-481.6495"/>
<polygon fill="#8b4513" stroke="#8b4513" points="549.3441,-466.5545 558.5482,-471.8018 554.6252,-461.96 549.3441,-466.5545"/> <polygon fill="#8b4513" stroke="#8b4513" points="532.9337,-485.0988 543.4669,-483.958 534.5213,-478.2812 532.9337,-485.0988"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt</title>
<g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt | defined in aes_decrypter.go:20&#10;at aes_decrypter.go:38: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad]&#10;at aes_decrypter.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_decrypter.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_decrypter.go:25: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_decrypter.go:30: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_decrypter.go:40: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_decrypter.go:31: calling [github.com/samber/oops.Errorf]&#10;at aes_decrypter.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_decrypter.go:44: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_decrypter.go:25: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at aes_decrypter.go:40: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt | defined in aes_decrypter.go:20&#10;at aes_decrypter.go:25: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at aes_decrypter.go:40: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at aes_decrypter.go:31: calling [github.com/samber/oops.Errorf]&#10;at aes_decrypter.go:25: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_decrypter.go:30: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_decrypter.go:40: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_decrypter.go:38: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad]&#10;at aes_decrypter.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_decrypter.go:44: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_decrypter.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_decrypter.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M128.6278,-204C128.6278,-204 83.4536,-204 83.4536,-204 77.4536,-204 71.4536,-198 71.4536,-192 71.4536,-192 71.4536,-180 71.4536,-180 71.4536,-174 77.4536,-168 83.4536,-168 83.4536,-168 128.6278,-168 128.6278,-168 134.6278,-168 140.6278,-174 140.6278,-180 140.6278,-180 140.6278,-192 140.6278,-192 140.6278,-198 134.6278,-204 128.6278,-204"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M128.6278,-204C128.6278,-204 83.4536,-204 83.4536,-204 77.4536,-204 71.4536,-198 71.4536,-192 71.4536,-192 71.4536,-180 71.4536,-180 71.4536,-174 77.4536,-168 83.4536,-168 83.4536,-168 128.6278,-168 128.6278,-168 134.6278,-168 140.6278,-174 140.6278,-180 140.6278,-180 140.6278,-192 140.6278,-192 140.6278,-198 134.6278,-204 128.6278,-204"/>
<text text-anchor="middle" x="106.0407" y="-181.8" font-family="Verdana" font-size="14.00" fill="#000000">Decrypt</text> <text text-anchor="middle" x="106.0407" y="-181.8" font-family="Verdana" font-size="14.00" fill="#000000">Decrypt</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;github.com/samber/oops.Errorf --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge17" class="edge"> <g id="edge2" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;github.com/samber/oops.Errorf</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge17"><a xlink:title="at aes_decrypter.go:31: calling [github.com/samber/oops.Errorf]"> <g id="a_edge2"><a xlink:title="at aes_decrypter.go:31: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M140.7237,-177.7731C160.0866,-172.6208 184.4021,-165.2094 205.0814,-156 225.4828,-146.9143 226.783,-136.7187 248.0814,-130 347.6386,-98.594 472.5047,-100.9522 534.9702,-104.7749"/> <path fill="none" stroke="#8b4513" d="M140.7237,-177.7731C160.0866,-172.6208 184.4021,-165.2094 205.0814,-156 225.4828,-146.9143 226.783,-136.7187 248.0814,-130 347.6386,-98.594 472.5047,-100.9522 534.9702,-104.7749"/>
<polygon fill="#8b4513" stroke="#8b4513" points="534.9593,-108.2817 545.1678,-105.4469 535.4196,-101.2969 534.9593,-108.2817"/> <polygon fill="#8b4513" stroke="#8b4513" points="534.9593,-108.2817 545.1678,-105.4469 535.4196,-101.2969 534.9593,-108.2817"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad -->
<g id="edge2" class="edge"> <g id="edge10" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad</title>
<g id="a_edge2"><a xlink:title="at aes_decrypter.go:38: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad]"> <g id="a_edge10"><a xlink:title="at aes_decrypter.go:38: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Unpad]">
<path fill="none" stroke="#000000" d="M140.7679,-195.282C184.8951,-207.0765 261.6605,-227.5946 314.4865,-241.7141"/> <path fill="none" stroke="#000000" d="M140.7679,-195.282C184.8951,-207.0765 261.6605,-227.5946 314.4865,-241.7141"/>
<polygon fill="#000000" stroke="#000000" points="313.8221,-245.1594 324.3868,-244.3603 315.6297,-238.3968 313.8221,-245.1594"/> <polygon fill="#000000" stroke="#000000" points="313.8221,-245.1594 324.3868,-244.3603 315.6297,-238.3968 313.8221,-245.1594"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge21" class="edge"> <g id="edge17" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge21"><a xlink:title="at aes_decrypter.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_decrypter.go:44: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge17"><a xlink:title="at aes_decrypter.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_decrypter.go:44: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M140.9971,-195.3701C160.9026,-201.7434 185.6628,-211.4934 205.0814,-225 253.0858,-258.3893 239.8211,-298.3916 292.8654,-323 313.1721,-332.4207 448.4937,-332.4568 523.8803,-331.7142"/> <path fill="none" stroke="#8b4513" d="M140.9971,-195.3701C160.9026,-201.7434 185.6628,-211.4934 205.0814,-225 253.0858,-258.3893 239.8211,-298.3916 292.8654,-323 313.1721,-332.4207 448.4937,-332.4568 523.8803,-331.7142"/>
<polygon fill="#8b4513" stroke="#8b4513" points="524.1396,-335.2117 534.1016,-331.6051 524.0648,-328.2121 524.1396,-335.2117"/> <polygon fill="#8b4513" stroke="#8b4513" points="524.1396,-335.2117 534.1016,-331.6051 524.0648,-328.2121 524.1396,-335.2117"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge6" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge6"><a xlink:title="at aes_decrypter.go:25: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_decrypter.go:30: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_decrypter.go:40: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M140.8134,-182.6586C225.0251,-175.2524 437.2454,-160.8957 495.2708,-198 514.1715,-210.086 506.9599,-224.5966 523.2708,-240 527.0543,-243.5729 531.3377,-246.9051 535.7759,-249.9521"/>
<polygon fill="#8b4513" stroke="#8b4513" points="534.0954,-253.0313 544.4108,-255.4487 537.8544,-247.1262 534.0954,-253.0313"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="node13" class="node"> <g id="node13" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithError</title>
@ -260,27 +269,18 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge22" class="edge"> <g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge22"><a xlink:title="at aes_decrypter.go:25: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at aes_decrypter.go:40: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge1"><a xlink:title="at aes_decrypter.go:25: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at aes_decrypter.go:40: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M140.7603,-176.6065C159.9182,-171.1435 184.0248,-163.808 205.0814,-156 224.6716,-148.7358 227.6383,-141.3153 248.0814,-137 300.337,-125.9696 446.2197,-168.052 524.0171,-192.5518"/> <path fill="none" stroke="#8b4513" d="M140.7603,-176.6065C159.9182,-171.1435 184.0248,-163.808 205.0814,-156 224.6716,-148.7358 227.6383,-141.3153 248.0814,-137 300.337,-125.9696 446.2197,-168.052 524.0171,-192.5518"/>
<polygon fill="#8b4513" stroke="#8b4513" points="523.0228,-195.9082 533.613,-195.5933 525.1379,-189.2354 523.0228,-195.9082"/> <polygon fill="#8b4513" stroke="#8b4513" points="523.0228,-195.9082 533.613,-195.5933 525.1379,-189.2354 523.0228,-195.9082"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge16" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge16"><a xlink:title="at aes_decrypter.go:25: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_decrypter.go:30: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_decrypter.go:40: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M140.8134,-182.6586C225.0251,-175.2524 437.2454,-160.8957 495.2708,-198 514.1715,-210.086 506.9599,-224.5966 523.2708,-240 527.0543,-243.5729 531.3377,-246.9051 535.7759,-249.9521"/>
<polygon fill="#8b4513" stroke="#8b4513" points="534.0954,-253.0313 544.4108,-255.4487 537.8544,-247.1262 534.0954,-253.0313"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge7" class="edge"> <g id="edge22" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).Decrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge7"><a xlink:title="at aes_decrypter.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_decrypter.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge22"><a xlink:title="at aes_decrypter.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_decrypter.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M140.7133,-194.2043C161.0021,-200.262 186.2478,-210.086 205.0814,-225 231.371,-245.8183 226.8958,-261.0055 248.0814,-287 266.3098,-309.3661 268.5264,-318.5039 292.8654,-334 355.2099,-373.6936 392.6151,-341.0294 450.4868,-387 479.5159,-410.0594 465.8946,-434.1417 494.2708,-458 505.6166,-467.5394 520.164,-474.4857 533.7414,-479.4182"/> <path fill="none" stroke="#8b4513" d="M140.7133,-194.2043C161.0021,-200.262 186.2478,-210.086 205.0814,-225 231.371,-245.8183 226.8958,-261.0055 248.0814,-287 266.3098,-309.3661 268.5264,-318.5039 292.8654,-334 355.2099,-373.6936 392.6151,-341.0294 450.4868,-387 479.5159,-410.0594 465.8946,-434.1417 494.2708,-458 505.6166,-467.5394 520.164,-474.4857 533.7414,-479.4182"/>
<polygon fill="#8b4513" stroke="#8b4513" points="532.8027,-482.7951 543.3967,-482.6622 535.0321,-476.1596 532.8027,-482.7951"/> <polygon fill="#8b4513" stroke="#8b4513" points="532.8027,-482.7951 543.3967,-482.6622 535.0321,-476.1596 532.8027,-482.7951"/>
</a> </a>
@ -296,9 +296,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding&#45;&gt;github.com/samber/oops.Errorf --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge3" class="edge"> <g id="edge18" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding&#45;&gt;github.com/samber/oops.Errorf</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge3"><a xlink:title="at aes_decrypter.go:51: calling [github.com/samber/oops.Errorf]"> <g id="a_edge18"><a xlink:title="at aes_decrypter.go:51: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M172.282,-110.8894C196.0915,-106.2207 223.2065,-101.3648 248.0814,-98 356.8686,-83.2845 384.583,-82.4481 494.2708,-78 508.3423,-77.4294 522.981,-81.3979 535.836,-86.621"/> <path fill="none" stroke="#8b4513" d="M172.282,-110.8894C196.0915,-106.2207 223.2065,-101.3648 248.0814,-98 356.8686,-83.2845 384.583,-82.4481 494.2708,-78 508.3423,-77.4294 522.981,-81.3979 535.836,-86.621"/>
<polygon fill="#8b4513" stroke="#8b4513" points="534.719,-89.9542 545.2796,-90.8053 537.5547,-83.5543 534.719,-89.9542"/> <polygon fill="#8b4513" stroke="#8b4513" points="534.719,-89.9542 545.2796,-90.8053 537.5547,-83.5543 534.719,-89.9542"/>
</a> </a>
@ -314,9 +314,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding&#45;&gt;github.com/samber/oops.Errorf --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge5" class="edge"> <g id="edge11" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding&#45;&gt;github.com/samber/oops.Errorf</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge5"><a xlink:title="at aes_encrypter.go:38: calling [github.com/samber/oops.Errorf]"> <g id="a_edge11"><a xlink:title="at aes_encrypter.go:38: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M145.7548,-264.91C183.3218,-248.0574 241.4497,-222.6484 292.8654,-203 378.3695,-170.3248 480.6024,-137.3016 535.2868,-120.1134"/> <path fill="none" stroke="#8b4513" d="M145.7548,-264.91C183.3218,-248.0574 241.4497,-222.6484 292.8654,-203 378.3695,-170.3248 480.6024,-137.3016 535.2868,-120.1134"/>
<polygon fill="#8b4513" stroke="#8b4513" points="536.4336,-123.4219 544.9295,-117.0919 534.3405,-116.7422 536.4336,-123.4219"/> <polygon fill="#8b4513" stroke="#8b4513" points="536.4336,-123.4219 544.9295,-117.0919 534.3405,-116.7422 536.4336,-123.4219"/>
</a> </a>
@ -325,52 +325,52 @@
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt</title>
<g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt | defined in aes_encrypter.go:17&#10;at aes_encrypter.go:26: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad]&#10;at aes_encrypter.go:18: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_encrypter.go:31: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at aes_encrypter.go:18: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_encrypter.go:31: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt | defined in aes_encrypter.go:17&#10;at aes_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at aes_encrypter.go:26: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad]&#10;at aes_encrypter.go:18: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_encrypter.go:31: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at aes_encrypter.go:18: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_encrypter.go:31: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M128.3598,-362C128.3598,-362 83.7216,-362 83.7216,-362 77.7216,-362 71.7216,-356 71.7216,-350 71.7216,-350 71.7216,-338 71.7216,-338 71.7216,-332 77.7216,-326 83.7216,-326 83.7216,-326 128.3598,-326 128.3598,-326 134.3598,-326 140.3598,-332 140.3598,-338 140.3598,-338 140.3598,-350 140.3598,-350 140.3598,-356 134.3598,-362 128.3598,-362"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M128.3598,-362C128.3598,-362 83.7216,-362 83.7216,-362 77.7216,-362 71.7216,-356 71.7216,-350 71.7216,-350 71.7216,-338 71.7216,-338 71.7216,-332 77.7216,-326 83.7216,-326 83.7216,-326 128.3598,-326 128.3598,-326 134.3598,-326 140.3598,-332 140.3598,-338 140.3598,-338 140.3598,-350 140.3598,-350 140.3598,-356 134.3598,-362 128.3598,-362"/>
<text text-anchor="middle" x="106.0407" y="-339.8" font-family="Verdana" font-size="14.00" fill="#000000">Encrypt</text> <text text-anchor="middle" x="106.0407" y="-339.8" font-family="Verdana" font-size="14.00" fill="#000000">Encrypt</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad -->
<g id="edge6" class="edge"> <g id="edge5" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad</title>
<g id="a_edge6"><a xlink:title="at aes_encrypter.go:26: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad]"> <g id="a_edge5"><a xlink:title="at aes_encrypter.go:26: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.pkcs7Pad]">
<path fill="none" stroke="#000000" d="M140.2241,-354.5522C186.6932,-368.8969 270.0657,-394.6335 323.0413,-410.9867"/> <path fill="none" stroke="#000000" d="M140.2241,-354.5522C186.6932,-368.8969 270.0657,-394.6335 323.0413,-410.9867"/>
<polygon fill="#000000" stroke="#000000" points="322.2997,-414.4207 332.8872,-414.0261 324.3645,-407.7321 322.2997,-414.4207"/> <polygon fill="#000000" stroke="#000000" points="322.2997,-414.4207 332.8872,-414.0261 324.3645,-407.7321 322.2997,-414.4207"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge13" class="edge"> <g id="edge20" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge13"><a xlink:title="at aes_encrypter.go:18: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_encrypter.go:31: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge20"><a xlink:title="at aes_encrypter.go:18: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at aes_encrypter.go:31: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M140.4144,-343.5214C208.2708,-342.5066 364.2298,-339.827 495.2708,-335 504.4547,-334.6617 514.2346,-334.2274 523.6737,-333.7704"/> <path fill="none" stroke="#8b4513" d="M140.4144,-343.5214C208.2708,-342.5066 364.2298,-339.827 495.2708,-335 504.4547,-334.6617 514.2346,-334.2274 523.6737,-333.7704"/>
<polygon fill="#8b4513" stroke="#8b4513" points="523.9244,-337.2623 533.7379,-333.2689 523.576,-330.271 523.9244,-337.2623"/> <polygon fill="#8b4513" stroke="#8b4513" points="523.9244,-337.2623 533.7379,-333.2689 523.576,-330.271 523.9244,-337.2623"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge14" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge14"><a xlink:title="at aes_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M140.5019,-338.2956C160.4757,-333.8732 185.4711,-326.352 205.0814,-314 254.0013,-283.1866 240.1326,-241.7039 292.8654,-218 333.8947,-199.5569 450.3329,-217.0353 495.2708,-215 504.4661,-214.5835 514.2515,-213.9756 523.6924,-213.3046"/>
<polygon fill="#8b4513" stroke="#8b4513" points="524.0437,-216.7883 533.7573,-212.5578 523.5257,-209.8075 524.0437,-216.7883"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge20" class="edge"> <g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge20"><a xlink:title="at aes_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge4"><a xlink:title="at aes_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M140.3842,-340.0037C202.4797,-332.6027 337.4752,-315.7087 450.4868,-296 478.7143,-291.0772 510.324,-284.4251 534.5497,-279.0819"/> <path fill="none" stroke="#8b4513" d="M140.3842,-340.0037C202.4797,-332.6027 337.4752,-315.7087 450.4868,-296 478.7143,-291.0772 510.324,-284.4251 534.5497,-279.0819"/>
<polygon fill="#8b4513" stroke="#8b4513" points="535.4467,-282.468 544.4487,-276.8809 533.9274,-275.6349 535.4467,-282.468"/> <polygon fill="#8b4513" stroke="#8b4513" points="535.4467,-282.468 544.4487,-276.8809 533.9274,-275.6349 535.4467,-282.468"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge15" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge15"><a xlink:title="at aes_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M140.5019,-338.2956C160.4757,-333.8732 185.4711,-326.352 205.0814,-314 254.0013,-283.1866 240.1326,-241.7039 292.8654,-218 333.8947,-199.5569 450.3329,-217.0353 495.2708,-215 504.4661,-214.5835 514.2515,-213.9756 523.6924,-213.3046"/>
<polygon fill="#8b4513" stroke="#8b4513" points="524.0437,-216.7883 533.7573,-212.5578 523.5257,-209.8075 524.0437,-216.7883"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge19" class="edge"> <g id="edge14" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).Encrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge19"><a xlink:title="at aes_encrypter.go:18: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_encrypter.go:31: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge14"><a xlink:title="at aes_encrypter.go:18: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at aes_encrypter.go:31: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M112.3885,-362.2016C127.9235,-403.5419 172.2263,-503.9473 248.0814,-543 342.4321,-591.5748 470.7167,-542.3292 534.6919,-511.2309"/> <path fill="none" stroke="#8b4513" d="M112.3885,-362.2016C127.9235,-403.5419 172.2263,-503.9473 248.0814,-543 342.4321,-591.5748 470.7167,-542.3292 534.6919,-511.2309"/>
<polygon fill="#8b4513" stroke="#8b4513" points="536.2481,-514.366 543.6525,-506.7881 533.1386,-508.0945 536.2481,-514.366"/> <polygon fill="#8b4513" stroke="#8b4513" points="536.2481,-514.366 543.6525,-506.7881 533.1386,-508.0945 536.2481,-514.366"/>
</a> </a>
@ -386,9 +386,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricKey).NewEncrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricKey).NewEncrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge4" class="edge"> <g id="edge8" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricKey).NewEncrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricKey).NewEncrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge4"><a xlink:title="at aes_key.go:13: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge8"><a xlink:title="at aes_key.go:13: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M424.4643,-512.0485C446.4321,-514.1979 472.155,-515.1544 495.2708,-512 507.9608,-510.2683 521.4874,-507.0424 533.7003,-503.5844"/> <path fill="none" stroke="#8b4513" d="M424.4643,-512.0485C446.4321,-514.1979 472.155,-515.1544 495.2708,-512 507.9608,-510.2683 521.4874,-507.0424 533.7003,-503.5844"/>
<polygon fill="#8b4513" stroke="#8b4513" points="535.0079,-506.8476 543.603,-500.6528 533.0208,-500.1355 535.0079,-506.8476"/> <polygon fill="#8b4513" stroke="#8b4513" points="535.0079,-506.8476 543.603,-500.6528 533.0208,-500.1355 535.0079,-506.8476"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -66,55 +66,55 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.GenerateKey&#45;&gt;github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.GenerateKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge5" class="edge"> <g id="edge15" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.GenerateKey&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.GenerateKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge5"><a xlink:title="at chacha20_key.go:16: calling [github.com/samber/oops.Errorf]"> <g id="a_edge15"><a xlink:title="at chacha20_key.go:16: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M469.5568,-541.2105C487.1592,-535.12 507.0144,-527.7521 524.6818,-520 544.3498,-511.3701 565.5214,-500.3939 583.0167,-490.8367"/> <path fill="none" stroke="#8b4513" d="M469.5568,-541.2105C487.1592,-535.12 507.0144,-527.7521 524.6818,-520 544.3498,-511.3701 565.5214,-500.3939 583.0167,-490.8367"/>
<polygon fill="#8b4513" stroke="#8b4513" points="584.7386,-493.8841 591.803,-485.9882 581.3566,-487.7553 584.7386,-493.8841"/> <polygon fill="#8b4513" stroke="#8b4513" points="584.7386,-493.8841 591.803,-485.9882 581.3566,-487.7553 584.7386,-493.8841"/>
</a> </a>
</g> </g>
</g> </g>
<!-- golang.org/x/crypto/chacha20poly1305.New -->
<g id="node3" class="node">
<title>golang.org/x/crypto/chacha20poly1305.New</title>
<g id="a_node3"><a xlink:title="golang.org/x/crypto/chacha20poly1305.New | defined in chacha20poly1305.go:40">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M473.2283,-426C473.2283,-426 367.7299,-426 367.7299,-426 361.7299,-426 355.7299,-420 355.7299,-414 355.7299,-414 355.7299,-402 355.7299,-402 355.7299,-396 361.7299,-390 367.7299,-390 367.7299,-390 473.2283,-390 473.2283,-390 479.2283,-390 485.2283,-396 485.2283,-402 485.2283,-402 485.2283,-414 485.2283,-414 485.2283,-420 479.2283,-426 473.2283,-426"/>
<text text-anchor="middle" x="420.4791" y="-412.2" font-family="Verdana" font-size="14.00" fill="#000000">chacha20poly1305</text>
<text text-anchor="middle" x="420.4791" y="-395.4" font-family="Verdana" font-size="14.00" fill="#000000">New</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce -->
<g id="node4" class="node"> <g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce | defined in chacha20.go:36&#10;at chacha20.go:40: calling [github.com/samber/oops.Errorf]"> <g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce | defined in chacha20.go:36&#10;at chacha20.go:40: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M475.8851,-487C475.8851,-487 365.0731,-487 365.0731,-487 359.0731,-487 353.0731,-481 353.0731,-475 353.0731,-475 353.0731,-463 353.0731,-463 353.0731,-457 359.0731,-451 365.0731,-451 365.0731,-451 475.8851,-451 475.8851,-451 481.8851,-451 487.8851,-457 487.8851,-463 487.8851,-463 487.8851,-475 487.8851,-475 487.8851,-481 481.8851,-487 475.8851,-487"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M475.8851,-487C475.8851,-487 365.0731,-487 365.0731,-487 359.0731,-487 353.0731,-481 353.0731,-475 353.0731,-475 353.0731,-463 353.0731,-463 353.0731,-457 359.0731,-451 365.0731,-451 365.0731,-451 475.8851,-451 475.8851,-451 481.8851,-451 487.8851,-457 487.8851,-463 487.8851,-463 487.8851,-475 487.8851,-475 487.8851,-481 481.8851,-487 475.8851,-487"/>
<text text-anchor="middle" x="420.4791" y="-464.8" font-family="Verdana" font-size="14.00" fill="#000000">NewRandomNonce</text> <text text-anchor="middle" x="420.4791" y="-464.8" font-family="Verdana" font-size="14.00" fill="#000000">NewRandomNonce</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce&#45;&gt;github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge2" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge2"><a xlink:title="at chacha20.go:40: calling [github.com/samber/oops.Errorf]"> <g id="a_edge3"><a xlink:title="at chacha20.go:40: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M487.9003,-469C519.1812,-469 555.2667,-469 582.009,-469"/> <path fill="none" stroke="#8b4513" d="M487.9003,-469C519.1812,-469 555.2667,-469 582.009,-469"/>
<polygon fill="#8b4513" stroke="#8b4513" points="582.1317,-472.5001 592.1317,-469 582.1316,-465.5001 582.1317,-472.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="582.1317,-472.5001 592.1317,-469 582.1316,-465.5001 582.1317,-472.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- golang.org/x/crypto/chacha20poly1305.New -->
<g id="node4" class="node">
<title>golang.org/x/crypto/chacha20poly1305.New</title>
<g id="a_node4"><a xlink:title="golang.org/x/crypto/chacha20poly1305.New | defined in chacha20poly1305.go:40">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M473.2283,-426C473.2283,-426 367.7299,-426 367.7299,-426 361.7299,-426 355.7299,-420 355.7299,-414 355.7299,-414 355.7299,-402 355.7299,-402 355.7299,-396 361.7299,-390 367.7299,-390 367.7299,-390 473.2283,-390 473.2283,-390 479.2283,-390 485.2283,-396 485.2283,-402 485.2283,-402 485.2283,-414 485.2283,-414 485.2283,-420 479.2283,-426 473.2283,-426"/>
<text text-anchor="middle" x="420.4791" y="-412.2" font-family="Verdana" font-size="14.00" fill="#000000">chacha20poly1305</text>
<text text-anchor="middle" x="420.4791" y="-395.4" font-family="Verdana" font-size="14.00" fill="#000000">New</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init | defined in .:0&#10;at chacha20.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]&#10;at chacha20.go:22: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:23: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:24: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:25: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:26: calling [github.com/samber/oops.Errorf]"> <g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init | defined in .:0&#10;at chacha20.go:22: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:23: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:24: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:25: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:26: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M435.4791,-52C435.4791,-52 405.4791,-52 405.4791,-52 399.4791,-52 393.4791,-46 393.4791,-40 393.4791,-40 393.4791,-28 393.4791,-28 393.4791,-22 399.4791,-16 405.4791,-16 405.4791,-16 435.4791,-16 435.4791,-16 441.4791,-16 447.4791,-22 447.4791,-28 447.4791,-28 447.4791,-40 447.4791,-40 447.4791,-46 441.4791,-52 435.4791,-52"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M435.4791,-52C435.4791,-52 405.4791,-52 405.4791,-52 399.4791,-52 393.4791,-46 393.4791,-40 393.4791,-40 393.4791,-28 393.4791,-28 393.4791,-22 399.4791,-16 405.4791,-16 405.4791,-16 435.4791,-16 435.4791,-16 441.4791,-16 447.4791,-22 447.4791,-28 447.4791,-28 447.4791,-40 447.4791,-40 447.4791,-46 441.4791,-52 435.4791,-52"/>
<text text-anchor="middle" x="420.4791" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text> <text text-anchor="middle" x="420.4791" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init&#45;&gt;github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge12" class="edge"> <g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge12"><a xlink:title="at chacha20.go:22: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:23: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:24: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:25: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:26: calling [github.com/samber/oops.Errorf]"> <g id="a_edge5"><a xlink:title="at chacha20.go:22: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:23: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:24: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:25: calling [github.com/samber/oops.Errorf]&#10;at chacha20.go:26: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M447.4943,-36.485C471.1951,-40.1158 504.8818,-49.0458 524.6818,-71 574.6993,-126.4593 607.6722,-358.8947 617.8941,-440.5167"/> <path fill="none" stroke="#8b4513" d="M447.4943,-36.485C471.1951,-40.1158 504.8818,-49.0458 524.6818,-71 574.6993,-126.4593 607.6722,-358.8947 617.8941,-440.5167"/>
<polygon fill="#8b4513" stroke="#8b4513" points="614.436,-441.0721 619.1329,-450.5689 621.3835,-440.2159 614.436,-441.0721"/> <polygon fill="#8b4513" stroke="#8b4513" points="614.436,-441.0721 619.1329,-450.5689 621.3835,-440.2159 614.436,-441.0721"/>
</a> </a>
@ -131,9 +131,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge4" class="edge"> <g id="edge14" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge4"><a xlink:title="at chacha20.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_edge14"><a xlink:title="at chacha20.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M447.5595,-34C473.7686,-34 514.6346,-34 550.1471,-34"/> <path fill="none" stroke="#8b4513" d="M447.5595,-34C473.7686,-34 514.6346,-34 550.1471,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="550.4879,-37.5001 560.4879,-34 550.4878,-30.5001 550.4879,-37.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="550.4879,-37.5001 560.4879,-34 550.4878,-30.5001 550.4879,-37.5001"/>
</a> </a>
@ -142,25 +142,25 @@
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd</title>
<g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd | defined in chacha20_decrypter.go:20&#10;at chacha20_decrypter.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_decrypter.go:45: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_decrypter.go:25: calling [github.com/samber/oops.Errorf]&#10;at chacha20_decrypter.go:31: calling [github.com/samber/oops.Errorf]&#10;at chacha20_decrypter.go:29: calling [golang.org/x/crypto/chacha20poly1305.New]&#10;at chacha20_decrypter.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at chacha20_decrypter.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at chacha20_decrypter.go:45: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at chacha20_decrypter.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd | defined in chacha20_decrypter.go:20&#10;at chacha20_decrypter.go:25: calling [github.com/samber/oops.Errorf]&#10;at chacha20_decrypter.go:31: calling [github.com/samber/oops.Errorf]&#10;at chacha20_decrypter.go:29: calling [golang.org/x/crypto/chacha20poly1305.New]&#10;at chacha20_decrypter.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at chacha20_decrypter.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_decrypter.go:45: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_decrypter.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at chacha20_decrypter.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at chacha20_decrypter.go:45: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M268.3713,-249C268.3713,-249 177.9921,-249 177.9921,-249 171.9921,-249 165.9921,-243 165.9921,-237 165.9921,-237 165.9921,-225 165.9921,-225 165.9921,-219 171.9921,-213 177.9921,-213 177.9921,-213 268.3713,-213 268.3713,-213 274.3713,-213 280.3713,-219 280.3713,-225 280.3713,-225 280.3713,-237 280.3713,-237 280.3713,-243 274.3713,-249 268.3713,-249"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M268.3713,-249C268.3713,-249 177.9921,-249 177.9921,-249 171.9921,-249 165.9921,-243 165.9921,-237 165.9921,-237 165.9921,-225 165.9921,-225 165.9921,-219 171.9921,-213 177.9921,-213 177.9921,-213 268.3713,-213 268.3713,-213 274.3713,-213 280.3713,-219 280.3713,-225 280.3713,-225 280.3713,-237 280.3713,-237 280.3713,-243 274.3713,-249 268.3713,-249"/>
<text text-anchor="middle" x="223.1817" y="-226.8" font-family="Verdana" font-size="14.00" fill="#000000">DecryptWithAd</text> <text text-anchor="middle" x="223.1817" y="-226.8" font-family="Verdana" font-size="14.00" fill="#000000">DecryptWithAd</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;github.com/samber/oops.Errorf --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge7" class="edge"> <g id="edge6" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;github.com/samber/oops.Errorf</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge7"><a xlink:title="at chacha20_decrypter.go:25: calling [github.com/samber/oops.Errorf]&#10;at chacha20_decrypter.go:31: calling [github.com/samber/oops.Errorf]"> <g id="a_edge6"><a xlink:title="at chacha20_decrypter.go:25: calling [github.com/samber/oops.Errorf]&#10;at chacha20_decrypter.go:31: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M232.2882,-212.9513C250.1761,-179.7867 293.4323,-110.0735 353.2764,-83 380.4891,-70.689 463.3522,-65.6749 487.6818,-83 548.4928,-126.3034 599.6423,-359.476 615.8886,-440.9111"/> <path fill="none" stroke="#8b4513" d="M232.2882,-212.9513C250.1761,-179.7867 293.4323,-110.0735 353.2764,-83 380.4891,-70.689 463.3522,-65.6749 487.6818,-83 548.4928,-126.3034 599.6423,-359.476 615.8886,-440.9111"/>
<polygon fill="#8b4513" stroke="#8b4513" points="612.4958,-441.7969 617.8635,-450.9313 619.3637,-440.4432 612.4958,-441.7969"/> <polygon fill="#8b4513" stroke="#8b4513" points="612.4958,-441.7969 617.8635,-450.9313 619.3637,-440.4432 612.4958,-441.7969"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;golang.org/x/crypto/chacha20poly1305.New --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;golang.org/x/crypto/chacha20poly1305.New -->
<g id="edge8" class="edge"> <g id="edge7" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;golang.org/x/crypto/chacha20poly1305.New</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;golang.org/x/crypto/chacha20poly1305.New</title>
<g id="a_edge8"><a xlink:title="at chacha20_decrypter.go:29: calling [golang.org/x/crypto/chacha20poly1305.New]"> <g id="a_edge7"><a xlink:title="at chacha20_decrypter.go:29: calling [golang.org/x/crypto/chacha20poly1305.New]">
<path fill="none" stroke="#8b4513" d="M235.1623,-249.2618C255.9652,-279.7533 301.5297,-341.3862 353.2764,-379 356.1383,-381.0803 359.1727,-383.0511 362.3082,-384.9117"/> <path fill="none" stroke="#8b4513" d="M235.1623,-249.2618C255.9652,-279.7533 301.5297,-341.3862 353.2764,-379 356.1383,-381.0803 359.1727,-383.0511 362.3082,-384.9117"/>
<polygon fill="#8b4513" stroke="#8b4513" points="360.9004,-388.1312 371.3528,-389.8626 364.2615,-381.9909 360.9004,-388.1312"/> <polygon fill="#8b4513" stroke="#8b4513" points="360.9004,-388.1312 371.3528,-389.8626 364.2615,-381.9909 360.9004,-388.1312"/>
</a> </a>
@ -177,9 +177,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge15" class="edge"> <g id="edge16" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge15"><a xlink:title="at chacha20_decrypter.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at chacha20_decrypter.go:45: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge16"><a xlink:title="at chacha20_decrypter.go:21: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at chacha20_decrypter.go:45: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M280.5133,-239.7175C308.7614,-244.0128 342.5263,-249.1469 369.815,-253.2963"/> <path fill="none" stroke="#8b4513" d="M280.5133,-239.7175C308.7614,-244.0128 342.5263,-249.1469 369.815,-253.2963"/>
<polygon fill="#8b4513" stroke="#8b4513" points="369.519,-256.7914 379.9315,-254.8345 370.5713,-249.871 369.519,-256.7914"/> <polygon fill="#8b4513" stroke="#8b4513" points="369.519,-256.7914 379.9315,-254.8345 370.5713,-249.871 369.519,-256.7914"/>
</a> </a>
@ -196,9 +196,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge11" class="edge"> <g id="edge8" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge11"><a xlink:title="at chacha20_decrypter.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge8"><a xlink:title="at chacha20_decrypter.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M261.5765,-212.9203C287.4653,-200.7485 322.4017,-184.3594 353.2764,-170 359.3036,-167.1968 365.6393,-164.2606 371.9126,-161.3596"/> <path fill="none" stroke="#8b4513" d="M261.5765,-212.9203C287.4653,-200.7485 322.4017,-184.3594 353.2764,-170 359.3036,-167.1968 365.6393,-164.2606 371.9126,-161.3596"/>
<polygon fill="#8b4513" stroke="#8b4513" points="373.4057,-164.5254 381.0159,-157.1541 370.4699,-158.1707 373.4057,-164.5254"/> <polygon fill="#8b4513" stroke="#8b4513" points="373.4057,-164.5254 381.0159,-157.1541 370.4699,-158.1707 373.4057,-164.5254"/>
</a> </a>
@ -215,9 +215,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge16" class="edge"> <g id="edge13" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge16"><a xlink:title="at chacha20_decrypter.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge13"><a xlink:title="at chacha20_decrypter.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M280.5133,-221.9919C312.5337,-216.9607 351.6428,-210.8158 380.3725,-206.3017"/> <path fill="none" stroke="#8b4513" d="M280.5133,-221.9919C312.5337,-216.9607 351.6428,-210.8158 380.3725,-206.3017"/>
<polygon fill="#8b4513" stroke="#8b4513" points="381.1197,-209.7273 390.4552,-204.7175 380.0331,-202.8121 381.1197,-209.7273"/> <polygon fill="#8b4513" stroke="#8b4513" points="381.1197,-209.7273 390.4552,-204.7175 380.0331,-202.8121 381.1197,-209.7273"/>
</a> </a>
@ -234,9 +234,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge3" class="edge"> <g id="edge12" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge3"><a xlink:title="at chacha20_decrypter.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_decrypter.go:45: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge12"><a xlink:title="at chacha20_decrypter.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_decrypter.go:45: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M254.0094,-249.125C288.2236,-269.2411 343.5338,-301.7604 380.9176,-323.74"/> <path fill="none" stroke="#8b4513" d="M254.0094,-249.125C288.2236,-269.2411 343.5338,-301.7604 380.9176,-323.74"/>
<polygon fill="#8b4513" stroke="#8b4513" points="379.1485,-326.76 389.5429,-328.8112 382.6964,-320.7257 379.1485,-326.76"/> <polygon fill="#8b4513" stroke="#8b4513" points="379.1485,-326.76 389.5429,-328.8112 382.6964,-320.7257 379.1485,-326.76"/>
</a> </a>
@ -252,9 +252,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd -->
<g id="edge9" class="edge"> <g id="edge17" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd</title>
<g id="a_edge9"><a xlink:title="at chacha20_decrypter.go:16: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd]"> <g id="a_edge17"><a xlink:title="at chacha20_decrypter.go:16: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyDecrypter).DecryptWithAd]">
<path fill="none" stroke="#000000" d="M93.459,-231C111.6303,-231 134.4765,-231 155.913,-231"/> <path fill="none" stroke="#000000" d="M93.459,-231C111.6303,-231 134.4765,-231 155.913,-231"/>
<polygon fill="#000000" stroke="#000000" points="155.9675,-234.5001 165.9675,-231 155.9675,-227.5001 155.9675,-234.5001"/> <polygon fill="#000000" stroke="#000000" points="155.9675,-234.5001 165.9675,-231 155.9675,-227.5001 155.9675,-234.5001"/>
</a> </a>
@ -263,52 +263,52 @@
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd</title>
<g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd | defined in chacha20_encrypter.go:21&#10;at chacha20_encrypter.go:22: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_encrypter.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_encrypter.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce]&#10;at chacha20_encrypter.go:27: calling [github.com/samber/oops.Errorf]&#10;at chacha20_encrypter.go:25: calling [golang.org/x/crypto/chacha20poly1305.New]&#10;at chacha20_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at chacha20_encrypter.go:44: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd | defined in chacha20_encrypter.go:21&#10;at chacha20_encrypter.go:27: calling [github.com/samber/oops.Errorf]&#10;at chacha20_encrypter.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce]&#10;at chacha20_encrypter.go:25: calling [golang.org/x/crypto/chacha20poly1305.New]&#10;at chacha20_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at chacha20_encrypter.go:44: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at chacha20_encrypter.go:22: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_encrypter.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M268.1033,-426C268.1033,-426 178.2601,-426 178.2601,-426 172.2601,-426 166.2601,-420 166.2601,-414 166.2601,-414 166.2601,-402 166.2601,-402 166.2601,-396 172.2601,-390 178.2601,-390 178.2601,-390 268.1033,-390 268.1033,-390 274.1033,-390 280.1033,-396 280.1033,-402 280.1033,-402 280.1033,-414 280.1033,-414 280.1033,-420 274.1033,-426 268.1033,-426"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M268.1033,-426C268.1033,-426 178.2601,-426 178.2601,-426 172.2601,-426 166.2601,-420 166.2601,-414 166.2601,-414 166.2601,-402 166.2601,-402 166.2601,-396 172.2601,-390 178.2601,-390 178.2601,-390 268.1033,-390 268.1033,-390 274.1033,-390 280.1033,-396 280.1033,-402 280.1033,-402 280.1033,-414 280.1033,-414 280.1033,-420 274.1033,-426 268.1033,-426"/>
<text text-anchor="middle" x="223.1817" y="-403.8" font-family="Verdana" font-size="14.00" fill="#000000">EncryptWithAd</text> <text text-anchor="middle" x="223.1817" y="-403.8" font-family="Verdana" font-size="14.00" fill="#000000">EncryptWithAd</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;github.com/samber/oops.Errorf --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge10" class="edge"> <g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;github.com/samber/oops.Errorf</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge10"><a xlink:title="at chacha20_encrypter.go:27: calling [github.com/samber/oops.Errorf]"> <g id="a_edge1"><a xlink:title="at chacha20_encrypter.go:27: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M240.9573,-426.1699C264.2907,-448.5849 307.6683,-485.5029 353.2764,-500 431.9038,-524.9928 529.2122,-500.9148 582.2677,-483.4621"/> <path fill="none" stroke="#8b4513" d="M240.9573,-426.1699C264.2907,-448.5849 307.6683,-485.5029 353.2764,-500 431.9038,-524.9928 529.2122,-500.9148 582.2677,-483.4621"/>
<polygon fill="#8b4513" stroke="#8b4513" points="583.6059,-486.7043 591.9575,-480.1851 581.3633,-480.0732 583.6059,-486.7043"/> <polygon fill="#8b4513" stroke="#8b4513" points="583.6059,-486.7043 591.9575,-480.1851 581.3633,-480.0732 583.6059,-486.7043"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;golang.org/x/crypto/chacha20poly1305.New -->
<g id="edge13" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;golang.org/x/crypto/chacha20poly1305.New</title>
<g id="a_edge13"><a xlink:title="at chacha20_encrypter.go:25: calling [golang.org/x/crypto/chacha20poly1305.New]">
<path fill="none" stroke="#8b4513" d="M279.9836,-408C300.3265,-408 323.5838,-408 345.2431,-408"/>
<polygon fill="#8b4513" stroke="#8b4513" points="345.3955,-411.5001 355.3955,-408 345.3955,-404.5001 345.3955,-411.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce -->
<g id="edge6" class="edge"> <g id="edge2" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce</title>
<g id="a_edge6"><a xlink:title="at chacha20_encrypter.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce]"> <g id="a_edge2"><a xlink:title="at chacha20_encrypter.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.NewRandomNonce]">
<path fill="none" stroke="#000000" d="M279.9836,-425.5619C302.5957,-432.5531 328.8087,-440.6575 352.4253,-447.9593"/> <path fill="none" stroke="#000000" d="M279.9836,-425.5619C302.5957,-432.5531 328.8087,-440.6575 352.4253,-447.9593"/>
<polygon fill="#000000" stroke="#000000" points="351.4351,-451.3165 362.0228,-450.9266 353.5028,-444.6289 351.4351,-451.3165"/> <polygon fill="#000000" stroke="#000000" points="351.4351,-451.3165 362.0228,-450.9266 353.5028,-444.6289 351.4351,-451.3165"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;golang.org/x/crypto/chacha20poly1305.New -->
<g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;golang.org/x/crypto/chacha20poly1305.New</title>
<g id="a_edge4"><a xlink:title="at chacha20_encrypter.go:25: calling [golang.org/x/crypto/chacha20poly1305.New]">
<path fill="none" stroke="#8b4513" d="M279.9836,-408C300.3265,-408 323.5838,-408 345.2431,-408"/>
<polygon fill="#8b4513" stroke="#8b4513" points="345.3955,-411.5001 355.3955,-408 345.3955,-404.5001 345.3955,-411.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge17" class="edge"> <g id="edge9" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge17"><a xlink:title="at chacha20_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at chacha20_encrypter.go:44: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge9"><a xlink:title="at chacha20_encrypter.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at chacha20_encrypter.go:44: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M239.261,-389.7509C262.3895,-364.3878 307.3418,-318.3024 353.2764,-289 358.6609,-285.5651 364.5381,-282.3953 370.5037,-279.5198"/> <path fill="none" stroke="#8b4513" d="M239.261,-389.7509C262.3895,-364.3878 307.3418,-318.3024 353.2764,-289 358.6609,-285.5651 364.5381,-282.3953 370.5037,-279.5198"/>
<polygon fill="#8b4513" stroke="#8b4513" points="372.2404,-282.5749 379.8928,-275.2475 369.3412,-276.2035 372.2404,-282.5749"/> <polygon fill="#8b4513" stroke="#8b4513" points="372.2404,-282.5749 379.8928,-275.2475 369.3412,-276.2035 372.2404,-282.5749"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge1" class="edge"> <g id="edge10" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge1"><a xlink:title="at chacha20_encrypter.go:22: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_encrypter.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge10"><a xlink:title="at chacha20_encrypter.go:22: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at chacha20_encrypter.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M279.9836,-390.4381C311.959,-380.552 351.1347,-368.4397 379.9872,-359.5192"/> <path fill="none" stroke="#8b4513" d="M279.9836,-390.4381C311.959,-380.552 351.1347,-368.4397 379.9872,-359.5192"/>
<polygon fill="#8b4513" stroke="#8b4513" points="381.2135,-362.8036 389.7335,-356.5059 379.1458,-356.1159 381.2135,-362.8036"/> <polygon fill="#8b4513" stroke="#8b4513" points="381.2135,-362.8036 389.7335,-356.5059 379.1458,-356.1159 381.2135,-362.8036"/>
</a> </a>
@ -324,9 +324,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd -->
<g id="edge14" class="edge"> <g id="edge11" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).Encrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd</title>
<g id="a_edge14"><a xlink:title="at chacha20_encrypter.go:16: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd]"> <g id="a_edge11"><a xlink:title="at chacha20_encrypter.go:16: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/chacha20.ChaCha20PolyEncrypter).EncryptWithAd]">
<path fill="none" stroke="#000000" d="M93.0571,-408C111.3721,-408 134.5186,-408 156.1948,-408"/> <path fill="none" stroke="#000000" d="M93.0571,-408C111.3721,-408 134.5186,-408 156.1948,-408"/>
<polygon fill="#000000" stroke="#000000" points="156.3578,-411.5001 166.3578,-408 156.3578,-404.5001 156.3578,-411.5001"/> <polygon fill="#000000" stroke="#000000" points="156.3578,-411.5001 166.3578,-408 156.3578,-404.5001 156.3578,-411.5001"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

@ -82,9 +82,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="edge11" class="edge"> <g id="edge26" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_edge11"><a xlink:title="at dsa.go:54: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]"> <g id="a_edge26"><a xlink:title="at dsa.go:54: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="none" stroke="#8b4513" d="M354.749,-501.5034C370.4207,-498.0554 386.3799,-492.3449 399.3564,-483 436.194,-456.4718 458.6479,-407.0524 469.7997,-375.9312"/> <path fill="none" stroke="#8b4513" d="M354.749,-501.5034C370.4207,-498.0554 386.3799,-492.3449 399.3564,-483 436.194,-456.4718 458.6479,-407.0524 469.7997,-375.9312"/>
<polygon fill="#8b4513" stroke="#8b4513" points="473.2247,-376.7326 473.1528,-366.138 466.6022,-374.4651 473.2247,-376.7326"/> <polygon fill="#8b4513" stroke="#8b4513" points="473.2247,-376.7326 473.1528,-366.138 466.6022,-374.4651 473.2247,-376.7326"/>
</a> </a>
@ -101,45 +101,27 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge15" class="edge"> <g id="edge31" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge15"><a xlink:title="at dsa.go:41: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa.go:52: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge31"><a xlink:title="at dsa.go:41: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa.go:52: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M330.3434,-524.0213C350.6616,-531.4093 375.9169,-538.035 399.3564,-537 411.8396,-536.4488 425.3984,-535.4106 437.707,-534.2993"/> <path fill="none" stroke="#8b4513" d="M330.3434,-524.0213C350.6616,-531.4093 375.9169,-538.035 399.3564,-537 411.8396,-536.4488 425.3984,-535.4106 437.707,-534.2993"/>
<polygon fill="#8b4513" stroke="#8b4513" points="438.0736,-537.7804 447.7011,-533.3577 437.4169,-530.8112 438.0736,-537.7804"/> <polygon fill="#8b4513" stroke="#8b4513" points="438.0736,-537.7804 447.7011,-533.3577 437.4169,-530.8112 438.0736,-537.7804"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey | defined in dsa.go:31&#10;at dsa.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M350.1097,-639C350.1097,-639 230.0981,-639 230.0981,-639 224.0981,-639 218.0981,-633 218.0981,-627 218.0981,-627 218.0981,-615 218.0981,-615 218.0981,-609 224.0981,-603 230.0981,-603 230.0981,-603 350.1097,-603 350.1097,-603 356.1097,-603 362.1097,-609 362.1097,-615 362.1097,-615 362.1097,-627 362.1097,-627 362.1097,-633 356.1097,-639 350.1097,-639"/>
<text text-anchor="middle" x="290.1039" y="-616.8" font-family="Verdana" font-size="14.00" fill="#000000">createDSAPublicKey</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge23" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge23"><a xlink:title="at dsa.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M362.2421,-627.2055C375.0276,-626.0408 387.9028,-623.2945 399.3564,-618 427.0948,-605.1777 449.3074,-577.5453 463.0507,-556.643"/>
<polygon fill="#8b4513" stroke="#8b4513" points="466.0284,-558.4826 468.4135,-548.1596 460.1116,-554.7421 466.0284,-558.4826"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.init --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.init -->
<g id="node3" class="node"> <g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.init</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.init</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.init | defined in .:0&#10;at dsa.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.init | defined in .:0&#10;at dsa.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M87.4881,-52C87.4881,-52 57.4881,-52 57.4881,-52 51.4881,-52 45.4881,-46 45.4881,-40 45.4881,-40 45.4881,-28 45.4881,-28 45.4881,-22 51.4881,-16 57.4881,-16 57.4881,-16 87.4881,-16 87.4881,-16 93.4881,-16 99.4881,-22 99.4881,-28 99.4881,-28 99.4881,-40 99.4881,-40 99.4881,-46 93.4881,-52 87.4881,-52"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M87.4881,-52C87.4881,-52 57.4881,-52 57.4881,-52 51.4881,-52 45.4881,-46 45.4881,-40 45.4881,-40 45.4881,-28 45.4881,-28 45.4881,-22 51.4881,-16 57.4881,-16 57.4881,-16 87.4881,-16 87.4881,-16 93.4881,-16 99.4881,-22 99.4881,-28 99.4881,-28 99.4881,-40 99.4881,-40 99.4881,-46 93.4881,-52 87.4881,-52"/>
<text text-anchor="middle" x="72.4881" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text> <text text-anchor="middle" x="72.4881" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node4" class="node"> <g id="node3" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120"> <g id="a_node3"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M338.7934,-52C338.7934,-52 241.4144,-52 241.4144,-52 235.4144,-52 229.4144,-46 229.4144,-40 229.4144,-40 229.4144,-28 229.4144,-28 229.4144,-22 235.4144,-16 241.4144,-16 241.4144,-16 338.7934,-16 338.7934,-16 344.7934,-16 350.7934,-22 350.7934,-28 350.7934,-28 350.7934,-40 350.7934,-40 350.7934,-46 344.7934,-52 338.7934,-52"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M338.7934,-52C338.7934,-52 241.4144,-52 241.4144,-52 235.4144,-52 229.4144,-46 229.4144,-40 229.4144,-40 229.4144,-28 229.4144,-28 229.4144,-22 235.4144,-16 241.4144,-16 241.4144,-16 338.7934,-16 338.7934,-16 344.7934,-16 350.7934,-22 350.7934,-28 350.7934,-28 350.7934,-40 350.7934,-40 350.7934,-46 344.7934,-52 338.7934,-52"/>
<text text-anchor="middle" x="290.1039" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="290.1039" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="290.1039" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text> <text text-anchor="middle" x="290.1039" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
@ -147,18 +129,36 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge3" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge3"><a xlink:title="at dsa.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_edge1"><a xlink:title="at dsa.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M99.6093,-34C129.3344,-34 178.2272,-34 219.0358,-34"/> <path fill="none" stroke="#8b4513" d="M99.6093,-34C129.3344,-34 178.2272,-34 219.0358,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="219.2202,-37.5001 229.2201,-34 219.2201,-30.5001 219.2202,-37.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="219.2202,-37.5001 229.2201,-34 219.2201,-30.5001 219.2202,-37.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey | defined in dsa.go:31&#10;at dsa.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M350.1097,-639C350.1097,-639 230.0981,-639 230.0981,-639 224.0981,-639 218.0981,-633 218.0981,-627 218.0981,-627 218.0981,-615 218.0981,-615 218.0981,-609 224.0981,-603 230.0981,-603 230.0981,-603 350.1097,-603 350.1097,-603 356.1097,-603 362.1097,-609 362.1097,-615 362.1097,-615 362.1097,-627 362.1097,-627 362.1097,-633 356.1097,-639 350.1097,-639"/>
<text text-anchor="middle" x="290.1039" y="-616.8" font-family="Verdana" font-size="14.00" fill="#000000">createDSAPublicKey</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge28" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge28"><a xlink:title="at dsa.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M362.2421,-627.2055C375.0276,-626.0408 387.9028,-623.2945 399.3564,-618 427.0948,-605.1777 449.3074,-577.5453 463.0507,-556.643"/>
<polygon fill="#8b4513" stroke="#8b4513" points="466.0284,-558.4826 468.4135,-548.1596 460.1116,-554.7421 466.0284,-558.4826"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA | defined in dsa.go:14&#10;at dsa.go:23: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at dsa.go:23: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at dsa.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa.go:25: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA | defined in dsa.go:14&#10;at dsa.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa.go:25: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa.go:23: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at dsa.go:23: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M328.0101,-382C328.0101,-382 252.1977,-382 252.1977,-382 246.1977,-382 240.1977,-376 240.1977,-370 240.1977,-370 240.1977,-358 240.1977,-358 240.1977,-352 246.1977,-346 252.1977,-346 252.1977,-346 328.0101,-346 328.0101,-346 334.0101,-346 340.0101,-352 340.0101,-358 340.0101,-358 340.0101,-370 340.0101,-370 340.0101,-376 334.0101,-382 328.0101,-382"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M328.0101,-382C328.0101,-382 252.1977,-382 252.1977,-382 246.1977,-382 240.1977,-376 240.1977,-370 240.1977,-370 240.1977,-358 240.1977,-358 240.1977,-352 246.1977,-346 252.1977,-346 252.1977,-346 328.0101,-346 328.0101,-346 334.0101,-346 340.0101,-352 340.0101,-358 340.0101,-358 340.0101,-370 340.0101,-370 340.0101,-376 334.0101,-382 328.0101,-382"/>
<text text-anchor="middle" x="290.1039" y="-359.8" font-family="Verdana" font-size="14.00" fill="#000000">generateDSA</text> <text text-anchor="middle" x="290.1039" y="-359.8" font-family="Verdana" font-size="14.00" fill="#000000">generateDSA</text>
</a> </a>
@ -175,18 +175,18 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge19" class="edge"> <g id="edge21" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge19"><a xlink:title="at dsa.go:23: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge21"><a xlink:title="at dsa.go:23: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M339.8622,-363.6977C359.3269,-361.8361 381.2727,-357.4754 399.3564,-348 415.5115,-339.5351 413.2039,-329.5042 427.3564,-318 431.3312,-314.769 435.6733,-311.6314 440.0933,-308.6714"/> <path fill="none" stroke="#8b4513" d="M339.8622,-363.6977C359.3269,-361.8361 381.2727,-357.4754 399.3564,-348 415.5115,-339.5351 413.2039,-329.5042 427.3564,-318 431.3312,-314.769 435.6733,-311.6314 440.0933,-308.6714"/>
<polygon fill="#8b4513" stroke="#8b4513" points="442.076,-311.558 448.613,-303.2202 438.3033,-305.6617 442.076,-311.558"/> <polygon fill="#8b4513" stroke="#8b4513" points="442.076,-311.558 448.613,-303.2202 438.3033,-305.6617 442.076,-311.558"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="node14" class="node"> <g id="node13" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66"> <g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M506.9973,-244C506.9973,-244 449.9343,-244 449.9343,-244 443.9343,-244 437.9343,-238 437.9343,-232 437.9343,-232 437.9343,-220 437.9343,-220 437.9343,-214 443.9343,-208 449.9343,-208 449.9343,-208 506.9973,-208 506.9973,-208 512.9973,-208 518.9973,-214 518.9973,-220 518.9973,-220 518.9973,-232 518.9973,-232 518.9973,-238 512.9973,-244 506.9973,-244"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M506.9973,-244C506.9973,-244 449.9343,-244 449.9343,-244 443.9343,-244 437.9343,-238 437.9343,-232 437.9343,-232 437.9343,-220 437.9343,-220 437.9343,-214 443.9343,-208 449.9343,-208 449.9343,-208 506.9973,-208 506.9973,-208 512.9973,-208 518.9973,-214 518.9973,-220 518.9973,-220 518.9973,-232 518.9973,-232 518.9973,-238 512.9973,-244 506.9973,-244"/>
<text text-anchor="middle" x="478.4658" y="-230.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="478.4658" y="-230.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="478.4658" y="-213.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text> <text text-anchor="middle" x="478.4658" y="-213.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
@ -203,9 +203,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge25" class="edge"> <g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge25"><a xlink:title="at dsa.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa.go:25: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge5"><a xlink:title="at dsa.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa.go:25: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M310.6205,-382.0809C344.4474,-411.892 411.9816,-471.4086 450.2706,-505.1521"/> <path fill="none" stroke="#8b4513" d="M310.6205,-382.0809C344.4474,-411.892 411.9816,-471.4086 450.2706,-505.1521"/>
<polygon fill="#8b4513" stroke="#8b4513" points="448.158,-507.9555 457.9745,-511.9414 452.7862,-502.7038 448.158,-507.9555"/> <polygon fill="#8b4513" stroke="#8b4513" points="448.158,-507.9555 457.9745,-511.9414 452.7862,-502.7038 448.158,-507.9555"/>
</a> </a>
@ -214,7 +214,7 @@
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign</title>
<g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign | defined in dsa_signer.go:14&#10;at dsa_signer.go:17: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash]&#10;at dsa_signer.go:15: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at dsa_signer.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign | defined in dsa_signer.go:14&#10;at dsa_signer.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_signer.go:17: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash]&#10;at dsa_signer.go:15: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M87.4881,-140C87.4881,-140 57.4881,-140 57.4881,-140 51.4881,-140 45.4881,-134 45.4881,-128 45.4881,-128 45.4881,-116 45.4881,-116 45.4881,-110 51.4881,-104 57.4881,-104 57.4881,-104 87.4881,-104 87.4881,-104 93.4881,-104 99.4881,-110 99.4881,-116 99.4881,-116 99.4881,-128 99.4881,-128 99.4881,-134 93.4881,-140 87.4881,-140"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M87.4881,-140C87.4881,-140 57.4881,-140 57.4881,-140 51.4881,-140 45.4881,-134 45.4881,-128 45.4881,-128 45.4881,-116 45.4881,-116 45.4881,-110 51.4881,-104 57.4881,-104 57.4881,-104 87.4881,-104 87.4881,-104 93.4881,-104 99.4881,-110 99.4881,-116 99.4881,-116 99.4881,-128 99.4881,-128 99.4881,-134 93.4881,-140 87.4881,-140"/>
<text text-anchor="middle" x="72.4881" y="-117.8" font-family="Verdana" font-size="14.00" fill="#000000">Sign</text> <text text-anchor="middle" x="72.4881" y="-117.8" font-family="Verdana" font-size="14.00" fill="#000000">Sign</text>
</a> </a>
@ -223,25 +223,25 @@
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash</title>
<g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash | defined in dsa_signer.go:21&#10;at dsa_signer.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at dsa_signer.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at dsa_signer.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at dsa_signer.go:33: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at dsa_signer.go:22: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_signer.go:33: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash | defined in dsa_signer.go:21&#10;at dsa_signer.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at dsa_signer.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at dsa_signer.go:22: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_signer.go:33: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_signer.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at dsa_signer.go:33: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M317.5441,-140C317.5441,-140 262.6637,-140 262.6637,-140 256.6637,-140 250.6637,-134 250.6637,-128 250.6637,-128 250.6637,-116 250.6637,-116 250.6637,-110 256.6637,-104 262.6637,-104 262.6637,-104 317.5441,-104 317.5441,-104 323.5441,-104 329.5441,-110 329.5441,-116 329.5441,-116 329.5441,-128 329.5441,-128 329.5441,-134 323.5441,-140 317.5441,-140"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M317.5441,-140C317.5441,-140 262.6637,-140 262.6637,-140 256.6637,-140 250.6637,-134 250.6637,-128 250.6637,-128 250.6637,-116 250.6637,-116 250.6637,-110 256.6637,-104 262.6637,-104 262.6637,-104 317.5441,-104 317.5441,-104 323.5441,-104 329.5441,-110 329.5441,-116 329.5441,-116 329.5441,-128 329.5441,-128 329.5441,-134 323.5441,-140 317.5441,-140"/>
<text text-anchor="middle" x="290.1039" y="-117.8" font-family="Verdana" font-size="14.00" fill="#000000">SignHash</text> <text text-anchor="middle" x="290.1039" y="-117.8" font-family="Verdana" font-size="14.00" fill="#000000">SignHash</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash -->
<g id="edge24" class="edge"> <g id="edge13" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash</title>
<g id="a_edge24"><a xlink:title="at dsa_signer.go:17: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash]"> <g id="a_edge13"><a xlink:title="at dsa_signer.go:17: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash]">
<path fill="none" stroke="#000000" d="M99.6093,-122C134.8399,-122 196.9958,-122 240.7056,-122"/> <path fill="none" stroke="#000000" d="M99.6093,-122C134.8399,-122 196.9958,-122 240.7056,-122"/>
<polygon fill="#000000" stroke="#000000" points="240.8391,-125.5001 250.8391,-122 240.839,-118.5001 240.8391,-125.5001"/> <polygon fill="#000000" stroke="#000000" points="240.8391,-125.5001 250.8391,-122 240.839,-118.5001 240.8391,-125.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="node13" class="node"> <g id="node14" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithField | defined in log.go:54"> <g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithField | defined in log.go:54">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M506.7403,-122C506.7403,-122 450.1913,-122 450.1913,-122 444.1913,-122 438.1913,-116 438.1913,-110 438.1913,-110 438.1913,-98 438.1913,-98 438.1913,-92 444.1913,-86 450.1913,-86 450.1913,-86 506.7403,-86 506.7403,-86 512.7403,-86 518.7403,-92 518.7403,-98 518.7403,-98 518.7403,-110 518.7403,-110 518.7403,-116 512.7403,-122 506.7403,-122"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M506.7403,-122C506.7403,-122 450.1913,-122 450.1913,-122 444.1913,-122 438.1913,-116 438.1913,-110 438.1913,-110 438.1913,-98 438.1913,-98 438.1913,-92 444.1913,-86 450.1913,-86 450.1913,-86 506.7403,-86 506.7403,-86 512.7403,-86 518.7403,-92 518.7403,-98 518.7403,-98 518.7403,-110 518.7403,-110 518.7403,-116 512.7403,-122 506.7403,-122"/>
<text text-anchor="middle" x="478.4658" y="-108.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="478.4658" y="-108.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="478.4658" y="-91.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text> <text text-anchor="middle" x="478.4658" y="-91.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
@ -249,83 +249,83 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge28" class="edge"> <g id="edge18" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge28"><a xlink:title="at dsa_signer.go:15: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge18"><a xlink:title="at dsa_signer.go:15: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M99.7039,-115.7654C128.8272,-109.2389 176.4339,-98.9872 217.8514,-92 281.7261,-81.2243 299.8026,-89.8258 362.3564,-73 379.0948,-68.4977 381.3597,-61.3993 398.3564,-58 418.9234,-53.8866 439.3836,-65.9812 454.4786,-78.7971"/> <path fill="none" stroke="#8b4513" d="M99.7039,-115.7654C128.8272,-109.2389 176.4339,-98.9872 217.8514,-92 281.7261,-81.2243 299.8026,-89.8258 362.3564,-73 379.0948,-68.4977 381.3597,-61.3993 398.3564,-58 418.9234,-53.8866 439.3836,-65.9812 454.4786,-78.7971"/>
<polygon fill="#8b4513" stroke="#8b4513" points="452.5267,-81.753 462.2793,-85.8929 457.237,-76.5748 452.5267,-81.753"/> <polygon fill="#8b4513" stroke="#8b4513" points="452.5267,-81.753 462.2793,-85.8929 457.237,-76.5748 452.5267,-81.753"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge31" class="edge"> <g id="edge7" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).Sign&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge31"><a xlink:title="at dsa_signer.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge7"><a xlink:title="at dsa_signer.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M99.4938,-128.0303C128.641,-134.4753 176.4535,-144.8637 217.8514,-153 281.8822,-165.5846 313.2118,-136.0684 362.3564,-179 433.0644,-240.7689 397.7706,-290.8951 427.3564,-380 441.4707,-422.5086 458.3035,-471.616 468.6888,-501.7369"/> <path fill="none" stroke="#8b4513" d="M99.4938,-128.0303C128.641,-134.4753 176.4535,-144.8637 217.8514,-153 281.8822,-165.5846 313.2118,-136.0684 362.3564,-179 433.0644,-240.7689 397.7706,-290.8951 427.3564,-380 441.4707,-422.5086 458.3035,-471.616 468.6888,-501.7369"/>
<polygon fill="#8b4513" stroke="#8b4513" points="465.5071,-503.2464 472.0782,-511.5573 472.1241,-500.9626 465.5071,-503.2464"/> <polygon fill="#8b4513" stroke="#8b4513" points="465.5071,-503.2464 472.0782,-511.5573 472.1241,-500.9626 465.5071,-503.2464"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge1" class="edge"> <g id="edge12" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge1"><a xlink:title="at dsa_signer.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge12"><a xlink:title="at dsa_signer.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M329.5746,-108.6879C352.389,-103.6457 380.264,-102.37 399.3564,-118 448.119,-157.9195 390.7714,-205.6882 427.3564,-257 430.8003,-261.8301 435.2853,-266.0063 440.1679,-269.5781"/> <path fill="none" stroke="#8b4513" d="M329.5746,-108.6879C352.389,-103.6457 380.264,-102.37 399.3564,-118 448.119,-157.9195 390.7714,-205.6882 427.3564,-257 430.8003,-261.8301 435.2853,-266.0063 440.1679,-269.5781"/>
<polygon fill="#8b4513" stroke="#8b4513" points="438.3419,-272.565 448.6467,-275.0273 442.1265,-266.6763 438.3419,-272.565"/> <polygon fill="#8b4513" stroke="#8b4513" points="438.3419,-272.565 448.6467,-275.0273 442.1265,-266.6763 438.3419,-272.565"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge13" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge13"><a xlink:title="at dsa_signer.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at dsa_signer.go:33: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M326.3243,-103.9416C337.9066,-98.0366 350.735,-91.359 362.3564,-85 378.6061,-76.1085 380.4751,-68.8342 398.3564,-64 417.349,-58.8654 437.1423,-68.5844 452.3026,-79.7251"/>
<polygon fill="#8b4513" stroke="#8b4513" points="450.1974,-82.5224 460.2138,-85.9754 454.5369,-77.0298 450.1974,-82.5224"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge5" class="edge"> <g id="edge19" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge5"><a xlink:title="at dsa_signer.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge19"><a xlink:title="at dsa_signer.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M329.1999,-103.9592C355.8553,-92.9424 388.2557,-82.4716 399.3564,-91 437.6557,-120.4245 398.1157,-157.5601 427.3564,-196 428.7482,-197.8297 430.2864,-199.5685 431.9349,-201.2184"/> <path fill="none" stroke="#8b4513" d="M329.1999,-103.9592C355.8553,-92.9424 388.2557,-82.4716 399.3564,-91 437.6557,-120.4245 398.1157,-157.5601 427.3564,-196 428.7482,-197.8297 430.2864,-199.5685 431.9349,-201.2184"/>
<polygon fill="#8b4513" stroke="#8b4513" points="429.8762,-204.0627 439.7562,-207.8887 434.4186,-198.7366 429.8762,-204.0627"/> <polygon fill="#8b4513" stroke="#8b4513" points="429.8762,-204.0627 439.7562,-207.8887 434.4186,-198.7366 429.8762,-204.0627"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge30" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge30"><a xlink:title="at dsa_signer.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at dsa_signer.go:33: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M326.3243,-103.9416C337.9066,-98.0366 350.735,-91.359 362.3564,-85 378.6061,-76.1085 380.4751,-68.8342 398.3564,-64 417.349,-58.8654 437.1423,-68.5844 452.3026,-79.7251"/>
<polygon fill="#8b4513" stroke="#8b4513" points="450.1974,-82.5224 460.2138,-85.9754 454.5369,-77.0298 450.1974,-82.5224"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge18" class="edge"> <g id="edge25" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSASigner).SignHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge18"><a xlink:title="at dsa_signer.go:22: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_signer.go:33: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge25"><a xlink:title="at dsa_signer.go:22: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_signer.go:33: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M329.5986,-135.9051C341.356,-141.5879 353.4606,-149.1839 362.3564,-159 431.1082,-234.8642 399.7818,-281.4007 427.3564,-380 439.4198,-423.1355 456.8103,-472.0724 467.8734,-501.9862"/> <path fill="none" stroke="#8b4513" d="M329.5986,-135.9051C341.356,-141.5879 353.4606,-149.1839 362.3564,-159 431.1082,-234.8642 399.7818,-281.4007 427.3564,-380 439.4198,-423.1355 456.8103,-472.0724 467.8734,-501.9862"/>
<polygon fill="#8b4513" stroke="#8b4513" points="464.7333,-503.5834 471.5035,-511.733 471.2931,-501.1402 464.7333,-503.5834"/> <polygon fill="#8b4513" stroke="#8b4513" points="464.7333,-503.5834 471.5035,-511.733 471.2931,-501.1402 464.7333,-503.5834"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify</title>
<g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify | defined in dsa_verifier.go:17&#10;at dsa_verifier.go:18: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at dsa_verifier.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_verifier.go:23: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M90.5229,-255C90.5229,-255 54.4533,-255 54.4533,-255 48.4533,-255 42.4533,-249 42.4533,-243 42.4533,-243 42.4533,-231 42.4533,-231 42.4533,-225 48.4533,-219 54.4533,-219 54.4533,-219 90.5229,-219 90.5229,-219 96.5229,-219 102.5229,-225 102.5229,-231 102.5229,-231 102.5229,-243 102.5229,-243 102.5229,-249 96.5229,-255 90.5229,-255"/>
<text text-anchor="middle" x="72.4881" y="-232.8" font-family="Verdana" font-size="14.00" fill="#000000">Verify</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash -->
<g id="node9" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash</title>
<g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash | defined in dsa_verifier.go:28&#10;at dsa_verifier.go:29: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at dsa_verifier.go:45: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at dsa_verifier.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_verifier.go:38: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_verifier.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]"> <g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash | defined in dsa_verifier.go:28&#10;at dsa_verifier.go:29: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at dsa_verifier.go:45: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at dsa_verifier.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_verifier.go:38: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_verifier.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M322.9032,-255C322.9032,-255 257.3046,-255 257.3046,-255 251.3046,-255 245.3046,-249 245.3046,-243 245.3046,-243 245.3046,-231 245.3046,-231 245.3046,-225 251.3046,-219 257.3046,-219 257.3046,-219 322.9032,-219 322.9032,-219 328.9032,-219 334.9032,-225 334.9032,-231 334.9032,-231 334.9032,-243 334.9032,-243 334.9032,-249 328.9032,-255 322.9032,-255"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M322.9032,-255C322.9032,-255 257.3046,-255 257.3046,-255 251.3046,-255 245.3046,-249 245.3046,-243 245.3046,-243 245.3046,-231 245.3046,-231 245.3046,-225 251.3046,-219 257.3046,-219 257.3046,-219 322.9032,-219 322.9032,-219 328.9032,-219 334.9032,-225 334.9032,-231 334.9032,-231 334.9032,-243 334.9032,-243 334.9032,-249 328.9032,-255 322.9032,-255"/>
<text text-anchor="middle" x="290.1039" y="-232.8" font-family="Verdana" font-size="14.00" fill="#000000">VerifyHash</text> <text text-anchor="middle" x="290.1039" y="-232.8" font-family="Verdana" font-size="14.00" fill="#000000">VerifyHash</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash -->
<g id="edge30" class="edge"> <g id="edge16" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash</title>
<g id="a_edge30"><a xlink:title="at dsa_verifier.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]"> <g id="a_edge16"><a xlink:title="at dsa_verifier.go:23: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash]">
<path fill="none" stroke="#8b4513" d="M334.7627,-248.3222C355.7941,-255.1471 380.3676,-265.4032 399.3564,-280 415.9887,-292.7854 411.7697,-303.9589 427.3564,-318 431.2228,-321.483 435.5564,-324.7608 440.0218,-327.7784"/> <path fill="none" stroke="#000000" d="M102.7466,-237C136.9481,-237 193.3204,-237 235.3116,-237"/>
<polygon fill="#8b4513" stroke="#8b4513" points="438.3586,-330.8675 448.6829,-333.2465 442.0956,-324.9484 438.3586,-330.8675"/> <polygon fill="#000000" stroke="#000000" points="235.3847,-240.5001 245.3847,-237 235.3846,-233.5001 235.3847,-240.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge12" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge12"><a xlink:title="at dsa_verifier.go:45: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M334.7906,-222.5642C355.2403,-218.4145 379.322,-217.0988 399.3564,-226 416.323,-233.5382 412.961,-245.2755 427.3564,-257 431.2941,-260.2071 435.6134,-263.2928 440.0207,-266.1846"/>
<polygon fill="#8b4513" stroke="#8b4513" points="438.1899,-269.1676 448.5275,-271.4877 441.893,-263.2273 438.1899,-269.1676"/>
</a> </a>
</g> </g>
</g> </g>
@ -339,163 +339,163 @@
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge9" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge9"><a xlink:title="at dsa_verifier.go:29: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M335.2213,-219.7542C362.5031,-209.3259 397.4056,-195.9847 425.9278,-185.0823"/>
<polygon fill="#8b4513" stroke="#8b4513" points="427.2446,-188.326 435.3357,-181.4862 424.7452,-181.7874 427.2446,-188.326"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge26" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge26"><a xlink:title="at dsa_verifier.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_verifier.go:38: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M327.3238,-255.2124C339.6222,-262.5649 352.631,-271.9482 362.3564,-283 421.5565,-350.2746 456.656,-452.9544 470.9545,-502.0109"/>
<polygon fill="#8b4513" stroke="#8b4513" points="467.6668,-503.246 473.7673,-511.9082 474.4002,-501.3323 467.6668,-503.246"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify -->
<g id="node9" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify</title>
<g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify | defined in dsa_verifier.go:17&#10;at dsa_verifier.go:18: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at dsa_verifier.go:23: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash]&#10;at dsa_verifier.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M90.5229,-255C90.5229,-255 54.4533,-255 54.4533,-255 48.4533,-255 42.4533,-249 42.4533,-243 42.4533,-243 42.4533,-231 42.4533,-231 42.4533,-225 48.4533,-219 54.4533,-219 54.4533,-219 90.5229,-219 90.5229,-219 96.5229,-219 102.5229,-225 102.5229,-231 102.5229,-231 102.5229,-243 102.5229,-243 102.5229,-249 96.5229,-255 90.5229,-255"/>
<text text-anchor="middle" x="72.4881" y="-232.8" font-family="Verdana" font-size="14.00" fill="#000000">Verify</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash -->
<g id="edge10" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash</title>
<g id="a_edge10"><a xlink:title="at dsa_verifier.go:23: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash]">
<path fill="none" stroke="#000000" d="M102.7466,-237C136.9481,-237 193.3204,-237 235.3116,-237"/>
<polygon fill="#000000" stroke="#000000" points="235.3847,-240.5001 245.3847,-237 235.3846,-233.5001 235.3847,-240.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge4" class="edge"> <g id="edge3" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge4"><a xlink:title="at dsa_verifier.go:18: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge3"><a xlink:title="at dsa_verifier.go:18: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M102.7596,-230.3501C132.1116,-223.9976 177.9337,-214.332 217.8514,-207 289.2676,-193.8824 372.1092,-180.9143 424.8792,-172.9351"/> <path fill="none" stroke="#8b4513" d="M102.7596,-230.3501C132.1116,-223.9976 177.9337,-214.332 217.8514,-207 289.2676,-193.8824 372.1092,-180.9143 424.8792,-172.9351"/>
<polygon fill="#8b4513" stroke="#8b4513" points="425.653,-176.3581 435.0199,-171.4072 424.61,-169.4363 425.653,-176.3581"/> <polygon fill="#8b4513" stroke="#8b4513" points="425.653,-176.3581 435.0199,-171.4072 424.61,-169.4363 425.653,-176.3581"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge27" class="edge"> <g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).Verify&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge27"><a xlink:title="at dsa_verifier.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge4"><a xlink:title="at dsa_verifier.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M102.7886,-243.6962C132.1619,-250.132 177.9992,-260.0288 217.8514,-268 281.9183,-280.8145 310.2766,-255.5479 362.3564,-295 397.9561,-321.968 447.223,-445.7326 468.2708,-502.006"/> <path fill="none" stroke="#8b4513" d="M102.7886,-243.6962C132.1619,-250.132 177.9992,-260.0288 217.8514,-268 281.9183,-280.8145 310.2766,-255.5479 362.3564,-295 397.9561,-321.968 447.223,-445.7326 468.2708,-502.006"/>
<polygon fill="#8b4513" stroke="#8b4513" points="465.1033,-503.5311 471.8628,-511.6895 471.6664,-501.0965 465.1033,-503.5311"/> <polygon fill="#8b4513" stroke="#8b4513" points="465.1033,-503.5311 471.8628,-511.6895 471.6664,-501.0965 465.1033,-503.5311"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="node16" class="node"> <g id="edge24" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_node16"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public | defined in dsa_private_key.go:20&#10;at dsa_private_key.go:23: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at dsa_private_key.go:27: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_private_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey]"> <g id="a_edge24"><a xlink:title="at dsa_verifier.go:41: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M90.2669,-487C90.2669,-487 54.7093,-487 54.7093,-487 48.7093,-487 42.7093,-481 42.7093,-475 42.7093,-475 42.7093,-463 42.7093,-463 42.7093,-457 48.7093,-451 54.7093,-451 54.7093,-451 90.2669,-451 90.2669,-451 96.2669,-451 102.2669,-457 102.2669,-463 102.2669,-463 102.2669,-475 102.2669,-475 102.2669,-481 96.2669,-487 90.2669,-487"/> <path fill="none" stroke="#8b4513" d="M334.7627,-248.3222C355.7941,-255.1471 380.3676,-265.4032 399.3564,-280 415.9887,-292.7854 411.7697,-303.9589 427.3564,-318 431.2228,-321.483 435.5564,-324.7608 440.0218,-327.7784"/>
<text text-anchor="middle" x="72.4881" y="-464.8" font-family="Verdana" font-size="14.00" fill="#000000">Public</text> <polygon fill="#8b4513" stroke="#8b4513" points="438.3586,-330.8675 448.6829,-333.2465 442.0956,-324.9484 438.3586,-330.8675"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge21" class="edge"> <g id="edge9" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge21"><a xlink:title="at dsa_private_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey]"> <g id="a_edge9"><a xlink:title="at dsa_verifier.go:45: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#000000" d="M102.2904,-474.0671C131.2484,-478.9907 176.4049,-486.6684 215.1825,-493.2615"/> <path fill="none" stroke="#8b4513" d="M334.7906,-222.5642C355.2403,-218.4145 379.322,-217.0988 399.3564,-226 416.323,-233.5382 412.961,-245.2755 427.3564,-257 431.2941,-260.2071 435.6134,-263.2928 440.0207,-266.1846"/>
<polygon fill="#000000" stroke="#000000" points="214.964,-496.7745 225.4092,-495.0003 216.1374,-489.8736 214.964,-496.7745"/> <polygon fill="#8b4513" stroke="#8b4513" points="438.1899,-269.1676 448.5275,-271.4877 441.893,-263.2273 438.1899,-269.1676"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge7" class="edge"> <g id="edge8" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge7"><a xlink:title="at dsa_private_key.go:23: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge8"><a xlink:title="at dsa_verifier.go:29: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M102.3189,-468.976C174.4647,-468.2966 355.6635,-462.6847 399.3564,-424 435.839,-391.6992 398.182,-357.0279 427.3564,-318 430.8991,-313.2608 435.3989,-309.0949 440.2538,-305.4821"/> <path fill="none" stroke="#8b4513" d="M335.2213,-219.7542C362.5031,-209.3259 397.4056,-195.9847 425.9278,-185.0823"/>
<polygon fill="#8b4513" stroke="#8b4513" points="442.2477,-308.3596 448.6532,-299.9204 438.383,-302.5231 442.2477,-308.3596"/> <polygon fill="#8b4513" stroke="#8b4513" points="427.2446,-188.326 435.3357,-181.4862 424.7452,-181.7874 427.2446,-188.326"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge16" class="edge"> <g id="edge20" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAVerifier).VerifyHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge16"><a xlink:title="at dsa_private_key.go:27: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge20"><a xlink:title="at dsa_verifier.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_verifier.go:38: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M102.2736,-480.6885C113.6318,-485.806 126.3838,-492.3887 136.9762,-500 159.6603,-516.2999 155.485,-533.3039 180.8514,-545 217.5597,-561.9257 323.8273,-544.7734 362.3564,-557 380.592,-562.7868 380.9554,-584.2371 399.3564,-579 416.8565,-574.0193 434.27,-563.9371 448.2861,-554.2062"/> <path fill="none" stroke="#8b4513" d="M327.3238,-255.2124C339.6222,-262.5649 352.631,-271.9482 362.3564,-283 421.5565,-350.2746 456.656,-452.9544 470.9545,-502.0109"/>
<polygon fill="#8b4513" stroke="#8b4513" points="450.4871,-556.934 456.5444,-548.2415 446.3885,-551.2594 450.4871,-556.934"/> <polygon fill="#8b4513" stroke="#8b4513" points="467.6668,-503.246 473.7673,-511.9082 474.4002,-501.3323 467.6668,-503.246"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner -->
<g id="node17" class="node"> <g id="node16" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner</title>
<g id="a_node17"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner | defined in dsa_private_key.go:12&#10;at dsa_private_key.go:13: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_private_key.go:15: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey]"> <g id="a_node16"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner | defined in dsa_private_key.go:12&#10;at dsa_private_key.go:13: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_private_key.go:15: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M103.9643,-548C103.9643,-548 41.0119,-548 41.0119,-548 35.0119,-548 29.0119,-542 29.0119,-536 29.0119,-536 29.0119,-524 29.0119,-524 29.0119,-518 35.0119,-512 41.0119,-512 41.0119,-512 103.9643,-512 103.9643,-512 109.9643,-512 115.9643,-518 115.9643,-524 115.9643,-524 115.9643,-536 115.9643,-536 115.9643,-542 109.9643,-548 103.9643,-548"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M103.9643,-548C103.9643,-548 41.0119,-548 41.0119,-548 35.0119,-548 29.0119,-542 29.0119,-536 29.0119,-536 29.0119,-524 29.0119,-524 29.0119,-518 35.0119,-512 41.0119,-512 41.0119,-512 103.9643,-512 103.9643,-512 109.9643,-512 115.9643,-518 115.9643,-524 115.9643,-524 115.9643,-536 115.9643,-536 115.9643,-542 109.9643,-548 103.9643,-548"/>
<text text-anchor="middle" x="72.4881" y="-525.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSigner</text> <text text-anchor="middle" x="72.4881" y="-525.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSigner</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey -->
<g id="edge22" class="edge"> <g id="edge32" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey</title>
<g id="a_edge22"><a xlink:title="at dsa_private_key.go:15: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey]"> <g id="a_edge32"><a xlink:title="at dsa_private_key.go:15: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey]">
<path fill="none" stroke="#000000" d="M116.0029,-525.2009C144.4417,-522.0645 182.3238,-517.8866 215.4884,-514.2291"/> <path fill="none" stroke="#000000" d="M116.0029,-525.2009C144.4417,-522.0645 182.3238,-517.8866 215.4884,-514.2291"/>
<polygon fill="#000000" stroke="#000000" points="216.0577,-517.6876 225.6137,-513.1124 215.2903,-510.7298 216.0577,-517.6876"/> <polygon fill="#000000" stroke="#000000" points="216.0577,-517.6876 225.6137,-513.1124 215.2903,-510.7298 216.0577,-517.6876"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge8" class="edge"> <g id="edge14" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).NewSigner&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge8"><a xlink:title="at dsa_private_key.go:13: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge14"><a xlink:title="at dsa_private_key.go:13: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M116.0131,-541.9783C135.7047,-547.104 159.3391,-552.8509 180.8514,-557 260.8083,-572.4215 282.4056,-566.547 362.3564,-582 378.9728,-585.2116 383.337,-596.4589 399.3564,-591 420.2716,-583.8727 439.9629,-568.7308 454.4681,-555.317"/> <path fill="none" stroke="#8b4513" d="M116.0131,-541.9783C135.7047,-547.104 159.3391,-552.8509 180.8514,-557 260.8083,-572.4215 282.4056,-566.547 362.3564,-582 378.9728,-585.2116 383.337,-596.4589 399.3564,-591 420.2716,-583.8727 439.9629,-568.7308 454.4681,-555.317"/>
<polygon fill="#8b4513" stroke="#8b4513" points="457.1862,-557.559 461.9679,-548.1046 452.334,-552.5136 457.1862,-557.559"/> <polygon fill="#8b4513" stroke="#8b4513" points="457.1862,-557.559 461.9679,-548.1046 452.334,-552.5136 457.1862,-557.559"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public -->
<g id="node17" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public</title>
<g id="a_node17"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public | defined in dsa_private_key.go:20&#10;at dsa_private_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey]&#10;at dsa_private_key.go:27: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_private_key.go:23: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M90.2669,-487C90.2669,-487 54.7093,-487 54.7093,-487 48.7093,-487 42.7093,-481 42.7093,-475 42.7093,-475 42.7093,-463 42.7093,-463 42.7093,-457 48.7093,-451 54.7093,-451 54.7093,-451 90.2669,-451 90.2669,-451 96.2669,-451 102.2669,-457 102.2669,-463 102.2669,-463 102.2669,-475 102.2669,-475 102.2669,-481 96.2669,-487 90.2669,-487"/>
<text text-anchor="middle" x="72.4881" y="-464.8" font-family="Verdana" font-size="14.00" fill="#000000">Public</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey -->
<g id="edge2" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey</title>
<g id="a_edge2"><a xlink:title="at dsa_private_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPrivkey]">
<path fill="none" stroke="#000000" d="M102.2904,-474.0671C131.2484,-478.9907 176.4049,-486.6684 215.1825,-493.2615"/>
<polygon fill="#000000" stroke="#000000" points="214.964,-496.7745 225.4092,-495.0003 216.1374,-489.8736 214.964,-496.7745"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge23" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge23"><a xlink:title="at dsa_private_key.go:23: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M102.3189,-468.976C174.4647,-468.2966 355.6635,-462.6847 399.3564,-424 435.839,-391.6992 398.182,-357.0279 427.3564,-318 430.8991,-313.2608 435.3989,-309.0949 440.2538,-305.4821"/>
<polygon fill="#8b4513" stroke="#8b4513" points="442.2477,-308.3596 448.6532,-299.9204 438.383,-302.5231 442.2477,-308.3596"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge15" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Public&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge15"><a xlink:title="at dsa_private_key.go:27: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M102.2736,-480.6885C113.6318,-485.806 126.3838,-492.3887 136.9762,-500 159.6603,-516.2999 155.485,-533.3039 180.8514,-545 217.5597,-561.9257 323.8273,-544.7734 362.3564,-557 380.592,-562.7868 380.9554,-584.2371 399.3564,-579 416.8565,-574.0193 434.27,-563.9371 448.2861,-554.2062"/>
<polygon fill="#8b4513" stroke="#8b4513" points="450.4871,-556.934 456.5444,-548.2415 446.3885,-551.2594 450.4871,-556.934"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate -->
<g id="node18" class="node"> <g id="node18" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate</title>
<g id="a_node18"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate | defined in dsa_public_key.go:26&#10;at dsa_public_key.go:29: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA]&#10;at dsa_public_key.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at dsa_public_key.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at dsa_public_key.go:27: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_public_key.go:33: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_node18"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate | defined in dsa_public_key.go:26&#10;at dsa_public_key.go:27: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_public_key.go:33: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_public_key.go:29: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA]&#10;at dsa_public_key.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at dsa_public_key.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M97.5059,-426C97.5059,-426 47.4703,-426 47.4703,-426 41.4703,-426 35.4703,-420 35.4703,-414 35.4703,-414 35.4703,-402 35.4703,-402 35.4703,-396 41.4703,-390 47.4703,-390 47.4703,-390 97.5059,-390 97.5059,-390 103.5059,-390 109.5059,-396 109.5059,-402 109.5059,-402 109.5059,-414 109.5059,-414 109.5059,-420 103.5059,-426 97.5059,-426"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M97.5059,-426C97.5059,-426 47.4703,-426 47.4703,-426 41.4703,-426 35.4703,-420 35.4703,-414 35.4703,-414 35.4703,-402 35.4703,-402 35.4703,-396 41.4703,-390 47.4703,-390 47.4703,-390 97.5059,-390 97.5059,-390 103.5059,-390 109.5059,-396 109.5059,-402 109.5059,-402 109.5059,-414 109.5059,-414 109.5059,-420 103.5059,-426 97.5059,-426"/>
<text text-anchor="middle" x="72.4881" y="-403.8" font-family="Verdana" font-size="14.00" fill="#000000">Generate</text> <text text-anchor="middle" x="72.4881" y="-403.8" font-family="Verdana" font-size="14.00" fill="#000000">Generate</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA -->
<g id="edge14" class="edge"> <g id="edge11" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA</title>
<g id="a_edge14"><a xlink:title="at dsa_public_key.go:29: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA]"> <g id="a_edge11"><a xlink:title="at dsa_public_key.go:29: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.generateDSA]">
<path fill="none" stroke="#000000" d="M109.8976,-400.4361C142.9176,-393.7598 191.644,-383.9077 230.1061,-376.131"/> <path fill="none" stroke="#000000" d="M109.8976,-400.4361C142.9176,-393.7598 191.644,-383.9077 230.1061,-376.131"/>
<polygon fill="#000000" stroke="#000000" points="231.0448,-379.5121 240.1528,-374.0997 229.6575,-372.651 231.0448,-379.5121"/> <polygon fill="#000000" stroke="#000000" points="231.0448,-379.5121 240.1528,-374.0997 229.6575,-372.651 231.0448,-379.5121"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge20" class="edge"> <g id="edge22" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge20"><a xlink:title="at dsa_public_key.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge22"><a xlink:title="at dsa_public_key.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M109.6216,-411.5896C190.4143,-419.0361 376.7466,-434.102 399.3564,-417 435.8249,-389.4153 399.6617,-354.385 427.3564,-318 430.8134,-313.4582 435.1441,-309.4371 439.8135,-305.9225"/> <path fill="none" stroke="#8b4513" d="M109.6216,-411.5896C190.4143,-419.0361 376.7466,-434.102 399.3564,-417 435.8249,-389.4153 399.6617,-354.385 427.3564,-318 430.8134,-313.4582 435.1441,-309.4371 439.8135,-305.9225"/>
<polygon fill="#8b4513" stroke="#8b4513" points="442.0977,-308.6058 448.4686,-300.1404 438.2091,-302.7852 442.0977,-308.6058"/> <polygon fill="#8b4513" stroke="#8b4513" points="442.0977,-308.6058 448.4686,-300.1404 438.2091,-302.7852 442.0977,-308.6058"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge29" class="edge"> <g id="edge17" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge29"><a xlink:title="at dsa_public_key.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge17"><a xlink:title="at dsa_public_key.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M90.86,-389.6755C111.2344,-370.3043 145.8676,-340.1008 180.8514,-322 255.4902,-283.3816 282.5688,-295.3869 362.3564,-269 384.2033,-261.7749 408.0814,-253.0736 428.472,-245.394"/> <path fill="none" stroke="#8b4513" d="M90.86,-389.6755C111.2344,-370.3043 145.8676,-340.1008 180.8514,-322 255.4902,-283.3816 282.5688,-295.3869 362.3564,-269 384.2033,-261.7749 408.0814,-253.0736 428.472,-245.394"/>
<polygon fill="#8b4513" stroke="#8b4513" points="429.7638,-248.6474 437.8756,-241.8321 427.2841,-242.1013 429.7638,-248.6474"/> <polygon fill="#8b4513" stroke="#8b4513" points="429.7638,-248.6474 437.8756,-241.8321 427.2841,-242.1013 429.7638,-248.6474"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge32" class="edge"> <g id="edge10" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPrivateKey).Generate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge32"><a xlink:title="at dsa_public_key.go:27: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_public_key.go:33: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge10"><a xlink:title="at dsa_public_key.go:27: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_public_key.go:33: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M109.585,-413.5924C130.5043,-416.7171 157.1259,-420.6455 180.8514,-424 197.2819,-426.3231 201.3491,-427.2584 217.8514,-429 233.865,-430.69 349.2797,-430.6036 362.3564,-440 395.6734,-463.9403 364.8769,-501.2875 398.3564,-525 409.593,-532.9585 424.0904,-535.5182 437.6572,-535.6611"/> <path fill="none" stroke="#8b4513" d="M109.585,-413.5924C130.5043,-416.7171 157.1259,-420.6455 180.8514,-424 197.2819,-426.3231 201.3491,-427.2584 217.8514,-429 233.865,-430.69 349.2797,-430.6036 362.3564,-440 395.6734,-463.9403 364.8769,-501.2875 398.3564,-525 409.593,-532.9585 424.0904,-535.5182 437.6572,-535.6611"/>
<polygon fill="#8b4513" stroke="#8b4513" points="437.8938,-539.1555 447.781,-535.3487 437.6778,-532.1589 437.8938,-539.1555"/> <polygon fill="#8b4513" stroke="#8b4513" points="437.8938,-539.1555 447.781,-535.3487 437.6778,-532.1589 437.8938,-539.1555"/>
</a> </a>
@ -504,25 +504,25 @@
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier -->
<g id="node19" class="node"> <g id="node19" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier</title>
<g id="a_node19"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier | defined in dsa_public_key.go:18&#10;at dsa_public_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey]&#10;at dsa_public_key.go:19: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_node19"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier | defined in dsa_public_key.go:18&#10;at dsa_public_key.go:19: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at dsa_public_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M107.7151,-653C107.7151,-653 37.2611,-653 37.2611,-653 31.2611,-653 25.2611,-647 25.2611,-641 25.2611,-641 25.2611,-629 25.2611,-629 25.2611,-623 31.2611,-617 37.2611,-617 37.2611,-617 107.7151,-617 107.7151,-617 113.7151,-617 119.7151,-623 119.7151,-629 119.7151,-629 119.7151,-641 119.7151,-641 119.7151,-647 113.7151,-653 107.7151,-653"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M107.7151,-653C107.7151,-653 37.2611,-653 37.2611,-653 31.2611,-653 25.2611,-647 25.2611,-641 25.2611,-641 25.2611,-629 25.2611,-629 25.2611,-623 31.2611,-617 37.2611,-617 37.2611,-617 107.7151,-617 107.7151,-617 113.7151,-617 119.7151,-623 119.7151,-629 119.7151,-629 119.7151,-641 119.7151,-641 119.7151,-647 113.7151,-653 107.7151,-653"/>
<text text-anchor="middle" x="72.4881" y="-630.8" font-family="Verdana" font-size="14.00" fill="#000000">NewVerifier</text> <text text-anchor="middle" x="72.4881" y="-630.8" font-family="Verdana" font-size="14.00" fill="#000000">NewVerifier</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey -->
<g id="edge2" class="edge"> <g id="edge29" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey</title>
<g id="a_edge2"><a xlink:title="at dsa_public_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey]"> <g id="a_edge29"><a xlink:title="at dsa_public_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.createDSAPublicKey]">
<path fill="none" stroke="#000000" d="M119.9759,-631.9449C145.5943,-630.2968 177.9464,-628.2155 207.5431,-626.3114"/> <path fill="none" stroke="#000000" d="M119.9759,-631.9449C145.5943,-630.2968 177.9464,-628.2155 207.5431,-626.3114"/>
<polygon fill="#000000" stroke="#000000" points="208.1267,-629.7812 217.8813,-625.6463 207.6772,-622.7957 208.1267,-629.7812"/> <polygon fill="#000000" stroke="#000000" points="208.1267,-629.7812 217.8813,-625.6463 207.6772,-622.7957 208.1267,-629.7812"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge17" class="edge"> <g id="edge27" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/dsa.DSAPublicKey).NewVerifier&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge17"><a xlink:title="at dsa_public_key.go:19: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge27"><a xlink:title="at dsa_public_key.go:19: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M116.8183,-653.0778C182.9908,-676.9851 309.4316,-710.5441 399.3564,-660 437.8436,-638.3675 459.7935,-589.5828 470.3964,-558.3121"/> <path fill="none" stroke="#8b4513" d="M116.8183,-653.0778C182.9908,-676.9851 309.4316,-710.5441 399.3564,-660 437.8436,-638.3675 459.7935,-589.5828 470.3964,-558.3121"/>
<polygon fill="#8b4513" stroke="#8b4513" points="473.8404,-559.0345 473.5646,-548.4432 467.1754,-556.8947 473.8404,-559.0345"/> <polygon fill="#8b4513" stroke="#8b4513" points="473.8404,-559.0345 473.5646,-548.4432 467.1754,-556.8947 473.8404,-559.0345"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 87 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 77 KiB

View File

@ -62,57 +62,10 @@
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init -->
<g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init | defined in .:0&#10;at elg.go:16: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]&#10;at elg.go:24: calling [github.com/samber/oops.Errorf]&#10;at elg.go:25: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M92.195,-65C92.195,-65 62.195,-65 62.195,-65 56.195,-65 50.195,-59 50.195,-53 50.195,-53 50.195,-41 50.195,-41 50.195,-35 56.195,-29 62.195,-29 62.195,-29 92.195,-29 92.195,-29 98.195,-29 104.195,-35 104.195,-41 104.195,-41 104.195,-53 104.195,-53 104.195,-59 98.195,-65 92.195,-65"/>
<text text-anchor="middle" x="77.195" y="-42.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M340.5985,-113C340.5985,-113 243.2195,-113 243.2195,-113 237.2195,-113 231.2195,-107 231.2195,-101 231.2195,-101 231.2195,-89 231.2195,-89 231.2195,-83 237.2195,-77 243.2195,-77 243.2195,-77 340.5985,-77 340.5985,-77 346.5985,-77 352.5985,-83 352.5985,-89 352.5985,-89 352.5985,-101 352.5985,-101 352.5985,-107 346.5985,-113 340.5985,-113"/>
<text text-anchor="middle" x="291.909" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="291.909" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge4"><a xlink:title="at elg.go:16: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M104.3887,-53.0792C133.6208,-59.6142 181.2755,-70.2675 221.2279,-79.199"/>
<polygon fill="#8b4513" stroke="#8b4513" points="220.6808,-82.663 231.2035,-81.4291 222.208,-75.8316 220.6808,-82.663"/>
</a>
</g>
</g>
<!-- github.com/samber/oops.Errorf -->
<g id="node3" class="node">
<title>github.com/samber/oops.Errorf</title>
<g id="a_node3"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M309.1043,-52C309.1043,-52 274.7137,-52 274.7137,-52 268.7137,-52 262.7137,-46 262.7137,-40 262.7137,-40 262.7137,-28 262.7137,-28 262.7137,-22 268.7137,-16 274.7137,-16 274.7137,-16 309.1043,-16 309.1043,-16 315.1043,-16 321.1043,-22 321.1043,-28 321.1043,-28 321.1043,-40 321.1043,-40 321.1043,-46 315.1043,-52 309.1043,-52"/>
<text text-anchor="middle" x="291.909" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="291.909" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge33" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge33"><a xlink:title="at elg.go:24: calling [github.com/samber/oops.Errorf]&#10;at elg.go:25: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M104.3887,-45.3535C141.8141,-43.0876 209.4368,-38.9933 252.4318,-36.3902"/>
<polygon fill="#8b4513" stroke="#8b4513" points="252.7638,-39.8766 262.5339,-35.7785 252.3407,-32.8894 252.7638,-39.8766"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey -->
<g id="node4" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey | defined in elg_public_key.go:36&#10;at elg_public_key.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at elg_public_key.go:37: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:37: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey | defined in elg_public_key.go:36&#10;at elg_public_key.go:37: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:37: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at elg_public_key.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M361.5719,-658C361.5719,-658 222.2461,-658 222.2461,-658 216.2461,-658 210.2461,-652 210.2461,-646 210.2461,-646 210.2461,-634 210.2461,-634 210.2461,-628 216.2461,-622 222.2461,-622 222.2461,-622 361.5719,-622 361.5719,-622 367.5719,-622 373.5719,-628 373.5719,-634 373.5719,-634 373.5719,-646 373.5719,-646 373.5719,-652 367.5719,-658 361.5719,-658"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M361.5719,-658C361.5719,-658 222.2461,-658 222.2461,-658 216.2461,-658 210.2461,-652 210.2461,-646 210.2461,-646 210.2461,-634 210.2461,-634 210.2461,-628 216.2461,-622 222.2461,-622 222.2461,-622 361.5719,-622 361.5719,-622 367.5719,-622 373.5719,-628 373.5719,-634 373.5719,-634 373.5719,-646 373.5719,-646 373.5719,-652 367.5719,-658 361.5719,-658"/>
<text text-anchor="middle" x="291.909" y="-635.8" font-family="Verdana" font-size="14.00" fill="#000000">createElgamalPublicKey</text> <text text-anchor="middle" x="291.909" y="-635.8" font-family="Verdana" font-size="14.00" fill="#000000">createElgamalPublicKey</text>
</a> </a>
@ -129,18 +82,18 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge24" class="edge"> <g id="edge30" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge24"><a xlink:title="at elg_public_key.go:37: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge30"><a xlink:title="at elg_public_key.go:37: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M330.665,-621.9567C346.85,-612.5373 364.4136,-599.4981 375.428,-583 414.7517,-524.0984 399.5384,-328.8256 440.428,-271 441.9484,-268.8499 443.6695,-266.8214 445.5367,-264.9117"/> <path fill="none" stroke="#8b4513" d="M330.665,-621.9567C346.85,-612.5373 364.4136,-599.4981 375.428,-583 414.7517,-524.0984 399.5384,-328.8256 440.428,-271 441.9484,-268.8499 443.6695,-266.8214 445.5367,-264.9117"/>
<polygon fill="#8b4513" stroke="#8b4513" points="448.0922,-267.3279 453.3463,-258.1275 443.5016,-262.0433 448.0922,-267.3279"/> <polygon fill="#8b4513" stroke="#8b4513" points="448.0922,-267.3279 453.3463,-258.1275 443.5016,-262.0433 448.0922,-267.3279"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Warn --> <!-- (*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="node14" class="node"> <g id="node13" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Warn</title> <title>(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Warn | defined in log.go:30"> <g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Warn | defined in log.go:30">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M509.3037,-441C509.3037,-441 473.7711,-441 473.7711,-441 467.7711,-441 461.7711,-435 461.7711,-429 461.7711,-429 461.7711,-417 461.7711,-417 461.7711,-411 467.7711,-405 473.7711,-405 473.7711,-405 509.3037,-405 509.3037,-405 515.3037,-405 521.3037,-411 521.3037,-417 521.3037,-417 521.3037,-429 521.3037,-429 521.3037,-435 515.3037,-441 509.3037,-441"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M509.3037,-441C509.3037,-441 473.7711,-441 473.7711,-441 467.7711,-441 461.7711,-435 461.7711,-429 461.7711,-429 461.7711,-417 461.7711,-417 461.7711,-411 467.7711,-405 473.7711,-405 473.7711,-405 509.3037,-405 509.3037,-405 515.3037,-405 521.3037,-411 521.3037,-417 521.3037,-417 521.3037,-429 521.3037,-429 521.3037,-435 515.3037,-441 509.3037,-441"/>
<text text-anchor="middle" x="491.5374" y="-427.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="491.5374" y="-427.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="491.5374" y="-410.4" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text> <text text-anchor="middle" x="491.5374" y="-410.4" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text>
@ -148,9 +101,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="edge13" class="edge"> <g id="edge31" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_edge13"><a xlink:title="at elg_public_key.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]"> <g id="a_edge31"><a xlink:title="at elg_public_key.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="none" stroke="#8b4513" d="M373.5962,-636.5193C387.649,-632.8726 401.2915,-627.0606 412.428,-618 415.8807,-615.1909 459.9458,-503.5915 480.7709,-450.5119"/> <path fill="none" stroke="#8b4513" d="M373.5962,-636.5193C387.649,-632.8726 401.2915,-627.0606 412.428,-618 415.8807,-615.1909 459.9458,-503.5915 480.7709,-450.5119"/>
<polygon fill="#8b4513" stroke="#8b4513" points="484.0994,-451.6108 484.4907,-441.0232 477.5823,-449.0559 484.0994,-451.6108"/> <polygon fill="#8b4513" stroke="#8b4513" points="484.0994,-451.6108 484.4907,-441.0232 477.5823,-449.0559 484.0994,-451.6108"/>
</a> </a>
@ -167,27 +120,27 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge20" class="edge"> <g id="edge11" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge20"><a xlink:title="at elg_public_key.go:37: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge11"><a xlink:title="at elg_public_key.go:37: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M373.7047,-648.7623C386.7433,-648.6212 400.0185,-647.5538 412.428,-645 425.4836,-642.3133 439.0415,-637.3735 451.1681,-632.0762"/> <path fill="none" stroke="#8b4513" d="M373.7047,-648.7623C386.7433,-648.6212 400.0185,-647.5538 412.428,-645 425.4836,-642.3133 439.0415,-637.3735 451.1681,-632.0762"/>
<polygon fill="#8b4513" stroke="#8b4513" points="452.9102,-635.1282 460.5496,-627.7873 449.9997,-628.7619 452.9102,-635.1282"/> <polygon fill="#8b4513" stroke="#8b4513" points="452.9102,-635.1282 460.5496,-627.7873 449.9997,-628.7619 452.9102,-635.1282"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption -->
<g id="node5" class="node"> <g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption | defined in elg_encryption.go:56&#10;at elg_encryption.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:74: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at elg_encryption.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption | defined in elg_encryption.go:56&#10;at elg_encryption.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:74: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at elg_encryption.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M363.1814,-570C363.1814,-570 220.6366,-570 220.6366,-570 214.6366,-570 208.6366,-564 208.6366,-558 208.6366,-558 208.6366,-546 208.6366,-546 208.6366,-540 214.6366,-534 220.6366,-534 220.6366,-534 363.1814,-534 363.1814,-534 369.1814,-534 375.1814,-540 375.1814,-546 375.1814,-546 375.1814,-558 375.1814,-558 375.1814,-564 369.1814,-570 363.1814,-570"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M363.1814,-570C363.1814,-570 220.6366,-570 220.6366,-570 214.6366,-570 208.6366,-564 208.6366,-558 208.6366,-558 208.6366,-546 208.6366,-546 208.6366,-540 214.6366,-534 220.6366,-534 220.6366,-534 363.1814,-534 363.1814,-534 369.1814,-534 375.1814,-540 375.1814,-546 375.1814,-546 375.1814,-558 375.1814,-558 375.1814,-564 369.1814,-570 363.1814,-570"/>
<text text-anchor="middle" x="291.909" y="-547.8" font-family="Verdana" font-size="14.00" fill="#000000">createElgamalEncryption</text> <text text-anchor="middle" x="291.909" y="-547.8" font-family="Verdana" font-size="14.00" fill="#000000">createElgamalEncryption</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="node15" class="node"> <g id="node14" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_node15"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66"> <g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M520.0689,-319C520.0689,-319 463.0059,-319 463.0059,-319 457.0059,-319 451.0059,-313 451.0059,-307 451.0059,-307 451.0059,-295 451.0059,-295 451.0059,-289 457.0059,-283 463.0059,-283 463.0059,-283 520.0689,-283 520.0689,-283 526.0689,-283 532.0689,-289 532.0689,-295 532.0689,-295 532.0689,-307 532.0689,-307 532.0689,-313 526.0689,-319 520.0689,-319"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M520.0689,-319C520.0689,-319 463.0059,-319 463.0059,-319 457.0059,-319 451.0059,-313 451.0059,-307 451.0059,-307 451.0059,-295 451.0059,-295 451.0059,-289 457.0059,-283 463.0059,-283 463.0059,-283 520.0689,-283 520.0689,-283 526.0689,-283 532.0689,-289 532.0689,-295 532.0689,-295 532.0689,-307 532.0689,-307 532.0689,-313 526.0689,-319 520.0689,-319"/>
<text text-anchor="middle" x="491.5374" y="-305.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="491.5374" y="-305.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="491.5374" y="-288.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text> <text text-anchor="middle" x="491.5374" y="-288.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
@ -195,18 +148,18 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge30" class="edge"> <g id="edge13" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge30"><a xlink:title="at elg_encryption.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge13"><a xlink:title="at elg_encryption.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M359.9026,-533.8224C365.5886,-530.5153 370.8874,-526.6103 375.428,-522 438.0546,-458.4127 384.4752,-401.5321 440.428,-332 442.2578,-329.7261 444.3025,-327.5776 446.4927,-325.5545"/> <path fill="none" stroke="#8b4513" d="M359.2585,-533.8181C365.1456,-530.5089 370.6649,-526.6047 375.428,-522 407.4104,-491.0809 398.02,-471.0865 412.428,-429 426.9613,-386.5475 413.1548,-367.6315 440.428,-332 442.0562,-329.8728 443.8756,-327.8595 445.8312,-325.9586"/>
<polygon fill="#8b4513" stroke="#8b4513" points="448.8257,-328.1691 454.3993,-319.1588 444.4233,-322.7267 448.8257,-328.1691"/> <polygon fill="#8b4513" stroke="#8b4513" points="448.508,-328.2825 453.9323,-319.1816 444.0165,-322.9135 448.508,-328.2825"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="node16" class="node"> <g id="node15" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_node16"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42"> <g id="a_node15"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M509.3037,-380C509.3037,-380 473.7711,-380 473.7711,-380 467.7711,-380 461.7711,-374 461.7711,-368 461.7711,-368 461.7711,-356 461.7711,-356 461.7711,-350 467.7711,-344 473.7711,-344 473.7711,-344 509.3037,-344 509.3037,-344 515.3037,-344 521.3037,-350 521.3037,-356 521.3037,-356 521.3037,-368 521.3037,-368 521.3037,-374 515.3037,-380 509.3037,-380"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M509.3037,-380C509.3037,-380 473.7711,-380 473.7711,-380 467.7711,-380 461.7711,-374 461.7711,-368 461.7711,-368 461.7711,-356 461.7711,-356 461.7711,-350 467.7711,-344 473.7711,-344 473.7711,-344 509.3037,-344 509.3037,-344 515.3037,-344 521.3037,-350 521.3037,-356 521.3037,-356 521.3037,-368 521.3037,-368 521.3037,-374 515.3037,-380 509.3037,-380"/>
<text text-anchor="middle" x="491.5374" y="-366.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="491.5374" y="-366.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="491.5374" y="-349.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text> <text text-anchor="middle" x="491.5374" y="-349.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
@ -214,36 +167,54 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge31" class="edge"> <g id="edge35" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge31"><a xlink:title="at elg_encryption.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge35"><a xlink:title="at elg_encryption.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M375.0847,-535.3968C389.0816,-529.3773 402.3221,-521.1754 412.428,-510 448.2904,-470.342 408.9171,-436.1964 440.428,-393 443.9151,-388.2198 448.3841,-384.0311 453.2246,-380.4077"/> <path fill="none" stroke="#8b4513" d="M375.0847,-535.3968C389.0816,-529.3773 402.3221,-521.1754 412.428,-510 448.2904,-470.342 408.9171,-436.1964 440.428,-393 443.9151,-388.2198 448.3841,-384.0311 453.2246,-380.4077"/>
<polygon fill="#8b4513" stroke="#8b4513" points="455.2183,-383.2852 461.614,-374.8386 451.3468,-377.4533 455.2183,-383.2852"/> <polygon fill="#8b4513" stroke="#8b4513" points="455.2183,-383.2852 461.614,-374.8386 451.3468,-377.4533 455.2183,-383.2852"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge5" class="edge"> <g id="edge12" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge5"><a xlink:title="at elg_encryption.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:74: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge12"><a xlink:title="at elg_encryption.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:74: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M352.8888,-570.0225C384.6485,-579.4091 422.6227,-590.6323 450.7926,-598.9579"/> <path fill="none" stroke="#8b4513" d="M352.8888,-570.0225C384.6485,-579.4091 422.6227,-590.6323 450.7926,-598.9579"/>
<polygon fill="#8b4513" stroke="#8b4513" points="450.1157,-602.4075 460.6977,-601.8853 452.0998,-595.6945 450.1157,-602.4075"/> <polygon fill="#8b4513" stroke="#8b4513" points="450.1157,-602.4075 460.6977,-601.8853 452.0998,-595.6945 450.1157,-602.4075"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt -->
<g id="node6" class="node"> <g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt | defined in elg.go:52&#10;at elg.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at elg.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:79: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:83: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at elg.go:83: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt | defined in elg.go:52&#10;at elg.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:79: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:83: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at elg.go:83: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at elg.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M336.8123,-333C336.8123,-333 247.0057,-333 247.0057,-333 241.0057,-333 235.0057,-327 235.0057,-321 235.0057,-321 235.0057,-309 235.0057,-309 235.0057,-303 241.0057,-297 247.0057,-297 247.0057,-297 336.8123,-297 336.8123,-297 342.8123,-297 348.8123,-303 348.8123,-309 348.8123,-309 348.8123,-321 348.8123,-321 348.8123,-327 342.8123,-333 336.8123,-333"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M336.8123,-333C336.8123,-333 247.0057,-333 247.0057,-333 241.0057,-333 235.0057,-327 235.0057,-321 235.0057,-321 235.0057,-309 235.0057,-309 235.0057,-303 241.0057,-297 247.0057,-297 247.0057,-297 336.8123,-297 336.8123,-297 342.8123,-297 348.8123,-303 348.8123,-309 348.8123,-309 348.8123,-321 348.8123,-321 348.8123,-327 342.8123,-333 336.8123,-333"/>
<text text-anchor="middle" x="291.909" y="-310.8" font-family="Verdana" font-size="14.00" fill="#000000">elgamalDecrypt</text> <text text-anchor="middle" x="291.909" y="-310.8" font-family="Verdana" font-size="14.00" fill="#000000">elgamalDecrypt</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge6"><a xlink:title="at elg.go:83: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M344.8155,-296.8302C355.592,-291.7279 366.3854,-285.4805 375.428,-278 397.0866,-260.0828 386.5295,-239.0456 411.428,-226 432.5037,-214.9573 423.3878,-254.3941 440.428,-271 442.535,-273.0533 444.8089,-275.0221 447.1861,-276.8998"/>
<polygon fill="#8b4513" stroke="#8b4513" points="445.4103,-279.9334 455.5746,-282.9228 449.4929,-274.2473 445.4103,-279.9334"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge14" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge14"><a xlink:title="at elg.go:83: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M336.8874,-296.9443C349.5909,-291.3462 363.2618,-284.8374 375.428,-278 392.7293,-268.2767 396.2191,-241.548 412.428,-253 442.8519,-274.4952 416.7072,-303.2775 440.428,-332 443.9905,-336.3137 448.3454,-340.1483 452.9954,-343.5128"/>
<polygon fill="#8b4513" stroke="#8b4513" points="451.279,-346.571 461.5766,-349.0631 455.0807,-340.6932 451.279,-346.571"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- (*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="node13" class="node"> <g id="node16" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60"> <g id="a_node16"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithFields | defined in log.go:60">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M522.7565,-197C522.7565,-197 460.3183,-197 460.3183,-197 454.3183,-197 448.3183,-191 448.3183,-185 448.3183,-185 448.3183,-173 448.3183,-173 448.3183,-167 454.3183,-161 460.3183,-161 460.3183,-161 522.7565,-161 522.7565,-161 528.7565,-161 534.7565,-167 534.7565,-173 534.7565,-173 534.7565,-185 534.7565,-185 534.7565,-191 528.7565,-197 522.7565,-197"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M522.7565,-197C522.7565,-197 460.3183,-197 460.3183,-197 454.3183,-197 448.3183,-191 448.3183,-185 448.3183,-185 448.3183,-173 448.3183,-173 448.3183,-167 454.3183,-161 460.3183,-161 460.3183,-161 522.7565,-161 522.7565,-161 528.7565,-161 534.7565,-167 534.7565,-173 534.7565,-173 534.7565,-185 534.7565,-185 534.7565,-191 528.7565,-197 522.7565,-197"/>
<text text-anchor="middle" x="491.5374" y="-183.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="491.5374" y="-183.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="491.5374" y="-166.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text> <text text-anchor="middle" x="491.5374" y="-166.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
@ -251,113 +222,142 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge2" class="edge"> <g id="edge19" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge2"><a xlink:title="at elg.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge19"><a xlink:title="at elg.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M312.1237,-296.8667C335.166,-276.7001 374.4393,-243.8298 411.428,-220 421.4837,-213.5217 432.6899,-207.2511 443.4591,-201.6435"/> <path fill="none" stroke="#8b4513" d="M312.1237,-296.8667C335.166,-276.7001 374.4393,-243.8298 411.428,-220 421.4837,-213.5217 432.6899,-207.2511 443.4591,-201.6435"/>
<polygon fill="#8b4513" stroke="#8b4513" points="445.0502,-204.761 452.3676,-197.099 441.8692,-198.5255 445.0502,-204.761"/> <polygon fill="#8b4513" stroke="#8b4513" points="445.0502,-204.761 452.3676,-197.099 441.8692,-198.5255 445.0502,-204.761"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge21" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge21"><a xlink:title="at elg.go:83: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M344.8155,-296.8302C355.592,-291.7279 366.3854,-285.4805 375.428,-278 397.0866,-260.0828 386.5295,-239.0456 411.428,-226 432.5037,-214.9573 423.3878,-254.3941 440.428,-271 442.535,-273.0533 444.8089,-275.0221 447.1861,-276.8998"/>
<polygon fill="#8b4513" stroke="#8b4513" points="445.4103,-279.9334 455.5746,-282.9228 449.4929,-274.2473 445.4103,-279.9334"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge22" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge22"><a xlink:title="at elg.go:83: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M336.8874,-296.9443C349.5909,-291.3462 363.2618,-284.8374 375.428,-278 392.7293,-268.2767 396.2191,-241.548 412.428,-253 442.8519,-274.4952 416.7072,-303.2775 440.428,-332 443.9905,-336.3137 448.3454,-340.1483 452.9954,-343.5128"/>
<polygon fill="#8b4513" stroke="#8b4513" points="451.279,-346.571 461.5766,-349.0631 455.0807,-340.6932 451.279,-346.571"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge3" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge3"><a xlink:title="at elg.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:79: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge2"><a xlink:title="at elg.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:79: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M325.9028,-333.0997C342.425,-343.1697 361.6382,-356.9189 375.428,-373 431.6091,-438.5158 467.8306,-535.9263 483.1549,-583.2245"/> <path fill="none" stroke="#8b4513" d="M325.9028,-333.0997C342.425,-343.1697 361.6382,-356.9189 375.428,-373 431.6091,-438.5158 467.8306,-535.9263 483.1549,-583.2245"/>
<polygon fill="#8b4513" stroke="#8b4513" points="479.8306,-584.3204 486.1902,-592.7942 486.503,-582.204 479.8306,-584.3204"/> <polygon fill="#8b4513" stroke="#8b4513" points="479.8306,-584.3204 486.1902,-592.7942 486.503,-582.204 479.8306,-584.3204"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init -->
<g id="node7" class="node"> <g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init</title>
<g id="a_node7"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey | defined in elg_private_key.go:28&#10;at elg_private_key.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at elg_private_key.go:29: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at elg_private_key.go:29: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_private_key.go:41: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init | defined in .:0&#10;at elg.go:24: calling [github.com/samber/oops.Errorf]&#10;at elg.go:25: calling [github.com/samber/oops.Errorf]&#10;at elg.go:16: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M363.447,-509C363.447,-509 220.371,-509 220.371,-509 214.371,-509 208.371,-503 208.371,-497 208.371,-497 208.371,-485 208.371,-485 208.371,-479 214.371,-473 220.371,-473 220.371,-473 363.447,-473 363.447,-473 369.447,-473 375.447,-479 375.447,-485 375.447,-485 375.447,-497 375.447,-497 375.447,-503 369.447,-509 363.447,-509"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M92.195,-65C92.195,-65 62.195,-65 62.195,-65 56.195,-65 50.195,-59 50.195,-53 50.195,-53 50.195,-41 50.195,-41 50.195,-35 56.195,-29 62.195,-29 62.195,-29 92.195,-29 92.195,-29 98.195,-29 104.195,-35 104.195,-41 104.195,-41 104.195,-53 104.195,-53 104.195,-59 98.195,-65 92.195,-65"/>
<text text-anchor="middle" x="291.909" y="-486.8" font-family="Verdana" font-size="14.00" fill="#000000">createElgamalPrivateKey</text> <text text-anchor="middle" x="77.195" y="-42.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge17" class="edge"> <g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge17"><a xlink:title="at elg_private_key.go:29: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_node5"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="none" stroke="#8b4513" d="M328.0967,-472.76C344.3496,-463.0823 362.6919,-449.8893 375.428,-434 424.2069,-373.1445 390.0343,-330.5251 440.428,-271 442.3453,-268.7352 444.472,-266.5896 446.7373,-264.5648"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M340.5985,-113C340.5985,-113 243.2195,-113 243.2195,-113 237.2195,-113 231.2195,-107 231.2195,-101 231.2195,-101 231.2195,-89 231.2195,-89 231.2195,-83 237.2195,-77 243.2195,-77 243.2195,-77 340.5985,-77 340.5985,-77 346.5985,-77 352.5985,-83 352.5985,-89 352.5985,-89 352.5985,-101 352.5985,-101 352.5985,-107 346.5985,-113 340.5985,-113"/>
<polygon fill="#8b4513" stroke="#8b4513" points="449.1873,-267.0901 454.8706,-258.1485 444.8517,-261.5943 449.1873,-267.0901"/> <text text-anchor="middle" x="291.909" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="291.909" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge10" class="edge"> <g id="edge8" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge10"><a xlink:title="at elg_private_key.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]"> <g id="a_edge8"><a xlink:title="at elg.go:16: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M344.8816,-472.9558C378.5477,-461.488 421.4083,-446.8883 452.086,-436.4384"/> <path fill="none" stroke="#8b4513" d="M104.3887,-53.0792C133.6208,-59.6142 181.2755,-70.2675 221.2279,-79.199"/>
<polygon fill="#8b4513" stroke="#8b4513" points="453.2538,-439.7382 461.5911,-433.2007 450.9967,-433.1121 453.2538,-439.7382"/> <polygon fill="#8b4513" stroke="#8b4513" points="220.6808,-82.663 231.2035,-81.4291 222.208,-75.8316 220.6808,-82.663"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/samber/oops.Errorf -->
<g id="edge18" class="edge"> <g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/samber/oops.Errorf</title>
<g id="a_edge18"><a xlink:title="at elg_private_key.go:29: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_private_key.go:41: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_node6"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="none" stroke="#8b4513" d="M347.757,-509.0792C357.2115,-512.8829 366.7636,-517.2136 375.428,-522 408.0984,-540.0478 441.5208,-566.7025 464.0665,-586.1356"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M309.1043,-52C309.1043,-52 274.7137,-52 274.7137,-52 268.7137,-52 262.7137,-46 262.7137,-40 262.7137,-40 262.7137,-28 262.7137,-28 262.7137,-22 268.7137,-16 274.7137,-16 274.7137,-16 309.1043,-16 309.1043,-16 315.1043,-16 321.1043,-22 321.1043,-28 321.1043,-28 321.1043,-40 321.1043,-40 321.1043,-46 315.1043,-52 309.1043,-52"/>
<polygon fill="#8b4513" stroke="#8b4513" points="462.0243,-588.9988 471.8591,-592.9391 466.6281,-583.7258 462.0243,-588.9988"/> <text text-anchor="middle" x="291.909" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="291.909" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.init&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge3"><a xlink:title="at elg.go:24: calling [github.com/samber/oops.Errorf]&#10;at elg.go:25: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M104.3887,-45.3535C141.8141,-43.0876 209.4368,-38.9933 252.4318,-36.3902"/>
<polygon fill="#8b4513" stroke="#8b4513" points="252.7638,-39.8766 262.5339,-35.7785 252.3407,-32.8894 252.7638,-39.8766"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate -->
<g id="node8" class="node"> <g id="node7" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate</title>
<g id="a_node8"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate | defined in elg.go:33&#10;at elg.go:34: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at elg.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_node7"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate | defined in elg.go:33&#10;at elg.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at elg.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at elg.go:34: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M340.5789,-421C340.5789,-421 243.2391,-421 243.2391,-421 237.2391,-421 231.2391,-415 231.2391,-409 231.2391,-409 231.2391,-397 231.2391,-397 231.2391,-391 237.2391,-385 243.2391,-385 243.2391,-385 340.5789,-385 340.5789,-385 346.5789,-385 352.5789,-391 352.5789,-397 352.5789,-397 352.5789,-409 352.5789,-409 352.5789,-415 346.5789,-421 340.5789,-421"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M340.5789,-421C340.5789,-421 243.2391,-421 243.2391,-421 237.2391,-421 231.2391,-415 231.2391,-409 231.2391,-409 231.2391,-397 231.2391,-397 231.2391,-391 237.2391,-385 243.2391,-385 243.2391,-385 340.5789,-385 340.5789,-385 346.5789,-385 352.5789,-391 352.5789,-397 352.5789,-397 352.5789,-409 352.5789,-409 352.5789,-415 346.5789,-421 340.5789,-421"/>
<text text-anchor="middle" x="291.909" y="-398.8" font-family="Verdana" font-size="14.00" fill="#000000">ElgamalGenerate</text> <text text-anchor="middle" x="291.909" y="-398.8" font-family="Verdana" font-size="14.00" fill="#000000">ElgamalGenerate</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge35" class="edge"> <g id="edge25" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge35"><a xlink:title="at elg.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge25"><a xlink:title="at elg.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M334.7545,-384.9353C347.9216,-379.1394 362.3783,-372.5255 375.428,-366 401.3971,-353.0141 429.8533,-337.1119 452.0951,-324.287"/> <path fill="none" stroke="#8b4513" d="M334.7545,-384.9353C347.9216,-379.1394 362.3783,-372.5255 375.428,-366 401.3971,-353.0141 429.8533,-337.1119 452.0951,-324.287"/>
<polygon fill="#8b4513" stroke="#8b4513" points="454.015,-327.2197 460.9117,-319.177 450.5048,-321.1634 454.015,-327.2197"/> <polygon fill="#8b4513" stroke="#8b4513" points="454.015,-327.2197 460.9117,-319.177 450.5048,-321.1634 454.015,-327.2197"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge26" class="edge"> <g id="edge23" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge26"><a xlink:title="at elg.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge23"><a xlink:title="at elg.go:46: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M332.4796,-384.8936C355.1966,-375.7451 384.3274,-365.6231 411.428,-361 411.8661,-360.9253 411.9836,-360.9972 412.428,-361 425.09,-361.08 438.8914,-361.2321 451.3695,-361.3939"/> <path fill="none" stroke="#8b4513" d="M332.4796,-384.8936C355.1966,-375.7451 384.3274,-365.6231 411.428,-361 411.8661,-360.9253 411.9836,-360.9972 412.428,-361 425.09,-361.08 438.8914,-361.2321 451.3695,-361.3939"/>
<polygon fill="#8b4513" stroke="#8b4513" points="451.4394,-364.8951 461.4859,-361.5308 451.5342,-357.8957 451.4394,-364.8951"/> <polygon fill="#8b4513" stroke="#8b4513" points="451.4394,-364.8951 461.4859,-361.5308 451.5342,-357.8957 451.4394,-364.8951"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge11" class="edge"> <g id="edge27" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalGenerate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge11"><a xlink:title="at elg.go:34: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge27"><a xlink:title="at elg.go:34: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M322.5658,-421.0829C339.1387,-431.6209 359.4262,-445.8053 375.428,-461 415.8556,-499.3885 453.5893,-552.6003 474.513,-584.2432"/> <path fill="none" stroke="#8b4513" d="M322.5658,-421.0829C339.1387,-431.6209 359.4262,-445.8053 375.428,-461 415.8556,-499.3885 453.5893,-552.6003 474.513,-584.2432"/>
<polygon fill="#8b4513" stroke="#8b4513" points="471.8027,-586.4937 480.2044,-592.9484 477.6616,-582.6632 471.8027,-586.4937"/> <polygon fill="#8b4513" stroke="#8b4513" points="471.8027,-586.4937 480.2044,-592.9484 477.6616,-582.6632 471.8027,-586.4937"/>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey -->
<g id="node8" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey</title>
<g id="a_node8"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey | defined in elg_private_key.go:28&#10;at elg_private_key.go:29: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_private_key.go:41: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_private_key.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at elg_private_key.go:29: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M363.447,-509C363.447,-509 220.371,-509 220.371,-509 214.371,-509 208.371,-503 208.371,-497 208.371,-497 208.371,-485 208.371,-485 208.371,-479 214.371,-473 220.371,-473 220.371,-473 363.447,-473 363.447,-473 369.447,-473 375.447,-479 375.447,-485 375.447,-485 375.447,-497 375.447,-497 375.447,-503 369.447,-509 363.447,-509"/>
<text text-anchor="middle" x="291.909" y="-486.8" font-family="Verdana" font-size="14.00" fill="#000000">createElgamalPrivateKey</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge24" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge24"><a xlink:title="at elg_private_key.go:29: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M328.0967,-472.76C344.3496,-463.0823 362.6919,-449.8893 375.428,-434 424.2069,-373.1445 390.0343,-330.5251 440.428,-271 442.3453,-268.7352 444.472,-266.5896 446.7373,-264.5648"/>
<polygon fill="#8b4513" stroke="#8b4513" points="449.1873,-267.0901 454.8706,-258.1485 444.8517,-261.5943 449.1873,-267.0901"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="edge20" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_edge20"><a xlink:title="at elg_private_key.go:43: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="none" stroke="#8b4513" d="M344.8816,-472.9558C378.5477,-461.488 421.4083,-446.8883 452.086,-436.4384"/>
<polygon fill="#8b4513" stroke="#8b4513" points="453.2538,-439.7382 461.5911,-433.2007 450.9967,-433.1121 453.2538,-439.7382"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge16" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge16"><a xlink:title="at elg_private_key.go:29: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_private_key.go:41: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M347.757,-509.0792C357.2115,-512.8829 366.7636,-517.2136 375.428,-522 408.0984,-540.0478 441.5208,-566.7025 464.0665,-586.1356"/>
<polygon fill="#8b4513" stroke="#8b4513" points="462.0243,-588.9988 471.8591,-592.9391 466.6281,-583.7258 462.0243,-588.9988"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt</title>
@ -370,61 +370,61 @@
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding</title>
<g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding | defined in elg_encryption.go:21&#10;at elg_encryption.go:25: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:51: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at elg_encryption.go:51: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding | defined in elg_encryption.go:21&#10;at elg_encryption.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at elg_encryption.go:25: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:51: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:51: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M337.1154,-191C337.1154,-191 246.7026,-191 246.7026,-191 240.7026,-191 234.7026,-185 234.7026,-179 234.7026,-179 234.7026,-167 234.7026,-167 234.7026,-161 240.7026,-155 246.7026,-155 246.7026,-155 337.1154,-155 337.1154,-155 343.1154,-155 349.1154,-161 349.1154,-167 349.1154,-167 349.1154,-179 349.1154,-179 349.1154,-185 343.1154,-191 337.1154,-191"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M337.1154,-191C337.1154,-191 246.7026,-191 246.7026,-191 240.7026,-191 234.7026,-185 234.7026,-179 234.7026,-179 234.7026,-167 234.7026,-167 234.7026,-161 240.7026,-155 246.7026,-155 246.7026,-155 337.1154,-155 337.1154,-155 343.1154,-155 349.1154,-161 349.1154,-167 349.1154,-167 349.1154,-179 349.1154,-179 349.1154,-185 343.1154,-191 337.1154,-191"/>
<text text-anchor="middle" x="291.909" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">EncryptPadding</text> <text text-anchor="middle" x="291.909" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">EncryptPadding</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding -->
<g id="edge1" class="edge"> <g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding</title>
<g id="a_edge1"><a xlink:title="at elg_encryption.go:18: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding]"> <g id="a_edge4"><a xlink:title="at elg_encryption.go:18: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding]">
<path fill="none" stroke="#000000" d="M111.6925,-173C141.9241,-173 186.7505,-173 224.1322,-173"/> <path fill="none" stroke="#000000" d="M111.6925,-173C141.9241,-173 186.7505,-173 224.1322,-173"/>
<polygon fill="#000000" stroke="#000000" points="224.46,-176.5001 234.46,-173 224.4599,-169.5001 224.46,-176.5001"/> <polygon fill="#000000" stroke="#000000" points="224.46,-176.5001 234.46,-173 224.4599,-169.5001 224.46,-176.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge12" class="edge"> <g id="edge22" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge12"><a xlink:title="at elg_encryption.go:17: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge22"><a xlink:title="at elg_encryption.go:17: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M111.4252,-189.6674C170.6538,-215.8601 293.7385,-258.3624 375.428,-204 410.0683,-180.9477 378.9955,-93.2285 412.428,-118 446.7693,-143.4449 413.9629,-176.4386 440.428,-210 441.8774,-211.838 443.4728,-213.5862 445.1768,-215.2462"/> <path fill="none" stroke="#8b4513" d="M111.4252,-189.6674C170.6538,-215.8601 293.7385,-258.3624 375.428,-204 410.0683,-180.9477 378.9955,-93.2285 412.428,-118 446.7693,-143.4449 413.9629,-176.4386 440.428,-210 441.8774,-211.838 443.4728,-213.5862 445.1768,-215.2462"/>
<polygon fill="#8b4513" stroke="#8b4513" points="443.3068,-218.2442 453.2276,-221.9628 447.7911,-212.8691 443.3068,-218.2442"/> <polygon fill="#8b4513" stroke="#8b4513" points="443.3068,-218.2442 453.2276,-221.9628 447.7911,-212.8691 443.3068,-218.2442"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge27" class="edge"> <g id="edge29" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).Encrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge27"><a xlink:title="at elg_encryption.go:17: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge29"><a xlink:title="at elg_encryption.go:17: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M94.3203,-191.1199C108.462,-207.1624 127.8607,-231.8721 138.39,-257 212.0347,-432.7508 65.2075,-554.2595 208.39,-680 216.9124,-687.4842 401.9063,-691.2352 412.428,-687 437.1766,-677.0382 458.5272,-655.2233 472.7885,-637.5095"/> <path fill="none" stroke="#8b4513" d="M94.3203,-191.1199C108.462,-207.1624 127.8607,-231.8721 138.39,-257 212.0347,-432.7508 65.2075,-554.2595 208.39,-680 216.9124,-687.4842 401.9063,-691.2352 412.428,-687 437.1766,-677.0382 458.5272,-655.2233 472.7885,-637.5095"/>
<polygon fill="#8b4513" stroke="#8b4513" points="475.8555,-639.2649 479.2038,-629.213 470.3179,-634.9829 475.8555,-639.2649"/> <polygon fill="#8b4513" stroke="#8b4513" points="475.8555,-639.2649 479.2038,-629.213 470.3179,-634.9829 475.8555,-639.2649"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge29" class="edge"> <g id="edge17" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge29"><a xlink:title="at elg_encryption.go:51: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge17"><a xlink:title="at elg_encryption.go:51: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M349.3201,-165.3919C358.8135,-162.1265 367.9749,-157.5107 375.428,-151 407.0726,-123.3568 380.0392,-37.2325 412.428,-64 463.3576,-106.0904 402.3213,-156.0249 440.428,-210 441.7298,-211.8439 443.1838,-213.592 444.7543,-215.2474"/> <path fill="none" stroke="#8b4513" d="M349.3201,-165.3919C358.8135,-162.1265 367.9749,-157.5107 375.428,-151 407.0726,-123.3568 380.0392,-37.2325 412.428,-64 463.3576,-106.0904 402.3213,-156.0249 440.428,-210 441.7298,-211.8439 443.1838,-213.592 444.7543,-215.2474"/>
<polygon fill="#8b4513" stroke="#8b4513" points="442.4726,-217.9019 452.2763,-221.9192 447.1176,-212.6651 442.4726,-217.9019"/> <polygon fill="#8b4513" stroke="#8b4513" points="442.4726,-217.9019 452.2763,-221.9192 447.1176,-212.6651 442.4726,-217.9019"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge28" class="edge"> <g id="edge9" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge28"><a xlink:title="at elg_encryption.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge9"><a xlink:title="at elg_encryption.go:22: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M349.367,-166.064C358.9677,-162.7397 368.1547,-157.9301 375.428,-151 413.9934,-114.2544 366.5014,-10.0133 412.428,-37 454.3226,-61.6175 475.6491,-117.3601 485.1229,-151.2208"/> <path fill="none" stroke="#8b4513" d="M349.367,-166.064C358.9677,-162.7397 368.1547,-157.9301 375.428,-151 413.9934,-114.2544 366.5014,-10.0133 412.428,-37 454.3226,-61.6175 475.6491,-117.3601 485.1229,-151.2208"/>
<polygon fill="#8b4513" stroke="#8b4513" points="481.7589,-152.1905 487.6921,-160.9682 488.5277,-150.4063 481.7589,-152.1905"/> <polygon fill="#8b4513" stroke="#8b4513" points="481.7589,-152.1905 487.6921,-160.9682 488.5277,-150.4063 481.7589,-152.1905"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge19" class="edge"> <g id="edge10" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgamalEncryption).EncryptPadding&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge19"><a xlink:title="at elg_encryption.go:25: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:51: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge10"><a xlink:title="at elg_encryption.go:25: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_encryption.go:51: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M349.028,-165.048C358.5511,-161.8177 367.7981,-157.3026 375.428,-151 404.0845,-127.3286 385.1946,-50.7043 412.428,-76 443.3666,-104.7372 432.2388,-413.5758 440.428,-455 449.5155,-500.9681 468.0116,-552.237 480.0827,-583.0372"/> <path fill="none" stroke="#8b4513" d="M349.028,-165.048C358.5511,-161.8177 367.7981,-157.3026 375.428,-151 404.0845,-127.3286 385.1946,-50.7043 412.428,-76 443.3666,-104.7372 432.2388,-413.5758 440.428,-455 449.5155,-500.9681 468.0116,-552.237 480.0827,-583.0372"/>
<polygon fill="#8b4513" stroke="#8b4513" points="476.9614,-584.6602 483.9072,-592.6606 483.4665,-582.0749 476.9614,-584.6602"/> <polygon fill="#8b4513" stroke="#8b4513" points="476.9614,-584.6602 483.9072,-592.6606 483.4665,-582.0749 476.9614,-584.6602"/>
</a> </a>
@ -433,7 +433,7 @@
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt</title>
<g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt | defined in elg_decrypter.go:9&#10;at elg_decrypter.go:10: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at elg_decrypter.go:15: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at elg_decrypter.go:10: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_decrypter.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_decrypter.go:13: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at elg_decrypter.go:13: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at elg_decrypter.go:11: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt]"> <g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt | defined in elg_decrypter.go:9&#10;at elg_decrypter.go:10: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at elg_decrypter.go:15: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at elg_decrypter.go:13: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at elg_decrypter.go:13: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at elg_decrypter.go:10: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_decrypter.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_decrypter.go:11: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgamalDecrypt]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M99.7821,-333C99.7821,-333 54.6079,-333 54.6079,-333 48.6079,-333 42.6079,-327 42.6079,-321 42.6079,-321 42.6079,-309 42.6079,-309 42.6079,-303 48.6079,-297 54.6079,-297 54.6079,-297 99.7821,-297 99.7821,-297 105.7821,-297 111.7821,-303 111.7821,-309 111.7821,-309 111.7821,-321 111.7821,-321 111.7821,-327 105.7821,-333 99.7821,-333"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M99.7821,-333C99.7821,-333 54.6079,-333 54.6079,-333 48.6079,-333 42.6079,-327 42.6079,-321 42.6079,-321 42.6079,-309 42.6079,-309 42.6079,-303 48.6079,-297 54.6079,-297 54.6079,-297 99.7821,-297 99.7821,-297 105.7821,-297 111.7821,-303 111.7821,-309 111.7821,-309 111.7821,-321 111.7821,-321 111.7821,-327 105.7821,-333 99.7821,-333"/>
<text text-anchor="middle" x="77.195" y="-310.8" font-family="Verdana" font-size="14.00" fill="#000000">Decrypt</text> <text text-anchor="middle" x="77.195" y="-310.8" font-family="Verdana" font-size="14.00" fill="#000000">Decrypt</text>
</a> </a>
@ -449,36 +449,36 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge7" class="edge"> <g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge7"><a xlink:title="at elg_decrypter.go:10: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at elg_decrypter.go:15: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge1"><a xlink:title="at elg_decrypter.go:10: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at elg_decrypter.go:15: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M106.2702,-296.9772C132.1256,-281.7933 171.4509,-260.724 208.39,-249 279.9387,-226.2913 314.7993,-268.2613 375.428,-224 404.6457,-202.67 380.7079,-170.1029 411.428,-151 436.2406,-135.5706 420.6927,-188.4536 440.428,-210 442.2218,-211.9584 444.1735,-213.8269 446.233,-215.6037"/> <path fill="none" stroke="#8b4513" d="M106.2702,-296.9772C132.1256,-281.7933 171.4509,-260.724 208.39,-249 279.9387,-226.2913 314.7993,-268.2613 375.428,-224 404.6457,-202.67 380.7079,-170.1029 411.428,-151 436.2406,-135.5706 420.6927,-188.4536 440.428,-210 442.2218,-211.9584 444.1735,-213.8269 446.233,-215.6037"/>
<polygon fill="#8b4513" stroke="#8b4513" points="444.5334,-218.7097 454.6049,-221.9985 448.7825,-213.1469 444.5334,-218.7097"/> <polygon fill="#8b4513" stroke="#8b4513" points="444.5334,-218.7097 454.6049,-221.9985 448.7825,-213.1469 444.5334,-218.7097"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge9" class="edge"> <g id="edge15" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge9"><a xlink:title="at elg_decrypter.go:13: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge15"><a xlink:title="at elg_decrypter.go:13: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M111.9261,-303.2223C138.1709,-294.679 175.2202,-283.3741 208.39,-276 281.667,-259.7095 316.9083,-298.0143 375.428,-251 410.3038,-222.981 374.569,-182.3534 411.428,-157 454.5022,-127.3715 409.1885,-229.0795 440.428,-271 441.8017,-272.8434 443.3249,-274.5935 444.9611,-276.2526"/> <path fill="none" stroke="#8b4513" d="M111.9261,-303.2223C138.1709,-294.679 175.2202,-283.3741 208.39,-276 281.667,-259.7095 316.9083,-298.0143 375.428,-251 410.3038,-222.981 374.569,-182.3534 411.428,-157 454.5022,-127.3715 409.1885,-229.0795 440.428,-271 441.8017,-272.8434 443.3249,-274.5935 444.9611,-276.2526"/>
<polygon fill="#8b4513" stroke="#8b4513" points="442.8823,-279.0812 452.7452,-282.9509 447.4482,-273.7752 442.8823,-279.0812"/> <polygon fill="#8b4513" stroke="#8b4513" points="442.8823,-279.0812 452.7452,-282.9509 447.4482,-273.7752 442.8823,-279.0812"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge25" class="edge"> <g id="edge7" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge25"><a xlink:title="at elg_decrypter.go:13: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge7"><a xlink:title="at elg_decrypter.go:13: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M84.2418,-333.1446C96.7234,-362.4034 125.7822,-419.0438 171.39,-442 191.6403,-452.1928 354.8312,-451.4732 375.428,-442 397.7642,-431.7268 391.8938,-414.9285 411.428,-400 423.7503,-390.583 438.7814,-382.6925 452.4806,-376.5856"/> <path fill="none" stroke="#8b4513" d="M84.2418,-333.1446C96.7234,-362.4034 125.7822,-419.0438 171.39,-442 191.6403,-452.1928 354.8312,-451.4732 375.428,-442 397.7642,-431.7268 391.8938,-414.9285 411.428,-400 423.7503,-390.583 438.7814,-382.6925 452.4806,-376.5856"/>
<polygon fill="#8b4513" stroke="#8b4513" points="453.8814,-379.7933 461.7022,-372.6459 451.1312,-373.3561 453.8814,-379.7933"/> <polygon fill="#8b4513" stroke="#8b4513" points="453.8814,-379.7933 461.7022,-372.6459 451.1312,-373.3561 453.8814,-379.7933"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge8" class="edge"> <g id="edge18" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.elgDecrypter).Decrypt&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge8"><a xlink:title="at elg_decrypter.go:10: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_decrypter.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge18"><a xlink:title="at elg_decrypter.go:10: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_decrypter.go:15: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M86.0764,-333.1296C98.7255,-359.375 122.1892,-409.6706 138.39,-454 176.2371,-557.5589 121.2602,-624.4334 208.39,-692 244.2417,-719.802 370.9892,-717.4694 412.428,-699 440.3398,-686.5596 462.5243,-658.8654 476.2136,-637.8441"/> <path fill="none" stroke="#8b4513" d="M86.0764,-333.1296C98.7255,-359.375 122.1892,-409.6706 138.39,-454 176.2371,-557.5589 121.2602,-624.4334 208.39,-692 244.2417,-719.802 370.9892,-717.4694 412.428,-699 440.3398,-686.5596 462.5243,-658.8654 476.2136,-637.8441"/>
<polygon fill="#8b4513" stroke="#8b4513" points="479.2173,-639.6418 481.5522,-629.3074 473.2824,-635.9302 479.2173,-639.6418"/> <polygon fill="#8b4513" stroke="#8b4513" points="479.2173,-639.6418 481.5522,-629.3074 473.2824,-635.9302 479.2173,-639.6418"/>
</a> </a>
@ -487,25 +487,25 @@
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter -->
<g id="node18" class="node"> <g id="node18" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter</title>
<g id="a_node18"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter | defined in elg_private_key.go:18&#10;at elg_private_key.go:19: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_private_key.go:23: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_private_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey]"> <g id="a_node18"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter | defined in elg_private_key.go:18&#10;at elg_private_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey]&#10;at elg_private_key.go:19: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_private_key.go:23: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M118.5857,-530C118.5857,-530 35.8043,-530 35.8043,-530 29.8043,-530 23.8043,-524 23.8043,-518 23.8043,-518 23.8043,-506 23.8043,-506 23.8043,-500 29.8043,-494 35.8043,-494 35.8043,-494 118.5857,-494 118.5857,-494 124.5857,-494 130.5857,-500 130.5857,-506 130.5857,-506 130.5857,-518 130.5857,-518 130.5857,-524 124.5857,-530 118.5857,-530"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M118.5857,-530C118.5857,-530 35.8043,-530 35.8043,-530 29.8043,-530 23.8043,-524 23.8043,-518 23.8043,-518 23.8043,-506 23.8043,-506 23.8043,-500 29.8043,-494 35.8043,-494 35.8043,-494 118.5857,-494 118.5857,-494 124.5857,-494 130.5857,-500 130.5857,-506 130.5857,-506 130.5857,-518 130.5857,-518 130.5857,-524 124.5857,-530 118.5857,-530"/>
<text text-anchor="middle" x="77.195" y="-507.8" font-family="Verdana" font-size="14.00" fill="#000000">NewDecrypter</text> <text text-anchor="middle" x="77.195" y="-507.8" font-family="Verdana" font-size="14.00" fill="#000000">NewDecrypter</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey -->
<g id="edge32" class="edge"> <g id="edge21" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey</title>
<g id="a_edge32"><a xlink:title="at elg_private_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey]"> <g id="a_edge21"><a xlink:title="at elg_private_key.go:21: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPrivateKey]">
<path fill="none" stroke="#000000" d="M130.5462,-506.782C150.9941,-504.7821 174.9763,-502.4365 198.1056,-500.1744"/> <path fill="none" stroke="#000000" d="M130.5462,-506.782C150.9941,-504.7821 174.9763,-502.4365 198.1056,-500.1744"/>
<polygon fill="#000000" stroke="#000000" points="198.6918,-503.6339 208.3036,-499.177 198.0103,-496.6671 198.6918,-503.6339"/> <polygon fill="#000000" stroke="#000000" points="198.6918,-503.6339 208.3036,-499.177 198.0103,-496.6671 198.6918,-503.6339"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge23" class="edge"> <g id="edge28" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPrivateKey).NewDecrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge23"><a xlink:title="at elg_private_key.go:19: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_private_key.go:23: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge28"><a xlink:title="at elg_private_key.go:19: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_private_key.go:23: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M113.7708,-530.1509C122.6954,-535.8786 131.6135,-542.8717 138.39,-551 191.2397,-614.3922 140.251,-676.4304 208.39,-723 283.2664,-774.1743 332.1565,-768.2111 412.428,-726 447.1945,-707.7179 469.6503,-666.4822 481.4468,-638.69"/> <path fill="none" stroke="#8b4513" d="M113.7708,-530.1509C122.6954,-535.8786 131.6135,-542.8717 138.39,-551 191.2397,-614.3922 140.251,-676.4304 208.39,-723 283.2664,-774.1743 332.1565,-768.2111 412.428,-726 447.1945,-707.7179 469.6503,-666.4822 481.4468,-638.69"/>
<polygon fill="#8b4513" stroke="#8b4513" points="484.8099,-639.7092 485.3137,-629.1264 478.3203,-637.0852 484.8099,-639.7092"/> <polygon fill="#8b4513" stroke="#8b4513" points="484.8099,-639.7092 485.3137,-629.1264 478.3203,-637.0852 484.8099,-639.7092"/>
</a> </a>
@ -514,52 +514,52 @@
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter -->
<g id="node19" class="node"> <g id="node19" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter</title>
<g id="a_node19"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter | defined in elg_public_key.go:23&#10;at elg_public_key.go:26: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption]&#10;at elg_public_key.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey]&#10;at elg_public_key.go:28: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at elg_public_key.go:28: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at elg_public_key.go:24: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:30: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_node19"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter | defined in elg_public_key.go:23&#10;at elg_public_key.go:24: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:30: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:28: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at elg_public_key.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey]&#10;at elg_public_key.go:26: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption]&#10;at elg_public_key.go:28: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M117.8171,-627C117.8171,-627 36.5729,-627 36.5729,-627 30.5729,-627 24.5729,-621 24.5729,-615 24.5729,-615 24.5729,-603 24.5729,-603 24.5729,-597 30.5729,-591 36.5729,-591 36.5729,-591 117.8171,-591 117.8171,-591 123.8171,-591 129.8171,-597 129.8171,-603 129.8171,-603 129.8171,-615 129.8171,-615 129.8171,-621 123.8171,-627 117.8171,-627"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M117.8171,-627C117.8171,-627 36.5729,-627 36.5729,-627 30.5729,-627 24.5729,-621 24.5729,-615 24.5729,-615 24.5729,-603 24.5729,-603 24.5729,-597 30.5729,-591 36.5729,-591 36.5729,-591 117.8171,-591 117.8171,-591 123.8171,-591 129.8171,-597 129.8171,-603 129.8171,-603 129.8171,-615 129.8171,-615 129.8171,-621 123.8171,-627 117.8171,-627"/>
<text text-anchor="middle" x="77.195" y="-604.8" font-family="Verdana" font-size="14.00" fill="#000000">NewEncrypter</text> <text text-anchor="middle" x="77.195" y="-604.8" font-family="Verdana" font-size="14.00" fill="#000000">NewEncrypter</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey -->
<g id="edge14" class="edge"> <g id="edge32" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey</title>
<g id="a_edge14"><a xlink:title="at elg_public_key.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey]"> <g id="a_edge32"><a xlink:title="at elg_public_key.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalPublicKey]">
<path fill="none" stroke="#000000" d="M129.995,-616.6232C151.0727,-619.6663 175.9718,-623.2612 199.8415,-626.7075"/> <path fill="none" stroke="#000000" d="M129.995,-616.6232C151.0727,-619.6663 175.9718,-623.2612 199.8415,-626.7075"/>
<polygon fill="#000000" stroke="#000000" points="199.5967,-630.2083 209.9942,-628.1733 200.597,-623.2802 199.5967,-630.2083"/> <polygon fill="#000000" stroke="#000000" points="199.5967,-630.2083 209.9942,-628.1733 200.597,-623.2802 199.5967,-630.2083"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption -->
<g id="edge6" class="edge"> <g id="edge33" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption</title>
<g id="a_edge6"><a xlink:title="at elg_public_key.go:26: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption]"> <g id="a_edge33"><a xlink:title="at elg_public_key.go:26: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.createElgamalEncryption]">
<path fill="none" stroke="#000000" d="M129.995,-594.9832C155.3197,-588.2603 186.1609,-580.0729 214.1051,-572.6546"/> <path fill="none" stroke="#000000" d="M129.995,-594.9832C155.3197,-588.2603 186.1609,-580.0729 214.1051,-572.6546"/>
<polygon fill="#000000" stroke="#000000" points="215.0875,-576.0151 223.8546,-570.0664 213.2913,-569.2494 215.0875,-576.0151"/> <polygon fill="#000000" stroke="#000000" points="215.0875,-576.0151 223.8546,-570.0664 213.2913,-569.2494 215.0875,-576.0151"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge15" class="edge"> <g id="edge36" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge15"><a xlink:title="at elg_public_key.go:28: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge36"><a xlink:title="at elg_public_key.go:28: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M122.4291,-590.7595C140.6161,-581.2214 160.14,-567.7692 172.39,-550 220.1813,-480.6763 145.0709,-419.502 208.39,-364 236.3539,-339.4884 343.7701,-373.5083 375.428,-354 402.555,-337.2837 383.8134,-307.8979 411.428,-292 420.2518,-286.9201 430.53,-285.4542 440.7234,-285.9585"/> <path fill="none" stroke="#8b4513" d="M122.4291,-590.7595C140.6161,-581.2214 160.14,-567.7692 172.39,-550 220.1813,-480.6763 145.0709,-419.502 208.39,-364 236.3539,-339.4884 343.7701,-373.5083 375.428,-354 402.555,-337.2837 383.8134,-307.8979 411.428,-292 420.2518,-286.9201 430.53,-285.4542 440.7234,-285.9585"/>
<polygon fill="#8b4513" stroke="#8b4513" points="440.5115,-289.456 450.8315,-287.0587 441.269,-282.4971 440.5115,-289.456"/> <polygon fill="#8b4513" stroke="#8b4513" points="440.5115,-289.456 450.8315,-287.0587 441.269,-282.4971 440.5115,-289.456"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge16" class="edge"> <g id="edge26" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge16"><a xlink:title="at elg_public_key.go:28: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge26"><a xlink:title="at elg_public_key.go:28: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M130.0827,-606.5111C143.8606,-605.7835 158.6853,-604.9307 172.39,-604 188.4086,-602.9121 192.3755,-602.1465 208.39,-601 282.5722,-595.6893 302.3485,-604.8053 375.428,-591 392.4152,-587.791 401.2474,-592.1856 412.428,-579 466.4938,-515.2385 394.0912,-462.5812 440.428,-393 443.7814,-387.9645 448.2578,-383.6148 453.172,-379.8997"/> <path fill="none" stroke="#8b4513" d="M130.0827,-606.5111C143.8606,-605.7835 158.6853,-604.9307 172.39,-604 188.4086,-602.9121 192.3755,-602.1465 208.39,-601 282.5722,-595.6893 302.3485,-604.8053 375.428,-591 392.4152,-587.791 401.2474,-592.1856 412.428,-579 466.4938,-515.2385 394.0912,-462.5812 440.428,-393 443.7814,-387.9645 448.2578,-383.6148 453.172,-379.8997"/>
<polygon fill="#8b4513" stroke="#8b4513" points="455.3239,-382.6728 461.7345,-374.2375 451.4627,-376.8339 455.3239,-382.6728"/> <polygon fill="#8b4513" stroke="#8b4513" points="455.3239,-382.6728 461.7345,-374.2375 451.4627,-376.8339 455.3239,-382.6728"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge36" class="edge"> <g id="edge5" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/elg.ElgPublicKey).NewEncrypter&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge36"><a xlink:title="at elg_public_key.go:24: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:30: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge5"><a xlink:title="at elg_public_key.go:24: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at elg_public_key.go:30: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M81.5778,-627.038C91.1013,-661.7616 117.3111,-737.1811 171.39,-768 264.6449,-821.1449 321.6282,-810.2386 412.428,-753 453.3178,-727.2238 474.905,-672.3732 484.7146,-638.8923"/> <path fill="none" stroke="#8b4513" d="M81.5778,-627.038C91.1013,-661.7616 117.3111,-737.1811 171.39,-768 264.6449,-821.1449 321.6282,-810.2386 412.428,-753 453.3178,-727.2238 474.905,-672.3732 484.7146,-638.8923"/>
<polygon fill="#8b4513" stroke="#8b4513" points="488.0907,-639.8153 487.3892,-629.2437 481.3451,-637.9453 488.0907,-639.8153"/> <polygon fill="#8b4513" stroke="#8b4513" points="488.0907,-639.8153 487.3892,-629.2437 481.3451,-637.9453 488.0907,-639.8153"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -4,41 +4,801 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304) <!-- Generated by graphviz version 2.40.1 (20161225.0304)
--> -->
<!-- Title: gocallvis Pages: 1 --> <!-- Title: gocallvis Pages: 1 -->
<svg width="280pt" height="98pt" <svg width="824pt" height="1515pt"
viewBox="0.00 0.00 280.19 98.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> viewBox="0.00 0.00 823.65 1515.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 98)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 1515)">
<title>gocallvis</title> <title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-98 280.1894,-98 280.1894,0 0,0"/> <polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-1515 823.6468,-1515 823.6468,0 0,0"/>
<g id="clust1" class="cluster"> <g id="clust1" class="cluster">
<title>cluster_focus</title> <title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-90 272.1894,-90 272.1894,-8 8,-8"/> <polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-1507 815.6468,-1507 815.6468,-8 8,-8"/>
<text text-anchor="middle" x="140.0947" y="-69.8" font-family="Arial" font-size="18.00" fill="#000000">rsa</text> <text text-anchor="middle" x="411.8234" y="-1486.8" font-family="Arial" font-size="18.00" fill="#000000">rsa</text>
</g>
<g id="clust10" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey</title>
<g id="a_clust10"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-1330C28,-1330 323.9707,-1330 323.9707,-1330 329.9707,-1330 335.9707,-1336 335.9707,-1342 335.9707,-1342 335.9707,-1457 335.9707,-1457 335.9707,-1463 329.9707,-1469 323.9707,-1469 323.9707,-1469 28,-1469 28,-1469 22,-1469 16,-1463 16,-1457 16,-1457 16,-1342 16,-1342 16,-1336 22,-1330 28,-1330"/>
<text text-anchor="middle" x="175.9854" y="-1338.5" font-family="Arial" font-size="15.00" fill="#222222">(RSA4096PublicKey)</text>
</a>
</g>
</g>
<g id="clust9" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey</title>
<g id="a_clust9"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M45.4741,-1061C45.4741,-1061 318.5408,-1061 318.5408,-1061 324.5408,-1061 330.5408,-1067 330.5408,-1073 330.5408,-1073 330.5408,-1310 330.5408,-1310 330.5408,-1316 324.5408,-1322 318.5408,-1322 318.5408,-1322 45.4741,-1322 45.4741,-1322 39.4741,-1322 33.4741,-1316 33.4741,-1310 33.4741,-1310 33.4741,-1073 33.4741,-1073 33.4741,-1067 39.4741,-1061 45.4741,-1061"/>
<text text-anchor="middle" x="182.0075" y="-1069.5" font-family="Arial" font-size="15.00" fill="#222222">(RSA4096PrivateKey)</text>
</a>
</g>
</g>
<g id="clust8" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey</title>
<g id="a_clust8"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M257.0548,-975C257.0548,-975 551.111,-975 551.111,-975 557.111,-975 563.111,-981 563.111,-987 563.111,-987 563.111,-1041 563.111,-1041 563.111,-1047 557.111,-1053 551.111,-1053 551.111,-1053 257.0548,-1053 257.0548,-1053 251.0548,-1053 245.0548,-1047 245.0548,-1041 245.0548,-1041 245.0548,-987 245.0548,-987 245.0548,-981 251.0548,-975 257.0548,-975"/>
<text text-anchor="middle" x="404.0829" y="-983.5" font-family="Arial" font-size="15.00" fill="#222222">(RSA3072PublicKey)</text>
</a>
</g>
</g>
<g id="clust7" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey</title>
<g id="a_clust7"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M48.3633,-440C48.3633,-440 569.0072,-440 569.0072,-440 575.0072,-440 581.0072,-446 581.0072,-452 581.0072,-452 581.0072,-567 581.0072,-567 581.0072,-573 575.0072,-579 569.0072,-579 569.0072,-579 48.3633,-579 48.3633,-579 42.3633,-579 36.3633,-573 36.3633,-567 36.3633,-567 36.3633,-452 36.3633,-452 36.3633,-446 42.3633,-440 48.3633,-440"/>
<text text-anchor="middle" x="308.6853" y="-448.5" font-family="Arial" font-size="15.00" fill="#222222">(RSA3072PrivateKey)</text>
</a>
</g>
</g>
<g id="clust6" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey</title>
<g id="a_clust6"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M239.958,-207C239.958,-207 551.111,-207 551.111,-207 557.111,-207 563.111,-213 563.111,-219 563.111,-219 563.111,-334 563.111,-334 563.111,-340 557.111,-346 551.111,-346 551.111,-346 239.958,-346 239.958,-346 233.958,-346 227.958,-340 227.958,-334 227.958,-334 227.958,-219 227.958,-219 227.958,-213 233.958,-207 239.958,-207"/>
<text text-anchor="middle" x="395.5345" y="-215.5" font-family="Arial" font-size="15.00" fill="#222222">(RSA2048PublicKey)</text>
</a>
</g>
</g>
<g id="clust5" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey</title>
<g id="a_clust5"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M48.3633,-60C48.3633,-60 569.0072,-60 569.0072,-60 575.0072,-60 581.0072,-66 581.0072,-72 581.0072,-72 581.0072,-187 581.0072,-187 581.0072,-193 575.0072,-199 569.0072,-199 569.0072,-199 48.3633,-199 48.3633,-199 42.3633,-199 36.3633,-193 36.3633,-187 36.3633,-187 36.3633,-72 36.3633,-72 36.3633,-66 42.3633,-60 48.3633,-60"/>
<text text-anchor="middle" x="308.6853" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(RSA2048PrivateKey)</text>
</a>
</g>
</g>
<g id="clust4" class="cluster">
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
<g id="a_clust4"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M483.801,-711C483.801,-711 538.1222,-711 538.1222,-711 544.1222,-711 550.1222,-717 550.1222,-723 550.1222,-723 550.1222,-777 550.1222,-777 550.1222,-783 544.1222,-789 538.1222,-789 538.1222,-789 483.801,-789 483.801,-789 477.801,-789 471.801,-783 471.801,-777 471.801,-777 471.801,-723 471.801,-723 471.801,-717 477.801,-711 483.801,-711"/>
<text text-anchor="middle" x="510.9616" y="-719.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a>
</g>
</g>
<g id="clust3" class="cluster">
<title>cluster_*github.com/go&#45;i2p/logger.Logger</title>
<g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/logger.Logger">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M473.6965,-1147C473.6965,-1147 547.2267,-1147 547.2267,-1147 553.2267,-1147 559.2267,-1153 559.2267,-1159 559.2267,-1159 559.2267,-1274 559.2267,-1274 559.2267,-1280 553.2267,-1286 547.2267,-1286 547.2267,-1286 473.6965,-1286 473.6965,-1286 467.6965,-1286 461.6965,-1280 461.6965,-1274 461.6965,-1274 461.6965,-1159 461.6965,-1159 461.6965,-1153 467.6965,-1147 473.6965,-1147"/>
<text text-anchor="middle" x="510.4616" y="-1155.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
</a>
</g>
</g>
<g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M211.0632,-354C211.0632,-354 355.5794,-354 355.5794,-354 361.5794,-354 367.5794,-360 367.5794,-366 367.5794,-366 367.5794,-420 367.5794,-420 367.5794,-426 361.5794,-432 355.5794,-432 355.5794,-432 211.0632,-432 211.0632,-432 205.0632,-432 199.0632,-426 199.0632,-420 199.0632,-420 199.0632,-366 199.0632,-366 199.0632,-360 205.0632,-354 211.0632,-354"/>
<text text-anchor="middle" x="283.3213" y="-362.5" font-family="Arial" font-size="15.00" fill="#222222">(*RSA3072PrivateKey)</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes -->
<g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes | defined in rsa.go:14">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M795.467,-1045C795.467,-1045 658.187,-1045 658.187,-1045 652.187,-1045 646.187,-1039 646.187,-1033 646.187,-1033 646.187,-1021 646.187,-1021 646.187,-1015 652.187,-1009 658.187,-1009 658.187,-1009 795.467,-1009 795.467,-1009 801.467,-1009 807.467,-1015 807.467,-1021 807.467,-1021 807.467,-1033 807.467,-1033 807.467,-1039 801.467,-1045 795.467,-1045"/>
<text text-anchor="middle" x="726.827" y="-1022.8" font-family="Verdana" font-size="14.00" fill="#000000">rsaPublicKeyFromBytes</text>
</a>
</g>
</g>
<!-- github.com/samber/oops.Errorf -->
<g id="node2" class="node">
<title>github.com/samber/oops.Errorf</title>
<g id="a_node2"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M744.0223,-610C744.0223,-610 709.6317,-610 709.6317,-610 703.6317,-610 697.6317,-604 697.6317,-598 697.6317,-598 697.6317,-586 697.6317,-586 697.6317,-580 703.6317,-574 709.6317,-574 709.6317,-574 744.0223,-574 744.0223,-574 750.0223,-574 756.0223,-580 756.0223,-586 756.0223,-586 756.0223,-598 756.0223,-598 756.0223,-604 750.0223,-610 744.0223,-610"/>
<text text-anchor="middle" x="726.827" y="-596.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="726.827" y="-579.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a>
</g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.init --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.init -->
<g id="node1" class="node"> <g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.init</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.init</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.init | defined in .:0&#10;at rsa.go:5: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.init | defined in .:0&#10;at rsa.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M58,-52C58,-52 28,-52 28,-52 22,-52 16,-46 16,-40 16,-40 16,-28 16,-28 16,-22 22,-16 28,-16 28,-16 58,-16 58,-16 64,-16 70,-22 70,-28 70,-28 70,-40 70,-40 70,-46 64,-52 58,-52"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M86.3633,-52C86.3633,-52 56.3633,-52 56.3633,-52 50.3633,-52 44.3633,-46 44.3633,-40 44.3633,-40 44.3633,-28 44.3633,-28 44.3633,-22 50.3633,-16 56.3633,-16 56.3633,-16 86.3633,-16 86.3633,-16 92.3633,-16 98.3633,-22 98.3633,-28 98.3633,-28 98.3633,-40 98.3633,-40 98.3633,-46 92.3633,-52 86.3633,-52"/>
<text text-anchor="middle" x="43" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text> <text text-anchor="middle" x="71.3633" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node2" class="node"> <g id="node4" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120"> <g id="a_node4"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M252.2842,-52C252.2842,-52 154.9052,-52 154.9052,-52 148.9052,-52 142.9052,-46 142.9052,-40 142.9052,-40 142.9052,-28 142.9052,-28 142.9052,-22 148.9052,-16 154.9052,-16 154.9052,-16 252.2842,-16 252.2842,-16 258.2842,-16 264.2842,-22 264.2842,-28 264.2842,-28 264.2842,-40 264.2842,-40 264.2842,-46 258.2842,-52 252.2842,-52"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M332.0108,-52C332.0108,-52 234.6318,-52 234.6318,-52 228.6318,-52 222.6318,-46 222.6318,-40 222.6318,-40 222.6318,-28 222.6318,-28 222.6318,-22 228.6318,-16 234.6318,-16 234.6318,-16 332.0108,-16 332.0108,-16 338.0108,-16 344.0108,-22 344.0108,-28 344.0108,-28 344.0108,-40 344.0108,-40 344.0108,-46 338.0108,-52 332.0108,-52"/>
<text text-anchor="middle" x="203.5947" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text> <text text-anchor="middle" x="283.3213" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="203.5947" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text> <text text-anchor="middle" x="283.3213" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge1" class="edge"> <g id="edge38" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge1"><a xlink:title="at rsa.go:5: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]"> <g id="a_edge38"><a xlink:title="at rsa.go:11: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M70.2427,-34C87.4707,-34 110.5965,-34 132.7492,-34"/> <path fill="none" stroke="#8b4513" d="M98.6392,-34C127.1724,-34 173.1429,-34 212.0796,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="132.8343,-37.5001 142.8342,-34 132.8342,-30.5001 132.8343,-37.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="212.332,-37.5001 222.3319,-34 212.3319,-30.5001 212.332,-37.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Generate -->
<g id="node5" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Generate</title>
<g id="a_node5"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Generate | defined in rsa3072_private.go:106&#10;at rsa3072_private.go:110: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:116: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:123: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M308.3391,-424C308.3391,-424 258.3035,-424 258.3035,-424 252.3035,-424 246.3035,-418 246.3035,-412 246.3035,-412 246.3035,-400 246.3035,-400 246.3035,-394 252.3035,-388 258.3035,-388 258.3035,-388 308.3391,-388 308.3391,-388 314.3391,-388 320.3391,-394 320.3391,-400 320.3391,-400 320.3391,-412 320.3391,-412 320.3391,-418 314.3391,-424 308.3391,-424"/>
<text text-anchor="middle" x="283.3213" y="-401.8" font-family="Verdana" font-size="14.00" fill="#000000">Generate</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Generate&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge12" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Generate&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge12"><a xlink:title="at rsa3072_private.go:110: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:116: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M320.4045,-401.3438C379.0715,-395.7014 495.4059,-391.6289 581.0072,-434 640.5283,-463.4618 687.7503,-528.2909 711.0183,-565.095"/>
<polygon fill="#8b4513" stroke="#8b4513" points="708.1725,-567.1476 716.4107,-573.8096 714.1251,-563.4643 708.1725,-567.1476"/>
</a>
</g>
</g>
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
<g id="node8" class="node">
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_node8"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M529.2836,-781C529.2836,-781 491.6396,-781 491.6396,-781 485.6396,-781 479.6396,-775 479.6396,-769 479.6396,-769 479.6396,-757 479.6396,-757 479.6396,-751 485.6396,-745 491.6396,-745 491.6396,-745 529.2836,-745 529.2836,-745 535.2836,-745 541.2836,-751 541.2836,-757 541.2836,-757 541.2836,-769 541.2836,-769 541.2836,-775 535.2836,-781 529.2836,-781"/>
<text text-anchor="middle" x="510.4616" y="-767.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
<text text-anchor="middle" x="510.4616" y="-750.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Generate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge30" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Generate&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge30"><a xlink:title="at rsa3072_private.go:123: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M320.6563,-410.5043C337.0318,-414.2834 355.2837,-421.2306 367.5794,-434 415.4159,-483.6793 384.4342,-519.3205 410.916,-583 434.5802,-639.9041 471.5778,-701.8883 493.1775,-736.2429"/>
<polygon fill="#8b4513" stroke="#8b4513" points="490.27,-738.1936 498.5787,-744.7676 496.1831,-734.4472 490.27,-738.1936"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="node6" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).WithError | defined in log.go:66">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M538.9931,-1217C538.9931,-1217 481.9301,-1217 481.9301,-1217 475.9301,-1217 469.9301,-1211 469.9301,-1205 469.9301,-1205 469.9301,-1193 469.9301,-1193 469.9301,-1187 475.9301,-1181 481.9301,-1181 481.9301,-1181 538.9931,-1181 538.9931,-1181 544.9931,-1181 550.9931,-1187 550.9931,-1193 550.9931,-1193 550.9931,-1205 550.9931,-1205 550.9931,-1211 544.9931,-1217 538.9931,-1217"/>
<text text-anchor="middle" x="510.4616" y="-1203.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="510.4616" y="-1186.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="node7" class="node">
<title>(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/logger.Logger).Error | defined in log.go:42">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M528.2279,-1278C528.2279,-1278 492.6953,-1278 492.6953,-1278 486.6953,-1278 480.6953,-1272 480.6953,-1266 480.6953,-1266 480.6953,-1254 480.6953,-1254 480.6953,-1248 486.6953,-1242 492.6953,-1242 492.6953,-1242 528.2279,-1242 528.2279,-1242 534.2279,-1242 540.2279,-1248 540.2279,-1254 540.2279,-1254 540.2279,-1266 540.2279,-1266 540.2279,-1272 534.2279,-1278 528.2279,-1278"/>
<text text-anchor="middle" x="510.4616" y="-1264.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="510.4616" y="-1247.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Zero -->
<g id="node9" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Zero</title>
<g id="a_node9"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Zero | defined in rsa2048_private.go:73&#10;at rsa2048_private.go:78: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M86.3633,-191C86.3633,-191 56.3633,-191 56.3633,-191 50.3633,-191 44.3633,-185 44.3633,-179 44.3633,-179 44.3633,-167 44.3633,-167 44.3633,-161 50.3633,-155 56.3633,-155 56.3633,-155 86.3633,-155 86.3633,-155 92.3633,-155 98.3633,-161 98.3633,-167 98.3633,-167 98.3633,-179 98.3633,-179 98.3633,-185 92.3633,-191 86.3633,-191"/>
<text text-anchor="middle" x="71.3633" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">Zero</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Zero&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge31" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Zero&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge31"><a xlink:title="at rsa2048_private.go:78: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M72.5556,-191.0657C77.453,-252.5659 100.711,-457.0574 199.0632,-585 269.8163,-677.04 402.6642,-729.425 469.6442,-751.0998"/>
<polygon fill="#8b4513" stroke="#8b4513" points="468.8312,-754.5136 479.4213,-754.1962 470.9447,-747.8403 468.8312,-754.5136"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey -->
<g id="node10" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey</title>
<g id="a_node10"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey | defined in rsa2048_private.go:82&#10;at rsa2048_private.go:86: calling [github.com/samber/oops.Errorf]&#10;at rsa2048_private.go:91: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M561.0528,-162C561.0528,-162 459.8704,-162 459.8704,-162 453.8704,-162 447.8704,-156 447.8704,-150 447.8704,-150 447.8704,-138 447.8704,-138 447.8704,-132 453.8704,-126 459.8704,-126 459.8704,-126 561.0528,-126 561.0528,-126 567.0528,-126 573.0528,-132 573.0528,-138 573.0528,-138 573.0528,-150 573.0528,-150 573.0528,-156 567.0528,-162 561.0528,-162"/>
<text text-anchor="middle" x="510.4616" y="-139.8" font-family="Verdana" font-size="14.00" fill="#000000">toRSAPrivateKey</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge43" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge43"><a xlink:title="at rsa2048_private.go:86: calling [github.com/samber/oops.Errorf]&#10;at rsa2048_private.go:91: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M573.1299,-160.8528C587.6229,-167.7943 601.325,-177.4965 610.0072,-191 689.6671,-314.8966 716.4611,-494.651 724.1304,-563.6102"/>
<polygon fill="#8b4513" stroke="#8b4513" points="720.6655,-564.1265 725.2022,-573.7009 727.6263,-563.3871 720.6655,-564.1265"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash -->
<g id="node11" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash</title>
<g id="a_node11"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash | defined in rsa2048_private.go:28&#10;at rsa2048_private.go:41: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa2048_private.go:32: calling [github.com/samber/oops.Errorf]&#10;at rsa2048_private.go:38: calling [github.com/samber/oops.Errorf]&#10;at rsa2048_private.go:30: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M310.7615,-191C310.7615,-191 255.8811,-191 255.8811,-191 249.8811,-191 243.8811,-185 243.8811,-179 243.8811,-179 243.8811,-167 243.8811,-167 243.8811,-161 249.8811,-155 255.8811,-155 255.8811,-155 310.7615,-155 310.7615,-155 316.7615,-155 322.7615,-161 322.7615,-167 322.7615,-167 322.7615,-179 322.7615,-179 322.7615,-185 316.7615,-191 310.7615,-191"/>
<text text-anchor="middle" x="283.3213" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">SignHash</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge7" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge7"><a xlink:title="at rsa2048_private.go:32: calling [github.com/samber/oops.Errorf]&#10;at rsa2048_private.go:38: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M322.5552,-174.6664C398.7245,-178.23 560.9453,-187.5487 581.0072,-203 641.1612,-249.3296 701.0037,-482.5799 720.3577,-563.9471"/>
<polygon fill="#8b4513" stroke="#8b4513" points="717.0161,-565.0267 722.716,-573.9576 723.8296,-563.4215 717.0161,-565.0267"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge2" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge2"><a xlink:title="at rsa2048_private.go:41: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M322.7751,-177.5344C338.7693,-181.3314 356.1307,-188.2843 367.5794,-201 396.7463,-233.3947 436.4323,-542.9495 447.916,-585 462.7206,-639.2108 485.7732,-700.7059 499.3693,-735.374"/>
<polygon fill="#8b4513" stroke="#8b4513" points="496.1729,-736.8088 503.1022,-744.8235 502.6833,-734.2369 496.1729,-736.8088"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey -->
<g id="edge36" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey</title>
<g id="a_edge36"><a xlink:title="at rsa2048_private.go:30: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey]">
<path fill="none" stroke="#000000" d="M322.7652,-164.1481C347.8695,-158.8709 381.146,-152.5309 410.916,-149 419.5306,-147.9783 428.5888,-147.1649 437.5864,-146.5176"/>
<polygon fill="#000000" stroke="#000000" points="437.9428,-150.0018 447.6924,-145.855 437.4848,-143.0168 437.9428,-150.0018"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Sign -->
<g id="node12" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Sign</title>
<g id="a_node12"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Sign | defined in rsa2048_private.go:20&#10;at rsa2048_private.go:23: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M86.3633,-130C86.3633,-130 56.3633,-130 56.3633,-130 50.3633,-130 44.3633,-124 44.3633,-118 44.3633,-118 44.3633,-106 44.3633,-106 44.3633,-100 50.3633,-94 56.3633,-94 56.3633,-94 86.3633,-94 86.3633,-94 92.3633,-94 98.3633,-100 98.3633,-106 98.3633,-106 98.3633,-118 98.3633,-118 98.3633,-124 92.3633,-130 86.3633,-130"/>
<text text-anchor="middle" x="71.3633" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">Sign</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Sign&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash -->
<g id="edge19" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Sign&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash</title>
<g id="a_edge19"><a xlink:title="at rsa2048_private.go:23: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).SignHash]">
<path fill="none" stroke="#000000" d="M98.7346,-120.3466C114.9845,-125.2674 136.006,-131.573 154.7266,-137 180.8347,-144.5686 210.0028,-152.756 233.9512,-159.4077"/>
<polygon fill="#000000" stroke="#000000" points="233.2995,-162.859 243.8711,-162.1581 235.1698,-156.1134 233.2995,-162.859"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Public -->
<g id="node13" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Public</title>
<g id="a_node13"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Public | defined in rsa2048_private.go:53&#10;at rsa2048_private.go:54: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey]&#10;at rsa2048_private.go:67: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa2048_private.go:56: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M301.1001,-130C301.1001,-130 265.5425,-130 265.5425,-130 259.5425,-130 253.5425,-124 253.5425,-118 253.5425,-118 253.5425,-106 253.5425,-106 253.5425,-100 259.5425,-94 265.5425,-94 265.5425,-94 301.1001,-94 301.1001,-94 307.1001,-94 313.1001,-100 313.1001,-106 313.1001,-106 313.1001,-118 313.1001,-118 313.1001,-124 307.1001,-130 301.1001,-130"/>
<text text-anchor="middle" x="283.3213" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">Public</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Public&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge39" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Public&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge39"><a xlink:title="at rsa2048_private.go:56: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M313.1785,-108.1472C379.7983,-100.1835 538.0955,-84.9644 581.0072,-114 658.4148,-166.3767 708.8117,-469.1481 722.8361,-563.7584"/>
<polygon fill="#8b4513" stroke="#8b4513" points="719.3859,-564.3544 724.295,-573.7434 726.3124,-563.3424 719.3859,-564.3544"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Public&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge20" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Public&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge20"><a xlink:title="at rsa2048_private.go:67: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M313.2486,-115.5897C331.5655,-119.3684 354.0153,-127.1175 367.5794,-143 497.2454,-294.8289 398.3673,-391.5828 447.916,-585 461.8617,-639.4381 485.2066,-700.8558 499.089,-735.4482"/>
<polygon fill="#8b4513" stroke="#8b4513" points="495.9087,-736.9196 502.9054,-744.8756 502.3972,-734.2929 495.9087,-736.9196"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Public&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey -->
<g id="edge16" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).Public&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey</title>
<g id="a_edge16"><a xlink:title="at rsa2048_private.go:54: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PrivateKey).toRSAPrivateKey]">
<path fill="none" stroke="#000000" d="M313.4838,-116.2494C344.989,-120.6879 395.5794,-127.8152 437.6005,-133.7352"/>
<polygon fill="#000000" stroke="#000000" points="437.1368,-137.2043 447.5273,-135.1337 438.1134,-130.2728 437.1368,-137.2043"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash -->
<g id="node14" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash</title>
<g id="a_node14"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash | defined in rsa2048_public.go:26&#10;at rsa2048_public.go:27: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes]&#10;at rsa2048_public.go:29: calling [github.com/samber/oops.Errorf]&#10;at rsa2048_public.go:34: calling [github.com/samber/oops.Errorf]&#10;at rsa2048_public.go:40: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M543.2609,-338C543.2609,-338 477.6623,-338 477.6623,-338 471.6623,-338 465.6623,-332 465.6623,-326 465.6623,-326 465.6623,-314 465.6623,-314 465.6623,-308 471.6623,-302 477.6623,-302 477.6623,-302 543.2609,-302 543.2609,-302 549.2609,-302 555.2609,-308 555.2609,-314 555.2609,-314 555.2609,-326 555.2609,-326 555.2609,-332 549.2609,-338 543.2609,-338"/>
<text text-anchor="middle" x="510.4616" y="-315.8" font-family="Verdana" font-size="14.00" fill="#000000">VerifyHash</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes -->
<g id="edge9" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes</title>
<g id="a_edge9"><a xlink:title="at rsa2048_public.go:27: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes]">
<path fill="none" stroke="#000000" d="M524.371,-338.3713C540.216,-360.1194 565.8657,-397.9492 581.0072,-434 668.0152,-641.1604 710.9011,-911.7425 723.0869,-998.7537"/>
<polygon fill="#000000" stroke="#000000" points="719.6514,-999.4624 724.483,-1008.8914 726.5859,-998.5073 719.6514,-999.4624"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge26" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge26"><a xlink:title="at rsa2048_public.go:29: calling [github.com/samber/oops.Errorf]&#10;at rsa2048_public.go:34: calling [github.com/samber/oops.Errorf]&#10;at rsa2048_public.go:40: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M555.2332,-329.879C574.5993,-336.2943 595.9913,-346.6236 610.0072,-363 664.1021,-426.2053 701.3558,-518.7778 717.6135,-564.4408"/>
<polygon fill="#8b4513" stroke="#8b4513" points="714.338,-565.6772 720.9402,-573.9634 720.9463,-563.3686 714.338,-565.6772"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).Verify -->
<g id="node15" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).Verify</title>
<g id="a_node15"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).Verify | defined in rsa2048_public.go:18&#10;at rsa2048_public.go:21: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M301.3561,-277C301.3561,-277 265.2865,-277 265.2865,-277 259.2865,-277 253.2865,-271 253.2865,-265 253.2865,-265 253.2865,-253 253.2865,-253 253.2865,-247 259.2865,-241 265.2865,-241 265.2865,-241 301.3561,-241 301.3561,-241 307.3561,-241 313.3561,-247 313.3561,-253 313.3561,-253 313.3561,-265 313.3561,-265 313.3561,-271 307.3561,-277 301.3561,-277"/>
<text text-anchor="middle" x="283.3213" y="-254.8" font-family="Verdana" font-size="14.00" fill="#000000">Verify</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).Verify&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash -->
<g id="edge27" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).Verify&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash</title>
<g id="a_edge27"><a xlink:title="at rsa2048_public.go:21: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).VerifyHash]">
<path fill="none" stroke="#000000" d="M313.4838,-267.1003C349.7218,-276.8323 411.2098,-293.3453 455.8641,-305.3375"/>
<polygon fill="#000000" stroke="#000000" points="455.1231,-308.7625 465.6887,-307.976 456.9388,-302.002 455.1231,-308.7625"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).NewVerifier -->
<g id="node16" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).NewVerifier</title>
<g id="a_node16"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).NewVerifier | defined in rsa2048_public.go:60&#10;at rsa2048_public.go:61: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M318.5483,-338C318.5483,-338 248.0943,-338 248.0943,-338 242.0943,-338 236.0943,-332 236.0943,-326 236.0943,-326 236.0943,-314 236.0943,-314 236.0943,-308 242.0943,-302 248.0943,-302 248.0943,-302 318.5483,-302 318.5483,-302 324.5483,-302 330.5483,-308 330.5483,-314 330.5483,-314 330.5483,-326 330.5483,-326 330.5483,-332 324.5483,-338 318.5483,-338"/>
<text text-anchor="middle" x="283.3213" y="-315.8" font-family="Verdana" font-size="14.00" fill="#000000">NewVerifier</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).NewVerifier&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge34" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA2048PublicKey).NewVerifier&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge34"><a xlink:title="at rsa2048_public.go:61: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M330.81,-327.5768C344.1085,-331.7143 357.6309,-338.1109 367.5794,-348 446.4591,-426.4089 411.6275,-479.8662 447.916,-585 466.3,-638.2615 488.2182,-700.3151 500.6202,-735.2964"/>
<polygon fill="#8b4513" stroke="#8b4513" points="497.3602,-736.5755 504.0022,-744.8298 503.9574,-734.2351 497.3602,-736.5755"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey -->
<g id="node17" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey</title>
<g id="a_node17"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey | defined in rsa3072_private.go:90&#10;at rsa3072_private.go:94: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:99: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M561.0528,-571C561.0528,-571 459.8704,-571 459.8704,-571 453.8704,-571 447.8704,-565 447.8704,-559 447.8704,-559 447.8704,-547 447.8704,-547 447.8704,-541 453.8704,-535 459.8704,-535 459.8704,-535 561.0528,-535 561.0528,-535 567.0528,-535 573.0528,-541 573.0528,-547 573.0528,-547 573.0528,-559 573.0528,-559 573.0528,-565 567.0528,-571 561.0528,-571"/>
<text text-anchor="middle" x="510.4616" y="-548.8" font-family="Verdana" font-size="14.00" fill="#000000">toRSAPrivateKey</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge5" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge5"><a xlink:title="at rsa3072_private.go:94: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:99: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M573.0434,-564.2804C610.0949,-570.959 655.8813,-579.212 687.8166,-584.9683"/>
<polygon fill="#8b4513" stroke="#8b4513" points="687.2075,-588.4149 697.6698,-586.7444 688.4493,-581.5259 687.2075,-588.4149"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash -->
<g id="node18" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash</title>
<g id="a_node18"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash | defined in rsa3072_private.go:36&#10;at rsa3072_private.go:49: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa3072_private.go:40: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:46: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:38: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M310.7615,-571C310.7615,-571 255.8811,-571 255.8811,-571 249.8811,-571 243.8811,-565 243.8811,-559 243.8811,-559 243.8811,-547 243.8811,-547 243.8811,-541 249.8811,-535 255.8811,-535 255.8811,-535 310.7615,-535 310.7615,-535 316.7615,-535 322.7615,-541 322.7615,-547 322.7615,-547 322.7615,-559 322.7615,-559 322.7615,-565 316.7615,-571 310.7615,-571"/>
<text text-anchor="middle" x="283.3213" y="-548.8" font-family="Verdana" font-size="14.00" fill="#000000">SignHash</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge17" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge17"><a xlink:title="at rsa3072_private.go:40: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:46: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M308.1422,-571.3015C332.7795,-588.2425 372.3422,-612.2381 410.916,-622 496.6967,-643.7086 522.2202,-633.0921 610.0072,-622 636.3092,-618.6767 665.1688,-611.3026 687.6227,-604.6975"/>
<polygon fill="#8b4513" stroke="#8b4513" points="688.8916,-607.9706 697.4565,-601.7341 686.8719,-601.2683 688.8916,-607.9706"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge10" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge10"><a xlink:title="at rsa3072_private.go:49: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M294.4217,-571.0039C318.1248,-608.0266 377.3205,-693.2241 447.916,-741 454.6188,-745.5362 462.3579,-749.2402 470.0585,-752.2269"/>
<polygon fill="#8b4513" stroke="#8b4513" points="469.1161,-755.6059 479.7109,-755.6352 471.4468,-749.0053 469.1161,-755.6059"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey -->
<g id="edge46" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey</title>
<g id="a_edge46"><a xlink:title="at rsa3072_private.go:38: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey]">
<path fill="none" stroke="#000000" d="M322.6268,-553C354.214,-553 399.4497,-553 437.6139,-553"/>
<polygon fill="#000000" stroke="#000000" points="437.6609,-556.5001 447.6609,-553 437.6609,-549.5001 437.6609,-556.5001"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Sign -->
<g id="node19" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Sign</title>
<g id="a_node19"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Sign | defined in rsa3072_private.go:29&#10;at rsa3072_private.go:32: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M86.3633,-510C86.3633,-510 56.3633,-510 56.3633,-510 50.3633,-510 44.3633,-504 44.3633,-498 44.3633,-498 44.3633,-486 44.3633,-486 44.3633,-480 50.3633,-474 56.3633,-474 56.3633,-474 86.3633,-474 86.3633,-474 92.3633,-474 98.3633,-480 98.3633,-486 98.3633,-486 98.3633,-498 98.3633,-498 98.3633,-504 92.3633,-510 86.3633,-510"/>
<text text-anchor="middle" x="71.3633" y="-487.8" font-family="Verdana" font-size="14.00" fill="#000000">Sign</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Sign&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash -->
<g id="edge28" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Sign&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash</title>
<g id="a_edge28"><a xlink:title="at rsa3072_private.go:32: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).SignHash]">
<path fill="none" stroke="#000000" d="M98.6392,-499.8498C132.7979,-509.6804 191.947,-526.7031 234.1013,-538.8348"/>
<polygon fill="#000000" stroke="#000000" points="233.3124,-542.2498 243.8903,-541.652 235.2484,-535.5228 233.3124,-542.2498"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Zero -->
<g id="node20" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Zero</title>
<g id="a_node20"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Zero | defined in rsa3072_private.go:81&#10;at rsa3072_private.go:86: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M86.3633,-571C86.3633,-571 56.3633,-571 56.3633,-571 50.3633,-571 44.3633,-565 44.3633,-559 44.3633,-559 44.3633,-547 44.3633,-547 44.3633,-541 50.3633,-535 56.3633,-535 56.3633,-535 86.3633,-535 86.3633,-535 92.3633,-535 98.3633,-541 98.3633,-547 98.3633,-547 98.3633,-559 98.3633,-559 98.3633,-565 92.3633,-571 86.3633,-571"/>
<text text-anchor="middle" x="71.3633" y="-548.8" font-family="Verdana" font-size="14.00" fill="#000000">Zero</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Zero&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge15" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Zero&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge15"><a xlink:title="at rsa3072_private.go:86: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M73.9237,-571.0296C80.2085,-607.9023 100.0794,-691.6784 154.7266,-730 204.583,-764.962 387.2348,-765.7058 469.6438,-764.1544"/>
<polygon fill="#8b4513" stroke="#8b4513" points="469.7246,-767.6536 479.6493,-763.9452 469.5783,-760.6551 469.7246,-767.6536"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Public -->
<g id="node21" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Public</title>
<g id="a_node21"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Public | defined in rsa3072_private.go:59&#10;at rsa3072_private.go:63: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:69: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:76: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa3072_private.go:61: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M301.1001,-510C301.1001,-510 265.5425,-510 265.5425,-510 259.5425,-510 253.5425,-504 253.5425,-498 253.5425,-498 253.5425,-486 253.5425,-486 253.5425,-480 259.5425,-474 265.5425,-474 265.5425,-474 301.1001,-474 301.1001,-474 307.1001,-474 313.1001,-480 313.1001,-486 313.1001,-486 313.1001,-498 313.1001,-498 313.1001,-504 307.1001,-510 301.1001,-510"/>
<text text-anchor="middle" x="283.3213" y="-487.8" font-family="Verdana" font-size="14.00" fill="#000000">Public</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Public&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge4" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Public&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge4"><a xlink:title="at rsa3072_private.go:63: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_private.go:69: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M313.1114,-500.566C329.673,-505.9103 350.3536,-513.5674 367.5794,-523 406.9016,-544.5323 405.6367,-569.0893 447.916,-584 529.2459,-612.6827 632.3418,-605.3414 687.5995,-598.2084"/>
<polygon fill="#8b4513" stroke="#8b4513" points="688.2303,-601.655 697.6686,-596.8416 687.2887,-594.7186 688.2303,-601.655"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Public&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge8" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Public&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge8"><a xlink:title="at rsa3072_private.go:76: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M313.2335,-496.5364C331.0803,-500.668 353.0272,-508.4554 367.5794,-523 440.6134,-595.9955 374.3612,-668.5293 447.916,-741 454.0452,-747.0388 461.9276,-751.4268 470.0168,-754.6131"/>
<polygon fill="#8b4513" stroke="#8b4513" points="468.921,-757.9371 479.5152,-757.8284 471.1655,-751.3067 468.921,-757.9371"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Public&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey -->
<g id="edge24" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).Public&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey</title>
<g id="a_edge24"><a xlink:title="at rsa3072_private.go:61: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PrivateKey).toRSAPrivateKey]">
<path fill="none" stroke="#000000" d="M313.4838,-500.1003C345.0554,-508.5791 395.7929,-522.205 437.8663,-533.5041"/>
<polygon fill="#000000" stroke="#000000" points="436.9617,-536.8851 447.5273,-536.0986 438.7773,-530.1246 436.9617,-536.8851"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash -->
<g id="node22" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash</title>
<g id="a_node22"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash | defined in rsa3072_public.go:25&#10;at rsa3072_public.go:28: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_public.go:34: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_public.go:40: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_public.go:26: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M543.2609,-1045C543.2609,-1045 477.6623,-1045 477.6623,-1045 471.6623,-1045 465.6623,-1039 465.6623,-1033 465.6623,-1033 465.6623,-1021 465.6623,-1021 465.6623,-1015 471.6623,-1009 477.6623,-1009 477.6623,-1009 543.2609,-1009 543.2609,-1009 549.2609,-1009 555.2609,-1015 555.2609,-1021 555.2609,-1021 555.2609,-1033 555.2609,-1033 555.2609,-1039 549.2609,-1045 543.2609,-1045"/>
<text text-anchor="middle" x="510.4616" y="-1022.8" font-family="Verdana" font-size="14.00" fill="#000000">VerifyHash</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes -->
<g id="edge32" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes</title>
<g id="a_edge32"><a xlink:title="at rsa3072_public.go:26: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes]">
<path fill="none" stroke="#000000" d="M555.2927,-1027C578.5534,-1027 607.8473,-1027 635.6121,-1027"/>
<polygon fill="#000000" stroke="#000000" points="635.758,-1030.5001 645.758,-1027 635.758,-1023.5001 635.758,-1030.5001"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge25" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge25"><a xlink:title="at rsa3072_public.go:28: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_public.go:34: calling [github.com/samber/oops.Errorf]&#10;at rsa3072_public.go:40: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M555.2662,-1019.8271C564.6771,-1016.5757 573.8936,-1011.8543 581.0072,-1005 693.9979,-896.1269 719.5779,-694.4303 725.25,-620.2916"/>
<polygon fill="#8b4513" stroke="#8b4513" points="728.7421,-620.5253 725.9505,-610.3048 721.7593,-620.0354 728.7421,-620.5253"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).Verify -->
<g id="node23" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).Verify</title>
<g id="a_node23"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).Verify | defined in rsa3072_public.go:18&#10;at rsa3072_public.go:21: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M301.3561,-1045C301.3561,-1045 265.2865,-1045 265.2865,-1045 259.2865,-1045 253.2865,-1039 253.2865,-1033 253.2865,-1033 253.2865,-1021 253.2865,-1021 253.2865,-1015 259.2865,-1009 265.2865,-1009 265.2865,-1009 301.3561,-1009 301.3561,-1009 307.3561,-1009 313.3561,-1015 313.3561,-1021 313.3561,-1021 313.3561,-1033 313.3561,-1033 313.3561,-1039 307.3561,-1045 301.3561,-1045"/>
<text text-anchor="middle" x="283.3213" y="-1022.8" font-family="Verdana" font-size="14.00" fill="#000000">Verify</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).Verify&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash -->
<g id="edge45" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).Verify&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash</title>
<g id="a_edge45"><a xlink:title="at rsa3072_public.go:21: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA3072PublicKey).VerifyHash]">
<path fill="none" stroke="#000000" d="M313.4838,-1027C349.6456,-1027 410.9515,-1027 455.5825,-1027"/>
<polygon fill="#000000" stroke="#000000" points="455.6888,-1030.5001 465.6887,-1027 455.6887,-1023.5001 455.6888,-1030.5001"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Sign -->
<g id="node24" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Sign</title>
<g id="a_node24"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Sign | defined in rsa4096_private.go:20&#10;at rsa4096_private.go:24: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash]&#10;at rsa4096_private.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M86.3633,-1314C86.3633,-1314 56.3633,-1314 56.3633,-1314 50.3633,-1314 44.3633,-1308 44.3633,-1302 44.3633,-1302 44.3633,-1290 44.3633,-1290 44.3633,-1284 50.3633,-1278 56.3633,-1278 56.3633,-1278 86.3633,-1278 86.3633,-1278 92.3633,-1278 98.3633,-1284 98.3633,-1290 98.3633,-1290 98.3633,-1302 98.3633,-1302 98.3633,-1308 92.3633,-1314 86.3633,-1314"/>
<text text-anchor="middle" x="71.3633" y="-1291.8" font-family="Verdana" font-size="14.00" fill="#000000">Sign</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Sign&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge18" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Sign&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge18"><a xlink:title="at rsa4096_private.go:21: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M98.6928,-1283.388C106.0994,-1278.8288 113.5038,-1273.033 118.7266,-1266 200.2529,-1156.2169 119.349,-1080.1058 199.0632,-969 269.6544,-870.6098 403.0441,-806.1193 469.9886,-778.4471"/>
<polygon fill="#8b4513" stroke="#8b4513" points="471.424,-781.6418 479.3682,-774.6318 468.7864,-775.1577 471.424,-781.6418"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash -->
<g id="node25" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash</title>
<g id="a_node25"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash | defined in rsa4096_private.go:29&#10;at rsa4096_private.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at rsa4096_private.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at rsa4096_private.go:36: calling [github.com/samber/oops.Errorf]&#10;at rsa4096_private.go:43: calling [github.com/samber/oops.Errorf]&#10;at rsa4096_private.go:30: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa4096_private.go:46: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa4096_private.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at rsa4096_private.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M310.7615,-1217C310.7615,-1217 255.8811,-1217 255.8811,-1217 249.8811,-1217 243.8811,-1211 243.8811,-1205 243.8811,-1205 243.8811,-1193 243.8811,-1193 243.8811,-1187 249.8811,-1181 255.8811,-1181 255.8811,-1181 310.7615,-1181 310.7615,-1181 316.7615,-1181 322.7615,-1187 322.7615,-1193 322.7615,-1193 322.7615,-1205 322.7615,-1205 322.7615,-1211 316.7615,-1217 310.7615,-1217"/>
<text text-anchor="middle" x="283.3213" y="-1194.8" font-family="Verdana" font-size="14.00" fill="#000000">SignHash</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Sign&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash -->
<g id="edge11" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Sign&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash</title>
<g id="a_edge11"><a xlink:title="at rsa4096_private.go:24: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash]">
<path fill="none" stroke="#000000" d="M98.6392,-1283.5175C132.942,-1267.8193 192.4466,-1240.5877 234.634,-1221.2812"/>
<polygon fill="#000000" stroke="#000000" points="236.2538,-1224.389 243.8903,-1217.0451 233.3408,-1218.0239 236.2538,-1224.389"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge29" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge29"><a xlink:title="at rsa4096_private.go:36: calling [github.com/samber/oops.Errorf]&#10;at rsa4096_private.go:43: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M322.6101,-1184.8104C394.6557,-1158.1187 543.9287,-1099.4851 581.0072,-1059 642.4031,-991.9632 703.0735,-710.5445 721.309,-620.1116"/>
<polygon fill="#8b4513" stroke="#8b4513" points="724.7907,-620.5494 723.3197,-610.0572 717.9266,-619.1767 724.7907,-620.5494"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge41" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge41"><a xlink:title="at rsa4096_private.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at rsa4096_private.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M322.6268,-1199C360.5523,-1199 418.1532,-1199 459.5663,-1199"/>
<polygon fill="#8b4513" stroke="#8b4513" points="459.7245,-1202.5001 469.7244,-1199 459.7244,-1195.5001 459.7245,-1202.5001"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge6" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge6"><a xlink:title="at rsa4096_private.go:35: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at rsa4096_private.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M322.6268,-1209.5557C364.1517,-1220.7075 429.2639,-1238.1938 470.8894,-1249.3726"/>
<polygon fill="#8b4513" stroke="#8b4513" points="470.1148,-1252.7886 480.6804,-1252.0021 471.9304,-1246.0281 470.1148,-1252.7886"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge40" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).SignHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge40"><a xlink:title="at rsa4096_private.go:30: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa4096_private.go:46: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M296.0907,-1180.681C313.8684,-1154.5851 346.2861,-1104.7858 367.5794,-1059 392.7291,-1004.9219 386.0224,-986.1965 410.916,-932 435.0805,-879.3908 471.0542,-822.1205 492.4935,-789.584"/>
<polygon fill="#8b4513" stroke="#8b4513" points="495.5191,-791.3546 498.1332,-781.0873 489.6869,-787.4834 495.5191,-791.3546"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public -->
<g id="node26" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public</title>
<g id="a_node26"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public | defined in rsa4096_private.go:59&#10;at rsa4096_private.go:60: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa4096_private.go:78: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa4096_private.go:65: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at rsa4096_private.go:66: calling [github.com/samber/oops.Errorf]&#10;at rsa4096_private.go:65: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M89.1421,-1253C89.1421,-1253 53.5845,-1253 53.5845,-1253 47.5845,-1253 41.5845,-1247 41.5845,-1241 41.5845,-1241 41.5845,-1229 41.5845,-1229 41.5845,-1223 47.5845,-1217 53.5845,-1217 53.5845,-1217 89.1421,-1217 89.1421,-1217 95.1421,-1217 101.1421,-1223 101.1421,-1229 101.1421,-1229 101.1421,-1241 101.1421,-1241 101.1421,-1247 95.1421,-1253 89.1421,-1253"/>
<text text-anchor="middle" x="71.3633" y="-1230.8" font-family="Verdana" font-size="14.00" fill="#000000">Public</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge22" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge22"><a xlink:title="at rsa4096_private.go:66: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M101.4019,-1220.3085C107.7971,-1216.0792 114.029,-1210.9643 118.7266,-1205 224.3413,-1070.9052 112.6289,-858 283.3213,-858 283.3213,-858 283.3213,-858 510.4616,-858 632.1988,-858 697.511,-688.2551 718.8617,-619.9619"/>
<polygon fill="#8b4513" stroke="#8b4513" points="722.244,-620.8689 721.8039,-610.2833 715.5467,-618.833 722.244,-620.8689"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge37" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge37"><a xlink:title="at rsa4096_private.go:65: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M100.5996,-1216.8718C106.637,-1213.0194 112.9227,-1208.9279 118.7266,-1205 155.1975,-1180.3175 157.1601,-1160.5456 199.0632,-1147 289.4101,-1117.7945 400.0753,-1151.9263 462.1899,-1177.0495"/>
<polygon fill="#8b4513" stroke="#8b4513" points="461.1529,-1180.408 471.7315,-1180.9932 463.8267,-1173.9388 461.1529,-1180.408"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge21" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge21"><a xlink:title="at rsa4096_private.go:65: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M101.2825,-1217.428C132.363,-1199.5614 179.1785,-1173.8348 199.0632,-1169 271.839,-1151.3052 296.5973,-1145.1053 367.5794,-1169 410.0682,-1183.303 409.657,-1206.6309 447.916,-1230 455.303,-1234.5121 463.4723,-1238.8553 471.4023,-1242.7689"/>
<polygon fill="#8b4513" stroke="#8b4513" points="470.01,-1245.9828 480.5404,-1247.15 473.0363,-1239.6707 470.01,-1245.9828"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge3" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Public&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge3"><a xlink:title="at rsa4096_private.go:60: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa4096_private.go:78: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M101.4633,-1221.6826C108.1802,-1217.318 114.5431,-1211.7972 118.7266,-1205 161.9109,-1134.8351 98.1391,-895.882 154.7266,-836 187.6022,-801.2103 320.7993,-813.1366 367.5794,-803 402.5983,-795.4119 441.7458,-784.2604 470.1964,-775.6582"/>
<polygon fill="#8b4513" stroke="#8b4513" points="471.2457,-778.9974 479.7894,-772.7318 469.2032,-772.302 471.2457,-778.9974"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Bytes -->
<g id="node27" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Bytes</title>
<g id="a_node27"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Bytes | defined in rsa4096_private.go:52&#10;at rsa4096_private.go:53: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M87.2498,-1131C87.2498,-1131 55.4768,-1131 55.4768,-1131 49.4768,-1131 43.4768,-1125 43.4768,-1119 43.4768,-1119 43.4768,-1107 43.4768,-1107 43.4768,-1101 49.4768,-1095 55.4768,-1095 55.4768,-1095 87.2498,-1095 87.2498,-1095 93.2498,-1095 99.2498,-1101 99.2498,-1107 99.2498,-1107 99.2498,-1119 99.2498,-1119 99.2498,-1125 93.2498,-1131 87.2498,-1131"/>
<text text-anchor="middle" x="71.3633" y="-1108.8" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Bytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge23" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Bytes&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge23"><a xlink:title="at rsa4096_private.go:53: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M73.4637,-1094.7471C80.9097,-1033.4462 108.1287,-836.5747 154.7266,-797 160.6744,-791.9486 377.1041,-773.8282 469.4163,-766.3077"/>
<polygon fill="#8b4513" stroke="#8b4513" points="469.8335,-769.7854 479.5171,-765.4868 469.2664,-762.8084 469.8335,-769.7854"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Zero -->
<g id="node28" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Zero</title>
<g id="a_node28"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Zero | defined in rsa4096_private.go:84&#10;at rsa4096_private.go:85: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M86.3633,-1192C86.3633,-1192 56.3633,-1192 56.3633,-1192 50.3633,-1192 44.3633,-1186 44.3633,-1180 44.3633,-1180 44.3633,-1168 44.3633,-1168 44.3633,-1162 50.3633,-1156 56.3633,-1156 56.3633,-1156 86.3633,-1156 86.3633,-1156 92.3633,-1156 98.3633,-1162 98.3633,-1168 98.3633,-1168 98.3633,-1180 98.3633,-1180 98.3633,-1186 92.3633,-1192 86.3633,-1192"/>
<text text-anchor="middle" x="71.3633" y="-1169.8" font-family="Verdana" font-size="14.00" fill="#000000">Zero</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Zero&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge44" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PrivateKey).Zero&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge44"><a xlink:title="at rsa4096_private.go:85: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M98.4284,-1162.4821C106.1985,-1157.8614 113.8735,-1151.7563 118.7266,-1144 156.6838,-1083.3366 105.4315,-875.8727 154.7266,-824 187.748,-789.2519 320.3467,-797.1801 367.5794,-789 401.9857,-783.0413 440.982,-775.9204 469.5325,-770.6387"/>
<polygon fill="#8b4513" stroke="#8b4513" points="470.3562,-774.0458 479.5507,-768.7816 469.0802,-767.163 470.3562,-774.0458"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).Verify -->
<g id="node29" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).Verify</title>
<g id="a_node29"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).Verify | defined in rsa4096_public.go:19&#10;at rsa4096_public.go:20: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa4096_public.go:23: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M89.3981,-1461C89.3981,-1461 53.3285,-1461 53.3285,-1461 47.3285,-1461 41.3285,-1455 41.3285,-1449 41.3285,-1449 41.3285,-1437 41.3285,-1437 41.3285,-1431 47.3285,-1425 53.3285,-1425 53.3285,-1425 89.3981,-1425 89.3981,-1425 95.3981,-1425 101.3981,-1431 101.3981,-1437 101.3981,-1437 101.3981,-1449 101.3981,-1449 101.3981,-1455 95.3981,-1461 89.3981,-1461"/>
<text text-anchor="middle" x="71.3633" y="-1438.8" font-family="Verdana" font-size="14.00" fill="#000000">Verify</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).Verify&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge33" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).Verify&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge33"><a xlink:title="at rsa4096_public.go:20: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M101.1015,-1424.9315C132.2691,-1406.275 179.3862,-1378.9367 199.0632,-1372 270.7369,-1346.7329 312.7467,-1395.6206 367.5794,-1343 398.2461,-1313.5705 437.2695,-1010.1485 447.916,-969 464.5886,-904.5606 488.3322,-830.0866 501.2405,-790.7231"/>
<polygon fill="#8b4513" stroke="#8b4513" points="504.6245,-791.6367 504.4287,-781.0437 497.9759,-789.4468 504.6245,-791.6367"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash -->
<g id="node30" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash</title>
<g id="a_node30"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash | defined in rsa4096_public.go:28&#10;at rsa4096_public.go:33: calling [github.com/samber/oops.Errorf]&#10;at rsa4096_public.go:39: calling [github.com/samber/oops.Errorf]&#10;at rsa4096_public.go:29: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa4096_public.go:43: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa4096_public.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at rsa4096_public.go:30: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes]&#10;at rsa4096_public.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M316.1206,-1420C316.1206,-1420 250.522,-1420 250.522,-1420 244.522,-1420 238.522,-1414 238.522,-1408 238.522,-1408 238.522,-1396 238.522,-1396 238.522,-1390 244.522,-1384 250.522,-1384 250.522,-1384 316.1206,-1384 316.1206,-1384 322.1206,-1384 328.1206,-1390 328.1206,-1396 328.1206,-1396 328.1206,-1408 328.1206,-1408 328.1206,-1414 322.1206,-1420 316.1206,-1420"/>
<text text-anchor="middle" x="283.3213" y="-1397.8" font-family="Verdana" font-size="14.00" fill="#000000">VerifyHash</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).Verify&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash -->
<g id="edge42" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).Verify&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash</title>
<g id="a_edge42"><a xlink:title="at rsa4096_public.go:23: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash]">
<path fill="none" stroke="#000000" d="M101.7317,-1437.1257C134.7615,-1430.7366 188.2367,-1420.3926 228.622,-1412.5807"/>
<polygon fill="#000000" stroke="#000000" points="229.4337,-1415.9887 238.587,-1410.6532 228.1043,-1409.1161 229.4337,-1415.9887"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes -->
<g id="edge47" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes</title>
<g id="a_edge47"><a xlink:title="at rsa4096_public.go:30: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.rsaPublicKeyFromBytes]">
<path fill="none" stroke="#000000" d="M328.0748,-1408.7427C396.8052,-1416.4627 528.8851,-1420.5154 610.0072,-1354 657.8959,-1314.7341 704.1606,-1127.877 720.5634,-1055.6185"/>
<polygon fill="#000000" stroke="#000000" points="724.0748,-1055.9556 722.8497,-1045.4318 717.2447,-1054.4226 724.0748,-1055.9556"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge1" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge1"><a xlink:title="at rsa4096_public.go:33: calling [github.com/samber/oops.Errorf]&#10;at rsa4096_public.go:39: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M328.0192,-1391.1452C402.5055,-1372.1695 547.2044,-1331.2391 581.0072,-1292 586.7021,-1285.3892 694.9587,-750.0138 721.1551,-620.1436"/>
<polygon fill="#8b4513" stroke="#8b4513" points="724.6199,-620.6675 723.1658,-610.1729 717.758,-619.2837 724.6199,-620.6675"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge48" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge48"><a xlink:title="at rsa4096_public.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M328.3238,-1388.2513C341.9785,-1382.5769 356.3275,-1374.9463 367.5794,-1365 419.8913,-1318.758 396.6904,-1277.4425 447.916,-1230 451.9172,-1226.2943 456.4444,-1222.9335 461.1889,-1219.9108"/>
<polygon fill="#8b4513" stroke="#8b4513" points="463.021,-1222.8942 469.8972,-1214.8339 459.4953,-1216.8468 463.021,-1222.8942"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge14" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge14"><a xlink:title="at rsa4096_public.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M328.334,-1386.048C341.5474,-1380.3766 355.6441,-1373.3017 367.5794,-1365 409.7253,-1335.685 404.693,-1309.7024 447.916,-1282 454.9436,-1277.4959 463.0084,-1273.7782 470.959,-1270.7629"/>
<polygon fill="#8b4513" stroke="#8b4513" points="472.2332,-1274.0253 480.5228,-1267.4275 469.928,-1267.4157 472.2332,-1274.0253"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge13" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).VerifyHash&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge13"><a xlink:title="at rsa4096_public.go:29: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at rsa4096_public.go:43: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M328.3205,-1391.2133C342.8012,-1385.6356 357.6514,-1377.3126 367.5794,-1365 423.9417,-1295.1 425.9217,-1056.0572 447.916,-969 464.2199,-904.4663 488.1077,-830.0293 501.1381,-790.6969"/>
<polygon fill="#8b4513" stroke="#8b4513" points="504.5199,-791.6192 504.3581,-781.0256 497.8783,-789.4079 504.5199,-791.6192"/>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).NewVerifier -->
<g id="node31" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).NewVerifier</title>
<g id="a_node31"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).NewVerifier | defined in rsa4096_public.go:61&#10;at rsa4096_public.go:62: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M106.5903,-1400C106.5903,-1400 36.1363,-1400 36.1363,-1400 30.1363,-1400 24.1363,-1394 24.1363,-1388 24.1363,-1388 24.1363,-1376 24.1363,-1376 24.1363,-1370 30.1363,-1364 36.1363,-1364 36.1363,-1364 106.5903,-1364 106.5903,-1364 112.5903,-1364 118.5903,-1370 118.5903,-1376 118.5903,-1376 118.5903,-1388 118.5903,-1388 118.5903,-1394 112.5903,-1400 106.5903,-1400"/>
<text text-anchor="middle" x="71.3633" y="-1377.8" font-family="Verdana" font-size="14.00" fill="#000000">NewVerifier</text>
</a>
</g>
</g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).NewVerifier&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge35" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/crypto/rsa.RSA4096PublicKey).NewVerifier&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge35"><a xlink:title="at rsa4096_public.go:62: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M114.019,-1363.9072C126.9021,-1359.0537 141.2164,-1354.2557 154.7266,-1351 201.027,-1339.8427 333.8924,-1359.666 367.5794,-1326 425.6666,-1267.9489 387.139,-1037.6048 410.916,-959 430.3217,-894.8465 469.949,-826.4741 492.9213,-789.862"/>
<polygon fill="#8b4513" stroke="#8b4513" points="495.9771,-791.5787 498.3804,-781.26 490.0669,-787.8278 495.9771,-791.5787"/>
</a> </a>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 77 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 166 KiB

View File

@ -66,9 +66,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/ed25519.GenerateEd25519Key --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/ed25519.GenerateEd25519Key -->
<g id="edge1" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/ed25519.GenerateEd25519Key</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/ed25519.GenerateEd25519Key</title>
<g id="a_edge1"><a xlink:title="at routerinfo_keystore.go:72: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/ed25519.GenerateEd25519Key]"> <g id="a_edge2"><a xlink:title="at routerinfo_keystore.go:72: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/ed25519.GenerateEd25519Key]">
<path fill="none" stroke="#8b4513" d="M409.8759,-34C440.0665,-34 477.0656,-34 509.9856,-34"/> <path fill="none" stroke="#8b4513" d="M409.8759,-34C440.0665,-34 477.0656,-34 509.9856,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="510.0592,-37.5001 520.0592,-34 510.0591,-30.5001 510.0592,-37.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="510.0592,-37.5001 520.0592,-34 510.0591,-30.5001 510.0592,-37.5001"/>
</a> </a>
@ -77,16 +77,16 @@
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore | defined in routerinfo_keystore.go:36&#10;at routerinfo_keystore.go:46: calling [github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey]&#10;at routerinfo_keystore.go:61: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper]&#10;at routerinfo_keystore.go:55: calling [github.com/go&#45;i2p/go&#45;i2p/lib/keys.loadExistingKey]"> <g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore | defined in routerinfo_keystore.go:36&#10;at routerinfo_keystore.go:61: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper]&#10;at routerinfo_keystore.go:55: calling [github.com/go&#45;i2p/go&#45;i2p/lib/keys.loadExistingKey]&#10;at routerinfo_keystore.go:46: calling [github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M166.575,-113C166.575,-113 27.808,-113 27.808,-113 21.808,-113 15.808,-107 15.808,-101 15.808,-101 15.808,-89 15.808,-89 15.808,-83 21.808,-77 27.808,-77 27.808,-77 166.575,-77 166.575,-77 172.575,-77 178.575,-83 178.575,-89 178.575,-89 178.575,-101 178.575,-101 178.575,-107 172.575,-113 166.575,-113"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M166.575,-113C166.575,-113 27.808,-113 27.808,-113 21.808,-113 15.808,-107 15.808,-101 15.808,-101 15.808,-89 15.808,-89 15.808,-83 21.808,-77 27.808,-77 27.808,-77 166.575,-77 166.575,-77 172.575,-77 178.575,-83 178.575,-89 178.575,-89 178.575,-101 178.575,-101 178.575,-107 172.575,-113 166.575,-113"/>
<text text-anchor="middle" x="97.1915" y="-90.8" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterInfoKeystore</text> <text text-anchor="middle" x="97.1915" y="-90.8" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterInfoKeystore</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey -->
<g id="edge6" class="edge"> <g id="edge15" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey</title>
<g id="a_edge6"><a xlink:title="at routerinfo_keystore.go:46: calling [github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey]"> <g id="a_edge15"><a xlink:title="at routerinfo_keystore.go:46: calling [github.com/go&#45;i2p/go&#45;i2p/lib/keys.generateNewKey]">
<path fill="none" stroke="#000000" d="M171.8059,-76.9456C205.49,-68.795 245.0892,-59.2132 278.3268,-51.1707"/> <path fill="none" stroke="#000000" d="M171.8059,-76.9456C205.49,-68.795 245.0892,-59.2132 278.3268,-51.1707"/>
<polygon fill="#000000" stroke="#000000" points="279.5277,-54.4812 288.424,-48.7275 277.8814,-47.6776 279.5277,-54.4812"/> <polygon fill="#000000" stroke="#000000" points="279.5277,-54.4812 288.424,-48.7275 277.8814,-47.6776 279.5277,-54.4812"/>
</a> </a>
@ -103,9 +103,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper -->
<g id="edge7" class="edge"> <g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper</title>
<g id="a_edge7"><a xlink:title="at routerinfo_keystore.go:61: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper]"> <g id="a_edge3"><a xlink:title="at routerinfo_keystore.go:61: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper]">
<path fill="none" stroke="#8b4513" d="M178.6922,-95C203.9647,-95 231.9791,-95 257.8783,-95"/> <path fill="none" stroke="#8b4513" d="M178.6922,-95C203.9647,-95 231.9791,-95 257.8783,-95"/>
<polygon fill="#8b4513" stroke="#8b4513" points="258.069,-98.5001 268.069,-95 258.0689,-91.5001 258.069,-98.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="258.069,-98.5001 268.069,-95 258.0689,-91.5001 258.069,-98.5001"/>
</a> </a>
@ -121,9 +121,9 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/keys.loadExistingKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/keys.loadExistingKey -->
<g id="edge8" class="edge"> <g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/keys.loadExistingKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/keys.NewRouterInfoKeystore&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/keys.loadExistingKey</title>
<g id="a_edge8"><a xlink:title="at routerinfo_keystore.go:55: calling [github.com/go&#45;i2p/go&#45;i2p/lib/keys.loadExistingKey]"> <g id="a_edge4"><a xlink:title="at routerinfo_keystore.go:55: calling [github.com/go&#45;i2p/go&#45;i2p/lib/keys.loadExistingKey]">
<path fill="none" stroke="#000000" d="M171.8059,-113.0544C206.1638,-121.368 246.6757,-131.1707 280.3135,-139.31"/> <path fill="none" stroke="#000000" d="M171.8059,-113.0544C206.1638,-121.368 246.6757,-131.1707 280.3135,-139.31"/>
<polygon fill="#000000" stroke="#000000" points="279.5188,-142.7186 290.0615,-141.6687 281.1651,-135.915 279.5188,-142.7186"/> <polygon fill="#000000" stroke="#000000" points="279.5188,-142.7186 290.0615,-141.6687 281.1651,-135.915 279.5188,-142.7186"/>
</a> </a>
@ -208,90 +208,117 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.KeyStoreImpl).StoreKeys&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.KeyStoreImpl).KeyID --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.KeyStoreImpl).StoreKeys&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.KeyStoreImpl).KeyID -->
<g id="edge14" class="edge"> <g id="edge6" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.KeyStoreImpl).StoreKeys&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.KeyStoreImpl).KeyID</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.KeyStoreImpl).StoreKeys&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.KeyStoreImpl).KeyID</title>
<g id="a_edge14"><a xlink:title="at types.go:65: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.KeyStoreImpl).KeyID]"> <g id="a_edge6"><a xlink:title="at types.go:65: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.KeyStoreImpl).KeyID]">
<path fill="none" stroke="#000000" d="M138.538,-234C185.2893,-234 260.9744,-234 307.789,-234"/> <path fill="none" stroke="#000000" d="M138.538,-234C185.2893,-234 260.9744,-234 307.789,-234"/>
<polygon fill="#000000" stroke="#000000" points="307.8904,-237.5001 317.8903,-234 307.8903,-230.5001 307.8904,-237.5001"/> <polygon fill="#000000" stroke="#000000" points="307.8904,-237.5001 317.8903,-234 307.8903,-230.5001 307.8904,-237.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).StoreKeys -->
<g id="node14" class="node"> <g id="node14" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).StoreKeys</title>
<g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).StoreKeys | defined in routerinfo_keystore.go:94&#10;at routerinfo_keystore.go:102: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M126.5063,-338C126.5063,-338 67.8767,-338 67.8767,-338 61.8767,-338 55.8767,-332 55.8767,-326 55.8767,-326 55.8767,-314 55.8767,-314 55.8767,-308 61.8767,-302 67.8767,-302 67.8767,-302 126.5063,-302 126.5063,-302 132.5063,-302 138.5063,-308 138.5063,-314 138.5063,-314 138.5063,-326 138.5063,-326 138.5063,-332 132.5063,-338 126.5063,-338"/>
<text text-anchor="middle" x="97.1915" y="-315.8" font-family="Verdana" font-size="14.00" fill="#000000">StoreKeys</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID -->
<g id="node15" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID</title>
<g id="a_node15"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID | defined in routerinfo_keystore.go:106">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M368.3776,-338C368.3776,-338 330.2006,-338 330.2006,-338 324.2006,-338 318.2006,-332 318.2006,-326 318.2006,-326 318.2006,-314 318.2006,-314 318.2006,-308 324.2006,-302 330.2006,-302 330.2006,-302 368.3776,-302 368.3776,-302 374.3776,-302 380.3776,-308 380.3776,-314 380.3776,-314 380.3776,-326 380.3776,-326 380.3776,-332 374.3776,-338 368.3776,-338"/>
<text text-anchor="middle" x="349.2891" y="-315.8" font-family="Verdana" font-size="14.00" fill="#000000">KeyID</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).StoreKeys&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID -->
<g id="edge7" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).StoreKeys&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID</title>
<g id="a_edge7"><a xlink:title="at routerinfo_keystore.go:102: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID]">
<path fill="none" stroke="#000000" d="M138.538,-320C185.2893,-320 260.9744,-320 307.789,-320"/>
<polygon fill="#000000" stroke="#000000" points="307.8904,-323.5001 317.8903,-320 307.8903,-316.5001 307.8904,-323.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo -->
<g id="node16" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo</title>
<g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo | defined in routerinfo_keystore.go:121&#10;at routerinfo_keystore.go:141: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType]&#10;at routerinfo_keystore.go:147: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate]&#10;at routerinfo_keystore.go:152: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]&#10;at routerinfo_keystore.go:173: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime]&#10;at routerinfo_keystore.go:123: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys]&#10;at routerinfo_keystore.go:130: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]&#10;at routerinfo_keystore.go:134: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]&#10;at routerinfo_keystore.go:125: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:132: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:136: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:143: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:149: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:158: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:169: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:190: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:153: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]&#10;at routerinfo_keystore.go:181: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.NewRouterInfo]&#10;at routerinfo_keystore.go:162: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity]"> <g id="a_node16"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo | defined in routerinfo_keystore.go:120&#10;at routerinfo_keystore.go:161: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity]&#10;at routerinfo_keystore.go:122: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys]&#10;at routerinfo_keystore.go:140: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType]&#10;at routerinfo_keystore.go:172: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime]&#10;at routerinfo_keystore.go:124: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:131: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:135: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:142: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:148: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:157: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:168: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:189: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:146: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate]&#10;at routerinfo_keystore.go:151: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]&#10;at routerinfo_keystore.go:152: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]&#10;at routerinfo_keystore.go:180: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.NewRouterInfo]&#10;at routerinfo_keystore.go:129: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]&#10;at routerinfo_keystore.go:133: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M155.0528,-399C155.0528,-399 39.3302,-399 39.3302,-399 33.3302,-399 27.3302,-393 27.3302,-387 27.3302,-387 27.3302,-375 27.3302,-375 27.3302,-369 33.3302,-363 39.3302,-363 39.3302,-363 155.0528,-363 155.0528,-363 161.0528,-363 167.0528,-369 167.0528,-375 167.0528,-375 167.0528,-387 167.0528,-387 167.0528,-393 161.0528,-399 155.0528,-399"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M155.0528,-399C155.0528,-399 39.3302,-399 39.3302,-399 33.3302,-399 27.3302,-393 27.3302,-387 27.3302,-387 27.3302,-375 27.3302,-375 27.3302,-369 33.3302,-363 39.3302,-363 39.3302,-363 155.0528,-363 155.0528,-363 161.0528,-363 167.0528,-369 167.0528,-375 167.0528,-375 167.0528,-387 167.0528,-387 167.0528,-393 161.0528,-399 155.0528,-399"/>
<text text-anchor="middle" x="97.1915" y="-376.8" font-family="Verdana" font-size="14.00" fill="#000000">ConstructRouterInfo</text> <text text-anchor="middle" x="97.1915" y="-376.8" font-family="Verdana" font-size="14.00" fill="#000000">ConstructRouterInfo</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/samber/oops.Errorf --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge11" class="edge"> <g id="edge10" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/samber/oops.Errorf</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge11"><a xlink:title="at routerinfo_keystore.go:125: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:132: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:136: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:143: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:149: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:158: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:169: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:190: calling [github.com/samber/oops.Errorf]"> <g id="a_edge10"><a xlink:title="at routerinfo_keystore.go:124: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:131: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:135: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:142: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:148: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:157: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:168: calling [github.com/samber/oops.Errorf]&#10;at routerinfo_keystore.go:189: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M167.08,-397.9109C213.1652,-409.0621 271.84,-423.2597 309.9668,-432.4852"/> <path fill="none" stroke="#8b4513" d="M167.08,-397.9109C213.1652,-409.0621 271.84,-423.2597 309.9668,-432.4852"/>
<polygon fill="#8b4513" stroke="#8b4513" points="309.6054,-435.9987 320.1481,-434.9488 311.2518,-429.195 309.6054,-435.9987"/> <polygon fill="#8b4513" stroke="#8b4513" points="309.6054,-435.9987 320.1481,-434.9488 311.2518,-429.195 309.6054,-435.9987"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt -->
<g id="edge10" class="edge"> <g id="edge16" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt</title>
<g id="a_edge10"><a xlink:title="at routerinfo_keystore.go:130: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]&#10;at routerinfo_keystore.go:134: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]"> <g id="a_edge16"><a xlink:title="at routerinfo_keystore.go:129: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]&#10;at routerinfo_keystore.go:133: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/data.NewIntegerFromInt]">
<path fill="none" stroke="#8b4513" d="M123.1572,-399.1526C152.9874,-419.3634 203.9423,-451.9481 251.383,-473 258.3525,-476.0928 265.735,-478.9913 273.1963,-481.6739"/> <path fill="none" stroke="#8b4513" d="M123.1572,-399.1526C152.9874,-419.3634 203.9423,-451.9481 251.383,-473 258.3525,-476.0928 265.735,-478.9913 273.1963,-481.6739"/>
<polygon fill="#8b4513" stroke="#8b4513" points="272.0695,-484.9875 282.6643,-484.9547 274.3614,-478.3734 272.0695,-484.9875"/> <polygon fill="#8b4513" stroke="#8b4513" points="272.0695,-484.9875 282.6643,-484.9547 274.3614,-478.3734 272.0695,-484.9875"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType -->
<g id="edge2" class="edge"> <g id="edge8" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType</title>
<g id="a_edge2"><a xlink:title="at routerinfo_keystore.go:141: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType]"> <g id="a_edge8"><a xlink:title="at routerinfo_keystore.go:140: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/certificate.NewCertificateWithType]">
<path fill="none" stroke="#8b4513" d="M110.5872,-399.178C135.0387,-431.0938 190.0671,-497.2932 251.383,-534 256.3177,-536.9541 261.5687,-539.6407 266.9773,-542.0802"/> <path fill="none" stroke="#8b4513" d="M110.5872,-399.178C135.0387,-431.0938 190.0671,-497.2932 251.383,-534 256.3177,-536.9541 261.5687,-539.6407 266.9773,-542.0802"/>
<polygon fill="#8b4513" stroke="#8b4513" points="265.6254,-545.3085 276.2004,-545.9561 268.3373,-538.8552 265.6254,-545.3085"/> <polygon fill="#8b4513" stroke="#8b4513" points="265.6254,-545.3085 276.2004,-545.9561 268.3373,-538.8552 265.6254,-545.3085"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate -->
<g id="edge3" class="edge"> <g id="edge11" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title>
<g id="a_edge3"><a xlink:title="at routerinfo_keystore.go:147: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate]"> <g id="a_edge11"><a xlink:title="at routerinfo_keystore.go:146: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificateFromCertificate]">
<path fill="none" stroke="#8b4513" d="M105.2684,-399.2715C124.4441,-440.5391 176.7586,-541.5127 251.383,-595 255.2437,-597.7672 259.365,-600.2835 263.6505,-602.5712"/> <path fill="none" stroke="#8b4513" d="M105.2684,-399.2715C124.4441,-440.5391 176.7586,-541.5127 251.383,-595 255.2437,-597.7672 259.365,-600.2835 263.6505,-602.5712"/>
<polygon fill="#8b4513" stroke="#8b4513" points="262.1237,-605.7207 272.6467,-606.9531 265.1891,-599.4275 262.1237,-605.7207"/> <polygon fill="#8b4513" stroke="#8b4513" points="262.1237,-605.7207 272.6467,-606.9531 265.1891,-599.4275 262.1237,-605.7207"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity -->
<g id="edge16" class="edge"> <g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity</title>
<g id="a_edge16"><a xlink:title="at routerinfo_keystore.go:162: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity]"> <g id="a_edge1"><a xlink:title="at routerinfo_keystore.go:161: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_identity.NewRouterIdentity]">
<path fill="none" stroke="#8b4513" d="M102.1769,-399.1952C116.5795,-448.3171 162.9659,-584.7115 251.383,-656 258.0476,-661.3735 265.6693,-665.787 273.6522,-669.4114"/> <path fill="none" stroke="#8b4513" d="M102.1769,-399.1952C116.5795,-448.3171 162.9659,-584.7115 251.383,-656 258.0476,-661.3735 265.6693,-665.787 273.6522,-669.4114"/>
<polygon fill="#8b4513" stroke="#8b4513" points="272.5737,-672.7521 283.1536,-673.314 275.2333,-666.277 272.5737,-672.7521"/> <polygon fill="#8b4513" stroke="#8b4513" points="272.5737,-672.7521 283.1536,-673.314 275.2333,-666.277 272.5737,-672.7521"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.NewRouterInfo --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.NewRouterInfo -->
<g id="edge13" class="edge"> <g id="edge14" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.NewRouterInfo</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.NewRouterInfo</title>
<g id="a_edge13"><a xlink:title="at routerinfo_keystore.go:181: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.NewRouterInfo]"> <g id="a_edge14"><a xlink:title="at routerinfo_keystore.go:180: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.NewRouterInfo]">
<path fill="none" stroke="#8b4513" d="M100.1446,-399.0269C110.2618,-454.9599 148.7515,-627.1761 251.383,-717 260.5801,-725.0494 271.8986,-730.9391 283.5356,-735.2484"/> <path fill="none" stroke="#8b4513" d="M100.1446,-399.0269C110.2618,-454.9599 148.7515,-627.1761 251.383,-717 260.5801,-725.0494 271.8986,-730.9391 283.5356,-735.2484"/>
<polygon fill="#8b4513" stroke="#8b4513" points="282.7525,-738.6764 293.346,-738.5094 284.9605,-732.0337 282.7525,-738.6764"/> <polygon fill="#8b4513" stroke="#8b4513" points="282.7525,-738.6764 293.346,-738.5094 284.9605,-732.0337 282.7525,-738.6764"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys -->
<g id="node15" class="node"> <g id="node17" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys</title>
<g id="a_node15"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys | defined in routerinfo_keystore.go:87"> <g id="a_node17"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys | defined in routerinfo_keystore.go:86">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M373.7667,-399C373.7667,-399 324.8115,-399 324.8115,-399 318.8115,-399 312.8115,-393 312.8115,-387 312.8115,-387 312.8115,-375 312.8115,-375 312.8115,-369 318.8115,-363 324.8115,-363 324.8115,-363 373.7667,-363 373.7667,-363 379.7667,-363 385.7667,-369 385.7667,-375 385.7667,-375 385.7667,-387 385.7667,-387 385.7667,-393 379.7667,-399 373.7667,-399"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M373.7667,-399C373.7667,-399 324.8115,-399 324.8115,-399 318.8115,-399 312.8115,-393 312.8115,-387 312.8115,-387 312.8115,-375 312.8115,-375 312.8115,-369 318.8115,-363 324.8115,-363 324.8115,-363 373.7667,-363 373.7667,-363 379.7667,-363 385.7667,-369 385.7667,-375 385.7667,-375 385.7667,-387 385.7667,-387 385.7667,-393 379.7667,-399 373.7667,-399"/>
<text text-anchor="middle" x="349.2891" y="-376.8" font-family="Verdana" font-size="14.00" fill="#000000">GetKeys</text> <text text-anchor="middle" x="349.2891" y="-376.8" font-family="Verdana" font-size="14.00" fill="#000000">GetKeys</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys -->
<g id="edge9" class="edge"> <g id="edge5" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys</title>
<g id="a_edge9"><a xlink:title="at routerinfo_keystore.go:123: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys]"> <g id="a_edge5"><a xlink:title="at routerinfo_keystore.go:122: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).GetKeys]">
<path fill="none" stroke="#000000" d="M167.08,-381C210.2349,-381 264.4294,-381 302.4534,-381"/> <path fill="none" stroke="#000000" d="M167.08,-381C210.2349,-381 264.4294,-381 302.4534,-381"/>
<polygon fill="#000000" stroke="#000000" points="302.7267,-384.5001 312.7267,-381 302.7266,-377.5001 302.7267,-384.5001"/> <polygon fill="#000000" stroke="#000000" points="302.7267,-384.5001 312.7267,-381 302.7266,-377.5001 302.7267,-384.5001"/>
</a> </a>
@ -308,9 +335,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime -->
<g id="edge5" class="edge"> <g id="edge9" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime</title>
<g id="a_edge5"><a xlink:title="at routerinfo_keystore.go:173: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime]"> <g id="a_edge9"><a xlink:title="at routerinfo_keystore.go:172: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime]">
<path fill="none" stroke="#8b4513" d="M98.3907,-399.4173C103.1159,-459.3916 124.8601,-652.392 214.383,-777 229.877,-798.5663 255.9295,-810.4922 281.0313,-817.0679"/> <path fill="none" stroke="#8b4513" d="M98.3907,-399.4173C103.1159,-459.3916 124.8601,-652.392 214.383,-777 229.877,-798.5663 255.9295,-810.4922 281.0313,-817.0679"/>
<polygon fill="#8b4513" stroke="#8b4513" points="280.4133,-820.5182 290.9504,-819.4138 282.0244,-813.7061 280.4133,-820.5182"/> <polygon fill="#8b4513" stroke="#8b4513" points="280.4133,-820.5182 290.9504,-819.4138 282.0244,-813.7061 280.4133,-820.5182"/>
</a> </a>
@ -327,9 +354,9 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize -->
<g id="edge4" class="edge"> <g id="edge12" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title>
<g id="a_edge4"><a xlink:title="at routerinfo_keystore.go:152: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]"> <g id="a_edge12"><a xlink:title="at routerinfo_keystore.go:151: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]">
<path fill="none" stroke="#8b4513" d="M100.8634,-399.2164C117.0358,-477.8466 184.1015,-787.3271 251.383,-857 263.5568,-869.6065 279.3207,-880.0373 294.6285,-888.2592"/> <path fill="none" stroke="#8b4513" d="M100.8634,-399.2164C117.0358,-477.8466 184.1015,-787.3271 251.383,-857 263.5568,-869.6065 279.3207,-880.0373 294.6285,-888.2592"/>
<polygon fill="#8b4513" stroke="#8b4513" points="293.0637,-891.3901 303.5582,-892.8446 296.2613,-885.1631 293.0637,-891.3901"/> <polygon fill="#8b4513" stroke="#8b4513" points="293.0637,-891.3901 303.5582,-892.8446 296.2613,-885.1631 293.0637,-891.3901"/>
</a> </a>
@ -346,40 +373,13 @@
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize -->
<g id="edge12" class="edge"> <g id="edge13" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title>
<g id="a_edge12"><a xlink:title="at routerinfo_keystore.go:153: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]"> <g id="a_edge13"><a xlink:title="at routerinfo_keystore.go:152: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]">
<path fill="none" stroke="#8b4513" d="M99.814,-399.2223C112.7051,-486.4192 171.9458,-860.2164 251.383,-942 260.7106,-951.6031 273.0223,-958.1524 285.7555,-962.6135"/> <path fill="none" stroke="#8b4513" d="M99.814,-399.2223C112.7051,-486.4192 171.9458,-860.2164 251.383,-942 260.7106,-951.6031 273.0223,-958.1524 285.7555,-962.6135"/>
<polygon fill="#8b4513" stroke="#8b4513" points="284.9448,-966.0262 295.5324,-965.634 287.011,-959.3381 284.9448,-966.0262"/> <polygon fill="#8b4513" stroke="#8b4513" points="284.9448,-966.0262 295.5324,-965.634 287.011,-959.3381 284.9448,-966.0262"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).StoreKeys -->
<g id="node16" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).StoreKeys</title>
<g id="a_node16"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).StoreKeys | defined in routerinfo_keystore.go:95&#10;at routerinfo_keystore.go:103: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M126.5063,-338C126.5063,-338 67.8767,-338 67.8767,-338 61.8767,-338 55.8767,-332 55.8767,-326 55.8767,-326 55.8767,-314 55.8767,-314 55.8767,-308 61.8767,-302 67.8767,-302 67.8767,-302 126.5063,-302 126.5063,-302 132.5063,-302 138.5063,-308 138.5063,-314 138.5063,-314 138.5063,-326 138.5063,-326 138.5063,-332 132.5063,-338 126.5063,-338"/>
<text text-anchor="middle" x="97.1915" y="-315.8" font-family="Verdana" font-size="14.00" fill="#000000">StoreKeys</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID -->
<g id="node17" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID</title>
<g id="a_node17"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID | defined in routerinfo_keystore.go:107">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M368.3776,-338C368.3776,-338 330.2006,-338 330.2006,-338 324.2006,-338 318.2006,-332 318.2006,-326 318.2006,-326 318.2006,-314 318.2006,-314 318.2006,-308 324.2006,-302 330.2006,-302 330.2006,-302 368.3776,-302 368.3776,-302 374.3776,-302 380.3776,-308 380.3776,-314 380.3776,-314 380.3776,-326 380.3776,-326 380.3776,-332 374.3776,-338 368.3776,-338"/>
<text text-anchor="middle" x="349.2891" y="-315.8" font-family="Verdana" font-size="14.00" fill="#000000">KeyID</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).StoreKeys&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID -->
<g id="edge15" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).StoreKeys&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID</title>
<g id="a_edge15"><a xlink:title="at routerinfo_keystore.go:103: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/keys.RouterInfoKeystore).KeyID]">
<path fill="none" stroke="#000000" d="M138.538,-320C185.2893,-320 260.9744,-320 307.789,-320"/>
<polygon fill="#000000" stroke="#000000" points="307.8904,-323.5001 317.8903,-320 307.8903,-316.5001 307.8904,-323.5001"/>
</a>
</g>
</g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 114 KiB

View File

@ -8,6 +8,13 @@
## Usage ## Usage
```go
const (
DefaultDialTimeout = 5 * 1000 // 5 seconds
DefaultKeepAlive = 5 * 1000 // 5 seconds
)
```
```go ```go
const ( const (
I2pUserAgent = "Wget/1.11.4" I2pUserAgent = "Wget/1.11.4"
@ -23,6 +30,12 @@ type Reseed struct {
``` ```
#### func NewReseed
```go
func NewReseed() *Reseed
```
#### func (Reseed) SingleReseed #### func (Reseed) SingleReseed
```go ```go

View File

@ -54,38 +54,10 @@
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.init -->
<g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.init</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.init | defined in .:0&#10;at reseed.go:21: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M89.1017,-52C89.1017,-52 59.1017,-52 59.1017,-52 53.1017,-52 47.1017,-46 47.1017,-40 47.1017,-40 47.1017,-28 47.1017,-28 47.1017,-22 53.1017,-16 59.1017,-16 59.1017,-16 89.1017,-16 89.1017,-16 95.1017,-16 101.1017,-22 101.1017,-28 101.1017,-28 101.1017,-40 101.1017,-40 101.1017,-46 95.1017,-52 89.1017,-52"/>
<text text-anchor="middle" x="74.1017" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M306.4876,-52C306.4876,-52 209.1086,-52 209.1086,-52 203.1086,-52 197.1086,-46 197.1086,-40 197.1086,-40 197.1086,-28 197.1086,-28 197.1086,-22 203.1086,-16 209.1086,-16 209.1086,-16 306.4876,-16 306.4876,-16 312.4876,-16 318.4876,-22 318.4876,-28 318.4876,-28 318.4876,-40 318.4876,-40 318.4876,-46 312.4876,-52 306.4876,-52"/>
<text text-anchor="middle" x="257.7981" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="257.7981" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge6"><a xlink:title="at reseed.go:21: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M101.2067,-34C123.8024,-34 157.0344,-34 187.0776,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="187.124,-37.5001 197.124,-34 187.124,-30.5001 187.124,-37.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read -->
<g id="node3" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read | defined in su3.go:208"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read | defined in su3.go:208">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M272.7981,-113C272.7981,-113 242.7981,-113 242.7981,-113 236.7981,-113 230.7981,-107 230.7981,-101 230.7981,-101 230.7981,-89 230.7981,-89 230.7981,-83 236.7981,-77 242.7981,-77 242.7981,-77 272.7981,-77 272.7981,-77 278.7981,-77 284.7981,-83 284.7981,-89 284.7981,-89 284.7981,-101 284.7981,-101 284.7981,-107 278.7981,-113 272.7981,-113"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M272.7981,-113C272.7981,-113 242.7981,-113 242.7981,-113 236.7981,-113 230.7981,-107 230.7981,-101 230.7981,-101 230.7981,-89 230.7981,-89 230.7981,-83 236.7981,-77 242.7981,-77 242.7981,-77 272.7981,-77 272.7981,-77 278.7981,-77 284.7981,-83 284.7981,-89 284.7981,-89 284.7981,-101 284.7981,-101 284.7981,-107 278.7981,-113 272.7981,-113"/>
<text text-anchor="middle" x="257.7981" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">su3</text> <text text-anchor="middle" x="257.7981" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">su3</text>
<text text-anchor="middle" x="257.7981" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">Read</text> <text text-anchor="middle" x="257.7981" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">Read</text>
@ -93,9 +65,9 @@
</g> </g>
</g> </g>
<!-- github.com/samber/oops.Errorf --> <!-- github.com/samber/oops.Errorf -->
<g id="node4" class="node"> <g id="node2" class="node">
<title>github.com/samber/oops.Errorf</title> <title>github.com/samber/oops.Errorf</title>
<g id="a_node4"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34"> <g id="a_node2"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M274.9934,-174C274.9934,-174 240.6028,-174 240.6028,-174 234.6028,-174 228.6028,-168 228.6028,-162 228.6028,-162 228.6028,-150 228.6028,-150 228.6028,-144 234.6028,-138 240.6028,-138 240.6028,-138 274.9934,-138 274.9934,-138 280.9934,-138 286.9934,-144 286.9934,-150 286.9934,-150 286.9934,-162 286.9934,-162 286.9934,-168 280.9934,-174 274.9934,-174"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M274.9934,-174C274.9934,-174 240.6028,-174 240.6028,-174 234.6028,-174 228.6028,-168 228.6028,-162 228.6028,-162 228.6028,-150 228.6028,-150 228.6028,-144 234.6028,-138 240.6028,-138 240.6028,-138 274.9934,-138 274.9934,-138 280.9934,-138 286.9934,-144 286.9934,-150 286.9934,-150 286.9934,-162 286.9934,-162 286.9934,-168 280.9934,-174 274.9934,-174"/>
<text text-anchor="middle" x="257.7981" y="-160.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text> <text text-anchor="middle" x="257.7981" y="-160.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="257.7981" y="-143.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text> <text text-anchor="middle" x="257.7981" y="-143.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
@ -103,9 +75,9 @@
</g> </g>
</g> </g>
<!-- github.com/eyedeekay/go&#45;unzip/pkg/unzip.New --> <!-- github.com/eyedeekay/go&#45;unzip/pkg/unzip.New -->
<g id="node5" class="node"> <g id="node3" class="node">
<title>github.com/eyedeekay/go&#45;unzip/pkg/unzip.New</title> <title>github.com/eyedeekay/go&#45;unzip/pkg/unzip.New</title>
<g id="a_node5"><a xlink:title="github.com/eyedeekay/go&#45;unzip/pkg/unzip.New | defined in unzip.go:18"> <g id="a_node3"><a xlink:title="github.com/eyedeekay/go&#45;unzip/pkg/unzip.New | defined in unzip.go:18">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M273.4034,-235C273.4034,-235 242.1928,-235 242.1928,-235 236.1928,-235 230.1928,-229 230.1928,-223 230.1928,-223 230.1928,-211 230.1928,-211 230.1928,-205 236.1928,-199 242.1928,-199 242.1928,-199 273.4034,-199 273.4034,-199 279.4034,-199 285.4034,-205 285.4034,-211 285.4034,-211 285.4034,-223 285.4034,-223 285.4034,-229 279.4034,-235 273.4034,-235"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M273.4034,-235C273.4034,-235 242.1928,-235 242.1928,-235 236.1928,-235 230.1928,-229 230.1928,-223 230.1928,-223 230.1928,-211 230.1928,-211 230.1928,-205 236.1928,-199 242.1928,-199 242.1928,-199 273.4034,-199 273.4034,-199 279.4034,-199 285.4034,-205 285.4034,-211 285.4034,-211 285.4034,-223 285.4034,-223 285.4034,-229 279.4034,-235 273.4034,-235"/>
<text text-anchor="middle" x="257.7981" y="-221.2" font-family="Verdana" font-size="14.00" fill="#000000">unzip</text> <text text-anchor="middle" x="257.7981" y="-221.2" font-family="Verdana" font-size="14.00" fill="#000000">unzip</text>
<text text-anchor="middle" x="257.7981" y="-204.4" font-family="Verdana" font-size="14.00" fill="#000000">New</text> <text text-anchor="middle" x="257.7981" y="-204.4" font-family="Verdana" font-size="14.00" fill="#000000">New</text>
@ -113,15 +85,43 @@
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo -->
<g id="node6" class="node"> <g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo | defined in router_info.go:235"> <g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo | defined in router_info.go:235">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M302.9877,-296C302.9877,-296 212.6085,-296 212.6085,-296 206.6085,-296 200.6085,-290 200.6085,-284 200.6085,-284 200.6085,-272 200.6085,-272 200.6085,-266 206.6085,-260 212.6085,-260 212.6085,-260 302.9877,-260 302.9877,-260 308.9877,-260 314.9877,-266 314.9877,-272 314.9877,-272 314.9877,-284 314.9877,-284 314.9877,-290 308.9877,-296 302.9877,-296"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M302.9877,-296C302.9877,-296 212.6085,-296 212.6085,-296 206.6085,-296 200.6085,-290 200.6085,-284 200.6085,-284 200.6085,-272 200.6085,-272 200.6085,-266 206.6085,-260 212.6085,-260 212.6085,-260 302.9877,-260 302.9877,-260 308.9877,-260 314.9877,-266 314.9877,-272 314.9877,-272 314.9877,-284 314.9877,-284 314.9877,-290 308.9877,-296 302.9877,-296"/>
<text text-anchor="middle" x="257.7981" y="-282.2" font-family="Verdana" font-size="14.00" fill="#000000">router_info</text> <text text-anchor="middle" x="257.7981" y="-282.2" font-family="Verdana" font-size="14.00" fill="#000000">router_info</text>
<text text-anchor="middle" x="257.7981" y="-265.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadRouterInfo</text> <text text-anchor="middle" x="257.7981" y="-265.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadRouterInfo</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.init -->
<g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.init</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.init | defined in .:0&#10;at reseed.go:21: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M89.1017,-52C89.1017,-52 59.1017,-52 59.1017,-52 53.1017,-52 47.1017,-46 47.1017,-40 47.1017,-40 47.1017,-28 47.1017,-28 47.1017,-22 53.1017,-16 59.1017,-16 59.1017,-16 89.1017,-16 89.1017,-16 95.1017,-16 101.1017,-22 101.1017,-28 101.1017,-28 101.1017,-40 101.1017,-40 101.1017,-46 95.1017,-52 89.1017,-52"/>
<text text-anchor="middle" x="74.1017" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="node6" class="node">
<title>github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_node6"><a xlink:title="github.com/go&#45;i2p/logger.GetGoI2PLogger | defined in log.go:120">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M306.4876,-52C306.4876,-52 209.1086,-52 209.1086,-52 203.1086,-52 197.1086,-46 197.1086,-40 197.1086,-40 197.1086,-28 197.1086,-28 197.1086,-22 203.1086,-16 209.1086,-16 209.1086,-16 306.4876,-16 306.4876,-16 312.4876,-16 318.4876,-22 318.4876,-28 318.4876,-28 318.4876,-40 318.4876,-40 318.4876,-46 312.4876,-52 306.4876,-52"/>
<text text-anchor="middle" x="257.7981" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
<text text-anchor="middle" x="257.7981" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger -->
<g id="edge7" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.init&#45;&gt;github.com/go&#45;i2p/logger.GetGoI2PLogger</title>
<g id="a_edge7"><a xlink:title="at reseed.go:21: calling [github.com/go&#45;i2p/logger.GetGoI2PLogger]">
<path fill="none" stroke="#8b4513" d="M101.2067,-34C123.8024,-34 157.0344,-34 187.0776,-34"/>
<polygon fill="#8b4513" stroke="#8b4513" points="187.124,-37.5001 197.124,-34 187.124,-30.5001 187.124,-37.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Content --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Content -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Content</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Content</title>
@ -225,43 +225,43 @@
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed -->
<g id="node17" class="node"> <g id="node17" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed</title>
<g id="a_node17"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed | defined in reseed.go:31&#10;at reseed.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:99: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:119: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:68: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:99: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:119: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:59: calling [github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read]&#10;at reseed.go:74: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Signature]&#10;at reseed.go:89: calling [github.com/eyedeekay/go&#45;unzip/pkg/unzip.New]&#10;at reseed.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:61: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:123: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:85: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:95: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:65: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at reseed.go:89: calling [(github.com/eyedeekay/go&#45;unzip/pkg/unzip.Unzip).Extract]&#10;at reseed.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:61: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:85: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:117: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:124: calling [github.com/samber/oops.Errorf]&#10;at reseed.go:96: calling [github.com/samber/oops.Errorf]&#10;at reseed.go:79: calling [(*github.com/sirupsen/logrus.Logger).Println]&#10;at reseed.go:80: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:117: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:72: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Content]&#10;at reseed.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo]"> <g id="a_node17"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed | defined in reseed.go:31&#10;at reseed.go:74: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Signature]&#10;at reseed.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo]&#10;at reseed.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:68: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:99: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:119: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:61: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:123: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:85: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:95: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:79: calling [(*github.com/sirupsen/logrus.Logger).Println]&#10;at reseed.go:80: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:117: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:61: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:85: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:117: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:65: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]&#10;at reseed.go:124: calling [github.com/samber/oops.Errorf]&#10;at reseed.go:96: calling [github.com/samber/oops.Errorf]&#10;at reseed.go:89: calling [(github.com/eyedeekay/go&#45;unzip/pkg/unzip.Unzip).Extract]&#10;at reseed.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:99: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:119: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:59: calling [github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read]&#10;at reseed.go:72: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Content]&#10;at reseed.go:89: calling [github.com/eyedeekay/go&#45;unzip/pkg/unzip.New]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M112.3053,-551C112.3053,-551 35.8981,-551 35.8981,-551 29.8981,-551 23.8981,-545 23.8981,-539 23.8981,-539 23.8981,-527 23.8981,-527 23.8981,-521 29.8981,-515 35.8981,-515 35.8981,-515 112.3053,-515 112.3053,-515 118.3053,-515 124.3053,-521 124.3053,-527 124.3053,-527 124.3053,-539 124.3053,-539 124.3053,-545 118.3053,-551 112.3053,-551"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M112.3053,-551C112.3053,-551 35.8981,-551 35.8981,-551 29.8981,-551 23.8981,-545 23.8981,-539 23.8981,-539 23.8981,-527 23.8981,-527 23.8981,-521 29.8981,-515 35.8981,-515 35.8981,-515 112.3053,-515 112.3053,-515 118.3053,-515 124.3053,-521 124.3053,-527 124.3053,-527 124.3053,-539 124.3053,-539 124.3053,-545 118.3053,-551 112.3053,-551"/>
<text text-anchor="middle" x="74.1017" y="-528.8" font-family="Verdana" font-size="14.00" fill="#000000">SingleReseed</text> <text text-anchor="middle" x="74.1017" y="-528.8" font-family="Verdana" font-size="14.00" fill="#000000">SingleReseed</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read -->
<g id="edge3" class="edge"> <g id="edge13" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read</title>
<g id="a_edge3"><a xlink:title="at reseed.go:59: calling [github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read]"> <g id="a_edge13"><a xlink:title="at reseed.go:59: calling [github.com/go&#45;i2p/go&#45;i2p/lib/su3.Read]">
<path fill="none" stroke="#8b4513" d="M124.4105,-518.2617C127.3001,-516.1559 129.9431,-513.7496 132.2034,-511 159.7529,-477.4869 171.5539,-160.9886 197.2034,-126 203.2816,-117.7087 212.2268,-111.4726 221.3884,-106.8524"/> <path fill="none" stroke="#8b4513" d="M124.4105,-518.2617C127.3001,-516.1559 129.9431,-513.7496 132.2034,-511 159.7529,-477.4869 171.5539,-160.9886 197.2034,-126 203.2816,-117.7087 212.2268,-111.4726 221.3884,-106.8524"/>
<polygon fill="#8b4513" stroke="#8b4513" points="222.8323,-110.0408 230.5239,-102.7546 219.9673,-103.6539 222.8323,-110.0408"/> <polygon fill="#8b4513" stroke="#8b4513" points="222.8323,-110.0408 230.5239,-102.7546 219.9673,-103.6539 222.8323,-110.0408"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/samber/oops.Errorf --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge11" class="edge"> <g id="edge10" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/samber/oops.Errorf</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge11"><a xlink:title="at reseed.go:124: calling [github.com/samber/oops.Errorf]&#10;at reseed.go:96: calling [github.com/samber/oops.Errorf]"> <g id="a_edge10"><a xlink:title="at reseed.go:124: calling [github.com/samber/oops.Errorf]&#10;at reseed.go:96: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M124.315,-518.1818C127.2269,-516.0948 129.9011,-513.7145 132.2034,-511 155.953,-482.9979 175.0425,-216.2755 197.2034,-187 202.9124,-179.4582 210.9755,-173.6019 219.3625,-169.1144"/> <path fill="none" stroke="#8b4513" d="M124.315,-518.1818C127.2269,-516.0948 129.9011,-513.7145 132.2034,-511 155.953,-482.9979 175.0425,-216.2755 197.2034,-187 202.9124,-179.4582 210.9755,-173.6019 219.3625,-169.1144"/>
<polygon fill="#8b4513" stroke="#8b4513" points="220.9695,-172.2258 228.4942,-164.7673 217.9607,-165.9054 220.9695,-172.2258"/> <polygon fill="#8b4513" stroke="#8b4513" points="220.9695,-172.2258 228.4942,-164.7673 217.9607,-165.9054 220.9695,-172.2258"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/eyedeekay/go&#45;unzip/pkg/unzip.New --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/eyedeekay/go&#45;unzip/pkg/unzip.New -->
<g id="edge5" class="edge"> <g id="edge15" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/eyedeekay/go&#45;unzip/pkg/unzip.New</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/eyedeekay/go&#45;unzip/pkg/unzip.New</title>
<g id="a_edge5"><a xlink:title="at reseed.go:89: calling [github.com/eyedeekay/go&#45;unzip/pkg/unzip.New]"> <g id="a_edge15"><a xlink:title="at reseed.go:89: calling [github.com/eyedeekay/go&#45;unzip/pkg/unzip.New]">
<path fill="none" stroke="#8b4513" d="M124.4464,-517.8762C127.2876,-515.8626 129.9131,-513.5822 132.2034,-511 152.1774,-488.4803 178.5084,-271.5922 197.2034,-248 203.3584,-240.2327 211.9839,-234.2276 220.8007,-229.6636"/> <path fill="none" stroke="#8b4513" d="M124.4464,-517.8762C127.2876,-515.8626 129.9131,-513.5822 132.2034,-511 152.1774,-488.4803 178.5084,-271.5922 197.2034,-248 203.3584,-240.2327 211.9839,-234.2276 220.8007,-229.6636"/>
<polygon fill="#8b4513" stroke="#8b4513" points="222.3624,-232.7975 229.9624,-225.4157 219.4178,-226.4469 222.3624,-232.7975"/> <polygon fill="#8b4513" stroke="#8b4513" points="222.3624,-232.7975 229.9624,-225.4157 219.4178,-226.4469 222.3624,-232.7975"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo -->
<g id="edge15" class="edge"> <g id="edge2" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo</title>
<g id="a_edge15"><a xlink:title="at reseed.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo]"> <g id="a_edge2"><a xlink:title="at reseed.go:108: calling [github.com/go&#45;i2p/go&#45;i2p/lib/common/router_info.ReadRouterInfo]">
<path fill="none" stroke="#8b4513" d="M124.2808,-517.7252C127.1614,-515.7475 129.841,-513.5164 132.2034,-511 163.8166,-477.3253 163.5368,-351.553 195.117,-304.0394"/> <path fill="none" stroke="#8b4513" d="M124.2808,-517.7252C127.1614,-515.7475 129.841,-513.5164 132.2034,-511 163.8166,-477.3253 163.5368,-351.553 195.117,-304.0394"/>
<polygon fill="#8b4513" stroke="#8b4513" points="197.9276,-306.1281 201.3993,-296.1182 192.4431,-301.7783 197.9276,-306.1281"/> <polygon fill="#8b4513" stroke="#8b4513" points="197.9276,-306.1281 201.3993,-296.1182 192.4431,-301.7783 197.9276,-306.1281"/>
</a> </a>
@ -277,81 +277,81 @@
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Signature --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Signature -->
<g id="edge4" class="edge"> <g id="edge1" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Signature</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Signature</title>
<g id="a_edge4"><a xlink:title="at reseed.go:74: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Signature]"> <g id="a_edge1"><a xlink:title="at reseed.go:74: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/su3.SU3).Signature]">
<path fill="none" stroke="#8b4513" d="M124.249,-515.6554C127.0012,-514.2 129.6731,-512.6487 132.2034,-511 166.6974,-488.5238 163.5277,-468.6846 197.2034,-445 201.1431,-442.2291 205.4008,-439.6199 209.7694,-437.193"/> <path fill="none" stroke="#8b4513" d="M124.249,-515.6554C127.0012,-514.2 129.6731,-512.6487 132.2034,-511 166.6974,-488.5238 163.5277,-468.6846 197.2034,-445 201.1431,-442.2291 205.4008,-439.6199 209.7694,-437.193"/>
<polygon fill="#8b4513" stroke="#8b4513" points="211.5749,-440.1988 218.8257,-432.4738 208.3401,-433.9911 211.5749,-440.1988"/> <polygon fill="#8b4513" stroke="#8b4513" points="211.5749,-440.1988 218.8257,-432.4738 208.3401,-433.9911 211.5749,-440.1988"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField -->
<g id="edge1" class="edge"> <g id="edge12" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithField</title>
<g id="a_edge1"><a xlink:title="at reseed.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:99: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:119: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]"> <g id="a_edge12"><a xlink:title="at reseed.go:32: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:99: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]&#10;at reseed.go:119: calling [(*github.com/go&#45;i2p/logger.Logger).WithField]">
<path fill="none" stroke="#8b4513" d="M124.2975,-524.8024C150.0871,-520.5906 181.435,-515.4711 207.2718,-511.2516"/> <path fill="none" stroke="#8b4513" d="M124.2975,-524.8024C150.0871,-520.5906 181.435,-515.4711 207.2718,-511.2516"/>
<polygon fill="#8b4513" stroke="#8b4513" points="207.9384,-514.6892 217.2435,-509.6231 206.8101,-507.7807 207.9384,-514.6892"/> <polygon fill="#8b4513" stroke="#8b4513" points="207.9384,-514.6892 217.2435,-509.6231 206.8101,-507.7807 207.9384,-514.6892"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError -->
<g id="edge10" class="edge"> <g id="edge8" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithError</title>
<g id="a_edge10"><a xlink:title="at reseed.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:61: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:85: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:117: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]"> <g id="a_edge8"><a xlink:title="at reseed.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:61: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:85: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]&#10;at reseed.go:117: calling [(*github.com/go&#45;i2p/logger.Logger).WithError]">
<path fill="none" stroke="#8b4513" d="M124.2975,-541.4709C150.0871,-545.823 181.435,-551.1132 207.2718,-555.4733"/> <path fill="none" stroke="#8b4513" d="M124.2975,-541.4709C150.0871,-545.823 181.435,-551.1132 207.2718,-555.4733"/>
<polygon fill="#8b4513" stroke="#8b4513" points="206.8005,-558.9432 217.2435,-557.1561 207.9654,-552.0408 206.8005,-558.9432"/> <polygon fill="#8b4513" stroke="#8b4513" points="206.8005,-558.9432 217.2435,-557.1561 207.9654,-552.0408 206.8005,-558.9432"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error -->
<g id="edge7" class="edge"> <g id="edge4" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Error</title>
<g id="a_edge7"><a xlink:title="at reseed.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:61: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:123: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:85: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:95: calling [(*github.com/go&#45;i2p/logger.Logger).Error]"> <g id="a_edge4"><a xlink:title="at reseed.go:42: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:53: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:61: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:123: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:76: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:85: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:91: calling [(*github.com/go&#45;i2p/logger.Logger).Error]&#10;at reseed.go:95: calling [(*github.com/go&#45;i2p/logger.Logger).Error]">
<path fill="none" stroke="#8b4513" d="M109.8907,-551.1062C134.4382,-563.5052 167.7666,-580.3004 197.2034,-595 204.0625,-598.4252 211.3659,-602.0554 218.4403,-605.563"/> <path fill="none" stroke="#8b4513" d="M109.8907,-551.1062C134.4382,-563.5052 167.7666,-580.3004 197.2034,-595 204.0625,-598.4252 211.3659,-602.0554 218.4403,-605.563"/>
<polygon fill="#8b4513" stroke="#8b4513" points="217.3675,-608.9374 227.8821,-610.2394 220.4744,-602.6646 217.3675,-608.9374"/> <polygon fill="#8b4513" stroke="#8b4513" points="217.3675,-608.9374 227.8821,-610.2394 220.4744,-602.6646 217.3675,-608.9374"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields -->
<g id="edge8" class="edge"> <g id="edge9" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).WithFields</title>
<g id="a_edge8"><a xlink:title="at reseed.go:65: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]"> <g id="a_edge9"><a xlink:title="at reseed.go:65: calling [(*github.com/go&#45;i2p/logger.Logger).WithFields]">
<path fill="none" stroke="#8b4513" d="M88.8873,-551.133C110.5855,-576.9001 153.2635,-624.4748 197.2034,-656 200.5833,-658.425 204.1887,-660.7535 207.8922,-662.9657"/> <path fill="none" stroke="#8b4513" d="M88.8873,-551.133C110.5855,-576.9001 153.2635,-624.4748 197.2034,-656 200.5833,-658.425 204.1887,-660.7535 207.8922,-662.9657"/>
<polygon fill="#8b4513" stroke="#8b4513" points="206.2227,-666.0424 216.6522,-667.9073 209.6621,-659.9455 206.2227,-666.0424"/> <polygon fill="#8b4513" stroke="#8b4513" points="206.2227,-666.0424 216.6522,-667.9073 209.6621,-659.9455 206.2227,-666.0424"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn -->
<g id="edge13" class="edge"> <g id="edge6" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/go&#45;i2p/logger.Logger).Warn</title>
<g id="a_edge13"><a xlink:title="at reseed.go:80: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:117: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]"> <g id="a_edge6"><a xlink:title="at reseed.go:80: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:105: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:110: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]&#10;at reseed.go:117: calling [(*github.com/go&#45;i2p/logger.Logger).Warn]">
<path fill="none" stroke="#8b4513" d="M82.2749,-551.2166C99.1511,-587.092 141.0238,-667.6832 197.2034,-717 203.4682,-722.4995 210.9203,-727.2565 218.4187,-731.2596"/> <path fill="none" stroke="#8b4513" d="M82.2749,-551.2166C99.1511,-587.092 141.0238,-667.6832 197.2034,-717 203.4682,-722.4995 210.9203,-727.2565 218.4187,-731.2596"/>
<polygon fill="#8b4513" stroke="#8b4513" points="217.3403,-734.6309 227.8557,-735.9263 220.4433,-728.3562 217.3403,-734.6309"/> <polygon fill="#8b4513" stroke="#8b4513" points="217.3403,-734.6309 227.8557,-735.9263 220.4433,-728.3562 217.3403,-734.6309"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug -->
<g id="edge2" class="edge"> <g id="edge3" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/sirupsen/logrus.Logger).Debug</title>
<g id="a_edge2"><a xlink:title="at reseed.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:68: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:99: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:119: calling [(*github.com/sirupsen/logrus.Logger).Debug]"> <g id="a_edge3"><a xlink:title="at reseed.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:68: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:99: calling [(*github.com/sirupsen/logrus.Logger).Debug]&#10;at reseed.go:119: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
<path fill="none" stroke="#8b4513" d="M80.5099,-551.3118C96.0286,-594.0599 138.7033,-702.5924 197.2034,-779 205.3145,-789.594 215.7152,-799.7387 225.6021,-808.317"/> <path fill="none" stroke="#8b4513" d="M80.5099,-551.3118C96.0286,-594.0599 138.7033,-702.5924 197.2034,-779 205.3145,-789.594 215.7152,-799.7387 225.6021,-808.317"/>
<polygon fill="#8b4513" stroke="#8b4513" points="223.4591,-811.0879 233.3674,-814.8396 227.9613,-805.7278 223.4591,-811.0879"/> <polygon fill="#8b4513" stroke="#8b4513" points="223.4591,-811.0879 233.3674,-814.8396 227.9613,-805.7278 223.4591,-811.0879"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/sirupsen/logrus.Logger).Println --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/sirupsen/logrus.Logger).Println -->
<g id="edge12" class="edge"> <g id="edge5" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/sirupsen/logrus.Logger).Println</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(*github.com/sirupsen/logrus.Logger).Println</title>
<g id="a_edge12"><a xlink:title="at reseed.go:79: calling [(*github.com/sirupsen/logrus.Logger).Println]"> <g id="a_edge5"><a xlink:title="at reseed.go:79: calling [(*github.com/sirupsen/logrus.Logger).Println]">
<path fill="none" stroke="#8b4513" d="M76.1468,-551.1797C83.1258,-605.3574 110.5897,-767.9085 197.2034,-864 202.7295,-870.1308 209.7911,-875.1569 217.1278,-879.2228"/> <path fill="none" stroke="#8b4513" d="M76.1468,-551.1797C83.1258,-605.3574 110.5897,-767.9085 197.2034,-864 202.7295,-870.1308 209.7911,-875.1569 217.1278,-879.2228"/>
<polygon fill="#8b4513" stroke="#8b4513" points="215.9609,-882.5513 226.4734,-883.8701 219.0778,-876.2835 215.9609,-882.5513"/> <polygon fill="#8b4513" stroke="#8b4513" points="215.9609,-882.5513 226.4734,-883.8701 219.0778,-876.2835 215.9609,-882.5513"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(github.com/eyedeekay/go&#45;unzip/pkg/unzip.Unzip).Extract --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(github.com/eyedeekay/go&#45;unzip/pkg/unzip.Unzip).Extract -->
<g id="edge9" class="edge"> <g id="edge11" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(github.com/eyedeekay/go&#45;unzip/pkg/unzip.Unzip).Extract</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/netdb/reseed.Reseed).SingleReseed&#45;&gt;(github.com/eyedeekay/go&#45;unzip/pkg/unzip.Unzip).Extract</title>
<g id="a_edge9"><a xlink:title="at reseed.go:89: calling [(github.com/eyedeekay/go&#45;unzip/pkg/unzip.Unzip).Extract]"> <g id="a_edge11"><a xlink:title="at reseed.go:89: calling [(github.com/eyedeekay/go&#45;unzip/pkg/unzip.Unzip).Extract]">
<path fill="none" stroke="#8b4513" d="M76.0723,-551.003C83.2139,-609.681 111.9703,-798.9326 197.2034,-926 204.5121,-936.8959 214.52,-947.0093 224.2969,-955.468"/> <path fill="none" stroke="#8b4513" d="M76.0723,-551.003C83.2139,-609.681 111.9703,-798.9326 197.2034,-926 204.5121,-936.8959 214.52,-947.0093 224.2969,-955.468"/>
<polygon fill="#8b4513" stroke="#8b4513" points="222.0997,-958.1929 232.0322,-961.8803 226.5671,-952.8038 222.0997,-958.1929"/> <polygon fill="#8b4513" stroke="#8b4513" points="222.0997,-958.1929 232.0322,-961.8803 226.5671,-952.8038 222.0997,-958.1929"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 68 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

@ -0,0 +1,430 @@
<?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="637pt" height="960pt"
viewBox="0.00 0.00 637.35 960.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 960)">
<title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-960 637.3474,-960 637.3474,0 0,0"/>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="7.0274,-8 7.0274,-952 629.3474,-952 629.3474,-8 7.0274,-8"/>
<text text-anchor="middle" x="318.1874" y="-931.8" font-family="Arial" font-size="18.00" fill="#000000">handshake</text>
</g>
<g id="clust5" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF</title>
<g id="a_clust5"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M482.1748,-338C482.1748,-338 609.3474,-338 609.3474,-338 615.3474,-338 621.3474,-344 621.3474,-350 621.3474,-350 621.3474,-587 621.3474,-587 621.3474,-593 615.3474,-599 609.3474,-599 609.3474,-599 482.1748,-599 482.1748,-599 476.1748,-599 470.1748,-593 470.1748,-587 470.1748,-587 470.1748,-350 470.1748,-350 470.1748,-344 476.1748,-338 482.1748,-338"/>
<text text-anchor="middle" x="545.7611" y="-346.5" font-family="Arial" font-size="15.00" fill="#222222">(*NoiseKDF)</text>
</a>
</g>
</g>
<g id="clust4" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState</title>
<g id="a_clust4"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-155C28,-155 401.1748,-155 401.1748,-155 407.1748,-155 413.1748,-161 413.1748,-167 413.1748,-167 413.1748,-587 413.1748,-587 413.1748,-593 407.1748,-599 401.1748,-599 401.1748,-599 28,-599 28,-599 22,-599 16,-593 16,-587 16,-587 16,-167 16,-167 16,-161 22,-155 28,-155"/>
<text text-anchor="middle" x="214.5874" y="-163.5" font-family="Arial" font-size="15.00" fill="#222222">(*NoiseHandshakeState)</text>
</a>
</g>
</g>
<g id="clust3" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.HandshakeBuilder</title>
<g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.HandshakeBuilder">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M27.0274,-16C27.0274,-16 157.1452,-16 157.1452,-16 163.1452,-16 169.1452,-22 169.1452,-28 169.1452,-28 169.1452,-82 169.1452,-82 169.1452,-88 163.1452,-94 157.1452,-94 157.1452,-94 27.0274,-94 27.0274,-94 21.0274,-94 15.0274,-88 15.0274,-82 15.0274,-82 15.0274,-28 15.0274,-28 15.0274,-22 21.0274,-16 27.0274,-16"/>
<text text-anchor="middle" x="92.0863" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*HandshakeBuilder)</text>
</a>
</g>
</g>
<g id="clust2" class="cluster">
<title>cluster_*github.com/flynn/noise.HandshakeState</title>
<g id="a_clust2"><a xlink:title="type: *github.com/flynn/noise.HandshakeState">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M269.7792,-607C269.7792,-607 388.2898,-607 388.2898,-607 394.2898,-607 400.2898,-613 400.2898,-619 400.2898,-619 400.2898,-795 400.2898,-795 400.2898,-801 394.2898,-807 388.2898,-807 388.2898,-807 269.7792,-807 269.7792,-807 263.7792,-807 257.7792,-801 257.7792,-795 257.7792,-795 257.7792,-619 257.7792,-619 257.7792,-613 263.7792,-607 269.7792,-607"/>
<text text-anchor="middle" x="329.0345" y="-615.5" font-family="Arial" font-size="15.00" fill="#222222">(*HandshakeState)</text>
</a>
</g>
</g>
<!-- github.com/flynn/noise.NewCipherSuite -->
<g id="node1" class="node">
<title>github.com/flynn/noise.NewCipherSuite</title>
<g id="a_node1"><a xlink:title="github.com/flynn/noise.NewCipherSuite | defined in cipher_suite.go:84">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M375.8435,-137C375.8435,-137 282.2255,-137 282.2255,-137 276.2255,-137 270.2255,-131 270.2255,-125 270.2255,-125 270.2255,-113 270.2255,-113 270.2255,-107 276.2255,-101 282.2255,-101 282.2255,-101 375.8435,-101 375.8435,-101 381.8435,-101 387.8435,-107 387.8435,-113 387.8435,-113 387.8435,-125 387.8435,-125 387.8435,-131 381.8435,-137 375.8435,-137"/>
<text text-anchor="middle" x="329.0345" y="-123.2" font-family="Verdana" font-size="14.00" fill="#000000">noise</text>
<text text-anchor="middle" x="329.0345" y="-106.4" font-family="Verdana" font-size="14.00" fill="#000000">NewCipherSuite</text>
</a>
</g>
</g>
<!-- github.com/flynn/noise.NewHandshakeState -->
<g id="node2" class="node">
<title>github.com/flynn/noise.NewHandshakeState</title>
<g id="a_node2"><a xlink:title="github.com/flynn/noise.NewHandshakeState | defined in state.go:317">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M387.1508,-71C387.1508,-71 270.9182,-71 270.9182,-71 264.9182,-71 258.9182,-65 258.9182,-59 258.9182,-59 258.9182,-47 258.9182,-47 258.9182,-41 264.9182,-35 270.9182,-35 270.9182,-35 387.1508,-35 387.1508,-35 393.1508,-35 399.1508,-41 399.1508,-47 399.1508,-47 399.1508,-59 399.1508,-59 399.1508,-65 393.1508,-71 387.1508,-71"/>
<text text-anchor="middle" x="329.0345" y="-57.2" font-family="Verdana" font-size="14.00" fill="#000000">noise</text>
<text text-anchor="middle" x="329.0345" y="-40.4" font-family="Verdana" font-size="14.00" fill="#000000">NewHandshakeState</text>
</a>
</g>
</g>
<!-- github.com/samber/oops.Errorf -->
<g id="node3" class="node">
<title>github.com/samber/oops.Errorf</title>
<g id="a_node3"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M346.2298,-887C346.2298,-887 311.8392,-887 311.8392,-887 305.8392,-887 299.8392,-881 299.8392,-875 299.8392,-875 299.8392,-863 299.8392,-863 299.8392,-857 305.8392,-851 311.8392,-851 311.8392,-851 346.2298,-851 346.2298,-851 352.2298,-851 358.2298,-857 358.2298,-863 358.2298,-863 358.2298,-875 358.2298,-875 358.2298,-881 352.2298,-887 346.2298,-887"/>
<text text-anchor="middle" x="329.0345" y="-873.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="329.0345" y="-856.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF | defined in kdf.go:17">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M589.3411,-286C589.3411,-286 502.1811,-286 502.1811,-286 496.1811,-286 490.1811,-280 490.1811,-274 490.1811,-274 490.1811,-262 490.1811,-262 490.1811,-256 496.1811,-250 502.1811,-250 502.1811,-250 589.3411,-250 589.3411,-250 595.3411,-250 601.3411,-256 601.3411,-262 601.3411,-262 601.3411,-274 601.3411,-274 601.3411,-280 595.3411,-286 589.3411,-286"/>
<text text-anchor="middle" x="545.7611" y="-272.2" font-family="Verdana" font-size="14.00" fill="#000000">kdf</text>
<text text-anchor="middle" x="545.7611" y="-255.4" font-family="Verdana" font-size="14.00" fill="#000000">NewNoiseKDF</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NewHandshakeState -->
<g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NewHandshakeState</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NewHandshakeState | defined in handshake.go:23&#10;at handshake.go:29: calling [github.com/flynn/noise.NewCipherSuite]&#10;at handshake.go:35: calling [github.com/flynn/noise.NewHandshakeState]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M149.7026,-147C149.7026,-147 33.47,-147 33.47,-147 27.47,-147 21.47,-141 21.47,-135 21.47,-135 21.47,-123 21.47,-123 21.47,-117 27.47,-111 33.47,-111 33.47,-111 149.7026,-111 149.7026,-111 155.7026,-111 161.7026,-117 161.7026,-123 161.7026,-123 161.7026,-135 161.7026,-135 161.7026,-141 155.7026,-147 149.7026,-147"/>
<text text-anchor="middle" x="91.5863" y="-124.8" font-family="Verdana" font-size="14.00" fill="#000000">NewHandshakeState</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NewHandshakeState&#45;&gt;github.com/flynn/noise.NewCipherSuite -->
<g id="edge10" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NewHandshakeState&#45;&gt;github.com/flynn/noise.NewCipherSuite</title>
<g id="a_edge10"><a xlink:title="at handshake.go:29: calling [github.com/flynn/noise.NewCipherSuite]">
<path fill="none" stroke="#8b4513" d="M161.8648,-126.0403C192.8266,-124.7363 229.0943,-123.2089 259.921,-121.9107"/>
<polygon fill="#8b4513" stroke="#8b4513" points="260.3074,-125.3976 270.1512,-121.4798 260.0127,-118.4038 260.3074,-125.3976"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NewHandshakeState&#45;&gt;github.com/flynn/noise.NewHandshakeState -->
<g id="edge11" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NewHandshakeState&#45;&gt;github.com/flynn/noise.NewHandshakeState</title>
<g id="a_edge11"><a xlink:title="at handshake.go:35: calling [github.com/flynn/noise.NewHandshakeState]">
<path fill="none" stroke="#8b4513" d="M147.8582,-110.9891C182.3312,-99.9553 226.6246,-85.7783 262.7866,-74.204"/>
<polygon fill="#8b4513" stroke="#8b4513" points="264.2984,-77.395 272.7555,-71.0132 262.1645,-70.7282 264.2984,-77.395"/>
</a>
</g>
</g>
<!-- (*github.com/flynn/noise.HandshakeState).ReadMessage -->
<g id="node6" class="node">
<title>(*github.com/flynn/noise.HandshakeState).ReadMessage</title>
<g id="a_node6"><a xlink:title="(*github.com/flynn/noise.HandshakeState).ReadMessage | defined in state.go:503">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M367.7782,-799C367.7782,-799 290.2908,-799 290.2908,-799 284.2908,-799 278.2908,-793 278.2908,-787 278.2908,-787 278.2908,-775 278.2908,-775 278.2908,-769 284.2908,-763 290.2908,-763 290.2908,-763 367.7782,-763 367.7782,-763 373.7782,-763 379.7782,-769 379.7782,-775 379.7782,-775 379.7782,-787 379.7782,-787 379.7782,-793 373.7782,-799 367.7782,-799"/>
<text text-anchor="middle" x="329.0345" y="-785.2" font-family="Verdana" font-size="14.00" fill="#000000">noise</text>
<text text-anchor="middle" x="329.0345" y="-768.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadMessage</text>
</a>
</g>
</g>
<!-- (*github.com/flynn/noise.HandshakeState).WriteMessage -->
<g id="node7" class="node">
<title>(*github.com/flynn/noise.HandshakeState).WriteMessage</title>
<g id="a_node7"><a xlink:title="(*github.com/flynn/noise.HandshakeState).WriteMessage | defined in state.go:391">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M369.3832,-677C369.3832,-677 288.6858,-677 288.6858,-677 282.6858,-677 276.6858,-671 276.6858,-665 276.6858,-665 276.6858,-653 276.6858,-653 276.6858,-647 282.6858,-641 288.6858,-641 288.6858,-641 369.3832,-641 369.3832,-641 375.3832,-641 381.3832,-647 381.3832,-653 381.3832,-653 381.3832,-665 381.3832,-665 381.3832,-671 375.3832,-677 369.3832,-677"/>
<text text-anchor="middle" x="329.0345" y="-663.2" font-family="Verdana" font-size="14.00" fill="#000000">noise</text>
<text text-anchor="middle" x="329.0345" y="-646.4" font-family="Verdana" font-size="14.00" fill="#000000">WriteMessage</text>
</a>
</g>
</g>
<!-- (*github.com/flynn/noise.HandshakeState).LocalEphemeral -->
<g id="node8" class="node">
<title>(*github.com/flynn/noise.HandshakeState).LocalEphemeral</title>
<g id="a_node8"><a xlink:title="(*github.com/flynn/noise.HandshakeState).LocalEphemeral | defined in state.go:642">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M375.0461,-738C375.0461,-738 283.0229,-738 283.0229,-738 277.0229,-738 271.0229,-732 271.0229,-726 271.0229,-726 271.0229,-714 271.0229,-714 271.0229,-708 277.0229,-702 283.0229,-702 283.0229,-702 375.0461,-702 375.0461,-702 381.0461,-702 387.0461,-708 387.0461,-714 387.0461,-714 387.0461,-726 387.0461,-726 387.0461,-732 381.0461,-738 375.0461,-738"/>
<text text-anchor="middle" x="329.0345" y="-724.2" font-family="Verdana" font-size="14.00" fill="#000000">noise</text>
<text text-anchor="middle" x="329.0345" y="-707.4" font-family="Verdana" font-size="14.00" fill="#000000">LocalEphemeral</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.HandshakeBuilder).Build -->
<g id="node9" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.HandshakeBuilder).Build</title>
<g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.HandshakeBuilder).Build | defined in handshake_builder.go:68&#10;at handshake_builder.go:80: calling [github.com/flynn/noise.NewHandshakeState]&#10;at handshake_builder.go:71: calling [github.com/flynn/noise.NewCipherSuite]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M107.2042,-86C107.2042,-86 75.9684,-86 75.9684,-86 69.9684,-86 63.9684,-80 63.9684,-74 63.9684,-74 63.9684,-62 63.9684,-62 63.9684,-56 69.9684,-50 75.9684,-50 75.9684,-50 107.2042,-50 107.2042,-50 113.2042,-50 119.2042,-56 119.2042,-62 119.2042,-62 119.2042,-74 119.2042,-74 119.2042,-80 113.2042,-86 107.2042,-86"/>
<text text-anchor="middle" x="91.5863" y="-63.8" font-family="Verdana" font-size="14.00" fill="#000000">Build</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.HandshakeBuilder).Build&#45;&gt;github.com/flynn/noise.NewCipherSuite -->
<g id="edge8" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.HandshakeBuilder).Build&#45;&gt;github.com/flynn/noise.NewCipherSuite</title>
<g id="a_edge8"><a xlink:title="at handshake_builder.go:71: calling [github.com/flynn/noise.NewCipherSuite]">
<path fill="none" stroke="#8b4513" d="M119.2893,-73.9502C153.6673,-81.334 213.4916,-94.1833 260.4738,-104.2743"/>
<polygon fill="#8b4513" stroke="#8b4513" points="259.7786,-107.7047 270.2906,-106.3828 261.2486,-100.8608 259.7786,-107.7047"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.HandshakeBuilder).Build&#45;&gt;github.com/flynn/noise.NewHandshakeState -->
<g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.HandshakeBuilder).Build&#45;&gt;github.com/flynn/noise.NewHandshakeState</title>
<g id="a_edge4"><a xlink:title="at handshake_builder.go:80: calling [github.com/flynn/noise.NewHandshakeState]">
<path fill="none" stroke="#8b4513" d="M119.2893,-66.25C150.8507,-64.2562 203.8595,-60.9075 248.6884,-58.0756"/>
<polygon fill="#8b4513" stroke="#8b4513" points="248.9471,-61.5663 258.7065,-57.4427 248.5057,-54.5803 248.9471,-61.5663"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).ReadMessage -->
<g id="node10" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).ReadMessage</title>
<g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).ReadMessage | defined in handshake.go:103&#10;at handshake.go:110: calling [github.com/samber/oops.Errorf]&#10;at handshake.go:108: calling [(*github.com/flynn/noise.HandshakeState).ReadMessage]&#10;at handshake.go:117: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M130.33,-530C130.33,-530 52.8426,-530 52.8426,-530 46.8426,-530 40.8426,-524 40.8426,-518 40.8426,-518 40.8426,-506 40.8426,-506 40.8426,-500 46.8426,-494 52.8426,-494 52.8426,-494 130.33,-494 130.33,-494 136.33,-494 142.33,-500 142.33,-506 142.33,-506 142.33,-518 142.33,-518 142.33,-524 136.33,-530 130.33,-530"/>
<text text-anchor="middle" x="91.5863" y="-507.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadMessage</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).ReadMessage&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge5" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).ReadMessage&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge5"><a xlink:title="at handshake.go:110: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M142.4863,-523.662C152.6284,-528.166 162.2608,-534.3942 169.1452,-543 245.9073,-638.9554 138.4507,-718.2349 212.8942,-816 231.5042,-840.4402 264.0068,-853.9517 289.9035,-861.2043"/>
<polygon fill="#8b4513" stroke="#8b4513" points="289.2611,-864.6533 299.8193,-863.7725 291.0163,-857.8769 289.2611,-864.6533"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).ReadMessage&#45;&gt;(*github.com/flynn/noise.HandshakeState).ReadMessage -->
<g id="edge14" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).ReadMessage&#45;&gt;(*github.com/flynn/noise.HandshakeState).ReadMessage</title>
<g id="a_edge14"><a xlink:title="at handshake.go:108: calling [(*github.com/flynn/noise.HandshakeState).ReadMessage]">
<path fill="none" stroke="#8b4513" d="M142.639,-524.0426C152.6481,-528.5206 162.1864,-534.6421 169.1452,-543 232.3755,-618.9437 142.0626,-692.0913 212.8942,-761 227.447,-775.1578 248.1688,-781.3447 268.0902,-783.6129"/>
<polygon fill="#8b4513" stroke="#8b4513" points="267.8289,-787.1032 278.0852,-784.4465 268.4107,-780.1274 267.8289,-787.1032"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash -->
<g id="node11" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash</title>
<g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash | defined in handshake.go:205&#10;at handshake.go:253: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).SetHash]&#10;at handshake.go:214: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF]&#10;at handshake.go:230: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF]&#10;at handshake.go:246: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M393.3154,-408C393.3154,-408 264.7536,-408 264.7536,-408 258.7536,-408 252.7536,-402 252.7536,-396 252.7536,-396 252.7536,-384 252.7536,-384 252.7536,-378 258.7536,-372 264.7536,-372 264.7536,-372 393.3154,-372 393.3154,-372 399.3154,-372 405.3154,-378 405.3154,-384 405.3154,-384 405.3154,-396 405.3154,-396 405.3154,-402 399.3154,-408 393.3154,-408"/>
<text text-anchor="middle" x="329.0345" y="-385.8" font-family="Verdana" font-size="14.00" fill="#000000">updateHandshakeHash</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).ReadMessage&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash -->
<g id="edge16" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).ReadMessage&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash</title>
<g id="a_edge16"><a xlink:title="at handshake.go:117: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash]">
<path fill="none" stroke="#000000" d="M141.7159,-493.9063C150.9446,-490.2108 160.4168,-486.1691 169.1452,-482 212.5978,-461.245 260.1659,-433.1323 292.0244,-413.4653"/>
<polygon fill="#000000" stroke="#000000" points="293.9274,-416.4035 300.577,-408.1553 290.2351,-410.4565 293.9274,-416.4035"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF -->
<g id="edge15" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF</title>
<g id="a_edge15"><a xlink:title="at handshake.go:214: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF]&#10;at handshake.go:230: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF]&#10;at handshake.go:246: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF]">
<path fill="none" stroke="#8b4513" d="M404.3549,-371.9134C407.3693,-370.6852 410.3211,-369.3819 413.1748,-368 434.6728,-357.5895 483.885,-318.7633 515.93,-292.666"/>
<polygon fill="#8b4513" stroke="#8b4513" points="518.5515,-295.0436 524.0776,-286.0041 514.1205,-289.6246 518.5515,-295.0436"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).SetHash -->
<g id="node18" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).SetHash</title>
<g id="a_node18"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).SetHash | defined in kdf.go:106">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M568.9155,-408C568.9155,-408 522.6067,-408 522.6067,-408 516.6067,-408 510.6067,-402 510.6067,-396 510.6067,-396 510.6067,-384 510.6067,-384 510.6067,-378 516.6067,-372 522.6067,-372 522.6067,-372 568.9155,-372 568.9155,-372 574.9155,-372 580.9155,-378 580.9155,-384 580.9155,-384 580.9155,-396 580.9155,-396 580.9155,-402 574.9155,-408 568.9155,-408"/>
<text text-anchor="middle" x="545.7611" y="-394.2" font-family="Verdana" font-size="14.00" fill="#000000">kdf</text>
<text text-anchor="middle" x="545.7611" y="-377.4" font-family="Verdana" font-size="14.00" fill="#000000">SetHash</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).SetHash -->
<g id="edge2" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).SetHash</title>
<g id="a_edge2"><a xlink:title="at handshake.go:253: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).SetHash]">
<path fill="none" stroke="#8b4513" d="M405.4442,-390C437.2148,-390 473.0099,-390 500.4945,-390"/>
<polygon fill="#8b4513" stroke="#8b4513" points="500.5957,-393.5001 510.5957,-390 500.5956,-386.5001 500.5957,-393.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).GetHandshakeHash -->
<g id="node12" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).GetHandshakeHash</title>
<g id="a_node12"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).GetHandshakeHash | defined in handshake.go:146&#10;at handshake.go:151: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).GetHandshakeHash]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M147.259,-347C147.259,-347 35.9136,-347 35.9136,-347 29.9136,-347 23.9136,-341 23.9136,-335 23.9136,-335 23.9136,-323 23.9136,-323 23.9136,-317 29.9136,-311 35.9136,-311 35.9136,-311 147.259,-311 147.259,-311 153.259,-311 159.259,-317 159.259,-323 159.259,-323 159.259,-335 159.259,-335 159.259,-341 153.259,-347 147.259,-347"/>
<text text-anchor="middle" x="91.5863" y="-324.8" font-family="Verdana" font-size="14.00" fill="#000000">GetHandshakeHash</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).GetHandshakeHash -->
<g id="node19" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).GetHandshakeHash</title>
<g id="a_node19"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).GetHandshakeHash | defined in kdf.go:68">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M601.4338,-530C601.4338,-530 490.0884,-530 490.0884,-530 484.0884,-530 478.0884,-524 478.0884,-518 478.0884,-518 478.0884,-506 478.0884,-506 478.0884,-500 484.0884,-494 490.0884,-494 490.0884,-494 601.4338,-494 601.4338,-494 607.4338,-494 613.4338,-500 613.4338,-506 613.4338,-506 613.4338,-518 613.4338,-518 613.4338,-524 607.4338,-530 601.4338,-530"/>
<text text-anchor="middle" x="545.7611" y="-516.2" font-family="Verdana" font-size="14.00" fill="#000000">kdf</text>
<text text-anchor="middle" x="545.7611" y="-499.4" font-family="Verdana" font-size="14.00" fill="#000000">GetHandshakeHash</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).GetHandshakeHash&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).GetHandshakeHash -->
<g id="edge9" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).GetHandshakeHash&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).GetHandshakeHash</title>
<g id="a_edge9"><a xlink:title="at handshake.go:151: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).GetHandshakeHash]">
<path fill="none" stroke="#8b4513" d="M150.8224,-347.0007C157.4798,-350.6122 163.7834,-354.9065 169.1452,-360 202.847,-392.0152 176.0134,-426.7053 212.8942,-455 285.9784,-511.0696 394.7292,-519.7867 467.8419,-518.1546"/>
<polygon fill="#8b4513" stroke="#8b4513" points="468.0213,-521.651 477.9144,-517.8595 467.8162,-514.654 468.0213,-521.651"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).WriteMessage -->
<g id="node13" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).WriteMessage</title>
<g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).WriteMessage | defined in handshake.go:73&#10;at handshake.go:87: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash]&#10;at handshake.go:78: calling [(*github.com/flynn/noise.HandshakeState).WriteMessage]&#10;at handshake.go:80: calling [github.com/samber/oops.Errorf]&#10;at handshake.go:94: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M131.935,-408C131.935,-408 51.2376,-408 51.2376,-408 45.2376,-408 39.2376,-402 39.2376,-396 39.2376,-396 39.2376,-384 39.2376,-384 39.2376,-378 45.2376,-372 51.2376,-372 51.2376,-372 131.935,-372 131.935,-372 137.935,-372 143.935,-378 143.935,-384 143.935,-384 143.935,-396 143.935,-396 143.935,-402 137.935,-408 131.935,-408"/>
<text text-anchor="middle" x="91.5863" y="-385.8" font-family="Verdana" font-size="14.00" fill="#000000">WriteMessage</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).WriteMessage&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge18" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).WriteMessage&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge18"><a xlink:title="at handshake.go:80: calling [github.com/samber/oops.Errorf]&#10;at handshake.go:94: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M144.2102,-402.287C153.7525,-406.7349 162.7051,-412.7823 169.1452,-421 255.7877,-531.5579 176.3498,-598.3738 212.8942,-734 225.1336,-779.4239 220.7244,-797.6745 252.8942,-832 263.0841,-842.8727 277.1458,-850.9368 290.4142,-856.7116"/>
<polygon fill="#8b4513" stroke="#8b4513" points="289.2851,-860.03 299.8686,-860.5194 291.9002,-853.5369 289.2851,-860.03"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).WriteMessage&#45;&gt;(*github.com/flynn/noise.HandshakeState).WriteMessage -->
<g id="edge17" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).WriteMessage&#45;&gt;(*github.com/flynn/noise.HandshakeState).WriteMessage</title>
<g id="a_edge17"><a xlink:title="at handshake.go:78: calling [(*github.com/flynn/noise.HandshakeState).WriteMessage]">
<path fill="none" stroke="#8b4513" d="M144.0932,-404.5869C153.1948,-408.8148 162.0112,-414.1929 169.1452,-421 234.1509,-483.0268 195.665,-535.7333 252.8942,-605 262.5389,-616.6734 275.2864,-627.0192 287.5869,-635.4514"/>
<polygon fill="#8b4513" stroke="#8b4513" points="285.7093,-638.4056 295.9876,-640.9762 289.5557,-632.5571 285.7093,-638.4056"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).WriteMessage&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash -->
<g id="edge6" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).WriteMessage&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash</title>
<g id="a_edge6"><a xlink:title="at handshake.go:87: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).updateHandshakeHash]">
<path fill="none" stroke="#000000" d="M143.9893,-390C172.9515,-390 209.6666,-390 242.7439,-390"/>
<polygon fill="#000000" stroke="#000000" points="242.8799,-393.5001 252.8799,-390 242.8799,-386.5001 242.8799,-393.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).GenerateEphemeral -->
<g id="node14" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).GenerateEphemeral</title>
<g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).GenerateEphemeral | defined in handshake.go:57&#10;at handshake.go:64: calling [(*github.com/flynn/noise.HandshakeState).LocalEphemeral]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M147.2408,-469C147.2408,-469 35.9318,-469 35.9318,-469 29.9318,-469 23.9318,-463 23.9318,-457 23.9318,-457 23.9318,-445 23.9318,-445 23.9318,-439 29.9318,-433 35.9318,-433 35.9318,-433 147.2408,-433 147.2408,-433 153.2408,-433 159.2408,-439 159.2408,-445 159.2408,-445 159.2408,-457 159.2408,-457 159.2408,-463 153.2408,-469 147.2408,-469"/>
<text text-anchor="middle" x="91.5863" y="-446.8" font-family="Verdana" font-size="14.00" fill="#000000">GenerateEphemeral</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).GenerateEphemeral&#45;&gt;(*github.com/flynn/noise.HandshakeState).LocalEphemeral -->
<g id="edge19" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).GenerateEphemeral&#45;&gt;(*github.com/flynn/noise.HandshakeState).LocalEphemeral</title>
<g id="a_edge19"><a xlink:title="at handshake.go:64: calling [(*github.com/flynn/noise.HandshakeState).LocalEphemeral]">
<path fill="none" stroke="#8b4513" d="M151.8411,-469.1851C158.1682,-472.7494 164.1146,-476.9821 169.1452,-482 239.7023,-552.3785 182.1644,-619.7951 252.8942,-690 255.7066,-692.7916 258.81,-695.331 262.1076,-697.64"/>
<polygon fill="#8b4513" stroke="#8b4513" points="260.3023,-700.6387 270.6491,-702.9175 263.9817,-694.6837 260.3023,-700.6387"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixKey -->
<g id="node15" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixKey</title>
<g id="a_node15"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixKey | defined in handshake.go:191&#10;at handshake.go:198: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF]&#10;at handshake.go:201: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M114.7435,-225C114.7435,-225 68.4291,-225 68.4291,-225 62.4291,-225 56.4291,-219 56.4291,-213 56.4291,-213 56.4291,-201 56.4291,-201 56.4291,-195 62.4291,-189 68.4291,-189 68.4291,-189 114.7435,-189 114.7435,-189 120.7435,-189 126.7435,-195 126.7435,-201 126.7435,-201 126.7435,-213 126.7435,-213 126.7435,-219 120.7435,-225 114.7435,-225"/>
<text text-anchor="middle" x="91.5863" y="-202.8" font-family="Verdana" font-size="14.00" fill="#000000">MixKey</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixKey&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF -->
<g id="edge3" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixKey&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF</title>
<g id="a_edge3"><a xlink:title="at handshake.go:198: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF]">
<path fill="none" stroke="#8b4513" d="M126.8467,-211.7358C202.7349,-221.9283 382.5514,-246.0794 480.0964,-259.1806"/>
<polygon fill="#8b4513" stroke="#8b4513" points="479.7582,-262.6665 490.1352,-260.5289 480.6901,-255.7288 479.7582,-262.6665"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey -->
<g id="node20" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey</title>
<g id="a_node20"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey | defined in kdf.go:29">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M568.9183,-469C568.9183,-469 522.6039,-469 522.6039,-469 516.6039,-469 510.6039,-463 510.6039,-457 510.6039,-457 510.6039,-445 510.6039,-445 510.6039,-439 516.6039,-433 522.6039,-433 522.6039,-433 568.9183,-433 568.9183,-433 574.9183,-433 580.9183,-439 580.9183,-445 580.9183,-445 580.9183,-457 580.9183,-457 580.9183,-463 574.9183,-469 568.9183,-469"/>
<text text-anchor="middle" x="545.7611" y="-455.2" font-family="Verdana" font-size="14.00" fill="#000000">kdf</text>
<text text-anchor="middle" x="545.7611" y="-438.4" font-family="Verdana" font-size="14.00" fill="#000000">MixKey</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixKey&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey -->
<g id="edge20" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixKey&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey</title>
<g id="a_edge20"><a xlink:title="at handshake.go:201: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey]">
<path fill="none" stroke="#8b4513" d="M126.868,-213.3664C141.945,-217.8309 158.4906,-225.3607 169.1452,-238 229.1911,-309.2306 141.1785,-383.5344 212.8942,-443 255.321,-478.1796 419.2307,-465.389 500.1035,-456.5729"/>
<polygon fill="#8b4513" stroke="#8b4513" points="500.9264,-460.0028 510.4759,-455.4141 500.1492,-453.0461 500.9264,-460.0028"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).SetPrologue -->
<g id="node16" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).SetPrologue</title>
<g id="a_node16"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).SetPrologue | defined in handshake.go:159&#10;at handshake.go:167: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash]&#10;at handshake.go:173: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M126.0235,-591C126.0235,-591 57.1491,-591 57.1491,-591 51.1491,-591 45.1491,-585 45.1491,-579 45.1491,-579 45.1491,-567 45.1491,-567 45.1491,-561 51.1491,-555 57.1491,-555 57.1491,-555 126.0235,-555 126.0235,-555 132.0235,-555 138.0235,-561 138.0235,-567 138.0235,-567 138.0235,-579 138.0235,-579 138.0235,-585 132.0235,-591 126.0235,-591"/>
<text text-anchor="middle" x="91.5863" y="-568.8" font-family="Verdana" font-size="14.00" fill="#000000">SetPrologue</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).SetPrologue&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge13" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).SetPrologue&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge13"><a xlink:title="at handshake.go:173: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M93.9977,-591.3471C101.5233,-640.8158 129.3027,-777.7433 212.8942,-845 234.3698,-862.279 265.1457,-868.0494 289.6216,-869.6225"/>
<polygon fill="#8b4513" stroke="#8b4513" points="289.5371,-873.1221 299.6801,-870.0611 289.8421,-866.1287 289.5371,-873.1221"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash -->
<g id="node21" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash</title>
<g id="a_node21"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash | defined in kdf.go:55">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M571.8622,-591C571.8622,-591 519.66,-591 519.66,-591 513.66,-591 507.66,-585 507.66,-579 507.66,-579 507.66,-567 507.66,-567 507.66,-561 513.66,-555 519.66,-555 519.66,-555 571.8622,-555 571.8622,-555 577.8622,-555 583.8622,-561 583.8622,-567 583.8622,-567 583.8622,-579 583.8622,-579 583.8622,-585 577.8622,-591 571.8622,-591"/>
<text text-anchor="middle" x="545.7611" y="-577.2" font-family="Verdana" font-size="14.00" fill="#000000">kdf</text>
<text text-anchor="middle" x="545.7611" y="-560.4" font-family="Verdana" font-size="14.00" fill="#000000">MixHash</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).SetPrologue&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash -->
<g id="edge12" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).SetPrologue&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash</title>
<g id="a_edge12"><a xlink:title="at handshake.go:167: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash]">
<path fill="none" stroke="#8b4513" d="M95.3491,-591.2724C108.9911,-655.5529 157.9499,-869.4604 212.8942,-908 285.768,-959.1159 339.5566,-958.0378 413.1748,-908 518.0412,-836.7231 539.9658,-668.2717 544.5495,-601.235"/>
<polygon fill="#8b4513" stroke="#8b4513" points="548.0574,-601.2088 545.1651,-591.0164 541.07,-600.7878 548.0574,-601.2088"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixHash -->
<g id="node17" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixHash</title>
<g id="a_node17"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixHash | defined in handshake.go:177&#10;at handshake.go:184: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF]&#10;at handshake.go:187: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M117.6874,-286C117.6874,-286 65.4852,-286 65.4852,-286 59.4852,-286 53.4852,-280 53.4852,-274 53.4852,-274 53.4852,-262 53.4852,-262 53.4852,-256 59.4852,-250 65.4852,-250 65.4852,-250 117.6874,-250 117.6874,-250 123.6874,-250 129.6874,-256 129.6874,-262 129.6874,-262 129.6874,-274 129.6874,-274 129.6874,-280 123.6874,-286 117.6874,-286"/>
<text text-anchor="middle" x="91.5863" y="-263.8" font-family="Verdana" font-size="14.00" fill="#000000">MixHash</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixHash&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF -->
<g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixHash&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF</title>
<g id="a_edge1"><a xlink:title="at handshake.go:184: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NewNoiseKDF]">
<path fill="none" stroke="#8b4513" d="M129.9176,-268C207.3982,-268 383.4466,-268 479.7708,-268"/>
<polygon fill="#8b4513" stroke="#8b4513" points="479.974,-271.5001 489.9739,-268 479.9739,-264.5001 479.974,-271.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixHash&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash -->
<g id="edge7" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/handshake.NoiseHandshakeState).MixHash&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash</title>
<g id="a_edge7"><a xlink:title="at handshake.go:187: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixHash]">
<path fill="none" stroke="#8b4513" d="M129.9571,-274.9799C144.2947,-279.4953 159.4368,-286.8967 169.1452,-299 241.557,-389.2752 164.7271,-738.0358 252.8942,-813 280.0295,-836.0718 382.4983,-831.0994 413.1748,-813 492.1874,-766.382 527.3773,-653.936 539.9461,-601.1961"/>
<polygon fill="#8b4513" stroke="#8b4513" points="543.4176,-601.7149 542.2287,-591.187 536.5928,-600.1585 543.4176,-601.7149"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -0,0 +1,72 @@
<?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="305pt" height="201pt"
viewBox="0.00 0.00 304.82 201.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 201)">
<title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-201 304.8248,-201 304.8248,0 0,0"/>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-193 296.8248,-193 296.8248,-8 8,-8"/>
<text text-anchor="middle" x="152.4124" y="-172.8" font-family="Arial" font-size="18.00" fill="#000000">kdf</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-16C28,-16 153.6298,-16 153.6298,-16 159.6298,-16 165.6298,-22 165.6298,-28 165.6298,-28 165.6298,-143 165.6298,-143 165.6298,-149 159.6298,-155 153.6298,-155 153.6298,-155 28,-155 28,-155 22,-155 16,-149 16,-143 16,-143 16,-28 16,-28 16,-22 22,-16 28,-16"/>
<text text-anchor="middle" x="90.8149" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*NoiseKDF)</text>
</a>
</g>
</g>
<!-- github.com/samber/oops.Errorf -->
<g id="node1" class="node">
<title>github.com/samber/oops.Errorf</title>
<g id="a_node1"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M276.9226,-107C276.9226,-107 242.532,-107 242.532,-107 236.532,-107 230.532,-101 230.532,-95 230.532,-95 230.532,-83 230.532,-83 230.532,-77 236.532,-71 242.532,-71 242.532,-71 276.9226,-71 276.9226,-71 282.9226,-71 288.9226,-77 288.9226,-83 288.9226,-83 288.9226,-95 288.9226,-95 288.9226,-101 282.9226,-107 276.9226,-107"/>
<text text-anchor="middle" x="259.7273" y="-93.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="259.7273" y="-76.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey -->
<g id="node2" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey</title>
<g id="a_node2"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey | defined in kdf.go:29&#10;at kdf.go:31: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M113.9721,-86C113.9721,-86 67.6577,-86 67.6577,-86 61.6577,-86 55.6577,-80 55.6577,-74 55.6577,-74 55.6577,-62 55.6577,-62 55.6577,-56 61.6577,-50 67.6577,-50 67.6577,-50 113.9721,-50 113.9721,-50 119.9721,-50 125.9721,-56 125.9721,-62 125.9721,-62 125.9721,-74 125.9721,-74 125.9721,-80 119.9721,-86 113.9721,-86"/>
<text text-anchor="middle" x="90.8149" y="-63.8" font-family="Verdana" font-size="14.00" fill="#000000">MixKey</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).MixKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge1"><a xlink:title="at kdf.go:31: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M126.2245,-72.4023C153.7952,-75.83 192.0376,-80.5845 220.5284,-84.1266"/>
<polygon fill="#8b4513" stroke="#8b4513" points="220.1905,-87.6115 230.546,-85.372 221.0542,-80.6649 220.1905,-87.6115"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).DeriveSessionKeys -->
<g id="node3" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).DeriveSessionKeys</title>
<g id="a_node3"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).DeriveSessionKeys | defined in kdf.go:73&#10;at kdf.go:77: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:100: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M145.4452,-147C145.4452,-147 36.1846,-147 36.1846,-147 30.1846,-147 24.1846,-141 24.1846,-135 24.1846,-135 24.1846,-123 24.1846,-123 24.1846,-117 30.1846,-111 36.1846,-111 36.1846,-111 145.4452,-111 145.4452,-111 151.4452,-111 157.4452,-117 157.4452,-123 157.4452,-123 157.4452,-135 157.4452,-135 157.4452,-141 151.4452,-147 145.4452,-147"/>
<text text-anchor="middle" x="90.8149" y="-124.8" font-family="Verdana" font-size="14.00" fill="#000000">DeriveSessionKeys</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).DeriveSessionKeys&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge2" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/noise/kdf.NoiseKDF).DeriveSessionKeys&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge2"><a xlink:title="at kdf.go:77: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:100: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M157.5736,-113.1909C178.8924,-108.1424 201.7865,-102.7209 220.4867,-98.2925"/>
<polygon fill="#8b4513" stroke="#8b4513" points="221.4832,-101.6534 230.4075,-95.9432 219.8701,-94.8418 221.4832,-101.6534"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 247 KiB

View File

@ -0,0 +1,136 @@
<?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="374pt" height="306pt"
viewBox="0.00 0.00 374.02 306.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 306)">
<title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-306 374.0184,-306 374.0184,0 0,0"/>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-298 366.0184,-298 366.0184,-8 8,-8"/>
<text text-anchor="middle" x="187.0092" y="-277.8" font-family="Arial" font-size="18.00" fill="#000000">handshake</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-60C28,-60 160.6326,-60 160.6326,-60 166.6326,-60 172.6326,-66 172.6326,-72 172.6326,-72 172.6326,-248 172.6326,-248 172.6326,-254 166.6326,-260 160.6326,-260 160.6326,-260 28,-260 28,-260 22,-260 16,-254 16,-248 16,-248 16,-72 16,-72 16,-66 22,-60 28,-60"/>
<text text-anchor="middle" x="94.3163" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(*HandshakeState)</text>
</a>
</g>
</g>
<!-- github.com/samber/oops.Errorf -->
<g id="node1" class="node">
<title>github.com/samber/oops.Errorf</title>
<g id="a_node1"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M315.0208,-167C315.0208,-167 280.6302,-167 280.6302,-167 274.6302,-167 268.6302,-161 268.6302,-155 268.6302,-155 268.6302,-143 268.6302,-143 268.6302,-137 274.6302,-131 280.6302,-131 280.6302,-131 315.0208,-131 315.0208,-131 321.0208,-131 327.0208,-137 327.0208,-143 327.0208,-143 327.0208,-155 327.0208,-155 327.0208,-161 321.0208,-167 315.0208,-167"/>
<text text-anchor="middle" x="297.8255" y="-153.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="297.8255" y="-136.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.NewHandshakeState -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.NewHandshakeState</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.NewHandshakeState | defined in handshake.go:78&#10;at handshake.go:98: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair]&#10;at handshake.go:101: calling [github.com/samber/oops.Errorf]&#10;at handshake.go:107: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M152.4326,-52C152.4326,-52 36.2,-52 36.2,-52 30.2,-52 24.2,-46 24.2,-40 24.2,-40 24.2,-28 24.2,-28 24.2,-22 30.2,-16 36.2,-16 36.2,-16 152.4326,-16 152.4326,-16 158.4326,-16 164.4326,-22 164.4326,-28 164.4326,-28 164.4326,-40 164.4326,-40 164.4326,-46 158.4326,-52 152.4326,-52"/>
<text text-anchor="middle" x="94.3163" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">NewHandshakeState</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.NewHandshakeState&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge6" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.NewHandshakeState&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge6"><a xlink:title="at handshake.go:101: calling [github.com/samber/oops.Errorf]&#10;at handshake.go:107: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M164.0061,-52.1084C166.9555,-53.3343 169.8436,-54.6307 172.6326,-56 192.2937,-65.6526 237.1068,-100.2496 267.4276,-124.4066"/>
<polygon fill="#8b4513" stroke="#8b4513" points="265.5671,-127.4003 275.5624,-130.9138 269.9397,-121.934 265.5671,-127.4003"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair | defined in curve25519.go:24">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M346.2119,-86C346.2119,-86 249.4391,-86 249.4391,-86 243.4391,-86 237.4391,-80 237.4391,-74 237.4391,-74 237.4391,-62 237.4391,-62 237.4391,-56 243.4391,-50 249.4391,-50 249.4391,-50 346.2119,-50 346.2119,-50 352.2119,-50 358.2119,-56 358.2119,-62 358.2119,-62 358.2119,-74 358.2119,-74 358.2119,-80 352.2119,-86 346.2119,-86"/>
<text text-anchor="middle" x="297.8255" y="-72.2" font-family="Verdana" font-size="14.00" fill="#000000">curve25519</text>
<text text-anchor="middle" x="297.8255" y="-55.4" font-family="Verdana" font-size="14.00" fill="#000000">GenerateKeyPair</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.NewHandshakeState&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair -->
<g id="edge5" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.NewHandshakeState&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair</title>
<g id="a_edge5"><a xlink:title="at handshake.go:98: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair]">
<path fill="none" stroke="#8b4513" d="M164.6376,-45.7485C184.8842,-49.1311 206.9719,-52.8212 227.2347,-56.2065"/>
<polygon fill="#8b4513" stroke="#8b4513" points="226.8909,-59.6975 237.331,-57.8933 228.0445,-52.7932 226.8909,-59.6975"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).WriteMessage -->
<g id="node4" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).WriteMessage</title>
<g id="a_node4"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).WriteMessage | defined in methods.go:66&#10;at methods.go:67: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M134.665,-191C134.665,-191 53.9676,-191 53.9676,-191 47.9676,-191 41.9676,-185 41.9676,-179 41.9676,-179 41.9676,-167 41.9676,-167 41.9676,-161 47.9676,-155 53.9676,-155 53.9676,-155 134.665,-155 134.665,-155 140.665,-155 146.665,-161 146.665,-167 146.665,-167 146.665,-179 146.665,-179 146.665,-185 140.665,-191 134.665,-191"/>
<text text-anchor="middle" x="94.3163" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">WriteMessage</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).WriteMessage&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge3" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).WriteMessage&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge3"><a xlink:title="at methods.go:67: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M146.725,-166.8194C181.5362,-162.7141 226.5141,-157.4098 258.3176,-153.6592"/>
<polygon fill="#8b4513" stroke="#8b4513" points="259.0431,-157.098 268.5644,-152.4508 258.2233,-150.1462 259.0431,-157.098"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).CompleteHandshake -->
<g id="node5" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).CompleteHandshake</title>
<g id="a_node5"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).CompleteHandshake | defined in methods.go:10&#10;at methods.go:13: calling [github.com/samber/oops.Errorf]&#10;at methods.go:17: calling [github.com/samber/oops.Errorf]&#10;at methods.go:21: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M152.4494,-252C152.4494,-252 36.1832,-252 36.1832,-252 30.1832,-252 24.1832,-246 24.1832,-240 24.1832,-240 24.1832,-228 24.1832,-228 24.1832,-222 30.1832,-216 36.1832,-216 36.1832,-216 152.4494,-216 152.4494,-216 158.4494,-216 164.4494,-222 164.4494,-228 164.4494,-228 164.4494,-240 164.4494,-240 164.4494,-246 158.4494,-252 152.4494,-252"/>
<text text-anchor="middle" x="94.3163" y="-229.8" font-family="Verdana" font-size="14.00" fill="#000000">CompleteHandshake</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).CompleteHandshake&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).CompleteHandshake&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge4"><a xlink:title="at methods.go:13: calling [github.com/samber/oops.Errorf]&#10;at methods.go:17: calling [github.com/samber/oops.Errorf]&#10;at methods.go:21: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M142.5048,-215.9594C152.499,-212.1007 162.9361,-207.9844 172.6326,-204 201.904,-191.972 234.6371,-177.5571 259.2897,-166.5026"/>
<polygon fill="#8b4513" stroke="#8b4513" points="260.9686,-169.5853 268.653,-162.2915 258.0973,-163.2013 260.9686,-169.5853"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).GenerateEphemeral -->
<g id="node6" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).GenerateEphemeral</title>
<g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).GenerateEphemeral | defined in methods.go:27&#10;at methods.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair]&#10;at methods.go:33: calling [github.com/samber/oops.Errorf]&#10;at methods.go:40: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M149.9708,-130C149.9708,-130 38.6618,-130 38.6618,-130 32.6618,-130 26.6618,-124 26.6618,-118 26.6618,-118 26.6618,-106 26.6618,-106 26.6618,-100 32.6618,-94 38.6618,-94 38.6618,-94 149.9708,-94 149.9708,-94 155.9708,-94 161.9708,-100 161.9708,-106 161.9708,-106 161.9708,-118 161.9708,-118 161.9708,-124 155.9708,-130 149.9708,-130"/>
<text text-anchor="middle" x="94.3163" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">GenerateEphemeral</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).GenerateEphemeral&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge2" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).GenerateEphemeral&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge2"><a xlink:title="at methods.go:33: calling [github.com/samber/oops.Errorf]&#10;at methods.go:40: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M162.0819,-124.3205C194.1733,-130.155 231.3605,-136.916 258.689,-141.8846"/>
<polygon fill="#8b4513" stroke="#8b4513" points="258.1842,-145.3501 268.649,-143.6954 259.4364,-138.463 258.1842,-145.3501"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).GenerateEphemeral&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair -->
<g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/handshake.HandshakeState).GenerateEphemeral&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair</title>
<g id="a_edge1"><a xlink:title="at methods.go:31: calling [github.com/go&#45;i2p/go&#45;i2p/lib/crypto/curve25519.GenerateKeyPair]">
<path fill="none" stroke="#8b4513" d="M162.0819,-97.3486C183.1436,-92.795 206.4003,-87.7667 227.6243,-83.178"/>
<polygon fill="#8b4513" stroke="#8b4513" points="228.5039,-86.5687 237.5384,-81.0345 227.0245,-79.7268 228.5039,-86.5687"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -0,0 +1,144 @@
<?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="368pt" height="445pt"
viewBox="0.00 0.00 367.78 445.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 445)">
<title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-445 367.7758,-445 367.7758,0 0,0"/>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-437 359.7758,-437 359.7758,-8 8,-8"/>
<text text-anchor="middle" x="183.8879" y="-416.8" font-family="Arial" font-size="18.00" fill="#000000">kdf</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-16C28,-16 216.5808,-16 216.5808,-16 222.5808,-16 228.5808,-22 228.5808,-28 228.5808,-28 228.5808,-387 228.5808,-387 228.5808,-393 222.5808,-399 216.5808,-399 216.5808,-399 28,-399 28,-399 22,-399 16,-393 16,-387 16,-387 16,-28 16,-28 16,-22 22,-16 28,-16"/>
<text text-anchor="middle" x="122.2904" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*NTCP2KDF)</text>
</a>
</g>
</g>
<!-- github.com/samber/oops.Errorf -->
<g id="node1" class="node">
<title>github.com/samber/oops.Errorf</title>
<g id="a_node1"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M339.8736,-238C339.8736,-238 305.483,-238 305.483,-238 299.483,-238 293.483,-232 293.483,-226 293.483,-226 293.483,-214 293.483,-214 293.483,-208 299.483,-202 305.483,-202 305.483,-202 339.8736,-202 339.8736,-202 345.8736,-202 351.8736,-208 351.8736,-214 351.8736,-214 351.8736,-226 351.8736,-226 351.8736,-232 345.8736,-238 339.8736,-238"/>
<text text-anchor="middle" x="322.6783" y="-224.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
<text text-anchor="middle" x="322.6783" y="-207.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveSipHashKey -->
<g id="node2" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveSipHashKey</title>
<g id="a_node2"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveSipHashKey | defined in kdf.go:112&#10;at kdf.go:116: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:119: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:126: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:129: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:135: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M176.6377,-86C176.6377,-86 67.9431,-86 67.9431,-86 61.9431,-86 55.9431,-80 55.9431,-74 55.9431,-74 55.9431,-62 55.9431,-62 55.9431,-56 61.9431,-50 67.9431,-50 67.9431,-50 176.6377,-50 176.6377,-50 182.6377,-50 188.6377,-56 188.6377,-62 188.6377,-62 188.6377,-74 188.6377,-74 188.6377,-80 182.6377,-86 176.6377,-86"/>
<text text-anchor="middle" x="122.2904" y="-63.8" font-family="Verdana" font-size="14.00" fill="#000000">DeriveSipHashKey</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveSipHashKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveSipHashKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge1"><a xlink:title="at kdf.go:116: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:119: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:126: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:129: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:135: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M188.6745,-80.4262C202.5959,-84.8824 216.6564,-90.8979 228.5808,-99 264.375,-123.3205 292.6637,-165.5676 308.539,-193.1531"/>
<polygon fill="#8b4513" stroke="#8b4513" points="305.4981,-194.8862 313.4398,-201.899 311.6047,-191.4643 305.4981,-194.8862"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).MixKey -->
<g id="node3" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).MixKey</title>
<g id="a_node3"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).MixKey | defined in kdf.go:37&#10;at kdf.go:39: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:45: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:52: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:59: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M145.4476,-147C145.4476,-147 99.1332,-147 99.1332,-147 93.1332,-147 87.1332,-141 87.1332,-135 87.1332,-135 87.1332,-123 87.1332,-123 87.1332,-117 93.1332,-111 99.1332,-111 99.1332,-111 145.4476,-111 145.4476,-111 151.4476,-111 157.4476,-117 157.4476,-123 157.4476,-123 157.4476,-135 157.4476,-135 157.4476,-141 151.4476,-147 145.4476,-147"/>
<text text-anchor="middle" x="122.2904" y="-124.8" font-family="Verdana" font-size="14.00" fill="#000000">MixKey</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).MixKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge2" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).MixKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge2"><a xlink:title="at kdf.go:39: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:45: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:52: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:59: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M157.6506,-136.6371C178.7686,-141.8477 205.8225,-149.6805 228.5808,-160 250.2655,-169.8327 272.8149,-184.0515 290.4018,-196.1797"/>
<polygon fill="#8b4513" stroke="#8b4513" points="288.4143,-199.0607 298.6112,-201.9371 292.4337,-193.3297 288.4143,-199.0607"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveFramingKey -->
<g id="node4" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveFramingKey</title>
<g id="a_node4"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveFramingKey | defined in kdf.go:144&#10;at kdf.go:148: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M176.6377,-208C176.6377,-208 67.9431,-208 67.9431,-208 61.9431,-208 55.9431,-202 55.9431,-196 55.9431,-196 55.9431,-184 55.9431,-184 55.9431,-178 61.9431,-172 67.9431,-172 67.9431,-172 176.6377,-172 176.6377,-172 182.6377,-172 188.6377,-178 188.6377,-184 188.6377,-184 188.6377,-196 188.6377,-196 188.6377,-202 182.6377,-208 176.6377,-208"/>
<text text-anchor="middle" x="122.2904" y="-185.8" font-family="Verdana" font-size="14.00" fill="#000000">DeriveFramingKey</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveFramingKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge3" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveFramingKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge3"><a xlink:title="at kdf.go:148: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M188.7383,-199.9479C220.0178,-204.6307 256.2655,-210.0574 283.1586,-214.0835"/>
<polygon fill="#8b4513" stroke="#8b4513" points="282.9322,-217.5886 293.3403,-215.6078 283.9687,-210.6657 282.9322,-217.5886"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveKeys -->
<g id="node5" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveKeys</title>
<g id="a_node5"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveKeys | defined in kdf.go:82&#10;at kdf.go:86: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:93: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M155.6433,-269C155.6433,-269 88.9375,-269 88.9375,-269 82.9375,-269 76.9375,-263 76.9375,-257 76.9375,-257 76.9375,-245 76.9375,-245 76.9375,-239 82.9375,-233 88.9375,-233 88.9375,-233 155.6433,-233 155.6433,-233 161.6433,-233 167.6433,-239 167.6433,-245 167.6433,-245 167.6433,-257 167.6433,-257 167.6433,-263 161.6433,-269 155.6433,-269"/>
<text text-anchor="middle" x="122.2904" y="-246.8" font-family="Verdana" font-size="14.00" fill="#000000">DeriveKeys</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveKeys&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveKeys&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge4"><a xlink:title="at kdf.go:86: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:93: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M167.7615,-243.9656C202.5635,-238.5818 250.0718,-231.2322 283.2689,-226.0966"/>
<polygon fill="#8b4513" stroke="#8b4513" points="284.1627,-229.5001 293.51,-224.5123 283.0925,-222.5824 284.1627,-229.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveHandshakeMessageKey -->
<g id="node6" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveHandshakeMessageKey</title>
<g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveHandshakeMessageKey | defined in kdf.go:102&#10;at kdf.go:105: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M208.3716,-330C208.3716,-330 36.2092,-330 36.2092,-330 30.2092,-330 24.2092,-324 24.2092,-318 24.2092,-318 24.2092,-306 24.2092,-306 24.2092,-300 30.2092,-294 36.2092,-294 36.2092,-294 208.3716,-294 208.3716,-294 214.3716,-294 220.3716,-300 220.3716,-306 220.3716,-306 220.3716,-318 220.3716,-318 220.3716,-324 214.3716,-330 208.3716,-330"/>
<text text-anchor="middle" x="122.2904" y="-307.8" font-family="Verdana" font-size="14.00" fill="#000000">DeriveHandshakeMessageKey</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveHandshakeMessageKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge5" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).DeriveHandshakeMessageKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge5"><a xlink:title="at kdf.go:105: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M197.3838,-293.9461C208.0475,-290.4824 218.7284,-286.5047 228.5808,-282 250.7515,-271.863 273.6334,-256.9048 291.2812,-244.2206"/>
<polygon fill="#8b4513" stroke="#8b4513" points="293.495,-246.9377 299.4981,-238.2076 289.3611,-241.2886 293.495,-246.9377"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).MixHash -->
<g id="node7" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).MixHash</title>
<g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).MixHash | defined in kdf.go:68&#10;at kdf.go:71: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:74: calling [github.com/samber/oops.Errorf]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M148.3915,-391C148.3915,-391 96.1893,-391 96.1893,-391 90.1893,-391 84.1893,-385 84.1893,-379 84.1893,-379 84.1893,-367 84.1893,-367 84.1893,-361 90.1893,-355 96.1893,-355 96.1893,-355 148.3915,-355 148.3915,-355 154.3915,-355 160.3915,-361 160.3915,-367 160.3915,-367 160.3915,-379 160.3915,-379 160.3915,-385 154.3915,-391 148.3915,-391"/>
<text text-anchor="middle" x="122.2904" y="-368.8" font-family="Verdana" font-size="14.00" fill="#000000">MixHash</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).MixHash&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge6" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/kdf.NTCP2KDF).MixHash&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge6"><a xlink:title="at kdf.go:71: calling [github.com/samber/oops.Errorf]&#10;at kdf.go:74: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M160.4585,-368.2914C181.9101,-364.2267 208.3545,-356.7315 228.5808,-343 264.954,-318.3064 293.2516,-274.9765 308.9503,-246.8921"/>
<polygon fill="#8b4513" stroke="#8b4513" points="312.0825,-248.4584 313.7847,-238.0012 305.9328,-245.1145 312.0825,-248.4584"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -15,8 +15,8 @@
<text text-anchor="middle" x="293.5456" y="-466.8" font-family="Arial" font-size="18.00" fill="#000000">messages</text> <text text-anchor="middle" x="293.5456" y="-466.8" font-family="Arial" font-size="18.00" fill="#000000">messages</text>
</g> </g>
<g id="clust9" class="cluster"> <g id="clust9" class="cluster">
<title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions</title> <title>cluster_github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions</title>
<g id="a_clust9"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions"> <g id="a_clust9"><a xlink:title="type: github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M288.2048,-310C288.2048,-310 397.2048,-310 397.2048,-310 403.2048,-310 409.2048,-316 409.2048,-322 409.2048,-322 409.2048,-376 409.2048,-376 409.2048,-382 403.2048,-388 397.2048,-388 397.2048,-388 288.2048,-388 288.2048,-388 282.2048,-388 276.2048,-382 276.2048,-376 276.2048,-376 276.2048,-322 276.2048,-322 276.2048,-316 282.2048,-310 288.2048,-310"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M288.2048,-310C288.2048,-310 397.2048,-310 397.2048,-310 403.2048,-310 409.2048,-316 409.2048,-322 409.2048,-322 409.2048,-376 409.2048,-376 409.2048,-382 403.2048,-388 397.2048,-388 397.2048,-388 288.2048,-388 288.2048,-388 282.2048,-388 276.2048,-382 276.2048,-376 276.2048,-376 276.2048,-322 276.2048,-322 276.2048,-316 282.2048,-310 288.2048,-310"/>
<text text-anchor="middle" x="342.7048" y="-318.5" font-family="Arial" font-size="15.00" fill="#222222">(RequestOptions)</text> <text text-anchor="middle" x="342.7048" y="-318.5" font-family="Arial" font-size="15.00" fill="#222222">(RequestOptions)</text>
</a> </a>
@ -39,49 +39,49 @@
</g> </g>
</g> </g>
<g id="clust6" class="cluster"> <g id="clust6" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest</title>
<g id="a_clust6"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest"> <g id="a_clust6"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M27,-310C27,-310 143.2048,-310 143.2048,-310 149.2048,-310 155.2048,-316 155.2048,-322 155.2048,-322 155.2048,-437 155.2048,-437 155.2048,-443 149.2048,-449 143.2048,-449 143.2048,-449 27,-449 27,-449 21,-449 15,-443 15,-437 15,-437 15,-322 15,-322 15,-316 21,-310 27,-310"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M27,-310C27,-310 143.2048,-310 143.2048,-310 149.2048,-310 155.2048,-316 155.2048,-322 155.2048,-322 155.2048,-437 155.2048,-437 155.2048,-443 149.2048,-449 143.2048,-449 143.2048,-449 27,-449 27,-449 21,-449 15,-443 15,-437 15,-437 15,-322 15,-322 15,-316 21,-310 27,-310"/>
<text text-anchor="middle" x="85.1024" y="-318.5" font-family="Arial" font-size="15.00" fill="#222222">(*SessionRequest)</text> <text text-anchor="middle" x="85.1024" y="-318.5" font-family="Arial" font-size="15.00" fill="#222222">(*SessionRequest)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust5" class="cluster"> <g id="clust5" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated</title>
<g id="a_clust5"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated"> <g id="a_clust5"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-163C28,-163 142.2048,-163 142.2048,-163 148.2048,-163 154.2048,-169 154.2048,-175 154.2048,-175 154.2048,-290 154.2048,-290 154.2048,-296 148.2048,-302 142.2048,-302 142.2048,-302 28,-302 28,-302 22,-302 16,-296 16,-290 16,-290 16,-175 16,-175 16,-169 22,-163 28,-163"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-163C28,-163 142.2048,-163 142.2048,-163 148.2048,-163 154.2048,-169 154.2048,-175 154.2048,-175 154.2048,-290 154.2048,-290 154.2048,-296 148.2048,-302 142.2048,-302 142.2048,-302 28,-302 28,-302 22,-302 16,-296 16,-290 16,-290 16,-175 16,-175 16,-169 22,-163 28,-163"/>
<text text-anchor="middle" x="85.1024" y="-171.5" font-family="Arial" font-size="15.00" fill="#222222">(*SessionCreated)</text> <text text-anchor="middle" x="85.1024" y="-171.5" font-family="Arial" font-size="15.00" fill="#222222">(*SessionCreated)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust4" class="cluster"> <g id="clust4" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed</title>
<g id="a_clust4"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed"> <g id="a_clust4"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M20,-16C20,-16 150.2048,-16 150.2048,-16 156.2048,-16 162.2048,-22 162.2048,-28 162.2048,-28 162.2048,-143 162.2048,-143 162.2048,-149 156.2048,-155 150.2048,-155 150.2048,-155 20,-155 20,-155 14,-155 8,-149 8,-143 8,-143 8,-28 8,-28 8,-22 14,-16 20,-16"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M20,-16C20,-16 150.2048,-16 150.2048,-16 156.2048,-16 162.2048,-22 162.2048,-28 162.2048,-28 162.2048,-143 162.2048,-143 162.2048,-149 156.2048,-155 150.2048,-155 150.2048,-155 20,-155 20,-155 14,-155 8,-149 8,-143 8,-143 8,-28 8,-28 8,-22 14,-16 20,-16"/>
<text text-anchor="middle" x="85.1024" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*SessionConfirmed)</text> <text text-anchor="middle" x="85.1024" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*SessionConfirmed)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust3" class="cluster"> <g id="clust3" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions</title>
<g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions"> <g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M286.2048,-224C286.2048,-224 398.2048,-224 398.2048,-224 404.2048,-224 410.2048,-230 410.2048,-236 410.2048,-236 410.2048,-290 410.2048,-290 410.2048,-296 404.2048,-302 398.2048,-302 398.2048,-302 286.2048,-302 286.2048,-302 280.2048,-302 274.2048,-296 274.2048,-290 274.2048,-290 274.2048,-236 274.2048,-236 274.2048,-230 280.2048,-224 286.2048,-224"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M286.2048,-224C286.2048,-224 398.2048,-224 398.2048,-224 404.2048,-224 410.2048,-230 410.2048,-236 410.2048,-236 410.2048,-290 410.2048,-290 410.2048,-296 404.2048,-302 398.2048,-302 398.2048,-302 286.2048,-302 286.2048,-302 280.2048,-302 274.2048,-296 274.2048,-290 274.2048,-290 274.2048,-236 274.2048,-236 274.2048,-230 280.2048,-224 286.2048,-224"/>
<text text-anchor="middle" x="342.2048" y="-232.5" font-family="Arial" font-size="15.00" fill="#222222">(*CreatedOptions)</text> <text text-anchor="middle" x="342.2048" y="-232.5" font-family="Arial" font-size="15.00" fill="#222222">(*CreatedOptions)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust2" class="cluster"> <g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions"> <g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M278.2048,-77C278.2048,-77 406.2048,-77 406.2048,-77 412.2048,-77 418.2048,-83 418.2048,-89 418.2048,-89 418.2048,-143 418.2048,-143 418.2048,-149 412.2048,-155 406.2048,-155 406.2048,-155 278.2048,-155 278.2048,-155 272.2048,-155 266.2048,-149 266.2048,-143 266.2048,-143 266.2048,-89 266.2048,-89 266.2048,-83 272.2048,-77 278.2048,-77"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M278.2048,-77C278.2048,-77 406.2048,-77 406.2048,-77 412.2048,-77 418.2048,-83 418.2048,-89 418.2048,-89 418.2048,-143 418.2048,-143 418.2048,-149 412.2048,-155 406.2048,-155 406.2048,-155 278.2048,-155 278.2048,-155 272.2048,-155 266.2048,-149 266.2048,-143 266.2048,-143 266.2048,-89 266.2048,-89 266.2048,-83 272.2048,-77 278.2048,-77"/>
<text text-anchor="middle" x="342.2048" y="-85.5" font-family="Arial" font-size="15.00" fill="#222222">(*ConfirmedOptions)</text> <text text-anchor="middle" x="342.2048" y="-85.5" font-family="Arial" font-size="15.00" fill="#222222">(*ConfirmedOptions)</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data</title>
<g id="a_node1"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data | defined in session_confirmed.go:293&#10;at session_confirmed.go:295: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]"> <g id="a_node1"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data | defined in session_confirmed.go:293&#10;at session_confirmed.go:295: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M357.2048,-147C357.2048,-147 327.2048,-147 327.2048,-147 321.2048,-147 315.2048,-141 315.2048,-135 315.2048,-135 315.2048,-123 315.2048,-123 315.2048,-117 321.2048,-111 327.2048,-111 327.2048,-111 357.2048,-111 357.2048,-111 363.2048,-111 369.2048,-117 369.2048,-123 369.2048,-123 369.2048,-135 369.2048,-135 369.2048,-141 363.2048,-147 357.2048,-147"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M357.2048,-147C357.2048,-147 327.2048,-147 327.2048,-147 321.2048,-147 315.2048,-141 315.2048,-135 315.2048,-135 315.2048,-123 315.2048,-123 315.2048,-117 321.2048,-111 327.2048,-111 327.2048,-111 357.2048,-111 357.2048,-111 363.2048,-111 369.2048,-117 369.2048,-123 369.2048,-123 369.2048,-135 369.2048,-135 369.2048,-141 363.2048,-147 357.2048,-147"/>
<text text-anchor="middle" x="342.2048" y="-124.8" font-family="Verdana" font-size="14.00" fill="#000000">Data</text> <text text-anchor="middle" x="342.2048" y="-124.8" font-family="Verdana" font-size="14.00" fill="#000000">Data</text>
</a> </a>
@ -97,19 +97,19 @@
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes -->
<g id="edge10" class="edge"> <g id="edge6" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title>
<g id="a_edge10"><a xlink:title="at session_confirmed.go:295: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]"> <g id="a_edge6"><a xlink:title="at session_confirmed.go:295: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]">
<path fill="none" stroke="#8b4513" d="M366.8444,-147.0251C402.8497,-173.3648 469.9184,-222.4289 510.1501,-251.8604"/> <path fill="none" stroke="#8b4513" d="M366.8444,-147.0251C402.8497,-173.3648 469.9184,-222.4289 510.1501,-251.8604"/>
<polygon fill="#8b4513" stroke="#8b4513" points="508.1694,-254.748 518.3069,-257.8275 512.3025,-249.0983 508.1694,-254.748"/> <polygon fill="#8b4513" stroke="#8b4513" points="508.1694,-254.748 518.3069,-257.8275 512.3025,-249.0983 508.1694,-254.748"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data</title>
<g id="a_node2"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data | defined in session_created.go:302&#10;at session_created.go:304: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_created.go:305: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes]"> <g id="a_node2"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data | defined in session_created.go:302&#10;at session_created.go:304: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_created.go:305: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M357.2048,-294C357.2048,-294 327.2048,-294 327.2048,-294 321.2048,-294 315.2048,-288 315.2048,-282 315.2048,-282 315.2048,-270 315.2048,-270 315.2048,-264 321.2048,-258 327.2048,-258 327.2048,-258 357.2048,-258 357.2048,-258 363.2048,-258 369.2048,-264 369.2048,-270 369.2048,-270 369.2048,-282 369.2048,-282 369.2048,-288 363.2048,-294 357.2048,-294"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M357.2048,-294C357.2048,-294 327.2048,-294 327.2048,-294 321.2048,-294 315.2048,-288 315.2048,-282 315.2048,-282 315.2048,-270 315.2048,-270 315.2048,-264 321.2048,-258 327.2048,-258 327.2048,-258 357.2048,-258 357.2048,-258 363.2048,-258 369.2048,-264 369.2048,-270 369.2048,-270 369.2048,-282 369.2048,-282 369.2048,-288 363.2048,-294 357.2048,-294"/>
<text text-anchor="middle" x="342.2048" y="-271.8" font-family="Verdana" font-size="14.00" fill="#000000">Data</text> <text text-anchor="middle" x="342.2048" y="-271.8" font-family="Verdana" font-size="14.00" fill="#000000">Data</text>
</a> </a>
@ -125,154 +125,154 @@
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes -->
<g id="edge9" class="edge"> <g id="edge11" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes</title>
<g id="a_edge9"><a xlink:title="at session_created.go:305: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes]"> <g id="a_edge11"><a xlink:title="at session_created.go:305: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes]">
<path fill="none" stroke="#8b4513" d="M369.4973,-285.4462C384.0646,-290.6407 402.2331,-297.3637 418.2048,-304 448.1661,-316.449 481.4616,-331.9926 506.1426,-343.8544"/> <path fill="none" stroke="#8b4513" d="M369.4973,-285.4462C384.0646,-290.6407 402.2331,-297.3637 418.2048,-304 448.1661,-316.449 481.4616,-331.9926 506.1426,-343.8544"/>
<polygon fill="#8b4513" stroke="#8b4513" points="504.6281,-347.0097 515.1552,-348.2062 507.6719,-340.7061 504.6281,-347.0097"/> <polygon fill="#8b4513" stroke="#8b4513" points="504.6281,-347.0097 515.1552,-348.2062 507.6719,-340.7061 504.6281,-347.0097"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes -->
<g id="edge5" class="edge"> <g id="edge10" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title>
<g id="a_edge5"><a xlink:title="at session_created.go:304: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]"> <g id="a_edge10"><a xlink:title="at session_created.go:304: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]">
<path fill="none" stroke="#8b4513" d="M369.3049,-276C404.3136,-276 465.4548,-276 505.1066,-276"/> <path fill="none" stroke="#8b4513" d="M369.3049,-276C404.3136,-276 465.4548,-276 505.1066,-276"/>
<polygon fill="#8b4513" stroke="#8b4513" points="505.1879,-279.5001 515.1879,-276 505.1879,-272.5001 505.1879,-279.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="505.1879,-279.5001 515.1879,-276 505.1879,-272.5001 505.1879,-279.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed).Payload --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed).PayloadSize -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed).Payload</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed).PayloadSize</title>
<g id="a_node3"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed).Payload | defined in session_confirmed.go:267&#10;at session_confirmed.go:268: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data]"> <g id="a_node3"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed).PayloadSize | defined in session_confirmed.go:272&#10;at session_confirmed.go:273: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M107.2049,-86C107.2049,-86 61.9999,-86 61.9999,-86 55.9999,-86 49.9999,-80 49.9999,-74 49.9999,-74 49.9999,-62 49.9999,-62 49.9999,-56 55.9999,-50 61.9999,-50 61.9999,-50 107.2049,-50 107.2049,-50 113.2049,-50 119.2049,-56 119.2049,-62 119.2049,-62 119.2049,-74 119.2049,-74 119.2049,-80 113.2049,-86 107.2049,-86"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M119.3074,-86C119.3074,-86 49.8974,-86 49.8974,-86 43.8974,-86 37.8974,-80 37.8974,-74 37.8974,-74 37.8974,-62 37.8974,-62 37.8974,-56 43.8974,-50 49.8974,-50 49.8974,-50 119.3074,-50 119.3074,-50 125.3074,-50 131.3074,-56 131.3074,-62 131.3074,-62 131.3074,-74 131.3074,-74 131.3074,-80 125.3074,-86 119.3074,-86"/>
<text text-anchor="middle" x="84.6024" y="-63.8" font-family="Verdana" font-size="14.00" fill="#000000">Payload</text> <text text-anchor="middle" x="84.6024" y="-63.8" font-family="Verdana" font-size="14.00" fill="#000000">PayloadSize</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed).Payload&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed).PayloadSize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed).Payload&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed).PayloadSize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data</title>
<g id="a_edge7"><a xlink:title="at session_confirmed.go:268: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data]"> <g id="a_edge7"><a xlink:title="at session_confirmed.go:273: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data]">
<path fill="none" stroke="#000000" d="M119.3438,-76.2267C167.8084,-87.7031 255.3391,-108.4303 305.0588,-120.2039"/> <path fill="none" stroke="#000000" d="M131.2523,-79.0466C181.1259,-90.8567 259.2036,-109.3454 305.0761,-120.208"/>
<polygon fill="#000000" stroke="#000000" points="304.5294,-123.6752 315.0668,-122.5738 306.1425,-116.8636 304.5294,-123.6752"/> <polygon fill="#000000" stroke="#000000" points="304.368,-123.637 314.9054,-122.5355 305.9811,-116.8254 304.368,-123.637"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed).PayloadSize --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed).Payload -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed).PayloadSize</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed).Payload</title>
<g id="a_node4"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed).PayloadSize | defined in session_confirmed.go:272&#10;at session_confirmed.go:273: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data]"> <g id="a_node4"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed).Payload | defined in session_confirmed.go:267&#10;at session_confirmed.go:268: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M119.3074,-147C119.3074,-147 49.8974,-147 49.8974,-147 43.8974,-147 37.8974,-141 37.8974,-135 37.8974,-135 37.8974,-123 37.8974,-123 37.8974,-117 43.8974,-111 49.8974,-111 49.8974,-111 119.3074,-111 119.3074,-111 125.3074,-111 131.3074,-117 131.3074,-123 131.3074,-123 131.3074,-135 131.3074,-135 131.3074,-141 125.3074,-147 119.3074,-147"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M107.2049,-147C107.2049,-147 61.9999,-147 61.9999,-147 55.9999,-147 49.9999,-141 49.9999,-135 49.9999,-135 49.9999,-123 49.9999,-123 49.9999,-117 55.9999,-111 61.9999,-111 61.9999,-111 107.2049,-111 107.2049,-111 113.2049,-111 119.2049,-117 119.2049,-123 119.2049,-123 119.2049,-135 119.2049,-135 119.2049,-141 113.2049,-147 107.2049,-147"/>
<text text-anchor="middle" x="84.6024" y="-124.8" font-family="Verdana" font-size="14.00" fill="#000000">PayloadSize</text> <text text-anchor="middle" x="84.6024" y="-124.8" font-family="Verdana" font-size="14.00" fill="#000000">Payload</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed).PayloadSize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed).Payload&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data -->
<g id="edge8" class="edge"> <g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionConfirmed).PayloadSize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionConfirmed).Payload&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data</title>
<g id="a_edge8"><a xlink:title="at session_confirmed.go:273: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.ConfirmedOptions).Data]"> <g id="a_edge4"><a xlink:title="at session_confirmed.go:268: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.ConfirmedOptions).Data]">
<path fill="none" stroke="#000000" d="M131.2523,-129C181.0211,-129 258.8757,-129 304.7866,-129"/> <path fill="none" stroke="#000000" d="M119.3438,-129C167.8084,-129 255.3391,-129 305.0588,-129"/>
<polygon fill="#000000" stroke="#000000" points="304.9055,-132.5001 314.9054,-129 304.9054,-125.5001 304.9055,-132.5001"/> <polygon fill="#000000" stroke="#000000" points="305.0669,-132.5001 315.0668,-129 305.0668,-125.5001 305.0669,-132.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated).Payload --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated).PayloadSize -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated).Payload</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated).PayloadSize</title>
<g id="a_node5"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated).Payload | defined in session_created.go:274&#10;at session_created.go:275: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data]"> <g id="a_node5"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated).PayloadSize | defined in session_created.go:279&#10;at session_created.go:280: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M107.2049,-233C107.2049,-233 61.9999,-233 61.9999,-233 55.9999,-233 49.9999,-227 49.9999,-221 49.9999,-221 49.9999,-209 49.9999,-209 49.9999,-203 55.9999,-197 61.9999,-197 61.9999,-197 107.2049,-197 107.2049,-197 113.2049,-197 119.2049,-203 119.2049,-209 119.2049,-209 119.2049,-221 119.2049,-221 119.2049,-227 113.2049,-233 107.2049,-233"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M119.3074,-233C119.3074,-233 49.8974,-233 49.8974,-233 43.8974,-233 37.8974,-227 37.8974,-221 37.8974,-221 37.8974,-209 37.8974,-209 37.8974,-203 43.8974,-197 49.8974,-197 49.8974,-197 119.3074,-197 119.3074,-197 125.3074,-197 131.3074,-203 131.3074,-209 131.3074,-209 131.3074,-221 131.3074,-221 131.3074,-227 125.3074,-233 119.3074,-233"/>
<text text-anchor="middle" x="84.6024" y="-210.8" font-family="Verdana" font-size="14.00" fill="#000000">Payload</text> <text text-anchor="middle" x="84.6024" y="-210.8" font-family="Verdana" font-size="14.00" fill="#000000">PayloadSize</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated).Payload&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated).PayloadSize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data -->
<g id="edge2" class="edge"> <g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated).Payload&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated).PayloadSize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data</title>
<g id="a_edge2"><a xlink:title="at session_created.go:275: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data]"> <g id="a_edge1"><a xlink:title="at session_created.go:280: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data]">
<path fill="none" stroke="#000000" d="M119.3438,-223.2267C167.8084,-234.7031 255.3391,-255.4303 305.0588,-267.2039"/> <path fill="none" stroke="#000000" d="M131.2523,-226.0466C181.1259,-237.8567 259.2036,-256.3454 305.0761,-267.208"/>
<polygon fill="#000000" stroke="#000000" points="304.5294,-270.6752 315.0668,-269.5738 306.1425,-263.8636 304.5294,-270.6752"/> <polygon fill="#000000" stroke="#000000" points="304.368,-270.637 314.9054,-269.5355 305.9811,-263.8254 304.368,-270.637"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated).PayloadSize --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated).Payload -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated).PayloadSize</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated).Payload</title>
<g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated).PayloadSize | defined in session_created.go:279&#10;at session_created.go:280: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data]"> <g id="a_node6"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated).Payload | defined in session_created.go:274&#10;at session_created.go:275: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M119.3074,-294C119.3074,-294 49.8974,-294 49.8974,-294 43.8974,-294 37.8974,-288 37.8974,-282 37.8974,-282 37.8974,-270 37.8974,-270 37.8974,-264 43.8974,-258 49.8974,-258 49.8974,-258 119.3074,-258 119.3074,-258 125.3074,-258 131.3074,-264 131.3074,-270 131.3074,-270 131.3074,-282 131.3074,-282 131.3074,-288 125.3074,-294 119.3074,-294"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M107.2049,-294C107.2049,-294 61.9999,-294 61.9999,-294 55.9999,-294 49.9999,-288 49.9999,-282 49.9999,-282 49.9999,-270 49.9999,-270 49.9999,-264 55.9999,-258 61.9999,-258 61.9999,-258 107.2049,-258 107.2049,-258 113.2049,-258 119.2049,-264 119.2049,-270 119.2049,-270 119.2049,-282 119.2049,-282 119.2049,-288 113.2049,-294 107.2049,-294"/>
<text text-anchor="middle" x="84.6024" y="-271.8" font-family="Verdana" font-size="14.00" fill="#000000">PayloadSize</text> <text text-anchor="middle" x="84.6024" y="-271.8" font-family="Verdana" font-size="14.00" fill="#000000">Payload</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated).PayloadSize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated).Payload&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionCreated).PayloadSize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionCreated).Payload&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data</title>
<g id="a_edge3"><a xlink:title="at session_created.go:280: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.CreatedOptions).Data]"> <g id="a_edge3"><a xlink:title="at session_created.go:275: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.CreatedOptions).Data]">
<path fill="none" stroke="#000000" d="M131.2523,-276C181.0211,-276 258.8757,-276 304.7866,-276"/> <path fill="none" stroke="#000000" d="M119.3438,-276C167.8084,-276 255.3391,-276 305.0588,-276"/>
<polygon fill="#000000" stroke="#000000" points="304.9055,-279.5001 314.9054,-276 304.9054,-272.5001 304.9055,-279.5001"/> <polygon fill="#000000" stroke="#000000" points="305.0669,-279.5001 315.0668,-276 305.0668,-272.5001 305.0669,-279.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest).PayloadSize --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest).PayloadSize -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest).PayloadSize</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest).PayloadSize</title>
<g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest).PayloadSize | defined in session_request.go:268&#10;at session_request.go:269: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data]"> <g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest).PayloadSize | defined in session_request.go:268&#10;at session_request.go:269: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M119.3074,-380C119.3074,-380 49.8974,-380 49.8974,-380 43.8974,-380 37.8974,-374 37.8974,-368 37.8974,-368 37.8974,-356 37.8974,-356 37.8974,-350 43.8974,-344 49.8974,-344 49.8974,-344 119.3074,-344 119.3074,-344 125.3074,-344 131.3074,-350 131.3074,-356 131.3074,-356 131.3074,-368 131.3074,-368 131.3074,-374 125.3074,-380 119.3074,-380"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M119.3074,-380C119.3074,-380 49.8974,-380 49.8974,-380 43.8974,-380 37.8974,-374 37.8974,-368 37.8974,-368 37.8974,-356 37.8974,-356 37.8974,-350 43.8974,-344 49.8974,-344 49.8974,-344 119.3074,-344 119.3074,-344 125.3074,-344 131.3074,-350 131.3074,-356 131.3074,-356 131.3074,-368 131.3074,-368 131.3074,-374 125.3074,-380 119.3074,-380"/>
<text text-anchor="middle" x="84.6024" y="-357.8" font-family="Verdana" font-size="14.00" fill="#000000">PayloadSize</text> <text text-anchor="middle" x="84.6024" y="-357.8" font-family="Verdana" font-size="14.00" fill="#000000">PayloadSize</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data</title>
<g id="a_node11"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data | defined in session_request.go:296&#10;at session_request.go:303: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes]&#10;at session_request.go:299: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:300: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:301: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:302: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]"> <g id="a_node11"><a xlink:title="(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data | defined in session_request.go:296&#10;at session_request.go:303: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes]&#10;at session_request.go:299: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:300: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:301: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:302: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M357.2048,-380C357.2048,-380 327.2048,-380 327.2048,-380 321.2048,-380 315.2048,-374 315.2048,-368 315.2048,-368 315.2048,-356 315.2048,-356 315.2048,-350 321.2048,-344 327.2048,-344 327.2048,-344 357.2048,-344 357.2048,-344 363.2048,-344 369.2048,-350 369.2048,-356 369.2048,-356 369.2048,-368 369.2048,-368 369.2048,-374 363.2048,-380 357.2048,-380"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M357.2048,-380C357.2048,-380 327.2048,-380 327.2048,-380 321.2048,-380 315.2048,-374 315.2048,-368 315.2048,-368 315.2048,-356 315.2048,-356 315.2048,-350 321.2048,-344 327.2048,-344 327.2048,-344 357.2048,-344 357.2048,-344 363.2048,-344 369.2048,-350 369.2048,-356 369.2048,-356 369.2048,-368 369.2048,-368 369.2048,-374 363.2048,-380 357.2048,-380"/>
<text text-anchor="middle" x="342.2048" y="-357.8" font-family="Verdana" font-size="14.00" fill="#000000">Data</text> <text text-anchor="middle" x="342.2048" y="-357.8" font-family="Verdana" font-size="14.00" fill="#000000">Data</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest).PayloadSize&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest).PayloadSize&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data -->
<g id="edge6" class="edge"> <g id="edge2" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest).PayloadSize&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest).PayloadSize&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data</title>
<g id="a_edge6"><a xlink:title="at session_request.go:269: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data]"> <g id="a_edge2"><a xlink:title="at session_request.go:269: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data]">
<path fill="none" stroke="#000000" d="M131.2523,-362C181.0211,-362 258.8757,-362 304.7866,-362"/> <path fill="none" stroke="#000000" d="M131.2523,-362C181.0211,-362 258.8757,-362 304.7866,-362"/>
<polygon fill="#000000" stroke="#000000" points="304.9055,-365.5001 314.9054,-362 304.9054,-358.5001 304.9055,-365.5001"/> <polygon fill="#000000" stroke="#000000" points="304.9055,-365.5001 314.9054,-362 304.9054,-358.5001 304.9055,-365.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest).Payload --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest).Payload -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest).Payload</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest).Payload</title>
<g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest).Payload | defined in session_request.go:263&#10;at session_request.go:264: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data]"> <g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest).Payload | defined in session_request.go:263&#10;at session_request.go:264: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M107.2049,-441C107.2049,-441 61.9999,-441 61.9999,-441 55.9999,-441 49.9999,-435 49.9999,-429 49.9999,-429 49.9999,-417 49.9999,-417 49.9999,-411 55.9999,-405 61.9999,-405 61.9999,-405 107.2049,-405 107.2049,-405 113.2049,-405 119.2049,-411 119.2049,-417 119.2049,-417 119.2049,-429 119.2049,-429 119.2049,-435 113.2049,-441 107.2049,-441"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M107.2049,-441C107.2049,-441 61.9999,-441 61.9999,-441 55.9999,-441 49.9999,-435 49.9999,-429 49.9999,-429 49.9999,-417 49.9999,-417 49.9999,-411 55.9999,-405 61.9999,-405 61.9999,-405 107.2049,-405 107.2049,-405 113.2049,-405 119.2049,-411 119.2049,-417 119.2049,-417 119.2049,-429 119.2049,-429 119.2049,-435 113.2049,-441 107.2049,-441"/>
<text text-anchor="middle" x="84.6024" y="-418.8" font-family="Verdana" font-size="14.00" fill="#000000">Payload</text> <text text-anchor="middle" x="84.6024" y="-418.8" font-family="Verdana" font-size="14.00" fill="#000000">Payload</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest).Payload&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest).Payload&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data -->
<g id="edge1" class="edge"> <g id="edge8" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.SessionRequest).Payload&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.SessionRequest).Payload&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data</title>
<g id="a_edge1"><a xlink:title="at session_request.go:264: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data]"> <g id="a_edge8"><a xlink:title="at session_request.go:264: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data]">
<path fill="none" stroke="#000000" d="M119.3438,-414.7733C167.8084,-403.2969 255.3391,-382.5697 305.0588,-370.7961"/> <path fill="none" stroke="#000000" d="M119.3438,-414.7733C167.8084,-403.2969 255.3391,-382.5697 305.0588,-370.7961"/>
<polygon fill="#000000" stroke="#000000" points="306.1425,-374.1364 315.0668,-368.4262 304.5294,-367.3248 306.1425,-374.1364"/> <polygon fill="#000000" stroke="#000000" points="306.1425,-374.1364 315.0668,-368.4262 304.5294,-367.3248 306.1425,-374.1364"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes -->
<g id="edge4" class="edge"> <g id="edge5" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes</title>
<g id="a_edge4"><a xlink:title="at session_request.go:303: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes]"> <g id="a_edge5"><a xlink:title="at session_request.go:303: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Date).Bytes]">
<path fill="none" stroke="#8b4513" d="M369.3049,-362C404.3136,-362 465.4548,-362 505.1066,-362"/> <path fill="none" stroke="#8b4513" d="M369.3049,-362C404.3136,-362 465.4548,-362 505.1066,-362"/>
<polygon fill="#8b4513" stroke="#8b4513" points="505.1879,-365.5001 515.1879,-362 505.1879,-358.5001 505.1879,-365.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="505.1879,-365.5001 515.1879,-362 505.1879,-358.5001 505.1879,-365.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes --> <!-- (github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes -->
<g id="edge11" class="edge"> <g id="edge9" class="edge">
<title>(github.com/go&#45;i2p/go&#45;i2p/lib/transport/messages.RequestOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title> <title>(github.com/go&#45;i2p/go&#45;i2p/lib/transport/ntcp/messages.RequestOptions).Data&#45;&gt;(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes</title>
<g id="a_edge11"><a xlink:title="at session_request.go:299: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:300: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:301: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:302: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]"> <g id="a_edge9"><a xlink:title="at session_request.go:299: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:300: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:301: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]&#10;at session_request.go:302: calling [(github.com/go&#45;i2p/go&#45;i2p/lib/common/data.Integer).Bytes]">
<path fill="none" stroke="#8b4513" d="M369.3049,-350.4017C404.537,-335.3229 466.2363,-308.9168 505.8633,-291.9572"/> <path fill="none" stroke="#8b4513" d="M369.3049,-350.4017C404.537,-335.3229 466.2363,-308.9168 505.8633,-291.9572"/>
<polygon fill="#8b4513" stroke="#8b4513" points="507.3716,-295.1188 515.1879,-287.9664 504.6173,-288.6834 507.3716,-295.1188"/> <polygon fill="#8b4513" stroke="#8b4513" points="507.3716,-295.1188 515.1879,-287.9664 504.6173,-288.6834 507.3716,-295.1188"/>
</a> </a>

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 254 KiB

View File

@ -17,25 +17,25 @@
<g id="clust3" class="cluster"> <g id="clust3" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter</title>
<g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter"> <g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M286.3045,-155C286.3045,-155 458.6173,-155 458.6173,-155 464.6173,-155 470.6173,-161 470.6173,-167 470.6173,-167 470.6173,-221 470.6173,-221 470.6173,-227 464.6173,-233 458.6173,-233 458.6173,-233 286.3045,-233 286.3045,-233 280.3045,-233 274.3045,-227 274.3045,-221 274.3045,-221 274.3045,-167 274.3045,-167 274.3045,-161 280.3045,-155 286.3045,-155"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M286.3045,-16C286.3045,-16 458.6173,-16 458.6173,-16 464.6173,-16 470.6173,-22 470.6173,-28 470.6173,-28 470.6173,-82 470.6173,-82 470.6173,-88 464.6173,-94 458.6173,-94 458.6173,-94 286.3045,-94 286.3045,-94 280.3045,-94 274.3045,-88 274.3045,-82 274.3045,-82 274.3045,-28 274.3045,-28 274.3045,-22 280.3045,-16 286.3045,-16"/>
<text text-anchor="middle" x="372.4609" y="-163.5" font-family="Arial" font-size="15.00" fill="#222222">(*AESSymmetricEncrypter)</text> <text text-anchor="middle" x="372.4609" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*AESSymmetricEncrypter)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust2" class="cluster"> <g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter"> <g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter">
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M285.9202,-16C285.9202,-16 459.0016,-16 459.0016,-16 465.0016,-16 471.0016,-22 471.0016,-28 471.0016,-28 471.0016,-82 471.0016,-82 471.0016,-88 465.0016,-94 459.0016,-94 459.0016,-94 285.9202,-94 285.9202,-94 279.9202,-94 273.9202,-88 273.9202,-82 273.9202,-82 273.9202,-28 273.9202,-28 273.9202,-22 279.9202,-16 285.9202,-16"/> <path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M285.9202,-155C285.9202,-155 459.0016,-155 459.0016,-155 465.0016,-155 471.0016,-161 471.0016,-167 471.0016,-167 471.0016,-221 471.0016,-221 471.0016,-227 465.0016,-233 459.0016,-233 459.0016,-233 285.9202,-233 285.9202,-233 279.9202,-233 273.9202,-227 273.9202,-221 273.9202,-221 273.9202,-167 273.9202,-167 273.9202,-161 279.9202,-155 285.9202,-155"/>
<text text-anchor="middle" x="372.4609" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*AESSymmetricDecrypter)</text> <text text-anchor="middle" x="372.4609" y="-163.5" font-family="Arial" font-size="15.00" fill="#222222">(*AESSymmetricDecrypter)</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey | defined in obfs.go:9&#10;at obfs.go:11: calling [github.com/samber/oops.Errorf]&#10;at obfs.go:24: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey | defined in obfs.go:36&#10;at obfs.go:38: calling [github.com/samber/oops.Errorf]&#10;at obfs.go:51: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M175.166,-169C175.166,-169 34.7542,-169 34.7542,-169 28.7542,-169 22.7542,-163 22.7542,-157 22.7542,-157 22.7542,-145 22.7542,-145 22.7542,-139 28.7542,-133 34.7542,-133 34.7542,-133 175.166,-133 175.166,-133 181.166,-133 187.166,-139 187.166,-145 187.166,-145 187.166,-157 187.166,-157 187.166,-163 181.166,-169 175.166,-169"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M181.8803,-169C181.8803,-169 28.0399,-169 28.0399,-169 22.0399,-169 16.0399,-163 16.0399,-157 16.0399,-157 16.0399,-145 16.0399,-145 16.0399,-139 22.0399,-133 28.0399,-133 28.0399,-133 181.8803,-133 181.8803,-133 187.8803,-133 193.8803,-139 193.8803,-145 193.8803,-145 193.8803,-157 193.8803,-157 193.8803,-163 187.8803,-169 181.8803,-169"/>
<text text-anchor="middle" x="104.9601" y="-146.8" font-family="Verdana" font-size="14.00" fill="#000000">ObfuscateEphemeralKey</text> <text text-anchor="middle" x="104.9601" y="-146.8" font-family="Verdana" font-size="14.00" fill="#000000">DeobfuscateEphemeralKey</text>
</a> </a>
</g> </g>
</g> </g>
@ -49,49 +49,12 @@
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge1"><a xlink:title="at obfs.go:11: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M187.2478,-144.2198C235.5675,-140.2384 294.4375,-135.3877 332.531,-132.2489"/>
<polygon fill="#8b4513" stroke="#8b4513" points="333.0195,-135.7206 342.6983,-131.4111 332.4446,-128.7442 333.0195,-135.7206"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding -->
<g id="node5" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding</title>
<g id="a_node5"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding | defined in aes_encrypter.go:36">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M425.7741,-225C425.7741,-225 318.1477,-225 318.1477,-225 312.1477,-225 306.1477,-219 306.1477,-213 306.1477,-213 306.1477,-201 306.1477,-201 306.1477,-195 312.1477,-189 318.1477,-189 318.1477,-189 425.7741,-189 425.7741,-189 431.7741,-189 437.7741,-195 437.7741,-201 437.7741,-201 437.7741,-213 437.7741,-213 437.7741,-219 431.7741,-225 425.7741,-225"/>
<text text-anchor="middle" x="371.9609" y="-211.2" font-family="Verdana" font-size="14.00" fill="#000000">aes</text>
<text text-anchor="middle" x="371.9609" y="-194.4" font-family="Verdana" font-size="14.00" fill="#000000">EncryptNoPadding</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding -->
<g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding</title>
<g id="a_edge2"><a xlink:title="at obfs.go:24: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding]">
<path fill="none" stroke="#8b4513" d="M187.2478,-168.2588C221.973,-175.542 262.147,-183.9679 296.1427,-191.0981"/>
<polygon fill="#8b4513" stroke="#8b4513" points="295.5127,-194.5421 306.0183,-193.1694 296.9497,-187.6911 295.5127,-194.5421"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey | defined in obfs.go:36&#10;at obfs.go:38: calling [github.com/samber/oops.Errorf]&#10;at obfs.go:51: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M181.8803,-95C181.8803,-95 28.0399,-95 28.0399,-95 22.0399,-95 16.0399,-89 16.0399,-83 16.0399,-83 16.0399,-71 16.0399,-71 16.0399,-65 22.0399,-59 28.0399,-59 28.0399,-59 181.8803,-59 181.8803,-59 187.8803,-59 193.8803,-65 193.8803,-71 193.8803,-71 193.8803,-83 193.8803,-83 193.8803,-89 187.8803,-95 181.8803,-95"/>
<text text-anchor="middle" x="104.9601" y="-72.8" font-family="Verdana" font-size="14.00" fill="#000000">DeobfuscateEphemeralKey</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey&#45;&gt;github.com/samber/oops.Errorf --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge3" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey&#45;&gt;github.com/samber/oops.Errorf</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge3"><a xlink:title="at obfs.go:38: calling [github.com/samber/oops.Errorf]"> <g id="a_edge1"><a xlink:title="at obfs.go:38: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M194.2387,-94.3875C241.1517,-103.5241 296.2782,-114.2603 332.5523,-121.3249"/> <path fill="none" stroke="#8b4513" d="M194.2387,-143.6437C241.1517,-139.7783 296.2782,-135.236 332.5523,-132.2471"/>
<polygon fill="#8b4513" stroke="#8b4513" points="332.2326,-124.8284 342.7173,-123.3046 333.5708,-117.9575 332.2326,-124.8284"/> <polygon fill="#8b4513" stroke="#8b4513" points="333.0385,-135.719 342.7173,-131.4096 332.4636,-128.7427 333.0385,-135.719"/>
</a> </a>
</g> </g>
</g> </g>
@ -99,18 +62,55 @@
<g id="node4" class="node"> <g id="node4" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding</title>
<g id="a_node4"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding | defined in aes_decrypter.go:49"> <g id="a_node4"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding | defined in aes_decrypter.go:49">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M426.0423,-86C426.0423,-86 317.8795,-86 317.8795,-86 311.8795,-86 305.8795,-80 305.8795,-74 305.8795,-74 305.8795,-62 305.8795,-62 305.8795,-56 311.8795,-50 317.8795,-50 317.8795,-50 426.0423,-50 426.0423,-50 432.0423,-50 438.0423,-56 438.0423,-62 438.0423,-62 438.0423,-74 438.0423,-74 438.0423,-80 432.0423,-86 426.0423,-86"/> <path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M426.0423,-225C426.0423,-225 317.8795,-225 317.8795,-225 311.8795,-225 305.8795,-219 305.8795,-213 305.8795,-213 305.8795,-201 305.8795,-201 305.8795,-195 311.8795,-189 317.8795,-189 317.8795,-189 426.0423,-189 426.0423,-189 432.0423,-189 438.0423,-195 438.0423,-201 438.0423,-201 438.0423,-213 438.0423,-213 438.0423,-219 432.0423,-225 426.0423,-225"/>
<text text-anchor="middle" x="371.9609" y="-72.2" font-family="Verdana" font-size="14.00" fill="#000000">aes</text> <text text-anchor="middle" x="371.9609" y="-211.2" font-family="Verdana" font-size="14.00" fill="#000000">aes</text>
<text text-anchor="middle" x="371.9609" y="-55.4" font-family="Verdana" font-size="14.00" fill="#000000">DecryptNoPadding</text> <text text-anchor="middle" x="371.9609" y="-194.4" font-family="Verdana" font-size="14.00" fill="#000000">DecryptNoPadding</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding -->
<g id="edge4" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.DeobfuscateEphemeralKey&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding</title>
<g id="a_edge4"><a xlink:title="at obfs.go:51: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding]"> <g id="a_edge2"><a xlink:title="at obfs.go:51: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricDecrypter).DecryptNoPadding]">
<path fill="none" stroke="#8b4513" d="M194.2387,-73.9906C227.0695,-72.884 263.9229,-71.6417 295.5223,-70.5766"/> <path fill="none" stroke="#8b4513" d="M190.9105,-169.027C224.6204,-176.0972 262.983,-184.1433 295.6918,-191.0035"/>
<polygon fill="#8b4513" stroke="#8b4513" points="295.7091,-74.0724 305.5855,-70.2374 295.4732,-67.0763 295.7091,-74.0724"/> <polygon fill="#8b4513" stroke="#8b4513" points="295.1443,-194.4648 305.6498,-193.0921 296.5812,-187.6138 295.1443,-194.4648"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey | defined in obfs.go:9&#10;at obfs.go:11: calling [github.com/samber/oops.Errorf]&#10;at obfs.go:24: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M175.166,-95C175.166,-95 34.7542,-95 34.7542,-95 28.7542,-95 22.7542,-89 22.7542,-83 22.7542,-83 22.7542,-71 22.7542,-71 22.7542,-65 28.7542,-59 34.7542,-59 34.7542,-59 175.166,-59 175.166,-59 181.166,-59 187.166,-65 187.166,-71 187.166,-71 187.166,-83 187.166,-83 187.166,-89 181.166,-95 175.166,-95"/>
<text text-anchor="middle" x="104.9601" y="-72.8" font-family="Verdana" font-size="14.00" fill="#000000">ObfuscateEphemeralKey</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey&#45;&gt;github.com/samber/oops.Errorf -->
<g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey&#45;&gt;github.com/samber/oops.Errorf</title>
<g id="a_edge3"><a xlink:title="at obfs.go:11: calling [github.com/samber/oops.Errorf]">
<path fill="none" stroke="#8b4513" d="M187.2478,-93.026C235.5675,-102.4366 294.4375,-113.9019 332.531,-121.3208"/>
<polygon fill="#8b4513" stroke="#8b4513" points="332.2136,-124.8247 342.6983,-123.3009 333.5518,-117.9538 332.2136,-124.8247"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding -->
<g id="node5" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding</title>
<g id="a_node5"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding | defined in aes_encrypter.go:36">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M425.7741,-86C425.7741,-86 318.1477,-86 318.1477,-86 312.1477,-86 306.1477,-80 306.1477,-74 306.1477,-74 306.1477,-62 306.1477,-62 306.1477,-56 312.1477,-50 318.1477,-50 318.1477,-50 425.7741,-50 425.7741,-50 431.7741,-50 437.7741,-56 437.7741,-62 437.7741,-62 437.7741,-74 437.7741,-74 437.7741,-80 431.7741,-86 425.7741,-86"/>
<text text-anchor="middle" x="371.9609" y="-72.2" font-family="Verdana" font-size="14.00" fill="#000000">aes</text>
<text text-anchor="middle" x="371.9609" y="-55.4" font-family="Verdana" font-size="14.00" fill="#000000">EncryptNoPadding</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding -->
<g id="edge4" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/obfs.ObfuscateEphemeralKey&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding</title>
<g id="a_edge4"><a xlink:title="at obfs.go:24: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/crypto/aes.AESSymmetricEncrypter).EncryptNoPadding]">
<path fill="none" stroke="#8b4513" d="M187.2478,-74.2263C221.824,-73.0608 261.8023,-71.7132 295.7046,-70.5704"/>
<polygon fill="#8b4513" stroke="#8b4513" points="296.1419,-74.0578 306.0183,-70.2228 295.906,-67.0617 296.1419,-74.0578"/>
</a> </a>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -4,10 +4,42 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304) <!-- Generated by graphviz version 2.40.1 (20161225.0304)
--> -->
<!-- Title: gocallvis Pages: 1 --> <!-- Title: gocallvis Pages: 1 -->
<svg width="0pt" height="0pt" <svg width="287pt" height="98pt"
viewBox="0.00 0.00 0.00 0.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> viewBox="0.00 0.00 286.75 98.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 0)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 98)">
<title>gocallvis</title> <title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,0 0,0 0,0 0,0"/> <polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-98 286.7518,-98 286.7518,0 0,0"/>
<g id="clust1" class="cluster">
<title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-90 278.7518,-90 278.7518,-8 8,-8"/>
<text text-anchor="middle" x="143.3759" y="-69.8" font-family="Arial" font-size="18.00" fill="#000000">padding</text>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.QuantAdjustment -->
<g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.QuantAdjustment</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.QuantAdjustment | defined in quant.go:45&#10;at quant.go:52: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.Quant]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M127.3109,-52C127.3109,-52 28.2291,-52 28.2291,-52 22.2291,-52 16.2291,-46 16.2291,-40 16.2291,-40 16.2291,-28 16.2291,-28 16.2291,-22 22.2291,-16 28.2291,-16 28.2291,-16 127.3109,-16 127.3109,-16 133.3109,-16 139.3109,-22 139.3109,-28 139.3109,-28 139.3109,-40 139.3109,-40 139.3109,-46 133.3109,-52 127.3109,-52"/>
<text text-anchor="middle" x="77.77" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">QuantAdjustment</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.Quant -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.Quant</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.Quant | defined in quant.go:27">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M258.8581,-52C258.8581,-52 224.4337,-52 224.4337,-52 218.4337,-52 212.4337,-46 212.4337,-40 212.4337,-40 212.4337,-28 212.4337,-28 212.4337,-22 218.4337,-16 224.4337,-16 224.4337,-16 258.8581,-16 258.8581,-16 264.8581,-16 270.8581,-22 270.8581,-28 270.8581,-28 270.8581,-40 270.8581,-40 270.8581,-46 264.8581,-52 258.8581,-52"/>
<text text-anchor="middle" x="241.6459" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">Quant</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.QuantAdjustment&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.Quant -->
<g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.QuantAdjustment&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.Quant</title>
<g id="a_edge1"><a xlink:title="at quant.go:52: calling [github.com/go&#45;i2p/go&#45;i2p/lib/transport/padding.Quant]">
<path fill="none" stroke="#000000" d="M139.7245,-34C160.5819,-34 183.2791,-34 201.9491,-34"/>
<polygon fill="#000000" stroke="#000000" points="202.1501,-37.5001 212.15,-34 202.15,-30.5001 202.1501,-37.5001"/>
</a>
</g>
</g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 584 B

After

Width:  |  Height:  |  Size: 3.3 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 218 KiB

After

Width:  |  Height:  |  Size: 219 KiB

View File

@ -14,75 +14,75 @@
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-212 284.9384,-212 284.9384,-8 8,-8"/> <polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-212 284.9384,-212 284.9384,-8 8,-8"/>
<text text-anchor="middle" x="146.4692" y="-191.8" font-family="Arial" font-size="18.00" fill="#000000">signals</text> <text text-anchor="middle" x="146.4692" y="-191.8" font-family="Arial" font-size="18.00" fill="#000000">signals</text>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle -->
<g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle | defined in unix.go:15&#10;at unix.go:23: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload]&#10;at unix.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M68.641,-143C68.641,-143 27.7854,-143 27.7854,-143 21.7854,-143 15.7854,-137 15.7854,-131 15.7854,-131 15.7854,-119 15.7854,-119 15.7854,-113 21.7854,-107 27.7854,-107 27.7854,-107 68.641,-107 68.641,-107 74.641,-107 80.641,-113 80.641,-119 80.641,-119 80.641,-131 80.641,-131 80.641,-137 74.641,-143 68.641,-143"/>
<text text-anchor="middle" x="48.2132" y="-120.8" font-family="Verdana" font-size="14.00" fill="#000000">Handle</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload | defined in signals.go:17">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M253.6586,-113C253.6586,-113 176.7062,-113 176.7062,-113 170.7062,-113 164.7062,-107 164.7062,-101 164.7062,-101 164.7062,-89 164.7062,-89 164.7062,-83 170.7062,-77 176.7062,-77 176.7062,-77 253.6586,-77 253.6586,-77 259.6586,-77 265.6586,-83 265.6586,-89 265.6586,-89 265.6586,-101 265.6586,-101 265.6586,-107 259.6586,-113 253.6586,-113"/>
<text text-anchor="middle" x="215.1824" y="-90.8" font-family="Verdana" font-size="14.00" fill="#000000">handleReload</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload -->
<g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload</title>
<g id="a_edge1"><a xlink:title="at unix.go:23: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload]">
<path fill="none" stroke="#000000" d="M80.8029,-119.1445C101.7394,-115.3827 129.5814,-110.3803 154.4915,-105.9046"/>
<polygon fill="#000000" stroke="#000000" points="155.3715,-109.3026 164.5949,-104.0892 154.1336,-102.4129 155.3715,-109.3026"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted | defined in signals.go:29">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M264.6954,-174C264.6954,-174 165.6694,-174 165.6694,-174 159.6694,-174 153.6694,-168 153.6694,-162 153.6694,-162 153.6694,-150 153.6694,-150 153.6694,-144 159.6694,-138 165.6694,-138 165.6694,-138 264.6954,-138 264.6954,-138 270.6954,-138 276.6954,-144 276.6954,-150 276.6954,-150 276.6954,-162 276.6954,-162 276.6954,-168 270.6954,-174 264.6954,-174"/>
<text text-anchor="middle" x="215.1824" y="-151.8" font-family="Verdana" font-size="14.00" fill="#000000">handleInterrupted</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted -->
<g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted</title>
<g id="a_edge2"><a xlink:title="at unix.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted]">
<path fill="none" stroke="#000000" d="M80.8029,-131.0507C98.7443,-134.3818 121.7569,-138.6543 143.6498,-142.719"/>
<polygon fill="#000000" stroke="#000000" points="143.1368,-146.1835 153.6077,-144.5679 144.4146,-139.3011 143.1368,-146.1835"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init -->
<g id="node4" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init | defined in .:0&#10;at .:0: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init | defined in .:0&#10;at .:0: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M63.2132,-52C63.2132,-52 33.2132,-52 33.2132,-52 27.2132,-52 21.2132,-46 21.2132,-40 21.2132,-40 21.2132,-28 21.2132,-28 21.2132,-22 27.2132,-16 33.2132,-16 33.2132,-16 63.2132,-16 63.2132,-16 69.2132,-16 75.2132,-22 75.2132,-28 75.2132,-28 75.2132,-40 75.2132,-40 75.2132,-46 69.2132,-52 63.2132,-52"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M63.2132,-174C63.2132,-174 33.2132,-174 33.2132,-174 27.2132,-174 21.2132,-168 21.2132,-162 21.2132,-162 21.2132,-150 21.2132,-150 21.2132,-144 27.2132,-138 33.2132,-138 33.2132,-138 63.2132,-138 63.2132,-138 69.2132,-138 75.2132,-144 75.2132,-150 75.2132,-150 75.2132,-162 75.2132,-162 75.2132,-168 69.2132,-174 63.2132,-174"/>
<text text-anchor="middle" x="48.2132" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text> <text text-anchor="middle" x="48.2132" y="-151.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1 --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1 -->
<g id="node5" class="node"> <g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1 | defined in unix.go:11"> <g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1 | defined in unix.go:11">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M231.3551,-52C231.3551,-52 199.0097,-52 199.0097,-52 193.0097,-52 187.0097,-46 187.0097,-40 187.0097,-40 187.0097,-28 187.0097,-28 187.0097,-22 193.0097,-16 199.0097,-16 199.0097,-16 231.3551,-16 231.3551,-16 237.3551,-16 243.3551,-22 243.3551,-28 243.3551,-28 243.3551,-40 243.3551,-40 243.3551,-46 237.3551,-52 231.3551,-52"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M231.3551,-174C231.3551,-174 199.0097,-174 199.0097,-174 193.0097,-174 187.0097,-168 187.0097,-162 187.0097,-162 187.0097,-150 187.0097,-150 187.0097,-144 193.0097,-138 199.0097,-138 199.0097,-138 231.3551,-138 231.3551,-138 237.3551,-138 243.3551,-144 243.3551,-150 243.3551,-150 243.3551,-162 243.3551,-162 243.3551,-168 237.3551,-174 231.3551,-174"/>
<text text-anchor="middle" x="215.1824" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init#1</text> <text text-anchor="middle" x="215.1824" y="-151.8" font-family="Verdana" font-size="14.00" fill="#000000">init#1</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1 --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1 -->
<g id="edge3" class="edge"> <g id="edge1" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1</title>
<g id="a_edge3"><a xlink:title="at .:0: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1]"> <g id="a_edge1"><a xlink:title="at .:0: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.init#1]">
<path fill="none" stroke="#000000" d="M75.4113,-34C102.9748,-34 145.8607,-34 176.8609,-34"/> <path fill="none" stroke="#000000" d="M75.4113,-156C102.9748,-156 145.8607,-156 176.8609,-156"/>
<polygon fill="#000000" stroke="#000000" points="176.8791,-37.5001 186.879,-34 176.879,-30.5001 176.8791,-37.5001"/> <polygon fill="#000000" stroke="#000000" points="176.8791,-159.5001 186.879,-156 176.879,-152.5001 176.8791,-159.5001"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle | defined in unix.go:15&#10;at unix.go:23: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload]&#10;at unix.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M68.641,-83C68.641,-83 27.7854,-83 27.7854,-83 21.7854,-83 15.7854,-77 15.7854,-71 15.7854,-71 15.7854,-59 15.7854,-59 15.7854,-53 21.7854,-47 27.7854,-47 27.7854,-47 68.641,-47 68.641,-47 74.641,-47 80.641,-53 80.641,-59 80.641,-59 80.641,-71 80.641,-71 80.641,-77 74.641,-83 68.641,-83"/>
<text text-anchor="middle" x="48.2132" y="-60.8" font-family="Verdana" font-size="14.00" fill="#000000">Handle</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload | defined in signals.go:17">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M253.6586,-52C253.6586,-52 176.7062,-52 176.7062,-52 170.7062,-52 164.7062,-46 164.7062,-40 164.7062,-40 164.7062,-28 164.7062,-28 164.7062,-22 170.7062,-16 176.7062,-16 176.7062,-16 253.6586,-16 253.6586,-16 259.6586,-16 265.6586,-22 265.6586,-28 265.6586,-28 265.6586,-40 265.6586,-40 265.6586,-46 259.6586,-52 253.6586,-52"/>
<text text-anchor="middle" x="215.1824" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">handleReload</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload -->
<g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload</title>
<g id="a_edge2"><a xlink:title="at unix.go:23: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleReload]">
<path fill="none" stroke="#000000" d="M80.8029,-58.9493C101.7394,-55.0622 129.5814,-49.8929 154.4915,-45.2681"/>
<polygon fill="#000000" stroke="#000000" points="155.4019,-48.6589 164.5949,-43.3922 154.124,-41.7765 155.4019,-48.6589"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted -->
<g id="node5" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted | defined in signals.go:29">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M264.6954,-113C264.6954,-113 165.6694,-113 165.6694,-113 159.6694,-113 153.6694,-107 153.6694,-101 153.6694,-101 153.6694,-89 153.6694,-89 153.6694,-83 159.6694,-77 165.6694,-77 165.6694,-77 264.6954,-77 264.6954,-77 270.6954,-77 276.6954,-83 276.6954,-89 276.6954,-89 276.6954,-101 276.6954,-101 276.6954,-107 270.6954,-113 264.6954,-113"/>
<text text-anchor="middle" x="215.1824" y="-90.8" font-family="Verdana" font-size="14.00" fill="#000000">handleInterrupted</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted -->
<g id="edge3" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.Handle&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted</title>
<g id="a_edge3"><a xlink:title="at unix.go:25: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/signals.handleInterrupted]">
<path fill="none" stroke="#000000" d="M80.8029,-70.8555C98.7443,-74.0791 121.7569,-78.2139 143.6498,-82.1475"/>
<polygon fill="#000000" stroke="#000000" points="143.1463,-85.613 153.6077,-83.9366 144.3842,-78.7233 143.1463,-85.613"/>
</a> </a>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@ -4,73 +4,46 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304) <!-- Generated by graphviz version 2.40.1 (20161225.0304)
--> -->
<!-- Title: gocallvis Pages: 1 --> <!-- Title: gocallvis Pages: 1 -->
<svg width="1420pt" height="539pt" <svg width="1420pt" height="548pt"
viewBox="0.00 0.00 1420.13 539.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> viewBox="0.00 0.00 1420.13 548.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 539)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 548)">
<title>gocallvis</title> <title>gocallvis</title>
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-539 1420.1336,-539 1420.1336,0 0,0"/> <polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-548 1420.1336,-548 1420.1336,0 0,0"/>
<g id="clust1" class="cluster"> <g id="clust1" class="cluster">
<title>cluster_focus</title> <title>cluster_focus</title>
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-531 1412.1336,-531 1412.1336,-8 8,-8"/> <polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-540 1412.1336,-540 1412.1336,-8 8,-8"/>
<text text-anchor="middle" x="710.0668" y="-510.8" font-family="Arial" font-size="18.00" fill="#000000">sntp</text> <text text-anchor="middle" x="710.0668" y="-519.8" font-family="Arial" font-size="18.00" fill="#000000">sntp</text>
</g> </g>
<g id="clust4" class="cluster"> <g id="clust4" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones</title>
<g id="a_clust4"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones"> <g id="a_clust4"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1091.3404,-60C1091.3404,-60 1392.1336,-60 1392.1336,-60 1398.1336,-60 1404.1336,-66 1404.1336,-72 1404.1336,-72 1404.1336,-187 1404.1336,-187 1404.1336,-193 1398.1336,-199 1392.1336,-199 1392.1336,-199 1091.3404,-199 1091.3404,-199 1085.3404,-199 1079.3404,-193 1079.3404,-187 1079.3404,-187 1079.3404,-72 1079.3404,-72 1079.3404,-66 1085.3404,-60 1091.3404,-60"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M1091.3404,-16C1091.3404,-16 1392.1336,-16 1392.1336,-16 1398.1336,-16 1404.1336,-22 1404.1336,-28 1404.1336,-28 1404.1336,-143 1404.1336,-143 1404.1336,-149 1398.1336,-155 1392.1336,-155 1392.1336,-155 1091.3404,-155 1091.3404,-155 1085.3404,-155 1079.3404,-149 1079.3404,-143 1079.3404,-143 1079.3404,-28 1079.3404,-28 1079.3404,-22 1085.3404,-16 1091.3404,-16"/>
<text text-anchor="middle" x="1241.737" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(*Zones)</text> <text text-anchor="middle" x="1241.737" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*Zones)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust3" class="cluster"> <g id="clust3" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper</title>
<g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper"> <g id="a_clust3"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M32.6697,-207C32.6697,-207 1163.3285,-207 1163.3285,-207 1169.3285,-207 1175.3285,-213 1175.3285,-219 1175.3285,-219 1175.3285,-395 1175.3285,-395 1175.3285,-401 1169.3285,-407 1163.3285,-407 1163.3285,-407 32.6697,-407 32.6697,-407 26.6697,-407 20.6697,-401 20.6697,-395 20.6697,-395 20.6697,-219 20.6697,-219 20.6697,-213 26.6697,-207 32.6697,-207"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M32.6697,-216C32.6697,-216 1163.3285,-216 1163.3285,-216 1169.3285,-216 1175.3285,-222 1175.3285,-228 1175.3285,-228 1175.3285,-404 1175.3285,-404 1175.3285,-410 1169.3285,-416 1163.3285,-416 1163.3285,-416 32.6697,-416 32.6697,-416 26.6697,-416 20.6697,-410 20.6697,-404 20.6697,-404 20.6697,-228 20.6697,-228 20.6697,-222 26.6697,-216 32.6697,-216"/>
<text text-anchor="middle" x="597.9991" y="-215.5" font-family="Arial" font-size="15.00" fill="#222222">(*RouterTimestamper)</text> <text text-anchor="middle" x="597.9991" y="-224.5" font-family="Arial" font-size="15.00" fill="#222222">(*RouterTimestamper)</text>
</a> </a>
</g> </g>
</g> </g>
<g id="clust2" class="cluster"> <g id="clust2" class="cluster">
<title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient</title> <title>cluster_*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient</title>
<g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient"> <g id="a_clust2"><a xlink:title="type: *github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient">
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-415C28,-415 151.31,-415 151.31,-415 157.31,-415 163.31,-421 163.31,-427 163.31,-427 163.31,-481 163.31,-481 163.31,-487 157.31,-493 151.31,-493 151.31,-493 28,-493 28,-493 22,-493 16,-487 16,-481 16,-481 16,-427 16,-427 16,-421 22,-415 28,-415"/> <path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-424C28,-424 151.31,-424 151.31,-424 157.31,-424 163.31,-430 163.31,-436 163.31,-436 163.31,-490 163.31,-490 163.31,-496 157.31,-502 151.31,-502 151.31,-502 28,-502 28,-502 22,-502 16,-496 16,-490 16,-490 16,-436 16,-436 16,-430 22,-424 28,-424"/>
<text text-anchor="middle" x="89.655" y="-423.5" font-family="Arial" font-size="15.00" fill="#222222">(*DefaultNTPClient)</text> <text text-anchor="middle" x="89.655" y="-432.5" font-family="Arial" font-size="15.00" fill="#222222">(*DefaultNTPClient)</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration -->
<g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration</title>
<g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration | defined in router_timestamper.go:386">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M1158.2573,-52C1158.2573,-52 1089.4109,-52 1089.4109,-52 1083.4109,-52 1077.4109,-46 1077.4109,-40 1077.4109,-40 1077.4109,-28 1077.4109,-28 1077.4109,-22 1083.4109,-16 1089.4109,-16 1089.4109,-16 1158.2573,-16 1158.2573,-16 1164.2573,-16 1170.2573,-22 1170.2573,-28 1170.2573,-28 1170.2573,-40 1170.2573,-40 1170.2573,-46 1164.2573,-52 1158.2573,-52"/>
<text text-anchor="middle" x="1123.8341" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">absDuration</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode | defined in router_timestamper.go:393">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M1186.2513,-451C1186.2513,-451 1061.4169,-451 1061.4169,-451 1055.4169,-451 1049.4169,-445 1049.4169,-439 1049.4169,-439 1049.4169,-427 1049.4169,-427 1049.4169,-421 1055.4169,-415 1061.4169,-415 1061.4169,-415 1186.2513,-415 1186.2513,-415 1192.2513,-415 1198.2513,-421 1198.2513,-427 1198.2513,-427 1198.2513,-439 1198.2513,-439 1198.2513,-445 1192.2513,-451 1186.2513,-451"/>
<text text-anchor="middle" x="1123.8341" y="-428.8" font-family="Verdana" font-size="14.00" fill="#000000">getLocalCountryCode</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity | defined in router_timestamper.go:371">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M964.834,-460C964.834,-460 833.0024,-460 833.0024,-460 827.0024,-460 821.0024,-454 821.0024,-448 821.0024,-448 821.0024,-436 821.0024,-436 821.0024,-430 827.0024,-424 833.0024,-424 833.0024,-424 964.834,-424 964.834,-424 970.834,-424 976.834,-430 976.834,-436 976.834,-436 976.834,-448 976.834,-448 976.834,-454 970.834,-460 964.834,-460"/>
<text text-anchor="middle" x="898.9182" y="-437.8" font-family="Verdana" font-size="14.00" fill="#000000">checkIPv6Connectivity</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones -->
<g id="node4" class="node"> <g id="node1" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones | defined in zones.go:19&#10;at zones.go:24: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize]"> <g id="a_node1"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones | defined in zones.go:19&#10;at zones.go:24: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M929.0586,-157C929.0586,-157 868.7778,-157 868.7778,-157 862.7778,-157 856.7778,-151 856.7778,-145 856.7778,-145 856.7778,-133 856.7778,-133 856.7778,-127 862.7778,-121 868.7778,-121 868.7778,-121 929.0586,-121 929.0586,-121 935.0586,-121 941.0586,-127 941.0586,-133 941.0586,-133 941.0586,-145 941.0586,-145 941.0586,-151 935.0586,-157 929.0586,-157"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M929.0586,-121C929.0586,-121 868.7778,-121 868.7778,-121 862.7778,-121 856.7778,-115 856.7778,-109 856.7778,-109 856.7778,-97 856.7778,-97 856.7778,-91 862.7778,-85 868.7778,-85 868.7778,-85 929.0586,-85 929.0586,-85 935.0586,-85 941.0586,-91 941.0586,-97 941.0586,-97 941.0586,-109 941.0586,-109 941.0586,-115 935.0586,-121 929.0586,-121"/>
<text text-anchor="middle" x="898.9182" y="-134.8" font-family="Verdana" font-size="14.00" fill="#000000">NewZones</text> <text text-anchor="middle" x="898.9182" y="-98.8" font-family="Verdana" font-size="14.00" fill="#000000">NewZones</text>
</a> </a>
</g> </g>
</g> </g>
@ -78,26 +51,63 @@
<g id="node19" class="node"> <g id="node19" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize</title>
<g id="a_node19"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize | defined in zones.go:36&#10;at zones.go:51: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile]"> <g id="a_node19"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize | defined in zones.go:36&#10;at zones.go:51: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M1148.3215,-130C1148.3215,-130 1099.3467,-130 1099.3467,-130 1093.3467,-130 1087.3467,-124 1087.3467,-118 1087.3467,-118 1087.3467,-106 1087.3467,-106 1087.3467,-100 1093.3467,-94 1099.3467,-94 1099.3467,-94 1148.3215,-94 1148.3215,-94 1154.3215,-94 1160.3215,-100 1160.3215,-106 1160.3215,-106 1160.3215,-118 1160.3215,-118 1160.3215,-124 1154.3215,-130 1148.3215,-130"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M1148.3215,-86C1148.3215,-86 1099.3467,-86 1099.3467,-86 1093.3467,-86 1087.3467,-80 1087.3467,-74 1087.3467,-74 1087.3467,-62 1087.3467,-62 1087.3467,-56 1093.3467,-50 1099.3467,-50 1099.3467,-50 1148.3215,-50 1148.3215,-50 1154.3215,-50 1160.3215,-56 1160.3215,-62 1160.3215,-62 1160.3215,-74 1160.3215,-74 1160.3215,-80 1154.3215,-86 1148.3215,-86"/>
<text text-anchor="middle" x="1123.8341" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">initialize</text> <text text-anchor="middle" x="1123.8341" y="-63.8" font-family="Verdana" font-size="14.00" fill="#000000">initialize</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize -->
<g id="edge1" class="edge"> <g id="edge17" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize</title>
<g id="a_edge1"><a xlink:title="at zones.go:24: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize]"> <g id="a_edge17"><a xlink:title="at zones.go:24: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize]">
<path fill="none" stroke="#000000" d="M941.2232,-133.9215C979.9704,-129.2701 1037.2175,-122.3979 1077.2557,-117.5915"/> <path fill="none" stroke="#000000" d="M941.2232,-96.4168C979.9704,-90.3872 1037.2175,-81.4787 1077.2557,-75.2482"/>
<polygon fill="#000000" stroke="#000000" points="1077.7853,-121.0531 1087.2968,-116.3861 1076.9509,-114.103 1077.7853,-121.0531"/> <polygon fill="#000000" stroke="#000000" points="1077.9539,-78.6818 1087.2968,-73.6857 1076.8775,-71.765 1077.9539,-78.6818"/>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode -->
<g id="node2" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode</title>
<g id="a_node2"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode | defined in router_timestamper.go:393">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M1186.2513,-460C1186.2513,-460 1061.4169,-460 1061.4169,-460 1055.4169,-460 1049.4169,-454 1049.4169,-448 1049.4169,-448 1049.4169,-436 1049.4169,-436 1049.4169,-430 1055.4169,-424 1061.4169,-424 1061.4169,-424 1186.2513,-424 1186.2513,-424 1192.2513,-424 1198.2513,-430 1198.2513,-436 1198.2513,-436 1198.2513,-448 1198.2513,-448 1198.2513,-454 1192.2513,-460 1186.2513,-460"/>
<text text-anchor="middle" x="1123.8341" y="-437.8" font-family="Verdana" font-size="14.00" fill="#000000">getLocalCountryCode</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity -->
<g id="node3" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity</title>
<g id="a_node3"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity | defined in router_timestamper.go:371">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M964.834,-469C964.834,-469 833.0024,-469 833.0024,-469 827.0024,-469 821.0024,-463 821.0024,-457 821.0024,-457 821.0024,-445 821.0024,-445 821.0024,-439 827.0024,-433 833.0024,-433 833.0024,-433 964.834,-433 964.834,-433 970.834,-433 976.834,-439 976.834,-445 976.834,-445 976.834,-457 976.834,-457 976.834,-463 970.834,-469 964.834,-469"/>
<text text-anchor="middle" x="898.9182" y="-446.8" font-family="Verdana" font-size="14.00" fill="#000000">checkIPv6Connectivity</text>
</a>
</g>
</g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration -->
<g id="node4" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration</title>
<g id="a_node4"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration | defined in router_timestamper.go:386">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M1158.2573,-208C1158.2573,-208 1089.4109,-208 1089.4109,-208 1083.4109,-208 1077.4109,-202 1077.4109,-196 1077.4109,-196 1077.4109,-184 1077.4109,-184 1077.4109,-178 1083.4109,-172 1089.4109,-172 1089.4109,-172 1158.2573,-172 1158.2573,-172 1164.2573,-172 1170.2573,-178 1170.2573,-184 1170.2573,-184 1170.2573,-196 1170.2573,-196 1170.2573,-202 1164.2573,-208 1158.2573,-208"/>
<text text-anchor="middle" x="1123.8341" y="-185.8" font-family="Verdana" font-size="14.00" fill="#000000">absDuration</text>
</a>
</g>
</g>
<!-- github.com/beevik/ntp.QueryWithOptions -->
<g id="node5" class="node">
<title>github.com/beevik/ntp.QueryWithOptions</title>
<g id="a_node5"><a xlink:title="github.com/beevik/ntp.QueryWithOptions | defined in ntp.go:432">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M355.7754,-494C355.7754,-494 248.1546,-494 248.1546,-494 242.1546,-494 236.1546,-488 236.1546,-482 236.1546,-482 236.1546,-470 236.1546,-470 236.1546,-464 242.1546,-458 248.1546,-458 248.1546,-458 355.7754,-458 355.7754,-458 361.7754,-458 367.7754,-464 367.7754,-470 367.7754,-470 367.7754,-482 367.7754,-482 367.7754,-488 361.7754,-494 355.7754,-494"/>
<text text-anchor="middle" x="301.965" y="-480.2" font-family="Verdana" font-size="14.00" fill="#000000">ntp</text>
<text text-anchor="middle" x="301.965" y="-463.4" font-family="Verdana" font-size="14.00" fill="#000000">QueryWithOptions</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper -->
<g id="node5" class="node"> <g id="node6" class="node">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper</title>
<g id="a_node5"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper | defined in router_timestamper.go:55&#10;at router_timestamper.go:61: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones]&#10;at router_timestamper.go:65: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig]"> <g id="a_node6"><a xlink:title="github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper | defined in router_timestamper.go:55&#10;at router_timestamper.go:61: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones]&#10;at router_timestamper.go:65: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M736.4082,-164C736.4082,-164 597.6188,-164 597.6188,-164 591.6188,-164 585.6188,-158 585.6188,-152 585.6188,-152 585.6188,-140 585.6188,-140 585.6188,-134 591.6188,-128 597.6188,-128 597.6188,-128 736.4082,-128 736.4082,-128 742.4082,-128 748.4082,-134 748.4082,-140 748.4082,-140 748.4082,-152 748.4082,-152 748.4082,-158 742.4082,-164 736.4082,-164"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M736.4082,-138C736.4082,-138 597.6188,-138 597.6188,-138 591.6188,-138 585.6188,-132 585.6188,-126 585.6188,-126 585.6188,-114 585.6188,-114 585.6188,-108 591.6188,-102 597.6188,-102 597.6188,-102 736.4082,-102 736.4082,-102 742.4082,-102 748.4082,-108 748.4082,-114 748.4082,-114 748.4082,-126 748.4082,-126 748.4082,-132 742.4082,-138 736.4082,-138"/>
<text text-anchor="middle" x="667.0135" y="-141.8" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterTimestamper</text> <text text-anchor="middle" x="667.0135" y="-115.8" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterTimestamper</text>
</a> </a>
</g> </g>
</g> </g>
@ -105,36 +115,26 @@
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones</title>
<g id="a_edge2"><a xlink:title="at router_timestamper.go:61: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones]"> <g id="a_edge2"><a xlink:title="at router_timestamper.go:61: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewZones]">
<path fill="none" stroke="#000000" d="M748.4483,-143.5419C780.9942,-142.5595 817.5321,-141.4566 846.4526,-140.5837"/> <path fill="none" stroke="#000000" d="M748.4483,-114.0303C780.9942,-111.6445 817.5321,-108.9661 846.4526,-106.846"/>
<polygon fill="#000000" stroke="#000000" points="846.8515,-144.0733 856.7413,-140.2731 846.6402,-137.0765 846.8515,-144.0733"/> <polygon fill="#000000" stroke="#000000" points="847.024,-110.3136 856.7413,-106.0918 846.5122,-103.3324 847.024,-110.3136"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig -->
<g id="node10" class="node"> <g id="node8" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig</title>
<g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig | defined in router_timestamper.go:331&#10;at router_timestamper.go:357: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone]&#10;at router_timestamper.go:348: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode]"> <g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig | defined in router_timestamper.go:331&#10;at router_timestamper.go:357: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone]&#10;at router_timestamper.go:348: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M937.126,-338C937.126,-338 860.7104,-338 860.7104,-338 854.7104,-338 848.7104,-332 848.7104,-326 848.7104,-326 848.7104,-314 848.7104,-314 848.7104,-308 854.7104,-302 860.7104,-302 860.7104,-302 937.126,-302 937.126,-302 943.126,-302 949.126,-308 949.126,-314 949.126,-314 949.126,-326 949.126,-326 949.126,-332 943.126,-338 937.126,-338"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M937.126,-286C937.126,-286 860.7104,-286 860.7104,-286 854.7104,-286 848.7104,-280 848.7104,-274 848.7104,-274 848.7104,-262 848.7104,-262 848.7104,-256 854.7104,-250 860.7104,-250 860.7104,-250 937.126,-250 937.126,-250 943.126,-250 949.126,-256 949.126,-262 949.126,-262 949.126,-274 949.126,-274 949.126,-280 943.126,-286 937.126,-286"/>
<text text-anchor="middle" x="898.9182" y="-315.8" font-family="Verdana" font-size="14.00" fill="#000000">updateConfig</text> <text text-anchor="middle" x="898.9182" y="-263.8" font-family="Verdana" font-size="14.00" fill="#000000">updateConfig</text>
</a> </a>
</g> </g>
</g> </g>
<!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig --> <!-- github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig -->
<g id="edge9" class="edge"> <g id="edge16" class="edge">
<title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig</title> <title>github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.NewRouterTimestamper&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig</title>
<g id="a_edge9"><a xlink:title="at router_timestamper.go:65: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig]"> <g id="a_edge16"><a xlink:title="at router_timestamper.go:65: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig]">
<path fill="none" stroke="#000000" d="M698.2421,-164.1692C714.0193,-174.0679 732.9914,-187.1144 748.2106,-201 786.0037,-235.4814 779.7563,-260.0195 821.2106,-290 826.7217,-293.9857 832.8306,-297.5195 839.1317,-300.6329"/> <path fill="none" stroke="#000000" d="M684.2314,-138.2078C711.018,-165.5021 765.4158,-216.9173 821.2106,-246 826.759,-248.8921 832.7343,-251.4444 838.8191,-253.6875"/>
<polygon fill="#000000" stroke="#000000" points="837.904,-303.9201 848.4536,-304.8973 840.8159,-297.5545 837.904,-303.9201"/> <polygon fill="#000000" stroke="#000000" points="837.8309,-257.0483 848.4253,-256.9623 840.0896,-250.4227 837.8309,-257.0483"/>
</a>
</g>
</g>
<!-- github.com/beevik/ntp.QueryWithOptions -->
<g id="node6" class="node">
<title>github.com/beevik/ntp.QueryWithOptions</title>
<g id="a_node6"><a xlink:title="github.com/beevik/ntp.QueryWithOptions | defined in ntp.go:432">
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M355.7754,-485C355.7754,-485 248.1546,-485 248.1546,-485 242.1546,-485 236.1546,-479 236.1546,-473 236.1546,-473 236.1546,-461 236.1546,-461 236.1546,-455 242.1546,-449 248.1546,-449 248.1546,-449 355.7754,-449 355.7754,-449 361.7754,-449 367.7754,-455 367.7754,-461 367.7754,-461 367.7754,-473 367.7754,-473 367.7754,-479 361.7754,-485 355.7754,-485"/>
<text text-anchor="middle" x="301.965" y="-471.2" font-family="Verdana" font-size="14.00" fill="#000000">ntp</text>
<text text-anchor="middle" x="301.965" y="-454.4" font-family="Verdana" font-size="14.00" fill="#000000">QueryWithOptions</text>
</a> </a>
</g> </g>
</g> </g>
@ -142,62 +142,26 @@
<g id="node7" class="node"> <g id="node7" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions</title>
<g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions | defined in router_timestamper.go:20&#10;at router_timestamper.go:21: calling [github.com/beevik/ntp.QueryWithOptions]"> <g id="a_node7"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions | defined in router_timestamper.go:20&#10;at router_timestamper.go:21: calling [github.com/beevik/ntp.QueryWithOptions]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M143.4654,-485C143.4654,-485 35.8446,-485 35.8446,-485 29.8446,-485 23.8446,-479 23.8446,-473 23.8446,-473 23.8446,-461 23.8446,-461 23.8446,-455 29.8446,-449 35.8446,-449 35.8446,-449 143.4654,-449 143.4654,-449 149.4654,-449 155.4654,-455 155.4654,-461 155.4654,-461 155.4654,-473 155.4654,-473 155.4654,-479 149.4654,-485 143.4654,-485"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M143.4654,-494C143.4654,-494 35.8446,-494 35.8446,-494 29.8446,-494 23.8446,-488 23.8446,-482 23.8446,-482 23.8446,-470 23.8446,-470 23.8446,-464 29.8446,-458 35.8446,-458 35.8446,-458 143.4654,-458 143.4654,-458 149.4654,-458 155.4654,-464 155.4654,-470 155.4654,-470 155.4654,-482 155.4654,-482 155.4654,-488 149.4654,-494 143.4654,-494"/>
<text text-anchor="middle" x="89.655" y="-462.8" font-family="Verdana" font-size="14.00" fill="#000000">QueryWithOptions</text> <text text-anchor="middle" x="89.655" y="-471.8" font-family="Verdana" font-size="14.00" fill="#000000">QueryWithOptions</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions&#45;&gt;github.com/beevik/ntp.QueryWithOptions --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions&#45;&gt;github.com/beevik/ntp.QueryWithOptions -->
<g id="edge10" class="edge"> <g id="edge14" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions&#45;&gt;github.com/beevik/ntp.QueryWithOptions</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.DefaultNTPClient).QueryWithOptions&#45;&gt;github.com/beevik/ntp.QueryWithOptions</title>
<g id="a_edge10"><a xlink:title="at router_timestamper.go:21: calling [github.com/beevik/ntp.QueryWithOptions]"> <g id="a_edge14"><a xlink:title="at router_timestamper.go:21: calling [github.com/beevik/ntp.QueryWithOptions]">
<path fill="none" stroke="#8b4513" d="M155.3772,-467C177.7612,-467 202.965,-467 226.0794,-467"/> <path fill="none" stroke="#8b4513" d="M155.3772,-476C177.7612,-476 202.965,-476 226.0794,-476"/>
<polygon fill="#8b4513" stroke="#8b4513" points="226.1878,-470.5001 236.1878,-467 226.1878,-463.5001 226.1878,-470.5001"/> <polygon fill="#8b4513" stroke="#8b4513" points="226.1878,-479.5001 236.1878,-476 226.1878,-472.5001 226.1878,-479.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime -->
<g id="node8" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime</title>
<g id="a_node8"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime | defined in router_timestamper.go:276&#10;at router_timestamper.go:319: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime]&#10;at router_timestamper.go:303: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]&#10;at router_timestamper.go:312: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]&#10;at router_timestamper.go:304: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M929.8429,-277C929.8429,-277 867.9935,-277 867.9935,-277 861.9935,-277 855.9935,-271 855.9935,-265 855.9935,-265 855.9935,-253 855.9935,-253 855.9935,-247 861.9935,-241 867.9935,-241 867.9935,-241 929.8429,-241 929.8429,-241 935.8429,-241 941.8429,-247 941.8429,-253 941.8429,-253 941.8429,-265 941.8429,-265 941.8429,-271 935.8429,-277 929.8429,-277"/>
<text text-anchor="middle" x="898.9182" y="-254.8" font-family="Verdana" font-size="14.00" fill="#000000">queryTime</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration -->
<g id="edge16" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration</title>
<g id="a_edge16"><a xlink:title="at router_timestamper.go:303: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]&#10;at router_timestamper.go:312: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]&#10;at router_timestamper.go:304: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]">
<path fill="none" stroke="#000000" d="M941.9142,-254.0925C954.2924,-250.8834 967.0278,-245.6182 976.6258,-237 1041.1664,-179.0478 985.4433,-114.3486 1049.6258,-56 1054.8365,-51.2629 1061.0237,-47.5433 1067.5692,-44.6232"/>
<polygon fill="#000000" stroke="#000000" points="1069.2496,-47.7281 1077.3435,-40.8915 1066.7528,-41.1885 1069.2496,-47.7281"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime -->
<g id="node9" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime</title>
<g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime | defined in router_timestamper.go:323">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M1155.3229,-277C1155.3229,-277 1092.3453,-277 1092.3453,-277 1086.3453,-277 1080.3453,-271 1080.3453,-265 1080.3453,-265 1080.3453,-253 1080.3453,-253 1080.3453,-247 1086.3453,-241 1092.3453,-241 1092.3453,-241 1155.3229,-241 1155.3229,-241 1161.3229,-241 1167.3229,-247 1167.3229,-253 1167.3229,-253 1167.3229,-265 1167.3229,-265 1167.3229,-271 1161.3229,-277 1155.3229,-277"/>
<text text-anchor="middle" x="1123.8341" y="-254.8" font-family="Verdana" font-size="14.00" fill="#000000">stampTime</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime -->
<g id="edge12" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime</title>
<g id="a_edge12"><a xlink:title="at router_timestamper.go:319: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime]">
<path fill="none" stroke="#000000" d="M941.7526,-259C978.1397,-259 1030.5595,-259 1069.8194,-259"/>
<polygon fill="#000000" stroke="#000000" points="1070.0083,-262.5001 1080.0083,-259 1070.0083,-255.5001 1070.0083,-262.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode -->
<g id="edge18" class="edge"> <g id="edge10" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode</title>
<g id="a_edge18"><a xlink:title="at router_timestamper.go:348: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode]"> <g id="a_edge10"><a xlink:title="at router_timestamper.go:348: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.getLocalCountryCode]">
<path fill="none" stroke="#000000" d="M949.3331,-337.4698C958.6543,-341.432 968.1229,-345.9748 976.6258,-351 1010.2386,-370.8651 1012.3876,-388.6308 1048.8341,-410.0173"/> <path fill="none" stroke="#000000" d="M949.2861,-282.535C959.0176,-286.82 968.6526,-292.2328 976.6258,-299 1022.0787,-337.5781 1002.2441,-377.3308 1047.4553,-417.4837"/>
<polygon fill="#000000" stroke="#000000" points="1047.2761,-413.1553 1057.7205,-414.9343 1050.6652,-407.0303 1047.2761,-413.1553"/> <polygon fill="#000000" stroke="#000000" points="1045.3444,-420.2793 1055.2899,-423.9314 1049.7925,-414.8743 1045.3444,-420.2793"/>
</a> </a>
</g> </g>
</g> </g>
@ -205,53 +169,62 @@
<g id="node21" class="node"> <g id="node21" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone</title>
<g id="a_node21"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone | defined in zones.go:28"> <g id="a_node21"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone | defined in zones.go:28">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M1148.3131,-191C1148.3131,-191 1099.3551,-191 1099.3551,-191 1093.3551,-191 1087.3551,-185 1087.3551,-179 1087.3551,-179 1087.3551,-167 1087.3551,-167 1087.3551,-161 1093.3551,-155 1099.3551,-155 1099.3551,-155 1148.3131,-155 1148.3131,-155 1154.3131,-155 1160.3131,-161 1160.3131,-167 1160.3131,-167 1160.3131,-179 1160.3131,-179 1160.3131,-185 1154.3131,-191 1148.3131,-191"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M1148.3131,-147C1148.3131,-147 1099.3551,-147 1099.3551,-147 1093.3551,-147 1087.3551,-141 1087.3551,-135 1087.3551,-135 1087.3551,-123 1087.3551,-123 1087.3551,-117 1093.3551,-111 1099.3551,-111 1099.3551,-111 1148.3131,-111 1148.3131,-111 1154.3131,-111 1160.3131,-117 1160.3131,-123 1160.3131,-123 1160.3131,-135 1160.3131,-135 1160.3131,-141 1154.3131,-147 1148.3131,-147"/>
<text text-anchor="middle" x="1123.8341" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">GetZone</text> <text text-anchor="middle" x="1123.8341" y="-124.8" font-family="Verdana" font-size="14.00" fill="#000000">GetZone</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone -->
<g id="edge14" class="edge"> <g id="edge7" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone</title>
<g id="a_edge14"><a xlink:title="at router_timestamper.go:357: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone]"> <g id="a_edge7"><a xlink:title="at router_timestamper.go:357: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).GetZone]">
<path fill="none" stroke="#000000" d="M949.1949,-307.3083C959.1561,-303.0443 968.9059,-297.4111 976.6258,-290 1005.6323,-262.1538 982.6395,-233.7883 1012.6258,-207 1030.3677,-191.1503 1055.3391,-182.688 1077.1252,-178.1705"/> <path fill="none" stroke="#000000" d="M949.0305,-264.8332C971.0415,-261.1253 995.8619,-253.4902 1013.6258,-238 1045.1651,-210.4976 1018.5362,-179.0098 1049.6258,-151 1057.338,-144.0518 1067.153,-139.2936 1077.0995,-136.0365"/>
<polygon fill="#000000" stroke="#000000" points="1077.9988,-181.5684 1087.1951,-176.3073 1076.7252,-174.6852 1077.9988,-181.5684"/> <polygon fill="#000000" stroke="#000000" points="1078.334,-139.3254 1087.0168,-133.2543 1076.4431,-132.5856 1078.334,-139.3254"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery -->
<g id="node11" class="node"> <g id="node9" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery</title>
<g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery | defined in router_timestamper.go:129&#10;at router_timestamper.go:131: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity]&#10;at router_timestamper.go:141: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime]&#10;at router_timestamper.go:150: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime]&#10;at router_timestamper.go:149: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool]&#10;at router_timestamper.go:130: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig]"> <g id="a_node9"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery | defined in router_timestamper.go:129&#10;at router_timestamper.go:130: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig]&#10;at router_timestamper.go:141: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime]&#10;at router_timestamper.go:150: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime]&#10;at router_timestamper.go:149: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool]&#10;at router_timestamper.go:131: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M721.6312,-353C721.6312,-353 612.3958,-353 612.3958,-353 606.3958,-353 600.3958,-347 600.3958,-341 600.3958,-341 600.3958,-329 600.3958,-329 600.3958,-323 606.3958,-317 612.3958,-317 612.3958,-317 721.6312,-317 721.6312,-317 727.6312,-317 733.6312,-323 733.6312,-329 733.6312,-329 733.6312,-341 733.6312,-341 733.6312,-347 727.6312,-353 721.6312,-353"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M721.6312,-362C721.6312,-362 612.3958,-362 612.3958,-362 606.3958,-362 600.3958,-356 600.3958,-350 600.3958,-350 600.3958,-338 600.3958,-338 600.3958,-332 606.3958,-326 612.3958,-326 612.3958,-326 721.6312,-326 721.6312,-326 727.6312,-326 733.6312,-332 733.6312,-338 733.6312,-338 733.6312,-350 733.6312,-350 733.6312,-356 727.6312,-362 721.6312,-362"/>
<text text-anchor="middle" x="667.0135" y="-330.8" font-family="Verdana" font-size="14.00" fill="#000000">performTimeQuery</text> <text text-anchor="middle" x="667.0135" y="-339.8" font-family="Verdana" font-size="14.00" fill="#000000">performTimeQuery</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity -->
<g id="edge3" class="edge"> <g id="edge18" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity</title>
<g id="a_edge3"><a xlink:title="at router_timestamper.go:131: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity]"> <g id="a_edge18"><a xlink:title="at router_timestamper.go:131: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.checkIPv6Connectivity]">
<path fill="none" stroke="#000000" d="M700.1887,-353.133C731.0725,-369.6876 778.615,-394.3472 821.2106,-413 826.8372,-415.4639 832.7462,-417.9119 838.6872,-420.2808"/> <path fill="none" stroke="#000000" d="M700.1887,-362.133C731.0725,-378.6876 778.615,-403.3472 821.2106,-422 826.8372,-424.4639 832.7462,-426.9119 838.6872,-429.2808"/>
<polygon fill="#000000" stroke="#000000" points="837.4258,-423.5455 848.0137,-423.9293 839.976,-417.0266 837.4258,-423.5455"/> <polygon fill="#000000" stroke="#000000" points="837.4258,-432.5455 848.0137,-432.9293 839.976,-426.0266 837.4258,-432.5455"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime -->
<g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime</title>
<g id="a_edge4"><a xlink:title="at router_timestamper.go:141: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime]&#10;at router_timestamper.go:150: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime]">
<path fill="none" stroke="#000000" d="M734.0434,-317.2901C738.8505,-315.8816 743.6124,-314.4442 748.2106,-313 781.2057,-302.6368 817.7317,-289.5899 846.5604,-278.9166"/>
<polygon fill="#000000" stroke="#000000" points="847.8738,-282.1624 856.0259,-275.3953 845.433,-275.6017 847.8738,-282.1624"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig -->
<g id="edge19" class="edge"> <g id="edge4" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig</title>
<g id="a_edge19"><a xlink:title="at router_timestamper.go:130: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig]"> <g id="a_edge4"><a xlink:title="at router_timestamper.go:130: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).updateConfig]">
<path fill="none" stroke="#000000" d="M733.7788,-330.6815C766.8616,-328.5417 806.5018,-325.9777 838.6518,-323.8981"/> <path fill="none" stroke="#000000" d="M734.0434,-326.2901C738.8505,-324.8816 743.6124,-323.4442 748.2106,-322 779.4019,-312.2034 813.7485,-300.0084 841.7651,-289.6876"/>
<polygon fill="#000000" stroke="#000000" points="839.056,-327.3794 848.8092,-323.2411 838.6041,-320.394 839.056,-327.3794"/> <polygon fill="#000000" stroke="#000000" points="843.2327,-292.8765 851.3954,-286.1221 840.8022,-286.3119 843.2327,-292.8765"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime -->
<g id="node10" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime</title>
<g id="a_node10"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime | defined in router_timestamper.go:276&#10;at router_timestamper.go:303: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]&#10;at router_timestamper.go:312: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]&#10;at router_timestamper.go:304: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]&#10;at router_timestamper.go:319: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M929.8429,-347C929.8429,-347 867.9935,-347 867.9935,-347 861.9935,-347 855.9935,-341 855.9935,-335 855.9935,-335 855.9935,-323 855.9935,-323 855.9935,-317 861.9935,-311 867.9935,-311 867.9935,-311 929.8429,-311 929.8429,-311 935.8429,-311 941.8429,-317 941.8429,-323 941.8429,-323 941.8429,-335 941.8429,-335 941.8429,-341 935.8429,-347 929.8429,-347"/>
<text text-anchor="middle" x="898.9182" y="-324.8" font-family="Verdana" font-size="14.00" fill="#000000">queryTime</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime -->
<g id="edge12" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime</title>
<g id="a_edge12"><a xlink:title="at router_timestamper.go:141: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime]&#10;at router_timestamper.go:150: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime]">
<path fill="none" stroke="#000000" d="M733.7788,-339.6815C769.4301,-337.3755 812.6965,-334.577 845.998,-332.423"/>
<polygon fill="#000000" stroke="#000000" points="846.2404,-335.9147 855.9936,-331.7764 845.7885,-328.9293 846.2404,-335.9147"/>
</a> </a>
</g> </g>
</g> </g>
@ -259,8 +232,8 @@
<g id="node12" class="node"> <g id="node12" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool</title>
<g id="a_node12"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool | defined in router_timestamper.go:125"> <g id="a_node12"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool | defined in router_timestamper.go:125">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M944.9466,-399C944.9466,-399 852.8898,-399 852.8898,-399 846.8898,-399 840.8898,-393 840.8898,-387 840.8898,-387 840.8898,-375 840.8898,-375 840.8898,-369 846.8898,-363 852.8898,-363 852.8898,-363 944.9466,-363 944.9466,-363 950.9466,-363 956.9466,-369 956.9466,-375 956.9466,-375 956.9466,-387 956.9466,-387 956.9466,-393 950.9466,-399 944.9466,-399"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M944.9466,-408C944.9466,-408 852.8898,-408 852.8898,-408 846.8898,-408 840.8898,-402 840.8898,-396 840.8898,-396 840.8898,-384 840.8898,-384 840.8898,-378 846.8898,-372 852.8898,-372 852.8898,-372 944.9466,-372 944.9466,-372 950.9466,-372 956.9466,-378 956.9466,-384 956.9466,-384 956.9466,-396 956.9466,-396 956.9466,-402 950.9466,-408 944.9466,-408"/>
<text text-anchor="middle" x="898.9182" y="-376.8" font-family="Verdana" font-size="14.00" fill="#000000">secureRandBool</text> <text text-anchor="middle" x="898.9182" y="-385.8" font-family="Verdana" font-size="14.00" fill="#000000">secureRandBool</text>
</a> </a>
</g> </g>
</g> </g>
@ -268,35 +241,118 @@
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool</title>
<g id="a_edge13"><a xlink:title="at router_timestamper.go:149: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool]"> <g id="a_edge13"><a xlink:title="at router_timestamper.go:149: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).secureRandBool]">
<path fill="none" stroke="#000000" d="M733.7788,-348.2434C764.1938,-354.2764 800.1513,-361.4089 830.7354,-367.4754"/> <path fill="none" stroke="#000000" d="M733.7788,-357.2434C764.1938,-363.2764 800.1513,-370.4089 830.7354,-376.4754"/>
<polygon fill="#000000" stroke="#000000" points="830.3957,-370.9762 840.8856,-369.4888 831.7577,-364.11 830.3957,-370.9762"/> <polygon fill="#000000" stroke="#000000" points="830.3957,-379.9762 840.8856,-378.4888 831.7577,-373.11 830.3957,-379.9762"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration -->
<g id="edge5" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration</title>
<g id="a_edge5"><a xlink:title="at router_timestamper.go:303: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]&#10;at router_timestamper.go:312: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]&#10;at router_timestamper.go:304: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]">
<path fill="none" stroke="#000000" d="M942.0155,-316.7584C953.8548,-312.2574 966.2725,-306.4 976.6258,-299 1017.6903,-269.6493 1007.4174,-239.6803 1049.6258,-212 1055.2126,-208.3362 1061.4284,-205.2657 1067.8181,-202.6962"/>
<polygon fill="#000000" stroke="#000000" points="1069.0411,-205.9758 1077.2513,-199.2794 1066.6571,-199.3943 1069.0411,-205.9758"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime -->
<g id="node11" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime</title>
<g id="a_node11"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime | defined in router_timestamper.go:323">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M1155.3229,-347C1155.3229,-347 1092.3453,-347 1092.3453,-347 1086.3453,-347 1080.3453,-341 1080.3453,-335 1080.3453,-335 1080.3453,-323 1080.3453,-323 1080.3453,-317 1086.3453,-311 1092.3453,-311 1092.3453,-311 1155.3229,-311 1155.3229,-311 1161.3229,-311 1167.3229,-317 1167.3229,-323 1167.3229,-323 1167.3229,-335 1167.3229,-335 1167.3229,-341 1161.3229,-347 1155.3229,-347"/>
<text text-anchor="middle" x="1123.8341" y="-324.8" font-family="Verdana" font-size="14.00" fill="#000000">stampTime</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime -->
<g id="edge11" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).queryTime&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime</title>
<g id="a_edge11"><a xlink:title="at router_timestamper.go:319: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).stampTime]">
<path fill="none" stroke="#000000" d="M941.7526,-329C978.1397,-329 1030.5595,-329 1069.8194,-329"/>
<polygon fill="#000000" stroke="#000000" points="1070.0083,-332.5001 1080.0083,-329 1070.0083,-325.5001 1070.0083,-332.5001"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce -->
<g id="node13" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce</title>
<g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce | defined in router_timestamper.go:272&#10;at router_timestamper.go:273: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M500.9149,-386C500.9149,-386 452.5215,-386 452.5215,-386 446.5215,-386 440.5215,-380 440.5215,-374 440.5215,-374 440.5215,-362 440.5215,-362 440.5215,-356 446.5215,-350 452.5215,-350 452.5215,-350 500.9149,-350 500.9149,-350 506.9149,-350 512.9149,-356 512.9149,-362 512.9149,-362 512.9149,-374 512.9149,-374 512.9149,-380 506.9149,-386 500.9149,-386"/>
<text text-anchor="middle" x="476.7182" y="-363.8" font-family="Verdana" font-size="14.00" fill="#000000">runOnce</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery -->
<g id="edge8" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery</title>
<g id="a_edge8"><a xlink:title="at router_timestamper.go:273: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery]">
<path fill="none" stroke="#000000" d="M512.9592,-363.4293C534.7608,-360.6797 563.365,-357.0721 590.0004,-353.7129"/>
<polygon fill="#000000" stroke="#000000" points="590.6105,-357.1637 600.0939,-352.4399 589.7346,-350.2188 590.6105,-357.1637"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow -->
<g id="node14" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow</title>
<g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow | defined in router_timestamper.go:119&#10;at router_timestamper.go:121: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M347.1672,-386C347.1672,-386 256.7628,-386 256.7628,-386 250.7628,-386 244.7628,-380 244.7628,-374 244.7628,-374 244.7628,-362 244.7628,-362 244.7628,-356 250.7628,-350 256.7628,-350 256.7628,-350 347.1672,-350 347.1672,-350 353.1672,-350 359.1672,-356 359.1672,-362 359.1672,-362 359.1672,-374 359.1672,-374 359.1672,-380 353.1672,-386 347.1672,-386"/>
<text text-anchor="middle" x="301.965" y="-363.8" font-family="Verdana" font-size="14.00" fill="#000000">TimestampNow</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce -->
<g id="edge19" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce</title>
<g id="a_edge19"><a xlink:title="at router_timestamper.go:121: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce]">
<path fill="none" stroke="#000000" d="M359.1857,-368C377.8039,-368 398.5042,-368 417.2807,-368"/>
<polygon fill="#000000" stroke="#000000" points="430.5192,-371.5 440.5192,-368 430.5192,-364.5 430.5192,-371.5"/>
<polyline fill="none" stroke="#000000" points="430.5192,-368 425.5192,-368.0001 "/>
<ellipse fill="none" stroke="#000000" cx="421.5192" cy="-368.0001" rx="4" ry="4"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime -->
<g id="node15" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime</title>
<g id="a_node15"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime | defined in router_timestamper.go:397&#10;at router_timestamper.go:400: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M135.6792,-386C135.6792,-386 43.6308,-386 43.6308,-386 37.6308,-386 31.6308,-380 31.6308,-374 31.6308,-374 31.6308,-362 31.6308,-362 31.6308,-356 37.6308,-350 43.6308,-350 43.6308,-350 135.6792,-350 135.6792,-350 141.6792,-350 147.6792,-356 147.6792,-362 147.6792,-362 147.6792,-374 147.6792,-374 147.6792,-380 141.6792,-386 135.6792,-386"/>
<text text-anchor="middle" x="89.655" y="-363.8" font-family="Verdana" font-size="14.00" fill="#000000">GetCurrentTime</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow -->
<g id="edge1" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow</title>
<g id="a_edge1"><a xlink:title="at router_timestamper.go:400: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow]">
<path fill="none" stroke="#000000" d="M147.9505,-368C174.7367,-368 206.6648,-368 234.487,-368"/>
<polygon fill="#000000" stroke="#000000" points="234.5344,-371.5001 244.5344,-368 234.5343,-364.5001 234.5344,-371.5001"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).validateResponse --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).validateResponse -->
<g id="node13" class="node"> <g id="node16" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).validateResponse</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).validateResponse</title>
<g id="a_node13"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).validateResponse | defined in verification.go:10&#10;at verification.go:28: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]"> <g id="a_node16"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).validateResponse | defined in verification.go:10&#10;at verification.go:28: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M138.6256,-277C138.6256,-277 40.6844,-277 40.6844,-277 34.6844,-277 28.6844,-271 28.6844,-265 28.6844,-265 28.6844,-253 28.6844,-253 28.6844,-247 34.6844,-241 40.6844,-241 40.6844,-241 138.6256,-241 138.6256,-241 144.6256,-241 150.6256,-247 150.6256,-253 150.6256,-253 150.6256,-265 150.6256,-265 150.6256,-271 144.6256,-277 138.6256,-277"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M138.6256,-286C138.6256,-286 40.6844,-286 40.6844,-286 34.6844,-286 28.6844,-280 28.6844,-274 28.6844,-274 28.6844,-262 28.6844,-262 28.6844,-256 34.6844,-250 40.6844,-250 40.6844,-250 138.6256,-250 138.6256,-250 144.6256,-250 150.6256,-256 150.6256,-262 150.6256,-262 150.6256,-274 150.6256,-274 150.6256,-280 144.6256,-286 138.6256,-286"/>
<text text-anchor="middle" x="89.655" y="-254.8" font-family="Verdana" font-size="14.00" fill="#000000">validateResponse</text> <text text-anchor="middle" x="89.655" y="-263.8" font-family="Verdana" font-size="14.00" fill="#000000">validateResponse</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).validateResponse&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).validateResponse&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration -->
<g id="edge5" class="edge"> <g id="edge9" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).validateResponse&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).validateResponse&#45;&gt;github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration</title>
<g id="a_edge5"><a xlink:title="at verification.go:28: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]"> <g id="a_edge9"><a xlink:title="at verification.go:28: calling [github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.absDuration]">
<path fill="none" stroke="#000000" d="M100.4525,-240.807C128.0129,-196.9517 205.6372,-89 301.965,-89 301.965,-89 301.965,-89 898.9182,-89 915.7442,-89 1006.7672,-65.4742 1067.7373,-49.1952"/> <path fill="none" stroke="#000000" d="M125.453,-249.8939C166.855,-230.6609 237.5896,-203 301.965,-203 301.965,-203 301.965,-203 898.9182,-203 956.2509,-203 1021.6676,-198.7379 1067.1138,-195.0945"/>
<polygon fill="#000000" stroke="#000000" points="1068.8677,-52.516 1077.6226,-46.5492 1067.0576,-45.754 1068.8677,-52.516"/> <polygon fill="#000000" stroke="#000000" points="1067.6758,-198.5603 1077.3571,-194.2567 1067.1051,-191.5836 1067.6758,-198.5603"/>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run -->
<g id="node14" class="node"> <g id="node17" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run</title>
<g id="a_node14"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run | defined in router_timestamper.go:215&#10;at router_timestamper.go:218: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery]"> <g id="a_node17"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run | defined in router_timestamper.go:215&#10;at router_timestamper.go:218: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M491.7182,-316C491.7182,-316 461.7182,-316 461.7182,-316 455.7182,-316 449.7182,-310 449.7182,-304 449.7182,-304 449.7182,-292 449.7182,-292 449.7182,-286 455.7182,-280 461.7182,-280 461.7182,-280 491.7182,-280 491.7182,-280 497.7182,-280 503.7182,-286 503.7182,-292 503.7182,-292 503.7182,-304 503.7182,-304 503.7182,-310 497.7182,-316 491.7182,-316"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M491.7182,-325C491.7182,-325 461.7182,-325 461.7182,-325 455.7182,-325 449.7182,-319 449.7182,-313 449.7182,-313 449.7182,-301 449.7182,-301 449.7182,-295 455.7182,-289 461.7182,-289 461.7182,-289 491.7182,-289 491.7182,-289 497.7182,-289 503.7182,-295 503.7182,-301 503.7182,-301 503.7182,-313 503.7182,-313 503.7182,-319 497.7182,-325 491.7182,-325"/>
<text text-anchor="middle" x="476.7182" y="-293.8" font-family="Verdana" font-size="14.00" fill="#000000">run</text> <text text-anchor="middle" x="476.7182" y="-302.8" font-family="Verdana" font-size="14.00" fill="#000000">run</text>
</a> </a>
</g> </g>
</g> </g>
@ -304,64 +360,8 @@
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery</title>
<g id="a_edge6"><a xlink:title="at router_timestamper.go:218: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery]"> <g id="a_edge6"><a xlink:title="at router_timestamper.go:218: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery]">
<path fill="none" stroke="#000000" d="M503.9829,-303.3012C526.61,-307.7007 559.9243,-314.1782 590.5502,-320.1329"/> <path fill="none" stroke="#000000" d="M503.9829,-312.3012C526.61,-316.7007 559.9243,-323.1782 590.5502,-329.1329"/>
<polygon fill="#000000" stroke="#000000" points="589.8981,-323.5716 600.3823,-322.0446 591.2341,-316.7002 589.8981,-323.5716"/> <polygon fill="#000000" stroke="#000000" points="589.8981,-332.5716 600.3823,-331.0446 591.2341,-325.7002 589.8981,-332.5716"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce -->
<g id="node15" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce</title>
<g id="a_node15"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce | defined in router_timestamper.go:272&#10;at router_timestamper.go:273: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery]">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M500.9149,-377C500.9149,-377 452.5215,-377 452.5215,-377 446.5215,-377 440.5215,-371 440.5215,-365 440.5215,-365 440.5215,-353 440.5215,-353 440.5215,-347 446.5215,-341 452.5215,-341 452.5215,-341 500.9149,-341 500.9149,-341 506.9149,-341 512.9149,-347 512.9149,-353 512.9149,-353 512.9149,-365 512.9149,-365 512.9149,-371 506.9149,-377 500.9149,-377"/>
<text text-anchor="middle" x="476.7182" y="-354.8" font-family="Verdana" font-size="14.00" fill="#000000">runOnce</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery -->
<g id="edge7" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery</title>
<g id="a_edge7"><a xlink:title="at router_timestamper.go:273: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).performTimeQuery]">
<path fill="none" stroke="#000000" d="M512.9592,-354.4293C534.7608,-351.6797 563.365,-348.0721 590.0004,-344.7129"/>
<polygon fill="#000000" stroke="#000000" points="590.6105,-348.1637 600.0939,-343.4399 589.7346,-341.2188 590.6105,-348.1637"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow -->
<g id="node16" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow</title>
<g id="a_node16"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow | defined in router_timestamper.go:119&#10;at router_timestamper.go:121: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M347.1672,-377C347.1672,-377 256.7628,-377 256.7628,-377 250.7628,-377 244.7628,-371 244.7628,-365 244.7628,-365 244.7628,-353 244.7628,-353 244.7628,-347 250.7628,-341 256.7628,-341 256.7628,-341 347.1672,-341 347.1672,-341 353.1672,-341 359.1672,-347 359.1672,-353 359.1672,-353 359.1672,-365 359.1672,-365 359.1672,-371 353.1672,-377 347.1672,-377"/>
<text text-anchor="middle" x="301.965" y="-354.8" font-family="Verdana" font-size="14.00" fill="#000000">TimestampNow</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce -->
<g id="edge8" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce</title>
<g id="a_edge8"><a xlink:title="at router_timestamper.go:121: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).runOnce]">
<path fill="none" stroke="#000000" d="M359.1857,-359C377.8039,-359 398.5042,-359 417.2807,-359"/>
<polygon fill="#000000" stroke="#000000" points="430.5192,-362.5 440.5192,-359 430.5192,-355.5 430.5192,-362.5"/>
<polyline fill="none" stroke="#000000" points="430.5192,-359 425.5192,-359.0001 "/>
<ellipse fill="none" stroke="#000000" cx="421.5192" cy="-359.0001" rx="4" ry="4"/>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime -->
<g id="node17" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime</title>
<g id="a_node17"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime | defined in router_timestamper.go:397&#10;at router_timestamper.go:400: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M135.6792,-377C135.6792,-377 43.6308,-377 43.6308,-377 37.6308,-377 31.6308,-371 31.6308,-365 31.6308,-365 31.6308,-353 31.6308,-353 31.6308,-347 37.6308,-341 43.6308,-341 43.6308,-341 135.6792,-341 135.6792,-341 141.6792,-341 147.6792,-347 147.6792,-353 147.6792,-353 147.6792,-365 147.6792,-365 147.6792,-371 141.6792,-377 135.6792,-377"/>
<text text-anchor="middle" x="89.655" y="-354.8" font-family="Verdana" font-size="14.00" fill="#000000">GetCurrentTime</text>
</a>
</g>
</g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow -->
<g id="edge15" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow</title>
<g id="a_edge15"><a xlink:title="at router_timestamper.go:400: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).TimestampNow]">
<path fill="none" stroke="#000000" d="M147.9505,-359C174.7367,-359 206.6648,-359 234.487,-359"/>
<polygon fill="#000000" stroke="#000000" points="234.5344,-362.5001 244.5344,-359 234.5343,-355.5001 234.5344,-362.5001"/>
</a> </a>
</g> </g>
</g> </g>
@ -369,19 +369,19 @@
<g id="node18" class="node"> <g id="node18" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).Start</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).Start</title>
<g id="a_node18"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).Start | defined in router_timestamper.go:69&#10;at router_timestamper.go:75: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run]"> <g id="a_node18"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).Start | defined in router_timestamper.go:69&#10;at router_timestamper.go:75: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run]">
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M316.965,-316C316.965,-316 286.965,-316 286.965,-316 280.965,-316 274.965,-310 274.965,-304 274.965,-304 274.965,-292 274.965,-292 274.965,-286 280.965,-280 286.965,-280 286.965,-280 316.965,-280 316.965,-280 322.965,-280 328.965,-286 328.965,-292 328.965,-292 328.965,-304 328.965,-304 328.965,-310 322.965,-316 316.965,-316"/> <path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M316.965,-325C316.965,-325 286.965,-325 286.965,-325 280.965,-325 274.965,-319 274.965,-313 274.965,-313 274.965,-301 274.965,-301 274.965,-295 280.965,-289 286.965,-289 286.965,-289 316.965,-289 316.965,-289 322.965,-289 328.965,-295 328.965,-301 328.965,-301 328.965,-313 328.965,-313 328.965,-319 322.965,-325 316.965,-325"/>
<text text-anchor="middle" x="301.965" y="-293.8" font-family="Verdana" font-size="14.00" fill="#000000">Start</text> <text text-anchor="middle" x="301.965" y="-302.8" font-family="Verdana" font-size="14.00" fill="#000000">Start</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).Start&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).Start&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run -->
<g id="edge11" class="edge"> <g id="edge15" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).Start&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).Start&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run</title>
<g id="a_edge11"><a xlink:title="at router_timestamper.go:75: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run]"> <g id="a_edge15"><a xlink:title="at router_timestamper.go:75: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.RouterTimestamper).run]">
<path fill="none" stroke="#000000" d="M329.2702,-298C355.1753,-298 394.7342,-298 426.3574,-298"/> <path fill="none" stroke="#000000" d="M329.2702,-307C355.1753,-307 394.7342,-307 426.3574,-307"/>
<polygon fill="#000000" stroke="#000000" points="439.6048,-301.5 449.6048,-298 439.6047,-294.5 439.6048,-301.5"/> <polygon fill="#000000" stroke="#000000" points="439.6048,-310.5 449.6048,-307 439.6047,-303.5 439.6048,-310.5"/>
<polyline fill="none" stroke="#000000" points="439.6048,-298 434.6048,-298.0001 "/> <polyline fill="none" stroke="#000000" points="439.6048,-307 434.6048,-307.0001 "/>
<ellipse fill="none" stroke="#000000" cx="430.6048" cy="-298.0001" rx="4" ry="4"/> <ellipse fill="none" stroke="#000000" cx="430.6048" cy="-307.0001" rx="4" ry="4"/>
</a> </a>
</g> </g>
</g> </g>
@ -389,17 +389,17 @@
<g id="node20" class="node"> <g id="node20" class="node">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile</title>
<g id="a_node20"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile | defined in zones.go:54"> <g id="a_node20"><a xlink:title="(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile | defined in zones.go:54">
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M1384.1792,-130C1384.1792,-130 1282.9968,-130 1282.9968,-130 1276.9968,-130 1270.9968,-124 1270.9968,-118 1270.9968,-118 1270.9968,-106 1270.9968,-106 1270.9968,-100 1276.9968,-94 1282.9968,-94 1282.9968,-94 1384.1792,-94 1384.1792,-94 1390.1792,-94 1396.1792,-100 1396.1792,-106 1396.1792,-106 1396.1792,-118 1396.1792,-118 1396.1792,-124 1390.1792,-130 1384.1792,-130"/> <path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M1384.1792,-86C1384.1792,-86 1282.9968,-86 1282.9968,-86 1276.9968,-86 1270.9968,-80 1270.9968,-74 1270.9968,-74 1270.9968,-62 1270.9968,-62 1270.9968,-56 1276.9968,-50 1282.9968,-50 1282.9968,-50 1384.1792,-50 1384.1792,-50 1390.1792,-50 1396.1792,-56 1396.1792,-62 1396.1792,-62 1396.1792,-74 1396.1792,-74 1396.1792,-80 1390.1792,-86 1384.1792,-86"/>
<text text-anchor="middle" x="1333.588" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">readContinentFile</text> <text text-anchor="middle" x="1333.588" y="-63.8" font-family="Verdana" font-size="14.00" fill="#000000">readContinentFile</text>
</a> </a>
</g> </g>
</g> </g>
<!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile --> <!-- (*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile -->
<g id="edge17" class="edge"> <g id="edge3" class="edge">
<title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile</title> <title>(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).initialize&#45;&gt;(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile</title>
<g id="a_edge17"><a xlink:title="at zones.go:51: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile]"> <g id="a_edge3"><a xlink:title="at zones.go:51: calling [(*github.com/go&#45;i2p/go&#45;i2p/lib/util/time/sntp.Zones).readContinentFile]">
<path fill="none" stroke="#000000" d="M1160.3704,-112C1187.9205,-112 1226.6146,-112 1260.4451,-112"/> <path fill="none" stroke="#000000" d="M1160.3704,-68C1187.9205,-68 1226.6146,-68 1260.4451,-68"/>
<polygon fill="#000000" stroke="#000000" points="1260.7704,-115.5001 1270.7704,-112 1260.7703,-108.5001 1260.7704,-115.5001"/> <polygon fill="#000000" stroke="#000000" points="1260.7704,-71.5001 1270.7704,-68 1260.7703,-64.5001 1260.7704,-71.5001"/>
</a> </a>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB