Skip to content

Instantly share code, notes, and snippets.

@Muratam
Last active January 12, 2020 18:56
Show Gist options
  • Save Muratam/5016c5eb250c59108db39d8e3db2e02f to your computer and use it in GitHub Desktop.
Save Muratam/5016c5eb250c59108db39d8e3db2e02f to your computer and use it in GitHub Desktop.
profile_results.txt を flamegraph.pl 形式にするやつ
import os
import system
import strutils
import sequtils
import algorithm
proc findCallCount(line:string) : string =
let args = line.split(" ")
for i,arg in args:
if not arg.startsWith("Call"): continue
return args[i+1].split("/")[0]
assert false,"cant find call count:\n[" & line & "]"
proc parseTree(lines:seq[string]): seq[seq[string]] =
result = @[]
var ignored = false
for line in lines:
if line == "" : continue
if line.startsWith(" "):
let flames = line.strip().split(" ")
let file = flames[0].replace(".nim","").replace(":","")
let fun = flames[1].replace(";","").replace(":","")
if file.startsWith(".") or fun.startsWith(".") : continue
if file == "nimprof" : ignored = true
if ignored : continue
result[^1] &= @[fun & "(" & file & ")"]
elif line.startsWith("Entry"):
ignored = false
result &= @[line.findCallCount()]
proc parse(fileName:string) : string =
result = ""
let lines = open(fileName,FileMode.fmRead).readAll().split("\n")
let tree = lines.parseTree
for t in tree:
result &= t[1..^1].reversed().join(";") & " " & t[0] & "\n"
if isMainModule:
echo parse(commandLineParams()[0])
# profile_results.txt を flamegraph.svg に
nim c -r flamegraph.nim profile_results.txt | perl flamegraph.pl > flamegraph.svg
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="1200" height="262" onload="init(evt)" viewBox="0 0 1200 262" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Flame graph stack visualization. See https://github.com/brendangregg/FlameGraph for latest version, and http://www.brendangregg.com/flamegraphs.html for examples. -->
<!-- NOTES: -->
<defs >
<linearGradient id="background" y1="0" y2="1" x1="0" x2="0" >
<stop stop-color="#eeeeee" offset="5%" />
<stop stop-color="#eeeeb0" offset="95%" />
</linearGradient>
</defs>
<style type="text/css">
.func_g:hover { stroke:black; stroke-width:0.5; cursor:pointer; }
</style>
<script type="text/ecmascript">
<![CDATA[
var details, searchbtn, matchedtxt, svg;
function init(evt) {
details = document.getElementById("details").firstChild;
searchbtn = document.getElementById("search");
matchedtxt = document.getElementById("matched");
svg = document.getElementsByTagName("svg")[0];
searching = 0;
}
// mouse-over for info
function s(node) { // show
info = g_to_text(node);
details.nodeValue = "Function: " + info;
}
function c() { // clear
details.nodeValue = ' ';
}
// ctrl-F for search
window.addEventListener("keydown",function (e) {
if (e.keyCode === 114 || (e.ctrlKey && e.keyCode === 70)) {
e.preventDefault();
search_prompt();
}
})
// functions
function find_child(parent, name, attr) {
var children = parent.childNodes;
for (var i=0; i<children.length;i++) {
if (children[i].tagName == name)
return (attr != undefined) ? children[i].attributes[attr].value : children[i];
}
return;
}
function orig_save(e, attr, val) {
if (e.attributes["_orig_"+attr] != undefined) return;
if (e.attributes[attr] == undefined) return;
if (val == undefined) val = e.attributes[attr].value;
e.setAttribute("_orig_"+attr, val);
}
function orig_load(e, attr) {
if (e.attributes["_orig_"+attr] == undefined) return;
e.attributes[attr].value = e.attributes["_orig_"+attr].value;
e.removeAttribute("_orig_"+attr);
}
function g_to_text(e) {
var text = find_child(e, "title").firstChild.nodeValue;
return (text)
}
function g_to_func(e) {
var func = g_to_text(e);
// if there's any manipulation we want to do to the function
// name before it's searched, do it here before returning.
return (func);
}
function update_text(e) {
var r = find_child(e, "rect");
var t = find_child(e, "text");
var w = parseFloat(r.attributes["width"].value) -3;
var txt = find_child(e, "title").textContent.replace(/\([^(]*\)$/,"");
t.attributes["x"].value = parseFloat(r.attributes["x"].value) +3;
// Smaller than this size won't fit anything
if (w < 2*12*0.59) {
t.textContent = "";
return;
}
t.textContent = txt;
// Fit in full text width
if (/^ *$/.test(txt) || t.getSubStringLength(0, txt.length) < w)
return;
for (var x=txt.length-2; x>0; x--) {
if (t.getSubStringLength(0, x+2) <= w) {
t.textContent = txt.substring(0,x) + "..";
return;
}
}
t.textContent = "";
}
// zoom
function zoom_reset(e) {
if (e.attributes != undefined) {
orig_load(e, "x");
orig_load(e, "width");
}
if (e.childNodes == undefined) return;
for(var i=0, c=e.childNodes; i<c.length; i++) {
zoom_reset(c[i]);
}
}
function zoom_child(e, x, ratio) {
if (e.attributes != undefined) {
if (e.attributes["x"] != undefined) {
orig_save(e, "x");
e.attributes["x"].value = (parseFloat(e.attributes["x"].value) - x - 10) * ratio + 10;
if(e.tagName == "text") e.attributes["x"].value = find_child(e.parentNode, "rect", "x") + 3;
}
if (e.attributes["width"] != undefined) {
orig_save(e, "width");
e.attributes["width"].value = parseFloat(e.attributes["width"].value) * ratio;
}
}
if (e.childNodes == undefined) return;
for(var i=0, c=e.childNodes; i<c.length; i++) {
zoom_child(c[i], x-10, ratio);
}
}
function zoom_parent(e) {
if (e.attributes) {
if (e.attributes["x"] != undefined) {
orig_save(e, "x");
e.attributes["x"].value = 10;
}
if (e.attributes["width"] != undefined) {
orig_save(e, "width");
e.attributes["width"].value = parseInt(svg.width.baseVal.value) - (10*2);
}
}
if (e.childNodes == undefined) return;
for(var i=0, c=e.childNodes; i<c.length; i++) {
zoom_parent(c[i]);
}
}
function zoom(node) {
var attr = find_child(node, "rect").attributes;
var width = parseFloat(attr["width"].value);
var xmin = parseFloat(attr["x"].value);
var xmax = parseFloat(xmin + width);
var ymin = parseFloat(attr["y"].value);
var ratio = (svg.width.baseVal.value - 2*10) / width;
// XXX: Workaround for JavaScript float issues (fix me)
var fudge = 0.0001;
var unzoombtn = document.getElementById("unzoom");
unzoombtn.style["opacity"] = "1.0";
var el = document.getElementsByTagName("g");
for(var i=0;i<el.length;i++){
var e = el[i];
var a = find_child(e, "rect").attributes;
var ex = parseFloat(a["x"].value);
var ew = parseFloat(a["width"].value);
// Is it an ancestor
if (0 == 0) {
var upstack = parseFloat(a["y"].value) > ymin;
} else {
var upstack = parseFloat(a["y"].value) < ymin;
}
if (upstack) {
// Direct ancestor
if (ex <= xmin && (ex+ew+fudge) >= xmax) {
e.style["opacity"] = "0.5";
zoom_parent(e);
e.onclick = function(e){unzoom(); zoom(this);};
update_text(e);
}
// not in current path
else
e.style["display"] = "none";
}
// Children maybe
else {
// no common path
if (ex < xmin || ex + fudge >= xmax) {
e.style["display"] = "none";
}
else {
zoom_child(e, xmin, ratio);
e.onclick = function(e){zoom(this);};
update_text(e);
}
}
}
}
function unzoom() {
var unzoombtn = document.getElementById("unzoom");
unzoombtn.style["opacity"] = "0.0";
var el = document.getElementsByTagName("g");
for(i=0;i<el.length;i++) {
el[i].style["display"] = "block";
el[i].style["opacity"] = "1";
zoom_reset(el[i]);
update_text(el[i]);
}
}
// search
function reset_search() {
var el = document.getElementsByTagName("rect");
for (var i=0; i < el.length; i++) {
orig_load(el[i], "fill")
}
}
function search_prompt() {
if (!searching) {
var term = prompt("Enter a search term (regexp " +
"allowed, eg: ^ext4_)", "");
if (term != null) {
search(term)
}
} else {
reset_search();
searching = 0;
searchbtn.style["opacity"] = "0.1";
searchbtn.firstChild.nodeValue = "Search"
matchedtxt.style["opacity"] = "0.0";
matchedtxt.firstChild.nodeValue = ""
}
}
function search(term) {
var re = new RegExp(term);
var el = document.getElementsByTagName("g");
var matches = new Object();
var maxwidth = 0;
for (var i = 0; i < el.length; i++) {
var e = el[i];
if (e.attributes["class"].value != "func_g")
continue;
var func = g_to_func(e);
var rect = find_child(e, "rect");
if (rect == null) {
// the rect might be wrapped in an anchor
// if nameattr href is being used
if (rect = find_child(e, "a")) {
rect = find_child(r, "rect");
}
}
if (func == null || rect == null)
continue;
// Save max width. Only works as we have a root frame
var w = parseFloat(rect.attributes["width"].value);
if (w > maxwidth)
maxwidth = w;
if (func.match(re)) {
// highlight
var x = parseFloat(rect.attributes["x"].value);
orig_save(rect, "fill");
rect.attributes["fill"].value =
"rgb(230,0,230)";
// remember matches
if (matches[x] == undefined) {
matches[x] = w;
} else {
if (w > matches[x]) {
// overwrite with parent
matches[x] = w;
}
}
searching = 1;
}
}
if (!searching)
return;
searchbtn.style["opacity"] = "1.0";
searchbtn.firstChild.nodeValue = "Reset Search"
// calculate percent matched, excluding vertical overlap
var count = 0;
var lastx = -1;
var lastw = 0;
var keys = Array();
for (k in matches) {
if (matches.hasOwnProperty(k))
keys.push(k);
}
// sort the matched frames by their x location
// ascending, then width descending
keys.sort(function(a, b){
return a - b;
});
// Step through frames saving only the biggest bottom-up frames
// thanks to the sort order. This relies on the tree property
// where children are always smaller than their parents.
var fudge = 0.0001; // JavaScript floating point
for (var k in keys) {
var x = parseFloat(keys[k]);
var w = matches[keys[k]];
if (x >= lastx + lastw - fudge) {
count += w;
lastx = x;
lastw = w;
}
}
// display matched percent
matchedtxt.style["opacity"] = "1.0";
pct = 100 * count / maxwidth;
if (pct == 100)
pct = "100"
else
pct = pct.toFixed(1)
matchedtxt.firstChild.nodeValue = "Matched: " + pct + "%";
}
function searchover(e) {
searchbtn.style["opacity"] = "1.0";
}
function searchout(e) {
if (searching) {
searchbtn.style["opacity"] = "1.0";
} else {
searchbtn.style["opacity"] = "0.1";
}
}
]]>
</script>
<rect x="0.0" y="0" width="1200.0" height="262.0" fill="url(#background)" />
<text text-anchor="middle" x="600.00" y="24" font-size="17" font-family="Verdana" fill="rgb(0,0,0)" >Flame Graph</text>
<text text-anchor="" x="10.00" y="245" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" id="details" > </text>
<text text-anchor="" x="10.00" y="24" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" id="unzoom" onclick="unzoom()" style="opacity:0.0;cursor:pointer" >Reset Zoom</text>
<text text-anchor="" x="1090.00" y="24" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" id="search" onmouseover="searchover()" onmouseout="searchout()" onclick="search_prompt()" style="opacity:0.1;cursor:pointer" >Search</text>
<text text-anchor="" x="1090.00" y="245" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" id="matched" > </text>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (8 samples, 0.11%)</title><rect x="1179.4" y="85" width="1.3" height="15.0" fill="rgb(211,192,48)" rx="2" ry="2" />
<text text-anchor="" x="1182.40" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (37 samples, 0.51%)</title><rect x="1084.7" y="69" width="6.0" height="15.0" fill="rgb(212,96,7)" rx="2" ry="2" />
<text text-anchor="" x="1087.70" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>*(algorithm) (16 samples, 0.22%)</title><rect x="1184.3" y="101" width="2.6" height="15.0" fill="rgb(245,102,52)" rx="2" ry="2" />
<text text-anchor="" x="1187.29" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>compareNode(binaryheap) (29 samples, 0.40%)</title><rect x="993.6" y="53" width="4.7" height="15.0" fill="rgb(253,48,8)" rx="2" ry="2" />
<text text-anchor="" x="996.58" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>distance(colordiff) (38 samples, 0.52%)</title><rect x="1044.4" y="85" width="6.2" height="15.0" fill="rgb(227,156,28)" rx="2" ry="2" />
<text text-anchor="" x="1047.44" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>hashing(blockinfo) (218 samples, 3.01%)</title><rect x="1140.0" y="117" width="35.5" height="15.0" fill="rgb(227,77,17)" rx="2" ry="2" />
<text text-anchor="" x="1142.96" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >has..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>currentBlock(target) (10 samples, 0.14%)</title><rect x="30.0" y="117" width="1.7" height="15.0" fill="rgb(254,199,18)" rx="2" ry="2" />
<text text-anchor="" x="33.05" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>hash(hashes) (9 samples, 0.12%)</title><rect x="1083.2" y="101" width="1.5" height="15.0" fill="rgb(220,24,18)" rx="2" ry="2" />
<text text-anchor="" x="1086.23" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>get(node) (10 samples, 0.14%)</title><rect x="201.4" y="85" width="1.6" height="15.0" fill="rgb(210,54,42)" rx="2" ry="2" />
<text text-anchor="" x="204.37" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (353 samples, 4.88%)</title><rect x="223.7" y="85" width="57.5" height="15.0" fill="rgb(253,50,52)" rx="2" ry="2" />
<text text-anchor="" x="226.70" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >generi..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (353 samples, 4.88%)</title><rect x="223.7" y="69" width="57.5" height="15.0" fill="rgb(233,229,20)" rx="2" ry="2" />
<text text-anchor="" x="226.70" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >generi..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>deepCopy(blockinfo) (8 samples, 0.11%)</title><rect x="1043.1" y="85" width="1.3" height="15.0" fill="rgb(243,224,9)" rx="2" ry="2" />
<text text-anchor="" x="1046.13" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (22 samples, 0.30%)</title><rect x="26.5" y="85" width="3.5" height="15.0" fill="rgb(232,84,47)" rx="2" ry="2" />
<text text-anchor="" x="29.46" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>hash(hashes) (33 samples, 0.46%)</title><rect x="181.2" y="85" width="5.3" height="15.0" fill="rgb(241,25,35)" rx="2" ry="2" />
<text text-anchor="" x="184.16" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (87 samples, 1.20%)</title><rect x="1050.6" y="85" width="14.2" height="15.0" fill="rgb(248,211,38)" rx="2" ry="2" />
<text text-anchor="" x="1053.63" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>!&amp;(hashes) (143 samples, 1.98%)</title><rect x="307.8" y="85" width="23.3" height="15.0" fill="rgb(212,134,6)" rx="2" ry="2" />
<text text-anchor="" x="310.81" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >!..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>quasiStegano2D(stego) (7,180 samples, 99.18%)</title><rect x="19.6" y="181" width="1170.4" height="15.0" fill="rgb(222,97,43)" rx="2" ry="2" />
<text text-anchor="" x="22.62" y="191.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >quasiStegano2D(stego)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (273 samples, 3.77%)</title><rect x="1095.5" y="117" width="44.5" height="15.0" fill="rgb(215,91,4)" rx="2" ry="2" />
<text text-anchor="" x="1098.46" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >gene..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>deepCopy(matrix) (22 samples, 0.30%)</title><rect x="26.5" y="117" width="3.5" height="15.0" fill="rgb(254,202,49)" rx="2" ry="2" />
<text text-anchor="" x="29.46" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>currentEndPos(target) (14 samples, 0.19%)</title><rect x="196.5" y="101" width="2.3" height="15.0" fill="rgb(218,104,51)" rx="2" ry="2" />
<text text-anchor="" x="199.48" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (22 samples, 0.30%)</title><rect x="26.5" y="101" width="3.5" height="15.0" fill="rgb(229,0,43)" rx="2" ry="2" />
<text text-anchor="" x="29.46" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>decide(target) (1,188 samples, 16.41%)</title><rect x="30.0" y="133" width="193.7" height="15.0" fill="rgb(237,12,24)" rx="2" ry="2" />
<text text-anchor="" x="33.05" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >decide(target)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (353 samples, 4.88%)</title><rect x="223.7" y="101" width="57.5" height="15.0" fill="rgb(216,148,44)" rx="2" ry="2" />
<text text-anchor="" x="226.70" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >generi..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>store(target) (218 samples, 3.01%)</title><rect x="1140.0" y="133" width="35.5" height="15.0" fill="rgb(241,142,32)" rx="2" ry="2" />
<text text-anchor="" x="1142.96" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >sto..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>processFront(target) (7,051 samples, 97.40%)</title><rect x="30.0" y="165" width="1149.4" height="15.0" fill="rgb(245,90,30)" rx="2" ry="2" />
<text text-anchor="" x="33.05" y="175.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >processFront(target)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>tryUpdateNotVisited(target) (29 samples, 0.40%)</title><rect x="1090.7" y="133" width="4.8" height="15.0" fill="rgb(253,83,12)" rx="2" ry="2" />
<text text-anchor="" x="1093.73" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](matrix) (52 samples, 0.72%)</title><rect x="1033.2" y="69" width="8.5" height="15.0" fill="rgb(251,100,7)" rx="2" ry="2" />
<text text-anchor="" x="1036.19" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](matrix) (10 samples, 0.14%)</title><rect x="30.0" y="101" width="1.7" height="15.0" fill="rgb(212,190,14)" rx="2" ry="2" />
<text text-anchor="" x="33.05" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](dpcc) (17 samples, 0.23%)</title><rect x="334.1" y="85" width="2.7" height="15.0" fill="rgb(217,217,15)" rx="2" ry="2" />
<text text-anchor="" x="337.06" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>searchNotVisited(blockinfo) (127 samples, 1.75%)</title><rect x="203.0" y="85" width="20.7" height="15.0" fill="rgb(242,62,6)" rx="2" ry="2" />
<text text-anchor="" x="206.00" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](matrix) (68 samples, 0.94%)</title><rect x="343.7" y="133" width="11.1" height="15.0" fill="rgb(237,33,38)" rx="2" ry="2" />
<text text-anchor="" x="346.67" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>newSeq(system) (15 samples, 0.21%)</title><rect x="1000.6" y="101" width="2.4" height="15.0" fill="rgb(237,5,10)" rx="2" ry="2" />
<text text-anchor="" x="1003.59" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>!&amp;(hashes) (215 samples, 2.97%)</title><rect x="146.1" y="85" width="35.1" height="15.0" fill="rgb(214,183,5)" rx="2" ry="2" />
<text text-anchor="" x="149.11" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >!&amp;..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>searchNotVisited(target) (24 samples, 0.33%)</title><rect x="1175.5" y="117" width="3.9" height="15.0" fill="rgb(217,98,7)" rx="2" ry="2" />
<text text-anchor="" x="1178.49" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>toNextState(blockinfo) (38 samples, 0.52%)</title><rect x="186.5" y="101" width="6.2" height="15.0" fill="rgb(230,7,9)" rx="2" ry="2" />
<text text-anchor="" x="189.54" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getdXdY(dpcc) (8 samples, 0.11%)</title><rect x="200.1" y="85" width="1.3" height="15.0" fill="rgb(226,32,36)" rx="2" ry="2" />
<text text-anchor="" x="203.06" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getResult(node) (22 samples, 0.30%)</title><rect x="26.5" y="165" width="3.5" height="15.0" fill="rgb(247,76,40)" rx="2" ry="2" />
<text text-anchor="" x="29.46" y="175.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>extendBlock(target) (4,379 samples, 60.49%)</title><rect x="336.8" y="149" width="713.8" height="15.0" fill="rgb(242,76,36)" rx="2" ry="2" />
<text text-anchor="" x="339.83" y="159.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >extendBlock(target)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>anonymous(node) (19 samples, 0.26%)</title><rect x="1186.9" y="101" width="3.1" height="15.0" fill="rgb(232,95,44)" rx="2" ry="2" />
<text text-anchor="" x="1189.90" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>updateUsingNextPos(blockinfo) (23 samples, 0.32%)</title><rect x="369.1" y="117" width="3.8" height="15.0" fill="rgb(248,102,5)" rx="2" ry="2" />
<text text-anchor="" x="372.10" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>all (7,239 samples, 100%)</title><rect x="10.0" y="213" width="1180.0" height="15.0" fill="rgb(219,109,24)" rx="2" ry="2" />
<text text-anchor="" x="13.00" y="223.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](matrix) (90 samples, 1.24%)</title><rect x="203.0" y="69" width="14.7" height="15.0" fill="rgb(215,186,35)" rx="2" ry="2" />
<text text-anchor="" x="206.00" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>hashing(blockinfo) (1,697 samples, 23.44%)</title><rect x="385.2" y="117" width="276.7" height="15.0" fill="rgb(224,203,7)" rx="2" ry="2" />
<text text-anchor="" x="388.24" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >hashing(blockinfo)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (87 samples, 1.20%)</title><rect x="1050.6" y="101" width="14.2" height="15.0" fill="rgb(227,22,9)" rx="2" ry="2" />
<text text-anchor="" x="1053.63" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (273 samples, 3.77%)</title><rect x="1095.5" y="101" width="44.5" height="15.0" fill="rgb(226,190,31)" rx="2" ry="2" />
<text text-anchor="" x="1098.46" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >gene..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>stego(stego) (7,180 samples, 99.18%)</title><rect x="19.6" y="197" width="1170.4" height="15.0" fill="rgb(214,135,47)" rx="2" ry="2" />
<text text-anchor="" x="22.62" y="207.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >stego(stego)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getNextPos(blockinfo) (30 samples, 0.41%)</title><rect x="217.7" y="69" width="4.9" height="15.0" fill="rgb(212,101,22)" rx="2" ry="2" />
<text text-anchor="" x="220.67" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>deepCopy(matrix) (87 samples, 1.20%)</title><rect x="1050.6" y="133" width="14.2" height="15.0" fill="rgb(240,23,21)" rx="2" ry="2" />
<text text-anchor="" x="1053.63" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (242 samples, 3.34%)</title><rect x="74.9" y="53" width="39.4" height="15.0" fill="rgb(214,211,7)" rx="2" ry="2" />
<text text-anchor="" x="77.88" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >gen..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>setupNextFronts(node) (65 samples, 0.90%)</title><rect x="1179.4" y="165" width="10.6" height="15.0" fill="rgb(207,105,48)" rx="2" ry="2" />
<text text-anchor="" x="1182.40" y="175.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>pushBlack(target) (515 samples, 7.11%)</title><rect x="1095.5" y="149" width="83.9" height="15.0" fill="rgb(241,221,14)" rx="2" ry="2" />
<text text-anchor="" x="1098.46" y="159.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >pushBlack..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>hashing(blockinfo) (434 samples, 6.00%)</title><rect x="115.8" y="101" width="70.7" height="15.0" fill="rgb(232,39,41)" rx="2" ry="2" />
<text text-anchor="" x="118.79" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >hashing..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (37 samples, 0.51%)</title><rect x="1084.7" y="85" width="6.0" height="15.0" fill="rgb(224,205,5)" rx="2" ry="2" />
<text text-anchor="" x="1087.70" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>checkIterateResult(node) (42 samples, 0.58%)</title><rect x="19.6" y="165" width="6.9" height="15.0" fill="rgb(211,73,14)" rx="2" ry="2" />
<text text-anchor="" x="22.62" y="175.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (8 samples, 0.11%)</title><rect x="1179.4" y="149" width="1.3" height="15.0" fill="rgb(222,54,36)" rx="2" ry="2" />
<text text-anchor="" x="1182.40" y="159.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>embedNotdecided(node) (22 samples, 0.30%)</title><rect x="26.5" y="133" width="3.5" height="15.0" fill="rgb(241,140,51)" rx="2" ry="2" />
<text text-anchor="" x="29.46" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (507 samples, 7.00%)</title><rect x="31.7" y="85" width="82.6" height="15.0" fill="rgb(238,69,51)" rx="2" ry="2" />
<text text-anchor="" x="34.68" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >genericAs..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (8 samples, 0.11%)</title><rect x="1043.1" y="53" width="1.3" height="15.0" fill="rgb(226,82,42)" rx="2" ry="2" />
<text text-anchor="" x="1046.13" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>store(target) (324 samples, 4.48%)</title><rect x="281.2" y="117" width="52.9" height="15.0" fill="rgb(247,4,33)" rx="2" ry="2" />
<text text-anchor="" x="284.24" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >store..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>deepCopy(matrix) (273 samples, 3.77%)</title><rect x="1095.5" y="133" width="44.5" height="15.0" fill="rgb(233,121,11)" rx="2" ry="2" />
<text text-anchor="" x="1098.46" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >deep..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getI(matrix) (26 samples, 0.36%)</title><rect x="350.5" y="117" width="4.3" height="15.0" fill="rgb(249,41,54)" rx="2" ry="2" />
<text text-anchor="" x="353.52" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>nextKey(target) (43 samples, 0.59%)</title><rect x="1003.0" y="117" width="7.0" height="15.0" fill="rgb(231,62,13)" rx="2" ry="2" />
<text text-anchor="" x="1006.03" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (15 samples, 0.21%)</title><rect x="1088.3" y="53" width="2.4" height="15.0" fill="rgb(219,92,37)" rx="2" ry="2" />
<text text-anchor="" x="1091.28" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>tryUpdate(target) (2,378 samples, 32.85%)</title><rect x="663.0" y="133" width="387.6" height="15.0" fill="rgb(238,219,13)" rx="2" ry="2" />
<text text-anchor="" x="666.00" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >tryUpdate(target)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>hashing(blockinfo) (324 samples, 4.48%)</title><rect x="281.2" y="101" width="52.9" height="15.0" fill="rgb(240,113,21)" rx="2" ry="2" />
<text text-anchor="" x="284.24" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >hashi..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](matrix) (7 samples, 0.10%)</title><rect x="371.7" y="101" width="1.2" height="15.0" fill="rgb(254,35,20)" rx="2" ry="2" />
<text text-anchor="" x="374.71" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>isFilled(sets) (7 samples, 0.10%)</title><rect x="661.9" y="69" width="1.1" height="15.0" fill="rgb(228,129,30)" rx="2" ry="2" />
<text text-anchor="" x="664.86" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>deepCopy(matrix) (37 samples, 0.51%)</title><rect x="1084.7" y="117" width="6.0" height="15.0" fill="rgb(246,78,1)" rx="2" ry="2" />
<text text-anchor="" x="1087.70" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (8 samples, 0.11%)</title><rect x="1179.4" y="101" width="1.3" height="15.0" fill="rgb(226,200,7)" rx="2" ry="2" />
<text text-anchor="" x="1182.40" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>rawGetKnownHC(sets) (7 samples, 0.10%)</title><rect x="661.9" y="85" width="1.1" height="15.0" fill="rgb(209,35,1)" rx="2" ry="2" />
<text text-anchor="" x="664.86" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (174 samples, 2.40%)</title><rect x="252.9" y="53" width="28.3" height="15.0" fill="rgb(239,219,11)" rx="2" ry="2" />
<text text-anchor="" x="255.88" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >ge..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>currentOrder(target) (7 samples, 0.10%)</title><rect x="372.9" y="133" width="1.1" height="15.0" fill="rgb(217,9,45)" rx="2" ry="2" />
<text text-anchor="" x="375.85" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>incl(sets) (7 samples, 0.10%)</title><rect x="661.9" y="117" width="1.1" height="15.0" fill="rgb(254,135,24)" rx="2" ry="2" />
<text text-anchor="" x="664.86" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (88 samples, 1.22%)</title><rect x="354.8" y="101" width="14.3" height="15.0" fill="rgb(217,154,28)" rx="2" ry="2" />
<text text-anchor="" x="357.76" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>searchNotVisited(target) (127 samples, 1.75%)</title><rect x="203.0" y="101" width="20.7" height="15.0" fill="rgb(209,12,22)" rx="2" ry="2" />
<text text-anchor="" x="206.00" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>store(target) (434 samples, 6.00%)</title><rect x="115.8" y="117" width="70.7" height="15.0" fill="rgb(222,56,11)" rx="2" ry="2" />
<text text-anchor="" x="118.79" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >store(t..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getdXdY(dpcc) (9 samples, 0.12%)</title><rect x="221.1" y="53" width="1.5" height="15.0" fill="rgb(220,192,30)" rx="2" ry="2" />
<text text-anchor="" x="224.09" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>toConsole(colordiff) (42 samples, 0.58%)</title><rect x="19.6" y="133" width="6.9" height="15.0" fill="rgb(245,49,38)" rx="2" ry="2" />
<text text-anchor="" x="22.62" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (948 samples, 13.10%)</title><rect x="821.8" y="53" width="154.5" height="15.0" fill="rgb(227,15,43)" rx="2" ry="2" />
<text text-anchor="" x="824.77" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >genericAssignAux(as..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>hash(hashes) (26 samples, 0.36%)</title><rect x="1171.3" y="101" width="4.2" height="15.0" fill="rgb(210,46,21)" rx="2" ry="2" />
<text text-anchor="" x="1174.25" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>toNextState(target) (38 samples, 0.52%)</title><rect x="186.5" y="117" width="6.2" height="15.0" fill="rgb(214,124,48)" rx="2" ry="2" />
<text text-anchor="" x="189.54" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (1,909 samples, 26.37%)</title><rect x="665.1" y="69" width="311.2" height="15.0" fill="rgb(208,28,6)" rx="2" ry="2" />
<text text-anchor="" x="668.12" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >genericAssignAux(assign)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>anonymous(node) (20 samples, 0.28%)</title><rect x="995.0" y="37" width="3.3" height="15.0" fill="rgb(218,70,46)" rx="2" ry="2" />
<text text-anchor="" x="998.04" y="47.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (88 samples, 1.22%)</title><rect x="354.8" y="85" width="14.3" height="15.0" fill="rgb(236,84,39)" rx="2" ry="2" />
<text text-anchor="" x="357.76" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>searchNotVisited(blockinfo) (29 samples, 0.40%)</title><rect x="1090.7" y="101" width="4.8" height="15.0" fill="rgb(239,53,9)" rx="2" ry="2" />
<text text-anchor="" x="1093.73" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>add(strmantle) (24 samples, 0.33%)</title><rect x="21.1" y="101" width="3.9" height="15.0" fill="rgb(228,82,45)" rx="2" ry="2" />
<text text-anchor="" x="24.08" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>store(target) (1,714 samples, 23.68%)</title><rect x="383.6" y="133" width="279.4" height="15.0" fill="rgb(251,54,22)" rx="2" ry="2" />
<text text-anchor="" x="386.61" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >store(target)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>searchNotVisited(target) (29 samples, 0.40%)</title><rect x="1090.7" y="117" width="4.8" height="15.0" fill="rgb(249,3,7)" rx="2" ry="2" />
<text text-anchor="" x="1093.73" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>popimpl(binaryheap) (29 samples, 0.40%)</title><rect x="993.6" y="85" width="4.7" height="15.0" fill="rgb(218,33,45)" rx="2" ry="2" />
<text text-anchor="" x="996.58" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>isIn(matrix) (7 samples, 0.10%)</title><rect x="222.6" y="69" width="1.1" height="15.0" fill="rgb(244,182,9)" rx="2" ry="2" />
<text text-anchor="" x="225.56" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>isEmpty(stack) (11 samples, 0.15%)</title><rect x="1008.2" y="85" width="1.8" height="15.0" fill="rgb(253,119,43)" rx="2" ry="2" />
<text text-anchor="" x="1011.25" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getY(matrix) (7 samples, 0.10%)</title><rect x="377.4" y="117" width="1.2" height="15.0" fill="rgb(231,52,8)" rx="2" ry="2" />
<text text-anchor="" x="380.42" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (88 samples, 1.22%)</title><rect x="354.8" y="69" width="14.3" height="15.0" fill="rgb(213,112,14)" rx="2" ry="2" />
<text text-anchor="" x="357.76" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>==(system) (59 samples, 0.82%)</title><rect x="10.0" y="197" width="9.6" height="15.0" fill="rgb(235,4,1)" rx="2" ry="2" />
<text text-anchor="" x="13.00" y="207.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>shiftdown(binaryheap) (29 samples, 0.40%)</title><rect x="993.6" y="69" width="4.7" height="15.0" fill="rgb(219,97,54)" rx="2" ry="2" />
<text text-anchor="" x="996.58" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (8 samples, 0.11%)</title><rect x="1043.1" y="69" width="1.3" height="15.0" fill="rgb(249,103,2)" rx="2" ry="2" />
<text text-anchor="" x="1046.13" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getNextPos(blockinfo) (16 samples, 0.22%)</title><rect x="198.8" y="101" width="2.6" height="15.0" fill="rgb(248,37,49)" rx="2" ry="2" />
<text text-anchor="" x="201.76" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>hash(hashes) (18 samples, 0.25%)</title><rect x="331.1" y="85" width="3.0" height="15.0" fill="rgb(209,87,26)" rx="2" ry="2" />
<text text-anchor="" x="334.12" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>enlarge(sets) (7 samples, 0.10%)</title><rect x="661.9" y="101" width="1.1" height="15.0" fill="rgb(250,219,49)" rx="2" ry="2" />
<text text-anchor="" x="664.86" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>searchNotVisited(blockinfo) (24 samples, 0.33%)</title><rect x="1175.5" y="101" width="3.9" height="15.0" fill="rgb(217,57,0)" rx="2" ry="2" />
<text text-anchor="" x="1178.49" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>hash(hashes) (144 samples, 1.99%)</title><rect x="638.4" y="101" width="23.5" height="15.0" fill="rgb(235,226,19)" rx="2" ry="2" />
<text text-anchor="" x="641.39" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >h..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>toBackColor(curse) (33 samples, 0.46%)</title><rect x="21.1" y="117" width="5.4" height="15.0" fill="rgb(246,88,1)" rx="2" ry="2" />
<text text-anchor="" x="24.08" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getI(matrix) (26 samples, 0.36%)</title><rect x="1037.4" y="53" width="4.3" height="15.0" fill="rgb(244,109,42)" rx="2" ry="2" />
<text text-anchor="" x="1040.43" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>top(binaryheap) (41 samples, 0.57%)</title><rect x="991.6" y="101" width="6.7" height="15.0" fill="rgb(228,39,26)" rx="2" ry="2" />
<text text-anchor="" x="994.62" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](matrix) (23 samples, 0.32%)</title><rect x="192.7" y="101" width="3.8" height="15.0" fill="rgb(254,79,27)" rx="2" ry="2" />
<text text-anchor="" x="195.73" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](dpcc) (12 samples, 0.17%)</title><rect x="219.1" y="53" width="2.0" height="15.0" fill="rgb(250,95,17)" rx="2" ry="2" />
<text text-anchor="" x="222.14" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>isIn(matrix) (9 samples, 0.12%)</title><rect x="1041.7" y="69" width="1.4" height="15.0" fill="rgb(210,159,42)" rx="2" ry="2" />
<text text-anchor="" x="1044.66" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](matrix) (16 samples, 0.22%)</title><rect x="190.1" y="85" width="2.6" height="15.0" fill="rgb(235,11,19)" rx="2" ry="2" />
<text text-anchor="" x="193.12" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (43 samples, 0.59%)</title><rect x="362.1" y="53" width="7.0" height="15.0" fill="rgb(214,92,29)" rx="2" ry="2" />
<text text-anchor="" x="365.09" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>len(stack) (33 samples, 0.46%)</title><rect x="1004.7" y="101" width="5.3" height="15.0" fill="rgb(229,173,29)" rx="2" ry="2" />
<text text-anchor="" x="1007.66" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getMaxFunds(node) (15 samples, 0.21%)</title><rect x="984.8" y="101" width="2.4" height="15.0" fill="rgb(226,13,0)" rx="2" ry="2" />
<text text-anchor="" x="987.78" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>toNextState(blockinfo) (17 samples, 0.23%)</title><rect x="334.1" y="101" width="2.7" height="15.0" fill="rgb(214,211,16)" rx="2" ry="2" />
<text text-anchor="" x="337.06" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>toNextState(target) (17 samples, 0.23%)</title><rect x="334.1" y="117" width="2.7" height="15.0" fill="rgb(211,33,48)" rx="2" ry="2" />
<text text-anchor="" x="337.06" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](matrix) (15 samples, 0.21%)</title><rect x="1093.0" y="85" width="2.5" height="15.0" fill="rgb(248,149,54)" rx="2" ry="2" />
<text text-anchor="" x="1096.01" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>goWhite(target) (275 samples, 3.80%)</title><rect x="1050.6" y="149" width="44.9" height="15.0" fill="rgb(232,96,19)" rx="2" ry="2" />
<text text-anchor="" x="1053.63" y="159.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >goWh..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>doFund(target) (1,188 samples, 16.41%)</title><rect x="30.0" y="149" width="193.7" height="15.0" fill="rgb(212,207,24)" rx="2" ry="2" />
<text text-anchor="" x="33.05" y="159.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >doFund(target)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>distanceByCIEDE2000(colordiff) (21 samples, 0.29%)</title><rect x="1047.2" y="69" width="3.4" height="15.0" fill="rgb(213,97,28)" rx="2" ry="2" />
<text text-anchor="" x="1050.21" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>!&amp;(hashes) (785 samples, 10.84%)</title><rect x="510.4" y="101" width="128.0" height="15.0" fill="rgb(252,20,10)" rx="2" ry="2" />
<text text-anchor="" x="513.43" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >!&amp;(hashes)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getI(matrix) (15 samples, 0.21%)</title><rect x="1093.0" y="69" width="2.5" height="15.0" fill="rgb(251,7,2)" rx="2" ry="2" />
<text text-anchor="" x="1096.01" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (22 samples, 0.30%)</title><rect x="26.5" y="69" width="3.5" height="15.0" fill="rgb(230,121,28)" rx="2" ry="2" />
<text text-anchor="" x="29.46" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>update(node) (189 samples, 2.61%)</title><rect x="1019.8" y="101" width="30.8" height="15.0" fill="rgb(245,79,12)" rx="2" ry="2" />
<text text-anchor="" x="1022.82" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >up..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>get(node) (37 samples, 0.51%)</title><rect x="978.7" y="101" width="6.1" height="15.0" fill="rgb(246,182,7)" rx="2" ry="2" />
<text text-anchor="" x="981.74" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (8 samples, 0.11%)</title><rect x="1179.4" y="117" width="1.3" height="15.0" fill="rgb(233,119,27)" rx="2" ry="2" />
<text text-anchor="" x="1182.40" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (8 samples, 0.11%)</title><rect x="1179.4" y="133" width="1.3" height="15.0" fill="rgb(241,205,44)" rx="2" ry="2" />
<text text-anchor="" x="1182.40" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>deepCopy(matrix) (507 samples, 7.00%)</title><rect x="31.7" y="117" width="82.6" height="15.0" fill="rgb(230,197,48)" rx="2" ry="2" />
<text text-anchor="" x="34.68" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >deepCopy(..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>isIn(matrix) (31 samples, 0.43%)</title><rect x="378.6" y="133" width="5.0" height="15.0" fill="rgb(214,100,5)" rx="2" ry="2" />
<text text-anchor="" x="381.56" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getStoredWorstVal(node) (135 samples, 1.86%)</title><rect x="976.3" y="117" width="22.0" height="15.0" fill="rgb(211,37,41)" rx="2" ry="2" />
<text text-anchor="" x="979.30" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >g..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getI(matrix) (36 samples, 0.50%)</title><rect x="211.8" y="53" width="5.9" height="15.0" fill="rgb(252,228,8)" rx="2" ry="2" />
<text text-anchor="" x="214.80" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>deepCopy(matrix) (88 samples, 1.22%)</title><rect x="354.8" y="117" width="14.3" height="15.0" fill="rgb(205,76,0)" rx="2" ry="2" />
<text text-anchor="" x="357.76" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (507 samples, 7.00%)</title><rect x="31.7" y="69" width="82.6" height="15.0" fill="rgb(215,150,39)" rx="2" ry="2" />
<text text-anchor="" x="34.68" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >genericAs..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (1,909 samples, 26.37%)</title><rect x="665.1" y="85" width="311.2" height="15.0" fill="rgb(219,60,0)" rx="2" ry="2" />
<text text-anchor="" x="668.12" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >genericAssign(assign)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getI(matrix) (21 samples, 0.29%)</title><rect x="1016.4" y="85" width="3.4" height="15.0" fill="rgb(213,27,11)" rx="2" ry="2" />
<text text-anchor="" x="1019.40" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (8 samples, 0.11%)</title><rect x="1043.1" y="37" width="1.3" height="15.0" fill="rgb(208,14,32)" rx="2" ry="2" />
<text text-anchor="" x="1046.13" y="47.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>checkAdjasts(blockinfo) (79 samples, 1.09%)</title><rect x="1030.3" y="85" width="12.8" height="15.0" fill="rgb(236,53,31)" rx="2" ry="2" />
<text text-anchor="" x="1033.25" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>store(target) (122 samples, 1.69%)</title><rect x="1064.8" y="133" width="19.9" height="15.0" fill="rgb(212,131,6)" rx="2" ry="2" />
<text text-anchor="" x="1067.81" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (87 samples, 1.20%)</title><rect x="1050.6" y="117" width="14.2" height="15.0" fill="rgb(227,39,34)" rx="2" ry="2" />
<text text-anchor="" x="1053.63" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>doOrder(target) (694 samples, 9.59%)</title><rect x="223.7" y="149" width="113.1" height="15.0" fill="rgb(245,105,44)" rx="2" ry="2" />
<text text-anchor="" x="226.70" y="159.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >doOrder(target)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>get(node) (10 samples, 0.14%)</title><rect x="383.6" y="101" width="1.6" height="15.0" fill="rgb(207,88,23)" rx="2" ry="2" />
<text text-anchor="" x="386.61" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getColor6(curse) (9 samples, 0.12%)</title><rect x="19.6" y="117" width="1.5" height="15.0" fill="rgb(251,24,24)" rx="2" ry="2" />
<text text-anchor="" x="22.62" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>code(curse) (9 samples, 0.12%)</title><rect x="25.0" y="101" width="1.5" height="15.0" fill="rgb(245,30,4)" rx="2" ry="2" />
<text text-anchor="" x="28.00" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>deepCopy(matrix) (353 samples, 4.88%)</title><rect x="223.7" y="117" width="57.5" height="15.0" fill="rgb(241,141,23)" rx="2" ry="2" />
<text text-anchor="" x="226.70" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >deepCo..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (1,909 samples, 26.37%)</title><rect x="665.1" y="101" width="311.2" height="15.0" fill="rgb(209,78,28)" rx="2" ry="2" />
<text text-anchor="" x="668.12" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >genericSeqAssign(assign)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getStoredWorstVal(node) (10 samples, 0.14%)</title><rect x="201.4" y="101" width="1.6" height="15.0" fill="rgb(251,62,21)" rx="2" ry="2" />
<text text-anchor="" x="204.37" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>hashing(blockinfo) (122 samples, 1.69%)</title><rect x="1064.8" y="117" width="19.9" height="15.0" fill="rgb(217,77,54)" rx="2" ry="2" />
<text text-anchor="" x="1067.81" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>len(binaryheap) (27 samples, 0.37%)</title><rect x="987.2" y="101" width="4.4" height="15.0" fill="rgb(245,4,34)" rx="2" ry="2" />
<text text-anchor="" x="990.22" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](dpcc) (14 samples, 0.19%)</title><rect x="1090.7" y="85" width="2.3" height="15.0" fill="rgb(205,98,30)" rx="2" ry="2" />
<text text-anchor="" x="1093.73" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](dpcc) (8 samples, 0.11%)</title><rect x="198.8" y="85" width="1.3" height="15.0" fill="rgb(213,123,0)" rx="2" ry="2" />
<text text-anchor="" x="201.76" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getStoredWorstVal(node) (10 samples, 0.14%)</title><rect x="383.6" y="117" width="1.6" height="15.0" fill="rgb(218,85,25)" rx="2" ry="2" />
<text text-anchor="" x="386.61" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>decide(target) (694 samples, 9.59%)</title><rect x="223.7" y="133" width="113.1" height="15.0" fill="rgb(205,69,7)" rx="2" ry="2" />
<text text-anchor="" x="226.70" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >decide(target)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getNextColor(pietcolor) (9 samples, 0.12%)</title><rect x="114.3" y="117" width="1.5" height="15.0" fill="rgb(247,50,35)" rx="2" ry="2" />
<text text-anchor="" x="117.32" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>currentBlock(target) (7 samples, 0.10%)</title><rect x="197.6" y="85" width="1.2" height="15.0" fill="rgb(231,143,45)" rx="2" ry="2" />
<text text-anchor="" x="200.62" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>!&amp;(hashes) (99 samples, 1.37%)</title><rect x="1155.1" y="101" width="16.2" height="15.0" fill="rgb(222,143,21)" rx="2" ry="2" />
<text text-anchor="" x="1158.12" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (7 samples, 0.10%)</title><rect x="28.9" y="53" width="1.1" height="15.0" fill="rgb(224,133,28)" rx="2" ry="2" />
<text text-anchor="" x="31.91" y="63.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>findEmbeddedMinIndex(node) (22 samples, 0.30%)</title><rect x="26.5" y="149" width="3.5" height="15.0" fill="rgb(217,121,17)" rx="2" ry="2" />
<text text-anchor="" x="29.46" y="159.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>newMatrix(matrix) (29 samples, 0.40%)</title><rect x="998.3" y="117" width="4.7" height="15.0" fill="rgb(210,36,27)" rx="2" ry="2" />
<text text-anchor="" x="1001.31" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>sorted(algorithm) (57 samples, 0.79%)</title><rect x="1180.7" y="149" width="9.3" height="15.0" fill="rgb(211,210,23)" rx="2" ry="2" />
<text text-anchor="" x="1183.71" y="159.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getX(matrix) (9 samples, 0.12%)</title><rect x="375.9" y="117" width="1.5" height="15.0" fill="rgb(211,14,47)" rx="2" ry="2" />
<text text-anchor="" x="378.95" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssign(assign) (7 samples, 0.10%)</title><rect x="372.9" y="101" width="1.1" height="15.0" fill="rgb(210,134,33)" rx="2" ry="2" />
<text text-anchor="" x="375.85" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](dpcc) (22 samples, 0.30%)</title><rect x="186.5" y="85" width="3.6" height="15.0" fill="rgb(208,90,44)" rx="2" ry="2" />
<text text-anchor="" x="189.54" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (273 samples, 3.77%)</title><rect x="1095.5" y="85" width="44.5" height="15.0" fill="rgb(226,176,25)" rx="2" ry="2" />
<text text-anchor="" x="1098.46" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >gene..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>sort(algorithm) (57 samples, 0.79%)</title><rect x="1180.7" y="133" width="9.3" height="15.0" fill="rgb(234,154,39)" rx="2" ry="2" />
<text text-anchor="" x="1183.71" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>!&amp;(hashes) (59 samples, 0.82%)</title><rect x="1073.6" y="101" width="9.6" height="15.0" fill="rgb(205,72,45)" rx="2" ry="2" />
<text text-anchor="" x="1076.61" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getI(matrix) (11 samples, 0.15%)</title><rect x="194.7" y="85" width="1.8" height="15.0" fill="rgb(216,216,18)" rx="2" ry="2" />
<text text-anchor="" x="197.69" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>tryUpdateNotVisited(target) (190 samples, 2.62%)</title><rect x="192.7" y="117" width="31.0" height="15.0" fill="rgb(242,212,14)" rx="2" ry="2" />
<text text-anchor="" x="195.73" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >tr..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getI(matrix) (16 samples, 0.22%)</title><rect x="190.1" y="69" width="2.6" height="15.0" fill="rgb(239,10,36)" rx="2" ry="2" />
<text text-anchor="" x="193.12" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](matrix) (24 samples, 0.33%)</title><rect x="1175.5" y="85" width="3.9" height="15.0" fill="rgb(220,163,30)" rx="2" ry="2" />
<text text-anchor="" x="1178.49" y="95.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (7 samples, 0.10%)</title><rect x="372.9" y="117" width="1.1" height="15.0" fill="rgb(211,117,1)" rx="2" ry="2" />
<text text-anchor="" x="375.85" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>deepCopy(matrix) (1,909 samples, 26.37%)</title><rect x="665.1" y="117" width="311.2" height="15.0" fill="rgb(214,7,4)" rx="2" ry="2" />
<text text-anchor="" x="668.12" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >deepCopy(matrix)</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>toConsole(blockinfo) (42 samples, 0.58%)</title><rect x="19.6" y="149" width="6.9" height="15.0" fill="rgb(252,166,0)" rx="2" ry="2" />
<text text-anchor="" x="22.62" y="159.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (37 samples, 0.51%)</title><rect x="1084.7" y="101" width="6.0" height="15.0" fill="rgb(227,203,18)" rx="2" ry="2" />
<text text-anchor="" x="1087.70" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getI(matrix) (11 samples, 0.15%)</title><rect x="1177.6" y="69" width="1.8" height="15.0" fill="rgb(228,207,14)" rx="2" ry="2" />
<text text-anchor="" x="1180.61" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>tryUpdate(target) (37 samples, 0.51%)</title><rect x="1084.7" y="133" width="6.0" height="15.0" fill="rgb(248,139,23)" rx="2" ry="2" />
<text text-anchor="" x="1087.70" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>tryUpdateNotVisited(target) (24 samples, 0.33%)</title><rect x="1175.5" y="133" width="3.9" height="15.0" fill="rgb(213,213,42)" rx="2" ry="2" />
<text text-anchor="" x="1178.49" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>getXY(matrix) (28 samples, 0.39%)</title><rect x="374.0" y="133" width="4.6" height="15.0" fill="rgb(245,155,49)" rx="2" ry="2" />
<text text-anchor="" x="376.99" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericSeqAssign(assign) (507 samples, 7.00%)</title><rect x="31.7" y="101" width="82.6" height="15.0" fill="rgb(214,96,42)" rx="2" ry="2" />
<text text-anchor="" x="34.68" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >genericSe..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>update(node) (249 samples, 3.44%)</title><rect x="1010.0" y="117" width="40.6" height="15.0" fill="rgb(254,40,23)" rx="2" ry="2" />
<text text-anchor="" x="1013.04" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >upd..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>[](matrix) (39 samples, 0.54%)</title><rect x="1013.5" y="101" width="6.3" height="15.0" fill="rgb(205,185,49)" rx="2" ry="2" />
<text text-anchor="" x="1016.46" y="111.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (44 samples, 0.61%)</title><rect x="1057.6" y="69" width="7.2" height="15.0" fill="rgb(232,55,5)" rx="2" ry="2" />
<text text-anchor="" x="1060.64" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>merge(algorithm) (57 samples, 0.79%)</title><rect x="1180.7" y="117" width="9.3" height="15.0" fill="rgb(235,112,2)" rx="2" ry="2" />
<text text-anchor="" x="1183.71" y="127.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>genericAssignAux(assign) (132 samples, 1.82%)</title><rect x="1118.4" y="69" width="21.6" height="15.0" fill="rgb(244,64,13)" rx="2" ry="2" />
<text text-anchor="" x="1121.44" y="79.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" >g..</text>
</g>
<g class="func_g" onmouseover="s(this)" onmouseout="c()" onclick="zoom(this)">
<title>checkTerminate(target) (111 samples, 1.53%)</title><rect x="354.8" y="133" width="18.1" height="15.0" fill="rgb(214,172,3)" rx="2" ry="2" />
<text text-anchor="" x="357.76" y="143.5" font-size="12" font-family="Verdana" fill="rgb(0,0,0)" ></text>
</g>
</svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment