@maci-protocol/website 0.0.0-ci.f4bc8a6 → 0.0.0-ci.f4e2c46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/LICENSE +1 -2
  2. package/blog/2024-02-28-maci-v1.2.0.md +1 -1
  3. package/blog/2024-08-10-maci-v2.md +1 -1
  4. package/docusaurus.config.ts +2 -2
  5. package/package.json +13 -13
  6. package/src/pages/roadmap.md +39 -80
  7. package/static/img/circuits/MACI-Circuits.excalidraw +79 -79
  8. package/static/img/circuits/ecdh.svg +1 -1
  9. package/static/img/circuits/messageToCommand.svg +1 -1
  10. package/static/img/circuits/messageValidator.svg +1 -1
  11. package/static/img/circuits/privToPubkey.svg +1 -1
  12. package/static/img/circuits/processMessages.svg +1 -1
  13. package/static/img/circuits/processMessagesInputHasher.svg +1 -1
  14. package/static/img/circuits/processMessages_2_0.svg +1 -1
  15. package/static/img/circuits/processOne.svg +1 -1
  16. package/static/img/circuits/processTopup.svg +1 -1
  17. package/static/img/circuits/quinBatchLeavesExists.svg +1 -1
  18. package/static/img/circuits/quinCheckRoot.svg +1 -1
  19. package/static/img/circuits/quinGeneratePathIndices.svg +1 -1
  20. package/static/img/circuits/quinSelector.svg +1 -1
  21. package/static/img/circuits/resultsCommitmentVerifier.svg +1 -1
  22. package/static/img/circuits/splicer.svg +1 -1
  23. package/static/img/circuits/tallyInputHasher.svg +1 -1
  24. package/static/img/circuits/tallyVotes.svg +1 -1
  25. package/static/img/circuits/verifySignature.svg +1 -1
  26. package/versioned_docs/version-v0.x/quadratic-vote-tallying-circuit.md +16 -16
  27. package/versioned_docs/version-v3.x/core-concepts/key-change.md +28 -28
  28. package/versioned_docs/version-v3.x/core-concepts/maci-keys.md +1 -1
  29. package/versioned_docs/version-v3.x/core-concepts/poll-types.md +33 -9
  30. package/versioned_docs/version-v3.x/core-concepts/polls.md +34 -10
  31. package/versioned_docs/version-v3.x/core-concepts/spec.md +42 -108
  32. package/versioned_docs/version-v3.x/core-concepts/state-leaf.md +2 -2
  33. package/versioned_docs/version-v3.x/core-concepts/workflow.md +1 -1
  34. package/versioned_docs/version-v3.x/guides/compile-circuits.md +36 -20
  35. package/versioned_docs/version-v3.x/guides/integrating.md +9 -9
  36. package/versioned_docs/version-v3.x/guides/testing/testing-in-detail.md +2 -2
  37. package/versioned_docs/version-v3.x/guides/testing/testing-introduction.md +34 -2
  38. package/versioned_docs/version-v3.x/guides/troubleshooting.md +62 -17
  39. package/versioned_docs/version-v3.x/quick-start.md +29 -21
  40. package/versioned_docs/version-v3.x/resources.md +1 -0
  41. package/versioned_docs/version-v3.x/security/audit.md +2 -2
  42. package/versioned_docs/version-v3.x/security/trusted-setup.md +35 -35
  43. package/versioned_docs/version-v3.x/supported-networks/costs.md +725 -0
  44. package/versioned_docs/version-v3.x/supported-networks/deployed-contracts.md +9 -9
  45. package/versioned_docs/version-v3.x/supported-networks/supported-networks.md +16 -0
  46. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MACI.md +7 -7
  47. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MessageProcessor.md +1 -1
  48. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Params.md +2 -2
  49. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Poll.md +8 -8
  50. package/versioned_docs/version-v3.x/technical-references/smart-contracts/PollFactory.md +1 -1
  51. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Tally.md +4 -4
  52. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VkRegistry.md +8 -8
  53. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/joinPoll.md +3 -4
  54. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/processMessages.md +19 -15
  55. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/setup.md +3 -3
  56. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/tallyVotes.md +5 -5
  57. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/utilities.md +9 -9
  58. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +3 -3
@@ -18,4 +18,4 @@
18
18
  </style>
19
19
 
20
20
  </defs>
21
- <rect x="0" y="0" width="1436.2211634820942" height="999.8422318232763" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(319.1642555971598 250.24969994289063) rotate(0 114.33810379333897 33.80052213620297)"><path d="M16.9 0 C80.41 0.5, 142.77 2.76, 211.78 0 M16.9 0 C57.25 0.79, 95.75 2.22, 211.78 0 M211.78 0 C223.26 0.53, 227.55 5.44, 228.68 16.9 M211.78 0 C221.94 0.98, 226.6 4.85, 228.68 16.9 M228.68 16.9 C228.98 27.68, 230.66 42.94, 228.68 50.7 M228.68 16.9 C228.45 26.7, 228.22 37.39, 228.68 50.7 M228.68 50.7 C226.95 61.3, 222.77 67.32, 211.78 67.6 M228.68 50.7 C230.05 62.12, 224.44 69.02, 211.78 67.6 M211.78 67.6 C162.86 68.81, 111.5 69.99, 16.9 67.6 M211.78 67.6 C152.38 67.27, 91.5 67.89, 16.9 67.6 M16.9 67.6 C5.89 69.44, 0.12 62.08, 0 50.7 M16.9 67.6 C6.32 68.27, 2.03 61.37, 0 50.7 M0 50.7 C1.09 42.55, -0.53 31.01, 0 16.9 M0 50.7 C0.17 42.19, -0.36 31.32, 0 16.9 M0 16.9 C-1.82 4.51, 6.99 1.84, 16.9 0 M0 16.9 C-1.53 4.83, 3.51 -0.47, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(363.6624240877645 271.5502220790934) rotate(0 69.83993530273438 12.5)"><text x="69.83993530273438" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">QuinCheckRoot</text></g><g stroke-linecap="round" transform="translate(317.45534478756235 109.16043579708457) rotate(0 110.05757116156975 32.17741655087593)"><path d="M16.09 0 C61.49 -0.8, 109.04 0.21, 204.03 0 M16.09 0 C56.1 -0.77, 95.33 -1.13, 204.03 0 M204.03 0 C213.8 0.85, 218.31 4.68, 220.12 16.09 M204.03 0 C216.25 1.86, 221.02 5.4, 220.12 16.09 M220.12 16.09 C220.2 23.09, 218.87 29.93, 220.12 48.27 M220.12 16.09 C219.11 25.36, 219.84 35.17, 220.12 48.27 M220.12 48.27 C221.31 59.13, 215.97 65.59, 204.03 64.35 M220.12 48.27 C219.16 56.84, 216.11 66.06, 204.03 64.35 M204.03 64.35 C147.26 64.25, 90.18 66.55, 16.09 64.35 M204.03 64.35 C153.48 65.87, 102.75 65.01, 16.09 64.35 M16.09 64.35 C5.96 64.93, 1.76 58.47, 0 48.27 M16.09 64.35 C5.16 65.71, -1.11 60.47, 0 48.27 M0 48.27 C-0.39 33.9, 0.61 23.19, 0 16.09 M0 48.27 C-0.69 35.21, 0.9 24.2, 0 16.09 M0 16.09 C-1.33 4.66, 3.52 -0.41, 16.09 0 M0 16.09 C1.49 4.14, 6.44 -1.81, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(322.6629937689563 116.3378523479605) rotate(0 104.84992218017578 25)"><text x="104.84992218017578" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">leaves (array of len </text><text x="104.84992218017578" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5 ** levels)</text></g><g stroke-linecap="round"><g transform="translate(420.7474453768373 200.58009374733615) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M0.39 -0.48 C0.18 6.24, -0.92 33.17, -1.12 39.87 M-0.07 0.46 C-0.38 7.06, -1.49 32.4, -1.67 39.06" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.7474453768373 200.58009374733615) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M-7.76 20.23 C-6.75 25.83, -3.39 32.39, -1.67 39.06 M-7.76 20.23 C-6.06 26.59, -4.28 32.35, -1.67 39.06" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.7474453768373 200.58009374733615) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M5.77 20.72 C2.44 26.21, 1.46 32.61, -1.67 39.06 M5.77 20.72 C3.05 26.91, 0.41 32.52, -1.67 39.06" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(10 253.33636999422674) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C86.91 1.01, 156.06 -0.33, 204.03 0 M16.09 0 C69.71 -1.14, 125.8 0.01, 204.03 0 M204.03 0 C215.54 0.03, 218.55 7.08, 220.12 16.09 M204.03 0 C216.29 -0.22, 219.97 3.61, 220.12 16.09 M220.12 16.09 C221.83 23.34, 219.44 33.78, 220.12 48.27 M220.12 16.09 C220.92 25.91, 219.89 33.56, 220.12 48.27 M220.12 48.27 C221.3 60.47, 214.81 64.88, 204.03 64.35 M220.12 48.27 C221.54 59.16, 213.29 64.33, 204.03 64.35 M204.03 64.35 C138.56 63.76, 73.66 63.63, 16.09 64.35 M204.03 64.35 C147.51 64.64, 89.13 65.49, 16.09 64.35 M16.09 64.35 C4.4 65.64, 1.69 58.67, 0 48.27 M16.09 64.35 C5.34 63.84, -2.3 59.63, 0 48.27 M0 48.27 C-1.48 37.34, -1.41 31.41, 0 16.09 M0 48.27 C-0.71 35.44, 0.86 22.49, 0 16.09 M0 16.09 C0.93 3.79, 6.61 -0.86, 16.09 0 M0 16.09 C-0.4 4.42, 3.94 0.85, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(35.987647760690834 273.0137865451027) rotate(0 84.0699234008789 12.5)"><text x="84.0699234008789" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">parameter: levels</text></g><g transform="translate(466.1491603400291 203.1269487461807) rotate(0 26.379974365234375 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Input</text></g><g transform="translate(477.43539645203145 351.6938564526765) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(416.454529333404 350.42350268258747) rotate(0 0.2229014099474398 20.51105751905652)"><path d="M-0.5 -0.19 C-0.32 6.68, 0.61 34.6, 0.81 41.47 M0.25 -0.76 C0.41 5.95, 0.53 33.67, 0.56 40.73" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(416.454529333404 350.42350268258747) rotate(0 0.2229014099474398 20.51105751905652)"><path d="M-6.54 21.49 C-5.05 27.03, -2.11 31.62, 0.56 40.73 M-6.54 21.49 C-4.14 27.21, -2.37 32.68, 0.56 40.73" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(416.454529333404 350.42350268258747) rotate(0 0.2229014099474398 20.51105751905652)"><path d="M7.49 21.42 C5.44 26.92, 4.84 31.53, 0.56 40.73 M7.49 21.42 C5.66 27.23, 3.2 32.72, 0.56 40.73" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(319.8948768853206 417.3216350494797) rotate(0 110.05757116156975 32.17741655087593)"><path d="M16.09 0 C57.15 -0.44, 95 -2.8, 204.03 0 M16.09 0 C88.51 -0.58, 160.86 0.17, 204.03 0 M204.03 0 C213.89 1.72, 218.39 4.69, 220.12 16.09 M204.03 0 C214.44 -0.32, 221.49 5.52, 220.12 16.09 M220.12 16.09 C218.45 28.88, 221.8 39.37, 220.12 48.27 M220.12 16.09 C219.68 26.57, 220.83 36.77, 220.12 48.27 M220.12 48.27 C219.22 59.63, 215 66.19, 204.03 64.35 M220.12 48.27 C220.26 59.12, 215.44 65.02, 204.03 64.35 M204.03 64.35 C132.24 63.22, 59.39 65.87, 16.09 64.35 M204.03 64.35 C149.71 64.22, 97.23 64.82, 16.09 64.35 M16.09 64.35 C3.96 63.16, -1.82 57.86, 0 48.27 M16.09 64.35 C6.92 66.48, -1.53 58.18, 0 48.27 M0 48.27 C-1 42.52, -1.51 36.15, 0 16.09 M0 48.27 C-0.56 40.37, 0.21 31.32, 0 16.09 M0 16.09 C1.08 3.4, 4.27 -1.82, 16.09 0 M0 16.09 C0.59 6.28, 4.81 0.54, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(408.9224721557771 436.99905160035564) rotate(0 21.02997589111328 12.5)"><text x="21.02997589111328" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">root</text></g><g stroke-linecap="round"><g transform="translate(245.4148474337021 287.0251667424425) rotate(0 25.113558854083067 -0.18811706408132522)"><path d="M-0.94 1.03 C7.48 0.94, 42.52 -0.11, 51.03 -0.49 M0.76 0.52 C9.06 0.63, 42.41 1.15, 50.51 0.98" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.4148474337021 287.0251667424425) rotate(0 25.113558854083067 -0.18811706408132522)"><path d="M27.01 9.52 C36.7 8.15, 42.76 3.79, 50.51 0.98 M27.01 9.52 C31.85 8.47, 36.68 5.37, 50.51 0.98" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.4148474337021 287.0251667424425) rotate(0 25.113558854083067 -0.18811706408132522)"><path d="M27.02 -7.58 C36.7 -3.15, 42.77 -1.71, 50.51 0.98 M27.02 -7.58 C31.82 -4.8, 36.65 -4.08, 50.51 0.98" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(758.9446096196552 86.71485718718168) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C63.88 -1.23, 99.12 -1.52, 192.62 0 M27.5 0 C75.95 -1.75, 126 -1.56, 192.62 0 M192.62 0 C212.14 0.14, 221.33 10.4, 220.12 27.5 M192.62 0 C210 -2.15, 221.47 10.87, 220.12 27.5 M220.12 27.5 C220.41 42.88, 220.23 61.85, 220.12 82.5 M220.12 27.5 C219.99 43.25, 219.93 57.21, 220.12 82.5 M220.12 82.5 C220.72 101.41, 212.71 109.48, 192.62 110 M220.12 82.5 C219.91 102.19, 209.84 111.48, 192.62 110 M192.62 110 C128.72 107.98, 66.26 109.64, 27.5 110 M192.62 110 C127.59 108.45, 65.06 109.93, 27.5 110 M27.5 110 C7.83 109.3, -1.85 100.43, 0 82.5 M27.5 110 C10.65 108.77, 1.07 99.02, 0 82.5 M0 82.5 C-0.59 61.33, 0.98 42.94, 0 27.5 M0 82.5 C-0.84 67.37, -0.04 54.46, 0 27.5 M0 27.5 C-0.48 9.63, 9.53 0.25, 27.5 0 M0 27.5 C0.26 10.02, 10.3 -1.03, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(764.1822497509515 91.71485718718168) rotate(0 104.81993103027344 50)"><text x="104.81993103027344" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. calculate how many</text><text x="104.81993103027344" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Poseidon hashers </text><text x="104.81993103027344" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">objects we need to </text><text x="104.81993103027344" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hash the leaves</text></g><g stroke-linecap="round" transform="translate(1120.4700575350334 94.26873830206864) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C71.28 -0.47, 128.23 -1.34, 204.03 0 M16.09 0 C66.75 0.33, 116.83 0.88, 204.03 0 M204.03 0 C213.92 -1.87, 221.3 6.84, 220.12 16.09 M204.03 0 C214.82 0.6, 221.54 5.53, 220.12 16.09 M220.12 16.09 C219.5 22.8, 220.75 31.56, 220.12 48.27 M220.12 16.09 C220.43 28.99, 221.02 41.05, 220.12 48.27 M220.12 48.27 C219.94 60.17, 213.79 65.64, 204.03 64.35 M220.12 48.27 C222.05 58.62, 214.73 63.84, 204.03 64.35 M204.03 64.35 C168.19 62.63, 127.63 62.21, 16.09 64.35 M204.03 64.35 C157.57 65.74, 111.52 65.88, 16.09 64.35 M16.09 64.35 C6.65 63.29, 0.93 57.41, 0 48.27 M16.09 64.35 C6.8 63.36, -0.4 58.05, 0 48.27 M0 48.27 C-0.95 41.69, -2.08 31.86, 0 16.09 M0 48.27 C-0.32 41.77, 0.1 34.93, 0 16.09 M0 16.09 C0.22 6.1, 6.35 -0.89, 16.09 0 M0 16.09 C-0.99 3.28, 7.39 1.76, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1152.8176906472868 113.94615485294457) rotate(0 77.7099380493164 12.5)"><text x="77.7099380493164" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5 ** (levels - 1)</text></g><g stroke-linecap="round" transform="translate(762.036334731705 207.68015012257115) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C69.22 1.16, 112.01 2.62, 192.62 0 M27.5 0 C77.74 -1.95, 129.41 -0.28, 192.62 0 M192.62 0 C211 0.52, 221.35 9.32, 220.12 27.5 M192.62 0 C209.49 -0.03, 221.31 8.47, 220.12 27.5 M220.12 27.5 C222.13 41.65, 220.4 56.16, 220.12 82.5 M220.12 27.5 C220.51 46.19, 220.12 64.33, 220.12 82.5 M220.12 82.5 C221.8 100.51, 210.93 109.56, 192.62 110 M220.12 82.5 C217.82 101.47, 210.55 112.03, 192.62 110 M192.62 110 C153.5 109.85, 118.49 107.16, 27.5 110 M192.62 110 C149.52 109.13, 105.61 108.88, 27.5 110 M27.5 110 C10.41 109.14, -0.35 100.01, 0 82.5 M27.5 110 C7.74 110.85, 0.35 99.88, 0 82.5 M0 82.5 C-1.28 63.53, 1.34 43.05, 0 27.5 M0 82.5 C0.01 65.09, 0.39 46.49, 0 27.5 M0 27.5 C-0.86 7.36, 10.93 1.53, 27.5 0 M0 27.5 C0.48 7.41, 8.14 -0.95, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(772.8839907321419 212.68015012257115) rotate(0 99.20991516113281 50)"><text x="99.20991516113281" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Calculate how </text><text x="99.20991516113281" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">many Poseidon </text><text x="99.20991516113281" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hashers objects we </text><text x="99.20991516113281" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">need in total</text></g><g stroke-linecap="round" transform="translate(765.9783874446657 341.6232584815682) rotate(0 98.33254421794342 50.71327566239893)"><path d="M25.36 0 C67.32 0.35, 110.24 -1.7, 171.31 0 M25.36 0 C55.54 -0.82, 86.29 -1.01, 171.31 0 M171.31 0 C186.94 -0.03, 197.7 7.84, 196.67 25.36 M171.31 0 C187.18 0.73, 196.96 10.57, 196.67 25.36 M196.67 25.36 C197.27 42.64, 196.17 56.22, 196.67 76.07 M196.67 25.36 C197.26 43.4, 196.41 61.55, 196.67 76.07 M196.67 76.07 C194.67 93.53, 187.87 103.19, 171.31 101.43 M196.67 76.07 C195.06 91.6, 186.12 100.13, 171.31 101.43 M171.31 101.43 C116.95 98.61, 63.59 101.75, 25.36 101.43 M171.31 101.43 C135.94 99.84, 99.14 99.86, 25.36 101.43 M25.36 101.43 C7.21 102.17, 0.3 92.14, 0 76.07 M25.36 101.43 C9.7 99.17, -1.26 90.88, 0 76.07 M0 76.07 C0.26 59.92, 0.05 43.27, 0 25.36 M0 76.07 C-0.68 58.08, 0.63 42.67, 0 25.36 M0 25.36 C0.41 6.93, 7.56 -0.82, 25.36 0 M0 25.36 C0.26 8.13, 8.99 1.31, 25.36 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(780.8709978857537 367.33653414396736) rotate(0 83.43993377685547 25)"><text x="83.43993377685547" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Initialize the </text><text x="83.43993377685547" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hashers</text></g><g transform="translate(604.2456596927095 228.64956929036475) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(587.0690474326502 289.28389042735694) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M0.71 0.89 C18.81 0.85, 90.11 -0.97, 108.13 -1.38 M-0.38 0.31 C17.61 -0.01, 89.06 -3.25, 107.2 -3.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(587.0690474326502 289.28389042735694) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M83.96 5.85 C91.53 3.39, 96.59 2.2, 107.2 -3.34 M83.96 5.85 C91.68 2.73, 97.86 0.52, 107.2 -3.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(587.0690474326502 289.28389042735694) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M83.48 -11.24 C91.03 -9.28, 96.2 -6.06, 107.2 -3.34 M83.48 -11.24 C91.24 -9.11, 97.57 -6.06, 107.2 -3.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(768.7460799515125 461.1005223625291) rotate(0 102.19823255897688 42.5)"><path d="M21.25 0 C79.9 1.19, 137.66 -1.32, 183.15 0 M21.25 0 C69.17 0.81, 118.11 1.41, 183.15 0 M183.15 0 C197.44 0.11, 205 7.66, 204.4 21.25 M183.15 0 C199.34 -0.6, 204.19 8.44, 204.4 21.25 M204.4 21.25 C204.34 31.93, 204.23 40.66, 204.4 63.75 M204.4 21.25 C203.62 34.58, 203.41 48.55, 204.4 63.75 M204.4 63.75 C205.75 79.76, 195.98 84.3, 183.15 85 M204.4 63.75 C202.27 77.45, 198.8 83.77, 183.15 85 M183.15 85 C126.15 85.66, 70.07 84.77, 21.25 85 M183.15 85 C129.14 83.35, 73.5 83.42, 21.25 85 M21.25 85 C7.6 85.8, -0.48 78.38, 0 63.75 M21.25 85 C7.5 85.29, 0.26 78.77, 0 63.75 M0 63.75 C-1.62 50.67, 1.72 34.48, 0 21.25 M0 63.75 C0.3 54.1, 0.42 45.31, 0 21.25 M0 21.25 C0.78 5.6, 5.4 0.01, 21.25 0 M0 21.25 C0.38 7, 7.27 2.1, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(775.4243845319738 466.1005223625291) rotate(0 95.51992797851562 37.5)"><text x="95.51992797851562" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">4. Wire the leaves </text><text x="95.51992797851562" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">values into the </text><text x="95.51992797851562" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">leaf hashers</text></g><g stroke-linecap="round"><g transform="translate(1011.8221314011867 131.45457777799106) rotate(0 46.90836338228155 -1.0051202467076337)"><path d="M-0.35 0.82 C15.17 0.38, 77.42 -1.6, 93.12 -2.08 M1.66 0.21 C17.58 -0.08, 80.22 -0.42, 95.47 -0.58" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1011.8221314011867 131.45457777799106) rotate(0 46.90836338228155 -1.0051202467076337)"><path d="M72.04 8.15 C80.37 4.45, 85.88 3.1, 95.47 -0.58 M72.04 8.15 C79.28 4.92, 84.97 3.94, 95.47 -0.58" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1011.8221314011867 131.45457777799106) rotate(0 46.90836338228155 -1.0051202467076337)"><path d="M71.91 -8.95 C80.36 -7.54, 85.91 -3.78, 95.47 -0.58 M71.91 -8.95 C79.34 -7.09, 85.07 -2.98, 95.47 -0.58" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(329.0591834206367 10) rotate(0 99.9638442993164 20.43776687646323)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="32.70042700234123px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Quinary tree</text></g><g stroke-linecap="round" transform="translate(1126.49221888676 223.22247058183643) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C82.17 -2.68, 146.21 -0.9, 198.87 0 M21.25 0 C68.27 1.75, 116.02 2.36, 198.87 0 M198.87 0 C211.14 1.52, 219.49 8.04, 220.12 21.25 M198.87 0 C213.37 0.44, 218.73 8.69, 220.12 21.25 M220.12 21.25 C220.62 36.63, 220.26 54.44, 220.12 63.75 M220.12 21.25 C220.72 36.11, 220.38 50.22, 220.12 63.75 M220.12 63.75 C221.67 78.25, 213.3 86.57, 198.87 85 M220.12 63.75 C221.11 78.81, 211.78 86.18, 198.87 85 M198.87 85 C159.93 83.59, 120.98 84.2, 21.25 85 M198.87 85 C129.23 85.91, 58.43 86, 21.25 85 M21.25 85 C7.21 85.06, 1.89 76.94, 0 63.75 M21.25 85 C4.85 85.79, 0.33 75.74, 0 63.75 M0 63.75 C0.49 55.83, 1.54 47.57, 0 21.25 M0 63.75 C-1.33 54.53, 0.36 44.72, 0 21.25 M0 21.25 C0.08 6.08, 6.93 -1.4, 21.25 0 M0 21.25 C1.9 7.72, 9.01 -1.75, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1131.949883126943 228.22247058183643) rotate(0 104.59990692138672 37.5)"><text x="104.59990692138672" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">loop from 0 to levels</text><text x="104.59990692138672" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">and sum 5 ** the </text><text x="104.59990692138672" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">loop index</text></g><g stroke-linecap="round"><g transform="translate(1017.8442927529136 260.4083100577593) rotate(0 46.90836338228155 -1.00512024670752)"><path d="M0.2 -0.4 C15.8 -0.98, 77.21 -2.85, 92.73 -3.09 M-1.16 -1.65 C14.88 -2.15, 79.3 -2.33, 94.88 -2.12" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1017.8442927529136 260.4083100577593) rotate(0 46.90836338228155 -1.00512024670752)"><path d="M71.36 6.35 C76.02 2.57, 80.23 1.63, 94.88 -2.12 M71.36 6.35 C77.82 4.26, 85.86 1.32, 94.88 -2.12" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1017.8442927529136 260.4083100577593) rotate(0 46.90836338228155 -1.00512024670752)"><path d="M71.41 -10.75 C76.12 -10.63, 80.32 -7.68, 94.88 -2.12 M71.41 -10.75 C77.85 -7.45, 85.87 -5.02, 94.88 -2.12" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1098.9119209804364 522.3110310592585) rotate(0 135.31147534784162 35.430081767388856)"><path d="M17.72 0 C88.27 -0.81, 158.85 -1.29, 252.91 0 M17.72 0 C80.34 -0.34, 141.93 1.19, 252.91 0 M252.91 0 C264.93 -0.31, 270.58 6.12, 270.62 17.72 M252.91 0 C266.15 -1.45, 270.08 3.8, 270.62 17.72 M270.62 17.72 C272.6 27.07, 270.58 36.59, 270.62 53.15 M270.62 17.72 C271.29 25.14, 269.83 33.02, 270.62 53.15 M270.62 53.15 C270.31 65.83, 262.92 72.46, 252.91 70.86 M270.62 53.15 C269.27 66, 264.47 70.9, 252.91 70.86 M252.91 70.86 C191.94 68.49, 130.6 69.33, 17.72 70.86 M252.91 70.86 C189.34 69.99, 124.97 69.87, 17.72 70.86 M17.72 70.86 C5.08 71.44, 1.67 63.08, 0 53.15 M17.72 70.86 C7.66 69.95, -2.12 64.87, 0 53.15 M0 53.15 C-1.87 40.6, -1.39 32.44, 0 17.72 M0 53.15 C-0.17 41.08, 0.77 28.42, 0 17.72 M0 17.72 C1.31 4.06, 4.39 -1.99, 17.72 0 M0 17.72 C-0.29 4.64, 3.78 -1.89, 17.72 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1120.743484524079 545.2411128266478) rotate(0 113.47991180419922 12.5)"><text x="113.47991180419922" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inner loop from 0 to 5</text></g><g stroke-linecap="round" transform="translate(1100.9654148086922 621.5480466938486) rotate(0 109.52714836197231 33.28155984372802)"><path d="M16.64 0 C64.46 1.6, 110.05 -0.93, 202.41 0 M16.64 0 C73.15 0.45, 129.93 -1.16, 202.41 0 M202.41 0 C214.38 -1.32, 217.77 7.49, 219.05 16.64 M202.41 0 C215.78 -1.76, 216.78 5.33, 219.05 16.64 M219.05 16.64 C217.24 29.43, 220.66 39.83, 219.05 49.92 M219.05 16.64 C219.08 26.15, 218.66 36.62, 219.05 49.92 M219.05 49.92 C219.77 61.3, 212.72 66.26, 202.41 66.56 M219.05 49.92 C218.03 62.91, 214.59 68.82, 202.41 66.56 M202.41 66.56 C144.85 64.51, 88.28 68.01, 16.64 66.56 M202.41 66.56 C137.42 65.53, 70.94 65.32, 16.64 66.56 M16.64 66.56 C5.33 65.86, 1.76 59.33, 0 49.92 M16.64 66.56 C3.76 66.93, -2.23 60.82, 0 49.92 M0 49.92 C-0.3 38.6, -0.5 24.35, 0 16.64 M0 49.92 C0.83 37.27, -0.97 24.46, 0 16.64 M0 16.64 C-0.61 3.98, 6.44 -0.51, 16.64 0 M0 16.64 C2.17 5.49, 4.21 1.72, 16.64 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1117.3326358025004 629.8296065375764) rotate(0 93.15992736816406 25)"><text x="93.15992736816406" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Wire the leaf into </text><text x="93.15992736816406" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the hasher</text></g><g stroke-linecap="round"><g transform="translate(1019.2439227916593 514.520067325361) rotate(0 27.421001227428405 0.910180757285616)"><path d="M0.75 -0.6 C9.81 -0.3, 45.68 1.67, 54.7 2.07 M-0.32 1.7 C8.55 1.59, 44.6 -0.16, 53.67 0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1019.2439227916593 514.520067325361) rotate(0 27.421001227428405 0.910180757285616)"><path d="M30.32 9 C36.9 5.71, 45.91 3.09, 53.67 0.08 M30.32 9 C36.53 7.33, 44.59 4.69, 53.67 0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1019.2439227916593 514.520067325361) rotate(0 27.421001227428405 0.910180757285616)"><path d="M30.05 -8.09 C36.76 -5.82, 45.86 -2.88, 53.67 0.08 M30.05 -8.09 C36.48 -4.66, 44.62 -2.2, 53.67 0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(772.7376663111265 589.3223434154213) rotate(0 102.19823255897688 67.5)"><path d="M32 0 C69.57 -0.94, 104.23 -0.43, 172.4 0 M32 0 C78.24 -0.96, 124.89 -0.17, 172.4 0 M172.4 0 C192.01 -0.97, 205.98 9.36, 204.4 32 M172.4 0 C195.27 -1.23, 206.45 11.32, 204.4 32 M204.4 32 C202.28 58.57, 202.77 87.63, 204.4 103 M204.4 32 C204.37 57.52, 204.93 84.91, 204.4 103 M204.4 103 C202.87 125.38, 194.99 133.97, 172.4 135 M204.4 103 C206.02 122.75, 192.16 136.66, 172.4 135 M172.4 135 C124.25 134.13, 79.67 136.6, 32 135 M172.4 135 C127.51 134.38, 82.06 134.31, 32 135 M32 135 C10.04 135.34, -1.44 124.76, 0 103 M32 135 C10.98 134.05, 0.13 125.74, 0 103 M0 103 C0.6 77.24, -0.03 53.13, 0 32 M0 103 C-0.76 84.56, -0.27 64.77, 0 32 M0 32 C0.29 9.93, 12.13 -1.92, 32 0 M0 32 C1.56 8.92, 12.87 1, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(789.1259776054551 594.3223434154213) rotate(0 85.80992126464844 62.5)"><text x="85.80992126464844" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5. Wire the </text><text x="85.80992126464844" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">outputs of the </text><text x="85.80992126464844" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">leaf hashers to </text><text x="85.80992126464844" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the intermediate </text><text x="85.80992126464844" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hasher inputs</text></g><g stroke-linecap="round" transform="translate(1092.9793878789303 421.06431424229345) rotate(0 162.00804699294042 42.55980890920955)"><path d="M21.28 0 C123.54 0.45, 227.06 0.15, 302.74 0 M21.28 0 C79.98 -1.78, 137.18 -1.63, 302.74 0 M302.74 0 C317.18 -0.4, 323.97 7.74, 324.02 21.28 M302.74 0 C318.29 1.12, 326.03 6.1, 324.02 21.28 M324.02 21.28 C324.52 33.07, 325.7 49.77, 324.02 63.84 M324.02 21.28 C323.2 36.12, 324.49 50.31, 324.02 63.84 M324.02 63.84 C324.04 77.68, 317.22 84.67, 302.74 85.12 M324.02 63.84 C322.53 76.44, 315.35 85.04, 302.74 85.12 M302.74 85.12 C192.83 84.39, 82.91 83.78, 21.28 85.12 M302.74 85.12 C228.2 83.57, 153.85 84.42, 21.28 85.12 M21.28 85.12 C8.88 83.31, 0.95 78.27, 0 63.84 M21.28 85.12 C5.33 84.87, -0.31 76.82, 0 63.84 M0 63.84 C1.41 49.68, 0.22 39.31, 0 21.28 M0 63.84 C-1.4 54.51, 0.46 46.56, 0 21.28 M0 21.28 C1.79 6.63, 7.04 0.61, 21.28 0 M0 21.28 C-1.04 4.9, 8.34 2.03, 21.28 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1100.8975606042925 438.624123151503) rotate(0 154.08987426757812 25)"><text x="154.08987426757812" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"> Loop from 0 to the number of</text><text x="154.08987426757812" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">leaves hashers components</text></g><g stroke-linecap="round" transform="translate(1137.6711605011903 829.4492975888436) rotate(0 135.31147534784162 35.430081767388856)"><path d="M17.72 0 C77.73 -2.37, 133.34 -2.27, 252.91 0 M17.72 0 C76.81 0.28, 137.52 1.12, 252.91 0 M252.91 0 C263.3 0.88, 270.62 6, 270.62 17.72 M252.91 0 C266.98 2.24, 271.36 4.06, 270.62 17.72 M270.62 17.72 C272.15 30.01, 269.22 43.85, 270.62 53.15 M270.62 17.72 C271.59 26.86, 270.8 35.78, 270.62 53.15 M270.62 53.15 C272.24 63.1, 265.81 70.04, 252.91 70.86 M270.62 53.15 C269.67 63.28, 263.69 69.95, 252.91 70.86 M252.91 70.86 C194.38 70.93, 138.09 71.88, 17.72 70.86 M252.91 70.86 C196.04 73.24, 140.12 72.34, 17.72 70.86 M17.72 70.86 C4.31 70.8, 0.74 66.33, 0 53.15 M17.72 70.86 C5.74 69.42, -1.72 65.64, 0 53.15 M0 53.15 C1.44 40.58, -1.19 25.2, 0 17.72 M0 53.15 C0.04 40.88, -0.13 27.56, 0 17.72 M0 17.72 C0.04 4.92, 7.23 -0.52, 17.72 0 M0 17.72 C0.54 7.75, 3.85 0.06, 17.72 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1159.5027240448328 852.3793793562324) rotate(0 113.47991180419922 12.5)"><text x="113.47991180419922" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inner loop from 0 to 5</text></g><g stroke-linecap="round" transform="translate(1168.07811869301 923.2791121358202) rotate(0 109.52714836197231 33.28155984372802)"><path d="M16.64 0 C64 0.53, 112.11 -0.7, 202.41 0 M16.64 0 C53.75 0.38, 92.27 -0.02, 202.41 0 M202.41 0 C215.47 1.95, 219.69 3.94, 219.05 16.64 M202.41 0 C215.45 -2.11, 219.29 7.68, 219.05 16.64 M219.05 16.64 C217.71 24.35, 218.93 34.18, 219.05 49.92 M219.05 16.64 C219.93 27.64, 219.66 40.08, 219.05 49.92 M219.05 49.92 C218.23 59.56, 212.62 65.77, 202.41 66.56 M219.05 49.92 C217.85 61.7, 215.25 66.18, 202.41 66.56 M202.41 66.56 C161.23 67.64, 124.43 64.04, 16.64 66.56 M202.41 66.56 C135.23 65.61, 70 66.33, 16.64 66.56 M16.64 66.56 C5.4 65.31, -1.49 61.61, 0 49.92 M16.64 66.56 C7.38 68.43, 0.07 63, 0 49.92 M0 49.92 C1.42 37.51, -1.68 26.75, 0 16.64 M0 49.92 C0.12 37.43, 0.76 25.65, 0 16.64 M0 16.64 C0.47 7.15, 3.76 0.06, 16.64 0 M0 16.64 C-1.49 4.81, 4.96 -1.24, 16.64 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1182.0953412126971 931.560671979548) rotate(0 95.50992584228516 25)"><text x="95.50992584228516" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Wire the hash into </text><text x="95.50992584228516" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the hasher</text></g><g stroke-linecap="round" transform="translate(1102.2050694962134 729.5387713408725) rotate(0 162.00804699294042 42.55980890920955)"><path d="M21.28 0 C102.79 2.31, 187.3 0.36, 302.74 0 M21.28 0 C118.89 0.64, 215.24 -0.72, 302.74 0 M302.74 0 C318.61 -1.83, 324.22 8.94, 324.02 21.28 M302.74 0 C315.41 -1.24, 322.76 5.75, 324.02 21.28 M324.02 21.28 C325.2 34.25, 325.91 48.08, 324.02 63.84 M324.02 21.28 C323.84 29.38, 323.8 38.54, 324.02 63.84 M324.02 63.84 C322.97 78.62, 318.44 84.79, 302.74 85.12 M324.02 63.84 C322.06 80.32, 316.27 83.7, 302.74 85.12 M302.74 85.12 C196.64 81.65, 88.04 81.75, 21.28 85.12 M302.74 85.12 C219.04 86.12, 134.88 86.83, 21.28 85.12 M21.28 85.12 C8.68 86.74, 0.06 79.75, 0 63.84 M21.28 85.12 C8.11 84.08, -1.2 79.48, 0 63.84 M0 63.84 C1.6 52.51, 0.71 42.42, 0 21.28 M0 63.84 C-0.05 53.96, -1.18 42.51, 0 21.28 M0 21.28 C-1.3 6.45, 6.58 -1.08, 21.28 0 M0 21.28 C-0.66 7.26, 7.81 -0.66, 21.28 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1112.5732391698177 747.098580250082) rotate(0 151.63987731933594 25)"><text x="151.63987731933594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Loop from numLeafHashers to </text><text x="151.63987731933594" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the total number of hashers</text></g><g stroke-linecap="round"><g transform="translate(1027.111517002028 723.994892170296) rotate(0 30.08577071968341 13.61195998737071)"><path d="M0.64 -0.74 C10.58 4.14, 50.26 23.54, 60.33 28.3 M-0.48 1.49 C9.25 6.14, 49.25 22.7, 59.47 26.74" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1027.111517002028 723.994892170296) rotate(0 30.08577071968341 13.61195998737071)"><path d="M34.48 25.8 C42.21 26.27, 54.18 27.87, 59.47 26.74 M34.48 25.8 C43.37 26.53, 50.79 26.1, 59.47 26.74" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1027.111517002028 723.994892170296) rotate(0 30.08577071968341 13.61195998737071)"><path d="M40.93 9.96 C46.21 16.14, 55.88 23.42, 59.47 26.74 M40.93 9.96 C47.43 16.16, 52.61 21.22, 59.47 26.74" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(774.0291121717642 747.7827496182133) rotate(0 102.19823255897688 67.5)"><path d="M32 0 C82.48 1.55, 132.26 -1.43, 172.4 0 M32 0 C87.97 -0.83, 141.23 -1.37, 172.4 0 M172.4 0 C194.13 -0.8, 203.12 10.16, 204.4 32 M172.4 0 C193.39 -2.1, 205.17 8.72, 204.4 32 M204.4 32 C205.12 54.02, 206.1 71.95, 204.4 103 M204.4 32 C205.37 59.61, 204.11 87.79, 204.4 103 M204.4 103 C205.62 124.82, 194.9 136.33, 172.4 135 M204.4 103 C203.11 126.58, 195.18 137.22, 172.4 135 M172.4 135 C119.92 137.27, 67.78 134.48, 32 135 M172.4 135 C122.22 135.4, 73.88 134.73, 32 135 M32 135 C11.73 136.48, 0.44 123.02, 0 103 M32 135 C11.03 134.41, 1.81 122.64, 0 103 M0 103 C-2.14 86.9, -0.64 69.49, 0 32 M0 103 C-0.46 77.43, 0.14 50.51, 0 32 M0 32 C-1.34 10.69, 11.75 -1.05, 32 0 M0 32 C1.3 12.85, 10.85 -0.98, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(783.9274256023227 777.7827496182133) rotate(0 92.29991912841797 37.5)"><text x="92.29991912841797" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">6. The root is the</text><text x="92.29991912841797" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">last hasher </text><text x="92.29991912841797" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">component hash</text></g><g stroke-linecap="round" transform="translate(191.10963872436196 584.824635600475) rotate(0 229.17028524127693 110.43800192740105)"><path d="M32 0 C130.28 2.33, 229.69 2.1, 426.34 0 M32 0 C171.39 1.85, 311.36 1.77, 426.34 0 M426.34 0 C448.46 -0.05, 459.66 10.72, 458.34 32 M426.34 0 C446.95 -0.97, 460.31 8.72, 458.34 32 M458.34 32 C457.18 84.01, 459.27 136.29, 458.34 188.88 M458.34 32 C458.89 85.52, 459.83 138.86, 458.34 188.88 M458.34 188.88 C458.81 211.2, 447.89 222.71, 426.34 220.88 M458.34 188.88 C460.45 209.03, 449.81 221.79, 426.34 220.88 M426.34 220.88 C274.03 220.95, 122.53 220.85, 32 220.88 M426.34 220.88 C310.96 220.25, 196.69 219.35, 32 220.88 M32 220.88 C10.69 219.9, -1.2 210.34, 0 188.88 M32 220.88 C10.04 218.81, -1.43 211.94, 0 188.88 M0 188.88 C0.26 143.14, -0.97 101.14, 0 32 M0 188.88 C0.89 136.87, 0.5 84.7, 0 32 M0 32 C1.61 9.03, 10.37 1.13, 32 0 M0 32 C0.2 11.92, 11.18 1.06, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(203.00012355059982 645.2626375278762) rotate(0 217.27980041503906 50)"><text x="217.27980041503906" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">The intermediate hashers are the hashers </text><text x="217.27980041503906" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">at the higher levels of the Quinary Tree </text><text x="217.27980041503906" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">each of which will hash the outputs of the </text><text x="217.27980041503906" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hashers at the level below it</text></g><g stroke-linecap="round"><g transform="translate(729.4637858267306 663.3817126416836) rotate(0 -27.787600165383637 -1.921574042713246)"><path d="M-1.05 0.55 C-10.09 -0.22, -45.41 -3.21, -54.45 -4.11 M0.61 -0.2 C-8.49 -0.84, -45.39 -2.07, -54.8 -2.71" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(729.4637858267306 663.3817126416836) rotate(0 -27.787600165383637 -1.921574042713246)"><path d="M-30.92 -10.1 C-36.81 -6.31, -45.03 -5.52, -54.8 -2.71 M-30.92 -10.1 C-36.88 -7.75, -41.79 -7.52, -54.8 -2.71" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(729.4637858267306 663.3817126416836) rotate(0 -27.787600165383637 -1.921574042713246)"><path d="M-31.75 6.98 C-37.48 5.88, -45.46 1.77, -54.8 -2.71 M-31.75 6.98 C-37.61 5.6, -42.34 2.11, -54.8 -2.71" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask></svg>
21
+ <rect x="0" y="0" width="1436.2211634820942" height="999.8422318232763" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(319.1642555971598 250.24969994289063) rotate(0 114.33810379333897 33.80052213620297)"><path d="M16.9 0 C80.41 0.5, 142.77 2.76, 211.78 0 M16.9 0 C57.25 0.79, 95.75 2.22, 211.78 0 M211.78 0 C223.26 0.53, 227.55 5.44, 228.68 16.9 M211.78 0 C221.94 0.98, 226.6 4.85, 228.68 16.9 M228.68 16.9 C228.98 27.68, 230.66 42.94, 228.68 50.7 M228.68 16.9 C228.45 26.7, 228.22 37.39, 228.68 50.7 M228.68 50.7 C226.95 61.3, 222.77 67.32, 211.78 67.6 M228.68 50.7 C230.05 62.12, 224.44 69.02, 211.78 67.6 M211.78 67.6 C162.86 68.81, 111.5 69.99, 16.9 67.6 M211.78 67.6 C152.38 67.27, 91.5 67.89, 16.9 67.6 M16.9 67.6 C5.89 69.44, 0.12 62.08, 0 50.7 M16.9 67.6 C6.32 68.27, 2.03 61.37, 0 50.7 M0 50.7 C1.09 42.55, -0.53 31.01, 0 16.9 M0 50.7 C0.17 42.19, -0.36 31.32, 0 16.9 M0 16.9 C-1.82 4.51, 6.99 1.84, 16.9 0 M0 16.9 C-1.53 4.83, 3.51 -0.47, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(363.6624240877645 271.5502220790934) rotate(0 69.83993530273438 12.5)"><text x="69.83993530273438" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">QuinaryCheckRoot</text></g><g stroke-linecap="round" transform="translate(317.45534478756235 109.16043579708457) rotate(0 110.05757116156975 32.17741655087593)"><path d="M16.09 0 C61.49 -0.8, 109.04 0.21, 204.03 0 M16.09 0 C56.1 -0.77, 95.33 -1.13, 204.03 0 M204.03 0 C213.8 0.85, 218.31 4.68, 220.12 16.09 M204.03 0 C216.25 1.86, 221.02 5.4, 220.12 16.09 M220.12 16.09 C220.2 23.09, 218.87 29.93, 220.12 48.27 M220.12 16.09 C219.11 25.36, 219.84 35.17, 220.12 48.27 M220.12 48.27 C221.31 59.13, 215.97 65.59, 204.03 64.35 M220.12 48.27 C219.16 56.84, 216.11 66.06, 204.03 64.35 M204.03 64.35 C147.26 64.25, 90.18 66.55, 16.09 64.35 M204.03 64.35 C153.48 65.87, 102.75 65.01, 16.09 64.35 M16.09 64.35 C5.96 64.93, 1.76 58.47, 0 48.27 M16.09 64.35 C5.16 65.71, -1.11 60.47, 0 48.27 M0 48.27 C-0.39 33.9, 0.61 23.19, 0 16.09 M0 48.27 C-0.69 35.21, 0.9 24.2, 0 16.09 M0 16.09 C-1.33 4.66, 3.52 -0.41, 16.09 0 M0 16.09 C1.49 4.14, 6.44 -1.81, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(322.6629937689563 116.3378523479605) rotate(0 104.84992218017578 25)"><text x="104.84992218017578" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">leaves (array of len </text><text x="104.84992218017578" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5 ** levels)</text></g><g stroke-linecap="round"><g transform="translate(420.7474453768373 200.58009374733615) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M0.39 -0.48 C0.18 6.24, -0.92 33.17, -1.12 39.87 M-0.07 0.46 C-0.38 7.06, -1.49 32.4, -1.67 39.06" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.7474453768373 200.58009374733615) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M-7.76 20.23 C-6.75 25.83, -3.39 32.39, -1.67 39.06 M-7.76 20.23 C-6.06 26.59, -4.28 32.35, -1.67 39.06" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.7474453768373 200.58009374733615) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M5.77 20.72 C2.44 26.21, 1.46 32.61, -1.67 39.06 M5.77 20.72 C3.05 26.91, 0.41 32.52, -1.67 39.06" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(10 253.33636999422674) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C86.91 1.01, 156.06 -0.33, 204.03 0 M16.09 0 C69.71 -1.14, 125.8 0.01, 204.03 0 M204.03 0 C215.54 0.03, 218.55 7.08, 220.12 16.09 M204.03 0 C216.29 -0.22, 219.97 3.61, 220.12 16.09 M220.12 16.09 C221.83 23.34, 219.44 33.78, 220.12 48.27 M220.12 16.09 C220.92 25.91, 219.89 33.56, 220.12 48.27 M220.12 48.27 C221.3 60.47, 214.81 64.88, 204.03 64.35 M220.12 48.27 C221.54 59.16, 213.29 64.33, 204.03 64.35 M204.03 64.35 C138.56 63.76, 73.66 63.63, 16.09 64.35 M204.03 64.35 C147.51 64.64, 89.13 65.49, 16.09 64.35 M16.09 64.35 C4.4 65.64, 1.69 58.67, 0 48.27 M16.09 64.35 C5.34 63.84, -2.3 59.63, 0 48.27 M0 48.27 C-1.48 37.34, -1.41 31.41, 0 16.09 M0 48.27 C-0.71 35.44, 0.86 22.49, 0 16.09 M0 16.09 C0.93 3.79, 6.61 -0.86, 16.09 0 M0 16.09 C-0.4 4.42, 3.94 0.85, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(35.987647760690834 273.0137865451027) rotate(0 84.0699234008789 12.5)"><text x="84.0699234008789" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">parameter: levels</text></g><g transform="translate(466.1491603400291 203.1269487461807) rotate(0 26.379974365234375 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Input</text></g><g transform="translate(477.43539645203145 351.6938564526765) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(416.454529333404 350.42350268258747) rotate(0 0.2229014099474398 20.51105751905652)"><path d="M-0.5 -0.19 C-0.32 6.68, 0.61 34.6, 0.81 41.47 M0.25 -0.76 C0.41 5.95, 0.53 33.67, 0.56 40.73" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(416.454529333404 350.42350268258747) rotate(0 0.2229014099474398 20.51105751905652)"><path d="M-6.54 21.49 C-5.05 27.03, -2.11 31.62, 0.56 40.73 M-6.54 21.49 C-4.14 27.21, -2.37 32.68, 0.56 40.73" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(416.454529333404 350.42350268258747) rotate(0 0.2229014099474398 20.51105751905652)"><path d="M7.49 21.42 C5.44 26.92, 4.84 31.53, 0.56 40.73 M7.49 21.42 C5.66 27.23, 3.2 32.72, 0.56 40.73" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(319.8948768853206 417.3216350494797) rotate(0 110.05757116156975 32.17741655087593)"><path d="M16.09 0 C57.15 -0.44, 95 -2.8, 204.03 0 M16.09 0 C88.51 -0.58, 160.86 0.17, 204.03 0 M204.03 0 C213.89 1.72, 218.39 4.69, 220.12 16.09 M204.03 0 C214.44 -0.32, 221.49 5.52, 220.12 16.09 M220.12 16.09 C218.45 28.88, 221.8 39.37, 220.12 48.27 M220.12 16.09 C219.68 26.57, 220.83 36.77, 220.12 48.27 M220.12 48.27 C219.22 59.63, 215 66.19, 204.03 64.35 M220.12 48.27 C220.26 59.12, 215.44 65.02, 204.03 64.35 M204.03 64.35 C132.24 63.22, 59.39 65.87, 16.09 64.35 M204.03 64.35 C149.71 64.22, 97.23 64.82, 16.09 64.35 M16.09 64.35 C3.96 63.16, -1.82 57.86, 0 48.27 M16.09 64.35 C6.92 66.48, -1.53 58.18, 0 48.27 M0 48.27 C-1 42.52, -1.51 36.15, 0 16.09 M0 48.27 C-0.56 40.37, 0.21 31.32, 0 16.09 M0 16.09 C1.08 3.4, 4.27 -1.82, 16.09 0 M0 16.09 C0.59 6.28, 4.81 0.54, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(408.9224721557771 436.99905160035564) rotate(0 21.02997589111328 12.5)"><text x="21.02997589111328" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">root</text></g><g stroke-linecap="round"><g transform="translate(245.4148474337021 287.0251667424425) rotate(0 25.113558854083067 -0.18811706408132522)"><path d="M-0.94 1.03 C7.48 0.94, 42.52 -0.11, 51.03 -0.49 M0.76 0.52 C9.06 0.63, 42.41 1.15, 50.51 0.98" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.4148474337021 287.0251667424425) rotate(0 25.113558854083067 -0.18811706408132522)"><path d="M27.01 9.52 C36.7 8.15, 42.76 3.79, 50.51 0.98 M27.01 9.52 C31.85 8.47, 36.68 5.37, 50.51 0.98" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.4148474337021 287.0251667424425) rotate(0 25.113558854083067 -0.18811706408132522)"><path d="M27.02 -7.58 C36.7 -3.15, 42.77 -1.71, 50.51 0.98 M27.02 -7.58 C31.82 -4.8, 36.65 -4.08, 50.51 0.98" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(758.9446096196552 86.71485718718168) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C63.88 -1.23, 99.12 -1.52, 192.62 0 M27.5 0 C75.95 -1.75, 126 -1.56, 192.62 0 M192.62 0 C212.14 0.14, 221.33 10.4, 220.12 27.5 M192.62 0 C210 -2.15, 221.47 10.87, 220.12 27.5 M220.12 27.5 C220.41 42.88, 220.23 61.85, 220.12 82.5 M220.12 27.5 C219.99 43.25, 219.93 57.21, 220.12 82.5 M220.12 82.5 C220.72 101.41, 212.71 109.48, 192.62 110 M220.12 82.5 C219.91 102.19, 209.84 111.48, 192.62 110 M192.62 110 C128.72 107.98, 66.26 109.64, 27.5 110 M192.62 110 C127.59 108.45, 65.06 109.93, 27.5 110 M27.5 110 C7.83 109.3, -1.85 100.43, 0 82.5 M27.5 110 C10.65 108.77, 1.07 99.02, 0 82.5 M0 82.5 C-0.59 61.33, 0.98 42.94, 0 27.5 M0 82.5 C-0.84 67.37, -0.04 54.46, 0 27.5 M0 27.5 C-0.48 9.63, 9.53 0.25, 27.5 0 M0 27.5 C0.26 10.02, 10.3 -1.03, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(764.1822497509515 91.71485718718168) rotate(0 104.81993103027344 50)"><text x="104.81993103027344" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. calculate how many</text><text x="104.81993103027344" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Poseidon hashers </text><text x="104.81993103027344" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">objects we need to </text><text x="104.81993103027344" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hash the leaves</text></g><g stroke-linecap="round" transform="translate(1120.4700575350334 94.26873830206864) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C71.28 -0.47, 128.23 -1.34, 204.03 0 M16.09 0 C66.75 0.33, 116.83 0.88, 204.03 0 M204.03 0 C213.92 -1.87, 221.3 6.84, 220.12 16.09 M204.03 0 C214.82 0.6, 221.54 5.53, 220.12 16.09 M220.12 16.09 C219.5 22.8, 220.75 31.56, 220.12 48.27 M220.12 16.09 C220.43 28.99, 221.02 41.05, 220.12 48.27 M220.12 48.27 C219.94 60.17, 213.79 65.64, 204.03 64.35 M220.12 48.27 C222.05 58.62, 214.73 63.84, 204.03 64.35 M204.03 64.35 C168.19 62.63, 127.63 62.21, 16.09 64.35 M204.03 64.35 C157.57 65.74, 111.52 65.88, 16.09 64.35 M16.09 64.35 C6.65 63.29, 0.93 57.41, 0 48.27 M16.09 64.35 C6.8 63.36, -0.4 58.05, 0 48.27 M0 48.27 C-0.95 41.69, -2.08 31.86, 0 16.09 M0 48.27 C-0.32 41.77, 0.1 34.93, 0 16.09 M0 16.09 C0.22 6.1, 6.35 -0.89, 16.09 0 M0 16.09 C-0.99 3.28, 7.39 1.76, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1152.8176906472868 113.94615485294457) rotate(0 77.7099380493164 12.5)"><text x="77.7099380493164" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5 ** (levels - 1)</text></g><g stroke-linecap="round" transform="translate(762.036334731705 207.68015012257115) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C69.22 1.16, 112.01 2.62, 192.62 0 M27.5 0 C77.74 -1.95, 129.41 -0.28, 192.62 0 M192.62 0 C211 0.52, 221.35 9.32, 220.12 27.5 M192.62 0 C209.49 -0.03, 221.31 8.47, 220.12 27.5 M220.12 27.5 C222.13 41.65, 220.4 56.16, 220.12 82.5 M220.12 27.5 C220.51 46.19, 220.12 64.33, 220.12 82.5 M220.12 82.5 C221.8 100.51, 210.93 109.56, 192.62 110 M220.12 82.5 C217.82 101.47, 210.55 112.03, 192.62 110 M192.62 110 C153.5 109.85, 118.49 107.16, 27.5 110 M192.62 110 C149.52 109.13, 105.61 108.88, 27.5 110 M27.5 110 C10.41 109.14, -0.35 100.01, 0 82.5 M27.5 110 C7.74 110.85, 0.35 99.88, 0 82.5 M0 82.5 C-1.28 63.53, 1.34 43.05, 0 27.5 M0 82.5 C0.01 65.09, 0.39 46.49, 0 27.5 M0 27.5 C-0.86 7.36, 10.93 1.53, 27.5 0 M0 27.5 C0.48 7.41, 8.14 -0.95, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(772.8839907321419 212.68015012257115) rotate(0 99.20991516113281 50)"><text x="99.20991516113281" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Calculate how </text><text x="99.20991516113281" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">many Poseidon </text><text x="99.20991516113281" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hashers objects we </text><text x="99.20991516113281" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">need in total</text></g><g stroke-linecap="round" transform="translate(765.9783874446657 341.6232584815682) rotate(0 98.33254421794342 50.71327566239893)"><path d="M25.36 0 C67.32 0.35, 110.24 -1.7, 171.31 0 M25.36 0 C55.54 -0.82, 86.29 -1.01, 171.31 0 M171.31 0 C186.94 -0.03, 197.7 7.84, 196.67 25.36 M171.31 0 C187.18 0.73, 196.96 10.57, 196.67 25.36 M196.67 25.36 C197.27 42.64, 196.17 56.22, 196.67 76.07 M196.67 25.36 C197.26 43.4, 196.41 61.55, 196.67 76.07 M196.67 76.07 C194.67 93.53, 187.87 103.19, 171.31 101.43 M196.67 76.07 C195.06 91.6, 186.12 100.13, 171.31 101.43 M171.31 101.43 C116.95 98.61, 63.59 101.75, 25.36 101.43 M171.31 101.43 C135.94 99.84, 99.14 99.86, 25.36 101.43 M25.36 101.43 C7.21 102.17, 0.3 92.14, 0 76.07 M25.36 101.43 C9.7 99.17, -1.26 90.88, 0 76.07 M0 76.07 C0.26 59.92, 0.05 43.27, 0 25.36 M0 76.07 C-0.68 58.08, 0.63 42.67, 0 25.36 M0 25.36 C0.41 6.93, 7.56 -0.82, 25.36 0 M0 25.36 C0.26 8.13, 8.99 1.31, 25.36 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(780.8709978857537 367.33653414396736) rotate(0 83.43993377685547 25)"><text x="83.43993377685547" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Initialize the </text><text x="83.43993377685547" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hashers</text></g><g transform="translate(604.2456596927095 228.64956929036475) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(587.0690474326502 289.28389042735694) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M0.71 0.89 C18.81 0.85, 90.11 -0.97, 108.13 -1.38 M-0.38 0.31 C17.61 -0.01, 89.06 -3.25, 107.2 -3.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(587.0690474326502 289.28389042735694) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M83.96 5.85 C91.53 3.39, 96.59 2.2, 107.2 -3.34 M83.96 5.85 C91.68 2.73, 97.86 0.52, 107.2 -3.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(587.0690474326502 289.28389042735694) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M83.48 -11.24 C91.03 -9.28, 96.2 -6.06, 107.2 -3.34 M83.48 -11.24 C91.24 -9.11, 97.57 -6.06, 107.2 -3.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(768.7460799515125 461.1005223625291) rotate(0 102.19823255897688 42.5)"><path d="M21.25 0 C79.9 1.19, 137.66 -1.32, 183.15 0 M21.25 0 C69.17 0.81, 118.11 1.41, 183.15 0 M183.15 0 C197.44 0.11, 205 7.66, 204.4 21.25 M183.15 0 C199.34 -0.6, 204.19 8.44, 204.4 21.25 M204.4 21.25 C204.34 31.93, 204.23 40.66, 204.4 63.75 M204.4 21.25 C203.62 34.58, 203.41 48.55, 204.4 63.75 M204.4 63.75 C205.75 79.76, 195.98 84.3, 183.15 85 M204.4 63.75 C202.27 77.45, 198.8 83.77, 183.15 85 M183.15 85 C126.15 85.66, 70.07 84.77, 21.25 85 M183.15 85 C129.14 83.35, 73.5 83.42, 21.25 85 M21.25 85 C7.6 85.8, -0.48 78.38, 0 63.75 M21.25 85 C7.5 85.29, 0.26 78.77, 0 63.75 M0 63.75 C-1.62 50.67, 1.72 34.48, 0 21.25 M0 63.75 C0.3 54.1, 0.42 45.31, 0 21.25 M0 21.25 C0.78 5.6, 5.4 0.01, 21.25 0 M0 21.25 C0.38 7, 7.27 2.1, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(775.4243845319738 466.1005223625291) rotate(0 95.51992797851562 37.5)"><text x="95.51992797851562" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">4. Wire the leaves </text><text x="95.51992797851562" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">values into the </text><text x="95.51992797851562" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">leaf hashers</text></g><g stroke-linecap="round"><g transform="translate(1011.8221314011867 131.45457777799106) rotate(0 46.90836338228155 -1.0051202467076337)"><path d="M-0.35 0.82 C15.17 0.38, 77.42 -1.6, 93.12 -2.08 M1.66 0.21 C17.58 -0.08, 80.22 -0.42, 95.47 -0.58" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1011.8221314011867 131.45457777799106) rotate(0 46.90836338228155 -1.0051202467076337)"><path d="M72.04 8.15 C80.37 4.45, 85.88 3.1, 95.47 -0.58 M72.04 8.15 C79.28 4.92, 84.97 3.94, 95.47 -0.58" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1011.8221314011867 131.45457777799106) rotate(0 46.90836338228155 -1.0051202467076337)"><path d="M71.91 -8.95 C80.36 -7.54, 85.91 -3.78, 95.47 -0.58 M71.91 -8.95 C79.34 -7.09, 85.07 -2.98, 95.47 -0.58" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(329.0591834206367 10) rotate(0 99.9638442993164 20.43776687646323)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="32.70042700234123px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Quinary tree</text></g><g stroke-linecap="round" transform="translate(1126.49221888676 223.22247058183643) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C82.17 -2.68, 146.21 -0.9, 198.87 0 M21.25 0 C68.27 1.75, 116.02 2.36, 198.87 0 M198.87 0 C211.14 1.52, 219.49 8.04, 220.12 21.25 M198.87 0 C213.37 0.44, 218.73 8.69, 220.12 21.25 M220.12 21.25 C220.62 36.63, 220.26 54.44, 220.12 63.75 M220.12 21.25 C220.72 36.11, 220.38 50.22, 220.12 63.75 M220.12 63.75 C221.67 78.25, 213.3 86.57, 198.87 85 M220.12 63.75 C221.11 78.81, 211.78 86.18, 198.87 85 M198.87 85 C159.93 83.59, 120.98 84.2, 21.25 85 M198.87 85 C129.23 85.91, 58.43 86, 21.25 85 M21.25 85 C7.21 85.06, 1.89 76.94, 0 63.75 M21.25 85 C4.85 85.79, 0.33 75.74, 0 63.75 M0 63.75 C0.49 55.83, 1.54 47.57, 0 21.25 M0 63.75 C-1.33 54.53, 0.36 44.72, 0 21.25 M0 21.25 C0.08 6.08, 6.93 -1.4, 21.25 0 M0 21.25 C1.9 7.72, 9.01 -1.75, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1131.949883126943 228.22247058183643) rotate(0 104.59990692138672 37.5)"><text x="104.59990692138672" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">loop from 0 to levels</text><text x="104.59990692138672" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">and sum 5 ** the </text><text x="104.59990692138672" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">loop index</text></g><g stroke-linecap="round"><g transform="translate(1017.8442927529136 260.4083100577593) rotate(0 46.90836338228155 -1.00512024670752)"><path d="M0.2 -0.4 C15.8 -0.98, 77.21 -2.85, 92.73 -3.09 M-1.16 -1.65 C14.88 -2.15, 79.3 -2.33, 94.88 -2.12" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1017.8442927529136 260.4083100577593) rotate(0 46.90836338228155 -1.00512024670752)"><path d="M71.36 6.35 C76.02 2.57, 80.23 1.63, 94.88 -2.12 M71.36 6.35 C77.82 4.26, 85.86 1.32, 94.88 -2.12" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1017.8442927529136 260.4083100577593) rotate(0 46.90836338228155 -1.00512024670752)"><path d="M71.41 -10.75 C76.12 -10.63, 80.32 -7.68, 94.88 -2.12 M71.41 -10.75 C77.85 -7.45, 85.87 -5.02, 94.88 -2.12" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1098.9119209804364 522.3110310592585) rotate(0 135.31147534784162 35.430081767388856)"><path d="M17.72 0 C88.27 -0.81, 158.85 -1.29, 252.91 0 M17.72 0 C80.34 -0.34, 141.93 1.19, 252.91 0 M252.91 0 C264.93 -0.31, 270.58 6.12, 270.62 17.72 M252.91 0 C266.15 -1.45, 270.08 3.8, 270.62 17.72 M270.62 17.72 C272.6 27.07, 270.58 36.59, 270.62 53.15 M270.62 17.72 C271.29 25.14, 269.83 33.02, 270.62 53.15 M270.62 53.15 C270.31 65.83, 262.92 72.46, 252.91 70.86 M270.62 53.15 C269.27 66, 264.47 70.9, 252.91 70.86 M252.91 70.86 C191.94 68.49, 130.6 69.33, 17.72 70.86 M252.91 70.86 C189.34 69.99, 124.97 69.87, 17.72 70.86 M17.72 70.86 C5.08 71.44, 1.67 63.08, 0 53.15 M17.72 70.86 C7.66 69.95, -2.12 64.87, 0 53.15 M0 53.15 C-1.87 40.6, -1.39 32.44, 0 17.72 M0 53.15 C-0.17 41.08, 0.77 28.42, 0 17.72 M0 17.72 C1.31 4.06, 4.39 -1.99, 17.72 0 M0 17.72 C-0.29 4.64, 3.78 -1.89, 17.72 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1120.743484524079 545.2411128266478) rotate(0 113.47991180419922 12.5)"><text x="113.47991180419922" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inner loop from 0 to 5</text></g><g stroke-linecap="round" transform="translate(1100.9654148086922 621.5480466938486) rotate(0 109.52714836197231 33.28155984372802)"><path d="M16.64 0 C64.46 1.6, 110.05 -0.93, 202.41 0 M16.64 0 C73.15 0.45, 129.93 -1.16, 202.41 0 M202.41 0 C214.38 -1.32, 217.77 7.49, 219.05 16.64 M202.41 0 C215.78 -1.76, 216.78 5.33, 219.05 16.64 M219.05 16.64 C217.24 29.43, 220.66 39.83, 219.05 49.92 M219.05 16.64 C219.08 26.15, 218.66 36.62, 219.05 49.92 M219.05 49.92 C219.77 61.3, 212.72 66.26, 202.41 66.56 M219.05 49.92 C218.03 62.91, 214.59 68.82, 202.41 66.56 M202.41 66.56 C144.85 64.51, 88.28 68.01, 16.64 66.56 M202.41 66.56 C137.42 65.53, 70.94 65.32, 16.64 66.56 M16.64 66.56 C5.33 65.86, 1.76 59.33, 0 49.92 M16.64 66.56 C3.76 66.93, -2.23 60.82, 0 49.92 M0 49.92 C-0.3 38.6, -0.5 24.35, 0 16.64 M0 49.92 C0.83 37.27, -0.97 24.46, 0 16.64 M0 16.64 C-0.61 3.98, 6.44 -0.51, 16.64 0 M0 16.64 C2.17 5.49, 4.21 1.72, 16.64 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1117.3326358025004 629.8296065375764) rotate(0 93.15992736816406 25)"><text x="93.15992736816406" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Wire the leaf into </text><text x="93.15992736816406" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the hasher</text></g><g stroke-linecap="round"><g transform="translate(1019.2439227916593 514.520067325361) rotate(0 27.421001227428405 0.910180757285616)"><path d="M0.75 -0.6 C9.81 -0.3, 45.68 1.67, 54.7 2.07 M-0.32 1.7 C8.55 1.59, 44.6 -0.16, 53.67 0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1019.2439227916593 514.520067325361) rotate(0 27.421001227428405 0.910180757285616)"><path d="M30.32 9 C36.9 5.71, 45.91 3.09, 53.67 0.08 M30.32 9 C36.53 7.33, 44.59 4.69, 53.67 0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1019.2439227916593 514.520067325361) rotate(0 27.421001227428405 0.910180757285616)"><path d="M30.05 -8.09 C36.76 -5.82, 45.86 -2.88, 53.67 0.08 M30.05 -8.09 C36.48 -4.66, 44.62 -2.2, 53.67 0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(772.7376663111265 589.3223434154213) rotate(0 102.19823255897688 67.5)"><path d="M32 0 C69.57 -0.94, 104.23 -0.43, 172.4 0 M32 0 C78.24 -0.96, 124.89 -0.17, 172.4 0 M172.4 0 C192.01 -0.97, 205.98 9.36, 204.4 32 M172.4 0 C195.27 -1.23, 206.45 11.32, 204.4 32 M204.4 32 C202.28 58.57, 202.77 87.63, 204.4 103 M204.4 32 C204.37 57.52, 204.93 84.91, 204.4 103 M204.4 103 C202.87 125.38, 194.99 133.97, 172.4 135 M204.4 103 C206.02 122.75, 192.16 136.66, 172.4 135 M172.4 135 C124.25 134.13, 79.67 136.6, 32 135 M172.4 135 C127.51 134.38, 82.06 134.31, 32 135 M32 135 C10.04 135.34, -1.44 124.76, 0 103 M32 135 C10.98 134.05, 0.13 125.74, 0 103 M0 103 C0.6 77.24, -0.03 53.13, 0 32 M0 103 C-0.76 84.56, -0.27 64.77, 0 32 M0 32 C0.29 9.93, 12.13 -1.92, 32 0 M0 32 C1.56 8.92, 12.87 1, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(789.1259776054551 594.3223434154213) rotate(0 85.80992126464844 62.5)"><text x="85.80992126464844" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5. Wire the </text><text x="85.80992126464844" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">outputs of the </text><text x="85.80992126464844" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">leaf hashers to </text><text x="85.80992126464844" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the intermediate </text><text x="85.80992126464844" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hasher inputs</text></g><g stroke-linecap="round" transform="translate(1092.9793878789303 421.06431424229345) rotate(0 162.00804699294042 42.55980890920955)"><path d="M21.28 0 C123.54 0.45, 227.06 0.15, 302.74 0 M21.28 0 C79.98 -1.78, 137.18 -1.63, 302.74 0 M302.74 0 C317.18 -0.4, 323.97 7.74, 324.02 21.28 M302.74 0 C318.29 1.12, 326.03 6.1, 324.02 21.28 M324.02 21.28 C324.52 33.07, 325.7 49.77, 324.02 63.84 M324.02 21.28 C323.2 36.12, 324.49 50.31, 324.02 63.84 M324.02 63.84 C324.04 77.68, 317.22 84.67, 302.74 85.12 M324.02 63.84 C322.53 76.44, 315.35 85.04, 302.74 85.12 M302.74 85.12 C192.83 84.39, 82.91 83.78, 21.28 85.12 M302.74 85.12 C228.2 83.57, 153.85 84.42, 21.28 85.12 M21.28 85.12 C8.88 83.31, 0.95 78.27, 0 63.84 M21.28 85.12 C5.33 84.87, -0.31 76.82, 0 63.84 M0 63.84 C1.41 49.68, 0.22 39.31, 0 21.28 M0 63.84 C-1.4 54.51, 0.46 46.56, 0 21.28 M0 21.28 C1.79 6.63, 7.04 0.61, 21.28 0 M0 21.28 C-1.04 4.9, 8.34 2.03, 21.28 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1100.8975606042925 438.624123151503) rotate(0 154.08987426757812 25)"><text x="154.08987426757812" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"> Loop from 0 to the number of</text><text x="154.08987426757812" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">leaves hashers components</text></g><g stroke-linecap="round" transform="translate(1137.6711605011903 829.4492975888436) rotate(0 135.31147534784162 35.430081767388856)"><path d="M17.72 0 C77.73 -2.37, 133.34 -2.27, 252.91 0 M17.72 0 C76.81 0.28, 137.52 1.12, 252.91 0 M252.91 0 C263.3 0.88, 270.62 6, 270.62 17.72 M252.91 0 C266.98 2.24, 271.36 4.06, 270.62 17.72 M270.62 17.72 C272.15 30.01, 269.22 43.85, 270.62 53.15 M270.62 17.72 C271.59 26.86, 270.8 35.78, 270.62 53.15 M270.62 53.15 C272.24 63.1, 265.81 70.04, 252.91 70.86 M270.62 53.15 C269.67 63.28, 263.69 69.95, 252.91 70.86 M252.91 70.86 C194.38 70.93, 138.09 71.88, 17.72 70.86 M252.91 70.86 C196.04 73.24, 140.12 72.34, 17.72 70.86 M17.72 70.86 C4.31 70.8, 0.74 66.33, 0 53.15 M17.72 70.86 C5.74 69.42, -1.72 65.64, 0 53.15 M0 53.15 C1.44 40.58, -1.19 25.2, 0 17.72 M0 53.15 C0.04 40.88, -0.13 27.56, 0 17.72 M0 17.72 C0.04 4.92, 7.23 -0.52, 17.72 0 M0 17.72 C0.54 7.75, 3.85 0.06, 17.72 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1159.5027240448328 852.3793793562324) rotate(0 113.47991180419922 12.5)"><text x="113.47991180419922" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inner loop from 0 to 5</text></g><g stroke-linecap="round" transform="translate(1168.07811869301 923.2791121358202) rotate(0 109.52714836197231 33.28155984372802)"><path d="M16.64 0 C64 0.53, 112.11 -0.7, 202.41 0 M16.64 0 C53.75 0.38, 92.27 -0.02, 202.41 0 M202.41 0 C215.47 1.95, 219.69 3.94, 219.05 16.64 M202.41 0 C215.45 -2.11, 219.29 7.68, 219.05 16.64 M219.05 16.64 C217.71 24.35, 218.93 34.18, 219.05 49.92 M219.05 16.64 C219.93 27.64, 219.66 40.08, 219.05 49.92 M219.05 49.92 C218.23 59.56, 212.62 65.77, 202.41 66.56 M219.05 49.92 C217.85 61.7, 215.25 66.18, 202.41 66.56 M202.41 66.56 C161.23 67.64, 124.43 64.04, 16.64 66.56 M202.41 66.56 C135.23 65.61, 70 66.33, 16.64 66.56 M16.64 66.56 C5.4 65.31, -1.49 61.61, 0 49.92 M16.64 66.56 C7.38 68.43, 0.07 63, 0 49.92 M0 49.92 C1.42 37.51, -1.68 26.75, 0 16.64 M0 49.92 C0.12 37.43, 0.76 25.65, 0 16.64 M0 16.64 C0.47 7.15, 3.76 0.06, 16.64 0 M0 16.64 C-1.49 4.81, 4.96 -1.24, 16.64 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1182.0953412126971 931.560671979548) rotate(0 95.50992584228516 25)"><text x="95.50992584228516" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Wire the hash into </text><text x="95.50992584228516" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the hasher</text></g><g stroke-linecap="round" transform="translate(1102.2050694962134 729.5387713408725) rotate(0 162.00804699294042 42.55980890920955)"><path d="M21.28 0 C102.79 2.31, 187.3 0.36, 302.74 0 M21.28 0 C118.89 0.64, 215.24 -0.72, 302.74 0 M302.74 0 C318.61 -1.83, 324.22 8.94, 324.02 21.28 M302.74 0 C315.41 -1.24, 322.76 5.75, 324.02 21.28 M324.02 21.28 C325.2 34.25, 325.91 48.08, 324.02 63.84 M324.02 21.28 C323.84 29.38, 323.8 38.54, 324.02 63.84 M324.02 63.84 C322.97 78.62, 318.44 84.79, 302.74 85.12 M324.02 63.84 C322.06 80.32, 316.27 83.7, 302.74 85.12 M302.74 85.12 C196.64 81.65, 88.04 81.75, 21.28 85.12 M302.74 85.12 C219.04 86.12, 134.88 86.83, 21.28 85.12 M21.28 85.12 C8.68 86.74, 0.06 79.75, 0 63.84 M21.28 85.12 C8.11 84.08, -1.2 79.48, 0 63.84 M0 63.84 C1.6 52.51, 0.71 42.42, 0 21.28 M0 63.84 C-0.05 53.96, -1.18 42.51, 0 21.28 M0 21.28 C-1.3 6.45, 6.58 -1.08, 21.28 0 M0 21.28 C-0.66 7.26, 7.81 -0.66, 21.28 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1112.5732391698177 747.098580250082) rotate(0 151.63987731933594 25)"><text x="151.63987731933594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Loop from numLeafHashers to </text><text x="151.63987731933594" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the total number of hashers</text></g><g stroke-linecap="round"><g transform="translate(1027.111517002028 723.994892170296) rotate(0 30.08577071968341 13.61195998737071)"><path d="M0.64 -0.74 C10.58 4.14, 50.26 23.54, 60.33 28.3 M-0.48 1.49 C9.25 6.14, 49.25 22.7, 59.47 26.74" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1027.111517002028 723.994892170296) rotate(0 30.08577071968341 13.61195998737071)"><path d="M34.48 25.8 C42.21 26.27, 54.18 27.87, 59.47 26.74 M34.48 25.8 C43.37 26.53, 50.79 26.1, 59.47 26.74" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1027.111517002028 723.994892170296) rotate(0 30.08577071968341 13.61195998737071)"><path d="M40.93 9.96 C46.21 16.14, 55.88 23.42, 59.47 26.74 M40.93 9.96 C47.43 16.16, 52.61 21.22, 59.47 26.74" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(774.0291121717642 747.7827496182133) rotate(0 102.19823255897688 67.5)"><path d="M32 0 C82.48 1.55, 132.26 -1.43, 172.4 0 M32 0 C87.97 -0.83, 141.23 -1.37, 172.4 0 M172.4 0 C194.13 -0.8, 203.12 10.16, 204.4 32 M172.4 0 C193.39 -2.1, 205.17 8.72, 204.4 32 M204.4 32 C205.12 54.02, 206.1 71.95, 204.4 103 M204.4 32 C205.37 59.61, 204.11 87.79, 204.4 103 M204.4 103 C205.62 124.82, 194.9 136.33, 172.4 135 M204.4 103 C203.11 126.58, 195.18 137.22, 172.4 135 M172.4 135 C119.92 137.27, 67.78 134.48, 32 135 M172.4 135 C122.22 135.4, 73.88 134.73, 32 135 M32 135 C11.73 136.48, 0.44 123.02, 0 103 M32 135 C11.03 134.41, 1.81 122.64, 0 103 M0 103 C-2.14 86.9, -0.64 69.49, 0 32 M0 103 C-0.46 77.43, 0.14 50.51, 0 32 M0 32 C-1.34 10.69, 11.75 -1.05, 32 0 M0 32 C1.3 12.85, 10.85 -0.98, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(783.9274256023227 777.7827496182133) rotate(0 92.29991912841797 37.5)"><text x="92.29991912841797" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">6. The root is the</text><text x="92.29991912841797" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">last hasher </text><text x="92.29991912841797" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">component hash</text></g><g stroke-linecap="round" transform="translate(191.10963872436196 584.824635600475) rotate(0 229.17028524127693 110.43800192740105)"><path d="M32 0 C130.28 2.33, 229.69 2.1, 426.34 0 M32 0 C171.39 1.85, 311.36 1.77, 426.34 0 M426.34 0 C448.46 -0.05, 459.66 10.72, 458.34 32 M426.34 0 C446.95 -0.97, 460.31 8.72, 458.34 32 M458.34 32 C457.18 84.01, 459.27 136.29, 458.34 188.88 M458.34 32 C458.89 85.52, 459.83 138.86, 458.34 188.88 M458.34 188.88 C458.81 211.2, 447.89 222.71, 426.34 220.88 M458.34 188.88 C460.45 209.03, 449.81 221.79, 426.34 220.88 M426.34 220.88 C274.03 220.95, 122.53 220.85, 32 220.88 M426.34 220.88 C310.96 220.25, 196.69 219.35, 32 220.88 M32 220.88 C10.69 219.9, -1.2 210.34, 0 188.88 M32 220.88 C10.04 218.81, -1.43 211.94, 0 188.88 M0 188.88 C0.26 143.14, -0.97 101.14, 0 32 M0 188.88 C0.89 136.87, 0.5 84.7, 0 32 M0 32 C1.61 9.03, 10.37 1.13, 32 0 M0 32 C0.2 11.92, 11.18 1.06, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(203.00012355059982 645.2626375278762) rotate(0 217.27980041503906 50)"><text x="217.27980041503906" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">The intermediate hashers are the hashers </text><text x="217.27980041503906" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">at the higher levels of the Quinary Tree </text><text x="217.27980041503906" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">each of which will hash the outputs of the </text><text x="217.27980041503906" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hashers at the level below it</text></g><g stroke-linecap="round"><g transform="translate(729.4637858267306 663.3817126416836) rotate(0 -27.787600165383637 -1.921574042713246)"><path d="M-1.05 0.55 C-10.09 -0.22, -45.41 -3.21, -54.45 -4.11 M0.61 -0.2 C-8.49 -0.84, -45.39 -2.07, -54.8 -2.71" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(729.4637858267306 663.3817126416836) rotate(0 -27.787600165383637 -1.921574042713246)"><path d="M-30.92 -10.1 C-36.81 -6.31, -45.03 -5.52, -54.8 -2.71 M-30.92 -10.1 C-36.88 -7.75, -41.79 -7.52, -54.8 -2.71" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(729.4637858267306 663.3817126416836) rotate(0 -27.787600165383637 -1.921574042713246)"><path d="M-31.75 6.98 C-37.48 5.88, -45.46 1.77, -54.8 -2.71 M-31.75 6.98 C-37.61 5.6, -42.34 2.11, -54.8 -2.71" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask></svg>
@@ -18,4 +18,4 @@
18
18
  </style>
19
19
 
20
20
  </defs>
21
- <rect x="0" y="0" width="1851.1274286693515" height="1064.773807758092" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(318.45488347209357 148.53333269738232) rotate(0 131.7047520102601 33.80052213620297)"><path d="M16.9 0 C103.31 2.26, 185.9 2.82, 246.51 0 M16.9 0 C78.12 -1.6, 138.79 -0.44, 246.51 0 M246.51 0 C257.02 -1.54, 262.82 6.12, 263.41 16.9 M246.51 0 C258.76 2.09, 263.8 7.51, 263.41 16.9 M263.41 16.9 C263.51 25.38, 263.58 32.51, 263.41 50.7 M263.41 16.9 C264.46 28.15, 264.72 41.42, 263.41 50.7 M263.41 50.7 C264.15 62.79, 259.46 65.77, 246.51 67.6 M263.41 50.7 C263.19 61.17, 259.66 68.87, 246.51 67.6 M246.51 67.6 C161.51 64.63, 72.73 65.18, 16.9 67.6 M246.51 67.6 C158.5 67.18, 69.13 67.49, 16.9 67.6 M16.9 67.6 C4.66 67.87, 0.39 62.65, 0 50.7 M16.9 67.6 C6.69 66.58, -2 60.51, 0 50.7 M0 50.7 C-0.74 45.43, 0.81 36.92, 0 16.9 M0 50.7 C0.52 40.93, 0.02 31.29, 0 16.9 M0 16.9 C-0.56 6, 5 1.01, 16.9 0 M0 16.9 C1.92 3.9, 6.17 -1.23, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(327.18974107317354 169.83385483358552) rotate(0 122.96989440917969 12.5)"><text x="122.96989440917969" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">QuinGeneratePathIndices</text></g><g stroke-linecap="round"><g transform="translate(420.60434368431834 98.62956225189691) rotate(0 2.896194545956405 19.89958225780424)"><path d="M0.04 -0.33 C1 6.33, 4.58 33.6, 5.51 40.22 M-0.61 0.69 C0.56 7.17, 5.64 32.96, 6.59 39.47" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.60434368431834 98.62956225189691) rotate(0 2.896194545956405 19.89958225780424)"><path d="M-3.44 22.04 C-1.49 25.86, 2.37 30.34, 6.59 39.47 M-3.44 22.04 C-1.02 26.37, 1.09 30.2, 6.59 39.47" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.60434368431834 98.62956225189691) rotate(0 2.896194545956405 19.89958225780424)"><path d="M10.11 19.67 C8.69 24.08, 9.18 29.15, 6.59 39.47 M10.11 19.67 C9.51 24.54, 8.6 28.91, 6.59 39.47" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(10 154.29769668039535) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C75.3 0.22, 129.92 0.39, 204.03 0 M16.09 0 C77.18 -0.89, 137.11 -0.88, 204.03 0 M204.03 0 C214.34 -0.18, 221.19 5.25, 220.12 16.09 M204.03 0 C215.67 1.23, 222.39 4.96, 220.12 16.09 M220.12 16.09 C221.13 28.77, 220.71 41.67, 220.12 48.27 M220.12 16.09 C220.91 23.34, 220.86 29.91, 220.12 48.27 M220.12 48.27 C218.25 60.92, 213.4 63.77, 204.03 64.35 M220.12 48.27 C219.29 60.95, 216.63 64.53, 204.03 64.35 M204.03 64.35 C137.63 62.28, 72.7 63.64, 16.09 64.35 M204.03 64.35 C140.34 62.89, 77.42 64.03, 16.09 64.35 M16.09 64.35 C3.57 63.79, 1.53 59.98, 0 48.27 M16.09 64.35 C5.17 64.23, -1.81 58.07, 0 48.27 M0 48.27 C0.95 37.24, 0.3 26.7, 0 16.09 M0 48.27 C-0.04 36.45, -1.27 26.02, 0 16.09 M0 16.09 C1.01 5.06, 6.46 -0.25, 16.09 0 M0 16.09 C-1.07 7.02, 6.97 0.15, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(35.98764776069129 173.97511323127128) rotate(0 84.0699234008789 12.5)"><text x="84.0699234008789" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">parameter: levels</text></g><g transform="translate(466.0060586475129 101.17641725074145) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g stroke-linecap="round"><g transform="translate(248.99317077492378 190.21808733086846) rotate(0 23.123652268284786 -2.632667694413385)"><path d="M0.23 0.5 C7.98 -0.32, 38.75 -3.93, 46.34 -4.82 M-0.31 0.28 C7.39 -0.7, 38.09 -4.56, 45.96 -5.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(248.99317077492378 190.21808733086846) rotate(0 23.123652268284786 -2.632667694413385)"><path d="M25.25 5.07 C31.75 2.33, 37.26 -1.53, 45.96 -5.55 M25.25 5.07 C33.46 0.99, 41.31 -2.78, 45.96 -5.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(248.99317077492378 190.21808733086846) rotate(0 23.123652268284786 -2.632667694413385)"><path d="M23.27 -10.72 C30.32 -9.2, 36.36 -8.78, 45.96 -5.55 M23.27 -10.72 C32.21 -8.76, 40.83 -6.49, 45.96 -5.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(741.5355262249486 86.0528003415825) rotate(0 137.57057402750797 59.700137989597806)"><path d="M29.85 0 C105.09 -1.74, 178.92 -0.68, 245.29 0 M29.85 0 C92.89 0.57, 156.08 -0.05, 245.29 0 M245.29 0 C266.62 -1.4, 277.1 11.19, 275.14 29.85 M245.29 0 C266.04 0.94, 277.07 7.84, 275.14 29.85 M275.14 29.85 C276.04 48.75, 275.79 62.69, 275.14 89.55 M275.14 29.85 C274.38 54.37, 275.55 77.27, 275.14 89.55 M275.14 89.55 C276.14 108.12, 264.02 118.8, 245.29 119.4 M275.14 89.55 C274.03 109.76, 265.63 120.19, 245.29 119.4 M245.29 119.4 C169.67 116.03, 97.16 116.19, 29.85 119.4 M245.29 119.4 C186.66 120.28, 127.48 119.98, 29.85 119.4 M29.85 119.4 C10.46 119.78, -0.5 110.47, 0 89.55 M29.85 119.4 C9.31 119.82, -0.72 110.61, 0 89.55 M0 89.55 C-0.62 64.67, 1.06 44.8, 0 29.85 M0 89.55 C-0.79 73.27, 0.37 55.6, 0 29.85 M0 29.85 C0.5 9.43, 9.13 1.14, 29.85 0 M0 29.85 C-1.18 7.99, 10.56 1.58, 29.85 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(750.4561979087066 108.2529383311803) rotate(0 128.64990234375 37.5)"><text x="128.64990234375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Loop from 0 to levels </text><text x="128.64990234375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">to calculate the index at</text><text x="128.64990234375" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">each level of the tree</text></g><g transform="translate(604.1025580001924 126.69903779492552) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(587.1802965633333 187.3313363392108) rotate(0 53.92228869677592 -0.8472524026133215)"><path d="M0.64 -0.07 C18.74 -0.22, 90.26 -0.75, 108.33 -1.05 M-0.48 -1.15 C17.52 -1.64, 89.4 -2.91, 107.63 -2.84" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(587.1802965633333 187.3313363392108) rotate(0 53.92228869677592 -0.8472524026133215)"><path d="M84.21 5.91 C90.65 4.14, 98.38 2.87, 107.63 -2.84 M84.21 5.91 C91.74 4.23, 97.74 1.54, 107.63 -2.84" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(587.1802965633333 187.3313363392108) rotate(0 53.92228869677592 -0.8472524026133215)"><path d="M84.07 -11.19 C90.53 -8.18, 98.3 -4.67, 107.63 -2.84 M84.07 -11.19 C91.76 -8.05, 97.8 -5.9, 107.63 -2.84" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(324.24438275414013 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C83.64 1.23, 148.69 0.67, 204.03 0 M16.09 0 C59.7 -0.76, 103.42 -2.08, 204.03 0 M204.03 0 C214.56 -0.69, 221.76 6.47, 220.12 16.09 M204.03 0 C216.53 0.98, 217.98 7.58, 220.12 16.09 M220.12 16.09 C221.72 25.2, 220.17 32.04, 220.12 48.27 M220.12 16.09 C219.44 23.74, 220.12 31.46, 220.12 48.27 M220.12 48.27 C221.03 58.11, 213.01 63.08, 204.03 64.35 M220.12 48.27 C217.85 60.17, 212.7 63.71, 204.03 64.35 M204.03 64.35 C133.13 62.62, 61.64 64.7, 16.09 64.35 M204.03 64.35 C143.79 65.49, 83.79 65.81, 16.09 64.35 M16.09 64.35 C7.03 62.85, 0.46 57.92, 0 48.27 M16.09 64.35 C3.06 65.06, 1.16 58.64, 0 48.27 M0 48.27 C1.48 38.25, 0.17 25.95, 0 16.09 M0 48.27 C-0.38 38.6, 0.4 31.32, 0 16.09 M0 16.09 C-0.02 4.95, 6.7 -1.38, 16.09 0 M0 16.09 C0.95 3.31, 4.56 2.11, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(382.5420051852416 29.677416550875932) rotate(0 51.75994873046875 12.5)"><text x="51.75994873046875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">input index</text></g><g transform="translate(507.6467641010968 246.4537661800914) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(446.66589698247117 245.18341241000235) rotate(0 0.22290140994755347 20.51105751905652)"><path d="M-0.49 0.45 C-0.33 7.25, 0.34 33.91, 0.45 40.74 M0.26 0.2 C0.38 7.08, 0.11 34.56, 0.02 41.3" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(446.66589698247117 245.18341241000235) rotate(0 0.22290140994755347 20.51105751905652)"><path d="M-6.78 21.95 C-4.56 26.06, -4.44 29.65, 0.02 41.3 M-6.78 21.95 C-3.68 29.42, -1.36 36.54, 0.02 41.3" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(446.66589698247117 245.18341241000235) rotate(0 0.22290140994755347 20.51105751905652)"><path d="M7.25 22.1 C6.52 26.12, 3.68 29.68, 0.02 41.3 M7.25 22.1 C5.02 29.47, 2.01 36.53, 0.02 41.3" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(349.64494313223986 312.0815447768946) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C57.64 -0.97, 97.66 1.68, 198.87 0 M21.25 0 C63.16 -0.61, 104.46 0.08, 198.87 0 M198.87 0 C211.22 -0.71, 221.96 8.08, 220.12 21.25 M198.87 0 C212.21 1.45, 220.52 4.84, 220.12 21.25 M220.12 21.25 C220.89 35.29, 218.54 48.94, 220.12 63.75 M220.12 21.25 C219.26 32.62, 221.07 44.69, 220.12 63.75 M220.12 63.75 C218.98 77.12, 211.24 84.74, 198.87 85 M220.12 63.75 C218.51 76.29, 213.46 83.46, 198.87 85 M198.87 85 C127.22 84.2, 56.17 86.5, 21.25 85 M198.87 85 C137.09 85.08, 76.31 85.11, 21.25 85 M21.25 85 C7.53 84.07, 1.23 78.85, 0 63.75 M21.25 85 C7.84 83.11, -1.25 77.71, 0 63.75 M0 63.75 C-1.58 54.71, -0.19 43.15, 0 21.25 M0 63.75 C-0.35 49.22, -1.05 36.42, 0 21.25 M0 21.25 C1.29 6.11, 5.62 -0.6, 21.25 0 M0 21.25 C1.7 8.14, 6.56 -1.99, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(357.12260401548974 317.0815447768946) rotate(0 102.57991027832031 37.5)"><text x="102.57991027832031" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">out (array of len </text><text x="102.57991027832031" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">levels) containing the</text><text x="102.57991027832031" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">indices</text></g><g stroke-linecap="round" transform="translate(1182.4233924767987 92.1438400072725) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C67.4 0.46, 109.31 1.31, 192.62 0 M27.5 0 C65.67 2.11, 105.16 0.62, 192.62 0 M192.62 0 C212.6 -0.5, 220.24 9.61, 220.12 27.5 M192.62 0 C211.42 -0.12, 219.98 10.64, 220.12 27.5 M220.12 27.5 C220.4 45.17, 219.44 60.93, 220.12 82.5 M220.12 27.5 C220.09 48.86, 221.49 71.96, 220.12 82.5 M220.12 82.5 C222.06 102.59, 209.15 108.1, 192.62 110 M220.12 82.5 C220.94 99.13, 210.21 111.59, 192.62 110 M192.62 110 C140.52 110.07, 92.39 111.93, 27.5 110 M192.62 110 C130.71 109.82, 68.91 109.58, 27.5 110 M27.5 110 C10.6 109.92, 0.28 100.93, 0 82.5 M27.5 110 C7.05 111.63, -1.36 102.89, 0 82.5 M0 82.5 C-0.92 71.63, 1.06 59.62, 0 27.5 M0 82.5 C0.03 67.51, 0.23 54.74, 0 27.5 M0 27.5 C-1.85 10.59, 8.84 -1.45, 27.5 0 M0 27.5 C0.54 9.42, 8.62 0.63, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1197.0710515289938 109.6438400072725) rotate(0 95.409912109375 37.5)"><text x="95.409912109375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">divide the input by </text><text x="95.409912109375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the base (5) and </text><text x="95.409912109375" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">take the remainder</text></g><g stroke-linecap="round" transform="translate(1437.1809081754418 61.649239881258836) rotate(0 201.97326024695485 77.07826296629332)"><path d="M32 0 C148.01 -1.51, 260.67 -0.93, 371.95 0 M32 0 C159.45 -1.39, 286.47 -1.4, 371.95 0 M371.95 0 C393.63 0.25, 403.82 12.21, 403.95 32 M371.95 0 C392.99 -1.35, 402.69 11.52, 403.95 32 M403.95 32 C405.5 54.47, 403.39 76.97, 403.95 122.16 M403.95 32 C404.55 54.19, 404.78 77.84, 403.95 122.16 M403.95 122.16 C404.34 145.44, 392.55 154.89, 371.95 154.16 M403.95 122.16 C405.63 144.45, 395.47 152.2, 371.95 154.16 M371.95 154.16 C301.73 152.2, 231.08 152.57, 32 154.16 M371.95 154.16 C257.21 151.76, 142.77 151.87, 32 154.16 M32 154.16 C11.5 152.72, 0.05 143.36, 0 122.16 M32 154.16 C11.11 155.04, -2.17 145.1, 0 122.16 M0 122.16 C1.19 91.85, -2.36 66.21, 0 32 M0 122.16 C-0.05 100.59, 0.53 77.8, 0 32 M0 32 C-0.89 9.06, 9.1 0.41, 32 0 M0 32 C-1.6 10.85, 9.16 -1.77, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1451.3243039204435 88.72750284755239) rotate(0 187.82986450195312 50)"><text x="187.82986450195312" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">The remainder (m % BASE) gives the </text><text x="187.82986450195312" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index at a particular level, and the </text><text x="187.82986450195312" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">quotient (m \ BASE) is used as the </text><text x="187.82986450195312" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">input for the next iteration.</text></g><g stroke-linecap="round"><g transform="translate(1025.9523336778566 153.51355165181076) rotate(0 62.55337452264848 0.11552772232425923)"><path d="M0.15 0.62 C21.25 0.73, 104.73 0.32, 125.66 0.23 M-1.24 -0.1 C19.84 0.26, 103.91 1.53, 125 1.76" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1025.9523336778566 153.51355165181076) rotate(0 62.55337452264848 0.11552772232425923)"><path d="M101.39 10 C107.6 9.09, 111.71 7.39, 125 1.76 M101.39 10 C107.56 6.93, 114.89 5.49, 125 1.76" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1025.9523336778566 153.51355165181076) rotate(0 62.55337452264848 0.11552772232425923)"><path d="M101.62 -7.1 C107.72 -4.28, 111.77 -2.25, 125 1.76 M101.62 -7.1 C107.83 -5.28, 115.1 -1.82, 125 1.76" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(735.2327519872097 251.34651885525136) rotate(0 147.87945843468287 81.6386264727737)"><path d="M32 0 C118.16 0.99, 204.75 2.3, 263.76 0 M32 0 C96.64 -0.15, 162.32 -0.87, 263.76 0 M263.76 0 C283.99 -0.42, 294.29 8.71, 295.76 32 M263.76 0 C285.52 -1.59, 293.87 10.7, 295.76 32 M295.76 32 C294.65 65.57, 295.91 99.06, 295.76 131.28 M295.76 32 C295.42 70.94, 295.7 108.49, 295.76 131.28 M295.76 131.28 C295.88 154.43, 284.83 161.91, 263.76 163.28 M295.76 131.28 C295.6 152.5, 284.73 161.61, 263.76 163.28 M263.76 163.28 C184.9 161.63, 106.8 161.05, 32 163.28 M263.76 163.28 C194.45 163.02, 125.6 164.24, 32 163.28 M32 163.28 C9.07 162.57, 0.43 150.78, 0 131.28 M32 163.28 C12.8 162.21, 0.53 154.63, 0 131.28 M0 131.28 C-0.71 99.78, 0.15 68.03, 0 32 M0 131.28 C-1.36 95.58, -0.47 61.1, 0 32 M0 32 C-0.67 12.23, 10.89 0.11, 32 0 M0 32 C-1.03 11.09, 12.68 1.75, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(749.472317843768 282.9851453280253) rotate(0 133.639892578125 50)"><text x="133.639892578125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Loop again from 0 to </text><text x="133.639892578125" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">levels to check that each </text><text x="133.639892578125" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">output is &lt; 5 and to sum </text><text x="133.639892578125" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the output elements</text></g><g stroke-linecap="round" transform="translate(1173.2295693221886 250.74673478112027) rotate(0 140.19874513460854 65.19000106145859)"><path d="M32 0 C102.82 0.4, 177.45 -0.81, 248.4 0 M32 0 C108.08 0.56, 185.67 1.95, 248.4 0 M248.4 0 C270.99 -0.92, 280.92 10.58, 280.4 32 M248.4 0 C271.32 -0.97, 282.02 12.87, 280.4 32 M280.4 32 C281.33 53.14, 282.21 73.06, 280.4 98.38 M280.4 32 C281.22 49.78, 281.82 65.88, 280.4 98.38 M280.4 98.38 C279.27 119.55, 268.48 131.34, 248.4 130.38 M280.4 98.38 C278.56 120.82, 270.46 129.4, 248.4 130.38 M248.4 130.38 C197.23 131.16, 147.4 129.01, 32 130.38 M248.4 130.38 C202.37 132.96, 157.28 132.32, 32 130.38 M32 130.38 C12.26 132.36, -0.86 118.19, 0 98.38 M32 130.38 C9.76 132.16, -0.87 121.23, 0 98.38 M0 98.38 C0.29 82.23, 1.26 62.69, 0 32 M0 98.38 C-0.31 72.43, -0.3 45.47, 0 32 M0 32 C-0.13 10.86, 8.83 1.04, 32 0 M0 32 C1.67 8.68, 9.69 1.67, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1199.7484057043557 278.43673584257886) rotate(0 113.6799087524414 37.5)"><text x="113.6799087524414" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">use SafeLessThan to </text><text x="113.6799087524414" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">check that output at </text><text x="113.6799087524414" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index i &lt; 5</text></g><g stroke-linecap="round"><g transform="translate(1048.7092678375739 314.6248986355108) rotate(0 38.813388371497695 -0.9916461194504791)"><path d="M-0.08 0.16 C12.97 -0.48, 64.77 -2.67, 77.82 -3.09 M-1.58 -0.8 C11.36 -1.4, 63.75 -2.07, 76.97 -2.13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1048.7092678375739 314.6248986355108) rotate(0 38.813388371497695 -0.9916461194504791)"><path d="M53.56 6.65 C59.91 4.68, 63.92 3, 76.97 -2.13 M53.56 6.65 C60.35 4.77, 65.59 0.93, 76.97 -2.13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1048.7092678375739 314.6248986355108) rotate(0 38.813388371497695 -0.9916461194504791)"><path d="M53.39 -10.45 C59.89 -7.94, 63.95 -5.14, 76.97 -2.13 M53.39 -10.45 C60.14 -7.69, 65.42 -6.9, 76.97 -2.13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1151.5324415219966 635.0881743993596) rotate(0 138.50041162436537 78.93403035771144)"><path d="M32 0 C93.4 1.28, 159.64 1.06, 245 0 M32 0 C104.23 0.93, 176.79 0.57, 245 0 M245 0 C265.52 0.19, 277.47 9.83, 277 32 M245 0 C268.14 1.56, 279.16 12.23, 277 32 M277 32 C274.9 57.03, 275.04 86.51, 277 125.87 M277 32 C277.99 59.53, 277.22 85.15, 277 125.87 M277 125.87 C276.97 145.74, 267.39 159.23, 245 157.87 M277 125.87 C278.94 148.64, 265.28 158.47, 245 157.87 M245 157.87 C189.02 155.05, 132.74 156.33, 32 157.87 M245 157.87 C190.23 158.27, 134.86 158.22, 32 157.87 M32 157.87 C8.99 157.84, 1.55 148.78, 0 125.87 M32 157.87 C9.7 155.77, -1.37 148.6, 0 125.87 M0 125.87 C-1.35 103.91, -0.55 79.88, 0 32 M0 125.87 C0.79 97.7, 0.71 68.26, 0 32 M0 32 C1.85 10.89, 8.75 0.09, 32 0 M0 32 C1.74 10.76, 9.36 -2.13, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1159.7829446990963 676.522204757071) rotate(0 130.24990844726562 37.5)"><text x="130.24990844726562" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">add to the CalculateSum </text><text x="130.24990844726562" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">component the output at </text><text x="130.24990844726562" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index i * (5 ** i)</text></g><g stroke-linecap="round" transform="translate(1117.465200019723 859.771154111982) rotate(0 196.59708185255067 97.50132682305502)"><path d="M32 0 C114.35 0, 194.79 0.08, 361.19 0 M32 0 C143.34 -1.68, 256.12 -2.04, 361.19 0 M361.19 0 C380.85 -0.26, 393.57 9.18, 393.19 32 M361.19 0 C381.18 2.03, 392.03 9.98, 393.19 32 M393.19 32 C391.07 74.12, 393.54 115.43, 393.19 163 M393.19 32 C393.13 68.1, 394.02 102.55, 393.19 163 M393.19 163 C391.79 186.23, 384.4 193.73, 361.19 195 M393.19 163 C391.05 182.34, 383.18 195.01, 361.19 195 M361.19 195 C251.13 195.74, 143.88 193.96, 32 195 M361.19 195 C271.61 194.36, 181.18 194.99, 32 195 M32 195 C11.4 194.05, 1.26 182.44, 0 163 M32 195 C11.6 193.24, 2.1 186.42, 0 163 M0 163 C-0.3 116.13, 1.7 69.64, 0 32 M0 163 C-0.32 117.66, 0.28 71.69, 0 32 M0 32 C0.02 10.41, 12.13 -0.52, 32 0 M0 32 C0.65 8.76, 8.81 0.95, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1124.0424454464928 894.772480935037) rotate(0 190.01983642578125 62.5)"><text x="190.01983642578125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">each index is multiplied by 5 raised to</text><text x="190.01983642578125" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the power of its level. This is </text><text x="190.01983642578125" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">because we're converting from a base-</text><text x="190.01983642578125" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5 number to a base-10 number.</text><text x="190.01983642578125" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"></text></g><g stroke-linecap="round" transform="translate(1136.2728084395876 452.50542740239644) rotate(0 198.35089697684452 58.71698798554303)"><path d="M29.36 0 C122.04 1.83, 216.87 1.32, 367.34 0 M29.36 0 C140.7 -0.24, 251.81 -0.78, 367.34 0 M367.34 0 C387.67 -1.82, 397.49 11.78, 396.7 29.36 M367.34 0 C385.61 -2.24, 396.66 9.3, 396.7 29.36 M396.7 29.36 C395.33 50.03, 394.82 70.41, 396.7 88.08 M396.7 29.36 C396.48 41.25, 396.09 53.72, 396.7 88.08 M396.7 88.08 C397.91 109.36, 388.17 118.69, 367.34 117.43 M396.7 88.08 C394.97 109.61, 386.67 117.3, 367.34 117.43 M367.34 117.43 C261.99 116.08, 156.92 116.53, 29.36 117.43 M367.34 117.43 C256.23 118.41, 145.91 118.3, 29.36 117.43 M29.36 117.43 C10.98 116.15, -0.52 106.61, 0 88.08 M29.36 117.43 C11.57 116.48, 1.77 108.01, 0 88.08 M0 88.08 C-1.03 66.7, 0.52 41.18, 0 29.36 M0 88.08 C1.08 75.23, 0.36 61.92, 0 29.36 M0 29.36 C-1.92 10.46, 8.24 -1.1, 29.36 0 M0 29.36 C-0.22 11.32, 10.82 2.07, 29.36 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1154.5938592250259 473.7224153879397) rotate(0 180.02984619140625 37.5)"><text x="180.02984619140625" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">we use a quinary tree so the index </text><text x="180.02984619140625" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">must be &lt; 5 </text><text x="180.02984619140625" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">(0 &lt;= index &lt; 5)</text></g><g stroke-linecap="round"><g transform="translate(1297.8129512395253 811.0308836291847) rotate(0 -0.8781508727374785 15.917543169664441)"><path d="M-0.13 -0.02 C-0.56 5.28, -1.73 26.31, -2.04 31.68 M0.8 -0.51 C0.51 4.88, -0.41 27, -0.95 32.3" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1297.8129512395253 811.0308836291847) rotate(0 -0.8781508727374785 15.917543169664441)"><path d="M-5.39 16.98 C-3.68 22.64, -2.12 28.76, -0.95 32.3 M-5.39 16.98 C-3.79 22.88, -2.41 27.66, -0.95 32.3" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1297.8129512395253 811.0308836291847) rotate(0 -0.8781508727374785 15.917543169664441)"><path d="M5.49 17.71 C2.89 23.06, 0.15 28.9, -0.95 32.3 M5.49 17.71 C3.2 23.31, 0.68 27.84, -0.95 32.3" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1284.3784514014715 394.1474025007992) rotate(0 -2.656717494154691 18.656006844578314)"><path d="M0.38 -0.09 C-0.48 6.06, -4.6 31.1, -5.63 37.26 M-0.09 -0.62 C-0.73 5.59, -3.78 31.63, -4.55 37.94" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1284.3784514014715 394.1474025007992) rotate(0 -2.656717494154691 18.656006844578314)"><path d="M-8.86 19.59 C-8.03 22.97, -7.04 26.59, -4.55 37.94 M-8.86 19.59 C-7.57 24.15, -7.35 28.14, -4.55 37.94" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1284.3784514014715 394.1474025007992) rotate(0 -2.656717494154691 18.656006844578314)"><path d="M3.94 21.12 C2.02 24.21, 0.28 27.5, -4.55 37.94 M3.94 21.12 C2.37 25.34, -0.26 28.99, -4.55 37.94" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(744.2051025889568 439.2498964303127) rotate(0 146.69062497751293 75.84306336906911)"><path d="M32 0 C85.16 0.34, 135.44 0.57, 261.38 0 M32 0 C105.41 -2.36, 178.2 -2.52, 261.38 0 M261.38 0 C283.14 1.19, 293.58 11.84, 293.38 32 M261.38 0 C281.23 -2.16, 292.01 8.46, 293.38 32 M293.38 32 C294.85 55.98, 292.18 80.78, 293.38 119.69 M293.38 32 C292.9 60.71, 294.12 89.74, 293.38 119.69 M293.38 119.69 C293.3 141.23, 282.48 150.26, 261.38 151.69 M293.38 119.69 C291.14 138.81, 282.54 149.55, 261.38 151.69 M261.38 151.69 C190.63 153.01, 119.73 154.49, 32 151.69 M261.38 151.69 C191.98 150.17, 120.31 150.61, 32 151.69 M32 151.69 C11.74 149.92, -0.2 141.9, 0 119.69 M32 151.69 C10.59 150.29, 1.53 138.85, 0 119.69 M0 119.69 C0.47 93.68, -0.39 70.75, 0 32 M0 119.69 C-0.77 88.96, -0.41 56.37, 0 32 M0 32 C-0.22 9.19, 8.81 0.48, 32 0 M0 32 C-1.19 11.71, 12.45 -2.21, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(755.0258240020166 490.0929597993818) rotate(0 135.86990356445312 25)"><text x="135.86990356445312" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Ensure that the sum is </text><text x="135.86990356445312" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">equal to the input index</text></g><g stroke-linecap="round"><g transform="translate(1291.0613371450745 579.2123614620255) rotate(0 0.40083312327897147 13.735085498648914)"><path d="M0.48 0.27 C0.66 4.73, 0.43 22.6, 0.57 27.18 M0.06 -0.06 C0.2 4.7, -0.18 23.25, 0.02 27.73" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1291.0613371450745 579.2123614620255) rotate(0 0.40083312327897147 13.735085498648914)"><path d="M-4.78 14.86 C-3.39 17.2, -3.1 20.83, 0.02 27.73 M-4.78 14.86 C-2.72 19.48, -1.64 23.89, 0.02 27.73" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1291.0613371450745 579.2123614620255) rotate(0 0.40083312327897147 13.735085498648914)"><path d="M4.62 14.78 C4.07 17.19, 2.42 20.82, 0.02 27.73 M4.62 14.78 C3.39 19.42, 1.19 23.86, 0.02 27.73" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask></svg>
21
+ <rect x="0" y="0" width="1851.1274286693515" height="1064.773807758092" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(318.45488347209357 148.53333269738232) rotate(0 131.7047520102601 33.80052213620297)"><path d="M16.9 0 C103.31 2.26, 185.9 2.82, 246.51 0 M16.9 0 C78.12 -1.6, 138.79 -0.44, 246.51 0 M246.51 0 C257.02 -1.54, 262.82 6.12, 263.41 16.9 M246.51 0 C258.76 2.09, 263.8 7.51, 263.41 16.9 M263.41 16.9 C263.51 25.38, 263.58 32.51, 263.41 50.7 M263.41 16.9 C264.46 28.15, 264.72 41.42, 263.41 50.7 M263.41 50.7 C264.15 62.79, 259.46 65.77, 246.51 67.6 M263.41 50.7 C263.19 61.17, 259.66 68.87, 246.51 67.6 M246.51 67.6 C161.51 64.63, 72.73 65.18, 16.9 67.6 M246.51 67.6 C158.5 67.18, 69.13 67.49, 16.9 67.6 M16.9 67.6 C4.66 67.87, 0.39 62.65, 0 50.7 M16.9 67.6 C6.69 66.58, -2 60.51, 0 50.7 M0 50.7 C-0.74 45.43, 0.81 36.92, 0 16.9 M0 50.7 C0.52 40.93, 0.02 31.29, 0 16.9 M0 16.9 C-0.56 6, 5 1.01, 16.9 0 M0 16.9 C1.92 3.9, 6.17 -1.23, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(327.18974107317354 169.83385483358552) rotate(0 122.96989440917969 12.5)"><text x="122.96989440917969" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">QuinaryGeneratePathIndices</text></g><g stroke-linecap="round"><g transform="translate(420.60434368431834 98.62956225189691) rotate(0 2.896194545956405 19.89958225780424)"><path d="M0.04 -0.33 C1 6.33, 4.58 33.6, 5.51 40.22 M-0.61 0.69 C0.56 7.17, 5.64 32.96, 6.59 39.47" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.60434368431834 98.62956225189691) rotate(0 2.896194545956405 19.89958225780424)"><path d="M-3.44 22.04 C-1.49 25.86, 2.37 30.34, 6.59 39.47 M-3.44 22.04 C-1.02 26.37, 1.09 30.2, 6.59 39.47" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.60434368431834 98.62956225189691) rotate(0 2.896194545956405 19.89958225780424)"><path d="M10.11 19.67 C8.69 24.08, 9.18 29.15, 6.59 39.47 M10.11 19.67 C9.51 24.54, 8.6 28.91, 6.59 39.47" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(10 154.29769668039535) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C75.3 0.22, 129.92 0.39, 204.03 0 M16.09 0 C77.18 -0.89, 137.11 -0.88, 204.03 0 M204.03 0 C214.34 -0.18, 221.19 5.25, 220.12 16.09 M204.03 0 C215.67 1.23, 222.39 4.96, 220.12 16.09 M220.12 16.09 C221.13 28.77, 220.71 41.67, 220.12 48.27 M220.12 16.09 C220.91 23.34, 220.86 29.91, 220.12 48.27 M220.12 48.27 C218.25 60.92, 213.4 63.77, 204.03 64.35 M220.12 48.27 C219.29 60.95, 216.63 64.53, 204.03 64.35 M204.03 64.35 C137.63 62.28, 72.7 63.64, 16.09 64.35 M204.03 64.35 C140.34 62.89, 77.42 64.03, 16.09 64.35 M16.09 64.35 C3.57 63.79, 1.53 59.98, 0 48.27 M16.09 64.35 C5.17 64.23, -1.81 58.07, 0 48.27 M0 48.27 C0.95 37.24, 0.3 26.7, 0 16.09 M0 48.27 C-0.04 36.45, -1.27 26.02, 0 16.09 M0 16.09 C1.01 5.06, 6.46 -0.25, 16.09 0 M0 16.09 C-1.07 7.02, 6.97 0.15, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(35.98764776069129 173.97511323127128) rotate(0 84.0699234008789 12.5)"><text x="84.0699234008789" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">parameter: levels</text></g><g transform="translate(466.0060586475129 101.17641725074145) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g stroke-linecap="round"><g transform="translate(248.99317077492378 190.21808733086846) rotate(0 23.123652268284786 -2.632667694413385)"><path d="M0.23 0.5 C7.98 -0.32, 38.75 -3.93, 46.34 -4.82 M-0.31 0.28 C7.39 -0.7, 38.09 -4.56, 45.96 -5.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(248.99317077492378 190.21808733086846) rotate(0 23.123652268284786 -2.632667694413385)"><path d="M25.25 5.07 C31.75 2.33, 37.26 -1.53, 45.96 -5.55 M25.25 5.07 C33.46 0.99, 41.31 -2.78, 45.96 -5.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(248.99317077492378 190.21808733086846) rotate(0 23.123652268284786 -2.632667694413385)"><path d="M23.27 -10.72 C30.32 -9.2, 36.36 -8.78, 45.96 -5.55 M23.27 -10.72 C32.21 -8.76, 40.83 -6.49, 45.96 -5.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(741.5355262249486 86.0528003415825) rotate(0 137.57057402750797 59.700137989597806)"><path d="M29.85 0 C105.09 -1.74, 178.92 -0.68, 245.29 0 M29.85 0 C92.89 0.57, 156.08 -0.05, 245.29 0 M245.29 0 C266.62 -1.4, 277.1 11.19, 275.14 29.85 M245.29 0 C266.04 0.94, 277.07 7.84, 275.14 29.85 M275.14 29.85 C276.04 48.75, 275.79 62.69, 275.14 89.55 M275.14 29.85 C274.38 54.37, 275.55 77.27, 275.14 89.55 M275.14 89.55 C276.14 108.12, 264.02 118.8, 245.29 119.4 M275.14 89.55 C274.03 109.76, 265.63 120.19, 245.29 119.4 M245.29 119.4 C169.67 116.03, 97.16 116.19, 29.85 119.4 M245.29 119.4 C186.66 120.28, 127.48 119.98, 29.85 119.4 M29.85 119.4 C10.46 119.78, -0.5 110.47, 0 89.55 M29.85 119.4 C9.31 119.82, -0.72 110.61, 0 89.55 M0 89.55 C-0.62 64.67, 1.06 44.8, 0 29.85 M0 89.55 C-0.79 73.27, 0.37 55.6, 0 29.85 M0 29.85 C0.5 9.43, 9.13 1.14, 29.85 0 M0 29.85 C-1.18 7.99, 10.56 1.58, 29.85 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(750.4561979087066 108.2529383311803) rotate(0 128.64990234375 37.5)"><text x="128.64990234375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Loop from 0 to levels </text><text x="128.64990234375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">to calculate the index at</text><text x="128.64990234375" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">each level of the tree</text></g><g transform="translate(604.1025580001924 126.69903779492552) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(587.1802965633333 187.3313363392108) rotate(0 53.92228869677592 -0.8472524026133215)"><path d="M0.64 -0.07 C18.74 -0.22, 90.26 -0.75, 108.33 -1.05 M-0.48 -1.15 C17.52 -1.64, 89.4 -2.91, 107.63 -2.84" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(587.1802965633333 187.3313363392108) rotate(0 53.92228869677592 -0.8472524026133215)"><path d="M84.21 5.91 C90.65 4.14, 98.38 2.87, 107.63 -2.84 M84.21 5.91 C91.74 4.23, 97.74 1.54, 107.63 -2.84" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(587.1802965633333 187.3313363392108) rotate(0 53.92228869677592 -0.8472524026133215)"><path d="M84.07 -11.19 C90.53 -8.18, 98.3 -4.67, 107.63 -2.84 M84.07 -11.19 C91.76 -8.05, 97.8 -5.9, 107.63 -2.84" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(324.24438275414013 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C83.64 1.23, 148.69 0.67, 204.03 0 M16.09 0 C59.7 -0.76, 103.42 -2.08, 204.03 0 M204.03 0 C214.56 -0.69, 221.76 6.47, 220.12 16.09 M204.03 0 C216.53 0.98, 217.98 7.58, 220.12 16.09 M220.12 16.09 C221.72 25.2, 220.17 32.04, 220.12 48.27 M220.12 16.09 C219.44 23.74, 220.12 31.46, 220.12 48.27 M220.12 48.27 C221.03 58.11, 213.01 63.08, 204.03 64.35 M220.12 48.27 C217.85 60.17, 212.7 63.71, 204.03 64.35 M204.03 64.35 C133.13 62.62, 61.64 64.7, 16.09 64.35 M204.03 64.35 C143.79 65.49, 83.79 65.81, 16.09 64.35 M16.09 64.35 C7.03 62.85, 0.46 57.92, 0 48.27 M16.09 64.35 C3.06 65.06, 1.16 58.64, 0 48.27 M0 48.27 C1.48 38.25, 0.17 25.95, 0 16.09 M0 48.27 C-0.38 38.6, 0.4 31.32, 0 16.09 M0 16.09 C-0.02 4.95, 6.7 -1.38, 16.09 0 M0 16.09 C0.95 3.31, 4.56 2.11, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(382.5420051852416 29.677416550875932) rotate(0 51.75994873046875 12.5)"><text x="51.75994873046875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">input index</text></g><g transform="translate(507.6467641010968 246.4537661800914) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(446.66589698247117 245.18341241000235) rotate(0 0.22290140994755347 20.51105751905652)"><path d="M-0.49 0.45 C-0.33 7.25, 0.34 33.91, 0.45 40.74 M0.26 0.2 C0.38 7.08, 0.11 34.56, 0.02 41.3" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(446.66589698247117 245.18341241000235) rotate(0 0.22290140994755347 20.51105751905652)"><path d="M-6.78 21.95 C-4.56 26.06, -4.44 29.65, 0.02 41.3 M-6.78 21.95 C-3.68 29.42, -1.36 36.54, 0.02 41.3" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(446.66589698247117 245.18341241000235) rotate(0 0.22290140994755347 20.51105751905652)"><path d="M7.25 22.1 C6.52 26.12, 3.68 29.68, 0.02 41.3 M7.25 22.1 C5.02 29.47, 2.01 36.53, 0.02 41.3" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(349.64494313223986 312.0815447768946) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C57.64 -0.97, 97.66 1.68, 198.87 0 M21.25 0 C63.16 -0.61, 104.46 0.08, 198.87 0 M198.87 0 C211.22 -0.71, 221.96 8.08, 220.12 21.25 M198.87 0 C212.21 1.45, 220.52 4.84, 220.12 21.25 M220.12 21.25 C220.89 35.29, 218.54 48.94, 220.12 63.75 M220.12 21.25 C219.26 32.62, 221.07 44.69, 220.12 63.75 M220.12 63.75 C218.98 77.12, 211.24 84.74, 198.87 85 M220.12 63.75 C218.51 76.29, 213.46 83.46, 198.87 85 M198.87 85 C127.22 84.2, 56.17 86.5, 21.25 85 M198.87 85 C137.09 85.08, 76.31 85.11, 21.25 85 M21.25 85 C7.53 84.07, 1.23 78.85, 0 63.75 M21.25 85 C7.84 83.11, -1.25 77.71, 0 63.75 M0 63.75 C-1.58 54.71, -0.19 43.15, 0 21.25 M0 63.75 C-0.35 49.22, -1.05 36.42, 0 21.25 M0 21.25 C1.29 6.11, 5.62 -0.6, 21.25 0 M0 21.25 C1.7 8.14, 6.56 -1.99, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(357.12260401548974 317.0815447768946) rotate(0 102.57991027832031 37.5)"><text x="102.57991027832031" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">out (array of len </text><text x="102.57991027832031" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">levels) containing the</text><text x="102.57991027832031" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">indices</text></g><g stroke-linecap="round" transform="translate(1182.4233924767987 92.1438400072725) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C67.4 0.46, 109.31 1.31, 192.62 0 M27.5 0 C65.67 2.11, 105.16 0.62, 192.62 0 M192.62 0 C212.6 -0.5, 220.24 9.61, 220.12 27.5 M192.62 0 C211.42 -0.12, 219.98 10.64, 220.12 27.5 M220.12 27.5 C220.4 45.17, 219.44 60.93, 220.12 82.5 M220.12 27.5 C220.09 48.86, 221.49 71.96, 220.12 82.5 M220.12 82.5 C222.06 102.59, 209.15 108.1, 192.62 110 M220.12 82.5 C220.94 99.13, 210.21 111.59, 192.62 110 M192.62 110 C140.52 110.07, 92.39 111.93, 27.5 110 M192.62 110 C130.71 109.82, 68.91 109.58, 27.5 110 M27.5 110 C10.6 109.92, 0.28 100.93, 0 82.5 M27.5 110 C7.05 111.63, -1.36 102.89, 0 82.5 M0 82.5 C-0.92 71.63, 1.06 59.62, 0 27.5 M0 82.5 C0.03 67.51, 0.23 54.74, 0 27.5 M0 27.5 C-1.85 10.59, 8.84 -1.45, 27.5 0 M0 27.5 C0.54 9.42, 8.62 0.63, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1197.0710515289938 109.6438400072725) rotate(0 95.409912109375 37.5)"><text x="95.409912109375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">divide the input by </text><text x="95.409912109375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the base (5) and </text><text x="95.409912109375" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">take the remainder</text></g><g stroke-linecap="round" transform="translate(1437.1809081754418 61.649239881258836) rotate(0 201.97326024695485 77.07826296629332)"><path d="M32 0 C148.01 -1.51, 260.67 -0.93, 371.95 0 M32 0 C159.45 -1.39, 286.47 -1.4, 371.95 0 M371.95 0 C393.63 0.25, 403.82 12.21, 403.95 32 M371.95 0 C392.99 -1.35, 402.69 11.52, 403.95 32 M403.95 32 C405.5 54.47, 403.39 76.97, 403.95 122.16 M403.95 32 C404.55 54.19, 404.78 77.84, 403.95 122.16 M403.95 122.16 C404.34 145.44, 392.55 154.89, 371.95 154.16 M403.95 122.16 C405.63 144.45, 395.47 152.2, 371.95 154.16 M371.95 154.16 C301.73 152.2, 231.08 152.57, 32 154.16 M371.95 154.16 C257.21 151.76, 142.77 151.87, 32 154.16 M32 154.16 C11.5 152.72, 0.05 143.36, 0 122.16 M32 154.16 C11.11 155.04, -2.17 145.1, 0 122.16 M0 122.16 C1.19 91.85, -2.36 66.21, 0 32 M0 122.16 C-0.05 100.59, 0.53 77.8, 0 32 M0 32 C-0.89 9.06, 9.1 0.41, 32 0 M0 32 C-1.6 10.85, 9.16 -1.77, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1451.3243039204435 88.72750284755239) rotate(0 187.82986450195312 50)"><text x="187.82986450195312" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">The remainder (m % BASE) gives the </text><text x="187.82986450195312" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index at a particular level, and the </text><text x="187.82986450195312" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">quotient (m \ BASE) is used as the </text><text x="187.82986450195312" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">input for the next iteration.</text></g><g stroke-linecap="round"><g transform="translate(1025.9523336778566 153.51355165181076) rotate(0 62.55337452264848 0.11552772232425923)"><path d="M0.15 0.62 C21.25 0.73, 104.73 0.32, 125.66 0.23 M-1.24 -0.1 C19.84 0.26, 103.91 1.53, 125 1.76" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1025.9523336778566 153.51355165181076) rotate(0 62.55337452264848 0.11552772232425923)"><path d="M101.39 10 C107.6 9.09, 111.71 7.39, 125 1.76 M101.39 10 C107.56 6.93, 114.89 5.49, 125 1.76" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1025.9523336778566 153.51355165181076) rotate(0 62.55337452264848 0.11552772232425923)"><path d="M101.62 -7.1 C107.72 -4.28, 111.77 -2.25, 125 1.76 M101.62 -7.1 C107.83 -5.28, 115.1 -1.82, 125 1.76" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(735.2327519872097 251.34651885525136) rotate(0 147.87945843468287 81.6386264727737)"><path d="M32 0 C118.16 0.99, 204.75 2.3, 263.76 0 M32 0 C96.64 -0.15, 162.32 -0.87, 263.76 0 M263.76 0 C283.99 -0.42, 294.29 8.71, 295.76 32 M263.76 0 C285.52 -1.59, 293.87 10.7, 295.76 32 M295.76 32 C294.65 65.57, 295.91 99.06, 295.76 131.28 M295.76 32 C295.42 70.94, 295.7 108.49, 295.76 131.28 M295.76 131.28 C295.88 154.43, 284.83 161.91, 263.76 163.28 M295.76 131.28 C295.6 152.5, 284.73 161.61, 263.76 163.28 M263.76 163.28 C184.9 161.63, 106.8 161.05, 32 163.28 M263.76 163.28 C194.45 163.02, 125.6 164.24, 32 163.28 M32 163.28 C9.07 162.57, 0.43 150.78, 0 131.28 M32 163.28 C12.8 162.21, 0.53 154.63, 0 131.28 M0 131.28 C-0.71 99.78, 0.15 68.03, 0 32 M0 131.28 C-1.36 95.58, -0.47 61.1, 0 32 M0 32 C-0.67 12.23, 10.89 0.11, 32 0 M0 32 C-1.03 11.09, 12.68 1.75, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(749.472317843768 282.9851453280253) rotate(0 133.639892578125 50)"><text x="133.639892578125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Loop again from 0 to </text><text x="133.639892578125" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">levels to check that each </text><text x="133.639892578125" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">output is &lt; 5 and to sum </text><text x="133.639892578125" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the output elements</text></g><g stroke-linecap="round" transform="translate(1173.2295693221886 250.74673478112027) rotate(0 140.19874513460854 65.19000106145859)"><path d="M32 0 C102.82 0.4, 177.45 -0.81, 248.4 0 M32 0 C108.08 0.56, 185.67 1.95, 248.4 0 M248.4 0 C270.99 -0.92, 280.92 10.58, 280.4 32 M248.4 0 C271.32 -0.97, 282.02 12.87, 280.4 32 M280.4 32 C281.33 53.14, 282.21 73.06, 280.4 98.38 M280.4 32 C281.22 49.78, 281.82 65.88, 280.4 98.38 M280.4 98.38 C279.27 119.55, 268.48 131.34, 248.4 130.38 M280.4 98.38 C278.56 120.82, 270.46 129.4, 248.4 130.38 M248.4 130.38 C197.23 131.16, 147.4 129.01, 32 130.38 M248.4 130.38 C202.37 132.96, 157.28 132.32, 32 130.38 M32 130.38 C12.26 132.36, -0.86 118.19, 0 98.38 M32 130.38 C9.76 132.16, -0.87 121.23, 0 98.38 M0 98.38 C0.29 82.23, 1.26 62.69, 0 32 M0 98.38 C-0.31 72.43, -0.3 45.47, 0 32 M0 32 C-0.13 10.86, 8.83 1.04, 32 0 M0 32 C1.67 8.68, 9.69 1.67, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1199.7484057043557 278.43673584257886) rotate(0 113.6799087524414 37.5)"><text x="113.6799087524414" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">use SafeLessThan to </text><text x="113.6799087524414" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">check that output at </text><text x="113.6799087524414" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index i &lt; 5</text></g><g stroke-linecap="round"><g transform="translate(1048.7092678375739 314.6248986355108) rotate(0 38.813388371497695 -0.9916461194504791)"><path d="M-0.08 0.16 C12.97 -0.48, 64.77 -2.67, 77.82 -3.09 M-1.58 -0.8 C11.36 -1.4, 63.75 -2.07, 76.97 -2.13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1048.7092678375739 314.6248986355108) rotate(0 38.813388371497695 -0.9916461194504791)"><path d="M53.56 6.65 C59.91 4.68, 63.92 3, 76.97 -2.13 M53.56 6.65 C60.35 4.77, 65.59 0.93, 76.97 -2.13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1048.7092678375739 314.6248986355108) rotate(0 38.813388371497695 -0.9916461194504791)"><path d="M53.39 -10.45 C59.89 -7.94, 63.95 -5.14, 76.97 -2.13 M53.39 -10.45 C60.14 -7.69, 65.42 -6.9, 76.97 -2.13" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1151.5324415219966 635.0881743993596) rotate(0 138.50041162436537 78.93403035771144)"><path d="M32 0 C93.4 1.28, 159.64 1.06, 245 0 M32 0 C104.23 0.93, 176.79 0.57, 245 0 M245 0 C265.52 0.19, 277.47 9.83, 277 32 M245 0 C268.14 1.56, 279.16 12.23, 277 32 M277 32 C274.9 57.03, 275.04 86.51, 277 125.87 M277 32 C277.99 59.53, 277.22 85.15, 277 125.87 M277 125.87 C276.97 145.74, 267.39 159.23, 245 157.87 M277 125.87 C278.94 148.64, 265.28 158.47, 245 157.87 M245 157.87 C189.02 155.05, 132.74 156.33, 32 157.87 M245 157.87 C190.23 158.27, 134.86 158.22, 32 157.87 M32 157.87 C8.99 157.84, 1.55 148.78, 0 125.87 M32 157.87 C9.7 155.77, -1.37 148.6, 0 125.87 M0 125.87 C-1.35 103.91, -0.55 79.88, 0 32 M0 125.87 C0.79 97.7, 0.71 68.26, 0 32 M0 32 C1.85 10.89, 8.75 0.09, 32 0 M0 32 C1.74 10.76, 9.36 -2.13, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1159.7829446990963 676.522204757071) rotate(0 130.24990844726562 37.5)"><text x="130.24990844726562" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">add to the CalculateSum </text><text x="130.24990844726562" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">component the output at </text><text x="130.24990844726562" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index i * (5 ** i)</text></g><g stroke-linecap="round" transform="translate(1117.465200019723 859.771154111982) rotate(0 196.59708185255067 97.50132682305502)"><path d="M32 0 C114.35 0, 194.79 0.08, 361.19 0 M32 0 C143.34 -1.68, 256.12 -2.04, 361.19 0 M361.19 0 C380.85 -0.26, 393.57 9.18, 393.19 32 M361.19 0 C381.18 2.03, 392.03 9.98, 393.19 32 M393.19 32 C391.07 74.12, 393.54 115.43, 393.19 163 M393.19 32 C393.13 68.1, 394.02 102.55, 393.19 163 M393.19 163 C391.79 186.23, 384.4 193.73, 361.19 195 M393.19 163 C391.05 182.34, 383.18 195.01, 361.19 195 M361.19 195 C251.13 195.74, 143.88 193.96, 32 195 M361.19 195 C271.61 194.36, 181.18 194.99, 32 195 M32 195 C11.4 194.05, 1.26 182.44, 0 163 M32 195 C11.6 193.24, 2.1 186.42, 0 163 M0 163 C-0.3 116.13, 1.7 69.64, 0 32 M0 163 C-0.32 117.66, 0.28 71.69, 0 32 M0 32 C0.02 10.41, 12.13 -0.52, 32 0 M0 32 C0.65 8.76, 8.81 0.95, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1124.0424454464928 894.772480935037) rotate(0 190.01983642578125 62.5)"><text x="190.01983642578125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">each index is multiplied by 5 raised to</text><text x="190.01983642578125" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the power of its level. This is </text><text x="190.01983642578125" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">because we're converting from a base-</text><text x="190.01983642578125" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5 number to a base-10 number.</text><text x="190.01983642578125" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge"></text></g><g stroke-linecap="round" transform="translate(1136.2728084395876 452.50542740239644) rotate(0 198.35089697684452 58.71698798554303)"><path d="M29.36 0 C122.04 1.83, 216.87 1.32, 367.34 0 M29.36 0 C140.7 -0.24, 251.81 -0.78, 367.34 0 M367.34 0 C387.67 -1.82, 397.49 11.78, 396.7 29.36 M367.34 0 C385.61 -2.24, 396.66 9.3, 396.7 29.36 M396.7 29.36 C395.33 50.03, 394.82 70.41, 396.7 88.08 M396.7 29.36 C396.48 41.25, 396.09 53.72, 396.7 88.08 M396.7 88.08 C397.91 109.36, 388.17 118.69, 367.34 117.43 M396.7 88.08 C394.97 109.61, 386.67 117.3, 367.34 117.43 M367.34 117.43 C261.99 116.08, 156.92 116.53, 29.36 117.43 M367.34 117.43 C256.23 118.41, 145.91 118.3, 29.36 117.43 M29.36 117.43 C10.98 116.15, -0.52 106.61, 0 88.08 M29.36 117.43 C11.57 116.48, 1.77 108.01, 0 88.08 M0 88.08 C-1.03 66.7, 0.52 41.18, 0 29.36 M0 88.08 C1.08 75.23, 0.36 61.92, 0 29.36 M0 29.36 C-1.92 10.46, 8.24 -1.1, 29.36 0 M0 29.36 C-0.22 11.32, 10.82 2.07, 29.36 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1154.5938592250259 473.7224153879397) rotate(0 180.02984619140625 37.5)"><text x="180.02984619140625" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">we use a quinary tree so the index </text><text x="180.02984619140625" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">must be &lt; 5 </text><text x="180.02984619140625" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">(0 &lt;= index &lt; 5)</text></g><g stroke-linecap="round"><g transform="translate(1297.8129512395253 811.0308836291847) rotate(0 -0.8781508727374785 15.917543169664441)"><path d="M-0.13 -0.02 C-0.56 5.28, -1.73 26.31, -2.04 31.68 M0.8 -0.51 C0.51 4.88, -0.41 27, -0.95 32.3" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1297.8129512395253 811.0308836291847) rotate(0 -0.8781508727374785 15.917543169664441)"><path d="M-5.39 16.98 C-3.68 22.64, -2.12 28.76, -0.95 32.3 M-5.39 16.98 C-3.79 22.88, -2.41 27.66, -0.95 32.3" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1297.8129512395253 811.0308836291847) rotate(0 -0.8781508727374785 15.917543169664441)"><path d="M5.49 17.71 C2.89 23.06, 0.15 28.9, -0.95 32.3 M5.49 17.71 C3.2 23.31, 0.68 27.84, -0.95 32.3" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round"><g transform="translate(1284.3784514014715 394.1474025007992) rotate(0 -2.656717494154691 18.656006844578314)"><path d="M0.38 -0.09 C-0.48 6.06, -4.6 31.1, -5.63 37.26 M-0.09 -0.62 C-0.73 5.59, -3.78 31.63, -4.55 37.94" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1284.3784514014715 394.1474025007992) rotate(0 -2.656717494154691 18.656006844578314)"><path d="M-8.86 19.59 C-8.03 22.97, -7.04 26.59, -4.55 37.94 M-8.86 19.59 C-7.57 24.15, -7.35 28.14, -4.55 37.94" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1284.3784514014715 394.1474025007992) rotate(0 -2.656717494154691 18.656006844578314)"><path d="M3.94 21.12 C2.02 24.21, 0.28 27.5, -4.55 37.94 M3.94 21.12 C2.37 25.34, -0.26 28.99, -4.55 37.94" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(744.2051025889568 439.2498964303127) rotate(0 146.69062497751293 75.84306336906911)"><path d="M32 0 C85.16 0.34, 135.44 0.57, 261.38 0 M32 0 C105.41 -2.36, 178.2 -2.52, 261.38 0 M261.38 0 C283.14 1.19, 293.58 11.84, 293.38 32 M261.38 0 C281.23 -2.16, 292.01 8.46, 293.38 32 M293.38 32 C294.85 55.98, 292.18 80.78, 293.38 119.69 M293.38 32 C292.9 60.71, 294.12 89.74, 293.38 119.69 M293.38 119.69 C293.3 141.23, 282.48 150.26, 261.38 151.69 M293.38 119.69 C291.14 138.81, 282.54 149.55, 261.38 151.69 M261.38 151.69 C190.63 153.01, 119.73 154.49, 32 151.69 M261.38 151.69 C191.98 150.17, 120.31 150.61, 32 151.69 M32 151.69 C11.74 149.92, -0.2 141.9, 0 119.69 M32 151.69 C10.59 150.29, 1.53 138.85, 0 119.69 M0 119.69 C0.47 93.68, -0.39 70.75, 0 32 M0 119.69 C-0.77 88.96, -0.41 56.37, 0 32 M0 32 C-0.22 9.19, 8.81 0.48, 32 0 M0 32 C-1.19 11.71, 12.45 -2.21, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(755.0258240020166 490.0929597993818) rotate(0 135.86990356445312 25)"><text x="135.86990356445312" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Ensure that the sum is </text><text x="135.86990356445312" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">equal to the input index</text></g><g stroke-linecap="round"><g transform="translate(1291.0613371450745 579.2123614620255) rotate(0 0.40083312327897147 13.735085498648914)"><path d="M0.48 0.27 C0.66 4.73, 0.43 22.6, 0.57 27.18 M0.06 -0.06 C0.2 4.7, -0.18 23.25, 0.02 27.73" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1291.0613371450745 579.2123614620255) rotate(0 0.40083312327897147 13.735085498648914)"><path d="M-4.78 14.86 C-3.39 17.2, -3.1 20.83, 0.02 27.73 M-4.78 14.86 C-2.72 19.48, -1.64 23.89, 0.02 27.73" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1291.0613371450745 579.2123614620255) rotate(0 0.40083312327897147 13.735085498648914)"><path d="M4.62 14.78 C4.07 17.19, 2.42 20.82, 0.02 27.73 M4.62 14.78 C3.39 19.42, 1.19 23.86, 0.02 27.73" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask></svg>
@@ -18,4 +18,4 @@
18
18
  </style>
19
19
 
20
20
  </defs>
21
- <rect x="0" y="0" width="1726.2398646666636" height="556.7500946281539" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(317.5090062381055 179.7013599994475) rotate(0 114.33810379333909 33.80052213620306)"><path d="M16.9 0 C72.55 2.34, 132.99 1.53, 211.78 0 M16.9 0 C88.23 1.51, 160.2 1.11, 211.78 0 M211.78 0 C221.4 -0.9, 228.03 4.57, 228.68 16.9 M211.78 0 C223.53 -2.05, 229.36 5.89, 228.68 16.9 M228.68 16.9 C227.3 25.43, 228.65 30.07, 228.68 50.7 M228.68 16.9 C228.34 24.66, 229.43 31.74, 228.68 50.7 M228.68 50.7 C227.41 60.67, 222.15 66.99, 211.78 67.6 M228.68 50.7 C228.29 60.16, 224.61 68.44, 211.78 67.6 M211.78 67.6 C169.85 65.81, 125.64 65.97, 16.9 67.6 M211.78 67.6 C169.39 69.18, 125.54 68.43, 16.9 67.6 M16.9 67.6 C6.67 68.07, -1.92 61.77, 0 50.7 M16.9 67.6 C5.51 68.88, 2.29 62.3, 0 50.7 M0 50.7 C-1.87 43.4, 0.28 35.31, 0 16.9 M0 50.7 C1.28 40.31, 0.13 30.36, 0 16.9 M0 16.9 C1.02 7.57, 5.31 1.13, 16.9 0 M0 16.9 C-1.1 7.63, 7.74 0.04, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(372.0971710666008 201.0018821356506) rotate(0 59.74993896484375 12.5)"><text x="59.74993896484375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">QuinSelector</text></g><g stroke-linecap="round" transform="translate(448.72075975248936 34.1101000361009) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C84.07 1.21, 147.39 -0.83, 204.03 0 M16.09 0 C64.24 1.04, 113.7 0.96, 204.03 0 M204.03 0 C215.18 -1.78, 220.71 5.58, 220.12 16.09 M204.03 0 C212.68 -0.47, 220.72 3.86, 220.12 16.09 M220.12 16.09 C218.72 29.08, 218.34 38.96, 220.12 48.27 M220.12 16.09 C219.67 25.06, 219.86 35.02, 220.12 48.27 M220.12 48.27 C219.78 57.42, 216.11 65.08, 204.03 64.35 M220.12 48.27 C218.22 57.46, 214.31 64.92, 204.03 64.35 M204.03 64.35 C159.38 62.49, 119.59 63.98, 16.09 64.35 M204.03 64.35 C148.75 63.12, 91.48 62.79, 16.09 64.35 M16.09 64.35 C5.26 65.47, 1.99 59.28, 0 48.27 M16.09 64.35 C4.19 65.33, -2.13 57, 0 48.27 M0 48.27 C-0.16 35.11, -1.64 27.36, 0 16.09 M0 48.27 C0.56 40.87, -0.11 32.11, 0 16.09 M0 16.09 C-0.96 7.1, 7.19 0.03, 16.09 0 M0 16.09 C-0.34 5.39, 4.09 2.09, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(456.27841483739894 41.28751658697689) rotate(0 102.49991607666016 25)"><text x="102.49991607666016" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">inputs (array of len </text><text x="102.49991607666016" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">choices)</text></g><g stroke-linecap="round"><g transform="translate(419.09219601778295 130.03175380389303) rotate(0 -0.4458028198948796 19.782500132839004)"><path d="M-0.16 -0.22 C-0.37 6.39, -0.66 32.54, -0.86 39.13 M0.76 -0.8 C0.45 5.91, -1.1 32.84, -1.27 39.6" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(419.09219601778295 130.03175380389303) rotate(0 -0.4458028198948796 19.782500132839004)"><path d="M-7.22 20.73 C-5.48 27.85, -3.65 34.02, -1.27 39.6 M-7.22 20.73 C-5.63 25.12, -4.07 30.43, -1.27 39.6" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(419.09219601778295 130.03175380389303) rotate(0 -0.4458028198948796 19.782500132839004)"><path d="M6.3 21.32 C2.99 28.2, -0.23 34.15, -1.27 39.6 M6.3 21.32 C4.45 25.52, 2.56 30.68, -1.27 39.6" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(10 183.09761534237714) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C65.52 -1.77, 117.23 -0.77, 204.03 0 M16.09 0 C62.77 1.79, 107.96 1.47, 204.03 0 M204.03 0 C215.28 -1.3, 221.54 5.4, 220.12 16.09 M204.03 0 C213.57 -1.61, 221.31 3.31, 220.12 16.09 M220.12 16.09 C218.69 22.82, 218.81 31.19, 220.12 48.27 M220.12 16.09 C220.74 25.12, 219.24 32.76, 220.12 48.27 M220.12 48.27 C219.73 59.49, 213.33 63.06, 204.03 64.35 M220.12 48.27 C218.67 57.14, 213.96 66.25, 204.03 64.35 M204.03 64.35 C138.53 64.17, 76.62 61.21, 16.09 64.35 M204.03 64.35 C150.49 65.55, 94.45 65.82, 16.09 64.35 M16.09 64.35 C3.51 62.62, 1.11 59.42, 0 48.27 M16.09 64.35 C7.02 64.25, -1.98 57.19, 0 48.27 M0 48.27 C-0.61 36.46, 2.06 22.29, 0 16.09 M0 48.27 C1.07 36.82, 0.01 25.35, 0 16.09 M0 16.09 C-1.11 7.18, 7.2 -1.97, 16.09 0 M0 16.09 C0.91 3.21, 4.75 0.94, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(29.237655390085365 202.77503189325307) rotate(0 90.81991577148438 12.5)"><text x="90.81991577148438" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">parameter: choices</text></g><g transform="translate(464.49391098097476 132.57860880273734) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g transform="translate(475.78014709297713 281.1455165092334) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(414.7992799743497 279.87516273914434) rotate(0 0.2229014099473261 20.511057519056408)"><path d="M0.16 0.06 C0.14 6.96, -0.12 34.14, -0.05 40.91 M-0.42 -0.38 C-0.29 6.64, 0.81 34.64, 0.93 41.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(414.7992799743497 279.87516273914434) rotate(0 0.2229014099473261 20.511057519056408)"><path d="M-6.66 22.49 C-4.19 27.7, -2.07 34.99, 0.93 41.55 M-6.66 22.49 C-5.06 26.62, -2.76 31, 0.93 41.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(414.7992799743497 279.87516273914434) rotate(0 0.2229014099473261 20.511057519056408)"><path d="M7.37 22.07 C5.33 27.44, 2.94 34.86, 0.93 41.55 M7.37 22.07 C5.67 26.3, 4.68 30.78, 0.93 41.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(318.2396275262663 346.7732951060366) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C77.67 2.22, 138.76 3.12, 204.03 0 M16.09 0 C73.38 0.42, 129.11 1.31, 204.03 0 M204.03 0 C215.92 -1.42, 218.85 4.06, 220.12 16.09 M204.03 0 C213.72 -0.7, 219.73 3.56, 220.12 16.09 M220.12 16.09 C218.9 27.55, 220.73 38.36, 220.12 48.27 M220.12 16.09 C219.57 24.48, 220.32 31.19, 220.12 48.27 M220.12 48.27 C218.81 57.43, 215.79 64.82, 204.03 64.35 M220.12 48.27 C217.91 58.77, 214.63 65.64, 204.03 64.35 M204.03 64.35 C129.77 61.54, 52.09 64.5, 16.09 64.35 M204.03 64.35 C142.8 63.48, 84.29 63.87, 16.09 64.35 M16.09 64.35 C5.04 63.62, 1.02 60.93, 0 48.27 M16.09 64.35 C4.99 65.65, -1.1 60.99, 0 48.27 M0 48.27 C0.02 34.56, 1.82 24.9, 0 16.09 M0 48.27 C-0.39 42.18, -0.8 34.49, 0 16.09 M0 16.09 C1.82 6.6, 6.15 1.96, 16.09 0 M0 16.09 C1.49 5.33, 6.15 2.09, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(339.257274066254 353.9507116569125) rotate(0 89.03992462158203 25)"><text x="89.03992462158203" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">out (the item at </text><text x="89.03992462158203" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">position index)</text></g><g stroke-linecap="round"><g transform="translate(245.4148474337021 216.5587789023955) rotate(0 24.285934174555905 -0.22909311577939206)"><path d="M0.39 0.01 C8.42 -0.07, 40.21 -0.68, 48.29 -0.84 M-0.07 -0.46 C8.12 -0.45, 41.26 -0.32, 49.38 -0.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.4148474337021 216.5587789023955) rotate(0 24.285934174555905 -0.22909311577939206)"><path d="M26.55 7.94 C34.04 4.64, 40.77 2.98, 49.38 -0.34 M26.55 7.94 C31.68 5.84, 35.88 4.12, 49.38 -0.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.4148474337021 216.5587789023955) rotate(0 24.285934174555905 -0.22909311577939206)"><path d="M26.56 -8.67 C34 -6.55, 40.72 -2.8, 49.38 -0.34 M26.56 -8.67 C31.65 -7.27, 35.85 -5.48, 49.38 -0.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(734.4733671384581 26.24845491581698) rotate(0 178.05165552974745 52.21168965587836)"><path d="M26.11 0 C137.96 1.89, 250.55 0.39, 330 0 M26.11 0 C116.51 1.1, 207.51 1.35, 330 0 M330 0 C347.06 -1.57, 357.46 9.43, 356.1 26.11 M330 0 C345.51 -1.53, 355.66 9.27, 356.1 26.11 M356.1 26.11 C354.16 37.37, 357.42 50.83, 356.1 78.32 M356.1 26.11 C356.28 41.84, 354.8 57.01, 356.1 78.32 M356.1 78.32 C356 96.84, 349.39 104.72, 330 104.42 M356.1 78.32 C354.93 96.69, 345.27 102.43, 330 104.42 M330 104.42 C221.92 104.76, 112.83 107.45, 26.11 104.42 M330 104.42 C251.41 104.31, 171.96 104.02, 26.11 104.42 M26.11 104.42 C7.75 106.16, 1.83 95.76, 0 78.32 M26.11 104.42 C8.36 104.45, -1.27 97.82, 0 78.32 M0 78.32 C-1.36 57.33, 1.33 36.06, 0 26.11 M0 78.32 C-0.08 67.76, 0.17 55.23, 0 26.11 M0 26.11 C0.69 10.52, 10.19 1.5, 26.11 0 M0 26.11 C1.2 9.74, 10.04 -2.15, 26.11 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(744.7251569455493 53.46014457169531) rotate(0 167.79986572265625 25)"><text x="167.79986572265625" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Ensure that index is less than </text><text x="167.79986572265625" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">choices </text></g><g stroke-linecap="round" transform="translate(738.3629707328478 166.0304267959442) rotate(0 154.0961636167916 74.82411558956784)"><path d="M32 0 C117.97 2, 202.79 -0.01, 276.19 0 M32 0 C89.23 -0.03, 147.31 0.92, 276.19 0 M276.19 0 C295.88 -1.33, 307.81 11.16, 308.19 32 M276.19 0 C295.89 -1.49, 306.75 8.82, 308.19 32 M308.19 32 C308.84 53.44, 307.34 78.53, 308.19 117.65 M308.19 32 C307.32 60.24, 308.37 87.51, 308.19 117.65 M308.19 117.65 C307.17 139.83, 295.67 147.92, 276.19 149.65 M308.19 117.65 C309.47 139.47, 299.18 149.54, 276.19 149.65 M276.19 149.65 C223.26 151.37, 171.05 152.48, 32 149.65 M276.19 149.65 C178.91 151.5, 83.17 150.8, 32 149.65 M32 149.65 C10.37 149.67, -1.11 140.8, 0 117.65 M32 149.65 C12.78 147.39, 0.91 136.83, 0 117.65 M0 117.65 C-1.93 96.05, 0.89 71.58, 0 32 M0 117.65 C-0.21 84.49, 0.19 50.26, 0 32 M0 32 C1.04 11.57, 11.83 -1.87, 32 0 M0 32 C1.98 10.57, 8.71 2.27, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(746.8692600820614 190.85454238551205) rotate(0 145.58987426757812 50)"><text x="145.58987426757812" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Loop through the input </text><text x="145.58987426757812" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">array and for each item </text><text x="145.58987426757812" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">check whether it matches the</text><text x="145.58987426757812" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">input index</text></g><g transform="translate(602.5904103336552 158.1012293469214) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(585.4137980735959 218.7355504839138) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M-0.23 0.3 C17.81 0.02, 89.32 -1.98, 107.25 -2.47 M-1.81 -0.59 C16.69 -0.67, 90.9 -1.14, 109.51 -1.35" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(585.4137980735959 218.7355504839138) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M86.09 7.4 C91.74 4.12, 95.05 2.38, 109.51 -1.35 M86.09 7.4 C91.67 5.26, 95.76 2.59, 109.51 -1.35" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(585.4137980735959 218.7355504839138) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M85.95 -9.7 C91.52 -9.26, 94.85 -7.27, 109.51 -1.35 M85.95 -9.7 C91.5 -8.09, 95.62 -7.01, 109.51 -1.35" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(205.81880349909534 33.45182312782447) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C61.8 1.78, 107.24 0.5, 204.03 0 M16.09 0 C65.95 0.51, 117.25 2.04, 204.03 0 M204.03 0 C213.8 0.53, 219.65 5.46, 220.12 16.09 M204.03 0 C213.39 1.83, 220.01 6.95, 220.12 16.09 M220.12 16.09 C221.28 28.81, 218.68 42.51, 220.12 48.27 M220.12 16.09 C219.9 27.03, 220.83 37.38, 220.12 48.27 M220.12 48.27 C219.45 58.57, 216.19 62.61, 204.03 64.35 M220.12 48.27 C222.21 58.52, 213.17 62.33, 204.03 64.35 M204.03 64.35 C128.58 61.75, 55.69 62.95, 16.09 64.35 M204.03 64.35 C157.94 63.52, 109.97 62.85, 16.09 64.35 M16.09 64.35 C6.84 65.63, -0.15 58.73, 0 48.27 M16.09 64.35 C6.75 62.25, 0.19 56.91, 0 48.27 M0 48.27 C-0.2 40.4, 0.37 31.16, 0 16.09 M0 48.27 C0.24 39.33, 0.55 31.4, 0 16.09 M0 16.09 C-0.03 6.7, 3.54 1.27, 16.09 0 M0 16.09 C0.45 7.63, 4.34 0.74, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(292.23639815920023 53.129239678700344) rotate(0 23.639976501464844 12.5)"><text x="23.639976501464844" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index</text></g><g stroke-linecap="round" transform="translate(723.947119801767 359.9838907767633) rotate(0 149.3561462454919 88.4394586727388)"><path d="M32 0 C123.15 0.75, 214.76 -0.03, 266.71 0 M32 0 C125.29 -1.79, 217.2 -0.78, 266.71 0 M266.71 0 C288.1 1.33, 300.39 10.53, 298.71 32 M266.71 0 C286.59 -1.54, 297.89 9.01, 298.71 32 M298.71 32 C300.84 71.54, 299.03 111.73, 298.71 144.88 M298.71 32 C298.21 69.3, 298.49 103.87, 298.71 144.88 M298.71 144.88 C296.94 166.01, 288.48 175.76, 266.71 176.88 M298.71 144.88 C299.18 165.37, 290.32 178.62, 266.71 176.88 M266.71 176.88 C209.64 176.38, 152.63 177.3, 32 176.88 M266.71 176.88 C201.31 179.24, 135.27 177.9, 32 176.88 M32 176.88 C9.72 178.71, -1.72 167.62, 0 144.88 M32 176.88 C12.63 175.81, -1.99 165.84, 0 144.88 M0 144.88 C0.16 117.5, -1.89 89.75, 0 32 M0 144.88 C0.47 120.83, 1.12 98.02, 0 32 M0 32 C-1.21 9.75, 10.68 -1.51, 32 0 M0 32 C-1.08 9.95, 9.95 -0.54, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(729.7733893382745 398.4233494495021) rotate(0 143.52987670898438 50)"><text x="143.52987670898438" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Wire the output (sum) of </text><text x="143.52987670898438" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the CalculateTotal </text><text x="143.52987670898438" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">component to the output </text><text x="143.52987670898438" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">signal</text></g><g stroke-linecap="round"><g transform="translate(1060.9039681230076 238.5598272552744) rotate(0 69.55589745407633 -62.070266139203596)"><path d="M0.59 1.12 C23.92 -19.56, 115.91 -102.67, 138.93 -123.55 M-0.56 0.66 C22.7 -20.42, 114.83 -104.78, 137.89 -125.36" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1060.9039681230076 238.5598272552744) rotate(0 69.55589745407633 -62.070266139203596)"><path d="M126.22 -103.26 C130.46 -108.3, 132.05 -113.26, 137.89 -125.36 M126.22 -103.26 C130.64 -109.97, 133.1 -116.09, 137.89 -125.36" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1060.9039681230076 238.5598272552744) rotate(0 69.55589745407633 -62.070266139203596)"><path d="M114.74 -115.93 C121.47 -118.34, 125.49 -120.62, 137.89 -125.36 M114.74 -115.93 C122.61 -118.96, 128.48 -121.31, 137.89 -125.36" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1243.3779812011612 10) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C67.69 -2.39, 112.69 1.47, 192.62 0 M27.5 0 C79.22 -1.28, 131.29 -0.57, 192.62 0 M192.62 0 C209.16 0.01, 220.67 8.56, 220.12 27.5 M192.62 0 C209.39 -0.77, 220.99 9.86, 220.12 27.5 M220.12 27.5 C217.82 40.86, 220.14 54, 220.12 82.5 M220.12 27.5 C219.69 43.25, 218.8 57.93, 220.12 82.5 M220.12 82.5 C219.84 99.98, 212.63 111.75, 192.62 110 M220.12 82.5 C220.26 101.92, 209.03 112.23, 192.62 110 M192.62 110 C149.12 111.96, 107.13 111.8, 27.5 110 M192.62 110 C151.9 109.98, 110.51 109.61, 27.5 110 M27.5 110 C10.59 108.73, 0.57 99.33, 0 82.5 M27.5 110 C10.07 108.67, 1.96 98.61, 0 82.5 M0 82.5 C0.5 68.99, -0.06 56.59, 0 27.5 M0 82.5 C0.38 60.86, 0.92 39.92, 0 27.5 M0 27.5 C-1.71 7.21, 11.15 -0.95, 27.5 0 M0 27.5 C-1.99 8.6, 9.79 -0.7, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1251.745641474059 15) rotate(0 101.68991088867188 50)"><text x="101.68991088867188" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Use IsEqual to </text><text x="101.68991088867188" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">compare the loop </text><text x="101.68991088867188" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index with the input </text><text x="101.68991088867188" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index</text></g><g stroke-linecap="round" transform="translate(1233.229069014411 137.75945762091044) rotate(0 241.50539782612634 93.32989037301348)"><path d="M32 0 C162.97 -1.7, 296.47 -0.8, 451.01 0 M32 0 C142.91 1.25, 252.89 1.29, 451.01 0 M451.01 0 C471.9 -0.64, 482.57 9.19, 483.01 32 M451.01 0 C473.13 0.24, 482.03 9.08, 483.01 32 M483.01 32 C482.92 68.55, 482.78 106.39, 483.01 154.66 M483.01 32 C484.37 68.76, 482.67 106.25, 483.01 154.66 M483.01 154.66 C484.01 174.83, 470.66 187.78, 451.01 186.66 M483.01 154.66 C481.01 176.93, 470.31 184.93, 451.01 186.66 M451.01 186.66 C354.71 185.98, 260.11 186.75, 32 186.66 M451.01 186.66 C296.34 186.57, 141.26 185.79, 32 186.66 M32 186.66 C9.54 186.54, 0.93 176.06, 0 154.66 M32 186.66 C9.92 188.4, 1.55 176.61, 0 154.66 M0 154.66 C-1.28 123.32, 0.94 94.25, 0 32 M0 154.66 C1.65 117.85, 1.17 80.48, 0 32 M0 32 C-1.36 11.34, 12.44 -0.28, 32 0 M0 32 C-2.18 10.59, 12.15 -1.4, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1239.764663984092 181.08934799392392) rotate(0 234.9698028564453 50)"><text x="234.9698028564453" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Multiply the output of IsEqual (1 if it matches</text><text x="234.9698028564453" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">0 if not) with the input item at index i </text><text x="234.9698028564453" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">(current loop index)</text><text x="234.9698028564453" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">and assign it to the CalculateTotal component</text></g><g stroke-linecap="round" transform="translate(1094.369839086374 342.24846313445687) rotate(0 226.14668123457614 102.2508157468485)"><path d="M32 0 C121.02 -2.44, 210.28 -1.92, 420.29 0 M32 0 C186.64 0.92, 340.7 0.91, 420.29 0 M420.29 0 C440.73 -0.46, 450.8 11.2, 452.29 32 M420.29 0 C439.34 1.49, 452.65 8.45, 452.29 32 M452.29 32 C453.07 86.53, 453.06 142.61, 452.29 172.5 M452.29 32 C450.93 73.67, 452.36 115.16, 452.29 172.5 M452.29 172.5 C451.05 193.34, 440.1 205.89, 420.29 204.5 M452.29 172.5 C454.01 195.25, 439.65 203.28, 420.29 204.5 M420.29 204.5 C282.44 206.35, 143.38 205.9, 32 204.5 M420.29 204.5 C330.97 203.62, 242.31 203.3, 32 204.5 M32 204.5 C8.81 205.18, 0.23 193.6, 0 172.5 M32 204.5 C11.73 203.02, -0.23 195.84, 0 172.5 M0 172.5 C-0.75 142.74, -0.69 108.36, 0 32 M0 172.5 C0.26 124.38, 0.47 75.12, 0 32 M0 32 C-0.61 9.45, 9.1 -1.2, 32 0 M0 32 C-1.61 9.73, 12.92 1.28, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1099.4166820641142 381.9992788813054) rotate(0 221.09983825683594 62.5)"><text x="221.09983825683594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Because only 1 input to CalculateTotal </text><text x="221.09983825683594" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">would have been not 0 (as the index </text><text x="221.09983825683594" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">matched in the step above) we can use the </text><text x="221.09983825683594" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">sum as the actual number we were looking </text><text x="221.09983825683594" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">for</text></g><g stroke-linecap="round"><g transform="translate(1041.9300550680268 435.0304946454992) rotate(0 19.22936613285583 2.9515384436173733)"><path d="M-0.31 0.27 C6.03 1.3, 31.84 5.41, 38.25 6.35 M0.53 -0.07 C6.77 0.81, 31.26 4.51, 37.72 5.61" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1041.9300550680268 435.0304946454992) rotate(0 19.22936613285583 2.9515384436173733)"><path d="M18.62 9.3 C25.36 7.78, 31.96 6.35, 37.72 5.61 M18.62 9.3 C24.18 7.75, 29.85 7.18, 37.72 5.61" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1041.9300550680268 435.0304946454992) rotate(0 19.22936613285583 2.9515384436173733)"><path d="M20.71 -3.84 C26.78 -1.05, 32.69 1.85, 37.72 5.61 M20.71 -3.84 C25.67 -1.44, 30.71 1.94, 37.72 5.61" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask></svg>
21
+ <rect x="0" y="0" width="1726.2398646666636" height="556.7500946281539" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(317.5090062381055 179.7013599994475) rotate(0 114.33810379333909 33.80052213620306)"><path d="M16.9 0 C72.55 2.34, 132.99 1.53, 211.78 0 M16.9 0 C88.23 1.51, 160.2 1.11, 211.78 0 M211.78 0 C221.4 -0.9, 228.03 4.57, 228.68 16.9 M211.78 0 C223.53 -2.05, 229.36 5.89, 228.68 16.9 M228.68 16.9 C227.3 25.43, 228.65 30.07, 228.68 50.7 M228.68 16.9 C228.34 24.66, 229.43 31.74, 228.68 50.7 M228.68 50.7 C227.41 60.67, 222.15 66.99, 211.78 67.6 M228.68 50.7 C228.29 60.16, 224.61 68.44, 211.78 67.6 M211.78 67.6 C169.85 65.81, 125.64 65.97, 16.9 67.6 M211.78 67.6 C169.39 69.18, 125.54 68.43, 16.9 67.6 M16.9 67.6 C6.67 68.07, -1.92 61.77, 0 50.7 M16.9 67.6 C5.51 68.88, 2.29 62.3, 0 50.7 M0 50.7 C-1.87 43.4, 0.28 35.31, 0 16.9 M0 50.7 C1.28 40.31, 0.13 30.36, 0 16.9 M0 16.9 C1.02 7.57, 5.31 1.13, 16.9 0 M0 16.9 C-1.1 7.63, 7.74 0.04, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(372.0971710666008 201.0018821356506) rotate(0 59.74993896484375 12.5)"><text x="59.74993896484375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">QuinarySelector</text></g><g stroke-linecap="round" transform="translate(448.72075975248936 34.1101000361009) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C84.07 1.21, 147.39 -0.83, 204.03 0 M16.09 0 C64.24 1.04, 113.7 0.96, 204.03 0 M204.03 0 C215.18 -1.78, 220.71 5.58, 220.12 16.09 M204.03 0 C212.68 -0.47, 220.72 3.86, 220.12 16.09 M220.12 16.09 C218.72 29.08, 218.34 38.96, 220.12 48.27 M220.12 16.09 C219.67 25.06, 219.86 35.02, 220.12 48.27 M220.12 48.27 C219.78 57.42, 216.11 65.08, 204.03 64.35 M220.12 48.27 C218.22 57.46, 214.31 64.92, 204.03 64.35 M204.03 64.35 C159.38 62.49, 119.59 63.98, 16.09 64.35 M204.03 64.35 C148.75 63.12, 91.48 62.79, 16.09 64.35 M16.09 64.35 C5.26 65.47, 1.99 59.28, 0 48.27 M16.09 64.35 C4.19 65.33, -2.13 57, 0 48.27 M0 48.27 C-0.16 35.11, -1.64 27.36, 0 16.09 M0 48.27 C0.56 40.87, -0.11 32.11, 0 16.09 M0 16.09 C-0.96 7.1, 7.19 0.03, 16.09 0 M0 16.09 C-0.34 5.39, 4.09 2.09, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(456.27841483739894 41.28751658697689) rotate(0 102.49991607666016 25)"><text x="102.49991607666016" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">inputs (array of len </text><text x="102.49991607666016" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">choices)</text></g><g stroke-linecap="round"><g transform="translate(419.09219601778295 130.03175380389303) rotate(0 -0.4458028198948796 19.782500132839004)"><path d="M-0.16 -0.22 C-0.37 6.39, -0.66 32.54, -0.86 39.13 M0.76 -0.8 C0.45 5.91, -1.1 32.84, -1.27 39.6" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(419.09219601778295 130.03175380389303) rotate(0 -0.4458028198948796 19.782500132839004)"><path d="M-7.22 20.73 C-5.48 27.85, -3.65 34.02, -1.27 39.6 M-7.22 20.73 C-5.63 25.12, -4.07 30.43, -1.27 39.6" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(419.09219601778295 130.03175380389303) rotate(0 -0.4458028198948796 19.782500132839004)"><path d="M6.3 21.32 C2.99 28.2, -0.23 34.15, -1.27 39.6 M6.3 21.32 C4.45 25.52, 2.56 30.68, -1.27 39.6" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(10 183.09761534237714) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C65.52 -1.77, 117.23 -0.77, 204.03 0 M16.09 0 C62.77 1.79, 107.96 1.47, 204.03 0 M204.03 0 C215.28 -1.3, 221.54 5.4, 220.12 16.09 M204.03 0 C213.57 -1.61, 221.31 3.31, 220.12 16.09 M220.12 16.09 C218.69 22.82, 218.81 31.19, 220.12 48.27 M220.12 16.09 C220.74 25.12, 219.24 32.76, 220.12 48.27 M220.12 48.27 C219.73 59.49, 213.33 63.06, 204.03 64.35 M220.12 48.27 C218.67 57.14, 213.96 66.25, 204.03 64.35 M204.03 64.35 C138.53 64.17, 76.62 61.21, 16.09 64.35 M204.03 64.35 C150.49 65.55, 94.45 65.82, 16.09 64.35 M16.09 64.35 C3.51 62.62, 1.11 59.42, 0 48.27 M16.09 64.35 C7.02 64.25, -1.98 57.19, 0 48.27 M0 48.27 C-0.61 36.46, 2.06 22.29, 0 16.09 M0 48.27 C1.07 36.82, 0.01 25.35, 0 16.09 M0 16.09 C-1.11 7.18, 7.2 -1.97, 16.09 0 M0 16.09 C0.91 3.21, 4.75 0.94, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(29.237655390085365 202.77503189325307) rotate(0 90.81991577148438 12.5)"><text x="90.81991577148438" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">parameter: choices</text></g><g transform="translate(464.49391098097476 132.57860880273734) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g transform="translate(475.78014709297713 281.1455165092334) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(414.7992799743497 279.87516273914434) rotate(0 0.2229014099473261 20.511057519056408)"><path d="M0.16 0.06 C0.14 6.96, -0.12 34.14, -0.05 40.91 M-0.42 -0.38 C-0.29 6.64, 0.81 34.64, 0.93 41.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(414.7992799743497 279.87516273914434) rotate(0 0.2229014099473261 20.511057519056408)"><path d="M-6.66 22.49 C-4.19 27.7, -2.07 34.99, 0.93 41.55 M-6.66 22.49 C-5.06 26.62, -2.76 31, 0.93 41.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(414.7992799743497 279.87516273914434) rotate(0 0.2229014099473261 20.511057519056408)"><path d="M7.37 22.07 C5.33 27.44, 2.94 34.86, 0.93 41.55 M7.37 22.07 C5.67 26.3, 4.68 30.78, 0.93 41.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(318.2396275262663 346.7732951060366) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C77.67 2.22, 138.76 3.12, 204.03 0 M16.09 0 C73.38 0.42, 129.11 1.31, 204.03 0 M204.03 0 C215.92 -1.42, 218.85 4.06, 220.12 16.09 M204.03 0 C213.72 -0.7, 219.73 3.56, 220.12 16.09 M220.12 16.09 C218.9 27.55, 220.73 38.36, 220.12 48.27 M220.12 16.09 C219.57 24.48, 220.32 31.19, 220.12 48.27 M220.12 48.27 C218.81 57.43, 215.79 64.82, 204.03 64.35 M220.12 48.27 C217.91 58.77, 214.63 65.64, 204.03 64.35 M204.03 64.35 C129.77 61.54, 52.09 64.5, 16.09 64.35 M204.03 64.35 C142.8 63.48, 84.29 63.87, 16.09 64.35 M16.09 64.35 C5.04 63.62, 1.02 60.93, 0 48.27 M16.09 64.35 C4.99 65.65, -1.1 60.99, 0 48.27 M0 48.27 C0.02 34.56, 1.82 24.9, 0 16.09 M0 48.27 C-0.39 42.18, -0.8 34.49, 0 16.09 M0 16.09 C1.82 6.6, 6.15 1.96, 16.09 0 M0 16.09 C1.49 5.33, 6.15 2.09, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(339.257274066254 353.9507116569125) rotate(0 89.03992462158203 25)"><text x="89.03992462158203" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">out (the item at </text><text x="89.03992462158203" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">position index)</text></g><g stroke-linecap="round"><g transform="translate(245.4148474337021 216.5587789023955) rotate(0 24.285934174555905 -0.22909311577939206)"><path d="M0.39 0.01 C8.42 -0.07, 40.21 -0.68, 48.29 -0.84 M-0.07 -0.46 C8.12 -0.45, 41.26 -0.32, 49.38 -0.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.4148474337021 216.5587789023955) rotate(0 24.285934174555905 -0.22909311577939206)"><path d="M26.55 7.94 C34.04 4.64, 40.77 2.98, 49.38 -0.34 M26.55 7.94 C31.68 5.84, 35.88 4.12, 49.38 -0.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.4148474337021 216.5587789023955) rotate(0 24.285934174555905 -0.22909311577939206)"><path d="M26.56 -8.67 C34 -6.55, 40.72 -2.8, 49.38 -0.34 M26.56 -8.67 C31.65 -7.27, 35.85 -5.48, 49.38 -0.34" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(734.4733671384581 26.24845491581698) rotate(0 178.05165552974745 52.21168965587836)"><path d="M26.11 0 C137.96 1.89, 250.55 0.39, 330 0 M26.11 0 C116.51 1.1, 207.51 1.35, 330 0 M330 0 C347.06 -1.57, 357.46 9.43, 356.1 26.11 M330 0 C345.51 -1.53, 355.66 9.27, 356.1 26.11 M356.1 26.11 C354.16 37.37, 357.42 50.83, 356.1 78.32 M356.1 26.11 C356.28 41.84, 354.8 57.01, 356.1 78.32 M356.1 78.32 C356 96.84, 349.39 104.72, 330 104.42 M356.1 78.32 C354.93 96.69, 345.27 102.43, 330 104.42 M330 104.42 C221.92 104.76, 112.83 107.45, 26.11 104.42 M330 104.42 C251.41 104.31, 171.96 104.02, 26.11 104.42 M26.11 104.42 C7.75 106.16, 1.83 95.76, 0 78.32 M26.11 104.42 C8.36 104.45, -1.27 97.82, 0 78.32 M0 78.32 C-1.36 57.33, 1.33 36.06, 0 26.11 M0 78.32 C-0.08 67.76, 0.17 55.23, 0 26.11 M0 26.11 C0.69 10.52, 10.19 1.5, 26.11 0 M0 26.11 C1.2 9.74, 10.04 -2.15, 26.11 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(744.7251569455493 53.46014457169531) rotate(0 167.79986572265625 25)"><text x="167.79986572265625" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Ensure that index is less than </text><text x="167.79986572265625" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">choices </text></g><g stroke-linecap="round" transform="translate(738.3629707328478 166.0304267959442) rotate(0 154.0961636167916 74.82411558956784)"><path d="M32 0 C117.97 2, 202.79 -0.01, 276.19 0 M32 0 C89.23 -0.03, 147.31 0.92, 276.19 0 M276.19 0 C295.88 -1.33, 307.81 11.16, 308.19 32 M276.19 0 C295.89 -1.49, 306.75 8.82, 308.19 32 M308.19 32 C308.84 53.44, 307.34 78.53, 308.19 117.65 M308.19 32 C307.32 60.24, 308.37 87.51, 308.19 117.65 M308.19 117.65 C307.17 139.83, 295.67 147.92, 276.19 149.65 M308.19 117.65 C309.47 139.47, 299.18 149.54, 276.19 149.65 M276.19 149.65 C223.26 151.37, 171.05 152.48, 32 149.65 M276.19 149.65 C178.91 151.5, 83.17 150.8, 32 149.65 M32 149.65 C10.37 149.67, -1.11 140.8, 0 117.65 M32 149.65 C12.78 147.39, 0.91 136.83, 0 117.65 M0 117.65 C-1.93 96.05, 0.89 71.58, 0 32 M0 117.65 C-0.21 84.49, 0.19 50.26, 0 32 M0 32 C1.04 11.57, 11.83 -1.87, 32 0 M0 32 C1.98 10.57, 8.71 2.27, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(746.8692600820614 190.85454238551205) rotate(0 145.58987426757812 50)"><text x="145.58987426757812" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Loop through the input </text><text x="145.58987426757812" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">array and for each item </text><text x="145.58987426757812" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">check whether it matches the</text><text x="145.58987426757812" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">input index</text></g><g transform="translate(602.5904103336552 158.1012293469214) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(585.4137980735959 218.7355504839138) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M-0.23 0.3 C17.81 0.02, 89.32 -1.98, 107.25 -2.47 M-1.81 -0.59 C16.69 -0.67, 90.9 -1.14, 109.51 -1.35" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(585.4137980735959 218.7355504839138) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M86.09 7.4 C91.74 4.12, 95.05 2.38, 109.51 -1.35 M86.09 7.4 C91.67 5.26, 95.76 2.59, 109.51 -1.35" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(585.4137980735959 218.7355504839138) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M85.95 -9.7 C91.52 -9.26, 94.85 -7.27, 109.51 -1.35 M85.95 -9.7 C91.5 -8.09, 95.62 -7.01, 109.51 -1.35" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(205.81880349909534 33.45182312782447) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C61.8 1.78, 107.24 0.5, 204.03 0 M16.09 0 C65.95 0.51, 117.25 2.04, 204.03 0 M204.03 0 C213.8 0.53, 219.65 5.46, 220.12 16.09 M204.03 0 C213.39 1.83, 220.01 6.95, 220.12 16.09 M220.12 16.09 C221.28 28.81, 218.68 42.51, 220.12 48.27 M220.12 16.09 C219.9 27.03, 220.83 37.38, 220.12 48.27 M220.12 48.27 C219.45 58.57, 216.19 62.61, 204.03 64.35 M220.12 48.27 C222.21 58.52, 213.17 62.33, 204.03 64.35 M204.03 64.35 C128.58 61.75, 55.69 62.95, 16.09 64.35 M204.03 64.35 C157.94 63.52, 109.97 62.85, 16.09 64.35 M16.09 64.35 C6.84 65.63, -0.15 58.73, 0 48.27 M16.09 64.35 C6.75 62.25, 0.19 56.91, 0 48.27 M0 48.27 C-0.2 40.4, 0.37 31.16, 0 16.09 M0 48.27 C0.24 39.33, 0.55 31.4, 0 16.09 M0 16.09 C-0.03 6.7, 3.54 1.27, 16.09 0 M0 16.09 C0.45 7.63, 4.34 0.74, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(292.23639815920023 53.129239678700344) rotate(0 23.639976501464844 12.5)"><text x="23.639976501464844" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index</text></g><g stroke-linecap="round" transform="translate(723.947119801767 359.9838907767633) rotate(0 149.3561462454919 88.4394586727388)"><path d="M32 0 C123.15 0.75, 214.76 -0.03, 266.71 0 M32 0 C125.29 -1.79, 217.2 -0.78, 266.71 0 M266.71 0 C288.1 1.33, 300.39 10.53, 298.71 32 M266.71 0 C286.59 -1.54, 297.89 9.01, 298.71 32 M298.71 32 C300.84 71.54, 299.03 111.73, 298.71 144.88 M298.71 32 C298.21 69.3, 298.49 103.87, 298.71 144.88 M298.71 144.88 C296.94 166.01, 288.48 175.76, 266.71 176.88 M298.71 144.88 C299.18 165.37, 290.32 178.62, 266.71 176.88 M266.71 176.88 C209.64 176.38, 152.63 177.3, 32 176.88 M266.71 176.88 C201.31 179.24, 135.27 177.9, 32 176.88 M32 176.88 C9.72 178.71, -1.72 167.62, 0 144.88 M32 176.88 C12.63 175.81, -1.99 165.84, 0 144.88 M0 144.88 C0.16 117.5, -1.89 89.75, 0 32 M0 144.88 C0.47 120.83, 1.12 98.02, 0 32 M0 32 C-1.21 9.75, 10.68 -1.51, 32 0 M0 32 C-1.08 9.95, 9.95 -0.54, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(729.7733893382745 398.4233494495021) rotate(0 143.52987670898438 50)"><text x="143.52987670898438" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Wire the output (sum) of </text><text x="143.52987670898438" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the CalculateTotal </text><text x="143.52987670898438" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">component to the output </text><text x="143.52987670898438" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">signal</text></g><g stroke-linecap="round"><g transform="translate(1060.9039681230076 238.5598272552744) rotate(0 69.55589745407633 -62.070266139203596)"><path d="M0.59 1.12 C23.92 -19.56, 115.91 -102.67, 138.93 -123.55 M-0.56 0.66 C22.7 -20.42, 114.83 -104.78, 137.89 -125.36" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1060.9039681230076 238.5598272552744) rotate(0 69.55589745407633 -62.070266139203596)"><path d="M126.22 -103.26 C130.46 -108.3, 132.05 -113.26, 137.89 -125.36 M126.22 -103.26 C130.64 -109.97, 133.1 -116.09, 137.89 -125.36" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1060.9039681230076 238.5598272552744) rotate(0 69.55589745407633 -62.070266139203596)"><path d="M114.74 -115.93 C121.47 -118.34, 125.49 -120.62, 137.89 -125.36 M114.74 -115.93 C122.61 -118.96, 128.48 -121.31, 137.89 -125.36" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1243.3779812011612 10) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C67.69 -2.39, 112.69 1.47, 192.62 0 M27.5 0 C79.22 -1.28, 131.29 -0.57, 192.62 0 M192.62 0 C209.16 0.01, 220.67 8.56, 220.12 27.5 M192.62 0 C209.39 -0.77, 220.99 9.86, 220.12 27.5 M220.12 27.5 C217.82 40.86, 220.14 54, 220.12 82.5 M220.12 27.5 C219.69 43.25, 218.8 57.93, 220.12 82.5 M220.12 82.5 C219.84 99.98, 212.63 111.75, 192.62 110 M220.12 82.5 C220.26 101.92, 209.03 112.23, 192.62 110 M192.62 110 C149.12 111.96, 107.13 111.8, 27.5 110 M192.62 110 C151.9 109.98, 110.51 109.61, 27.5 110 M27.5 110 C10.59 108.73, 0.57 99.33, 0 82.5 M27.5 110 C10.07 108.67, 1.96 98.61, 0 82.5 M0 82.5 C0.5 68.99, -0.06 56.59, 0 27.5 M0 82.5 C0.38 60.86, 0.92 39.92, 0 27.5 M0 27.5 C-1.71 7.21, 11.15 -0.95, 27.5 0 M0 27.5 C-1.99 8.6, 9.79 -0.7, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1251.745641474059 15) rotate(0 101.68991088867188 50)"><text x="101.68991088867188" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Use IsEqual to </text><text x="101.68991088867188" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">compare the loop </text><text x="101.68991088867188" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index with the input </text><text x="101.68991088867188" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">index</text></g><g stroke-linecap="round" transform="translate(1233.229069014411 137.75945762091044) rotate(0 241.50539782612634 93.32989037301348)"><path d="M32 0 C162.97 -1.7, 296.47 -0.8, 451.01 0 M32 0 C142.91 1.25, 252.89 1.29, 451.01 0 M451.01 0 C471.9 -0.64, 482.57 9.19, 483.01 32 M451.01 0 C473.13 0.24, 482.03 9.08, 483.01 32 M483.01 32 C482.92 68.55, 482.78 106.39, 483.01 154.66 M483.01 32 C484.37 68.76, 482.67 106.25, 483.01 154.66 M483.01 154.66 C484.01 174.83, 470.66 187.78, 451.01 186.66 M483.01 154.66 C481.01 176.93, 470.31 184.93, 451.01 186.66 M451.01 186.66 C354.71 185.98, 260.11 186.75, 32 186.66 M451.01 186.66 C296.34 186.57, 141.26 185.79, 32 186.66 M32 186.66 C9.54 186.54, 0.93 176.06, 0 154.66 M32 186.66 C9.92 188.4, 1.55 176.61, 0 154.66 M0 154.66 C-1.28 123.32, 0.94 94.25, 0 32 M0 154.66 C1.65 117.85, 1.17 80.48, 0 32 M0 32 C-1.36 11.34, 12.44 -0.28, 32 0 M0 32 C-2.18 10.59, 12.15 -1.4, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1239.764663984092 181.08934799392392) rotate(0 234.9698028564453 50)"><text x="234.9698028564453" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Multiply the output of IsEqual (1 if it matches</text><text x="234.9698028564453" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">0 if not) with the input item at index i </text><text x="234.9698028564453" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">(current loop index)</text><text x="234.9698028564453" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">and assign it to the CalculateTotal component</text></g><g stroke-linecap="round" transform="translate(1094.369839086374 342.24846313445687) rotate(0 226.14668123457614 102.2508157468485)"><path d="M32 0 C121.02 -2.44, 210.28 -1.92, 420.29 0 M32 0 C186.64 0.92, 340.7 0.91, 420.29 0 M420.29 0 C440.73 -0.46, 450.8 11.2, 452.29 32 M420.29 0 C439.34 1.49, 452.65 8.45, 452.29 32 M452.29 32 C453.07 86.53, 453.06 142.61, 452.29 172.5 M452.29 32 C450.93 73.67, 452.36 115.16, 452.29 172.5 M452.29 172.5 C451.05 193.34, 440.1 205.89, 420.29 204.5 M452.29 172.5 C454.01 195.25, 439.65 203.28, 420.29 204.5 M420.29 204.5 C282.44 206.35, 143.38 205.9, 32 204.5 M420.29 204.5 C330.97 203.62, 242.31 203.3, 32 204.5 M32 204.5 C8.81 205.18, 0.23 193.6, 0 172.5 M32 204.5 C11.73 203.02, -0.23 195.84, 0 172.5 M0 172.5 C-0.75 142.74, -0.69 108.36, 0 32 M0 172.5 C0.26 124.38, 0.47 75.12, 0 32 M0 32 C-0.61 9.45, 9.1 -1.2, 32 0 M0 32 C-1.61 9.73, 12.92 1.28, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1099.4166820641142 381.9992788813054) rotate(0 221.09983825683594 62.5)"><text x="221.09983825683594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Because only 1 input to CalculateTotal </text><text x="221.09983825683594" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">would have been not 0 (as the index </text><text x="221.09983825683594" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">matched in the step above) we can use the </text><text x="221.09983825683594" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">sum as the actual number we were looking </text><text x="221.09983825683594" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">for</text></g><g stroke-linecap="round"><g transform="translate(1041.9300550680268 435.0304946454992) rotate(0 19.22936613285583 2.9515384436173733)"><path d="M-0.31 0.27 C6.03 1.3, 31.84 5.41, 38.25 6.35 M0.53 -0.07 C6.77 0.81, 31.26 4.51, 37.72 5.61" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1041.9300550680268 435.0304946454992) rotate(0 19.22936613285583 2.9515384436173733)"><path d="M18.62 9.3 C25.36 7.78, 31.96 6.35, 37.72 5.61 M18.62 9.3 C24.18 7.75, 29.85 7.18, 37.72 5.61" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g><g transform="translate(1041.9300550680268 435.0304946454992) rotate(0 19.22936613285583 2.9515384436173733)"><path d="M20.71 -3.84 C26.78 -1.05, 32.69 1.85, 37.72 5.61 M20.71 -3.84 C25.67 -1.44, 30.71 1.94, 37.72 5.61" stroke="#1e1e1e" stroke-width="2" fill="none"></path></g></g><mask></mask></svg>