d2/e2etests/testdata/stable/code_snippet/dagre/sketch.exp.svg

134 lines
38 KiB
XML
Raw Normal View History

2023-06-20 00:12:52 +00:00
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" d2Version="v0.5.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 757 537"><svg id="d2-svg" class="d2-1915554491" width="757" height="537" viewBox="-1 -1 757 537"><rect x="-1.000000" y="-1.000000" width="757.000000" height="537.000000" rx="0.000000" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1915554491 .text-bold {
font-family: "d2-1915554491-font-bold";
2023-02-21 08:33:13 +00:00
}
@font-face {
2023-06-20 00:12:52 +00:00
font-family: d2-1915554491-font-bold;
2023-05-31 23:58:10 +00:00
src: url("data:application/font-woff;base64,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
2023-02-21 08:33:13 +00:00
}
2023-06-20 00:12:52 +00:00
.d2-1915554491 .text-mono {
font-family: "d2-1915554491-font-mono";
2023-02-21 08:33:13 +00:00
}
@font-face {
2023-06-20 00:12:52 +00:00
font-family: d2-1915554491-font-mono;
2023-05-31 23:58:10 +00:00
src: url("data:application/font-woff;base64,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
2023-02-21 08:33:13 +00:00
}
2023-06-20 00:12:52 +00:00
.d2-1915554491 .text-mono-bold {
font-family: "d2-1915554491-font-mono-bold";
2023-02-21 08:33:13 +00:00
}
@font-face {
2023-06-20 00:12:52 +00:00
font-family: d2-1915554491-font-mono-bold;
2023-05-31 23:58:10 +00:00
src: url("data:application/font-woff;base64,d09GRgABAAAAABIcAAwAAAAAHlwAAQScAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABHAAAAGAAAABgmKbWhWNtYXAAAAF8AAAAuwAAAQYFZgY1Z2FzcAAAAjgAAAAIAAAACAAAABBnbHlmAAACQAAACWoAAAzAPQPdumhlYWQAAAusAAAANgAAADYbI9ohaGhlYQAAC+QAAAAkAAAAJAYzAMFobXR4AAAMCAAAAH4AAAC0aXgOyGxvY2EAAAyIAAAAXAAAAFxPLFImbWF4cAAADOQAAAAgAAAAIABhAmpuYW1lAAANBAAABO8AAA2sAwZtKnBvc3QAABH0AAAAIAAAACD/uAAzcHJlcAAAEhQAAAAHAAAAB2gGjIUABAJYArwABQAAAooCWAAAAEsCigJYAAABXgAyAR4AAAILAwkDBAMCAgQgAAL3AgA4AwAAAAAAAAAAQURCTwCgACD//wPY/u8AAAQkAcZgAAGfAAAAAAHeApQAAAAgAAN4nIzOuy7zAQCH4adf+9WpzufzX1GVCLuE2Sw2MRjFIjYRN4OBjdUFcB0Sk0FiIhL5SSoRo3d+hhclZSXUVHygoVBRVahbtmLVmnWbtmzbsWvPgSMnTp0ltFzzx238cvsOHX+7POYz73nNS97ylOfc5TY3ech9LnOR81znqnXxl0pmFeZMm9IwY0nTP2UVdfP+q2rTrkOnLjXdevTq02/AoCHDRowaM27CpAWLfAEAAP//AQAA//+E9DN9AAABAAH//wAPeJxsVn1sW9XZf87xtZ3YN66v7evrxI6/ru1rxx9JfHPtpImdOF84wTGJm9Q0/UrDxxtoqpc3SWn60iK98FarRMpgqbSISYhCi8bU7gMEK3SVpoGmdpsmxITQ4A/GBp3ExOaNSJNQeu907g1Jw/bPObJ1z/M8v9/5Pb/zgB54ACzh86CDeqDBBizAIhNgwqIg8EZjVuDEbJb3YYbHNvnSxWiUip06fPgSFfet+Y4fwudvz+8fm51tePOtRw53d7/yJloEQNAHgF14BcwklsiKksjwDM/0rb66uvoqXtnYuL2ErHINAHQwDICLeAVoYKFR/T7tdLIOg4HnWUZMZ6SOCM/bs3Z++M9DC0NDC0OTxd253O5i14PvXsIr4X1jdx9K/gXNtLe1ReSvDsvPkPw+ANyFV8BI4vFSgOWZP76Nm97G1lOnbpO0gCGnrGMObYAXWgCqwUhE6shkU5gPGgxGIY/VKhhe4A0GIZ3JShbMOpzOP6RHot/9sc6VDLraRE9H8O6JluH7M8tmKjyNA7ubRib8jI+ODrbsudfE+Rkza5lxeJn2+0ryp52e6ILbUaGcQecupwkwFJV1HMPXgYUQwFAwIvBGnhFZo5jJfM2AkM4Q+BE+aDCyTieqBO/yUvTiql7XfFeod19bbnafO9HkEPyuJMcm6aA/g69fLru9+f8pTZ3sXfYWxGS3l228yVgBwYCyjnm0Ac1qNoKW5OGMangDASemM1nOYEDV8umR8SdL3TO+wWbJ09If4ntjQsHdnThG545XKsdzYe9+hz3YF4/3BT32g+GQymerso6t+Do4IKhm+DqBKJDbJzxKhMetdAgOLeZmpViPizKuLpt17pHGuN0Rc7pT7jT91MmJpV5P49grtwdEd2iZbbxp2+XNtY4MkbtDkN3EEtqBhXBmDEgBY8e/QRodOz0y+mj/2Jykx/JZxHJieyjjDQ22BXOB9vgcwTVxPN97dNARrr/P05Pz96fFgt/G7HMTKUEFAI/gm2DVumMHdSyDpGyAfb/1SDle8nlcYnNrSv78LOpCt7sOZhjTfL2pJSljdPqYYZHovUNJ4h60AWnohz1b9RNitreMmOZElt/sg2BEUNGIYlr9Q7ctCxWkXfvNb32I2MID3UKEbQ40uSPdRzpToZv31zdkD+y2hGy0KRY/MPtfxTMVNuhwBFkHWQPRnmAinnfzFrt18HfuzoQ3bacsUV9j2kbZ+uM941F63szbu0ZCen2dtcFu2z3QMZFCN21hd1PIbg81ucM2+bzVzTQ2UDqas7ibtXsqAmCPqnHVBza1zTI8o16RkSmu1uk8E52TY6uBqDfZhK9fPtycnD8k/xb50il3o/w6ACgKlAHQNfylIQIxADBAS1Lr4ZJ6L9ehDmg1AyNmRcSKQtZeWqXeuCBf+vUzkx/h6/LRG/K505/sl98BBKKyjn34Z8BoKiX2wDi2hPLUwZnvoVTaawtz/kgv/cgh9K1FGVJ8Xd08vUvFRPwyjzaIyhcZkdMgcdvAVFxbAPn/NlGWdNyfqrNIcWn3itvCmhYtFovDhGo5bzwWDbbuHZUvokqSa5R/giqck+xb3KENcNyZ507qls2Uf0/nZFmjDtX6/amdzGk9GUMbsIs44jc65U53UWWEEoWlYnGpoK3BJMclg+q62fXaekLre20F1ceKag7Vx6pblW5Jl+dY+04fKy6bdb6xaJ4YWGegt4kyTnm2bewq/n7azecXSlPLvZ6miWdRaKePLQHgENoA2w7+tV40MkvLtC78UHcg5vRyYU9qnx/V5nPdJtNjRmNmQJYBgaSsq7y2aK6bVU1C6khhQaVnpydyXkxwoGj/E629yQcysYjZ3Rp+4N7/fXjgmNAfnoxxXmtHb2lvIHuMTvoONHsbGfOuBrrOWeoanoo33su56u1mh93CJLpiyWKc3GtaWccRfJa8deqNSLyUzYqsyPJ3Gtb/33Ow5dST9pPvvedMhZrbnE2Be+jsbOFHxwxra4s/DKdYU93DJobEyyvruAHViE6qRM/ippqZTdf9eKq06ot5Eo2ry2YqME7PH0Jp+ZN0yhVAw7L1rnDq6/cS1aABYFEnck4noTWbFXUfXjtfpp1myszS5XNvoNrn4VI0Wgp/LlvVXqAA8CSqQeAb5+6IwAuRCCnDaJyaeNqnN1I6vdnoO+o3NugpvZ7ynC1dcVP1ekpXZ2hCtVuhkUhklL94kewjoVuy9UKg2OIbar2g5gsD4DSqqXOCXbgjjZHbzhO+fOF5kfbQVD1Xn3juxcvPd1maLZTZZW5H+K/jbJxlE45x5e8VNsGycWdFnReUPO5GNXCrHG5qIpvdQYUFf9sZsTaZHPXxdtr0wXf2WFw0ZXKZR556h8tN/cJAPaLThT1N6E/v83cL4VLofdmcn4xrPnhVWUcvwMdkHtJeRs3JUUIsFMSOvj56sL19aKi9fRAQvKEI6Ap8QDyzKmQygsCpfbR96qPwQAHreywBuyft7U/l80d/v5cbbTtxP212JQOprv0Th88oipYTBw0CeADQABjIrihQQa3YgK9QAsSVxwDACHE4A1qdrytj6EP8MdHBkPYecVoboLNHFhaOVKbHx6dfq3527tytvYXqWycevVbVzj2ujKGXtHOkZqlD5ZB1GN5Vj1SOLCy8Vqhee/TEW9XC3lvnzn0GCG4oc6iG3yEzWpUhE5rI3kDRq1fXdAfKt/vKatw5ZQ49s/kNmSKkADN39SqKrpXxz8sbF9VvHt6M0741dRCrEaQ8JjthTWQ3u5nMB6xal9pqIotempnW613dmUy3S6+fnhmLxRKMPpXJpPRMIhZby4+HpLTfFnCivcgZsPnEDD+RK9NeT7Sc7BLrqXqxK1mOerx0WePhIWUO/U2rpSqJmuttv+qqBfLS5itOSuBYbaxkHQb+oVgsYaVIbsqaiMXGZqb1BldPJtPjMuinZ9b+Y9bcBJ8RfVv1+dNSaDwPCEaVGWzBvwQdQBWJaBSNPCb/9AXdgxvPae/pMLyIbegfhggkYAkMkIAVtf5Z8KFP8UnC9wkpLIUlPTuL6uV/oid8Z16mXj7z1YMaTvIev4JqoAc4ot4Kct5A+9HpxU1f+BXOo6fxl0TvhR16b+nsbIlnszjfHo2JYizarsX7ALWi/8NXSLw9giAajQqv/4GeR61fPPvsF4BgGDmxDT1O8OyRAuww+g1yzs0BwL8AAAD//wEAAP//nDycBQAAAAEAAAABBJyNXi/sXw889QADA+gAAAAA3BxzpAAAAADdlx6g/0z+OgMMBCQAAQAGAA
2023-02-21 08:33:13 +00:00
}
2023-06-20 00:12:52 +00:00
.d2-1915554491 .text-mono-italic {
font-family: "d2-1915554491-font-mono-italic";
2023-02-21 08:33:13 +00:00
}
@font-face {
2023-06-20 00:12:52 +00:00
font-family: d2-1915554491-font-mono-italic;
2023-05-31 23:58:10 +00:00
src: url("data:application/font-woff;base64,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
2023-02-21 08:33:13 +00:00
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
2023-03-12 01:22:26 +00:00
2023-06-20 00:12:52 +00:00
.d2-1915554491 .fill-N1{fill:#0A0F25;}
.d2-1915554491 .fill-N2{fill:#676C7E;}
.d2-1915554491 .fill-N3{fill:#9499AB;}
.d2-1915554491 .fill-N4{fill:#CFD2DD;}
.d2-1915554491 .fill-N5{fill:#DEE1EB;}
.d2-1915554491 .fill-N6{fill:#EEF1F8;}
.d2-1915554491 .fill-N7{fill:#FFFFFF;}
.d2-1915554491 .fill-B1{fill:#0D32B2;}
.d2-1915554491 .fill-B2{fill:#0D32B2;}
.d2-1915554491 .fill-B3{fill:#E3E9FD;}
.d2-1915554491 .fill-B4{fill:#E3E9FD;}
.d2-1915554491 .fill-B5{fill:#EDF0FD;}
.d2-1915554491 .fill-B6{fill:#F7F8FE;}
.d2-1915554491 .fill-AA2{fill:#4A6FF3;}
.d2-1915554491 .fill-AA4{fill:#EDF0FD;}
.d2-1915554491 .fill-AA5{fill:#F7F8FE;}
.d2-1915554491 .fill-AB4{fill:#EDF0FD;}
.d2-1915554491 .fill-AB5{fill:#F7F8FE;}
.d2-1915554491 .stroke-N1{stroke:#0A0F25;}
.d2-1915554491 .stroke-N2{stroke:#676C7E;}
.d2-1915554491 .stroke-N3{stroke:#9499AB;}
.d2-1915554491 .stroke-N4{stroke:#CFD2DD;}
.d2-1915554491 .stroke-N5{stroke:#DEE1EB;}
.d2-1915554491 .stroke-N6{stroke:#EEF1F8;}
.d2-1915554491 .stroke-N7{stroke:#FFFFFF;}
.d2-1915554491 .stroke-B1{stroke:#0D32B2;}
.d2-1915554491 .stroke-B2{stroke:#0D32B2;}
.d2-1915554491 .stroke-B3{stroke:#E3E9FD;}
.d2-1915554491 .stroke-B4{stroke:#E3E9FD;}
.d2-1915554491 .stroke-B5{stroke:#EDF0FD;}
.d2-1915554491 .stroke-B6{stroke:#F7F8FE;}
.d2-1915554491 .stroke-AA2{stroke:#4A6FF3;}
.d2-1915554491 .stroke-AA4{stroke:#EDF0FD;}
.d2-1915554491 .stroke-AA5{stroke:#F7F8FE;}
.d2-1915554491 .stroke-AB4{stroke:#EDF0FD;}
.d2-1915554491 .stroke-AB5{stroke:#F7F8FE;}
.d2-1915554491 .background-color-N1{background-color:#0A0F25;}
.d2-1915554491 .background-color-N2{background-color:#676C7E;}
.d2-1915554491 .background-color-N3{background-color:#9499AB;}
.d2-1915554491 .background-color-N4{background-color:#CFD2DD;}
.d2-1915554491 .background-color-N5{background-color:#DEE1EB;}
.d2-1915554491 .background-color-N6{background-color:#EEF1F8;}
.d2-1915554491 .background-color-N7{background-color:#FFFFFF;}
.d2-1915554491 .background-color-B1{background-color:#0D32B2;}
.d2-1915554491 .background-color-B2{background-color:#0D32B2;}
.d2-1915554491 .background-color-B3{background-color:#E3E9FD;}
.d2-1915554491 .background-color-B4{background-color:#E3E9FD;}
.d2-1915554491 .background-color-B5{background-color:#EDF0FD;}
.d2-1915554491 .background-color-B6{background-color:#F7F8FE;}
.d2-1915554491 .background-color-AA2{background-color:#4A6FF3;}
.d2-1915554491 .background-color-AA4{background-color:#EDF0FD;}
.d2-1915554491 .background-color-AA5{background-color:#F7F8FE;}
.d2-1915554491 .background-color-AB4{background-color:#EDF0FD;}
.d2-1915554491 .background-color-AB5{background-color:#F7F8FE;}
.d2-1915554491 .color-N1{color:#0A0F25;}
.d2-1915554491 .color-N2{color:#676C7E;}
.d2-1915554491 .color-N3{color:#9499AB;}
.d2-1915554491 .color-N4{color:#CFD2DD;}
.d2-1915554491 .color-N5{color:#DEE1EB;}
.d2-1915554491 .color-N6{color:#EEF1F8;}
.d2-1915554491 .color-N7{color:#FFFFFF;}
.d2-1915554491 .color-B1{color:#0D32B2;}
.d2-1915554491 .color-B2{color:#0D32B2;}
.d2-1915554491 .color-B3{color:#E3E9FD;}
.d2-1915554491 .color-B4{color:#E3E9FD;}
.d2-1915554491 .color-B5{color:#EDF0FD;}
.d2-1915554491 .color-B6{color:#F7F8FE;}
.d2-1915554491 .color-AA2{color:#4A6FF3;}
.d2-1915554491 .color-AA4{color:#EDF0FD;}
.d2-1915554491 .color-AA5{color:#F7F8FE;}
.d2-1915554491 .color-AB4{color:#EDF0FD;}
.d2-1915554491 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g id="hey"><g class="shape" ></g><g transform="translate(0.000000 166.000000)" class="light-code"><rect width="755.000000" height="203.000000" class="shape stroke-N1" style="fill:#ffffff;stroke-width:2;" /><g transform="translate(8.000000 8.000000)"><text class="text-mono" x="0" y="1.000000em"><tspan fill="#999988" class="text-mono-italic">//&#160;RegisterHash&#160;registers&#160;a&#160;function&#160;that&#160;returns&#160;a&#160;new&#160;instance&#160;of&#160;the&#160;given
</tspan></text><text class="text-mono" x="0" y="2.300000em"><tspan fill="#999988" class="text-mono-italic"></tspan><tspan fill="#999988" class="text-mono-italic">//&#160;hash&#160;function.&#160;This&#160;is&#160;intended&#160;to&#160;be&#160;called&#160;from&#160;the&#160;init&#160;function&#160;in
</tspan></text><text class="text-mono" x="0" y="3.600000em"><tspan fill="#999988" class="text-mono-italic"></tspan><tspan fill="#999988" class="text-mono-italic">//&#160;packages&#160;that&#160;implement&#160;hash&#160;functions.
</tspan></text><text class="text-mono" x="0" y="4.900000em"><tspan fill="#999988" class="text-mono-italic"></tspan><tspan fill="#000000" class="text-mono-bold">func</tspan>&#160;<tspan fill="#990000" class="text-mono-bold">RegisterHash</tspan>(h&#160;Hash,&#160;f&#160;<tspan fill="#000000" class="text-mono-bold">func</tspan>()&#160;hash.Hash)&#160;{
</text><text class="text-mono" x="0" y="6.200000em">&#160;&#160;&#160;&#160;<tspan fill="#000000" class="text-mono-bold">if</tspan>&#160;h&#160;<tspan fill="#000000" class="text-mono-bold">&gt;=</tspan>&#160;maxHash&#160;{
</text><text class="text-mono" x="0" y="7.500000em">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<tspan fill="#0086b3">panic</tspan>(<tspan fill="#dd1144">&quot;crypto:&#160;RegisterHash&#160;of&#160;unknown&#160;hash&#160;function&quot;</tspan>)
</text><text class="text-mono" x="0" y="8.800000em">&#160;&#160;&#160;&#160;}
</text><text class="text-mono" x="0" y="10.100000em">&#160;&#160;&#160;&#160;hashes[h]&#160;=&#160;f
</text><text class="text-mono" x="0" y="11.400000em">}</text></g></g><g transform="translate(0.000000 166.000000)" class="dark-code"><rect width="755.000000" height="203.000000" class="shape stroke-N1" style="fill:#1e1e2e;stroke-width:2;" /><g transform="translate(8.000000 8.000000)"><text class="text-mono" x="0" y="1.000000em"><tspan fill="#585b70" class="text-mono-italic">//&#160;RegisterHash&#160;registers&#160;a&#160;function&#160;that&#160;returns&#160;a&#160;new&#160;instance&#160;of&#160;the&#160;given
</tspan></text><text class="text-mono" x="0" y="2.300000em"><tspan fill="#585b70" class="text-mono-italic"></tspan><tspan fill="#585b70" class="text-mono-italic">//&#160;hash&#160;function.&#160;This&#160;is&#160;intended&#160;to&#160;be&#160;called&#160;from&#160;the&#160;init&#160;function&#160;in
</tspan></text><text class="text-mono" x="0" y="3.600000em"><tspan fill="#585b70" class="text-mono-italic"></tspan><tspan fill="#585b70" class="text-mono-italic">//&#160;packages&#160;that&#160;implement&#160;hash&#160;functions.
</tspan></text><text class="text-mono" x="0" y="4.900000em"><tspan fill="#585b70" class="text-mono-italic"></tspan><tspan fill="#cba6f7">func</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#89dceb">RegisterHash</tspan><tspan fill="#cdd6f4">(</tspan><tspan fill="#fab387">h</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#fab387">Hash</tspan><tspan fill="#cdd6f4">,</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#fab387">f</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#cba6f7">func</tspan><tspan fill="#cdd6f4">(</tspan><tspan fill="#cdd6f4">)</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#fab387">hash</tspan><tspan fill="#cdd6f4">.</tspan><tspan fill="#fab387">Hash</tspan><tspan fill="#cdd6f4">)</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#cdd6f4">{</tspan><tspan fill="#fab387">
</tspan></text><text class="text-mono" x="0" y="6.200000em"><tspan fill="#fab387"></tspan><tspan fill="#fab387">&#160;&#160;&#160;&#160;</tspan><tspan fill="#cba6f7">if</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#fab387">h</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#89dceb">&gt;=</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#fab387">maxHash</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#cdd6f4">{</tspan><tspan fill="#fab387">
</tspan></text><text class="text-mono" x="0" y="7.500000em"><tspan fill="#fab387"></tspan><tspan fill="#fab387">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</tspan><tspan fill="#fab387" class="text-mono-italic">panic</tspan><tspan fill="#cdd6f4">(</tspan><tspan fill="#a6e3a1">&quot;crypto:&#160;RegisterHash&#160;of&#160;unknown&#160;hash&#160;function&quot;</tspan><tspan fill="#cdd6f4">)</tspan><tspan fill="#fab387">
</tspan></text><text class="text-mono" x="0" y="8.800000em"><tspan fill="#fab387"></tspan><tspan fill="#fab387">&#160;&#160;&#160;&#160;</tspan><tspan fill="#cdd6f4">}</tspan><tspan fill="#fab387">
</tspan></text><text class="text-mono" x="0" y="10.100000em"><tspan fill="#fab387"></tspan><tspan fill="#fab387">&#160;&#160;&#160;&#160;</tspan><tspan fill="#fab387">hashes</tspan><tspan fill="#cdd6f4">[</tspan><tspan fill="#fab387">h</tspan><tspan fill="#cdd6f4">]</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#cdd6f4">=</tspan><tspan fill="#fab387">&#160;</tspan><tspan fill="#fab387">f</tspan><tspan fill="#fab387">
</tspan></text><text class="text-mono" x="0" y="11.400000em"><tspan fill="#fab387"></tspan><tspan fill="#cdd6f4">}</tspan></text></g></g></g><g id="x"><g class="shape" ><rect x="351.000000" y="0.000000" width="53.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="377.500000" y="38.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">x</text></g><g id="y"><g class="shape" ><rect x="351.000000" y="469.000000" width="54.000000" height="66.000000" class=" stroke-B1 fill-B6" style="stroke-width:2;" /></g><text x="378.000000" y="507.500000" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px">y</text></g><g id="(x -&gt; hey)[0]"><marker id="mk-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 377.500000 68.000000 C 377.500000 106.000000 377.500000 126.000000 377.500000 162.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1915554491)" /></g><g id="(hey -&gt; y)[0]"><path d="M 377.500000 371.000000 C 377.500000 409.000000 377.500000 429.000000 377.500000 465.000000" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-3488378134)" mask="url(#d2-1915554491)" /></g><mask id="d2-1915554491" maskUnits="userSpaceOnUse" x="-1" y="-1" width="757" height="537">
<rect x="-1" y="-1" width="757" height="537" fill="white"></rect>
<rect x="0.000000" y="166.000000" width="739" height="187" fill="rgba(0,0,0,0.75)"></rect>
<rect x="373.500000" y="22.500000" width="8" height="21" fill="rgba(0,0,0,0.75)"></rect>
2023-06-20 00:12:52 +00:00
<rect x="373.500000" y="491.500000" width="9" height="21" fill="rgba(0,0,0,0.75)"></rect>
2023-01-26 21:17:54 +00:00
</mask></svg></svg>